256 Title
by Graham L. Potter
16K cassette or 24K Disk

Ever since the first model 400 rolled off the assembly line, salespeople have touted Atari computers as colorful machines. Fascinating graphics demonstrations display brilliant rainbows, and even word processors include the variety and friendliness of multi-colored screens. With a simple BASIC command, any user can change the hue and luminance of his screen to any of 128 available combinations.

The more knowledgeable users are aware that certain GTIA graphics modes support twice as many different shades, for a total of 256. With such a selection, how is a programmer to know what color he wants to use? No doubt, many have experienced the lengthy process of trying one color value after another, until the proper display is reached.

Two-Fifty-Six comes to the rescue. It will exhibit all of Atari's 256 colors on the screen simultaneously. Cast aside the myth that only 5 colors are allowed at one time! A beautiful display is achieved by the demonstration of more color than most computer users can imagine.

At the end of the rainbow...

When Two-Fifty-Six is RUN, it will display a simple title screen while it sets up the color chart. After a wait of about twenty seconds, the view will switch to a dazzling grid pattern of all 256 colors in the Atari spectrum.

The chart is arranged in sixteen rows of sixteen columns, with one color across each row and one luminance down each column. The hexadecimal numbers at the sides, top and bottom tell the internal values corresponding to each color.

Select colors for use in a program, or merely admire the power that your computer is demonstrating! When you're satisfied, press START, SELECT or OPTION to exit Two-Fifty-Six.

... Lies a pot of treasure.

For programmers, Two-Fifty-Six will reveal the POKE and SETCOLOR values that correspond to each hue and luminance. The hexadecimal values appearing at the sides, top and bottom of the chart give the necessary values, depending on the method to be used.

For use in SETCOLOR commands, take a number from the left or right side and convert it to decimal (A=10, B=11, C=12, D=13, E=14, F=15) for the color, and use one from the top or bottom for luminance.
For use in POKE commands to color registers (for player/missile graphics, perhaps), convert the color value to decimal, multiply it by 16 and add the luminance value.
For machine language programming, the hexadecimal values themselves can be used, with the color value as the first digit and the luminance value as the second.
Remember that the odd numbered luminances will look no different from the even ones, except in GTIA modes.
How it works.

Two-Fifty-Six uses screen flipping, a technique seen frequently on other computers but rarely employed on the Atari. The title screen is displayed on a text screen that the user watches while the computer sets up the color chart on a graphics screen in memory.

After setting up the title screen in Lines 620-710, RAMTOP (location 106) is changed to "protect" that display while the grid is being set up on a graphics 9 screen. Lines 160-290 plot the numbers and arrange the display list interrupts that allow the extra colors. Special codes for the character graphics are stored in Lines 300-610. Finally, Line 230 will "flip" the display to the newly formed graphics screen.

The final word.

Even for non-programmers, Two-Fifty-Six is a magnificent demonstration of the graphics capabilities of the Atari computers. It also serves as an invaluable utility for all Atari users. Unfortunately, it will not operate on Atari 400s and 800s that contain no GTIA chip.


Graham L. Potter began programming in the fourth grade and now operates a private business, Cyberphenia International, designing software to suit his client's needs. A senior in high school and member of the Greater Richmond Atari Support Program, he enjoys writing, math and poetry.
Listing 1.
BASIC listing.
First
Second

Checkcum Data
    See CCheck, DCheck or UniCheck

 100 DATA 838,713,456,847,86,985,57,217
 ,591,45,920,509,660,147,368,7439
 242 DATA 50,201,424,224,235,763,70,357
 ,78,112,86,33,94,361,102,3190
 390 DATA 86,82,231,90,939,98,344,106,2
 40,114,951,807,166,816,776,5846
 540 DATA 825,385,834,378,843,689,824,7
 1,728,398,363,39,53,662,205,7297
 690 DATA 292,128,596,1016


Previous | Next

Original text copyright 1984 by ANALOG Computing. Reprinted with permission by the Digital ANALOG Archive.