DDTZ Debugger

DDTZ [Download] is a debugger similar to the CP/M 2.2 debugger DDT. Compared to the 8080 opcodes handling DDT, DDTZ accepts Z80 opcodes. The documentation DDTZ.DOC describes its function.

Z8E Debugger

Z8E [Download] is a debugger with full screen animated display. The documentation Z8E.WS describes its function. (This debugger will be found in SIG/M1 volume 239).

Wagners Debugger

WADE [Download] is a debugger working like (Z)SID but with enhanced input facilities. It is designed as an RSX. WADE.DOC describes the functions.
As known debuggers keep track of a program using so called breakpoints. Mostly this will be implemented by saving the original opcode and storing a new one into the breakpoint address which will give control to the debugger if the program executes at the breakpoint address.
The 8080 cpu may execute so called RST instructions. These are opcodes of one byte length working like a subroutine CALL. There do exist 8 such instructions which may call addresses 0x0000, 0x0008 up to 0x0038. Of course they does exist on the Z80 cpu, too. Typically breakpoints were implemented using the RST 7 instruction (Z80: RST 38H). Using however interrupt mode IM 1 on the Z80 leads to a conflict between breakpoint and interrupt service routine because both use the same address, namely 0x0038. This interrupt mode is implemented in the PCW machine. A collision may be bypassed using the RST 6 respectively RST 30H instruction for a breakpoint.
1. SIG/M (Special Interest Group/Microcomputers), a part of the Amateur Computer Club of New Jersey, used to compile public-domain software into disk volumes for regular release. The SIG/M disk set was started in 1980 and volumes 000 up to 310 may be found here.