CPU vectors: Difference between revisions
From SNESdev Wiki
Jump to navigationJump to search
(Puts empty slots and ABORT into the tables.) |
(added 'native' and 'emulation') |
||
Line 1: | Line 1: | ||
When an interrupt occurs, the address of the interrupt handler is read from the vector table in bank $00. The vector used is determined by the type of interrupt and the current CPU mode. Vectors are all 16-bit and the target bank is forced to $00. | When an interrupt occurs, the address of the interrupt handler is read from the vector table in bank $00. The vector used is determined by the type of interrupt and the current CPU mode. Vectors are all 16-bit and the target bank is forced to $00. | ||
==65C816 mode vectors== | ==65C816 native mode vectors== | ||
{| class="wikitable" | {| class="wikitable" | ||
! Vector !! Address !! Examples | ! Vector !! Address !! Examples | ||
Line 30: | Line 30: | ||
|} | |} | ||
==6502 mode vectors== | ==6502 emulation mode vectors== | ||
{| class="wikitable" | {| class="wikitable" | ||
! Vector !! Address !! Examples | ! Vector !! Address !! Examples |
Latest revision as of 02:34, 6 June 2022
When an interrupt occurs, the address of the interrupt handler is read from the vector table in bank $00. The vector used is determined by the type of interrupt and the current CPU mode. Vectors are all 16-bit and the target bank is forced to $00.
65C816 native mode vectors
Vector | Address | Examples |
---|---|---|
COP | $FFE4-FFE5 | COP instruction |
BRK | $FFE6-FFE7 | BRK instruction |
(ABORT) | $FFE8-FFE9 | (Unused on 5A22 S-CPU) |
NMI | $FFEA-FFEB | NMITIMEN vblank interrupt, or 5A22 /NMI input |
(none) | $FFEC-FFED | |
IRQ | $FFEE-FFEF | NMITIMEN H/V timer interrupt, or external interrupt (5A22 /IRQ input) |
6502 emulation mode vectors
Vector | Address | Examples |
---|---|---|
COP | $FFF4-FFF5 | COP instruction |
(none) | $FFF6-FFF7 | |
(ABORT) | $FFF8-FFF9 | (Unused on 5A22 S-CPU) |
NMI | $FFFA-FFFB | 5A22 /NMI input |
RESET | $FFFC-FFFD | 5A22 /RESET (CPU always resets into 6502 mode) |
IRQ/BRK | $FFFE-FFFF | BRK instruction, or external interrupt (5A22 /IRQ input) |