Difference between revisions of "Create a plain ROM"
From MSX Game Library
Line 2: | Line 2: | ||
The most common use case is the creation of game cartridges. | The most common use case is the creation of game cartridges. | ||
The build tool will generate a .ROM file that can be written to an EPROM (like with a Mega Flash ROM cartridge). | The build tool will generate a .ROM file that can be written to an EPROM (like with a Mega Flash ROM cartridge). | ||
+ | |||
+ | == Principles == | ||
+ | A plain ROM, unlike a [[Create a mapped ROM|mapped ROM]], is constructed from a single block whose parts will always be seen by the Z80 at the same address. | ||
+ | Therefore, they cannot be more than 64 KB in size (the maximum size visible to the Z80). | ||
+ | A program in ROM is detected by the MSX system thanks to a header located at addresses 4000h or 8000h but can in theory use any space between 0000h and FFFFh. | ||
+ | |||
== Targets == | == Targets == |
Revision as of 21:24, 2 May 2023
A plain ROM is a format of binary application to be write into a ROM. The most common use case is the creation of game cartridges. The build tool will generate a .ROM file that can be written to an EPROM (like with a Mega Flash ROM cartridge).
Principles
A plain ROM, unlike a mapped ROM, is constructed from a single block whose parts will always be seen by the Z80 at the same address. Therefore, they cannot be more than 64 KB in size (the maximum size visible to the Z80). A program in ROM is detected by the MSX system thanks to a header located at addresses 4000h or 8000h but can in theory use any space between 0000h and FFFFh.
Targets
To create an plain ROM you just have to choice one of the following targets format:
Target | Description |
---|---|
ROM_8K | 8 KB ROM in page 1 (4000h ~ 5FFFh) |
ROM_8K_P2 | 8 KB ROM in page 2 (8000h ~ 9FFFh) |
ROM_16K | 16 KB ROM in page 1 (4000h ~ 7FFFh) |
ROM_16K_P2 | 16 KB ROM in page 2 (8000h ~ BFFFh) |
ROM_32K | 32 KB ROM in page 1&2 (4000h ~ BFFFh) |
ROM_48K | 48 KB ROM in page 0-2 (0000h ~ BFFFh) |
ROM_48K_ISR | 48 KB ROM in page 0-2 (0000h ~ BFFFh) with ISR replacement |
ROM_64K | 64 KB ROM in page 0-3 (0000h ~ FFFFh) |
ROM_64K_ISR | 64 KB ROM in page 0-3 (0000h ~ FFFFh) with ISR replacement |
ROM | Alias for ROM_32K |
For more detail, see Target article.