#@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@W!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr d M * @  $ % CC$$)%1 Udߥ$9%: !0 S$%} DD˙`  }J)Lr J  ((  p L ()   J}L= ( L 0q A    IB JC;? D W } LL  ` W )LA!  ߰")-݆ p" } $G@LL 08`Q")<2Q0 -G$Ș݆ UL# ; p8(()(0ʥ)NQ` }$GȘ݆LU )L ݆ L GȘ ݆LL )W>Z   HH)H }p h  hyhy D L> L JJ    ! LA*` BF }7'8  M HN H` 8 Z  \LdJJ!"! GFE@F (!L }EE !E^ ^ E E7EȩEdE/EȩE  D } .L }  ;F d  ;?F7F? ( .   Z D LL d } . D  L    p  E` , d)  D L) 0BM݊L݉} ML  N݆ L NLML [ TEqEHȱEqEh 0Gȹ G} HLL GɛL  LFREE SECTORS G) *Gȩ GȽG GȌ*jj >G} C8jJ3j2CD( C202C ԠBX` N 1? l LlD:RAMDISK}.COMLu L1 L ;LHL  T`  `1  ɐ     `TU  } L ? .  t`GBJ ~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI4 0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J  (` 9 V⪍ ઍ  -'}LLu ÝDEHILV 9 .l 9 .l  `` s$B BH(}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu }M D D D D %BB! % 9* v% w%u % D %LJ& fffffff>`<*}|0`̌8l8pv00````00 0f< x||||-}|||~|l8l8lfff< 0`@`0 000006c!"|™.}|™|~x|™|as22sa>2222r|晒xLLLLNB|晁晉|™||™/}v|~Þ~fdddd||晙d8晙™晙dd|2x`x`~<~~<"#30 ~ <~~<0}|~~||~~||>````~~8<8<||1}~~~|0000~l8|ll8l~ 8`8pp##82}$ %0$1$3$4$ ?̏?1$4$ॄ``ex$w$e{$z$褄 x${3}$`(mDeXYi????)^̜D)DȄ?Čei?̜D@L$4}i( %&L$??`??????8??Ƌ拑` T8` 8` n%D5} %LJ&} T8t?????@:@CD(DDi?18?8?8?@K????` -??6} $ &= Y%&'?L' &= Y%?`'XRUT`H)h)` i@LG&8 `DCIDID $ 87}Х)LS&ЭC?H &hɛL&,C0ɜf) `{\\X^T_PHC^? e,h .&) C8} $8??''i?i? 'LJ&?'?'LJ&ʊ &HIHd'Hc'H`# \^_|}~2k)9}9:+O)29+,0];'3A/1/s)l32'))(m(( ):--,+<,+4,++d,CIC`"I"` (8??8??? ??:} $8?内?凅((?m???i? $L'`8???? ????8?? ??`8??;}`??`ЭD(DDΝD $ '} T8L &L'ЭDΜDΜDD $ '} T8L &ƇƆL'<}Ƌ^^()`8eiL'^` 懥͒?^eiL'??L'=}??8̓??? $LC)s)s)`)))))`Ƌ ^`^Ƌ͂?L)ƌ >}L(L)??L')*^懥͒?LC)懥͒?LC)^L4)??????}`8??hh``8Ie?Ie?????8?m?͉? &۠= Y%?`???m?@}??m?? $????8?傅*+?僅 $8??????` K* ( h*8????` n( K* ( h*L+A}L. 9*2 &= Y% o%H &h)_ @W K* (Lh*S K* )Lh*P K* ;-Lh*`8????ХL'??B}L+͒???L++,L+ee8?傅?僅8傍?働? $8??????`C} @LO, @ O,L4) @ {, @` @ @ {,L'?m @?m @ͅ?hhL,m @m @8?倅?偅D} M$?m @??m @?`?It?`= Y% 8)})Y`,-Э`2 & > Y% ,L & % %LJ&^懥͒?E}LC)L4)Ƌ^Ƌ̓?L)8ee8内包LM-L'@ԩ-0F}1-XYȑȑ`ppp-.A-Hs) ԍЍ)Х  h@ЭG} 9* &> Y%I $I2 o%)_ @W . )L.S . )L.P . -L. 'L &??`8??H}?? *?? $L5.'U?? T8~ T8? o%?,C09 .n/CL.ɛE~L.~ T8L.) }̓?𻥌)I}Ю ? T8CL.?`2 &Ϡ= Y% ,L &D D D D Lto/j0CL|/C??L/CJ}8?勪,C0ɛ^L/ .&L/^L/ 2` &9> Y% [00@ w/p?D?E8??H??I B V0 oK}/ ';0 LX1H o/h!H} T8Q> Y%h v8 P0 -?` &Y> Y%L70C BLVpCCH@k0f1 .h? &hhL- P0CL}D?E?HICJBLV8??ą &s> Y% [0L0 % 0L0LX1CDE8?冝HM}?凝IB V`CHm??Im???e??e? /??` P0L0} T8ig1b2> Y%L70@ԭs)N})`????8* &?.??.??.??.? ??L1? ?8??????L1?`8????O}?? ? &> Y%?`m?m?8?倅?偅eͅ? &> Y%?` M$?m???c2^3m??P}?? $L'ȱȊ`)?! ;I@Ln(H)h)` @@L2i `Э& &? Y% .@L &?@̔?Q}L &@@S@ .&ъ 拥͒?6@ei?Ō?卐8@@@ '` _3Z4& ? Y%R}?` &8???? v8?`KE:P@HH8@@@@1pHI B@ V( 0LJ&hh@`S} &נ>LY%L5ЭL= &> Y% o1 [0L5 o1 3?? @ @C3? @@3t@??[4V5@T}@?@L5^)@@@?挐?@?ȱ?8ei@ 5@ 58.@??䅎@ 7 5@U}? 258??<:? ?? 25?E T8> Y% o% '; -} T8 &LJ&LX48?@0 5??兎B W5V}R65 7 5 5 5@@?8@@@@ &> Y% o% 3??䅎A 5 7?@0 5` ?@ 3`?m@W}@ 5` 3C 3` @) 25656 @L.7ʊ @6HHG6HF6H`8@eiLX4^@`wlrtbsnhf%p?xmqi6666X}66S6N766766x6n6e6'7P7ȩ@L*6 1@L*6 1@?@L*6 1@?@L*6 1?L*6?L*6 1?L*6 1?L*6 1?LY}*6 1?L*6 1?L*6@ȘH 25h@` 7?A?L*6ȱ^` 7?B?L*6 7L*6ȱ @Ls4 1H @)Z}hd@ *6LO7-86^ 2???`CC 0L3 % 0L3hhpCLN4̏?0 2 3 @  3_ 3L[}7`@) @ 2c8@?J8? 3@L7e8??8? L7u @I @#@@@ q8@L7 @d@ 3L7.8)9 B V\}nD8EHIBLV䌡8HI B V䬡8`E:Lx8Dԅ ؠH),D0 T8L8 3h0``]}D 8D)?<D)@`I@`D9,P a{)ɀ`H2ҢҠh`lj;k+*opui-=vc*99bx^}z436521, .nm/reytwq907~8<>fhdgsaLJ:K\^OPUI_|VCBXZ$#&%"![ ]NM?REYTWQ()'@}FHDGSA {  _} ` }9: 2@ : 2@ &: $L9L &Э# &? Y% .:@?<@̔?`}L &8@@e@@ee8?傅?僅 $8?@???:@) @ @ {,<@ .&:@m:@ia}L':; ';pD>EHIJB V0\DDdDeDDD L;0?+K T8 L;03D L;0) T8DD. T8L: b} L;ƌL:p B VpC`H T8h T8 L;0 T8LA;pHIBLV o1 .8 o1R} T8 : =DDDΘDΘD = o%c};a;<)_ݼ;L<ʊ ;H;H`+*-=RLUF12345678 ;<<0<<<<<=========G=%= =DL< =DDd} DDDL; =D8L< =Di͘DުL<>C) 2 C C.ʎDC`pBDHIDe}CELV CL^;pCJ C< w<0% % 00} T8 - &LJ&T T8LT8@ '; Y=Q> Y%@ v8 T8g}> Y% o% =L< I==` Y=? Y%>LT8=>`124 chr=1 sector.PAGE 6 WRITERExit to DOSBuffer FullDelete (S,W,P):h} Are You Sure? (Y/N)ERASE ALL TEXTErase (S,W,P): to exitSave (Device:Filename)>Error #BREAK Key AbortNo ErrorsLi}oad (Device:Filename)> Press D1:*.*Memory Ful>?lNo text in bufferPrint (Device:Filename)>Printing...Insert nexj}t sheet, press Find:Not FoundChange To: -Exit ̭oad ̭elete ormat nlock ock ename Drive #k}Rename to:Format Diskrive #w8<<  B JKIHiDiELV`L8 8 BLV`Lxm}8t8l Lu8hihiHHȱȱL8c !#3`Lu8JJJJ`H 8h`Hn}ȩh Q8L8 Z8L8 8L8 8L8 8L8S:@9E:E9H '9 H9I9 8 '9h)0ICo}9D9L8 L :::: :Lr:::IEL[::i:iIIL[:`:i::iq}::L:`L{:w:w: C`L:L: D8:MEM.SAV: 8| 9 '9`L:L: D:DUP.SYS:̩ 8r} x:ɀL: '9`88 |9Y:X: '9L); D8:DUP.SYS; 8::88 9 '98? :`;WL`; 9s}Ln; ` :Y;Y;L;L;)} Setting Up ATARI 130XE Ram Disk; 9L; ; -9  t} L;D8:; :9 :Y;L! !Line ! clock ! ! } ! ! ! ! ! ! 1 ! ! ! ! !<->! ! ! ! pixell ----------------- 1/2 cc }u ! 0 ! 1 ! 0 ! 0 ! pixel color am 0=off!---------------! 1/2 cci 1=on ! 1 ! 0 ! 0 ! 0 ! pixel color bn !---- }-----------! 1 cca ! 1 ! 1 ! 0 ! 0 ! pixel color cn !---------------! 1 ccc ! 0 ! 1 ! 1 ! 0 ! pix }el color de ----------------- Figure D-1Note that each of these pixels requires one color clock of distance } and therefore has a horizontal resolution of 160.The colors A through D are different for each television set, usually beca }use the tint knob settings vary. Thus they cannot be described as absolute colors, for example, red; but they are definitely }distinct from each other, and programs have been written that utilize these colors.PAGE D-2 ABOVE but they are definitely d0080To illustrate a simple application of artifacting, refer to the example below. This program draws lines in each of }the four artifact colors and then fills in areas using three of the colors. (Note that displaying many pixels of either type }C or D next to each other results in the same thing: a line or constant luminance with background color.)The POKE 87,7 comma}nd causes the OS to treat this mode as mode 7 and to use two-bit masks when setting bits in the display memory. to generate c}olor A, use COLOR 1, color B uses COLOR 2, and color C uses COLOR 3. color D is generated by displaying COLOR 1 to the left o}f COLOR 2.10 GRAPHICS 8:POKE 87,7:POKE 710,0:POKE 709,1420 COLOR 1:PLOT 10,5:DRAWTO 10,7030 PLOT 40,5:DRAWTO 40,7040 COLO}R 2:PLOT 20,5:DRAWTO 20,7050 PLOT 41,5:DRAWTO 41,7060 COLOR 3:PLOT 30,5:DRAWTO 30,7070 FOR X=1 TO 3:COLOR X:POKE 765,X80 }PLOT X*25+60,5:DRAWTO X*25+60,7090 DRAWTO X*25+40,70:POSITION X*25+40,5100 XIO 18,#6,12,0,"S:"110 NEXT XPAGE D-3 ABOVE |0080APPENDIX EGTIAThe GTIA is a new display chip that will someday replace CTIA. Actually it is nothing more than a} CTIA with a few more features. It simply provides three additional modes of interpretation of information coming from the an}tic chip. Antic does not require a new mode to talk to GTIA; instead, it uses the high resolution mode $f. GTIA is completely} upward compatable with the CTIA. A brief summary of CTIA's features follow so that the differences between CTIA and GTIA can} be presented.The CTIA is designed to display data on the television screen. It displays the playfield, players and missiles}, and detects any overlaps or collisions between objects on the screen. CTIA will interpret the data supplied by antic accord}ing to six text modes and eight graphics modes. In a static display, it will use the data from antic to display hue and lumin}ance as defined in one of four color registers. The GTIA expends this to use all nine color registers or 16 hues with one lum}inance or 16 luminances of one hue in a static display.The three graphics modes of GTIA are simply three new interpretations} of antic mode $f, a hi resolution mode. All three modes affect the playfield only. Players and missiled can still be added t}o introduce new hues or luminances or to use the same colors and luminances in more than one way. All displays of hues and lu}minances can still be changed on-the-fly with display list interrupts. The GTIA uses four bits of data from antic for each pi}xel, called the pixel data. Each pixel is two color clocks wide and one scan line high. Thus, the pixels are riughly four tim}es wider than their height. The display has a resolution of 80 pixels across by 192 down. Each line then requires 320 bits or} 40 bytes of memory, the same number of bytes used in antic mode $F. Therefore for a program to run the GTIA modes it must ha}ve at least 8k of free ram for the display.The GTIA modes are selected by the priority register, prior. Prior is shaddowed a}t location $26f hex by the os and is located at d01b hex in the chip. Bits d6 and d7 are the controlling bits. When neither i}s set there are no GTIA modes and GTIA operates just like CTIA. When d7 is 0 and d6 1, mode 9 is specified which allows 16 di}fferent luminances of the same hue. Remember the pixel data supplied by antic is four bits wide which means 16 different valu}es can be represented. Players and missiles can be used in this mode to introduce additional hues. When d7 is 1 and d6 is 0, }mode 10 is specified. This mode gives nine colors in the display by using the four playfield color registers plus the four pl}ayer/missile color registers plus the one background color register. When players are used in this mode, the four player/miss}ile color registers are used for them also. When d7 is 1 and d6 is 1, mode 11 is specified. This mode gives 16 hues with the }same luminance again because 16 different values can be represented by four bits. Players and missiles can be used in this mo}de to introduce different luminances.PAGE E-1 ABOVEe represented by four bits. Players and missiles can be used in this mo60080PRIOR ------------------------- !D7"D6! ! ! ! ! ! ! ---------------------------------------------------}-------------!D7!D6! option !! 0! 0! no GTIA modes (mode 0-8!! ! ! (CTIA operation) } !! 0! 1! 1 hue, 16 luminances (mode 9 !! 1! 0! 9 hues/luminances (mode 10)!! 1! 1! 16 hues, 1 luminance (mode 1}1)!--------------------------------------- Figure E-1 Bit pattern in prior selects GTIASetting up the new GTI}A modes is as simple as setting up the present modes used in CTIA. To implement the modes from basic simply use the commands }graphics 9, graphics 10, and graphics 11 for mode 9, mode 10, and mode 11 respectively. In assembly language selecting one of} these modes is identical to opening the screen for any of the other modes. If you are building your own display list then pr}ior must be set to select the correct mode as in figure e-1.Mode 9 produces up to 16 different luminances of the same hue. A}ntic provides the pixel data which selects one of the 16 different luminances. The background color register provides the hue}. In basic this is done using the setcolor command to set the hue value in the upper nybble of the background color register,} and to set the luminance value in the lower nybble to all zeroes. The format of the command isSETCOLOR 4, HUE VALUE, 0Whe}re 4 specifies the background color register, "hue value" sets the hue and can be anything from 0 to 15, and 0 will set the l}uminance paet of the register to zero. This has to be done because the pixel data from antic will then be logically or'ed wit}h the lower nybble of the background color register to set the luminance that appears on the screen. The color command is the}n used t select luminances for drawing on the screen by using values from 0 to 15 as its parameter. So a basic program will i}nclude at least the following statements to use mode 9:GRAPHICS 9: to specify mode 9SETCOLOR 4,12,0: to initialize the back}ground color register to some hue, in this case green.FOR I =0 to 15: some method where theCOLOR 1: color command is used}PAGE E-2 ABOVEgister to some hue, in this case green.FOR I =0 to 15: some method where theCOLOR 1: color command is used0080PLOT 4,1+10: to vary luminance.NEXT IIn assembly language use the os shadow for the background color register $2c}8 to set the hue in the upper four bits with hex values from $0 to $F. If CIO calls are used, store the pixel data into the o}s register atachr located at $2fb. This selects the luminance with hex values from $0 to $f. If you are maintaining your own }display data then the pixel data goes directly into the left or right half of the diisplay ram byte.------------------------}-!H4!H3!H2!H1!0 !0 !0 !0 ! background-------------------------color register! ! ! !! ! ! } !! ! ------------- pixel data! ! !l4!l3!l2!l1! (four bits! ! ------------- from antic)! } ! ! !! ! ! !-------------------------OR'ed together!H4!H3!H2!H1!L4!L3!L2!L1! to give fi}nal-------------------------color on display<----------><-----------> hue luminanceHUE: one constant hue set by }background color registerLUMINANCE: 16 liminances selected by pixel data Figure E-2Background color register OR'ed }with pixel data to give final color.Mode 11 is similar to mode 9 except that it provides 16 different hues all with the same} luminance. Again antic will provide the pixel data toselect one of 16 different hues. In basic the setcolor command is used }to set up the single luminance value in the lower nybble of the background color register, and in the upper nybble, the hue v}alue will be set to all zeroes. The format of the command isSETCOLOR 4,0, LUMINANCE VALUEWhere 4 specifies the background }color register, 0 sets the upper nybble to zero and "luminance value" sets the value of the luminance and can range from 0 to} 15. As with the other graphics modes (except mode 9), the first bit of the luminance is not used, so effectively only even n}umbers result in distinct luminances which gives eight different possible luminances in this mode. The color command is used }in this mode to select the various hues by using values from 0 to 15 in its parameter. The pixel data from antic willPAGE E}-3 ABOVEode to select the various hues by using values from 0 to 15 in its parameter. The pixel data from antic willPAGE E 0080Be logically OR'ed with the upper nybble of the background color register to set the hue part of the value that ul }timately generates the color on the screen. So a basic program using mode 11 will include at least the following statements: }GRAPHICS 11 to specify mode 11SETCOLOR 4,0,12 to initialize the the background color } register to some luminance, in this case very brightFOR I= 0 to 15 some method w }here theCOLOR I color command is usedPLOT 4,I+10 to vary the hueNEXT IIn assembly language use the OS sha }dow for the background color register $2C8 to set the luminance in the lower four bits with hex values from $O TO $F. If CIO }calls are used, store the pixel data into ATACHR located at $2FB. This selects the hue with hex values from $O to $F. If you }are maintianing your own display data then the pixel data goes directly into the left or right half of the display ram byte. }------------------------!0 !0 !0 !0 !l3!l2!l1!/! background------------------------ color register! ! ! ! }! ! ! !-------------! ! pixel data!H4!H3!H2!H1!! ! four bits from-------------! ! anti }c! ! ! !! ! ! !------------------------ OR'ed together!H4!H3!H2!H1!L3!L2!L1!/! to give final }------------------------color on display<----------><-------> hue luminanceHUE: 16 hues selected by pixel dataLUMI }NANCE: one constant luminance set by background color register Figure E-3Background color register OR'ed with pixel d }ata to give final color.Mode 10 will allow all nine color registers to be used in the playfield at one time. Each color regi }ster to be used must be set to some combination of hue and luminance. The pixel data from antic is used in this mode to selec }t one of the color registers for display. In BASIC the SETCOLOR commandPAGE E-4 ABOVEm antic is used in this mode to selec X0080In BASIC the SETCOLOR command can be used as described in the BASIC REFERENCE MANUAL to set the colors in the backg$}round and the four playfield register. These can also be sent by using the POKE instruction to addresses 708-712 where the fo$}ur playfield registers and the background register are located. The POKE instruction must be used to set the four player/miss$}ile color registers at locations 704-707. The color command is used to select the color register desired. The only meaningful$} values for its arguement are 0 to 8. A problem arises with this mode. Antic supplies four bits of data per pixel, as it does$} with modes 9 and 11. This allows for the selection of 16 color registers. However, only nine color registers exsist in the h$}ardware. An illegal data value between 9 and 15 will select one of the lower value color registers. A basic program using mod$}e 10 will include:1) a GRAPHICS 10 command to specify mode 10;2) a set of POKE instructions to put hues and luminances into$} the color registers,OR a combination of SETCOLOR commands and POKE instructions to do that;3) a COLOR command to select t$}he desired color register.In assembly language, store the pixel data in atachr ($2fb) or directly into the display ram byte $}as in mode 9 and 11. In this mode the pixel data can range from 0 to 8 and selects one of the nine color registers. COLOR $} COLOR OSSTATEMENT REGISTER SHADOW VALUE USED 0 D012 2C0 1 D013 $} 2C1 2 D014 2C2 3 D015 2C3 4 D016 2C4 5 D017 $} 2C5 6 D018 2C6 7 D019 2C7 8 D01A 2C8 Figure E-4C$}olor Register Numbers and Locations and COLOR Command Reference.An important question arises in conjuction with the GTIA con$}cerning compatability. GTIA is fully upward compatible with the CTIA and all the software that runs on a CTIA system will run$} the same way on a system with GTIA. This means you still have the full use of players and missiles, stil have collision and $}overlap detection and display lists interrupts. The GTIA graphics modes are fully supported by the os and all graphics comman$}ds and utilities that run in the CTIA modes can be used in GTIA modes.PAGE E-5 ABOVErted by the os and all graphics comman$W0080More colors are available to display at one time on the screen. Sixteen color changes can occur on one line totally(} independent of the processer intervention. This is actually better than what could be done with display list interrupts whic(}h could give at most only 12 color changes per line. Much finer contour and depth can be represented using the shading availa(}ble in mode 9. This means three dimensional graphics can be realistically displayed.On the other hand, there are some disadv(}antages. GTIA modes are map modes, there can be no text displayed in these modes. A custom display list must be used to switc(}h to a mode that supports character displays. The GTIA pixel is a long, skinny horizontal rectangle (4:1, width to hight) and(} does not represent curved lines well. Because each pixel uses four bits of information, GTIA requires nearly 8k of free ram (}to operate. Although it is upward compatable, it is not downward compatable. Thus programs which use GTIA modes will not prod(}uce correct displays on computers that have CTIA's. They may well be recognizable but will not be as colorful. There is no wa(}y currently for a program to determine whether or not a GTIA is present in a system. Finally, color artifacts produced by a G(}TIA system will not be identical to the color artifacts produced on the same television with a CTIA system.PAGE E-6 ABOVEG(|0080GLOSSARY $This symbol in front of a number indicates that the number should be interpreted as hexadecimal.ANTIC,}This is a seperate microprocesser, contained within the atari 400/800 computers, which is dedicated to the television displa-}y. Antic is user-programmable with an instruction set, a program (the "display list"), and data (the "display memory").ATTRA-}CT MODEThis is a feature provided by the operating system which, after nine minutes without a key being pressed, cycles the -}colors on the screen through random hues at lowered lumunances. This ensures that a computer left unattended for several hour-}s doesn't burn a static image into the television screenBACKGROUNDThe area of the television screen display upon which play-}er-missile graphics objects or playfield objects and/or text are projected. Background has its own user-definable color.BCD-}Acronym for binary coded decimal. A numbering system in which each number is broken into a sequence of decimal digits. These -}decimal digits are then coded into binary, a task which require four bits per digit, and stored in the resultant form. In the-} atari computer, two such digits are stored in each 8-bit byte.BORDERIn basic mode 0, this is the area of the television sc-}reen display which is formed by the four edges of the screen. The border takes background color.BRKKYA flag set when the os- } senses that the break key is typed. BRKKY's normal value is $FF -- if it changes, then the break key has been pressed.PAGE- } G-1 ABOVEt the break key is typed. BRKKY's normal value is $FF -- if it changes, then the break key has been pressed.PAGE, 0080BYTE COUNTThis is the file pointer's position within a sector on diskette.CASSETTE BOOT FILEA standard or user-c1 }reated file which boots from cassette at power-up or system reset.CHARACTER GRAPHICSThe technique of redefining the individ1 }ual characters of a character set to form graphics images instead of text characters.CHARACTER IMAGEThe unique 8 x 8 pixel 1}grid which defines a particular character's shape.CHARACTER MODEThis is a specific type of antic display mode which display1}s screen display memory data bytes as characters, using a character set. There are six antic character modes, three of which 1}are accessible from basic.CHARACTER NAME BYTEA one-byte antic display memory value which selects a unique character within 1}the current character set using the character's sequential position in that set.CHARACTER SET INDIRECTIONThe technique of s1}pecifying to antic a particular character set to be used by placing that set's beginning page address into chbas.CHBASThe O1}S shadow location which antic uses to find the current character set which is to be used for character display modes. CHBAS i1}s at decimal address 756.PAGE G-2 ABOVE the current character set which is to be used for character display modes. CHBAS i0*0080CHECKSUMThis is a single byte sum of all the bytes in a record (either disk I/O or cassette I/O). For cassette I/O5}, this includes addition of the two marker characters, computed with end-around carry.CIOAcronym for central I/O system rou5}tine. CIO routes I/O control data to the correct device handler and then passes control to the handler. CIO is also the commo5}n entry point for most of the os I/O functions.COARSE SCROLLINGThe process of altering the display list LMS (load memory sc5}an) address bytes in order to vertically or horizontally scroll the screen image, one byte at a time. This is accomplished by5} adding 1 to or subtracting 1 from the LMS address bytes.COLDSTARTSynonym for the power-up process which performs a series 5}of system database initializations when the computer power switch is turned on. After coldstart, the system surrenders contro5}l to the user.COLLISIONThis occurs when a player or missile image coincides with another image. There are 60 possible colli5}sions and each one has a bit assigned to it that can be checked. These bits are mapped into 16 registers in CTIA (with only t5}he lower 4 bits used).COLOROne of 128 values obtained from a hue-luminance combination which is stored in a color register.5}COLOR CLOCKThe standard unit of horizontal distance on the television screen. there are 228 color clocks in a horizontal sc5 }an line, but only 160 are displayed in a normal width playfield.PAGE G-3 ABOVEhere are 228 color clocks in a horizontal sc4Q0080COLOR REGISTERA hardware register (with corresponding os shadow location) used to define the color for various por9"}tions of the screen display. There are nine color registers available on the atari home computer.COLOR REGISTER INDIRECTION9#}The technique of specifying a particular color by pointing to its color register rather than directly specifying it.COLOR SI9$}GNALThis contains the color information which is combined with the primary signal to form the modulating television signal. 9%}The color signal oscillates at 3.579 MHz.COLRSHA zero-page location ($4F) set up and updated by the os during vertical blan9&}k interrupts for attract mode processing. When attract mode is in force, COLRSH is given a new random value every 4 seconds.9'}COMMANDIn basic, this is the first executable token of a basic statement that tells basic to interpret the tokens that follo9(}w in a particular way.CONSTANTIn basic, this is a 6 byte bcb value preceded by a special token. This value remains unchange9)}d throughout the program execution.CONTROL BYTEIn cassette I/O, this is part of every record. It contains one of three poss9*}ible values.CTIAA television interface chip which is controlled primarily by antic. CTIA converts antic's digital commands 9+}into a signal that is sent to the television.PAGE G-4 ABOVEled primarily by antic. CTIA converts antic's digital commands 8>0080CURRENT STATEMENTIn basic, this is the current token within a line of the statement table.CYCLE STEALINGThis occ=-}urs when antic halts 6502 processing in order to perform DMA functions for memory refresh and srceen display purposes.CYCLIC=.} ANIMATIONThe technique of repetitively flipping through colors, graphics images, or character graphics sets to animate scre=/}en images.DCBAcronym for device control block. The DCB is used by the I/O subsystem to communicate between the device handl=0}er and SIO.DEVICE HANDLERSRoutines present in OS ROM which are caled through CIO (as long as the handler has an entry in HA=1}TABS) to communicate with particular devices. Curently supported are the display editor, the screen, the keyboard, the printe=2}r, and the cassette. More handlers can automatically boot in during power-up.DEVICE SPECA special HATABS code which specifi=3}es a particular I/O device.DIAGONAL SCROLLINGThis results from the combination of horizontal and vertical scrolling of the =4}screen image.DISPLAY LISTAntic's "program" defined by the user or provided automatically (through a graphics command) by ba=5}sic. The display list specifies where the screen data may be found, what display modes to use to interpret screen data, and w=6}hat special display options (if any) should be implemented.PAGE G-5 ABOVEplay modes to use to interpret screen data, and w<L0080DISPLAY LIST INTERRUPTA special antic display list instruction which interrupts the 6502 microprocessor during theA8} drawing of the screen image, allowing the 6502 to change the screen parameters.DISPLAY MODEEither a basic or antic methodoA9}logy for interpreting text or map data bytes in screen memory and displaying them on the screen. Antic provides 15 display moA:}des; basic, through the os, supports only 9 of these modes.DLI VECTORThis is a 2-byte vector (low byte, high byte) to the dA;}isplay list interrupt service routine. this vector is set by the user and is located at [512,513] decimal.DMADIRECT MEMORY A<}ACCESS. This occurs when antic halts the 6502 and takes control of the system buses to fetch an instruction or data byte fromA=} memory.DMACTLThe hardware register whose bit settings control the use of dma by the antic chip. This affects, among other A>}things, player vertical resolution and player-missile graphics enabling.DOSAcronym for disk operating system which is an exA?}tension of the os that allows the user to access disk drive mass storage as files.DOUBLE-LINE RESOLUTIONA unit of vertical A@}resolution for a player in player-missile graphics. Each player byte occupies two horizontal scan lines on the screen, and eaAA}ch player table is 128 bytes long.DRKMSKA zero-page ($4E) location set up and updated by the OS during vertical blank interAB}rupts for attract mode process color register's value. This ensures a low luminance for attract mode.PAGE G-6 ABOVEk inter@v0080DUPAcronym for disk utility package. DUP is a set of utilities for disk drive usage, familiary seen as the dos menED}u. DUP executes commands by calling FMS through CIO.DYNAMIC DISPLAY LISTThis is an antic display which the 6502 changes durEE}ing vertical blank periods, allowing for even greater flexibility in the screen display.EOLIn basic, "end-of-line", a charaEF}cter with the value $9B.FILEIn cassette I/O, this consists of a 20-second leader of the mark tone plus any number of sectorEG}s linked by pointers (125 data bytes per sector).FILE POINTERFor diskette I/O, this is a value which indicates the current EH}position in a file by specifying the sector number and the byte count. DOS keeps a file pointer for every file currently openEI}.FINE SCROLLINGThe process of horizontally or vertically scrolling a screen image in color clock or scan line increments. TEJ}he horizontal scrolling and vertical scrolling hardware registers must be used to fine scroll.FMSFile manager system. FMS iEK}s a nonresident devive handler which supports some special cio functions.PAGE G-7 ABOVEoll.FMSFile manager system. FMS iDZ0080FONTA collection of characters which constitutes a character set. These characters can be either text or graphics IM}images.FOREGROUNDEquivalent to playfield, the area of the screen which directly overlays the background of the screen. ForeIN}ground is formed by map displays and/or text.FORMATA resident disk handler command that clears all the tracks on diskette.IO}FUNCTIONIn basic, a token that when executed returns a value to the program.GRAPHICS INDIRECTIONA special feature of the aIP}tari computer which allows color register and character set generality by using indirect pointers to color and character set IQ}values.HATABSThe device handler entry point table which is used by CIO. HATABS is located at $031A.HORIZONTAL BLANKThis iIR}s a period during which the electron beam (as it draws the screen image) turns off and returns from the right edge of the scrIS}een to the left edge.HORIZONTAL POSITION REGISTERA special register which contains a user-definable value for the horizontaIT}l position of a player in player-missile graphics. This value is measured in units of color clocks.PAGE G-8 ABOVEhorizontaHt0080HORIZONTAL SCAN LINEThe fundamental unit of measurement of vertical distance on the screen. The scan line is formeMV}d by a single trace of the electron beam across the screen.HORIZONTAL SCROLL ENABLE BITThis is bit D6 of the ANTIC display MW}instruction which enables HORIZONTAL scrolling through the HSCROL register.HORIZONTAL SCROLLINGThis is the process of slidiMX}ng the screen window to the left or right over display memory in order to display more information than could be seen with a MY}static screen. Both coarse and fine HORIZONTAL scrolling are available.HSCROLThis is the HORIZONTAL fine scrolling registerMZ} located at $D404, containing the number of color clocks by which a line is to be HORIZONTALly scrolled.HUEThe upper nybbleM[} value of a color register's color. There are 16 possible hues ($0 to $f) which in combination with a luminance value constitM\}ute distinct colors. Examples of hues are black, red, and gold.IMMEDIATE MODEIn basic, the mode where the input line is notM]} preceded by a line number. Basic immediately executes the line.INPUT BAUD RATEFor cassette I/O, this is assumed to be a noM^}minal 600 baud (physical bits per second). However, this rate is adjusted by SIO to account for drive motor variations, stretM_}ched tape, etc.PAGE G-9 ABOVEr second). However, this rate is adjusted by SIO to account for drive motor variations, stretL 0080INPUT LINE BUFFERIn basic, from $580 to $5FF.INTER-RECORD GAPFor cassette I/O records, this consists of the postQa}-record gap of a given record followed by the pre-record write tone of the next record.I/OINPUT/OUTPUT.IOCBAcronym for INQb}PUT/OUTPUT CONTROL BLOCK. There are eight of these whose function is to communicate between the user program and CIO.IRQMasQc}kable (can be enabled or disabled by the 6502) interrupts such as the break key IRQ.IRQENThe write-only register that contaQd}ins the IRQ enable/disable bits. IRQEN is shadowed at POKMSK.KERNELA primitive software/hardware technique which consists oQe}f a 6502 program loop which is precisely timed to the display cycle of the television set. The kernel code monitors the vcounQf}t register and consults a table of screen changes catalogued as a function of vcount values so that the 6502 can arbitrarily Qg}control all graphics values for the entire screen.LINEIn basic, a line consists of one or more basic statements preceded eiQq}b%DOS SYSbC)AUTORUN SYSb lRAMDISK COMbuDERE195 bDERE196 bDERE197 bDERE198 bDERE199 bDERE200 bDERE201 b DERE202 b DERE203 b DERE204 b DERE205 b !DERE206 b ,DERE207 b 7DERE208 b CDERE209 b LDERE210 b UDERE211 b `DERE212 b rDERE213 b ~DERE214 b DERE215 b DERE216 b DERE217 b DERE218 b DERE219 b DERE220 b DERE221 b DERE222 b DERE223 bDERE224 bDERE225 b DERE226 bDERE227 b DERE228 bDERE229 b#MISSINGPGESther by a line number in the range of 0 to 32767, or an immediate mode line with no line number.PAGE G-10 ABOVEpreceded eiPr0080LOMEMIn basic, this is the pointer ([80,81] decimal) to a buffer used to tokenize one line of code. The buffer is Us}256 bytes long, residing at the end of the operating system's allocated ram.LSIAcronym for large scale integration. This reUt}fers to a technology for manufacturing silicon chips. LSI chips are the largest and most powerful chips in mass production; tUu}hey contain many thousands of components.LUMINANCEThe lower nybble of a color register's color. There are eight even-numberUv}ed values for luminance ($0 to $f, even values only) which in combination with hue values produce the 128 colors available onUw} the atari 400/800 computer.MAP MODEThis is a specific type of antic display mode using simple colored screen pixels insteaUx}d of characters for the screen display. There are eight antic map modes, with varying degrees of resolution. Six of these areUy} callable from basic.MARKFor cassette I/O, this is a 5327-HZ frequency.MARKER CHARACTERFor cassette I/O, this is a 55 (heUz}x) value whose purpose is for adjusting the baud rate. Including the start and stop bits, each marker character is 10 bits loU{}ng.MEMTOPIn basic, a pointer ([90,91] decimal) to the top of application ram, the end of the user program. Program expansiU|}on can occur from this point to the end of free ram, which is defined by the start of the display list. This MEMTOP is not thU}}e same as the OS variable called MEMTOP.PAGE G-11 ABOVE is defined by the start of the display list. This MEMTOP is not thT:0080MISSILEA one dimensional image in ram used in player-missile graphics which is 2 bits wide. There is a maximum of Y}four missiles for each player.MODE LINEA collection of HORIZONTAL scan lines for screen displays. Depending upon the basic Y}or antic display mode in effect, a mode line will be composed of varying numbers of scan lines. By the same token, depending Y}upon the display mode, a screen image will be composed of varying numbers of mode lines.MONITORA program in rom that handleY}s both the system power-up and system reset sequences.NARROW PLAYFIELDA screen display width option equal to a width of 128Y} color clocks.NMINON-MASKABLE INTERRUPT (i.e., cannot be disabled by the 6502). The display list interrupt and the verticalY} blank interrupt are both NMI's. These can be disabled with the ANTIC NMIEN register.NMIENThe non-maskable interrupt enableY} register which controls enabling of various nmi interrupts such as the display list interrupt (dli).NORMAL IRG MODEIn cassY}ette I/O, this is a mode where the tape always comes to a stop after each record is read. If the computer stops the tape and Y}gets its processing done fast enough, then the next read may occur so quickly that the cassette deck may see only a slight diY}p in the control line.NORMAL PLAYFIELDA screen display width option equal to a width of 160 color clocks.PAGE G-12 ABOVEX}0080OPERATORIn basic, any one of the 46 tokens that in some way move or modify the values that follow them.OPERATOR S]}TACKIn basic, a software stack where operators are placed when an arithmetic basic expression is being evaluated.OVERSCANT]}he "spreading out" of a television image by the raster scan method of display so that the edges of the picture are off the ed]}ge of the television tube. This guarantees no unsightly borders in the television picture.PIAAcronym for peripheral interfa]}ce adaptor. This is an LSI chip which interfaces the 6502 with external devices. The joystick pins of the four user ports are]} connected to a pia inside the computer.PIXELThe smallest screen graphics unit addressable in a particular display mode. It]} is a square whose size depends on the display mode.PLAYERA one-dimensional ram image used in player-missile graphics which]} can be 128 bytes (double-line resolution) or 256 bytes (single-line resolution) long. The player appears as a vertical band ]}8 pixels wide stretching from the top of the screen to the bottom. There is a maxium of four independent players.PLAYER COLO]}RThe color of a player in player-missile graphics. Each of the four independent players has its own color stored in its asso]}ciated color register.PAGE G-13 ABOVEe graphics. Each of the four independent players has its own color stored in its asso\(0080PLAYER-MISSILE AREAA RAM area that contains the images of the four players and four missiles of player-missile graa}phics, as well as some extra ram. The player-missile area must be on a 1k boundry for single-line resolution players or a 2k a}boundry for double-line resolution players.PLAYER-MISSILE GRAPHICSAtari's solution for simplifying animation by creating ana} image (a player or missile) which is one-dimensional in ram but two-dimensional on the screen.PLAYFIELDThe area of the scra}een which directly overlays the background of the screen. Map graphics and/or text form this playfield.PLAYFIELD ANIMATIONTa}he technique of animation an object by moving its image bytes to new locations in screen memory, and then erasing the bytes oa}f the old image before displaying the new image.PMBASA register that points to the beginning of the player-missile area.POa}KEYA digital I/O chip that handles the serial I/O bus, audio generation, keyboard scan, and random number generation. POKEY a}also digitizes the resistive paddle inputs and controls maskable interrupt (IRQ) requests.POKEY TIMERSThese are hardware tia}mers within POKEY. Unlike system timers, which are maintained by the os software and are fixed, the POKEY chip timers are cloa}cked by frequencies set by the user.POST-RECORD GAPA pure mark tone frequency used as a post-record delimiter in cassette Ia}/O.PAGE G-14 ABOVEet by the user.POST-RECORD GAPA pure mark tone frequency used as a post-record delimiter in cassette I`0080PRE-RECORD WRITE TONEa pure mark tone frequency used as a pre-record delimiter in cassette I/O.PRIMARY SIGNALThie}s contians the luminance information-- brightness data, horizonal and vertical syncs and blanks-- of modulated television sige}nal.PRIORTY- CONTROL REGISTERAlso known as prior, and shadowed at GPRIOR. This register specifies which playfield, player, e}or background images have priorty in the case of images overlaps during the screen display process.RAM VECTORAlterable syste}em vector that contains 2- byte addresses to system routines, handler entry pointers, or to initialization routines. RAM vecte}ors are initialized at power- up and system reset.RASTER SCANA television display system that uses as electron beam generate}ed at the rear of the television tube. The beam sweeps across the screen in a regular left-to-right, top-to-bottom fashion.Re}ECORDFor diskette I/O, a group of bytes delimited by EOLS ($9B). For cassette I/O,this group of 132 bytes which composed of e}two marker characters for cassette speed measurement, a control byte, 128 data bytes, and the checksum byte.RESIDENT DISK HAe}NDLERThe fundamental softwear in the OS ROM containing the absolutely essenial disk handler routines. This softwear performse} five important low-level disk I/O functions such as format, read sector, write sector, write/verify sector, and status.PAGe}E G-15 ABOVEnt low-level disk I/O functions such as format, read sector, write sector, write/verify sector, and status.PAGd 0080ROM VECTORUnalterable system vector that contains jmp instructions to system routines. The rom vector allows a proi}garmmer to write softwear that uses the os routines without running the risk of the routines being made unworkable by new reli}eases of the os rom.RTCLOKOne of the system timers which is 3 bytes in length and is updated during immediate vblank. RTCLOi}K can be used as a reference clock for an application programRUNSTKIn basic, a pointer ([8E,8F] decimal) to the run time sti}ack.RUN TIME STACKIn basic, a software stack that contains gosub and for/next return address entries.SCREEN MEMORYA ram ai}rea used by the 6502 to store bytes of data that will be fetched (by dma) by antic to be interpreted and eventually displayedi} as images on the screen.SECTOROn the diskette, this is a 128-byte physical area. The diskette contains 40 tracks with 18 si}ectors per track.SECTOR NUMBERA value from 1 to 719 that specifies the sector to which the file pointer is currently pointii}ng.SETVBVA system routine that sets the system timers and sets user-definable interrupt vector addresses without danger ofi} crashes due to interrupts in mid-process.PAGE G-16 ABOVE sets user-definable interrupt vector addresses without danger ofh<0080SHADOWINGA PROCESS IN WHICH VALUES ARE MOVED BETWEEN HARDWARE LOCATIONS AND RAM LOCATIONS, THEREBY ALLOWING THE PRm}OGRAM TO MONITOR THE CONTENTS OF WRITE-ONLY HARDWARE REGISTERS OR CHECK THE INPUTS FORM READ-ONLY HARDWARE REGISTERS.SHORT Im}RG MODEIN CASSETTE I/O, THIS MEANS THE TAPE IS NOT STOPPED BETWEEN RECORDS. THE BASIC COMMANDS "CSAVE" AND "CLOAD" BOTH SPECm}IFY THIS MODE.SINGLE-LINE RESOLUTIONA UNIT OF VERTICAL RESOLUTION FOR A PLAYER IN PLAYER-MISSILE GRAPHICS. EACH PLAYER BYTEm} OCCUPIES ONE HORIZONTAL SCAN LINE ON THE SCREEN, AND EACH PLAYER TABLE IS 256 BYTES LONG.SIOSERIAL I/O SYSTEM ROUTINE WHICm}H HANDLES COMMUNICATIONS BETWEEN THE SERIAL DEVICE HANDLERS IN THE COMPUTER AND DEVICES ON THE SERIAL BUS (CASSETTE, PRINTER,m} DISK DRIVE, AND RS-232).SIO INTERRUPTSTHESE ARE THREE IRQ INTERRUPTS USED BY SIO TO SEND AND RECIEVE SERIAL BUS COMMUNICATm}IONS TO SERIAL BUS DEVICES. THESE THREE ARE VSERIR (TRANSMISSION FINISHED).SOUND REGISTERAUDIO-PRODUCING HARDWARE IN THE ATm}ARI HOME COMPUTER SYSTEM WHICH CONTAINS FREQUENCY, VOLUME, AND DISTORTION INFORMATION, BUT NOT DURATION.SPACEFOR CASSETTE Im}/O, THIS IS A 3995-HZ FREQUENCY OUTPUT TO THE CASSETTE TAPE AS A DELIMITER IN CONJUNCTION WITH MARK TONES.STARPIN BASIC, THm}E POINTER ([8C,8D] DECIMAL) TO THE STRING ARRAY AREA.PAGE G-17 ABOVETER IN CONJUNCTION WITH MARK TONES.STARPIN BASIC, THlG0080STATEMENTIN BASIC, THIS IS A COMPLETE "SENTENCE" OF TOKENS THAT CAUSES BASIC TO PERFORM SOME MEANINGFUL TASK. IN Lq}IST FORM, STATEMENTS ARE SEPARATED BY COLONS.STATEMENT TABLEIN BASIC, THIS IS A BLOCK OF DATA THAT INCLUDES ALL THE LINES Oq}F CODE THAT HAVE BEEN ENTERED BY THE USER AND TOKENIZED BY BASIC. THIS TABLE ALSO INCLUDES THE IMMEDIATE MODE LINE.STMCURINq} BASIC, THE POINTER ([8A,8B] DECIMAL) TO THE CURRENT BASIC STATEMENT.STMTABIN BASIC, THIS IS THE POINTER ([88,89] DECIMAL) q}TO THE STATEMENT TABLE.STRING ARRAY AREAIN BASIC, THIS BLOCK CONTAINS ALL THE STRING AND ARRAY DATA.SYNC MARKTHIS IS A 39q}95-HZ SPACE FREQUENCY USED AS A SORT OF "END-OF-RECORD" MARKER FOR AUDIO TRACKS ON THE CASSETTE. IN APPLICATIONS SOFTWARE IT q}IS USEFUL FOR SYNCHRONIZING THE COMPUTER SCREEN DISPLAY WITH CASSETTE AUDIO.SYSTEM DATABASETHIS IS AN AREA THAT OCCUPIES RAq}M PAGES 0 THROUGH 4, CONTAINING MANY LOCATIONS THAT STORE INFORMATION OF IMPORTANCE TO THE OPERATING SYSTEM.SYSTEM TIMERA Tq}IMER PROVIDED BY THE ATARI 400/800 COMPUTERS THAT RUNS AT THE FREQUENCY OF THE TELEVISION FRAME WHICH FOR NORTH AMERICAN TELIq}VISIONS (NTSC) IS 59.923334 HZ. EUROPEAN (PAL) TELEVISIONS RUN AT 50 HZ. THERE ARE SIX SYSTEM TIMERS, AND THEY ARE CLOCKED ASq} PART OF THE VERTICAL BLANK PROCESS.PAGE G-18 ABOVEIONS RUN AT 50 HZ. THERE ARE SIX SYSTEM TIMERS, AND THEY ARE CLOCKED ASp60080TELEVISION ARTIFACTA PIXEL ON AN NTSC SCREEN, ONE COLOR CLOCK WIDE, THAT CONTAINS COLOR NOT ASSIGNED BY THE COMPUTu}ER. THIS COLOR IS DERIVED FROM INTERNAL ODDITIES OF COLOR TELEVISION DISPLAYS. ARTIFACTING IS POSSIBLE IN ANTIC MODES 2, 3, Au}ND 15 WHICH CORRESPOND TO BASIC MODES 0, NO MODE, AND 8.TEXT WINDOWON A SCREEN DISPLAY. THIS IS A TWO-DIMENSIONAL AREA SET u}ASIDE FOR CHARACTER DISPLAYS.TOKENIN BASIC, AN 8-BIT BYTE CONTAINING A PARTICULAR EXECUTION CODE.TOKENIZINGIN BASIC, THISu} IS THE PROCESS OF GETTING A LINE OF ATASC11 CHARACTER INPUT AND CREATING A SERIES OF 8-BIT BYTES WHICH CONTAIN TOKENS, MEANIu}NGFUL EXECUTION CODES.VARIABLEIN BASIC, A TOKEN THAT IS AN INDIRECT POINTER TO AN ENTRIES IN VARIABLE TABLES THAT CONTAIN Tu}HE VARIABLE NAME AND THE VARIABLE VALUE.VARIABLE NAME TABLEIN BASIC, THIS IS THE TABLE CONTAINING A LIST OF ALL THE VARIABLu}ES NAMES THAT HAVE BEEN ENTERED IN A PROGRAM.VARIABLE VALUE TABLEIN BASIC, THIS TABLE CONTAINS THE NUMERICAL VALUE OF EACH u}VARIABLE.VBREAKTHIS IS THE 6502 BRK INSTRUCTION IRQ VECTOR. WHENEVER A $00 OPCODE (THE SOFTWARE BREAK INSTRUCTION) IS EXECUu}TED, THIS INTERRUPT OCCURS. VBREAK NORMALLY POINTS TO AN RTI INSTRUCTION.PAGE G-19 ABOVEFTWARE BREAK INSTRUCTION) IS EXECUt[0080VCOUNT REGISTERTHE ANTIC REGISTER WHICH KEEPS TRACK OF WHICH HORIZONTAL SCAN LINE ANTIC IS DISPLAYING.VDSLSTTHISy} IS THE DISPLAY LIST INTERRUPT NMI VECTOR LOCATED AT [$0200,$0201].VERTICAL BLANKTHE PERIOD DURING WHICH THE ELECTRON BEAM y}(AS IT DRAWS THE SCREEN IMAGE) RETURNS FROM THE BOTTOM OF THE SCREEN TO THE TOP. THIS PERIOD IS ABOUT 1400 MICROSECONDS IN DUy}RATION.VERTICAL BLANK INTERRUPTA NON-MASKABLE INTERRUPT WHICH OCCURS EVERY 60TH OF A SECOND DURING THE VERTICAL BLANK TIME y}OF THE TELEVISION DISPLAY. IN RESPONDING TO THIS INTERRUPT, THE OS PERFORMS VARIOUS HOUSEKEEPING FUNCTIONS SUCH AS SHADOWING y}COLOR REGISTERS.VERTICAL SCROLL ENABLE BITTHIS IS BIT D5 OF THE ANTIC DISPLAY LIST INSTRUCTION BYTE WHICH ENABLES VERTICAL y}FINE SCROLLING THROUGH VSCROL ($D405), THE VERTICAL FINE SCROLL REGISTER.VERTICAL SCROLLINGTHE PROCESS OF VERTICALLY "ROLLIy}NG" THE DISPLAY SCREEN "WINDOW" OVER A LARGER AMOUNT OF SCREEN DATA IN DISPLAY MEMORY THAN CAN BE DISPLAYED BY A STATIC SCREEy}N WINDOW. BOTH COARSE AND FINE VERTICAL SCROLLING ARE AVAILABLE ON THE ATARI 400/800 COMPUTERS.VIMIRQTHIS IS THE IMMEDIATE y}IRQ VECTOR. ALL IRQ'S VECTOR THROUGH THIS LOCATION. VIMIRQ NORMALLY POINTS TO THE IRQ HANDLER. THIS VECTOR CAN BE "STOLEN" TOy} DO USER IRQ PROCESSING.PAGE G-20 ABOVELOCATION. VIMIRQ NORMALLY POINTS TO THE IRQ HANDLER. THIS VECTOR CAN BE "STOLEN" TOx*0080VINTERTHIS IS THE PERIPHERAL INTERRUPT IRQ VECTOR. THE INTERRUPT LINE IS ALSO AVAILABLE ON THE SERIAL BUS. VINTER }}NORMALLY POINTS TO AN RTI INSTRUCTION.VKEYBDTHIS IS THE KEYBOARD IRQ VECTOR WHICH IS ACTIVATED BY PRESSING ANY KEY EXCEPT B}}REAK. THIS VECTOR NORMALLY POINTS TO THE OS'S OWN KEYBOARD IRQ ROUTINE.VNTDIN BASIC, THIS IS THE POINTER ([84,85] DECIMAL) }}TO THE VARIABLE NAME TABLE DUMMY END. BASIC USES THIS POINTER TO INDICATE THE END OF THE NAME TABLE. THIS POINTER NORMALLY PO}}INTS TO A DUMMY ZERO BYTE WHEN THERE ARE LESS THAN 128 VARIABLES. WHEN 128 VARIABLES ARE PRESENT, THIS POINTS TO THE LAST BYT}}E OF THE LAST VARIABLE NAME.VNTPIN BASIC, THE POINTER ([82,83] DECIMAL) TO THE VARIABLE NAME TABLE.VPRCEDTHIS IS THE PERI}}PHERAL PROCEED IRQ VECTOR. THE PROCEED LINE IS AVAILABLE TO PERIPHERALS ON THE SERIAL BUS. THIS IRQ IS UNUSED AT THE PRESENT }}AND NORMALLY POINTS TO AN RTI INSTRUCTION.VSCROLTHIS IS THE VERTICAL FINE SCROLL REGISTER LOCATED AT $D405. INTO VSCROL THE}} USER STUFFS THE NUMBER OF SCAN LINES BY WHICH THE SCREEN LINE IS TO BE VERTICALLY SCROLLED.VSERINTHIS IS THE POKEY SERIAL }}INPUT READY IRQ VECTOR.VSERORTHIS IS THE POKEY SERIAL OUTPUT READY IRQ VECTOR.PAGE G-21 ABOVENTHIS IS THE POKEY SERIAL |b0080VTIMR1THIS IS THE POKEY TIMER 1 IRQ VECTOR.VTIMR2THIS IS THE POKEY TIMER 2 IRQ VECTOR.VTIMR4THIS IS THE POKEY }TIMER 4 IRQ VECTOR.VVBLKDTHIS IS THE VERTICAL BLANK DEFERRED NMI INTERRUPT VECTOR LOCATED AT [$0224,$0225].VVBLKITHIS IS }THE VERTICAL BLANK IMMEDIATE NMI INTERRUPT VECTOR LOCATED AT [$0222,$0223].VVTPIN BASIC, THIS IS THE POINTER ([86,87] DECIM}AL) TO THE VARIABLE VALUE TABLE.WARMSTARTANOTHER NAME FOR SYSTEM RESET ROUTINE. THE WARMSTART INITIALIZES MOST OF THE SYSTE}M VECTORS BUT DOES NOT CHECK RAM SIZE.WIDE PLAYFIELDA SCREEN DISPLAY WIDTH OPTION EQUAL TO A WIDTH OF 192 COLOR CLOCKS.WSY}NCWAIT FOR HORIZONTAL SYNC OF THE ELECTRON BEAM WHICH IS DRAWING THE SCREEN IMAGE. THE WSYNC REGISTER, WHEN WRITTEN TO IN AN}Y WAY, PULLS DOWN THE RDY LINE ON THE 6502 MICROPROCESSOR, FREEZING THE 6502 UNTIL THE ELECTRON BEAM DRAWING THE SCREEN IMAGE} RETURNS TO THE LEFT EDGE OF THE SCREEN.PAGE G-22 ABOVE FREEZING THE 6502 UNTIL THE ELECTRON BEAM DRAWING THE SCREEN IMAGE:0080ZERO-PAGEIN THE ATARI HOME COMPUTER SYSTEM, THIS IS THE STRETCH OF MEMORY WHICH SPANS LOCATIONS $0000 TO $00FF.ZI}OCBZERO-PAGE I/O CONTROL BLOCK IS USED TO COMMUNICATE I/O CONTROL DATA BETWEEN CIO AND THE DEVICE HANDLERS.PAGE G-23 ABOVE}CBZERO-PAGE I/O CONTROL BLOCK IS USED TO COMMUNICATE I/O CONTROL DATA BETWEEN CIO AND THE DEVICE HANDLERS.PAGE G-23 ABOVE0080ATARI PROGRAM EXCHANGEPO BOX 3705 SANTA CLARA CA 95055REVIEW FORMWE'RE INTERESTED IN YOUR EXPERIENCES WITH APX} PROGRAMS AND DOCUMENTATION, BOTH FAVORABLE AND UNFAVORABLE. MANY OF OUR AUTHORS ARE EAGER TO IMPROVE THEIR PROGRAMS IF THEY }KNOW WHAT YOU WANT. AND, OF COURSE, WE WANT TO KNOW ABOUT ANY BUGS THAT SLIPPED BY US, SO THAT THE AUTHOR CAN FIX THEM. WE AL}SO WANT TO KNOW WHETHER OUR INSTRUCTIONS ARE MEETING YOUR NEEDS. YOU ARE OUR BEST SOURCE FOR SUGGESTING IMPROVEMENTS! PLEASE }HELP US BY TAKING A MOMENT TO FILL IN THIS REVIEW SHEET. FOLD THE SHEET IN THIRDS AND SEAL IT SO THAT THE ADDRESS ON THE BOTT}OM OF THE BACK BECOMES THE ENVELOPE FRONT. THANK YOU FOR HELPING US!1. NAME AND APX NUMBER OF PROGRAM.2. IF YOU HAVE PROBLE}MS USING THE PROGRAM, PLEASE DESCRIBE THEM HERE.3. WHAT DO YOU ESPECIALLY LIKE ABOUT THIS PROGRAM?4. WHAT DO YOU THINK THE }PROGRAM'S WEAKNESSES ARE?5. HOW CAN THE CATALOG DESCRIPTION BE MORE ACCURATE OR COMPREHENSIVE?6. ON A SCALE OF 1 TO 10. 1 B}EING "POOR" AND 10 BEING "EXCELLENT". PLEASE RATE THE FOLLOWING ASPECTS OF THIS PROGRAM:EASY TO USEUSER-ORIENTED (E.G. MENU}S, PROMPTS, CLEAR LANGUAGE)ENJOYABLESELF-INSTRUCTIVEUSEFUL (NON-GAME PROGRAMS)IMAGINATIVE GRAPHICS AND SOUNDD (E.G. MENUq00807. DESCRIBE ANY TECHNICAL ERRORS YOU FIND IN THE USER INSTRUCTIONS (PLEASE GIVE PAGE NUMBERS).8. WHAT DID YOU ESPE}CIALLY LIKE ABOUT THE USER INSTRUCTIONS?9. WHAT REVISION OR ADDITIONS WOULD IMPROVE THESE INSTRUCTIONS?10. ON A SCALE OF 1 }TO 10. 1 REPRESENTING "POOR" AND 10 REPRESENTING "EXCELLENT", HOW WOULD YOU RATE THE USER INSTRUCTIONS AND WHY?11. OTHER COM}MENTS ABOUT THE PROGRAM OR THE USER INSTRUCTIONS:FROM NAME & ADDRESS ETC STAMPATARI PROGRAM EXCHANGEPO BOX 3705SA}NTA CLARA, CA 95055SEAL HERESER INSTRUCTIONS:FROM NAME & ADDRESS ETC STAMPATARI PROGRAM EXCHANGEPO BOX 3705SA 0080USEFUL OS EQUATESLABEL: ADDRESS: DESCRIPTION:PAGE ZERODOSVEC 0A DOS VECTORDOSINI 0C WARM START ADD}RESSRTCLOK 12 REAL-TIME CLOCK, 3 BYTESATTRACT 4D ATTRACT MODE FLAGDRKMSK 4E DARK MASK FOR ATTRACTCOLRSH } 4F SCRAMBLES COLOR FOR ATTRACTSAVMSC 58 POINTS TO BEGINNING OF SCREEN DATAVDSLST 200 DISPLAY LIST INTERRUP}T VECTORVPRCED 202 PROCEED LINE IRQ VECTORVINTER 204 INTERRUPT LINE IRQ VECTORVBREAK 206 SOFTWARE BREAK (00 }) IRQ VECTORVKEYBD 208 KEYBOARD IRQ VECTORVVBLKI 222 IMMEDIATE VBLANK INTERRUPT VECTORVVBLKD 224 DEFERRED V }BLANK INTERRUPT VECTORROM VECTORSEDITRV E400 E: DEVICE HANDLERSCRENV E410 S: DEVICE HANDLERKEYBDV E420 K: DE }VICE HANDLERPRINTV E430 P: DIVICE HANDLERCASETV E440 C: DEVICE HANDLERDISKIV E450 D: INITIALIZATIONDISKINV E }453 DISK INTERFACECIOV E456 CENTRAL INPUT-OUTPUT VECTORSIOV E459 SERIAL INPUT-OUTPUT VECTORSETBV E45C R }OUTINE FOR SETTING VECTORSSYSVBV E45F VERTICAL BLANK ROUTINE VECTORXITVBV E462 EXIT VERTICAL BLANK ROUTINESSIOINV } E465 SERIAL INPUT-OUTPUT INITIALIZATIONSENDEV E468 SEND ENABLE ROUTINESINTINV E46B INTERRUPT HANDLER INITIALIZA}TIONCIOINV E46E CIO INITIALIZATIONBLKBDV E471 BLACKBOARD MODE (MEMO PAD)WARMSV E474 WARM START ENTRY POINTCOL}DSV E477 COLD START ENTRY POINTRBLOKV E47A CASSETTE READ BLOCK VECTORCSOPIV E47D CASSETTE OPEN FOR INPUT VECTOR}SV E477 COLD START ENTRY POINTRBLOKV E47A CASSETTE READ BLOCK VECTORCSOPIV E47D CASSETTE OPEN FOR INPUT VECTOR0080IOCB STRUCTURERELATIVE ADDRESS: LABEL: DESCRIPTION: SET BY: 0 ICHID HANDLER } CIO ON OPEN 1 ICDNO DEVICE NUMBER CIO ON OPEN 2 ICCMD I/O COMMAND BYTE } USER 3 ICSTA STATUS (ERRORS) CIO ON RETURN 4 ICBAL BUFFER ADDRESS (LOW) } USER 5 ICBAH BUFFER ADDRESS (HIGH) USER 6 ICPTL PUT CHARACTER POINTER CIO 7 IC}PTH PUT CHARACTER POINTER CIO 8 ICBLL BUFFER LENGTH/BYTE COUNT USER/CIO 9 ICBLH }BUFFER LENGTH/BYTE COUNT USER/CIO A ICAX1 D2=READ, D3=WRITE ON OPEN USER B ICAX2 AUXILL}IARY INFORMATION USERC-F ICAX3-ICAX6 AUXILLIARY INFORMATION CIO ANTIC MODESA O D S C P B} # BN S I C O I Y YT S A L X T O TI M P N O E E F ET O} L R L S S D A L S / C /M E Y I C / L O SO N L} L I L CD # T E O I N O RE Y C N E R E P K E } E E N2 0 CHAR 8 4 40 40 2.5 9603 - CHAR 10 4 40 40 2.5 8004 - C}HAR 8 4 40 40 5 9605 - CHAR 16 4 40 40 5 4806 1 CHAR 8 8 20 20 5 4807 2 CHAR 16 8} 20 20 5 2408 3 MAP 8 4 40 10 4 2409 4 MAP 4 2 80 10 2 480A 5 MAP 4 2 80 20 } 4 960B 6 MAP 2 1 160 20 2 1920C - MAP 1 1 160 20 2 3840D 7 MAP 2 1 160 40 4 3840 }E - MAP 1 1 160 40 4 7680F 5 MAP 1 1/2 320 40 2 7680HIGH ORDER INSTRUCTION BITS:D7: DISPLAY LIST !}INTERRUPTD6: LOAD MEMORY SCAN REGISTERD5: VERTICAL SCROLL ENABLED4: HORIZONTAL SCROLL ENABLESPECIAL INSTRUCTION CODES00"}-70 BLANK 1 THROUGH 7 SCAN LINES01 JMP: JUMP (OVER 1K BOUNDRY)41 JVB: JUMP AND WAIT FOR VBLANKL INSTRUCTION CODES00g0080FINAL NOTE FROM ED:- THERE ARE SOME DRAWINGS MISSING FROM THIS TYPED ITEM AND SO TO COMPLETE THIS BOOK YOU MUST HAV$}E THE DRAWINGS. ASK A FRIEND TO COPY THEM FOR YOU, ETC. IT IS RECCOMMENDED THAT YOU OBTAIN THE DRAWINGS AS THEY WILL OFTEN TH%}ROW LIGHT ON TO WHAT MAY SEEM A DULL SUBJECT.ALL THE DRAWINGS CONTAIN SOME TEXT AND IN A FEW OF THEM THE TEXT IS SUBSTANTIAL&}, HENCE THE RECCOMMENDATION TO AQUIRE THEM.A REASONABLE REPRESENTATION OF SOME OF THE DRAWINGS HAS BEEN MADE AND INCLUDED HE'}REIN, THE REMAINDER PROVED JUST TOO DIFFICULT.THE PAGE NUMBERS THAT ARE MISSING NOW FOLLOWS. EACH PAIR OF NUMBERS/LETTERS BE(}LONG TO ONE PAGE ONLY AND DO NOT REPRESENT MORE THAN ONE PAGE.5-10, 6-7, 7-15, 8-4, 8-5, 8-6, 8-7, 8-23, 8-26, 8-28, 8-29, C)}-13, AND FINALLY THE VERY LAST TWO PAGES I THINK ARE CALLED THE PROGRAMMERS CARDS.TOTAL NUMBER OF PAGES REQUIRED=14 MINIMUM,*} THE REST ARE DRAWN BUT FOR A BETTER JOB YOU REALLY NEED THE REAL THING. BYE BYE FROM EDITOR TORPEDO.RED=14 MINIMUM,n/