lr-mame2003 driver improvement and backport
-
@grant2258 said in lr-mame2003 driver improvement and backport:
I still think they arent needed but wont do any harm so will leave then in.
I guess what I don't understand is why not leave them as "no dump" and just answer the warnings in ClrMamePro? That's what they are (no dump) and it's 100% accurate. The official set does have these errors in abundance. I can't even remember that last time or ever I saw a perfectly clean set. These errors are normal and ok even if they can be confusing when you first see them.
A couple of sets I see that were in lr-mame2003 but have been removed from mame2003-plus.
- Cabal (US set 2) (cabal2)
- Urashima Mahjong (urashima)
check the changes to the datfile on github there is a history of what has changed there is a history button at the bottom. It will save you doing a lot of diffs
Sounds good.
-
@markwkidd said in lr-mame2003 driver improvement and backport:
The fixdat only has records for the individual ROMs and samples that one needs to track down in order to upgrade a MAME 0.78 set to a MAME 2003+ set.
@markwkidd - I was thinking about this last night and it's incredibly accurate down to the individual ROM's. What I was proposing is slightly different.
If you take an existing lr-mame2003 set and run it through you get exactly what's missing down to the ROM. So take for example "game a" needs "rom 1", "rom 2" & "rom 3" to run. After I run the lr-mame2003 set through with the mame2003-plus DAT it builds "game a" adding "rom 1" & "rom 2" but it can't find "rom 3" because it was updated for mame2003-plus.
If you create a set with that diff DAT now I have ROMs in 2 partial sets that still need to be merged to make a working set.
What I want to do is say "game a" is missing any file then I want to create the DAT entry that includes the whole game doing this for the whole set. For example "game a" is missing "rom 3" then I would create a DAT entry "game a" with roms 1, 2 & 3.
So let's say I am running mame2003-plus and I want to run "game a" all I need to do is copy it from my new folder and it's playable but with your DAT "game a" is not playable until the two partial sets have been merged.
I am not sure I am explaining that well as it's a slight difference but makes the ROMs more usable and lr-mame2003 it still 100% accurate for the ROMs that are transferable are in the set with the newly added or changed ROM sets if copied over an existing set. Completely new sets will obviously be ok as they aren't overwriting anything but just being added to the game roms folder.
-
hiya mate is the way mame outputs the nodump there is no crc and sha1 and thats the way it should be the hydra prototypes are both missing dumps as well as chinagat (parent rom). These games borrow other sets roms to work so they are considered badumps for that set . See the latest mame does it the same way to keep the parent clone relationship. It makes extra files if your using spilt sets that are not needed. It also causes merge errors . If it makes you feel better ill make you a data with no tags in for your personal use. The only other alternative is remove the prototypes because they both missing roms or make the prototype unplayable
latest mame
https://github.com/mamedev/mame/blob/master/src/mame/drivers/atarig1.cpp
line 670 hydrap2
someone posted a issue about two set being missing on the github im sure arcadez will add them back
-
@grant2258 said in lr-mame2003 driver improvement and backport:
These games borrow other sets roms to work so they are considered badumps for that set .
It's been real and it's been interesting but not real interesting. :) If you can borrow set roms and make it (hydrap2) work then it might become an instant classic for me! ;) I'll be the first in line to test it.
In the first revision removing them was your answer. (I think I would have left them as "no dump" as long as the parent is working.)
The second revision you marked the 19 "no dump" ROMs files as "bad dump" and pulled them down from the parent. Again I would have just left them as "no dump" so they align with the original lr-mame2003 DAT and it reflects proper.
As it sits now over half your ROM files (19 to be exact) are not original. You can call it a hack or hybrid or hacked prototype or hacked hybrid prototype or whatever feels comfortable for you but it doesn't seem that important to get a, as far as know, unpopular prototype working.
No need to create a special DAT. You know that's only a flag and has no bearing on the set build unless certain options are enabled? If you can get it working why change the flags to "no dump". You understand how ClrMamePro works?
Also just because it's flagged as "no dump" (in the DAT) doesn't mean you can't keep the parent/clone relationship. Of course "no dump" doesn't have a crc or sha1 because one doesn't exist.
I guess you can give a go and we'll see what you can do.
Cheers, mate! ;)
-
I know how clrmame works im not coming at it from clrmame pro im coming at it from mame. If you mark nodump in mame the dat wont output the crcs and you loose the parent clone relationship when building the roms. Thats why your loosing the parent/child relationship which is using the roms from hydra from the prototypes(the errors on the original dat). Im my first revision yes i removed the nodumps and said the drivers needed fixed and i fixed the drivers and put the no dumps back in at your request of being a quick fix.
ps the nodump borrows there roms from hydra as bad merges its what the drivers is doing as bad way originally. Im not sure what your issue is
what really confuses me is your happy to say nothing about hydrap doing this the way it originally was
-
If you wish to see a good example of parent/clone relationship with "no dump" ROMs as part of the set check out hydra and hydrap2 in the lr-mame2003 DAT. It's a good example and implemented proper the way it should be. Known files have the correct field information and "no dumps" are marked accordingly.
Thats why your loosing the parent/child relationship which is using the roms from hydra from the prototypes(the errors on the original dat).
This is only partially true. When working in "full merge" mode. Reread the warning you still not understanding it. You don't loose the parent/clone relationship in split or non-merged with hydra and hydrap2 the warning is ONLY for full merged mode but again this is still irrelevant due to the fact they are "no dump" ROMs and no ROM file exists to add to the parent in full merge mode. The error warning is a bit cyclic but it is true and how it presents itself.
If you mark nodump in mame the dat wont output the crcs
Of course it can't output the crc because it doesn't exist. In addition you wrote the commit to not process "no dump" flagged ROMs.
I think whoever created the 0.78 DAT did it correctly. You should be able to do the same or they can help with the code to get a proper DAT output? They added in the known ROM file information (name, size, crc, hash) and added "no dump" to the unknown ROMs because the information was not known at the time of DAT creation. Hence see hydra & hydrap2 in the lr-mame2003 DAT on how that works.
I respectfully am going to bow out here as this is doing no good and if you edit that post one time it might explode!
-
https://github.com/grant2258/mame2003-libretro/commits/master/metadata/MAME 0.78 XML.dat
mark edited this file to fix it originally. There is no new files with the fix hydra fix and the parent clone is correct form split sets it the way this roms should be with what i changed.
you should take this subject up with mark if you believe the bad merges are right again it was hand edited to be fixed before as well as chinagat to be fixed
-
-
Could you also put a Samples DAT for mame2003plus on the Github so we can get an exact set ?
-
@maxbeanz said in lr-mame2003 driver improvement and backport:
Could you also put a Samples DAT for mame2003plus on the Github so we can get an exact set ?
Samples are already built into the DAT. If you only want Samples just uncheck Sets, ROMs & CHDs in the Scanner and it should work fine. You have to set a Samples directory so they will be built in there own directory separate from the ROMs.
-
@riverstorm It does, thanks. It doesn't seem to delete uneeded ones though. I could put a copy of dkong.zip and it doesn't delete it. I'll have to check the filenames of all the games it detects and make sure there are no surplass.
EDIT: All done now.
-
@riverstorm It doesn't seem to delete uneeded ones though.
It doesn't delete them? I am not quite sure what you mean.
Samples are an odd when processed. They have no hash value so if you have the correct name with an incorrect sample it will accept it as valid.
It should remove extra samples that are not part of a set. Say dkongjr.zip contains dkstomp.wav (unneeded sample for that set) it will remove it from dkongjr.zip.
Also it removes incorrect sets altogether (a sample set that is not part of the samples i.e. - rocket.zip or something for example that doesn't exist in mame2003-plus).
The thing it does not do is say dkong.zip is missing dkstomp.wav but dkongjr.zip contains dkstomp.wav. It will remove it from dkongjr.zip but it will not add it to dkong.zip. So you can run ClrMamePro to clean up unneeded samples but then you have to manually add the missing ones back if that makes sense. Even a Rebuild with the correct path/backup path will not add them back to the correct set.
This is only with Samples and not ROMs though.
-
@riverstorm said in lr-mame2003 driver improvement and backport:
@riverstorm It doesn't seem to delete uneeded ones though.
It doesn't delete them? I am not quite sure what you mean.
Samples are an odd when processed. They have no hash value so if you have the correct name with an incorrect sample it will accept it as valid.
It should remove extra samples that are not part of a set. Say dkongjr.zip contains dkstomp.wav (unneeded sample for that set) it will remove it from dkongjr.zip.
Also it removes incorrect sets altogether (a sample set that is not part of the samples i.e. - rocket.zip or something for example that doesn't exist in mame2003-plus).
The thing it does not do is say dkong.zip is missing dkstomp.wav but dkongjr.zip contains dkstomp.wav. It will remove it from dkongjr.zip but it will not add it to dkong.zip. So you can run ClrMamePro to clean up unneeded samples but then you have to manually add the missing ones back if that makes sense. Even a Rebuild with the correct path/backup path will not add them back to the correct set.
This is only with Samples and not ROMs though.
This is exactly why I think a Samples DAT should be included :) It will be easier to assemble a full correct set of samples for mame2003plus.
-
You mean add hash values and then create a set like a regular ROM set so it adds/removes samples automatically? Samples then would probably look like a ROM set when processing.
I've never tried adding hash values or seen them added to the actual sample set in the DAT to see what it would do like automate it. Usually Twisty's has all the current correct samples for downloading.
-
Do we have to enable cheats manually somehow in 2003plus ? If so, could you turn them on by default because you have to enable individual cheats in the menu anyway. Also, why is there a 'Generate XML Dat' in the MAME menu ? Is this a bug that's replaced the Cheat menu ? The Dat file is on Github anyway.
-
@maxbeanz said in lr-mame2003 driver improvement and backport:
Do we have to enable cheats manually somehow in 2003plus ? If so, could you turn them on by default because you have to enable individual cheats in the menu anyway. Also, why is there a 'Generate XML Dat' in the MAME menu ? Is this a bug that's replaced the Cheat menu ? The Dat file is on Github anyway.
You still need to turn on cheats via the core options for mame2003-plus. Then you'll see them in the MAME Tab menu as with mame2003. Sometime soon-ish I will get around to enabling cheats by default like mame2003 which will skip the core options step.
The XML DAT generator is there for people who are doing up-to-the-minute testing of newly supported mame2003-plus romsets.
Unless you are testing nightly mame2003-plus builds you are fine to use the DAT that is already on github.
-
@markwkidd Thanks for the info. Is the Datfile on Github much different from a manually generated one then ? The Github dat says I have 3 games missing (4 roms) (hsf2a, kof2003d, svcchaos) which is what was stated elsewhere in this thread.
-
@maxbeanz said in lr-mame2003 driver improvement and backport:
The Github dat says I have 3 games missing (4 roms) (hsf2a, kof2003d, svcchaos) which is what was stated elsewhere in this thread.
I've purposely been avoiding adding those few missing ROMs (4 total) also as they are not MAME official. Once Mark or Grant say they will become official ROMs or they will always be hacks then I'll add them in.
@maxbeanz - I did some research last night but I have no idea why samples don't receive hashes. It's been that way since the beginning I believe. None of the tools even attempt to create hashes for samples. I don't know if they assume samples are easy to obtain and don't change much. Maybe someone with better MAME institutional knowledge could answer it.
-
i guess samples are not static files like roms. they could be re-recorded at better fidelity, etc. the names of the files should remain the same, though.
-
@riverstorm Or if you know that you have a perfect samples set for 2003plus you could do a DIR2DAT using CLRMamePro which scans a selected directory and adds CRC's/SHA's (if selected) and spits out the DAT file.
Also, did somebody make a Datfile of just the new and updated roms for 2003plus that are needed so I can add them to my filtered 2003 set ?
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.