Fix colour emphasis support for NTSC filter & raw palette + nes decoder shader
- this implementation is based on a more accurate colour emphasis from fceux. - The raw palette + nes decoder shader was kinda incomplete since the implementation was based on a per-frame basis which means that the emphasis bits were read once and applied to the whole frame. This means that some games that uses a per pixel or per scanline emphasis would not appear correct. The more accurate implementation reads emphasis bits from bits 5-7 of PPU[1] and saves this info in a separate frame. - The same implementation is also used to fix emphasis for the ntsc filter.
This commit is contained in:
@@ -19,7 +19,7 @@ if you enable emphasis above. */
|
||||
|
||||
/* Each raw pixel input value is passed through this. You might want to mask
|
||||
the pixel index if you use the high bits as flags, etc. */
|
||||
#define NES_NTSC_ADJ_IN( in ) (in & 0x3F)
|
||||
#define NES_NTSC_ADJ_IN( in, deemp ) ( in & 0x3F ) | ( deemp << 6 )
|
||||
|
||||
/* For each pixel, this is the basic operation:
|
||||
output_color = color_palette [NES_NTSC_ADJ_IN( NES_NTSC_IN_T )] */
|
||||
|
||||
Reference in New Issue
Block a user