Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Andrea Odetti 2021-10-30 11:32:32 +01:00
commit 35452965c8
4 changed files with 36 additions and 13 deletions

View file

@ -8,6 +8,15 @@ https://github.com/AppleWin/AppleWin/issues/new
Tom Charlesworth
1.30.6.0 - 30 Oct 2021
----------------------
. [Bug #993] Fix Mousecard not persisting after a machine's hardware changes. (Regression at 1.30.5.0)
. [Bug #985] Fix one-shot paddle timers. [xotmatrix]
. [Bug #989] Debugger: Fix disassembly for NMOS 6502's JMP (Indirect) not showing correct target address.
. [Change #987] Debugger: Add 'lbr' command to show Last Branch Record for a change to the control-flow from an instruction or interrupt.
- NB. Bcc opcodes that aren't taken don't affect lbr.
. Debugger: Add 'brkint <on|off>' command to break at the instruction after an interrupt is taken.
1.30.5.0 - 2 Oct 2021
---------------------

View file

@ -164,7 +164,7 @@ Note: The asterisk
</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">BRKINT [0|1]</span></b></font></font></p>
<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>
@ -380,7 +380,7 @@ Note: The asterisk
<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>Adds Breakpoint when Accumulator is zero.</i></font></p>
<p><font color="#ffffff"><i>Add Breakpoint when Accumulator is zero.</i></font></p>
</td>
</tr>
<tr bgcolor="#000000">
@ -388,7 +388,7 @@ Note: The asterisk
<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>Adds Breakpoint when Accumulator is <b>not</b> zero.</i></font></p>
<p><font color="#ffffff"><i>Add Breakpoint when Accumulator is <b>not</b> zero.</i></font></p>
</td>
</tr>
<tr bgcolor="#000000">
@ -396,7 +396,7 @@ Note: The asterisk
<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 &lt; 1FF</span></b></font></font></p>
</td>
<td bgcolor="#000000" width="75%">
<p><font color="#ffffff"><i>Adds Breakpoint when Stack has had something pushed onto it.</i></font></p>
<p><font color="#ffffff"><i>Add Breakpoint when Stack has had something pushed onto it.</i></font></p>
</td>
</tr>
<tr bgcolor="#000000">
@ -404,7 +404,7 @@ Note: The asterisk
<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>Adds Breakpoint to break when the opcode to be executed is $00 or BRK.</i></font></p>
<p><font color="#ffffff"><i>Break execution when the opcode to be executed is $00 or BRK.</i></font></p>
</td>
</tr>
<tr bgcolor="#000000">
@ -412,15 +412,15 @@ Note: The asterisk
<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>Adds Breakpoint to break when the opcode to be executed is $6C or JMP (ABS).</i></font></p>
<p><font color="#ffffff"><i>Break execution when the opcode to be executed is $6C or 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 1</span></b></font></font></p>
<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>Adds Breakpoint to break just after an interrupt occurs.</i></font></p>
<p><font color="#ffffff"><i>Break execution just after an interrupt occurs.</i></font></p>
</td>
</tr>
</tbody>

View file

@ -1,4 +1,4 @@
#define APPLEWIN_VERSION 1,30,5,0
#define APPLEWIN_VERSION 1,30,6,0
#define xstr(a) str(a)
#define str(a) #a

View file

@ -993,20 +993,34 @@ Update_t CmdBreakOpcode (int nArgs) // Breakpoint IFF Full-speed!
//===========================================================================
Update_t CmdBreakOnInterrupt(int nArgs)
{
TCHAR sText[CONSOLE_WIDTH];
if (nArgs > 1)
return HelpLastCommand();
int iParamArg = nArgs;
int iParam;
int nFound = FindParam(g_aArgs[iParamArg].sArg, MATCH_EXACT, iParam, _PARAM_GENERAL_BEGIN, _PARAM_GENERAL_END);
int nActive = -1;
if (nFound)
{
if (iParam == PARAM_ON)
nActive = 1;
else if (iParam == PARAM_OFF)
nActive = 0;
}
if (nArgs == 1 && nActive == -1)
return HelpLastCommand();
TCHAR sText[CONSOLE_WIDTH];
TCHAR sAction[CONSOLE_WIDTH] = TEXT("Current"); // default to display
if (nArgs == 1)
{
g_bDebugBreakOnInterrupt = g_aArgs[1].nValue ? true : false;
g_bDebugBreakOnInterrupt = (iParam == PARAM_ON) ? true : false;
_tcscpy(sAction, TEXT("Setting"));
}
// Show what the current break opcode is
ConsoleBufferPushFormat(sText, TEXT("%s Break on Interrupt: %s")
, sAction
, g_bDebugBreakOnInterrupt ? "Enabled" : "Disabled"