The interrupt vectors are in ROM, so you cannot rewrite the vectors. However, there are vectors located at [0x7FC0 + level*4] which can be written to provide arbitrary handling for the interrupt.
PC-FX interrupts are level-triggered, so unless you clear the interrupt, the PC-FX will hang permanently.
Interrupt levels correspond to the devices like so:
Interrupt level | Device |
---|---|
15 | HuC6273 (Aurora) |
14 | HuC6270-B (7up) |
13 | HuC6272 (KING) |
12 | HuC6270-A (7up) |
11 | Pad |
10 | EX (?) |
9 | Timer |
8 | Reset |
0xE40 | Interrupt mask (R/W) |
---|---|
0xE80 | Interrupt priority (R/W) |
0xEC0 | Interrupt priority (R/W) |
Mask for interrupt levels.
Bits | Description |
---|---|
0 | Interrupt Mask Level 15 |
1 | Interrupt Mask Level 14 |
2 | Interrupt Mask Level 13 |
3 | Interrupt Mask Level 12 |
4 | Interrupt Mask Level 11 |
5 | Interrupt Mask Level 10 |
6 | Interrupt Mask Level 9 |
7 | Interrupt Mask Level 8 |
Specify interrupt priorities for levels 12 ~ 15.
These priority levels correspond to the V810 interrupt levels on (INTV0-INTV3)
Bits | Description |
---|---|
0 ~ 2 | Interrupt level 15 priority (0 ~ 7) |
3 ~ 5 | Interrupt level 14 priority (0 ~ 7) |
6 ~ 8 | Interrupt level 13 priority (0 ~ 7) |
9 ~ 11 | Interrupt level 12 priority (0 ~ 7) |
Specify interrupt priorities for levels 8 ~ 11.
These priority levels correspond to the V810 interrupt levels on (INTV0-INTV3)
Bits | Description |
---|---|
0 ~ 2 | Interrupt level 11 priority (0 ~ 7) |
3 ~ 5 | Interrupt level 10 priority (0 ~ 7) |
6 ~ 8 | Interrupt level 9 priority (0 ~ 7) |
9 ~ 11 | Interrupt level 8 priority (0 ~ 7) |