fix NSF rendering on PAL and NTSC filters

This commit is contained in:
zeromus 2015-09-21 18:12:22 +00:00
parent 62ec75b93b
commit b946c415e9
1 changed files with 11 additions and 2 deletions

View File

@ -23,6 +23,7 @@
#include "scalebit.h"
#include "hq2x.h"
#include "hq3x.h"
#include "fceu.h"
#include "../../types.h"
#include "../../palette.h"
@ -748,6 +749,7 @@ void Blit8ToHigh(uint8 *src, uint8 *dest, int xr, int yr, int pitch, int xscale,
{
ofs = src-XBuf; //find out which deemph bitplane value we're on
deemph = XDBuf[ofs];
int temp = *src;
index = (*src&63) | (deemph*64); //get combined index from basic value and preemph bitplane
index += 256;
@ -758,6 +760,13 @@ void Blit8ToHigh(uint8 *src, uint8 *dest, int xr, int yr, int pitch, int xscale,
newindex = (*src&63) | (deemph*64);
newindex += 256;
if(GameInfo->type==GIT_NSF)
{
*d++ = palettetranslate[temp];
*d++ = palettetranslate[temp];
*d++ = palettetranslate[temp];
}
else
for (int xsub = 0; xsub < 3; xsub++)
{
xabs = x*3 + xsub;
@ -837,7 +846,7 @@ void Blit8ToHigh(uint8 *src, uint8 *dest, int xr, int yr, int pitch, int xscale,
switch(Bpp)
{
case 4:
if ( nes_ntsc ) {
if ( nes_ntsc && GameInfo->type!=GIT_NSF) {
burst_phase ^= 1;
nes_ntsc_blit( nes_ntsc, (unsigned char*)src, xr, burst_phase, xr, yr, ntscblit, xr * Bpp * xscale );