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 *DealerZ80Bank2;
|
||||
|
||||
static int watchdog;
|
||||
|
||||
static struct BurnInputInfo MegadonInputList[] = {
|
||||
{"P1 Coin", BIT_DIGITAL, DrvJoy1 + 0, "p1 coin" },
|
||||
{"P1 Start", BIT_DIGITAL, DrvJoy1 + 2, "p1 start" },
|
||||
|
@ -276,19 +278,20 @@ void __fastcall epos_write_port(UINT16 port, UINT8 data)
|
|||
switch (port & 0xff)
|
||||
{
|
||||
case 0x00:
|
||||
break;
|
||||
watchdog = 0;
|
||||
return;
|
||||
|
||||
case 0x01:
|
||||
*DrvPaletteBank = (data << 1) & 0x10;
|
||||
break;
|
||||
return;
|
||||
|
||||
case 0x02:
|
||||
AY8910Write(0, 1, data);
|
||||
break;
|
||||
return;
|
||||
|
||||
case 0x06:
|
||||
AY8910Write(0, 0, data);
|
||||
break;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -348,7 +351,7 @@ void __fastcall dealer_write_port(UINT16 port, UINT8 data)
|
|||
case 0x12:
|
||||
case 0x13:
|
||||
ppi8255_w(0, port & 3, data);
|
||||
break;
|
||||
return;
|
||||
|
||||
case 0x20:
|
||||
case 0x21:
|
||||
|
@ -356,7 +359,19 @@ void __fastcall dealer_write_port(UINT16 port, UINT8 data)
|
|||
case 0x23:
|
||||
case 0x24:
|
||||
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);
|
||||
}
|
||||
|
||||
static INT32 DrvDoReset()
|
||||
static INT32 DrvDoReset(INT32 full_reset)
|
||||
{
|
||||
DrvReset = 0;
|
||||
|
||||
memset (AllRam, 0, RamEnd - AllRam);
|
||||
if (full_reset) {
|
||||
memset (AllRam, 0, RamEnd - AllRam);
|
||||
}
|
||||
|
||||
ZetOpen(0);
|
||||
ZetReset();
|
||||
|
@ -384,6 +399,8 @@ static INT32 DrvDoReset()
|
|||
|
||||
AY8910Reset(0);
|
||||
|
||||
watchdog = 0;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -492,7 +509,7 @@ static INT32 DrvInit()
|
|||
|
||||
GenericTilesInit();
|
||||
|
||||
DrvDoReset();
|
||||
DrvDoReset(1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -539,7 +556,7 @@ static INT32 DealerInit()
|
|||
|
||||
GenericTilesInit();
|
||||
|
||||
DrvDoReset();
|
||||
DrvDoReset(1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -572,6 +589,8 @@ static INT32 DrvDraw()
|
|||
|
||||
DrvPalette[i] = BurnHighCol(r, g, b, 0);
|
||||
}
|
||||
|
||||
DrvRecalc = 0;
|
||||
}
|
||||
|
||||
for (INT32 i = 0; i < 0x8000; i++)
|
||||
|
@ -591,8 +610,13 @@ static INT32 DrvDraw()
|
|||
|
||||
static INT32 DrvFrame()
|
||||
{
|
||||
watchdog++;
|
||||
if (watchdog > 180) {
|
||||
DrvDoReset(0);
|
||||
}
|
||||
|
||||
if (DrvReset) {
|
||||
DrvDoReset();
|
||||
DrvDoReset(1);
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -886,7 +910,7 @@ STD_ROM_FN(dealer)
|
|||
|
||||
struct BurnDriver BurnDrvDealer = {
|
||||
"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,
|
||||
BDF_GAME_WORKING | BDF_ORIENTATION_VERTICAL, 1, HARDWARE_MISC_PRE90S, GBF_CASINO, 0,
|
||||
NULL, dealerRomInfo, dealerRomName, NULL, NULL, DealerInputInfo, DealerDIPInfo,
|
||||
|
|
Loading…
Reference in New Issue