lr-mame2003 driver improvement and backport
-
@riverstorm said in lr-mame2003 driver improvement and backport:
@grant2258 said in lr-mame2003 driver improvement and backport:
ok the dat is 100% fixed for the merge errors the other problem was just the bios wasnt created so you will gave a new file called acpsx.zip. The same link for the updated file if you want to test it mr riverstorm
It looks real good. The same few missing ROMs from using current MAME and rollback:
Hyper Street Fighter II: The Anniversary Edition (Asia 040202) [folder: hsf2a - size: 45mb] missing rom: hs2ax.03 [size: 524288] [CRC32: 5f3d7397] [SHA1: 96f327dd998105ad5dc46bc9d3b741805a840d68] missing rom: hs2ax.04 [size: 524288] [CRC32: 59acf108] [SHA1: e68fe233681175b29a35badab249c2b892b23af3] The King of Fighters 2003 (Decrypted C) [system: Neo-Geo - folder: kof2003d - size: 124mb] missing rom: 271-v1d.bin [size: 16777216] [CRC32: 2964f36e] Snk Vs Capcom : Svc Chaos [system: Neo-Geo - folder: svcchaos - size: 114mb] missing rom: 269-m1d.bin [size: 131072] [CRC32: fd4f0ff9] [SHA1: e97e864aaa4789d854363512986e80c0606da996]
I see you removed "hydr1037.bin" from "hydrap2" (the one in question we been talking about) and of course the error is gone now. Is the game flagged as not working in the code? I guess my question is just removing it from the DAT to get rid of the error didn't really fix the issue? Basically the DAT created a non-working ROM set due to "hydrap2" now has missing ROMs? There was several ROMs in "hydrap2" with the same issue that were removed (1037, 1038 & 1039). I was just focusing on the first one in the set.
I always thought the merge tag was used to handle "equal names but different hash conflicts" and then of course the code would look for "game file 1" or "game file 2" when hashing the ROMs at startup before running the game (clone "hydrap2" in this case) depending on if the set is built as Non-Merged or Merged/Split.
If Non-Merged look for "game file 1" and if Merged look for "game file 2". It's the same file but only named different in the parent in merged mode (to avoid conflicts) vs being separate in Non-Merged mode.
<rom name="hydr1037.bin" size="65536" region="sound1" status="nodump" offset="0"/> <rom name="hydr1038.bin" size="65536" region="sound1" status="nodump" offset="10000"/> <rom name="hydr1039.bin" size="65536" region="sound1" status="nodump" offset="20000"/>
This the other thing with Hydra. The parent ROM "hydra" and clone "hydrap" have a ROM with the same name, size and hash values but the clone ROM in "hydrap" is flagged as bad dump but the parent ROM "hydra" is not. Exact same file when looking at the sample pulled from the DAT below.
<rom name="hydr1037.bin" size="65536" crc="b974d3d0" sha1="67ecb17386f4be00c03661de14deff77b8ca85d0" region="sound1" offset="0"/> <rom name="hydr1037.bin" merge="hydr1037.bin" size="65536" crc="b974d3d0" sha1="67ecb17386f4be00c03661de14deff77b8ca85d0" region="sound1" status="baddump" offset="0"/>
Hydra and it's clones are an odd duck.
If you know whats going on in the backgound it makes sense the changes are here. Just for you information a bad dump does have a crc and sha. A nodump has never been dumped . This translates to we have a bad dump use hydr1037.bin from the parent set in dat file
-
@grant2258 said in lr-mame2003 driver improvement and backport:
If you know whats going on in the backgound it makes sense the changes are here.
There's plenty happening in the background that I don't understand. I am just trying to understand what doesn't make sense to me. Yes I know a bad dump vs no dump or the hash value in DAT would be truly random. :)
Explain this to me. The two files between parent/clone are 100% identical why flag one as "bad dump" and other not? Yes you showed me the code that you patched MAME so that it doesn't process baddump files.
On the other hand ClrMamePro isn't aware of the MAME code when processing a DAT. It's just building sets according to the how the DAT is built. ClrMamePro can use the "baddump" flag when processing (depending on options selected) but once complete there's no indication of bad dump in the ROM set so why the different flags on identical files shown below?
<rom name="hydr1037.bin" size="65536" crc="b974d3d0" sha1="67ecb17386f4be00c03661de14deff77b8ca85d0" region="sound1" offset="0"/> <rom name="hydr1037.bin" merge="hydr1037.bin" size="65536" crc="b974d3d0" sha1="67ecb17386f4be00c03661de14deff77b8ca85d0" region="sound1" status="baddump" offset="0"/>
The other issue I see is the original DAT has hash collisions. Look at the 3 lines below. It's the same file from 3 games (1 is the parent and 2 are the clones). If you run this through ClrMamePro it will not process correctly due to insufficient information and create no entries in the parent. That's the error ClrMamePro is warning about. The lack of hash information in the "hydrap2" ROM treats it as a different hash when actually it's no hash.
Anothe way is when doing a merge set (not split) you would need to at least use the hash collision detection option which creates a whole other challenge of subdirectories of the hash collisions. Well actually all merge files and not just hash collisions. You can test this with the original DAT if you want to see it for yourself.
Your fix was to remove the offending files from the DAT so now you have an imcomplete set that doesn't work but the warnings in ClrMamePro are fixed. The better fix seems to either fix the game and get the correct information or just entirely remove the clone because you already ripped 3 files to avoid the errors.
<rom name="hydr1037.bin" size="65536" crc="b974d3d0" sha1="67ecb17386f4be00c03661de14deff77b8ca85d0" region="sound1" offset="0"/> <rom name="hydr1037.bin" merge="hydr1037.bin" size="65536" crc="b974d3d0" sha1="67ecb17386f4be00c03661de14deff77b8ca85d0" region="sound1" status="baddump" offset="0"/> <rom name="hydr1037.bin" size="65536" region="sound1" status="nodump" offset="0"/>
My questions are more about "quick" fixes don't seem correct to me vs. doing it right. It's your project and I'll support it for sure as I would love to see these changes get merged to the main. To stay static and never add another game does seem silly to me when there's some nice changes that could enhance it and you and Mark have the know how to do it.
Another game over the weekend I noticed that didn't work was Alien Storm that's part of these enhancements. Donkey Kong full sound samples. Actually there's several that look good to me and would be great additions.
-
river you need to be more specific in what your asking your not making sense your saying a game that has no dump should and a bad dump should run?
-
@grant2258 said in lr-mame2003 driver improvement and backport:
river you need to be more specific in what your asking your not making sense your saying a game that has no dump should and a bad dump should run?
I can't get more specific then what I explained above. I am talking about hydra and hydrap forget about hydrap2 (for now). One thing at a time.
-
@riverstorm said in lr-mame2003 driver improvement and backport:
@grant2258 said in lr-mame2003 driver improvement and backport:
river you need to be more specific in what your asking your not making sense your saying a game that has no dump should and a bad dump should run?
I can't get more specific then what I explained above. I am talking about hydra and hydrap forget about hydrap2 (for now). One thing at a time.
mame has logic to try use good dump when it sees bad dump and thats whats happening there you seem focused on this baddump
-
@grant2258 said in lr-mame2003 driver improvement and backport:
mame has logic to try use good dump when it sees bad dump and thats whats happening there you seem focused on this baddump
Yes exactly, why flag it as bad dump when you essentially are using the same exact file as the parent?
-
im not flagging it the driver is
-
@grant2258 said in lr-mame2003 driver improvement and backport:
im not flagging it the driver is
Ok that's good enough for me. Basically it's "extraneous" information I guess is the way I would view it.
The other issue of removing entries causing warnings in ClrMamePro. Why not remove the whole clone (hydrap2) instead of 3 file entries from the clone making it a worthless set essentially?
There's other errors that seemed to be quick fixes but I would need to rerun the original DAT to see them again.
-
@riverstorm said in lr-mame2003 driver improvement and backport:
@grant2258 said in lr-mame2003 driver improvement and backport:
im not flagging it the driver is
Ok that's good enough for me. Basically it's "extraneous" information I guess is the way I would view it.
The other issue of removing entries causing warnings in ClrMamePro. Why not remove the whole clone (hydrap2) instead of 3 file entries from the clone making it a worthless set essentially?
There's other errors that seemed to be quick fixes but I would need to rerun the original DAT to see them again.
https://github.com/arcadez/mame2003-plus-libretro/blob/master/src/drivers/atarig1.c
line 561
-
@grant2258 said in lr-mame2003 driver improvement and backport:
line 561
Sorry I don't quite understand they have the same hash values as the parent and clone hydrap but marked as bad dump.
-
@riverstorm said in lr-mame2003 driver improvement and backport:
@grant2258 said in lr-mame2003 driver improvement and backport:
line 561
Sorry I don't quite understand they have the same hash values as the parent and clone hydrap but marked as bad dump.
its a hack to get it working because they dont have the good dumps thats why it says baddump on that particluar set
-
@grant2258 said in lr-mame2003 driver improvement and backport:
its a hack to get it working because they dont have the good dumps thats why it says baddump on that particluar set
I thought a game needed to verify the ROMs in the archive before launch? So the entries in the DAT for hydra2p (1037, 1038 and 1039) are extraneous and this clone will run with them removed from the DAT & ROM?
-
no its not this is what they done is say hey we have this rom but these ones are bad just use the good sound roms from the parent by adding the parents crc sha so we can play the game with the other different rom files we have that are working. its borrowing a good rom from parent to get the sound working. Its marked as bad because its not the original dump thats all so it technically is bad for that set. I hope im explaining this ok for you
-
@grant2258 said in lr-mame2003 driver improvement and backport:
no its not this is what they done is say hey we have this rom but these ones are bad just use the good sound roms from the parent by adding the parents crc sha so we can play the game with the other different rom files we have that are working. its borrowing a good rom from parent to get the sound working. Its marked as bad because its not the original dump thats all so it technically is bad for that set. I hope im explaining this ok for you
Yeah that makes sense but I only have one issue with it. RetroPie users mainly use Non-Merged sets so if I only want to play "hydrap2" and delete "hydra" I am missing the correct files to launch because we removed them from the DAT which removed them from the ROM set.
I built a DAT for arcadez original changes. When I used the drivers liked the example you showed me for a bad dump like that I would have cloned the information just as the driver shows but you removed them from the DAT.
If I am doing it wrong then this will help me understand quite a bit here.
-
I understand where you are coming from in this and its something that can be fixed. This problem is in the driver and can be addressed if people want it fixed as you can see though the author put a no dump in it that can be changed it is the correct behavior though a nodump shouldnt work. It should have been marked as unplayable or merged in properly. That what me and mark are doing at the moment we are fixing the drivers up or marking there status as not working
GAME( 1990, hydrap2, hydra, atarig1, hydra, hydrap, ROT0, "Atari Games", "Hydra (prototype 5/25/90)" )
it is a prototype ill see what mark thinks to do with this one it might not work at all ive never tried it tbh
-
Sorry, I am not questioning if it should be fixed. I was just questioning the removal of those 3 files from the DAT. You said the parent ROMs with the same name will work as a hack but if we removed them from the DAT how is it able to leverage using the parent ROMs when they are not in the archive?
-
they arent removed look in the zip hydrap2 is listed from 572 this is the only set they are removed in the code would need to be changed for this to fixed in this set. Your comparing two different sets
-
I am referring to the newly generated DAT where you said the errors have all been fixed this morning. Looking below they have been removed. I have both the original DAT and the new one with corrections being removed.
<game name="hydrap2" cloneof="hydra" romof="hydra"> <description>Hydra (prototype 5/25/90)</description> <year>1990</year> <manufacturer>Atari Games</manufacturer> <rom name="05c" size="65536" crc="531ebb3b" sha1="866de3e2c747bd272c5235f9717ebeaeca90735b" region="cpu1" offset="1"/> <rom name="05e" size="65536" crc="6d77b124" sha1="a485a783211a052ca01aa400b3c5e59a2dba6faa" region="cpu1" offset="0"/> <rom name="15c" size="65536" crc="2f823b49" sha1="db457b43e528a6d447802259707a00f02bf92f2e" region="cpu1" offset="20001"/> <rom name="15e" size="65536" crc="cfda9f58" sha1="7b2727751978f35b57f8a56d8db7d1cd9378f6af" region="cpu1" offset="20000"/> <rom name="20c" size="65536" crc="a501e37b" sha1="7cf9dbe19d305304543793045cf2da934ff34d1e" region="cpu1" offset="40001"/> <rom name="20e" size="65536" crc="f75541ca" sha1="c3f8756b25b0d9f4d2d0e51a2fcc23f5a158ff87" region="cpu1" offset="40000"/> <rom name="30c" size="65536" crc="89604306" sha1="ccac6eabb174903f4ee144fce53a169daa734e07" region="cpu1" offset="60001"/> <rom name="30e" size="65536" crc="25221b17" sha1="bb14117f256c3db6881bb91cace297d4c636e684" region="cpu1" offset="60000"/> <rom name="aud.1b" size="65536" crc="e1b5188a" sha1="e9f2a78df49fa085a9363ca194e2ceb5fa5409c4" region="cpu2" offset="10000"/> <rom name="hydr1017.bin" merge="hydr1017.bin" size="65536" crc="bd77b747" sha1="da57e305468c159ca3d2cfae807a85e643bbf053" region="gfx1" dispose="yes" offset="0"/> <rom name="hydr1018.bin" merge="hydr1018.bin" size="65536" crc="7c24e637" sha1="dd9fa8a59cbd692b0d8c0e452df4fa18d770c602" region="gfx1" dispose="yes" offset="10000"/> <rom name="hydr1019.bin" merge="hydr1019.bin" size="65536" crc="aa2fb07b" sha1="ed5aa82d5bac112f0507be3e4e2a5bad184eceeb" region="gfx1" dispose="yes" offset="20000"/> <rom name="hydr1020.bin" merge="hydr1020.bin" size="65536" crc="906ccd98" sha1="6c226a5058a7432a9fc6e82e0f0608a2ae1a0963" region="gfx1" dispose="yes" offset="30000"/> <rom name="hydr1021.bin" merge="hydr1021.bin" size="65536" crc="f88cdac2" sha1="891426db0078cda61ff6c8c4ac323cb541c260d8" region="gfx1" dispose="yes" offset="40000"/> <rom name="hydr1022.bin" merge="hydr1022.bin" size="65536" crc="a9c612ff" sha1="732d4b7dd6a181fe9a692858d2a72d8994e97829" region="gfx1" dispose="yes" offset="50000"/> <rom name="hydr1023.bin" merge="hydr1023.bin" size="65536" crc="b706aa6e" sha1="4a0b919668047c24db77b6602edd67bf62e35464" region="gfx1" dispose="yes" offset="60000"/> <rom name="hydr1024.bin" merge="hydr1024.bin" size="65536" crc="c49eac53" sha1="7b5634aaee20fa8b46de871c2dc3b380fb059449" region="gfx1" dispose="yes" offset="70000"/> <rom name="hydr1025.bin" merge="hydr1025.bin" size="65536" crc="98b5b1a1" sha1="dfee7d334c4541eb13ee96b43d4d3e1a3c8deb72" region="gfx1" dispose="yes" offset="80000"/> <rom name="hydr1026.bin" merge="hydr1026.bin" size="65536" crc="d68d44aa" sha1="8fc8b82f4f90515f2af93d3f2d6903a74aac0cc9" region="gfx1" dispose="yes" offset="90000"/> <rom name="hydr1027.bin" merge="hydr1027.bin" size="131072" crc="f9135b9b" sha1="48c0ad0d3e592d191d1385e30530bdb69a095452" region="gfx2" dispose="yes" offset="0"/> <rom name="079-1040.bin" merge="079-1040.bin" size="512" crc="43d6f3d4" sha1="a072099df1db8db3589130c67a86a362e03d70ff" region="proms" dispose="yes" offset="0"/> <rom name="079-1041.bin" merge="079-1041.bin" size="512" crc="341dc4bb" sha1="175143e29cf9e6a4cecb43b3801356085944d168" region="proms" dispose="yes" offset="200"/> <rom name="079-1042.bin" merge="079-1042.bin" size="512" crc="2e49b52e" sha1="f8abffbcafe2cba7d1410175bb75ec07faac3b47" region="proms" dispose="yes" offset="400"/> <chip type="cpu" name="68000" clock="14318180"/> <chip type="cpu" name="M6502" clock="1789500"/> <chip type="audio" name="YM2151" clock="3579000"/> <chip type="audio" name="MSM6295" clock="9037"/> <video screen="raster" orientation="horizontal" width="336" height="240" aspectx="4" aspecty="3" refresh="60.000000"/> <sound channels="1"/> <input players="1" control="stick" buttons="6" coins="3"/> <dipswitch name="Service Mode"> </dipswitch> <driver status="good" color="good" sound="good" palettesize="1280"/> </game>
-
you not listening look at the code it says no dump the driver needs updated its a driver issue that all and it should they should be removed or the driver should be fixed to use wrong roms
-
@grant2258 said in lr-mame2003 driver improvement and backport:
you not listening look at the code it says no dump the dirver need updated it a driver issue
Yes I saw the code. You removed these 3 files from the DAT that are part of hydrap2.zip. If I build a Non-Merged set you're saying the game will still work with the 3 missing files from the game zip?
These 3 files were removed from the DAT.
<rom name="hydr1037.bin" merge="hydr1037.bin" size="65536" region="sound1" status="baddump" offset="0"/> <rom name="hydr1038.bin" merge="hydr1038.bin" size="65536" region="sound1" status="baddump" offset="10000"/> <rom name="hydr1039.bin" merge="hydr1039.bin" size="65536" region="sound1" status="baddump" offset="20000"/>
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.