Fixed crash in cpspicb games (audiocpu is disabled -> no banks) and removed bankptr from fcrash.c

This commit is contained in:
Fabio Priuli 2009-12-17 06:43:37 +00:00
parent bb388def9e
commit 93878fd7c2
2 changed files with 5 additions and 12 deletions

View File

@ -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)

View File

@ -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");