psp fixes, gamma

git-svn-id: file:///home/notaz/opt/svn/PicoDrive/platform@302 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
notaz 2007-11-24 15:04:47 +00:00
parent f3f1615e5e
commit 93c0d147a1
13 changed files with 237 additions and 55 deletions

View file

@ -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"
@ -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;