seibuspi: allow recovery if MAME is exited during the initial flash process [R. Belmont]

This commit is contained in:
arbee 2020-09-26 08:42:50 -04:00
parent 7121fab8d0
commit 3af6cad398
2 changed files with 14 additions and 0 deletions

View File

@ -1778,6 +1778,12 @@ MACHINE_RESET_MEMBER(seibuspi_state,spi)
m_z80_bank->set_entry(0);
m_z80_lastbank = 0;
m_z80_prg_transfer_pos = 0;
// fix the magic ID byte so users can't "brick" the machine
if (m_soundflash1 && m_soundflash1_region)
{
m_soundflash1->write_raw(0, m_soundflash1_region[0]);
}
}
void seibuspi_state::spi(machine_config &config)

View File

@ -8,6 +8,7 @@
#include "machine/eepromser.h"
#include "machine/7200fifo.h"
#include "machine/intelfsh.h"
#include "sound/okim6295.h"
#include "emupal.h"
#include "tilemap.h"
@ -29,6 +30,9 @@ public:
, m_key(*this, "KEY.%u", 0)
, m_special(*this, "SPECIAL")
, m_z80_bank(*this, "z80_bank")
, m_soundflash1(*this, "soundflash1")
, m_soundflash2(*this, "soundflash2")
, m_soundflash1_region(*this, "soundflash1")
{ }
void sys386f(machine_config &config);
@ -75,6 +79,10 @@ protected:
optional_memory_bank m_z80_bank;
optional_device<intel_e28f008sa_device> m_soundflash1, m_soundflash2;
optional_region_ptr<u8> m_soundflash1_region;
int m_z80_prg_transfer_pos;
int m_z80_lastbank;
u8 m_sb_coin_latch;