| C64 ROM | Routines |
| Prev: F8DC | Up: Map | Next: F92C |
| F8E2 | 86 B1 | STX $B1 | save tape timing constant max byte | |
| F8E4 | A5 B0 | LDA $B0 | get tape timing constant min byte | |
| F8E6 | 0A | ASL A | *2 | |
| F8E7 | 0A | ASL A | *4 | |
| F8E8 | 18 | CLC | clear carry for add | |
| F8E9 | 65 B0 | ADC $B0 | add tape timing constant min byte *5 | |
| F8EB | 18 | CLC | clear carry for add | |
| F8EC | 65 B1 | ADC $B1 | add tape timing constant max byte | |
| F8EE | 85 B1 | STA $B1 | save tape timing constant max byte | |
| F8F0 | A9 00 | LDA #$00 | ||
| F8F2 | 24 B0 | BIT $B0 | test tape timing constant min byte | |
| F8F4 | 30 01 | BMI $F8F7 | branch if b7 set | |
| F8F6 | 2A | ROL A | else shift carry into ?? | |
| F8F7 | 06 B1 | ASL $B1 | shift tape timing constant max byte | |
| F8F9 | 2A | ROL A | ||
| F8FA | 06 B1 | ASL $B1 | shift tape timing constant max byte | |
| F8FC | 2A | ROL A | ||
| F8FD | AA | TAX | ||
| F8FE | AD 06 DC | LDA $DC06 | get VIA 1 timer B low byte | |
| F901 | C9 16 | CMP #$16 | compare with ?? | |
| F903 | 90 F9 | BCC $F8FE | loop if less | |
| F905 | 65 B1 | ADC $B1 | add tape timing constant max byte | |
| F907 | 8D 04 DC | STA $DC04 | save VIA 1 timer A low byte | |
| F90A | 8A | TXA | ||
| F90B | 6D 07 DC | ADC $DC07 | add VIA 1 timer B high byte | |
| F90E | 8D 05 DC | STA $DC05 | save VIA 1 timer A high byte | |
| F911 | AD A2 02 | LDA $02A2 | read VIA 1 CRB shadow copy | |
| F914 | 8D 0E DC | STA $DC0E | save VIA 1 CRA | |
| F917 | 8D A4 02 | STA $02A4 | save VIA 1 CRA shadow copy | |
| F91A | AD 0D DC | LDA $DC0D | read VIA 1 ICR | |
| F91D | 29 10 | AND #%00010000 | mask 000x 0000, FLAG interrupt | |
| F91F | F0 09 | BEQ $F92A | if no FLAG interrupt just exit | |
|
else first call the IRQ routine
|
||||
| F921 | A9 F9 | LDA #$F9 | set the return address high byte | |
| F923 | 48 | PHA | push the return address high byte | |
| F924 | A9 2A | LDA #$2A | set the return address low byte | |
| F926 | 48 | PHA | push the return address low byte | |
| F927 | 4C 43 FF | JMP $FF43 | save the status and do the IRQ routine | |
| F92A | 58 | CLI | enable interrupts | |
| F92B | 60 | RTS | ||
| Prev: F8DC | Up: Map | Next: F92C |