Releases: maziac/DeZog
Beta Test B: Reverse Debugging
Note: This version is for windows, Mac and Linux.
This version includes the reverse debugging feature.
Please read the paragraph in the Usage.md documentation.
When testing the reverse debugging mode please have a look at
- the correctness of the CALLSTACK (you have to get used to the behavior which looks somewhat unfamiliar at the beginning. E.g. if you step back over a RET instruction this will effectively add an item to the stack.
- the correctness of the "Stack" in the VARIABLES section (here are the PUSHed values of a call frame stored).
- the correctness of the registers in the VARIABLES section.
- the register values while hovering.
- using breakpoints during step back.
- using breakpoints during step (forward) while in reverse debug mode.
- please test all (blue) vscode step buttons.
To install this release in vscode:
Download the vsix file below.
Go to the command palette in vscode (i.e. press F1).
Enter "Extensions: Install from VSIX..."
Beta Test A
Note: This version does not work on Windows, sorry.
- Fixed bug in register parsing. (Thanks to Cesar Wagener for finding).
- Changed to use ZEsarUX 'cpu-code-coverage' for decorating code coverage.
- Changed to use ZEsarUX 'extended-stack' for displaying the callstack. This makes it possible to highlight interrupts in the callstack.
- Fixed bug in sjasmplus parser (fake instructions).
This release starts beta testing. I.e. this release will most probably not work with the latest official stable ZEsarUX release. Instead you need to get the latest ZEsarUX sources from GitHub and compile yourself.
This is also the reason why these beta testing releases are not published in the market place.
To install in vscode:
Download the vsix file below.
Go to the command palette in vscode (i.e. press F1).
Enter "Extensions: Install from VSIX..."
Unit Tests
- Unit Tests for assembler sources! + Code coverage
- Supports new enhanced breakpoint condition format of ZEsarUX.
- new setting 'loadObjs' to load object files.
- Requires ZEsarUX 8.0.
T-States
- Debug Console: Display of T-states while executing instructions or sub routine calls.
- Disassembler:
- Corrected opcode "SUB A,s" to "SUB s".
- Added new Z80N barrel shift and "JP (C)" opcodes.
- Corrected "JP (IXY)".
- Fixed a bug in "startAutomatically".
- Corrected file association for z80asm.
- Default assembler changed to sjasmplus.
- Break reason now also shown at first breakpoint after launch.
- LOGPOINTs added.
- WPMEM now evaluates expression not just labels.
- Adjusted to changed sjasmplus list file format.
- Corrected association of list file line numbers with addresses.
Assemblers
- New assembler listings supported: "sjasmplus".
- Better support for z88dk-z80asm.
- New parameters "asm" and "srcDirs".
- '-eval' now evaluates also label names with a starting "_".
- Dropped support for label files. The labels are extracted anyway from the list file.
- Watches allow now more complex expressions not only labels. Now e.g. "dlistw+3" is supported.
- Changed appearance of memory viewer: Added a column header and a legend for the register colors.
Small improvements
- Requires ZEsarUX 7.2.
- Debugging can now start immediately after loading the snapshot file.
- Setting breakpoints from vscode without interrupting a running program.
- "startAutomatically" launch option working now.
- Option "loadSnap" replaced by "load". "load" allows for loading .sna and .tap files.
- "wpmem"/"assert" now disabled by default. It can be turned on manually or in the launch.json.
- ASSERTs now work similar to WPMEM. They are not combined with vscode breakpoints anymore.
- log configuration moved to the launch settings.
- socketTimeout configurable.
Fixed Event-Stream vulnerability
- Fixed Event-Stream vulnerability.
- Added breakpoint conditions that are translated into the ZEsarUX condition syntax.
- Added parsing for ASSERTs.
- New commands: "ASSERT enable|disable|status" (still experimental)
- "state save" now persistent.
z80dismblr
The z80dismblr has now been fully taken into use. z80-debug now treats memory areas without source code differently. It is not necessary anymore to advise z80-debug to do a disassembly in the launch.json file.
Therefore the "disassemblies" property has been removed.
Instead z80-debug now disassembles the code on the fly if necessary.
Sprites And Patterns
- Uses new (ZEsarUX 7.1) and fast memory breakpoints for WPMEM watchpoints, see https://github.com/maziac/z80-debug/blob/master/documentation/Usage.md#wpmem
- Use of z80dismblr for disassembly.
- Improved disconnection handling.
- New command "-sprites" displays the sprites in a new window.
- New command "-patterns" displays the sprite patterns in a new window.
- New option for "-exec": "-view" redirects the output from console to a new view.
- Experimental implementation for "-state save|restore".
Bug fixes (disassembly, breakpoints)
- Corrected setting of unverified breakpoints.
- Fixed error when fetching disassemblies.