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.

Page specific data and code