Vector table swap: Difference between revisions
Jump to navigation
Jump to search
m (Created page with "The first $80 bytes of the 68k memory map are swappable between the onboard BIOS and the cartridge's first P ROM. On startup or reset, those $80 bytes are tho...") |
m (BIOS -> system ROM) |
||
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
The first $80 bytes of the [[68k memory map]] are swappable between the onboard [[ | The first $80 bytes of the [[68k memory map]] are swappable between the onboard [[System ROM]] and the cartridge's first [[P ROM]]. | ||
On startup or reset, | 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]]. | Right before starting a game, the cart's ROM is swapped in as well as the [[S ROM]] and [[M1 ROM]]. | ||
Registers | Registers {{Reg|REG_SWPBIOS}} and {{Reg|REG_SWPROM}} are used for this. | ||
[[Category:Code]] | [[Category:Code]] |
Latest revision as of 05:37, 28 October 2015
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.