mirror of
https://github.com/AppleWin/AppleWin.git
synced 2026-04-25 19:19:02 +00:00
54f86f0cdc
* Minor tidy * Changes: . semicolon now Comment EOL . double fwd-slash now Divide floor . (single fwd-slash unassigned) * . fwd-slash now parsed in Range_GetPrefix() . WIP: 'bp bank/addr' * Add error msgs * Extend Breakpoint_t struct * Update cmd 'bpl' to support displaying prefixes * Do prefix checks & output error msgs * Add _CheckBreakpointValueWithPrefix() . support bank, for BP_OP_EQUAL Stop reason: include BP id * WIP: fix BPs (non-BPM) * Fix cmd 'bpr' * Stop reason: don't show BP id for BP_HIT_REG (as it already includes it) Add comment about nArgs from calling funcs Refactor _CmdBreakpointAddCommonArg(): nArgs * Stop reason for memory BP: show full prefixed address * Stop reason: output BP id in consistenct way * Support ROM prefix filter * Complete addr prefix logic * Improve logic * BP: 'HDD DMA to/from memory' - use common hit id function * Support rw bank 100 * Support double forward-slash at start of line as a comment * Refactor: use debugger naming convention for vars * Changed prefix errors from 'bad' to 'out-of-range' * DebugInitialize(): Reset g_breakpointHitID * Refactor: use debugger var naming convention & formatting style * Switch divide-operator to the underscore char, and allow double-fslash as a comment anywhere on a line * Update help for debugger calculator * Update help for debugger breakpoints * Update help for debugger breakpoints (conditional) * Fix help:breakpoints.html & fix ArgsGetRegisterVlaue() to do case-insensitive compare * Fix underscore to be treated as a alphanumeric in a few edge cases * Revert to using '//' as divide operator * Help: update debugger Breakpoints & Calculalor pages * Help: update debugger Calculator (missed one) * Detabify and align * Display (1) or (2) prefix for LC1 or LC2 breakpoint * #1419 Added Aux.1 and Aux.N indicators * Display (1) or (2) suffix for LC1 or LC2 breakpoint * Extend cmd 'bpl' to display BP's end addr * Show both bank and slot together * Fix spacing for BP with range * Add: FG_INFO_BP_MEM, FG_INFO_MEM_WRITE, BG_INFO_MEM_BANK_LC, FG_INFO_MEM_BANK_LC colors * Cleanup * Add 3x5 mini hex numbers * Mini hex font to have rounded 0,A,C glyphs * Display 2 hex Bank now * Support edge-case for bank 0x100 * Tidy up end red spacer * Refactor & introduce new struct AddressPrefix_t * Fix a few bugs: . bpl: fix end addr . fix for 'R' and 'W' not coloured for single-byte BPs (eg. bpmr 100) --------- Co-authored-by: michaelangel007 <michaelangel007@sharedcraft.com>
600 lines
27 KiB
HTML
600 lines
27 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||
<html>
|
||
<head>
|
||
<title>AppleWin Debugger Tutorial</title>
|
||
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252">
|
||
</head>
|
||
<body style="DIRECTION: ltr" lang="en-US">
|
||
<h2><a name="Breakpoints"></a>Breakpoints</h2>
|
||
<p>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.</p>
|
||
<p><br>
|
||
<br>
|
||
</p>
|
||
<table border="0" cellpadding="2" cellspacing="0" width="90%">
|
||
<COLGROUP>
|
||
<col width="64">
|
||
<col width="192">
|
||
<tbody>
|
||
<tr bgcolor="#000000">
|
||
<td bgcolor="#000000" width="25%">
|
||
<p><font color="#ffffff"><b>Command</b></font></p>
|
||
</td>
|
||
<td bgcolor="#000000" width="75%">
|
||
<p style="FONT-STYLE: normal"><font color="#ffffff"><b>Effect</b></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#cccccc">
|
||
<td width="25%">
|
||
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPA
|
||
r [op] value</span></b></font></font></p>
|
||
</td>
|
||
<td width="75%">
|
||
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Adds
|
||
(conditional) Breakpoint.<br>
|
||
|
||
Default operator is equal ‘=’<br>
|
||
|
||
(In a future version, will dispatch to BPX, BPR, BPP, or BPIO.)</span></i></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#999999">
|
||
<td width="25%">
|
||
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPX<br>
|
||
|
||
BPX expression<br>
|
||
|
||
BPX address[,len]<br>
|
||
|
||
BPX [op] symbol</span></b></font></font></p>
|
||
</td>
|
||
<td width="75%">
|
||
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">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)<br>
|
||
Default length is 1.<br>
|
||
Default comparison operator is equal ‘=’</span></i></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#cccccc">
|
||
<td width="25%">
|
||
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BP</span></b></font></font></p>
|
||
</td>
|
||
<td width="75%">
|
||
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Currently an Alias for BPX.<br>
|
||
(In a future version, will also support Loading and Saving of breakpoints.)</span></i></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#999999">
|
||
<td width="25%">
|
||
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPM address[,len]</span></b></font></font></p>
|
||
</td>
|
||
<td width="75%">
|
||
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Add Breakpoint trigger when memory is accessed by CPU or hard disk controller's DMA.</span></i></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#cccccc">
|
||
<td width="25%">
|
||
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPMR address[,len]</span></b></font></font></p>
|
||
</td>
|
||
<td width="75%">
|
||
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Add Breakpoint trigger when memory is read by CPU or hard disk controller's DMA.</span></i></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#999999">
|
||
<td width="25%">
|
||
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPMW address[,len]</span></b></font></font></p>
|
||
</td>
|
||
<td width="75%">
|
||
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Add Breakpoint trigger when memory is written by CPU or hard disk controller's DMA.</span></i></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#cccccc">
|
||
<td width="25%">
|
||
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPR reg [op] value</span></b></font></font></p>
|
||
</td>
|
||
<td width="75%">
|
||
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Add Breakpoint trigger when Register’s ‘reg’ value is compared to the Value.</span></i></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#999999">
|
||
<td width="25%">
|
||
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPV vpos[,len]</span></b></font></font></p>
|
||
</td>
|
||
<td width="75%">
|
||
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Add Breakpoint trigger when video-scanner's vertical position matches vpos. (NB. Auto-disable when hit.)</span></i></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#cccccc">
|
||
<td width="25%">
|
||
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPD #</span></b></font></font></p>
|
||
</td>
|
||
<td width="75%">
|
||
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Disable Breakpoint (grayed out).</span></i></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#999999">
|
||
<td width="25%">
|
||
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPE #</span></b></font></font></p>
|
||
</td>
|
||
<td width="75%">
|
||
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Enable Breakpoint (colored red).</span></i></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#cccccc">
|
||
<td width="25%">
|
||
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPC #</span></b></font></font></p>
|
||
</td>
|
||
<td width="75%">
|
||
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Clear specified Breakpoint.<br>
|
||
Note: The asterisk ‘*’ may be used to clear all breakpoints.</span></i></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#999999">
|
||
<td width="25%">
|
||
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPL</span></b></font></font></p>
|
||
</td>
|
||
<td width="75%">
|
||
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">List Breakpoints.</span></i></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#cccccc">
|
||
<td width="25%">
|
||
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPIO</span></b></font></font></p>
|
||
</td>
|
||
<td width="75%">
|
||
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">(In a future version, will add Breakpoint trigger on memory read or write.)</span></i></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#999999">
|
||
<td width="25%">
|
||
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPP</span></b></font></font></p>
|
||
</td>
|
||
<td width="75%">
|
||
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">(In a future version, will add Breakpoint trigger on specific flag cleared or set.)</span></i></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#cccccc">
|
||
<td width="25%">
|
||
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BRK [0|1|2|3|all] [on|off]</span></b></font></font></p>
|
||
</td>
|
||
<td width="75%">
|
||
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Break on BRK or Invalid 1-3 byte opcodes</span></i></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#999999">
|
||
<td width="25%">
|
||
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BRKOP [opcode]</span></b></font></font></p>
|
||
</td>
|
||
<td width="75%">
|
||
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Break on Opcode</span></i></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#cccccc">
|
||
<td width="25%">
|
||
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BRKINT [on|off]</span></b></font></font></p>
|
||
</td>
|
||
<td width="75%">
|
||
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Break on Interrupt</span></i></p>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p><br>
|
||
<br>
|
||
</p>
|
||
<p>The general format for the conditional breakpoint is:</p>
|
||
<ul>
|
||
<li>
|
||
<p style="MARGIN-BOTTOM: 0in"><i>BPA register [operator] value.</i></p>
|
||
</li>
|
||
</ul>
|
||
<p>You can use the following comparison operators:</p>
|
||
<table border="1" cellpadding="2" cellspacing="0" width="75%">
|
||
<COLGROUP>
|
||
<col width="26">
|
||
<col width="64">
|
||
<col width="166">
|
||
<tbody>
|
||
<tr bgcolor="#000000">
|
||
<td width="10%">
|
||
<p><font color="#ffffff"><b>Op</b></font></p>
|
||
</td>
|
||
<td width="25%">
|
||
<p><font color="#ffffff"><b>Name</b></font></p>
|
||
</td>
|
||
<td width="65%">
|
||
<p><font color="#ffffff"><b>Effect</b></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td width="10%">
|
||
<p>=</p>
|
||
</td>
|
||
<td width="25%">
|
||
<p>Equal</p>
|
||
</td>
|
||
<td width="65%">
|
||
<p><i>Break when register is equal to value.</i></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td width="10%">
|
||
<p>!</p>
|
||
</td>
|
||
<td width="25%">
|
||
<p>Not Equal</p>
|
||
</td>
|
||
<td width="65%">
|
||
<p><i>Break when register is not equal to value.</i></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td width="10%">
|
||
<p><</p>
|
||
</td>
|
||
<td width="25%">
|
||
<p>Less Than</p>
|
||
</td>
|
||
<td width="65%">
|
||
<p><i>Break when register is less than value.</i></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td width="10%">
|
||
<p>></p>
|
||
</td>
|
||
<td width="25%">
|
||
<p>Greater Than</p>
|
||
</td>
|
||
<td width="65%">
|
||
<p><i>Break when register is greater than value.</i></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td width="10%">
|
||
<p><=</p>
|
||
</td>
|
||
<td width="25%">
|
||
<p>Less Than or Equal</p>
|
||
</td>
|
||
<td width="65%">
|
||
<p><i>Break when register is less than or equal to value.</i></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td width="10%">
|
||
<p>>=</p>
|
||
</td>
|
||
<td width="25%">
|
||
<p>Greater Than or Equal</p>
|
||
</td>
|
||
<td width="65%">
|
||
<p><i>Break when register is greater than or equal to value.</i></p>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p>
|
||
<br>
|
||
<br>
|
||
</p>
|
||
<p>Breaking on any of the 6502 registers is fully supported:</p>
|
||
<table border="1" cellpadding="2" cellspacing="0" width="75%">
|
||
<COLGROUP>
|
||
<col width="26">
|
||
<col width="64">
|
||
<col width="166">
|
||
<thead>
|
||
<tr bgcolor="#000000">
|
||
<td width="10%">
|
||
<p><font color="#ffffff"><b>Reg</b></font></p>
|
||
</td>
|
||
<td width="25%">
|
||
<p><font color="#ffffff"><b>Name</b></font></p>
|
||
</td>
|
||
<td width="65%">
|
||
<p><font color="#ffffff"><b>Effect</b></font></p>
|
||
</td>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td width="10%">
|
||
<p>A</p>
|
||
</td>
|
||
<td width="25%">
|
||
<p>Accumulator</p>
|
||
</td>
|
||
<td width="65%">
|
||
<p><i>Break when Accumulator is triggered.</i></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td width="10%">
|
||
<p>X</p>
|
||
</td>
|
||
<td width="25%">
|
||
<p>Register X</p>
|
||
</td>
|
||
<td width="65%">
|
||
<p><i>Break when Index X is triggered.</i></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td width="10%">
|
||
<p>Y</p>
|
||
</td>
|
||
<td width="25%">
|
||
<p>Register Y</p>
|
||
</td>
|
||
<td width="65%">
|
||
<p><i>Break when Index Y is triggered.</i></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td width="10%">
|
||
<p>PC</p>
|
||
</td>
|
||
<td width="25%">
|
||
<p>Program Counter</p>
|
||
</td>
|
||
<td width="65%">
|
||
<p><i>Break when PC is triggered.</i></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td width="10%">
|
||
<p>S</p>
|
||
</td>
|
||
<td width="25%">
|
||
<p>Stack Pointer</p>
|
||
</td>
|
||
<td width="65%">
|
||
<p><i>Break when Stack Pointer is triggered.</i></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td width="10%">
|
||
<p>P</p>
|
||
</td>
|
||
<td width="25%">
|
||
<p>Processor Status (flags)</p>
|
||
</td>
|
||
<td width="65%">
|
||
<p><i>Break when flags are triggered.</i></p>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<br>
|
||
<h2><font size="4">Notes:</font></h2>
|
||
<ul>
|
||
<li>
|
||
<p><i>BPP, Breaking on a specific flag (either set, or cleared) is forthcoming in a future version.</i></p>
|
||
</li>
|
||
</ul>
|
||
<br>
|
||
<p>You can use the following <i>optional</i> address prefixes (each delimited by a "/" or forward-slash):</p>
|
||
<table border="1" cellpadding="2" cellspacing="0" width="75%">
|
||
<COLGROUP>
|
||
<col width="26">
|
||
<col width="64">
|
||
<col width="166">
|
||
<tbody>
|
||
<tr bgcolor="#000000">
|
||
<td width="10%">
|
||
<p><font color="#ffffff"><b>Prefix</b></font></p>
|
||
</td>
|
||
<td width="25%">
|
||
<p><font color="#ffffff"><b>Name</b></font></p>
|
||
</td>
|
||
<td width="65%">
|
||
<p><font color="#ffffff"><b>Effect</b></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td width="10%">
|
||
<p>s<n></p>
|
||
</td>
|
||
<td width="25%">
|
||
<p>Slot</p>
|
||
</td>
|
||
<td width="65%">
|
||
<p><i>Specify slot 0-7 for Saturn card.</i></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td width="10%">
|
||
<p><nnn></p>
|
||
</td>
|
||
<td width="25%">
|
||
<p>Bank number</p>
|
||
</td>
|
||
<td width="65%">
|
||
<p><i>Specify bank 00 (main) 01-100 for RamWorks card's 64K bank or 0-7 for Saturn card's 16K bank.</i></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td width="10%">
|
||
<p>l<1|2></p>
|
||
</td>
|
||
<td width="25%">
|
||
<p>Language Card 4K bank 1 or 2</p>
|
||
</td>
|
||
<td width="65%">
|
||
<p><i>Specify language card 4K bank.</i></p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td width="10%">
|
||
<p>rom</p>
|
||
</td>
|
||
<td width="25%">
|
||
<p>ROM</p>
|
||
</td>
|
||
<td width="65%">
|
||
<p><i>Specify ROM. (Can't be used with other prefixes.)</i></p>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<br>
|
||
<h2><font size="4">Notes:</font></h2>
|
||
<ul>
|
||
<li>
|
||
<p><i>The order of prefixes doesn't matter, and prefixes are case-insensitive.</i></p>
|
||
</li>
|
||
</ul>
|
||
<br>
|
||
<p><font size="4"><b>Examples</b>:</font></p>
|
||
<table bgcolor="#000000" border="0" cellpadding="2" cellspacing="0" width="75%">
|
||
<COLGROUP>
|
||
<col width="64">
|
||
<col width="192">
|
||
<tbody>
|
||
<tr bgcolor="#00b8ff">
|
||
<td bgcolor="#30c0ff" width="25%">
|
||
<p><font color="#000000"><b>Input</b></font></p>
|
||
</td>
|
||
<td bgcolor="#30c0ff" width="75%">
|
||
<p><font color="#000000"><b>Effect</b></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#000000">
|
||
<td width="25%">
|
||
<p><font color="#00b8ff"><font face="Courier"><b>BPX < FA62</b></font></font></p>
|
||
</td>
|
||
<td width="75%">
|
||
<p><font color="#ffffff"><i>Add Breakpoint when PC < $<b><font color="#ffff00">FA62</font></b>.</i></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#000000">
|
||
<td bgcolor="#000000" width="25%">
|
||
<p><font color="#00b8ff"><font face="Courier"><b>BPR PC < D000</b></font></font></p>
|
||
</td>
|
||
<td bgcolor="#000000" width="75%">
|
||
<p><font color="#ffffff"><i>Add Breakpoint when PC < $<b><font color="#ffff00">D000</font>.</b></i></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#000000">
|
||
<td bgcolor="#000000" width="25%">
|
||
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPR A 0</span></b></font></font></p>
|
||
</td>
|
||
<td bgcolor="#000000" width="75%">
|
||
<p><font color="#ffffff"><i>Add Breakpoint when Accumulator is zero.</i></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#000000">
|
||
<td bgcolor="#000000" width="25%">
|
||
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPR A ! 0</span></b></font></font></p>
|
||
</td>
|
||
<td bgcolor="#000000" width="75%">
|
||
<p><font color="#ffffff"><i>Add Breakpoint when Accumulator is <b>not</b> zero.</i></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#000000">
|
||
<td bgcolor="#000000" width="25%">
|
||
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPR S < 1FF</span></b></font></font></p>
|
||
</td>
|
||
<td bgcolor="#000000" width="75%">
|
||
<p><font color="#ffffff"><i>Add Breakpoint when Stack has had something pushed onto it.</i></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#000000">
|
||
<td bgcolor="#000000" width="25%">
|
||
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPV A0</span></b></font></font></p>
|
||
</td>
|
||
<td bgcolor="#000000" width="75%">
|
||
<p><font color="#ffffff"><i>Add Breakpoint when video-scanner is at line 160 ($A0) which is the start of the MIXED area.</i></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#000000">
|
||
<td bgcolor="#000000" width="25%">
|
||
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BRK ON</span></b></font></font></p>
|
||
</td>
|
||
<td bgcolor="#000000" width="75%">
|
||
<p><font color="#ffffff"><i>Break execution when the opcode to be executed is $00 (ie. BRK).</i></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#000000">
|
||
<td bgcolor="#000000" width="25%">
|
||
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BRK ALL ON</span></b></font></font></p>
|
||
</td>
|
||
<td bgcolor="#000000" width="75%">
|
||
<p><font color="#ffffff"><i>Break execution when the opcode to be executed is $00 (ie. BRK) or any Invalid opcode.</i></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#000000">
|
||
<td bgcolor="#000000" width="25%">
|
||
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BRK 0 OFF</span></b></font></font></p>
|
||
</td>
|
||
<td bgcolor="#000000" width="75%">
|
||
<p><font color="#ffffff"><i>Disable breaking execution when the opcode to be executed is $00 (ie. BRK).</i></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#000000">
|
||
<td bgcolor="#000000" width="25%">
|
||
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BRKOP 6C</span></b></font></font></p>
|
||
</td>
|
||
<td bgcolor="#000000" width="75%">
|
||
<p><font color="#ffffff"><i>Break execution when the opcode to be executed is $6C (ie. JMP (ABS)).</i></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#000000">
|
||
<td bgcolor="#000000" width="25%">
|
||
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BRKINT ON</span></b></font></font></p>
|
||
</td>
|
||
<td bgcolor="#000000" width="75%">
|
||
<p><font color="#ffffff"><i>Break execution just after an interrupt occurs.</i></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#000000">
|
||
<td bgcolor="#000000" width="25%">
|
||
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPM E000,2000</span></b></font></font></p>
|
||
</td>
|
||
<td bgcolor="#000000" width="75%">
|
||
<p><font color="#ffffff"><i>Add breakpoint when an access occurs to main or aux memory or ROM in the range $E000-FFFF.</i></font></p>
|
||
</td>
|
||
</tr>
|
||
<!>
|
||
<!Examples using address prefixes>
|
||
<!>
|
||
<tr bgcolor="#000000">
|
||
<td bgcolor="#000000" width="25%">
|
||
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BP 00/L1/D000</span></b></font></font></p>
|
||
</td>
|
||
<td bgcolor="#000000" width="75%">
|
||
<p><font color="#ffffff"><i>Add breakpoint when PC = main memory language card's 4K bank 1 at $D000.</i></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#000000">
|
||
<td bgcolor="#000000" width="25%">
|
||
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPMW 01/D000,1000</span></b></font></font></p>
|
||
</td>
|
||
<td bgcolor="#000000" width="75%">
|
||
<p><font color="#ffffff"><i>Add breakpoint when a write occurs to aux memory (either 4K bank) in the range $D000-DFFF.</i></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#000000">
|
||
<td bgcolor="#000000" width="25%">
|
||
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BP ROM/FF58</span></b></font></font></p>
|
||
</td>
|
||
<td bgcolor="#000000" width="75%">
|
||
<p><font color="#ffffff"><i>Add breakpoint when PC = ROM at $FF58.</i></font></p>
|
||
</td>
|
||
</tr>
|
||
<tr bgcolor="#000000">
|
||
<td bgcolor="#000000" width="25%">
|
||
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPM S3/7/L1/D800</span></b></font></font></p>
|
||
</td>
|
||
<td bgcolor="#000000" width="75%">
|
||
<p><font color="#ffffff"><i>Add breakpoint when an access occurs to slot 3's Saturn card's 16K bank 7, 4K bank 1 at $D800.</i></font></p>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<br>
|
||
</body>
|
||
</html>
|