psp bugfixes, tools
[libpicofe.git] / psp / emu.c
index 0ecbcc6..3a3ef4b 100644 (file)
--- a/psp/emu.c
+++ b/psp/emu.c
@@ -142,6 +142,7 @@ void emu_setDefaultConfig(void)
        currentConfig.KeyBinds[13] = 1<<5;
        currentConfig.KeyBinds[15] = 1<<6;
        currentConfig.KeyBinds[ 3] = 1<<7;
+       currentConfig.KeyBinds[12] = 1<<26; // switch rnd
        currentConfig.KeyBinds[ 8] = 1<<27; // save state
        currentConfig.KeyBinds[ 9] = 1<<28; // load state
        currentConfig.PicoCDBuffers = 0;
@@ -484,7 +485,7 @@ static int sound_thread(SceSize args, void *argp)
 {
        int ret;
 
-       lprintf("sound_thread: started, priority %i\n", sceKernelGetThreadCurrentPriority());
+       lprintf("sthr: started, priority %i\n", sceKernelGetThreadCurrentPriority());
 
        while (!sound_thread_exit)
        {
@@ -520,6 +521,8 @@ static void sound_init(void)
        sound_sem = sceKernelCreateSema("sndsem", 0, 0, 1, NULL);
        if (sound_sem < 0) lprintf("sceKernelCreateSema() failed: %i\n", sound_sem);
 
+       samples_made = samples_done = 0;
+       samples_block = SOUND_BLOCK_SIZE_NTSC; // make sure it goes to sema
        sound_thread_exit = 0;
        thid = sceKernelCreateThread("sndthread", sound_thread, 0x12, 0x10000, 0, NULL);
        if (thid >= 0)
@@ -538,7 +541,7 @@ static void sound_prepare(void)
        samples_made = samples_done = 0;
 
        if (PsndRate != PsndRate_old || (PicoOpt&0x0b) != (PicoOpt_old&0x0b) || Pico.m.pal != pal_old) {
-               sound_rerate(Pico.m.frame_count ? 1 : 0);
+               PsndRerate(Pico.m.frame_count ? 1 : 0);
        }
        stereo=(PicoOpt&8)>>3;
 
@@ -682,13 +685,10 @@ static void RunEvents(unsigned int which)
 
                vidResetMode();
 
-               if (PicoOpt&0x10) {
-                       strcpy(noticeMsg, " 8bit fast renderer");
-               } else if (currentConfig.EmuOpt&0x80) {
-                       strcpy(noticeMsg, "16bit accurate renderer");
-               } else {
-                       strcpy(noticeMsg, " 8bit accurate renderer");
-               }
+               if (PicoOpt&0x10)
+                       strcpy(noticeMsg, "fast renderer");
+               else if (currentConfig.EmuOpt&0x80)
+                       strcpy(noticeMsg, "accurate renderer");
 
                noticeMsgTime = sceKernelGetSystemTimeLow();
        }