X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=platform%2Fcommon%2Fmenu.c;h=00afc34b0dc54fd451beab4f14b834822983f224;hb=6bae2e90d459dcbff157252ddfa7b87d25b8309f;hp=2775859386b7de75f1fb514759113abb9bfe7aae;hpb=f579f7b891f9968ab4a4fd0b3f18404965eb41f7;p=picodrive.git diff --git a/platform/common/menu.c b/platform/common/menu.c index 2775859..00afc34 100644 --- a/platform/common/menu.c +++ b/platform/common/menu.c @@ -19,20 +19,23 @@ char menuErrorMsg[64] = { 0, }; // PicoPad[] format: MXYZ SACB RLDU -me_bind_action me_ctrl_actions[12] = +me_bind_action me_ctrl_actions[15] = { - { "UP ", 0x001 }, - { "DOWN ", 0x002 }, - { "LEFT ", 0x004 }, - { "RIGHT ", 0x008 }, - { "A ", 0x040 }, - { "B ", 0x010 }, - { "C ", 0x020 }, - { "START ", 0x080 }, - { "MODE ", 0x800 }, - { "X ", 0x400 }, - { "Y ", 0x200 }, - { "Z ", 0x100 } + { "UP ", 0x0001 }, + { "DOWN ", 0x0002 }, + { "LEFT ", 0x0004 }, + { "RIGHT ", 0x0008 }, + { "A ", 0x0040 }, + { "B ", 0x0010 }, + { "C ", 0x0020 }, + { "A turbo", 0x4000 }, + { "B turbo", 0x1000 }, + { "C turbo", 0x2000 }, + { "START ", 0x0080 }, + { "MODE ", 0x0800 }, + { "X ", 0x0400 }, + { "Y ", 0x0200 }, + { "Z ", 0x0100 } }; @@ -418,7 +421,8 @@ void debug_menu_loop(void) case 2: clear_screen(); emu_forcedFrame(0); darken_screen(); - PDebugShowSpriteStats(SCREEN_BUFFER, SCREEN_WIDTH); break; + PDebugShowSpriteStats((unsigned short *)SCREEN_BUFFER + (SCREEN_HEIGHT/2 - 240/2)*SCREEN_WIDTH + + SCREEN_WIDTH/2 - 320/2, SCREEN_WIDTH); break; case 3: clear_screen(); PDebugShowPalette(SCREEN_BUFFER, SCREEN_WIDTH); PDebugShowSprite((unsigned short *)SCREEN_BUFFER + SCREEN_WIDTH*120+SCREEN_WIDTH/2+16, @@ -439,6 +443,7 @@ void debug_menu_loop(void) if ((inp & (BTN_WEST|BTN_LEFT)) == (BTN_WEST|BTN_LEFT)) { mkdir("dumps", 0777); PDebugDumpMem(); + while (inp & BTN_WEST) inp = read_buttons_async(BTN_WEST); dumped = 1; } break; @@ -447,6 +452,13 @@ void debug_menu_loop(void) if (inp & BTN_RIGHT) PicoDrawMask ^= PDRAW_LAYERA_ON; if (inp & BTN_DOWN) PicoDrawMask ^= PDRAW_SPRITES_LOW_ON; if (inp & BTN_UP) PicoDrawMask ^= PDRAW_SPRITES_HI_ON; + if (inp & BTN_EAST) { + PsndOut = NULL; // just in case + PicoSkipFrame = 1; + PicoFrame(); + PicoSkipFrame = 0; + while (inp & BTN_EAST) inp = read_buttons_async(BTN_EAST); + } break; case 3: if (inp & BTN_DOWN) spr_offs++;