mirror of
https://github.com/AppleWin/AppleWin.git
synced 2024-06-16 06:29:33 +00:00
Add support for auto-load A2_BASIC.A2D
This commit is contained in:
parent
71a7e21dda
commit
3a908fdb69
|
@ -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
|
||||||
|
|
|
@ -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 ];
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue
Block a user