Prev: E4E1 Up: Map Next: F7EF
F7D1: Interrupt setup
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