Jump to content





An Early Atari Computer Technical Demo

Posted by Atari_Ace, 22 December 2018 · 108 views

As originally conceived, Atari computers were going to be a platform where the technical secrets were held closely, allowing Atari to reap easy profits by providing software that third parties would be hard to match.  At least, that was the theory.  But the technical secrets were not going to remain secret forever, and as Atari was slow to provide the software to drive sales of the computers, it made more and more sense to abandon that strategy and open the platform to more developers.  Atari eventually did this in late 1981, publishing the technical notes and then more broadly with the publication of De Re Atari in 1982, a more approachable presentation of the material.
 
But before the technical notes became widely available, Atari used the popular computer magazines of the day to publish some of the technical information.  Chris Crawford and Lane Winner at Atari wrote two articles in late 1980, one for Byte magazine and one for Compute!, which explained display lists and player/missile graphics respectively.  Both appeared in the January 1981 issues of the magazines, and were later endlessly rehashed in books and magazines over the years.
 
The Byte magazine article, An Introduction to Atari Graphics describes some of the functionality of display lists and then proceeds to use a modified display list and a modified character set to generate a Byte magazine splash page.  Interestingly, the page references the August 1980 issue, perhaps publication was delayed for unknown reasons.  In any event, it's probably the first published article on display lists, and is quite interesting both for what it reveals and what it does not.  It shows the 14 graphics modes, revealing that there are modes that aren't available from the GRAPHICS command.  Since it modifies an existing display list, it omits mentioning details important to writing a display list from scratch.  Nonetheless, there was enough information here to help software authors start producing better graphics on the computers.
 
Attached Image
 
Listing 2 from the article, which produced the above screen:
 

​0 IF FRE(0)<5825 THEN PRINT "NOT ENOUGH MEMORY!":END
20 RAMTOP=PEEK(106):POKE 106,RAMTOP-16:GRAPHICS 0
30 DIM SML$(32):SML$(1,32)="  the small systems      journal     "
40 DIM MGH$(41):MGH$(1,41)="@@@A@McGRAW@HILL@@@@@@@@PUBLICATION"
50 GRAPHICS 7+16:COLOR 2:POKE 765,2
55 POKE 708,128:POKE 709,40:POKE 710,128:POKE 712,128
60 START=PEEK(560)+PEEK(561)*256+4
70 POKE START+10,2
80 FOR X=0 TO 3:POKE START+46+X,6:NEXT X
90 FOR X=0 TO 3:POKE START+50+X,7:NEXT X
95 POKE START+54,65:POKE START+55,PEEK(560):POKE START+56,PEEK(561)
110 A=0:READ B,C:IF B>-1 THEN GOSUB 800:GOTO 110
120 READ A,B,C:IF A>-1 THEN GOSUB 800:GOTO 120
200 CHBAS=RAMTOP-4:ADDR=CHBAS*256
210 FOR X=0 TO 1023:POKE ADDR+X,PEEK(57344+X):NEXT X
220 POKE 756,CHBAS+2
230 FOR X=0 TO 255:POKE ADDR+512+X,PEEK(ADDR+256+X):NEXT X
240 FOR X=0 TO 7:POKE ADDR+512+X,0:NEXT X
250 FOR X=0 TO 7:READ A:POKE ADDR+99*8+X,A:NEXT X
290 POKE 755,0:POKE 87,0
300 POSITION 4,9:? #6;"AUGUST 1980  Volume 5, Number 8";
310 MEMST=PEEK(START)+PEEK(START+1)*256:CHRPOS=MEMST+46*40
320 FOR X=1 TO LEN(SML$):POKE CHRPOS+X-1,ASC(SML$(X,X))+128:NEXT X
330 CHRPOS=CHRPOS+60
340 FOR X=1 TO LEN(MGH$):POKE CHRPOS+X-1,ASC(MGH$(X,X))-64:NEXT X
350 POKE 708,200
360 GOTO 360
800 ON A+1 GOTO 810,820,830
810 PLOT B,C:RETURN
820 DRAWTO B,C:RETURN
830 POSITION B,C:XIO 18,#6,0,0,"S:":RETURN
900 DATA 111,20,111,21,110,21,109,21,108,22,107,23,107,24
905 DATA 106,25,106,26,107,27,107,28,108,29,109,30,110,30,111,30
910 DATA 111,31,110,31,109,31,108,32,107,33,107,34,106,35
915 DATA 106,36,107,37,107,38,108,39,109,40,110,40,111,40,111,41
920 DATA -1,-1,1,97,41,2,96,40,1,96,40,2,96,21
925 DATA 2,97,20,0,93,21,1,92,21,1,91,21,1,90,22,1,89,23,1,89,24
930 DATA 1,88,25,1,88,40,1,87,41,1,80,41,2,79,40,0,79,40
935 DATA 2,79,25,0,79,25,2,78,24,0,78,24,2,78,23,0,78,23,2,77,22
940 DATA 0,77,22,2,76,21,1,74,21,1,74,20,1,93,20,0,71,20
945 DATA 1,71,36,1,70,20,1,70,36,1,69,33,1,69,36,1,68,34,1,68,36
950 DATA 1,67,34,1,67,40,1,66,41,1,59,41,2,58,40,0,58,40
955 DATA 2,58,36,1,54,36,2,54,34,1,64,33,1,63,32,1,63,21,1,62,20
960 DATA 1,55,20,2,54,21,0,54,21,2,54,33,0,51,21
965 DATA 1,51,29,0,51,32,1,51,40,1,50,41,1,50,32,0,50,29,1,50,20
970 DATA 1,49,20,1,49,22,0,49,28,1,49,33,0,49,39
975 DATA 1,49,41,1,48,41,1,48,40,0,48,32,1,48,29,0,48,21,1,48,20
980 DATA 1,46,22,0,46,28,0,46,33,0,46,39,1,45,38,1,45,33
985 DATA 0,45,28,1,45,23,0,47,41,1,36,41,2,35,40,0,35,40,2,35,21
990 DATA 1,36,20,1,49,20,-1,0,0
999 DATA 0,60,96,96,96,60,0,0






From Mobygames, in 1979, all Atari 8 bit games are released by Atari. Since 1980, other companies released their games as well.

  • Report

Of course non-Atari developers reverse-engineered Atari software early on, so the lack of documentation didn't completely lock out the programmers.  My point here is to spotlight the earliest efforts to document the hardware better which helped launch so much good software that was missing in the early days of the computer.

  • Report