georgeo wrote: ↑Wed Jun 29, 2022 4:27 pm
I've been making good use of the built-in debugger in latest version of EightyOne (V 1.29). It is really useful (as is the profiler) but I do see an issue when single-stepping throuhg a program. Specifically, I assume the Over button, when used on a CALL command, runs the called code and then resumes single-stepping when returning from the called code. For me, this doesn't work. The debugging just carries on executing code. The work-around is to set a breakpoint for the command immediately following the call, but this is quite cumbersome. Am I misunderstanding how Over works?
I have the same problem. OVER don't work.
I haven't managed to reproduce this problem. Here is what I tried:
Select the computer as a ZX81
Open the debugger window
In the debugger window, add a breakpoint at $023E (which is in the VSync routine at the point where it calls KEYBOARD at $02BB)
The breakpoint gets hit and the program stops at $023E
In the debugger window, click 'Over'
The debugger runs and stops at $0241 which is the instruction after the CALL
Could you provide step-by-step instructions on a scenario I can repeat that demonstrates Step Over not working so that I can investigate the cause?
Thanks for the updates! (FYI, if you select a different HW like TS100 from ZX81 when zxpand is already selected, it deselects the sound, so you have to un check and recheck zxpand tp reenable it)
georgeo wrote: ↑Wed Jun 29, 2022 4:27 pm
I've been making good use of the built-in debugger in latest version of EightyOne (V 1.29). It is really useful (as is the profiler) but I do see an issue when single-stepping throuhg a program. Specifically, I assume the Over button, when used on a CALL command, runs the called code and then resumes single-stepping when returning from the called code. For me, this doesn't work. The debugging just carries on executing code. The work-around is to set a breakpoint for the command immediately following the call, but this is quite cumbersome. Am I misunderstanding how Over works?
I have the same problem. OVER don't work.
I haven't managed to reproduce this problem. Here is what I tried:
Select the computer as a ZX81
Open the debugger window
In the debugger window, add a breakpoint at $023E (which is in the VSync routine at the point where it calls KEYBOARD at $02BB)
The breakpoint gets hit and the program stops at $023E
In the debugger window, click 'Over'
The debugger runs and stops at $0241 which is the instruction after the CALL
Could you provide step-by-step instructions on a scenario I can repeat that demonstrates Step Over not working so that I can investigate the cause?
Hi,
I have realized that the problem only arise when when the option "Continuous" in "Control Window" is checked:
If the program stops at a breakpoint and then I use OVER with a RST (restart) or CALL the program executes until it finds another breakpoint. It does not stop at the instruction after the RST or CALL. In the Break-points Windows appears a message: {EXE $nnnn} where $nnnn is the address of the instrucction after the RST or the CALL.
Anyway, from now on I will use the debugger with "continuous" unchecked when I use OVER. Thanks.
Elurdio wrote: ↑Mon Feb 06, 2023 11:36 am
I have realized that the problem only arise when when the option "Continuous" in "Control Window" is checked:
Ah, ok. Thanks, I can reproduce the problem now. I see the the same issue applies to the Step Out button. I will look to include a fix in the next release.
Would somebody with ZXpand be willing to check if a joystick/game pad still works on the latest version of Eightyone?
My USB joypad no longer is recognized at all when using ZXpand emulation (used to work fine) but it still shows up under windows as working with all the directions/buttons lighting up as expected when testing under windows.
Elurdio wrote: ↑Mon Feb 06, 2023 11:36 am
I have realized that the problem only arise when when the option "Continuous" in "Control Window" is checked:
Ah, ok. Thanks, I can reproduce the problem now. I see the the same issue applies to the Step Out button. I will look to include a fix in the next release.
Hi, Thanks for investigating this (and for enabling IN/OUT-based breakpoints in the Jupiter Ace mode, which makes porting Boldfield Soundbox code much easier!). Happy to test Debugging options Over/ Step-out, if useful.
Elurdio wrote: ↑Mon Feb 06, 2023 11:36 am
I have realized that the problem only arise when when the option "Continuous" in "Control Window" is checked:
If the program stops at a breakpoint and then I use OVER with a RST (restart) or CALL the program executes until it finds another breakpoint. It does not stop at the instruction after the RST or CALL. In the Break-points Windows appears a message: {EXE $nnnn} where $nnnn is the address of the instrucction after the RST or the CALL.
Anyway, from now on I will use the debugger with "continuous" unchecked when I use OVER. Thanks.