Further Information

Debugger Settings

The debugger uses a number of files to store settings. They are written to the same folder as the debugger executable.

For this reason, we advise against storing the debugger in the user's desktop folder (because the settings files will appear on the desktop). The debugger executable should be stored in a folder with write access and a desktop shortcut created.

This is what the files do...

z80_dbg_file.txt contains a list of the recent files that appear on the File menu. The number at the start is the last file filter setting which is used when opening a new source file. It is safe to delete this file to clear out the list but don't edit it - adding files won't increase the size of the stored list which is fixed at 8 files.

z80_dbg_target.txt contains the most recent target connection type (Z80 Emulator, System Emulator or Hardware ICE), the system emulator server name and port number and the COM port for the ICE.

Information for all the target types is stored to make switching between targets easier. When selecting the Z80 Emulator or Hardware ICE, the file settings are used and no further user input is required. When selecting the System Emulator, the settings are used to fill in the dialog box fields.

When you start the debugger for the first time, this file has not yet been created and that triggers a dialog box which sets the initial target to the Z80 Emulator. On subsequent starts, the debugger will attempt to re-connect to the last target.

z80_dbg_update.txt contains the date of the last update check for automatic updates. By default the debugger will check for a new version once a week on startup. The first number is just a count of the number of debugger runs and the next line is the first run date. The file also contains the "Don't check" setting so deleting this file will turn on the update checks again. An update check can be done manually from the Help menu.

z80_dbg_win.txt contains the last screen position of the debugger. When you close the debugger and re-open it, it will be in the same place on the screen for maximum convenience. However, if you have a machine with multiple monitors which may be disconnected e.g. a laptop and docked monitors, then the debugger can be drawn on a missing screen i.e. be invisible. Deleting this file before starting the debugger will cause the debugger to be placed in the centre of the screen again.


Z80 CPU Documentation

This is the main reference document you need to write Z80 assembler code.

Z80 User Manual.

This is a PDF which is indexed and can be searched. Unfortunately it has a lot of errors in it as it appears to have been OCR'ed from the original printed documentation. In particular, the opcodes are wrong. In this copy, we have added corrections to the opcode tables.

You may also need.

Z80 CPU Electrical Specifications.


Known Issues and Restrictions

Running Multiple Debuggers

You can run multiple copies of the debugger on the same machine but the settings files are shared so the recent files and the position of the debugger etc. will contain the last written values by any of the debuggers. If you plan on running multiple simultaneous copies regularly, you can create multiple folders with a copy of the executable in each folder. The settings for each executable will be in the same folder and therefore not be shared.

Startup Problem

If you minimize the debugger then close it from the minimized state, the next time you start the debugger it will not be visible. This is because the position of the debugger is not valid when it is closed and the coordinates put in the z80_dbg_win.txt file are off the screen. If you delete the z80_dbg_win.txt file then start the debugger, it should appear in the centre of the screen again.

This problem is fixed in V1.2 of the debugger.

Other Known Problems

Source files containing non-ASCII characters are not supported. V1.2 of the debugger has limited support for displaying UTF-8 characters so that editors which encode opening and closing quotes for example are displayed correctly. Note that non-ASCII characters can cause problems with other tools such as assemblers.

You can't set a data breakpoint on a string or buffer variable by double-clicking it. This is because the size of the variable is not known to the debugger. You can do it manually, one byte at a time, from Edit Breakpoint on the Debug menu. This problem is fixed in V1.2 of the debugger.

In negative time zones e.g. GMT-8 in the USA, the dates in the z80_dbg_update.txt file can change each time the debugger is started. This affects how often the debugger checks for updates. This problem is fixed in V1.2 of the debugger.

Double-clicking the code view on a line with no code should toggle a breakpoint on the next code line. For projects that load more than one file, this doesn't always work. Clicking on a line with code always works so this is all that needs to be done. This problem is fixed in V1.2 of the debugger.

V1.2 of the debugger will be available in July 2024.


Bug Reports and Feature Requests

If you find a bug or have a suggestion for a new feature, please get in touch. Make sure you say which version of the debugger you are using and include any relevant files.