mirror of
https://github.com/holub/mame
synced 2025-04-25 17:56:43 +03:00
stfight.cpp: switched to configured bankins, fixes save state problem with cshootert (nw)
This commit is contained in:
parent
6c66854f7e
commit
b07bedcc4e
@ -263,7 +263,7 @@ TODO:
|
||||
|
||||
static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM, 8, stfight_state )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") /* sf02.bin */
|
||||
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("mainbank") /* sf02.bin */
|
||||
AM_RANGE(0xc000, 0xc0ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
|
||||
AM_RANGE(0xc100, 0xc1ff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
|
||||
AM_RANGE(0xc200, 0xc200) AM_READ_PORT("P1")
|
||||
|
@ -75,6 +75,8 @@ DRIVER_INIT_MEMBER(stfight_state,cshooter)
|
||||
|
||||
void stfight_state::machine_start()
|
||||
{
|
||||
membank("mainbank")->configure_entries(0, 4, memregion("maincpu")->base() + 0x10000, 0x4000);
|
||||
|
||||
save_item(NAME(m_fm_data));
|
||||
save_item(NAME(m_cpu_to_mcu_data));
|
||||
save_item(NAME(m_cpu_to_mcu_empty));
|
||||
@ -102,27 +104,21 @@ void stfight_state::machine_reset()
|
||||
|
||||
// Coin signals are active low
|
||||
m_coin_state = 3;
|
||||
|
||||
// initialise ROM bank
|
||||
stfight_bank_w(m_maincpu->space(AS_PROGRAM), 0, 0);
|
||||
}
|
||||
|
||||
// It's entirely possible that this bank is never switched out
|
||||
// - in fact I don't even know how/where it's switched in!
|
||||
WRITE8_MEMBER(stfight_state::stfight_bank_w)
|
||||
{
|
||||
UINT8 *ROM2 = memregion("maincpu")->base() + 0x10000;
|
||||
UINT16 bank_num;
|
||||
|
||||
bank_num = 0;
|
||||
UINT8 bank_num = 0;
|
||||
|
||||
if(data & 0x80)
|
||||
bank_num |= 0x8000;
|
||||
bank_num |= 2;
|
||||
|
||||
if(data & 0x04)
|
||||
bank_num |= 0x4000;
|
||||
bank_num |= 1;
|
||||
|
||||
membank("bank1")->set_base(&ROM2[bank_num]);
|
||||
membank("mainbank")->set_entry(bank_num);
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user