@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`  `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 ALLOWED697 FREE SECTORS COPYING---D8:COPY32.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- 144ɛ+,' 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)6^^<s3>00x|73>00x`c6<9c` 33c366fffg~33>00xgfffff<T}11111{!!\]_\ED!EOHI B V`}   `})5DDFLASDISKBh@ @:PdQ;@,Q6.: DISK #69 堠V}fS +@1AR@S6-F:A`,%AV$F:Aa,i{AYW}'A@9A @KA@&]AA$oA@h{6-n;%@@pX}+-@@&/"7%; s116,6,6,7,6,6,6,6,6,6,6,2,2,2,2,2,2,2,2,112,2xE%@'@e.%@(FY}:A`,E%@)F:Aa,((( (( THE PAGE 6 LIBRARY(***************Z}*****((********************A-@A('The PAGE 6 Library consists of programs..(& collected[} from Users and User Groups//(' in the U.S.A, Australia and Gt.Britain//(& and to the best of our knowledge all/\}/(' programs are in the public domain.-@ @.(ӠԠҠAY@45B2y]}!AU5-@@P#F:B2y,"@#%D:MENU 6-@& AD:TITLE ^} DISK #69 堠" ## mixe@P@"@""I 1 h_}0ߢ 0.  0?詛 1 y0YЛ 1 ;#L" ;#L! 1 hp TURBO-BASIC XL 1.5 (c) 1985 Frank Ostrowski!  ӥL]""$$ (pa}%J[WܠjeC /D%Zub2gTSt$8®݊Ò2% 5Rb}Ţtd.’$3@X7t5w5$?## $#L+D:*.*S:C:P:$#.#) `:#(6ENeU\l؏&/ؕ؄sأ$c}LENeU\lأ$8آǔƐƉƐƇ4cY%٦rULۉCۄړp^gyض%iwܸJڅ*ܣ$ڭڞجئأأd}$ ,(""(222000000..222222222222222222222222222222**22*22(222(2222222222 ,(""(e}0000000--**2*(22(2222222 V`hh@,lHH$HHHHHHӍl"f}H$HHl $`GHFH\` ` 4ӭ l 4Lq ӠԪӅԆL} Ӡ L( g}) ` b% +L:#HH 0 HHLj%ӥHlL{ee 8eeeh}eӦee褢%ƚƜ`88夅奅8i}夕奕Ӡȱȱȱ㦢`L+`8` .E)))8@8e0 j}*څۅ܅݅ޅ߄ԠF0y"ޥy"ݥy"ܥy"ۥy"ڥy"و0ǠF0y"ݥy"ܥy"ۥy"ڥy"٥y"؈k}0ǠF0y"ܥy"ۥy"ڥy"٥y"إy"׈0ǠF0y"ۥy"ڥy"٥y"إy"ץy"ֈ0l}ǠF0y"ڥy"٥y"إy"ץy"֥y"Ո0L-`8`E)))8i@0 *ڄԠm}"("!""" "L**""""""&О"("!""n}" "L**""""""&О"("!""" "L**o}""""""&О"("!""" "L**""""p}""&О"("!""" "L**""""""&Оdq}"("!""" "L**""""""&ОL-6"e"r}"e""e""e""e""i""}"""}"""}"""}"""}"""}""ǭ"m"""m"s}""m"""m"""m"""m"""}"""}"""}"""}"""}"""}""ǥՅօׅ؅مԅՅօt}ׅ؅`` ` ` `80 `ԥՅ +.JJJJ)iFiFi1FicFi'ȐȦoFiUu}ȐFiiFi#iFiGi Fii@F iiFiiciՊFigi'iՊօשBL-`Iv}))83Ԥԥդե֤֥פץؤإ٤L,K6"ХL--L--L-w}-E0:e٥eإeץe֥eՐ؅٥ׅإօץՅ֩L-8٥إץ֥հ'I8x}م٘؅ؘׅטօ֘ՅL-ؤm\G0Q@Ն֩م؅2եمֆשم"ե؅֥م׆ةեׅ֥y}؅ץم؆لԘ)q +` . |. &7i |. ,%!L?.`刱䈱㈱∱z}ሱ`ԅՅօׅ؅م`ԍՍ֍׍؍ٍ`ԍՍ֍׍؍ٍ`L.L. Խսֽ{}׽ؽ` L%/`ӽޕ &ԅ)@إ)JJJe)e - M|} 1. &Je0F 2 . /L(8`@ԠՈքׄ؄` . |. , . . |. , #/L(8`0 I@ԥ)}} 2f / . & r 1. #/ &?P , .Iiԩ +)ԅ ,ӽޕL(`8`$~})Ԧ61718191:1;1 (ť)8@0$Յ)e)e -F . / , . &1 1.} #/ &F I`U9>`D'RFuCU?b9dYdg@W2@?tS)%)@0)%ԅԢ / . &G } 1.Ӱ6 #/ &.ӽߕ ,ԅԥ B1 (`8``0?i? . . / , #/ &ԍՍ}֍׍؍ٍ . . ( / , O2 / ,0 .JeF 2`L+) .e٥eإeץe֥e}Պi؊؅٥ׅإօץՅֆե1ԥ'JffffJffffJffffJffffم`ԩ&&&&*&&&&*&&&&*&}&&&*`Pi`)JJJeԅԘ)Peԅ`եԆ8@EB)JJJeԅԥ)PeԅԘ)3eԅԽ3eՅ՘)JJJ}3}}3`)JJJeԅԥ)PeԅԹ3eԅԹ3eՅդЧ` 0@P`'Nu pX@(#d,X L(  兢}0襙 bɥ⥋㩀 50ɥ0DȱȱȄ   ik#ZMkVgğe拰ㅋ}⅊0 eee拰 L f5дƨħ 4LY4 f5К,樥ŧH 4h h5L4樤ܱ.* O %30}  5Ԅ +(fԤԈ`ř嚰Ԥ`ڥۥड़0-԰eڅڐۈ0eeL+58` }O#`,#5  6`]5 6DE 68DHEIHI V0$ 6Sл B} V,# 6` $#LllBHI V0HH V0Ԩh``{a$%Ȏ$$xө$Ѝ$ `} `@X a Ӆʢ ʎD  _ɠ %` ɩHH `өL: g% D}:AUTORUN.BASөjJHH`ՠԢӱԙ!ӹ!`֝DEIHB V0Y|ڝDa۝E}օܥׅݥܝHݝI V0+Ӡڑڑ0`l `  䅠 _ɠԐ}e拢 &L &Lħ © ¥4 䥝ň剰' k ɀ8@4= LY ĩ`OJ ]J?L} KԪȱLRHHצ R, hhLRHHHHHH /0ȑȑޠhhhhh}h`HHHHHHHHHH $H bɐhȥLHhhhhLň剰)}i桰` )``L(兢ħ #$ x Hҩ h$襚ҥ ԝ`} UV #T` ` `,H ¥ȍ` JKhLŢ  #)I L ¤Ȣ`L¦ ¦ Lĩ} ½J*K+ $LąLĩ …L~ …`H Ġh é`,H hH Ġ  ĭ 8}}} L n [h`LkL © 8倝偝 Ġ  ĥ󥃅  Lĩ LH} éLH#h ĩ`H hKJ L+ , H hHHħ s hKhJ  Lĩ# qL } ŘL ũ& QŽLM " ĽNL  ĥԝL՝M  ĥԝN%LV  ¤ħ` Ťħ` ƪ Ċ }Ťħ` ¢`届 x݅ L ĽCӠɀ L]Ɉ L] Ln LŠI}HEDBL$HH hh +L `ħ LĢl ¦`YDAER ԅՅ֦}󅗄`L+ ¢p 0 Hp hɈL` ,#,$,!Lé ,H ĥDEԝH՝Ih L}©L $`L© , k ĩԅ  + ĥ 夨ħ`2ƪƪ ! A!Ƚa!Ƚ!Ƚ!Ƚ!Ƚ!}``氤hhL1@$ƪư 0 0 n$P`L+FҐ֥װ綾إٰو LǠFf}ؐ ee&ee* &eeeԪeըee$.ƪ@!Ƚ`!Ƚ!Ƚ!Ƚ!Ƚ!`檦}!!!!`!@!^!` Ȅ 8 n奱 ٥Lǥ֤צưĘ=ŗ78֪א& } eԥe$`L: L ԅՅօׄ 1פ& ٤ţĢԅeՅe8包卅 ]&} 8Ԩժ%אְ`ֆL夨ħ` FҰg8&0ei֥i0Tׅiإi0BJe؅eم0&f}fff&0 &0 eeL+օפإ颎 %8包ԥ卅 L ɥ }ȱъŠe拰8``,ªȱȱI ѝ3ȥLɥHHO]}  ȥe暰Х ȥL+ʅȱhh`Lħ OԪȱԨ``L :0} `L(奷 bɥ󥋅ȱȱȱȄ#鈄0B8eeŶ}ɛ,@LBˤ,ɛ`L?± ˤ樱f Oƨ x݅ + ~ [ˠ O樥0# +  L˥`}LL :ɛ,$PH h $P润䧰 ʐLʦ䧐 +` ʐL3LBˢ}ԝD՝E֝HםI L 兢L]& 兢L% ,L6 ,L6 &L6 (L6妪@!I@!` ؐb`P KW ؐRB ؐ}=;G ؐ4@ ;+ƪƪ@!=A! (ƪƪ@!A! ƪ@! ,@@檦@!`!!!!!!`ƪ@! ǩjҤ} /L.٤ƪƪ@!@!, 舽`!`!!ـ!!٠!!!!!`@!jI*` . ֪ (}ϰ`(8` ֤ׅԄ +҅L: Lyƪ8吪周Ly sũ + ŐL Ly sŠԄ h L}} L}٩    e쪽pLyL( + ڥHJJJJ h) 0:i`  ک; n +ȱ)ȥ%}ݓ Lh ԍՅԄׅ֩өL:ƪ?Ԣ )ɠ )  -L &Lڦ@!)@!` n)8@} -L:` / n)8@I= n)8@/ѩ֔$ሄ ,L: + n 0L8 n} 0L8 n H1L8 n /L8 n /L8 n D/L8 n 1L8LLإL( &)ԥ)8@JjH@}MC)JJJe)e .F / .P . &F . #/ &L.L(HHHHHH /hhhhhh &} Y/hԅL:,` L _ܘ%ᨥ%Ly _ܘᨥLy _ܘEᨥELyٚ<|'g 0L`}!!!!i ` &LإL٥LyɥLzvmZ ƨ!0 4 䦵 ¥ԝD՝E֝Heם}I Lܤį eį L` x݅ƨLLLܤ ©`#ۢ Lĩ_,ߤ} ڄ . eڅԥeۅհ"8څ֥ۅא8ܥݰL۠Q%0ԅإՅ٥ަ0%Q% }L-ե0LޥڤLyمօנ6&֐ eו`L( Hħ hբՅ `ޥԢ `ޥՅ֠}&&֐eܥeېڈ 7 \ 7 j N \ N j$0!ee80å/8ܥ۰uڕ0}eUiV`TUV`8UV`eTi`8TȢ` $L„')Q ȱ8 e}新`8`L齀).Q Ӱȱ8e新 O :L䅫# *$Ŭ} Ʃ HL"䥫ș L` Ml/#樱0ZS'`ȱȱȱȱȱȱȄ`ȱօȘuԩׅu՘e֨҄`}I 屝Ҡȱȱȱȱȱ` n$҅J?eԨe` L 兙 兛 n %3 Ԥ` ҩ,} , , L檤 ٙ!ؙ!י!֙!ՙ`!ԙ@!ә !ҙ!` 䤪ƪ!ٹ!ع!׹!ֹ`!չ@!Թ !ӹ!`ƪ!!}!㹁!a!A!Lp ґȥӑȥԑȥՑȥ֑ȥבȥؑȥّ` ***j)e)e`ʭȅiȅ}iȅȩȩ Lfإ  4  \ +] ¥򄟄}   넨ɛ$0L祔 Z f0#ڠ쩀 ߩ6ei$0 녖چ + !5}ɛȑ @膔7 ɛ 襔!ɛL! _ɩ8$IȢ %e拢 } &!$P* &8孨客 "&$ 1L~ L~ &L _ɰe拢 &L~ +0 %30Ԅ }L 9:枢0 O L :H9Hhh tLHH`h}hLCL馩`ʆLC枢0ְşLC`A枢Ɣ!L!L}!T 򈩛LQLD ijq ߰,iŰD VD8` 覲`8` 넬 S( +饰}0 S0:$$ p8`$p (ȩ@҅ҥ򄬤 ߰ A L8򨢄 %Ӥ򈦬ʽ ʽ % }+HH 屝EҨhh$P0Ƭ 襯I `_A[`8`80 &Ոԅ}` 넬$ +  + h갳 h) + , 褔ԙ!` "8` 襔 ɛ "ȱ"}嫤!`! `) ɛ%)a{)_0:A[_դ`RE͕DATINPUԑCOLOҝLISԖENTEҚLEԛIƜFO}NEXԑGOTϑGO TϑGOSU½TRAАBYŐCONԞCO͟CLOSŐCLҐDEǞDI͐ENĐNEנOPEΖLOAĖSAVŢSTATUӣNOTPOINԡXIϤOΒPOKťPRINԐRAęREA}ĨRESTORŐRETURΩRUΐSTOАPOХGEԫPUԑGRAPHICӒPLOԒPOSITIOΐDOӒDRAWTϓSETCOLOҬLOCATŔSOUNĦLPRINԐCSAVŐCLOAĚERROR- }DPOKœMOVœ-MOVŪ*ƐREPEAԑUNTȊWHILŐWENĐELSŐENDIBPUBGEԒFILLTϐDϐLOOШEXIDIҖLOC˖UNLOC˖RENAMŖDELETőPAUSŖTI}ME$PROøEXEÐENDPROÑFCOLOҪ*̕-RENU͒DEDUMЪTRACTEXԖBLOAĖBRUθGO*’PAINԟCLӔDSOUNCIRCLū%PUԘ%GEԚG}OTGOSUTSTETHEΣ<<>ުNOOANĨ<<>STRCHRUSASVALEADATCOPEESIRNFREXLOCLOSQSGABIN}PADDLSTICPTRISTRIDPEE˦INSTINKEYEXOHEXDEDIFRATIMETIMMOEXERNRANTRUN%%%%GOUINSTERER+,%5}&6(+8,<Xk`fghilm^deDѳHc?,Ќ,е,Y_Ҳ+7,/0}1 2!3"4Ɛ"-"."-؂ٿ֐ː}ĐאŐbj+9,+;,ʐͭ}ͭ@ABC\=>[<+:е<,&%rvnnxc<\}-78s_XV+@D&0d*"'2GJh N}Rl~&2 +饰(+VWZ ]a8`L`  ¤ħ.H h L5 䄡 } 䅭 bɠ04Ů .ŭ%) e拰 ĩ L+Ư0 Le}`毤Hɛ) h`  L ȱ R @ʆ ȱȄ Iğ` :62T F :}7 8 Lbԩ- L 8 8,I ɨ 8L.UH `ƨh $ %3   + \L L 8󅯩" } 8" ©" Ư" L8q :Z#]abj(=) W같  L樤ħ`hh`H YhZ }L<>EO ƹƹ0`H f5h`I&` =? FQA` L񄳱ȱI 䦐}Ħ ąŅ T k /䧰 k ,Ǡ ĩJH ThĥȑĥȑĦʊȑ`HHąŅ}H h hhhh ȱIELZ L`ȱI Hȱȱȱȱȱ }, h @ $L+L.*ȱȱȱȱȱjEE `EjI `e`ħ ¥}0 ` Lk 䦪`! 䧰L A@L `I&`L ©؅ L.}0`STOPPED륺 bɠhhL :ʅ` k %3Hƹ h5h`hbjH h #}ԤLQ #LLei  `LԑȥՑȥ֑ȥבȥؑȥّ``䈥剰}#)iiLɠL4űI&`048ץğ=ȱȄ }`L  L0e拠0ȱȄL  䦪`!' >?L (<ж`!  $Л +`,LőŐ78Ƒ8 Ƒ`8` - PѠ}`,,L L PQ 8,L ȱI ѝߠȱ`ԩ},L E  $EL+L],,,؍ 0âLɀL ©7 F󦹩 RbL g }0g `Ո V fL{Ն + +􅕄L AT LINE?BLOAMEVALU>#VAR$LE?DAT>3276INPUDISTACOVERFLO?LIN?}FOTOO LON?DE?GOSUGARBAG?CHMEͣ?LOA?NES?WHIL?REPEA?D?EXIXPRO?EXE?PRO?IS OPE?DEWR ONLCMNOT OPEΣRD ONLEOT}RUNTIMEOUNA!FRAMCURSO!OVERRUCHKSUDONMODNOT IMPRA͠D?>#FILEDSK FULFATAL I/FILENAMPOINLOCKEDCM>DI}?FILPOIN?APPNBAD SECTORӥHՄ +h & .hԩ + ,҅L: ƪn (@Մ$ 0` 0}` 0LoH - . /h &@Յ՘JJJJ X) 0:i`AVC2 sŠ 5  <)  <} L L + e +e`e`&&&&&&eee` &}&eee&*`` 兙 䦪!0 4 ۄܱ **m ݤܱEۅڦڱ= } ܥeƥiեLN@ ` **)]` 00`` ( ((((((((8}`W)ߥ & &e &߽řِ׼JJJJ&eXޥeYߥ䥛 9 FfЎᰈ } `  M 8*` 兙 󥐅i祣L{ &L}  0 & L ȑ & L; # )ȱ L })ȱ) )ȱ 8ƣŐő0eސ`ƙ8ް`)ȱJJJ`}``=`]``` E߭H Ġ} hL±&Lv`[  ȱ R] } L L  䅠 bɰhhğȱȄ L l"0e拱LjLx`[  ȱ R] h8<<  B JKIHiDiELV`L8 8 BLV`Lx}8t8l Lu8hihiHHȱȱL8c !#3`Lu8JJJJ`H 8h`H}ȩh Q8L8 Z8L8 8L8 8L8 8L8S:@9E:E9H '9 H9I9 8 '9h)0IC}9D9L8 L :::: :Lr:::IEL[::i:iIIL[:`:i::i}::L:`L{:w:w: C`L:L: D8:MEM.SAV: 8| 9 '9`L:L: D:DUP.SYS:̩ 8} x:ɀL: '9`88 |9Y:X: '9L); D8:DUP.SYS; 8::88 9 '98? :`;WL`; 9}Ln; ` :Y;Y;L;L;)} Setting Up ATARI 130XE Ram Disk; 9L; ; -9  } L;D8:; :9 :Y;L:A%,"-@@E(WHAT SCREEN COLOR DO YOU WANT?Q6- }n#-@@#( 1: NORMALx"-@@"(2: AMBER*-@@*(3: REVERSE AMBER"-@ }@"(4: GREEN!-@@!(5: GREYB A`-@@4(SELECT A NUMBER8B BQ }  @)!@)P:,G("ERROR: SELECT A NUMBER FORM 1 TO 5Q A`//AAAA A0 }1AAH'A @1 A@1A@T'A @1 A@1A@V'A }1 A@1AA''A @1 A@1A@'A @1 A@ }G;@0,;A0,;@,;@ ,;@,;@,T(>:A%,f-@@ (Documentation for !}TURBO BASIC6. j(>:A%,"-@@4( ̠@6-RAR^6-j6!}-((1: ARRAYS TUTORIAL"(2: SORTING TUTORIAL,$$(3: CATALOGER DOCUMENTATION68 A-@!}@4(SELECT A NUMBER8@T  @)!@)P:,#(J("ERROR: SELECT A NUMBER FROM 1 TO 3T AJ(!}>:A%,T7"@!-@@ 7(Ӡ^8"@!-@@ 8(Ǡh=!}"@!-@@ =(Ҡr 6. |#"@#6. D1:ARRAYS.TUR$"@$6.!}D1:SORTING.TUR$"@$6.D1:CATALOG.TXT1-@@1(PRESS ٠ TO SCROLL6-@@,(!}CREEN OR RINTER03(6(;;7@<@,4S)7@<@,4sAP;;7@<@,4P)7@!}<@,4pA`IAR@ @=@@I6-( A@(6-!}%@("@  A` A`5F:A,"A6#@5AR,,($----------! }--------------------------( ** END **S( ( (((O(7DO YOU WANT TO READ ANY OTHER DOCUMENTA! }ION(Y/N)S$$7@<@,4YAp& +0+@+@@:\(>:A%,! }"-@@X(0DID YOU SET PAPER TO THE TOP OF ITS FORM (Y/N)\D$$7@<@,0YApN3 3 3! }3X0(>:A%,"-@@0( PRINTING!b( A`@(6-%@l.@.@@! }P:v&&(@ "@W A A@F:A,"A6#@.!}@@AR<6-6-@W&5-@+%@,83< ,,($--------------------------------!}----::3$ -%@-( ** END **S( ( (((O(7DO YOU WANT!} TO PRINT ANY OTHER DOCUMENTAION(Y/N)S$$7@<@,4YAp +??PROGRAM BY RON. FE!}TZER, 22 MONACO AVE, ELMONT, N.Y. 11003SCROLLING ROUTINE##@@K: )@!}"@: ,A 6-@$*PAGE ROUTINE46-6-%@>Q(@(@Q(@!}$ --H&-@@"(@& R$D:MENU(@Q(@ k ARRAYS ====== by Ron Fetzer There are 3 kinds of arrays thatwe use in TURBO%}-BASIC: 1)Onedimensional number array 2)Twodimensional number array or MATRIX3)String Arrays(Pseudo-String Array) Arr%}ays are also calledSubscripted Variables. P(2) = "P sub2". The P is the variable and the 2is the subscript. The subscript %}isalways in parenthesis P(3), P(4)etc. Arrays are very useful inmanipulating numbers and strings. Itis the ONLY way %}you can sort numbersor alphabetize strings. You also saveon variable names, you can savenumbers or words in a program, you%}can handle large amounts of numbersor strings and you can speed up yourprogram execution. This is a veryuseful technique %}and is frequentlyused in many programs. ONE DIMENSIONAL ARRAYS ---------------------- You can think of %}a ONEDIMENSIONAL ARRAY as a string ofpearls. Each pearl is an element ofthe array. PEARL NECKLACE -O----O--%}--O----O----O----O----O-Element # 0 1 2 3 4 5 6Value $ 25 33 42 50 38 28 22 In n%}umber arrays the 1st elementis 0. In the example above we have 7elements from 0 to 6. When we use anarray we must DIM it. %}The DIM alsostarts with 0, in effect wedimensioned for 7 elements or pearlsif we use DIM P(6) The form of an array is%}: P(X) = VP = The name of the array. You must DIM it for the number of elements you are going to hav% }e in your array.X = The element numbers. Usually a FOR - NEXT LOOPV = Inputs the value into each element as t%!}he loop executes ELEMENTS AND THEIR VALUEP(0)=25, P(1)=33, P(2)=42, P(3)=50,P(4)=38, P(5)=28, P(6)=22 Please %"}key in the short demoprogram to see how it works 10 CLS:?:? 20 DIM P(6) 30 FOR X = 0 TO 6 40 INPUT "THE%#} VALUE OF EACH" PEARL";V 50 P(X)=V:REM <-- ARRAY 60 NEXT X 70 PAUSE 60 80 ? "LETS SEE IF IT WORKE%$}D" 90 ?:INPUT "WHAT PEARL DO YOU WANT TO SEE(0-6)";S 100 ? P(S):REM <-- ARRAY 110 GOTO 90 You no%%}w can call up any pearl orelement in the array and see itsvalue. You also can print out all thevalues of the pearls %&}or elementsautomatically. Change lines 90 to 110as follows: 90 ?: FOR Y = 0 TO 6 100 ? "PEARL #";Y;" = ";P(Y): %'} REM P(Y) IS THE ARRAY 110 NEXT Y 2 DIMENSIONAL ARRAY OR MATRIX ----------------------------- 2 Di%(}mensinal arrays or DoubleSubscripted Variables are also calleda MATRIX. A matrix is a grid whereyou have columns and rows.%)} For example lets take a bowlingteam of 3 members and each one plays4 games. This is how you canvisualize the matrix:%*} BOWLERS 1 2 3 ---- ---- ---- B(0,0)|250|B(0,1)|220|B(0%+},2)|240|G ---- ---- ---- ---- ---- ----A B(1,0)|210|B(1,1)|190|B(1,2)|250| %,} ---- ---- ----M ---- ---- ---- B(2,0)|240|B(2,1)|230|B(2.2)|270|E ---- ---- %-} ---- ---- ---- ----S B(3,0)|220|B(3,1)|200|B(3,2)|260| ---- ---- ---- I%.}n a matrix the first elementalso starts with 0. In the exampleabove we have a matrix and we mustDIM it DIM(2,3). The 2 in %/}the DIM isthe 3 bowlers (0 to 2). The 3 in theDIM is the 4 games (0 to 3). We havea total of 3 x 4 or 12 elements inthis %0}2 dimensional array. The bowling score for the 4games were as follows: BOWLER 1 BOWLER 2 BOWLER 3 -------%1}- -------- -------- 250 220 240 210 190 250 240 230 270 220 %2}200 260 In the matrix the first elementis (0,0). We normally do not consider0 a number but the computer does no%3}tmake that distinction. Please key in this short demoprogram to see how it works 10 CLS:?:? 20 DIM B(2,3) %4} 30 FOR X=0 TO 2 40 FOR Y=0 TO 3 50 ? "BOWLER ";X+1;" GAME #"; Y+1 60 INPUT "SCORE PLEASE ";S %5}70 B(X,Y)=S:REM <--MATRIX 80 ? 90 NEXT Y 100 NEXT X 110 ?:PAUSE 60 120 ? "LETS SEE IF IT WORKED" %6} 130 INPUT "WHAT BOWLER(1-3)";P 140 INPUT "WHAT GAME(1-4)";G 150 ? " ";B(P-1,G-1):REM MATRIX 160 %7}GOTO 130 We use nested loops to load thematrix. The first element to getloaded is B(0,0). In line 50 we useX+1 for t%8}he bowler - if the loop is 0then the bowler becomes 0+1 or 1. Wedid the same thing for the games Y+1so when the loop furni%9}shes a 0 isbecomes 0+1 or 1. We did the samething in line 150 except in reverseso the matrix will find the rightelement. %:}When you answer for thebowler 1 it becomes P-1 or 1-1 or 0so the right element is accessed. Thesame is done for the game G%;}-1 becomes1-1 or 0. ELEMENTS AND THEIR VALUESB(0,0)=250 B(0,1)=220 B(0,2)=240B(1,0)=210 B(1,1)=190 B(1,2)=250%<}B(2,0)=240 B(2,1)=230 B(2,2)=270B(3,0)=220 B(3,1)=200 B(3,2)=260 You also can print out all thebowling scores or %=}elementsautomatically. Please change lines130 to 180 as follows: 130 FOR T=0 TO 2 140 FOR K=0 TO 3 150 ? "B%>}OWLER ";T+1;" GAME #"; K+1; 160 ? " = ";B(T,K):REM<--MATRIX 170 NEXT K 180 NEXT T As a practica%?}l matter mostprogrammers do no use element 0either in an array or a matrixbecause it complicates the program. DIM th%@}e array or matrix for thenumber of elements you have. The FOR- NEXT loop starts with 1 instead of0. See the program below.%A} 10 -- 20 CLS:?:? 30 DIM B(3,4) 40 FOR X = 1 TO 3 50 FOR Y = 1 TO 4 60 ? "BOWLER ";X;" GAME #"%B};Y 70 INPUT "SCORE PLEASE ";S 80 B(X,Y)=S:REM <--MATRIX 90 ? 100 NEXT Y 110 NEXT X 120 PAUSE 60%C} 130 -- 140 ? "LET'S SEE IF IT WORKED?" 150 FOR T = 1 TO 3 160 FOR K = 1 TO 4 170 ? "BOWLER ";T;" GA%D}ME #";K; 180 ?" = ";B(T,K):REM<--MATRIX 190 NEXT K 200 NEXT T STRING ARRAYS --------%E}----- TURBO-BASIC and ATARI BASIC donot allow string arrays. This is nobig problem. We create a PSEUDOSTRING ARRAY t%F}hat looks and acts likea normal string array. We take a longstring and chopp it into equalpieces. In order to create this%G}PSEUDO STRING ARRAY we must docertain things. 1)Decide how many elements we need 2)The lenght of each elem%H}ent 3)Calculate the end of the FOR-NEXT loop and the STEP For example, we want to create astring array tha%I}t has 7 elements andeach element is 10 letters long. Wewill call the main string X$. To findout how much to DIM X$ we mult%J}iplythe number of elements times thelenght of each element (7 x 10 = 70).We now DIM X$(70). The FOR-NEXT loopstarts with %K}1 and ends with the DIMin this case 70. The step is theelement lenght(10) 'FOR N = 1 TO 70STEP 10 Since the words we %L}put into thestring array will be shorter than 10letters, we use PAD$ which has 10empty spaces to pad each substring orele%M}ment so it is 10 letters long. Wecan visualize this as follows: X$ ----------------------------------- %N}| | | | | | | | |EL 1|EL 2|EL 3|EL 4|EL 5|EL 6|EL7| | | | | | | | | --------------%O}--------------------- 1 10 20 30 40 50 60 70 Elements or substrings start andend as follows: ELE%P}MENTS OR SUBSTRINGS Element 1 = 1 to 10 Element 2 = 11 to 20 Element 3 = 21 to 30 Element 4 = 31 to 40 %Q} Element 5 = 41 to 50 Element 6 = 51 to 60 Element 7 = 61 to 70 It looks as if each element isonly 9 lett%R}ers long. These numbersare inclusive so each one is 10letters long If we have a FOR-NEXT-STEP loopwe can generate th%S}ese numbers. 10 FOR N = 1 TO 70 STEP 10 20 ? N, N+9 30 NEXT N The result of this loop is asfollows: %T} 1 10 11 20 21 30 31 40 41 50 51 60 61 70 This is the way the programw%U}ould look. Please key in this shortdemo program. 10 -- 20 CLS:?:? 30 DIM X$(70),SUB$(10),PAD$(10) 40 PA%V}D$=" ":REM FOR PADDING THE SUBSTRING 10 SPACES 50 REM ASSINING PSEUDO STRING ARRAY VALU%W}ES 60 FOR N = 1 TO 70 STEP 10 70 INPUT "GIVE ME A WORD(MAX 10 LETTRS)";SUB$:? 80 SL=LEN(SUB$):REM LENG%X}HT OF WORD 90 IF SL<10 THEN SUB$(SL+1)=PAD$:REM PAD TO 10 LETTERS 100 X$(N,N+9)=SUB$:REM PU%Y}T VALUE INTO ELEMENTS 110 NEXT N 120 -- 130 ?:? 140 REM DISPLAY PSEUDO STRING ARRAY %Z} 150 FOR N=1 TO 70 STEP 10 160 K=K+1:REM COUNTER 170 ? "ELEMENT ";K;" = "; X$(N,N+9) 180 NEXT N %[} 190 -- A line by line explantion ofthis program is as follows:10 Draw 30 dashes20 Clear the screen30 Dim X$ for %\}the total amount of all the elements. The SUB$ is the lenght of an element. The PAD$ is the lenght of an element40 %]}PAD$ = is the lenght of an element(10). It is used to pad a word that is too short - less than 10 letters50 Rem exp%^}lanation60 FOR-NEXT-loop. It starts with 1 and ends with the number of elements(7) times the length of each element%_}(10) or (7x10=70).The step is the lenght of the element(10)70 INPUT the words80 Find out how long each word is.90 Pa%`}d each word to 10 characters100 Fill the elements or the SUB$ with words. The sub strings or elements are 1-10, 11-2%a}0, 21-30, 31-40, 41-50, 51-60, 61-70110 End of loop120 Draw 30 dashes130 Print140 Rem explantion150 FOR-NEXT loop. S%b}ee explanation on line 60160 A counter that counts the number of elemnts in the array170 Print the elements in X$(N%c},N+9) The substrings or elements in X$ are 1-10, 11-20, 21-30, 31-40, 41-50, 51-60, 61-70180 End of loop190 Dra%d}w 30 dashes You can also print outindividual elements of the stringarray. Please change the followinglines. 15%e}0 N = 0 160 INPUT "WHAT ELEMENT DO YOU WANT TO SEE";N 170 ? "ELEMENT ";N;" = "; X$(N*10-9,N*10) %f} 180 GOTO 150NPUT "WHAT ELEMENT DO YOU WANT TO SEE";N 170 ? "ELEMENT ";N;" = "; X$(N*10-9,N*10) $ SORTING NUMBERS =============== by Ron Fetzer The Bubble Sort We will us)q}3bŠbbӣb b%DOS SYSb*)DUP SYSbSAUTORUN SYSb RAMDISK COMbAUTORUN BASbSARRAYS TURbkgSORTING TURbBUBBLE NUMbBUBBLE STRb BUBBLE RELbMINISRT NUMb SHELLSRTSTRb,CATALOG TXTbq-CATALOG BASe a bubble sortbecause it is the easiest tounderstand. We first load the numbersinto a number array. In this sort 2elemen)r}ts of the array are examinedduring each pass of the loops. Theyare switched if they are not in theright order - low to hig)s}h. If theyare in the right order the loop keepson going. A bubble sort is slow butit is fine if you don't have too manynu)t}mbers. This sort uses nested loops. Theouter loop is the same as the numberof elements of the array. The innerloop is)u} ONE LESS than the elements ofthe array. The switching is donebetween these 2 loops. In our programit is lines # 140 to 17)v}0. Lets enter these 4 numbers intothe bubble sort and see how they areprocessed. The numbers are: 3,2,7,1 Between)w} the outer loop(4) andthe inner loop(3) we have (4x3=12) 12passes of the loops. The bubble sortarranges the 2 elements fro)x}m low tohigh. If these 2 elements are out oforder, it switches them. The arraystarts out as: 3,2,1,7PASS NUMBERS ACTION)y} ELEMENT ORDER---- ------- ------ -------------1 [3,2],7,1 SWITCH 2,3 2,3,7,12 2,[3,7],1 OK 2,3,7,13 2)z},3,[7,1] SWITCH 1,7 2,3,1,74 [2,3],1,7 OK 2,3,1,75 2,[3,1],7 SWITCH 1,3 2,1,3,76 2,1,[3,7] OK 2){},1,3,77 [2,1],3,7 SWITCH 1,2 1,2,3,78 1,[2,3],7 OK 1,2,3,79-12 OK 1,2,3,7 If we want)|} to sort in reverseorder from HIGH to LOW than we canchange the greater sign(>) in line140 to less(<). Please key in )}}this short demoprogram to see how it works. 10 -- 20 REM PUT NUMBERS INTO ARRAY 30 CLS:?:? 40 INPUT "HO)~}W MANY NUMBERS TO SORT";K 50 DIM A(K):? 60 FOR X = 1 TO K 70 INPUT "GIVE ME A NUMBER";N 80 A(X)=N)}:REM<--ARRAY 90 NEXT X 100 -- 110 REM BUBBLE SORT 120 FOR T = 1 TO K 130 FOR Y = 1 TO K-1 140 I)}F A(Y+1)>=A(Y) THEN 180 150 TEMP = A(Y) 160 A(Y) = A(Y+1) 170 A(Y+1) = TEMP 180 NEXT Y 190 NEXT X )} 200 -- 210 REM PRINT SORTED NUMBERS 220 ?:? "SORTED NUMBERS":? 230 FOR L = 1 TO K 240 ? A(L);" ";:REM<)}--ARRAY 250 NEXT L 260 -- MINI SORT The MINI sort is faster than thebubble sort. This sort fi)}nds theminimum valued element and places itin the first position of the array.It keeps on doing this until allelements ar)}e arranged from LOW toHIGH. In our program in line 50 weuse E=K. K is the number of elementswe have. The sort reduces K to)} 1. Weneed the value of K to print out thearray, therefore we make it equal toE. Please key in this short demoprogra)}m to see how it works. 10 -- 20 REM PUT NUMBERS IN THE ARRAY 30 CLS:?:?:K=0 40 INPUT "HOW MANY NUMBERS T)}O SORT";K 50 DIM A(K):E=K 60 FOR X = 1 TO K 70 INPUT "GIVE ME A NUMBER";N 80 A(X)=N:REM<--ARRAY )} 90 NEXT X 100 -- 110 REM MINI SORT 120 Y=A(1):Z=1 130 FOR R = 2 TO K 140 IF A(R)>=Y THEN Y=A(R):)} Z=R 150 NEXT R 160 SS=A(K):A(K)=A(Z):A(Z)=SS 170 K=K-1:IF K>1 THEN 120 180 -- 190 REM PRIN)}T SORTED NUMBERS 200 ?:? "SORTED NUMBERS" 210 FOR T = 1 TO E 220 ? A(T);" "; 230 NEXT T 240 -- )} SORTING STRING ARRAYS ===================== THE STRING BUBBLE SORT For a full understanding of aST)}RING BUBBLE SORT please read thesection on PSEUDO STRING ARRAYS andBUBBLE SORT first. First we set up a PSEUDO STRING)}ARRAY. Without a string array youcannot sort strings. We are going toenter 4 words: ZERO ALL HOUSE COM)}PUTER A String Bubble Sort works thesame way as a number Bubble Sort,except each element is longer. Weswitch element)}s if they are not inthe right order - small to large. Theelements or substrings in thisdemonstration are: 1 to 10 (Z)}ERO------) 11 to 10 (ALL-------) 21 to 30 (HOUSE-----) 31 to 40 (COMPUTER--) The confusion comes when we ha)}veto specify the substrings or elementsfor switching. In order to clarifythis we use line 180 to assignvariables to these)} values. B(beginning)=Y E(ending)=Y+9 BB(begin next higher elemt)=Y+10 EE(end higher elmet)=Y+(10+9) )} Please type in this short demoprogram to see how it works. 10 -- 20 REM INPUT WORDS INTO ARRAY 30 CLS:? )} 40 INPUT "HOW MANY WORDS TO SORT";K 50 DIM A$(K*10),SUB$(10), PAD$(10),TEMP$(10) 60 PAD$=" )} ":REM 10 SPACES 70 ?:? "MAX. LETTERS = 10":? 80 FOR N=1 TO K*10 STEP 10 90 INPUT "GIVE ME A WORD";S)}UB$ 100 SL=LEN(SUB$) 110 IF SL<10 THEN SUB$(SL+1)= PAD$ 120 A$(N,N+9)=SUB$ 130 NEXT N 140 -- )}150 REM STRING BUBBLE SORT 160 FOR T=1 TO K*10 STEP 10 170 FOR Y=1 TO (K*10)-10 STEP 10 180 B=Y:E=Y+9:BB=)}Y+10: EE=Y+(10+9) 190 IF A$(BB,EE)>=A$(B,E) THEN 230 200 TEMP$=A$(B,E) 210 A$(B,E)=A$(BB,EE) )}220 A$(BB,EE)=TEMP$ 230 NEXT Y 240 NEXT X 250 -- 260 REM PRINT SORTED WORDS 270 ?:? "SORTED WORDS:":? )} 280 FOR L=1 TO K*10 STEP 10 290 ? A$(L,L+9) 300 NEXT L 310 -- A line by line explanation ofthis program i)}s as follows:10-140 See the section on PSEUDO STRING ARRAYS150 REM explanation160 Outer Bubble Sort loop. K=numbe)}r of words X the element length. STEP = elemnt length170 Inner loop must be 1 element less than the outer loop. Tha)}t is why we have (K*10)-10180-220 We examine each element. If the 2nd element is larger than the first element t)}hen it is OK. (small to large) - no switching. If it is not in the right order then we do the switching, just )} as we did with the number bubble sort.230 End of inner loop240 End of outer loop250 30 dashes260 REM explanation270)} Print280 Loop to display sorted words290 Print sorted words300 End of loop310 30 dashes If you want to sort larger)}strings lets say 20 characters longthen change every reference from 10to 20. They are in lines 50, 60, 70,80, 110, 12)}0(N,N+19), 160, 170(E=Y+19, BB=Y+20, EE=Y+(20+19), 180,280 (A$=L,L+19) If you want to sort from Z to Athen change the )}(>) in line 190 to(<) THE SHELL STRING SORT --------------------- The SHELL SORT is much fasterthan)} the BUBBLE SORT. The reason itis faster is that the number ofcomparisons to be made is reduced. If you try to sort 2)} words orless than you will get an errorbecause in line 90 the FOR-NEXT loopbecomes an illegal reverse loop (FORT=1 TO 0))} In line 210 we assign variablesto the element beginning andendings. B(beginning of element)=Y*10-9 E(endin)}g of element)=Y*10 BB(Next higher elmt)=Z*10-9 EE(Ending element)=Z*10 Please key in this short demoprogram to)} see how it works. 10 -- 20 REM INPUT STRING ARRAY 30 CLS:? 40 INPUT "HOW MANY WORDS TO SORT";K)} 50 DIM A$(K*10),SUB$(10), PAD$(10),TEMP$(10) 60 PAD$=" ":REM 10 SPACES 70 ?:? "MAX. )}NUMBER OF LETTERS = 10":? 80 FOR N=1 TO K*10 STEP 10 90 INPUT "GIVE ME A WORD"; SUB$ 100 SL=LEN)}(SUB$) 110 IF SL<10 THEN SUB$(SL+1)= PAD$ 120 A$(N,N+9)=SUB$ 130 NEXT N 140 -- 150 REM SHELL SORT)} 160 X=1 170 X=2*X:IF X<=K THEN 170 180 X=INT(X/2):IF X=0 THEN 300 190 FOR T=1 TO K-X:Y=T 200 Z=Y+X 2)}10 B=Y*10-9:E=Y*10:BB=Z*10-9: EE=Z*10 220 IF A$(B,E)<=A$(BB,EE) THEN 270 230 TEMP$=A$(B,E) 240 A)}$(B,E)=A$(BB,EE) 250 A$(BB,EE)=TEMP$ 260 Y=Y-X:IF Y>0 THEN 200 270 NEXT T:GOTO 180 280 -- 290 REM PRINT S)}ORTED WORDS 300 ?:? "SORTED WORDS:":? 310 FOR L=1 TO K*10 STEP 10 320 ? A$(L,L+9) 330 NEXT L 340 -- )}If you want to sort largerstrings, lets say you want 20characters, please change everyreference from 10 to 20. They are in)}lines: 50, 60, 70, 80, 110, 120(N,N+19),210(B=Y*20-19, E=Y*20) and the samefor BB and EE, 310, 320(L,L+19). R)}ELATIONAL BUBBLE SORT ---------------------- A relational sort is if you have2 arrays and they are related to e)}achother in some way and therelationship has to be maintained.For instance, we want to write atelephone directory program)}. In onearray we store the names and in theother we store the phone numbers. Weare going to sort the names but thephone n)}umbers always have to beswitched with the name so the properrelationship is maintained. When we sort with the BubbleS)}ort the switching is done in lines240, 250, and 260. It is done asfollows: 240 TEMP$=A$(B,E):TEMP1$= B$(B,E))} 250 A$(B,E)=A$(BB,EE):B$(B,E)= B$(BB,EE) 260 A$(BB,EE)=TEMP$:B$(BB,EE)= TEMP1$ A$ is the n)}ame array and B$ isthe phone number string array. TEMP$is in the name array and TEMP1$ is inthe phone number array. As we )}swticheach name during a sort so we alsoswitch the phone number array so itmaintains its proper relationship. We use )}a string array for thenumbers because many people use a '-'in their phone numbers and a numberarray would not accept it. A)} secondreason is that if a number becomestoo large it is expressed inscientific notation. In our demo program we DIM)} eachelement of the name and phone numberarray to 10 to make it simpler tounderstand. Please key in this short demop)}rogram to see how it works. 10 -- 20 REM INPUT NAMES AND NUMBERS INTO THE STRING ARRAYS 30 CLS:? )} 40 INPUT "HOW MANY PHONE NUMBERS TO SORT";K 50 DIM A$(K*10),B$(K*10), SUB$(10),SUB1$(10),PAD$(10) )} TEMP$(10),TEMP1$(10) 60 PAD$=" ":REM 10 SPACES 70 ?:? "MAX. LETTERS OR OR NUMBERS = 10)}":? 90 INPUT "GIVE ME THE NAME"; SUB$ 100 INPUT "GIVE ME THE NUMBER"; SUB1$ 110 ?:SL=LEN(SUB$) )} 120 SL1=LEN(SUB1$) 130 IF SL<10 THEN SUB$(SL+1)= PAD$ 140 IF SL1<10 THEN SUB1$(SL1+1)= PAD$ 15)}0 A$(N,N+9)=SUB$ 160 B$(N,N+9)=SUB1$ 170 NEXT N 180 -- 190 REM RELATIONAL BUBBLE SORT 200 FOR T=1 TO K*10)} STEP 10 210 FOR Y=1 TO (K*10)-10 STEP 10 220 B=Y:E=Y+9:BB=Y+10: EE=Y+(10+9) 230 IF A$(BB,EE)>=A$(B,E) TH)}EN 270 240 TEMP$=A$(B,E):TEMP1$= B$(B,E) 250 A$(B,E)=A$(BB,EE):B$(B,E)= B$(BB,EE) 260 A$()}BB,EE)=TEMP$:B$(BB,EE)= TEMP1$ 270 NEXT Y 280 NEXT T 290 -- 300 CLS 310 REM PRINT OUT SORTED PHON)}E LIST 320 ?:? " TELEPHONE LIST":? 330 FOR L=1 TO K*10 STEP 10 340 ? A$(L,L+9);B$(L,L+9) 350 NEXT )}L 360 -- The two arrays can use the samePAD$ (ln #60) because they are thesame size. They can use the samebeginin)}g and ending element numbersbecause they are the same size (ln#220) If you want a printed list pleasechange lines 320 )}and 340 from PRINTto LPRINT. In a similar manner you couldhave a relational sort between anumber array and a string ar)}ray. Forexample you want to sort by score abowling league. The sort would bedone on the scores(number sort) andthe names )}would have to maintaintheir relationship to the score. To get a clear understanding ofrelational sorts, please read the)}section on ARRAYS, PSEUDO STRINGARRAYS, NUMBER BUBBLE SORT and STRINGBUBBLE SORT. LOADING SORTS -)}------------ You are urged to key in eachsort yourself because you will learna great deal from this. If you do notwan)}t to do this you can load thesorts into your computer. The filenames are as follows: 1)BUBBLE.NUM 2)BUBBLE.STR )} 3)BUBBLE.REL 4)MINISRT.NUM 5)SHELLSRT.STR If you have any comments orsuggestions about these tutorials,)}they are welcome. Please write to: RON. FETZER 22 MONACO AVE ELMONT, NY. 11003 )} ADDENDUM -------- If you want to compile a programyou CANNOT use the command 'END'. Itdoes not com)}pile. On page 26 and page29 of the EXPANDED DOCUEMTATION onPROC - ENDPROC and ERROR 27 I saidyou should have an END statem)}entsomewhere in your program. This isnot necessary - the only thing youneed is ANOTHER executable line afterthe EXEC comm)}and ********** Sometimes it is necessary toconstruct a string array in adifferent manner than I have sh)}own.For example we want a string arraywith 21 letters. This is an alternateway of doing it. 10 DIM ARRAY$(5*21),B$(2)}1), PAD$(21) 20 FOR X=1 TO 5 30 PAD$=" " 40 INPUT "GIVE ME A NAME";B$ 50 BL=L)}EN(B$):IF BL<21 THEN B$(BL+1)=PAD$ 60 ARRAY$(X*21-20,X*21)= B$:REM ARRAY 70 NEXT X **)}******** Please load the program"CATALOG.BAS" into your computer. Itis written in TURBO-BASIC and it willgive you so)}me help in using TURBO-BASIC. This program reads your diskdirectory of all your disks and makesONE ALPHABETICAL or NUMBERI)}C list ofall your disk files. **********skdirectory of all your disks and makesONE ALPHABETICAL or NUMBERI(9  MATEM@ TPUT NUMBERS TO BE SORTED-} ` ( ((""HOW MANY NUMBERS TO SORT2 9, (<-@FGIVE ME A NUMBER P 68,-<--ARRA-}YZ dTnBUBBLE SORTx-@-@&@8%@,8,A 6-8,68,-}-8%@,68%@,-  TPRINT SORTED LIST((SORTED NUMBERS(-@-}(8,, <--ARRAY  D:BUBBLE.NUMTPRINT SORTED LIST((SORTED NUMBERS(-@,2"#i~ASUBPADNNSTEMPBBE 1}  T##INPUT WORDS INTO STRING ARRAY ` (( HOW MANY 1}WORDS TO SORT233;$@,;@,;@,;@,<6. F)(&(MAX. NUMBER OF LETTERS = 101})(P!!-@$@@ZGIVE ME A WORDd 6-B:,n  @ 67%@,.x67<%@ ,.1} TSTRING BUBBLE SORT!!-@$@@++-@+$@,&@@= 6-61}-%@ %6-%@=6-%+@%@ ,7<,17<,A06.7<,67<,.7<,67<,.1}  TPRINT OUT SORTED WORDS(( SORTED WORDS:(!!-@$@@"(7<%@ ,1}, 6T D2:BUBBLE.STRORTED WORDS(( SORTED WORDS:(!!-@$@@"(7<%@ ,0!DE%ASUBPADNNSTEMPBBESUB1PAD1TEMP1SLBEBBEELR5} 5} T00INPUT WORDS AND NUMBERS INTO STRING ARRAYS ` ((((5}HOW MANY PHONE NUMBERS TO SORT2VV;$@,;$@,;@,;@,;@,;@,;@,<65}. F4(1(&MAX. NUMBER OF LETTERS OR NUMBERS = 104(P!!-@$@@ZGIVE ME THE NAME5}dGIVE ME THE NUMBERn(6-B:,x 6-B:,  @ 67%@,.  @ 67%@,.65}7<%@ ,.67<%@ ,. TSTRING BUBBLE SORT!!-@$@@++-@+5}$@,&@@= 6-6-%@ %6-%@=6-%+@%@ ,7<,17<,Ap6.7<5},6.7<,#67<,.7<,#67<,.7<,67<,.67<,.  "T,`6!!PRINT OUT SORTED PHON5}E LIST@(( TELEPHONE LIST(J!!-@$@@T##(7<%@ ,7<%@ ,^ hT 5}D2:BUBBLE.REL( TELEPHONE LIST(J!!-@$@@T##(7<%@ ,7<%@ ,^ hT 4y=SAIS@ 9} T!!PUT NUMBERS TO TO BE SORTED` ( (6-(""HOW MANY NUMBERS TO SORT2 9,6-<9}-@FGIVE ME A NUMBER P 68,-<--ARRAYZ dTnMINISORTx6-8@,6-@9}-@ 8,6-8,6- ! 6-8,68,-8,!68,-%6-&@%!@A T9}PRINT NUMBERS((SORTED NUMBERS(-@(8,  TD2:MINISRT.NUMA T8m'( ASUBPADNNSTEMPBBE=}  T##INPUT WORD=}S INTO STRING ARRAY ` (( HOW MANY WORDS TO SORT233;$@,;@,;@,;@,<6. =} 10 SPAESF)(&(MAX. NUMBER OF LETTERS = 10)(P!!-@$@@ZGIVE ME A WORDd 6-B:=},n  @ 67%@,.x67<%@ ,. TSHELL SORT6-@6-@$A=}p(6-P:'@,("A-@&6- 6-%K6-$@&@ '6-$@=6-=}$@&@ K6-$@7<,/7<,Ap6.7<,67<,.7<,67<,. 6-&!=}A  AT"PRINT SORTED WORDS,(( SORTED WORDS:(6!!-@$@@@(7>}<%@ ,J TTD2:SHELLSRT.STRTED WORDS,(( SORTED WORDS:(6!!-@$@@@(7<0 RAM DISK CATALOGER INSTRUCTION --- ---- --------- ----------- by Ron Fetzer This program works on anyB} ATARIXL/XE computer that has a RAM DiskD8: It reads your disk directory fromall your disk and prepares ONEALPHABETICAL oB}r NUMERIC file of allyour disks. The following files willnot be cataloged: files ending in.SYS; .COM; .0SS or files calledB}STARTUP. These files are usually notuser created. The program is written in TURBO-BASIC. The program uses the RAM DISB}KD8: as a data disk and stores allfilenames in the master file called"DISKFILE". The program will notallow you to use thaB}t name again. Inthe BASIC version you can sort up to873 files. In the compiled versionyou have to reduce your programmemoB}ry requirement because the file"RUNTIME.COM" also has to be in thememory. In the compiled version inline 130 you must makeB} this changeDIM ARRAY$(14700). This will give youonly 700 files but you get atremendous increase in speed. If you thiB }nk you have more filesthan the program can handle divideyour disk into 2 groups and make asort for each group. The CATALOGB }ERuses the SHELL sort which is fairlyfast even in BASIC. After your disks are loaded intothe RAM DISK then you can soB }rt themin 2 ways. One by file name and theother by disk number. For a file nameyou can call the sort file"FILE.SRT". For B }the disk number sortyou can call the sort file"NUMBER.SRT". Prepare a data disk byformatting it and put DOS 2.5 on itB }.When you are finished BEFORE!! youturn off your computer got to DOS anduse: OPTION C 'D8:*.*,D1:*.*" Copy thB}e RAM DISK unto a floppydisk. Take out your program CATALOGERdisk and insert the DATA disk youprepared and follow the abovB}einstructions. After you have donethis THEN you can turn off yourcomputer. In this manner your masterdisk file and all yoB}ur sort fileswill be saved. Now it is easy to ADDnew disks or files to your masterlist. When you boot up again you doB}everythig in reverse. You insert theCATALOGER disk and create a RAM DISKD8: Then you take out your CATALOGERdisk and inseB}rt your DATA DISK andtype DOS and go to: OPTION C 'D1:*.*,D8:*.*' You are now re-loading yourpreviously saved B}disk files into theRAM DISK so you can add or delete andwork with them. When you first start up useOPTION 2: LOAD DISB}KS. Insert one diskafter the other until you are done.Next you must choose OPTION 6: SORTFILES. You can sort by file name B}orby disk number. Once a sort iscomplete you can display it on thescreen or the printer. It issuggested you do both sortsB} byfilename and by disk number. The number function uses astring variable as a result youshould type in the numbers iB}n thefollowing manner so they will besorted correctly. 1=001, 3=003,15=015, 123=123. Each number shouldbe 3 DIGITS long.B} When you want to add new disksselect OPTION 3: ADD NEW DISKS. Ifyou select OPTION 2: LOAD DISKS thenyour prviously crB}eated masterDISKFILE will be wiped out and youhave to start loading all the disksover again. You can insert individuaB}l filesinto the master file DISKFILE or youcan delete a file from it. If you dothis you must re-sort to inclue oreliminatB}e this file from your sortfile. You can also erase a file formthe RAM DISK D8: by using OPTION 9:ERASE DATA FILE. B} Always exit the program by usingOPTION 10: END because it gives you areminder and instructions on how tosave your files B}from the RAM DISK toa floppy disk. To get experience using thecompiler it is suggested you compilethe program yourselfB}. Here are thesteps to make this an AUTO BOOTINGCOMPILED program. 1. Change line 130 ARRAY$ to ARRAY$(14700).B} Save this program to another disk Call it CATALOG.BAS 2. Have the TURBO-BASIC disk in in your dB }irve and go to DOS 3. Select option L 4. For the file name use COMPILER.COM 5. Remove the TURBO disk aB!}nd insert the disk with the CATALOG.BAS file on it. 6. Press the number 1 key for one disk driveB"} 7. With the arrow keys move the cursor until you are at CATALOG.BAS and hit return 8. The program B#}will now compile 9. When it is finished you will be asked for a file name. Call it AUTORUN.CTB 10. CB$}opy from the TURBO disk the file called 'RUNTIME.COM' and change the name to AUTORUN.SYS. That B%}is all except or a fewGerman words which you may not know. GERMAN ENGLISH ------ ------- JaB&} Yes Nein No Speichern Saving to Disk Programmleange Program lenght Fehler B'} Errors Laufwerks- Disk drive nummer number Pfeiltasten Arrow keys Wahlen ChooB(}se Compiliert Compiled Kein Not Taste drucken Press a key Zeile Line number B)} When you are finished readingthis documentation answer 'NO' to thequestion "Do you want to read anyother documentation" B*} Type in RUN "D:CATALOG.BAS" toget to use this program. If you have any comments orsuggestions about this program B+}theyare welcome. Please write to RON FETZER 22 MONACO AVE ELMONT N.Y. 11003 This pB,}rogram is in the publicdomain! RON FETZER 22 MONACO AVE ELMONT N.Y. 11003 This p@!77BBDATA_FILELOANEW_DISNEW_FILEERASE_FILESORSORT_ON_SCREEPRINT_SORDEL_DATEND_PRONEW_DISKSHOW_SORF.}DIRECTORMENLISFILEAYDISKFILEDDDNAMEGPADDFILEDFILEDEFILEEXDARRAYSTART_LOADFILESFILE1FIL1LARRAYFF/}ILE_SORNUMBER_SORBICDAADISPLAY_STRDISPALY_STRDSAVE_SORREVERSE_STPNUMBERNAMETEMPREVNUMERALPHAREV_ALPHARF0}N_END_ERROSORTEND_FILE_ERROSCROLYNKENUMERIEND_OF_FILPSHOWXNAMPRINT_ALPHAPRINT_NUMERITITLTPAGTDPRINT_ALPF1}AHPRINT_ALFA_NUYALFA_NUNUM_PROMPFILE_MUM_SORFILE_NUM_SORFVSCREEN_CLRDLISTHZDILSTKSTFXYERDELSUBEXTF2}EEEREXXTEEXTDIDKLDDEBBSBERROERKWPWPKKS@@FF3}6K M UT a jm[EVCcM  F4}#L(- !"#$B%&T'F5}(.G@)*+,T-.iG/0123456LF6}789:L;0L?EL@ZLAoLBCDEFF7}GHIJLK!_L aMLNOPQRSTLUVF8}WhXYZi[\]^Xd_`]ahbc)XdLeLF9}fx@gLhLiLjklmLnoBM pqrstuF:}v MwxyM z{|*M }~6M F;}NM‡CRnM dTn>>PROGRAM IN TURBO-BASIC FOR ATARI XL/XE WITH RAM DISK F<}D8:xss;@,;@,;@,;@,;@,;@,;@!,;@,;A$,;@!,ssF=};B3,;@!,;@!,;@!,;@!,;@!,;@!,;@!,;@,;@%,~~;@,F>};@,;@,;@,;@,;@,;@,;@!,;@,;@,;@,33;@,F?};@!,;@, ;@,= Ap=@3@ D8:MEM.SAV6. D8:DISKFILE BF@}P\TOH`-@@<(H6-#-@@#(FA} 1: Normal"-@@"(2: Amber*-@@*(3: Reverse Amber"-@@"(4: Green!FB}-@@!(5: GreyB A-@@8Select a number >>B B"l  @)!@)P:FC},#(J("Error: Select a number from 1 to 5\-@(@b( l A,//AA A0A@APFD}61AAH'A @1 A`@1A@P'A @1 A`J1A@X'A FE}1 A`T1A@D'A 1 A`^1A@'A 1 A`hQFF}rT|]6. #`-@@#(ՠ%( (%(1: Files on Data Disk( 2: Load DisksFG}(3: Add New Disks!!(4: Add Individual Files##(5: Erase Individual Files( 6: Sort Files''(7:FH} Display Sort on the Screen(8: Print the Sort(9: Erase Data Files( 10: EndB A-@ FI}@8Select a Number >>B Bn  @)!@)P:,#(K(#Error: Select a number from 1 to 10]-@'FJ}@d( n Ab\&T0O:0*@@D8:*.*-`0(DFK}@N++@:7@<@,,!@GA X(bA@( A@:7@<@,, @GAFL}lv'('( FILES ON RAM DISK D8:A( (/Do you want to continue(Y/N) >>AAR37@FM}<@,4Y& A`)@,'0P3AQTO"@\&#@@&A] `FN}-@@A( Please insert a disk in drive #17-@@7(To go to the type 'MENU'Z-@@FO}Z>Disk #(1=001, 2=002, 35=035 etc.) or disk name(max 5 lttrs)>>4MENUA 0$6. 6-$FP}6-B:,  @ 67%@,.B*@@D1:*.*66-B6- @XFQ}X7@<@,4COM)7@<@,4SYS)7@<@,4OSSA **7@<@ ,4STARTUPAFR}*6-%@6-B:,4,"@6. &67@,.,6.>>/67$@&@<$@,.7@,>STRIFS}NG ARRAYH/"7@<@,4SECTORS%/ A`R"@A\##@@ f-@FT}p44(7$@&@<$@, DISK --->z// @7$@&@<$@, 3 6. 6FU}. 6. '6-36-  \X"@`$-@@N(%You must re-sort to include this diskFV}XMA QTO* 6. 6. 6-'6. *`<-@@<("For type 'MENU' for fileFW} name8-@@8What is the disk file name>>4MENUAE 6-B:,!@(;(Error: FilFX}e name is too bigE A 5 6.67@,.6.56. )6-6-B:,)67%@,.ZFY}-@@Z>Disk #(1=001, 2=002, 35=035 etc.) or disk name(max 5 lttrs)>>A6. 6-$6-B:,0FZ} @A67%@,.$##@@ . @8 A pBU`-@@H(+You F[}must re-sort to include these filesRM@`ULQVT`Oji 6. 6. 6. #6. ,6. 86-F\}D6-P6-\6-i6 -tc`6. 6. 26. D6. W6 .F]} c6. ~L 6. -@@L(Does this file have an extension(Y/N) >>67@<@,4F^}Y& Ap)@3 A6AO()File name - LESS extension>>26-B:,> @O67%@,.S(- ExtensF_}ion - LESS decimal point>>66-B:,B @S67%@,.'67@ ,.!67@,.'6. A@H6F`}-6.(H(What file do you want to erase >>9 6-B:, @)67%@,.96 7@,.Fa} 6. H("What disk # or name>>+6-B:,7 @H67%@,.?`AR@*-@@?(Fb}ɠ͠Ǡ##@@S6-%@ $@;6.7@<@,S6.7@Fc}<@!,8 7@<@,4 .6-&@8 Ap &&67$@!&@ <$@!,.T4*4G67$Fd}@!&@ <$@!,. T6 -@ Ap(]l"A62D "`%-@Fe}@:(ŠԠĠDMA <; "@`%-@@1(š;M@FR`ARFf} 6. 2-@@RErase another file(Y/N)>>PSAVE DISKFILEZ/#@@/6-Fg}d-@&@n-- @7$@!&@ <$@!,x 67@<@,4Y& A0)@3 A Fh}6AU`-@@H(+You must re-sort to eliminate these filesRM@UQTTO6-Fi}6. 6. A` ( (((A(*You must assign a file name for the sort8(8(-The filename should have an exFj}tender of _( (M=Please enter the filename and extender(max. 8 lttrs + .SRT)>>_AR@C4DISKFFk}ILE(9(Error: You cannot use this nameC A1`-@ @1(Ǡŧk 6-B:,%67@Fl}<%@,.@67@<@,.D8:Y6.7@<%@,kAR##@@(6Fm}-%@ A(@77@<@,4 -6-&@7 AP"&&67$@!&@ <$@!,.Fn}, AP6l"A6@.`-@@(( Ԡՠ+(.(J(1: Sort by File NameT##(2: SortFo} by Disk # or Name^E( A0"-@ @;Select a number >>E Bhl  @)!@)P:,#(J(Fp}"Error: Select a number from 1 to 2\-@'@b( l A0r j|T]SHELL SORT9AR@Fq}`*-@@9( ǡ"@P;6-@6-'6-36-;6. )6-Fr}@$)+&@,A(6-P:'@,("A#-@+&@,&#6-S 6-%S7$Fs}@!&@ <$@!,/7$@!&@ <$@!,Apf&6.7$@!&@ <$@!,f67$@!&@ Ft}<$@!,.7$@!&@ <$@!,B&67$@!&@ <$@!,..6-&B!A@  A Fu}K`-@@/(ԠӠŠ9M@`KARTSAVE THE SORT:`-@@:Fv}(ǠԠϠ͠ˠĸ/#@@/6-&-@&@0-- @7$@Fw}!&@ <$@!,: D 6.  ARNQXTbTlOvP6-16-6.Fx} 6. 1AP8( (8(What SORT file do you want to see >>B4DISKFILE(8(Error: This isFy} not a SORT fileB A0Y 6-B:,%67@<%@,.@67@<@,.D8:Y6.7@<%@,6`-Fz}@ @3(Π٠պ6(.( (.(1: Files in alphabetical order""(2: Disk in numeric orderF{}A A-@@7Select a number>>A Bl  @)!@)P:,#(J("Error: Select a numbeF|}r from 1 to 2\-@(@b( l A jT]"@P\` &@@F}}26->6-J6-\AR@ 0`-@@0(ǠԠŠ#6-%@ F~}#@ 77@<@,4 -6-&@7 A p*&&67$@!&@ <$@!,.4 A p>F}]l"A6H7`-@@4(TO PRESS ANY KEY7(R-@+&@,\&&6.7$@!&@ F}<$@!,f@"@@( 7@<@, DISK-->7@,p@"@@( 7@<@, <--DIF}SK 7@,z!6-%@"@"!P 0(0( You have &@ disk filesC 6. ARF}CDo you want to continue (Y/N)>>37@<@,4Y& A" )@,'0P3AQTTO6F}-&&@@K:)@"@: ,A#  Q T T O$ P. k6F}-6-'6-36-?6-G6. O6. [6-c6. k6. 8 8( (8(What SORT FF}ILE do you want to print >>B B4DISKFILE(8(Error: This is not a SORT fileB A#`L 8( (8(What is your nF}ame(max. 25 letters) >>V Y 6-B:,%67@<%@,.@67@<@,.D8:Y6.7@<%@,` -`F}-@@*( Ԡպ-(j :(+(1: Print files in alphabetical:( ordert (((2: Print in numeric F}disk order~ G( ( A$0%-@@=Select a number>>G B l  @)!@)P:,#(J("ErroF}r: Select a number from 1 to 2\-@'@b( l A$0 j T ] "@P P A#@F}@5AR@A6- 1`-@@1(ǠԠӠ (6-%@ A%F}`(@ 77@<@,4 -6-&@7 A%  &&67$@!&@ <$@!,. A% F} l"A6 &&@@P: '`-@@'( Ǡ -@+&@,( F}6-%@2 &&6.7$@!&@ <$@!,< ^"@^(@ 7@<@, F} DISK-->7@,F ^"@^(@ 7@<@, <--DISK 7@,P "@TF}PZ  d X(@X(@$ You have &@ disk filesn :6-6-@TF}&+-@6(@: x BB(@# -%@- ARF} Q T T O Q 6. `"-@@Q(Did you do a à first(Y/N) >> 37@<@F},4Y& A'`)@,'0P3A Q T O \`6.  -@@\5Did you set the paper to the top of itF}s form(Y/N)>> 67@<@,4Y& A()@3 A'6A <&@@P:1(@<(@F} >>(@  PROGRAMS BY  $(@(@$(@ Q" T, O6 F}6-@ 6-%@J (@(@T ::(@# --^ f(@F}(@$(@/(@:(@E(@P(@[(@f(@h Qr T| O P '('( F} ŠˠŠ ((( (Enter file name>> Q 6. (( 4Are you sure(Y/N)>>M7@F}<@,0YQ\  6.D8:67@,. ? A02@3@5? B Q TF} O /6-6. 6. '6. /6.  -@+&@, &&6.7$@!&@ <$@!, )6F}.7@<@,)6.7@,  6.67@,. &&67$@!&@ <$@!,.  & Q0 T: TD EEF}*** Program by Ron Fetzer, 22 Monaco Ave, Elmont N.Y. 11003 ***N TX Tb Ol +`-@@+(End of ProgramvF} =-@@=(#Copy the RAM DISK to a FLOPPY DISK! 5-@@5(Use Option C 'D8:*.*,D1:*.*  MAF}' A20 Q 'AAH'A @ TD2:CATALOG.GENse Option C 'D8:*.*,D1:*.*  MADV