Add support for auto-load A2_BASIC.A2D

This commit is contained in:
michaelangel007 2022-04-02 11:29:28 -07:00
parent 71a7e21dda
commit 3a908fdb69
3 changed files with 35 additions and 3 deletions

View File

@ -6110,6 +6110,11 @@ _Help:
//===========================================================================
Update_t CmdOutputRun (int nArgs)
{
if (g_iCommand == CMD_SYMBOLS_APPLESOFT) // Debugger Startup: Run at debugger startup
{
nArgs = 1;
}
if (! nArgs)
return Help_Arg_1( CMD_OUTPUT_RUN );
@ -6134,13 +6139,21 @@ Update_t CmdOutputRun (int nArgs)
sMiniFileName = pFileName.substr(0, MIN(pFileName.size(), CONSOLE_WIDTH));
// strcat( sMiniFileName, ".aws" ); // HACK: MAGIC STRING
if (pFileName[0] == PATH_SEPARATOR || pFileName[1] == ':') // NB. Any prefix quote has already been stripped
size_t nFileName = pFileName.length();
if (nFileName && (pFileName[0] == PATH_SEPARATOR || pFileName[1] == ':')) // NB. Any prefix quote has already been stripped
{
// Abs pathname
sFileName = sMiniFileName;
}
else
{
// Debugger Startup: HACK
if (g_iCommand == CMD_SYMBOLS_APPLESOFT)
{
int iSymbolTable = CMD_SYMBOLS_APPLESOFT - CMD_SYMBOLS_ROM;
sFileName = g_sProgramDir + g_sFileNameScripts[ iSymbolTable ];
}
else
// Rel pathname
sFileName = g_sCurrentDir + sMiniFileName;
}
@ -8641,6 +8654,8 @@ void DebugInitialize ()
g_iCommand = CMD_SYMBOLS_APPLESOFT;
CmdSymbolsLoad(0);
CmdOutputRun(0); // Load g_sFileNameScripts[] "A2_BASIC.A2D"
// ,0x7,0xFF // Treat zero-page as data
// $00 GOWARM JSR ...
// $01 LOC1 DW

View File

@ -42,7 +42,9 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// Symbols ________________________________________________________________________________________
const char* g_sFileNameSymbols[ NUM_SYMBOL_TABLES ] = {
// TODO: Does this order need to match CMD_SYMBOLS_ROM ?
const char* g_sFileNameSymbols[ NUM_SYMBOL_TABLES ] =
{
"APPLE2E.SYM"
,"A2_BASIC.SYM"
,"A2_ASM.SYM"
@ -53,6 +55,20 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
,"A2_DOS33.SYM"
,"A2_PRODOS.SYM"
};
const char* g_sFileNameScripts[ NUM_SYMBOL_TABLES ] =
{
NULL // SYMBOLS_MAIN
, "A2_BASIC.A2D" // SYMBOLS_APPLESOFT
, NULL // SYMBOLS_ASSEMBLY
, NULL // SYMBOLS_USER_1
, NULL // SYMBOLS_USER_2
, NULL // SYMBOLS_SRC_1
, NULL // SYMBOLS_SRC_2
, NULL // SYMBOLS_DOS33
, NULL // SYMBOLS_PRODOS
};
std::string g_sFileNameSymbolsUser;
const char * g_aSymbolTableNames[ NUM_SYMBOL_TABLES ] =
@ -774,7 +790,7 @@ Update_t CmdSymbolsLoad (int nArgs)
int nSymbols = 0;
// Debugger will call us with 0 args on startup as a way to pre-load symbol tables
// Debugger Startup: Debugger will call us with 0 args on startup as a way to pre-load symbol tables
if (! nArgs)
{
sFileName += g_sFileNameSymbols[ iSymbolTable ];

View File

@ -1,6 +1,7 @@
// Variables
extern SymbolTable_t g_aSymbols[ NUM_SYMBOL_TABLES ];
extern const char* g_sFileNameScripts[ NUM_SYMBOL_TABLES ];
extern bool g_bSymbolsDisplayMissingFile;
// Prototypes