| Chase H.Q. | Routines |
| Prev: E4E1 | Up: Map | Next: F7EF |
|
Almost the same as EE40
|
||||
| bank7_setup_interrupts | F7D1 | DI | Disable interrupts | |
| F7D2 | LD HL,$FD00 | Load address of interrupt vector table | ||
| F7D5 | LD A,H | Interrupt vector table high byte | ||
|
Point the 128 interrupt vector table words at $FD00 to $FEFE.
|
||||
| F7D6 | LD B,$00 | 256 iterations | ||
| F7D8 | LD C,$FE | C = $FE | ||
| b7si_fill | F7DA | LD (HL),C | *HL++ = $FE | |
| F7DB | INC HL | |||
| F7DC | DJNZ b7si_fill | Loop | ||
|
Now store an additional byte since the IVT needs to be 257 bytes long.
|
||||
| F7DE | LD (HL),C | Store final $FE | ||
| F7DF | LD I,A | Set interrupt vector table base to $FD00 | ||
| F7E1 | IM 2 | Set interrupt mode 2 | ||
|
Set $FEFE to be "JP $F3C1".
|
||||
| F7E3 | LD A,$C3 | $FEFE = Opcode for JP | ||
| F7E5 | LD ($FEFE),A | |||
| F7E8 | LD HL,$F3C1 | $FEFF = $F3C1 | ||
| F7EB | LD ($FEFF),HL | |||
| F7EE | RET | Return | ||
| Prev: E4E1 | Up: Map | Next: F7EF |