Closed GoogleCodeExporter closed 9 years ago
The first is the save state that crashes (Yoshi's Island European version)
The second file is created when the save state doesn't load (but it's not always
created).
- Ezekiel000
Original comment by nights...@gmail.com
on 19 Feb 2009 at 5:49
Attachments:
I've been able to produce a crash with this (on x86). It looks like the SuperFX
registers are being clobbered, which is probably a fault of the save state. I'll
first have to see if gocha's snapshot changes affect the SuperFX, and, if not,
figure
out which registers aren't being saved properly.
Ezekiel000, have you run NSRT on the rom? I know the PAL dumps of Yoshi's
Island were
the first to be widely available, and many of them were bad copies.
Original comment by bear...@gmail.com
on 19 Feb 2009 at 6:38
An addendum: the crash on x86 was produced using the C++ SuperFX core, not the
ZSNES
asm one. I can't produce the crash using save states that I create, which leads
me to
believe that it is the fault of either the ROM, or the SuperFX snapshot code not
being 64-bit compatible.
Original comment by bear...@gmail.com
on 19 Feb 2009 at 7:03
---------------------Internal ROM Info----------------------
File: Super Mario World 2 - Yoshi's Island.sfc
Name: YOSHI'S ISLAND Company: Nintendo
Header: None Bank: LoROM
Interleaved: None SRAM: 256 Kb
Type: Super FX2 + Batt ROM: 16 Mb
Country: Euro/Asia/Oceania Video: PAL
ROM Speed: 200ns (SlowROM) Revision: 1.0
Checksum: Good 0xE10B Game Code: YI
---------------------------Hashes---------------------------
CRC32: 857980B2
--------------------------Database--------------------------
Name: Super Mario World 2 - Yoshi's Island
Country: Europe Revision: 1.0
Port 1: Gamepad Port 2: Gamepad
Genre 1: Platform Genre 2: Side Scrolling
Is that ok?
Original comment by nights...@gmail.com
on 19 Feb 2009 at 8:31
Your ROM looks fine. That means the bug is likely in the snapshot creation
process.
Original comment by bear...@gmail.com
on 20 Feb 2009 at 12:02
The crash was produced using the ZSNES asm core.
---------------------Internal ROM Info----------------------
File: Super Mario World 2 - Yoshi's Island (USA) (Rev A).sfc
Name: YOSHI'S ISLAND Company: Nintendo
Header: None Bank: LoROM
Interleaved: None SRAM: 256 Kb
Type: Super FX2 + Batt ROM: 16 Mb
Country: USA Video: NTSC
ROM Speed: 200ns (SlowROM) Revision: 1.1
Checksum: Good 0x5E32 Game Code: YI
---------------------------Hashes---------------------------
CRC32: CF98DDAA
--------------------------Database--------------------------
Name: Super Mario World 2 - Yoshi's Island
Country: USA Revision: 1.1
Port 1: Gamepad Port 2: Gamepad
Genre 1: Platform Genre 2: Side Scrolling
Original comment by slack4li...@gmail.com
on 20 Feb 2009 at 1:23
Attachments:
Are you sure you're running the ZSNES core? It won't build or run on anything
but
32bit x86 (even if you try to compile it in, it'll be silently excluded). Your
save
state looks like it has C++ SuperFX registers saved in it, meaning it was
created
with the C++ core. If you're saying it's crashing on an x86, with the save
created on
x86, then let me know.
For Ezekiel000's save state crash, I've isolated the bug and produced a hack
that
lets it run, but a real fix probably needs a save state format change. The
current
Snes9x snapshot code makes a int32<-->pointer assumption, and that code is only
used
for storing several SFX offsets. I could change things up and only store the
offset,
which would be small enough to fit in an integer, but it would break
compatibility.
Original comment by bear...@gmail.com
on 20 Feb 2009 at 2:07
Sorry, I assumed (you know what that means) that since I forced
--with-assembler that
it was using the asm core. I'll be sure to pay closer attention from now on.
Original comment by slack4li...@gmail.com
on 20 Feb 2009 at 2:59
I've committed a hack to SVN that "fixes" the issue by sanity checking a couple
of
SuperFX pointers when loading a save state. Slack, would you mind testing to
see if
it still crashes?
Original comment by bear...@gmail.com
on 20 Feb 2009 at 4:53
[deleted comment]
So far everything seems to be working, I've saved up to 1-3 without a crash.
Original comment by slack4li...@gmail.com
on 20 Feb 2009 at 6:49
Original comment by bear...@gmail.com
on 3 Jul 2009 at 12:55
Original issue reported on code.google.com by
bear...@gmail.com
on 12 Feb 2009 at 10:07