From 54635da5a7bea31fb7c3864229469f1c464bd4cf Mon Sep 17 00:00:00 2001 From: dinkc64 Date: Sun, 2 Feb 2025 09:03:27 -0500 Subject: [PATCH] nes, add famidash --- src/burn/drv/nes/d_nes.cpp | 19 +++++++++++++++++++ src/burn/drv/nes/nes.cpp | 4 +++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/burn/drv/nes/d_nes.cpp b/src/burn/drv/nes/d_nes.cpp index 1b13b5ed5..a6aa96c66 100644 --- a/src/burn/drv/nes/d_nes.cpp +++ b/src/burn/drv/nes/d_nes.cpp @@ -14723,6 +14723,25 @@ struct BurnDriver BurnDrvnes_fallingtiles = { SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT }; +// Famidash feb.02.2025-git build +// if gets updated, make sure to change crc in nes.cpp! (search: famidash) +static struct BurnRomInfo nes_famidashRomDesc[] = { + { "Famidash (2024)(tfdsoft).nes", 786448, 0x9cc0ee5b, BRF_ESS | BRF_PRG }, +}; + +STD_ROM_PICK(nes_famidash) +STD_ROM_FN(nes_famidash) + +struct BurnDriver BurnDrvnes_famidash = { + "nes_famidash", NULL, NULL, NULL, "2024", + "Famidash (HB)\0", NULL, "Nintendo", "Miscellaneous", + NULL, NULL, NULL, NULL, + BDF_GAME_WORKING | BDF_HOMEBREW, 2, HARDWARE_NES, GBF_MISC, 0, + NESGetZipName, nes_famidashRomInfo, nes_famidashRomName, NULL, NULL, NULL, NULL, NESInputInfo, NESDIPInfo, + NESInit, NESExit, NESFrame, NESDraw, NESScan, &NESRecalc, 0x40, + SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT +}; + // Family Picross! (HB) static struct BurnRomInfo nes_familypicrossRomDesc[] = { { "Family Picross! (2018)(FG Software).nes", 40976, 0xbd459402, BRF_ESS | BRF_PRG }, diff --git a/src/burn/drv/nes/nes.cpp b/src/burn/drv/nes/nes.cpp index ea4f33f7f..08ac3fe05 100644 --- a/src/burn/drv/nes/nes.cpp +++ b/src/burn/drv/nes/nes.cpp @@ -484,14 +484,16 @@ static INT32 cartridge_load(UINT8* ROMData, UINT32 ROMSize, UINT32 ROMCRC) // Game-specific stuff: // Mapper 7 or 4-way mirroring usually gets no workram (6000-7fff) - if (Cart.Mapper == 7 || (Cart.Mirroring == 4 && !(PPUType > RP2C02))) + if (Cart.Mapper == 7 || (Cart.Mirroring == 4 && ((PPUType == RP2C02) && !Cart.BatteryBackedSRAM ) )) { NESMode |= NO_WORKRAM; // VS. is exempt from this limitation. + } NESMode |= (ROMCRC == 0xab29ab28) ? BUS_CONFLICTS : 0; // Dropzone NESMode |= (ROMCRC == 0xe3a6d7f6) ? BUS_CONFLICTS : 0; // Cybernoid NESMode |= (ROMCRC == 0x552a903a) ? BUS_CONFLICTS : 0; // Huge Insect NESMode |= (ROMCRC == 0xb90a1ca1) ? NO_WORKRAM : 0; // Low G Man NESMode |= (ROMCRC == 0xa905cc12) ? NO_WORKRAM : 0; // Bill & Ted + NESMode |= (ROMCRC == 0x9cc0ee5b) ? APU_HACKERY : 0; // famidash NESMode |= (ROMCRC == 0xc00c4ea5) ? APU_HACKERY : 0; // Sam's Journey NESMode |= (ROMCRC == 0x585f3500) ? ALT_MMC3 : 0; // Darkwing Duck (T-Chi) NESMode |= (ROMCRC == 0x38f65b2d) ? BAD_HOMEBREW : 0; // Battler (HB)