$CC1B/52251:   Perform [B] - Block/Buffer command

CC1B: A0 00     LDY #$00
CC1D: A2 00     LDX #$00
CC1F: A9 2D     LDA #$2D        ; '-'
CC21: 20 68 C2  JSR $C268       ; search for minus sign
CC24: D0 0A     BNE $CC30       ; found?

Jump from $CC40:

CC26: A9 31     LDA #$31
CC28: 4C C8 C1  JMP $C1C8       ; 31, 'syntax error'

Jump from $CC31, $CC9F:

CC2B: A9 30     LDA #$30
CC2D: 4C C8 C1  JMP $C1C8       ; 30, 'syntax error'

Jump from $CC24:

CC30: 8A        TXA
CC31: D0 F8     BNE $CC2B       ; comma, then error
CC33: A2 05     LDX #$05
CC35: B9 00 02  LDA $0200,Y     ; char from buffer

Jump from $CC3E:

CC38: DD 5D CC  CMP $CC5D,X     ; compare with 'AFRWEP'
CC3B: F0 05     BEQ $CC42       ; found?
CC3D: CA        DEX
CC3E: 10 F8     BPL $CC38       ; compare with all characters
CC40: 30 E4     BMI $CC26       ; not found, error

Jump from $CC3B:

CC42: 8A        TXA
CC43: 09 80     ORA #$80        ; command number, set bit 7
CC45: 8D 2A 02  STA $022A
CC48: 20 6F CC  JSR $CC6F       ; get parameters
CC4B: AD 2A 02  LDA $022A
CC4E: 0A        ASL             ; number times 2
CC4F: AA        TAX             ; as index
CC50: BD 64 CC  LDA $CC64,X     ; address of command hi
CC53: 85 70     STA $70
CC55: BD 63 CC  LDA $CC63,X     ; address lo
CC58: 85 6F     STA $6F
CC5A: 6C 6F 00  JMP ($006F)     ; jump to command

    Previous Page / Next Page