X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=psp%2Femu.c;h=500f219edcccad65653adc6ca7837ea53697c0ed;hb=2c60056042e94007286e3e0e1789f4c9a78b7731;hp=015c320f2eb1d4286438858e2c4abdefe7ee6a22;hpb=725d7f6c16b396ad3c7f98175cc20289c5241f3a;p=libpicofe.git diff --git a/psp/emu.c b/psp/emu.c index 015c320..500f219 100644 --- a/psp/emu.c +++ b/psp/emu.c @@ -33,9 +33,8 @@ int sceAudio_E0727056(int volume, void *buffer); // blocking output int sceAudioOutput2GetRestSample(); -char romFileName[PATH_MAX]; unsigned char *PicoDraw2FB = (unsigned char *)VRAM_CACHED_STUFF + 8; // +8 to be able to skip border with 1 quadword.. -int engineState = PGS_Menu, engineStateSuspend; +int engineStateSuspend; static unsigned int noticeMsgTime = 0; int reset_timing = 0; // do we need this? @@ -750,10 +749,10 @@ static void RunEventsPico(unsigned int events, unsigned int keys) if (pico_inp_mode != 0) { PicoPad[0] &= ~0x0f; // release UDLR - if (keys & BTN_UP) { pico_pen_y--; if (pico_pen_y < 8) pico_pen_y = 8; } - if (keys & BTN_DOWN) { pico_pen_y++; if (pico_pen_y > 224-PICO_PEN_ADJUST_Y) pico_pen_y = 224-PICO_PEN_ADJUST_Y; } - if (keys & BTN_LEFT) { pico_pen_x--; if (pico_pen_x < 0) pico_pen_x = 0; } - if (keys & BTN_RIGHT) { + if (keys & PBTN_UP) { pico_pen_y--; if (pico_pen_y < 8) pico_pen_y = 8; } + if (keys & PBTN_DOWN) { pico_pen_y++; if (pico_pen_y > 224-PICO_PEN_ADJUST_Y) pico_pen_y = 224-PICO_PEN_ADJUST_Y; } + if (keys & PBTN_LEFT) { pico_pen_x--; if (pico_pen_x < 0) pico_pen_x = 0; } + if (keys & PBTN_RIGHT) { int lim = (Pico.video.reg[12]&1) ? 319 : 255; pico_pen_x++; if (pico_pen_x > lim-PICO_PEN_ADJUST_X) @@ -779,10 +778,10 @@ static void RunEvents(unsigned int which) int keys; sceGuSync(0,0); blit2("", (which & 0x1000) ? "LOAD STATE? (X=yes, O=no)" : "OVERWRITE SAVE? (X=yes, O=no)", 0); - while( !((keys = psp_pad_read(1)) & (BTN_X|BTN_CIRCLE)) ) + while( !((keys = psp_pad_read(1)) & (PBTN_X|PBTN_CIRCLE)) ) psp_msleep(50); - if (keys & BTN_CIRCLE) do_it = 0; - while( ((keys = psp_pad_read(1)) & (BTN_X|BTN_CIRCLE)) ) // wait for release + if (keys & PBTN_CIRCLE) do_it = 0; + while( ((keys = psp_pad_read(1)) & (PBTN_X|PBTN_CIRCLE)) ) // wait for release psp_msleep(50); clearArea(0); } @@ -832,43 +831,16 @@ static void updateKeys(void) static unsigned int prevEvents = 0; int i; + /* FIXME: port to input fw */ keys = psp_pad_read(0); if (keys & PSP_CTRL_HOME) sceDisplayWaitVblankStart(); - if (keys & BTN_SELECT) + if (keys & PBTN_SELECT) engineState = PGS_Menu; keys &= CONFIGURABLE_KEYS; - for (i = 0; i < 32; i++) - { - if (keys & (1 << i)) - { - int pl, acts = currentConfig.KeyBinds[i]; - if (!acts) continue; - pl = (acts >> 16) & 1; - if (kb_combo_keys & (1 << i)) - { - int u = i+1, acts_c = acts & kb_combo_acts; - // let's try to find the other one - if (acts_c) { - for (; u < 32; u++) - if ( (keys & (1 << u)) && (currentConfig.KeyBinds[u] & acts_c) ) { - allActions[pl] |= acts_c & currentConfig.KeyBinds[u]; - keys &= ~((1 << i) | (1 << u)); - break; - } - } - // add non-combo actions if combo ones were not found - if (!acts_c || u == 32) - allActions[pl] |= acts & ~kb_combo_acts; - } else { - allActions[pl] |= acts; - } - } - } - PicoPad[0] = allActions[0] & 0xfff; PicoPad[1] = allActions[1] & 0xfff; @@ -930,7 +902,6 @@ void emu_Loop(void) clearArea(1); Pico.m.dirtyPal = 1; oldmodes = ((Pico.video.reg[12]&1)<<2) ^ 0xc; - emu_findKeyBindCombos(); // pal/ntsc might have changed, reset related stuff target_fps = Pico.m.pal ? 50 : 60; @@ -1127,13 +1098,13 @@ void emu_HandleResume(void) // reopen first CD track if (Pico_mcd->TOC.Tracks[0].F != NULL) { - char *fname = romFileName; - int len = strlen(romFileName); + char *fname = rom_fname_reload; + int len = strlen(rom_fname_reload); cue_data_t *cue_data = NULL; if (len > 4 && strcasecmp(fname + len - 4, ".cue") == 0) { - cue_data = cue_parse(romFileName); + cue_data = cue_parse(rom_fname_reload); if (cue_data != NULL) fname = cue_data->tracks[1].fname; }