Mercurial > repos > blastem
changeset 885:e3f5ec336432
Allow menu ROM to be debugged
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 14 Nov 2015 09:49:39 -0800 |
parents | 252dfd29831d |
children | fb1f11fd0692 |
files | blastem.c |
diffstat | 1 files changed, 7 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/blastem.c Fri Nov 13 22:56:59 2015 -0800 +++ b/blastem.c Sat Nov 14 09:49:39 2015 -0800 @@ -969,6 +969,7 @@ int rom_size; uint8_t * debuggerfun = NULL; uint8_t fullscreen = FULLSCREEN_DEFAULT, use_gl = 1; + uint8_t debug_target = 0; for (int i = 1; i < argc; i++) { if (argv[i][0] == '-') { switch(argv[i][1]) { @@ -982,6 +983,10 @@ break; case 'd': debuggerfun = (uint8_t *)debugger; + //allow debugging the menu + if (argv[i][2] == 'm') { + debug_target = 1; + } break; case 'D': gdb_remote_init(); @@ -1141,7 +1146,7 @@ } set_keybindings(genesis->ports); - start_genesis(genesis, menu ? NULL : statefile, menu ? NULL : debuggerfun); + start_genesis(genesis, menu ? NULL : statefile, menu == debug_target ? debuggerfun : NULL); for(;;) { if (menu && menu_context->next_rom) { @@ -1193,7 +1198,7 @@ genesis = game_context; genesis->m68k->options->address_log = address_log; map_all_bindings(genesis->ports); - start_genesis(genesis, statefile, debuggerfun); + start_genesis(genesis, statefile, menu == debug_target ? debuggerfun : NULL); } else if (menu && game_context) { genesis->arena = set_current_arena(game_context->arena);