The truecolor logic handles all of the VESA-standard truecolor modes: Sierra-style (5-5-5), XGA-style (5-6-5), 24-bit (8-8-8) and 32-bit (8-8-8 with another 8 for stuff we ignore). To define true-color modes I added them to the FRACTINT.CFG file specifying mode 28 and 256 colors: ,VESA 5-5-5 ,4f02, 110, 0, 0, 28, 640, 480, 256, True-color ,VESA 5-6-5 ,4f02, 111, 0, 0, 28, 640, 480, 256, True-color ,VESA 8-8-8 ,4f02, 112, 0, 0, 28, 640, 480, 256, True-color ,VESA 5-5-5 ,4f02, 113, 0, 0, 28, 800, 600, 256, True-color ,VESA 5-6-5 ,4f02, 114, 0, 0, 28, 800, 600, 256, True-color ,VESA 8-8-8 ,4f02, 115, 0, 0, 28, 800, 600, 256, True-color ,VESA 5-5-5 ,4f02, 116, 0, 0, 28,1024, 768, 256, True-color ,VESA 5-6-5 ,4f02, 117, 0, 0, 28,1024, 768, 256, True-color ,VESA 8-8-8 ,4f02, 118, 0, 0, 28,1024, 768, 256, True-color ,VESA 5-5-5 ,4f02, 119, 0, 0, 28,1280,1024, 256, True-color ,VESA 5-6-5 ,4f02, 11a, 0, 0, 28,1280,1024, 256, True-color ,VESA 8-8-8 ,4f02, 11b, 0, 0, 28,1280,1024, 256, True-color The standard getcolor/putcolor routines all work. They just put whatever byte value you specify into the first byte of the true-color pixel - the image tends to look blue or blue-green depending on the true-color mode involved. Try the plasma cloud fractal for good examples. Fractint *thinks* that color-cycling works, but there are no visible signs of it as the true-color modes (at least the ones on the adapter I'm testing them on) ignore the color DAC completely. There's a new global integer value accessable by the C modules, 'istruecolor', which is true if you're in a true-color mode and false otherwise. There are also two new access routines, 'puttruecolor(xdot, ydot, red, green, blue)' and 'gettruecolor(xdot, ydot, &red, &green, &blue). These two "true color" routines work in either true-color mode or 256-color mode. In true-color mode, they work by invoking the true-color getcolor/putcolor routines as many times as necessary, incrementing an internal byte-counter telling them to access other than the first byte in a pixel. In 256-color mode, 'puttruecolor()' (slowly!) finds the closest color in the DAC and calls the normal 'putcolor()' routine to set the corresponding palette value. In 256-color mode, 'gettruecolor()' calls the normal 'getcolor()' routine and then returns the equivalent DAC value. Note that in 256-color mode 'puttruecolor()' has to perform 768 multiplies and adds and 256 compares just to find the closest DAC value for each pixel!!! I've modified the 'test' fractal so that if DEBUG=500 *and* you're in a 256-color or true-color mode of 640x480 resolution or better it displays a test pattern on the screen using 'puttruecolor()' and 'gettruecolor()', waits for you to press a key, and then clears those test patterns before proceeding with its standard Mandelbrot image. This was invaluable for me while I was testing the code and also serves as a pretty good demo in terms of displaying how to invoke the appropriate routines. Fair warning: This test pattern is *godawful* slow in 256-color mode, and it looks awful, too !