@L `}/j5  $% l0?$)$$Hȱ$ ShL$ `e$$%` h?/ `  !I PR@1 YL I`! S S) H$ЙH 0}Џ$%`@ $% CC$$%e%dU$% ]0%$% DDmLp   % J)Lz J  (( o L (y/)  [L< ( yL Z 0o Tya y }4IB [y32C/10m?4 V V  wLL a ` V y/})23LzA! ߰")-݈ y" $zzG@LL 08` k")};1k0 -G$Ș݈ SL! 9 y8(()(0˥)Nk`$GȘ݈LS )L ݈ L GzȘ} ݈LL )W>Z   HH)H o h  yhy00hy11/ V  }L> L JJaHJJJh) yLT J u (`  IBLH % 6h HHGH`LdJ })LJJLw!,"!,/@F  L! ! 0E^  }^ E E7EȩEdE/EȩE / ! Vΐ )L   mx n wym }?x7x?4 ( ) w y32 R V LL n w ) V  L y / o   }E` , ny/) / V Ly/) 0BM݌L݋ ML  N݈ L }NLML [ fEqEHȱEqEh 3Gȹ G KLL GzɛL  L}FREE SECTORSy /H) *Gȩ GȽ4G GȌyh%*J >G<-+=!*?%% &%z3%$$HEL{*DIR*LOC.CLR.LOA-VER%INI+UNL.FMS.SAV,MODg%CARR*REN?,FME.H"}EAP)BAC_%BONo1DEL.FMD.SUM(RUNm*BOF|1COP3&FMQ.TYP.)EXE$ 1Y5P" O."8""@R'S15%#}0i5i5501ȊԢx5"JFJPWy"HH *5")IAY54 4> 4,0$}L#N #L|*J #L*J #14"4`J # 1Lk*v} 4 *%H$H`)?4 $ 4 #$0 %} 2 4 $ y$, L$LL-19" !"H "H` $ $Ѻ Ѻ걺 2ȱ 4ɛL"ȱH&}H 2e滠滱 u2`> 8e滐`+"`e` y$ 2" 2Execute: W. /p O. '}/ 1L"*ԆՎ l$ 2 \*L#L)4 % HJJJJ 3. 4h 3 3XFHSEX; 4L4(}"݅pq y$ 2ݹp` %ݱp 3`,5 2`N5 l$ /0 / 1 l$L$$8n" }$ 2pq y$I eppq> )}4pq 3 3p,"0 ' 4 3L& 3`p8pqŠ 2ݑpȥpȄ(` /5D . 5 - #( l*}$ / #(莉5 2Reading: . .ii e֥iש 0( . `1,P3 1S / / 1&+}& 5$?♵5 -8tu E( rȥs(0 O. .Еߥ .8 ' 0( 2Writing: rȱsr* / /,} ,` / 1rs8 E($0 O. . .C .L'5  e . 'Lx&,5PJC`,50 2I-}nsert ( 2sourceL' 2destination 2 & hit key ! #ڭ ҍ5L25`5օtׅu` S2tu /.} 1HrettIseuu(` (x / / O.L1`$0'5 / S2 1XY O./}8` W.r n( (errstuvw 2LEN: vw 3u 3 2 SUM: st 3rL3 W.$0 * n( ( 4LB)0}N` W.ʆ n( ($0,F (!$0բ 2No COM-File !LO. (8ԨՐυلإ5 * 1}2# 2RUN: E* 3 2INIT: E*L^) * 3 2. ԥ 3- 4֥ 3 2 LEN:إ 3 (L)إL^) 2}( ( 3L3 1 y$T 4T l y$l 2l *" 4 3 * $ $ 4 2 *ݥURL4` 3}, /$0"I" 1 n+,"0e+Di5Ei Q2 1 2 V/8," 24}LV+ԩ 3: 4 4I 4L+ 2D5:1 4 2: $;0+ 2SINGLE 2 DENSITY 2 RAMDISKL* 2ENH5}ANCEDp 2DOUBLE 2QUAD }/5,5$ 1 O.$0 `DOS.SYS8f5ȩU5ȩP5婿t"Y56}L, / - l$ / /X,L. /,55 5.5 橛5L/LL$ }/ l$ 2 2刄t( 287}$, 2RUN : y-ft 2INIT: y-ft 1 -$tP`$tPF$6ee8}ȄԄՠ$0֩ /$0 q- /8ਥi S2 L15 4ɛ 2` y$ 2 " 2Load: W.9} /$莞 1 -5 lL"0L2`")i"` 1 . / Q2 1'  Q2 1٠:}0 V/ .L.L2 BLVhihi / -i(i( -8((((.. . `1 1 - .;}`5  e`,,,,"H 0hZ,!,#,$/ /$0 $0ZL/ -/L. / /"L11/2/5<} 5 H.5h5ک5`5c/d/ 5? $08`$0`45 [2519 5=}55 /$05455 /5ED` *50 4`5008f [2R0/@ 2.>}/ȱ 280@0  eiȱ/\FȢɛ  o- *  D.8;+"/+ȱ0"?}LL$V ȱ+F/ڊ u2 80 ? 00 0/+$0Wy`5 ` 2Sure ? 1Q`$O 2es, @}o or bort? 81YN 4(` 'ɛ)YN A 2AL"` * 4 `)  ӆiA}j O.+ /  /$0Ș,J, 1B V0`1 O.:>ݩ,".U * 2 is locked !Unlock file? 1ݐ`B}$ 1УԢ5 )p O. * * 2# 4 3L"IH`:;:` ,ɛ`` u2` *C}hihi 4eiHH` ," 4 2 8`0:` 3` 2iԥiդ o$ԥ(`LL$ 2ԍ2Ս2D}Ԇՠ+22ȱ.6'`0#: AG6  &&`8`芄  (` }$ 2 2 3 E}2=' 38nɛL4ԥ 3 2=.݆ކ&բuݕت 3ߊ, 3HJJJJ 3h) 0:i,  F}4,500 BHI V,L2,"p:ɛUR.* t4 t4^ 81 t4( $x0Nhh`S8R^`倈G}HH`p@BDE-HI V0H-` O. 4L2L"ȱ 4ɛ`D1:*.*pB 5H}0#452"/ $/38%by("arth&"ruchhaeuserc -2eitershan#omputertechnikI"L2L"ȱ 4ɛ`D1:*.*pB 5[)6^^<s3>00x|73>00x`c6<9c` 33c366fffg~33>00xgfffff<J}11111{!!\]_\ED!EOHI B V`}   K} TURBO-BASIC XL 1.5 (c) 1985 Frank Ostrowski!  ӥL]""$$ (pL}%J[WܠjeC /D%Zub2gTSt$8®݊Ò2% 5RM}Ţtd.’$3@X7t5w5$?## $#L+D:*.*S:C:P:$#.#) `:#(6ENeU\l؏&/ؕ؄sأ$N}LENeU\lأ$8آǔƐƉƐƇ4cY%٦rULۉCۄړp^gyض%iwܸJڅ*ܣ$ڭڞجئأأO}$ ,(""(222000000..222222222222222222222222222222**22*22(222(2222222222 ,(""(P}0000000--**2*(22(2222222 V`hh@,lHH$HHHHHHӍl"Q}H$HHl $`GHFH\` ` 4ӭ l 4Lq ӠԪӅԆL} Ӡ L( R}) ` b% +L:#HH 0 HHLj%ӥHlL{ee 8eeeS}eӦee褢%ƚƜ`88夅奅8T}夕奕Ӡȱȱȱ㦢`L+`8` .E)))8@8e0 U}*څۅ܅݅ޅ߄ԠF0y"ޥy"ݥy"ܥy"ۥy"ڥy"و0ǠF0y"ݥy"ܥy"ۥy"ڥy"٥y"؈V}0ǠF0y"ܥy"ۥy"ڥy"٥y"إy"׈0ǠF0y"ۥy"ڥy"٥y"إy"ץy"ֈ0W}ǠF0y"ڥy"٥y"إy"ץy"֥y"Ո0L-`8`E)))8i@0 *ڄԠX}"("!""" "L**""""""&О"("!""Y}" "L**""""""&О"("!""" "L**Z}""""""&О"("!""" "L**""""[}""&О"("!""" "L**""""""&Оd\}"("!""" "L**""""""&ОL-6"e"]}"e""e""e""e""i""}"""}"""}"""}"""}"""}""ǭ"m"""m"^}""m"""m"""m"""m"""}"""}"""}"""}"""}"""}""ǥՅօׅ؅مԅՅօ_}ׅ؅`` ` ` `80 `ԥՅ +.JJJJ)iFiFi1FicFi'ȐȦoFiU`}ȐFiiFi#iFiGi Fii@F iiFiiciՊFigi'iՊօשBL-`Ia}))83Ԥԥդե֤֥פץؤإ٤L,K6"ХL--L--L-b}-E0:e٥eإeץe֥eՐ؅٥ׅإօץՅ֩L-8٥إץ֥հ'I8c}م٘؅ؘׅטօ֘ՅL-ؤm\G0Q@Ն֩م؅2եمֆשم"ե؅֥م׆ةեׅ֥d}؅ץم؆لԘ)q +` . |. &7i |. ,%!L?.`刱䈱㈱∱e}ሱ`ԅՅօׅ؅م`ԍՍ֍׍؍ٍ`ԍՍ֍׍؍ٍ`L.L. Խսֽf}׽ؽ` L%/`ӽޕ &ԅ)@إ)JJJe)e - Mg} 1. &Je0F 2 . /L(8`@ԠՈքׄ؄` . |. , . . |. , #/L(8`0 I@ԥ)h} 2f / . & r 1. #/ &?P , .Iiԩ +)ԅ ,ӽޕL(`8`$i})Ԧ61718191:1;1 (ť)8@0$Յ)e)e -F . / , . &1 1.j} #/ &F I`U9>`D'RFuCU?b9dYdg@W2@?tS)%)@0)%ԅԢ / . &G k} 1.Ӱ6 #/ &.ӽߕ ,ԅԥ B1 (`8``0?i? . . / , #/ &ԍՍl}֍׍؍ٍ . . ( / , O2 / ,0 .JeF 2`L+) .e٥eإeץe֥em}Պi؊؅٥ׅإօץՅֆե1ԥ'JffffJffffJffffJffffم`ԩ&&&&*&&&&*&&&&*&n}&&&*`Pi`)JJJeԅԘ)Peԅ`եԆ8@EB)JJJeԅԥ)PeԅԘ)3eԅԽ3eՅ՘)JJJ}3o}}3`)JJJeԅԥ)PeԅԹ3eԅԹ3eՅդЧ` 0@P`'Nu pX@(#d,X L(  兢p}0襙 bɥ⥋㩀 50ɥ0DȱȱȄ   ik#ZMkVgğe拰ㅋq}⅊0 eee拰 L f5дƨħ 4LY4 f5К,樥ŧH 4h h5L4樤ܱ.* O %30r}  5Ԅ +(fԤԈ`ř嚰Ԥ`ڥۥड़0-԰eڅڐۈ0eeL+58` s}O#`,#5  6`]5 6DE 68DHEIHI V0$ 6Sл Bt} V,# 6` $#LllBHI V0HH V0Ԩh``{a$%Ȏ$$xө$Ѝ$ `u} `@X a Ӆʢ ʎD  _ɠ %` ɩHH `өL: g% Dv}:??????*.ARBөjJHH`ՠԢӱԙ!ӹ!`֝DEIHB V0Y|ڝDa۝Ew}օܥׅݥܝHݝI V0+Ӡڑڑ0`l `  䅠 _ɠԐx}e拢 &L &Lħ © ¥4 䥝ň剰' k ɀ8@4= LY ĩ`OJ ]J?Ly} KԪȱLRHHצ R, hhLRHHHHHH /0ȑȑޠhhhhhz}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 ¦`OBRUT ԅՅ֦}󅗄`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`AVC@ 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] h F2GWORDYN *`@*@@9 }.-@@.(ӠΠӠW(( DELET.LIS'-@@5(FINI.LISG-@&@W( PIC }LOAD.LIS(T( DENSITY.LIS&-@@4(HALT.LISF-@&@T( PIC24.LIS2U( DISKDRV.LIS&-@@ }4(MENU.LISF-@&@U( CENTER.LIS<U( FORMT.LIS$-@@4( RAMEND.LISF-@&@U( } CURSOR.LISFY( LOCKK.LIS$-@@6( SCREENCL.LISH-@&@Y( HEXADECI.LISPV( RENAM.LIS$-@ }@6( TEXTSCRN.LISH-@&@V( LABEL.LISZV( UNLOCKK.LIS&-@@ 7( PRNTDIR.LISI-@& }@ V(LOAN.LISdY( CONVERT.LIS&-@@6( PRNT40.LISH-@&@Y( MEMCHECK.LISnY( CONTR }OL.LIS&-@@8( PRNT4080.LISJ-@&@Y( SCROLL.LISx[( DIRECTRY.LIS'-@@8( SORTN }UM.LISJ-@&@[( VARIABEL.LISX( DELRAM.LIS%-@@6( SORTSTR.LISH-@&@X( WORDCN }T.LIS&-@@&( SORTMINI.LIS&-@@&( SORTSHEL.LIS&-@@&( SORTFONE.LIS'( }'( CALL THE MODULES WITH:$$( ENTER "D:FILENAME.LIS"@@ D:AUTORUN.BAS.LIS'( s4 REM ** SCREENCL.LIS **5 ------------------------------6 REM SCREEN COLORS10 PROC SCRN_CL:CLS :Q=020 POSITION 6,6:? "W}HAT SCREEN COLOR DO YOU WANT?"30 POSITION 14,10:? "1: NORMAL"40 POSITION 14,11:? "2: AMBER"50 POSITION 14,12:? "3: G}REEN"60 POSITION 14,13:? "4: GREY"70 TRAP 70:POSITION 10,17:INPUT "SELECT A NUMBER >>",Q:TRAP 4000080 IF Q<1 OR Q>4 }OR Q<>INT(Q) THEN ? :? "ERROR: SELECT A NUMBER FROM 1 TO 4":GOTO 7090 ON Q GOTO 100,110,120,130100 POKE 710,148:POKE 70}9,13:GOTO 140110 POKE 710,58:POKE 709,0:GOTO 140120 POKE 710,234:POKE 709,0:GOTO 140130 POKE 710,12:POKE 709,0:GOTO }140140 ENDPROC 150 ------------------------------120 POKE 710,234:POKE 709,0:GOTO 140130 POKE 710,12:POKE 709,0:GOTO 44 REM ** LOCKK.LIS"5 ------------------------------6 REM MODULE TO LOCK FILES WORKS WITH MODULE - DIRCTRY - AND - FILE MODU}LE -7 DIM YN$(1),K$(25):REM PUT THIS INTO DIM SECTION10 PROC LOK:CLS :YN$=""20 EXEC DIRCTRY30 ? :? " LOCK }A FILE"40 ? " ---- - ----"50 EXEC FILE60 XIO 35,#1,0,0,K$:CLOSE #170 ? :INPUT "GO AGAIN(Y/N)>>",YN$80} IF YN$(1,1)="Y":GOTO 50:ELSE :GOTO 90:ENDIF 90 EXEC DIRCTRY100 ENDPROC 110 ------------------------------)>>",YN$80r4 REM ** UNLOCKK.LIS **5 ------------------------------6 REM UNLOCK MODULE WORKS WITH - DIRCTRY MOLDULE - AND - FILE MODULE} -7 DIM YN$(1),K$(25):REM PUT INTO DIM SECTION10 PROC UNLOK:CLS :YN$=""20 EXEC DIRCTRY30 ? :? " UNLOCK A FILE}"40 ? " ------ - ----"50 EXEC FILE60 XIO 36,#1,0,0,K$:CLOSE #170 ? :INPUT "GO AGAIN(Y/N)>>",YN$80 IF Y}N$(1,1)="Y":GOTO 50:ELSE :GOTO 90:ENDIF 90 EXEC DIRCTRY100 ENDPROC 110 ------------------------------)>>",YN$80 IF Yk4 REM ** RENAM.LIS **5 ------------------------------6 REM MODULE TO RENAME A FILE. WORKS WITH - DIRCTRY MODULE - AND - DIS}KDRV MODULE -7 DIM FZ$(40),F$(40),X$(40),YN$(1):REM PUT INTO DIM SECTION10 PROC RENAM:CLS :YN$="":X$=""20 EXEC DIRCTRY3}0 ? :? " RENAME A FILE"40 ? " ------ - ----"50 ? :INPUT "ENTER OLD FILE NAME>>",F$60 INPUT "ENTE}R NEW FILE NAME>>",FZ$70 IF DR=1 THEN X$="D1:":X$(LEN(X$)+1)=F$:X$(LEN(X$)+1)=",":X$(LEN(X$)+1)=FZ$80 IF DR=2 THEN X$="}D2:":X$(LEN(X$)+1)=F$:X$(LEN(X$)+1)=",":X$(LEN(X$)+1)=FZ$90 IF DR=8 THEN X$="D8:":X$(LEN(X$)+1)=F$:X$(LEN(X$)+1)=",":X$(LE}N(X$)+1)=FZ$100 XIO 32,#1,0,0,X$:CLOSE #1110 ? :INPUT "GO AGAIN(Y/N)>>",YN$120 IF YN$(1,1)="Y":GOTO 50:ELSE :GOTO 13}0:ENDIF 130 EXEC DIRCTRY140 ENDPROC 150 ------------------------------",YN$120 IF YN$(1,1)="Y":GOTO 50:ELSE :GOTO 13L4 REM ** DENSITY.LIS **5 ------------------------------6 REM DENSITY SELECTOR SD/1050D/DD. DN- IS THE VARIABLE7 REM DRIVE }NUMBER -DR- BECOMES EITHER 1, 2 OR 810 PROC DENST:CLS :DN=0:DR=020 POSITION 14,7:? "DISK DENSITY"30 POSITION 14,8:? "- }--- -------"40 POSITION 12,10:? "1. SINGLE DENSITY"50 POSITION 12,11:? "2. 1050 DENSITY"60 POSITION 12,12:? "3: DOUB }LE DENSITY"70 TRAP 70:POSITION 12,14:INPUT "SELECT A NUMBER >>",DN:TRAP 4000080 IF DN<1 OR DN>3 OR DN<>INT(DN) THEN ? : }? "ERROR: SELECT A NUMBER FROM 1 TO 3":GOTO 7090 REM *** DIRVE INFORAMTION ***100 CLS :TRAP 100:POSITION 8,11:INPUT }"DRIVE NUMBER 1,2 OR 8 >>",DR:TRAP 40000110 IF DR=1 OR DR=2 OR DR=8:GOTO 150120 ELSE 130 ? :? " ERROR: USE A NU!}MBER 1, 2 OR 8":PAUSE 120:GOTO 100140 ENDIF 150 ENDPROC 160 ------------------------------ ? :? " ERROR: USE A NU `4 REM ** MENU.LIS **5 ------------------------------6 REM SAMPLE MENU PORGRAM10 PROC MENU:CLS :NUM=020 R$=" "30 %} POSITION 18,5:? "MENU"40 POSITION 18,6:? "----":? 50 ? R$;"1. DISK INFORMATION"60 ? R$;"2. PRINT TO SCREEN"70 ?%} R$;"3. PRINTER"80 ? R$;"4. LOCK A FILE"90 ? R$;"5. UNLOCK A FILE"100 ? R$;"6. RENAME A FILE"110 ? R$;"7. DELETE %}A FILE"120 ? R$;"8. FORMAT A DISK"130 ? R$;"9. END"140 TRAP 140:POSITION 9,18:INPUT "SELECT A NUMBER>>",NUM:TRAP 400%}00150 IF NUM<1 OR NUM>9 OR NUM<>INT(NUM) THEN ? :? "ERROR: USE A NUMBER FROM 1 TO 9":GOTO 140160 ON NUM EXEC DENST,SCRN%},PRNT,LOK,UNLOK,RENAM,DELET,FORMT,FINI170 ENDPROC 180 ------------------------------:GOTO 140160 ON NUM EXEC DENST,SCRN$W4 REM ** DIRCTRY.LIS **5 ------------------------------6 REM MODULE TO OPEN DIRECTORY FILES ON D1,D2,D8 WORKS IN CONJUNCTIO)}N WITH 'CONVRT' AND 'DISKDRV.LIS' MODULE7 DIM FILE$(25),KEY$(6):REM INTO DIM SECTION10 PROC DIRCTRY:CLS :POKE 752,120 IF) } DR=1 THEN CLOSE :OPEN #2,6,0,"D1:*.*"30 IF DR=2 THEN CLOSE :OPEN #2,6,0,"D2:*.*"40 IF DR=8 THEN CLOSE :OPEN #2,6,0,"D8) }:*.*"50 ? " FILES ON DISK ";DR60 ? " ----- -- ---- -":? 70 INPUT #2,FILE$:IF ASC(FILE$(1,1))>47 ) }THEN 9080 ? FILE$;:INPUT #2,FILE$:? " ";FILE$:IF ASC(FILE$(1,1))<47 THEN 7090 EXEC CONVRT100 ? " PRESS Š ) }TO CONTINUE"110 KEY$=INKEY$120 IF KEY$=CHR$(32):GOTO 130:ELSE :GOTO 110:ENDIF 130 CLOSE :POKE 752,0140 ENDPROC 150) } ------------------------------20 IF KEY$=CHR$(32):GOTO 130:ELSE :GOTO 110:ENDIF 130 CLOSE :POKE 752,0140 ENDPROC 150( 4 REM ** CONVERT.LIS **5 ------------------------------6 REM MODULE TO CONVERT SECTORS TO K-BYTES. WORKS WITH DIRCTRY PRGR-}7 DIM SEC$(3):REM PUT INTO DIM SECTION10 PROC CONVRT:SECT$="":E=0:D=020 SECT$=FILE$(1,3):D=VAL(SECT$)30 IF DN=1 OR DN=-}2 THEN E=INT(D*125)/1000:E=INT(E*10+0.5)/1040 IF DN=3 THEN E=INT(D*256)/1000:E=INT(E*10+0.5)/1050 ? :? "YOU HAVE ";E;" -}K. BYTES OF SPACE LEFT"60 CLOSE 70 ENDPROC 80 ------------------------------INT(E*10+0.5)/1050 ? :? "YOU HAVE ";E;" ,R4 REM ** DELET.LIS **5 ------------------------------6 REM MODULE TO DELETE A FILE. WORKS WITH - DIRCTRY MODULE - AND - FIL1}E MODULE -7 DIM K$(20),YN$(1):REM PUT INTO DIM SECTION10 PROC DELET:CLS :YN$=""20 EXEC DIRCTRY30 ? :? " DEL1}ETE A FILE"40 ? " ------ - ----"50 EXEC FILE60 XIO 33,#1,0,0,K$:CLOSE #170 ? :INPUT "GO AGAIN(Y/N)>>",YN1}$80 IF YN$(1,1)="Y":GOTO 50:ELSE :GOTO 90:ENDIF 90 EXEC DIRCTRY100 ENDPROC 110 ------------------------------)>>",YN0v4 REM ** CNTROL.LIS **6 REM CONTROL MODULE FOR A PROGRAM(SAMPEL)10 ------------------------------20 EXEC SCRN_CL30 EXEC D5}IM_SEC40 EXEC DENST50 EXEC MENU60 GOTO 5070 --------------------------------------------------20 EXEC SCRN_CL30 EXEC D4O4 REM ** FORMT.LIS **5 ------------------------------6 REM MODULE TO FORMAT A DISK SD/10507 DIM YN$(1):REM PUT INTO DIM SE9}CTION10 PROC FORMT:CLS :DD=0:SEL=0:YN$=""20 POSITION 13,8:? "FORMAT A DISK"30 POSITION 13,9:? "------ - ----"40 TRA9}P 40:POSITION 10,11:INPUT "WHICH DRIVE 1 OR 2>>",DD:TRAP 4000050 IF DD<1 OR DD>2 THEN ? :? "ERROR: SELECT A NUMBER FROM 1 9}TO 2":GOTO 4060 CLS :POSITION 10,8:? "DENSITY INFORMATION"70 POSITION 10,9:? "------- -----------"80 POSITION 10,11:9}? "1. SINGLE DENSITY"90 POSITION 10,12:? "2. 1050 DENSITY"100 POKE 752,1110 POSITION 10,14:TRAP 110:INPUT "SELECT A 9}NUMBER>>",SEL:TRAP 40000120 IF SEL<1 OR SEL>2 OR SEL<>INT(SEL) THEN ? :? "ERROR: SELECT A NUMBER FROM 1 TO 2":GOTO 1101309} POKE 752,1140 IF DD=1 AND SEL=1 THEN XIO 253,#1,0,0,"D1:":CLOSE #1150 IF DD=1 AND SEL=2 THEN XIO 254,#1,0,0,"D1:":CL9}OSE #1160 IF DD=2 AND SEL=1 THEN XIO 253,#1,0,0,"D2:":CLOSE #1170 IF DD=2 AND SEL=2 THEN XIO 254,#1,0,0,"D2:":CLOSE #19 }180 POKE 752,0190 ? :INPUT " GO AGAIN(Y/N)>>",YN$200 IF YN$(1,1)="Y" THEN ? :INPUT " DID YOU INSERT A NEW DISK9!} IN THE DISK DRIVE(Y/N)>>",YN$210 IF YN$(1,1)="Y":GOTO 60:ELSE :GOTO 220:ENDIF 220 ENDPROC 230 -------------------------9"}-----E DISK DRIVE(Y/N)>>",YN$210 IF YN$(1,1)="Y":GOTO 60:ELSE :GOTO 220:ENDIF 220 ENDPROC 230 -------------------------84 REM ** FILE.LIS **5 ------------------------------6 REM MODULE TO INPUT FILE NAME. K$ BECOMES FILE NAME. WORKS WITH - DIS=$}KDRV - MOLDULE7 DIM K$(20),D$(20):REM PUT INTO DIM SECTION10 PROC FILE:K$="":D$=""20 ? :INPUT "FILE NAME>>",K$30 IF D=%}R=1 THEN D$="D1:":D$(LEN(D$)+1)=K$:K$=D$40 IF DR=2 THEN D$="D2:":D$(LEN(D$)+1)=K$:K$=D$50 IF DR=8 THEN D$="D8:":D$(LEN(=&}D$)+1)=K$:K$=D$60 ENDPROC 70 ------------------------------"D2:":D$(LEN(D$)+1)=K$:K$=D$50 IF DR=8 THEN D$="D8:":D$(LEN(<>4 REM ** PRNTDIR.LIS**5 ------------------------------6 REM PRINTS DISK DIRECTROY FOR D1,D2,D8. WORKS WITH - DIRCTRY MODULEA(} - AND - DISKDRV - MODULE7 DIM TL$(30),FILE$(20),FILE1$(20),YN$(1):REM PUT IN DIM SECTION10 PROC PRNT:CLS :YN$=""20 EXEA)}C DIRCTRY30 ? :INPUT "SHALL I PRINT THIS DIRECTORY(Y/N)>>",YN$40 IF YN$(1,1)="N" THEN 20050 ? :INPUT "TITLE OF THE DA*}ISK>>",TL$60 LPRINT " ";TL$:LPRINT 70 IF DR=1 THEN CLOSE :OPEN #2,6,0,"D1:*.*"80 IF DR=2 THEN CLOSE A+}:OPEN #2,6,0,"D2:*.*"90 IF DR=8 THEN CLOSE :OPEN #2,6,0,"D8:*.*"100 INPUT #2,FILE$:IF ASC(FILE$(1,1))>47 THEN 140110 A,} INPUT #2,FILE1$120 LPRINT " ";FILE$;" ";FILE1$130 IF ASC(FILE1$(1,1))<47 THEN 100140 LPRINT :LPRINT " YOUA-} HAVE ";E;" K. BYTES OF SPACE LEFT"150 LPRINT :LPRINT :LPRINT 160 YN$="":? :INPUT "GO AGAIN(Y/N)>>",YN$170 IF YN$(1,A.}1)="Y" THEN ? :INPUT "DID YOU INSERT A NEW DISK IN THE DISK DRIVE(Y/N)>>",YN$180 IF YN$(1,1)="Y":GOTO 20:ELSE :GOTO 190:ENA/}DIF 190 CLOSE 200 ENDPROC 210 ------------------------------Y/N)>>",YN$180 IF YN$(1,1)="Y":GOTO 20:ELSE :GOTO 190:EN@B4 REM ** FINI.LIS **5 ------------------------------6 REM ENDING A PROGRAM10 PROC FINI:CLS :POKE 752,120 POSITION 12,11E1}:? "END OF PROGRAM":PAUSE 9030 GRAPHICS 0:POKE 752,0:END 40 ENDPROC 50 ------------------------------0 POSITION 12,11Dk29980 REM ** CENTER.LIS **29990 REM A UTILITY TO COMPUTE THE CENTER OF A STRING ON THE SCREEN. IT WILL LOAD ITSLEF INTO RAMDI3}ISK D8 WHEN RUN30000 ------------------------------30010 LIST "D8:CENTER.LIS"30020 DIM WORD$(40),YN$(1)30030 CLS :REM CENI4}TER TEXT HORIZONATALLY IN GRAPHICS 030040 POSITION 6,3:? "TEXT CENTERED IN GRAPHICS 0"30050 ? " ---- -------- -- -------I5}- -"30060 ? :? :? :INPUT "GIVE ME THE TEXT";WORD$30070 ? :? :INPUT "PRINT ON WHAT ROW(0-23)";R30080 L=LEN(WORD$):IF L>38 TI6}HEN ? :? "THE STRING IS TOO BIG FOR ONE LINE!":GOTO 3006030090 X=INT((40-LEN(WORD$))/2):REM FIND STARTING X COORDINATE30100I7} POKE 752,1:CLS :POSITION X,R:? WORD$:PAUSE 120:CLS :POKE 752,030110 ? :? :? :? :? " The string is at POSITION ";X;",";R301I8}20 ? :? " The string is ";L;" letters long"30130 ------------------------------30140 ? :? :? :INPUT "DO YOU WANT TO GO AGAII9}N(Y/N)";YN$30150 IF YN$(1,1)="Y" THEN 3003030160 CLS :FOR Z=29980 TO 30180 STEP 10:? Z:NEXT Z30170 ? "CLR:POKE 842,12:CLS:I:}CONT";:POSITION 2,0:POKE 842,13:STOP :END 30180 ------------------------------P 10:? Z:NEXT Z30170 ? "CLR:POKE 842,12:CLS:HP4 REM ** ERASE.LIS **5 ------------------------------6 REM THIS PROGRAM HAS TO BE APPENDED TO ANY PROGRAM TO WORK.7 REM Z=M<}XX 2 LINES BEFORE 1ST LN#, YY=ENDING OF LINE # TO ERASE(22 LINES TOTAL). INCREMENT OF PROGRM MUST BE 108 REM IT CAN ERASE 22M=} LINES AT A TIMEINCLUDING ITSELF.30000 STOP 30010 PROC ERASE30020 CLS :FOR Z=XX TO YY STEP 10:? Z:NEXT Z30030 ? "CLRM>}:POKE 842,12:CLS:CONT";:POSITION 2,0:POKE 842,13:STOP :END 30040 ENDPROC :FOR Z=XX TO YY STEP 10:? Z:NEXT Z30030 ? "CLRLK4 REM ** PRNT4080.LIS **5 ------------------------------6 REM ROUTINE TO PRINT TEXT FROM A 38 COLUMN TEXT FILE7 DIM FILE$(Q@}40),FILE1$(40),P$(1):REM PUT INTO DIM SECTION8 REM PRINTS 40 OR 80 COLUMNS FROM A 38 COLUMN TEXT FILE. THE TEXT FILE IS 'FIQA}LE$'9 REM 'PG=0' PUT THIS VARIABLE INTO THE MENU SECTION. THE PRINTOUT WILL BE CENTERED, PAGE BREAKS & PAGE NUMBERS10 PROC QB}PRNT20 REM ** 40 CLOLUMN PRINTING ROUTINE **30 CLS :POSITION 2,10:? "40 or 80 column printing(40/80)";:INPUT CL40 IFQC} CL=40 THEN GOSUB 70:GOTO 41050 IF CL=80 THEN GOSUB 250:GOTO 41060 ------------------------------70 REM ** 40 COLUMNQD} PRINTING ROUTINE**80 T=0:CLOSE #1:CLOSE #3:OPEN #1,4,0,FILE$90 CLS :POSITION 2,10:? "Did you set the paper to the top QE}of its form(Y/N)";:INPUT P$100 IF P$(1,1)<>"Y" THEN 90110 PG=0:LPRINT :LPRINT :LPRINT :LPRINT :OPEN #3,8,0,"P:":CLSQF} 120 TRAP 150:INPUT #1,FILE$:T=T+1:? FILE$130 ? #3;" ";FILE$:IF T=57 THEN GOSUB 190140 GOTO 120150QG} L=0:L=57-T:FOR MX=1 TO (L+2):? #3:NEXT MX160 ? #3;" -";PG+1;"-":LPRINT :LPRINT 170 QH}IF PEEK(195)=136 THEN CLOSE #1:CLOSE #3:RETURN 180 ------------------------------190 M=0:T=0:REM ** PAGE ROUTINE **"20QI}0 PG=PG+1210 ? #3:? #3:? #3;" -";PG;"-"220 FOR M=1 TO 6:? #3:NEXT M230 RETURN 24QJ}0 ------------------------------250 REM ** 80 COLUMN PRINTING ROUTINE **260 T=0:CLOSE #1:CLOSE #3:OPEN #1,4,0,FILE$2QK}70 P$="":CLS :POSITION 2,10:? "Did you set the paper to the top of its form(Y/N)";:INPUT P$280 IF P$<>"Y" THEN 2702QL}90 PD=0:LPRINT :LPRINT :LPRINT :LPRINT :CLOSE #3:OPEN #3,8,0,"P:":CLS 300 TRAP 330:INPUT #1,FILE$:INPUT #1,FILE1$:T=T+1:QM}? FILE$:? FILE1$310 ? #3;FILE$;" ";FILE1$:IF T=57 THEN GOSUB 370320 GOTO 300330 L1=0:L1=57-T:FOR MA=1 TO (L1+2):? #3QN}:NEXT MA340 ? #3;" -";PD+1;"-":LPRINT :LPRINT :LPRINT 350 IF PEEK(195)=136 THEN CLOSE #QO}1:CLOSE #3:RETURN 360 ------------------------------370 ST=0:T=0:REM ** PAGE ROUTINE **380 PD=PD+1390 ? #3:? #3;"QP} -";PD;"-"400 FOR ST=1 TO 6:? #3:NEXT ST:RETURN 410 ENDPROC 420 ------------------------QQ}------ -";PD;"-"400 FOR ST=1 TO 6:? #3:NEXT ST:RETURN 410 ENDPROC 420 ------------------------P4 REM ** DISKDRV.LIS **5 ------------------------------6 REM DISK DRIVE NUMBER SELECTOR 1,2 OR 810 PROC DISKDRV:CLS :DR=0US}20 POSITION 14,7:? "DISK DRIVE #"30 POSITION 14,8:? "------------"40 TRAP 50:POSITION 8,11:INPUT "DRIVE NUMBER 1, 2, UT}OR 8 >>",DR:TRAP 4000050 IF DR=1 OR DR=2 OR DR=8:GOTO 8060 ELSE :? :? " ERROR: USE A NUMBER 1,2 OR 8":PAUSE 120:GOTOUU} 4070 ENDIF 80 ENDPROC 90 ------------------------------ ELSE :? :? " ERROR: USE A NUMBER 1,2 OR 8":PAUSE 120:GOTOT>4 REM ** CURSOR.LIS **5 ------------------------------6 REM * A UTILITY FOR A NEW CURSOR * TRY ASCII 60,95,94,30,42, 126 AYW}ND 12710 PROC CURSOR20 CLS :? :? :? :INPUT "PUT ASCII NUMBER FOR THE CURSOR FROM 1 TO 255";A30 C=1753:REPEAT :C=C+1:REYX}AD B:POKE C,B:UNTIL C=1790:POKE 54286,0:POKE 548,0:POKE 549,6:POKE 54286,6440 IF A<32 THEN A=A+64:GOTO 6050 IF A<96 ANDYY} A>=32 THEN A=A-3260 POKE 206,A:CLS 70 DATA 165,107,240,3,76,98,228,165,84,201,24,208,3,76,98,228,165,80,24,105,128,197YZ},93,240,3,76,98,22880 DATA 160,0,165,206,145,94,76,98,22890 ENDPROC 100 ------------------------------110 REM TO MAKE AY[} PERMANENT CURSOR CHANGE LINE 20: CLS?:?:?:? A=60(ASCII NUMBER YOU WANT)100 ------------------------------110 REM TO MAKE AXI4 REM ** RAMEND.LIS **5 ------------------------------6 REM AN ENDING IF A RAM DISK D8 IS USED10 PROC RAM_END20 CLS :PO]]}SITION 12,8:? "End of Program"30 POSITION 2,10:? "Copy the RAM DISK to a FLOPPY DISK!"40 POSITION 5,12:? "Use Option C ]^}'D8:*.*,D1:*.*":PAUSE 180:GRAPHICS 050 ENDPROC 60 ------------------------------DISK!"40 POSITION 5,12:? "Use Option C \S4 REM ** LABEL.LIS **5 ------------------------------6 REM LABEL POSTITON LOCATOR - EPSON10 PROC LABEL20 DIM YN$(1):REMa`} PUT INTO DIM SECTION30 CLS :? :? :? :INPUT "CHECK LABEL POSITION ON THE PRINTER (Y/N) >>",YN$40 IF YN$(1,1)="N" THENaa} 10050 REM LABEL POSITION60 LPRINT "**************";CHR$(27);"j";CHR$(36)70 YN$=" ":? :? :? "ADJUST LABEL POSITION(Yab}/N)";:INPUT YN$80 IF YN$(1,1)="Y" THEN 6090 LPRINT CHR$(27);"2":LPRINT :LPRINT :LPRINT 100 ENDPROC 110 --------------ac}----------------0 IF YN$(1,1)="Y" THEN 6090 LPRINT CHR$(27);"2":LPRINT :LPRINT :LPRINT 100 ENDPROC 110 --------------`4 REM ** DELRAM.LIS **5 ------------------------------6 REM DELETES FILES FROM RAMDISK D8. WORKS WITH MODULES 'DIRECTRY' ANee}D 'MENU'7 DIM F$(18),V$(18),YN$(1):REM PUT INTO DIM SECTION10 PROC DEL_RAMDAT20 EXEC DIRCTRY30 ? :? " Šef}ˠŠĸ"40 ? :? " ":INPUT "Enter file name>>",F$50 YN$=" ":? :? " ":INPUT "Are you sure(Y/N)>>",YN$:IF eg}YN$(1,1)<>"Y" THEN EXEC MENU60 V$="D8:":V$(4)=F$70 TRAP 70:XIO 33,#1,0,0,V$:CLOSE :TRAP 4000080 ENDPROC 90 ----------eq}BDOS SYSB(!DUP SYSBIAUTORUN SYSB MENU ARBBSCREENCLLISBLOCKK LISBUNLOCKK LISBRENAM LISBDENSITY LISBMENU LISBDIRCTRY LISBCONVERT LISBDELET LISBCONTROL LISB FORMT LISB#FILE LISB 'PRNTDIR LISB0FINI LISB 2CENTER LISB;ERASE LISB?PRNT4080LISBRDISKDRV LISBVCURSOR LISB\RAMEND LISB_LABEL LISBdDELRAM LISBrSORTNUM LISB ySORTSTR LISB SORTFONELISBSORTMINILISB SORTSHELLISBHALT LISBTEXTSCRNLISB PRNT40 LISBLOAN LISBPICLOAD LISBPIC24 LISBWORDCNT LISBSCROLL LISBHEXADECILISBMEMCHECKLISBVARIABELLIS--------------------EC MENU60 V$="D8:":V$(4)=F$70 TRAP 70:XIO 33,#1,0,0,V$:CLOSE :TRAP 4000080 ENDPROC 90 ----------d4 REM ** SORTNUM.LIS"5 ------------------------------6 REM A NUMBER ONLY BUBBLE SORT. THE PRINT SECTION CAN BE DETACHED ANDis} USED LATER IN A POROGRAM10 PROC SORT_NUM:CLS :? :? 20 INPUT "HOW MANY NUMBERS TO SORT";K30 DIM A(K):REM DIM HAS TO BEit} AFTER INPUT LINE #2040 FOR X=1 TO K50 INPUT "GIVE ME A NUMBER ";N60 A(X)=N:REM <--ARRAY70 NEXT X80 ------iu}------------------------90 REM BUBBLE SORT100 FOR T=1 TO K110 FOR Y=1 TO K-1120 IF A(Y+1)>=A(Y) THEN 16013iv}0 TEMP=A(Y)140 A(Y)=A(Y+1)150 A(Y+1)=TEMP160 NEXT Y170 NEXT T180 -----------------------------iw}-190 REM PRINT SORTED LIST200 ? :? "SORTED NUMBERS":? 210 FOR L=1 TO K220 ? A(L);", ";:REM <--ARRAY230 NEXT ix}L240 ENDPROC 250 ------------------------------UMBERS":? 210 FOR L=1 TO K220 ? A(L);", ";:REM <--ARRAY230 NEXT h24 REM ** SORTSTR.LIS **5 ------------------------------6 REM A STRING BUBBLE SORT. THE MAX LENGHT OF STRING CHARACTERS IS 1mz}0. THE PRINT SECTION CAN BE DETACHED10 PROC SORT_STRNG20 INPUT "HOW MANY WORDS TO SORT";K30 DIM A$(K*10),SUB$(10),PAD$m{}(10),TEMP$(10):REM A$(K*10) MUST BE AFTER INPUT40 PAD$=" "50 ? :? "MAX. NUMBER OF LETTERS = 10":? 60 FOR N=m|}1 TO K*10 STEP 1070 INPUT "GIVE ME A WORD";SUB$80 SL=LEN(SUB$)90 IF SL<10 THEN SUB$(SL+1)=PAD$100 A$(N,N+m}}9)=SUB$110 NEXT N120 ------------------------------130 REM STRING BUBBLE SORT140 FOR T=1 TO K*10 STEP 10150 m~}FOR Y=1 TO (K*10)-10 STEP 10160 B=Y:E=Y+9:BB=Y+10:EE=Y+(10+9)170 IF A$(BB,EE)>=A$(B,E) THEN 210180 TEMP$m}=A$(B,E)190 A$(B,E)=A$(BB,EE)200 A$(BB,EE)=TEMP$210 NEXT Y220 NEXT T230 ----------------------------m}--240 REM PRINT OUT SORTED WORDS250 ? :? "SORTED WORDS:":? 260 FOR L=1 TO K*10 STEP 10270 ? A$(L,L+9)280 NEXm}T L290 ENDPROC 300 ------------------------------ED WORDS:":? 260 FOR L=1 TO K*10 STEP 10270 ? A$(L,L+9)280 NEXl44 REM ** SORTFONE.LIS **5 ------------------------------6 REM A RELATIONAL SORT THAT SORTS BY ONE FIELD THE STRING AND KEEPq}S IN PLACE THE OTHER FIELD (NUMBERS)7 REM A TELEPHONE SORT8 REM THE PRINT OUT SECTION CAN BE PPLACED ANYWHERE IN THE PROGRAq}M20 REM INPUT WORDS AND NUMBERS INTO STRING ARRAYS30 PROC SORT_FONE40 INPUT "HOW MANY PHONE NUMBERS TO SORT";K50 DIM q}A$(K*10),B$(K*10),SUB$(10),SUB1$(10),PAD$(10),TEMP1$(10),TEMP$(10):REM DIM A$,B$ MUST COME AFTER INPUT60 PAD$=" "q}70 ? :? "MAX. NUMBER OF LETTERS OR NUMBERS = 10":? 80 FOR N=1 TO K*10 STEP 1090 INPUT "GIVE ME THE NAME";SUB$100 q} INPUT "GIVE ME THE NUMBER";SUB1$110 ? :SL=LEN(SUB$)120 SL1=LEN(SUB1$)130 IF SL<10 THEN SUB$(SL+1)=PAD$140q} IF SL1<10 THEN SUB1$(SL1+1)=PAD$150 A$(N,N+9)=SUB$160 B$(N,N+9)=SUB1$170 NEXT N180 ---------------------q}---------190 REM STRING BUBBLE SORT200 FOR T=1 TO K*10 STEP 10210 FOR Y=1 TO (K*10)-10 STEP 10220 B=Y:E=Y+9q}:BB=Y+10:EE=Y+(10+9)230 IF A$(BB,EE)>=A$(B,E) THEN 270240 TEMP$=A$(B,E):TEMP1$=B$(B,E)250 A$(B,E)=A$(BB,q}EE):B$(B,E)=B$(BB,EE)260 A$(BB,EE)=TEMP$:B$(BB,EE)=TEMP1$270 NEXT Y280 NEXT T290 --------------------------q}----300 CLS 310 REM PRINT OUT SORTED PHONE LIST320 ? :? " TELEPHONE LIST":? 330 FOR L=1 TO K*10 STEP 10340 q} ? A$(L,L+9);B$(L,L+9)350 NEXT L360 ENDPROC 370 ------------------------------:? 330 FOR L=1 TO K*10 STEP 10340 pT4 REM ** SORTMINI.LIS **5 ------------------------------6 REM PRINT SECTION CAN BE PUT ANYWHERE IN PROGRAM20 REM A MINI SOu}RT THAT FINDS THE SMALLEST NUMBER AND PUTS IT FIRST IN THE ARRRY30 PROC SORT_MINI:CLS :K=040 INPUT "HOW MANY NUMBERS TO Su}ORT";K50 DIM A(K):E=K60 FOR X=1 TO K70 INPUT "GIVE ME A NUMBER ";N80 A(X)=N:REM <--ARRAY90 NEXT X100 --u}----------------------------110 REM MINISORT120 Y=A(1):Z=1130 FOR R=2 TO K140 IF A(R)>=Y THEN Y=A(R):Z=R150 u}NEXT R160 SS=A(K):A(K)=A(Z):A(Z)=SS170 K=K-1:IF K>1 THEN 120180 ------------------------------190 REM PRINT NUMBEu}RS200 ? :? "SORTED NUMBERS":? 210 FOR T=1 TO E220 ? A(T);" ";230 NEXT T240 ENDPROC 250 ----------------------u}--------? :? "SORTED NUMBERS":? 210 FOR T=1 TO E220 ? A(T);" ";230 NEXT T240 ENDPROC 250 ----------------------t 4 REM ** SORTSHEL.LIS **5 ------------------------------6 REM A SHELL SORT FOR STRINGS THAT IS FAST EVEN IN BASIC7 REM THEy} PRINOUT SECTION CAN BE IN ANY PART OF THE PROGRAM10 PROC SORT_SHEL:CLS :? 20 INPUT "HOW MANY WORDS TO SORT";K30 DIM Ay}$(K*10),SUB$(10),PAD$(10),TEMP$(10):REM DIM A$ MUST BE AFTER INPUT40 PAD$=" ":REM 10 SPAES50 ? :? "MAX. NUMBERy} OF LETTERS = 10":? 60 FOR N=1 TO K*10 STEP 1070 INPUT "GIVE ME A WORD";SUB$80 SL=LEN(SUB$)90 IF SL<10 THENy} SUB$(SL+1)=PAD$100 A$(N,N+9)=SUB$110 NEXT N120 ------------------------------130 REM SHELL SORT140 X=1150 y} X=2*X:IF X<=K THEN 150160 X=INT(X/2):IF X=0 THEN 280170 FOR T=1 TO K-X:Y=T180 Z=Y+X190 B=Y*10-9:E=Y*10:BB=Zy}*10-9:EE=Z*10200 IF A$(B,E)<=A$(BB,EE) THEN 250210 TEMP$=A$(B,E)220 A$(B,E)=A$(BB,EE)230 A$(BB,EE)=TEMP$y}240 Y=Y-X:IF Y>0 THEN 180250 NEXT T:GOTO 160260 ------------------------------270 REM PRINT SORTED WORDS280 ?y} :? "SORTED WORDS:":? 290 FOR L=1 TO K*10 STEP 10300 ? A$(L,L+9)310 NEXT L320 ENDPROC 330 ----------------------y}--------ED WORDS:":? 290 FOR L=1 TO K*10 STEP 10300 ? A$(L,L+9)310 NEXT L320 ENDPROC 330 ----------------------x 4 REM ** HALT.LIS **5 ------------------------------6 REM THE PROGRAM WAITS FOR A PRESS OF THE SPACE BAR TO CONTINUE10 PRO}}C HALT:POKE 752,1:? :? 20 DIM KEY$(6):REM PUT INTO DIM SECTION30 ? " ӠҠϠ"40 KEY$=INKEY$50}} IF KEY$=CHR$(32):GOTO 60:ELSE :GOTO 40:ENDIF 60 POKE 752,0:ENDPROC 70 ------------------------------ KEY$=INKEY$50|l4 REM ** TEXTSCRN.LIS **5 ------------------------------6 REM A MODULE THAT READS A 38 COLUMN TEXT FILE AND PUTS IT ON THE }SCREEN7 REM TO SCROLL HIT ANY KEY8 REM X$="D1:FILENAME"(LINE # 20) THAT IS THE NAME OF THE TEXT FILE TO BE READ. PUT X$ SOM}EWHERE IN THE MENU9 DIM X$(15),A$(120):REM PUT INTO THE DIM SECTION10 PROC SCREEN:CLS :POKE 752,1:R=020 CLOSE #2:OPEN #2},4,0,X$30 TRAP #END_FILE:INPUT #2;A$:R=R+140 ? A$50 IF R=22 THEN EXEC SCROLL60 GOTO 3070 # END_FILE:IF PEEK(19}5)=136 THEN CLOSE #2:EXEC SCROLL:POKE 752,080 ENDPROC 90 ------------------------------100 PROC SCROLL:POKE 752,1110 GE}T A120 IF A=ASC(" ") THEN 130130 R=0:ENDPROC 140 --------------------------------100 PROC SCROLL:POKE 752,1110 GEW4 REM ** PRNT40.LIS **5 ------------------------------6 REM A MODULE THAT PRINTS A 38 COLUMN TEXT FILE ON THE PRINTER, CENT}ERED, PAGE BREAKS AND PAGE NUMBERS.7 REM X$="D1:FILENAME"(LINE # 60) IS THE NAME OF THE TEXT FILE TO BE PRINTED. PUT X$ IN T}HE MENU SECTION8 REM 'T2=0' AND T=0 PUT THIS VERIABLES INTO THE MENU SECTION.9 DIM X$(15),A$(120),YN$(1):REM PUT INTO DIM S}ECTION10 PROC PRNT:CLS :POKE 752,020 POSITION 2,10:INPUT "DID YOU SET THE PAPER TO THE TOP OF ITS FORM(Y/N)";YN$30 I}F YN$(1,1)<>"Y" THEN 2040 LPRINT :LPRINT :LPRINT :LPRINT :POKE 752,150 CLS :POSITION 15,12:? "ǡ"60 CLOSE #2:}OPEN #2,4,0,X$70 TRAP #END_TXT:INPUT #2;A$:T=T+180 CLOSE #3:OPEN #3,8,0,"P:"90 ? #3;" ";A$100 } IF T=57 THEN EXEC PAGE110 GOTO 70120 # END_TXT:IF PEEK(195)=136 THEN CLOSE :POKE 752,0130 T3=0:T3=57-T:FOR M1=1 TO }(T3+2):LPRINT :NEXT M1140 LPRINT " -";T2+1;"-":POKE 752,0150 ENDPROC 160 -------------}-----------------170 PROC PAGE180 T=0:T2=T2+1190 ? #3:? #3:? #3;" -";T2;"-"200 FO}R M=1 TO 6:? #3:NEXT M210 ENDPROC 220 ------------------------------" -";T2;"-"200 FOG4 REM ** LOAN.LIS **5 ------------------------------6 REM CMPUTE THE MONTHLY INSTALLMENT PAYMENTS10 PROC LOAN20 DIM YN$}(1):REM PUT INTO DIM SECTION30 CLS :? :? :? " INSTALLMENT LOAN PROGRAM":? :? 40 INPUT "Installment loan $ ";T50 } INPUT "Down payment $ ";R60 INPUT "Number of months ";N70 INPUT "Annual interst % ";I80 I=(0.01*I)/1290 P=(T-R)*}I/(1-1/(1+I)^N)100 PP=INT(P*100+0.05)/100110 ? :? " Payments = $";PP;" Per month"120 ? :? 130 INPUT " GO AGAIN}(Y/N)";YN$140 IF YN$(1,1)="Y":GOTO 30:ELSE :GOTO 150:ENDIF 150 ENDPROC 160 ------------------------------PUT " GO AGAINo4 REM ** PICLOAD.LIS **5 ------------------------------6 REM A MICROPAINT(62 SECTOR) PICTURE LOADER IN GRAPHICS MODE 1510 }PROC PIC_LOAD20 DIM F$(25),D$(25):REM PUT INTO DIM SECTION30 CLS :? :? :INPUT "NAME OF THE GRAPHICS FILE";F$40 D$="D}1:":L=LEN(F$):D$(4,L+3)=F$:F$=D$50 GRAPHICS 15+16:CLOSE #2:OPEN #2,4,0,F$60 BGET #2,DPEEK(88),7680:TRAP 8070 GET #2,}A:POKE 712,A:BGET #2,708,380 CLOSE :GET B:IF B=ASC(" ") THEN 9090 GRAPHICS 0:ENDPROC 100 -----------------------------}-POKE 712,A:BGET #2,708,380 CLOSE :GET B:IF B=ASC(" ") THEN 9090 GRAPHICS 0:ENDPROC 100 -----------------------------4 REM PIC24.LIS5 ------------------------------6 REM A PROGRAM TO LOAD A 62 SECTOR PICTURE. IN LINE #30 FOR F$ PUT IN YOUR }PICTURE NAME7 REM THE SCREEN IS TURNED OFF SO THE LOADING CANNOT BE SEEN10 PROC PIC24_LOAD20 DIM F$(25):REM PUT INTO THE} DIM SECTION30 F$="D1:RON.PIC"40 GRAPHICS 24:CLOSE #2:OPEN #2,4,0,F$50 S=PEEK(559):POKE 559,060 BGET #2,DPEEK(88)},7680:TRAP 11070 GET #2,A:POKE 712,A:BGET #2,708,380 SETCOLOR 4,1,1090 SETCOLOR 2,7,10100 POKE 559,S110 CLOSE }:GET B:IF B=ASC(" ") THEN 120120 GRAPHICS 0:ENDPROC 130 ------------------------------7,10100 POKE 559,S110 CLOSE [4 REM ** WORDCNT.LIS **5 ------------------------------6 REM A PROGRAM TO COUNT THE NUMBER OF WORDS IN A TEXT FILE10 PROC }WORD_CNT:N=0:CLS :? :? 20 DIM F$(25),D$(25):REM PUT INTO DIM SECTION40 INPUT "WHAT IS THE TEXT FILE NAME";F$50 D$="D}1:":L=LEN(F$):D$(4,L+3)=F$:F$=D$60 CLOSE :OPEN #1,4,0,F$70 TRAP #END_FILE:GET #1,A80 IF A<>32 AND A<>142 THEN 7090 } GET #1,A:IF A=32 AND A=155 THEN 90100 N=N+1:GOTO 70110 # END_FILE:? :? "WORD COUNT = ";N120 ENDPROC 130 -----------}-------------------ND A=155 THEN 90100 N=N+1:GOTO 70110 # END_FILE:? :? "WORD COUNT = ";N120 ENDPROC 130 -----------0 REM ** SCROLL.LIS ** PROGRAM BY JERRY ILARIA FROM JACS. A SLOW SCROLLING PROGRAM. APPEND BY ENTER "D:SCROLL.LIS"1 REM WHEN} FINISHED - TO REMOVE - HIT 'BREAK' & TYPE --> GOTO 320002 CLS :? :? :INPUT "STARTING LINE #";L:? :? :INPUT "ENDING LINE NU}MBER";E:CLS :? :? :? 3 ? " TO SCROLL FORWARD":? :? " TO SCROLL BACKWARD":? :? " SCROLL 'BREAK & GOTO 32000"}4 LIST L:IF L=0 THEN L=1:LIST L5 IF L=E THEN END 6 CON=PEEK(53279):IF CON=7 THEN 57 IF CON=3 THEN L=L-1:GOTO 48 IF CON=5} THEN L=L+1:GOTO 49 IF CON<>3 OR CON<>7 THEN 532000 CLS :FOR Z=-2 TO 9 STEP 1:? Z:NEXT Z32001 ? "CLR:POKE 842,12:CLS:CONT"};:POSITION 2,0:POKE 842,13:STOP 32002 CLS :FOR X=31998 TO 32003 STEP 1:? X:NEXT X32003 ? "CLR:POKE 842,12:CLS:CONT";:POSITI}ON 2,0:POKE 842,13:STOP :END P 32002 CLS :FOR X=31998 TO 32003 STEP 1:? X:NEXT X32003 ? "CLR:POKE 842,12:CLS:CONT";:POSITI4 REM ** HEXADECI.LIS **5 ------------------------------6 REM PROGRAM TO CONVERT DECIMAL TO HEXADECIMAL AND VISE VERSA10 P}ROC HEXA:CLS :A=020 DIM H$(8),N$(1),YN$(1):REM PUT IN DIM SECTION30 N$="":POSITION 2,10:INPUT "ECI TO HEXA OR EXA TO }DECI";N$40 IF N$(1,1)="H" OR N$(1,1)="h" THEN 9050 CLS :POSITION 2,10:INPUT "GIVE ME THE DECIMAL NUMBER (MAX} 65535)";A60 ? :? "DECIMAL ";A;" = HEX ";HEX$(A)70 YN$="":POSITION 2,16:INPUT "GO AGAIN(Y/N)";YN$80 IF YN$(1,1)="Y":}GOTO 50:ELSE :GOTO 130:ENDIF 90 CLS :H$="":POSITION 2,10:INPUT "GIVE ME THE HEX NUMBER (MAX FFFF)";H$100 } ? :? "HEX ";H$;" = DECI ";DEC(H$)110 YN$="":POSITION 2,16:INPUT "GO AGAIN(Y/N)";YN$120 IF YN$(1,1)="Y":GOTO 90:ELSE :G}OTO 130:ENDIF 130 ENDPROC 140 ------------------------------NPUT "GO AGAIN(Y/N)";YN$120 IF YN$(1,1)="Y":GOTO 90:ELSE :G?4 REM ** MEMCHECK.LIS **5 ------------------------------6 REM UTILITY TO CHECK IF A MEMORY ADDRESS IS EMPTY10 PROC MEM:CLS} 20 ? :? :INPUT "START ADDRESS IN DECIMAL";ST30 ? :? :INPUT "END ADDRESS IN DECIMAL";EN:CLS 40 FOR X=ST TO EN50 } PAUSE 4060 IF PEEK(X)<>0 THEN ? X;" = ";PEEK(X)70 IF PEEK(X)=0 THEN ? X;" = EMPTY OR 0"80 NEXT X90 ENDPROC 10}0 ------------------------------EN ? X;" = ";PEEK(X)70 IF PEEK(X)=0 THEN ? X;" = EMPTY OR 0"80 NEXT X90 ENDPROC 10!4 REM ** VARIABEL.LIS **5 ------------------------------6 REM A UTILITY TO FIND THE VARIABLES USED10 PROC VARI:CLS 20 D}IM A$(25):REM PUT INTO DIM SECTION30 POSITION 12,2:? "VARIABLES USED"40 VSTRT=DPEEK(130):VEND=DPEEK(132)50 FOR ZZ=VS}TRT TO VEND-160 L=PEEK(ZZ)70 IF L>127 THEN A$=CHR$(L-128):GOTO 10080 ? CHR$(L);90 NEXT ZZ100 ? A$:IF ZZ=}VEND-1 THEN 120110 GOTO 90120 ENDPROC 130 ------------------------------0 ? CHR$(L);90 NEXT ZZ100 ? A$:IF ZZ=N