work on 'vblank on line start' problem, var changes, mask defines
[libpicofe.git] / psp / emu.c
index 2ea2673..d721e20 100644 (file)
--- a/psp/emu.c
+++ b/psp/emu.c
@@ -276,7 +276,7 @@ static void EmuScanPrepare(void)
                do_pal_update(1);
 }
 
-static int EmuScanSlow(unsigned int num, void *sdata)
+static int EmuScanSlow(unsigned int num)
 {
        if (!(Pico.video.reg[1]&8)) num += 8;
 
@@ -422,7 +422,7 @@ static void blit2(const char *fps, const char *notice, int lagging_behind)
 
        //dbg_text();
 
-       if ((emu_opt & 0x400) && (PicoMCD & 1))
+       if ((emu_opt & 0x400) && (PicoAHW & PAHW_MCD))
                cd_leds();
 
        if (currentConfig.EmuOpt & 0x2000) { // want vsync
@@ -467,7 +467,7 @@ static void vidResetMode(void)
 
        // slow rend.
        PicoDrawSetColorFormat(-1);
-       PicoScan = EmuScanSlow;
+       PicoScanEnd = EmuScanSlow;
 
        localPal[0xe0] = 0;
        Pico.m.dirtyPal = 1;
@@ -670,7 +670,7 @@ void emu_forcedFrame(void)
        memset32_uncached((int *)psp_screen + 512*264*2/4, 0, 512*8*2/4);
 
        PicoDrawSetColorFormat(-1);
-       PicoScan = EmuScanSlow;
+       PicoScanEnd = EmuScanSlow;
        EmuScanPrepare();
        PicoFrameDrawOnly();
        blit1();
@@ -765,10 +765,10 @@ static void updateKeys(void)
                        pl = (acts >> 16) & 1;
                        if (kb_combo_keys & (1 << i))
                        {
-                               int u, acts_c = acts & kb_combo_acts;
+                               int u = i+1, acts_c = acts & kb_combo_acts;
                                // let's try to find the other one
                                if (acts_c) {
-                                       for (u = i + 1; u < 32; u++)
+                                       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));
@@ -855,7 +855,7 @@ void emu_Loop(void)
        target_frametime = Pico.m.pal ? (1000000<<8)/50 : (1000000<<8)/60+1;
        reset_timing = 1;
 
-       if (PicoMCD & 1) {
+       if (PicoAHW & PAHW_MCD) {
                // prepare CD buffer
                PicoCDBufferInit();
                // mp3...
@@ -1001,7 +1001,7 @@ void emu_Loop(void)
        }
 
 
-       if (PicoMCD & 1) PicoCDBufferFree();
+       if (PicoAHW & PAHW_MCD) PicoCDBufferFree();
 
        if (PsndOut != NULL) {
                PsndOut = NULL;
@@ -1022,13 +1022,13 @@ void emu_Loop(void)
 
 void emu_ResetGame(void)
 {
-       PicoReset(0);
+       PicoReset();
        reset_timing = 1;
 }
 
 void emu_HandleResume(void)
 {
-       if (!(PicoMCD & 1)) return;
+       if (!(PicoAHW & PAHW_MCD)) return;
 
        // reopen files..
        if (Pico_mcd->TOC.Tracks[0].F != NULL)