@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@P!( 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`  `8  ɐ     `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.D8:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D8: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 } 3E:}DISK OPERATING SYSTEM II VERSION COPYRIGHT 1984 ATARI CORP.A. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDG*}E J. DUPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRES+}SF. LOCK FILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES P. FORMAT SINGLEL !N',}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }Insert DOS 2.0s, type Y Λx -}DEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!NO SUCH ITEMSELECT.} ITEM OR FOR MENU! 0 .z:*{}.|{ 1 0 0JB 18L%|DL/}%DIRECTORY--SEARCH SPEC,LIST FILE?[# 0 0 &|D3" 1L!NOT A DISK FILEN !B 1L!E# 1 !BD0}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0.1}  0?詛 1 y0YЛ 1 ;#L" ;#L! BL1TYPE "Y" TO DELETE...DELETE FILE SPEC2}COPY--FROM, TO?OPTION NOT ALLOWED* DISKFIX COM 057 COPYING---D1:DISKFIX.COMl# 0|D .L/%#3}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SY4}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E 5}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!WILD CARDS NOT A6}LLOWED IN DESTINATION 0 <.|K}N 2 FORMAT. t* 5) 1L!`) 0NΞ 0 L1) 1 L!BAD LOAD FILELOAD FROM WHAT FILE?) 0 ?}0#B 1L!WHAT FILE TO LOCK?) 0 0$B 1L!WHAT FILE TO UNLOCK?DUP DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO US@}E PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV.FE! +L1   `*  70 2 2A} 0.* 1 y0 0)INSERT BOTH DISKS, TYPE RETURN^, 1 y038逍 N, 1L! ,B}C, t*  Lx+, 0 ^, 1 y0 , ,0,0 ,L+ ,I0 ,Vǭ0C}Ξ, 0 }, 1 y0C,ШC, 0K'!" H H 'h h Lx+!EF 5L1L!D,I,HhD}` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNINSERT DESTINATION DISK,TYPE RETURNE}`  `8 rL1`-* 1P* 1 y0Y`hhL!NAME OF FILE TO MOVE?- 0 0|DL% <.F},^ 1 70 0 .@L# .BJ 1  DEHIB V L1 ,} 1 70,L.  G}JB|,#P#DE 1 HI BDEHHII 1 B 1 ,^ 1 70,0La- B V,#PH},^ 1 70 0L#L!-* 1P* 1 y0Yj383}mm ݭI}}`8}``|* ? ɛ,`|:-)| / 1L!`DESTINATION CANT BE DOJ}S.SYS0 0H{ 24Δ 28/L!/) 2 Π 2 0 ξK}hAΞB,0 J 1 BDEHI,HÝDE 1HIHIDELSAVE-GIVE L}FILE,START,END(,INIT,RUN)O S0 1`BDEPHI V` S0H 1 L!M}0 0 1L~0`PLEASE TYPE 1 LETTER,0`hhL! 70 1L0L<1 ,;ɛ7,"ɛ:ݦ1ݥN}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{NAMEO} TOO LONG B VL!` L1I H1EΝDL1|mDiE` V0`8d/8 i:222 1 LP}!ERROR- 128ɛ+,' 20*.. өr2 1``2TOO MANY DIGITSINVALID HEXAQ}DECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8uR} ECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8uEiͩkΩ͙kCopfj`j {j`Hi͝Νh`T}L"M:D" NUR:"";6#?:7,6.SOP:"FO";6#?:6,8.SOP:"KOOB TSRIF";6#?:5,4.SOP:"S'!ETUPMOC";6# ?:4,4.SOP:81.RGs MXXX1SRCCFPBTBBT@(TLB@@@A @ V} @ @ @ @@@d??** ATARI MENU SYSTEM BY ** by Mike Iresonnb W}@@'@@836-@V;@ ,;@ ,;A,b6-Bx +'0@@ X}@A0@@@[0@@@mAR@y6-@6-@XX(& Y}&| Compute!'s First Book |9/(&9 Apg Z}-@@.(Please Stand By....@-@@!g(! šӠԠˠƠx6.D :*.**67@ [}<@,.=:,4 ApF@ec@@g n6.x Ah -@@?( DR \}IVE NUMBER  NOT ON SYSTEMJ@T A^ A@h A`8 A@.67B:,%@,.8 A ]}a @$@e@/6-+B:,,M6-A:7&@<&@,,a6-P:B:,'@,(6-'@"P: ^},(6-%@6 6-P:,6-@6-*!@66-@"@6-+&,'@6-%@IF BT<>INT(BT) THEN BT=I _}NT(BT)+1] 6-P:, A0"6-@4-@@<-J(>:AW,V @](0j.(7+$@,&@ `}<$@,||@6-&+&@,H%!`( |j Ap% @(033(%7++%,$ a}@,&@<+%,$@,b  A`#-@@:(TOTAL PROGRAMS L-@!@b(FREE SECTORS b} ?-@@!(D:# 3-@3@?(PG# "I Ap-@@!I($PROGRAM (#) (D)ISK (P c})AGE (N)EW DISK,S-@@/(SELECTION A-@#@SAdAU6"4 A" d} A@:&7@<@,4P*!@0 A: A J07@<@,4D& A@0 A T$$7@ e}<@,4NA ^2 Ap6-A:, 2 @)!Aph0&6.7$@&@<$@,0 Ar f}  A A|] 6.D :'67@<@,.=:,;-@@I6-@:7<,,]"@2A, g}"@ ,67B:,%@,.>:@F,67B:,%@,.>:,  A7@,4DOS.SYS.I Ap- h}@@3(LOADING PROGRAME-@@I(>-@@!>(# STARFLEET MENU by Mike Ireson G i}AP@@1@@9CARG%f  Ap#@@5@@8GAR j}@b7@ <@,4LSTf!7@ <@,4BIN!.L  A#-@@6(UNABLE TO k}LOADH-@@L(A-@@A(&/ A!-@A l}% / A 0@@@70@@@Q0@@@s2@A@@ m}-@A 0@@@70@@@Q0@@@s2@A n}@@-@A v%2@?0@@@Y0@@@ o}s0@@@v$4-@#-@@0(>:AV,4 A-@@A(& p}&B-@@?($ B$0`"-@@&F:@ q},Y(>:AW,&| |] `$:j-@@ j(& r}&| |D2/(&2$N+ "6-@!6-@ s}+ AX)6-+@"$,%@)6-%@b "6-l 6-$@"v$C-@@!C( t} CURRENT DRIVE NUMBER IS #  A-@@/(NEW DRIVE # A-@%@4AdAU u} 4* A4 APD AP6-A:, 0 @)!@: AD AP$Q A0 A` v})-@@=-@@J(>:AW,N Q$ D:M@: AD AP$Q A0 A` I  ADDRESLNUAB'h CMPT1 ##PROGRAM TO PRINT LINE NUMBERSAND THIER ADDRESSES(Gx}et address of first line2%%6-F:A6,%F:A7,$AV<Get the line numberF!!6-F:,%F:%@,$AVPy}Test for end of programZ"B'hd##Print line number and addressn(LINE #x( STARTS AT ADDRESS z}Get address of next line6-%F:%@, @p D:P32n(LINE #x( STARTS AT ADDRESS LBASAv@Ud!!PROGRAM TO PRINT THE TOKENSn!!WHICH BEGIN BASIC STATMENTSx""Get the begi|}nning of program%%6-F:A6,%F:A7,$AV Change statment terminator%@@"(>:A%,}}CLEAR SCREENPRINT TOKENS-@T#@#%@ %@Pr~}int tokenUndo line feed if needed!@(>:@(,$$Change left margin for columns3"@!@}@3-@@3"@9!@@$3-@$@  Put program back to normal"#}@#%@,%@AU6'@@'-@@" D:P33back to normal"#jKZBASAv@Ad%%6-F:A6,%F:A7,$AVnChange beginning tokenx+%@@}T+%@@"((Print operator and function tokens >:A%,-@ @ %@}Undo line feeds+(>:@(,"@"+(>:@(,3"@9!@@3-@@}3"@Y!@@3-@@3"@y!@@(3-@(@ #@#}%@+%@@e+%@AU'@@'-@@"D:P33II@#t>ARRAYNAMESTRINGNAMEADDRESA Awd--PROGRAM TO PRINT THE VARIABLE NAME LISTn}9@,;@,x##GET THE BEGINNING OF THE LIST%%6-F:A0,%F:A1,$AV%%(>:A%,VARIABLE NAM}E LIST$$GET CHARACTER AND TEST FOR END 6-F:,"PRINT CHARACTER! A((>:,! A}(>:&A(,!!GET NEXT ADDRESS AND REPEAT6-%@ A` D:P34! A((>:,! AZ*+DUMMYA1A2TESTLINS13S13S14S14TT@A@ApA5@0A } @4 A& @4 DIMENSION THE DUMMY STRING;@,%%DIMENSION THE ARRYS AND STRINGSWHICH W }ILL NEED CLEARING9@,9@,CLEAR THE VARIABLES16-@1# OF VARIABLES JUST DIMEMSIONED }INCLUDING DUMMY$ !!YOUR PROGRAM MAY BEGIN HEREd""HERE IS AN EXAMPLE OF HOW TOn!!USE THE UNDEMINSION ROUTINEx% };@ ,%6.I'M STILL HERE##;@,9@P<@,7 68@P<@,-@7(8@P<@,!! }EXECUTE UNDIMENSION ROUTINE6-Ap A ;@,9A,'68A,-@'(8A, }UNDIMENSION ROUTINE!!SAVE CURRENT POINTER VALUES!6-F:A6,!6-F:A7,!6-F:A@,!6-F:A }A,MOVE END OF VARIABLES+6-F:A4,%@$+6-F:A5,$+!AU6-%@+6-&AV. }A6A78MOVE BEGINNING OF ARRAYSB6-P:C:,'AV,L6-C:,&$AVVA@AA` }CLEAR THE ARRAYSj!!RESTORE POINTERS AND RETURNtA6A7~A@AA D }:P34IILEAR THE ARRAYSj!!RESTORE POINTERS AND RETURNtA6A7~A@AA D hiqK X XX1SRCCFPBTBBTABHEXTESTVARTESTVARTESTVARALENGTADDRESBYTEBYTEDUMDEHEXHEX$} $}ddeA B4VCvT2$} MEMORY ANALYSIS UTILITYby W.A. Bell May 1981*Englewood, Colorado*(&&;A,;@,;@$},26.0123456789ABCDEF<'6-A 6-B4V'6-CvT2F >:A%,Z''  ٠Ӡd$}!! ENTER S FOR DATA SEARCHn!!  D FOR MEMORY DUMPx,, $ A FOR ADDRESS POINTER SEARCH  E $} TO END4SA4DAp4AA0 4E Ap A(6-'@"$}P:,(6-%@$$ ENTER C FOR CHARACTER DATA""  D FOR DECIMAL DATA4CA`$}4DApA DUMMY LINE Ap A((  ENTER DECIMAL DATA TO SEARCH FOR IN THE FORM D1,D2,...,D$}N" END WITH A VALUE OF 999,6-6@!AUAJ6-%@T67<,.>:,^ A$}h'' ENTER CHAR STRING TO SEARCH FORr| 6-B:, A ApA7@,4DO$}S.SYS.-A@((F:,@:7@<@,,A @A-@&&F:%&@$},@:7<,,A '' >:A%,MATCH AT ADRESS = --@(- >:A8,>:A6,!! DU$}MP STARTS AT &@##-&@%@@ A  &$$ ENTER C TO CONTINUE SEARCH0  $} TO QUIT:D0C@N X DATA NOT FOUNDb @l 6-$@"v++ #ENT$}ER ADDRESS POINTER TO SEARCH FOR 6- 6-P:'AV,6-&AV$ Ap-A@$}F:,A0F:%@,A0)) POINTER MATCH AT ,%@ LOOKING FOR OTHERS $}  NONE FOUND @'' ENTER STARTING ADDRESS FOR DUMP  A $$ >:A%,DUMP STARTS AT $}*-%@@4 A > H"" ENTER C TO CONTINUE DUMPR  TO QUIT\f0$}C@p6-%@z A$" DEC $ A @ HEX -@ $}6-F:%,"A $6-P:'@,$6-&@$88 7%@<%@,7%@<%@, $} AP# @  # AP" A  " AP  $  CHAR .-$}@ 86-F:%,LD1+!@&* @2,)+!A$* A(,:  D A0V8%+!AT* A`,)!A$}R.  8 A0` >:, j t ~$((  patience - this may take a while$ ENTER H FO$}R HEX DUMP!!  D FOR DECIMAL DUMP 4H6-@$ 4D6-$ Ap A$} ԠҠ$ D:P47 4H6-@$ 4D6-$ Ap A$1/0HEXQLINEADLINENUTHISLINMAXADHEXHEXABB@@A(}@ @" @ @ @ NàŠРٛNby W.A. Bell May 1981N* Emglewood, Colorado *(}LO;@,;@,O6.0123456789ABCDEFP%%6-F:A6,%AV$F:A7,xP+' ENTER LINE NUMBER TO BE (}DUMPED+P!!6-F:,%AV$F:%@,@Q8 !.  LINE DOESN'T EXIST - TRY ANOTHER8 BQ"BR6-(}%F:%@,lR B4S22 >:A%,LINE #  START ADDRESS = SS.6-@6-@.6-%F:%@(},`T %!6-&T-&@(U-@U DECU HEXTV CHARW$6-F:%,$6-@$(}%@W 6.>:,HX$6-P:'@,$6-&@$X -Y tY-%@Y33 7%@<%@,7%@(}<%@,:A%,DUMP CONTINUES ST ADDRESS ;6-@\] B]$$ ENTER C TO DUMP MORE LINES(}$^  TO QUIT^^4CBP_ D:P49 B]$$ ENTER C TO DUMP MORE LINES(K|}- OPCODEREFNAMEREFADREFCOUNSTARTADLINEADREFLINOLDLINLINECOUNNULINBASINCLINEENSTMTSTARSTMTENOLD,}ADBASEBASEA BAy3@$@ ,}}-- >:A%, }by W. A. B,}ell May 1981 }^ Englewood, colorado ^}9@,;@,}6.REFLINE}%%6-F:A0,%AV$F:A1,#},}6--}-@@2}&&F:%&@,@:7<,,B 7} F}//6-F:A4,%AV$F:A5,%@,}$P} B! Z}6-%@_}*!A'' ̠͠*d}6-%@i}""F:&@,!A'B E,}n} B!x} #B!%}}10,12,23,24,13,4,35,27,18}-@@ }"} 68,-} }%%6-F:A6,%,}AV$F:A7,} 6-6-}6-6@6-}!!6-F:,%AV$F:%@,}!BB" ,}} B"} SEQUENCE ERROR AFTER }&@%@}}6-%F:%@,}6-%@} 6-,}} B!p} LINE SEQUENCE VALID}  LINES}% ENTER START, INCREMENT%}%$ B B"U}@=,} 5 - WILL EXCEED MAXIMUM LINE NUMBER ALLOWED@} 6-~!!6-F:,%AV$F:%@, ~!BB$p,}~6-%F:%@,~6-%@~6-%F:%@,~-&@"~F:,@B$0,~-@@ ,}1~F:&@,"8,B#%6~ ;~ B$0E~-@@J~%%@F:%,O~ T~%% LINE ,} REFERENCES LINE Y~)) B *!6@*"P:,B#U^~% ŠŠ% B$0c~ 6-6-h~!!6,}-F:,%AV$F:%@,m~"B$r~!B#w~6-%F:%@,|~6-%@~ B#`~,, $,} - REFERENCE LINE DOESN'T EXIST~~ B$0~ 6-%$~-@@~%F:%%@,~ ~ ,}~6-%@~!B$U~6-%F:,~ B"~6-%F:%@,~ B"`~ 6-~-@,}~$6-P:'AV,$6-&AV$~ ~%@~ 6-%~6-%F:%@,~ ~%% *** RENUMBER COMP,}LETE ***:END D:P50AV$~ ~%@~ 6-%~6-%F:%@,~ ~%% *** RENUMBER COMP,  %%2CHARACTETA`@ ;@0,2#@@S:2OPEN FOR R&W-@0}:A,@:Z,(*@ 2-F:@,<$-@@&$)@F67<,.>:,P Z))@0})MOVE CURSOR PAST THE Zd@n    D:P56@&$)@F67<,.>:,P Z))@0F  CHARACTE@'@ ++@@ D:TEST.DAT-@:A,@:Z,*@ 4}(@2++@@ D:TEST.DAT<-@@&F)@P >:,Z d@4}D:P56II@@ D:TEST.DAT<-@@&F)@P >:,Z d@4@@@@@@@@@ @@@@@@@@@@@ 8}@!@"@#@$@%@&@'@(@)@0@1@2@3@4@5@6@7@8@9@@@A8}@B@C@D@E@F@G@H@I@P@Q@R@S@T@U@V@W@X@Y@`@a@b8}@c@d@e@f@g@h@i@p@q@r@s@t@u@v@w@x@y@?-@8}@!@d@e@f@g@h@i@p@q@r@s@t@u@v@w@x@y@?-@8  JWTNUMBEP ;@,##@@E: @ 123,CHARACTER() <}@>:@(,)AN UP-CURSOR2@< @>:@(,F@P@Z T$=d<} NUMBER=n##^^^ JUST HIT RETURN WHEN EACHxOF THE INPUT STATMENTSEXECUTES ^^^ D:P58Z T$=d<k T @ AU ;@,6.ABCDEFGH++@@ D:TEST.DAT( @}@2@<++@@ D:TEST.DATF-@P)@Z (>:,d @}n@D:P58II@@ D:TEST.DATF-@P)@Z (>:,d @ T ;@,6. ABCDEFGHIJ##67@<@,.>:AU,(##@@D}E:-(PRINT DOES THIS2 @7((XIO 9 DOES THIS<((@ @@F@D} D:P59PRINT DOES THIS2 @7((XIO 9 DOES THIS<((@ @@F@D   +=JDTT1T2  11;@,;@,;@,;@,++@@H} D:TEST.DAT55@ @@ ABCDEFGHIJK(@2 6. XXXXXXXXXX RESET T1$<H}6.YYYYYMAKE LENGTH 5F++@@ D:TEST.DATP@Z@d(INPUT DOES THISH}n (B:,x 6. XXXXXXXXXX RESET T2$6.YYYYYMAKE LENGTH 5++@@ D:TEST.DAT((@H}@@@((XIO 5 DOES THIS (B:,67@<@,.Z (B:,H}''(NOTICE THE X ISN'T WRITTEN OVER#6.XXXX6.XXXX#6.XXX++@@ D:TEST.DAT((@H}@@@((OR XIO 5 CAN DO THIS( (( D:P60 D:TEST.DAT((@Hj78[hDADDBOMARK1ARRAY1X1TMMARK2ARRAY2X2ADARRAYAw4AAQ@L}@Af A Q  ";@,"* DUMMY STRING*%%* FIND ADDRESS OF DISPLACEMENL}T*//6-+F:A4,%F:A5,$AV,%@%%FIND BEGINNING OF ARRAY STORAGE 6-C:,(&&;@,9@,L};@#,-%%WITH 6 BYTES/ARRAY NUMBERS THIS.$$DIMENISIONS 510 BYTES OR 2*2550NOW FILL THE ARRAY2 -L}@ 68,-9 <++@@ D:TEST.DATA%%NOW WRITE THE ARRAY IN 2 BLOCKSF-@L}P 6-C:,Z An((@@@x @&&;@,9@,;@#,L}++@@ D:TEST.DATNOW READ THE ARRAY-@ 6-C:, A((@L}@@ @-@@ (8, SUBROUTINE TO FL}IX THE##DISPLACEMENT- N= BLOCK NUMBER6-&%+$AU,&P:'AV,$AV%@P:'AV,L}$ D:P62ACEMENT- N= BLOCK NUMBER6-&%+$AU,&P:'AV,$AV%@P:'AV,L<=huSAEASNWORWORDEDUMMDMYNBYTHEXCODESTORAGEPCODA72P}6@ A7 @ 0 A7 (A7Bq;@,;@, BP} INPUT STARTING ADDRESS INPUT ENDING ADDRESS#( 6. B2 6-< 6. BF P} 6-P6-?:C:,<<,Z @ 'COMPUT NBYTE FROM HEX$''6-@ B@'6-$@$'!6-@ BP}@!6-%.'$8'6-@:7<,,&@:0,B'0/7<,*7<,/9$L',A/7<,*7<,/F)6-&@,$V'&P}ERRORt'COMPUTE NWORD FROM WORD$~'26.7@<@,$ B26-$AV',6.7@<@,$ B,6P}-%'$'PUT THE CODE'"NUMBER OF BYTES'FF;@@,;@,;@,;@,9'@%@,P}' 6-C:,("(&7@<@,4.& B@ (&7@<@,4*& B(&7@<@,4+& P}B(&7@<@,4=& BP(&7@<@,4!& B(($6.7@<@,$ B2(! P}6-%@! B@<(.6.7@<@,$ B. B F(/6.7@<@,$ B/6-%C:,P(6P}-P:'AV,Z(&$AVd(6-%@ Bn($6.7@<@,$ Bx(6-C:,%&+%@,(P}!A'&( 6A(&( 6-%AV( B($6.7@<@,$ B("&C:P},$(&ERROR N 137*N.0000,4C,+0030,.JMP START4N INCPNTR>N.0003,E6,D4,. INC PNTRHN.0005,D0,=0009,.BNP}E @1RN .0007,E6,D5,. INC PNTR+1\N@1fN.0009,60,. RTSpN PRBYTEzN.000A,48,. PHAN.000B,4A,. P} LSR AN.000C,4A,. LSR AN.000D,4A,. LSR AN.000E,4A,. LSR AN!!.000F,20,+0015,.JSR PRNYBLENQ}.0012,68,. PLAN.0013,29,0F,. AND #$0FN PRBYTEN.0015,C9,0A,. CMP #$0AN.0017,30,=001B,.BMI @2NQ}.0019,69,06,. ADC #$06N@2N.001B,69,30,. ADC #$30O .001D,20,*F6A4,.JSR OUTCHRO.0020,60,. RTSOQ} TSTPNTR$O.0021,38,. SEC.O.0022,AD,+002D,.LDA EA8O.0025,E5,D4,. SBC PNTRBO.0027,AD,+002E,.LDA EA+1LQ}O .002A,E5,D5,. SBC PNTR+1VO.002C,60,. RTS`OEAjO.002D,00,00,. .W0RDtO COUNT~O.002F,00,. .BQ}YTEO STARTO.0030,68,. PLAO.0031,F0,=0009,.BEQ @1O.0033,C9,02,. CMP #$02O"".0035,F0,=003E,.BEQ COQ}NTINUEO.0037,AA,. TAXO@3O.0038,68,. PLAO.0039,68,. PLAO.003A,CA,. DEXO.003BQ},D0,=0038,.BNE @3O.003D,60,. RSTOCONTINUEP.003E,68,. PLA P .003F,85,D5,. STA PNTR+1P.0041,Q}68,. PLAP.0042,85,D4,. STA PNTR(P.0044,68,. PLA2P.0045,8D,+002E,.STA EA+1,,,,,<,~,~,<,,,,,,w,w,,,,,a'},<~,~,,,a-@@2b%&@@:7<,, b b AVF:A,&@ D:P89,w,,,,,`rxXBWP4YZACPT @%9 Y  AUe)} @Q33^^ MOVING MESSAGE PROGRAM FOR THE ATARI ^^0 }0^^ CLEAR SCREEN BEFOR GOING ON ^^^^ Dimensione*} strings ^^@ GG;A,;@,;@ ,;@ ,;@ ,;@ ,-6.* * * * * * e+}* * * * -^^ BORDER 6.MM^^ Clear strings and set B$= blank for clearing the remainder of X$^^ 6.6.e,}  ^^ Input your text here ^^"((Enter your message"BB^^ CLEAR THE REST OF X$ IF SHORTER THAN SCREEN WIDTe-}H (19) ^^WB:, @ +-@@ &B:,?67B:,%@,.C W67B:,%@,.#;B:,,;B:,,6.'e.}55^^ GOTO GRAPHICS MODE 2+16 AND PRINT STRINGS ^^( +@, @F-!!^^ Move borders of stars ^^.T-e/}@+(@7@,:6.7@,N67B:,%@,.T6./T-@+(@7@,:6.7@e0},N67B:,%@,.T6.1XX^^ Move message string and check location 764 to see if a key was struck ^^2k-e1}@3(@7@<@ ,B6.7@,V67B:,%@,.\6.k6-F:Ad,6VV^^ Pause to increasa e2}readability,set color randomly, and reset attract flag ^^7w-@@P -@wc0P:H:,$@e3},P:H:,$@,@w"AU@F D:P91@@P -@wc0P:H:,$@dC  3PMBASA @H@BBw f0@)6-A 56-@Hf^^ sei5}t background color and player position ^^W6-F:A,&@&BBy46-AV$W^^ Set player-missile addressi6} ^^XAY@F'B2w@X^^Enable PM graphics with 2-line resolution ^^(/B2H/^^ Set horizontai7}l position ^^2J-%A%A@'+ J^^ Clear out player first ^^</AA/^Set color to i8}screen ^^FA-%A%%A%#")- A^^ Draw player ^^P153,189,255,189,153Z((^^ Now comes the moti9}ion routine ^^d(6-R:,"@( An)"@6-&@)B2Hx)"@6-%@i:})B2H_"@,-@6@M%A%%F:%A%%,Q _6-%@V"@#i;}-@D%A%%F:%A%%,H V6-&@ A D:P7_6-%@V"@#h](^lADDB@AA +@%@%%6-F:A`,%F:Aa,$AV))6-F:%@m=},%F:%@,$AV(@6-P:H:,$A,@^^ PICK A RANDOM BYTE IN DISPLAY ^^2N6-P:H:,$AU,N^^m>} PICK RANDOM VALUE BETWEEN 0 AND 255 ^^<8 %8^^ POKE RANDOM VALUE INTO RANDOM BYTE ^^F @@D:P1m?}03PICK RANDOM VALUE BETWEEN 0 AND 255 ^^<8 %8^^ POKE RANDOM VALUE INTO RANDOM BYTE ^^F @@D:P1l  :ADDBi`@@@@T@4 +@%@%%6-F:A`,%F:Aa,$AqA}V))6-F:%@,%F:%@,$AV#6-P:H:,$@,$6-P:H:,$@,%6-P:H:,$qB}@,& 0(E6-P:H:,$A8@,E^^ PICK A RANDOM BYTE IN DISPLAY ^^2H6-P:H:,$AU,H^ PICKqC} RANDOM VALUE BETWEEN 0 AND 255 ^^<8 %8^^ POKE RANDOM VALUE INTO RANDOM BYTE ^^F @5D:P104^ PICKpv  :ADDBi`@@@A)@ +@%%6-F:A`,%F:Aa,$AV)uE})6-F:%@,%F:%@,$AV#6-P:H:,$@,$6-P:H:,$@,%6-P:H:,$@,uF}& 0(E6-P:H:,$A8@,E^^ PICK A RANDOM BYTE IN DISPLAY ^^2H6-P:H:,$AU,H^ PICK RANDOM uG}VALUE BETWEEN 0 AND 255 ^^<8 %8^^ POKE RANDOM VALUE INTO RANDOM BYTE ^^F @5D:P104II PICK RANDOM tp  %LINBEGIRO@B@" +@--6-F:A`,%F:Aa,$AV%@&@yI}@q+%@@+%@@()-@@!%%@) 2E%@"@e.%@#yJ}F:A`,E%@$F:Aa,<00@@@0^^ BACKGROUND ^^F@@'-@< yK}@THIS ISN-@@i @ GRAPHICS MODE{-@@ @TWOPm@@'-@yL}@< @this isN-@@m @graphics mode oneZ@@@3-@yM}@O,@$@%@k/@"$@%@o ,@"@/@"@#d. A.^^ KEEyN}P GRAPHICS ON SCREEN ^^D:P109@"$@%@o ,@"@/@"@#d. A.^^ KEEx'AINCSLLL }P}  11^^ PROGRAM TO PLOT POLAR FUNCTIONS ^^11^^ BY HENRI}Q}QUE VELUDO FOR ATARI 800 ^^P;@,Z (}d3-@@3(GRAPHS OF POLAR FUNCTIONSn+-@@}R}((FUNCTION MENU:+(x''( 1)R=B*Q SPIRAL))(! 2)R=A*(1+COS(Q)) CARDIOID( 3)R=A*}S}(1-SIN(Q))%%( 4)R=A*SIN(B*Q) ROSE( 5)R=A*COS(B*Q) ( 6)R=COS(A*SIN(B*Q)) ( 7)R=SI}T}N(A*COS(B*Q))((( 8)R=A POLYGON( ((INPUT:(, (FUNCTION #,A,B,INC.,SC.,}U}"6-@"@6-@"6-@"6-@1( (1("DO YOU W}V}ANT THE X-Y AXES DISPLAYED, 7@<@,4Y,6-@, @+@$66-P:H:@,$@,@}W}%%6-P:H:@,$@,$@J%%6-P:H:@,$@,$@TO:&, @A ^0@h0@}X}r0@|/@A/^^ DISPLAY AXES? ^^/-A@+,@/ /}Y}-A@+,A`/ ^^ PLOTTING CALCULATION-A`$6-'@W0GGA}Z}A A0A@APA`ApA^^ EQUATIONS FOR R ^^ 6-$ A"6-$+@}[}%E:,," A"6-$+@&G:,," A6-$G:$, A&6-$E:$, A06-E:$G:$,,}\} A:6-G:$E:$,, AD 6- AX^^ PLOTTING X,Y ^^b6-P:+$E:,,$,l6-P:+$G:,,$,v}]}''O:,!AY)O:,!@Ap%"%,A`%@&/A`%@& --@@u}^})B2y-  6-G6-@/@@K:<)@G@ *@A%}_} @D:P112 6-G6-@/@@K:<)@G@ *@A%|  %R`CHARCHCHA ##@@K:D;@,*0@@@a}D0@@@ }(AR@2 AP<"@PF-@@P  CHb}ARACTER=()Z @P6-.F:Ad,AU%)@.6.>:,$D:P116P  CHt'(} XBLREPEAFTSFTSDELATIMLL@x@@@@d} @ A @ AQ @--^^ SOUND PROGRAM BY JERRY WHITE 8/18/80= +%;@e},;@ ,=6. R(,(!PITCH=ANY NOMBER FROM 0 THRU 255.R(!WE WILL MOVE THE PITCH IN LOOP 2.d(f}"(L1=0UTER LOOP 1 VOLUME.d(=TYPE ANY NUMBER FROM 0 THRU 15 AT PROMPT FOR M, TO, AND STEP.e(!(L2=INNER LOOP 2 PITCg}H.C(TYPE ANY NUMBER FROM 0 TO 255e(AT PROMPT FROM, TO, AND STEP.#((HIT TO BEGIN# ! +(!(q}B%DOS SYSB*)DUP SYSBSAUTORUN SYSB"UM BwP32 B{P33 BP33II BP34 B P34II BP47 B P49 BP50 BP56 BP56II BTEST DATBP58 BP58II BP59 BP60 B P62 BP71 BP77 B P83 BP86 B#P89 B (P91 B4P97 B<P103 B@P104 BDP104II BHP109 BOP112 B`P116 BcP118 BP123 BP124 BP125NO REMBP125 REMBP127 BP131 BP132 BP137 BP137II BP145 BP141 BP151 BP152 BP166 BP170 BP171 B P172 Ġ 8AR@,6-H:,$@86-?0@@+0@@?0@r}@@-@@(( TYPE DIST 2 @46@ B SS")"@)"@)"@)"@s})"@)"@@6"#-@@(# @0$A-@@)(TYPE PITCH 3 @@7A Bt}& AU@B(#-@@(# @6*A-@@)(TYPE L1 FROM 3 @F7A Bu}, @3@H.#-@@(# @60A-@@ )(TYPE L1 TO 3 @R7A A@v}2 @3@T4#-@@ (# @H6@-@@(( TYPE L1 STEP 2 @X6@ B8w} @3@`:#-@@(# @T<?-@@'( TYPEL2 FROM 1 @d5? B>x} AV@p@#-@@(# @`FA-@@)(TYPE L2 TO 3 @t7A BH y}AV@J#-@@(# @pP@-@@(( TYPE L2 STEP 2 @6@ BR AVz}AT#-@@(# @d#! AP# Ax< AP/2{}<(>:A%,$($( ҠĠź ,(,( 100 FOR L1= TO  STEP ))( 110 FOR L2= TO |} STEP %%( 120 SOUND 0,-L2,,L12( 130 NEXT L2#( 140 NEXT L12( 150 RETURN-@A }},`-@@)-@@ D( HIT START TO RESTART`( HIT OPTION TO REPEAT @-@@ ~}TL-@@ 0( HIT TO RESTARTL( HIT TO REPEAT h-@@ | %%2} F:B2y,"@@ F:B2y,"@A A6-%@ A} - -P) A`2&) B  $pM(+( ĠĬ٠ή }M2-@AP  @D:P118+( ĠĬ٠ή XiXYXYPLAYEAXYXY@@@4@@@@@ @ !!^}^ TWO ENTRY MENU SELECT ^^!!^^ FROM JOYSTICK ^^?6-@6-@'6-@436-@?6-@(};@,-(AR@(^^ CURSOR OFF ^^2=0@@@70@@@= }< 6.Y}F36-@6-@'6-@ 36-@n -x  - NO""R:&@,@A} 6.Y -  - NO A""R:&@,@A" 6.N, -6 } YES@ -J T A|T:&@,A -   -  A}D:P123J T A|T:&@,A -   -  AbACXYXYPLAYEXDELA@@@@$@@@A ;@},6-@K6-@6-@'6-@$36-@?6-@K6-@_A +'0@@@}A0@@@ - DO YOU LOVE ME? A-&@&@, 4Y,  SHUCKS, }I LOVE YOU TOO.2 4N2 "WELL, I LOVE YOU ANYWAY. (SNIFFLE)-@A  @AR6.}Y -(- (NOR:&,"@ACR:&,"@6.N"-+(YES1-9(C A} T:&,A $D:P124,"@ACR:&,"@6.N"-+(YES1-9(C A.@PLAYESNLO@(@@-6-@6-@_A +'0@}@@A0@@@n -x  }AR@A-@=2A}&@@&A ""R:&@,@A"A6-&@ A""R:&@,}@A"6-%@T A|T:&@,A  D:P125NO,REMA""R:&@,d@>PPLAYESNLOA@ ^^^ NUMBER SELECT ^^^^^^ FROM JOYSTI}CK ^^^,^^^ DEFAULT ANSWER ^^^-6-@6-@_A +'0@@@A0@@@}h^^^ DISPLAY NUMBER: ^^^j$$^^^ X,Y POSITION OF NUMBER ^^^n -x  }.AR@.^^^ TURN OFF C}USOR ^^^A-@=2A&@@&A ''^^^ SCAN JOYSTICK FOR SUBTRACT^^^''^^^ DON}'T GO BELOW LOW LIMIT ^^^""R:&@,@A"A6-&@ A""^^^ SCAN JOY}STICK FOR NO ^^^((^^^ DON'T GO ABOVE HIGH LIMIT ^^^""R:&@,@A"6-%@T A^%%}^^^ SCAN TRIGGER FOR CHOICE ^^^|T:&@,A^^^ WE HAVE ANSWER ^^^  D:P125.REM A^%%pbLOHIGPLAYEGUESSN@@@ @@@@@K6-@}6-@'6-@ 36-@?6-@K6-@A +'0@@@A0@@@}(-@@2))(!I AM THINKING OF A NUMBER BETWEEN<( AND . F(WHAT IS YOU GUESS:P%%6-P:H:},$@ ,%@Z Ad-&@%@n"Au%%2A@@v-}@@P w%%2x  ( TRY HIGHER !( TRY LOWER  @( }ՠԠ-@A  @0AR@P -( &-@L2A}&@@&P :"+R:&@,"@,$+!,06-&@: A:"+R:&@,"@,$+ ,06-%}@: AT:&@,A $D:P127-&@: A:"+R:&@,"@,$+ ,06-%@./wERNUMERFILEXAERLINNXLINLINAXADDRESLIN d@Ax3}@&&;@,;@,;A,0 B%0^^^ TO ERROR REPORT ROUTINE ^^^""^^ ERROR REPORT SYSTEM by }^^""^^ LEN LINDSAY (C) 1980 ^^""^^ G K MCDANIEL 4/82 ^^DD^^ YOUR PROGRAM GOSE HERE SET VARIABLE LINK TO }THE BEGINNING""LINE OF YOUR MODULES - NEEDS""A DICKETTE IN DRIVE # 1 WITH""ERROR FILES CREATED WITH THE ERRO}R FILE WRITING PROGRAM KKTHANK YOU TO COMPUTE,IRIDIS,ANDATARI FOR INFO USED IN THIS ROUTINE ^^~S%6-AV$F:A,%F}:A,76.=:F:A,,S^^ ERROR REPORT SYSTEM ^^~""^^^ NEEDS: DIM ERNUM$(5) ^^^~""^^^ DIM ERFILE$(12) ^}~""^^^ DIM XA$(100) ^^^~55^^^ USES SUBROUTINE 32600 TO FIND NEXT LINE ^^^~&& ERROR NUMBER  IN LINE }6.D:ERROR67B:,%@,. B%`&* @@* B%p03)  ERROR NUMBER  IS NO}T ON FILE3 B%:@ @D B& B%E  SHALL I :F  STOPG  OR H } CONTINUE WITH :I  ERROR LINE J  NEXT LINE K  LINK LINE L  WHICH CHOICEM }^^ CL}EAR SCREEN ^^N 4S BEg&O 4E P 4N Q 4L W& B%&^^ INVALID RESPONSE ^^X+}6-+^^ FIND NEXT LINE NUMBERY??^^ ERLINE IS INPUT TO THIS ROUTINE AS THE LINE NUMBER ^^Z99^^ NXLINE IS RETU}RNED AS THE NEXT LINE NUMBER ^^]77^^ BASED ON COMPUTE #4 PAGE 32 PROGRAM LISTING ^^bG%6-F:A6,%F:A7,$AV}G^^ GET THE FIRST LINE NUMBER ^^l!!6-F:,%F:%@,$AVv"@6- B& "6-@6}-%F:%@, B& $D:P131%@,$AVv"@6- B& "6-@622uERNUMERFILEXA d^^ ERROR REPORT WRITER ^^^^ (C) 1980 ^^}^^ LEN LINDSAY ^^^^ G K MCDANIEL 4/82 ^^##^^ PUTS ERROR INFO TO DISK ^^ &&;@,;@,};A,Z }^^ CLEAR SCREEN ^^d$$ WRITE ERROR MEANINGS TO DISKn++ # GET OUT YOUR ERROR LIST - LETS GO-x7 }A 3  WHAT IS THE NEXT ERROR NUMBER 7} 6-A:, BEg6.D:ERROR67B:,%@,.0, $ PLEA}SE TYPE IN ITS MEANING & HINTS0 @@$$ NOW WRITING ERROR NUMBER  @@} A D:P132 @@$$ NOW WRITING ERROR NUMBER  @@ 0AB @@A @2##;@,9@<@,F(P-@}Z-@d 8<,n x  (STRING= (I="@ A (J=}68<,- APD:P137 (STRING= (I="@ A (J=20AB@2##;@,9@<@,F(P-@}Z-@d 8<,n x  (STRING= (I="@ A (J=}68<,- AP%%6-F:A@,%F:AA,$AV6-%@9AAP:'AV,9A@&F:}AA,$AV4D:P137II:A@,%F:AA,$AV6-%@9AAP:'AV,9A@&F:&Z[{\ j AAMTJWPPDDDDJMOHAMJTAMKKKKKJVOJAFEMAAPMAJUJUAUSEOCNODEA Ab}  } !}"#&&^^ MONGRAPH REV.2 JERRY WHITE ^^&&^^ FOR COMPUTE TUTORAL ^^&&^^ GUY K MCDANIEL 03/30/}82 ^^[@'@@8A0@@@[0@@@0&;@ ,9@,}9@,0 A g +@'0@@@A0@@@M6-@g0@@}96-@6-/6. M0NTHLY GRAPH9 @ a,@@ +/AX@ =/AX@uO/@}@ua/@@  AK%6-F:A`,%F:Aa,$AVK6-F:%@,%F:%@,$AVb-}B:,86-BsD%++@:7<,,&@2,$@,N6-%$@ %%&b-@#%$@ F:%,  #$d}#-@8,!#6-8,n x6-'@e6-@&6-@u&+8,',268,-P:,6 *B} 6-P:'A,* A*A 6-P:'A,* A*A 6-P:'@,* A 6-P:,}16-'@6-P:&,16-P:&+$@,,-6-P:&+$@,,-6-P:&+$@,,3 6.=:,6-@&B:,)6}-@3 @ !! @)!@A3 6.=:,6-@&B:,)6-@$3 @ 3 6.=:,6-@}&B:,)6-@83 @ 3 6.=:,6-@&B:,)6-@R3 @ 3 6.=:,6-@&B:,)6-@f3 }@ 3@'@@@3AR,2(2(' K J F M A M J J A S O N D.//(' E A E } A P A U U U E C O E0//(' Y N B R R Y N L G P T V C6-@6-&8,@%+$@},8,:/@%%+$@,8,@!!/@%%+$@,@uJ!!/@%+$@,@uT-@%+$@},8,^=Ae@=@@S:hA -@6@928,@}= A '@@'@@9 Am +'0@A0@@}[0@mAR@ (( MONTHLY GRAPH 4.(+( TYPE AMOUNTS FOR EACH MONTH: .(H+(( } DO NOT USE NEGATIVE AMOUNTS +(5 A"(JAN=+68@,-5 B5 A"(FEB=+68@},-5 B5 A" (MAR=+68@,-5 B5 A"0(APR=+68@,-5 B}5 A"@(MAY=+68@,-5 B5 A"P(JUN=+68@,-5 B5 A"`(JUL}=+68@,-5 B5 A"p(AUG=+68@,-5 B5 A"(SEP=+68@ ,}-5 B5 A"(OCT=+68@,-5 B5 A#(NOV=+68@,-5 B 5 }A#(DEC=+68@,-5 B` $D:P1455 A#(NOV=+68@,-5 B 5 C0WeAB@ --6-F:A@,%F:AA,$AV&@9AAP:'}AV,9A@&F:AA,$AV9ACP:'AV,9AB&F:AC,$AV(9AEP:'AV,9}AD&F:AE,$AV2##;@,9@<@,F(P-@Z-@d (8<},n x( (STRING= (I="@ A (J=68<,- AP%%}}F:A@,%F:AA,$AV6-%@9AAP:'AV,9A@&F:AA,$AV4D:P14}1}F:A@,%F:AA,$AV6-%@9AAP:'AV,9A@&F:AA,$AV4D:P142TIMEACOUNJIFFA`@!!^^ TIMING BY JOHN VICTOR ^^##^^ GUY K MCDANIEL 04/01}/82 ^^&&^ FOR ATARI COMPUTER VOIC TRACK^ 9@,;@,(B@@R(TURN ON CASSETTE +}}@@# START COUNTING...(?-@@?0@P:H:@,$@,@2'@}'@ 7 F:Ad,@@U<=%6-AV$F:@,%F:@ ,.68,-= CHANGE #IAd}AUK N)B@@`)SHUT OFF CASSETTEP8 8 -PRESS RETURN TO SEE TIME VALUES IN JIFFIESZd3}-@@/ CHANGE #=8,3 D:P151-PRESS RETURN TO SEE TIME VALUES IN JIFFIESZd3BLMJ X CLOCQUESTIONASQUESTIONANSWEANSWERRESPONSELINETIMNUMBECOLOLINECOUN} ''^^ Demostration of Atari timing^^''^^ for Tutorials using voic}e & ^^''^^ timing loops ^^(''^^ Program Desing, Inc. ^^2O6-AP6-A@'6-A0O}^^ subroutine lables and locations ^^<&&;@,;@,;@@,do+@%@'-@F(@} BASIC TUTORIALd(@ DEMONSTRATIONo(@i (@ with voicen6-A  +}((P,($This is a demonstration of the ATARIP(computer's ability to utilize aU*("sound-voice track. I will ask }fourR(#sample questions about ATARI BASCI.U(F*("Place audio cassette in player andC(rewind to beginning.F(**("}Befor starting this demonstration,))(!make sure that the PLAY button is--(%pressed down on your cassette player.(}( ($(PRESS TO START.(, 6-At  6 6-A  @ 6-A  J }6-A  T 6-AS   +@'0@@A0@@S-@}q(@ END OF DEMO }6-A 4B@@`4^^^ Shut off cassette ^^^ + ""^^}^ Answering subroutine ^^^ 4B@@`4^^^ Shut off cassette ^^^ ((YOUR ANSWER IS  0 4(>:A}S,(&(CORRECT!0 A1 ((NO, THE ANSWER IS  +('(PRESS TO CONTINUE...+& 5B@@R}5^^^ Turn cassette back on ^^^0 $!!^^^ Question subroutine ^^^ +"40@@((}.( QUESTION #1(4(-@"( $^^^ timing loop ^^^A@'@ A}^^^ sets clock to 0 ^^^--F:@,$AV%F:@ , AP$pll1,5,3,CLOAD,What is the usual BASIC command t}o,tell the computer to load a program,from cassette tape?zYY2,10,2,LIST,What command will show you the pro-,gram stored in} the computer memory?II3,1,2,RUN,What command executes a program in,the computer's memory?nn4,3,3,CSAVE,What is the m}ost commonly-used ATARI,BASIC command used to record programs,to cassette tape?>>5,14,2,NEW,What command wipes out the pr}ogram,in memory?D:P152ommand used to record programs,to cassette tape?>>5,14,2,NEW,What command wipes out the pr01yARRAYFILENAMEDISKFILECOUNCHOICLOOGKERAS$ 8@D}%%^^^ MENU ( 44 PROGRAM MAX ) ^^^%%^^^ ( C ) 1980 LEN LINDSSAY ^^^%%^^^ LAST REVISION 11-15-80 ^^^%%}^^^ GUY K MCDANIEL 04/25/82 ^^^ 11;A(,;@ ,;@ ,;@,'@'@@8}^^^ DEFAULT MARGINS ^^^ +44^^^ CLEAR SCREEN AND GO INTO TEXT MODE 0 ^^^AR@$^^^ CURSO}R OFF ^^^(Q0@@@70@@@Q0@@@2 6.D1:8--^^^ THE DISK TO }BE USED FOR A MENU ^^^< 6.B>>^^^ THE NAME MUST START WITH THE DISK DRIVE NUMBER ^^^F67B:,%@,.*.*L7}7^^^ LOADING D1:*.* GIVES THE DISK DIRECTORY ^^^d @@j22^^^ OPEN THE DISK DIRECTORY FOR A }READ ^^^n6-t^^^ INITIALIZE COUNT ^^^x@~$$^^^ READ NEXT PROGRAM NAME ^^^#7@<@},4FREE# ''7@<@,4FREEAB:, @A>>^^^ NOT A PROGRAM - THIS IS THE SECTO}RS LEFT COUNT ^^^6-%@^^^ ADD ONE TO COUNT ^^^3"@#!@@3-@GG^^^ }SWITCH TO RIGHT HALF OF SCREEN (CHANGE LEFT MARGIN TO0) ^^^%!@D6-@D% A 11^^^ TOO MANY PROGRAMS}-JUST KEEP READING ^^^6. [[^^^ INITIALIZE THE NAME FIELD TO ALL BLANKS EXCEPT THE DOT BEFORE THE EXT}ENSION ^^^77@<@,4 767@ <@ ,. ::^^^ THERE IS NO EXTENSION SO GET RID OF THE DOT ^^^ܾ}++67@<@,.7@<@,??^^^ ASSIGN THE FIRST 8 CHARACTERS OF THE PROGRAM NAME ^^^++67@<@},.7@<@,;;^^^ ASSIGN THE THE EXTENSION OF THE PROGRAM NAME ^^^, @  2VV^^^ ADD AN EXTRA} SPACE BEFOR THE SINGLE DIGIT NUMBERS TO ALIGN WITH2 DIGITS ^^^6 ><^^^ PRINT FILE NUMBER ^^^@ F$$^^^ P}RINT THE PROGRAM NAME ^^^67B:,%@,.GG^^^ ADD ON THE LATEST NAME TO END OF STRING OF NAMES THUS FAR ^^^ }A ((^^^ GO READ THE NEXT FILE NAME ^^^ A$$^^^ SET TRAP FOR BAD INPUT ^^^@<<^^^ CLOSE } THE FILE USED TO INPUT DISK DIRECTORY ^^^AR@!!^^^ TURN CURSOR BACK ON ^^^!@  A" }(-%@(  RUN NUMBER  @# A% (-@&@ (  RUN NUMBER ,,^^^ PRINT MESSA }GE ON MESSAGE LINE ^^^ @@((^^^ SET LEFT MARGIN TO DEFAULT ^^^66^^^ GET THE NUMBER OF THE } PROGRAM TO RUN ^^^ 6-P:,"""^^^ GET RID OF FRACTIONS ^^^& @)!A,''^^^ OUT OF RANGE OF THIS M}ENU ^^^X 6.^ZZ^^^ THE NAME TO USE WITH A RUN STATMENT MUST BEGIN WITH THE DISK DRIVE NUMBER ^^^b&&6.7$@}&@<$@,h>>^^^ THE NAME OF THE PROGRAM INCLUDING EXTRA SPACES ^^^l-@@v)7<,0 )67}B:,%@,.7<, !@  A` A %%^^^ SET TRAP FOR DISK ERROR ^^^(-%@}(  LOADING ,,^^^ PRINT MESSAGE ON MESSAGE LINE ^^^-@A  A% BEg }A  (-@&@ (  LOADING % BEg44^^^ RUN THE PROGRAM AND TURN OFF THE TRAP ^^^ !@}  A *)-%@)  CAN'T RUN 4-@A0 >-@%H-%@}  R \ A*-@&@ *  CAN'T RUN ,,^^^ PRINT MESSAGE ON MESSAGE LINE ^^^-@}A0 44^^^ DELAY TO ALLOW TIME TO READ MESSAGE ^^^-@@7-&@    ^^}^ ERASE MESSAGE ^^^ A^^^ GO AND TRY AGAIN ^^^D:P166@7-&@    ^^M#PAUSAUAd6-F:Ad,n: (I=:^^^ Print the value of the key pressed ^^^xMAd}AUM^^^ Tell the computer that no key was pressed ^^^X-@A X^^^ Slow down the machine so yo}u can read the results ^^^ AD:P170essed ^^^X-@A X^^^ Slow down the machine so yo70JOYSTICPAUSA@@Ad06-A0^^^ Location of subroutine ^^^n' '^^^ Ch}eck the 'joystick' ^^^x##(THE 'JOYSTICK' HAS VALUE=&&(THE 'FIRE BUTTON' HAS VALUE=-@A } A!!^^^ Joystick subroutine ^^^6-F:Ad,6-@"@6-@$"@y6}-@$$"@6-@$."@q6-@$8"@6-@$B"@p6-@ }$L"@6-@$V"@x6-@$`@"@36-@'6-*$@^^^ Fire butt}on ^^^eAdAUj6-@$D:P171$`@"@36-@'6-*$@^^^ Fire butt<  DISPLAYKEY@ ;@#, (}AR@-@@(6-F:B2y,!}2OO%@AAA A0A@APA`Ap<(F @0d$!6.OPTION + SELECT +"} START$$n$!6.OPTION + SELECT $$x$!6.OPTION + START $$$!6.OPTION $$$!6.#}SELECT + START $$$!6.SELECT $$$!6.START $$$!6.NO KEYS ARE PRE$}SSED $$D:P172$$$!6.SELECT $$$!6.START $$$!6.NO KEYS ARE PRE