lr-mame2003 driver improvement and backport
-
@gamez-fan said in lr-mame2003 driver improvement and backport:
What are the errors you are getting with the NeoGeo games missing Roms on boot..?? or something else..??
I know it's a busy time of year and I appreciate all you have done and time invested. I haven't even tried running them yet. Here's one example but there's more. The source file for "The King of Fighters 2003" neogeo.c:
ROM_START( kof2003d ) // Decrypted C Roms 6295 ROM_REGION( 0x900000, REGION_CPU1, 0 ) 6296 ROM_LOAD32_WORD_SWAP( "271-p1.bin", 0x000000, 0x400000, CRC(b9da070c) ) 6297 ROM_LOAD32_WORD_SWAP( "271-p2.bin", 0x000002, 0x400000, CRC(da3118c4) ) 6298 ROM_LOAD16_WORD_SWAP( "271-p3.bin", 0x800000, 0x100000, CRC(5cefd0d2) ) 6299 ROM_LOAD16_WORD_SWAP( "271-p3d.bin", 0x800000, 0x100000, CRC(59d376da) ) 6300 6301 ROM_REGION( 0x100000, REGION_GFX1, 0 ) 6302 ROM_FILL( 0x000000, 0x100000, 0 ) 6303 ROM_REGION( 0x20000, REGION_GFX2, 0 ) 6304 ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, CRC(354029fc) ) 6305 6306 ROM_REGION16_BE( 0x40000, REGION_USER1, 0 ) 6307 ROM_LOAD16_WORD_SWAP( "271-osjd.bin", 0x00000, 0x040000, CRC(c521b5bc) ) 6308 NEOGEO_BIOS 6309 6310 ROM_REGION( 0x90000, REGION_CPU2, 0 ) 6311 ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(97cf998b) ) 6312 ROM_LOAD( "271-m1d.bin", 0x00000, 0x80000, CRC(0e86af8f) ) 6313 ROM_RELOAD( 0x10000, 0x80000 ) 6314 ROM_REGION( 0x10000, REGION_GFX4, 0 ) 6315 ROM_LOAD( "000-lo.lo", 0x00000, 0x10000, CRC(e09e253c) ) 6316 6317 ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY ) 6318 ROM_LOAD( "271-v1d.bin", 0x000000, 0x1000000, CRC(2964f36e) ) 6319 6320 NO_DELTAT_REGION 6321 6322 ROM_REGION( 0x6000000, REGION_GFX3, 0 ) 6323 ROM_LOAD16_BYTE( "271-c1d.bin", 0x0000000, 0x1000000, CRC(c29acd28) ) 6324 ROM_LOAD16_BYTE( "271-c2d.bin", 0x0000001, 0x1000000, CRC(328e80b1) ) 6325 ROM_LOAD16_BYTE( "271-c3d.bin", 0x2000000, 0x1000000, CRC(020a11f1) ) 6326 ROM_LOAD16_BYTE( "271-c4d.bin", 0x2000001, 0x1000000, CRC(991b5ed2) ) 6327 ROM_LOAD16_BYTE( "271-c5d.bin", 0x4000000, 0x1000000, CRC(c2de8b66) ) 6328 ROM_LOAD16_BYTE( "271-c6d.bin", 0x4000001, 0x1000000, CRC(3ff750db) ) 6329 ROM_END
Here's the ROM kof2003d in raw format below. If you notice it's missing
<rom name="271-osjd.bin" size="131072" crc="c521b5bc"/>
but also it has an extra unneeded ROM:
2.<rom name="271-bios.bin" size="262144" crc="c521b5bc" sha1="c9a5db63523191dedd1b39baab8772f64f09b77f"/>
I don't have the SHA1 information or the ROM to generate it. If there's a working game I can generate 100's of entries in seconds but you still need to go back and fill in the full name vs. ROM name (i.e. - kof2003d so it reads The King of Fighters 2003) year, manufacturer, parent/clone relationship's, etc. So it's still time consuming but bearable.
My thought was if you code a new change and put together the ROM for testing to make sure it works. Then it's incredibly time saving to have a ROM and do it that way.
Without a working ROM you have to CTRL-F to search the drivers in the source code, click on the driver, search the driver for the ROM name, hit enter 20 times because it's reference over and over in the driver. Then finally take that source code ROM information like in the example above and cut-n-paste one line at a time to format it like below. It's incredibly time consuming vs using a working ROM as a starting base.
It can be done without a working ROM but it's exponentially longer to do. If I know the ROM is correct I can generate a DAT, skip verification and go directly to adding the name, year, manufacturer samples and parent/clone relationships.
Building a DAT from scratch without working ROMs is brutal. Everything in the DAT has to match 100% right down to the size or it will show an incomplete set. It's just to easy to make mistakes with manual entries.
I could take the approach that most of the files are correct and were close. Skipping any verification. Shoot me message if something doesn't work. A big time saver. In this case several games I would assume will not run and also the extraneous entries like extra BIOS and ROM site URL readme files, etc. are just extra junk that is unneeded in the ROM or DAT.
The other thing was just a good complete list. You had listed Cabal 3 button as working but is that cabal, cabalbl, cabala, cabalus, cabalus2. I had it as the bootleg version but that might not be correct.
<game name="kof2003d"> <description>kof2003d</description> <rom name="271-p1.bin" size="4194304" crc="b9da070c" sha1="1a26325af142a4dd221c336061761468598c4634"/> <rom name="271-p2.bin" size="4194304" crc="da3118c4" sha1="582e4f44f03276adecb7b2848d3b96bf6da57f1e"/> <rom name="271-p3.bin" size="1048576" crc="5cefd0d2" sha1="cddc3164629fed4b6f715e12b109ad35d1009355"/> <rom name="271-c1d.bin" size="16777216" crc="c29acd28" sha1="8a10409c5a9ad95fa9b56e94c14f1b96101fb179"/> <rom name="271-m1d.bin" size="524288" crc="0e86af8f" sha1="769102b67bb1a699cfa5674d66cdb46ae633cb65"/> <rom name="271-v1d.bin" size="16777216" crc="2964f36e" sha1="bfc52f81354eb57e27acb3b80fe1547b9e070293"/> <rom name="271-c2d.bin" size="16777216" crc="328e80b1" sha1="c7f8069488be1a88a2ea03718b6a131f5c96bd3f"/> <rom name="271-c3d.bin" size="16777216" crc="020a11f1" sha1="85cfae76234f72b0039ebc02f931bb2a9c10b1af"/> <rom name="271-p3d.bin" size="1048576" crc="59d376da" sha1="3c3ad0b79e8b37e838893a8f7b87e11d7eeee8f2"/> <rom name="271-c4d.bin" size="16777216" crc="991b5ed2" sha1="99c4c470bc9cb388773e27de6df4a16803fc7b45"/> <rom name="271-c5d.bin" size="16777216" crc="c2de8b66" sha1="40c2ea48fc20d470163a9dbb40c0276fc4cfceb9"/> <rom name="271-c6d.bin" size="16777216" crc="3ff750db" sha1="714f14a2eb2df6f25d10a6b6aff4b3adfbc7a5dc"/> <rom name="271-bios.bin" size="262144" crc="c521b5bc" sha1="c9a5db63523191dedd1b39baab8772f64f09b77f"/> </game>
-
@gamez-fan said in lr-mame2003 driver improvement and backport:
Thats why i just decided to send ya a working version for each new game in order to update the Rom packs for this core and that way users will
at least have one Rom version they can use without the need for a datfile which for some Roms will be no good anyway as they are no longer available
to download eg older Neogeo's.Older arcade ROMs are widely available. I find it hard to believe that there are any ROMs required which can't be found online. Could you give an example of this issue?
-
@markwkidd said in lr-mame2003 driver improvement and backport:
Older arcade ROMs are widely available. I find it hard to believe that there are any ROMs required which can't be found online. Could you give an example of this issue?
This one has me baffled but I might be missing it someplace. I am not sure what @gamez-fan has for hard to locate files.
<rom name="271-osjd.bin" size="131072" crc="c521b5bc"/>
-
@riverstorm yes that one looks like an error, specifically in the filesize.
I believe the file needed is more commonly named "271-bios.bin" and it has a size of 262,144. The CRC32 for this NeoGeo ROM is, as you posted, c521b5bc.
-
@markwkidd said in lr-mame2003 driver improvement and backport:
@gamez-fan said in lr-mame2003 driver improvement and backport:
Thats why i just decided to send ya a working version for each new game in order to update the Rom packs for this core and that way users will
at least have one Rom version they can use without the need for a datfile which for some Roms will be no good anyway as they are no longer available
to download eg older Neogeo's.Older arcade ROMs are widely available. I find it hard to believe that there are any ROMs required which can't be found online. Could you give an example of this issue?
Well if say you wanted to trackdown the NeoGeo games i added support for you would run into problems with alot of them due to the way the older MAME
cores boot these games eg bypass the encrypted Roms in some cases and load a decrypted version instead, now since these Roms are no longer required
as MAME properly handles the encryption nowadays you tend to find the ole Roms we need have been replaced with newer ones which for us when using
MAME2003 are incorrect plus the NeoGeo Roms we need are lost over time.BTW i just booted kof2003d.zip the exact same one i sent ya's and im playing it now so i guess that clears up whether it's correct or not, right ok it seems
your all gonna keep pestering me about this so i'll drop my currant work on updating Kaneko16 for this core and switch to adding in all the proper
SHA1's to the Neogeo driver -
@markwkidd said in lr-mame2003 driver improvement and backport:
Older arcade ROMs are widely available. I find it hard to believe that there are any ROMs required which can't be found online. Could you give an example of this issue?
@markwkidd & @gamez-fan I know you guys are on the programming side so this isn't anything new really to explain. I am not sure if you're just trying to get a feel for what the situation is like. From the checking I've been doing there's several files unavailable for these new working ROM sets based on pulling info. from the source code updates. I have a whole list but that was one I spent a considerable amount of time on.
It seems some are just no longer used such as an m1d files (the m version). It seems to be common part of the name for the decrypted versions back then. Now the code allows for proper decryption of encrypted files and they are no longer needed in some cases and sort of are lost and forgotten.
I believe the file needed is more commonly named "271-bios.bin" and it has a size of 262,144. The CRC32 for this NeoGeo ROM is, as you posted, c521b5bc.
Thanks for the information. That's the type of thing where I get stuck but you seemed to figure it out fairly quickly where as I spent a good half hour and finally called it good. I think there's an art to it to a degree! ;) Having the "new" name should help now.
I will continue on with what I am doing long form but it's going to take a while longer to work through each one. I think these updates and additions to lr-mame2003 are permanent so I would like to build out a clean DAT with just the needed information.
If I do get stuck in tracking a ROM would it be in forum policy violation to inquiry about ROM information only as long as no links are posted? I'll get a list together of "missing" files down the road.
I am heading to Florida for the holidays so will be out for a while but will continue working on it once I return. The file has grown to large to fit in a post so at some point I'll need an upload place if you guys want to review it. It never hurts to have a second pair of eyes to catch any errors.
-
@gamez-fan said in lr-mame2003 driver improvement and backport:
BTW i just booted kof2003d.zip the exact same one i sent ya's and im playing it now so i guess that clears up whether it's correct
@gamez-fan So picking on this ROM in the source code. It doesn't do a pre-check to verify the file exists? It's listed and loaded in the source but the game still launches? Do you have the file in the parent ROM possibly? I thought all files needed to be present to even launch?
<rom name="271-osjd.bin" size="131072" crc="c521b5bc"/>
-
@riverstorm said in lr-mame2003 driver improvement and backport:
@gamez-fan said in lr-mame2003 driver improvement and backport:
BTW i just booted kof2003d.zip the exact same one i sent ya's and im playing it now so i guess that clears up whether it's correct
@gamez-fan So picking on this ROM in the source code. It doesn't do a pre-check to verify the file exists? It's listed and loaded in the source but the game still launches? Do you have the file in the parent ROM possibly? I thought all files needed to be present to even launch?
<rom name="271-osjd.bin" size="131072" crc="c521b5bc"/>
Hmm i just seen the above while kof2003d booted that means one of two things i have it maybe in another Neogeo Rom in my set and the game is picking it
up from there or it's actually a dummy load that the game does not require i'll look over my Neogeo Roms later certainly my Neogeo bios from my own
set has more Roms inside it than the one i uploaded the other day i'd better send it your way. -
@gamez-fan said in lr-mame2003 driver improvement and backport:
it seems
your all gonna keep pestering me about this so i'll drop my currant work on updating Kaneko16 for this core and switch to adding in all the proper
SHA1's to the Neogeo driverSorry @gamez-fan I wasn't implying anything as I know your time is important too. It's just my own frustration building out a new DAT feels a bit overwhelming. If anything the exact files listed in the source would be killer though.
I always thought a "pre-check" of files being present was always done. It seems odd that it would launch the game missing a ROM listed in the driver and then just crash if it ever calls it and it's not present? ;)
-
@gamez-fan said in lr-mame2003 driver improvement and backport:
it's actually a dummy load that the game does not require
Ah that makes sense but it would still need to exist somewhere in the parent/clone relationship even if unused.
-
@riverstorm said in lr-mame2003 driver improvement and backport:
@gamez-fan said in lr-mame2003 driver improvement and backport:
it's actually a dummy load that the game does not require
Ah that makes sense but it would still need to exist somewhere in the parent/clone relationship even if unused.
Sure but i dont know if it's available anymore..?? take the other day when i was looking for 271.m1d.bin when i put that directly into a google search
all the links were on Chinese sites over 15 years old and will be dead now hence why in the end i had to add the SVC Bootleg as it was the
only version i had a Rom for.So im all for helping ya's out here a bit so folks can play the games i've added but i know for a fact adding those SHA1's to the Neogeo driver will be
a waste of my time likely as the Roms to which im adding them will be all but impossible to find unless someone is in the know of a place to grab em..?? -
@gamez-fan said in lr-mame2003 driver improvement and backport:
@riverstorm said in lr-mame2003 driver improvement and backport:
@gamez-fan said in lr-mame2003 driver improvement and backport:
it's actually a dummy load that the game does not require
Ah that makes sense but it would still need to exist somewhere in the parent/clone relationship even if unused.
Sure but i dont know if it's available anymore..?? take the other day when i was looking for 271.m1d.bin when i put that directly into a google search
all the links were on Chinese sites over 15 years old and will be dead now hence why in the end i had to add the SVC Bootleg as it was the
only version i had a Rom for.So im all for helping ya's out here a bit so folks can play the games i've added but i know for a fact adding those SHA1's to the Neogeo driver will be
a waste of my time likely as the Roms to which im adding them will be all but impossible to find unless someone is in the know of a place to grab em..??I'm somewhat in the know.
Could you give me an example of a ROM with its CRC or SHA1 that you think will be impossible to find? Honestly I'm a skeptic that any of these ROMs are not available.
On United States public radio there is a show called "Car Talk" which sometimes airs a segment called "Stump the Chump." I'm willing to be the Chump if you are willing to try to stump me with the CRC of a ROM that is no longer in circulation.
-
@markwkidd said in lr-mame2003 driver improvement and backport:
Ok then try this one.............
ROM_START( svcchaos )
ROM_REGION( 0x2000000, REGION_CPU1, 0 )
ROM_LOAD16_WORD_SWAP( "269-p1.bin", 0x000000, 0x2000000, CRC(432cfdfc) SHA1(19b40d32188a8bace6d2d570c6cf3d2f1e31e379) )ROM_REGION( 0x80000, REGION_GFX1, 0 ) ROM_FILL( 0x000000, 0x80000, 0 ) ROM_REGION( 0x20000, REGION_GFX2, 0 ) ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, CRC(354029fc) SHA1(4ae4bf23b4c2acff875775d4cbff5583893ce2a1) ) ROM_REGION( 0x80000, REGION_USER4, 0 ) ROM_LOAD( "269-m1.bin", 0x00000, 0x80000, CRC(f6819d00) SHA1(d3bbe09df502464f104e53501708ac6e2c1832c6) ) NEO_BIOS_SOUND_128K( "269-m1d.bin", CRC(fd4f0ff9) SHA1(e97e864aaa4789d854363512986e80c0606da996) ) ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY ) ROM_LOAD( "269-v1.bin", 0x000000, 0x800000, CRC(c659b34c) SHA1(1931e8111ef43946f68699f8707334c96f753a1e) ) ROM_LOAD( "269-v2.bin", 0x800000, 0x800000, CRC(dd903835) SHA1(e58d38950a7a8697bb22a1cc7a371ae6664ae8f9) ) NO_DELTAT_REGION ROM_REGION( 0x4000000, REGION_GFX3, 0 ) ROM_LOAD( "269-c1.bin", 0x0000000, 0x2000000, CRC(1b608f9c) SHA1(4e70ad182da2ca18815bd3936efb04a06ebce01e) ) ROM_LOAD( "269-c2.bin", 0x2000000, 0x2000000, CRC(5a95f294) SHA1(6123cc7b20b494076185d27c2ffea910e124b195) )
ROM_END
I almost had it just one shy maybe you'll find it.
NEO_BIOS_SOUND_128K( "269-m1d.bin", CRC(fd4f0ff9) SHA1(e97e864aaa4789d854363512986e80c0606da996) )
-
@gamez-fan said in lr-mame2003 driver improvement and backport:
a waste of my time likely as the Roms to which im adding them will be
I see your point but it doesn't seem like it would be a complete waste of time. I thought duplicate CRC's are common-ish (not sure the word I am looking for there) beyond parent/clones which require a different name for merge sets if that's the case which is a different thing altogether. Same name but different CRC's probably common with 1,000's of IC chips.
With this small number of games not as big a deal but now merge it up to the main DAT and you have thousands of CRC's ClrMamePro is sorting through trying to match. I guess I wouldn't add it to the code either knowing that but I would add it to the DAT and let it guarantee the correct ROM is present. I am guessing if it's a duplicate CRC but actually the incorrect ROM you're going to experience some weird anomaly when playing.
all but impossible to find unless someone is in the know of a place to grab em..??
I guess also I was assuming you had access to the ROMs you're adding and was able to test and play them? I take it from that statement that's not the case? I can appreciate adding the changes but if you're sure they don't exist or if you can't find them then they really aren't playable?
Instead of using "pre-check" maybe "pre-load" might be a better word? All those ROMs are preloaded and hash checked whether used or not. There can only be one parent/clone relationship at a time. It can be a one to many relationship (thinking like a NAT but no clone to clone) and MAME doesn't care which of these two files it resides in or set type (non-merge, merged, split-merge) to work properly barring the BIOS. If the game loads you only need to look at 2 files to find the ROM.
If even one ROM doesn't pass the name/CRC/SHA1/(size?) then MAME is going to kick an error and drop you out of the emulator. The thought being if you don't have exactly what you're listing in the driver there's no way the game will launch if the ROM isn't present regardless if the driver is for reference or actually used. It checks if the file hash matches the code hash and loads it up. If all ROMs load successfully hopefully your game sprites, sound, etc. load and play properly.
-
@gamez-fan said in lr-mame2003 driver improvement and backport:
NEO_BIOS_SOUND_128K( "269-m1d.bin", CRC(fd4f0ff9) SHA1(e97e864aaa4789d854363512986e80c0606da996) )
Here's what I can tell you.
This dump of
269-m1d.bin
was never as far as I can tell used in official MAME. Before thesvc
driver was introduced in MAME 0.103u2, there were however MAME PLUS builds that incorporated a work-in-progress driver using that version of the ROM.When the driver appears in MAME 0.103u2, everyone is using a dump of that ROM with crc=
447b3123
sha1=a09adc2c0ee2ee0f01287ceb97474a1a58093bd2
I am pretty handy with tracking down specific ROMs but this one really may be lost in time. You stumped me! But I want to ask: is this really the version of the ROM that the backported code requires, since it was never apparently used by MAME? What version of MAME does the backport come from?
-
@markwkidd It wouldn't surprise me if the rom comes from CoinOps, MAMEoX or some other Xbox First generation Mame port.
-
Sorry i don't read all the thread, so busy for the moment, but if you search ROM from MameoXtra or CoinOps i have all of them, if you write a list i can try them or give the good CRC ?
-
Sounds like the XBOX versions have modified the actual ROMs to get the game to work rather than the code and that's why they are so obscure, they're custom. Surely ANY ROM will be available in the latest MAME and Rollback sets otherwise they are not official dumps ?
-
Yeah i think some of these Roms came from Kawaks sources, plus as they are hacks you dont see them supported in current MAME
-
@gamez-fan said in lr-mame2003 driver improvement and backport:
Yeah i think some of these Roms came from Kawaks sources, plus as they are hacks you dont see them supported in current MAME
Unfortunately the most recent versions of Kawaks no longer uses that dump of the ROM and I have been unable to locate a Kawaks ROM collection that includes it. Those kinds of sets are not nearly as well preserved as MAME ROMs :\
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.