Antic Magazine - Vol. 1 No. 2 - June
1982
- Communications Issue
GTIA
by Tim McGuinness
Every ATARI computer owner probably has heard about the new GTIA chip that
replaces the CTIA chip. This upgrade item for both the 400 and 800 computers
began appearing in new machines in the beginning of 1982. Some of you who bought
at about that time may wonder if you have the GTIA. You can find out by running
the following BASIC program.

10 GRAPHICS 9 20 GOTO 20
If you get a black screen, you have the new chip. If you get a blue screen,
you have the old chip.
GTIA means Graphics Television Interface Adapter, and CTIA means Color
Television Interface Adapter. GTIA continues to do all the things CTIA did, but
more.
GTIA widens the gap between the ATARI computers and other home systems. It
adds three more "modes" of graphic display to the nine available with the CTIA.
Those modes began with GRAPHICS 0 (Test Mode) and ended with GRAPHICS 8, a
high-resolution (small pixel) mode with one color of your choice in two
luminances. Modes 3,5 and 7 gave you up to four colors simultaneously, with
different sized pixels in each mode.
With GTIA you gain the following:
- GR.9--sixteen luminances (shades) of one of the available colors
- GR.10--nine individuals colors, each a combination of one hue and one
luminance
- GR.11--sixteen colors, all at the same luminance.

The pixel with these modes is long and flat, having a 4:1 ratio, with 80
across the screen by 192 down. For comparison, a hyphen in text mode has a 7:1
ratio. The pixel (picture element) is the smallest programmable unit in a given
text or graphics mode.
Using the GTIA is as simple as using the CTIA. Just use GR.9, GR.10 or GR.11
in the same way the previous modes are used (see ATARI BASIC Reference Manual
and Self-Teaching Guide).
The GTIA is fully supported by the Operating System, and all the commands and
utilities that run with the CTIA can be used with the GTIA, except you now have
more colors available to you. Sixteen color changes can take place on a line,
completely independent of the main processor. This is better than the 12 changes
you could get using display list interrupts, for example. Contouring and 3-D
effects are greatly enhanced. (see Listings).
GTIA programs can be used on CTIA equipped machines, but will suffer color
simplification and some shifting (e.g. blue for green).
If you have the GTIA chip, you may want to type in some of the following
listings. The first demonstrates GR.9. Here, the background hue is set by the
SETCOLOR command. Then, the COLOR command determines the luminances for drawing
on the screen by using values from 0 to 15. 10 GRAPHICS 9
20 SETCOLOR 4,8,0
30 FOR I=1 TO 78
40 COLOR I
50 PLOT I,I+I
60 NEXT I
70 GOTO 10
We will skip mode 10 for a moment to compare the similarities of mode 9 to
mode 11. Here the program can use 16 different hues (colors) all at the same
luminance, i.e., just the reverse of mode 9. This time the SETCOLOR command is
used to provide the luminance value only, as in the line "SETCOLOR 4,0,10". The
10 is the luminance value. 10 GRAPHICS 11
20 SETCOLOR 4,0,10
30 FOR I=1 TO 78
40 COLOR I
50 PLOT I,I+I
60 NEXT I
70 GOTO 10
Note that as in all pre-GTIA graphics modes, the first binary bit of the
luminance designator is not used. Therefore, only even-numbered luminance values
results in distinct changes, so there are really only eight different
luminances. The COLOR command this time selects the various hues by using the
values from 0 through 15.
In mode 10 the computer will allow nine color registers to be used in the
playfield at one time. Each register must be set to some combination of hue and
luminance. You can do this in BASIC with either the SETCOLOR command, or with
the POKE command. We will use POKE to put the color designators directly into
decimal addresses 708-712, which hold the four playfield registers and the
background register.
To set the four player/missile color registers at addresses 704-708, you
must use POKE. The COLOR command is used to select the color register
desired, and these can be from 0 through 8 only. A value over 8 will result in
an unknown register being used.
A typical BASIC program for GR.10 will include: a GR.10 command; a set of
POKE (or SETCOLOR and POKE) commands; and a color command which selects the
desired color register for drawing on the screen. This is demonstrated in the
main listing with this article.
The main listing draws four cylinders in various colors and rotates them. To
change the hue/luminance combinations simply change the values in lines 10
through 17. 5 DEG
6 GRAPHICS 10
10 POKE 706,8
11 POKE 707,32
12 POKE 708,56
13 POKE 709,80
14 POKE 710,104
15 POKE 711,128
16 POKE 712,152
17 POKE 705,176
20 FOR ANG=180 TO 360+180 STEP 6
30 X=8+8*COS(ANG)
40 Y=16+8*SIN(ANG)
50 COLOR(ANG-180)/45+1:PLOT X,Y
60 DRAWTO X,50+Y
70 COLOR 0:PLOT X,Y
90 NEXT ANG
120 FOR ANG=180 TO 360+180 STEP 6
130 X=26+8*COS(ANG)
140 Y=16+8*SIN(ANG)
150 COLOR 9-(ANG-180)/45:PLOT X,Y
160 DRAWTO X,50+Y
170 COLOR 0:PLOT X,Y
190 NEXT ANG
220 FOR ANG=180 TO 360+180 STEP 6
230 X=44+8*COS(ANG)
240 Y=16+8*SIN(ANG)
250 COLOR (ANG-180)/45+1:PLOT X,Y
260 DRAWTO X,50+Y
270 COLOR 0:PLOT X,Y
290 NEXT ANG
320 FOR ANG=180 TO 360+180 STEP 6
330 X=62+8*COS(ANG)
340 Y=16+8*SIN(ANG)
350 COLOR 9-(ANG-180)/45:PLOT X,Y
360 DRAWTO X,50+Y
370 COLOR 0:PLOT X,Y
390 NEXT ANG
410 GO TO 500
420 FOR ANG=180 TO 360+180 STEP 6
430 X=50+8*COS(ANG)
440 Y=16+8*SIN(ANG)
450 COLOR (ANG-180)/45:PLOT X,Y
460 DRAWTO X,50+Y
470 COLOR 0:PLOT X,Y
490 NEXT ANG
500 A=PEEK(705)
510 FOR I=705 TO 711
520 POKE I,PEEK(I+1)
530 NEXT I
540 POKE 712,A
550 GO TO 500
The last listing draws a light show in all 16 hues. Enjoy your ATARI. 5 T=0
10 GRAPHICS 11
20 XX=0
30 YY=0
40 C=0
50 X=INT(RND(0)*80)
60 Y=INT(RND(0)*192)
70 C=C+1:IF C=17 THEN C=0
80 S=INT(RND(0)*14+1)
90 COLOR C
100 PLOT XX,YY
110 DRAWTO X,Y
120 COLOR C
130 PLOT XX,YY
140 XX=X:YY=Y
150 SOUND 0,C*10,X,15:SOUND 0,0,0,0
160 T=T+1:IF T=400 THEN 5
170 GOTO 50
Tim McGuinness is a design engineer and Assistant
Director for Corporate Research Engineering
for ATARI Inc., in Sunnyvale, California. He was also one of the designers
of the Atari 400, 800, and 1200 series Personal Computers!
Antic Magazine - Vol. 1 No. 2 - June 1982
- Communications Issue
|
Antic Magazine - Vol. 1 No. 5 - December
1982
- Holidays Issue
Grafix
Survey of computer-art tools
by Tim McGuinness

The graphics capabilities of the ATARI computers are very powerful, but seem
mysterious to many ATARI owners. I am going to show you some tricks that can be
used to do some professional graphics work, and from BASIC no less!
Some new, and older, software products get amazing results, especially when
used together. I have developed a few routines to fit these together in your
programs. For fuller discussion of the ATARI's graphics, refer to De Re Atari,
or other publications of that kind.
Among the better graphics programs available are: Micropainter by DataSoft,
Graphics Master by DataSoft, Graphics Composer by Versa Computing, Graphics
Generator by DataSoft, and The Next Step by Sierra/On Line. Also, included in my
toolbox is a product called Versawriter by Versa Computing. These are not the
only graphics products on the market. It is just that these are the only ones I
possess.

Versawriter, to the best of my knowledge, is the only graphics
digitizer tablet available for the ATARI. An articulated arm mounted in a
plastic tablet transmits the position of its locating head to the computer. The
digitizer connects to ATARI Port 4. Included with the Versawriter are programs
which allow you to trace a drawing from almost any original and convert it to a
display in Graphics Mode 8 on the screen. Other included utilities are: Graphics
7 drawing, a text writer for Gr. 7 or 8, and calibration (which is critical!).
The product, though, is somewhat out of the normal consumer price range at
$300.00.
The Next Step has two functions. One is a color pallette to examine
various color combinations, and the other is a character editor for a set of 128
characters. There are some serious display bugs in this program, but it does
work well. There is some question about continued availability of this product,
so get it while you can. The palette program seems of little real use, but the
character editor has some features that make it worth having. You can load and
save character sets to and from files on the disk, but the program also writes
BASIC code for you, which can be included in your program using the command
ENTER. Also, as you edit a given character the program displays the ATASCII
value associated with that character. The program sells for about $35.00.
Graphics Generator is one program that every serious Atari programmer
should have. This is a character-set editor with special features. It allows the
user to edit or define up to five different character sets at a time, and to
create character matrices. A character matrix is a group of characters which can
be used to construct a complex object on the screen. Graphics Generator creates
up to 26 matrices of up to 32 characters each, and allows them to be edited or
merged. DataSoft deserves congratulations for this product, which sells for
about $40.00.
Graphics Composer contains some very useful additions to the
Versawriter program package. Besides the same Gr. 7 and Gr. 8 drawing utilities,
it has a geometric-shapedrawing utility for circles, squares, rectangles,
polygons, triangles, arcs, and moire patterns. Also included is an excellent
Player editor, allowing the editing of two side-byside players, with an enlarged
viewing area for simplified editing. It includes the ability to load or save
Player data directly to disk. This alone makes it worth having. The product
sells for about $40.00.
Graphics Master, also by DataSoft, is a Gr. 8 drawing product. It has
three modes: Edit, Draw, and Text. Edit mode manipulates images using an Edit
window, adjustable to a variety of sizes. The window can "grab" images on the
screen and then enlarge, reduce, skew, or rotate them. Draw mode allows line
drawings with various geometric shapes. Text mode allows the placement of text
anywhere on the screen in the standard text, or from special sets loaded from
disk. This product also permits two screens to be created at one time, and even
overlaid upon each other. This is an excellent product, and sells for about
$40.00.
Micropainter is basically a drawing product, allowing creation of
screen images in the four-color Antic E Mode (Gr. 7.5). This has the vertical
pixel size of Gr. 8; but the horizontal width of Gr. 7, with four real colors.
You can select between a full screen to create your image, or a magnified view
of a small portion of the screen. You can draw in any one of the four colors, or
you can combine them in horizontal, vertical, or checkerboard patterns. Th
program includes a high-speed fill function, to make the task of coloring much
easier. One real problem is that the documentation was designed for children.
Micropainter sells for about $40.00.
Techniques
These basic tools can be used to simplify your graphics
creation jobs. Lets start with character sets, and the editors. moved etc As
most of you know, the ATARI has its normal character ' set located in
Read-Only-Memory. But, with just a POKE or two j you can direct your machine to
some other charac ter set located in the user RAM space. If you want to create
and load this set yourself, you can, or you can have the computer do most of the
work.
To edit or create a given character, I prefer the Graphics Generator. Simply
follow the easy product instructions. Once you have created the perfect
character set, save it to disk. Then use The Next Step to translate it to BASIC
code for you.
You still need to do something useful with this new set in your program. Many
well-known products use this tech nique ("Eastern Front" by Chris Crawford, for
example). Character matrices are much the same. Use Graphics Gen erator to
create a matrix, that is, define the characters and their relationship to one
another. Then edit them one by one. or as a complete matrix, save them to disk,
and load them into The Next Step. This time you will have to keep track of each
character your matrix used.
Alternatively, you can follow the demo provided with Graphics Generator to
load the matrix into your program directly from disk.
Creation of screen images is more time consuming, but not much more difficult
than the creation of character sets. I find it hard to draw free-hand images
using a joystick. It is much easier to draw on paper first and use the
Versawriter to trace the drawing into the system. Trace the drawing by using one
foreground color, and follow the pattern of your drawing. Don't try to make it
perfect yet. Save the drawing to disk. If geometric shapes are to be part of the
image, then add them with Graphics Composer and save this screen to disk. Change
file names each time a new screen is saved to disk. This will record the changed
file, and leave an unmodified backup. It would be a good idea to use a number in
the file extension; like 1, 2, 3, etc.
Use the Graphics Master next to convert (shift) the Versa products screen
image file to the DataSoft format used by Graphics Master and Micropainter. At
this point you can add text to your screen, or manipulate the design using
Graphics Master. However, it is generally best to refine the screen first using
Micropainter. After finishing with Graphics Master, save the screen image to
disk, using a new extender.

Now Micropainter is used, and your screen file is loaded. The process of
conversion from a Gr. 8 (Antic F) Mode used with the Versa products to an Antic
E screen used by Micropainter, randomly assigns the foreground pixels to one of
the three foreground color registers. Therefore, it is now necessary to convert
your previously-traced drawing to a single foreground color. This is done by
re-drawing those Pixels (dots) that you want to change.
Now refine the screen image to your liking, and add the appropriate colors.
If you wish, you can save this screen and go back to Graphics Master to add
text. Your final screen image is saved to disk, and can then be used as a title
page, as a complex background over which Players can be moved, etc. To use these
screen or display files, vou will need two utility routines. One of these is a
screen-file loader, and the other is an Antic E converter. These are provided in
Listings 1, 2, and 3. Listing 1 is the BASIC code to load the screen file using
the Assembly program contained in Listing 2. Listing 3 is a routine to convert
the loaded screen file's display list to Antic E mode. After conversion, simply
adi..c, the color registers for the correct colors (Registers 0, 1, 2, and 3).
This may sound like a lot of work, but it really is not. Most screens can be
completed in an hour or less, with far better results than if you used a single
product, drawing free-hand by joystick, or even used the Versawriter alone.
think you will be very pleased with this approach.
[CODE]
Tim McGuinness is owner of the software
publishing company, Renegade Technology, and Vice President of Software
Development (and Product Publishing) of ROMOX Inc. of Campbell,
California, a major software publisher for Home Computers and Game
Consoles
Antic Magazine - Vol. 1 No. 5 - December 1982
- Holidays Issue |