# HG changeset patch # User Michael Pavone # Date 1447523379 28800 # Node ID e3f5ec33643225fdbd2ce33f11e725344d5738e8 # Parent 252dfd29831d628c77f33d2fa02ee6f7f523d22a Allow menu ROM to be debugged diff -r 252dfd29831d -r e3f5ec336432 blastem.c --- 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);