From d7791aff6b40da53c3bf23dc336a601bef25551c Mon Sep 17 00:00:00 2001 From: Barry Harris <44396066+barry65536@users.noreply.github.com> Date: Mon, 23 Jul 2012 12:36:15 +0000 Subject: [PATCH] Fix gfx glitch and sound in smgp --- src/burn/drv/sega/d_xbrd.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/burn/drv/sega/d_xbrd.cpp b/src/burn/drv/sega/d_xbrd.cpp index ebf2beba5..0c6eebc1c 100644 --- a/src/burn/drv/sega/d_xbrd.cpp +++ b/src/burn/drv/sega/d_xbrd.cpp @@ -1652,14 +1652,14 @@ void __fastcall XBoardWriteWord(UINT32 a, UINT16 d) if (a == 0x0e8016) { System16SoundLatch = d & 0xff; ZetOpen(0); - nSystem16CyclesDone[2] += ZetRun(100); ZetNmi(); + nSystem16CyclesDone[2] += ZetRun(100); ZetClose(); if (System16Z80Rom2Num) { ZetOpen(1); - nSystem16CyclesDone[3] += ZetRun(100); ZetNmi(); + nSystem16CyclesDone[3] += ZetRun(100); ZetClose(); } } @@ -1792,14 +1792,14 @@ void __fastcall XBoardWriteByte(UINT32 a, UINT8 d) System16CompareTimerChipWrite(0, (a - 0x0e8000) >> 1, d); System16SoundLatch = d & 0xff; ZetOpen(0); - nSystem16CyclesDone[2] += ZetRun(100); ZetNmi(); + nSystem16CyclesDone[2] += ZetRun(100); ZetClose(); if (System16Z80Rom2Num) { ZetOpen(1); - nSystem16CyclesDone[3] += ZetRun(100); ZetNmi(); + nSystem16CyclesDone[3] += ZetRun(100); ZetClose(); } return; @@ -2331,7 +2331,13 @@ static INT32 SmgpInit() { System16ProcessAnalogControlsDo = SmgpProcessAnalogControls; - return System16Init(); + INT32 nRet = System16Init(); + + if (!nRet) { + System16RoadPriority = 0; + } + + return nRet; } static INT32 ThndrbldInit()