Graham Daubney of Atari recently mentioned at a BUG meeting that he had
discovered, quite accidentally, some totally new Graphics modes. Intrigued
by this, I went home and started messing around myself.
After much peeking and pokeing, I think I may have some answers. The
register of interest is the graphics priority register at 53275 which is
shadowed at GPRIOR, 623 decimal. This is used in setting the priority for
Player-Missiles and the like. But the important part is that the GTIA chip
uses the 2 most significant bits - 6 and 7 - to determine how it is to
output the information.
Using some inspired guesswork, this is what I think may be happening.
When GTIA gets a byte of Data, it first looks at the Priority register. If
the 2 most significant bits are not set, then it outputs the data as
normal for the mode in question i.e BASIC modes 0-8. But if either of the
2 bits are set then it splits the byte into 2 4-bit nibbles, which gives
it 2 numbers between 1 and 16. It then outputs 2 pixels as shown in figure
1.
|
|
|
Figure 1
Priority
Registry Bit
7
|
6
|
|
0
|
1
|
Output color 4 at a luminescence given by (n)
|
1
|
0
|
Output the color stored in color register (n)
which can be any color register or the Player-Missile color
registers
|
1
|
1
|
Output the color whose number is (n) and whose
luminesence is stored in color register 4
|
This is essentially what happens in Graphics modes 9-11. The operating
system simply creates a Graphics 8 display list and then sets the bit in
PRIOR. But what nobody seem to have thought of before is that this can be
done for any mode, not just GR.8
The only mode I've tried it in so far is GR.0, but believe me - it's
quite amazing! What happens is that instead of each character producing a
letter, it produces two pixels in colour. Potentially this means that all
the programs you had to produce in GR. 2 to get colour can now be expanded
to a full 40 x 25 display in up to 16 colours giving a resolution equal to
GR. 9-11.
I've included a quick demo in listing 1, which puts up a simple display
and steps through the different priority settings. Somebody out there can
do better than this. All I have done is some ground work, so get out your
Atari and start writing some programs! Try some of the other Graphics
modes too, I have only tried GR. 0.
top