I've just been getting into some slightly more serious tweaking of my FSX mods, and the GPS was next on the list. In fiddling with the graphics to model the Honeywell systems, I came across this post and Bob's most excellent guidebook (Thank You ever so much for that, by the way!) I noticed when using TerrainShadow that when the colors go all wonky, the color is often inverted, so I did more testing.
It appears that the GPS module is applying a very simplistic value shift to each color channel, such that if the value is too extreme toward the dark or light end for that color (B, G or R), TerrainShadow's overlay will shift it right out of bounds (beyond 0x00 or 0xFF). When this happens, the value apparently loops back around to the opposite end of the range; thus the (partial) inversion of colors.
Here's the nitty-gritty: when creating a custom color scheme for fs9gps, the
values for your blue, green and red channels must each fall within the range from 0x34 (decimal 52) to 0xDF (decimal 223). These appear to be hard limits; in my short testing, everything looks perfectly fine right up to these values, but go one step beyond and your map colors look like the circus is in town. I took the colors listed for Honeywell's TAWS in FSMAP Guidebook and painted them into a test image in Photoshop, then applied a Levels filter to limit values to the above range. Using the Levels filter also scales the in-range values to keep the over-all colors essentially the same. It may not be totally realistic, but now I've got the option for a TAWS map with crisp color separation and shaded relief as I fly in Death Valley National Park. (image below flying at 3,100', Furnace Creek (L06) is at -100')
(I haven't yet finished the code to fix the color of my aircraft cursor, btw.)
Cheers!
Dave {|:–)