typedef struct atari_ntsc_setup_t
{
/* Basic parameters */
double hue; /* -1 = -180 degrees +1 = +180 degrees */
double saturation; /* -1 = grayscale (0.0) +1 = oversaturated colors (2.0) */
double contrast; /* -1 = dark (0.5) +1 = light (1.5) */
double brightness; /* -1 = dark (0.5) +1 = light (1.5) */
double sharpness; /* edge contrast enhancement/blurring */
/* Advanced parameters */
double gamma; /* -1 = dark (1.5) +1 = light (0.5) */
double resolution; /* image resolution */
double artifacts; /* artifacts caused by color changes */
double fringing; /* color artifacts caused by brightness changes */
double bleed; /* color bleed (color resolution reduction) */
float const* decoder_matrix; /* optional RGB decoder matrix, 6 elements */
/* You can replace the standard TI color generation with an RGB palette. */
unsigned char const* palette;/* optional RGB palette in, 3 bytes per color */
unsigned char* palette_out; /* optional RGB palette out, 3 bytes per color */
/* Atari change: additional setup fields */
double burst_phase; /* Phase at which colorburst signal is turned on;
this defines colors of artifacts.
In radians; -1.0 = -180 degrees, 1.0 = +180 degrees */
double* yiq_palette;
} atari_ntsc_setup_t;
The scanline stuff I still need to look into. But I think it's very easy to do, since all this stuff will require OpenGL, and creating a scanline pattern in OpenGL is extremely easy. And bilinear filtering is easy too; in fact, it's already in Stella, and named 'Linear'.














