$C146/49478: Interpret command from computer
Jump from $EBFC:
C146: A9 00 LDA #$00
C148: 8D F9 02 STA $02F9
C14B: AD 8E 02 LDA $028E ; last drive number
C14E: 85 7F STA $7F ; drive number
C150: 20 BC E6 JSR $E6BC ; prepare 'ok' message
C153: A5 84 LDA $84 ; secondary address
C155: 10 09 BPL $C160
C157: 29 0F AND #$0F
C159: C9 0F CMP #$0F ; 15, command channel
C15B: F0 03 BEQ $C160 ; yes
C15D: 4C B4 D7 JMP $D7B4 ; to OPEN command
Jump from $C155, $C15B:
C160: 20 B3 C2 JSR $C2B3 ; determine line length and erase flags
C163: B1 A3 LDA ($A3),Y ; get first character
C165: 8D 75 02 STA $0275 ; and store
C168: A2 0B LDX #$0B ; 11
Jump from $C173:
C16A: BD 89 FE LDA $FE89,X ; commands
C16D: CD 75 02 CMP $0275 ; compare to first character
C170: F0 08 BEQ $C17A ; found?
C172: CA DEX
C173: 10 F5 BPL $C16A
C175: A9 31 LDA #$31 ; not found
C177: 4C C8 C1 JMP $C1C8 ; 31, 'syntax error'
Jump from $C170:
C17A: 8E 2A 02 STX $022A ; number of command words
C17D: E0 09 CPX #$09
C17F: 90 03 BCC $C184 ; command number < 9?
C181: 20 EE C1 JSR $C1EE ; test for 'R', 'S', and 'N'
Jump from $C17F:
C184: AE 2A 02 LDX $022A ; command number
C187: BD 95 FE LDA $FE95,X ; jump address lo
C18A: 85 6F STA $6F
C18C: BD A1 FE LDA $FEA1,X ; jump address hi
C18F: 85 70 STA $70
C191: 6C 6F 00 JMP ($006F) ; jump to command
Previous Page / Next Page