From 1bdaabd6c4a1026b0deb4444b8aaf5abe91a44ee Mon Sep 17 00:00:00 2001 From: Barry Harris <44396066+barry65536@users.noreply.github.com> Date: Mon, 23 Jan 2012 09:32:23 +0000 Subject: [PATCH] Update fr2ch with Razoola's patched version --- src/burn/drv/neogeo/d_neogeo.cpp | 70 ++++---------------------------- 1 file changed, 7 insertions(+), 63 deletions(-) diff --git a/src/burn/drv/neogeo/d_neogeo.cpp b/src/burn/drv/neogeo/d_neogeo.cpp index e357389aa..e54f8438d 100644 --- a/src/burn/drv/neogeo/d_neogeo.cpp +++ b/src/burn/drv/neogeo/d_neogeo.cpp @@ -12393,84 +12393,28 @@ struct BurnDriver BurnDrvcthd2k3a = { // Idol Mahjong - final romance 2 (CD to MVS Conversion) static struct BurnRomInfo fr2chRomDesc[] = { - { "098-p1ch.bin", 0x080000, 0x9aa8cee0, 1 | BRF_ESS | BRF_PRG }, // 0 68K code + { "098-p1ch.bin", 0x080000, 0x09675541, 1 | BRF_ESS | BRF_PRG }, // 0 68K code - { "098-s1ch.bin", 0x020000, 0x764ac7aa, 2 | BRF_GRA }, // 1 Text layer tiles + { "098-s1ch.bin", 0x020000, 0x0e6a7c73, 2 | BRF_GRA }, // 1 Text layer tiles - { "098-c1ch.bin", 0x100000, 0x6158cf4a, 3 | BRF_GRA }, // 2 Sprite data - { "098-c2ch.bin", 0x100000, 0x93a809a3, 3 | BRF_GRA }, // 3 - { "098-c3ch.bin", 0x100000, 0xfafa3381, 3 | BRF_GRA }, // 4 - { "098-c4ch.bin", 0x100000, 0x9895e23f, 3 | BRF_GRA }, // 5 - { "098-c5ch.bin", 0x100000, 0xeeaaa818, 3 | BRF_GRA }, // 6 - { "098-c6ch.bin", 0x100000, 0xf3d9a190, 3 | BRF_GRA }, // 7 + { "098-c1ch.bin", 0x400000, 0x29148bf7, 3 | BRF_GRA }, // 2 Sprite data + { "098-c2ch.bin", 0x400000, 0x226b1263, 3 | BRF_GRA }, // 3 - { "098-m1ch.bin", 0x010000, 0xa455fa31, 4 | BRF_ESS | BRF_PRG }, // 8 Z80 code + { "098-m1ch.bin", 0x020000, 0xda4878cf, 4 | BRF_ESS | BRF_PRG }, // 8 Z80 code - { "098-v1ch.bin", 0x100000, 0x92e175f0, 5 | BRF_SND }, // 9 Sound data + { "098-v1ch.bin", 0x100000, 0x6f8ccddc, 5 | BRF_SND }, // 9 Sound data }; STDROMPICKEXT(fr2ch, fr2ch, neogeo) STD_ROM_FN(fr2ch) -static void fr2chCallback() -{ - UINT16 *src = (UINT16*)Neo68KROMActive; - UINT8 *rom = Neo68KROMActive; - - INT32 i; - UINT8 data[16] = { - 0x49, 0x46, 0x41, 0x4E, 0x20, 0x4C, 0x4F, 0x52, - 0x41, 0x4D, 0x43, 0x4E, 0x20, 0x45, 0x20, 0x32 - }; - - // change jsr to C004DA - src[0x01AF8 >> 1] = 0x04DA; // C00552 (Not used?) - src[0x01BF6 >> 1] = 0x04DA; // C0056A (fixes crash) - src[0x01ED8 >> 1] = 0x04DA; // C00570 (Not used?) - src[0x1C384 >> 1] = 0x04DA; // C00552 (fixes crash) - - // 0x001C06 - this routine can cause a loop/freeze - src[0x01C06 >> 1] = 0x4E75; - - // can cause bugs - // Move text for credit + coin info (Thanks to Kanyero) - memcpy (NeoTextROM + 0x20000, NeoTextROM + 0x20600, 0x140); - - // optional - // Hack in the proper identification (see setup menu [F2]) - for (i = 0; i < 0x10; i++) - { - rom[0x3A6 + i] = rom[0x61E + i] = rom[0x896 + i] = data[i]; - } - for (i = 0; i < 0x20; i += 4) - { - src[(0x40 + i + 2) >> 1] = 0x0426; - } - - // Album Fix - src[0x1C382 >> 1] = 0x0008; // C00552 - src[0x1C384 >> 1] = 0x0000; - src[0x80000 >> 1] = 0x33FC; - src[0x80002 >> 1] = 0x0001; - src[0x80004 >> 1] = 0x0020; - src[0x80006 >> 1] = 0x0002; - src[0x80008 >> 1] = 0x4E75; -} - -static INT32 fr2chInit() -{ - NeoCallbackActive->pInitialise = fr2chCallback; - - return NeoInit(); -} - struct BurnDriver BurnDrvfr2ch = { "fr2ch", NULL, "neogeo", NULL, "1995", "Idol Mahjong - final romance 2 (CD to MVS Conversion)\0", NULL, "hack", "Neo Geo MVS", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_HACK, 2, HARDWARE_SNK_NEOGEO, GBF_MAHJONG, 0, NULL, fr2chRomInfo, fr2chRomName, NULL, NULL, neogeoInputInfo, neogeoDIPInfo, - fr2chInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette, + NeoInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette, 0x1000, 304, 224, 4, 3 };