fix some nsf bugs

This commit is contained in:
zeromus 2015-09-20 21:21:29 +00:00
parent 04fc330f08
commit e3a28ad1da
3 changed files with 21 additions and 14 deletions

View File

@ -281,15 +281,18 @@ void SetPaletteBlitToHigh(uint8 *src)
}
//full size deemph palette
for(int x=0;x<512;x++)
if(palo)
{
uint32 r=palo[x].r;
uint32 g=palo[x].g;
uint32 b=palo[x].b;
u16 color = (r>>cshiftr[0])<<cshiftl[0];
color |= (g>>cshiftr[1])<<cshiftl[1];
color |= (b>>cshiftr[2])<<cshiftl[2];
palettetranslate[256+x]=color;
for(int x=0;x<512;x++)
{
uint32 r=palo[x].r;
uint32 g=palo[x].g;
uint32 b=palo[x].b;
u16 color = (r>>cshiftr[0])<<cshiftl[0];
color |= (g>>cshiftr[1])<<cshiftl[1];
color |= (b>>cshiftr[2])<<cshiftl[2];
palettetranslate[256+x]=color;
}
}
break;
@ -305,12 +308,15 @@ void SetPaletteBlitToHigh(uint8 *src)
}
//full size deemph palette
for(int x=0;x<512;x++)
if(palo)
{
uint32 r=palo[x].r;
uint32 g=palo[x].g;
uint32 b=palo[x].b;
palettetranslate[256+x]=(r<<cshiftl[0])|(g<<cshiftl[1])|(b<<cshiftl[2]);
for(int x=0;x<512;x++)
{
uint32 r=palo[x].r;
uint32 g=palo[x].g;
uint32 b=palo[x].b;
palettetranslate[256+x]=(r<<cshiftl[0])|(g<<cshiftl[1])|(b<<cshiftl[2]);
}
}
break;

View File

@ -482,6 +482,7 @@ void DrawNSF(uint8 *XBuf)
if(vismode==0) return;
memset(XBuf,0,256*240);
memset(XDBuf,0,256*240);
{

View File

@ -527,7 +527,7 @@ void WritePalette(void)
{
int x;
//set the 'unvarying' palettes to low < 128 palette entries
//set the 'unvarying' palettes to low < 64 palette entries
for(x=0;x<7;x++)
FCEUD_SetPalette(x,palette_unvarying[x].r,palette_unvarying[x].g,palette_unvarying[x].b);