Classic Computer Magazine Archive HI-RES VOL. 1, NO. 2 / JANUARY 1984 / PAGE 62

Graphic Evidence

by Tim McGuinness


In my last column, we discussed the use of color and the various graphics modes available on your Atari 400 or 800. This month, we'll explore some of the different features of Atari's 1200XL; features we can expect on Atari's new line. At the end of the column, you'll find my preliminary memory map for the 1200XL, which I hope is of use to all.

First, lets talk quickly about compatibility. In most cases, all third party software will work on the new 1200. However, if your program is cartridge-based, you are out of luck. It's the cartridge slot itself on the 1200 that is really the problem. Most publishers, who produce third-party cartridges, will be changing their carts as quickly as possible to meet Atari's new needs.

Four New Graphics Modes

In the new 1200XL, Atari has added, or at least, given you access to four new graphics modes. Table 1 shows the 12 modes available on the 400/800.

Modes 0, 1 and 2 are character modes that allow you to display characters on the screen. Modes 3 through 8 are the Bit Map or drawing modes that allow you to plot data on the screen with the Plot and Drawto commands. The last three are the GTIA Bit Map modes.

Like the other Bit Map modes, the GTIA modes let you plot on the screen, but in mode 10 you can use eight colors, and in modes 9 and 11 you have 16 colors or luminances to choose from.

The "new modes" for the 1200XL were always a part of the 400/800, but you could only use them with special programs employing PEEKS and POKES. Table 2 shows the "new modes."

With the addition of these graphics modes you now have all but two of Atari's modes available to you.

One quick note about the tables. They reflect the screen size in the full-screen mode. That is, using the graphics mode numbers 1, 2, 3, etc. will give you a split-mode screen. The upper part of the screen is selected by the Graphics command, and the lower part is a Graphics Zero (0) text window. In all cases, except the GTIA modes, you can remove the text window by adding the value sixteen (16) to the graphics value: Example: Graphics 7 + 16 = Graphics 23.

The above example provides a full-screen mode in Graphics Mode 7. One other useful feature is to add 32 to the graphics mode number. This allows you to go from one mode to another without clearing the screen each time. To observe these two features, type in the following short program, then run it. The program draws a box in Graphics 3, then the mode changes from 3 to 15. This will give you a quick idea of what the new modes look like.

10 REM GRAPHICS MODE DEMO
20 GRAPHICS 3
30 PRINT "THIS IS GRAPHICS MODE 3"
40 COLOR 1:PLOT 2,2:DRAWTO 15,2
50 COLOR 2:DRAWTO 15,10:DRAWTO 2,10
60 COLOR 1:DRAWTO 2,2
70 FOR GRM=3 TO 15
80 GRAPHICS GRM+32
90 PRINT "THIS IS GRAPHICS MODE "PM;" + 32"
100 FOR WAIT=1 TO 200: NEXT WAIT
110 NEXT GRM
120 GOTO 10

As you can see, this produces some interesting effects. It's useful if you're interested in having an object expand or contract on the screen. Of course, it shifts both the horizontal and vertical positions because of the changes in format from one mode to next. Now let's examine the new 1200XL modes in detail.

Graphics 12

The first of the new modes is Graphics 12. This is a mode frequently used by Atari programmers. In the past, Graphics 12 was not available to the basic user. You can use it to display text. However, unlike modes 0, 1, and 2, which have a character size of 8x8 pixels, this character mode has only 4x8 pixels, that's half the resolution in the same amount of screen space. This is because these characters can each contain up to four colors, instead of one. That is, you may use three foreground colors, plus background. In fact, any of 256 colors.

But this mode is used rarely to display text. Because of its four-color displays, Graphics 12 is used most often to provide multicolor playfields in a number of games. For example, Atari Centipede, and Galaxian, both use Graphics 12 for many of the screen objects.

Graphics 13

As in Graphics 12, Graphics 13 characters are also 4x8 and four color though somewhat larger. You are still permitted 40 characters per line, but only 12 vertical lines. This mode is most useful for redefining characters.

Graphics 14

This is the first of the new Bit-Map modes for the 1200XL. In this mode we have a two-color bit map 160 columns wide and 192 rows deep. Its pixel size is the same height as Graphics 8, but as wide as Graphics 7. The value of a reduced color mode is that you can display detail without using large amounts of screen memory. For example, the same display created in Graphics 8, recreated in Graphics 14 can save you almost 4K bytes of extra memory. In Graphics 15 the saving is more substantial. Graphics 15 employs the same size pixel as 14, but a full screen uses only half the memory.

Graphics 15

This is the special mode talked about in most magazines as Graphics 7+ or 7 1/2. That is, the pixel is as tall as a Graphics 8 pixel and as wide as a Graphics 7 pixel. Therefore, it falls between 7 and 8. This is a true four-color mode. And--for those of you who are interested in such things--the pixel size of this mode is the same as the pixel size of the character mode 12. The screen size remains 160 columns by 192 rows down. This is the mode used by Datasoft's successful Micropainter.

The 1200 Difference

Atari's 1200 is offering programmers tools with which to work. We'll discuss other features in future columns. For those of you involved in higher level programming, I offer this short memory map for the 1200XL (Table 3.)


  Gr. Mode Type Colors Columns
(Across)
Rows
(Down)
  0
1
2
3
4
5
6
7
8
9
10
11
Character
Character
Character
Bit Map
Bit Map
Bit Map
Bit Map
Bit Map
Bit Map
GTIA Map
GTIA Map
GTIA Map
2
5
5
4
2
4
2
4
2
1/16L
9
16
40
20
20
40
80
80
160
160
320
80
80
80
24
24
12
24
48
48
96
96
192
192
192
192

Table 1. The 12 graphics modes available on the 400/800.



  Gr. Mode Type Colors Columns
(Across)
Rows
(Down)
  12
13
14
15
Character
Character
Bit Map
Bit Map
4
4
2
4
40
40
160
160
24
12
192
192

Table 2. The 1200XL offers four new graphics modes.



 

Hexadecimal


Decimal


Function

  0000-007F

0080-00FF

0100-01FF
0200-05FF
0600-06FF
0700-1CFB
1CFC-9C1E
8000-BFFF
9C1F-9FFF
A000-BFFF
C000-CBFF
CC00-CFFF
D000-D0FF
D100-D1FF
D200-D2FF
D300-D3FF
D400-D4FF
D500-D7FF
D800-E3FF
E400-FFFF
0-127

128-255

256-511
512-1535
1536-1791
1792-7419
7420-39966
39967-40959
40960-49151
49152-52223
52224-53247
53248-53503
53504-53759
53760-54015
54016-54271
54272-54527
54528-55295
55296-57343
57344-58367
58368-65535
OS page zero RAM
User page zero RAM
Used with Basic
6502 micro stack
OS RAM
Free RAM
DOS
User RAM (Basic)
16K cartridge.
Display List/Screen RAM (Basic)
BASIC or other 8K Cartridge
OS ROM
Int'l Char Set
GTIA registers
Reserved???
POKEY registers
PIA registers
ANTIC registers
Reserved???
Floating Point
Normal Char Set
OS ROM

Table 3. Atari 1200 XL Memory Map

Tim McGuinness is a regular contributor to Hi-Res. He is director of software development at Romox, Inc.