## Breakpoints

You now have a variety of options when specifying a breakpoint. Breakpoints can also be disabled, and later re-enabled. This lets ones set a bunch of breakpoints, and quickly re-activate them without having to re-enter the breakpoint logic.

Command | Effect
BPA r [op] value | Adds (conditional) Breakpoint. Default operator is equal ‘=’ (In a future version, will dispatch to BPX, BPR, BPP, or BPIO.)
BPX BPX expression BPX address[,len] BPX [op] symbol | Add Breakpoint trigger to stop executing when the PC is within the range of the Address, Symbol, or Expression. i.e. Range is: [addr,addr+len) Default length is 1. Default comparision operator is equal ‘=’
BP | Currently an Alias for BPX. (In a future version, will also support Loading and Saving of breakpoints.)
BPM address[,len] | Add Breakpoint trigger when memory is accessed by 6502.
BPR reg [op] value | Add Breakpoint trigger when Register’s ‘reg’ value is compared to the Value.
BPD | Disable Breakpoint (grayed out).
BPE | Enable Breakpoint (colored red).
BPC # | Clear specified Breakpoint. Note: The asterisk ‘*’ may be used to clear all breakpoints.
BPL | List Breakpoints.
BPIO | (In a future version, will add Breakpoint trigger on memory read or write.)
BPP | (In a future version, will add Breakpoint trigger on specific flag cleared or set.)

The general format for the conditional breakpoint is:

- BPA register [operator] value.

You can use the following comparison operators:

Op | Name | Effect
= | Equal | Break when register is equal to value.
! | Not Equal | Break when register is not equal to value.
< | Less Than | Break when register is less than value.
> | Greater Than | Break when register is greater than value.

Breaking on any of the 6502 registers is fully supported:

Reg | Name | Effect
A | Accumulator | Break when Accumulator is triggered.
X | Register X | Break when Index X is triggered.
Y | Register Y | Break when Index Y is triggered.
PC | Program Counter | Break when PC is triggered.
S | Stack Pointer | Break when Stack Pointer is triggered.
P | Processor Status (flags) | Break when flags are triggered.

## Notes:

- BPP, Breaking on a specific flag (either set, or cleared) is forth-coming in a future version.

Examples:

Input | Effect
BPX < F000 | Add Breakpoint when PC < $FA62.
BPX PC < D000 | Add Breakpoint when PC < $ D000.
BPR A 0 | Adds Breakpoint when Accumulator is zero.
BPR A ! 0 | Adds Breakpoint when Accumulator is not zero.
BPR S < 1FF | Adds Breakpoint when Stack has had something pushed onto it.