Debugger Commands


Breakpoint Clear

Syntax:

BC list

BC *

Description:

Permanently removes one or more breakpoints by number, or all breakpoints if the wildcard (*) is used. 

Example:

To remove breakpoints one and two, type: 

BC 1 2


Breakpoint Disable

Syntax:

BD list

BD *

Description:

Temporarily disables one or more breakpoints by number, or all breakpoints if the wildcard (*) is used. 

Example:

To temporarily disable breakpoints one and two, type: 

BD 1 2


Breakpoint Enable

Syntax:

BE list

BE *

Description:

Enables one or more breakpoints which had previously been disabled with the Breakpoint Disable (BD) command. 

Examples:

To enable breakpoints one and two, type: 

BE 1 2

To enable all breakpoints, type: 

BE *


Breakpoint Set

Syntax:

BP

BP address

BP addressLlength

Description:

Sets a breakpoint on the given address or range of addresses. If the breakpoint is on a memory location, it will be triggered if the instruction at that location is about to be executed, or if the memory location is read or written to. If the breakpoint is on an I/O port, it will be triggered if the port is accessed.

After setting a breakpoint, use the Go (G) command to start running the emulator in stepping mode. Breakpoint functionality is available only in stepping mode, not in normal running mode. 

Examples:

To set a breakpoint at the current execution address (the address contained in the PC register) type: 

BP

To set a breakpoint at address $BF00, the ProDOS Machine Language Interface, type: 

BP BF00

To set a breakpoint on I/O ports $C0E0-$C0EF, trapping all disk I/O on slot 6, type: 

BP C0E0L10


Black and White

Syntax:

BW

Description:

Changes the debugger screen to black and white mode. 


Color

Syntax:

COL

Description:

Changes the debugger screen to color mode. 


Go

Syntax:

G

G address

Description:

Starts running the emulator in stepping mode. Stepping mode is slower than the normal running mode, but it allows execution to be interrupted by a triggered breakpoint, the escape key, or execution reaching the address given in the Go command. 

Example:

To continue execution until the program counter reaches $C27D, the address of WAITKEY1, type: 

G C27D


Input

Syntax:

I address

Description:

Simulates reading the specified I/O port. 

Example:

To simulate a read of port $C083, switching the banked memory at $D000 from ROM to RAM, type: 

I C083


Feed Keystroke

Syntax:

KEY value

Description:

Simulates pressing a key. The given value is passed to the next program that reads the keyboard data port at $C00X. 

Example:

To simulate pressing the Return key, type: 

KEY 8D


Memory Dump

Syntax:

MD address

Description:

Displays the contents of memory starting at the specified address, in hexadecimal notation. 

Example:

To display memory at $BF00, type: 

MD BF00


Code Dump

Syntax:

MDC address

Description:

Displays disassembled code starting at the specified address. 

Example:

To display code starting at $F832, type: 

MDC F832


Memory Enter

Syntax:

ME address value(s)

Description:

Writes the given values to memory locations starting at the specified address. 

Example:

To write $A9 to memory location $FBE4 and $0A to memory location $FBE5, type: 

ME FBE4 A9 0A


Memory Fill

Syntax:

MF addressLlength value

Description:

Fills a range of memory locations with the given value. 

Example:

To fill memory locations $FBE4 through $FBEE with the value $EA, type: 

MF FBE4L0B EA


Output

Syntax:

O address value

Description:

Writes the specified value to the given I/O port. If value is not specified, a value of zero is assumed. 

Example:

To write $FF to I/O port $C070, type: 

O C070 FF


Set Register

Syntax:

R register=value

where register is:

A Accumulator
X X index
Y Y index
PC Program counter
SP Stack pointer

Description:

Sets the specified register in the emulated CPU to the given value. The value is adjusted if necessary to fit the valid range of values for the specified register.

Examples:

To set the value in the accumulator to $80, type:

R A=80

To set the program counter to $FA62, type:

R PC=FA62


Reset Flag

Syntax:

Rf

where f is:

N Sign flag
V Overflow flag
R Reserved flag
B Break flag
D Decimal flag
I Interrupt flag
Z Zero flag
C Carry flag

Description:

Clears the specified processor status flag.

Example:

To clear the carry flag, type:

RC


Set Flag

Syntax:

Sf

where f is:

N Sign flag
V Overflow flag
R Reserved flag
B Break flag
D Decimal flag
I Interrupt flag
Z Zero flag
C Carry flag

Description:

Sets the specified processor status flag.

Example:

To set the decimal flag, type:

SD


Trace

Syntax:

T

T count

Description:

Executes one or more instructions at the current program counter (PC) location.

Example:

To execute five assembly language instructions, type:

T 5


Remove Instruction

Syntax:

ZAP

Description:

Removes the current instruction (the instruction to which PC points) by replacing it with one or more NOP instructions.