$CC6F/52335: Get parameters form block commands
Jump from $CC48, $CD5F, $CD97:
CC6F: A0 00 LDY #$00
CC71: A2 00 LDX #$00
CC73: A9 3A LDA #$3A ; ':'
CC75: 20 68 C2 JSR $C268 ; test line to colon
CC78: D0 02 BNE $CC7C ; found?
CC7A: A0 03 LDY #$03 ; no, begin at 4th character
Jump from $CC78, $CC8F, $CBA7:
CC7C: B9 00 02 LDA $0200,Y ; search for separating char
CC7F: C9 20 CMP #$20 ; ' ' blank
CC81: F0 08 BEQ $CC8B
CC83: C9 1D CMP #$1D ; cursor right
CC85: F0 04 BEQ $CC8B
CC87: C9 2C CMP #$2C ; ',' comma
CC89: D0 07 BNE $CC92
Jump from $CC81, $CC85, $CC9D:
CC8B: C8 INY
CC8C: CC 74 02 CPY $0274 ; line end?
CC8F: 90 EB BCC $CC7C
CC91: 60 RTS
Jump from $CC89:
CC92: 20 A1 CC JSR $CCA1 ; preserve next parameter
CC95: EE 77 02 INC $0277 ; increment parameter counter
CC98: AC 79 02 LDY $0279
CC9B: E0 04 CPX #$04 ; compare with maximum number
CC9D: 90 EC BCC $CC8B
CC9F: B0 8A BCS $CC2B ; 30, 'syntax error'
Jump from $CC92:
CCA1: A9 00 LDA #$00
CCA3: 85 6F STA $6F
CCA5: 85 70 STA $70 ; erase storage area for decimal numbers
CCA7: 85 72 STA $72
CCA9: A2 FF LDX #$FF
Jump from $CCC8:
CCAB: B9 00 02 LDA $0200,Y ; get characters from input buffer
CCAE: C9 40 CMP #$40
CCB0: B0 18 BCS $CCCA ; no digits?
CCB2: C9 30 CMP #$30 ; '0'
CCB4: 90 14 BCC $CCCA ; no digits?
CCB6: 29 0F AND #$0F ; convert ASCII digits to hex
CCB8: 48 PHA ; and save
CCB9: A5 70 LDA $70
CCBB: 85 71 STA $71 ; move digits one further
CCBD: A5 6F LDA $6F
CCBF: 85 70 STA $70
CCC1: 68 PLA
CCC2: 85 6F STA $6F ; note read number
CCC4: C8 INY ; increment pointer in input buffer
CCC5: CC 74 02 CPY $0274 ; line end reached
CCC8: 90 E1 BCC $CCAB ; no
Jump from $CCB0, $CCB4:
CCCA: 8C 79 02 STY $0279 ; save pointer
CCCD: 18 CLC
CCCE: A9 00 LDA #$00
Jump from $CCD8:
CCD0: E8 INX
CCD1: E0 03 CPX #$03
CCD3: B0 0F BCS $CCE4 ; convert hex digits to one byte
CCD5: B4 6F LDY $6F,X
Jump from $CCDD, $CCE2:
CCD7: 88 DEY
CCD8: 30 F6 BMI $CCD0
CCDA: 7D F2 CC ADC $CCF2,X ; add decimal value
CCDD: 90 F8 BCC $CCD7
CCDF: 18 CLC
CCE0: E6 72 INC $72
CCE2: D0 F3 BNE $CCD7
Jump from $CCD3:
CCE4: 48 PHA
CCE5: AE 77 02 LDX $0277 ; counter for paramaters
CCE8: A5 72 LDA $72
CCEA: 9D 80 02 STA $0280,X ; hi-byte
CCED: 68 PLA
CCEE: 9D 85 02 STA $0285,X ; lo-byte
CCF1: 60 RTS
Previous Page / Next Page