From 10a40a4c2d389d85e65a09e5c6fa617de8954b95 Mon Sep 17 00:00:00 2001 From: Robbbert Date: Sun, 16 May 2021 21:52:05 +1000 Subject: [PATCH] sorcerer: fixed bugs with SNP handling. --- src/mame/machine/sorcerer.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/mame/machine/sorcerer.cpp b/src/mame/machine/sorcerer.cpp index 06071372f7d..b76c42258d0 100644 --- a/src/mame/machine/sorcerer.cpp +++ b/src/mame/machine/sorcerer.cpp @@ -605,11 +605,12 @@ QUICKLOAD_LOAD_MEMBER(sorcerer_state::quickload_cb) return image_init_result::FAIL; } - u8 header[28]; - /* get the header */ + u8 header[28]; image.fread( &header, sizeof(header)); + logerror("SNP PC register = 0x%04x\n", header[26] | (header[27] << 8)); + // write it to ram, and skip roms unsigned char s_byte; for (int i = 0; i < 0xe000; i++) @@ -658,6 +659,8 @@ QUICKLOAD_LOAD_MEMBER(sorcerer_state::quickload_cb) m_maincpu->set_state_int(Z80_IM, header[25]); m_maincpu->set_pc(header[26] | (header[27] << 8)); } + else + m_maincpu->set_pc(0xe000); // SNP destroys workspace, so do cold start. } return image_init_result::PASS;