From 6f2c5a9be04155a3a781707ee47905148d3e2c07 Mon Sep 17 00:00:00 2001 From: dinkc64 <12570148+dinkc64@users.noreply.github.com> Date: Thu, 5 Jun 2014 07:27:35 +0000 Subject: [PATCH] Fix music in Spinal Breakers (d_aerofgt.cpp) --- src/burn/drv/pst90s/d_aerofgt.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/burn/drv/pst90s/d_aerofgt.cpp b/src/burn/drv/pst90s/d_aerofgt.cpp index 37208a6fc..fd1ffe3c0 100644 --- a/src/burn/drv/pst90s/d_aerofgt.cpp +++ b/src/burn/drv/pst90s/d_aerofgt.cpp @@ -82,6 +82,7 @@ static UINT16 bg1scrolly, bg2scrolly; static INT32 nAerofgtZ80Bank; static UINT8 nSoundlatch; +static UINT8 spinlbrkmode = 0; static struct BurnInputInfo aerofgtInputList[] = { {"P1 Coin", BIT_DIGITAL, DrvButton + 0, "p1 coin"}, @@ -1064,7 +1065,9 @@ static void aerofgtSndBankSwitch(UINT8 v) v &= 0x03; if (v != nAerofgtZ80Bank) { - UINT8* nStartAddress = RomZ80 + 0x10000 + (v << 15); + UINT8* nStartAddress = RomZ80 + 0x10000 + (v << 15); + if (spinlbrkmode) + nStartAddress = RomZ80 + 0x08000 + (v << 15); ZetMapArea(0x8000, 0xFFFF, 0, nStartAddress); ZetMapArea(0x8000, 0xFFFF, 2, nStartAddress); nAerofgtZ80Bank = v; @@ -1777,7 +1780,9 @@ static INT32 spinlbrkInit() SekSetWriteByteHandler(0, spinlbrkWriteByte); SekClose(); } - + + // different banking start address for Spinal Breakers + spinlbrkmode = 1; turbofrc_sound_init(); // Fix sprite glitches... @@ -1860,6 +1865,7 @@ static INT32 DrvExit() SekExit(); BurnFree(Mem); + spinlbrkmode = 0; return 0; }