Skip to content

Releases: maziac/DeZog

Issue #39

29 Dec 18:30
Compare
Choose a tag to compare

A problem with windows backslashes has been solved: Fixed issue #39: Breakpoints do not work if the file name is separated from the path by a backslash in the SLD file.

Long Addresses

20 Dec 11:22
Compare
Choose a tag to compare

The step from 1.5 to 2.0 was huge. A lot of things changed under the hood to support 'long addresses'.
I.e. DeZog is now aware of banking information. It can distinguish sources that share same addresses but reside on different banks. The same for breakpoints. E.g. a breakpoint set to address 0xA000 and bank 7 will not break if address 0xA000 has been executed in bank 8.

To use the feature you need the newest version of sjasmplus (>=1.18.0) and let sjasmplus create a SLD file instead of a list file. I.e. you need to change your build command and the launch.json, please see the migration document.

The other bigger feature that has been added is the "custom code" that you can provide to the internal simulator. With "custom code" you can implement your own peripherals inside zsim. I.e. you can provide code that acts on writing to or reading from a port or that generates interrupts.

There is a migration document that should serve as help to change your projects for usage with the new DeZog. Please find it here.

Changes since 1.5.5:

  • Help view added. Palette command "dezog.help".
  • New "zsim" option to set the "cpuFrequency".
  • "resetOnLaunch" moved to "zrcp".
  • ASSERTION for ZEsarUX implemented.
  • Logging to files removed. vscode does this anyway.
  • sjasmplus list file support disabled.
  • Fix in sendDzrpCmd: length of transmitted bytes fixed.
  • Improvements to unit tests. Now ASSERTIONs show the failure values.
  • "sjasmplus" configuration now uses the SLD file instead of a list file to support banking information (long addresses). If you want to use 64k addresses instead there is a new option "disableBanking".
  • launch.json: deprecated option "filter" has been removed.
  • "zsim": Support for custom code added. E.g. it is possible now to add custom peripheral code to implement ports. You can now write code to support peripherals within zsim.
    • Support for in-ports, out-ports and to generate an interrupt.
    • Support to create a custom UI within the ZSimulationView.
    • See documentation/zsimPeripherals.md for more details.
      • New commands
        • out: Output to port.
        • in: input from port.
        • tstates add/set: change t-states.
      • launch.json: Added parameters for custom code:
        • customCode.debug: Enables a few debug buttons in ZSimulationView
        • customCode.jsPath: Path to the custom javascript file.
        • customCode.uiPath: Path to the custom html UI.
        • customCode.timeStep: The t-state interval for reporting.
  • "zsim": changed parameters:
    • Removed: "memoryPagingControl", "tbblueMemoryManagementSlots", "loadZxRom"
    • Added: "memoryModel": "RAM", "ZX48K", "ZX128K", "ZXNEXT"
    • Changed: "visualMemory" to boolean.
  • For Kris: Changed naming of "ASSERT" to "ASSERTION" to avoid conflicts with commented sjasmplus ASSERTs. (Also the command was renamed from "-ASSERT" to "-ASSERTION".)
  • 'find' enabled on webviews.
  • Fixed a bug in highlighting register addresses in the MemoryRegisterView .
  • spotHistory now also displays the changed registers.
  • Fixed: during time-travel it is not possible anymore to change the registers.
  • Fixed a bug with UNKNOWN label in call stack during time-travel.

Long Addresses - Beta 1

08 Dec 17:35
Compare
Choose a tag to compare
Pre-release

This is a beta release. Purpose is to test DeZog v2.0. Especially the 'long address' feature. I.e. the memory banking.
For the 'long address' feature you need to use the SLD output of sjasmplus.
sjsamplus list files will not work anymore.

The release has been created from the 'develop' branch.
So when looking for documentation make sure that you select the 'develop' branch as well.
E.g. this Usage.md and this Migration.md.

You need the newest versions:

  • ZEsarUX 9.1
  • sjasmplus >= 1.18.0
  • CSpect:
    • CSpect v2.13.0
    • DeZog CSpect Plugin v2.0.0: Version attached below.
  • ZxNext:
    • enNextMf.rom v2.0.0: Version attached below.
    • DeZogSerialinterface v1.1.0: Load the right version for your OS below.

Changes since 1.5.4 are:

  • Logging to files removed. vscode does this anyway.
  • Fix in sendDzrpCmd: length of transmitted bytes fixed.
  • Improvements to unit tests. Now ASSERTIONs show the failure values.
  • "sjasmplus" configuration now uses the SLD file instead of a list file to support banking information (long addresses). If you want to use 64k addresses instead there is a new option "disableBanking".
  • launch.json: deprecated option "filter" has been removed.
  • "zsim": Support for custom code added. E.g. it is possible now to add custom peripheral code to implement ports. You can now write code to support peripherals within zsim.
    • Support for in-ports, out-ports and to generate an interrupt.
    • Support to create a custom UI within the ZSimulationView.
    • See documentation/zsimPeripherals.md for more details.
      • New commands
        • out: Output to port.
        • in: input from port.
        • tstates add/set: change t-states.
      • launch.json: Added parameters for custom code:
        • customCode.debug: Enables a few debug buttons in ZSimulationView
        • customCode.jsPath: Path to the custom javascript file.
        • customCode.uiPath: Path to the custom html UI.
        • customCode.timeStep: The t-state interval fro reporting.
  • "zsim": changed parameters:
    • Removed: "memoryPagingControl", "tbblueMemoryManagementSlots", "loadZxRom"
    • Added: "memoryModel": "RAM", "ZX48K", "ZX128K", "ZXNEXT"
    • Changed: "visualMemory" to boolean.
  • For Kris: Changed naming of "ASSERT" to "ASSERTION" to avoid conflicts with commented sjasmplus ASSERTs. (Also the command was renamed from "-ASSERT" to "-ASSERTION".)
  • 'find' enabled on webviews.
  • Fixed a bug in highlighting register addresses in the MemoryRegisterView .
  • spotHistory now also displays the changed registers.
  • Fixed: during time-travel it is not possible anymore to change the registers.
  • Fixed a bug with UNKNOWN label in call stack during time-travel.

Test Custom Code - alpha

02 Dec 20:59
Compare
Choose a tag to compare
Pre-release

This is an alpha release. Purpose is to test the "Custom Code" feature.

The release has been created from the 'develop' branch.
So when looking for documentation make sure that you select the 'develop' branch as well.

Changes since 1.5.4 are:

  • Fix in sendDzrpCmd: length of transmitted bytes fixed.
  • Improvements to unit tests. Now ASSERTs show the failure values.
  • "sjasmplus" configuration now uses the SLD file instead of a list file to support banking information (long addresses). If you want to use 64k addresses instead there is a new option "disableBanking".
  • launch.json: deprecated option "filter" has been removed.
  • "zsim": Support for custom code added. E.g. it is possible now to add custom peripheral code to implement ports. You can now write code to support peripherals within zsim.
    • Support for in-ports, out-ports and to generate an interrupt.
    • Support to create a custom UI within the ZSimulationView.
    • See documentation/zsimPeripherals.md for more details.
      • New commands
        • out: Output to port.
        • in: input from port.
        • tstates add/set: change t-states.
      • launch.json: Added parameters for custom code:
        • customCode.debug: Enables a few debug buttons in ZSimulationView
        • customCode.jsPath: Path to the custom javascript file.
        • customCode.uiPath: Path to the custom html UI.
        • customCode.timeStep: The t-state interval fro reporting.
  • "zsim": changed parameters:
    • Removed: "memoryPagingControl", "tbblueMemoryManagementSlots", "loadZxRom"
    • Added: "memoryModel": "RAM", "ZX48K", "ZX128K", "ZXNEXT"
    • Changed: "visualMemory" to boolean.
  • For Kris: Changed naming of "ASSERT" to "ASSERTION" to avoid conflicts with commented sjasmplus ASSERTs. (Also the command was renamed from "-ASSERT" to "-ASSERTION".)
  • 'find' enabled on webviews.
  • Fixed a bug in highlighting register addresses in the MemoryRegisterView .
  • spotHistory now also displays the changed registers.
  • Fixed: during time-travel it is not possible anymore to change the registers.
  • Fixed a bug with UNKNOWN label in call stack during time-travel.

Damned windows drive letters

24 Oct 16:52
Compare
Choose a tag to compare

Fixed# 34: Unverified breakpoints in version 1.5.3. Windows 10

Assemblers Reloaded

19 Oct 16:15
Compare
Choose a tag to compare
  • New architecture for parsing list files. This will make it easier to add parsing labels and source/address associations for new assemblers.
  • Changes to launch.json:
    • "listFiles" removed.
    • Instead a configuration for each assembler: "sjasmplus", "z80asm" and "z88dk" added with overworked parameters.
    • "excludeFiles" parameter added to allow excluding certain files from association with execution addresses.
    • "filter" regex deprecated (i.e. it will not be supported anymore in future versions of DeZog).
    • "disassemblerArgs"/"numberOfLines": New parameter to control the number of displayed disassembled lines.
  • z88dk:
    • Renamed "z88dkMapFile" to "mapFile".
    • "addOffset" removed for z88dk. Use "mapFile" instead.
    • "mapFile" is mandatory now.
  • Byte registers IXL, IXH, IYL and IYH now show additionally under "Registers 2"
  • Bugfix for a hang when Disassembly should wrap around 0xFFFF.
  • Fixed an "Unverified breakpoint" issue on Windows.
  • Relaunch: the memory view of the first session is now correctly closed before re-launching.
  • Commands: "-view" is now working with all commands.
  • Commands:
    • Renamed: "md" changed to "mv".
    • "md" used to do a memory dump to console.
    • "ms" used to save memory contents to a file.

Beta 2: Assembler parsing re-factored

11 Oct 10:44
Compare
Choose a tag to compare
Pre-release

Branch changed to develop. Merging activities.

Changes/fixes:

  • Relaunch: the memory view of the first session is now correctly closed before re-launching.
  • Commands: "-view" is now working with all commands.
  • Commands:
    • Renamed: "md" changed to "mv".
    • "md" used to do a memory dump to console.
    • "ms" used to save memory contents to a file.

In order to install this version of DeZog in vscode use the command palette (F1) "Extensions: Install from VSIX..." and install the .vsix file below.

Relaunch fix

11 Oct 09:51
Compare
Choose a tag to compare
Relaunch fix Pre-release
Pre-release

Changes:

  • Commands: "-view" is now working with all commands.
  • Relaunch: the memory view of the first session is now correctly closed before re-launching.

In order to install DeZog v1.4.11 in vscode use the command palette (F1) "Extensions: Install from VSIX..." and install the .vsix file below.

Memory Dump

10 Oct 21:46
Compare
Choose a tag to compare
Memory Dump Pre-release
Pre-release

I renamed command "md" to "mv" and added 2 new commands:
"-md address size [dec|hex] [word] [little|big]": Memory dump at 'address' with 'size' bytes. Output is in 'hex' (default) or 'dec'imal. Per default data will be grouped in bytes. But if chosen, words are output. Last argument is the endianess which is little endian by default.
"-ms address size filename": Saves a memory dump to a file. The file is saved to the temp directory.

In order to install DeZog v1.4.10 in vscode use the command palette (F1) "Extensions: Install from VSIX..." and install the .vsix file below.

Beta: Assembler parsing re-factored

01 Oct 16:26
Compare
Choose a tag to compare
Pre-release

Main reason for this release is the re-factoring of the list file parsing. It was a mess.
Now I hope it has more structure.
Additionally in the design folder you find the AddingNewAssemblers.md which describes in detail how parsing for another assembler can be added.
There have been request for 2 other assemblers. Before the implementation was a mess and it was impossible to add something.
Now I hope that these assemblers can be added more easily in the future.
If not, at least the SW is better structured now.

The changes in more detail:

  • Changes to launch.json:
    • "listFiles" removed.
    • Instead a configuration for each assembler: "sjasmplus", "z80asm" and "z88dk" added with overworked parameters.
    • "excludeFiles" parameter added to allow excluding certain files from association with execution addresses.
    • "filter" regex deprecated (i.e. it will not be supported anymore in future versions of DeZog).
    • "disassemblerArgs"/"numberOfLines": New parameter to control the number of displayed disassembled lines.
  • z88dk:
    • Renamed "z88dkMapFile" to "mapFile".
    • "addOffset" removed for z88dk. Use "mapFile" instead.
    • "mapFile" is mandatory now.
  • Byte registers IXL, IXH, IYL and IYH now show additionally under "Registers 2"
  • Bugfix for a hang when Disassembly should wrap around 0xFFFF.
  • Fixed an "Unverified breakpoint" issue on Windows.
  • Overworked debug console output for stepping.

Note: The release was done on the feat_labels branch. If you look up documentation please make sure you are in the right branch.

In order to install DeZog v1.5.1 in vscode use the command palette (F1) "Extensions: Install from VSIX..." and install the .vsix file below.