@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`  `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  } 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 ALLOWED736 FREE SECTORS COPYING---D1:DIRECK.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- 138ɛ+,' 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 D8u THE DISCOVERY INCIDENT By David Woolley You awake suddenly, and find yourself with slight amnesia. The only thinT}g you can remember is that you are captain of the starship Discovery, which should be on a direct course from the star U}system Nu Draconis to Earth. But what has happened while you were unconcious? Why has the crew mysteriously disappearV}ed? And does the strange, alien cannister in the launch bay have anything to do with it?XXX Your job is to find out whW}at went wrong aboard the Discovery, and, if possible, correct the situation. You use one- and two-word commands, withX} the basic sentence structure of a verb and a noun. In this adventure, you use the standard commands of GO (followed bY}y a direction), GET (followed by an object), and INVENTORY (which displays a list of your current objects) and othersZ}.XXX You'll find The Discovery Incident on disk as ADVENT.BAS. You can run this game directly from the disk, but it[} you want to SAVE your games you MUST copy this program to another disk containing the DOS.SYS file. When you firs\}t RUN the game the menu will appear, with options 0-4: 0- PLAY GAME 1- LOAD GAME 2- SAVE GAME 3- SWAP SETS 4- LEA]}VEXXX Option 0 starts the game where you left it. To return to the menu during the game, simply type MENU. Option^} 1 loads a saved game, and option 2 saves the game in progress. If you are using a cassette data recorder, add these _} lines: 9155 OPEN #A2,A8,O,"C:" 9185 OPEN #A2,A4,O,"C:" This will SAVE and LOAD from tape instead of disk.XXX`} Option 3, swap sets, toggles between the special character set I designed, and the standard Atari character set. a} Option 4 returns you to BASIC, clearing all variables.XXX Playing the Game Select option 0. The screen turns blacb}k, and at the top of the screen is a short description of your present location, including any nearby objects that you c}could carry. Note: the items listed beside OBJECTS are not the only objects in that location, just the ones that youd} can pick up. You can still manipulate other objects described in the text.XXX When referring to items you can pick e}up, always use the name that is listed under OBJECTS, but when referring to items listed in the description, use only of}ne word. So, when you are talking about the alien cannister, use CANNISTER. You can use several commands to move ig}n a certain direction. For instance, to go up a ladder you could type GO UP, UP, U, or CLIMB LADDER. Other commands yh}ou will use frequently are GET, DROP and INVENTORY. To repeat your last command, just press [RETURN].XXX Program Tai}ke-Apart All verbs and nouns are assigned a number. This is done in the subroutines from 8030 to 8060. The prograj}m finds the number by sorting through either the ACT$ string for verbs, or the OBJ$ string for nouns. The number of thk}e command is its starting position in the string. So, the number for the verb INVENTORY is 13, because ACT$(13,15)="l}INV". Note that only the first three letters are used. The variables VB and NN are made equal to these 'command numberm}s'.XXX A set of variables, A0-A9, O, and LI, are established in the first line, and are used in places to refer to nn}umbers. This is to save memory. So, instead of using 0, we use O(see line 3), A0 instead of 10(as in line 9077), and Lo}I to refer to line 52, which is often used.XXX The custom character set was designed to add "character" to the gamp}e. Lines 9036 to 9045 contain data for numbers 0-9, and lines 9046 to 9071 contains data for letters A-Z.Line 9072 conq}tains data for the ? character, and lines 9073-9074 contains data for characters ( and ). If you have no experience r}with custom character sets, try reading the article Ultrafont (Antic August 1986), or take a look at Instedit(AP0117) s} from The Catalog.XXX Which line the object is on depends upon its position in the OBJ$ string. So, WATCH is at linet} 11019, because WAT holds the positions 19-21 in OBJ$. The coordinates of each object that can be picked up and movedu} are contained in the two-dimensional array OBJECTS, which is DIMed to a maximum of (11,3) because there are 11 objecv}ts that can be TAKEn, and there 3 coordinates. So, OBJECTS(3,x) would refer to the Manual, because it is the third ow}bject in the OBJ$ string. Take a look at this:XXX OBJECTS(3,1)=7 OBJECTS(3,2)=4 OBJECTS(3,3)=3 This means that x}the Manual's coordinates are (7,4,3).If the player was carring the Manual, then three zeros would be placed into OBJEy}CTS(3,1-3). The starting position of each object is placed into the array at lines 9900 to 9925. into OBJEr./APDVVTMAINNFNMMSANNO {}  |}BEAM ME UPBY STEVEN GINZBURG##(C)1989 ANTIC PUBLISHING INC.;A(,;@, }}6-@ A"67<%@ ,."$ R +@AY@F1ACB2VRT ~}ITLE SCREEN ;( ( ((;(&9AR@'A @9AA }-@""(@ BEAM ME UP B2VB2HA ##67@< }A,.$<~<$$(6-A A 2;((by Steve Ginzburg(;( PRESS START<:@@d' }B7t@d:DISBLE BREAK KEYF1 F:B2y,"@@p1WAIT FOR STARTP$d6-F:A,&@6i A }Pn Ax(6-(INITIALIZE PM GRAPHICSA#@A@B2w@ }BBy @%67@,.%67A(,.67@,.'@'@  A }DRAW SCREENAY@F,*B2xB2H*MOVE ROUTINE.)@w)STOP ATTRACT MODE1 } AH:,$AU6967<%@,.$<~<$$9PUT CHARACTER ON SCREEN@ @FAJ1 A }6-&@D16-$@&@#LF6-+$A`%,'@26-+&P:,,$@=6-P:,%F6-F:,NAA }PY>6-?:C:.̥ FF8%̩ͅ8 FFh`,,YML ROUTINE - BIT DECODERR6-F:A, BT }[+F:B2y,"@)F:@,"@5 A ? A[IF TIME OUT OR OPTION HIT^!!"@*"Aph }1"@ @'6-&@1 ArB2x|*-@ *6-F:B2R,%"*+@ })",/ @=6-%@W6-%@%+!@,y2@2@@ }6- A'6-@'6-!!!@* @AvT:,"" @ }06-%@< @J6-&@v2@A&$@@@FT:,"@$6- }F2@I6-R:,&"@AEIREAD JOYSTICK AND ADJUST X AND Y @b; }6-%@$+ @,&@$+!@* @,@(b2A@@++@*@*@ }AE|S6-%@$+P:'@,$@"&@,&@$+P:'@,"'@,X(|2Au&@ }@%%2 Ai+@%@76-F:A`,%AV$F:Aa,IAY }[B2HiLOAD SCREEN-A@+F:%,"@)F:%,"@%@d@%F:%,&@ }) )6-F:@,%AV$F:@,AY6-%@! A!"@A6. D }:LEVEL .PIC67@<@,.=:, @@! B&6-?:C:,,06-A6-A }5@:AY@FD$XSTART STRING USEAGE A$b%%6-F:A4,%AV$F:A5,l996-+$AV }%A,&F:A@,&F:AA,$AVv%@P:'AV,&&%@&P:'AV,$AV067@,. }%67A(,.0CLEAR A$67@,.$A%2@16-@ADEATH ROUTINE }-@@5&6-H:,&A$AU''2$AU@@A%A&A' } A00B2H!B2V-6-@0$8B2H&@)B2V@56-@8$8B }2H&@)B2V@56-@8$ %%2 A,;AB,,ML } ROUTINE TO LOAD SCREEN #A-A6AV  "   GG162,16,169,1,157,72,3,169,0,157,73,3,32, }86,228,48,1,96,104,104,96*@@6.6hBDEHI  <4OO67@U,.<  }   ĩ>OO67A,.:AU,\QQ67A),.>`Rɥ }Pee`/eefGG67A,.4(eeЕeep }$5&-@%@ $+(,%@5BEAM ROUTINE%%2@;6-?:C:h ҍ`,,;GET }RANDOM NUMBER AND PUT IN 70467<,.>:F:A,,2@@ 7%2 }7A@""-%@@6@67<,. A@<6-A6-A }'6-@9@<$ + WIN GAME ROUTINE*AY*AF:A,AR@ }))(!   (((     ))(!   } 9AY@F!6-A967A,.$<~<$$<-@@"<(" YOUESCAPED+ }B2HA !6-@+ A -@@"($!-@!6-A)-@. }2@@8 (B--A )6-&@ - L6- A D:BEAM.BAS }@@8 (B--A )6-&@ - L6- A D:BEAM.BAS P**ARRAYARRAYDUMMYCATFIELDCOROSIZFASCIASCIICATOTATOTALNONCHOICVVTVNTCOUNALINEPRTOTA}LWIDEFIELDTOTALTOTALBLANKFIXEPERIODIELDRESERVERESERVAHLSTRDRIVA< p 0`Q}@@@r@2 @ @ @2 @ @@@@@}@A@y A  !@"#$}%&HH'()A* +,-./0@12@I00BUDG}ETIZER.V4 BY L. BRILLIANT M.D. 3/22/89%%(c) 1989, ANTIC PUBLISHING INC. {{9@Y<@,;@,;@,;}@,;A ,;A2,;@ ,9@,;@,;@r,D9@,$6. D1:BUDGET.DATD@@}K:!!(} <1> DISK DRIVE OR <2>?(.)@. @I)!@P@@27 6-#67@<@,}.>:,- B7 AZdA@@(&}PRESS TO CHOOSE. PRESS d(AFTER EDITING. NO CHANGE WIHOUT}[;&(RETURN. PRESS TO GO BACK.8A@$;$_F -)@-7(>:%A($+ A(,,:$FCURSO}R ON`G -)@-7(>:&A($+!A',,:$GCURSOR OFFdc(} çӠҠ"(6(1. PRINT BU}DGET9(E(2. EDITH(T(3. SAVEW(c(4. QUITn:AU@'AR*(:( CHOOSE ONEx.)@.} @I)!@RA 2(2&@HAPA A`Ap&EDIT CATEGORIESHAU@}'AR@H(} ** EDIT CATEGORIES **Z(( 2-@@>-@D(|P-@} V(|Z 5-@@ +(5 @s6-P:B:,'@,#6-@/6-@;6-@}G6-@S6-@2_6-@s"A @Z-&@--@%@V(7$@%@}<$@%@,Z ! @ A P! A#AdAU'F:B2y,"@$6-@'$ F}:Ad,"AUA Q )@ 8F:A,"A(*A86-&A(8F:A,@d*}A@d86-&@2 "AU6-@$*"@'6-@$/G"A&*!@# @1}6-&@7-=(G A P4E"@0*!@# @16-&@; @E A P>G"@1* %@}% @36-%@= @G A PHE"@(*!@# @16-&@; @E A PRG}"@)* %@% @36-%@= @G A P\ )!A Pf@ -(>:,,6-%@$+ %@},6 @@ A P-6-&@-A)A#PA.  A% A  J @A@8}(} JA@$ `6-#-@@7-@%@>(R-@%@`}6-%@ T-@@$)@067,.>:,4 TAU(+F:AU,,$@  ! A& A%} 6647$@&@<$@&@,A% ?4 +AU@5 A&P? A% ..67}$@&@<$@&@,. !-@%@(|!  $( *4 '6-&@*$2 7#6}7@<@,.>:,767B:,%@,.< g67$A %@,.;67+%@,$A ,.g67$A %@},.7$A %@,F 6-%@$Z vA@v([}DELETING A CATEGORY WILL ALSO DELETE ITS FIELDS AN}D RECORDS. PRESS TO DELETE, d ( TO ABORT.n )@x 1"@''''A@$1 A } AUA&p 6-&@ C6-&@"&@967$@%@,.C A'@ //67$@%@},.7$@%@, i/67$@p%@,.7$@p%@q,@67AQ,. Q67A ,. i67AR,.7}AQ, )"@67A6,.) A'P //67$A %@,.7$A %A!,  (}A@$$}T  @ A0^ F:B2y,"@A)h A @ EDIT FIELDS EAU@'AR@}E(} ** EDIT FIELDS ** R(( *-@@6-@<(|H-@N(|R  ( } @ 16-@:7$@%@<$@%@,,=6-@I6-@U6-@a6-@m6-@2}y6-@"A0@ n-&@--@%@j(7$@p%$@%@<$@p%$}@%@,n   @ A P -6-&@-A9A3PA   A5 A0 J @}A@8(} JA@$ `6-#-@@7-@%@>(R-}@%@`6-%@ T-@@$)@067,.>:,4 TAU(+F:AU,,$@ BB47}$@p%$@&@<$@p%$@,A5  ! A6 A5 74 #AU@- A}6P7 A5 ::67$@p%$@&@<$@p%$@,. !-@%@(|! $"4 } 6-&@"$$y:67$@p%$@&@<$@p%$@,.H6-%@v67$@%@<$@}%@,.>:,y$Bk67$@p%$@&@<+%@,$@p,.7$@p%$@%@<+%@,$@p,}67$@p%@d<$@p%@p,. Lk67$A %$@r&@q<+%@,$A ,.7$A %$@r}%@<+%@,$A ,67$A %AH<$A %A ,.VP6-&@?67$@%@<$@%}@,.>:,M6-&@P$< @ A@F F:B2y,"@A9P A0@EDIT DATABA}U@'AR@B(} ** EDIT DATA **Q(( )-@@5-@;(|G-@}M(|Q ,-@@"(, @55JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC9 #A@}!-@@%"1-@5(9 K6-$@%'-@;-@%@G(O:8<,,K K6}-@6-@'6-@36-@?6-@HK6-@X @ A P) @)A@@ACP}A0 AE A@J @A@8(} JA@$F-@@}+-@%@2(F-@%@T-@@$)@067,.>:,4 TAU(+F:AU,,}$@768<&@,-A:,--@%@3(|7 5-@@58<,8<,AE`   }$:'-@368<,-8<,$6@7 :$ PRINT- B-@@P:%(} } ** PRINTING **"(%(5(ENTER TODAY'S DATE:  2AR@5(G(@(@<(@BU}DGET PRINTED G(@oo(@] JAN FEB MAR APR MAY JUN JUL AU}G SEP//(@ OCT NOV DECM-&@M(@7$@%@<$@}%@,36-@:7$@%@,,3"AQ-&@)6-$@%`(@ 7$@}%@<$@%@,t-@(@O:8<,, (@   MA@.(}} @A@$M(@;6-6-'6-;-@-}$@ "6-8<, "6-%!6-%M 68,-$6@!6-%-6-MAU}(+F:AU,,$@P/ 6-P:'@,/6-'@$6@ZK(@FIXED+-@<(@P:},@ K(@dL(@PERIOD,-@=(@8,A L(@n](@$(@T}OTAL8-@N(@P:8,%,R ](@x=6-#-@06-&8,%968,-= }56-#-@,8, 56-8, 5 #-@168,-8,&5 [(@}$(@RESERVE8-@L(@P:8,,P [(@_(@T(@MIN MONTHLY INCOME=}%BALANCE _______________(@u1(@BILLS DUE -______________<(@j(@B}ILLS OUT +______________u(@<1(@RESERVE -______________<(@11(@AVAIL }BALANCE ______________.(@>:@,$@. Ap SAVEz6AR@6(} ** SAVING TO} DISK **16. D1:BUDGET.DAT167@<@,.>:,* B*@@P @0(@}7@<$@p,P(@7@<$A ,@ AX QUITb%%(DATA NOT SAVED. QUIT? l$)@$"@xAv@Ap ( }BUDGETIZER'W%6-F:A4,%AV$F:A5,>}%@F:%@,W%@F:%@,$'+%@A$+%@@.'@67@,.%67AC ,.}467@,.:6.@6.3'467@,._%67A2,._467@,.8'""@@S='* B}*@@B'$@$6-P:B:,'@,L'W 6-C:,6-P:'AV,-6-&$AV?Af@}KAhWAiQ'J6-$@p"6-P:'AV,26-&$AV>ArJAsV'B67,. !6-?:C}:h LV,,.)@BAUB`'W 6-C:,6-P:'AV,-6-&$AV?Af@KAhWA}ie'J6-$A "6-P:'AV,26-&$AV>ArJAsj'!6-?:C:h LV,,!@~'"6.>:@},"6. BMQ'467@,._%67A2,._467@,.'$*+@+F:A,ApB }+6- B +J3( }DISK ERROR #F:A,. PRESS ANY KEY.@)@J BE\+a@;((}SOMETHIN}G IS WRONG WITH THE DATA FILES.^(ERASE 'BUDGET.DAT AND RESTART.a+=&(}PRINTER ERROR. PRESS ANY KEY.3)@= A}$,U@>( }DISK ERROR #F:A,. PRESS ANY KEY.K)@U A D:BUDGET.BASA@A@A}@A@A@A@A@A@A@A@A@A@@@@@@@@@@@@@} }}HOME PERSONAL TRANSPORTATION RENT PG&E PHONE FOOD } CLOTHESCOMICS BOOKS MISC AC PASSMISC }A@A@A@A@A@A@A@A@A@A@A@A@@@@@@@@@}@@@@ }}}}```}````````@ @ @ @ @ @ @ @ @ @ @ @ @}@@@@@@@@@@@@ @ @ @ @ @ @ @ @  }@ @ @ @@@@@@@@@@@@@@@@@@@@@@@@ } } }@T@T@T@T@T@T@T@T@T }@T@T@T@}}}}}9@@ N KJ P H F OI I eJ \M M tH \H \HM ȑiΗ \HΘڢ 6N 6N}}󅂩R #J #JS #J #J N N"S L 7Bε Ix}@AI;SGS qA ;SGS qA9SES qA 9SES q}AL@ C` C`9S;S BL'B5S7S B)S M9S5S;S7S)S5S7S} B'SI'SAB}'SR}#SESASGSCS%S M ZB`Ɂ )-SLA5S7S BB}#S C`)SɁ}T)S/SSSS #JSI}YS #J O`-SLJ` H6 \H \}H` kH6 HBC H`C \`MS C`MS N9S;S O B},Ɂ)? IOS OR5S9S7S;SASESCSGS`?-(}ԩ \H WN΢CDLELE #DΪLE` BOSR}OS E`R0 m)8R0 m)8 B}/Ɂ)? IDEOS OIR`85S87SWS }H6 H}T< H H HΫLE2S /S2S eO} OLb䮪 0 2EFLFɁLF)?  LFI/S=S5S9S? }S7S;S-S)S BB}#S MIISASESKSCSGSTSSRIiii}!}YS Ȯ}MSFG` H68 6 \H H \H \H \H \H/ 1 \H H"} \H )=S \H6 )1S %H 4i1S %HLOG#}͑ LbGΐGH1SRI +HLOG1 H6 \HR \HΗ`$}R)1SJ MH`1SJ \H`8`mi```T```mi`mi`%}mi```xHIx扩P&}xaQ惠I`pԩ>/Щs Jv(惩s('}P ЩЍЩ4ЩЍЭ`/0|1R|IJ|7R|XTYWT J>/(}`` tH \H \H0`(ʍF`uJ`H ԭЩ̍ЩJ)} h@HuJ ԩx ԭЭh@ҍ L tHP \HJKUS \H'R \HΗ멌P*} OQS m IΒΓ֭ I tH \H+SI M+S+} L"SLK"S Lhh F=S5S9S?S7S;SISASESKSCSGS-S)KLS/S2SMSNS tH \H,}'Ld@JR0P O  tH< \HWS \H WN2 LΙΠ LΒ-}L:Lҍҍ"S+S ,S tH \H`Γ` LMtH< \HWS \H .}\H` LI LI S #Jȩ6m"S  O LΒ`> Nj Nj5/} N>5 N> N%S MΒ`ASCS N`RMN Sm40}m NоЯ` tH \H}YS}MS`SS녂R #Ji` N1}̗ \H N̗̗`mi`` B V`BNO JKݝDNE V`S:2}UT`HI B V`UT`B V` șҽ*8 ҽ`o҈`҈`23}ҩ` "7i ș҈`8 ș҈` ) `ҍOP`4}`) ҍ`iȱ  `lll`llll`l5}lQ`Q`llll`lyy/( Jp\\\f\PQ(\\&\6}A\\\\0\1|R>/ҩҩ0P O B 7}ҍ`<<<< p<~Z<$$<~<$ <~X<$X~X~<&b~X~X}0 ; Lo, Hi of count.0100 ;0110 MEMPTR = $CB ;Memory pointer.0120 SRCH = $CD ;Search pointer.0130 AMOUNT = $CF ?};Number to bottlenecks to get.0140 PBSAV = $D0 ;PORTB save location.0150 LAST = $D4 ;Last highest bottleneck.0160@} COUNT = $DA ;Line # counter.0170 ADSAV = $DC ;Search address save location.0180 BTNK = $DE ;Bottleneck stringA} address pointer.0190 MAYB = $E0 ;Holder for a possibility.0200 PORTB = $D301 ;For bank selection.0210 ;0220 *B}= $9A000230 ;0240 ; This sorts through all the0250 ; counters in extended RAM and0260 ; send the specified number of02C}70 ; entries to the buffer for a0280 ; report to the user.0290 ;0300 PLA 0310 PLA ;Get the passed0320 D} STA BTNK+1 ;string address.0330 STA ADSAV+1 ;For search.0340 PLA 0350 STA BTNK0360 STA ADSAV0370 E}PLA ;Get number of0380 PLA ;bottlenecks to0390 STA AMOUNT ;find.0400 LDA PORTB ;Save PORTB.F}0410 STA PBSAV0420 ANALYZE0430 LDA #0 ;Start from 00440 STA COUNT ;and go through0450 STA COUNT+1G} ;32767.0460 STA LAST+2 ;Clear last0470 STA LAST+3 ;bottleneck.0480 CHECK0490 LDA COUNT ;Move counter050H}0 STA MEMPTR ;to pointer.0510 LDA COUNT+10520 ASL A ;Multiply by0530 CLC ;two to get0540 I} ASL MEMPTR ;address in0550 ADC #0 ;extended RAM.0560 CMP #$400570 BCS SB1 ;Select bank 0?0580 J} LDY #00590 BEQ SELC0600 SB1 CMP #$80 ;Select bank 1?0610 BCS SB20620 LDY #10630 BNE SELC0640 SB2 CK}MP #$C0 ;Select bank 2?0650 BCS SB30660 LDY #20670 BNE SELC0680 SB3 LDY #3 ;Select bank 3.0690 SELC L}AND #$3F0700 ORA #$40 ;Find counter0710 STA MEMPTR+1 ;in RAM.0720 TYA 0730 ASL A ;Bank * 4 + 193M}.0740 ASL A0750 CLC 0760 ADC #1930770 STA PORTB0780 LDY #10790 LDA (MEMPTR),Y ;Check count.080N}0 BNE NOTZ0810 DEY ;Equal zero?0820 LDA (MEMPTR),Y0830 BEQ NEXT ;If so, ignore.0840 INY 0O}850 NOTZ0860 LDA (MEMPTR),Y ;Is this0870 STA MAYB+3 ;counter greater0880 CMP LAST+3 ;than the last?0890 P} BCC NEXT0900 BNE SEEK ;Yes.0910 DEY 0920 LDA (MEMPTR),Y ;Check lo0930 CMP LAST+2 ;byte.0940 BCCQ} NEXT ;No.0950 SEEK LDY #0 ;Load lo byte0960 LDA (MEMPTR),Y ;if not done.0970 STA MAYB+20980 LDA COUNTR}+10990 STA MAYB+1 ;Store counter.1000 LDA COUNT1010 STA MAYB ;Save it.1020 LDA PBSAV ;Switch back tS}o1030 STA PORTB ;normal memory.1040 LDA ADSAV ;Restore search1050 STA SRCH ;address.1060 LDA ADSAVT}+11070 STA SRCH+1 ;See if counter1080 LOOK LDY #0 ;is already in1090 LDA (SRCH),Y ;the string.1100 CMP MU}AYB ;Lo bytes =?1110 BNE FAIL1120 INY 1130 LDA (SRCH),Y1140 CMP MAYB+1 ;Hi bytes =?1150 BEQ NEXTV}1160 FAIL1170 LDA #4 ;Check next1180 CLC ;entry.1190 ADC SRCH1200 STA SRCH1210 BCC *+4W}1220 INC SRCH+11230 LDY #0 ;End of string?1240 LDA #$FF1250 CMP (SRCH),Y1260 BNE LOOK1270 X}INY 1280 CMP (SRCH),Y1290 BNE LOOK1300 LDX #3 ;Move MAYB to1310 MML LDA MAYB,X ;LAST.1320 STA LASTY},X1330 DEX 1340 BPL MML1350 NEXT LDA PBSAV ;Switch back to1360 STA PORTB ;normal memory.1370 INC COUNZ}T ;Increment to1380 BNE NXT ;the next1390 INC COUNT+1 ;counter.1400 BMI *+5 ;Count=32768?1410 NXT J[}MP CHECK1420 LDY #3 ;Store the1430 STR LDA LAST,Y ;counter and1440 STA (BTNK),Y ;number to the1450 DEY \} ;string.1460 BPL STR1470 LDA BTNK ;Add four to1480 CLC ;bottleneck1490 ADC #4 ;st]}ring address.1500 STA BTNK1510 BCC *+41520 INC BTNK+11530 DEC AMOUNT1540 BEQ *+5 ;Done?1550 ^} JMP ANALYZE ;Find next one.1560 RTS ;All done, exit.*+5 ;Done?1550 f WELCOME TO THE ANTIC MONTHLY DISK (c)1989 Antic Publishing Inc.Most of the program!`}s on this disk arewritten in Atari BASIC. Some requirespecial hardware or specific operatinginstructions. Please read the !a}matchingissue of ANTIC Magazine for completedocumentation.SUBSCRIPTION Info & Orders:(800) 347-6969.BACK ISSUE Orders:!b} (800) 234-7001(Visa or Mastercard only, please.)XXX *** WHAT YOU NEED TO KNOW *** (about this months disk.) SID!c}E A: PROFILE1, 2, and 3 are all part of the Super Bottleneck Breaker. You must use them together in the proper ord!d}er, with another BASIC program that you want to test. See the article for details. CAPTURE.OBJ must be transfered !e}to another disk with the file DOS.SYS on it. Rename CAPTURE.OBJ to AUTORUN.SYS. Then reboot the computer without BASIC!f}.XXX QDIRMAK.BAS must also be put on another disk before you RUN it. When RUN, this program will write a file QDIR!g} on the disk in drive 1. All files from LEVEL1.PIC to LEVEL9.PIC belong with BEAM.BAS. Therefore, you must keep th!q}B%DOS SYSB*)DUP SYSB'SADVENT DOCB.zBEAM BASBWBUDGET BASBBUDGET DATB)CAPTURE OBJB#<CNTANL M65B_DOC TXTB@FINANCE BASB FUSEBOX DOCBHELP BASBLEVEL1 PICB LEVEL2 PICBLEVEL3 PICBLEVEL4 PICBLEVEL5 PICB LEVEL6 PICB&LEVEL7 PICB4LEVEL8 PICBDLEVEL9 PICB UMEMCLR M65B^MENU BqPROFILE M65B PROFILE1BASBPROFILE2LSTBPROFILE3BASBQDIR M65 QDIRMAK BASem together. They contain the pictures for the game, and cannot be RUN. Furthermore, this side of the disk contain!r}s several MAC/65 files ending with .M65. These files contain source code and cannot be run.XXX SIDE B: OK, boys!s} and girls, ladies and gents. Here you have it! The best picks from our Adventure Contest. Just RUN these programs an!t}d begin exploring. You can read the instructions for the games by selecting files ADVENT.DOC and FUSEBOX.DOC from HELP.!u}BAS on side A. We were forced to exclude the help file from side B, since the adventure games fill up the disk.XXX!v}The menu that appeared on the screenwhen you booted the disk will onlyRUN programs with a .BAS extender.If you try to!w} run a program and theresponse is 'cannot run Filename',check the file extender with thislist:XXX.BAS BASIC saved pro!x}gram, use menu RUN or LOAD and RUN..LST BASIC listed program, ENTER then RUN..EXE Assembly language 'Load!y} and Go' file. Remove BASIC, boot DOS, type L then enter the filename..CTB Compiled Turbo Basic progr!z}am. See the corresponding article for complete information..M65 "SAVEd" MAC/65 assembly language sou!{}rce code. Must be compiled.XXX.OBJ Machine language object file. Same as .EXE but not 'Load and Go!|}'. See corresponding article..SYS Reserved for DOS system files..TXT Text file. Usually accessed by another prog!}}ram..ACT ACTION! language source code. Must be compiled..LGO A Logo program. Requires the Logo cartridge!~}.XXXAll programs from ANTIC issues datedprior to August 1984 were reproducedfrom ANTIC's Archive. We've updatedthem f!}rom our HELP columns andmost are compatible with the XL andXE machines. We have worked to insurethat our programs operate !}aspublished, but we consider all oursoftware listings to be works inprogress which we encourage you topersonalize and enh!}ance.Good luck, and ENJOY! -ANTIC EDress which we encourage you topersonalize and enh K0!SPCMSGYEARHEADHEAD2HEAD3FINANCEDMONEYMONAMTMNYIPRINBALLINEPMTCHRGPMMONEINUMOAMPRI%}CHRBACAPDO'''CG'n''L     *%} 18 B'ipAU%} !"#$%&'()*+%}, *** FINANCE PROGRAM****** by Philip W. Bate PhD%%(c) 1989, ANTIC PUBLISHING INC.s@-%}@@KG0@@a0s@@(]];@9,;@(,%};@,;@9,;@9,;@9,;A,;@,2ss;@,;@,;@,;@,;@,%};@,;@,;@9,;@,;@,<N 6. 67@9,. +67@,.N6.ӠΧҠ%}ΠF##6.MON PYMNT IN+CHGS PRINP*** MAIN MENU***Zi6-6-'6-.6.:6-F6%}-M6.T6.[6.b6.i6.d% (} (%( Š͠n ( ( - AMOUNT OF PAYMENTx!(!(%} - NUMBER OF PAYMENTS$($( - AMORTIZATION SCHEDULE/(/($ - AMORTIZATION W/ VARYING PAYMENTS$($( - APPREC%}IATION SCHEDULE(( - SAVINGS SCHEDULE'( (( ŠŠ' A@!! @I)!@T@I %}AI&@HAA@AAA0A***PAYMENT AMOUNT*** (} AP Ap[%}K6-P:$$+@'+@&+@%,#+6,,,$A%?P,'AQ6-[ AL( ((Ӡ $!(4( %}Ԡ $>6-$&H AL(#-@@(# A@ *** NUMBER OF PAYMENTS *** (} AP%} A336-P:6+K:@&'$,,'K:%@,%?,T( (&(ҠƠӠ )(<( Ԡ $F6-%}$&P AT(#-@@(# A@"##*** AMORTIZATION SCHEDULE ***,? A  Ap! A+ %}A 5 AP? Ap6'6-6-'6-@-%&@JM(6-P:+$,$A%?P,'A%}2 A86.C6-&A:,M AT* 6.6-A:,6-&$ A*6.^ 6-%6-%A:,6-%h| 6. 67%}@<@,.767@<@,.N67@<@,.e67@ <@&,.|67@0<@9,.r("@%} AP|?'6-P:A:,$A%?P,'A56-%@? A0R06-P:$+@%,$A%?P,'A%}6<6-F AL6.R6-$$P:'@,"'@A  @ ?('( INTEREST= PRIN=%}36-?6-"@ A`;6-@ A0-6.=:A:,%@,;6-%@ A%} Ap A0K67@<@,.K67@<@),. AMORTIZATION - BALANCE= 116.'MON PYMNT INTRST%} PRIN BALANCE"@ A  (} (((($&&*** AMORTIZATION VARYING PMTS***+ A %} A ! AP+ A07 Ap6-6-+6-76-@5 6.***6.***%6-&/ %}A56.&W*6-+P:+$,$A%?P,'A,26-%< AB6.M6-&A:,W A0. 6.6-A:,"%}(6-6A:,.6.: 6-& A6.D 6-%6-%6-%N67@<@8,.167@<@,.H%}67@<@,._67@<@,.v67@ <@&,.67@)<@8,.X*-@( "@* %}APbA:, A lA:,"Apv?'6-P:A:,$A%?P,'A56-%@? A0%}V46-P:+$+@%,%,$A%?P,'A:@6-J AP6.V6-$$P:'@,"'@Ap1 %}Ap6-%@'6-1 A@D( (-( INTEREST= CHARGES=D(PRINCIPAL PAID= "@%} A` A:, A @-6-@ A0-6.=:A:,%@, A A0 A0%}J67@<@,.J67@<@),. AMORTIZATION - BALANCE=116.'MON PYMNT IN/CHRG PRIN BALANCE%}"@ A (} (((($_-@@"(( Ҡ,;B:,"G6-U6%}. - _ A % 6-A:, A6.%6-A:,K-@"@""(&5B:,"A6-K %}A  6-A:,*-@@"($40(&(ΠĠٺ O:A:,,0 Ap>*** APPRECIATION ***H%} (} AP AR446-P:$+@%,#+,$A%?P,'A\.( (.(YOUR INVESTMENT WILL BE WORTH %}f A A0p @z*** SAVINGS SCHEDULE ***; (} AP A' A1 A ; AP%}6-6- A0-@X(6-P:+$,$A%?P,'A2 A86.>6-J"%}X6. 0.00& 6-%% A6.&6-A:,# ("@# A@<6-%@6-%A:,$6-%}%0"@<6-@((P:'@,"'@)"A v(&( INTEREST= PAYMENTS=2"@%}f(@>:@, INTEREST= PAYMENTS=vPRINTS TOTALS " AP @ A0 A M (%}} (4(MONTHPAYMENTINTERESTAMOUNT7(C"@M A0 $*** PAUSE ROUTINES ***$)@$%}"AUAP$"AU@.!! @H)!@Ap8$B[-@@"(:( Ӡ٠٠%}ϠŠG)@["AUAL"AU@V$`***INPUTS***j] (} (?(-INPUT STARTING YE%}AR (PRESS 'RETURN' FOR 1989)CRB:,"]6.1989t''A:,!A P)A:, ApAp~@('(ENTER STARTING M%}ONEY AMOUNT1 A`76.@6-A:,4((ENTER INTEREST RATE#16-'A4$+($(ENTER NUMBER OF PAYMENTS%}(+$!(!(ENTER MONTHLY PAYMENT A6.6-A:,$E(/(#ENTER # OF COMPOUNDING PERIODS/YEAR3E6%}-'+A$,-(&(HOW MANY YEARS TO COMPOUND*-$+('(ENTER STARTING MONTH (1-12)+* 6.=:,* @%})!@Ap+ 6. (67@&B:,<@,.+$7((٠ٯΠ# A@7@A*%}** PRINTER SUBROUTINE***; (} (.(ƠҠӠ٠ӠЧ;)@@Ap {@-%}@@P{(@>:@',@>:@',l>:@,>:@',Q>:@U,U$UABOVE SETS P%}RINTER TO DEFAULT, SETS LEFT MARGIN AT 15 AND RIGHT MARGIN AT 55H$(@>:@,>:@,HTHIS LINE JUST ADDS TW%}O 'RETURNS'(^5(@>:@,>:@,>:@,8$^THIS ADDS THE HEADINGS WITH RETURNS2MJ(@>:@%},MONTHPAYMENTINTERESTAMOUNT>:@,M$<j(@$jTHESE TWO LINES PRINT THE HEADING,'RETUR%}NS',& EACH LINE OF THE SAVINGS PROGRAMF(@$Pv8(@>:@, INTEREST= PRIN=Q(@%} CHARGES= T$vPRINTS TOTALS AT BOTTOM OF PAGEZ*** ERROR ROUTINE ***dM (} (+(INPUT MISTAKE - START OVER?-%}@AC M @n***CONVERT ROUTINE ***x.6.=:P:$A,,.B:,!@A("%}6. 0.00( A0 6-B:,6-P:,L6. 0.00567@<@,.7&@<,LP:,"A0%})67@&<@,.=:,) A0*** CONVERT LARGE ***6.=:P:$A,,*" 6. 0.%}00* A0 6-B:,6-P:,k6. 0.00867@ <@,.7&@<,GP:,"a67@<@,%}.0.k A067@&<@,.=:,$ D:FINANCE.BAS Ӡ%}:FINANCE.BAS Ӡ$= HELP for FUSEBOX by RAY IRISH FUSEBOX is a text adventure, one of the winners from our April, 1989 "Adventure Work)}s" Adventure Contest. Since Fusebox is a BASIC program, you can RUN it from the Main Menu. The game's title screen)} appears -- and then the lights go out. You're alone at night in an unfamiliar house -- and now you have to find a f)}use, and the fusebox.XXX This isn't as easy as it sounds. There aren't that many rooms to explore, but it's a good ide)}a to make a map. You can see well enough where there are windows, but that won't be enough. As with most games of)} this type, you use two-word VERB/NOUN commands. (For example, LOOK BED or FLUSH TOILET.) In this adventure, you ca)}n use single letters (N, S, E, W) for direction commands. Some useful verbs: GET, OPEN, GO, READ, MOVE, UNLOCK, INSE)}RT. If necessary, you can LOAD GAME and SAVE GAME to disk.XXX If you can't figure something out, try varying your com)}mands. Instead of USE ROCK try KILL SNAKE, or something like that. Map the rooms, and make sure you've gone everywh)}ere you can, and you'll get that fuse fixed -- eventually. )}that fuse fixed -- eventually. (PZ[{LINEAB }&&;A ,;@,;@ ,!! HIT [1] FOR GE-}NERAL HELP,   [2] FOR ADVENT.DOC,  [3] FOR FUSEBOX.DOC, (and [RETURN]) 6. D1:DOC.TXT'-}"@'6. D1:ADVENT.DOC$"@$6.D1:FUSEBOX.DOC1 (}@1@@ A-}(@2vB:,!@-7@<@,4XXX0(3(E-@@"Y(ӠΠf@l-}(}v @@<( @@dj@ B*-@@"R("ΠҠՠҠˠҠ_@-}j%D:MENU D1:HELP.BASj%D:MENU 1 1iil ! 1L NO SUCH ITEMSELEC-} D1:HELP.BASj%D:MENU 1 1iil ! 1L NO SUCH ITEMSELEC,(( FLLMUMU? P UZU-?@ UYUZU-? @ Uf U1}? ?? T UVf U? @UUYU? P UiU?UTU1}ԁU@UTԁU?PUWUP!@PTU?UWUT@!@PTU?@U_W UT@(U?1}TUW_ UP@(UWUP@ ?_WUUTP ?_WUU_U?1} <UUU? <UPUU_W uU?PTUUW_W U1}@ U @PTU?@P U_@PTU TUU 0PU_1}  UPU?|_WU@U? |_WU@U1}?TUW ?@U_$UP=1}U@? U? U+" U$!P UT+PUTP@ U+TUTP1}@ U IU IU JO U ZJN U USU TSU!2U!3U\_U\WU1}U ZJN U USU TSU!2U!3U\_U\WU03(( p_UU!W$UU U!W$UTTUFTTUGUTT  ՁUTT [U\5}U $(i(U %(i(UCUCUUU UUUU??__ U?5}?_ U U UP UPU%U& 5}U%U& U UUUUWU UUW UU5}?UT U?UUՁUUU UUUUUUUUUU5}UUUUUUUU@@@U@@@U K U L U[U\UU5}UUUUUUUUU_U??U_U??UUUU5}U UUUU UUUU3(-U3(-U?!(?&(U"(&(U5},-U-.UUUUUUUUUU_UU_UUPUUP5}UUUUUUUUUPP@UPP@U'& U '& U',U ',U5}UUUUUUUUUUUUUUUUUU????_5}????_UUUUUUUUUUUUUUUUU????_4!((ʜ 8 U: U6 U7 UVUWVUVUUU UP)U UT)U T9}U_L @UW_M UL PUM U  UWW  U} 9} PU UU}U  @U U #@TU QU $PTU Uw  PU U9}uwu @TU U  @TU U  @PTU TU .UuUU PUW 9}.UuU U U]U U]UU]U UuU_?<PUՁU U9}WU_?UՂU U_UW U]U @UUUUUU]U U9} UWU? UU_U U UWU UU_9}U U U_U U UWU UU}U U_UU UU_9}U UUU UUPU UU@PU U? @U?PU U? TUu9}TU U U@U UUTU U U_?@TU U U?PU U @U9} ?@T U U PUW @PT U TUU U?PT U PUU U_@P U U 9}U?@U @ U U?@U PU UU @ U U?UTU UԁTPU?U9}U PUTPTU?U UTUP @TU @PU?UUT PTUՂ PTUU U9}@TP@PUUUP@@TU?U U,PUUU,@UU TUTUUU@U:}U@PU@UTUU@TUTUUUTUTU WU@UU :}UWU@TUU_U@@U?U]U?' U_ UU?' U U:}UU'U _ WU'U WU%?5U_3$?=UW_1:}_3$?=UW_183((  UA  UA  TA@PTU T@@PTU?SPU?TTUS*ZUT*ZUS>}eUSU?S@TUTTU?STU?RPU ?,U ?,@U UUU?UWU'EU >}?UWU'U ߁U)U U(U WUUU_%UU_$>}U U ?<<? U U ?<<? U UU UUU>}UQPTU UUQTUI UDTUI UU 5UQPQU 5UQUQPU U> } UQTTU U UQTUTU UU U@UEU UUUE@U UUE@'UQU U> }UE(UUQU U_UE'U@E@U UUE(UEU UU@E@E'UUU UUE-UU U> }UEUW_UW_U<WU UUEUWUW_U<WU UT_WTW_TW_| T> }U UTW_T_TW_ TU U? U U?> } U U}? ?#UU #UU#UU?3???<>}UU3??<U U??<UU?ς<U U>}?UU??}U@ U U?U U@U PTUTEU TUTFUWUXUWUXUXUXUTU?TU ?0>}!U?0 U;$U:$UUTEU TUTFUWUXUWUXUXUXUTU?TU ?0<*(  a?U>U?U>PUXUXUXUXUUUVU? ?U? ?B}UJUKU ?GU ?HU< =U< =U?< TU? TU0)U/*U.-U-B}-U(@P)TU(@*TU?>U?>U$?)U$?)U$U$U?QU?RB}U< ")U ?< ")U(,U)-U ?"@)TU ?"@P)TUJUKU?FUB}?FU?< 5U?< 6UBUCU?E U?E U?;PTU?<TU?B}4 @U?5 @U IUIU??U?@U"? 3U!? 4U;U;UJB}UJUXUYUWUXUWUXUWU?WUWUWUU >PUF"}  (+@U  (+@U @EU @U 8U 9U U* U U* F#} U UZU U Zj ZU U+U U*U U % U U $ F$}U &U!U %U"U WSC-W WSC-WF%} WSC-W WSC-WD( ; ?3 ? ?3 ?] U"ՁU U"ՁU UUUU UJ'}UU U UUU UUUU UUVU TU< UUU PUJ(}? UUU U? UUU U PTU   UU PU? PTU   UU TJ)}U?U PTUՂU @UU TUՁU@PTUUU @PTUU J*}U@UUUTUUUUUUUUUUUUUJ+}UUUUUUUU? UUUU?UU@UT UUJ,}TU TUU V UU RV UU  @PU U PTJ-}U U  U  UU*ՁUU)ՁUU*UUU)UUU*J.}UUU)TUUU UUU UUTW_?UUTW_UU?J/}PT U?@TU? U? U?"=? U?"? U1U _U0J0}U WU1U U1U U1?U U1U U2?U U2U U3?T U3T U4! U3 U4?J1}45U45U5@TU_5PUW6@TU:PU<@TU7 PU8!@TU7!PUJ2}4#@TU2#PU]3%U]]2&U3WWW2?W;?Q?J3}U]]2&U3WWW2?W;?Q?H'( pUIU?U U U UU UU UUU_N5}TUUTUWUUUUWUUU_@U_U?PPUW_N6}UPU?UU?U?U?UUU_??N7}UUUUUUUUUTUTUPUN8}P UWUWU0UUU0UUUN9} UUU UU?UUU UU< TU}N:}U_?< TU}U?@U?@U?< ?U_U?< UWN;}U UUU UUUW?UU?UUPN<}?UPUU?U UU0@U0@N=}} ?UU} ?UUU?U@U?U@U  PTN>}U  PTU?U?U PU N?}PU ?UU ?UU?UUU ?UUUN@} ?TT?U ?TTUU< UNA}TU?T U U U U_U'VUPNB}U'VUP U(UWU(U U'UUU'UWU U'UUU'UU NC}:WW:WW U'UUU'UWU U'UUU'UU L-( (UJULUՁ  *TU !U  U PURE}  U   U   U  ?? U  ?? U RF} TU  U  U  U  U  ?RG}PU   U   U  U  U  <0 RH}U  <3<TU  0?U  ?0? U  0RI}PU   U  U   U  ?RJ}U  ? U  00 TU 00<  URK}  3ÁU< 3 U?< U?RL}0PU UU0?U ? ?030RM} U0U 0 TU ? 0U  0 U  RN} 32767.0410 ;Line ok, so increment counter.0420 ;0430 ASL A ;Multiply by0440^z} CLC ;two to get0450 ASL MEMPTR ;address in0460 ADC #0 ;extended RAM.0470 CMP #$40 ;Selec^{}t bank 0?0480 BCS SB10490 LDY #00500 BEQ SELC0510 SB1 CMP #$80 ;Select bank 1?0520 BCS SB20530 L^|}DY #10540 BNE SELC0550 SB2 CMP #$C0 ;Select bank 2?0560 BCS SB30570 LDY #20580 BNE SELC0590 SB3 LDY ^}}#3 ;Select bank 3.0600 SELC AND #$3F0610 ORA #$40 ;Find counter0620 STA MEMPTR+1 ;in RAM.0630 TYA 06^~}40 ASL A ;Bank * 4 + 193.0650 ASL A0660 CLC 0670 ADC #1930680 STA PORTB ;Switch to it.0690 ^} LDY #0 ;Increment the0700 LDA (MEMPTR),Y ;line's0710 CLC ;counter.0720 ADC #10730 STA (ME^}MPTR),Y0740 BCC EXIT0750 INY ;Carry, so0760 LDA (MEMPTR),Y ;increment0770 ADC #0 ;high half.^}0780 STA (MEMPTR),Y0790 BNE EXIT ;Overflow test.0800 ERR0810 LDA #0 ;Stop: Overflow0820 STA PROF^}EN ;or line>32767.0830 EXIT0840 PLA 0850 STA PORTB ;Restore PORTB.0860 PLA 0870 TAY ;Restore ^}Y reg.0880 OUT PLA 0890 RTI ;End of SAMPLE.^}\9DxSTARHL BASIC PROFILER, PART 1BY STAN LACKEY!!XE VERb}SION BY ERIC WOODRUFF( (c) 1989, ANTIC PUBLISHING2<IIIf reserving memory, remove REM on line 80 and add REM to lib}ne 100.FmmDon't drop number of pages reserved below 16! It's the minimum reservation so as not to cause problems.PFFSTAb}RT=PEEK(106)*256-105:POKE 106,PEEK(106)-16:POKE 740,PEEK(106)ZIIOtherwise, use the following line. Place the address afterb} "START="d6-A6n1 +(1( Loading Profiler....x!-%A"! bb173,254,4,240b},95,152,72,173,1,211,72,160,0,177,138,133,208,200,177,138,48,67,10,24,6,208,105\\0,201,64,176,4,160,0,240,18,201,128,176,b}4,160,1,208,10,201,192,176,4,160,2,208,2,160,3aa41,63,9,64,133,209,152,10,10,24,105,193,141,1,211,160,0,177,208,24,105,1,b}145,208,144,14,200NN177,208,105,0,145,208,208,5,169,0,141,254,4,104,141,1,211,104,168,104,64Set up timer interrupt.b}&6-P:'AV,&6-&+$AV,#A(#VTIMR1 VECTOR LOW"A)"VTIMR1 VECTOR HI&B7ab}&VOLUME TO ZERO$B7`AU$FREQ OF TMR1&B7iAU&TURN ON TIMERS"@A"SET TMIb}NT1G(Done...((Next:(D( LOAD the program to be Profiled.G(;(8(ENTER >:@4,D:PROFILE2.LST>:@4b},;(((RUND:PROFILE1.BAS?b}ILE1.BAS?`$1 REM BASIC PROFILER, PART II XE REVISION BY ERIC WOODRUFF (c) 1989, ANTIC PUBLISHING2 X=USR(ADR("hͮf}ӥ iӠ@̘ˑߎ`")):REM CLEAR EXTRA RAM3 POKE 1278,1:REM START PROFILING.31765 POKE 1278,0:REM STOP Pf}ROFILING31766 ? "Done...":? :? "Next:":? :? "RUN ";CHR$(34);"D:PROFILE3.BAS";CHR$(34)f}31766 ? "Done...":? :? "Next:":? :? "RUN ";CHR$(34);"D:PROFILE3.BAS";CHR$(34)d 23M c ANLYNNUTMITSETCCULPC j} BASIC PROFILER, PART 3BY STAN LACKEY""XE REVISION BY ERIC WOODRUFF( (cj}) 1989, ANTIC PUBLISHING2<CAx+1AAFCAAFFAAY#@j}3-B$BU7"=A Pii104,104,133,223,133,221,104,133,222,133,220,104,104,133,207,173,1,211,133,208,169,j}0,133,218,133,219Zaa133,214,133,215,165,218,133,203,165,219,10,24,6,203,105,0,201,64,176,4,160,0,240,18,201,128dXX176,4j},160,1,208,10,201,192,176,4,160,2,208,2,160,3,41,63,9,64,133,204,152,10,10,24nee105,193,141,1,211,160,1,177,203,208,6,136,j}177,203,240,93,200,177,203,133,227,197,215,144,84,208xff7,136,177,203,197,214,144,75,160,0,177,203,133,226,165,219,133,225j},165,218,133,224,165,208,141,1ff211,165,220,133,205,165,221,133,206,160,0,177,205,197,224,208,7,200,177,205,197,225,240,3j}3,169,4ff24,101,205,133,205,144,2,230,206,160,0,169,255,209,205,208,222,200,209,205,208,217,162,3,181,224__149,212,20j}2,16,249,165,208,141,1,211,230,218,208,4,230,219,48,3,76,30,154,160,3,185,212,0ZZ145,222,136,16,248,165,222,24,105,4,133,j}222,144,2,230,223,198,207,240,3,76,20,154,96((ANALYSIS STRING: 4 BYTES PER ENTRYLO, HI BYTE OF COUNTER,LO, HIj} BYTE OF COUNT.;A#,;@,B67@,.>:AU,367A#,.>:AU,B67@,.J A0j}AY@4D( } Profiler Bottleneck AnalysisG(J(@(( How many bottlenecks do you want<(to see (1-255)@j}!! @)!AUA@!((Are you sure (Y/N)!0Y*0NA`0YA0"R(O(DDuj}ring analysis, the screen will be blank to speed up calculation.R(,N&6-P:+'AU,$A,%@2 @`86-j}D6-N A 6/6-&P:'@`,$@`/6-P:'@`,@''(Estimated time (M:SS): :J+(+( **j} PRESS START TO ANALYZE **T F:B2y,@A@^+AY+6-?:B$X; Clean up unecessaryHX; parameters and n}continueR>\ CLEANf7p7z0 HCLEAN GETDRVX; Show only a question markX; as a prompt for file spec#X; n}No room for more in the code.$> Q>CPBINR PICCOM &ICBLEN&ICBLENQ> ? CIOX; Accept the user's filn}eX; specification. Q>CGTXR$ PICCOM.Q>5FILEBUF8PICBADRB &ICBADRLQ>(V PICBLEN` CIOjX; FILEBUF now n}containstX; the text file spec~X; to use as a templateX; for the directoryX; listing. GOTDRV$>P Q>CCLOSEn} PICCOM9 CIO Q>COPN PICCOM9Q>5FILEBUFPICBADR9Q> PICBADR9  Q>OPDIR PICAUX19Q>( PICAn}UX292 CIO< GCLOSEDRVF GETFILP$>PZQ>d PICBADR9nPICBLEN9xQ>5FILEBUFPICBADR9Q>( PICBLEN9n} Q>CGTXR PICCOM9 CIO GCLOSEDRV$>Q>5FILEBUFPICBADR &ICBADRQ>( PICBLEN Q>CPTXR PICCn}OM CIO" IGETFIL, CLOSEDRV6$>P@ Q>CCLOSEJ PICCOM9T!CIO^CODECOMhr GETDRV|n}IO^CODECOMhr GETDRV|lE'AJAwSAVE"D:QDIRMAK.BAS" ;@,- +-(Quick Directorr}y, by Mat*Rat""((c) 1989, Antic Publishing($($(Get disk in Drive 1 ready2$(and press RETURN !($(<#r}F; @1@@D:QDIR; @P8(Couldn't create D:QDIR.5(ERROR F:A,8Z? #1r};"10 ";d77(@CLR:DIM A$(153):A$(1,100)=>:@4,n-@Ax"(@>:, %%(@r}>:@4,>:AU,? #1;"20 ";))(@ A$(101,153)=>:@4,-AAS"(@r}>:, TT(@>:@4,:? >:@4, Dir Spec >:@4,;:A=USR(ADR(A$))@((Dr}one.""(Try E.>:@4,D:QDIR (to get a quick directory( listing now!(((E(B(E.>:@4,r}D:QDIR>:@(,>:@(,>:@(,E##104,240,6,170,104,104,202,208251,162,0,169,11,141,66,3"142,72,3,1r}42,73,3,169,63,32,86,228,169,5,141,66,36169,4,141,69,3,142,68,3@169,40,141,72,3,32,86,228J162,80,169,12,1r}57,66,3,32T86,228,169,3,157,66,3,169^4,157,69,3,169,0,157,68h3,169,6,157,74,3,169,128r157,75,3,32,86,228,r}48,55|162,80,169,0,157,68,3,15773,3,169,4,157,69,3,16940,157,72,3,169,5,157,663,32,86,228,48,25,162,0r}169,4,141,69,3,142,68,3169,40,141,72,3,169,9,14166,3,32,86,228,16,201,16280,169,12,157,66,3,76,86 r}228,-1 D:QDIRMAK.BAS9,40,141,72,3,169,9,14166,3,32,86,228,16,201,16280,169,12,157,66,3,76,86 p$-