BizHawk icon indicating copy to clipboard operation
BizHawk copied to clipboard

Implement single-step debugging for Gameboy cores

Open getCursorsExe opened this issue 2 years ago • 7 comments

getCursorsExe avatar Jul 05 '22 09:07 getCursorsExe

Use subframe cores and set the "input length" to 1.

CasualPokePlayer avatar Jul 05 '22 21:07 CasualPokePlayer

SubGBHawk doesn't support disassembling yet, which makes it currently impossible to implement this without disassembling.

getCursorsExe avatar Jul 08 '22 09:07 getCursorsExe

Use Gambatte and set "Frame Length" to "User Defined Frames"

Also SubGBHawk could trivally implement disassembling considering the base core supports it, seems more like an oversight in this case.

CasualPokePlayer avatar Jul 11 '22 10:07 CasualPokePlayer

You can "step" by setting input length to 1 and frame advancing.

Stepping probably won't ever be "properly" implemented in Gambatte due to its various definitions for a "frame" and stepping would wreck havoc with that. GBHawk would be better suited for that. Even so, the debugger mostly doesn't work in any case (hence why Step is not bothered to be implemented in most cores). You are better off using other emulators such as bgb.

CasualPokePlayer avatar Jul 13 '22 07:07 CasualPokePlayer

Well, it is not present in Gambatte options yet. It has to be somewhere else.

getCursorsExe avatar Jul 13 '22 15:07 getCursorsExe

Input Length is an axis input, which is present when the "Frame Length" sync setting is "User Defined Frames."

CasualPokePlayer avatar Jul 13 '22 15:07 CasualPokePlayer

Input length doesn't appear at all in my case, no matter what I do.

getCursorsExe avatar Jul 14 '22 16:07 getCursorsExe

SameBoy actually supports this.

getCursorsExe avatar Jan 04 '23 20:01 getCursorsExe

Too bad we can't port BGB core to BizHawk yet because the source code is completely private.

getCursorsExe avatar Jan 15 '23 18:01 getCursorsExe