irem m92: fix background glitching in level2 of r-type leo
This commit is contained in:
parent
7aaa386eb2
commit
df92d0f520
|
@ -1435,7 +1435,6 @@ void __fastcall m92WritePort(UINT32 port, UINT8 data)
|
|||
case 0x9c: pf_control[3][4] = data; set_pf_info(2, data); return;
|
||||
case 0x9d: pf_control[3][5] = data; return;
|
||||
case 0x9e: pf_control[3][6] = data;
|
||||
m92_raster_irq_position = ((pf_control[3][7]<<8) | pf_control[3][6]) - 128;
|
||||
return;
|
||||
case 0x9f: pf_control[3][7] = data;
|
||||
m92_raster_irq_position = ((pf_control[3][7]<<8) | pf_control[3][6]) - 128;
|
||||
|
@ -1784,6 +1783,7 @@ static INT32 DrvExit()
|
|||
|
||||
nPrevScreenPos = 0;
|
||||
m92_kludge = 0;
|
||||
m92_raster_irq_position = 0;
|
||||
nScreenOffsets[0] = nScreenOffsets[1] = 0;
|
||||
|
||||
return 0;
|
||||
|
@ -2053,7 +2053,6 @@ static void scanline_interrupts(INT32 prev, INT32 segment, INT32 scanline)
|
|||
VezSetIRQLineAndVector(0, (m92_irq_vectorbase + 0)/4, VEZ_IRQSTATUS_ACK);
|
||||
nCyclesDone[0] += VezRun(10);
|
||||
VezSetIRQLineAndVector(0, (m92_irq_vectorbase + 0)/4, VEZ_IRQSTATUS_NONE);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2067,7 +2066,7 @@ static INT32 DrvFrame()
|
|||
|
||||
compile_inputs();
|
||||
|
||||
INT32 multiplier=3;
|
||||
INT32 multiplier=8;
|
||||
nInterleave = 256*multiplier;
|
||||
|
||||
// overclocking...
|
||||
|
@ -2076,10 +2075,6 @@ static INT32 DrvFrame()
|
|||
nCyclesTotal[1] = (INT32)((INT64)(7159090 / 60) * nBurnCPUSpeedAdjust / 0x0100);
|
||||
nCyclesDone[0] = nCyclesDone[1] = 0;
|
||||
|
||||
if (pBurnSoundOut) {
|
||||
memset (pBurnSoundOut, 0, nBurnSoundLen * 2 * sizeof(INT16));
|
||||
}
|
||||
|
||||
for (INT32 i = 0; i < nInterleave; i++)
|
||||
{
|
||||
VezOpen(0);
|
||||
|
|
|
@ -303,40 +303,19 @@ INT32 iremga20_scan(INT32 device, INT32 nAction, INT32 *pnMin)
|
|||
if (device > nNumChips) bprintf(PRINT_ERROR, _T("iremga20_scan called with invalid chip %x\n"), device);
|
||||
#endif
|
||||
|
||||
chip = &chips[device];
|
||||
|
||||
struct BurnArea ba;
|
||||
char szName[16];
|
||||
|
||||
if ((nAction & ACB_DRIVER_DATA) == 0) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (pnMin != NULL) {
|
||||
*pnMin = 0x029678;
|
||||
}
|
||||
|
||||
chip = &chips[device];
|
||||
|
||||
for (INT32 i = 0; i < MAX_GA20; i++)
|
||||
{
|
||||
sprintf(szName, "IREM GA20 #%d Regs", device);
|
||||
ba.Data = &chip->regs;
|
||||
ba.nLen = 0x40 * sizeof(UINT16);
|
||||
ba.nAddress = 0;
|
||||
ba.szName = szName;
|
||||
BurnAcb(&ba);
|
||||
|
||||
sprintf(szName, "IREM GA20 #%d channels", device);
|
||||
ba.Data = &chip->channel;
|
||||
ba.nLen = 4 * sizeof(IremGA20_channel_def);
|
||||
ba.nAddress = 0;
|
||||
ba.szName = szName;
|
||||
BurnAcb(&ba);
|
||||
|
||||
if ((nAction & ACB_DRIVER_DATA)) {
|
||||
SCAN_VAR(chip->channel);
|
||||
SCAN_VAR(chip->regs);
|
||||
SCAN_VAR(chip->frequency);
|
||||
SCAN_VAR(chip->gain);
|
||||
SCAN_VAR(chip->output_dir);
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue