C64 ROM | Routines |
Prev: F34A | Up: Map | Next: F409 |
F3D5 | A5 B9 | LDA $B9 | get the secondary address | |
F3D7 | 30 FA | BMI $F3D3 | ok exit if -ve | |
F3D9 | A4 B7 | LDY $B7 | get file name length | |
F3DB | F0 F6 | BEQ $F3D3 | ok exit if null | |
F3DD | A9 00 | LDA #$00 | clear A | |
F3DF | 85 90 | STA $90 | clear the serial status byte | |
F3E1 | A5 BA | LDA $BA | get the device number | |
F3E3 | 20 0C ED | JSR $ED0C | command devices on the serial bus to LISTEN | |
F3E6 | A5 B9 | LDA $B9 | get the secondary address | |
F3E8 | 09 F0 | ORA #$F0 | OR with the OPEN command | |
F3EA | 20 B9 ED | JSR $EDB9 | send secondary address after LISTEN | |
F3ED | A5 90 | LDA $90 | get the serial status byte | |
F3EF | 10 05 | BPL $F3F6 | if device present skip the 'device not present' error | |
F3F1 | 68 | PLA | else dump calling address low byte | |
F3F2 | 68 | PLA | dump calling address high byte | |
F3F3 | 4C 07 F7 | JMP $F707 | do 'device not present' error and return | |
F3F6 | A5 B7 | LDA $B7 | get file name length | |
F3F8 | F0 0C | BEQ $F406 | branch if null name | |
F3FA | A0 00 | LDY #$00 | clear index | |
F3FC | B1 BB | LDA ($BB),Y | get file name byte | |
F3FE | 20 DD ED | JSR $EDDD | output byte to serial bus | |
F401 | C8 | INY | increment index | |
F402 | C4 B7 | CPY $B7 | compare with file name length | |
F404 | D0 F6 | BNE $F3FC | loop if not all done | |
F406 | 4C 54 F6 | JMP $F654 | command serial bus to UNLISTEN and return |
Prev: F34A | Up: Map | Next: F409 |