revised d_tnzs.cpp based on Daves d_ashnojoe.cpp savestate fix
This commit is contained in:
parent
d8e7b58686
commit
fb5c9a7fc8
|
@ -810,18 +810,12 @@ UINT8 __fastcall tnzs_cpu2_in(UINT16 port)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static INT32 FROM_SAVESTATE = 0;
|
|
||||||
|
|
||||||
static void kabukiz_sound_bankswitch(UINT32, UINT32 data)
|
static void kabukiz_sound_bankswitch(UINT32, UINT32 data)
|
||||||
{
|
{
|
||||||
if (data != 0xff) {
|
if (data != 0xff) {
|
||||||
tnzs_banks[2] = data;
|
tnzs_banks[2] = data;
|
||||||
|
|
||||||
if (FROM_SAVESTATE) {
|
if (ZetGetActive() == -1) return; // fix crash on init
|
||||||
ZetOpen(2);
|
|
||||||
FROM_SAVESTATE = 0;
|
|
||||||
}
|
|
||||||
// I don't like this either - but to avoid a crash on Savestate load, it has to be, as
|
|
||||||
// YM2203_postload() eventually gets to code that writes to a port that is mapped to
|
// YM2203_postload() eventually gets to code that writes to a port that is mapped to
|
||||||
// kabukiz_sound_bankswitch() and at this time, the cpu isn't open
|
// kabukiz_sound_bankswitch() and at this time, the cpu isn't open
|
||||||
// Stack backtrace from crash:
|
// Stack backtrace from crash:
|
||||||
|
@ -1882,11 +1876,10 @@ static INT32 DrvScan(INT32 nAction,INT32 *pnMin)
|
||||||
struct BurnArea ba;
|
struct BurnArea ba;
|
||||||
|
|
||||||
if (pnMin) {
|
if (pnMin) {
|
||||||
*pnMin = 0x029707;
|
*pnMin = 0x029730;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nAction & ACB_VOLATILE) {
|
if (nAction & ACB_VOLATILE) {
|
||||||
FROM_SAVESTATE = 1; // see notes @ kabukiz_sound_bankswitch() - dink
|
|
||||||
ba.Data = AllRam;
|
ba.Data = AllRam;
|
||||||
ba.nLen = RamEnd - AllRam;
|
ba.nLen = RamEnd - AllRam;
|
||||||
ba.szName = "All Ram";
|
ba.szName = "All Ram";
|
||||||
|
@ -1904,13 +1897,10 @@ static INT32 DrvScan(INT32 nAction,INT32 *pnMin)
|
||||||
|
|
||||||
tnzs_mcu_scan();
|
tnzs_mcu_scan();
|
||||||
|
|
||||||
SCAN_VAR(tnzs_banks[0]);
|
SCAN_VAR(tnzs_banks);
|
||||||
SCAN_VAR(tnzs_banks[1]);
|
|
||||||
SCAN_VAR(tnzs_banks[2]);
|
|
||||||
SCAN_VAR(cpu1_reset);
|
SCAN_VAR(cpu1_reset);
|
||||||
|
|
||||||
SCAN_VAR(nAnalogAxis[0]);
|
SCAN_VAR(nAnalogAxis);
|
||||||
SCAN_VAR(nAnalogAxis[1]);
|
|
||||||
|
|
||||||
SCAN_VAR(kageki_csport_sel);
|
SCAN_VAR(kageki_csport_sel);
|
||||||
SCAN_VAR(kageki_sample_pos);
|
SCAN_VAR(kageki_sample_pos);
|
||||||
|
|
Loading…
Reference in New Issue