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) Update_t CmdOutputRun (int nArgs)
{ {
if (g_iCommand == CMD_SYMBOLS_APPLESOFT) // Debugger Startup: Run at debugger startup
{
nArgs = 1;
}
if (! nArgs) if (! nArgs)
return Help_Arg_1( CMD_OUTPUT_RUN ); 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)); sMiniFileName = pFileName.substr(0, MIN(pFileName.size(), CONSOLE_WIDTH));
// strcat( sMiniFileName, ".aws" ); // HACK: MAGIC STRING // 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 // Abs pathname
sFileName = sMiniFileName; sFileName = sMiniFileName;
} }
else 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 // Rel pathname
sFileName = g_sCurrentDir + sMiniFileName; sFileName = g_sCurrentDir + sMiniFileName;
} }
@ -8641,6 +8654,8 @@ void DebugInitialize ()
g_iCommand = CMD_SYMBOLS_APPLESOFT; g_iCommand = CMD_SYMBOLS_APPLESOFT;
CmdSymbolsLoad(0); CmdSymbolsLoad(0);
CmdOutputRun(0); // Load g_sFileNameScripts[] "A2_BASIC.A2D"
// ,0x7,0xFF // Treat zero-page as data // ,0x7,0xFF // Treat zero-page as data
// $00 GOWARM JSR ... // $00 GOWARM JSR ...
// $01 LOC1 DW // $01 LOC1 DW

View File

@ -42,7 +42,9 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// Symbols ________________________________________________________________________________________ // 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" "APPLE2E.SYM"
,"A2_BASIC.SYM" ,"A2_BASIC.SYM"
,"A2_ASM.SYM" ,"A2_ASM.SYM"
@ -53,6 +55,20 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
,"A2_DOS33.SYM" ,"A2_DOS33.SYM"
,"A2_PRODOS.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; std::string g_sFileNameSymbolsUser;
const char * g_aSymbolTableNames[ NUM_SYMBOL_TABLES ] = const char * g_aSymbolTableNames[ NUM_SYMBOL_TABLES ] =
@ -774,7 +790,7 @@ Update_t CmdSymbolsLoad (int nArgs)
int nSymbols = 0; 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) if (! nArgs)
{ {
sFileName += g_sFileNameSymbols[ iSymbolTable ]; sFileName += g_sFileNameSymbols[ iSymbolTable ];

View File

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