libretro / FBNeo

FBNeo - We are Team FBNeo.
https://neo-source.com
Other
228 stars 136 forks source link

FBNeo core only recognizing bad dump of "Sonic the Hedgehog - Pocket Adventure (World)" #1021

Closed eisnerguy1 closed 1 year ago

eisnerguy1 commented 2 years ago

So, I've been trying to get "Sonic the Hedgehog - Pocket Adventure (World)" to load via my copy and I keep getting this error message: sonic-221123-203708

After looking at the "FinalBurn Neo (ClrMame Pro XML, NeoGeo Pocket Games only).dat" file, I saw the game's entry:

<game name="sonic" romof="ngp">
    <description>Sonic the Hedgehog - Pocket Adventure (World)</description>
    <year>2000</year>
    <manufacturer>SNK</manufacturer>
    <rom name="sonic the hedgehog - pocket adventure (world).bin" size="2097152" crc="356f0849"/>
    <rom name="SNK Neo-Geo Pocket BIOS (1998)(SNK)(en-ja).bin" merge="SNK Neo-Geo Pocket BIOS (1998)(SNK)(en-ja).bin" size="65536" crc="6232df8d"/>
    <rom name="SNK Neo-Geo Pocket Color BIOS (1999)(SNK)(en-ja).bin" merge="SNK Neo-Geo Pocket Color BIOS (1999)(SNK)(en-ja).bin" size="65536" crc="6eeb6f40"/>
    <video type="raster" orientation="horizontal" width="160" height="152" aspectx="4" aspecty="3"/>
    <driver status="good"/>
</game>

This is the bad dump of the game. The verified dump has a crc32 value of "8bd22145".

So, it looks like the entry in "FBNeo-master/src/burn/drv/pst90s/d_ngp.cpp" needs to be changed to this:

// Sonic the Hedgehog - Pocket Adventure (World)

static struct BurnRomInfo ngpc_sonicRomDesc[] = { { "sonic the hedgehog - pocket adventure (world).bin", 0x200000, 0x8bd22145, 1 | BRF_PRG | BRF_ESS }, // Cartridge };

STDROMPICKEXT(ngpc_sonic, ngpc_sonic, ngpc_ngp) STD_ROM_FN(ngpc_sonic)

struct BurnDriver BurnDrvngpc_sonic = { "ngp_sonic", NULL, "ngp_ngp", NULL, "2000", "Sonic the Hedgehog - Pocket Adventure (World)\0", NULL, "SNK", "NeoGeo Pocket Color", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SNK_NGPC, GBF_PLATFORM, 0, NgpGetZipName, ngpc_sonicRomInfo, ngpc_sonicRomName, NULL, NULL, NULL, NULL, NgpInputInfo, NgpDIPInfo, DrvInit, DrvExit, DrvFrame, k1geDraw, DrvScan, &BurnRecalc, 0x1000, 160, 152, 4, 3 };

I made the change in my copy of the code, compiled the core, and now the FBNeo core recognizes the proper dump of he game 😄

barbudreadmon commented 2 years ago

Well, it's not a "bad dump", it's a good dump with initialized save data.

We don't update console dumps every time there is a no-intro release, but if it bothers you then you can send PRs at https://github.com/finalburnneo/FBNeo

eisnerguy1 commented 1 year ago

I'm sorry. You're totally right. I'll keep that in mind. Thanks 😄