diff --git a/src/burn/drv/konami/d_88games.cpp b/src/burn/drv/konami/d_88games.cpp index ed38f678c..45c6b36f3 100644 --- a/src/burn/drv/konami/d_88games.cpp +++ b/src/burn/drv/konami/d_88games.cpp @@ -454,7 +454,7 @@ static INT32 DrvInit() DrvGfxDecode(); } - konamiInit(1); + konamiInit(0); konamiOpen(0); konamiMapMemory(DrvPalRAM + 0x0000, 0x1000, 0x1fff, KON_RAM); konamiMapMemory(DrvKonRAM, 0x2000, 0x2fff, KON_RAM); diff --git a/src/burn/drv/konami/d_ajax.cpp b/src/burn/drv/konami/d_ajax.cpp index 56f524e61..72353b1b1 100644 --- a/src/burn/drv/konami/d_ajax.cpp +++ b/src/burn/drv/konami/d_ajax.cpp @@ -560,7 +560,7 @@ static INT32 DrvInit() DrvGfxDecode(); } - konamiInit(1); + konamiInit(0); konamiOpen(0); konamiMapMemory(DrvPalRAM, 0x1000, 0x1fff, KON_RAM); konamiMapMemory(DrvShareRAM, 0x2000, 0x3fff, KON_RAM); @@ -826,8 +826,8 @@ static struct BurnRomInfo ajaxRomDesc[] = { { "770c08-d.c10", 0x10000, 0x91591777, 5 | BRF_GRA }, // 27 { "770c08-h.c11", 0x10000, 0xd97d4b15, 5 | BRF_GRA }, // 28 - { "770c06.f4", 0x40000, 0xd0c592ee, 6 | BRF_GRA }, // 29 K051960 Tiles - { "770c07.h4", 0x40000, 0x0b399fb1, 6 | BRF_GRA }, // 30 + { "770c06", 0x40000, 0xd0c592ee, 6 | BRF_GRA }, // 29 K051960 Tiles + { "770c07", 0x40000, 0x0b399fb1, 6 | BRF_GRA }, // 30 { "770c10-a.a7", 0x10000, 0xe45ec094, 7 | BRF_SND }, // 31 K007232 #0 Samples { "770c10-b.a6", 0x10000, 0x349db7d3, 7 | BRF_SND }, // 32 @@ -871,14 +871,14 @@ static struct BurnRomInfo typhoonRomDesc[] = { { "770_h03.f16", 0x08000, 0x2ffd2afc, 3 | BRF_PRG | BRF_ESS }, // 4 Z80 Code - { "770c13.n22", 0x40000, 0xb859ca4e, 4 | BRF_GRA }, // 5 K052109 Tiles - { "770c12.k22", 0x40000, 0x50d14b72, 4 | BRF_GRA }, // 6 + { "770c13", 0x40000, 0xb859ca4e, 4 | BRF_GRA }, // 5 K052109 Tiles + { "770c12", 0x40000, 0x50d14b72, 4 | BRF_GRA }, // 6 - { "770c09.n4", 0x80000, 0x1ab4a7ff, 5 | BRF_GRA }, // 7 K051960 Tiles - { "770c08.k4", 0x80000, 0xa8e80586, 5 | BRF_GRA }, // 8 + { "770c09", 0x80000, 0x1ab4a7ff, 5 | BRF_GRA }, // 7 K051960 Tiles + { "770c08", 0x80000, 0xa8e80586, 5 | BRF_GRA }, // 8 - { "770c06.f4", 0x40000, 0xd0c592ee, 6 | BRF_GRA }, // 9 K051960 Tiles - { "770c07.h4", 0x40000, 0x0b399fb1, 6 | BRF_GRA }, // 10 + { "770c06", 0x40000, 0xd0c592ee, 6 | BRF_GRA }, // 9 K051960 Tiles + { "770c07", 0x40000, 0x0b399fb1, 6 | BRF_GRA }, // 10 { "770c10", 0x40000, 0x7fac825f, 7 | BRF_SND }, // 11 K007232 #0 Samples @@ -912,14 +912,14 @@ static struct BurnRomInfo ajaxjRomDesc[] = { { "770_f03.f16", 0x08000, 0x3fe914fd, 3 | BRF_PRG | BRF_ESS }, // 4 Z80 Code - { "770c13.n22", 0x40000, 0xb859ca4e, 4 | BRF_GRA }, // 5 K052109 Tiles - { "770c12.k22", 0x40000, 0x50d14b72, 4 | BRF_GRA }, // 6 + { "770c13", 0x40000, 0xb859ca4e, 4 | BRF_GRA }, // 5 K052109 Tiles + { "770c12", 0x40000, 0x50d14b72, 4 | BRF_GRA }, // 6 - { "770c09.n4", 0x80000, 0x1ab4a7ff, 5 | BRF_GRA }, // 7 K051960 Tiles - { "770c08.k4", 0x80000, 0xa8e80586, 5 | BRF_GRA }, // 8 + { "770c09", 0x80000, 0x1ab4a7ff, 5 | BRF_GRA }, // 7 K051960 Tiles + { "770c08", 0x80000, 0xa8e80586, 5 | BRF_GRA }, // 8 - { "770c06.f4", 0x40000, 0xd0c592ee, 6 | BRF_GRA }, // 9 K051960 Tiles - { "770c07.h4", 0x40000, 0x0b399fb1, 6 | BRF_GRA }, // 10 + { "770c06", 0x40000, 0xd0c592ee, 6 | BRF_GRA }, // 9 K051960 Tiles + { "770c07", 0x40000, 0x0b399fb1, 6 | BRF_GRA }, // 10 { "770c10", 0x40000, 0x7fac825f, 7 | BRF_SND }, // 11 K007232 #0 Samples diff --git a/src/burn/drv/konami/d_aliens.cpp b/src/burn/drv/konami/d_aliens.cpp index 3f61f5700..915c43dda 100644 --- a/src/burn/drv/konami/d_aliens.cpp +++ b/src/burn/drv/konami/d_aliens.cpp @@ -396,7 +396,7 @@ static INT32 DrvInit() DrvGfxDecode(); } - konamiInit(1); + konamiInit(0); konamiOpen(0); konamiMapMemory(DrvBankRAM, 0x0000, 0x03ff, KON_RAM); konamiMapMemory(DrvKonRAM, 0x0400, 0x1fff, KON_RAM); diff --git a/src/burn/drv/konami/d_blockhl.cpp b/src/burn/drv/konami/d_blockhl.cpp index 27f4abeee..9d7de817a 100644 --- a/src/burn/drv/konami/d_blockhl.cpp +++ b/src/burn/drv/konami/d_blockhl.cpp @@ -340,7 +340,7 @@ static INT32 DrvInit() DrvGfxDecode(); } - konamiInit(1); + konamiInit(0); konamiOpen(0); konamiMapMemory(DrvKonRAM, 0x4000, 0x57ff, KON_RAM); konamiMapMemory(DrvBankRAM, 0x5800, 0x5fff, KON_RAM); diff --git a/src/burn/drv/konami/d_crimfght.cpp b/src/burn/drv/konami/d_crimfght.cpp index a6327553f..be361289f 100644 --- a/src/burn/drv/konami/d_crimfght.cpp +++ b/src/burn/drv/konami/d_crimfght.cpp @@ -505,7 +505,7 @@ static INT32 DrvInit() DrvGfxDecode(); } - konamiInit(1); + konamiInit(0); konamiOpen(0); konamiMapMemory(DrvBankRAM, 0x0000, 0x03ff, KON_RAM); konamiMapMemory(DrvKonRAM, 0x0400, 0x1fff, KON_RAM); diff --git a/src/burn/drv/konami/d_gbusters.cpp b/src/burn/drv/konami/d_gbusters.cpp index e17e9dfb2..f1a513d15 100644 --- a/src/burn/drv/konami/d_gbusters.cpp +++ b/src/burn/drv/konami/d_gbusters.cpp @@ -399,7 +399,7 @@ static INT32 DrvInit() DrvGfxDecode(); } - konamiInit(1); + konamiInit(0); konamiOpen(0); konamiMapMemory(DrvKonRAM, 0x4000, 0x57ff, KON_RAM); konamiMapMemory(DrvBankRAM, 0x5800, 0x5fff, KON_RAM); diff --git a/src/burn/drv/konami/d_hcastle.cpp b/src/burn/drv/konami/d_hcastle.cpp index 650a5ebd4..a7e7ab081 100644 --- a/src/burn/drv/konami/d_hcastle.cpp +++ b/src/burn/drv/konami/d_hcastle.cpp @@ -484,7 +484,7 @@ static INT32 DrvInit() DrvGfxDecode(); } - konamiInit(1); + konamiInit(0); konamiOpen(0); konamiMapMemory(DrvKonRAM0, 0x0000, 0x00ff, KON_ROM); //020-03f konamiMapMemory(DrvKonRAM1, 0x0200, 0x02ff, KON_ROM); //220-23f diff --git a/src/burn/drv/konami/d_parodius.cpp b/src/burn/drv/konami/d_parodius.cpp index bfd6ef2b4..7e62a116d 100644 --- a/src/burn/drv/konami/d_parodius.cpp +++ b/src/burn/drv/konami/d_parodius.cpp @@ -429,7 +429,7 @@ static INT32 DrvInit() DrvGfxDecode(); } - konamiInit(1); + konamiInit(0); konamiOpen(0); konamiMapMemory(DrvKonRAM, 0x0800, 0x1fff, KON_RAM); konamiMapMemory(DrvKonROM + 0x10000, 0x6000, 0x9fff, KON_ROM); diff --git a/src/burn/drv/konami/d_rollerg.cpp b/src/burn/drv/konami/d_rollerg.cpp index efc494617..882540377 100644 --- a/src/burn/drv/konami/d_rollerg.cpp +++ b/src/burn/drv/konami/d_rollerg.cpp @@ -385,7 +385,7 @@ static INT32 DrvInit() K053245GfxDecode(DrvGfxROM0, DrvGfxROMExp0, 0x200000); } - konamiInit(1); + konamiInit(0); konamiOpen(0); konamiMapMemory(DrvPalRAM, 0x1800, 0x1fff, KON_RAM); konamiMapMemory(DrvKonRAM, 0x2000, 0x3aff, KON_RAM); diff --git a/src/burn/drv/konami/d_simpsons.cpp b/src/burn/drv/konami/d_simpsons.cpp index f61414bd2..002132644 100644 --- a/src/burn/drv/konami/d_simpsons.cpp +++ b/src/burn/drv/konami/d_simpsons.cpp @@ -470,7 +470,7 @@ static INT32 DrvInit() DrvGfxDecode(); } - konamiInit(1); + konamiInit(0); konamiOpen(0); konamiMapMemory(DrvKonRAM, 0x4000, 0x5fff, KON_RAM); konamiMapMemory(DrvKonROM + 0x10000, 0x6000, 0x7fff, KON_ROM); @@ -925,44 +925,6 @@ struct BurnDriver BurnDrvSimpsons2p2 = { }; -// The Simpsons (2 Players World, set 3) // no rom labels - -static struct BurnRomInfo simpsons2p3RomDesc[] = { - { "072-g02.16c", 0x020000, 0x580ce1d6, 1 | BRF_PRG | BRF_ESS }, // 0 Konami Custom Code - { "072-p01.17c", 0x020000, 0x07ceeaea, 1 | BRF_PRG | BRF_ESS }, // 1 - { "4.13c", 0x020000, 0xc3040e4f, 1 | BRF_PRG | BRF_ESS }, // 2 - { "3.15c", 0x020000, 0xeb4f5781, 1 | BRF_PRG | BRF_ESS }, // 3 - - { "072-e03.6g", 0x020000, 0x866b7a35, 2 | BRF_PRG | BRF_ESS }, // 4 Z80 Code - - { "072-b07.18h", 0x080000, 0xba1ec910, 3 | BRF_GRA }, // 5 K052109 Tiles - { "072-b06.16h", 0x080000, 0xcf2bbcab, 3 | BRF_GRA }, // 6 - - { "072-b08.3n", 0x100000, 0x7de500ad, 4 | BRF_GRA }, // 7 K053247 Tiles - { "072-b09.8n", 0x100000, 0xaa085093, 4 | BRF_GRA }, // 8 - { "072-b10.12n", 0x100000, 0x577dbd53, 4 | BRF_GRA }, // 9 - { "072-b11.16l", 0x100000, 0x55fab05d, 4 | BRF_GRA }, // 10 - - { "072-d05.1f", 0x100000, 0x1397a73b, 5 | BRF_SND }, // 11 K053260 Samples - { "072-d04.1d", 0x040000, 0x78778013, 5 | BRF_SND }, // 12 - - { "simpsons2p.12c.nv", 0x000080, 0xfbac4e30, BRF_OPT }, -}; - -STD_ROM_PICK(simpsons2p3) -STD_ROM_FN(simpsons2p3) - -struct BurnDriver BurnDrvSimpsons2p3 = { - "simpsons2p3", "simpsons", NULL, NULL, "1991", - "The Simpsons (2 Players World, set 3)\0", NULL, "Konami", "GX072", - NULL, NULL, NULL, NULL, - BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_PREFIX_KONAMI, GBF_SCRFIGHT, 0, - NULL, simpsons2p3RomInfo, simpsons2p3RomName, NULL, NULL, SimpsonsInputInfo, NULL, - DrvInit, DrvExit, DrvFrame, DrvDraw, DrvScan, &DrvRecalc, 0x800, - 288, 224, 4, 3 -}; - - // The Simpsons (2 Players Asia) static struct BurnRomInfo simpsons2paRomDesc[] = { diff --git a/src/burn/drv/konami/d_surpratk.cpp b/src/burn/drv/konami/d_surpratk.cpp index c16ae63ed..7c0be7dc5 100644 --- a/src/burn/drv/konami/d_surpratk.cpp +++ b/src/burn/drv/konami/d_surpratk.cpp @@ -359,7 +359,7 @@ static INT32 DrvInit() DrvGfxDecode(); } - konamiInit(1); + konamiInit(0); konamiOpen(0); konamiMapMemory(DrvKonRAM, 0x0800, 0x1fff, KON_RAM); konamiMapMemory(DrvKonROM + 0x10000, 0x2000, 0x3fff, KON_ROM); diff --git a/src/burn/drv/konami/d_thunderx.cpp b/src/burn/drv/konami/d_thunderx.cpp index 68366f78f..87b0dad29 100644 --- a/src/burn/drv/konami/d_thunderx.cpp +++ b/src/burn/drv/konami/d_thunderx.cpp @@ -660,7 +660,7 @@ static INT32 DrvInit() DrvGfxDecode(); } - konamiInit(1); + konamiInit(0); konamiOpen(0); konamiMapMemory(DrvKonRAM, 0x4000, 0x57ff, KON_RAM); konamiMapMemory(DrvBankRAM, 0x5800, 0x5fff, KON_RAM); diff --git a/src/burn/drv/konami/d_vendetta.cpp b/src/burn/drv/konami/d_vendetta.cpp index 5a3228205..cbf0399bc 100644 --- a/src/burn/drv/konami/d_vendetta.cpp +++ b/src/burn/drv/konami/d_vendetta.cpp @@ -657,7 +657,7 @@ static INT32 DrvInit(INT32 nGame) { memcpy (DrvKonROM + 0x08000, DrvKonROM + 0x28000, 0x8000); - konamiInit(1); + konamiInit(0); konamiOpen(0); konamiMapMemory(DrvKonRAM, 0x0000, 0x1fff, KON_RAM); konamiMapMemory(DrvKonROM + 0x10000, 0x6000, 0x7fff, KON_ROM); @@ -678,7 +678,7 @@ static INT32 DrvInit(INT32 nGame) } else { memcpy (DrvKonROM + 0x08000, DrvKonROM + 0x48000, 0x8000); - konamiInit(1); + konamiInit(0); konamiOpen(0); konamiMapMemory(DrvKonROM + 0x10000, 0x0000, 0x1fff, KON_ROM); konamiMapMemory(DrvKonRAM, 0x2000, 0x3fff, KON_RAM); @@ -955,24 +955,24 @@ static INT32 DrvScan(INT32 nAction,INT32 *pnMin) } -// Vendetta (World, 4 Players ver. T) +// Vendetta (World 4 Players ver. T) static struct BurnRomInfo vendettaRomDesc[] = { - { "081t01", 0x040000, 0xe76267f5, 1 | BRF_PRG | BRF_ESS }, // 0 Konami Custom Code + { "081t01", 0x040000, 0xe76267f5, 1 | BRF_PRG | BRF_ESS }, // 0 Konami Custom Code - { "081b02", 0x010000, 0x4c604d9b, 2 | BRF_PRG | BRF_ESS }, // 1 Z80 Code + { "081b02", 0x010000, 0x4c604d9b, 2 | BRF_PRG | BRF_ESS }, // 1 Z80 Code - { "081a09", 0x080000, 0xb4c777a9, 3 | BRF_GRA }, // 2 K052109 Tiles - { "081a08", 0x080000, 0x272ac8d9, 3 | BRF_GRA }, // 3 + { "081a09", 0x080000, 0xb4c777a9, 3 | BRF_GRA }, // 2 K052109 Tiles + { "081a08", 0x080000, 0x272ac8d9, 3 | BRF_GRA }, // 3 - { "081a04", 0x100000, 0x464b9aa4, 4 | BRF_GRA }, // 4 K053247 Tiles - { "081a05", 0x100000, 0x4e173759, 4 | BRF_GRA }, // 5 - { "081a06", 0x100000, 0xe9fe6d80, 4 | BRF_GRA }, // 6 - { "081a07", 0x100000, 0x8a22b29a, 4 | BRF_GRA }, // 7 + { "081a04", 0x100000, 0x464b9aa4, 4 | BRF_GRA }, // 4 K053247 Tiles + { "081a05", 0x100000, 0x4e173759, 4 | BRF_GRA }, // 5 + { "081a06", 0x100000, 0xe9fe6d80, 4 | BRF_GRA }, // 6 + { "081a07", 0x100000, 0x8a22b29a, 4 | BRF_GRA }, // 7 - { "081a03", 0x100000, 0x14b6baea, 5 | BRF_SND }, // 8 K053260 Samples + { "081a03", 0x100000, 0x14b6baea, 5 | BRF_SND }, // 8 K053260 Samples - { "vendetta.nv", 0x000080, 0xfbac4e30, BRF_OPT }, + { "vendetta.nv", 0x000080, 0xfbac4e30, BRF_OPT }, }; STD_ROM_PICK(vendetta) @@ -985,7 +985,7 @@ static INT32 VendettaInit() struct BurnDriver BurnDrvVendetta = { "vendetta", NULL, NULL, NULL, "1991", - "Vendetta (World, 4 Players ver. T)\0", NULL, "Konami", "GX081", + "Vendetta (World 4 Players ver. T)\0", NULL, "Konami", "GX081", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 4, HARDWARE_PREFIX_KONAMI, GBF_SCRFIGHT, 0, NULL, vendettaRomInfo, vendettaRomName, NULL, NULL, Vendet4pInputInfo, NULL, @@ -994,24 +994,24 @@ struct BurnDriver BurnDrvVendetta = { }; -// Vendetta (World, 4 Players ver. R) +// Vendetta (World 4 Players ver. R) static struct BurnRomInfo vendettarRomDesc[] = { - { "081r01", 0x040000, 0x84796281, 1 | BRF_PRG | BRF_ESS }, // 0 Konami Custom Code + { "081r01", 0x040000, 0x84796281, 1 | BRF_PRG | BRF_ESS }, // 0 Konami Custom Code - { "081b02", 0x010000, 0x4c604d9b, 2 | BRF_PRG | BRF_ESS }, // 1 Z80 Code + { "081b02", 0x010000, 0x4c604d9b, 2 | BRF_PRG | BRF_ESS }, // 1 Z80 Code - { "081a09", 0x080000, 0xb4c777a9, 3 | BRF_GRA }, // 2 K052109 Tiles - { "081a08", 0x080000, 0x272ac8d9, 3 | BRF_GRA }, // 3 + { "081a09", 0x080000, 0xb4c777a9, 3 | BRF_GRA }, // 2 K052109 Tiles + { "081a08", 0x080000, 0x272ac8d9, 3 | BRF_GRA }, // 3 - { "081a04", 0x100000, 0x464b9aa4, 4 | BRF_GRA }, // 4 K053247 Tiles - { "081a05", 0x100000, 0x4e173759, 4 | BRF_GRA }, // 5 - { "081a06", 0x100000, 0xe9fe6d80, 4 | BRF_GRA }, // 6 - { "081a07", 0x100000, 0x8a22b29a, 4 | BRF_GRA }, // 7 + { "081a04", 0x100000, 0x464b9aa4, 4 | BRF_GRA }, // 4 K053247 Tiles + { "081a05", 0x100000, 0x4e173759, 4 | BRF_GRA }, // 5 + { "081a06", 0x100000, 0xe9fe6d80, 4 | BRF_GRA }, // 6 + { "081a07", 0x100000, 0x8a22b29a, 4 | BRF_GRA }, // 7 - { "081a03", 0x100000, 0x14b6baea, 5 | BRF_SND }, // 8 K053260 Samples + { "081a03", 0x100000, 0x14b6baea, 5 | BRF_SND }, // 8 K053260 Samples - { "vendettar.nv", 0x000080, 0xec3f0449, BRF_OPT }, + { "vendettar.nv", 0x000080, 0xec3f0449, BRF_OPT }, }; STD_ROM_PICK(vendettar) @@ -1019,7 +1019,7 @@ STD_ROM_FN(vendettar) struct BurnDriver BurnDrvVendettar = { "vendettar", "vendetta", NULL, NULL, "1991", - "Vendetta (World, 4 Players ver. R)\0", NULL, "Konami", "GX081", + "Vendetta (World 4 Players ver. R)\0", NULL, "Konami", "GX081", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE, 4, HARDWARE_PREFIX_KONAMI, GBF_SCRFIGHT, 0, NULL, vendettarRomInfo, vendettarRomName, NULL, NULL, Vendet4pInputInfo, NULL, @@ -1028,24 +1028,24 @@ struct BurnDriver BurnDrvVendettar = { }; -// Vendetta (World, 2 Players ver. W) +// Vendetta (World 2 Players ver. W) static struct BurnRomInfo vendetta2pRomDesc[] = { - { "081w01", 0x040000, 0xcee57132, 1 | BRF_PRG | BRF_ESS }, // 0 Konami Custom Code + { "081w01", 0x040000, 0xcee57132, 1 | BRF_PRG | BRF_ESS }, // 0 Konami Custom Code - { "081b02", 0x010000, 0x4c604d9b, 2 | BRF_PRG | BRF_ESS }, // 1 Z80 Code + { "081b02", 0x010000, 0x4c604d9b, 2 | BRF_PRG | BRF_ESS }, // 1 Z80 Code - { "081a09", 0x080000, 0xb4c777a9, 3 | BRF_GRA }, // 2 K052109 Tiles - { "081a08", 0x080000, 0x272ac8d9, 3 | BRF_GRA }, // 3 + { "081a09", 0x080000, 0xb4c777a9, 3 | BRF_GRA }, // 2 K052109 Tiles + { "081a08", 0x080000, 0x272ac8d9, 3 | BRF_GRA }, // 3 - { "081a04", 0x100000, 0x464b9aa4, 4 | BRF_GRA }, // 4 K053247 Tiles - { "081a05", 0x100000, 0x4e173759, 4 | BRF_GRA }, // 5 - { "081a06", 0x100000, 0xe9fe6d80, 4 | BRF_GRA }, // 6 - { "081a07", 0x100000, 0x8a22b29a, 4 | BRF_GRA }, // 7 + { "081a04", 0x100000, 0x464b9aa4, 4 | BRF_GRA }, // 4 K053247 Tiles + { "081a05", 0x100000, 0x4e173759, 4 | BRF_GRA }, // 5 + { "081a06", 0x100000, 0xe9fe6d80, 4 | BRF_GRA }, // 6 + { "081a07", 0x100000, 0x8a22b29a, 4 | BRF_GRA }, // 7 - { "081a03", 0x100000, 0x14b6baea, 5 | BRF_SND }, // 8 K053260 Samples + { "081a03", 0x100000, 0x14b6baea, 5 | BRF_SND }, // 8 K053260 Samples - { "vendetta.nv", 0x000080, 0xfbac4e30, BRF_OPT }, + { "vendetta.nv", 0x000080, 0xfbac4e30, BRF_OPT }, }; STD_ROM_PICK(vendetta2p) @@ -1053,7 +1053,7 @@ STD_ROM_FN(vendetta2p) struct BurnDriver BurnDrvVendetta2p = { "vendetta2p", "vendetta", NULL, NULL, "1991", - "Vendetta (World, 2 Players ver. W)\0", NULL, "Konami", "GX081", + "Vendetta (World 2 Players ver. W)\0", NULL, "Konami", "GX081", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_PREFIX_KONAMI, GBF_SCRFIGHT, 0, NULL, vendetta2pRomInfo, vendetta2pRomName, NULL, NULL, VendettaInputInfo, NULL, @@ -1062,58 +1062,24 @@ struct BurnDriver BurnDrvVendetta2p = { }; -// Vendetta (World, 2 Players ver. EB-A?) - -static struct BurnRomInfo vendetta2pebaRomDesc[] = { - { "081-eb-a01.17c", 0x040000, 0x8430bb52, 1 | BRF_PRG | BRF_ESS }, // 0 Konami Custom Code - - { "081b02", 0x010000, 0x4c604d9b, 2 | BRF_PRG | BRF_ESS }, // 1 Z80 Code - - { "081a09", 0x080000, 0xb4c777a9, 3 | BRF_GRA }, // 2 K052109 Tiles - { "081a08", 0x080000, 0x272ac8d9, 3 | BRF_GRA }, // 3 - - { "081a04", 0x100000, 0x464b9aa4, 4 | BRF_GRA }, // 4 K053247 Tiles - { "081a05", 0x100000, 0x4e173759, 4 | BRF_GRA }, // 5 - { "081a06", 0x100000, 0xe9fe6d80, 4 | BRF_GRA }, // 6 - { "081a07", 0x100000, 0x8a22b29a, 4 | BRF_GRA }, // 7 - - { "081a03", 0x100000, 0x14b6baea, 5 | BRF_SND }, // 8 K053260 Samples - - { "vendetta.nv", 0x000080, 0xfbac4e30, BRF_OPT }, -}; - -STD_ROM_PICK(vendetta2peba) -STD_ROM_FN(vendetta2peba) - -struct BurnDriver BurnDrvVendetta2peba = { - "vendetta2peba", "vendetta", NULL, NULL, "1991", - "Vendetta (World, 2 Players ver. EB-A?)\0", NULL, "Konami", "GX081", - NULL, NULL, NULL, NULL, - BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_PREFIX_KONAMI, GBF_SCRFIGHT, 0, - NULL, vendetta2pebaRomInfo, vendetta2pebaRomName, NULL, NULL, VendettaInputInfo, NULL, - VendettaInit, DrvExit, DrvFrame, DrvDraw, DrvScan, &DrvRecalc, 0x800, - 304, 224, 4, 3 -}; - - -// Vendetta (Asia, 2 Players ver. U) +// Vendetta (Asia 2 Players ver. U) static struct BurnRomInfo vendetta2puRomDesc[] = { - { "081u01", 0x040000, 0xb4d9ade5, 1 | BRF_PRG | BRF_ESS }, // 0 Konami Custom Code + { "081u01", 0x040000, 0xb4d9ade5, 1 | BRF_PRG | BRF_ESS }, // 0 Konami Custom Code - { "081b02", 0x010000, 0x4c604d9b, 2 | BRF_PRG | BRF_ESS }, // 1 Z80 Code + { "081b02", 0x010000, 0x4c604d9b, 2 | BRF_PRG | BRF_ESS }, // 1 Z80 Code - { "081a09", 0x080000, 0xb4c777a9, 3 | BRF_GRA }, // 2 K052109 Tiles - { "081a08", 0x080000, 0x272ac8d9, 3 | BRF_GRA }, // 3 + { "081a09", 0x080000, 0xb4c777a9, 3 | BRF_GRA }, // 2 K052109 Tiles + { "081a08", 0x080000, 0x272ac8d9, 3 | BRF_GRA }, // 3 - { "081a04", 0x100000, 0x464b9aa4, 4 | BRF_GRA }, // 4 K053247 Tiles - { "081a05", 0x100000, 0x4e173759, 4 | BRF_GRA }, // 5 - { "081a06", 0x100000, 0xe9fe6d80, 4 | BRF_GRA }, // 6 - { "081a07", 0x100000, 0x8a22b29a, 4 | BRF_GRA }, // 7 + { "081a04", 0x100000, 0x464b9aa4, 4 | BRF_GRA }, // 4 K053247 Tiles + { "081a05", 0x100000, 0x4e173759, 4 | BRF_GRA }, // 5 + { "081a06", 0x100000, 0xe9fe6d80, 4 | BRF_GRA }, // 6 + { "081a07", 0x100000, 0x8a22b29a, 4 | BRF_GRA }, // 7 - { "081a03", 0x100000, 0x14b6baea, 5 | BRF_SND }, // 8 K053260 Samples + { "081a03", 0x100000, 0x14b6baea, 5 | BRF_SND }, // 8 K053260 Samples - { "vendetta.nv", 0x000080, 0xfbac4e30, BRF_OPT }, + { "vendetta.nv", 0x000080, 0xfbac4e30, BRF_OPT }, }; STD_ROM_PICK(vendetta2pu) @@ -1121,7 +1087,7 @@ STD_ROM_FN(vendetta2pu) struct BurnDriver BurnDrvVendetta2pu = { "vendetta2pu", "vendetta", NULL, NULL, "1991", - "Vendetta (Asia, 2 Players ver. U)\0", NULL, "Konami", "GX081", + "Vendetta (Asia 2 Players ver. U)\0", NULL, "Konami", "GX081", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_PREFIX_KONAMI, GBF_SCRFIGHT, 0, NULL, vendetta2puRomInfo, vendetta2puRomName, NULL, NULL, VendettaInputInfo, NULL, @@ -1130,24 +1096,24 @@ struct BurnDriver BurnDrvVendetta2pu = { }; -// Vendetta (Asia, 2 Players ver. D) +// Vendetta (Asia 2 Players ver. D) static struct BurnRomInfo vendetta2pdRomDesc[] = { - { "081d01", 0x040000, 0x335da495, 1 | BRF_PRG | BRF_ESS }, // 0 Konami Custom Code + { "081d01", 0x040000, 0x335da495, 1 | BRF_PRG | BRF_ESS }, // 0 Konami Custom Code - { "081b02", 0x010000, 0x4c604d9b, 2 | BRF_PRG | BRF_ESS }, // 1 Z80 Code + { "081b02", 0x010000, 0x4c604d9b, 2 | BRF_PRG | BRF_ESS }, // 1 Z80 Code - { "081a09", 0x080000, 0xb4c777a9, 3 | BRF_GRA }, // 2 K052109 Tiles - { "081a08", 0x080000, 0x272ac8d9, 3 | BRF_GRA }, // 3 + { "081a09", 0x080000, 0xb4c777a9, 3 | BRF_GRA }, // 2 K052109 Tiles + { "081a08", 0x080000, 0x272ac8d9, 3 | BRF_GRA }, // 3 - { "081a04", 0x100000, 0x464b9aa4, 4 | BRF_GRA }, // 4 K053247 Tiles - { "081a05", 0x100000, 0x4e173759, 4 | BRF_GRA }, // 5 - { "081a06", 0x100000, 0xe9fe6d80, 4 | BRF_GRA }, // 6 - { "081a07", 0x100000, 0x8a22b29a, 4 | BRF_GRA }, // 7 + { "081a04", 0x100000, 0x464b9aa4, 4 | BRF_GRA }, // 4 K053247 Tiles + { "081a05", 0x100000, 0x4e173759, 4 | BRF_GRA }, // 5 + { "081a06", 0x100000, 0xe9fe6d80, 4 | BRF_GRA }, // 6 + { "081a07", 0x100000, 0x8a22b29a, 4 | BRF_GRA }, // 7 - { "081a03", 0x100000, 0x14b6baea, 5 | BRF_SND }, // 8 K053260 Samples + { "081a03", 0x100000, 0x14b6baea, 5 | BRF_SND }, // 8 K053260 Samples - { "vendetta.nv", 0x000080, 0xfbac4e30, BRF_OPT }, + { "vendetta.nv", 0x000080, 0xfbac4e30, BRF_OPT }, }; STD_ROM_PICK(vendetta2pd) @@ -1155,7 +1121,7 @@ STD_ROM_FN(vendetta2pd) struct BurnDriver BurnDrvVendetta2pd = { "vendetta2pd", "vendetta", NULL, NULL, "1991", - "Vendetta (Asia, 2 Players ver. D)\0", NULL, "Konami", "GX081", + "Vendetta (Asia 2 Players ver. D)\0", NULL, "Konami", "GX081", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_PREFIX_KONAMI, GBF_SCRFIGHT, 0, NULL, vendetta2pdRomInfo, vendetta2pdRomName, NULL, NULL, VendettaInputInfo, NULL, @@ -1164,24 +1130,24 @@ struct BurnDriver BurnDrvVendetta2pd = { }; -// Crime Fighters 2 (Japan, 2 Players ver. P) +// Crime Fighters 2 (Japan 2 Players ver. P) static struct BurnRomInfo vendettajRomDesc[] = { - { "081p01", 0x040000, 0x5fe30242, 1 | BRF_PRG | BRF_ESS }, // 0 Konami Custom Code + { "081p01", 0x040000, 0x5fe30242, 1 | BRF_PRG | BRF_ESS }, // 0 Konami Custom Code - { "081b02", 0x010000, 0x4c604d9b, 2 | BRF_PRG | BRF_ESS }, // 1 Z80 Code + { "081b02", 0x010000, 0x4c604d9b, 2 | BRF_PRG | BRF_ESS }, // 1 Z80 Code - { "081a09", 0x080000, 0xb4c777a9, 3 | BRF_GRA }, // 2 K052109 Tiles - { "081a08", 0x080000, 0x272ac8d9, 3 | BRF_GRA }, // 3 + { "081a09", 0x080000, 0xb4c777a9, 3 | BRF_GRA }, // 2 K052109 Tiles + { "081a08", 0x080000, 0x272ac8d9, 3 | BRF_GRA }, // 3 - { "081a04", 0x100000, 0x464b9aa4, 4 | BRF_GRA }, // 4 K053247 Tiles - { "081a05", 0x100000, 0x4e173759, 4 | BRF_GRA }, // 5 - { "081a06", 0x100000, 0xe9fe6d80, 4 | BRF_GRA }, // 6 - { "081a07", 0x100000, 0x8a22b29a, 4 | BRF_GRA }, // 7 + { "081a04", 0x100000, 0x464b9aa4, 4 | BRF_GRA }, // 4 K053247 Tiles + { "081a05", 0x100000, 0x4e173759, 4 | BRF_GRA }, // 5 + { "081a06", 0x100000, 0xe9fe6d80, 4 | BRF_GRA }, // 6 + { "081a07", 0x100000, 0x8a22b29a, 4 | BRF_GRA }, // 7 - { "081a03", 0x100000, 0x14b6baea, 5 | BRF_SND }, // 8 K053260 Samples + { "081a03", 0x100000, 0x14b6baea, 5 | BRF_SND }, // 8 K053260 Samples - { "vendettaj.nv", 0x000080, 0x3550a54e, BRF_OPT }, + { "vendettaj.nv", 0x000080, 0x3550a54e, BRF_OPT }, }; STD_ROM_PICK(vendettaj) @@ -1189,7 +1155,7 @@ STD_ROM_FN(vendettaj) struct BurnDriver BurnDrvVendettaj = { "vendettaj", "vendetta", NULL, NULL, "1991", - "Crime Fighters 2 (Japan, 2 Players ver. P)\0", NULL, "Konami", "GX081", + "Crime Fighters 2 (Japan 2 Players ver. P)\0", NULL, "Konami", "GX081", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_PREFIX_KONAMI, GBF_SCRFIGHT, 0, NULL, vendettajRomInfo, vendettajRomName, NULL, NULL, VendettaInputInfo, NULL, @@ -1201,21 +1167,21 @@ struct BurnDriver BurnDrvVendettaj = { // Escape Kids (Asia, 4 Players) static struct BurnRomInfo esckidsRomDesc[] = { - { "17c.bin", 0x020000, 0x9dfba99c, 1 | BRF_PRG | BRF_ESS }, // 0 Konami Custom Code + { "17c.bin", 0x020000, 0x9dfba99c, 1 | BRF_PRG | BRF_ESS }, // 0 Konami Custom Code - { "975f02", 0x010000, 0x994fb229, 2 | BRF_PRG | BRF_ESS }, // 1 Z80 Code + { "975f02", 0x010000, 0x994fb229, 2 | BRF_PRG | BRF_ESS }, // 1 Z80 Code - { "975c09", 0x080000, 0xbc52210e, 3 | BRF_GRA }, // 2 K052109 Tiles - { "975c08", 0x080000, 0xfcff9256, 3 | BRF_GRA }, // 3 + { "975c09", 0x080000, 0xbc52210e, 3 | BRF_GRA }, // 2 K052109 Tiles + { "975c08", 0x080000, 0xfcff9256, 3 | BRF_GRA }, // 3 - { "975c04", 0x100000, 0x15688a6f, 4 | BRF_GRA }, // 4 K053247 Tiles - { "975c05", 0x100000, 0x1ff33bb7, 4 | BRF_GRA }, // 5 - { "975c06", 0x100000, 0x36d410f9, 4 | BRF_GRA }, // 6 - { "975c07", 0x100000, 0x97ec541e, 4 | BRF_GRA }, // 7 + { "975c04", 0x100000, 0x15688a6f, 4 | BRF_GRA }, // 4 K053247 Tiles + { "975c05", 0x100000, 0x1ff33bb7, 4 | BRF_GRA }, // 5 + { "975c06", 0x100000, 0x36d410f9, 4 | BRF_GRA }, // 6 + { "975c07", 0x100000, 0x97ec541e, 4 | BRF_GRA }, // 7 - { "975c03", 0x080000, 0xdc4a1707, 5 | BRF_SND }, // 8 K053260 Samples + { "975c03", 0x080000, 0xdc4a1707, 5 | BRF_SND }, // 8 K053260 Samples - { "esckids.nv", 0x000080, 0xa8522e1f, BRF_OPT }, + { "esckids.nv", 0x000080, 0xa8522e1f, BRF_OPT }, }; STD_ROM_PICK(esckids) @@ -1240,21 +1206,21 @@ struct BurnDriver BurnDrvEsckids = { // Escape Kids (Japan, 2 Players) static struct BurnRomInfo esckidsjRomDesc[] = { - { "975r01", 0x020000, 0x7b5c5572, 1 | BRF_PRG | BRF_ESS }, // 0 Konami Custom Code + { "975r01", 0x020000, 0x7b5c5572, 1 | BRF_PRG | BRF_ESS }, // 0 Konami Custom Code - { "975f02", 0x010000, 0x994fb229, 2 | BRF_PRG | BRF_ESS }, // 1 Z80 Code + { "975f02", 0x010000, 0x994fb229, 2 | BRF_PRG | BRF_ESS }, // 1 Z80 Code - { "975c09", 0x080000, 0xbc52210e, 3 | BRF_GRA }, // 2 K052109 Tiles - { "975c08", 0x080000, 0xfcff9256, 3 | BRF_GRA }, // 3 + { "975c09", 0x080000, 0xbc52210e, 3 | BRF_GRA }, // 2 K052109 Tiles + { "975c08", 0x080000, 0xfcff9256, 3 | BRF_GRA }, // 3 - { "975c04", 0x100000, 0x15688a6f, 4 | BRF_GRA }, // 4 K053247 Tiles - { "975c05", 0x100000, 0x1ff33bb7, 4 | BRF_GRA }, // 5 - { "975c06", 0x100000, 0x36d410f9, 4 | BRF_GRA }, // 6 - { "975c07", 0x100000, 0x97ec541e, 4 | BRF_GRA }, // 7 + { "975c04", 0x100000, 0x15688a6f, 4 | BRF_GRA }, // 4 K053247 Tiles + { "975c05", 0x100000, 0x1ff33bb7, 4 | BRF_GRA }, // 5 + { "975c06", 0x100000, 0x36d410f9, 4 | BRF_GRA }, // 6 + { "975c07", 0x100000, 0x97ec541e, 4 | BRF_GRA }, // 7 - { "975c03", 0x080000, 0xdc4a1707, 5 | BRF_SND }, // 8 K053260 Samples + { "975c03", 0x080000, 0xdc4a1707, 5 | BRF_SND }, // 8 K053260 Samples - { "esckidsj.nv", 0x000080, 0x985e2a2d, BRF_OPT }, + { "esckidsj.nv", 0x000080, 0x985e2a2d, BRF_OPT }, }; STD_ROM_PICK(esckidsj) diff --git a/src/burn/drv/pst90s/d_drgnmst.cpp b/src/burn/drv/pst90s/d_drgnmst.cpp index f7be25ca5..5df1fabf8 100644 --- a/src/burn/drv/pst90s/d_drgnmst.cpp +++ b/src/burn/drv/pst90s/d_drgnmst.cpp @@ -593,8 +593,8 @@ static INT32 DrvInit() SekClose(); pic16c5xInit(0, 0x16C55, DrvPicROM); - pPic16c5xReadPort = drgnmst_sound_readport; - pPic16c5xWritePort = drgnmst_sound_writeport; + pic16c5xSetReadPortHandler(drgnmst_sound_readport); + pic16c5xSetWritePortHandler(drgnmst_sound_writeport); MSM6295Init(0, 1000000 / 132, 0); MSM6295Init(1, 1000000 / 132, 0); @@ -971,7 +971,7 @@ static INT32 DrvScan(INT32 nAction,INT32 *pnMin) if (nAction & ACB_DRIVER_DATA) { SekScan(nAction); - pic16c5xScan(nAction, 0); + pic16c5xScan(nAction); MSM6295Scan(0, nAction); MSM6295Scan(1, nAction); diff --git a/src/burn/drv/pst90s/d_playmark.cpp b/src/burn/drv/pst90s/d_playmark.cpp index 8096378e7..fb361667e 100644 --- a/src/burn/drv/pst90s/d_playmark.cpp +++ b/src/burn/drv/pst90s/d_playmark.cpp @@ -1053,8 +1053,8 @@ static INT32 DrvInit() SekClose(); pic16c5xInit(0, 0x16C57, DrvPicRom); - pPic16c5xReadPort = PlaymarkSoundReadPort; - pPic16c5xWritePort = PlaymarkSoundWritePort; + pic16c5xSetReadPortHandler(PlaymarkSoundReadPort); + pic16c5xSetWritePortHandler(PlaymarkSoundWritePort); MSM6295Init(0, 1000000 / 132, 0); MSM6295SetRoute(0, 1.00, BURN_SND_ROUTE_BOTH); @@ -1144,8 +1144,8 @@ static INT32 ExcelsrInit() SekClose(); pic16c5xInit(0, 0x16C57, DrvPicRom); - pPic16c5xReadPort = PlaymarkSoundReadPort; - pPic16c5xWritePort = PlaymarkSoundWritePort; + pic16c5xSetReadPortHandler(PlaymarkSoundReadPort); + pic16c5xSetWritePortHandler(PlaymarkSoundWritePort); MSM6295Init(0, 1000000 / 132, 0); MSM6295SetRoute(0, 1.00, BURN_SND_ROUTE_BOTH); @@ -1246,8 +1246,8 @@ static INT32 HotmindInit() SekClose(); pic16c5xInit(0, 0x16C57, DrvPicRom); - pPic16c5xReadPort = PlaymarkSoundReadPort; - pPic16c5xWritePort = PlaymarkSoundWritePort; + pic16c5xSetReadPortHandler(PlaymarkSoundReadPort); + pic16c5xSetWritePortHandler(PlaymarkSoundWritePort); MSM6295Init(0, 1000000 / 132, 0); MSM6295SetRoute(0, 1.00, BURN_SND_ROUTE_BOTH); diff --git a/src/cpu/h6280_intf.cpp b/src/cpu/h6280_intf.cpp index 2239b1989..e5a1d64dc 100644 --- a/src/cpu/h6280_intf.cpp +++ b/src/cpu/h6280_intf.cpp @@ -31,8 +31,7 @@ static struct h6280_handler *sPointer; INT32 nh6280CpuCount = 0; INT32 nh6280CpuActive = -1; -extern void h6280_set_irq_line(INT32 irqline, INT32 state); -extern void h6280_init(INT32 (*irqcallback)(INT32)); +void h6280_set_irq_line(INT32 irqline, INT32 state); void h6280MapMemory(UINT8 *src, UINT32 start, UINT32 finish, INT32 type) { @@ -97,11 +96,37 @@ void h6280SetReadHandler(UINT8 (*read)(UINT32)) sPointer->h6280Read = read; } +static void h6280_write_rom(UINT32 address, UINT8 data) +{ +#if defined FBA_DEBUG + if (!DebugCPU_H6280Initted) bprintf(PRINT_ERROR, _T("h6280_write_rom called without init\n")); + if (nh6280CpuActive == -1) bprintf(PRINT_ERROR, _T("h6280_write_rom called with no CPU open\n")); +#endif + + address &= 0x1fffff; + + if (sPointer->mem[READ][address >> PAGE_SHIFT] != NULL) { + sPointer->mem[READ][address >> PAGE_SHIFT][address & PAGE_MASK] = data; + } + + if (sPointer->mem[FETCH][address >> PAGE_SHIFT] != NULL) { + sPointer->mem[FETCH][address >> PAGE_SHIFT][address & PAGE_MASK] = data; + } + + if (sPointer->mem[WRITE][address >> PAGE_SHIFT] != NULL) { + sPointer->mem[WRITE][address >> PAGE_SHIFT][address & PAGE_MASK] = data; + } + + if (sPointer->h6280Write != NULL) { + sPointer->h6280Write(address, data); + } +} + void h6280WritePort(UINT8 port, UINT8 data) { #if defined FBA_DEBUG - if (!DebugCPU_H6280Initted) bprintf(PRINT_ERROR, _T("h6280WritePort called without init\n")); - if (nh6280CpuActive == -1) bprintf(PRINT_ERROR, _T("h6280WritePort called with no CPU open\n")); + if (!DebugCPU_H6280Initted) bprintf(PRINT_ERROR, _T("h6280_write_port called without init\n")); + if (nh6280CpuActive == -1) bprintf(PRINT_ERROR, _T("h6280_write_port called with no CPU open\n")); #endif // bprintf (0, _T("%5.5x write port\n"), port); @@ -117,8 +142,8 @@ void h6280WritePort(UINT8 port, UINT8 data) void h6280Write(UINT32 address, UINT8 data) { #if defined FBA_DEBUG - if (!DebugCPU_H6280Initted) bprintf(PRINT_ERROR, _T("h6280Write called without init\n")); - if (nh6280CpuActive == -1) bprintf(PRINT_ERROR, _T("h6280Write called with no CPU open\n")); + if (!DebugCPU_H6280Initted) bprintf(PRINT_ERROR, _T("h6280_write called without init\n")); + if (nh6280CpuActive == -1) bprintf(PRINT_ERROR, _T("h6280_write called with no CPU open\n")); #endif address &= 0x1fffff; @@ -141,8 +166,8 @@ void h6280Write(UINT32 address, UINT8 data) UINT8 h6280Read(UINT32 address) { #if defined FBA_DEBUG - if (!DebugCPU_H6280Initted) bprintf(PRINT_ERROR, _T("h6280Read called without init\n")); - if (nh6280CpuActive == -1) bprintf(PRINT_ERROR, _T("h6280Read called with no CPU open\n")); + if (!DebugCPU_H6280Initted) bprintf(PRINT_ERROR, _T("h6280_read called without init\n")); + if (nh6280CpuActive == -1) bprintf(PRINT_ERROR, _T("h6280_read called with no CPU open\n")); #endif address &= 0x1fffff; @@ -163,8 +188,8 @@ UINT8 h6280Read(UINT32 address) UINT8 h6280Fetch(UINT32 address) { #if defined FBA_DEBUG - if (!DebugCPU_H6280Initted) bprintf(PRINT_ERROR, _T("h6280Fetch called without init\n")); - if (nh6280CpuActive == -1) bprintf(PRINT_ERROR, _T("h6280Fetch called with no CPU open\n")); + if (!DebugCPU_H6280Initted) bprintf(PRINT_ERROR, _T("h6280_fetch1 called without init\n")); + if (nh6280CpuActive == -1) bprintf(PRINT_ERROR, _T("h6280_fetch1 called with no CPU open\n")); #endif address &= 0x1fffff; @@ -196,32 +221,6 @@ void h6280SetIRQLine(INT32 line, INT32 state) } } -static void h6280_write_rom(UINT32 address, UINT8 data) -{ -#if defined FBA_DEBUG - if (!DebugCPU_H6280Initted) bprintf(PRINT_ERROR, _T("h6280_write_rom called without init\n")); - if (nh6280CpuActive == -1) bprintf(PRINT_ERROR, _T("h6280_write_rom called with no CPU open\n")); -#endif - - address &= 0x1fffff; - - if (sPointer->mem[READ][address >> PAGE_SHIFT] != NULL) { - sPointer->mem[READ][address >> PAGE_SHIFT][address & PAGE_MASK] = data; - } - - if (sPointer->mem[FETCH][address >> PAGE_SHIFT] != NULL) { - sPointer->mem[FETCH][address >> PAGE_SHIFT][address & PAGE_MASK] = data; - } - - if (sPointer->mem[WRITE][address >> PAGE_SHIFT] != NULL) { - sPointer->mem[WRITE][address >> PAGE_SHIFT][address & PAGE_MASK] = data; - } - - if (sPointer->h6280Write != NULL) { - sPointer->h6280Write(address, data); - } -} - static cpu_core_config H6280CheatCpuConfig = { h6280Open, @@ -242,7 +241,11 @@ void h6280Init(INT32 nCpu) { DebugCPU_H6280Initted = 1; - sPointer = &sHandler[nCpu % MAX_H6280]; +#if defined FBA_DEBUG + if (nCpu >= MAX_H6280) bprintf(PRINT_ERROR, _T("h6280Init nCpu is more than MAX_CPU %d (MAX is %d)\n"), nCpu, MAX_H6280); +#endif + + sPointer = &sHandler[nCpu]; sPointer->h6280 = (h6280_Regs*)BurnMalloc(sizeof(h6280_Regs)); diff --git a/src/cpu/h6280_intf.h b/src/cpu/h6280_intf.h index cb66794ab..db5ad189c 100644 --- a/src/cpu/h6280_intf.h +++ b/src/cpu/h6280_intf.h @@ -8,8 +8,8 @@ UINT8 h6280Fetch(UINT32 address); #define H6280_WRITE 2 #define H6280_FETCH 4 -#define H6280_ROM (H6280_READ | H6280_FETCH) -#define H6280_RAM (H6280_READ | H6280_FETCH | H6280_WRITE) +#define H6280_ROM (H6280_READ | H6280_FETCH) +#define H6280_RAM (H6280_READ | H6280_FETCH | H6280_WRITE) void h6280MapMemory(UINT8 *src, UINT32 start, UINT32 finish, INT32 type); @@ -20,7 +20,7 @@ void h6280SetWritePortHandler(void (*write)(UINT8, UINT8)); void h6280SetWriteHandler(void (*write)(UINT32, UINT8)); void h6280SetReadHandler(UINT8 (*read)(UINT32)); -void h6280Init(INT32); +void h6280Init(INT32 nCPU); void h6280Open(INT32); void h6280Reset(); INT32 h6280Run(INT32 cycles); @@ -45,7 +45,6 @@ void h6280RunEnd(); INT32 h6280GetActive(); - UINT8 h6280_irq_status_r(UINT32 offset); void h6280_irq_status_w(UINT32 offset, UINT8 data); UINT8 h6280_timer_r(UINT32); diff --git a/src/cpu/konami_intf.cpp b/src/cpu/konami_intf.cpp index dd91876b4..1ecf75644 100644 --- a/src/cpu/konami_intf.cpp +++ b/src/cpu/konami_intf.cpp @@ -1,6 +1,8 @@ #include "burnint.h" #include "konami_intf.h" +#define MAX_CPU 1 + #define MEMORY_SPACE 0x10000 #define PAGE_SIZE 0x100 #define PAGE_MASK 0xff @@ -16,12 +18,13 @@ static INT32 nKonamiCpuActive = -1; static UINT8 *mem[3][PAGE_COUNT]; -static UINT8 (*konamiReadFunction)(UINT16 address); -static void (*konamiWriteFunction)(UINT16 address, UINT8 data); +static UINT8 (*pkonamiRead)(UINT16 address); +static void (*pkonamiWrite)(UINT16 address, UINT8 data); + static INT32 (*irqcallback)(INT32); -extern void konami_set_irq_line(INT32 irqline, INT32 state); -extern void konami_init(INT32 (*irqcallback)(INT32)); +void konami_set_irq_line(INT32 irqline, INT32 state); +void konami_init(INT32 (*irqcallback)(INT32)); void konamiMapMemory(UINT8 *src, UINT16 start, UINT16 finish, INT32 type) { @@ -60,7 +63,7 @@ void konamiSetWriteHandler(void (*write)(UINT16, UINT8)) if (!DebugCPU_KonamiInitted) bprintf(PRINT_ERROR, _T("konamiSetWriteHandler called without init\n")); #endif - konamiWriteFunction = write; + pkonamiWrite = write; } void konamiSetReadHandler(UINT8 (*read)(UINT16)) @@ -69,7 +72,7 @@ void konamiSetReadHandler(UINT8 (*read)(UINT16)) if (!DebugCPU_KonamiInitted) bprintf(PRINT_ERROR, _T("konamiSetReadHandler called without init\n")); #endif - konamiReadFunction = read; + pkonamiRead = read; } static void konami_write_rom(UINT32 address, UINT8 data) @@ -92,8 +95,8 @@ static void konami_write_rom(UINT32 address, UINT8 data) mem[WRITE][address >> PAGE_SHIFT][address & PAGE_MASK] = data; } - if (konamiWrite != NULL) { - konamiWriteFunction(address, data); + if (pkonamiWrite != NULL) { + pkonamiWrite(address, data); } } @@ -104,8 +107,8 @@ void konamiWrite(UINT16 address, UINT8 data) return; } - if (konamiWrite != NULL) { - konamiWriteFunction(address, data); + if (pkonamiWrite != NULL) { + pkonamiWrite(address, data); return; } @@ -118,8 +121,8 @@ UINT8 konamiRead(UINT16 address) return mem[ READ][address >> PAGE_SHIFT][address & PAGE_MASK]; } - if (konamiRead != NULL) { - return konamiReadFunction(address); + if (pkonamiRead != NULL) { + return pkonamiRead(address); } return 0; @@ -131,8 +134,8 @@ UINT8 konamiFetch(UINT16 address) return mem[FETCH][address >> PAGE_SHIFT][address & PAGE_MASK]; } - if (konamiRead != NULL) { - return konamiReadFunction(address); + if (pkonamiRead != NULL) { + return pkonamiRead(address); } return 0; @@ -148,7 +151,6 @@ void konamiSetIrqLine(INT32 line, INT32 state) konami_set_irq_line(line, KONAMI_IRQSTATUS_ACK); konamiRun(0); konami_set_irq_line(line, KONAMI_IRQSTATUS_NONE); - konamiRun(0); } else { konami_set_irq_line(line, state); } @@ -180,10 +182,14 @@ static cpu_core_config konamiCheatCpuConfig = 0 }; -void konamiInit(INT32 /*num*/) // only 1 cpu (No examples exist of multi-cpu konami games) +void konamiInit(INT32 nCpu) // only 1 cpu (No examples exist of multi-cpu konami games) { DebugCPU_KonamiInitted = 1; +#if defined FBA_DEBUG + if (nCpu >= MAX_CPU) bprintf(PRINT_ERROR, _T("konamiInit nCpu is more than MAX_CPU (%d), MAX IS %d\n"), nCpu, MAX_CPU); +#endif + nKonamiCpuCount = 1; konami_init(konamiDummyIrqCallback); @@ -203,8 +209,8 @@ void konamiExit() #endif nKonamiCpuCount = 0; - konamiWriteFunction = NULL; - konamiReadFunction = NULL; + pkonamiWrite = NULL; + pkonamiRead = NULL; DebugCPU_KonamiInitted = 0; } diff --git a/src/cpu/konami_intf.h b/src/cpu/konami_intf.h index a6cdb0551..8bc54cd78 100644 --- a/src/cpu/konami_intf.h +++ b/src/cpu/konami_intf.h @@ -1,4 +1,3 @@ - void konamiWrite(UINT16 address, UINT8 data); UINT8 konamiRead(UINT16 address); UINT8 konamiFetch(UINT16 address); @@ -18,7 +17,7 @@ void konamiSetlinesCallback(void (*setlines_callback)(INT32 lines)); void konamiSetWriteHandler(void (*write)(UINT16, UINT8)); void konamiSetReadHandler(UINT8 (*read)(UINT16)); -void konamiInit(INT32 ); +void konamiInit(INT32 nCpu); void konamiOpen(INT32 ); void konamiReset(); INT32 konamiRun(INT32 cycles); @@ -29,11 +28,11 @@ extern INT32 nKonamiCpuCount; #define KONAMI_IRQ_LINE 0 #define KONAMI_FIRQ_LINE 1 -#define KONAMI_INPUT_LINE_NMI 0x20 #define KONAMI_IRQSTATUS_NONE 0 #define KONAMI_IRQSTATUS_ACK 1 #define KONAMI_IRQSTATUS_AUTO 2 +#define KONAMI_INPUT_LINE_NMI 0x20 void konamiSetIrqLine(INT32 line, INT32 state); diff --git a/src/cpu/pic16c5x_intf.cpp b/src/cpu/pic16c5x_intf.cpp index 4c4dcd029..a2e91ade7 100644 --- a/src/cpu/pic16c5x_intf.cpp +++ b/src/cpu/pic16c5x_intf.cpp @@ -11,10 +11,10 @@ INT32 nPic16c5xCpuType = -1; static UINT8 *pic16c5x_rom = NULL; static UINT8 *pic16c5x_ram = NULL; -UINT8 (*pPic16c5xReadPort)(UINT16 port) = NULL; -void (*pPic16c5xWritePort)(UINT16 port, UINT8 data) = NULL; +static UINT8 (*pPic16c5xReadPort)(UINT16 port) = NULL; +static void (*pPic16c5xWritePort)(UINT16 port, UINT8 data) = NULL; -UINT16 pic16c5x_read_op(UINT16 address) +UINT16 pic16c5xFetch(UINT16 address) { #if defined FBA_DEBUG if (!DebugCPU_PIC16C5XInitted) bprintf(PRINT_ERROR, _T("pic16c5x_read_op called without init\n")); @@ -27,7 +27,7 @@ UINT16 pic16c5x_read_op(UINT16 address) return ROM[address]; } -UINT8 pic16c5x_read_byte(UINT16 address) +UINT8 pic16c5xRead(UINT16 address) { #if defined FBA_DEBUG if (!DebugCPU_PIC16C5XInitted) bprintf(PRINT_ERROR, _T("pic16c5x_read_byte called without init\n")); @@ -44,7 +44,7 @@ UINT8 pic16c5x_read_byte(UINT16 address) return pic16c5x_ram[address]; } -void pic16c5x_write_byte(UINT16 address, UINT8 data) +void pic16c5xWrite(UINT16 address, UINT8 data) { #if defined FBA_DEBUG if (!DebugCPU_PIC16C5XInitted) bprintf(PRINT_ERROR, _T("pic16c5x_write_byte called without init\n")); @@ -63,7 +63,7 @@ void pic16c5x_write_byte(UINT16 address, UINT8 data) pic16c5x_ram[address] = data; } -UINT8 pic16c5x_read_port(UINT16 port) +UINT8 pic16c5xReadPort(UINT16 port) { #if defined FBA_DEBUG if (!DebugCPU_PIC16C5XInitted) bprintf(PRINT_ERROR, _T("pic16c5x_read_port called without init\n")); @@ -76,7 +76,7 @@ UINT8 pic16c5x_read_port(UINT16 port) return 0; } -void pic16c5x_write_port(UINT16 port, UINT8 data) +void pic16c5xWritePort(UINT16 port, UINT8 data) { #if defined FBA_DEBUG if (!DebugCPU_PIC16C5XInitted) bprintf(PRINT_ERROR, _T("pic16c5x_write_port called without init\n")); @@ -88,6 +88,16 @@ void pic16c5x_write_port(UINT16 port, UINT8 data) } } +void pic16c5xSetReadPortHandler(UINT8 (*pReadPort)(UINT16 port)) +{ + pPic16c5xReadPort = pReadPort; +} + +void pic16c5xSetWritePortHandler(void (*pWritePort)(UINT16 port, UINT8 data)) +{ + pPic16c5xWritePort = pWritePort; +} + void pic16c5xReset() { #if defined FBA_DEBUG @@ -124,7 +134,21 @@ void pic16c5xExit() DebugCPU_PIC16C5XInitted = 0; } -INT32 pic16c5xScan(INT32 nAction,INT32 */*pnMin*/) +void pic16c5xOpen(INT32) +{ +#if defined FBA_DEBUG + if (!DebugCPU_PIC16C5XInitted) bprintf(PRINT_ERROR, _T("pic16c5xOpen called without init\n")); +#endif +} + +void pic16c5xClose() +{ +#if defined FBA_DEBUG + if (!DebugCPU_PIC16C5XInitted) bprintf(PRINT_ERROR, _T("pic16c5xClose called without init\n")); +#endif +} + +INT32 pic16c5xScan(INT32 nAction) { #if defined FBA_DEBUG if (!DebugCPU_PIC16C5XInitted) bprintf(PRINT_ERROR, _T("pic16c5xScan called without init\n")); diff --git a/src/cpu/pic16c5x_intf.h b/src/cpu/pic16c5x_intf.h index b230b9975..721734983 100644 --- a/src/cpu/pic16c5x_intf.h +++ b/src/cpu/pic16c5x_intf.h @@ -1,19 +1,21 @@ -UINT16 pic16c5x_read_op(UINT16 address); -UINT8 pic16c5x_read_byte(UINT16 address); -void pic16c5x_write_byte(UINT16 address, UINT8 data); -UINT8 pic16c5x_read_port(UINT16 port); -void pic16c5x_write_port(UINT16 port, UINT8 data); +UINT16 pic16c5xFetch(UINT16 address); +UINT8 pic16c5xRead(UINT16 address); +void pic16c5xWrite(UINT16 address, UINT8 data); +UINT8 pic16c5xReadPort(UINT16 port); +void pic16c5xWritePort(UINT16 port, UINT8 data); -extern UINT8 (*pPic16c5xReadPort)(UINT16 port); -extern void (*pPic16c5xWritePort)(UINT16 port, UINT8 data); +void pic16c5xSetReadPortHandler(UINT8 (*pReadPort)(UINT16 port)); +void pic16c5xSetWritePortHandler(void (*pWritePort)(UINT16 port, UINT8 data)); -extern INT32 pic16c5xRun(INT32 cycles); +INT32 pic16c5xRun(INT32 cycles); void pic16c5xReset(); void pic16c5xExit(); void pic16c5xInit(INT32 nCpu, INT32 type, UINT8 *mem); +void pic16c5xOpen(INT32 nCpu); +void pic16c5xClose(); -extern INT32 pic16c5xScan(INT32 nAction, INT32* pnMin); +extern INT32 pic16c5xScan(INT32 nAction); extern void pic16c5xRunEnd(); INT32 BurnLoadPicROM(UINT8 *src, INT32 offset, INT32 len);