$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