| C64 ROM | Routines |
| Prev: F1DD | Up: Map | Next: F250 |
|
|
||||
| F20E | 20 0F F3 | JSR $F30F | find a file | |
| F211 | F0 03 | BEQ $F216 | if the file is open continue | |
| F213 | 4C 01 F7 | JMP $F701 | else do 'file not open' error and return | |
| F216 | 20 1F F3 | JSR $F31F | set file details from table,X | |
| F219 | A5 BA | LDA $BA | get the device number | |
| F21B | F0 16 | BEQ $F233 | if the device was the keyboard save the device #, flag ok and exit | |
| F21D | C9 03 | CMP #$03 | compare the device number with the screen | |
| F21F | F0 12 | BEQ $F233 | if the device was the screen save the device #, flag ok and exit | |
| F221 | B0 14 | BCS $F237 | if the device was a serial bus device go ?? | |
| F223 | C9 02 | CMP #$02 | else compare the device with the RS232 device | |
| F225 | D0 03 | BNE $F22A | if not the RS232 device continue | |
| F227 | 4C 4D F0 | JMP $F04D | else go get input from the RS232 buffer and return | |
| F22A | A6 B9 | LDX $B9 | get the secondary address | |
| F22C | E0 60 | CPX #$60 | ||
| F22E | F0 03 | BEQ $F233 | ||
| F230 | 4C 0A F7 | JMP $F70A | go do 'not input file' error and return | |
| F233 | 85 99 | STA $99 | save the input device number | |
| F235 | 18 | CLC | flag ok | |
| F236 | 60 | RTS | ||
|
the device was a serial bus device
|
||||
| F237 | AA | TAX | copy device number to X | |
| F238 | 20 09 ED | JSR $ED09 | command serial bus device to TALK | |
| F23B | A5 B9 | LDA $B9 | get the secondary address | |
| F23D | 10 06 | BPL $F245 | ||
| F23F | 20 CC ED | JSR $EDCC | wait for the serial bus end after send | |
| F242 | 4C 48 F2 | JMP $F248 | ||
| F245 | 20 C7 ED | JSR $EDC7 | send secondary address after TALK | |
| F248 | 8A | TXA | copy device back to A | |
| F249 | 24 90 | BIT $90 | test the serial status byte | |
| F24B | 10 E6 | BPL $F233 | if device present save device number and exit | |
| F24D | 4C 07 F7 | JMP $F707 | do 'device not present' error and return | |
| Prev: F1DD | Up: Map | Next: F250 |