Hmm... some of these got messed up. Fix.

This commit is contained in:
iq_132 2014-09-16 19:17:56 +00:00
parent 8c45b0e4ce
commit 7b2e7b0793
21 changed files with 241 additions and 280 deletions

View File

@ -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);

View File

@ -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

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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

View File

@ -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);

View File

@ -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);

View File

@ -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[] = {

View File

@ -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);

View File

@ -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);

View File

@ -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)

View File

@ -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);

View File

@ -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);

View File

@ -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));

View File

@ -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);

View File

@ -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;
}

View File

@ -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);

View File

@ -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"));

View File

@ -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);