Small Epos update -- Dealer sound, implement watchdog.
This commit is contained in:
parent
e91c2fd678
commit
4f8fd4a0d9
|
@ -35,6 +35,8 @@ static UINT8 *DrvPaletteBank;
|
||||||
static UINT8 *DealerZ80Bank;
|
static UINT8 *DealerZ80Bank;
|
||||||
static UINT8 *DealerZ80Bank2;
|
static UINT8 *DealerZ80Bank2;
|
||||||
|
|
||||||
|
static int watchdog;
|
||||||
|
|
||||||
static struct BurnInputInfo MegadonInputList[] = {
|
static struct BurnInputInfo MegadonInputList[] = {
|
||||||
{"P1 Coin", BIT_DIGITAL, DrvJoy1 + 0, "p1 coin" },
|
{"P1 Coin", BIT_DIGITAL, DrvJoy1 + 0, "p1 coin" },
|
||||||
{"P1 Start", BIT_DIGITAL, DrvJoy1 + 2, "p1 start" },
|
{"P1 Start", BIT_DIGITAL, DrvJoy1 + 2, "p1 start" },
|
||||||
|
@ -276,19 +278,20 @@ void __fastcall epos_write_port(UINT16 port, UINT8 data)
|
||||||
switch (port & 0xff)
|
switch (port & 0xff)
|
||||||
{
|
{
|
||||||
case 0x00:
|
case 0x00:
|
||||||
break;
|
watchdog = 0;
|
||||||
|
return;
|
||||||
|
|
||||||
case 0x01:
|
case 0x01:
|
||||||
*DrvPaletteBank = (data << 1) & 0x10;
|
*DrvPaletteBank = (data << 1) & 0x10;
|
||||||
break;
|
return;
|
||||||
|
|
||||||
case 0x02:
|
case 0x02:
|
||||||
AY8910Write(0, 1, data);
|
AY8910Write(0, 1, data);
|
||||||
break;
|
return;
|
||||||
|
|
||||||
case 0x06:
|
case 0x06:
|
||||||
AY8910Write(0, 0, data);
|
AY8910Write(0, 0, data);
|
||||||
break;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -348,7 +351,7 @@ void __fastcall dealer_write_port(UINT16 port, UINT8 data)
|
||||||
case 0x12:
|
case 0x12:
|
||||||
case 0x13:
|
case 0x13:
|
||||||
ppi8255_w(0, port & 3, data);
|
ppi8255_w(0, port & 3, data);
|
||||||
break;
|
return;
|
||||||
|
|
||||||
case 0x20:
|
case 0x20:
|
||||||
case 0x21:
|
case 0x21:
|
||||||
|
@ -356,7 +359,19 @@ void __fastcall dealer_write_port(UINT16 port, UINT8 data)
|
||||||
case 0x23:
|
case 0x23:
|
||||||
case 0x24:
|
case 0x24:
|
||||||
dealer_bankswitch(port & 7);
|
dealer_bankswitch(port & 7);
|
||||||
break;
|
return;
|
||||||
|
|
||||||
|
case 0x34:
|
||||||
|
AY8910Write(0, 1, data);
|
||||||
|
return;
|
||||||
|
|
||||||
|
case 0x3c:
|
||||||
|
AY8910Write(0, 0, data);
|
||||||
|
return;
|
||||||
|
|
||||||
|
case 0x40:
|
||||||
|
watchdog = 0;
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -370,11 +385,11 @@ void DealerPPIWriteC(UINT8 data)
|
||||||
dealer_bankswitch2(data);
|
dealer_bankswitch2(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
static INT32 DrvDoReset()
|
static INT32 DrvDoReset(INT32 full_reset)
|
||||||
{
|
{
|
||||||
DrvReset = 0;
|
if (full_reset) {
|
||||||
|
|
||||||
memset (AllRam, 0, RamEnd - AllRam);
|
memset (AllRam, 0, RamEnd - AllRam);
|
||||||
|
}
|
||||||
|
|
||||||
ZetOpen(0);
|
ZetOpen(0);
|
||||||
ZetReset();
|
ZetReset();
|
||||||
|
@ -384,6 +399,8 @@ static INT32 DrvDoReset()
|
||||||
|
|
||||||
AY8910Reset(0);
|
AY8910Reset(0);
|
||||||
|
|
||||||
|
watchdog = 0;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -492,7 +509,7 @@ static INT32 DrvInit()
|
||||||
|
|
||||||
GenericTilesInit();
|
GenericTilesInit();
|
||||||
|
|
||||||
DrvDoReset();
|
DrvDoReset(1);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -539,7 +556,7 @@ static INT32 DealerInit()
|
||||||
|
|
||||||
GenericTilesInit();
|
GenericTilesInit();
|
||||||
|
|
||||||
DrvDoReset();
|
DrvDoReset(1);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -572,6 +589,8 @@ static INT32 DrvDraw()
|
||||||
|
|
||||||
DrvPalette[i] = BurnHighCol(r, g, b, 0);
|
DrvPalette[i] = BurnHighCol(r, g, b, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DrvRecalc = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (INT32 i = 0; i < 0x8000; i++)
|
for (INT32 i = 0; i < 0x8000; i++)
|
||||||
|
@ -591,8 +610,13 @@ static INT32 DrvDraw()
|
||||||
|
|
||||||
static INT32 DrvFrame()
|
static INT32 DrvFrame()
|
||||||
{
|
{
|
||||||
|
watchdog++;
|
||||||
|
if (watchdog > 180) {
|
||||||
|
DrvDoReset(0);
|
||||||
|
}
|
||||||
|
|
||||||
if (DrvReset) {
|
if (DrvReset) {
|
||||||
DrvDoReset();
|
DrvDoReset(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -886,7 +910,7 @@ STD_ROM_FN(dealer)
|
||||||
|
|
||||||
struct BurnDriver BurnDrvDealer = {
|
struct BurnDriver BurnDrvDealer = {
|
||||||
"dealer", NULL, NULL, NULL, "198?",
|
"dealer", NULL, NULL, NULL, "198?",
|
||||||
"The Dealer\0", "No Sound / Incorrect Colors", "Epos Corporation", "EPOS Tristar",
|
"The Dealer\0", "Incorrect Colors", "Epos Corporation", "EPOS Tristar",
|
||||||
NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL,
|
||||||
BDF_GAME_WORKING | BDF_ORIENTATION_VERTICAL, 1, HARDWARE_MISC_PRE90S, GBF_CASINO, 0,
|
BDF_GAME_WORKING | BDF_ORIENTATION_VERTICAL, 1, HARDWARE_MISC_PRE90S, GBF_CASINO, 0,
|
||||||
NULL, dealerRomInfo, dealerRomName, NULL, NULL, DealerInputInfo, DealerDIPInfo,
|
NULL, dealerRomInfo, dealerRomName, NULL, NULL, DealerInputInfo, DealerDIPInfo,
|
||||||
|
|
Loading…
Reference in New Issue