Vector table swap: Difference between revisions

From NeoGeo Development Wiki
Jump to navigation Jump to search
m (BIOS -> system ROM)
No edit summary
 
Line 8: Line 8:


Registers {{Reg|REG_SWPBIOS}} and {{Reg|REG_SWPROM}} are used for this.
Registers {{Reg|REG_SWPBIOS}} and {{Reg|REG_SWPROM}} are used for this.
Note: The mapping of the P ROM to $C00000-$C0007F when swapping vectors is not emulated in MAME as of version 0.273.


[[Category:Code]]
[[Category:Code]]

Latest revision as of 05:39, 3 January 2025

The first $80 bytes of the 68k memory map are swappable between the onboard System ROM and the cartridge's first P ROM.

When the vector tables are swapped, $00~$7F point to $C00000~$C0007F, and $C00000~$C0007F point to the data in the P ROM (if any).

On startup or reset, the first $80 bytes are those found at $C00000~$C0007F, so that the system always starts by executing the initialisation routine.

Right before starting a game, the cart's ROM is swapped in as well as the S ROM and M1 ROM.

Registers REG_SWPBIOS and REG_SWPROM are used for this.

Note: The mapping of the P ROM to $C00000-$C0007F when swapping vectors is not emulated in MAME as of version 0.273.