logajan@ns.network.com (John Logajan) (05/05/91)
I've been experimenting with increasing the number of shades of gray that can be displayed on a color monitor (in low res mode, 320*200) at the same time. You can get 8 shades of gray with normal usage. You can get 15 shades of gray with a two-screen flip/flop (flicker graphics.) This, of course, requires two 32000 byte areas of memory for the image data. A further complication is that "bright/dim" pairs should be altered sequentially between the two screen memories. The alternation pattern repeats every two lines. If this is done, there is no noticable flicker in the 15 shades, although you can see a stippled pattern moving up the screen if you let your eyes track it. It is not that easy to track, though, so there is no significant problem with it. You can get 22 shades of gray with a three-screen flicker mode. (I tried Howard Chu's suggestion of a two screen mode with one screen played twice in a row, but the flicker generated was totally unacceptable.) Again, the "triplets" alternate between the three 32000 byte screen areas. The alternation pattern repeates every three lines. The result is again (surprisingly) flicker free. Again there are diagonal lines that can be tracked moving up the screen, and they are slightly easier to notice because they move a bit slower than the two screen stipple pattern, but again, there is no significant problem with it. I tried a 29 shade four-screen flicker mode, but flicker was unacceptable. I only tried one "quadruplet" alternation pattern, however, so there may be something better to be tried. In summary, 22 shades of gray are possible on a low res monitor (and consume 96k of screen memory) and look quite good, as a matter of experimental fact. Sometime in the next few weeks(months?) I will post a 68k assembly listing of a procedure which takes the starting address of a virutal screen image, and renders a 320*200 22 grayscale window to the display, and returns to the user when any keyboard key is hit. -- - John Logajan @ Network Systems; 7600 Boone Ave; Brooklyn Park, MN 55428 - logajan@ns.network.com, 612-424-4888, Fax 612-424-2853