MAME dat don't split devices roms

Issue #6 on hold
Former user created an issue

In MAME the roms that need bios files are not splited, right now when you select split bios option, the rom still needing the files bios, in each rom that needed the file show that need the roms bios, i had selected split bios files, but the roms need those files inside in each file that is needed, i used a mame dat rom and the dat created with the emulator, in both dat files the files 18wheels.7z need the bios roms inside.

the file 18wheelr need naomi file bios check this naomi dat element

<machine name="naomi" sourcefile="naominaomi.cpp" isbios="yes" runnable="no">
    <description>Naomi Bios</description>
    <year>1998</year>
    <manufacturer>Sega</manufacturer>
    <biosset name="bios0" description="epr-21576h (Japan)" default="yes"/>
    <biosset name="bios1" description="epr-21576g (Japan)"/>
    <biosset name="bios2" description="epr-21576e (Japan)"/>
    <biosset name="bios3" description="epr-21576d (Japan)"/>
    <biosset name="bios4" description="epr-21576c (Japan)"/>
    <biosset name="bios5" description="epr-21576b (Japan)"/>
    <biosset name="bios6" description="epr-21576a (Japan)"/>
    <biosset name="bios7" description="epr-21576 (Japan)"/>
    <biosset name="bios8" description="epr-21578h (Export)"/>
    <biosset name="bios9" description="epr-21578g (Export)"/>
    <biosset name="bios10" description="epr-21578e (Export)"/>
    <biosset name="bios11" description="epr-21578d (Export)"/>
    <biosset name="bios12" description="epr-21578a (Export)"/>
    <biosset name="bios13" description="epr-21577h (USA)"/>
    <biosset name="bios14" description="epr-21577g (USA)"/>
    <biosset name="bios15" description="epr-21577e (USA)"/>
    <biosset name="bios16" description="epr-21577d (USA)"/>
    <biosset name="bios17" description="epr-21577a (USA)"/>
    <biosset name="bios18" description="epr-21579d (Korea)"/>
    <biosset name="bios19" description="epr-21579 (Korea)"/>
    <biosset name="bios20" description="Naomi Dev BIOS"/>
    <biosset name="bios21" description="Naomi Dev BIOS v1.10"/>
    <rom name="dcnaodev.bios" size="524288" crc="7a50fab9" sha1="ef79f448e0bf735d1264ad4f051d24178822110f"/>
    <rom name="develop110.ic27" size="2097152" crc="de7cfdb0" sha1="da16800edc4d49f70481c124d487f544c2fa8ce7"/>
    <rom name="epr-21576.ic27" size="2097152" crc="9dad3495" sha1="5fb66f9a2b68d120f059c72758e65d34f461044a"/>
    <rom name="epr-21576a.ic27" size="2097152" crc="cedfe439" sha1="f27798bf3d890863ef0c1d9dcb4e7782249dca27"/>
    <rom name="epr-21576b.ic27" size="2097152" crc="755a6e07" sha1="7e8b8ccfc063144d89668e7224dcd8a36c54f3b3"/>
    <rom name="epr-21576c.ic27" size="2097152" crc="4599ad13" sha1="7e730e9452a792d76f210c33a955d385538682c7"/>
    <rom name="epr-21576d.ic27" size="2097152" crc="3b2afa7b" sha1="d007e1d321c198a38c5baff86eb2ab84385d150a"/>
    <rom name="epr-21576e.ic27" size="2097152" crc="08c0add7" sha1="e7c1a7673cb2ccb21748ef44105e46d1bad7266d"/>
    <rom name="epr-21576g.ic27" size="2097152" crc="d2a1c6bf" sha1="6d27d71aec4dfba98f66316ae74a1426d567698a"/>
    <rom name="epr-21576h.ic27" size="2097152" crc="d4895685" sha1="91424d481ff99a8d3f4c45cea6d3f0eada049a6d"/>
    <rom name="epr-21577a.ic27" size="2097152" crc="969dc491" sha1="581d1eae328b87b67508a7586ffc60cee256f70f"/>
    <rom name="epr-21577d.ic27" size="2097152" crc="60ddcbbe" sha1="58b15096d269d6df617ca1810b66b47deb184958"/>
    <rom name="epr-21577e.ic27" size="2097152" crc="cf36e97b" sha1="b085305982e7572e58b03a9d35f17ae319c3bbc6"/>
    <rom name="epr-21577g.ic27" size="2097152" crc="25f64af7" sha1="99f9e6cc0642319bd2da492611220540add573e8"/>
    <rom name="epr-21577h.ic27" size="2097152" crc="fdf17452" sha1="5f3e4b677f0046ce690a4f096b0481e5dd8bb6e6"/>
    <rom name="epr-21578a.ic27" size="2097152" crc="6c9aad83" sha1="555918de76d8dbee2a97d8a95297ef694b3e803f"/>
    <rom name="epr-21578d.ic27" size="2097152" crc="dfd5f42a" sha1="614a0db4743a5e5a206190d6786ade24325afbfd"/>
    <rom name="epr-21578e.ic27" size="2097152" crc="087f09a3" sha1="0418eb2cf9766f0b1b874a4e92528779e22c0a4a"/>
    <rom name="epr-21578g.ic27" size="2097152" crc="55413214" sha1="bd2748365a9fc1821c9369aa7155d7c41c4df43e"/>
    <rom name="epr-21578h.ic27" size="2097152" crc="7b452946" sha1="8e9f153bbada24b37066dc45b64a7bf0d4f26a9b"/>
    <rom name="epr-21579.ic27" size="2097152" crc="71f9c918" sha1="d15af8b947f41eea7c203b565cd403e3f37a2017"/>
    <rom name="epr-21579d.ic27" size="2097152" crc="33513691" sha1="b1d8c7c516e1471a788fcf7a02a794ad2f05aeeb"/>
    <rom name="main_eeprom.bin" size="128" crc="fea29cbb" sha1="4099f1747aafa07db34f6e072cd9bfaa83bae10e"/>
    <rom name="x76f100_eeprom.bin" size="132" crc="3ea24b6a" sha1="3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc"/>
    <device_ref name="sh4"/>
    <device_ref name="timer"/>
    <device_ref name="arm7"/>
    <device_ref name="maple_dc"/>
    <device_ref name="93c46_16"/>
    <device_ref name="screen"/>
    <device_ref name="palette"/>
    <device_ref name="powervr2"/>
    <device_ref name="speaker"/>
    <device_ref name="speaker"/>
    <device_ref name="aica"/>
    <device_ref name="aicartc"/>
    <device_ref name="mie"/>
    <device_ref name="z80"/>
    <device_ref name="mie_jvs"/>
    <device_ref name="jvs13551"/>
    <device_ref name="93c46_8"/>
    <device_ref name="x76f100"/>
    <device_ref name="naomi_rom_board"/>
</machine>

and check this 18wheelr dat element:

<machine name="18wheelr" sourcefile="naomi.cpp" romof="naomi">
    <description>18 Wheeler (deluxe) (Rev A)</description>
    <year>2000</year>
    <manufacturer>Sega</manufacturer>
    <biosset name="bios0" description="epr-21576h (Japan)" default="yes"/>
    <biosset name="bios1" description="epr-21576g (Japan)"/>
    <biosset name="bios2" description="epr-21576e (Japan)"/>
    <biosset name="bios3" description="epr-21576d (Japan)"/>
    <biosset name="bios4" description="epr-21576c (Japan)"/>
    <biosset name="bios5" description="epr-21576b (Japan)"/>
    <biosset name="bios6" description="epr-21576a (Japan)"/>
    <biosset name="bios7" description="epr-21576 (Japan)"/>
    <biosset name="bios8" description="epr-21578h (Export)"/>
    <biosset name="bios9" description="epr-21578g (Export)"/>
    <biosset name="bios10" description="epr-21578e (Export)"/>
    <biosset name="bios11" description="epr-21578d (Export)"/>
    <biosset name="bios12" description="epr-21578a (Export)"/>
    <biosset name="bios13" description="epr-21577h (USA)"/>
    <biosset name="bios14" description="epr-21577g (USA)"/>
    <biosset name="bios15" description="epr-21577e (USA)"/>
    <biosset name="bios16" description="epr-21577d (USA)"/>
    <biosset name="bios17" description="epr-21577a (USA)"/>
    <biosset name="bios18" description="epr-21579d (Korea)"/>
    <biosset name="bios19" description="epr-21579 (Korea)"/>
    <biosset name="bios20" description="Naomi Dev BIOS"/>
    <biosset name="bios21" description="Naomi Dev BIOS v1.10"/>
    <rom name="dcnaodev.bios" merge="dcnaodev.bios" size="524288" crc="7a50fab9" sha1="ef79f448e0bf735d1264ad4f051d24178822110f"/>
    <rom name="develop110.ic27" merge="develop110.ic27" size="2097152" crc="de7cfdb0" sha1="da16800edc4d49f70481c124d487f544c2fa8ce7"/>
    <rom name="epr-21576.ic27" merge="epr-21576.ic27" size="2097152" crc="9dad3495" sha1="5fb66f9a2b68d120f059c72758e65d34f461044a"/>
    <rom name="epr-21576a.ic27" merge="epr-21576a.ic27" size="2097152" crc="cedfe439" sha1="f27798bf3d890863ef0c1d9dcb4e7782249dca27"/>
    <rom name="epr-21576b.ic27" merge="epr-21576b.ic27" size="2097152" crc="755a6e07" sha1="7e8b8ccfc063144d89668e7224dcd8a36c54f3b3"/>
    <rom name="epr-21576c.ic27" merge="epr-21576c.ic27" size="2097152" crc="4599ad13" sha1="7e730e9452a792d76f210c33a955d385538682c7"/>
    <rom name="epr-21576d.ic27" merge="epr-21576d.ic27" size="2097152" crc="3b2afa7b" sha1="d007e1d321c198a38c5baff86eb2ab84385d150a"/>
    <rom name="epr-21576e.ic27" merge="epr-21576e.ic27" size="2097152" crc="08c0add7" sha1="e7c1a7673cb2ccb21748ef44105e46d1bad7266d"/>
    <rom name="epr-21576g.ic27" merge="epr-21576g.ic27" size="2097152" crc="d2a1c6bf" sha1="6d27d71aec4dfba98f66316ae74a1426d567698a"/>
    <rom name="epr-21576h.ic27" merge="epr-21576h.ic27" size="2097152" crc="d4895685" sha1="91424d481ff99a8d3f4c45cea6d3f0eada049a6d"/>
    <rom name="epr-21577a.ic27" merge="epr-21577a.ic27" size="2097152" crc="969dc491" sha1="581d1eae328b87b67508a7586ffc60cee256f70f"/>
    <rom name="epr-21577d.ic27" merge="epr-21577d.ic27" size="2097152" crc="60ddcbbe" sha1="58b15096d269d6df617ca1810b66b47deb184958"/>
    <rom name="epr-21577e.ic27" merge="epr-21577e.ic27" size="2097152" crc="cf36e97b" sha1="b085305982e7572e58b03a9d35f17ae319c3bbc6"/>
    <rom name="epr-21577g.ic27" merge="epr-21577g.ic27" size="2097152" crc="25f64af7" sha1="99f9e6cc0642319bd2da492611220540add573e8"/>
    <rom name="epr-21577h.ic27" merge="epr-21577h.ic27" size="2097152" crc="fdf17452" sha1="5f3e4b677f0046ce690a4f096b0481e5dd8bb6e6"/>
    <rom name="epr-21578a.ic27" merge="epr-21578a.ic27" size="2097152" crc="6c9aad83" sha1="555918de76d8dbee2a97d8a95297ef694b3e803f"/>
    <rom name="epr-21578d.ic27" merge="epr-21578d.ic27" size="2097152" crc="dfd5f42a" sha1="614a0db4743a5e5a206190d6786ade24325afbfd"/>
    <rom name="epr-21578e.ic27" merge="epr-21578e.ic27" size="2097152" crc="087f09a3" sha1="0418eb2cf9766f0b1b874a4e92528779e22c0a4a"/>
    <rom name="epr-21578g.ic27" merge="epr-21578g.ic27" size="2097152" crc="55413214" sha1="bd2748365a9fc1821c9369aa7155d7c41c4df43e"/>
    <rom name="epr-21578h.ic27" merge="epr-21578h.ic27" size="2097152" crc="7b452946" sha1="8e9f153bbada24b37066dc45b64a7bf0d4f26a9b"/>
    <rom name="epr-21579.ic27" merge="epr-21579.ic27" size="2097152" crc="71f9c918" sha1="d15af8b947f41eea7c203b565cd403e3f37a2017"/>
    <rom name="epr-21579d.ic27" merge="epr-21579d.ic27" size="2097152" crc="33513691" sha1="b1d8c7c516e1471a788fcf7a02a794ad2f05aeeb"/>
    <rom name="epr-21868.ic7" size="65536" crc="c306a51f" sha1="7833b73dc34c4c62401a30637968f46b949ceac0"/>
    <rom name="epr-22082.ic7" size="65536" crc="de26fc6c" sha1="cf8ef7969770fff8697299c3e3152413b898a967"/>
    <rom name="epr-22185a.ic22" size="4194304" crc="219b29b0" sha1="2f32caf3906fc1408fd8126a500e74c682ff20fa"/>
    <rom name="epr-23000.ic8" size="65536" crc="e3b162f7" sha1="52c7ad759c3c4a3148764e14d77ba5006bc8af48"/>
    <rom name="epr-24354.ic7" size="65536" crc="0ce43505" sha1="7700e3acfb756dfbf95f3ff14786d1bcb57e2f7d"/>
    <rom name="main_eeprom.bin" merge="main_eeprom.bin" size="128" crc="fea29cbb" sha1="4099f1747aafa07db34f6e072cd9bfaa83bae10e"/>
    <rom name="mpr-22164.ic1" size="8388608" crc="ca045315" sha1="0c5becb5220659fa86f1e7901032f8c9a1329a51"/>
    <rom name="mpr-22165.ic2" size="8388608" crc="e43f4ba8" sha1="768159bccae6a72c809e9f374538df304c92fbfe"/>
    <rom name="mpr-22166.ic3" size="8388608" crc="ea67edb1" sha1="1214fdbfd8ce9f7a2b33e97f7c4e22ebb3eee988"/>
    <rom name="mpr-22167.ic4" size="8388608" crc="df6125e2" sha1="7244278cf89b88dbc7b8b1e3a537bf0b3f521c3a"/>
    <rom name="mpr-22168.ic5" size="8388608" crc="8a919f9c" sha1="28f1f9d8943e0a0b7bc186808cdab5d21d914e05"/>
    <rom name="mpr-22169.ic6" size="8388608" crc="a0fa7d68" sha1="010fc87f0df3cf9e3d01a5ca4d4aa7e84728652d"/>
    <rom name="mpr-22170.ic7" size="8388608" crc="1f407049" sha1="3c11b25168715d200f8d78a3db7bfc8cb3c29897"/>
    <rom name="mpr-22171.ic8" size="8388608" crc="03ce8dcd" sha1="9bf1eb0a2628317bea5d8899e34f6f4363729c52"/>
    <rom name="mpr-22172.ic9" size="8388608" crc="c3e8c978" sha1="96cbaa0f13e22365b04818cb5cad2ddc2027e38a"/>
    <rom name="mpr-22173.ic10" size="8388608" crc="3caec8fc" sha1="88ee6b0a1735788570d0a6507eec14a31ebabb9a"/>
    <rom name="mpr-22174.ic11" size="8388608" crc="17245a27" sha1="b3701155b1bbdbcbfb5ea686470c3c432d2573b7"/>
    <rom name="mpr-22175.ic12s" size="8388608" crc="4d984682" sha1="60270d6caa3bbc0025a0c01cf4d7b10783216e0b"/>
    <rom name="mpr-22176.ic13s" size="8388608" crc="3ea2403f" sha1="efde74c621a8fe17d8aa3a24da35e2ca6bc0bd9a"/>
    <rom name="mpr-22177.ic14s" size="8388608" crc="15514cbc" sha1="0171d67560b8d72ca3f718dcce301acc60dee1fa"/>
    <rom name="mpr-22178.ic15s" size="8388608" crc="9ea0552f" sha1="4b282110ef9f60f942518f3849acfff4a5faf4bd"/>
    <rom name="mpr-22179.ic16s" size="8388608" crc="6915c4e6" sha1="b44d49edcfdc0f2958bf1a3856b09b5442e8f1a3"/>
    <rom name="mpr-22180.ic17s" size="8388608" crc="744c3a40" sha1="56fba6ebc45d542ba6e4f4dd205194344f127ac2"/>
    <rom name="mpr-22181.ic18s" size="8388608" crc="5a39b68e" sha1="0f81ed1116b1829262f320fc82f93df107b6f848"/>
    <rom name="mpr-22182.ic19s" size="8388608" crc="c5606c42" sha1="5871104ff1c7acde0493e13b9a4d0abdf8a40728"/>
    <rom name="mpr-22183.ic20s" size="8388608" crc="776af308" sha1="7d29cb4dce75d34c622549fea7e102868d0da60a"/>
    <rom name="x76f100_eeprom.bin" merge="x76f100_eeprom.bin" size="132" crc="3ea24b6a" sha1="3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc"/>
    <device_ref name="sh4"/>
    <device_ref name="timer"/>
    <device_ref name="arm7"/>
    <device_ref name="maple_dc"/>
    <device_ref name="93c46_16"/>
    <device_ref name="screen"/>
    <device_ref name="palette"/>
    <device_ref name="powervr2"/>
    <device_ref name="speaker"/>
    <device_ref name="speaker"/>
    <device_ref name="aica"/>
    <device_ref name="aicartc"/>
    <device_ref name="mie"/>
    <device_ref name="z80"/>
    <device_ref name="mie_jvs"/>
    <device_ref name="jvs13551"/>
    <device_ref name="93c46_8"/>
    <device_ref name="x76f100"/>
    <device_ref name="naomi_m2_board"/>
    <device_ref name="sega315_5881"/>
    <driver status="preliminary"/>
</machine>

Im not sure if the bug is that naomi bios dont exist rc4 show the roms files in 18wheelr and if the naomi bios exist dont show them, anyway, its a bug, because if you see, some of the attributes say "merge" thats mean that if you split that rom dont must be show them as roms.

airlbios contains bios and devices Games using airlbios should not contains devices in merge mode.

Comments (7)

  1. Eric Bole-Feysot repo owner

    From Juliotec:

    if you see 18wheelr have a element

    <device_ref name="jvs13551"/>

    and that element is

    <machine name="jvs13551" sourcefile="src/mame/machine/jvs13551.cpp" isdevice="yes" runnable="no">
        <description>Sega 837-13551 I/O Board</description>
        <rom name="315-6215.bin" size="32768" crc="d7c97e40" sha1="b1ae8db332f869c4fdbbae15967baeca0bc7f57d"/>
        <rom name="sp5001-b.bin" size="32768" crc="121693cd" sha1="c9834aca671aff5e283ac708788c2a0f4a5bdecc"/>
        <rom name="sp5001.bin" size="32768" crc="2f17e21a" sha1="ac227ef3ca52ef17321bd60e435dba147645d8b8"/>
        <rom name="sp5002-a.bin" size="32768" crc="a088df8c" sha1="8237e9b18b8367d3f5b99b8f29c528a55c2e0fbf"/>
    </machine>
    

    but in the romcenter 4 the files sp5001.bin must be included in 18wheelr, why? must be splited or not? Because we will have the files sp5001.bin in each file that have the tag:

    <device_ref name="jvs13551"/>

    is not a bug?

    if you see in the image sp5001.bin, sp5001-b.bin, sp5002-a.bin are included in the file 18wheelr.

    Now check this:

    <machine name="airlbios" sourcefile="naomi.cpp" isbios="yes" runnable="no">
        <description>Naomi Airline Pilots (deluxe) Bios</description>
        <year>1999</year>
        <manufacturer>Sega</manufacturer>
        <biosset name="bios0" description="Airline Pilots Deluxe (Export)" default="yes"/>
        <biosset name="bios1" description="Airline Pilots Deluxe (USA)"/>
        <rom name="epr-21801.ic27" size="2097152" crc="a21bef24" sha1="c6c6ed09772b63a9a84ef0678fc1b7527484038a"/>
        <rom name="epr-21802.ic27" size="2097152" crc="a77c6b1c" sha1="bd50a6bb8fa9bac121b076e21ea048a83a240a48"/>
        <rom name="main_eeprom.bin" size="128" crc="fea29cbb" sha1="4099f1747aafa07db34f6e072cd9bfaa83bae10e"/>
        <rom name="x76f100_eeprom.bin" size="132" crc="3ea24b6a" sha1="3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc"/>
        <device_ref name="sh4"/>
        <device_ref name="timer"/>
        <device_ref name="arm7"/>
        <device_ref name="maple_dc"/>
        <device_ref name="93c46_16"/>
        <device_ref name="screen"/>
        <device_ref name="palette"/>
        <device_ref name="powervr2"/>
        <device_ref name="speaker"/>
        <device_ref name="speaker"/>
        <device_ref name="aica"/>
        <device_ref name="aicartc"/>
        <device_ref name="mie"/>
        <device_ref name="z80"/>
        <device_ref name="mie_jvs"/>
        <device_ref name="jvs13551"/>
        <device_ref name="93c46_8"/>
        <device_ref name="x76f100"/>
        <device_ref name="naomi_rom_board"/>
    </machine>
    

    airlbiois have <device_ref name="jvs13551"/> too, but the roms sp5001.bin, sp5001-b.bin, sp5002-a.bin are not included check the image, so is a bug.

    Maybe is a bug in 18wheelr element parsing, why the roms are included in 18wheelr and in airlbios are not included, so yes its a bug, in others roms the sp5001.bin, sp5001-b.bin, sp5002-a.bin are included, so is a bug or not?

    Why im missing? is because airlbios is a bios dont include the files? and the others are runables must inlude the files? MAME must inluclude all the files in all the runables?

    I tested the dat with clrmamepro, the file 18wheelr don't must be inlcuding the files from "jvs13551" when you select split, so yes its now a bug

    Searching I'm thinking that the problem is the parent file, because the clones have the <device_ref name="jvs13551"/> but they dont include those files, just the parent file.

  2. Eric Bole-Feysot repo owner

    Nice find ! Devices are not handled the way it should in rc currently. I did a hack to get correct sets with devices rom, but I have to do something similar to samples with devices (I mean specific folder, split/merge...). It will probably be for a post 4.0 version as it is a quite important work.

    For now on, the problem is only that you have duplicated roms in merge mode. Not a big deal. Games are still correct and nothing is lost.

  3. Log in to comment