From 93878fd7c2bb7373b726b9e981cc85aa8de76fd8 Mon Sep 17 00:00:00 2001 From: Fabio Priuli Date: Thu, 17 Dec 2009 06:43:37 +0000 Subject: [PATCH] Fixed crash in cpspicb games (audiocpu is disabled -> no banks) and removed bankptr from fcrash.c --- src/mame/drivers/cps1.c | 9 +-------- src/mame/drivers/fcrash.c | 8 ++++---- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/src/mame/drivers/cps1.c b/src/mame/drivers/cps1.c index 78f7e6985be..3fe66547bd5 100644 --- a/src/mame/drivers/cps1.c +++ b/src/mame/drivers/cps1.c @@ -2779,13 +2779,6 @@ static MACHINE_START( qsound ) memory_configure_bank(machine, "bank1", 0, 6, memory_region(machine, "audiocpu") + 0x10000, 0x4000); } -static MACHINE_START( cpspicb ) -{ - MACHINE_START_CALL(common); - memory_configure_bank(machine, "bank1", 0, 6, memory_region(machine, "audiocpu") + 0x10000, 0x4000); -} - - static MACHINE_DRIVER_START( cps1_10MHz ) /* driver data */ @@ -2891,7 +2884,7 @@ static MACHINE_DRIVER_START( cpspicb ) MDRV_CPU_ADD("audiocpu", PIC16C57, 12000000) MDRV_CPU_FLAGS(CPU_DISABLE) /* no valid dumps .. */ - MDRV_MACHINE_START(cpspicb) + MDRV_MACHINE_START(common) /* video hardware */ MDRV_SCREEN_ADD("screen", RASTER) diff --git a/src/mame/drivers/fcrash.c b/src/mame/drivers/fcrash.c index 8839bfa5f37..cb847d4e977 100644 --- a/src/mame/drivers/fcrash.c +++ b/src/mame/drivers/fcrash.c @@ -54,14 +54,11 @@ static WRITE16_HANDLER( fcrash_soundlatch_w ) static WRITE8_HANDLER( fcrash_snd_bankswitch_w ) { cps_state *state = (cps_state *)space->machine->driver_data; - UINT8 *RAM = memory_region(space->machine, "soundcpu"); - int bankaddr; sound_set_output_gain(state->msm_1, 0, (data & 0x08) ? 0.0 : 1.0); sound_set_output_gain(state->msm_2, 0, (data & 0x10) ? 0.0 : 1.0); - bankaddr = ((data & 7) * 0x4000); - memory_set_bankptr(space->machine, "bank1",&RAM[0x10000 + bankaddr]); + memory_set_bank(space->machine, "bank1", data & 0x07); } static void m5205_int1( const device_config *device ) @@ -695,6 +692,9 @@ static const msm5205_interface msm5205_interface2 = static MACHINE_START( fcrash ) { cps_state *state = (cps_state *)machine->driver_data; + UINT8 *ROM = memory_region(machine, "maincpu"); + + memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x4000); state->maincpu = devtag_get_device(machine, "maincpu"); state->audiocpu = devtag_get_device(machine, "soundcpu");