| C64 ROM | Routines |
| Prev: F6FB | Up: Map | Next: F76A |
| F72C | A5 93 | LDA $93 | get load/verify flag | |
| F72E | 48 | PHA | save load/verify flag | |
| F72F | 20 41 F8 | JSR $F841 | initiate tape read | |
| F732 | 68 | PLA | restore load/verify flag | |
| F733 | 85 93 | STA $93 | save load/verify flag | |
| F735 | B0 32 | BCS $F769 | exit if error | |
| F737 | A0 00 | LDY #$00 | clear the index | |
| F739 | B1 B2 | LDA ($B2),Y | read first byte from tape buffer | |
| F73B | C9 05 | CMP #$05 | compare with logical end of the tape | |
| F73D | F0 2A | BEQ $F769 | if end of the tape exit | |
| F73F | C9 01 | CMP #$01 | compare with header for a relocatable program file | |
| F741 | F0 08 | BEQ $F74B | if program file header go ?? | |
| F743 | C9 03 | CMP #$03 | compare with header for a non relocatable program file | |
| F745 | F0 04 | BEQ $F74B | if program file header go ?? | |
| F747 | C9 04 | CMP #$04 | compare with data file header | |
| F749 | D0 E1 | BNE $F72C | if data file loop to find the tape header | |
|
was a program file header
|
||||
| F74B | AA | TAX | copy header type | |
| F74C | 24 9D | BIT $9D | get message mode flag | |
| F74E | 10 17 | BPL $F767 | exit if control messages off | |
| F750 | A0 63 | LDY #$63 | index to "FOUND " | |
| F752 | 20 2F F1 | JSR $F12F | display kernel I/O message | |
| F755 | A0 05 | LDY #$05 | index to the tape filename | |
| F757 | B1 B2 | LDA ($B2),Y | get byte from tape buffer | |
| F759 | 20 D2 FF | JSR $FFD2 | output character to channel | |
| F75C | C8 | INY | increment the index | |
| F75D | C0 15 | CPY #$15 | compare it with end+1 | |
| F75F | D0 F6 | BNE $F757 | loop if more to do | |
| F761 | A5 A1 | LDA $A1 | get the jiffy clock mid byte | |
| F763 | 20 E0 E4 | JSR $E4E0 | wait ~8.5 seconds for any key from the STOP key column | |
| F766 | EA | NOP | waste cycles | |
| F767 | 18 | CLC | flag no error | |
| F768 | 88 | DEY | decrement the index | |
| F769 | 60 | RTS | ||
| Prev: F6FB | Up: Map | Next: F76A |