[net.micro.cpm] Z8E - at last! a free Z80 debugger for CP/M

W8SDZ@SIMTEL20.ARPA (Keith Petersen) (09/03/85)

Z8E - a Z80 DEBUGGING MONITOR has been released to the public (it's
copyrighted but permission has been given for non-profit use).

Z8E is a professional quality interactive debugging tool designed
to speed the testing of Z80 assembly language programs.   Origin-
ally written as a standalone monitor,  Z8E was used in the  deve-
lopement  of the world's largest Touch-Tone Input/Voice  Response
system.   Now redone to run in a CP/M or TurboDOS environment Z8E
contains  more features in less memory than any comparable  soft-
ware product.  Occupying less than 9K of memory, Z8E includes the
following among its many features:

      - Full screen animated display of the program under
	test while it is being executed by the Z80  (uses
	cursor addressing, configurable by the user).

      - Complete Z80 inline assembler,	with labels, sym-
	bols,  expressions,  and directives,  using Zilog
	mnemonics
			
      - Interactive  disassembly with labels and  symbols
	to  console  or disk allows the user  to  specify
	output formats and add comments 

      - Fully  traced program execution including a  full
	screen single step command that instructs Z8E  to
	disassemble  code  and to move the cursor to  the
	next instruction to execute

      - Up to 16 user settable breakpoints with  optional
	pass counts

      - True  symbolic	debugging  using the  input  from
	multiple   Microsoft  MACRO-80 .PRN  and  LINK-80
	.SYM  files and Z80ASM .LST and SLRNK and  Z80ASM
	.SYM files from SLR Systems.

      - Dynamic relocation of Z8E at load time to the top
	of   user  memory regardless of  size.	 No  user
	configuration of any kind is required.	

The files are available as:

Filename			Type	 Bytes	 CRC

Directory MICRO:<CPM.DEBUG>
Z8E.LBR.1			BINARY	104704  1D4CH
...which contains the .COM, DOC, and SYM for patching cursor control.

Z8E.MQC.1			BINARY	112512  4925H
...the source code, for those who wonder how it works.  This was not
put into the LBR because I felt not everyone would need the source and
the LBR is already VERY big.

If you are unable to access Simtel-20 because of network restrictions
please remember that MOST of the new files announced to Info-Cpm are
also available on my RCPM Royal Oak (MI) which may be accessed at 300
bps using the 103a modem mode or 1200 bps using either the 212a or
Vadic 3400 modes.  The telephone number is (313) 759-6569.

--Keith Petersen
Arpa:  W8SDZ@SIMTEL20.ARPA
uucp:  ...!seismo!SIMTEL20.ARPA!W8SDZ
uucp:  ...!{decvax,unc,hao,cbosgd,seismo,aplvax,uci}!brl-bmd!w8sdz
uucp:  ...!{ihnp4!cbosgd,cmcl2!esquire}!brl-bmd!w8sdz

pete@stc.UUCP (Peter Kendell) (09/06/85)

Summary:
Expires:
Sender:
Followup-To:
Distribution:
Keywords:
Xpath: stc stc-b stc-a


        Can someone *please* post this to us poor deprived
        Europeans!
-- 
        Peter Kendell <pete@stc.UUCP>

        ...mcvax!ukc!stc!pete

	'Not everything that is not forbidden is permitted'

woolsey@umn-cs.UUCP (Jeff Woolsey) (09/13/85)

OK, I've tried to get Z8E running on my machine (I mean I'm real tired of DDT),
but the developers of Z8E forgot one thing:  Z80s have something called
interrupt mode 1.  This is the quick and dirty interrupt mode which causes
a jump to 38H.  Z8E (and unpatched versions of DDT) use restart 7 (which
also jumps to 38H) as the breakpoint mechanism, which on my system (and 
presumably others, since Digital Research issued a patch for DDT to use a 
different restart vector) is the address of the interrupt handler.  No good.

I tried to change which restart vector it uses in the source, but there aren't
any wonderful equates at the front of the source that would make this easy, so
I had to go digging.  I may have gotten them all, after a single pass through
the source, but somehow I doubt it, as the program now crashes after I ask
it to disassemble four instructions.  Real useful.   HELP!

-- 
-- 
Even the ghosts will have settled down and raised families by now.

				Jeff Woolsey
				...ihnp4{!stolaf}!umn-cs!woolsey
				woolsey@umn-cs.csnet