From eccddde2834544da2ce62dfb3abe2c596207bd5f Mon Sep 17 00:00:00 2001 From: Jeffrey Pfau Date: Sun, 7 Feb 2016 14:28:35 -0800 Subject: [PATCH] Debugger: Update createDebugger --- src/gba/supervisor/cli.c | 18 +++++++++--------- src/gba/supervisor/cli.h | 6 +++--- src/platform/commandline.c | 4 ++-- src/platform/commandline.h | 3 ++- 4 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/gba/supervisor/cli.c b/src/gba/supervisor/cli.c index 60d8839e8..14d770586 100644 --- a/src/gba/supervisor/cli.c +++ b/src/gba/supervisor/cli.c @@ -31,7 +31,7 @@ struct CLIDebuggerCommandSummary _GBACLIDebuggerCommands[] = { { 0, 0, 0, 0 } }; -struct GBACLIDebugger* GBACLIDebuggerCreate(struct GBAThread* context) { +struct GBACLIDebugger* GBACLIDebuggerCreate(struct mCore* core) { struct GBACLIDebugger* debugger = malloc(sizeof(struct GBACLIDebugger)); debugger->d.init = _GBACLIDebuggerInit; debugger->d.deinit = _GBACLIDebuggerDeinit; @@ -41,7 +41,7 @@ struct GBACLIDebugger* GBACLIDebuggerCreate(struct GBAThread* context) { debugger->d.name = "Game Boy Advance"; debugger->d.commands = _GBACLIDebuggerCommands; - debugger->context = context; + debugger->core = core; return debugger; } @@ -60,12 +60,12 @@ static bool _GBACLIDebuggerCustom(struct CLIDebuggerSystem* debugger) { struct GBACLIDebugger* gbaDebugger = (struct GBACLIDebugger*) debugger; if (gbaDebugger->frameAdvance) { - if (!gbaDebugger->inVblank && GBARegisterDISPSTATIsInVblank(gbaDebugger->context->gba->memory.io[REG_DISPSTAT >> 1])) { + if (!gbaDebugger->inVblank && GBARegisterDISPSTATIsInVblank(((struct GBA*) gbaDebugger->core->board)->memory.io[REG_DISPSTAT >> 1])) { ARMDebuggerEnter(&gbaDebugger->d.p->d, DEBUGGER_ENTER_MANUAL, 0); gbaDebugger->frameAdvance = false; return false; } - gbaDebugger->inVblank = GBARegisterDISPSTATGetInVblank(gbaDebugger->context->gba->memory.io[REG_DISPSTAT >> 1]); + gbaDebugger->inVblank = GBARegisterDISPSTATGetInVblank(((struct GBA*) gbaDebugger->core->board)->memory.io[REG_DISPSTAT >> 1]); return true; } return false; @@ -90,7 +90,7 @@ static void _frame(struct CLIDebugger* debugger, struct CLIDebugVector* dv) { struct GBACLIDebugger* gbaDebugger = (struct GBACLIDebugger*) debugger->system; gbaDebugger->frameAdvance = true; - gbaDebugger->inVblank = GBARegisterDISPSTATGetInVblank(gbaDebugger->context->gba->memory.io[REG_DISPSTAT >> 1]); + gbaDebugger->inVblank = GBARegisterDISPSTATGetInVblank(((struct GBA*) gbaDebugger->core->board)->memory.io[REG_DISPSTAT >> 1]); } static void _load(struct CLIDebugger* debugger, struct CLIDebugVector* dv) { @@ -106,17 +106,17 @@ static void _load(struct CLIDebugger* debugger, struct CLIDebugVector* dv) { struct GBACLIDebugger* gbaDebugger = (struct GBACLIDebugger*) debugger->system; - GBALoadState(gbaDebugger->context, gbaDebugger->context->dirs.state, dv->intValue, SAVESTATE_SCREENSHOT); + mCoreLoadState(gbaDebugger->core, dv->intValue, SAVESTATE_SCREENSHOT); } static void _rewind(struct CLIDebugger* debugger, struct CLIDebugVector* dv) { struct GBACLIDebugger* gbaDebugger = (struct GBACLIDebugger*) debugger->system; if (!dv) { - GBARewindAll(gbaDebugger->context); + // TODO: Put back rewind } else if (dv->type != CLIDV_INT_TYPE) { printf("%s\n", ERROR_MISSING_ARGS); } else { - GBARewind(gbaDebugger->context, dv->intValue); + // TODO: Put back rewind } } @@ -133,6 +133,6 @@ static void _save(struct CLIDebugger* debugger, struct CLIDebugVector* dv) { struct GBACLIDebugger* gbaDebugger = (struct GBACLIDebugger*) debugger->system; - GBASaveState(gbaDebugger->context, gbaDebugger->context->dirs.state, dv->intValue, SAVESTATE_SCREENSHOT); + mCoreSaveState(gbaDebugger->core, dv->intValue, SAVESTATE_SCREENSHOT); } #endif diff --git a/src/gba/supervisor/cli.h b/src/gba/supervisor/cli.h index 17dadf273..f06fd6439 100644 --- a/src/gba/supervisor/cli.h +++ b/src/gba/supervisor/cli.h @@ -9,18 +9,18 @@ #ifdef USE_CLI_DEBUGGER #include "debugger/cli-debugger.h" -struct GBAThread; +struct mCore; struct GBACLIDebugger { struct CLIDebuggerSystem d; - struct GBAThread* context; + struct mCore* core; bool frameAdvance; bool inVblank; }; -struct GBACLIDebugger* GBACLIDebuggerCreate(struct GBAThread*); +struct GBACLIDebugger* GBACLIDebuggerCreate(struct mCore*); #endif #endif diff --git a/src/platform/commandline.c b/src/platform/commandline.c index 0394d12fd..1d39ff13f 100644 --- a/src/platform/commandline.c +++ b/src/platform/commandline.c @@ -199,7 +199,7 @@ void _applyGraphicsArgs(struct mSubParser* parser, struct mCoreConfig* config) { mCoreConfigSetOverrideIntValue(config, "fullscreen", graphicsOpts->fullscreen); } -struct ARMDebugger* createDebugger(struct mArguments* opts, struct GBAThread* context) { +struct ARMDebugger* createDebugger(struct mArguments* opts, struct mCore* core) { #ifndef USE_CLI_DEBUGGER UNUSED(context); #endif @@ -219,7 +219,7 @@ struct ARMDebugger* createDebugger(struct mArguments* opts, struct GBAThread* co #ifdef USE_CLI_DEBUGGER case DEBUGGER_CLI: CLIDebuggerCreate(&debugger->cli); - struct GBACLIDebugger* gbaDebugger = GBACLIDebuggerCreate(context); + struct GBACLIDebugger* gbaDebugger = GBACLIDebuggerCreate(core); CLIDebuggerAttachSystem(&debugger->cli, &gbaDebugger->d); break; #endif diff --git a/src/platform/commandline.h b/src/platform/commandline.h index 4f95a9727..a7d6ea714 100644 --- a/src/platform/commandline.h +++ b/src/platform/commandline.h @@ -59,6 +59,7 @@ void usage(const char* arg0, const char* extraOptions); void version(const char* arg0); void initParserForGraphics(struct mSubParser* parser, struct mGraphicsOpts* opts); -struct ARMDebugger* createDebugger(struct mArguments* opts, struct GBAThread* context); +struct mCore; +struct ARMDebugger* createDebugger(struct mArguments* opts, struct mCore* core); #endif