mirror of
https://github.com/holub/mame
synced 2025-04-09 18:17:44 +03:00
Disallow zero-length regions in ROM definitions and software lists
This commit is contained in:
parent
087233e15b
commit
e5c4907791
@ -70,7 +70,7 @@ SuperKickstart disks, SCSI installation disks and AMIX
|
||||
</part>
|
||||
<part name="tape" interface="a3000_cass">
|
||||
<feature name="part_id" value="Installation Tape"/>
|
||||
<dataarea name="cass" size="0">
|
||||
<dataarea name="cass" size="1">
|
||||
<rom name="cass" size="0" status="nodump" />
|
||||
</dataarea>
|
||||
</part>
|
||||
@ -94,7 +94,7 @@ SuperKickstart disks, SCSI installation disks and AMIX
|
||||
</part>
|
||||
<part name="tape" interface="a3000_cass">
|
||||
<feature name="part_id" value="Installation Tape"/>
|
||||
<dataarea name="cass" size="0">
|
||||
<dataarea name="cass" size="1">
|
||||
<rom name="cass" size="0" status="nodump" />
|
||||
</dataarea>
|
||||
</part>
|
||||
@ -118,7 +118,7 @@ SuperKickstart disks, SCSI installation disks and AMIX
|
||||
</part>
|
||||
<part name="tape" interface="a3000_cass">
|
||||
<feature name="part_id" value="Installation Tape"/>
|
||||
<dataarea name="cass" size="0">
|
||||
<dataarea name="cass" size="1">
|
||||
<rom name="cass" size="0" status="nodump" />
|
||||
</dataarea>
|
||||
</part>
|
||||
@ -148,7 +148,7 @@ SuperKickstart disks, SCSI installation disks and AMIX
|
||||
</part>
|
||||
<part name="tape" interface="a3000_cass">
|
||||
<feature name="part_id" value="Installation Tape"/>
|
||||
<dataarea name="cass" size="0">
|
||||
<dataarea name="cass" size="1">
|
||||
<rom name="cass" size="0" status="nodump" />
|
||||
</dataarea>
|
||||
</part>
|
||||
|
@ -199,7 +199,7 @@ license:CC0-1.0
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_3_5">
|
||||
<dataarea name="flop" size="0">
|
||||
<dataarea name="flop" size="1">
|
||||
<rom name="dbase2_2.dsk" size="0" status="nodump"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
@ -395,7 +395,7 @@ license:CC0-1.0
|
||||
</part>
|
||||
<part name="e" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk E (Server Backup)" />
|
||||
<dataarea name="flop" size="0">
|
||||
<dataarea name="flop" size="1">
|
||||
<rom name="networks_13b_f_e.dsk" size="0" status="nodump"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
@ -474,7 +474,7 @@ license:CC0-1.0
|
||||
<publisher>ACT</publisher>
|
||||
<part name="a" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk A (Server Boot)" />
|
||||
<dataarea name="flop" size="0">
|
||||
<dataarea name="flop" size="1">
|
||||
<rom name="networks_13b_xi_a.dsk" size="0" status="nodump"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
@ -498,7 +498,7 @@ license:CC0-1.0
|
||||
</part>
|
||||
<part name="e" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk E (Server Backup)" />
|
||||
<dataarea name="flop" size="0">
|
||||
<dataarea name="flop" size="1">
|
||||
<rom name="networks_13b_xi_e.dsk" size="0" status="nodump"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
@ -511,7 +511,7 @@ license:CC0-1.0
|
||||
<publisher>ACT</publisher>
|
||||
<part name="a" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk A (Server Boot)" />
|
||||
<dataarea name="flop" size="0">
|
||||
<dataarea name="flop" size="1">
|
||||
<rom name="point32_11_a.dsk" size="0" status="nodump"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
@ -523,13 +523,13 @@ license:CC0-1.0
|
||||
</part>
|
||||
<part name="c" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk C (Portable/F-Series Workstation)" />
|
||||
<dataarea name="flop" size="0">
|
||||
<dataarea name="flop" size="1">
|
||||
<rom name="point32_11_c.dsk" size="0" status="nodump"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="d" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk D (Bank Boot)" />
|
||||
<dataarea name="flop" size="0">
|
||||
<dataarea name="flop" size="1">
|
||||
<rom name="point32_11_d.dsk" size="0" status="nodump"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
@ -542,7 +542,7 @@ license:CC0-1.0
|
||||
<publisher>ACT</publisher>
|
||||
<part name="a" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk A (Server Boot)" />
|
||||
<dataarea name="flop" size="0">
|
||||
<dataarea name="flop" size="1">
|
||||
<rom name="point32_12_a.dsk" size="0" status="nodump"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
@ -554,19 +554,19 @@ license:CC0-1.0
|
||||
</part>
|
||||
<part name="c" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk C (Portable/F-Series Workstation)" />
|
||||
<dataarea name="flop" size="0">
|
||||
<dataarea name="flop" size="1">
|
||||
<rom name="point32_12_c.dsk" size="0" status="nodump"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="d" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk D (Bank Boot)" />
|
||||
<dataarea name="flop" size="0">
|
||||
<dataarea name="flop" size="1">
|
||||
<rom name="point32_12_d.dsk" size="0" status="nodump"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="e" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk E (Server Backup)" />
|
||||
<dataarea name="flop" size="0">
|
||||
<dataarea name="flop" size="1">
|
||||
<rom name="point32_12_e.dsk" size="0" status="nodump"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
@ -579,7 +579,7 @@ license:CC0-1.0
|
||||
<publisher>ACT</publisher>
|
||||
<part name="a" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk A (Server Boot)" />
|
||||
<dataarea name="flop" size="0">
|
||||
<dataarea name="flop" size="1">
|
||||
<rom name="point32_12b_a.dsk" size="0" status="nodump"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
@ -603,7 +603,7 @@ license:CC0-1.0
|
||||
</part>
|
||||
<part name="e" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk E (Server Backup)" />
|
||||
<dataarea name="flop" size="0">
|
||||
<dataarea name="flop" size="1">
|
||||
<rom name="point32_12b_e.dsk" size="0" status="nodump"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
@ -754,7 +754,7 @@ license:CC0-1.0
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_3_5">
|
||||
<dataarea name="flop" size="0">
|
||||
<dataarea name="flop" size="1">
|
||||
<rom name="supercalc3_2.dsk" size="0" status="nodump"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
|
@ -11090,7 +11090,7 @@ Right/left cursor keys select tape baud rate 1200/2400 respectively.
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="cass" interface="msx_cass">
|
||||
<dataarea name="cass" size="0">
|
||||
<dataarea name="cass" size="1">
|
||||
<rom name="cass" size="0" status="nodump"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
|
@ -2755,7 +2755,7 @@ The cassette stops during the game loading
|
||||
</part>
|
||||
<part name="cass2" interface="oric1_cass">
|
||||
<feature name="part_id" value="FACE B - ATMOS"/>
|
||||
<dataarea name="cass" size="0">
|
||||
<dataarea name="cass" size="1">
|
||||
<rom name="Mission Impossible - Face B.tap" size="0" status="nodump"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
|
@ -3490,7 +3490,7 @@ Thanks to DCMOTO (http://dcmoto.free.fr) for info!
|
||||
</part>
|
||||
<part name="cass2" interface="to_cass">
|
||||
<feature name="part_id" value="Side B"/>
|
||||
<dataarea name="cass" size="0">
|
||||
<dataarea name="cass" size="1">
|
||||
<rom name="image-et-signes-2_to7.k7" size="0" crc="00000000" status="nodump" />
|
||||
</dataarea>
|
||||
</part>
|
||||
|
@ -576,6 +576,8 @@ void software_list_device::internal_validity_check(validity_checker &valid)
|
||||
current_length = ROMREGION_GETLENGTH(romp);
|
||||
if (!data_area_map.emplace(romp->name(), current_length).second)
|
||||
osd_printf_error("%s: %s part %s data area has duplicate name '%s'\n", m_filename, shortname, part.name(), romp->name());
|
||||
if (current_length == 0)
|
||||
osd_printf_error("%s: %s part %s data area '%s' has zero length\n", m_filename, shortname, part.name(), romp->name());
|
||||
}
|
||||
else if (ROMENTRY_ISFILE(romp)) // if this is a file, make sure it is properly formatted
|
||||
{
|
||||
|
@ -2204,6 +2204,8 @@ void validity_checker::validate_roms(device_t &root)
|
||||
current_length = ROMREGION_GETLENGTH(romp);
|
||||
if (!m_region_map.emplace(fulltag, current_length).second)
|
||||
osd_printf_error("Multiple ROM_REGIONs with the same tag '%s' defined\n", fulltag);
|
||||
if (current_length == 0)
|
||||
osd_printf_error("ROM region '%s' has zero length\n", fulltag);
|
||||
}
|
||||
else if (ROMENTRY_ISSYSTEM_BIOS(romp)) // If this is a system bios, make sure it is using the next available bios number
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user