devinacker/bsnes-plus

WDM under sa-1 crashes the emulator

Closed this issue · 3 comments

SMW romhacker here. I experienced a crashing bug during working on my HUD element documentation that the custom sprite (having a WDM to breakpoint to) causes the emulator to close out when you enable breakpointing on WDM. It is important to note that this code runs under SA-1, not the main CPU.

To reproduce this bug, do these in the order written:

SA1:
Have the SMW game, expand the ROM using LM without any other edits, patch using asar of this patch

Shared subroutines:
Insert the shared subroutines patch (as the sprite needs it), follow the instructions there. Also don't forget that the folder SharedSub_Defines also need to be copied and pasted in later step

Custom sprites:
Paste SharedSub_Defines folder in the same location as pixi.exe (not inside any of the other folders)
After SA-1'ing the game, use pixi to insert the sprite found here, edit that so that it has the WDM under the SpriteCode label:

SpriteCode:
	PHB : PHK : PLB
	WDM
	LDA $9D

and have the list.txt of sprites you want to insert into the game:

01 TestSprite_RepeatedIcons.json

Make sure that list file is at the same location as the game itself. Now run pixi.exe and follow the prompts there (command prompt-like console window, it accepts file paths).

Back on LM:
In any level (preferably level 105, the default level when starting LM), hit INSERT while in sprite editing mode (the green koopa shell icon is pressed on the toolbar at the top), command should be 0 and the extra bits set to 3.

Bsnes+ running:
Start the game, open the debugger, on breakpoint, enable break on WDM, now enter the level containing the sprite (left from yoshi's house). When the level finished loading, the emulator freezes and crashes.

This should be fixed in 5408c5b already. Have you tested this in a recent development build?

This was tested on August 18, 2019 version 5. Should've updated the program from time to time. EDIT: Realized the latest release was 2019/08/18, gunna have to wait.

Appveyor has the most recent dev build available for about 1 more week: https://ci.appveyor.com/project/devinacker/bsnes-plus/branch/master/artifacts

(I'm going to work on a more permanent solution for hosting these, but for now, give this one a try)