/*
 *
 * debugz8k  Version 0.0  28NOV83
 *
 * This is the "debug" subtree for the Z8000 family.
 *
 */

/*
 * TNIX/Unix/VMS Version
 * Keyshell Version Number 1
 */

/*
 * Include files used by the pre-processor.
 */

#include <macstat>
#include <runmost>
#include <memcmds>
#include <portcmds>
#include <reg8bit>
#include <loadsave>

debug
{
>
>\kstatus\e - Shows the emulator environment.
>
>\krun prgm\e - Runs your program.
>
>\kmemory\e - Modifies and/or accesses memory.
>
>\kregisters\e - Modifies and/or accesses register contents.
>
>\kload/save\e - Loads or saves your program.

		msg (^);
		f1;status; [macstat];
		f2;run pgrm; [runmost];
		f3;memory; { 
			>
			>\kdump\e - Shows memory contents over a specified address range.
			>
			>\kfill\e - Fills memory with a specified pattern.
			>
			>\kpatch\e - Changes contents of memory.
			>
			>\kdisassem\e - Disassembles program over a specified address range.
			>
			>\kmem space\e - Changes default memory spaces.
			>
			>\ki/o read\e - Reads the specified I/O port.
			>
			>\ki/o write\e - Writes a value to a specified I/O port.
			f1;dump; [dump];
			f2;fill; [fillmem];
			f3;patch; [patch];
			f4;disassem; [disassemble];
			f5;mem space; {
				>
				>\knrml code\e - Sets default to normal code area.
				>
				>\knrml data\e - Sets default to normal data area.
				>
				>\knrml stck\e - Sets default to normal stack area.
				>
				>\ksys code\e - Sets default to system code area.
				>
				>\ksys data\e - Sets default to system data area.
				>
				>\ksys stack\e - Sets default to system stack area.
				cmd (^memsp s ),
					msg (^Select memory space: %%),
					exec, msg (^), cmd (^), break;
				f1;nrml code; par (nc);
				f2;nrml data; par (nd);
				f3;nrml stck; par (ns);
				f4;sys code; par (sc);
				f5;sys data; par (sd);
				f6;sys stack; par (ss);
				f7;manual; man (memsp);
				f8;done; msg (^), cmd (^), break;
			};
			f6;i/o read; [rdport];
			f7;i/o write; [wrtport];
			f8;done; msg (^), cmd (^), break;
		};
		f4;registers; [reg8bit];
		f5;load/save; [loadsave];
		f8;done; msg (^), cmd (^), break;
}
