ML}  X c0C)HCCH Mhhݩh `eCDiCD`  RyHP   * 1H0芢@) Y0.Ș`i#(PMRR\ \b Pgi 0  % @ / ՠ`d   0DDԝL) 9)ADDRESLNULNNUAB'h ##PROGRAM TO PRINT LINE NUMBERSAND THEIR ADDRESSES(}Get address of first line2%%6-F:A6,%F:A7,$AV<Get the line numberF!!6-F:,%F:%@,$AVP}Test for end of ProgramZ"B'hd##Print 1ine number and addressn(LINE #x( STARTS AT ADDRESS }Get address of next line6-%F:%@, @p D2:P32P1.TOKLINE #x( STARTS AT ADDRESS UBASA@Ud""PROGRAM TO PRINT THE TOKENS n##WHICH BEGIN BASIC STATEMENTS x##Get the b }eginning of program %%6-F:A6,%F:A7,$AV""Change statement terminator %@@" (>:A }%, CLEAR SCREEN PRINT TOKENS -@T##Change line number and token  %@ }Print token Undo line feed if needed !@(>:@(,&&Change left margin for columns 3" }@!@@3-@@3"@9!@@$3-@$@ !!Put Program back to } normal "#@#%@,%@AU6'@@'-@@" D2:P33P1.BAS}normal "#@#%@,%@AU6'@@'-@@" D2:P33P1.BASMaBASA@Ad%%6-F:A6,%F:A7,$AVnChange beginning token x+%@}@T+%@@"((Print operator and function tokens >:A%,-@ @ %@}Undo line feeds +(>:@(,"@"+(>:@(,3"@9!@@3-@@}3"@Y!@@3-@@3"@y!@@(3-@(@ #@}#%@+%@@e+%@AU'@@'-@@" D5:P33P2.BAS{"#SBASARRAYNAMESTRINGNAMEADDRESA Ad..PROGRAM TO PRINT THE VA }RIABLE NAME LIST n9@,;@,x$$GET THE BEGINNING OF THE LIST %%6-F:A0,%F:A1,$AV%%(>: }A%,VARIABLE NAME LIST%%GET CHARACTER AND TEST FOR END  6-F:,"PRINT CHARACTER ! A }((>:,! A(>:&A(,""GET NEXT ADDRESS AND REPEAT 6-%@ A` D2:P34P1.BASA {*+DUMMYA1A2TESTLINS13S13TTS14S14@@@} DIMENSION DUMMY STRING ;@,''DIMENSION THE APRAYS AND STRINGS WHICH WI}LL NEED CLEARING 9@,9@,CLEAR THE VARIABLES 66-@6NUMBER OF VARIABLES JUST DIMENSION}EDINCLUDING DUMMY$ ""YOUR PROGRAM MAY BEGIN HERE d##HERE IS AN EXAMPLE OF HOW TO n""USE THE UNDIMENSION ROUTI}NE x(;@ ,(6.I'M STILL HERE? ##;@,9@P<@,7 68@P<@,-@7(8@P<@},""EXECUTE UNDIMENSION ROUTINE 6-Ap A ;@,9A,'68A,-@'(8A},UNDIMENSION ROUTINE ""SAVE CURRENT POINTER VALUES !6-F:A6,!6-F:A7,!6-F:A}@,!6-F:AA,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 ARRAYS j""RESTORE POINTERS AND RETURN tA6A7~A@AA"}  D2:P34P2.BASE ARRAYS j""RESTORE POINTERS AND RETURN tA6A7~A@AAPQ ABHEXTESTVARTESTVARTESTVARALENGTADDRESBYTEBYTEBYTEDUMDEHEXHEX$}  %}MEMORY ANALYSIS UTILITYby W. A. Bell May 1981 * Englewood, Colorado *#@@Ӡ͠ӠΠҠ&}ӺŠŠ(&&;A,;@,;@,26.0123456789ABCDEF<'6-A 6-B4V'6-CvT2'}F >:A%,Z&&  ٠Ӡd!! ENTER S FOR DATA SEARCHn!!  D FOR MEMORY DUMPx,,(} $ A FOR ADDRESS POINTER SEARCH  E TO END4SA4DAp4AA0)} 4E Ap A$$ ENTER C FOR CHARACTER DATA##  D FOR DECIMAL DATA 4*}CA`4DApA DUMMY LINE Ap A((  ENTER DECIMAL DATA TO SEARCH FOR IN THE+} FORM D1,D2,...,Dn" END WITH A VALUE OF 999, 6-6@!AUAJ6-%@T67<,.>:,^,} Ah'' ENTER CHAR STRING TO SEARCH FORr| 6-B:, A ApA--}A@((F:,@:7@<@,,A @A-@&&F:%&@,@:7<,,.}A (( >:A%,MATCH AT ADDRESS = --@(- >:A8,>:A6,!! DUMP STARTS AT &/}@##-&@%@@ A  &$$ ENTER C TO CONTINUE SEARCH0  TO QU0}IT:D0C@N X  DATA NOT FOUND b @v++ #ENTER ADDRESS POINTER TO SEARCH FOR1} 6- 6-P:'AV,6-&AV$ Ap-A@F:,A0F:%@2},A0)) POINTER MATCH AT ,%@ LOOKING FOR OTHERS   NONE FOUND @'' 3}ENTER STARTING ADDRESS FOR DUMP  A $$ >:A%,DUMP STARTS AT *-%@@4 A 4}> H"" ENTER C TO CONTINUE DUMPR  TO QUIT\f0C@p6-%@z A5}$" DEC $ A @ HEX -@ 6-F:%,"A $6-P:6}'@,$6-&@$88 7%@<%@,7%@<%@,  AP# @  # A7}P" A  " AP  $  CHAR .-@ 86-F:%,LD1+!@&*8} @2,)+!A$* A(,:  D A0V8%+!AT* A`,)!AR.  8 A0` >:, 9}j t ~$((  - this may take a while$ ENTER H FOR HEX DUMP""  D FOR DECIMAL D:}UMP 4H6-@$ 4D6-$ Ap A  ԠҠ $}34HEXQLINENUTHISLINLINEADMAXADHEXHEXHEX<} NBASIC LINE DUMP UTILITY Nby W. A. Bell May 1981N" Englew=}ood, 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:%A},$6-@$%@W 6.>:,HX$6-P:'@,$6-&@$X -Y tY-%@Y33 7%@<%B}@,7%@<%@,:A%,DUMP CONTINUES AT ADDRESS \] B]$$ ENTER C TO DUMP MORE LINESD}$^  TO QUIT^^4CBP_ D2:P49P2.BAS]$$ ENTER C TO DUMP MORE LINEST|}- OPCODEREFNAMEREFADREFCOUNSTARTADLINEADREFLINOLDLINLINECOUNNULINBASINCLINEENSTMTSTARSTMTENOLDF}ADBASEBASE@ G}}.. >:A%, Ҡ }BY W. A. H}BELL MAY 1981 }" Englewood, Colorado}9@,;@,}6.REFLIN}%%6-F:A0,%AV$F:A1,#}I}6--}-@@2}&&F:%&@,@:7<,,B 7} F}//6-F:A4,%AV$F:A5,%@J}$P} B! Z}6-%@_}*!A'' ̠͠*d}6-%@i}""F:&@,!A'B EK}n} B!x} #B!%}}10,12,23,24,13,4,35,27,18}-@@ }"} 68,-} }%%6-F:A6,%L}AV$F:A7,} 6-6-}6-6@6-}!!6-F:,%AV$F:%@,}!BB" M}} B"} SEQUENCE ERROR AFTER }&@%@}}6-%F:%@,}6-%@} 6-N}} B!p} LINE SEQUENCE VALID}  LINES}% ENTER START, INCREMENT%}%$ B B"U}@=O} 5INPUT ERROR - WILL EXCEED MAXIMUM LINE NUMBER ALLOWED@} 6-~!!6-F:,%AV$F:%@, ~!BB$pP}~6-%F:%@,~6-%@~6-%F:%@,~-&@"~F:,@B$0,~-@@ Q}1~F:&@,"8,B#%6~ ;~ B$0E~-@@J~%%@F:%,O~ T~%% LINE R} REFERENCES LINE Y~)) B *!6@*"P:,B#U^~% ŠŠ% B$0c~ 6-6-h~!!6S}-F:,%AV$F:%@,m~"B$r~!B#w~6-%F:%@,|~6-%@~ B#`~-- %T} - REFERENCED LINE DOESN'T EXIST~~ B$0~ 6-%$~-@@~%F:%%@,~ ~U} ~6-%@~!B$U~6-%F:,~ B"~6-%F:%@,~ B"`~ 6-~-@V}~$6-P:'AV,$6-&AV$~ ~%@~ 6-%~6-%F:%@,~ ~$! *** RENUMBER COMW}PLETE ***$ D5:P50P1.SUB$~ ~%@~ 6-%~6-%F:%@,~ ~$! *** RENUMBER COM!@@@@@@@@@ @@@@@@@@@@@ Ű}  %)=TCHARACTE ;@0,2#@@S:2OPEN FOR R/W-@ Z}:A,@:Z,(*@ 2-F:@,<$-@@&$)@F67<,.>:,P Z-)@ [}-MOVE THE CURSOR PAST THE Zd@n    D2:P56P1.BAS)@F67<,.>:,P Z-)@ Q  CHARACTE ++@@ D:TEST.DAT-@:A,@:Z,*@ $]}(@2++@@ D:TEST.DAT<-@@&F)@P >:,Z d@$^} D2:P56P2.BAS@ D:TEST.DAT<-@@&F)@P >:,Z d@$ DXTNUMBEPA# ;@,##@@E: @123,CHARACTERS()(`} @>:@(,)AN UP-CURSOR2@< @>:@(,F@P@Z T$=d(a} NUMBER=nJUST HIT RETURN WHEN EACHxOF THE INPUT STATEMENTSEXECUTES D2:P58P1.BASZ T$=d(l  *TCHR4 AU@@ ;@,6.ABCDEFGH++@@ D:T,c}EST.DAT( @2@<++@@ D:TEST.DATF-@P)@Z (,d}>:,d n@ D:P58P2.BAS@ D:TEST.DATF-@P)@Z (,/ T ;@,6. ABCDEFGHIJ##67@<@,.>:AU,(##@@0f}E:-(PRINT DOES THIS2 @7(( XIO DOES THIS<((@ @@F@0g} D:P59P2.BAST DOES THIS2 @7(( XIO DOES THIS<((@ @@F@0  5DXDTT1T2T 11;@,;@,;@,;@,++@4i}@ D:TEST.DAT55@ @@ ABCDEFGHIJK.@2 6. XXXXXXXXXX RE4j}SET T1$<6.YYYYYMAKE LENGTH 5F++@@ D:TEST.DATP@Z@d(INPUT 4k}DOES THISn (B:,x 6. XXXXXXXXXX RESET T2$6.YYYYYMAKE LENGTH 5++@@ D:TEST.D4l}AT((@@@@((XI05 DOES THIS (B:,67@<@,.Z 4m} (B:,''(NOTICE THE X ISN'T WRITTEN OVER#6.XXXX6.XXXX#6.XXX++@@ D:TEST.DAT4n}((@@@@((OR XIO5 CAN DO THIS( (( D1:P60P1.BAST.DAT4x78ViDADDBOMARK1ARRAY1X1TMMARK2ARRAY2X2ADARRAYA'AAQ@8p}@Af A Q  ;@,DUMMY STRING""FIND ADDRESS OF DISPLACEMENT/8q}/6-+F:A4,%F:A5,$AV,%@%%FIND BEGINNING OF ARRAY STORAGE 6-C:,(&&;@,9@,;@#8r},- WITH 6 BYTES/ARRAY NUMBERS. THIS DIMENISIONS 510 BYTES/OR 2*2550NOW FILL THE ARRAY2$-@8s} 68,-$ <++@@ D:TEST.DATA%%NOW WRITE THE ARRAY IN 2 BLOCKSF-@P 8t} 6-C:,Z An((@@@x @&&;@,9@,;@#,++8u}@@ D:TEST.DATNOW READ THE ARRAY-@ 6-C:, A((@8v}@@ @-@@ (8, SUBROUTINE TO FIX T8w}HE""DISPLACEMENT- N=BLOCK NUMBER6-&%+$AU,&P:'AV,$AV%@P:'AV,$8x} D:P62P1.BASNT- N=BLOCK NUMBER6-&%+$AU,&P:'AV,$AV%@P:'AV,$8<=SAEASNWORWORDEDUMMDMYNBYTHEXCODESTORAGEPCODA72N.0003,E6,D4,. INC PNTRHN.0005,D0,=0009,.BNE @1RN .0007,E6,D5,. INC PNTR+1\N@1fN.0009,60,. RT<}SpN PRBYTEzN.000A,48,. PHAN.000B,4A,. LSR AN.000C,4A,. LSR AN.000D,4A,. LSR AN<}.000E,4A,. LSR AN!!.000F,20,+0015,.JSR PRNYBLEN.0012,68,. PLAN.0013,29,0F,. AND #$0FN PRBYTEN<}.0015,C9,0A,. CMP #$0AN.0017,30,=001B,.BMI @2N.0019,69,06,. ADC #$06N@2N.001B,69,30,. ADC #$30O<} .001D,20,*F6A4,.JSR OUTCHRO.0020,60,. RTSO TSTPNTR$O.0021,38,. SEC.O.0022,AD,+002D,.LDA EA8O<}.0025,E5,D4,. SBC PNTRBO.0027,AD,+002E,.LDA EA+1LO .002A,E5,D5,. SBC PNTR+1VO.002C,60,. RTS`OEAjO<}.002D,00,00,. .W0RDtO COUNT~O.002F,00,. .BYTEO STARTO.0030,68,. PLAO.0031,F0,=0009,.BEQ @1<}O.0033,C9,02,. CMP #$02O"".0035,F0,=003E,.BEQ CONTINUEO.0037,AA,. TAXO@3O.0038,68,. PLAO<}.0039,68,. PLAO.003A,CA,. DEXO.003B,D0,=0038,.BNE @3O.003D,60,. RTSOCONTINUEP.003E,<}68,. PLA P .003F,85,D5,. STA PNTR+1P.0041,68,. PLAP.0042,85,D4,. STA PNTR(P.0044,68,. PLA<}2P.0045,8D,+002E,.STA EA+1<~~<ww<~~<a-@@2bL}%&@@:7<,, b b AVF:A,&@ b$ D:P89P1.SUB<~~<a-@@2bLWx.AXBWP4YZACPT@ P} **MOVING MESSAGE PROGRAM FOR THE ATARI( }(CLEAR SCREEN BEFORE GOING ONDimension strings GG;AP},;@,;@ ,;@ ,;@ ,;@ ,-6.* * * * * * * * * * -^^ BORDER 6.EEClear P}strings and set B$=blank for clearing the remainder of X$ 6.6. Input your text here"((Enter your meP}ssage";;CLEAR THE REST OF X$ IF SHORTER THAN SCREEN WIDTH(19)WB:, @ +-@@ &B:,?67B:,%@P},.C W67B:,%@,.#;B:,,;B:,,6.'//GOTO GRAPHICS MODE 2+16 AND PRINT STRINGS( +@, P}@F-Move borders of stars.T-@+(@7@,:6.7@,N67B:,%@,.T6./T-P}@+(@7@,:6.7@,N67B:,%@,.T6.1RRMove message string and check location P}764 to see if a key was struck2k-@3(@7@<@ ,B6.7@,V67B:,%@,.\6.P}k6-F:Ad,6PPPause to increasa readability,set color randomly, and reset attract flag7w-@@P -P}@wc0P:H:,$@,P:H:,$@,@w"AU@F D:P91P1.BAS@P -Pm(NcADDB@AA +@%@%%6-F:A`,%F:Aa,$AV))6-F:%@X}  3PMBASAe@b@B@ f0@)6-A 56-@Hf^^ seT}t background color and player position ^^W6-F:A,&@&BBy46-AV$W^^ Set player-missile addressT} ^^XAY@F'B2w@X^^Enable PM graphics with 2-line resolution ^^(/B2H/^^ Set horizontaT}l position ^^2J-%A%A@'+ J^^ Clear out player first ^^</AA/^Set color to T}screen ^^FA-%A%%A%#")- A^^ Draw player ^^P153,189,255,189,153Z((^^ Now comes the motT}ion routine ^^d(6-R:,"@( An)"@6-&@)B2Hx)"@6-%@T})B2H_"@,-@6@M%A%%F:%A%%,Q _6-%@V"@#T}-@D%A%%F:%A%%,H V6-&@ A D:P97P1.BAS@V"@#Td,%F:%@,$AV(?6-P:H:,$A,?- PICK A RANDOM BYTE IN DISPLAY2E6-P:H:,$AU,E- PX}ICK RANDOM VALUE BETWEEN 0 AND 255<2 %2- POKE RANDOM VALUE INTO RANDOM BYTEF @@ D5:P103P1.BASE- PXw'(z XBLREPEAFTSFTSDELATIMLL?RFX @@@@p}  :ADDBi`@@@A(A@U +@#%%6-F:A`,%F:Aa,$AV)\})6-F:%@,%F:%@,$AV#6-P:H:,$@,$6-P:H:,$@,%6-P:H:,$@,\}& 0(@6-P:H:,$A8@,@- PICK A RANDOM BYTE IN DISPLAY2E6-P:H:,$AU,E- PICK RANDOM VALUE\} BETWEEN 0 AND 255<3 %3- POKE RANDOM VALUE INTO RANDOM BYTEF @5 D:P104P1.BASE- PICK RANDOM VALUE\g  :ADDBi`@@@A3)A +@%%6-F:A`,%F:Aa,$AV)`})6-F:%@,%F:%@,$AV#6-P:H:,$@,$6-P:H:,$@,%6-P:H:,$@,`}& 0(@6-P:H:,$A8@,@- PICK A RANDOM BYTE IN DISPLAY2E6-P:H:,$AU,E- PICK RANDOM VALUE`} BETWEEN 0 AND 255<2 %2- POKE RANDOM VALUE INTO RANDOM BYTEF @5 D:P104P2.BAS,E- PICK RANDOM VALUE`f  %LINBEGIRO@B@" +@--6-F:A`,%F:Aa,$AV%@&@d}@q+%@@+%@@()-@@!%%@) 2E%@"@e.%@#d}F:A`,E%@$F:Aa,<*0@@@*BACKGROUNDF@@'-@< @d}THIS ISN-@@i @ GRAPHICS MODE{-@@ @TWOPm@@'-@@d}< @this isN-@@m @graphics mode oneZ@@@3-@@d}O,@$@%@k/@"$@%@o ,@"@/@"@#d( A(KEEP GRAPHICd}S ON SCREEN D:P107P1.BAS@"$@%@o ,@"@/@"@#d( A(KEEP GRAPHICd!AINCSLLL@@@@ @@@v @ @h} AI @%AR5`@ %%PROGRAM TO PLOT POLAR FUNCTIONS&&BY HENRIQUE VELUDO FOR h}ATARI 800P;@,Z (}d3-@@3(GRAPHS OF POLAR FUNCTIONSn+-@@((FUNCTION MENU:h}+(x''( 1)R=B*Q SPIRAL))(! 2)R=A*(1+COS(Q)) CARDIOID( 3)R=A*(1-SIN(Q))%%( h}4)R=A*SIN(B*Q) ROSE( 5)R=A*COS(B*Q) ( 6)R=COS(A*SIN(B*Q)) ( 7)R=SIN(A*COS(B*Q))((( h} 8)R=A POLYGON( ((INPUT:(, (FUNCTION #,A,B,INC.,SC.,"6-@h}"@6-@"6-@"6-@1( (1("DO YOU WANT THE X-Y AXES DISPLAh}YED, 7@<@,4Y,6-@, @+@$66-P:H:@,$@,@%%6-P:H:@,$@h},$@J%%6-P:H:@,$@,$@TO:&, @A ^0@h0@r0@h}|'@A'DISPLAY AXES?/-A@+,@/ /-A@+,Ah}`/ PLOTTING CALCULATION-A`$6-'@W0GGAA A0A@APh}A`ApAEQUATIONS FOR R 6-$ A"6-$+@%E:,," A"6-$+@&G:h},," A6-$G:$, A&6-$E:$, A06-E:$G:$,, A:6-G:$E:$,, ADh} 6- AXPLOTTING X,Yb6-P:+$E:,,$,l6-P:+$G:,,$,v''O:,!AY)O:,!@Ap%"h}%,A`%@&/A`%@& --@@u)B2y-  6-G6-@h}/@@K:<)@G@ *@A% @ D:P112P1.BASG6-@hp  %RfCHARCHCHA ##@@K:D;@,*0@@@l}D0@@@ }(AR@2 AP<"@PF-@@P  CHl}ARACTER=()Z @P6-.F:Ad,AU%)@.6.>:,$ D:P116P1.BAS CHlz @ @ @ @ @@@**SOUND PROGRAM BY JERRY WHITE 8/18/80= +%;@,p};@ ,=6. R(,(!PITCH=ANY NOMBER FROM 0 THRU 255.R(!WE WILL MOVE THE PITCH IN LOOP 2.d("(p}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 PITCH.p}C(TYPE ANY NUMBER FROM 0 TO 255e(AT PROMPT FROM, TO, AND STEP.#((HIT TO BEGIN# ! +(!( p}Ġ 8AR@,6-H:,$@86-?0@@+0@@?0@@p}@-@@(( TYPE DIST 2 @46@ B SS")"@)"@)"@)"@)p}"@)"@@6"#-@@(# @0$A-@@)(TYPE PITCH 3 @@7A Bp}& AU@B(#-@@(# @6*A-@@)(TYPE L1 FROM 3 @F7A Bp}, @3@H.#-@@(# @60A-@@ )(TYPE L1 TO 3 @R7A A@2p} @3@T4#-@@ (# @H6@-@@(( TYPE L1 STEP 2 @X6@ B8p} @3@`:#-@@(# @T<?-@@'( TYPEL2 FROM 1 @d5? B> Ap}V@p@#-@@(# @`FA-@@)(TYPE L2 TO 3 @t7A BH AVp}@J#-@@(# @pP@-@@(( TYPE L2 STEP 2 @6@ BR AVp}AT#-@@(# @d#! AP# Ax< AP/2p}<(>:A%,$($( ҠĠź ,(,( 100 FOR L1= TO  STEP ))( 110 FOR L2= TO p} STEP %%( 120 SOUND 0,-L2,,L12( 130 NEXT L2#( 140 NEXT L12( 150 RETURN-@A ,p}`-@@)-@@ D( HIT START TO RESTART`( HIT OPTION TO REPEAT @-@@ TLp}-@@ 0( HIT TO RESTARTL( HIT TO REPEAT h-@@ | %%2p} F:B2y,"@@ F:B2y,"@A A6-%@ Ap} - -P) A`2&) B  $pM(+( ĠĬ٠ή M2p}-@AP  @ D5:P118P1.BAS ĠĬ٠ή M2p\Z[{0 E AAMTJWPPDDDDJMOHAMJTAMKKKKKJVOJAFEMAAPMAJUJUAUSEOCNODEA AbC}iXYXYPLAYEAXYXY@@@4@@@@@ @ Tt}WO ENTRY MENU SELECTFROM JOYSTICK?6-@6-@'6-@436-@?6-@(;@,-"u}AR@"CURSOR OFF2=0@@@70@@@= }< 6.YF36-@6-@u}'6-@ 36-@n -x  - NO""R:&@,@A 6.Y - u}  - NO A""R:&@,@A" 6.N, -6 YES@ -J u}T A|T:&@,A -   -  A D:P123P1.BAStybACXYXYPLAYEXDELA@@@@$@@@A ;@y},6-@K6-@6-@'6-@$36-@?6-@K6-@_A +'0@@@y}A0@@@ - DO YOU LOVE ME? A-&@&@, 4Y,  SHUCKS, y}I LOVE YOU TOO.2 4N2 "WELL, I LOVE YOU ANYWAY. (SNIFFLE)-@A  @AR6.y}Y -(- (NOR:&,"@ACR:&,"@6.N"-+(YES1-9(C Ay } T:&,A $ D:P124P1.BASACR:&,"@6.N"-+(YES1-9(C Ax4L*PLAYESNLOHIG@@@ ... NUMBER SELECT ...FRO} }M JOYSTICK(+TURN OFF CURSOR-AR@/2DEFAULT ANSWER:<6-@FPDISPLAY} } NUMBERZ##X,Y IS THE POSITION OF NUMBERin -x  -@))2A&@} }@&  SCAN JOYSTICK FOR SUBTRACTDON'T GO BELOW LOW LIMIT""R:&@,@A}}"A6-&@ ASCAN JOYSTICK FOR NO  DON'T GO ABOVE HIGH LIMIT""R:}}&@,@A"A"6-%@T A^hSCAN TRIGGER FOR CHOICEr|T:&@}},AWE HAVE ANSWER  D:P125P1.BAShSCAN TRIGGER FOR CHOICEr|T:&@|JL^rPLAYESNLOHIG@@@@@ ... NUMBER SELECT ...FRO}M JOYSTICK(+TURN OFF CURSOR-9 +'0@@@9AR@/2DEFAULT ANSWE}R:<36-@6-@'6-@36-@FPDISPLAY NUMBERZ##X,Y IS THE POSITION OF NUMBERin }-x  -@))2A&@@&  SCAN JOYSTICK FOR SUBTRACT}DON'T GO BELOW LOW LIMIT""R:&@,@A"A6-&@ A}SCAN JOYSTICK FOR NO  DON'T GO ABOVE HIGH LIMIT""R:&@,@A"A"6-%}@T A^hSCAN TRIGGER FOR CHOICEr|T:&@,AWE HAVE ANSWER } D:P125P1.FIXhSCAN TRIGGER FOR CHOICEr|T:&@,AWE HAVE ANSWER b\pLOHIGPLAYEGUESSN@@@ @@@@A@GUESS A }NUMBERSET UP JOYSTICK DATA6-@ 6-@6-@ 6-@6-@6}-@PLAY THE GAME +(-@@2))(!I AM THINKING OF A NUMBER BETWEEN<( AND }. F(WHAT IS YOU GUESS:P%%6-P:H:,$@ ,%@RTGET THE PLAYER'S ANSWERVZ A}d-@@ n"AprWRONG GUESStu%%2A@@v-@@P} w%%2x  ( TRY HIGHER !( TRY LOWER  @CORRECT G}UESS( ՠԠ-@A  @0JOYSTICK NUMBER SELECT(DISCUSSED LAST ISSUE) }AR@P -( &-@L2A&@@&P :"+R:&@,!}"@,$+!,06-&@: A:"+R:&@,"@,$+ ,06-%@: AT:&@,A "}$ D:P127P1.BAS: A:"+R:&@,"@,$+ ,06-%@: AT:&@,A ./wERNUMERFILEXAERLINNXLINLINAXADDRESLIN$}&&;@,;@,;A,' B%'TO ERROR REPORT ROUTINE *** ERROR REPORT SYSTEM by***%} LEN LINDSAY (C) 1980YOUR PROGRAM GOES HERE((SET VARIABLE LINK TO THE BEGINNING$$BEGINNING LINE OF YOUR MODULES&}!!NEEDS A DISKETTE IN DRIVE 1''WITH THE ERROR FILES CREATED WITH $$THE ERROR FILE WRITING PROGRAM HHTHANK YOU T'}O COMPUTE,IRIDIS,ANDATARI FOR INFO USED IN THIS ROUTINE~M%6-AV$F:A,%F:A,76.=:F:A,,MERROR REPORT(} SYSTEM~*** NEEDS: DIM ERNUM$(5)~ *** DIM ERFILE$(12)~*** DIM XA$(100)~11*** USES SUBROUTINE 3)}2600 TO FIND NEXT LINE~&& ERROR NUMBER  IN LINE 6.D:ERROR67B:,%@,. B%`&* @*}@* B%p03)  ERROR NUMBER  IS NOT 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 }CLEAR SCREENN 4S BEg&O 4E P 4N Q-} 4L W B% INVALID RESPONSEX'6-'FIND NEXT LINE NUMBERY==*** ERLINE IS INPUT TO THIS ROUTIN.}E AS THE LINE NUMBERZ77*** NXLINE IS RETURNED AS THE NEXT LINE NUMBER]55*** BASED ON COMPUTE #4 PAGE 32 PROGRAM LIST/}INGbA%6-F:A6,%F:A7,$AVAGET THE FIRST LINE NUMBERl!!6-F:,%F:%@,$AVv"@6- 0}B& "6-@6-%F:%@, B& $ D:P131P1.BAS,$AVv"@6- Z25IERNUMERFILEXA*** ERROR REPORT WRITER*** (C) 1980*** LEN L2}INDSAY!!*** PUTS ERROR INFO TO DISK &&;@,;@,;A,Z }CLEAR SCREENd$$ WRITE ERROR MEAN3}INGS TO DISKn++ # GET OUT YOUR ERROR LIST - LETS GO-x7 A 3  WHAT IS THE NEXT ERROR NUMBER 7} 6-A:, 4}BEg6.D:ERROR67B:,%@,.0, $ PLEASE TYPE IN ITS MEANING & HINTS0 @@5}$$ }NOW WRITING ERROR NUMBER  @@ A  D:P132P1.BAS @@c0%AB @@A 2##;@,9@<@,F(P-@7}Z-@d 8<,n x  (STRING= (I="@ A (J=8}68<,- AP D5:P137P1.BAS(STRING= (I="@ A (J=90AB A @@@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,$AV4 D:P137P2.BAS@,%F:AA,$AV6-%@9AAP:'AV,9A@&F:*0WlAB@ --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%%A}6-F:A@,%F:AA,$AV6-%@9AAP:'AV,9A@&F:AA,$AV4 D5:P1B}41P1.BAS,%F:AA,$AV6-%@9AAP:'AV,9A@&F:AA,$AV4 D5:P1 @@@fBB@ Bt B @ @ @ ?aS@8@ @D}@@@@@@@@@@@@  @!@E}"@#@ MONGRAPH REV.2 JERRY WHITEFOR COMPUTE TUTORIAL0&;@ ,9@,9@,0 A F}g +@'0@@@A0@@@M6-@g0@@g +@'0@G}@@A0@@@M6-@g0@@96-@6-/6. M0NTHLY GRAPH}H9 @ a,@@ +/AX@ =/AX@uO/@@ua/@@  AKI}%6-F:A`,%F:Aa,$AVK6-F:%@,%F:%@,$AVb-B:,86-BsD%++@:7<,,&@2,$@J},N6-%$@ %%&b-@#%$@ F:%,  #$d#-@8,!#6-8,n xK}6-'@e6-@&6-@u&+8,',268,-P:,6 *B 6-P:'A,* A*AL} 6-P:'A,* A*A 6-P:'@,* A 6-P:,16-'@6-P:&,16-P:&+$@M},,-6-P:&+$@,,-6-P:&+$@,,3 6.=:,6-@&B:,)6-@3 @ !! @)!@N}A3 6.=:,6-@&B:,)6-@$3 @ 3 6.=:,6-@&B:,)6-@83 @ 3 6.=:,6O}-@&B:,)6-@R3 @ 3 6.=:,6-@&B:,)6-@f3 @ 3@'@@@P}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 Q} B R R Y N L G P T V C6-@6-&8,@%+$@,8,:/@%%+$@,8,@!!/@R}%%+$@,@uJ!!/@%+$@,@uT-@%+$@,8,^=Ae@=@@S}S:hA -@6@928,@= A '@@'@@9T} Am +'0@A0@@[0@mAR@U} (( MONTHLY GRAPH 4.(+( TYPE AMOUNTS FOR EACH MONTH: .(H+(( DO NOT USE NEGATIVE AMOUNTS +(5 A"V}(JAN=+68@,-5 B5 A"(FEB=+68@,-5 B5 A" (MAR=W}+68@,-5 B5 A"0(APR=+68@,-5 B5 A"@(MAY=+68@,-5 X}B5 A"P(JUN=+68@,-5 B5 A"`(JUL=+68@,-5 B5 A"pY}(AUG=+68@,-5 B5 A"(SEP=+68@ ,-5 B5 A"(OCT=+6Z}8@,-5 B5 A#(NOV=+68@,-5 B 5 A#(DEC=+68@,-5 B[}` $ D5:P145P1.BAS(NOV=+68@,-5 B 5 A#(DEC=+68@,-5 B2i~TIMEACOUNJIFFA`@@BTIMING BY JOHN VICTOR$$FOR ATARI COMPUTER VOICE TRAC]}K 9@,;@,(B@@R(TURN ON CASSETTE +-@@# START COUNTING...^}(?-@@?0@P:H:@,$@,@2'@'@ 7 F:Ad,@_}@U<=%6-AV$F:@,%F:@ ,.68,-= CHANGE #IAdAUK N)B@@`)SHUT`} OFF CASSETTEP5 5 *PRESS RETURN TO SEE TIME VALUES IN JIFFIESZd3-@@/ CHANGE #=8,3 a} D5:P151P1.BASSS RETURN TO SEE TIME VALUES IN JIFFIESZd3-@@/ CHANGE #=8,3 LM CLOCQUESTIONASQUESTIONANSWEANSWERRESPONSELINETIMNUMBECOLOLINECOUNAPA@A0 c}  (A@@ @ @ ##DEMONSTRATION OF ATARI TIMING##FOR TUTORIALS USING VOICE ANDd}TIMING LOOPS(PROGRAM DESIGN, INC.2I6-AP6-A@'6-A0ISUBROUTINE LABELS AND LOCATIONS<&&;@e},;@,;@@,do+@%@'-@F(@ BASIC TUTORIALd(@ DEMONSTRATf}IONo(@i (@ with voicen6-A  +((P,($This is a demonstration of the ATg}ARIP(computer's ability to utilize aU*("sound-voice track. I will ask fourR(#sample questions about ATARI BASCI.U(q} BP32P1 BASBP33P1 BASBP33P2 BASBP34P1 BASB P34P2 BASB#P47P1 BASB ;P49P1 SUBBEP50P1 SUBBYP56P1 BASB\P56P2 BASB_P58P1 BASBbP58P2 BASBeP59P1 BASBhP60P1 BASB oP62P1 BASByP71P1 BASBP77P1 BASB P83P1 BASBP86P1 BASBP89P1 SUBB P91P1 BASBP97P1 BASBP103P1 BASBP104P1 BASBP104P2 BASBP107P1 BASBP112P1 BASBP116P1 BASBP118P1 BASBP123P1 BASBP124P1 BASB P125P1 BASBP125P1 FIXB P127P1 BASB#P131P1 SUBB1P132P1 BASB6P137P1 BASB9P137P2 BASB=P141P1 BASBP145P1 BASB\P151P1 BASBbP152P1 BASBP166P1 BASBP165P1 MODBP165P2 MODBP165P3 MODB~P170P1 BASBP170P2 BASBP172P1 BASBXTEST DATbP151P1 LSTF*("Place audio cassette in player andC(rewind to beginning.F(**("Befor starting this demonstration,))(!make sr}ure that the PLAY button is--(%pressed down on your cassette player.(( ($(PRESS TO START.(, 6-s}At  6 6-A  @ 6-A  J 6-A  T 6-AS  t} +@'0@@A0@@S-@q(@ END OF DEMO }6-A u})B@@`)SHUT OFF CASSETTE + ANSWERING SUBROUTINE )B@@`)SHUT OFF CASSETTEv} ((YOUR ANSWER IS  0 4(>:AS,(&(CORRECT!0 A1 ((NO, THE ANSWER IS  +('(PRESw}S TO CONTINUE...+& -B@@R-Turn cassette back on0 $Question subroutine +"x}40@@((.( QUESTION #1(4(-@"( $TIMING LOOP9@y}'@ 9SETS CLOCK TO 0--F:@,$AV%F:@ , AP$pll1,5,3,CLOAD,What is the usual z}BASIC command to,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,CSAV|}E,What is the most commonly-used ATARI,BASIC command used to record programs,to cassette tape?>>5,14,2,NEW,What command w}}ipes out the program,in memory? D5:P152P1.BASused to record programs,to cassette tape?>>5,14,2,NEW,What command w5 PAUSd6-F:Ad,n1 (I=1PRINT THE VALUE OF THE KEY PRESSEDxAAdAU}67 ARRAYFILENAMEDISKFILECOUNCHOICLOOGKERASPAUS} *** MENU (44 PROGRAM MAX)*** (C) 1980 LEN LINDSSAY *** LAST REVISION 11-15-80}FFԡŠ٠ĠϠŠĠҠҠӠή 11;A(,;@ ,;@ ,;@,9}@'@@89DEFAULT MARGINS4 +4CLEAR SCREEN AND GO INTO TEXT MODE 0"AR@}"CURSOR OFF(Q0@@@70@@@Q0@@@2/ 6.D1:/THE DISK TO BE U}SED FOR A MENU<: 6.:THE NAME MUST START WITH THE DISK DRIVE NUMBERFA67B:,%@,.*.*ALOADING D1:*.* GIVES D}ISK DIRECTORYdE @@EOPEN THE DISK DIRECTORY FOR A READn"6-"INITIALIZE COUNTx)@})READ NEXT PROGRAM NAMEKB:,@AKNOT A PROGRAM - THIS IS THE SECTORS LEFT COUNT$6-%@}$ADD ONE TO COUNTm"@#!@@3-@mSWITCH TO RIGHT HALF OF SCREEN (CHANGE LEFT MARGIN TO}O)K!@D6-@D% A KTOO MANY PROGRAMS-JUST KEEP READINGd6. dINITIALIZE THE NAME FIE}LD TO ALL BLANKS EXCEPT THE DOT BEFORE THE EXTENSIONe7@<@,4 767@ <@ ,. eTHERE IS NO EXT}ENSION SO GET RID OF THE DOT_+67@<@,.7@<@,_ASSIGN THE FIRST 8 CHARACTERS OF THE PROGRAM NAME橋}Z+67@<@,.7@<@,ZASSIGN THE THE EXTENSION OF THE PROGRAM NAME,a @  aADD AN EXTRA} SPACE BEFOR THE SINGLE DIGIT NUMBERS TO ALIGN WITH2 DIGITS6 > PRINT FILE NUMBER@   PRINT THE PROGRAM NAME}S67B:,%@,.SADD 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 ONF-@@"&  RUN NUMBERFPRINT MESSAGE ON MESSAGE LINE 2@@2SET LEFT MARGIN }TO DEFAULT..GET THE NUMBER OF THE PROGRAM TO RUN# 6-P:,#GET RID OF FRACTIONS&7 @)!A7OUT }OF RANGE OF THIS MENUXU 6.UTHE NAME TO USE WITH A RUN STATMENT MUST BEGIN WITH THE DISK DRIVE NUMBERbW&6.7$@}&@<$@,WTHE NAME OF THE PROGRAM INCLUDING EXTRA SPACESl-@@v)7<,0 )67B:,%@,}.7<, ' A 'SET TRAP FOR DISK ERRORF-@@"&  LOADING FPRINT MESSAGE ON MESSAGE LINEک}1% BEg1RUN PROGRAM AND TURN OFF TRAPH-@@"(  CAN'T RUN HPRINT MESSAGE ON MESSAGE LINEA}-@A  ADELAY TO ALLOW TIME TO READ MESSAGE A GO AND TRY AGAIN D:P166P1.BASGE LINEAp6DRIVNAMEDISKSDISK2!! }WHAT DISK DRIVE TO USE)3;#@@}K:;OPEN KEYBOARD FOR GET4: @R)@:GET KEY PRESSED ATASCII VALUE5> 6.>:,>CONVERT TO STRING }- USE NAME$ SINCE IT IS DIMed6%21)34@R%TRY AGAIN7 PRINT THE REPLY8@CLOSE THE FILE9}! 6.Dl:!INITIALIZE STRING:067@<@,.0INSERT DRIVE NUMBER D5:P165P1.MODCLOSE THE FILE9d7DRIVDISKARRAYCHOICK6-@KINITIALIZE FOR A TWO DRIVE SYSTEM - DRI}VE 1 WILL BE FIRST 6.D1:INITIALIZE286-@&8SWITCH DRIVES, WILL DO DRIVE 1 FIRST7867@<@,.}=:,8PUT CORRECT DRIVE NUMBER; @PTRAP DISK ERRORi 6. INITIALIZEs }CLEAR SCREEN.@}@.LEFT MARGIN TO DEFAULT .-@@". 0=NEXT DRIVE WHICH 6"@P6SWITCH DRIVES ON CHOIC}E OF 0 D5:P165P2.MODULT .-@@". 0=NEXT DRIVE WHICH 6"@P6SWITCH DRIVES ON CHOIC"7NAMEg4DOS.SYS. D5:P165P3.MODE WHICH 6"@P6SWITCH DRIVES ON CHOICEATELL THE COMPUTER THAT NO KEY WAS PRESSEDO-@A OSLOW DOWN THE MACHINE SO YOU CAN REAS THE RESULTS} A D5:P170P1.BASWAS PRESSEDO-@A OSLOW DOWN THE MACHINE SO YOU CAN REAS THE RESULTS u can read the results ^^^ A D:P170P1.BAS^^^X-@A X^^^ Slow down the machine so yo=0pJOYSTICPAUSd(6-A(LOCATION OF SUBROUTINEn CHECK THE 'JOY}STICK'x##(THE 'JOYSTICK' HAS VALUE=&&(THE 'FIRE BUTTON' HAS VALUE=-@A  A}JOYSTICK SUBROUTINE6-F:Ad,6-@AdAU"@6-@$"@y6-@}$$"@6-@$."@q6-@$8"@6-@$B"@p6-@ }$L"@6-@$V"@x6-@$`8"@36-@'6-*$8FIRE BUTTONj6}-@$ D:P170P2.BASV"@x6-@$`8"@36-@'6-*$8FIRE BUTTONj6!  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:P172P1.BAS!6.SELECT $$$!6.START $$$!6.NO KEYS ARE PRE 30 GRAPHICS 0:POSITION 2,635 PRINT "START COUNTING..."40 FOR COUNT=1 TO 15:SETCOLOR 2,INT(RND(1)*15),450 POKE 19,0:POKE 20ɵ} D5:P47P1.BAS4H6-@$ 4D6-$ Ap A  ԠҠ $@!@"@#@$@%@&@'@(@)@0@1@2@3@4@5@6@7@8@9@@@Aű}@B@C@D@E@F@G@H@I@P@Q@R@S@T@U@V@W@X@Y@`@a@bŲ}@c@d@e@f@g@h@i@p@q@r@s@t@u@v@w@x@y@ų}@d@e@f@g@h@i@p@q@r@s@t@u@v@w@x@y@ !0089 D5:P71P1.BASL DUMP@Q.0083,A9,9B,. LDA #EOLJQ .0085,20,*F6A4,.JSR OUTCHRTQ.0088,60,. RTS^Q<,055 IF PEEK(764)<>12 THEN 5560 JIFFY=256*PEEK(19)+PEEK(20):TIME(COUNT)=JIFFY:PRINT "CHANGE #";COUNT73 POKE 764,25575 NEXɶ}T COUNT78 POKE 54018,60:REM SHUT OFF CASSETTE80 PRINT :PRINT "PRESS RETURN TO SEE TIME VALUES IN JIFFIES"90 INPUT A$100 Fɷ}OR COUNT=1 TO 15:PRINT "CHANGE #";COUNT;"=";TIME(COUNT):NEXT COUNT200 END TO SEE TIME VALUES IN JIFFIES"90 INPUT A$100 FL