| C64 ROM | Routines |
| Prev: F13E | Up: Map | Next: F199 |
|
|
||||
| F157 | A5 99 | LDA $99 | get the input device number | |
| F159 | D0 0B | BNE $F166 | if not the keyboard continue | |
|
the input device was the keyboard
|
||||
| F15B | A5 D3 | LDA $D3 | get the cursor column | |
| F15D | 85 CA | STA $CA | set the input cursor column | |
| F15F | A5 D6 | LDA $D6 | get the cursor row | |
| F161 | 85 C9 | STA $C9 | set the input cursor row | |
| F163 | 4C 32 E6 | JMP $E632 | input from screen or keyboard | |
|
This entry point is used by the routine at F13E.
the input device was not the keyboard
|
||||
| F166 | C9 03 | CMP #$03 | compare device number with screen | |
| F168 | D0 09 | BNE $F173 | if not screen continue | |
|
the input device was the screen
|
||||
| F16A | 85 D0 | STA $D0 | input from keyboard or screen, $xx = screen, $00 = keyboard | |
| F16C | A5 D5 | LDA $D5 | get current screen line length | |
| F16E | 85 C8 | STA $C8 | save input [EOL] pointer | |
| F170 | 4C 32 E6 | JMP $E632 | input from screen or keyboard | |
|
the input device was not the screen
|
||||
| F173 | B0 38 | BCS $F1AD | if input device > screen go do IEC devices | |
|
the input device was < screen
|
||||
| F175 | C9 02 | CMP #$02 | compare the device with the RS232 device | |
| F177 | F0 3F | BEQ $F1B8 | if RS232 device go get a byte from the RS232 device | |
|
only the tape device left ..
|
||||
| F179 | 86 97 | STX $97 | save X | |
| F17B | 20 99 F1 | JSR $F199 | get a byte from tape | |
| F17E | B0 16 | BCS $F196 | if error just exit | |
| F180 | 48 | PHA | save the byte | |
| F181 | 20 99 F1 | JSR $F199 | get the next byte from tape | |
| F184 | B0 0D | BCS $F193 | if error just exit | |
| F186 | D0 05 | BNE $F18D | if end reached ?? | |
| F188 | A9 40 | LDA #$40 | set EOI | |
| F18A | 20 1C FE | JSR $FE1C | OR into the serial status byte | |
| F18D | C6 A6 | DEC $A6 | decrement tape buffer index | |
| F18F | A6 97 | LDX $97 | restore X | |
| F191 | 68 | PLA | restore the saved byte | |
| F192 | 60 | RTS | ||
| F193 | AA | TAX | copy the error byte | |
| F194 | 68 | PLA | dump the saved byte | |
| F195 | 8A | TXA | restore error byte | |
| F196 | A6 97 | LDX $97 | restore X | |
| F198 | 60 | RTS | ||
| Prev: F13E | Up: Map | Next: F199 |