Donkey Kong Spooky Remix in Retropie?
-
@barbudreadmon Thanks for including
kong2600
too.I noticed with
hbmame
it's got several other DK variants such asDonkey Kong Reverse
. Adding the drivers doesn't look too difficult based on the excellent advice you've provided, so I'd like to try to add these variants to the drivers list and recompile, if possible.I've successfully compiled FB Neo's source by downloading it from your github repository to my Pi , going to the
FBNeo-master/src/burner/libretro
folder and compiling it on my Pi withmake -j5 -f Makefile platform=rpi3
.However, it takes some time to compile. I've had a look at deleting some of the drivers and so forth, but that looks quite challenging, and so I was wondering whether FBNeo has a
SUBTARGET
flag or, even better yet, an ability just to target one driver liked_dkong.cpp
which I note is in theFBNeo-master/src/burn/drv/pre90s/
folder.Thank you for any advice.
-
@JimNeatface Oops, you are right, it seems we overlooked the
dkongx
based clones when we fixeddkong
's palette last year, it should be ok now.@spud11 No, there is no parameter to build only subtargets in FBNeo.
-
@spud11 Donkey Kong Reverse? What's that one? This is what I get in HBmame -
-
@JimNeatface I think it may have just been added about half way down the list:
GAME( 2013, dkong2m, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "hack", "Donkey Kong (2 marios)", MACHINE_SUPPORTS_SAVE ) GAME( 1981, dkongbcc, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "Jeff Kulczycki", "Donkey Kong (US set 1 with barrel control coloring)", MACHINE_SUPPORTS_SAVE ) GAME( 2005, dkongex, dkong, dkong2b, dkongex, dkong_state, empty_init, ROT270, "Jeff Kulczycki", "Donkey Kong Foundry", MACHINE_SUPPORTS_SAVE ) GAME( 2019, dkfreerun, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "PaulGoes", "Donkey Kong Freerun Edition", MACHINE_SUPPORTS_SAVE ) GAME( 2019, dkcbarrel, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "PaulGoes", "Donkey Kong Crazy Barrels Edition", MACHINE_SUPPORTS_SAVE ) GAME( 2007, dkongp, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "Don Hodges", "Donkey Kong (patched)", MACHINE_SUPPORTS_SAVE ) GAME( 2001, dkongpac, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "Tim Appleton", "Donkey Kong (Pacman graphics)", MACHINE_SUPPORTS_SAVE ) GAME( 2019, dkongrev, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "PaulGoes", "Donkey Kong Reverse", MACHINE_SUPPORTS_SAVE ) GAME( 2015, dkrainbow, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "Sock Master", "Rainbow Donkey Kong", MACHINE_SUPPORTS_SAVE ) GAME( 2015, dkrdemo, dkong, dkong2b, dkrdemo, dkong_state, empty_init, ROT270, "Sock Master", "Donkey Kong Remix demo 1.8", MACHINE_SUPPORTS_SAVE ) GAME( 2016, dktrainer, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "Sock Master", "Donkey Kong Trainer 1.01", MACHINE_SUPPORTS_SAVE ) GAME( 2016, dkpace, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "Sock Master", "Donkey Kong Pace", MACHINE_SUPPORTS_SAVE ) GAME( 2017, dkchrmx, dkong, dk_braze, dkongx, dkong_state, init_dkongx, ROT270, "Sock Master", "Donkey Kong Christmas Remix", MACHINE_SUPPORTS_SAVE ) GAME( 2018, dkspkyrmx, dkong, dk_braze, dkongx, dkong_state, init_dkongx, ROT270, "Sock Master", "Donkey Kong Spooky Remix", MACHINE_SUPPORTS_SAVE ) GAME( 1999, kong2600, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "Vic Twenty George", "Donkey Kong (2600 graphics)", MACHINE_SUPPORTS_SAVE ) GAME( 2004, nadkong, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "hack", "Naked Donkey Kong", MACHINE_SUPPORTS_SAVE )
See:
-
@barbudreadmon That's no problem. I added the
-j5
and things sped up a bit.I added the following to the
d_dkong.cpp
, extracting the basics from thehbmame
equivalent file, and recompiled:// Donkey Kong Reverse // Hack by Paul Goes (2019) static struct BurnRomInfo dkongrevRomDesc[] = { { "dkongrev.5et", 0x1000, 0xee02057e, 1 }, // 0 maincpu { "dkongrev.5ct", 0x1000, 0xe6fabd0f, 1 }, // 1 { "dkongrev.5bt", 0x1000, 0x31c5bea3, 1 }, // 2 { "dkongrev.5at", 0x1000, 0xc7d04ef3, 1 }, // 3 { "s_3i_b.bin", 0x0800, 0x45a4ed06, 2 }, // 4 soundcpu { "s_3j_b.bin", 0x0800, 0x4743fe92, 2 }, // 5 { "v_5h_b.bin", 0x0800, 0x12c8c95d, 3 }, // 6 gfx1 { "v_3pt.bin", 0x0800, 0x15e9c5e9, 3 }, // 7 { "l_4m_b.bin", 0x0800, 0x59f8054d, 4 }, // 8 gfx2 { "l_4n_b.bin", 0x0800, 0x672e4714, 4 }, // 9 { "l_4r_b.bin", 0x0800, 0xfeaa59ee, 4 }, // 10 { "l_4s_b.bin", 0x0800, 0x20f2ef7e, 4 }, // 11 { "c-2k.bpr", 0x0100, 0xe273ede5, 5 }, // 12 proms { "c-2j.bpr", 0x0100, 0xd6412358, 5 }, // 13 { "v-5e.bpr", 0x0100, 0xb869b8f5, 5 }, // 14 }; STD_ROM_PICK(dkongrev) STD_ROM_FN(dkongrev) struct BurnDriver BurnDrvDkongrev = { "dkongrev", "dkong", NULL, "dkong", "2019", "Donkey Kong Reverse (Hack)\0", NULL, "Hack (Paul Goes)", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_ACTION, 0, NULL, dkongrevRomInfo, dkongrevRomName, NULL, NULL, DkongSampleInfo, DkongSampleName, DkongInputInfo, DkongDIPInfo, dkongInit, DrvExit, DrvFrame, dkongDraw, DrvScan, &DrvRecalc, 0x100, 224, 256, 3, 4 };
However, I wound up with an error:
[INFO] Environ GET_LOG_INTERFACE. [INFO] Environ UNSUPPORTED (#65587). [INFO] Content loading skipped. Implementation will load it on its own.
I noticed that some of the roms (eg
Donkey Kong Foundry
) had the following line:{ "diag.bin", 0x1000, 0x00000000, 0 | BRF_OPT },
I didn't include this line. Could that be the problem? Thanks.
-
@spud11 i copy/pasted your code here and
dkongrev
ran totally fine, good job, not sure why it won't load on your side though.[INFO] Environ UNSUPPORTED (#65587).
can be safely ignored, you'll get that kind of warning with probably any core as long as Retropie's RA will be stuck at 1.7.6, but that's just a warning.{ "diag.bin", 0x1000, 0x00000000, 0 | BRF_OPT }
can be safely ommited too, any file with theBRF_OPT
flag is basically not used by FBNeo anyway.Maybe i could figure out something if you posted full logs ?
Edit: btw, i commited your work
-
@spud11 I looked on HBmame site and the most recent is 0.213, which is the one I have. What is Reverse? opposite colours? u climb down not up?
-
@JimNeatface i think this hack was added shortly after 0.213 release, and yeah you climb down.
-
@barbudreadmon lol brilliant. look forward to it being added.
-
@barbudreadmon I'm glad it worked. I'll update via Retropie Setup at some point, but to compile manually, I used the command
make -j5 -f Makefile platform=rpi3
.With the game itself, the Donkey Kong Reverse zip file I downloaded had all the correct CRCs but the
main cpu
bins were namedc_5at_g.bin
,c_5bt_g.bin
,c_5ct_g.bin
andc_5et_g.bin
. I renamed these to the names appearing inHBMame
iedkongrev.5at
etc.Executing the game with the new recompiled executable gave me the following
runcommand
log:Parameters: Executing: /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-fbneo-September-2019-3/fbneo_libretro.so --config /opt/retropie/configs/fba/retroarch.cfg "/home/pi/RetroPie/roms/fba/dkongrev.zip" --appendconfig /dev/shm/retroarch.cfg [INFO] [recording] twitch streaming key empty[INFO] RetroArch 1.7.5 (Git c9c6c5a) [INFO] Redirecting save file to "/home/pi/RetroPie/roms/fba/dkongrev.srm". [INFO] Redirecting savestate to "/home/pi/RetroPie/savestate/dkongrev.state". [INFO] === Build ======================================= Capabilities: NEON VFPv3 VFPv4 Built: Oct 9 2018 [INFO] Version: 1.7.5 [INFO] Git: c9c6c5a [INFO] ================================================= [INFO] Loading dynamic libretro core from: "/opt/retropie/libretrocores/lr-fbneo-September-2019-3/fbneo_libretro.so" [INFO] [overrides] no core-specific overrides found at /home/pi/.config/retroarch/config/FinalBurn Neo/FinalBurn Neo.cfg. [INFO] [overrides] no content-dir-specific overrides found at /home/pi/.config/retroarch/config/FinalBurn Neo/fba.cfg. [INFO] [overrides] no game-specific overrides found at /home/pi/.config/retroarch/config/FinalBurn Neo/dkongrev.cfg. [INFO] Shaders: preset directory: /opt/retropie/emulators/retroarch/shader/presets [INFO] Shaders: no game-specific preset found at /opt/retropie/emulators/retroarch/shader/presets/FinalBurn Neo/dkongrev.cgp. [INFO] Shaders: no game-specific preset found at /opt/retropie/emulators/retroarch/shader/presets/FinalBurn Neo/dkongrev.glslp. [INFO] Shaders: no content-dir-specific preset found at /opt/retropie/emulators/retroarch/shader/presets/FinalBurn Neo/fba.cgp. [INFO] Shaders: no content-dir-specific preset found at /opt/retropie/emulators/retroarch/shader/presets/FinalBurn Neo/fba.glslp. [INFO] Shaders: no core-specific preset found at /opt/retropie/emulators/retroarch/shader/presets/FinalBurn Neo/FinalBurn Neo.cgp. [INFO] Shaders: no core-specific preset found at /opt/retropie/emulators/retroarch/shader/presets/FinalBurn Neo/FinalBurn Neo.glslp. [INFO] Environ SET_SUBSYSTEM_INFO. [INFO] Special game type: CBS ColecoVision [INFO] Ident: cv [INFO] ID: 1 [INFO] Content: [INFO] Rom (required) [INFO] Special game type: MSX 1 [INFO] Ident: msx [INFO] ID: 4 [INFO] Content: [INFO] Rom (required) [INFO] Special game type: Nec PC-Engine [INFO] Ident: pce [INFO] ID: 5 [INFO] Content: [INFO] Rom (required) [INFO] Special game type: Nec SuperGrafX [INFO] Ident: sgx [INFO] ID: 7 [INFO] Content: [INFO] Rom (required) [INFO] Special game type: Nec TurboGrafx-16 [INFO] Ident: tg16 [INFO] ID: 9 [INFO] Content: [INFO] Rom (required) [INFO] Special game type: Sega GameGear [INFO] Ident: gg [INFO] ID: 2 [INFO] Content: [INFO] Rom (required) [INFO] Special game type: Sega Master System [INFO] Ident: sms [INFO] ID: 8 [INFO] Content: [INFO] Rom (required) [INFO] Special game type: Sega Megadrive [INFO] Ident: md [INFO] ID: 3 [INFO] Content: [INFO] Rom (required) [INFO] Special game type: Sega SG-1000 [INFO] Ident: sg1k [INFO] ID: 6 [INFO] Content: [INFO] Rom (required) [INFO] Special game type: ZX Spectrum [INFO] Ident: spec [INFO] ID: 10 [INFO] Content: [INFO] Rom (required) [INFO] Special game type: Neogeo CD [INFO] Ident: neocd [INFO] ID: 11 [INFO] Content: [INFO] Iso (required) [INFO] Remaps: remap directory: /opt/retropie/configs/fba/ [INFO] Remaps: no game-specific remap found at /opt/retropie/configs/fba/FinalBurn Neo/dkongrev.rmp. [INFO] Remaps: no content-dir-specific remap found at /opt/retropie/configs/fba/FinalBurn Neo/fba.rmp. [INFO] Remaps: no core-specific remap found at /opt/retropie/configs/fba/FinalBurn Neo/FinalBurn Neo.rmp. [INFO] Redirecting save file to "/home/pi/RetroPie/roms/fba/dkongrev.srm". [INFO] Redirecting savestate to "/home/pi/RetroPie/savestate/dkongrev.state". [INFO] Environ GET_LOG_INTERFACE. [INFO] Environ UNSUPPORTED (#65587). [INFO] Content loading skipped. Implementation will load it on its own. [libretro INFO] Setting save dir to /home/pi/RetroPie/roms/fba/ [INFO] Environ SYSTEM_DIRECTORY: "/home/pi/RetroPie/BIOS". [libretro INFO] Setting system dir to /home/pi/RetroPie/BIOS [ERROR] Failed to load content. [INFO] Unloading game.. [INFO] Unloading core.. [INFO] Unloading core symbols..
My
dkongrev.zip
only has the 4 files in it:dkongrev.5at
,dkongrev.5bt
,dkongrev.5ct
anddkongrev.5et
, and I've also tried it with all of the bin files included too. -
@spud11 it doesn't seem your core even knows the romset exist, try doing a full & clean rebuild :
make -j5 -f Makefile platform=rpi3 clean make -j5 -f Makefile platform=rpi3 generate-files make -j5 -f Makefile platform=rpi3
First line is to clean-up, second line is to re-generate headers.
@JimNeatface said in Donkey Kong Spooky Remix in Retropie?:
lol brilliant. look forward to it being added.
It is already
-
@barbudreadmon Thanks. Will do so once home. I'm sure you are right. I probably forgot to do the "clean" first.
-
@barbudreadmon Thanks. You were right. It now works. Over the next couple of days, I'll see if I can add a couple more hacks to
d_dkong.cpp
and will let you know. -
@barbudreadmon I've added all of the Donkey Kong hacks from
HBMame
to thed_dkong.cpp
, but as I've got to go to work I haven't had a chance to recompilelr-fbneo
and so haven't checked whether any of the hacks work.I basically used the Donkey Kong US Set 1 as the basis for the changes and copied and pasted the HBMame information across.
I also found one additional hack from Sock Master which focussed just on the "spring" stages. I've added that to the
d_dkong.cpp
file too and called itdkspring.zip
. Anyone who downloads the hack, though, will need to rename itdkspring.zip
as it's actually calleddkong.zip
like 99% of the other hacks out there.My changes to the
d_dkong.cpp
are:// Donkey Kong (Patch) by Don Hodges // Patched Kill Screen - see http://donhodges.com/how_high_can_you_get.htm static struct BurnRomInfo dkongpRomDesc[] = { { "dkongp_c_5et", 0x1000, 0x2066139d, 1 }, // 0 maincpu { "c_5ct_g.bin", 0x1000, 0x5ec461ec, 1 }, // 1 { "c_5bt_g.bin", 0x1000, 0x1c97d324, 1 }, // 2 { "c_5at_g.bin", 0x1000, 0xb9005ac0, 1 }, // 3 { "s_3i_b.bin", 0x0800, 0x45a4ed06, 2 }, // 4 soundcpu { "s_3j_b.bin", 0x0800, 0x4743fe92, 2 }, // 5 { "v_5h_b.bin", 0x0800, 0x12c8c95d, 3 }, // 6 gfx1 { "v_3pt.bin", 0x0800, 0x15e9c5e9, 3 }, // 7 { "l_4m_b.bin", 0x0800, 0x59f8054d, 4 }, // 8 gfx2 { "l_4n_b.bin", 0x0800, 0x672e4714, 4 }, // 9 { "l_4r_b.bin", 0x0800, 0xfeaa59ee, 4 }, // 10 { "l_4s_b.bin", 0x0800, 0x20f2ef7e, 4 }, // 11 { "c-2k.bpr", 0x0100, 0xe273ede5, 5 }, // 12 proms { "c-2j.bpr", 0x0100, 0xd6412358, 5 }, // 13 { "v-5e.bpr", 0x0100, 0xb869b8f5, 5 }, // 14 { "diag.bin", 0x1000, 0x00000000, 0 | BRF_OPT }, }; STD_ROM_PICK(dkongp) STD_ROM_FN(dkongp) struct BurnDriver BurnDrvDkongp = { "dkongp", "dkong", NULL, "dkong", "2007", "Donkey Kong (Patched)\0", NULL, "Hack (Don Hodges)", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_ACTION, 0, NULL, dkongpRomInfo, dkongpRomName, NULL, NULL, DkongSampleInfo, DkongSampleName, DkongInputInfo, DkongDIPInfo, dkongInit, DrvExit, DrvFrame, dkongDraw, DrvScan, &DrvRecalc, 0x100, 224, 256, 3, 4 }; // Donkey Kong Remix Demo by Sockmaster static struct BurnRomInfo dkongrdemoRomDesc[] = { { "dkrdemo.5et", 0x1000, 0xf9fdff29, 1 }, // 0 maincpu { "dkrdemo.5ct", 0x1000, 0xf48cb898, 1 }, // 1 { "dkrdemo.5bt", 0x1000, 0x660d43ec, 1 }, // 2 { "dkrdemo.5at", 0x1000, 0xe59d406c, 1 }, // 3 { "s_3i_b.bin", 0x0800, 0x45a4ed06, 2 }, // 4 soundcpu { "s_3j_b.bin", 0x0800, 0x4743fe92, 2 }, // 5 { "v_5h_b.bin", 0x0800, 0x12c8c95d, 3 }, // 6 gfx1 { "v_3pt.bin", 0x0800, 0x15e9c5e9, 3 }, // 7 { "l_4m_b.bin", 0x0800, 0x59f8054d, 4 }, // 8 gfx2 { "l_4n_b.bin", 0x0800, 0x672e4714, 4 }, // 9 { "l_4r_b.bin", 0x0800, 0xfeaa59ee, 4 }, // 10 { "l_4s_b.bin", 0x0800, 0x20f2ef7e, 4 }, // 11 { "c-2k.bpr", 0x0100, 0xe273ede5, 5 }, // 12 proms { "c-2j.bpr", 0x0100, 0xd6412358, 5 }, // 13 { "v-5e.bpr", 0x0100, 0xb869b8f5, 5 }, // 14 { "diag.bin", 0x1000, 0x00000000, 0 | BRF_OPT }, }; STD_ROM_PICK(dkrdemo) STD_ROM_FN(dkrdemo) struct BurnDriver BurnDrvDkrdemo = { "dkrdemo", "dkong", NULL, "dkong", "2015", "Donkey Kong Remix (Demo)\0", NULL, "Hack (Sockmaster)", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_ACTION, 0, NULL, dkrdemoRomInfo, dkrdemoRomName, NULL, NULL, DkongSampleInfo, DkongSampleName, DkongInputInfo, DkongDIPInfo, dkongInit, DrvExit, DrvFrame, dkongDraw, DrvScan, &DrvRecalc, 0x100, 224, 256, 3, 4 }; // Naked Donkey Kong (Hack) static struct BurnRomInfo nadkongRomDesc[] = { { "c_5et_g.bin", 0x1000, 0xba70b88b, 1 }, // 0 maincpu { "c_5ct_g.bin", 0x1000, 0x5ec461ec, 1 }, // 1 { "c_5bt_g.bin", 0x1000, 0x1c97d324, 1 }, // 2 { "c_5at_g.bin", 0x1000, 0xb9005ac0, 1 }, // 3 { "s_3i_b.bin", 0x0800, 0x45a4ed06, 2 }, // 4 soundcpu { "s_3j_b.bin", 0x0800, 0x4743fe92, 2 }, // 5 { "nadkong.5h", 0x0800, 0x88772f5b, 3 }, // 6 gfx1 { "nadkong.3p", 0x0800, 0x4c8aa728, 3 }, // 7 { "nadkong.4m", 0x0800, 0x2afbf9e6, 4 }, // 8 gfx2 { "nadkong.4n", 0x0800, 0x4f077877, 4 }, // 9 { "nadkong.4r", 0x0800, 0xd868da93, 4 }, // 10 { "nadkong.4s", 0x0800, 0x7ebfe9f3, 4 }, // 11 { "c-2k.bpr", 0x0100, 0xe273ede5, 5 }, // 12 proms { "c-2j.bpr", 0x0100, 0xd6412358, 5 }, // 13 { "v-5e.bpr", 0x0100, 0xb869b8f5, 5 }, // 14 { "diag.bin", 0x1000, 0x00000000, 0 | BRF_OPT }, }; STD_ROM_PICK(nadkong) STD_ROM_FN(nadkong) struct BurnDriver BurnDrvNadkong = { "nadkong", "dkong", NULL, "dkong", "2004", "Naked Donkey Kong\0", NULL, "Hack", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_ACTION, 0, NULL, nadkongRomInfo, nadkongRomName, NULL, NULL, DkongSampleInfo, DkongSampleName, DkongInputInfo, DkongDIPInfo, dkongInit, DrvExit, DrvFrame, dkongDraw, DrvScan, &DrvRecalc, 0x100, 224, 256, 3, 4 }; // Donkey Kong (2 Marios) (Hack) static struct BurnRomInfo dkong2mRomDesc[] = { { "c_5et_g.bin", 0x1000, 0xba70b88b, 1 }, // 0 maincpu { "c_5ct_g.bin", 0x1000, 0x5ec461ec, 1 }, // 1 { "c_5bt_g.bin", 0x1000, 0x1c97d324, 1 }, // 2 { "c_5at_g.bin", 0x1000, 0xb9005ac0, 1 }, // 3 { "s_3i_b.bin", 0x0800, 0x45a4ed06, 2 }, // 4 soundcpu { "s_3j_b.bin", 0x0800, 0x4743fe92, 2 }, // 5 { "v_5h_b.bin", 0x0800, 0x12c8c95d, 3 }, // 6 gfx1 { "v_3pt.bin", 0x0800, 0x15e9c5e9, 3 }, // 7 { "l_4m_bm.bin", 0x0800, 0x4b67ccf9, 4 }, // 8 gfx2 { "l_4n_bm.bin", 0x0800, 0x32a708cb, 4 }, // 9 { "l_4r_bm.bin", 0x0800, 0x22b5d5c4, 4 }, // 10 { "l_4s_bm.bin", 0x0800, 0xb212b185, 4 }, // 11 { "c-2k.bpr", 0x0100, 0xe273ede5, 5 }, // 12 proms { "c-2j.bpr", 0x0100, 0xd6412358, 5 }, // 13 { "v-5e.bpr", 0x0100, 0xb869b8f5, 5 }, // 14 { "diag.bin", 0x1000, 0x00000000, 0 | BRF_OPT }, }; STD_ROM_PICK(dkong2m) STD_ROM_FN(dkong2m) struct BurnDriver BurnDrvDkong2m = { "dkong2m", "dkong", NULL, "dkong", "2013", "Donkey Kong (2 Marios)\0", NULL, "Hack", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_ACTION, 0, NULL, dkong2mRomInfo, dkong2mRomName, NULL, NULL, DkongSampleInfo, DkongSampleName, DkongInputInfo, DkongDIPInfo, dkongInit, DrvExit, DrvFrame, dkongDraw, DrvScan, &DrvRecalc, 0x100, 224, 256, 3, 4 }; // Donkey Kong (Pacman Graphics) (Hack) by Tim Appleton static struct BurnRomInfo dkongpacRomDesc[] = { { "c_5et_g.bin", 0x1000, 0xba70b88b, 1 }, // 0 maincpu { "c_5ct_g.bin", 0x1000, 0x5ec461ec, 1 }, // 1 { "c_5bt_g.bin", 0x1000, 0x1c97d324, 1 }, // 2 { "dkongpac.5a", 0x1000, 0x56d28137, 1 }, // 3 { "s_3i_b.bin", 0x0800, 0x45a4ed06, 2 }, // 4 soundcpu { "s_3j_b.bin", 0x0800, 0x4743fe92, 2 }, // 5 { "dkongpac.3n", 0x0800, 0x1beba830, 3 }, // 6 gfx1 { "dkongpac.3p", 0x0800, 0x94d61766, 3 }, // 7 { "dkongpac.7c", 0x0800, 0x065e2713, 4 }, // 8 gfx2 { "dkongpac.7d", 0x0800, 0xa84b347d, 4 }, // 9 { "dkongpac.7e", 0x0800, 0x6ae6f476, 4 }, // 10 { "dkongpac.7f", 0x0800, 0x9d293922, 4 }, // 11 { "k2600.2k", 0x0100, 0x1e82d375, 5 }, // 12 proms { "k2600.2j", 0x0100, 0x2ab01dc8, 5 }, // 13 { "k2600.5f", 0x0100, 0x44988665, 5 }, // 14 { "diag.bin", 0x1000, 0x00000000, 0 | BRF_OPT }, }; STD_ROM_PICK(dkongpac) STD_ROM_FN(dkongpac) struct BurnDriver BurnDrvDkongpac = { "dkongpac", "dkong", NULL, "dkong", "2001", "Donkey Kong (Pacman Graphics)\0", NULL, "Hack (Tim Appleton)", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_ACTION, 0, NULL, dkongpacRomInfo, dkongpacRomName, NULL, NULL, DkongSampleInfo, DkongSampleName, DkongInputInfo, DkongDIPInfo, dkongInit, DrvExit, DrvFrame, dkongDraw, DrvScan, &DrvRecalc, 0x100, 224, 256, 3, 4 }; // Donkey Kong Trainer 1.01 (Hack) by Sock Master static struct BurnRomInfo dktrainerRomDesc[] = { { "dkt.5et", 0x1000, 0x7ed5a945, 1 }, // 0 maincpu { "dkt.5ct", 0x1000, 0x98e2caa8, 1 }, // 1 { "dkt.5bt", 0x1000, 0x098a840a, 1 }, // 2 { "dkt.5at", 0x1000, 0xdd092591, 1 }, // 3 { "s_3i_b.bin", 0x0800, 0x45a4ed06, 2 }, // 4 soundcpu { "s_3j_b.bin", 0x0800, 0x4743fe92, 2 }, // 5 { "v_5h_b.bin", 0x0800, 0x12c8c95d, 3 }, // 6 gfx1 { "v_3pt.bin", 0x0800, 0x15e9c5e9, 3 }, // 7 { "l_4m_bm.bin", 0x0800, 0x4b67ccf9, 4 }, // 8 gfx2 { "l_4n_bm.bin", 0x0800, 0x32a708cb, 4 }, // 9 { "l_4r_bm.bin", 0x0800, 0x22b5d5c4, 4 }, // 10 { "l_4s_bm.bin", 0x0800, 0xb212b185, 4 }, // 11 { "c-2k.bpr", 0x0100, 0xe273ede5, 5 }, // 12 proms { "c-2j.bpr", 0x0100, 0xd6412358, 5 }, // 13 { "v-5e.bpr", 0x0100, 0xb869b8f5, 5 }, // 14 { "diag.bin", 0x1000, 0x00000000, 0 | BRF_OPT }, }; STD_ROM_PICK(dktrainer) STD_ROM_FN(dktrainer) struct BurnDriver BurnDrvDktrainer = { "dktrainer", "dkong", NULL, "dkong", "2016", "Donkey Kong Trainer 1.01\0", NULL, "Hack (Sock Master)", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_ACTION, 0, NULL, dktrainerRomInfo, dktrainerRomName, NULL, NULL, DkongSampleInfo, DkongSampleName, DkongInputInfo, DkongDIPInfo, dkongInit, DrvExit, DrvFrame, dkongDraw, DrvScan, &DrvRecalc, 0x100, 224, 256, 3, 4 }; // Donkey Kong Pace (Hack) by Sock Master static struct BurnRomInfo dkpaceRomDesc[] = { { "dkp.5et", 0x1000, 0xe05563d5, 1 }, // 0 maincpu { "dkp.5ct", 0x1000, 0x88aa1ddf, 1 }, // 1 { "dkp.5bt", 0x1000, 0x8ee0b1d2, 1 }, // 2 { "dkp.5at", 0x1000, 0x0bc9c8db, 1 }, // 3 { "s_3i_b.bin", 0x0800, 0x45a4ed06, 2 }, // 4 soundcpu { "s_3j_b.bin", 0x0800, 0x4743fe92, 2 }, // 5 { "v_5h_b.bin", 0x0800, 0x12c8c95d, 3 }, // 6 gfx1 { "v_3pt.bin", 0x0800, 0x15e9c5e9, 3 }, // 7 { "l_4m_bm.bin", 0x0800, 0x4b67ccf9, 4 }, // 8 gfx2 { "l_4n_bm.bin", 0x0800, 0x32a708cb, 4 }, // 9 { "l_4r_bm.bin", 0x0800, 0x22b5d5c4, 4 }, // 10 { "l_4s_bm.bin", 0x0800, 0xb212b185, 4 }, // 11 { "c-2k.bpr", 0x0100, 0xe273ede5, 5 }, // 12 proms { "c-2j.bpr", 0x0100, 0xd6412358, 5 }, // 13 { "v-5e.bpr", 0x0100, 0xb869b8f5, 5 }, // 14 { "diag.bin", 0x1000, 0x00000000, 0 | BRF_OPT }, }; STD_ROM_PICK(dkpace) STD_ROM_FN(dkpace) struct BurnDriver BurnDrvDkpace = { "dkpace", "dkong", NULL, "dkong", "2016", "Donkey Kong Pace\0", NULL, "Hack (Sock Master)", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_ACTION, 0, NULL, dkpaceRomInfo, dkpaceRomName, NULL, NULL, DkongSampleInfo, DkongSampleName, DkongInputInfo, DkongDIPInfo, dkongInit, DrvExit, DrvFrame, dkongDraw, DrvScan, &DrvRecalc, 0x100, 224, 256, 3, 4 }; // Donkey Kong (US set 1 with barrel control coloring) by Jeff Kulczycki static struct BurnRomInfo dkongbccRomDesc[] = { { "dkbcc.5et", 0x1000, 0xeec71586, 1 }, // 0 maincpu { "dkbcc.5ct", 0x1000, 0x49200edb, 1 }, // 1 { "dkbcc.5bt", 0x1000, 0x56f7c409, 1 }, // 2 { "dkbcc.5at", 0x1000, 0x03b56372, 1 }, // 3 { "s_3i_b.bin", 0x0800, 0x45a4ed06, 2 }, // 4 soundcpu { "s_3j_b.bin", 0x0800, 0x4743fe92, 2 }, // 5 { "v_5h_b.bin", 0x0800, 0x12c8c95d, 3 }, // 6 gfx1 { "v_3pt.bin", 0x0800, 0x15e9c5e9, 3 }, // 7 { "l_4m_bm.bin", 0x0800, 0x4b67ccf9, 4 }, // 8 gfx2 { "l_4n_bm.bin", 0x0800, 0x32a708cb, 4 }, // 9 { "l_4r_bm.bin", 0x0800, 0x22b5d5c4, 4 }, // 10 { "l_4s_bm.bin", 0x0800, 0xb212b185, 4 }, // 11 { "c-2k.bpr", 0x0100, 0xe273ede5, 5 }, // 12 proms { "c-2j.bpr", 0x0100, 0xd6412358, 5 }, // 13 { "v-5e.bpr", 0x0100, 0xb869b8f5, 5 }, // 14 { "diag.bin", 0x1000, 0x00000000, 0 | BRF_OPT }, }; STD_ROM_PICK(dkongbcc) STD_ROM_FN(dkongbcc) struct BurnDriver BurnDrvDkongbcc = { "dkongbcc", "dkong", NULL, "dkong", "1981", "Donkey Kong (US set 1 with barrel control coloring)\0", NULL, "Hack (Jeff Kulczycki)", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_ACTION, 0, NULL, dkongbccRomInfo, dkongbccRomName, NULL, NULL, DkongSampleInfo, DkongSampleName, DkongInputInfo, DkongDIPInfo, dkongInit, DrvExit, DrvFrame, dkongDraw, DrvScan, &DrvRecalc, 0x100, 224, 256, 3, 4 }; // Donkey Kong Crazy Barrels Edition by Paul Goes static struct BurnRomInfo dkcbarrelRomDesc[] = { { "dkcbarrel.5et", 0x1000, 0x78e37c41, 1 }, // 0 maincpu { "dkcbarrel.5ct", 0x1000, 0xa46cbb85, 1 }, // 1 { "dkcbarrel.5bt", 0x1000, 0x07da5b15, 1 }, // 2 { "dkcbarrel.5at", 0x1000, 0x515e0639, 1 }, // 3 { "s_3i_b.bin", 0x0800, 0x45a4ed06, 2 }, // 4 soundcpu { "s_3j_b.bin", 0x0800, 0x4743fe92, 2 }, // 5 { "v_5h_b.bin", 0x0800, 0x12c8c95d, 3 }, // 6 gfx1 { "v_3pt.bin", 0x0800, 0x15e9c5e9, 3 }, // 7 { "l_4m_bm.bin", 0x0800, 0x4b67ccf9, 4 }, // 8 gfx2 { "l_4n_bm.bin", 0x0800, 0x32a708cb, 4 }, // 9 { "l_4r_bm.bin", 0x0800, 0x22b5d5c4, 4 }, // 10 { "l_4s_bm.bin", 0x0800, 0xb212b185, 4 }, // 11 { "c-2k.bpr", 0x0100, 0xe273ede5, 5 }, // 12 proms { "c-2j.bpr", 0x0100, 0xd6412358, 5 }, // 13 { "v-5e.bpr", 0x0100, 0xb869b8f5, 5 }, // 14 { "diag.bin", 0x1000, 0x00000000, 0 | BRF_OPT }, }; STD_ROM_PICK(dkcbarrel) STD_ROM_FN(dkcbarrel) struct BurnDriver BurnDrvDkcbarrel = { "dkcbarrel", "dkong", NULL, "dkong", "2019", "Donkey Kong Crazy Barrels Edition\0", NULL, "Hack (Paul Goes)", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_ACTION, 0, NULL, dkcbarrelRomInfo, dkcbarrelRomName, NULL, NULL, DkongSampleInfo, DkongSampleName, DkongInputInfo, DkongDIPInfo, dkongInit, DrvExit, DrvFrame, dkongDraw, DrvScan, &DrvRecalc, 0x100, 224, 256, 3, 4 }; // Donkey Kong Freerun Edition by Paul Goes static struct BurnRomInfo dkfreerunRomDesc[] = { { "dkfreerun.5et", 0x1000, 0x2b85ddf0, 1 }, // 0 maincpu { "dkfreerun.5ct", 0x1000, 0xef7e15d7, 1 }, // 1 { "dkfreerun.5bt", 0x1000, 0xcb390d7c, 1 }, // 2 { "dkfreerun.5at", 0x1000, 0x76fb86ba, 1 }, // 3 { "s_3i_b.bin", 0x0800, 0x45a4ed06, 2 }, // 4 soundcpu { "s_3j_b.bin", 0x0800, 0x4743fe92, 2 }, // 5 { "v_5h_b.bin", 0x0800, 0x12c8c95d, 3 }, // 6 gfx1 { "v_3pt.bin", 0x0800, 0x15e9c5e9, 3 }, // 7 { "l_4m_bm.bin", 0x0800, 0x4b67ccf9, 4 }, // 8 gfx2 { "l_4n_bm.bin", 0x0800, 0x32a708cb, 4 }, // 9 { "l_4r_bm.bin", 0x0800, 0x22b5d5c4, 4 }, // 10 { "l_4s_bm.bin", 0x0800, 0xb212b185, 4 }, // 11 { "c-2k.bpr", 0x0100, 0xe273ede5, 5 }, // 12 proms { "c-2j.bpr", 0x0100, 0xd6412358, 5 }, // 13 { "v-5e.bpr", 0x0100, 0xb869b8f5, 5 }, // 14 { "diag.bin", 0x1000, 0x00000000, 0 | BRF_OPT }, }; STD_ROM_PICK(dkfreerun) STD_ROM_FN(dkfreerun) struct BurnDriver BurnDrvDkfreerun = { "dkfreerun", "dkong", NULL, "dkong", "2019", "Donkey Kong Freerun Edition\0", NULL, "Hack (Paul Goes)", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_ACTION, 0, NULL, dkfreerunRomInfo, dkfreerunRomName, NULL, NULL, DkongSampleInfo, DkongSampleName, DkongInputInfo, DkongDIPInfo, dkongInit, DrvExit, DrvFrame, dkongDraw, DrvScan, &DrvRecalc, 0x100, 224, 256, 3, 4 }; // Donkey Kong Spring Stages by Sock Master static struct BurnRomInfo dkfreerunRomDesc[] = { { "c_5et_g.bin", 0x1000, 0x8fb6e908, 1 }, // 0 maincpu { "c_5ct_g.bin", 0x1000, 0xc9d766ea, 1 }, // 1 { "c_5bt_g.bin", 0x1000, 0xaef88ff5, 1 }, // 2 { "c_5at_g.bin", 0x1000, 0x5cf3774b, 1 }, // 3 { "s_3i_b.bin", 0x0800, 0x45a4ed06, 2 }, // 4 soundcpu { "s_3j_b.bin", 0x0800, 0x4743fe92, 2 }, // 5 { "v_5h_b.bin", 0x0800, 0x12c8c95d, 3 }, // 6 gfx1 { "v_3pt.bin", 0x0800, 0x15e9c5e9, 3 }, // 7 { "l_4m_bm.bin", 0x0800, 0x4b67ccf9, 4 }, // 8 gfx2 { "l_4n_bm.bin", 0x0800, 0x32a708cb, 4 }, // 9 { "l_4r_bm.bin", 0x0800, 0x22b5d5c4, 4 }, // 10 { "l_4s_bm.bin", 0x0800, 0xb212b185, 4 }, // 11 { "c-2k.bpr", 0x0100, 0xe273ede5, 5 }, // 12 proms { "c-2j.bpr", 0x0100, 0xd6412358, 5 }, // 13 { "v-5e.bpr", 0x0100, 0xb869b8f5, 5 }, // 14 { "diag.bin", 0x1000, 0x00000000, 0 | BRF_OPT }, }; STD_ROM_PICK(dkspring) STD_ROM_FN(dkspring) struct BurnDriver BurnDrvDkspring = { "dkspring", "dkong", NULL, "dkong", "2019", "Donkey Kong Spring Stages\0", NULL, "Hack (Sock Master)", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_ACTION, 0, NULL, dkspringRomInfo, dkspringRomName, NULL, NULL, DkongSampleInfo, DkongSampleName, DkongInputInfo, DkongDIPInfo, dkongInit, DrvExit, DrvFrame, dkongDraw, DrvScan, &DrvRecalc, 0x100, 224, 256, 3, 4 };
Hopefully, everything will compile properly and the hacks actually work. I'll test a few tonight, but in the meantime I knew you would test them anyway before releasing any changes, so thought it would be best to send you what I had done.
-
@spud11 I fixed your code, you did a bunch of typos when copy/pasting, the funniest one was to copy gfx2 from
dkong2m
to almost all romsets (had to save mario in all of them :P) :// Donkey Kong (Patch) by Don Hodges // Patched Kill Screen - see http://donhodges.com/how_high_can_you_get.htm static struct BurnRomInfo dkongpRomDesc[] = { { "dkongp_c_5et", 0x1000, 0x2066139d, 1 }, // 0 maincpu { "c_5ct_g.bin", 0x1000, 0x5ec461ec, 1 }, // 1 { "c_5bt_g.bin", 0x1000, 0x1c97d324, 1 }, // 2 { "c_5at_g.bin", 0x1000, 0xb9005ac0, 1 }, // 3 { "s_3i_b.bin", 0x0800, 0x45a4ed06, 2 }, // 4 soundcpu { "s_3j_b.bin", 0x0800, 0x4743fe92, 2 }, // 5 { "v_5h_b.bin", 0x0800, 0x12c8c95d, 3 }, // 6 gfx1 { "v_3pt.bin", 0x0800, 0x15e9c5e9, 3 }, // 7 { "l_4m_b.bin", 0x0800, 0x59f8054d, 4 }, // 8 gfx2 { "l_4n_b.bin", 0x0800, 0x672e4714, 4 }, // 9 { "l_4r_b.bin", 0x0800, 0xfeaa59ee, 4 }, // 10 { "l_4s_b.bin", 0x0800, 0x20f2ef7e, 4 }, // 11 { "c-2k.bpr", 0x0100, 0xe273ede5, 5 }, // 12 proms { "c-2j.bpr", 0x0100, 0xd6412358, 5 }, // 13 { "v-5e.bpr", 0x0100, 0xb869b8f5, 5 }, // 14 { "diag.bin", 0x1000, 0x00000000, 0 | BRF_OPT }, }; STD_ROM_PICK(dkongp) STD_ROM_FN(dkongp) struct BurnDriver BurnDrvDkongp = { "dkongp", "dkong", NULL, "dkong", "2007", "Donkey Kong (Patched)\0", NULL, "Hack (Don Hodges)", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_ACTION, 0, NULL, dkongpRomInfo, dkongpRomName, NULL, NULL, DkongSampleInfo, DkongSampleName, DkongInputInfo, DkongDIPInfo, dkongInit, DrvExit, DrvFrame, dkongDraw, DrvScan, &DrvRecalc, 0x100, 224, 256, 3, 4 }; // Donkey Kong Remix Demo by Sockmaster static struct BurnRomInfo dkrdemoRomDesc[] = { { "dkrdemo.5et", 0x1000, 0xf9fdff29, 1 }, // 0 maincpu { "dkrdemo.5ct", 0x1000, 0xf48cb898, 1 }, // 1 { "dkrdemo.5bt", 0x1000, 0x660d43ec, 1 }, // 2 { "dkrdemo.5at", 0x1000, 0xe59d406c, 1 }, // 3 { "s_3i_b.bin", 0x0800, 0x45a4ed06, 2 }, // 4 soundcpu { "s_3j_b.bin", 0x0800, 0x4743fe92, 2 }, // 5 { "v_5h_b.bin", 0x0800, 0x12c8c95d, 3 }, // 6 gfx1 { "v_3pt.bin", 0x0800, 0x15e9c5e9, 3 }, // 7 { "l_4m_b.bin", 0x0800, 0x59f8054d, 4 }, // 8 gfx2 { "l_4n_b.bin", 0x0800, 0x672e4714, 4 }, // 9 { "l_4r_b.bin", 0x0800, 0xfeaa59ee, 4 }, // 10 { "l_4s_b.bin", 0x0800, 0x20f2ef7e, 4 }, // 11 { "c-2k.bpr", 0x0100, 0xe273ede5, 5 }, // 12 proms { "c-2j.bpr", 0x0100, 0xd6412358, 5 }, // 13 { "v-5e.bpr", 0x0100, 0xb869b8f5, 5 }, // 14 { "diag.bin", 0x1000, 0x00000000, 0 | BRF_OPT }, }; STD_ROM_PICK(dkrdemo) STD_ROM_FN(dkrdemo) struct BurnDriver BurnDrvDkrdemo = { "dkrdemo", "dkong", NULL, "dkong", "2015", "Donkey Kong Remix (Demo)\0", NULL, "Hack (Sockmaster)", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_ACTION, 0, NULL, dkrdemoRomInfo, dkrdemoRomName, NULL, NULL, DkongSampleInfo, DkongSampleName, DkongInputInfo, DkongDIPInfo, dkongInit, DrvExit, DrvFrame, dkongDraw, DrvScan, &DrvRecalc, 0x100, 224, 256, 3, 4 }; // Naked Donkey Kong (Hack) static struct BurnRomInfo nadkongRomDesc[] = { { "c_5et_g.bin", 0x1000, 0xba70b88b, 1 }, // 0 maincpu { "c_5ct_g.bin", 0x1000, 0x5ec461ec, 1 }, // 1 { "c_5bt_g.bin", 0x1000, 0x1c97d324, 1 }, // 2 { "c_5at_g.bin", 0x1000, 0xb9005ac0, 1 }, // 3 { "s_3i_b.bin", 0x0800, 0x45a4ed06, 2 }, // 4 soundcpu { "s_3j_b.bin", 0x0800, 0x4743fe92, 2 }, // 5 { "nadkong.5h", 0x0800, 0x88772f5b, 3 }, // 6 gfx1 { "nadkong.3p", 0x0800, 0x4c8aa728, 3 }, // 7 { "nadkong.4m", 0x0800, 0x2afbf9e6, 4 }, // 8 gfx2 { "nadkong.4n", 0x0800, 0x4f077877, 4 }, // 9 { "nadkong.4r", 0x0800, 0xd868da93, 4 }, // 10 { "nadkong.4s", 0x0800, 0x7ebfe9f3, 4 }, // 11 { "c-2k.bpr", 0x0100, 0xe273ede5, 5 }, // 12 proms { "c-2j.bpr", 0x0100, 0xd6412358, 5 }, // 13 { "v-5e.bpr", 0x0100, 0xb869b8f5, 5 }, // 14 { "diag.bin", 0x1000, 0x00000000, 0 | BRF_OPT }, }; STD_ROM_PICK(nadkong) STD_ROM_FN(nadkong) struct BurnDriver BurnDrvNadkong = { "nadkong", "dkong", NULL, "dkong", "2004", "Naked Donkey Kong\0", NULL, "Hack", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_ACTION, 0, NULL, nadkongRomInfo, nadkongRomName, NULL, NULL, DkongSampleInfo, DkongSampleName, DkongInputInfo, DkongDIPInfo, dkongInit, DrvExit, DrvFrame, dkongDraw, DrvScan, &DrvRecalc, 0x100, 224, 256, 3, 4 }; // Donkey Kong (2 Marios) (Hack) static struct BurnRomInfo dkong2mRomDesc[] = { { "c_5et_g.bin", 0x1000, 0xba70b88b, 1 }, // 0 maincpu { "c_5ct_g.bin", 0x1000, 0x5ec461ec, 1 }, // 1 { "c_5bt_g.bin", 0x1000, 0x1c97d324, 1 }, // 2 { "c_5at_g.bin", 0x1000, 0xb9005ac0, 1 }, // 3 { "s_3i_b.bin", 0x0800, 0x45a4ed06, 2 }, // 4 soundcpu { "s_3j_b.bin", 0x0800, 0x4743fe92, 2 }, // 5 { "v_5h_b.bin", 0x0800, 0x12c8c95d, 3 }, // 6 gfx1 { "v_3pt.bin", 0x0800, 0x15e9c5e9, 3 }, // 7 { "l_4m_bm.bin", 0x0800, 0x4b67ccf9, 4 }, // 8 gfx2 { "l_4n_bm.bin", 0x0800, 0x32a708cb, 4 }, // 9 { "l_4r_bm.bin", 0x0800, 0x22b5d5c4, 4 }, // 10 { "l_4s_bm.bin", 0x0800, 0xb212b185, 4 }, // 11 { "c-2k.bpr", 0x0100, 0xe273ede5, 5 }, // 12 proms { "c-2j.bpr", 0x0100, 0xd6412358, 5 }, // 13 { "v-5e.bpr", 0x0100, 0xb869b8f5, 5 }, // 14 { "diag.bin", 0x1000, 0x00000000, 0 | BRF_OPT }, }; STD_ROM_PICK(dkong2m) STD_ROM_FN(dkong2m) struct BurnDriver BurnDrvDkong2m = { "dkong2m", "dkong", NULL, "dkong", "2013", "Donkey Kong (2 Marios)\0", NULL, "Hack", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_ACTION, 0, NULL, dkong2mRomInfo, dkong2mRomName, NULL, NULL, DkongSampleInfo, DkongSampleName, DkongInputInfo, DkongDIPInfo, dkongInit, DrvExit, DrvFrame, dkongDraw, DrvScan, &DrvRecalc, 0x100, 224, 256, 3, 4 }; // Donkey Kong (Pacman Graphics) (Hack) by Tim Appleton static struct BurnRomInfo dkongpacRomDesc[] = { { "c_5et_g.bin", 0x1000, 0xba70b88b, 1 }, // 0 maincpu { "c_5ct_g.bin", 0x1000, 0x5ec461ec, 1 }, // 1 { "c_5bt_g.bin", 0x1000, 0x1c97d324, 1 }, // 2 { "dkongpac.5a", 0x1000, 0x56d28137, 1 }, // 3 { "s_3i_b.bin", 0x0800, 0x45a4ed06, 2 }, // 4 soundcpu { "s_3j_b.bin", 0x0800, 0x4743fe92, 2 }, // 5 { "dkongpac.3n", 0x0800, 0x1beba830, 3 }, // 6 gfx1 { "dkongpac.3p", 0x0800, 0x94d61766, 3 }, // 7 { "dkongpac.7c", 0x0800, 0x065e2713, 4 }, // 8 gfx2 { "dkongpac.7d", 0x0800, 0xa84b347d, 4 }, // 9 { "dkongpac.7e", 0x0800, 0x6ae6f476, 4 }, // 10 { "dkongpac.7f", 0x0800, 0x9d293922, 4 }, // 11 { "k2600.2k", 0x0100, 0x1e82d375, 5 }, // 12 proms { "k2600.2j", 0x0100, 0x2ab01dc8, 5 }, // 13 { "k2600.5f", 0x0100, 0x44988665, 5 }, // 14 { "diag.bin", 0x1000, 0x00000000, 0 | BRF_OPT }, }; STD_ROM_PICK(dkongpac) STD_ROM_FN(dkongpac) struct BurnDriver BurnDrvDkongpac = { "dkongpac", "dkong", NULL, "dkong", "2001", "Donkey Kong (Pacman Graphics)\0", NULL, "Hack (Tim Appleton)", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_ACTION, 0, NULL, dkongpacRomInfo, dkongpacRomName, NULL, NULL, DkongSampleInfo, DkongSampleName, DkongInputInfo, DkongDIPInfo, dkongInit, DrvExit, DrvFrame, dkongDraw, DrvScan, &DrvRecalc, 0x100, 224, 256, 3, 4 }; // Donkey Kong Trainer 1.01 (Hack) by Sock Master static struct BurnRomInfo dktrainerRomDesc[] = { { "dkt.5et", 0x1000, 0x7ed5a945, 1 }, // 0 maincpu { "dkt.5ct", 0x1000, 0x98e2caa8, 1 }, // 1 { "dkt.5bt", 0x1000, 0x098a840a, 1 }, // 2 { "dkt.5at", 0x1000, 0xdd092591, 1 }, // 3 { "s_3i_b.bin", 0x0800, 0x45a4ed06, 2 }, // 4 soundcpu { "s_3j_b.bin", 0x0800, 0x4743fe92, 2 }, // 5 { "v_5h_b.bin", 0x0800, 0x12c8c95d, 3 }, // 6 gfx1 { "v_3pt.bin", 0x0800, 0x15e9c5e9, 3 }, // 7 { "l_4m_b.bin", 0x0800, 0x59f8054d, 4 }, // 8 gfx2 { "l_4n_b.bin", 0x0800, 0x672e4714, 4 }, // 9 { "l_4r_b.bin", 0x0800, 0xfeaa59ee, 4 }, // 10 { "l_4s_b.bin", 0x0800, 0x20f2ef7e, 4 }, // 11 { "c-2k.bpr", 0x0100, 0xe273ede5, 5 }, // 12 proms { "c-2j.bpr", 0x0100, 0xd6412358, 5 }, // 13 { "v-5e.bpr", 0x0100, 0xb869b8f5, 5 }, // 14 { "diag.bin", 0x1000, 0x00000000, 0 | BRF_OPT }, }; STD_ROM_PICK(dktrainer) STD_ROM_FN(dktrainer) struct BurnDriver BurnDrvDktrainer = { "dktrainer", "dkong", NULL, "dkong", "2016", "Donkey Kong Trainer 1.01\0", NULL, "Hack (Sock Master)", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_ACTION, 0, NULL, dktrainerRomInfo, dktrainerRomName, NULL, NULL, DkongSampleInfo, DkongSampleName, DkongInputInfo, DkongDIPInfo, dkongInit, DrvExit, DrvFrame, dkongDraw, DrvScan, &DrvRecalc, 0x100, 224, 256, 3, 4 }; // Donkey Kong Pace (Hack) by Sock Master static struct BurnRomInfo dkpaceRomDesc[] = { { "dkp.5et", 0x1000, 0xe05563d5, 1 }, // 0 maincpu { "dkp.5ct", 0x1000, 0x88aa1ddf, 1 }, // 1 { "dkp.5bt", 0x1000, 0x8ee0b1d2, 1 }, // 2 { "dkp.5at", 0x1000, 0x0bc9c8db, 1 }, // 3 { "s_3i_b.bin", 0x0800, 0x45a4ed06, 2 }, // 4 soundcpu { "s_3j_b.bin", 0x0800, 0x4743fe92, 2 }, // 5 { "v_5h_b.bin", 0x0800, 0x12c8c95d, 3 }, // 6 gfx1 { "v_3pt.bin", 0x0800, 0x15e9c5e9, 3 }, // 7 { "l_4m_b.bin", 0x0800, 0x59f8054d, 4 }, // 8 gfx2 { "l_4n_b.bin", 0x0800, 0x672e4714, 4 }, // 9 { "l_4r_b.bin", 0x0800, 0xfeaa59ee, 4 }, // 10 { "l_4s_b.bin", 0x0800, 0x20f2ef7e, 4 }, // 11 { "c-2k.bpr", 0x0100, 0xe273ede5, 5 }, // 12 proms { "c-2j.bpr", 0x0100, 0xd6412358, 5 }, // 13 { "v-5e.bpr", 0x0100, 0xb869b8f5, 5 }, // 14 { "diag.bin", 0x1000, 0x00000000, 0 | BRF_OPT }, }; STD_ROM_PICK(dkpace) STD_ROM_FN(dkpace) struct BurnDriver BurnDrvDkpace = { "dkpace", "dkong", NULL, "dkong", "2016", "Donkey Kong Pace\0", NULL, "Hack (Sock Master)", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_ACTION, 0, NULL, dkpaceRomInfo, dkpaceRomName, NULL, NULL, DkongSampleInfo, DkongSampleName, DkongInputInfo, DkongDIPInfo, dkongInit, DrvExit, DrvFrame, dkongDraw, DrvScan, &DrvRecalc, 0x100, 224, 256, 3, 4 }; // Donkey Kong (US set 1 with barrel control coloring) by Jeff Kulczycki static struct BurnRomInfo dkongbccRomDesc[] = { { "dkbcc.5et", 0x1000, 0xeec71586, 1 }, // 0 maincpu { "dkbcc.5ct", 0x1000, 0x49200edb, 1 }, // 1 { "dkbcc.5bt", 0x1000, 0x56f7c409, 1 }, // 2 { "dkbcc.5at", 0x1000, 0x03b56372, 1 }, // 3 { "s_3i_b.bin", 0x0800, 0x45a4ed06, 2 }, // 4 soundcpu { "s_3j_b.bin", 0x0800, 0x4743fe92, 2 }, // 5 { "v_5h_b.bin", 0x0800, 0x12c8c95d, 3 }, // 6 gfx1 { "v_3pt.bin", 0x0800, 0x15e9c5e9, 3 }, // 7 { "l_4m_b.bin", 0x0800, 0x59f8054d, 4 }, // 8 gfx2 { "l_4n_b.bin", 0x0800, 0x672e4714, 4 }, // 9 { "l_4r_b.bin", 0x0800, 0xfeaa59ee, 4 }, // 10 { "l_4s_b.bin", 0x0800, 0x20f2ef7e, 4 }, // 11 { "c-2k.bpr", 0x0100, 0xe273ede5, 5 }, // 12 proms { "c-2j.bpr", 0x0100, 0xd6412358, 5 }, // 13 { "v-5e.bpr", 0x0100, 0xb869b8f5, 5 }, // 14 { "diag.bin", 0x1000, 0x00000000, 0 | BRF_OPT }, }; STD_ROM_PICK(dkongbcc) STD_ROM_FN(dkongbcc) struct BurnDriver BurnDrvDkongbcc = { "dkongbcc", "dkong", NULL, "dkong", "1981", "Donkey Kong (US set 1 with barrel control coloring)\0", NULL, "Hack (Jeff Kulczycki)", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_ACTION, 0, NULL, dkongbccRomInfo, dkongbccRomName, NULL, NULL, DkongSampleInfo, DkongSampleName, DkongInputInfo, DkongDIPInfo, dkongInit, DrvExit, DrvFrame, dkongDraw, DrvScan, &DrvRecalc, 0x100, 224, 256, 3, 4 }; // Donkey Kong Crazy Barrels Edition by Paul Goes static struct BurnRomInfo dkcbarrelRomDesc[] = { { "dkcbarrel.5et", 0x1000, 0x78e37c41, 1 }, // 0 maincpu { "dkcbarrel.5ct", 0x1000, 0xa46cbb85, 1 }, // 1 { "dkcbarrel.5bt", 0x1000, 0x07da5b15, 1 }, // 2 { "dkcbarrel.5at", 0x1000, 0x515e0639, 1 }, // 3 { "s_3i_b.bin", 0x0800, 0x45a4ed06, 2 }, // 4 soundcpu { "s_3j_b.bin", 0x0800, 0x4743fe92, 2 }, // 5 { "v_5h_b.bin", 0x0800, 0x12c8c95d, 3 }, // 6 gfx1 { "v_3pt.bin", 0x0800, 0x15e9c5e9, 3 }, // 7 { "l_4m_b.bin", 0x0800, 0x59f8054d, 4 }, // 8 gfx2 { "l_4n_b.bin", 0x0800, 0x672e4714, 4 }, // 9 { "l_4r_b.bin", 0x0800, 0xfeaa59ee, 4 }, // 10 { "l_4s_b.bin", 0x0800, 0x20f2ef7e, 4 }, // 11 { "c-2k.bpr", 0x0100, 0xe273ede5, 5 }, // 12 proms { "c-2j.bpr", 0x0100, 0xd6412358, 5 }, // 13 { "v-5e.bpr", 0x0100, 0xb869b8f5, 5 }, // 14 { "diag.bin", 0x1000, 0x00000000, 0 | BRF_OPT }, }; STD_ROM_PICK(dkcbarrel) STD_ROM_FN(dkcbarrel) struct BurnDriver BurnDrvDkcbarrel = { "dkcbarrel", "dkong", NULL, "dkong", "2019", "Donkey Kong Crazy Barrels Edition\0", NULL, "Hack (Paul Goes)", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_ACTION, 0, NULL, dkcbarrelRomInfo, dkcbarrelRomName, NULL, NULL, DkongSampleInfo, DkongSampleName, DkongInputInfo, DkongDIPInfo, dkongInit, DrvExit, DrvFrame, dkongDraw, DrvScan, &DrvRecalc, 0x100, 224, 256, 3, 4 }; // Donkey Kong Freerun Edition by Paul Goes static struct BurnRomInfo dkfreerunRomDesc[] = { { "dkfreerun.5et", 0x1000, 0x2b85ddf0, 1 }, // 0 maincpu { "dkfreerun.5ct", 0x1000, 0xef7e15d7, 1 }, // 1 { "dkfreerun.5bt", 0x1000, 0xcb390d7c, 1 }, // 2 { "dkfreerun.5at", 0x1000, 0x76fb86ba, 1 }, // 3 { "s_3i_b.bin", 0x0800, 0x45a4ed06, 2 }, // 4 soundcpu { "s_3j_b.bin", 0x0800, 0x4743fe92, 2 }, // 5 { "v_5h_b.bin", 0x0800, 0x12c8c95d, 3 }, // 6 gfx1 { "v_3pt.bin", 0x0800, 0x15e9c5e9, 3 }, // 7 { "l_4m_b.bin", 0x0800, 0x59f8054d, 4 }, // 8 gfx2 { "l_4n_b.bin", 0x0800, 0x672e4714, 4 }, // 9 { "l_4r_b.bin", 0x0800, 0xfeaa59ee, 4 }, // 10 { "l_4s_b.bin", 0x0800, 0x20f2ef7e, 4 }, // 11 { "c-2k.bpr", 0x0100, 0xe273ede5, 5 }, // 12 proms { "c-2j.bpr", 0x0100, 0xd6412358, 5 }, // 13 { "v-5e.bpr", 0x0100, 0xb869b8f5, 5 }, // 14 { "diag.bin", 0x1000, 0x00000000, 0 | BRF_OPT }, }; STD_ROM_PICK(dkfreerun) STD_ROM_FN(dkfreerun) struct BurnDriver BurnDrvDkfreerun = { "dkfreerun", "dkong", NULL, "dkong", "2019", "Donkey Kong Freerun Edition\0", NULL, "Hack (Paul Goes)", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_ACTION, 0, NULL, dkfreerunRomInfo, dkfreerunRomName, NULL, NULL, DkongSampleInfo, DkongSampleName, DkongInputInfo, DkongDIPInfo, dkongInit, DrvExit, DrvFrame, dkongDraw, DrvScan, &DrvRecalc, 0x100, 224, 256, 3, 4 }; // Donkey Kong Spring Stages by Sock Master static struct BurnRomInfo dkspringRomDesc[] = { { "c_5et_g.bin", 0x1000, 0x8fb6e908, 1 }, // 0 maincpu { "c_5ct_g.bin", 0x1000, 0xc9d766ea, 1 }, // 1 { "c_5bt_g.bin", 0x1000, 0xaef88ff5, 1 }, // 2 { "c_5at_g.bin", 0x1000, 0x5cf3774b, 1 }, // 3 { "s_3i_b.bin", 0x0800, 0x45a4ed06, 2 }, // 4 soundcpu { "s_3j_b.bin", 0x0800, 0x4743fe92, 2 }, // 5 { "v_5h_b.bin", 0x0800, 0x12c8c95d, 3 }, // 6 gfx1 { "v_3pt.bin", 0x0800, 0x15e9c5e9, 3 }, // 7 { "l_4m_b.bin", 0x0800, 0x59f8054d, 4 }, // 8 gfx2 { "l_4n_b.bin", 0x0800, 0x672e4714, 4 }, // 9 { "l_4r_b.bin", 0x0800, 0xfeaa59ee, 4 }, // 10 { "l_4s_b.bin", 0x0800, 0x20f2ef7e, 4 }, // 11 { "c-2k.bpr", 0x0100, 0xe273ede5, 5 }, // 12 proms { "c-2j.bpr", 0x0100, 0xd6412358, 5 }, // 13 { "v-5e.bpr", 0x0100, 0xb869b8f5, 5 }, // 14 { "diag.bin", 0x1000, 0x00000000, 0 | BRF_OPT }, }; STD_ROM_PICK(dkspring) STD_ROM_FN(dkspring) struct BurnDriver BurnDrvDkspring = { "dkspring", "dkong", NULL, "dkong", "2019", "Donkey Kong Spring Stages\0", NULL, "Hack (Sock Master)", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_PRE90S, GBF_PLATFORM | GBF_ACTION, 0, NULL, dkspringRomInfo, dkspringRomName, NULL, NULL, DkongSampleInfo, DkongSampleName, DkongInputInfo, DkongDIPInfo, dkongInit, DrvExit, DrvFrame, dkongDraw, DrvScan, &DrvRecalc, 0x100, 224, 256, 3, 4 };
2 things though :
- I can't locate "Donkey Kong Spring Stages" by "Sock Master", so i won't add it to fbneo
- Unlike HBMAME we don't have a goal of hack preservation, so we prefer only adding support for hacks that seem good, i'll let you test all those hacks before adding them to fbneo, let me know if you think some of them aren't worth keeping.
-
@barbudreadmon Would Crazy Otto not be worth doing since it the famous "prequal" to MS Pacman? If you only did the ottopz.zip set thats got loads of versions in it :)
-
@JimNeatface As i said in the other topic, you should try adding it, it's not that hard, i don't think @spud11 is a coder either, he just followed my guidelines and succeeded on first try. If something isn't clear i can give further explanations. Getting out of our confort zone once in a while is never a bad thing.
-
@barbudreadmon I might as well try brain surgery and riverdance at the same time :D
No probs if you don't want to do it, but me doing it is about as likely as taylor swift taking up professional MMA :D
(Really amazed Crazy Otto hasn't been done by anyone b4 now as it's semi-offical and prob the most famous ROM hack of all time.)
-
@JimNeatface said in Donkey Kong Spooky Remix in Retropie?:
me doing it is about as likely as taylor swift taking up professional MMA :D
She's got the heart, but her ground game is probably lacking.
-
@barbudreadmon Thanks for fixing things. That teaches me not to code at 5.30am!
I've now tested all of the hacks I added and these are the ones I think are worth keeping and those which should be excluded:
Worth keeping:
dkongpac
,dkpace
,dkrdemo
,dktrainer
,dkcbarrel
anddkongp
.The ones not to bother with (in my opinion) are:
nadkong
,dkfreerun
,dkong2m
,dkbcc
.I got
dkspring
to work, so I'll just keep that in my version.Thanks for your help on all of this.
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.