$C1EE/49646:   Check input line

Jump from $C181:

C1EE: 20 E5 C1  JSR $C1E5       ; test line to ':' or end
C1F1: D0 05     BNE $C1F8       ; colon found?

Jump from $C1FE:

C1F3: A9 34     LDA #$34
C1F5: 4C C8 C1  JMP $C1C8       ; 34, 'syntax error'

Jump from $C1F1, $C90C:

C1F8: 88        DEY
C1F9: 88        DEY             ; set pointer to colon
C1FA: 8C 7A 02  STY $027A       ; position of the drive number
C1FD: 8A        TXA             ; comma before the colon
C1FE: D0 F3     BNE $C1F3       ; yes, then 'syntax error'

Jump from $DA95:

C200: A9 3D     LDA #$3D        ; '='
C202: 20 68 C2  JSR $C268       ; check input to '='
C205: 8A        TXA             ; comma found?
C206: F0 02     BEQ $C20A       ; no
C208: A9 40     LDA #$40        ; bit 6

Jump from $C206:

C20A: 09 21     ORA #$21        ; and set bit 0 and 5
C20C: 8D 8B 02  STA $028B       ; flag for syntax check
C20F: E8        INX
C210: 8E 77 02  STX $0277
C213: 8E 78 02  STX $0278
C216: AD 8A 02  LDA $028A       ; wildcard found?
C219: F0 0D     BEQ $C228       ; no
C21B: A9 80     LDA #$80
C21D: 0D 8B 02  ORA $028B       ; set bit 7
C220: 8D 8B 02  STA $028B
C223: A9 00     LDA #$00
C225: 8D 8A 02  STA $028A       ; reset wildcard flag

Jump from $C219:

C228: 98        TYA             ; '=' found?
C229: F0 29     BEQ $C254       ; no
C22B: 9D 7A 02  STA $027A,X
C22E: AD 77 02  LDA $0277       ; number of commas before '='
C231: 8D 79 02  STA $0279
C234: A9 8D     LDA #$8D        ; shift CR
C236: 20 68 C2  JSR $C268       ; check line to end
C239: E8        INX             ; increment comma counter
C23A: 8E 78 02  STX $0278       ; store number of commas
C23D: CA        DEX
C23E: AD 8A 02  LDA $028A       ; wildcard found?
C241: F0 02     BEQ $C245       ; no
C243: A9 08     LDA #$08        ; set bit 3

Jump from $C241:

C245: EC 77 02  CPX $0277       ; comma after '='?
C248: F0 02     BEQ $C24C       ; no
C24A: 09 04     ORA #$04        ; set bit 2

Jump from $C248:

C24C: 09 03     ORA #$03        ; set bits 0 and 1
C24E: 4D 8B 02  EOR $028B
C251: 8D 8B 02  STA $028B       ; as flag for syntax check

Jump from $C229:

C254: AD 8B 02  LDA $028B       ; syntax flag
C257: AE 2A 02  LDX $022A       ; command number
C25A: 3D A5 FE  AND $FEA5,X     ; combine with check byte
C25D: D0 01     BNE $C260
C25F: 60        RTS

Jump from $C25D:

C260: 8D 6C 02  STA $026C       ; set error flag
C263: A9 30     LDA #$30
C265: 4C C8 C1  JMP $C1C8       ; 30, 'syntax error'

    Previous Page / Next Page