HLSL-Related Enable Switches
----------------------------

Name                    Values		Description
hlsl_enable             0 or 1          Enables HLSL post-processing in Direct3D 9 modes.
hlsl_oversampling       0 or 1          Enables HLSL oversampling.
yiq_enable              0 or 1          Enables YIQ-colorspace post-processing. Causes a
                                        performance drop but gives a much more authentic
                                        NTSC TV appearance on TV-based systems when configured
                                        properly.
hlslpath                [path]          Path to the .fx files that are in use.  (default: hlsl)
hlsl_write              [filename]      Enables HLSL AVI writing.  (huge disk bandwidth suggested)
hlsl_snap_width         [width]         HLSL upscaled-snapshot width.  (default: 2048)
hlsl_snap_height        [height]        HLSL upscaled-snapshot height.  (default: 1536)


Surface/Color Processing Parameters
-----------------------------------

Name                    Values		Description
shadow_mask_tile_mode   0 or 1          0 for screen based tile mode or 1 for source based tile mode.
shadow_mask_alpha       0.0 to 1.0      The ovearll darkness of each shadow mask pixel.
shadow_mask_texture     [filename]      A PNG that defines the shadow mask for each pixel.
shadow_mask_x_count     1+              The number of pixels one shadow mask tile uses on screen.
shadow_mask_y_count     1+              This stretches the shadow mask tiles on X and Y axis.
shadow_mask_usize       0.0 to 1.0      The size of one shadow mask tile in U/V coordinate.
shadow_mask_vsize       0.0 to 1.0      The shadow mask textures always has a size of power-of-two.
shadow_mask_voffset    -1.0 to 1.0      The offset of the shadow mask texture in U/V coordinates.
shadow_mask_voffset    -1.0 to 1.0      An offset of 1.0 repressents one pixel on screen.
distortion             -1.0 to 1.0      Distortion amount of the screen.
cubic_distortion       -1.0 to 1.0      Cubic Distortion amount of the screen.
distort_corner          0.0 to 1.0      Distorted corners amount of the screen.
round_corner            0.0 to 1.0      Rounded corners amount of the screen.
smooth_border           0.0 to 1.0      Smooth borders amount of the screen.
reflection              0.0 to 1.0      Refelection amount of the screen highlight.
vignetting              0.0 to 1.0      Vignetting amount of the image.
scanline_alpha          0.0 to 1.0      The overall darkness of each scanline furrow.
scanline_size           0.0 to 4.0      The overall height of each scanline.
scanline_height         [height]        Individual height scaling value for scanlines.
scanline_bright_scale   0.0 to 2.0      The overall brightness multiplier for each scanline.
scanline_bright_offset  0.0 to 1.0      The overall brightness additive value for each scanline.
scanline_jitter         0.0 to 1.0      The relative scanline movement per field.
hum_bar_alpha           0.0 to 1.0      The maximum darkness of the hum bar gradient.
defocus                 [xval,yval]     This defines the overall defocus radius for the three
                                        post-converged beams. Values allowed range from 0.0 to
                                        10.0.
converge_x              [r,g,b]         Convergence in screen-relative X direction.
converge_y              [r,g,b]         Convergence in screen-relative Y direction.
radial_converge_x   	[r,g,b]         Radial convergence in screen-relative X direction.
radial_converge_y   	[r,g,b]         Radial convergence in screen-relative Y direction.
                                        Allowed values for convergence: -10.0 to 10.0 for each color.
red_ratio               [r,g,b]         These parameters define a 3x3 matrix which is multiplied
grn_ratio               [r,g,b]         by the incoming RGB signal. This can be used for any
blu_ratio               [r,g,b]         standard matrix convolution, including H/S/V or simply
                                        affecting the TV-style tint.
saturation              0.0 to 4.0      This parameter defines the amount each color channel is
                                        raised above said channel's baseline grayscale value.
                                        A value of 0.0 gives a gamma-correct grayscale image,
                                        whereas 1.0 is full saturation, with each channel being
                                        oversaturated equally beyond that.
offset                  [r,g,b]         These parameters define a value for each color channel
                                        that is added to said channel after scaling and after
                                        matrix convolution.  (-2.0 to 2.0)
scale                   [r,g,b]         These parameters define a value for each color channel
                                        that is multiplied with said channel after matrix
                                        convolution.  (-2.0 to 2.0)
power                   [r,g,b]         These parameters define the exponent for each color
                                        channel that is applied after scaling, offsetting,
                                        saturation and matrix convolution.  (-4.0 to 4.0)
floor                   [r,g,b]         These parameters define the lower limit of each final
                                        color channel value; 0.05, for example, raises the
                                        minimum to 0.05 but re-scales to leave the max at 1.0.
phosphor_life           [r,g,b]         These parameters define the phosphor lifetime for each
                                        channel, with 0.0 representing no phosphorescence and
                                        1.0 leaving the channel on indefinitely. Values allowed
                                        range from 0.0 to 1.0.


NTSC Processing Parameters
--------------------------

Name                    Default Values  Description
yiq_jitter              0.0             Jitter for the NTSC signal processing.  (0.0 to 1.0)
yiq_cc                  3.57954545      Color Carrier frequency for NTSC signal processing.  (0.0 to 6.0)
yiq_a                   0.5             A value for NTSC signal processing.  (-1.0 to 1.0)
yiq_b                   0.5             B value for NTSC signal processing.  (-1.0 to 1.0)
yiq_o                   0.0             Outgoing Color Carrier phase offset for NTSC signal processing.  (-3.0 to 3.0)
yiq_p                   1.0             Incoming Pixel Clock scaling value for NTSC signal processing.  (-3.0 to 3.0)
yiq_n                   1.0             Y filter notch width for NTSC signal processing.  (0.0 to 6.0)
yiq_y                   6.0             Y filter cutoff frequency for NTSC signal processing.  (0.0 to 6.0)
yiq_i                   1.2             I filter cutoff frequency for NTSC signal processing.  (0.0 to 6.0)
yiq_q                   0.6             Q filter cutoff frequency for NTSC signal processing.  (0.0 to 6.0)
yiq_scan_time           52.6            Horizontal scanline duration for NTSC signal processing.  (usec)
yiq_phase_count         2               Phase Count value for NTSC signal processing.  (3 for NES, else 2)


Vector Post-Processing Options
------------------------------
Name                    Default Values  Description
vector_length_scale     0.5             The maximum vector attenuation.  (0.00 to 1.00)
vector_length_ratio     0.5             The minimum vector length (vector length to screen size ratio)
                                        that is affected by the attenuation  (0.000 to 1.000)


Bloom Post-Processing Options
-----------------------------
Name                    Default Values  Description
bloom_blend_mode        0 or 1          0 for brighten blend mode or 1 for darken blend mode.
bloom_scale             0.0             Bloom intensity factor.  (0.000 to 2.000)
bloom_overdrive         0.0,0.0,0.0     Bloom overdrive factor to bright full saturated colors.  (0.000 to 2.000)
bloom_lvl0_weight       1.00            Bloom level 0 weight. (full-size target)  (0.00 to 1.00)
bloom_lvl1_weight       0.64            Bloom level 1 weight. (1/4 smaller that level 0 target)  (0.00 to 1.00)
bloom_lvl2_weight       0.32            Bloom level 2 weight. (1/4 smaller that level 1 target)  (0.00 to 1.00)
bloom_lvl3_weight       0.16            Bloom level 3 weight. (1/4 smaller that level 2 target)  (0.00 to 1.00)
bloom_lvl4_weight       0.08            Bloom level 4 weight. (1/4 smaller that level 3 target)  (0.00 to 1.00)
bloom_lvl5_weight       0.06            Bloom level 5 weight. (1/4 smaller that level 4 target)  (0.00 to 1.00)
bloom_lvl6_weight       0.04            Bloom level 6 weight. (1/4 smaller that level 5 target)  (0.00 to 1.00)
bloom_lvl7_weight       0.02            Bloom level 7 weight. (1/4 smaller that level 6 target)
bloom_lvl8_weight       0.01            Bloom level 8 weight. (1/4 smaller that level 7 target)  (0.00 to 1.00)


Presets
-------
../ini/presets/raster.ini               for raster screens
../ini/presets/vector.ini               for color vector screens
../ini/presets/vector-mono.ini          for monochrome vector screens (rename to vector.ini or <system>.ini)
../ini/presets/lcd.ini                  for screens with TFT color LCD
../ini/presets/lcd-matrix.ini           for screens with STN LCD matrix (rename to lcd.ini or <system>.ini)
../ini/presets/gameboy.ini              for Game Boy screen (same as lcd-matrix.ini with greenish color transformation)
../ini/presets/gba.ini                  for Game Boy Advance screen (same as lcd.ini)
