Filter "Color Enhancer" for emulators

The goal is to create a filter that enhance C64 games colors using the patterns in the picture. The algorithm is simple and fast. It can work with any set of pixels.

On C64, there are only 16 colors available. So artists often used patterns to create intermediate colors.

Filter detects pattern for each colors and associates a blending coefficient to the pixel for that colors. Colors are then mixed. That gives a high number of possible colors. On examples I've noticed that the number of colors can be up to 2000 (instead of 16). Filter also add antialiasing effect.

Here is 3 pictures showing the filter effect :

9 Aug 2012

Back again on algorithm. It have been cleaned. Source code is now available.

ColorEnhancer.c

ColorEnhancer.h

Standalone tool (exe) that filter any TGA file : TOOL

Next step is to add the filter in a clean way into WinVice.

Demo picture 16 colors / 1174 colors

Demo picture 16 colors / 930 colors

Game boy "Paper Boy" : 4 colors / 69 colors

Spectrum "Captain blood" : 4 colors / 156 colors

 

23 Mar 2005

Download filter (in WinVice1.16) : HERE

The "Color Enhancer" filter replace the "Scalex2" filter. So to use the color filter, select "Double size" and "Scalex2".

Filter is a "work in progress" version. It runs nice, just few bugs left (points or lines appearing).

The zoomed tiger picture ... Original : 8 colors

Filtered : 893 Colors

19 Mar 2005

More pictures

18 Mar 2005

The filter now runs with the WinVice 1.16 emulator. It is fast, on nearly all games, emulator runs at 100% speed.

I'll put a downloaded version here when it will cleaner (if you want a wip version, just mail me : christophe DOT kohler AT wanadoo DOT fr )

Filter now manage normal resolution pixels (they are not processed by filter).

Some more pictures :

(456 Colors)

(845 Colors)

(176 Colors)

(527 Colors)

 

16 Mar 2005

Here is a first rough version of the filter. It replaces patterns with new colors and smoother patterns (it does not remove the patterns). I also add an light anti-aliasing.

The picture are simply 2x zoomed. A next step will be to add a Scale2x filter (adapted to low resolution).

The filter only process low resolution pixels (160x200). I need to create a special case for all high res pixels (320x200).

Here are the test pictures :