minor adjustments
[libpicofe.git] / psp / emu.c
index 4006d9f..9c69d88 100644 (file)
--- a/psp/emu.c
+++ b/psp/emu.c
@@ -17,6 +17,7 @@
 #include "menu.h"
 #include "emu.h"
 #include "mp3.h"
+#include "asm_utils.h"
 #include "../common/emu.h"
 #include "../common/lprintf.h"
 #include "../../Pico/PicoInt.h"
@@ -32,7 +33,7 @@ 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;
+int engineState = PGS_Menu;
 
 static int combo_keys = 0, combo_acts = 0; // keys and actions which need button combos
 static unsigned int noticeMsgTime = 0;
@@ -239,25 +240,25 @@ static void set_scaling_params(void)
 
 static void do_pal_update(int allow_sh)
 {
-       unsigned int *spal=(void *)Pico.cram;
        unsigned int *dpal=(void *)localPal;
        int i;
 
-       for (i = 0x3f/2; i >= 0; i--)
-               dpal[i] = ((spal[i]&0x000f000f)<< 1)|((spal[i]&0x00f000f0)<<3)|((spal[i]&0x0f000f00)<<4);
+       //for (i = 0x3f/2; i >= 0; i--)
+       //      dpal[i] = ((spal[i]&0x000f000f)<< 1)|((spal[i]&0x00f000f0)<<3)|((spal[i]&0x0f000f00)<<4);
+       do_pal_convert(localPal, Pico.cram, currentConfig.gamma);
 
        if (allow_sh && (Pico.video.reg[0xC]&8)) // shadow/hilight?
        {
                // shadowed pixels
                for (i = 0x3f/2; i >= 0; i--)
-                       dpal[0x20|i] = dpal[0x60|i] = (dpal[i]>>1)&0x738e738e;
+                       dpal[0x20|i] = dpal[0x60|i] = (dpal[i]>>1)&0x7bcf7bcf;
                // hilighted pixels
                for (i = 0x3f; i >= 0; i--) {
-                       int t=localPal[i]&0xe71c;t+=0x4208;
-                       if (t&0x20) t|=0x1c;
-                       if (t&0x800) t|=0x700;
-                       if (t&0x10000) t|=0xe000;
-                       t&=0xe71c;
+                       int t=localPal[i]&0xf79e;t+=0x4208;
+                       if (t&0x20) t|=0x1e;
+                       if (t&0x800) t|=0x780;
+                       if (t&0x10000) t|=0xf000;
+                       t&=0xf79e;
                        localPal[0x80|i]=(unsigned short)t;
                }
                localPal[0xe0] = 0;
@@ -534,7 +535,7 @@ static int sound_thread(SceSize args, void *argp)
 
                // shouln't happen, but just in case
                if (samples_made - samples_done >= samples_block*3) {
-                       lprintf("sthr: block skip (%i)\n", samples_made - samples_done);
+                       //lprintf("sthr: block skip (%i)\n", samples_made - samples_done);
                        samples_done += samples_block; // skip
                        snd_playptr  += samples_block;
                }