New MESS ROM format
From Ninerpedia
We are currently considering new formats for ROMS, which will allow - in the case of our TI - to pack all related ROM dumps in one file. But more important, we can add meta information, like telling the emulator to allocate RAM for module RAM, which banking scheme to use, and more.
The favored approach currently seems to be to declare the circuit board (PCB) of the module instead of the logic.
- Requirements for the TI cartridges
- R. Belmont's proposal
- M. Zapf's proposal 1
- M. Zapf's proposal 2
Current approach
<romset> Content: (sources, deploy, soft) </romset>
Sources:
<sources> Content: (rom | chd | ram)* </sources>
ROM, Comphunk, RAM:
<rom
id = Name
file = Name
address = nonNegativeNumber : ""
size = nonNegativeNumber : ""
crc = Hex32 : ""
sha1 = Hex160 : "" />
<chd
id = Name
file = Name
md5 = Hex128 : ""
sha1 = Hex160 : "" />
<ram
id = Name
base = Name : DriverName
address = nonNegativeNumber : ""
size = nonNegativeNumber
type = ( unbuffered | nvram ) : unbuffered />
Deploy:
<deploy> Content: (pcb | mount)* </deploy>
<pcb
id = Name
type = Name>
Content: (Socket | Feature)*
</pcb>
<socket
number = nonNegativeNumber
uses = Name />
<feature
name = Name>
Content: (any)
</feature>
<mount
id = Name
type = Name
source = Name
device = Name
name = Name />
Softblock:
<software
usedriver = (true | false ) : false >
Content: (system*, item*)
</software>
<system
driver = Name
bios = Name
default = ( true | false ) : false />
<item
set = Name : ""
name = Name : ""
maker = Name : ""
year = nonNegativeInteger : "" >
Content: (pcb?, mount*)
</item>
<pcb
ref = Name />
<mount
ref = Name />