mirror of
https://github.com/holub/mame
synced 2025-05-24 23:05:32 +03:00
03993: All sets in crshrace.c: Reload of state cause loss of audio [Phil Bennett]
This commit is contained in:
parent
dd09a3a9dd
commit
13b03f7bb2
@ -155,13 +155,21 @@ static READ16_HANDLER( extrarom2_r )
|
||||
return rom[offset] | (rom[offset + 1] << 8);
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( crshrace_sh_bankswitch_w )
|
||||
static void set_sound_bank(running_machine *machine)
|
||||
{
|
||||
UINT8 *rom = memory_region(space->machine, "audiocpu") + 0x10000;
|
||||
crshrace_state *state = machine->driver_data<crshrace_state>();
|
||||
UINT8 *rom = memory_region(machine, "audiocpu") + 0x10000;
|
||||
|
||||
memory_set_bankptr(space->machine, "bank1",rom + (data & 0x03) * 0x8000);
|
||||
memory_set_bankptr(machine, "bank1", rom + state->sound_bank * 0x8000);
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( crshrace_sh_bankswitch_w )
|
||||
{
|
||||
crshrace_state *state = space->machine->driver_data<crshrace_state>();
|
||||
|
||||
state->sound_bank = data & 0x03;
|
||||
set_sound_bank(space->machine);
|
||||
}
|
||||
|
||||
static WRITE16_HANDLER( sound_command_w )
|
||||
{
|
||||
@ -445,6 +453,11 @@ static const k053936_interface crshrace_k053936_intf =
|
||||
};
|
||||
|
||||
|
||||
static STATE_POSTLOAD( crshrace_postload )
|
||||
{
|
||||
set_sound_bank(machine);
|
||||
}
|
||||
|
||||
static MACHINE_START( crshrace )
|
||||
{
|
||||
crshrace_state *state = machine->driver_data<crshrace_state>();
|
||||
@ -456,6 +469,8 @@ static MACHINE_START( crshrace )
|
||||
state_save_register_global(machine, state->gfxctrl);
|
||||
state_save_register_global(machine, state->flipscreen);
|
||||
state_save_register_global(machine, state->pending_command);
|
||||
state_save_register_global(machine, state->sound_bank);
|
||||
state_save_register_postload(machine, crshrace_postload, NULL);
|
||||
}
|
||||
|
||||
static MACHINE_RESET( crshrace )
|
||||
|
@ -20,6 +20,7 @@ public:
|
||||
|
||||
/* misc */
|
||||
int pending_command;
|
||||
int sound_bank;
|
||||
|
||||
/* devices */
|
||||
running_device *audiocpu;
|
||||
|
Loading…
Reference in New Issue
Block a user