     $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