IMD 1.16: 1/09/2008 11:33:34 utility libraries and floppy diagnostics revision g000 (f18107) 84-93181-07 5aug83  žŽ ˆž ˆ @0‚{†÷)®vĀvЀЀĪsQŗ®p¦k)‚p " ž}‚f’A ¢_œžśž½žä×_M@åCARTOS€MĮŚB083071309535000830713095350 830713095350'SCRATCH VOL ü?’’’’’’’  ååžśž½žä×_M@†q¾ųG€’źĘy†y ¾õG€’äG‚’ń‚’šG’Ś`HĀX@ †b G€’Ų`ś^žƒ¾’ž©ŅY¾ü žįe‡ †GĀQ¾¤¾ę ¾ļĄˆĘ@Ę@p@€„†9€…†8€††7€ƒ †8Ā5P@ G€’³Ę:ą‰ęپ‹N¾Ņ ¾ģžłž8‚)¢0ŸŠĘ.ž¶ *•¦’ C¦'¾æŸx¢«„C# b# ž}€BŸŅ*Č @0DAJ÷LĘ ¢w+™ЀЀΖQA1¹" ¦ † †¦†¤¾„i€ „Œœ ĀžŸ} šŸ}ˆŖŖžö @¬E°EØF¤F)¤D¾‘ÄE‚Ū„Fž8 ęџ} ¦ŌŸ} Ę̟} ž* `jUBˆB¾Œ I,Ÿv ¾‡°¾…€B¾ƒ I,žŗ ž# @ G€’7Ęįę¬H’ʹʹ@pĘܾ³ŸrāčCHłC €ˆC ˜GćTŗą€q` †Lg€’ žg’ņ‘ęEX¾C P¢Žā‰+ģ„s=č„čƒ¾PžæŽžĀ+āc fžQ¾žN ‚¦p ž‹¾$R†”ŸxĘn†j‚Ź ž¢žū Žž‚ŽŽ”žnięāZę‚Œ¾ ŽŒāŠžģ ¦Ÿ} ¦Ÿ}’’ŠHŠG¾Āž†§¾¬žÄ¾ė ¦”Ÿ@AśœLčSĆ)"$ C ž‰žkžėŖ2žāŠ0žjŠ.žžh†( ’ŖĀ+¢$`īƒę%ź‚œ€\’ö1 !¦Mž' ²y‚ žˆņ%€Ą'+ņ²oŸsę…¾āƒ)žsžY ‡eŽdŸ|Ÿ{ @ž8 ož½ Ož¶ mž“ Jž² Kž° ižæ gž½†N ž)V% tž¹ž%ģ„sLč„n`" E¾  F.¹¾  FĀ„ Dž>)ž’ ¾=`¾;nrgŸy ¾w"¾GŽ,ž{žK¾q1 ¾AŽ&ž}žE¾*`¾(t¾ž@¾% ²;¾c ¾ Ž7Ž6Ž5žy¦3ž4¾ž2¾ü¾(ž.OS:: SYSG @ Ą@’G6ĮˆB Dā CĄ€G DĀ# „BÄC @ž„EĄ€ OžƒŒBOVicEdDanoP8žž†)¦{ @Ŗ«œ‚ʤĮ‚؆ I@0@”Ǥ ǣ)ŖžĄ€@IЀЀ؀QA1ø*’@ ¦Īā•¢‹€€„@+kU»¢‚†ĀŒœ‚Ÿ€k5Š‹mEEEBE5E3--E2E1POVicEdDano; Ÿ«Ÿ«Ÿ«Ÿ«L€Ÿ¦Ÿ¦µŸ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„CE ‡ LDLDZ1 z    š ņ ģŒŽ Q ;£kö"ķ ¼š>š>š> ‡ EXEC::  SYSLD ˜'1’‡Ęž‚ ‡Ć¾µ‚mMāĒ)’ŢÒ»‚fEāĮ)’¾¢¾’“ †]†]’ŗāŗ¤B‚¹’­ 1C: ):Ó ‡¤¢¤ƒ¤„’£̃¢ łą!_p„C€‚ P„E` C¢’   p0ą!ƒŽ łp„CŽ’P„EŸs "ķ) Ø Ā “ŒLD qh¾bIāqC €€C „@U» ‡iƒlŽē‡ē¢fƒf„’ełāāĄ‚ĒįKÄB́QȃY„A‡Ł€ ’“Ō„‚ƒÓQ`(QB€‚„’NāĄ‚K€CBĒĒž„ƒB„ƒĮ„‚ą!ƒ=Įƒ? łŸp„CùCĆ @ž‰KP@ÄE ƒ Oü€Ÿ­¹¢¬Ą€QF@ ž‚+žz žƒ¢£ž¢¢’Ÿ”CI ‡›‚›’ʀ†v: LĮ# ‡¢’’ [ {G ƒ+* š `  ” µOC  ` EXEC:: NOT FOUND  BAD TYPE CODE PROGRAM TOO LARGE LOAD ERROR  NO EXECUTION ADDRESS  UAT WIPED OUT SYSTEM EXCEPTION XXXX OCCURRED AT LOCATION XXXX%IÄĄ@2N¹K0M9žKŠĄ+Uµ'#  =ž€/p(ä€p(C @ž€ž€ž€ž€`p€€„D+¤E` „B‚¦„@ „C€@’Ÿž€/ph¤@ph‚š’˜€?ph @kphŒE‚„@/p p?p(ą€+p(# OCSL ¼„:Ė’‡§@`` ‚„„D @1H€NF€…–ŸL„…‚„†O D€L Šž)€OąB`H: ę) ‡ˆ# `@:Ė(’žx½  OV’ST ģ4@pJ÷p@`H€€„@€„BƒØƒ§Ž§ ’„C „A„D„E„F„G„H€F ’„‚€HA‡“€E„ƒąG@h @’6É@ļ6Į»@ß6Į„@Ļ6ĮøI pB# ) ZP(„2PO„2B¦ŗĘ»†·:ÆC @@ £·€€Ž¶B+ž{āc å 0† 0†$: žž:*ž’ † †: ž†‚†:*žžw 1†:* 1†: ‚‡ ’†…žZ:Ė :ZPZPø+¢×€!„€ž„¢Ó„¢Ņ’ҢҒҢ̀āĻĄ@QD@QBkžz žŗąAĄ@ĒÅN J’¢Ć€A„€+kU»¢¶ ƒ€„Ą…‡ŗĒŗ ‹µ‡“: ::&ƒ«y Xž Rž‰ Cž‰ xžŠ ržƒ cžƒžköž‹¢“€žˆ£‘€‚Ž˜¹ƒ—·¤ž€ž4‚‡  „ ™ „§Ž ž> KR7Q7½ +)* ž OC(OC+OC% CRX> ?  fltzŒ –A¦B®CøDÅEĶFÖGąHīIśJK LMN$O.P9QCRPSZTbUhVpW|X…YŽZœ¢ØK NOT READY WRITE PROTECT TIME OUT POWER FAIL  VOLUME NOT ON UNIT  VOLUME NOT FOUND  LOGICAL UNIT NOT RELEASED  BAD CHECK SUM UNASSIGNED DEVICE LOGICAL UNIT NOT IN UAT END OF MEDIA  HARDWARE ERROR  ILLEGAL OPERATION NON-EXISTANT MEMORY ADDR  ADDR IN SYSTEM MEMORY DIRECTORY FULL  DISK NOT LABELED  FILE ADDR OV ILLEGAL AU  AU NOT FOUND  WRITE DIRECT EOF  FILE NOT EXTENDABLE ILLEGAL FILE ADDR ALLOCATION TABLE ERROR  SYSTEM USAGE ONLY BAD FCB CHAIN FILE OPEN FILE NOT OPEN ILLEGAL FILE POINTER  UNIT NOT GIVEN  UNASSIGNED FCB  BUFFER HAS WRITE PENDING DISK FULL RTX ERROR UNDEFINED ERROR±0„G¢®’®¢®€G„ „G€B„ƒä„p„‚¢„’„¢„’ €a„F€b„D€c„E¢š€ž€/ph„@ph’—¢’“?ph€@kph# €F„a€D„b€E„c# ‚ˆ# P7½KQ7R/ėé<ž€/ph„@phž€/ph¤@ph¢±’±¢±?ph€@kph„ƒ?ph€@kphÄ¢¤’¤¢¤’Ÿ¢ŸĄž€/phÄ@ph`p€HK QĀ žžƒKRQĮ’”„H¢Ž „¢‰’Œ?ph€@kph`p„C# P7½KQ7Rß,!ŸǟžØĀžĒœž„ĀœĒ™ž¢ĀšĒ–žŸĀ˜Ē“žœĀ–ǐž™Ā”Ē p+ †ž“ĀĒ‡ž’c # ‡‚ž‹ó Žņōńöõ÷ų駁Ÿ i€tšPŹt| Ńš€€šn0L’ I ƒ0‘<’6“9”3•?–,˜H™BšK›N ѱt¹ ļHøš ļH½±Å 7Htš 7HÉš>Ķ ĶĪ ŻŽ żM DF00’śAA€M’’  śMGō%żM DF01’śAA€M’’  śMGōM z%vˆ+Ž+Ž,F¼?¢šŸ€/ē žfždMvŠLP00’ż €Ėm'%%›2’Ł’%›”vŠLP01’ż žĖQ6%%›2’ʰ%›²”ŠLP02’ż ¼ĖmP%%›2’°Ī%›Šp DM00’÷AA –’’ –ž& ųŠp DM01’÷AA –’’ –ž& ųp DM02’÷AA –’’ –ž&H p DM03’÷AA –’’ –ž&pM zHv ,V,V,ü¼?¢šŸ€/ē—ždp™é DH00’÷AA 7’’  &7#]@LĮ™é DH01’÷AA 7’’  &7#]@Lép zĮvØ,V,V,ü¼?¢šŸ€/ēždé- MT00’ü A C+ 0P@-é zvņČ-‡-“..м?¢Ÿ€/ē ż0’ž-Kšž X1X2X3X4SISLOvSFŠUFųOCSCISSLSSOSSASLDOVXXŠPOvZ1Z2Z3Z4Z5Z6ZP€4d_S I1E€CÄNĄŠ ‰¤BÄCÄO# $'ž€/p(ä€p(`  Dž€/ph¤@ph)¤@¤B¤C¤O¢µ¤D6ÄÄD’²ųžZ `+’ŖŹ€P Ńķ„C„O€Bķ’¢¤BžŖ€TĀ€Rž„€Q žE€V’™ĀžAžž€Q ümĄWG¢‘ C W90.r@ €Vžśį¤B„C„Ož‹; OV"ķ„00žßžąžįžŽ€P ŅD ’ļ /„N B€„y Mž‚ ¼Æ `+’d,’„N€Q õ(€Vy æ¤)€Ö„Ē5½` „@€P ŅĻ `+’M„N żs€VĄWNy%„Zr„YÄ['€O„C€P ŃÖ /„N‚­„M D%„Y'€BĆ’2¤B„CĒ] žҀЄOž? ?phĄ@kphÄD?p(ą€+p(# žr žp€N Ń»’„N ži’žgIR£’¤N ƒø„ž„ų…žž‡ €1· N €1² ž #  “;dž€/p(ä€p(` „B„D„C„E„A’ׂ×I `+C „€U½’ф@z 0žø :žœÜD Až‹ FžÜE [ž„ _žžŖ łžŽÜE :ž‡€E ’„E€D ’„DžžĄAQ\ĄDQZĄBN!ČBČB Š@ÄBĄCN1@ÄC A,ÜD,ÜE,ž‡€@k%„Ą'jśÜAžC€NĀ€M‡’€DB „B€EB „C€A?p(ą€+p(# ā «G£<ž€/p(ä€p(` ’µž…ž€/p(ä€p(  MĄNQĆ@ ĻŖSWž€/p(ä€p(ąNqĮā¢%€Ą ž‘' z `ž ą?p(ą€+p(ÜM?p(ą€+p(# ĄĮ'?p(ą€+p(L 0žnāHLā€M N1E€MM „MžŠ1ÉƉB IĮ@@„Mǁ# Gö †Ļ1Ā ¢«†Ć¦» ¦Ą:3ž‚µ†Ć:‚ ’ ž€/ph¤@ph‚›’™€?ph @kphŒF‚°Š¦†„:; ĀŖ # ‚™@SAžyLCI"ķ SLCIC €LSLEI @Œ‚ž‚Œ’ŒĒ 1DĄSB€Š ‰# :"’½SFUF"ķśV’Õ’ÕĮœƒ’ÓŃ’ŅϤA „Š’Ī’Ī’ĪĖ’ĶÉF’ĖĘD„Zž„ž·žøž¹ž¹ Y€„ B„„’æī€Z’½š’¼ī ’ŗ’ŗ€Z„€ „ƒ B€¦Ą§’²Ä…„†‚° ū Ļ „„’« „„ĄY H€† H„ H€… @„œ ’žĖ’É A’›’›€Z„gŸ™ ž·„ZžuzqåłßĀ£ 6ĖZ!R uV }!”9˜ ƒŽem’ģ’ģÓ’ėѤA „Š’ē’ē’ēĢ’ęŹ„ZH ūÅ’įĞ„žĘžĪžĻžŠ€WĄX’Ł»’Ų¹’×·’Öµ’Õ „€’Ó° A€Z„Š’Ļ«’Ź©’Ģ€„ ’„„ę’Åó „T€Z’Į쒻€Tø„ž‚žŒ €…„U€†„VE’²’²ÜÜTži’©€„`’Ŗ€Z’ŖӀ`„Zž‚’ŸĶ A€Š„Z’ ’  „Q’ž€Z„gŸœ®ž€„Z A’”žszåłßĀ£ēÆ æ:!RV!Z }!i Ž ’9˜ ƒ€ŽéN’Ķ’Ķ Y „A€‚„B€€S’ĘĮœ‚’Äé’Ćē¤A „Š’æ’æ’æĮ’¾„Z’½€Zß Y€„’¹Ū€A„ÄĄBā ž’±€A@Š€ ĀĄBĉĄZÄŠĀØÄ‡Ā§Ä@ „gÄi’¢Ÿ¢„Z A’ €Zžw’ „A€‚„B€€„Z’‡€ZC’‡«¤AžN zĘqåłßĀ£ ƒ;˜@€ ‰Ž9˜H&ž®*’’£ ‚¤B1:’¢Įœ’ Až˜ „Qž© B€ƒ’™£™1N€ƒŒBɀ…6[ „…„ƒ„‡„„„ˆ €1²’„ „gŸ‚z"hŽqå!År©žs¬žq؞o’q§žl ! ‰   „_ € "*’Įß H1K€QJ€G€‰ŒBЌZĮžˆž¼€B€‰ž ŒBõ C @C @ž€ p„€Ä€_„‚B ’„__„ƒ€€ „__Ÿ6Ģ „„„‹„Œ „… 1„† ž ‚ B*’’¢ pE/p pž–€‚„_Ą €/p p @*ž3Įž1*žØ_ €1Až&# /p p@pKp@„gŸ =*’’ ‚¤B’’’’ B ‚Ą…C  B1H’‹Įž„g’ˆ’ˆ€gŸ‡©žyĘĀå ƒ ‰Žbžßžę „N „O’Ūø QĄ‡J?QµC @ QąBĄ ”Ä[ĄˆÄTĄƒÄP G Ä`Ą„ÄQĄ…ÄRĄ†ÄS GGGÄ_Ą‰Ä\ Ā·G!Äac ’° BĄœÄR IG€+ÄS’Ŗå’¦ć’§€‡F@  B€,„ @’Ÿ€…Ą†G Bĝ’“ B€œ„R IG€ÄS’Č’‰Ę’Š€… B„ž’‚ # !i!R:V }’x¶žuq  Y ‚ 1C€„Ž‚ ‘# MTzC @C @C @C @C @ž€ž€ž€ž€ž€`p „F¤Yc B/p $p# ”? IŠ[QbG„WÄX’¹’µŚ’“Ų’³Ö’³€Z„€ž€/p(ä€p(ąYą@IC €@C „U»?p(ą€+p(’Ÿ# ’ž’žŌ’€U„R€V„_ „S’³’• ’”’ŽÜR€_ ’3’ĮžC·#  æ:!RÆV! ƒ-Ā!K u£ Y€ƒIA@ AĊ# „P B ƒ1L€ŠŒZŸ6ĮÜP €1·€PA¬# ’„ĀĀƒÄ‹# »7šÆIGVĀÜWÄX€W BG! ÄRÄ]„^€TˆVCĢ ˆS„S»Ÿžœ’€U„RÜ`ž… „`’•’0р^„S B Ą`G€ G! €RB„R’#Ć’"Į # !iZžĪžĢ’Ö¼ĄQ;ž€/ph¤@ph@(€Š ‚¤P+’Č?ph @kph „°P+’æ Pž°€Ÿ6o¤P€‰  €€Å @€€Ž²ēž›øPžvžu Ą€ Ā  ‰Ą„ΦQĶž€/ph„@ph  ‚’ž?ph€@kph ’—?ph @kph „ # ÷ž­?ph @kphžv"ķ7½7ZPMT9˜FĄZ B+€€E(ųŠžz(# „^„]„[„`’·š’¶ī’±ģ’„Wš„X€S š„S’¬EI@ ž”„Z#  Y €¤\’£€€Ī€[Ē „P€WĄXGÄ[€Ø’‘ # I€¹\žaž`Ü\+U¹*ł€€„Z’ƒ€Z# !R!i æ:VZ Y ‚¤B1J€„y ¼ņ YĄQ^ž³\č YĄQg ! ‰  ¤W€€„X WĄXJ’SŻ+ÄX¤W ƒ7€µ€„y ¼±¤Bž—® „N „O’KĘ Q€‡ ?É’F # łž}ųž{ŗžy’=¶žv „N „O’5Ó QĄøMžI+9¤\ Y €€\Ä+Ü\JžR9„P’#€P# >? „\€Fæ6ĀÜ\ A€‰„B „[ „I„Z€F’ ļc€L\’¦Ż’„ĄFXšN9C Ÿ€R†*«4mmmmmmmmmmŗž„«ž‚Ŗž€B’‰ž…€[„G€Z„I # ł/ė A€Ÿ6Ažk€D„Y L€€Ą„WÄX’”ĄFXC Ÿ€*mmmmmmmōōō£ōōō£%0žĘ’®½€WĄX’«AŸŖ’ŖDAŸ¦³Ÿ¤’„AŸ”’¤€S„O’¢„`ĮÄN’ŸC’šµŸ•€ZˆN„ZĄYųNž‚ĄN€YC„Y’’‹’T’„Ś€`LžS +ÆP!R!i$X“æÜXžÜW€FAžāžč „Z „[€N„W€O„X „IžŻHO’]G „[€N„W€O„Xž¢’Å’Œ€WĄX’PAžĖ’OGAžĒ³žÅ-ć A€6Qž…€SƂ‘ŒYK’=Ažµ’Œ’:ĄYQ”ĄFXQfž¬’…ėžxIö'’`€WĄX’%Až ’$EAžœ „[ž‘ž…€SƂlŒYH’Až’g’€YDžf’cÉ# L€WĄX„€Äž€ Ÿ€s  A€Ÿ6AŸ—€D„Y€F Ÿ€mmmmmmmmppp»»mIŸom:’¹’¹„WÄX’AŸµ€PĄQ’³B“ŸÆ€WĄX’­’­ĆG’«AŸ¦’©;’Ø» A€6Xž…€SƀY–ŸR€SĆ’œDŸ“’šAŸ’˜’˜€YAž\’•’•AŸ”Ÿ“’³žw %Æ-;:’!K!R¦!a†C„„C’n’Į„W„NÄXÄO’½AŸh€PĄQ’fB“Ÿb€WĄX’`’`ĆG’^AŸY’\;’[» A€6_ž…€SƀY–RY’RAŸH’P’P€YAža A ‚Ą€WFž‡ž…Ą‚€XFž‚’A’AAŸ@Ÿ?’…§ žk -ö@’æ’'’'„WÄX€Y )’øC’,µžö€NĄO’Ažī€WĄX’’AžčG’Ažä’;’»€SĆ’DžŪ’ AžŲ’ B’—žfƖ E Jž‰ÄEIÄ\ÄY‚ŒS±’ŠžY’ˆ’Œ’‰€Z ’„ZžĆzń!a>C„†1’w’3„WÄX„PÄQ€Y )’oBµž®’£’£B²ž©€WĄX’ž’žĀB³ž”’š½’™B’[žrĆZ E Jž‰ÄEIÄ\ÄY‚SŒO±’Nže’L€D„ZžŠ%(Æ!R¦„`’C€`Ÿ€s9 A€Ÿ6AŸµ L€€Ą„WÄX’h€F ž€ž°žž×ž¼Ÿ¤Ÿ£žøŸ£Ÿ ŸŸŸžŸŸœŸ›ŸšŸ™Ÿ˜Ÿ— ĄDSA’GVĮ ˆWE „[€NĄOž—„WÄXP „[ Ižmo"€WĄXØ’‰¦€WĄX L„€ÄžÕ(+EžŅ A ‚+’Ą’ ĄDSA’GVĮ ˆNC’µµžĄ„WÄXM „[ Ižž A ‚+’¦’€W®ĄXŒNFрOFž‚žŒ „[€WĄX’—’—E’–AŸ•’•;€WĄX A ‚„Ä‚/€€ „€’‚žŽ7½CÆ æ-; L€N„€€O„€[Ÿ€ss€FFAŸ žų’č’č A€Ÿ6AžŠ’źAŸį A ‚¤` A€Š’ŪĆ’ŚAŸÖ€FĢ„F’Õž¾Ą„@BK@" @+€† „† `€€ € @6Ī’ĀĄF@ĶÄF@`ą`/€A„…€B„†`@ ’µCŗ“žVžU€FĶ„F `€‰ ’„‰Ź€€6Ē؈ A ‚’„AŸš A „‚€„ŸĄA€€@(ŒŠĒ@(€ƒ ’ƀ‚Į# Ā‘D ž}ĘĀ!Z!RV }!’ż!ŖM9˜}Ž­’q’q A€Ÿ6Įžå B€6D6B’īĻ€F æÄ A€ „ A€Š„Z’ć„_Å’įAž×¤` A€Š’Rŗ’Qø€FĢ„F’Mž6Ą„@BK@" H€† „†@(€_G’ACŗ@ž»žŗ€_ž @`ą`€…„E€†„F „D`@’0ą`€„G „C€…„A€†„Bŀ…ƀ@„@`@’ Cŗžšž™€` AĄF@ĶÄFĄ@œÄ„‚ ܉€‡„Z L „€„’’ „ZŸ‹„_’‡’‡€_ž€Ÿ…n»  ƒ ‰s- A€Š„_’ŽĀ’AŸŽ’Ž€œ„V’ˆ B€VɱŸ…ŸƒZ!R!iĖÉ };’»¶ B€V„„’·² „T B€¦„V¦ž÷€§„U A€Š„_€_’dö’cō’”€C„_’^žu€„+„O*’P+¤N€ˆT„TÜOžx€€ˆŒUĪ€ˆV„žĆ’…€G„_’BžYVĀĖU’<’ŅĖ„`€_’5Ē’4Å’r€`„’ČAžø€`’*¼’)ŗ ’Ą’e€_„‚€`„_ „ „ƒ A€Š’Z„€‚Æ Ź „„+@(’Q+@(@#QF*ž€€ˆŒUR+€U„€€V„’›Ģ’› A ‚€T„„€V„†€U„… # ž+ž€/ph„@ph’Š?ph€@kphžr 6! u ƒmĄ\€Yž€/p(ä€p(ąE%G @  Ą }*ą19 ’' ?p(ą€+p(„Y# €Y„D€L„P€WĄX’Ģ ĄTĢ]ČV BG ĘSÅĢ^ĢYSBČYÄD€E„Q` „L’¹ĄPÄLĻ€IĄY@SB ’„I„NˆZ„Z€I ˆQ„E’©’©# Ā2ĢSÄN# €PĄQž‚€WĄXŹøNž†ž‡ O Fž„žž‚ # „[ž| ĄTČVĢ]RČĄ]ĢTSÅČUÄR€^„S # Æ#“œ_ „Y’į’x€^AÜ] A€Š„Z’ŌŚ’ÓŲ Q¤E€ƒĢ€„J„^*ž+€†DˆY„YÜ^žy E€„D’Ā€D¤žžė€YŒ]Ažę€Z’²ø€N„W€O„X’­² Q¤E€„D€‚„Z€ƒင„\ \1g*’¤\ "ØE€†8ĄY@ÄYĢ]Rś€†„V€…„U „†„…’Ž’ŽĒ€W„N€X„O’…Įžbž“ž¢Z!RŽ!a Ž%!i-’y€DĮž„€Z’„€ZI’ną’mŽ’Ÿ€D„‚’Ł€D’dÖ’cŌ’•€Z„’“Ļ€D„Zž%@AІ̆ÄV€…ˆ†„U’‡Ć’SĮ #  ’V!3€NĄO@AGVA ’ˆPƀYC„Y# 2VĀÜĄ„Į€Ą#  A ‚€„Ą… †¤VÄU„T# ’’M’‘B žŒ€TĄU A ‚/„„Ä…€V„†’…³ # ; æ:/ A ‚1Ā ž€ˆ#  L€€Ą#  A ‚€Ą‚„NÄO# €W„P€X„Q€Y)ž=E€YŒP„Yµž # ĄNĢYRĀ€Y„NĄN#  A ‚+’# 7 ’Šžq€S„OžńžĶ€ZˆN„ZžĄ# $0Ä_@AÄP OĄQ`H%€Ą} 'F+`HÜPžu žƒ`@Ą_ČP# ĄZ B+€€F €ŠCŗ€‚8#  A ‚€‡EĄYF@ÄY’# Ü A ‚€WĄX„Ä‚/€€ „€# €NVĀÜW„X€W# €YŒN„Y#  A ‚+’# 7½oĄY‚•ŒS@ž@€YC„Y€ZB„Z @GVĀÜWÄX@ ž‰€Y# QĮ# C @ž„QĮ# C A @€\"\ĄS@"VĀŠSžŠO 6ĈEN 6Šž›ˆEN 6åČQ`*’%VBžŒ`H€Ą`H„Į5»ž¬ČQ`*’%VBžt`H€Į`H„Ą5»ž ČQ`%VA`H€A`H„A'kK*’ž„ČQ`VĮ`H 6Ē*’%`H€Ą`H„Ą'. 5DÄ@Ą„Ą5½c # "€S „SĄRKÄRĢPQW€SŽ—Š BĄ”GVĮÜNÄO’€P„S’Ē€S„P „Sž„Ą€ # ž}!i!R³ ĄR BųŸž‚ž“G „NÄOĄS G’ķ„S G !GVĀÜNÄO# “ž} S. ØQ# @ž€/ph„@ph5 śĮ7 G€’Ļ BG! „SÄR€/6į46_€R„Q€S„_€œ „R „Sž?ģ’;źžWĄ„?ph€@kphRāŒ†Ć+J’žzˆ†ˆ…„R’(ž“?ph€@kph ĄG€’G! ĢR€SAJ’SȀRˆœ„RžĮ 7# ?ph€@kph’#  Bø žƒ“ž…G! Ä]„^ # ’²ÄI C „€U½#  B+’Ŗ#  ! ‰+’„#  B „¦„§„S€„Y€ž„R’›Ō’•Ņ’„R€S ž„S B€Ÿ 9„P’Š}ÅQ< B „¤žŽžĘžĘ!R9x7½:C€£ Ą¢Q*N6B ž|„£ž‰Ą„̤RĢ’kī B\ ž‚ ܤN6< žq„£Ä¢€¤IĤø¦ž`žž^„¦ĄRN1Č£€¦@ħø„žU€„„¦’’ B€¦„VL€§„U „`’ŠÅ B€„Œ¦B # ž}!i š; „`’øö’1ō€S „S’„R QĄQĘ BĄ G)Į‚§ 9„P’ąĘQ<)N6K+ž| Q€Ü`C @’Wc ™ž.1# N .9¤Z’Ä€’ŒĒĄ`€R1ˆZG€@# ZĄV!Ā’N ’{„€+J’R<# ’u€„ +#  B+’# 76 ! ‰+’z# „`žß# „Z’]č’Øę’[ „ƒ„„‚’Wß ’QÜ’œŚ’O€ĄZĪKÄZSÅC @’c žqŹC@N9K B1Ą€ N N Ā’7# !R0 „T A€Š’-ę’xä’+I@@B B€†^ˆTø]žž„T CN Kų„žr€„PP’’€Pžd€…„UĄ†ÄVĄ]ĢTČUÄR€^„S’… # ’‚ ž|!iW „S B€ž„RĄU N)G! ČRÄR„S’ÉŅ’>Š’Ę€V„V€UJ ’1Ą€ NĀ9 ž‚ž± ’“Ą€ `NW E 6i ÜVžž˜ žžs’„Ā€S „S”© B€”VĮÜN„O’™Ń’ Ļ „Sž[ šE ’1 N’‰Ä€’‰Į # ’*ƞ|:V!!K’…€Q „Q # !Ź!R ’‹B’ŠÄĄQKÄQ# „P’„€Pž{!Ź"0!l!a'€Q š„Q Q€…„…žƒ€Q š„Q’›€Q “™„€ß˜€… „… Q+’“ƒ“K£’1FĄ€ĒĆ’ŽĒ‹žx“Š“ˆ“ˆ’‰ # !Å78ģ"h!€Q š„Q Q€…„…žƒ€Q š„Q „P Q€…6Ä„…’„„P’ƒ€P# "2!l!Ŗ’•¢•+ €1N€A˜„»€…6ø¤Q’‹’‹’‹Å’… Qžp’… # !Å""h!›!Å¢ƒ’# 7½8žz¢ø*’ 1]*’€BŒƒŗ€OŒˆ·€NŒ‡“¤Q€…6J,„…žØ€!„‰€A„„’ žš’š Q+’]ž^žōƒ• €€½¤Qž•€N„‡€O„ˆ€B„ƒ€A„„€!„‰‚‡„†žč # "hf „G‚x €€øQž|ž{(Ą€(Ā ƒŌ ’‡Ņ „‚€… „…/6Ć-„…ž‹6É„…žĄž‰C @ ‚„ˆž Q# )ž)€F„P–¶'„F Q€D„€B„Ž€L„€E„Œ€†„D€ƒ„B „G „E  „L’Ÿ QĄÄDĄŽÄBĄÄLĄŒÄEĄPÄFFIÄ‡ÄˆÄƒÄ…Š„# ƒ‰Äž„¢‰’‰’‰# ¢ˆ’ˆ# #7½!Å7ķī"s[C @C @C @C @C @C @`pž×Ņ„G„I @€„„D€…„E€ƒ„F€‚„L A1Āžõž„ ‡ü€ž’¹„MHĄF@Ļ6E¢µĄQĀ’±„M @€I„†€G„‡ÕĮÜk ĄF@Ļ6I„M¢£’£¢ Iā¢ž’Ÿ€M/p $p# ĄJÄho6ĢĄƒ€Mŗ“že€k’„k@ß6 €Mž_Ąƒ@ļ6;žZ/ė±KP7½7’¤ßФ@€€ž’Š 1MI€ĘÄA¤B€‚„C # ¤A ‰¤Bžx¾#  ! ‰  Ą€+@ ž‰ĒD   # ½# U=+ø€ž‚žžvUŗžv B€‚„C’ä€F09ĄFX B + €€N1C 6Cŗ’6ž‘€F09 C + €œ€HĄF@Ļ6E’)ŗĒžžo# ž‚ž£#  BĄ‰KQ\€Ļ6ʀFš ĀIž“€ˆĄDČL ’1 N6ĒH’ž‡ ’1 N  Bȉ@AÄH# ’ž„M C „’—ĄM C+’— C€M„’ä“ # ’‘#b #  „’Œ C+’‰ C „•€—# 7ņŲ’ö7ļ7½8ę’’ž€/ph„@ph C+’‰ C ’’n?ph€@kph# 7/ė C€ļ6Āū# ß6B # ü# £‹žˆ€ģ„@ +’j @ €1·#  “#Ÿ(¢§’§¢§ƒ§ „ƒ’„£„_§¤€•Hܕž†€Ü„+’œ£š€ĻžŽ ƒ§—j’€@FÜ@ž„ `+’ޣޠ€1“£‰ €1”žX &7½"5Ķ6Č “ 7!"#&š>8(@#Ÿp8(š.#ŠA’“ ‡sā‘‚‘„@ @„A‚Ž„F¢ „€„äƒą#¤#ä€ # #’8(#Ÿ?K#źs p`p¤A b„D€€„B€OĻ  „€ 1„EžÆ „OĮÜS p#  €€ē¤G A„EžŸ AĄ‚@BÄF „Ež– G€€ˆ€ ĄHKžžž „€ 1„E‚±žT‚°žR€IžP „E A €O ’ø€žžsˆO €„G€€@iN„JÄK€‚Ā˜FžŽžžŒC„@@BÄFž]€GŠ‹„G€@žo„FžSž#€a€b?$] ’Š „[‚ˆ„I’‡Ÿ‡…FÜF# %i$d$l%{$l= ]€Ćp p„S‚§„R„X€€„N` „P 0„QžŠ „Q „Y„Zž˜ Ąžƒ Šž ąĄE@ü @ ÄE 1„Q ]€Ā‚ƒp# ž§@M SAžž  ¤G [C Ÿ€ $ˆ$ˆ$ą$Ż$ķ$ģ$ū$ū$õ% [Lž„L@žfLOŸ‰LoŸ®LmŸ­MNMIžGŸØ%[%ž‚ž q X®Q3ĤXž;Ä\@` XąS% Ą'`@Ą\'ÜX# žhžA@ QA’‰ [1DżHVĮž  ]„…ž'%b%<%[Nžõ„F [1DżHVĮžž)žNĄGQBżIT¾ž#žHLž“ [1Ū Y1Y @" ž‹žž‰ØY&ž†ˆZ A&žŒZ [1DżHVĮŸ£żIÜGžažˆ@ˆZžs1Ķ@N  Y@&žˆVĮŸV<V9V6 [1CżHV1żIŸ$†$žV1Žž„Gž@žCŠZQCŸĖŠYQ½€G żC žpŸĆ€YˆZĄAĢ@@Ÿe Z1B@ÄZŸ`’·„G’“ÜGž}ŸY Y&ž‚ˆZˆ@# p``p„^¤] )„Ą5¾ ]€‚„@€ƒ„A€„„B_ ]Ą[€Yˆ@QA€D„†QÅĄZQBČYČ@Ĉ€E„‡’6BÜgą^ p# $ˆ$ĘSoTV00’’ĖP%”%–<%™ˆ%”o- zStųą&Š%Ÿ(Y¼?¢ŠŸ€/ēoˆ%”   Šo z²tžų%Ÿ(Y¼?¢ŠŸ€/ēŠ%› % £ CR00’ūPŗ+P Š z£tšĄ*J*Ó*Õ¼?¢ŠŸ€/ē  # CPP00’ż Ļ’ ? A ?  C  z #tüš%Ÿ(Y¼?¢ŠŸ€/ē C \ zPR00’ū  ’_ x z C z \tśč&Š&Š/’¼?¢ŠŸ€/ē z “ z%Ÿ E€D’’Ļ€F ’Ä BĄ„Ī‹QG ÷F Ź€DżžŠŸƒŸƒ/ÖTR&u)ÅZ€D’Ż’Ż„D„I3 B€“„J€E„K’Õ¬ C„‘€Fy€D„OĄF B€Æ6ņE@æ6Ar’„P +žĘ 1žŖĄ‘QCܗžž„ 0ž… ”€y ąx B ”Ą€ÄD+¤K€F„Q½„F’ž€Q„F’œ’œW’›Ö’šB’™žw€P B Š„Pžœž§žę€‘’„—€G¶Ž„G •ž[žęŸŠ /ž/“#d/Å/ś0/q/x#+&§T€O ’[„D€F¾Fæ6ĮÜE€E„K’d’d’d’cž’bB’ažw€F@0 ŠCXJõQģ B€ ”1hÆ6Ē€y ąC „Dž‚€€„D „P+¤K€F„Q–š½„F B€“„J€‘Gyˆ— ƂŽ“G„G’ŒĒ’-p€PAŸ‡ C€‘’…Ÿ…’ /’'ˆ#r#!O’Ļžw’Ī’Ī@KQ± BĄ@æ6­ ›1U@ K€€ C †NJ’Ă„€€Ü„€6ƀż„’“˜’³ ž’­’­@KQ»žNüˆD„ I’§@lÄJ»žFÄJ’¢CüˆI„I BĄ„ĪœQĀžž:ʘNyJ¬QĮž†KQĀJ/6“ž€»ž-ŸŒŸŒŸŒŸ€'W/ė/Š#†/“#d/Å/śLP)>(8(!j „I„Pż„R E€D)’ā§€Dż„D„N€F ŸŚ ö€E„K BĄ’€F ž„@¼€˜„Qž„€ŠÆ6Į@ĶÄJ€PĆ’Åˆ€Fæ õ„6Į „M„_’ŗ C †€¶·„’¶ KØ_%Ė'3 žĆ žo„PĄDJ’ ž‹ÜIQĮžüÄD€F¾æ6AÜK„Fž³QĮŸ›’— C †€–—¶—„’’ę KØ_%Ė+ĮĖ'ÄPĪQ͟Š'˜/Ö(7#+/ž’(&'Ń€ž(LL žˆÜK „IŒDG„Dž‡ŒQh „IžĆIŸŗ’ŗAüˆD„DˆI„IĄFXJõQC’°cŸÆ K€Fæ6Į+ĄDJ’ B%ĖQC*’ĮĖžĄa„a' óąĢQQŽ „I C„‘ B ™1Ā€Fž† „D¤PŸŽŸŽ€QĄ_½QA¼„F€N„DŸ†(($/ś&Ÿ&P( &ä± E¤KĄM B%Ė'øQž…ž„ų_J’žŽ žŒ ž£ČK@*ž… H%…Ė'@(ĢKK+€Iˆ_¬K#BØKž`ÄM@#QbAČIÄI„DĄMN €F½6Į¼„FČKÄKž Ģ_ÄIQ÷žČžŅ MK1ĮyAŸóžŹ MK1ĮyvŸė „D B€š„K€F¼„F€M ’„`ž·K@ŠP óĆĢQQŅž ŒQĄMĒJ’ÄMĢ`U® E¤Kž>ˆQ žhKÄMže€II žĪ€_ E€€6Äq .y'޳Ć „II Cđ B ™@1BŸ­ Ÿ¬žŸŖ’¤ž’Øŗ’”P’ Ā’£žˆ’¢’›;XJżQŹ’œžp# ’™Ÿ™ž…’˜’˜žcžŸ– p+p( €œ€ŸŸ/*/’#d/Å'&L&m/“/ś0/ė&n/Š#†&§(õ)” B€“„J€F½„F $ ’# žŹ š¤K‚_„€ „D „IIžĀ żÓ B1P •1w€€„D+¤K B€‘’ ’„— „IĀčž®žŲ Ņ B š „€„¤K „D „II€F ’Ü „Fž B€DØĄ‘QKNyˆ—@HIÄĄD@ÄDĀƀDr„I ”1o€€„D+¤KÄG’¹ēe C€I„ „‘ „I’ Ü’ ^’ ę B€‘Bܗ€I „I C˜ƀF żĮŸ› Å B€„ŗ’ž-Ÿ”Ÿ”Ÿ” Ÿ’’’’’@KQ· BĄ@æ6³žTŸŠLP #+&?&k&m&u/Š#†&§?’¾¦ B€„ŗpž‚žŸøŗøž‚žŸ“ŗµž‚žŸ°ŗ²ž‚žŸ°ŗ°ž‚žŸ¬ žM’¤Œ B€„ŗVž‚žž”ŗ ž‚žž†ŗžž‚žž‚ ž;‚™„KI „D „Iž ’‚„KI „D „IŸŠ 0(rTYTKPP(‡TP)))3(²)>w€D„I B€š„K€’Ķ„J’īÓS C „D€I„‘€F„½„F „I’įĘ’ąE’ßDž×žŅžŠžŃKy ² „D’Ѷ’Š5’ϰ ’Ķ C„FKżĀ ž¹„I Cø‘ž€‘„D€E„K’Ā’Āī’·n’¶ļ’¶ø C€’± C„€F½„F „D B€š„K C€‘ŒIL’ŸÕ’žU C€’œ C„€‘ŒI“ÜD’‘Ē’GK CŒĒžźžźžķ’’ž{žõæžx #+/’#d/Å*4/ś**/Š#†/ž/“pžŲžÓ€D„I B€š„K€“Ķ„J€F„G½„F’c°0 „D CĄIĐ „IÅK žÖ C„‘€ KÜD@y¶ÉNq„€Ä’Kģ’Jp€G„F C€„D€E„K’@į C€‘žŗ C„‘’:`€D„I’7ę’7Ż€F½„F „D CĄ‘ B š¤K „Ä€’$Å’#I’"Ń IÄG’–Ÿ–’–ž}’’žwüˆD„I’@lÄJž†_6D/6Bžž»žh’#r#!/ė)ØKĄF@æ6Į+%ĮĖ'6Į*’ 6Į|E¬K+ĄD@*žžl# *Jz E€D’ųрF õP€D„I BĄNCĀÄDÄI€E„Kž‰ž×žŲžŁžß€D’ā„I„D B€’„J’ٳ1 B€6G’Õ­ B€“„K’Ńž’Š' B€ „’Č/6y’Čü€F õĢ B “€€ŽĄĒ€Ž¾ÄIÄI ž£€F ^€D „D B€”P€ „€”„K’¤Ā’£D BĄ ā B€“„K’Ÿ B€6ƀ”“„” ’—Ÿ—’—ž}ÄJ/6Ā»žwžžu’’žr#+/Ö/q/Å/’#d/ś"*ā#r#!/ė/Š#† žc’‹@ SŸ’j B€ „žT0*ā3  C„ Ė)@a–ØE+6½Ö¤ N 6ĮLN 6Į0"5’“ž‚’³# Bż’°’°CŠD°B1A’Ŗ’Ŗ°BCŠD !ØE-ž”žš E*žGˆCVĮ B BĮ# ’“B‚“Bż# !°EØE°ECŠD# *’ N 5½# 3-3`3$3€0\š‚’‚# €0"0a.’­DBš«Bż’©CŠD°E’„žˆE € ł €E¤E’ž# „G N G’˜„H ĄGŠDN G’ĄGGG‚ ’‡„CÄD# 3-€3 3`30•2’±DBšÆBżĆQĀ’«# ’ŖCŠD°E’§+ž…¬E+€*ł’¢# C„GCžCŠDQƀCĄD# „G ’•ˆGž‚’“# ’’GÄHI’GN€H# 3-€3t3 3 3`3$0u30ŠC @’ŒšŒ’ŒĀQĮžƒ€BBž‚ÜRÜRc # 3-€0&0āF –Ć„B%’Į*h-žž” B1A’»„NÄONéBBž¦# ž¬# +2ę*č+’®1½žm# *ų2Q+*’’§1½Āžd#  B1A’ž„NÄO 1ĘQÅž‰# „N„O€M „M# €M „M# „N„O€M „M# €3-3$331, –Œ„B 1A’‰)˜’ˆ“B„NÄO# €3$3†1=€M0ż„B€€BÜBÜB„G’‘C’ÜBG°B1D+1A@A°B’…0„M# 3Ī3$3¹1\ €M0’‰Ą€@IÄG’„0„M# 3¾3©1j °Q°P°O°N°M°L¤Kk p`c # 1u ’# 3¬1y’‡Ą€F# žÜRÜR# 3Į1‚€€„N€’# 3¬1ˆ€N„€’‚„# 3Į1Ž€€’# 3¬1’’‚„€# 3Į1–€M0’…ˆ€’„0„M# 3Į3¬1 €M0’…Œ€’„0„M# 3Į3¬1Ŗ’ƒ€’‚# 3Į3¬1°¤R# 1²€R„€+¤R# 1·€M0܀žÜR0„M# 1æ €M0€€ ’„€H’JÜR0„M# 1Ź’ƒ”€’‚# 3¾3©1Š’ƒ“€’‚# 3¾3©1Ö’ƒ˜€’‚# 3¾3©1Ü’‡Ą€K# žÜRÜR# 3¾1å.2’„# ’‚# 3Į3¬1ķ.2’„#  ’‚# 3Į3¬1õ .2Iš@*# ’†Ią@#C ’‚#  ’’’’N  łBLOCK  Ą0Ć Ć0 Ć ÓBLOCK \ X€^€Ȁh€Čn€t€xz€ENTER "OS4" UNIT #Ģ0 €š€ü€²š ½š@؀ENTER OS4 FILE NAME ---.--- ®š#ր ܀Bā€0ENTER OUTPUT FILE NAMEčš šLØš  š 6€PRINT ? šŽšš\Ą€,€Ā€ĄšL:€’šš F€L€R€X€^€d€j€p€v€|€‚€ˆ€ż4šōFILE NOT FOUND”𦀬€²€lš’ššnš²šFOUND THE NAMEŹšFILE NUMBER NOT FOUND Üšl€  FOUND FILE śš€.€żšš\COPY COM PLETE "š |š - 8š@€F€/L€Ź€V€\€b€DISK ERROR STATUS = hšĖš†šŠšBLOCK_CYLINDER = Œš BLOCK_SECTOR = ¢šY øš¾€Ā Ź€¦€‚š Ųš¦š~ āš. čżqš§ššŖ¬Æ±¶ø¾ĀÅÉĶÖŚŽćUUUēėīńöśż !&(*-27>CHJOV[`cehov{€…‡‹’UUUUUWUUUU”—œ”Ø­±³øæÄÉĢĪ×Üįćęčėīóų’ "'.38;UUÕUUUUU]U@CFIKNW\aehmrwyz†‰Ž—œ”£¤©®³ø½ĀĒĢŃÓÕ׌UUWUUUUUWUąäęēčėīõś  ")+07<CJLSZ_dinqtw|0¬UUUUUUUUWD°’’Fd.d“dM&ø»¾Ź’’$‡Ģ’’?~ĢŠŅ’’&Õé’’$‡¾ģоļŅA@UU’’&ņ’’’’’  ’’&’’%’’’’ ‚’’G`AAGaŗ"‚ ’’ #' )- /3 ¬.28PTP@5ulŗ;.;A.A8AEGADAŗ#&9QT’’.ADEAQPQPA8AWGA.V8V.DVD5u8Y\^YaAc-QPP\QT1Yī+5V);>&9l’’.25ulŗ;.;A.EQTU@TDPTA8AEGADAŗ<&9y’’.A8AWGA.V8V.ETTTDVD5u 8A{DG5VB;>6&†’’lGˆ8ŗETUQ;.;A.A8AEGADAŗVˆŽˆ»ˆ‹P APTTqDQ‚’’‚’’&9˜0’’.A8AWGA.V8V.DVDš&9AAPAQPP\Q šž’’Vš&š’’D5u8 Žˆ  .ˆ8ˆˆA¦g ‚’’PQETEGˆ8 £b5V`;>K’? ).>A8e.e)UEQ@E«Ge «eAp.>8>l’.5®.®&a.a,a.ETAPa&`.`,`.®``A&.a±a.`&`ˆuFˆˆš&¾TÄPTEš9’’$‡Ą’’’aĀ`Ä'9ĻĀŚÄ’’"‚ ’’ĮŻŽ©'9’’GPP@QETQ NóGONn Nóä€Ä` gE„†„…䄹€Ą g?G=„ƒ g9G7Nʰ` g2@bmž‡Ä€Iā „‚ž‘āŒ@Āt½žˆ@ī—m žƒjōKkäÄ€ „‚iĄ€ž„Ā+u»ą€xź…Ą@Ā # 6©6µ(Lš8@<µm00255075SŹMcžž‡ GNqŹ…@# H’# 006Čž€/p  ’’’’8āśĮķœžśAņžŸ÷āś÷@QTEDQāś.ā8ā.ß8ßßA“§'ķü9’’ü’’Gā8Gߺ壒DPTEQTˆ@     OC [ ]OC [ a OC t vAT … ƒ ™š>:‚χχĪ: d: l: w"ƒÅy Xž‰ xž‡ ½B ą° ‡øž› !€‚ ’ą€q>øBž|ž{Ʊƒ± C † F ž‚žˆž‡ƒ„E:    OVicEdDano27€æ€v”æ€Œæ€žŠŸ€AŸ‚Ÿ‚A1‰Œ 0’’÷g÷Ū$÷+1M@’’MM@’’MM@’’ ½  Œ ‰ &   # y 7 · ,ƾŅ`ęž‘›JrI Ž”H b£ †Ÿž„†œ6Cæ„æ”椂–6Ažƒ ‡ŸæŸæ™ Wæœæœæœ æ— 0…Eæ•æžōžž ‡æƒß6Пx  ®Ģņž§V¢0¬Ž •)æqĶ ž| @æk „)æØ‚] ‡©æ£‡Ø†V6Aæ\ƒ¢1Ææ›ž”ŸšžkžjžižŠ) Dž„ Fža)§’žf挞\ž[žYæŒæDž©Ÿ… ņ“4ż-,P O‡‚„‡‘‚‘‡‘ æ€ ‡æ ŒE…ƒˆ 懟†€vķŠæ ’æ (æS ‡¤æP1Y »¢žžtƒ žqƒšŠš‡› £™„€’„ß’æ?žŸ>ždž”žhž†ž_ƒŒ5)žgæ4žYžXžVMœŁ4æŲŸŽŸ'Z“ƒs‡ŁæŃ Oæ ‡kæ1E ŗųžƒžtžžäƒb žo §Ē+§Ęß[ ƒĀ»Āž† ‡¾ †åž` æ²žŚŸ± ž[ž!ž_ž‚ž†žV櫞TžSžQ攞Oæ„1ĮžĀ ŗĢžžHƒ8 žĮž‚ß4žzƒ2 ž? ¦Ā+¦Įß+ ‚½ŗ½ž„ †¹ž2 †“ž’ ņĢŚ“4żČ GHæpž„žųžŸ”žFžƒžžž4æhžžžƒˆ8)žƒ„+)ž>ą4 ƒ‹K †ƒžˆLæFžŸ¢æD ææE1ŗ Yž“ Nž’æ<Ÿ•žÄžrž„žpž…žmæ0ŸŽŸŒæ2žhžgže ‡‡æ‡æ+žjņ|Tµæ æwæ£ :æŸæŸ1M I“§œæžžž›žož‡žmžˆžkžjƒ15žgæž?Ÿ_æžbžaž_v (9 R’†wóæŚFSƒŚ!‡Łķ‡Ų‚j†m£l ”€·Ń„€ŽgßĻžxæÉ ōGæ7 :æ` ‡æ^1T ŗ žžr߃ žn ž“§¶¾Õž˜ž•žgž&žmž†žbƒ°5)žl歞\ž[ žY †žk’’’†5æ”æ”Ÿ”æ”æ”攇”Oƒ ‡ŸƒŸ‡žƒž‡ƒ‡œƒœ‡›æ‹ŸšŸš¹Ģ_4ż¢ņ Ź«~ģķGTHUFSŪŻÜŽ "ī ÷æa`aBŸz ƒß Ÿ|Ž{ #ŸyŽx _ŸvŽu ^ŸsŽr ,ŸpŽo :ŸmŽl ŸjŽiŸh ƒČ ’æĘŸz †ŗ¦øƒĄ Ć ‡¼)¦µ£tŽsƒr†°Žp€€­ČŽ«’«A+’ØŽ¤žvŸe¦¢‚Ÿæ£ƒ"6Yæ ?¢š :栀€æŸæŸæž :暃’æ™æ™æ˜ :攂‹æ“æ“æ’ :掂†æ¢ƒžW÷3Ė(   æė †Œˆžžˆ’Q ¾Ž„žw‚ąæiŸp ƒÜÜ‡ÜƒŁq·ŚųæŲ  ‡ÕŸq ¾ožƒ ‚~†z…EƒĆ6Į¾Š‚oˆˆžˆ‚k†‚öææ8 '‚¾æ@ƒ½Až§)¦®q ’>Ž©žz‡Ÿ² ˆ…‚Ææ.ŸU¾ƒ¾‚¾¾€  ’¾…ˆžž‰‚B†‚öæ–8 ‚™¾śŸ>¾‚8†‚öæŒ8 搟5Č  "  ¹) ö     敞‚æ”ų†Ž†Œƒ“†ŒæŽ i ƒˆæ‹æ‹Ž…ŽƒžyŸl ņÕĢ  §Œ‡ŒƒŒ ž„Žy£†ƒ†ŸvƒuŽtŽsŸr  ƒ@6\¾Ÿƒ£†ƒæ`ž‚æ_æ^ n£ž !¦ć£™*’¦įæV  Wų†Ž¾‹ŽŪƒŚæP 掎՞Ÿ_ŽŌžužp ƒ 6øŸ{ :(% £µ1Cæ6 Y Ÿ²†¼æ±ƒ6ĮŸtæ+ž‚æ*æ) } ‚°yŠś†ū‚ł†ś‚Ŗ–ü†ü戂łæ—æ‹æ x :æV‚Zæææ ܃æŠææ  Šæ æ ©¾Ęæ Æžß-A£ÓæŠæŅæĻ l ›ĻĆƒĪ—Ī‡ĪƒĖ»Ķž‚ž ’IŪÄQĮ æ[ææ ›¾Åæ¹ ³ƒ½æSæ·æ“ 2ƒŗæNæ²æÆ . :æƒ æ³æ«æØ ŗƒæBæ¤ Õƒ¬æ>Ÿ æ :ü†D£¤ü†B .6Į ‹žæžŽ;žx 暎6žrŸj 0IRED TRACK SUB IOB+TRACK,A SUBTRACT CURRENT TRACK COPY A,RELC STORE IN RELATIVE COUNT CELL * DISPLAY TRACK/SECTOR COPY TRCUR,A SHIFT A,LO,8 OR SCUR,A SELP A,4 * DISPLAY TRACK/SECTOR    ’’ ’’’žĢ  l oU ()(  ‡£Ÿ| ƒ ‡žŸ{ ńæ˜m^¢˜ „‹„‡•óæ9F ƒ‘‡Œ‚‰ ž† †…ƒ‹‡‹ ‡ˆŸf¹ V^ŚZ` ‡„憒€æq÷ųŸwµ ‡½ „€ +ßøž{Ÿw ‚†‡‚‚…æ_÷ų ŸxŖŖõä ‚‡‡ƒ‚©æT÷ų ŸwŖŖ ƒ¢AŸ|Ž{Ÿz Cæ W ¾Ÿz ¦‰‚‡Š‡††ƒ…†æ Ÿvj  ‡‹ƒ6Š… ܀ƒ…Ÿwb:=, †—†˜¾»†•—Ģ–JŽ‘‚ŽŠŒŠ‹ņ‡žp‚†¢„Ÿi ?懞gX+(A †v†w¾š†tvю”ĶŽ’ ĢŽŽ JŠŽ†i‚g1¶f†dŽežmŠ…žw‚`¢^Ÿd  æ”Ių¢ ‚ C C 96¼C C "‡’ƒ•Nƒ@ž‚‘’’¢‹’ 6="’. 1¾@懟^čŲ†V†ą( ߦƒ„»„Ÿ{ ‡ žƒ ‚~†tæßƒœ»œž‚ŽmŸl ‡–žƒ ‚~†yƒ’6Į搃ˆæˆžŸo‚ŒæŒŸl  WČ U'˜ ÷M ‚×‡ŌŸ| †Žƒ}†Ž{ƒz†‹Žxƒˆ‡ˆŽ†Ž†Ž‚žyŸp †¦Ž£|.Žz%€€' ’žƒ¾Š+žx¢‚‚‚Ÿo †Ø‚ †§ †£ū†¤‚”)/ +=‹†› 0žŒ†–¾µŽ–Ž–žq‚‘ žŸe 0¾¬Ÿb‚Š žs 0žp 'čd (g ū†‘ –y9 .1Ž‹žž†ŠĮЄЄ¾‡žrŸl:š+ 歂«NƒØ@ž‚Ø’’¢¦’ 6="’. 1¾@‚›Bƒ˜ž‚Ÿ€SIų‡˜¢˜C "C ¢‘C I6 tž įžÕ  Ž ŗ » ¼ ¾ æ ½ UNIT ’’(NNöööüNNõõõž÷N NNNõõõū@@@@÷FNN†’’ž÷’’’ūå?ååå÷  ’’’’’ü’ ’’8’ æßŅ‚„aƒÜ ‡ŚƒŚ ‡ŲƒŲ ‡ÖƒÖ ‡ŌƒŌ ‡Ņž‘‚“σŹ‡ČƒČ‡ĘƒĘ‡ÄƒÄ‡ĀƒĀ‡ĄƒĄ†ŸW ‡¼‡Ææ» ‡ŗ‡ŗßŖFæØæ§ Ūƒ£æ„ƒ„ ’‡Æß®ƒ­†›ƒšAžł‡©Š•‡ØBæ– ‰¾6ƒ¤‡¤ƒ£Ă| @…Žüƒūß< ¼€ž£ 0ÕĢßQģUTSŽŻķć Ž Œ•”æĻžFßdæe Ū ƒaæcžMæČƒČ)6‹¾äæZæY > ‡Ą£W€€盼B+žz£ø¾ĮžžuæHæG W æ°æÆƒ­‹®æ®æ«æŖƒØŠƒ†ƒƒ‚ž‚b æ8æ”æ ƒžŠƒ†yƒxžf æ/昣–ß•ƒ” žžQæ& Ū ƒ"æ$ žƒŠ96ĮŸŒD‡æ rŸˆ ŠČ: (ņž]7 ƒµĮŸ|Ž{ ŠK†KƒJ†‰ ŠP†FƒEŠ„AŸoŽnŸm †ž†žƒžĮŸy †—£š€€ʚ“B+žzސ¢Ž¾YŸkŽŒŽ‰‚ˆ žžn‚…ŗ…ŸaŸ…sQ  ƒžĮŸ|‚˜ žžæ˜Tī’æ”ŻT’搎UŽlވŸjžæ‰īT †Ÿcڹ ‚ŠĀŽ|Ÿ{ƒzЇЅ†‚ŽvŸ€€ &7Prz‹–Ÿ(D) ’’(F) ’’ (’’) ’’(N) ’’(Y) ’’ ,’’ƒ®Ažƒæ§ ŸOæ¤ ŸL ‡”æŸ ƒ¢†ŠŽ‰ƒˆÄ<ææ˜žy攟< ‡æŽ  ‚“†ŠŽ‰ƒˆAžƒ·‰æ‡žy惟+ĢŪĪ,•³Læwƒ°æ°ƒ® »®žž… ,æ¦ƒØ ’愃N椃¤æ ƒ¢ »”žž… ,斃› ’æ•æXžTƒ–ĆæSžOæPžLƒĆæKžGæHžD (GßH ŪÜæ<æ:”ƒžæžæ6ž2 :’’æ1æ/”ƒ•æ“æ+ž'æ( :æ_ƒæŠƒŒD ·"†±¾£æžRs †—¢’¦’¢’¦’»‘ž‚‚ŒŸu’»‹ž‚‚ŠŸoބޅ‚…žqAmI? ‡Ä‚ŠEƒĀæ.ƒææ,Ÿwƒ¼æ)ށŸs OPEN DOOR ’ RO,8 GET CHAR TEST CODE ADD ERRNUM,A CONV TO ASCII COPY A,ERROUT COPY ERRNUM+1,A GET ASCII FORMAT COPY A,ERROUT+1 COPY ERTMP1,A GET DIGIT AND ERRMSK,A COPY A,ERTMP4 JST MSGA    F= ’ N= ’ P= ’ RUNNING... ’ S= ’ T= ’ U= ’ W= ’ WRITE ENABLE DISK ’æ» ū æŗ ‡½æ·1Ćæ¶ŸŗŸµŸ¹Ÿ¹žxž¦ Ą¹ æ³ ń5  ƒŖ ŸŖ¦‡‚…Š…†…ƒ„†‚žƒl‚…‹œ†|‚z‡zž^‚wŠ„†u’‡sžߏžQ拞O抟ŒžFŸ‰Ģņ“4ņżļČ™źn®8EøS° 3Š’’™źn®8EøS° 3Š’’æZŸćæS æRæß :æŽæŽ1J§ŻæLŸ×ŸKžpŸŁžnž†žk£Õ15)žræAžq¾åžcžbž`æ4 ’$æ3æ21ŗ Nž’ Yž‘æ-Ÿ½Ÿ,žrŸ¼žpž‚žnžmæ&žu¾Ź žižhžf ‡°æžl ƒ~Š… ’Š„†ŽyŸ‹Å€ ĻŃÓÕ×ŁŪŻß¾õŸj¾”Ÿh¾õŸf¾śŸd撟b摟`搟^¾ĪŸ\¾ŠŸZ   (9ć4Vsw  ńæÆm^,¢­ „‹„Ÿv æØ1Ķ RžŒ VžŒ EžŒ SžŒ Lž‘ Tž‘ŸpŸo¾ųž’¾°ž¾źžŽŽhŽgƒf†¾"ž‡¾žž…憞ƒ‚] ’ž€ŽZŸYž¹^ ‡ˆŸ| ’‡…‚‚‡„ŸzRs ‡‚悟{V¢% ‡¢Ÿ| ‡ŸŸ| ¢ „€’„Ÿy ‡–‡–‡–ߕ敞ž† ‡’ M‡‘‡‘Ÿqƒ‡ƒ‡ŠƒŽ‡ŠŸj ž,MŚķņGFH9:; ‡…Ÿ| ‡‚Ÿ|    ‡fŸ| ‚‚‡‚Ÿ|Ū$ æ¾s拾=æŠæŠ¾r¾5¾?¾a¾d¾¾Ÿq®§ŽA ææ æ½æ½)§¼æ¼æ¼ƒ¼_Ć»Q] ‡» š‡·†­æøæµƒ·Ž©C‚µæµŸe‚¤ €žŠ €†  ‡©žpƒ¤ĆæŖž„ŸX槞dŸU ‡ž M‡š†æ›æ˜ƒšŽŒC‚˜æ˜ŸH‚‡ @žh @†ƒ ‡Œžp Õžģų]T • -(A÷Š+ æn ælælæn) §jæj§” ‡ æk柚 M†—’ž‚• ‡˜†’£^1C šžŒž‚ Mž‰æ‹æ‚‡ ’†…‡Šæ…扞lŸW< "µ > æ= æ;æ;)§:¦Éæ9æ9Ć9QDĆ8QB €ž @‡4 †¼æØæcæ§¾«ž‚ž„ž‚µøžŠĆ&QB €‡$‚­ ’†Ŗæ–žm¾Ģžk‚¦Pæ †”†”)§æĆQDĆQB €ž  @‡ žYŸBĖČ1 ß¼ƒ» žž†æÄžŽwŽv ‡²Ÿs æ® æ¬æ¬)§«æ«æ«ߣŖæŖߣ©æ§ !‡§)§Ÿææ¤ !‡” ‡™æ ¢” !æ÷÷ 曞hŸ] ’‡˜¢˜ƒ‘æ’l÷‚‚æ>ŸuUU Õžģų]Õö ĢÓŠDC æn æl)§lælæiækæo‚ų£iæi †å¾Õ‚ę‡f†āæģƒ] łʃ`¢ėæ`÷÷ ž—ƒT žLƒQ ųLƒį‡P‚Żæß÷ų3 ‡Gžg ‡Džd ‡AƒE‡Bž_ƒ9о‡7 žž…ƒ=޽Āß0ß/æĒž\ž“ƒ5޳Fæ.¾ž‚°‡/†«žRŽŖGæ&¾–‚©‡'†£Ž”žIŸ*Ć«J’QĢĆÆQJüæŖ+% ‚–6Į ’‡ž8 ƛQÅüæœ)%ž†ĆšQ9üæ• +% Ÿq@A€< TžüE¹_D æę‚ķ†ß æāæā †Ų †×žŽ æŁ‚į†Ņ‚z†l æÓæÓ †É †Č¢Ę§ĪæĪæĪ£Ó1L£Ģ¦Ā)§É£Ī¦æ)§Ė£Ė¦¼)§ČĆKQBææ€ @‡½ƒĀæĀ‚¬‡“æ?)§±æ<漂¦‡­æ8 ’‡ø¢¢ƒ­æ¶÷"‚› žʃ±Ÿ6Č‚ÆæÆž…ƒ«6Ā‚«æ©æŖž‰£œ1F¢Œ§”¢‹§˜¢Š§—Ÿ!ĆQžM Õžģų] µ FG -W ĖĢÓ)G÷F= æf ædædæf‚³¾ž)§`æ`ưMž†‚­‡^æ¬æ¬žž‰æX€‚„‡V ‡Ræ¢æ¢ž{æM‚›¾å)§GæG ‡GƕMž†‚’‡Cæ‘æ‘žž’æ=€‚Ї; ‡7æ‡æ‡ž{žˆĪÄÅÅ @<ŠDæ)‚̆¾ ‡&)§!æ!ĆqMž‡‚n‡æm¾«ælžžŠæ€‚e‡ ‡æb¾ æažzæ ‚°†” ‡ )§æĆTMž‡‚Q‡„æP¾ŽæOžžŠæ €‚H‡œ ‡œæE¾ƒæDžzŸ ’‡•ƒ‘¢”æ”÷Ÿw ‡…抁‚æŒ÷ųŸvóō µ HÓA¹ æ¹ æ·æ·)§ØæØæØ ‡§æƒ°B‚Ææ£æ©ƒ¬ĮžąæžÜ æ *æœæœƒœ6B‚”æ“æ“Ū æ’ *æ‘æ‘ƒ‘67 ‡ææ„ ž•ų]"÷ĢX(•)Õžģ(IIŸ;æoõæn *æm ‡ė §b ‡éæ` ‡ēædƒd’6B‚ćæ[ƒ_ż‡]?,A NEG A,A COPY A,LPFLG JMP *STLPTY * RESET TESTS TO DEFAULT QUERYS ENT COPY =-PRAMND+PRAMSX,A JST MOVE WORD PRAMSX FROM WORD PRAMS TO * COPY =PRAMS,X SKIP TEST: COPY  6C‚ŻæTžˆæS æR *æQƒR=‡PæP ‡ĖæKƒK’6ÄæD EæCžu *æAæ; †‡Į)§¼§4æ4 ‡ŗæ8ƒ8/6B‚¹æ/ƒ3-‡1æ1æ()§«§#æ#  ‡# ‡§æ%ƒ%O6B‚§æƒ M}‡ææ “–“•S‚“‡›)§ §æ ‡‡æ ƒ 6B‚æƒ†‡„捞š )$%IIII&I÷/ æøƒÉĮŸz æ³æ³)§²æ²ƒ²¾ū沂²‡²Ć²QDƱQB‚°‡¬æÆ ‡®æ®žw椂¤‡¤Ć¤QĮžƒĆ¢QB‚”‡)§•æ•æ ‡œæœžtæ› æ 权™†Ō§—§š¦Ņ‚ŃšĻ5ž™ÕžģųŸ]€ T  < ŠĢ 9! Ÿ- ‡漃6ĘæpŪæ· *涞t)§\æ\æ^ƒ[¾£‚[‡[Ć[QCĆZQB‚Y‡U ‡XæV ’‡¢ƒO¢”æ”÷æPžp‚Œ‡OæM $ƒL‹˜‡˜æH Š 揀*掞K ‡ƒ‚:æƒ÷ųŸx¹•X(JÓ Œ æƒźAžą ææ)§æƒā»āžž„ƒŽ‡Ü‚ŻæŲ “ۆϐ†Īüæ[ ‡Ó…ƒŅˆæŃžƒ ‚ĻæÅ‚æ„æĢ ‡ĖæĖ €‡ÉæÉ…‚‡‡¾ƒ¾ˆæ½‚Ć泞ģ¾Š¾€ ’—»Aæŗ‚ŗæ§¾€ ‡¶…‚‡‡¦ƒ¦ˆæ„‚«æ›ž¾‚¾„ ‚Øæ“¾€ ƒ +#‡œĀ‚Ÿæ‰‚‚‡ŒŸæ‚æ€Õ÷€Kv'K] µ -K)K$, KK æę æäæē M‚åC¢äæ^Ÿs¢× ŽÖ U€€ «ø€€µ¦Ķ‚Ģ ÷†ņ‚҆Ć)¾ŻæĻ)ƒĪ†½¾ŲæŹ‚Ć¢ŹæŹ÷÷6‚ŗ †“ †³‚ŗ†Ü‚°†­)¾Ēæ¹)‚©†§¾Āæ“‚¦†…‚£†„‚©¢²æ°‚  ÷†Ę †˜ †—)‚•†’¾­æŸ‚†Ž)¾Øæš‚Œ†…‚‰†„‚¢™æ–¾˜Ÿƒ’ÕžĀ ģ1-M÷?öMÓMM ‚q‡—‡—Ÿ{ §ææ‚h‡‘¢\揂‡‡‹‡‰‚W‡‹‡‹æ‹Ÿo  ų]8 Õ-7 æ² æHƒ°†w ‡­ž‡¬‚¬†r‡Ē×)§bæbæb‚Ÿ‡£‚h†h0¶f0 …‚œ‡œæœß–žžŒ‚™†Z揞fžx¾€¾€‚‘摞q ‡ˆ‚L‡ƒŸMČ`÷<0N÷ æÕæĢ KæÓ…E ‡ŠææĆ æĀ ž‚žn§Ę§ĘæĘæĮ£Ć§Įæµä æ“ ž‚žx§Æ§Æ1AžžĶæØüæ§ Mž‚žxIŪ£QĮ.§”¦ū‚ż ’læ—ųæ– ž‚žx¦öæŽ捦ó‚ķ žY †éæ…ģæ„ 揞ØĢ9Į»Ć¾†ć­ÅĀ ģĖ †Šž”ækčæj Mž‚žxIŪfQĮ.¦¾ †Ąž„ †½ †½æWš8 0†“…E‚²ˆˆ¾ †±‚¶–¦A‚¢F‚Ææ6Ažc­‚  ÷A©‚ž¢™ !*’¦–1EŠ’†—‚†–ž‚ކ’‚‹†˜‚”‡™æ™æ™Ÿ™’Į ÷Ń)p¢ ƒšAž‚Ž{Ÿz¢y€€ŽwŠ†ŽĮ¾Ÿr §‡‚†††£‰ƒ‰æ‰ļŸv’ђь’’VĢ÷÷27mG8G4G3G4--G6--E7G1--G0E3----ä æ“ ž‚žx§Æ§Æ1AžžĶæØüæ§ Mž‚žxIŪ£QĮ.§”¦ū‚ż ’læ—ųæ– ž‚žx¦öæŽ捦ó‚ķ žY †éæ…ģæ„ 揞ØĢ9Į»Ć¾†ć­ÅĀ ģĖ †Šž”ækčæj Mž‚žxIŪfQĮ.¦¾ †Ąž„ †½ †½æWš8 0†“…E‚²ˆˆ¾ †±‚¶–¦A‚¢DON ENT BUMP HARD ERRORS COPY A,AREG COPY UCUR,A TESTED UNIT ADD HARTMP,A COPY A,X IMS 0(X) NOP RUNS AROUND COPY AREG,A JMP *HARDON EXIT HARTMP WORD HARD0  €æ€2”æ€äŒæ€ŪŠŸ€*žłžūƱ°’’É)ÉŪ$É*µM*+@’’MM@’’ęŖ ¾ » N G D K « \ą TYj<V9C 4 įabaļč$c †Ÿž„†œ6Cæšæšæš‚–6Až‚ ‡•æ•æ• ‹æ’擟“ æ 0…EæŒæŒžŪžHTQL‡;”«æx­æ§‚n ‡£æ£‡£†g6Aæfƒ1Ææœž”Ÿ›žkžjžižŠ) Ğ„ ʞa)§žf掞\ž[žYæUž¤Ÿˆ ŪżŅZüį ž O‡‚„‡‚‡ æ€ ‡ ˆE…ƒ‡ ķü憞 €2 Ų »æ+ 9æ-ž‚æX ‡¦æ°1Y »£žžrƒŸ žoƒœŠ¤‡œ £š„€’„ß”杞žŸEžbž;žhž†ž]ƒ5)žg択_æ:žUžTžRŠ”ī«LZŅæõ ,æuž‚æ ‡læv1E ŗåžƒžržžŌƒc žm §ā+§įß\ ƒŻ»Żž† ‡Ł †Ņž^ æZžĒŸÓžYžž_ž‚žˆžTæKžZæĖžPžOžMæDžKæI1q ŗøžžEƒ8 žĮž‚ß4žzƒ2 ž< ¦®+¦­ß+ ‚©ŗ©ž„ †„ž/ † æ*žØž’ž)Ÿ£žZžƒž%ž$žFæž)暞žžƒ6)ž(ƒ))žOƒO †ƒžŒL‡FGįõ棞Ÿ¢æu 0枞‚æžæ1ø  Łž’ Īž‘星˜žĘžpžlžnž‚žk拞uæbžgžfžd ‡‰æ‰æ„žk«‹ Ū‚.‚-jpæL >æuž‚æuæŸ ŗæžæž1M I²§šælžéžšžmŸižkž…žižhƒ‘5žeæ\žræ3žaž`ž^h ä¶äóQī’†wƒz!‡Āī‡Į‚n‡Ą£Ą”€·ŗ„€ßŗßøžxæ æ8ž‚æ8 ‡®æb1T ŗ£žžrß§ƒ¦ žn ž•§„æ)ž›ž˜žgž)žmž†žbƒN5)žlæžq斞ZžY žW †ži’’’†6æ‰æŸˆŸˆįL  ć ÷æąRSŸz ƒÜ Ÿ|Ž{ £ŸyŽx ߟvŽu ޟsŽr ¬ŸpŽo ŗŸmŽl  ŸjŽiŸh ƒÅ ’æĆŸz †·¦µƒ½ Ć ‡¹)¦²£tŽsƒr†­Žp€€ŖČŽØ’ØA+’„Ž”žvŸe¦Ÿ‚œæ„ƒ76Væ¢r¢— ŗæŸ€€æžæž ŗæšƒæ™æ™ ŗæ•‚Šæ”æ” ŗæ‚†æ¢ƒžZt푪‡ä˶ ‚‚†˜Ÿ|  †ž+š†‚Ž˜€6Įš‰Ž‡ž{†‡Žƒžs‚„Ÿm! æė †Œˆāüžžˆ’Q ¾Ž„žw‚ąæPŸp ƒÜÜ‡ÜƒŁq·Śųæ? ‡ŌŸq ¾ožƒ ‚~†z…EƒĖ6Į¾Ó‚oˆˆžˆ‚k†‚öæ&ł‚¾æ'ƒ½AžØ)¦Æq ’>ŽŖžz‡Ÿ²Ÿ² ˆ…‚ÆæŸT¾ƒ¾‚¾¾€ …ˆžž‰‚A†‚öæœł‚š¾ėŸ=¾‚7†‚öæ’ł摟4t  !  ( ¾ę  t ½ 敞‚æ”ų†Ž†Œƒ†Œæ’ƒˆæŒæŒŽ…ŽƒžyŸl«Ø‡Ė¶ ƒV6\¾Ÿƒ£†ƒæqž‚æpæp—£› !¦Ō£™*’¦Ņæh…ų†Ļ¾‹ŽĢƒĖæb  æŽŽĘžŸ_ŽÅžužp ƒ2 6øŸ{ $ä £å1CæH‡Ÿā†­†¬æąƒ6ĮŸsæ;ž‚æ:æ:¦‚ yŠü†ż‚ū†ü‚š–ž†žæ/>‚ūæŹæ+Aæ)” ŗæU‚Yæ%æ%æ" ƒææ½æ æ ھ̿ܞƒŽü£“æ“ææ ©ƒ±»±ž ’æØæ æ ZƒŖæ£ææ Qƒ¦JĀ «ž ­æ*  æ(ƒAæ“æša ŗæ ƒæ–æ–æ“ćƒæˆæžƒæ„Ÿż ,«š· G "‡Ė¶' æs nü†2£˜ü†0 .6Į ‹’æ’Ž)žx  æŽŽ$žrŸk  °’’Š’’’(ä ‡­Ÿ| ƒŖ‡ØŸ{ īæ„XF¢£ „‚„ƒ„†„‡„ˆ„‰„Š„‹„Œ„„Ž„„‡•óæ‘8E‚Œ ž‰ †ˆƒŒ‡ŒƒŒ‡Œ ‡‡‡ˆŸZtF¢!ō"õ ¦Ž(ų¦‹)q..Ž„žz ¢‚Ÿq ‡‚ædÉʟy ‡³ „€ +ß®ž{Ÿw ‚†‡‚‚…æSÉʟxŖŖś± ƒ”AŸ|Ž{Ÿz Cæ›…¾Ÿz ¦‰‚‡Š‡††ƒ…†æŸv\ ‡‹ƒ‹Š… ܀ƒ…ŸwTŽü‡  †—†˜¾»†•–ĢŚü•JŽ‘‚ŽŠŒŠ‹Œņ‡žp‚†¢„Ÿi ææ†žgūä †v†w¾š†tuю”ĶŽ’ ĢŽŽJŠŽ†i‚g1¶f†dŽežmŠ…žw‚`¢^Ÿd  æ¢Ių¢”‚”C C 96¼C C "€‡’ƒ•Nƒ@ž‚‘’’¢‹’ 6="’. 1¾@懟]§–††Ÿ ߒƒ‘»‘ŸIN OV JF OV,$-3 LOOP TILL DATA IS AVAILABLE (ONE CHAR) XNX Q IN 0,A GET A CHARACTER XNX Q OUT X,1 RESET TTY CONTROL FUNCTION COPY A,*IKBA SAVE IN SAVE AREA * COPY LPFLG,A ECHO INPUT TO LINE PRINT? * JEQ A,IKB6  { ‡Œžƒ ‚~†tæ‰ß‰ƒˆ»ˆŸoŽmŸl It G ‡‘žƒ ‚~†yƒ6Į拃‹ˆæŠˆžŸo‚‡æ‡Ÿl&\Ż Ŗ ‚Ņ‡ŅŸ| †Žƒ}†Ž{ƒz†‹Žxƒˆ‡ˆŽ†Ž†Ž‚žyŸp †¦Ž£|.Žz%€€' ’žƒ¾Ń+žx¢‚‚‚Ÿo ‡Ŗ‚ ‡© †£ū‡¦ƒ£)Ə¤+=‹”‡ °žŒ†–¾¶ß˜ß˜žq‚‘ žŸe °¾­Ÿb‚Š žs °žp¾'čd )ģķī…ķ ū†‘ –y9.1Ž‹Öüžž†ŠĮЄЄ¾‡žrŸlŗšū 歂«NƒØ@ž‚Ø’’¢¦’ 6="’. 1¾@‚›Bƒ˜ž‚Ÿ€Ių‡˜¢˜C "C ¢‘C I6]0_å嫨F±Ī żĪyĪĪĪŖEæ”æ”æ ‡ŸƒŸ‡ŸƒŸ‡Ÿæ™Ģ杦`’_¢^¹ ó7 ¦W’V¢U§‘摞’ž‘žlžbžjžižhžgL‡, ފŽ Ņ æZæu æy¦<’;¢:¹ ł7 ¦5’4¢3.A¦ęænž‡ž†žmžHžkžjžižh)§*æ*æ*æŻ‚Š‡*‚҇'æŁ¢ŁƒŁ†õ‚Ķ †Ė ‡Ó†š‚҆‰ꆡžƒ¢…+¼¦ƒDæŹ ß§Č‡ČæČ€‡q†ŗ‚µŠ³ žƒßŗƒ¹†®¶®q†°¢¬ æø†¤y¢h浄‹‚Ÿæ²„Œ€‡æÆ„‡‚œ¶œæ«„‰£„ƒ„Ž’žRæ¦æ¦ž=愎®ƒ­‡ž0æ µæ ‚Ÿœ › ß` Ćž Ę”ī ß  ćtĮĘ€E ĮŠÕĪÉŌ  ’’ŖŖõ~ŖŖŖŖ ’’ŖŖõo€ž»»ūÆŖB’’ŖŖ÷z’’¾ ‡¬‡¬æ¬ ‡«‡«ß§FæØæ§ ƒ æ„ƒ„ ’‡¤ß£ƒ£Ažń‡”Š”‡ Bæ˜ Ł‚’†żƒšĂ| @…ŽõƒōŲ< ¼€žœ ° Ų¶Ø‡š, ފŽ ÜæĻžPßkæo ƒhæmžTæČƒČ)6’¾äædæc r ‡Ą£a€€盼B+žz£ø¾ĮžžuæRæQ…æ°æÆƒ­‹®æ®æ«æŖƒØŠƒ†ƒƒ‚ž‚TæBæ”æ ƒžŠƒ†yƒxžXæ9昣–ß•ƒ” žžQæ0 ƒ)æ.žƒŠ96ĮŸŒD‡æ%›Ÿˆ »I MESSAGE TO THE *TELETYPE. CALLING SEQUENCE: * JST MSGA (CALL ROUTINE) * DATA (ADDRESS OF ASCII MESSAGE, WHOSE * LAST CHARACTER MUST BE :FF) * * MSGA ENT PRINT A MSG ROUTINE COPY A,MSGA4 SAVE REG A COPY X,MSGA3 S t޶ä ēE ƒµĮŸ|Ž{ ŠK†KƒJ†‰ ŠP†FƒEŠ„AŸoŽnŸm †ž†žƒžĮŸy †—£š€€Ź ”üš“B+žzސ¢Ž¾YŸkŽŒŽ‰‚ˆ žžn‚…ŗ…ŸaŸ…A,  ƒĮŸ|‚˜ žžæŠF Łžæ†£FŽpތŸn¢tžæ{ ŁF †Ÿc ‚ŠĀŽ|Ÿ{ƒzЇЅ†‚ŽvŸ€€ é    2 T \ u € ‰ØÄ© ’’ØĘ© ’’ Ø’’© ’’ØĪ© ’’ØŁ© ’’ ¬’’ƒŻAžƒæŪ óŸOæŲ öŸL ‡ÕæÓ łƒÓ†ŠŽ‰ƒˆÄ<æĪæĪžyæČ ūŸ< ‡ÄæĀ łƒ ’†ŠŽ‰ƒˆAžƒ·¾æ¼žyæ¶ ūŸ*æ² łƒ¶æ¶ƒ“ »“žž… ¬æ°ƒ® ’櫃 N櫃«æ¦ƒ© »Øžž… ¬æ ƒ¢ ’æ›æ“ ūŸƒĆæŽ żŸæ‹ Ÿ—ƒ—Ćæ† Ÿ’æƒ żŸü‡ Ć € › ¶ FšGä¶£¤ŒŪæo łæm ~ƒœæœæi ūŸu ŗ’’æd łæb ~ƒ“æ‘æ^ ūŸjæ[ łƒæ_ƒŒD ·Y†±¾£æQ ūŸ]ĖQA †— ü¢’¦’¢’¦’»‘ž‚‚ŒŸu’»‹ž‚‚ŠŸoބޅ‚…žqĮXæ ‡Ä‚ŠEƒĀæ2ƒææ0Ÿwƒ¼æ-ށŸsŠĻŠÅĪ ÄĻĻŅ Š‡’    Ę½ ’    Ī½ ’    Š½ ’ŠŅÕĪĪÉĪĒ®®®‡‡ ’    Ó½ ’    Ō½ ’Š  Õ½ ’    ×½ ’Š×ŅÉŌÅ ÅĪĮĀĢÅ ÄÉÓĖ Š‡’  æ» $æŗ ‡øæø1Ćæ·Ÿ·Ÿ·Ÿ·Ÿ·žxž¦ @¹ æ± ļ5  ƒ„ ŸØ¦‡‚…Š…†…ƒ„†‚žƒW‚…‹—†|‚z‡zžF‚wŠ„†u’‡sžߊžQ搞O揟ŠžFŸ‡‡  Ū‚.‚-õĻØ«įx­į7p°Z¬S¤ Į†÷š’’x­į7p°Z¬S¤ Į†÷š’’æYŸćæM 4æLæß ŗæŽæŽ1J§ŻæGŸ×ŸGžpŸŁžnž†žk£Õ15)žræ@žq¾Ūžcžbž`æ. (æ-æ-1ŗ Īž’ Łž‘æ(Ÿ½Ÿ(žr™üŸ¼žpž‚žnžmæ%žu¾Ąžižhžf ‡°æžl ƒ~Š… ’Š„†ŽyŸ‹³€½æĮĆÅĒÉĖ;ėŸj星h¾ėŸf¾ņŸd擟b撟`摟^¾ÄŸ\¾ĘŸZŲ¶äóÆī/mHLU æ§1Ļ ŅžŽ ֞Ž ގ ӞŽ Ģž“ Ōž“ ƞ“ŸnŸm¾ęž’¾®ž¾ŲžŽŽfŽeƒd†¾*ž‡¾œž…懞ƒ‚[ ’ž€ŽXŸWŅH ‡ˆŸ| ’‡…‚‚‡„Ÿz QA ‡‚悟{L ‡˜Ÿ| ‡•Ÿ| ‹’ „€’„Ÿw ‡Š‡Š‡Šß‰‡‰ M‡ˆŸv ēü,¢ ŲFG ‡ Ÿ| ‡Ÿ| ‡lŸ| ‚‚‡‚Ÿ|Ū$ æ.¾sæ‹æ‹æ‹¾s¾F¾I¾Q¾b¾e¾(¾+ŸqTQ” īæ«XF¢© „‰„Š„Ÿu æ£ æ”)§ æ æ ‚ ‡ ‚ ‡  M‡Ÿ†’æž±‡æƒŽŒC‚›æ›Ÿf‚‡ @Ÿc•ü @†ƒ ‡ŒžntFØF±’ ’  ī U'ĮŖ æn æl) §kækæk ‡m †¢†¢³†”‚Ÿ‡dŽæf ‡äæeƒćO6AŽ“ƒŽKC‡ŚæŚŽŽžl‚Š ’G‚‹‡Ō¢Ō æÓßܟQß æ: æ8)§7æ7æ7 ‡: M†µ’ž‚³ ‡0†° “Iæ¶¾ˆ‚Ŗ ’†Ø‡'æ°¾‚žqŸa ƒ¬†£yŖ\‚©æ$ƒØ6Væ¦ _‚˜æ¤æ¤‚“æ”攂æž’‡†ŽŒæ›ƒæ6ŗæ•‚…æ’æ”Ÿ]"(½ĀyżÉ!Ç˶W æå æć)§ā¦°æįæį €‡ą †©æŽæfæŻ¾™ž‚ž„ž‹‚¢øž†‚ž ’†›æŠžq¾¼žo‚—HæČ †’†’)§ĮæĮžeŸU ߃Į ēĘææžŽxŽw ‡¹Ÿt æ¬ æŖ)§©æ©æ©ߣ­æ­ߣ¬æŖ !‡¢)§æ)æ¦ !‡œ ‡—æ#¢” !æÉÉæžh‘üŸ^ ’‡™ €¢˜ænɂ‚戟uUUØF± ‘t E˜ČrÅ<Ä æl æj)§iæiæiæq~£læl †Ą A‡b澃] łʃ]¢ŗæŗÉɞ—ƒT žLƒQ ųLƒ±‡U~æÆÉŹ ‡Gžg ‡Džd ‡AƒJ‡Gž_ƒCŠ›‡A žž†ƒ: žž‚ß9ß8æ>ž[ƒ2 æD €‡.æ,žT ĄE ‡(ރæ%žMŸ1żĘyt 悆Ą æ †ŗ †¹ž æ ‚·†“‚z†m æ †¬ †«¢©§­æ­æ­ @‡¬ƒ¬æ¬‚”‡„æW)§¢æT概›‡žæP ’‡¢¢— @æMɂ žʃšŸ6Ȃ˜æ˜ž…ƒ”6Ā‚”æ’æ“ž]Ÿ=Ēȱ ‘r(ČŖĒ< æČ æĘ)¦Ā§kækæk ‡j‚¹†ŗ‚¹‡¼‚ø‡aæ ‡^ææhžž‚Æ žE †«‚§†Øžm †¦‚£†£žhæN‚ž†Ÿ)§HæHæ ß ƒŸŸ ž‚æLüžx ’‡D ¢˜æ˜¢Ƀ7 ūG ‡3‚†††ƒŒ‡ŠžgŸ:ĪÄÄÅĪÄØFÉżÉy æv æt)§ææ ‡¼¦‡»ƒ»ĮžŲæjƒøB‚·ææbæ“ Äæ³ Ŗ1;1 COPY =D100,X RESET INSTRUCTION IN DIOLP%1;1,A GET STATUS FROM LP SHIFT A,RO,1 BUSY BIT TO OV JT OV,$-2 IF BUSY WAIT FOR IT OUT X,DIOLP%1;1 RESET LP PICO SHIFT X,RO,1 WASTE SOME TIME JNE X,$-1 COPY Q,A RESTORE A * OTT6 COPY LPF æ²æ²ƒ 6B‚ÆæÆƒÆ ‡«æ«æ£ ­æ¢ Ŗæ”æ¦ ‡˜ ‡£ §¢æ¢ ‡”旃™’6B‚æ”ƒ” ‡?6Y‚•拞–!"'ʇäUŹŖ(½±$ŹŹƒt;3‡pæpæh šæg Ŗæfæk F‡m)§h§hæh ‡ļæ]ƒ_/6B‚ėæZƒZ+#‡VæVæV ‡G ‡ŽæLƒNO6B‚ŪæIƒIKC‡EæEæE “•“”R‚’‡Ī ‡1‡Č‡.æ5ƒ76B‚Ęæ2ƒ2‡.æ.Ÿæš 潃r æ¹)§&æ&ƒ¶æ¶æ €‡“æ“æ“ž|æ)§ææ¬æ¬ž|æ 迨ƒØ†˜§¦æ¦…ƒ£æ¤)§£æ£æ£æ£æ™ ’‡” €¢ æ Éæ’žu‚‚‰ü‡ŸH#ŹŹ%Ź‘¬ØF‘ żbó ‡Ė±rĖy æl æj)§rærær æf‚×‡× ‡cƒf¶Ō‡dæ`æŅž}æe)§aæa C‡WæWƒŹŽŹB‚ɿɿY)§UæU ‡Ä‚ćIæĆæĆƒĆ ĄT‚ĮæŗæJ æ>)§DæD @‡:æ: ’‡B @¢“æAÉæ„žvæ8)§4æ4 ‡* ‡”‡™æ'ƒž ’B‡›žyæ) @‡)§#æ#æ ’‡# @¢–æ" Éæ†žvŸååÉ’üą ]0ĢŖ €?īU'ĢĢĢ æ×ƒÖAžŃ æÓ)§ŅæŅƒŅ»Ņžž„ƒĪ‡Ģ‚Ķæc “ˆĮžƒ ‚~†eæĘ ‡Z €‡ĆæY…‚‡‡ĄƒĄˆææ‚ææNžB¾Š¾€ ’—·A涂¶æB¾€ ‡² ‡±…‚‡‡¦ƒ¦ˆæ„‚„æ4ž\¾‚¾„ ‚£æ,¾€ ƒš+#‡–Ā‚šæ"‚‚‡ŠŸ(ØF±€ćĶ2 &ŻĶ(½Ķ#"Ķ…üĶ æh æg)§f æfæjƒŲq·×†ČžŽĘ‚ÅæÓ @‡aæŃ¾Åžxæ\)§TæTæŹ¾¾ž}£Č‚ŗæĘæQ‚¶‡P)§GæGæ½ꆬ£½€€–Ŗ†§„€‚Ø„¦ B†Ž§³‡³æ³+ Aæ±£­ƒ­€‚„¢­ æ¬Ü£¤+A€€+„€ ’‡¤ C¢£æ Ū£˜+CރžWŸ+’ūĪ ߇ƒ† ęAŸzŽyŸx  ‘ż˜ĮĘĻyĻ æī æģ Š‚źC¢éæéŸt¢ą Žß U€€ «ø€€µ¦Ö‚Õ ÷†ł‚Ų†Ģ)¾å¢ÉƒŌ„æÓ)ƒŅ†Ć¾ŻæĪ €¢ĪæQÉɂĄ €†ŗ €†¹‚Ę†ą‚¶†³)¾Ģ¢°ƒ»„‚æŗ)‚¬†Ŗ¾Ä浂©†…‚¦†„ €¢³æ4‚£ ÷†Ē €†› €†š)‚˜†•¾Æ¢“ƒž„ƒæ‚†Ž)¾§æ˜‚Œ†…‚‰†„ €¢—æ¾—Ÿƒ’ØF-ŠŖÉ©ČŠŠŠ ‚x‡“‡“Ÿ{ §‘æ‘æ‘ €ü‡¢]掂†‡‡‚Y‡‹‡‹æ‹Ÿpł± ˜ī æKƒŲ†x ‡Õž‡Ō‚Ō†s‡Ē×)§eæeæe‚LJ˂i†i0¶g0 …‚ćĿÄß¾žž‹‚Į†[žgžy¾€¾€‚ŗæ&žrž‡Æ‡Ē× ‡¬‚§‡°)§>æ>æ>ĒÕ …‚؇¢æ¢ßœžŒž’¾€¾€žx ‚æŸ|¾{žrĒ×)§#æ#æ#žf ‡Ž‚%‡ƒŸ&!æż0Ń"ŻŃ æ¶æ¶ æµ…E ‡² ‡±æ±æ« čæ®§®§®æ§¦’æ¤ Ģæ§¦ś¦ó1Ažž·æœ 俟¦ō¦ī¦ó‚ļ ’gæ“ ąæ–¦ķæ ģæ’¦ź‚ä žY †ąæ† Ōæ‰ 択”¶‡W—˜Øó• ‘ †Ēžæl Šæo¦¾ †Ąž†²†Ą †» „æ_ Ų 0†²‚²ˆˆ¾ †±‚¶–¦A‚¢F‚Ææ6Ažc­‚  ÷A©‚ž¢™ !*’¦–1E}!Š’†—‚†–ž‚ކ’‚‹†˜‚”‡™æ™æ™Ÿ™’” ɤ%('L ƒšAž‚Ž{Ÿz¢y€€ŽwŠ†ŽĮ¾Ÿr §‡‚†††£‰ƒ‰æ‰Ÿv’ђь’’‡É’’§‡°)§>æ>æ>ĒÕ …‚؇¢æ¢ßœžŒž’¾€¾€žx ‚æŸ|¾{žrĒ×)§#æ#æ#žf ‡Ž‚%‡ƒŸ&!æż0Ń"ŻŃ æ¶æ¶ æµ…E ‡² ‡±æ±æ« čæ®§®§®æ§¦’æ¤ Ģæ§¦ś¦ó1Ažž·æœ 俟¦ō¦ī¦ó‚ļ ’gæ“ ąæ–¦ķæ ģæ’¦ź‚ä žY †ąæ† Ōæ‰ 択”¶‡W—˜Øó• ‘ †Ēžæl Šæo¦¾ †Ąž†²†Ą †» „æ_ Ų 0†²‚²ˆˆ¾ †±‚¶–¦A‚¢F‚Ææ6Ažc­‚  ÷A©‚ž¢™ !*’¦–1E}!Š’†—‚†–ž‚ކ’‚‹†˜‚”‡™æ™æ™Ÿ™L *RESTOR - RESTORES THE DISK: INITIALIZE THE *CONTROLLER, SELECT THE CURRENT UNIT. *THE RESTORE THE HEAD TO TRACK 00. * * RESTOR ENT COPY =0,A DA20 SELP A,FLPYDA*8+4 INITIALIZE THE CONTROLLER COPY UCUR,A GET CURRENT UNIT  .5040’’5081’’5122 ’’5163’’5204’’5245’’5286’’5327’’5368 ’’5409’’5450’’5491%’’5532%’’5573%’’5614 %’’5655%’’5696%’’5730.’’ )50415042504350445045 5046 5047 5048 5049 50505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075 5076 5077 5078 5079 50805081)5000500150025003500450055006500750085009501050115012501350145015 5016 5017 5018 5019 502050215022502350245025502650275028502950305031503250335034503550365037503850395040)508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105 5106 5107 5108 5109 5110511151125113511451155116511751185119512051215122)5123512451255126512751285129513051315132513351345135 5136 5137 5138 5139 514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163)51645165 5166 5167 5168 5169 51705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195 5196 5197 5198 5199 52005201520252035204 * CRC ERRORS ARE RETRIED 4 TIMES. * STATCK ENT IMS STTFLG SET STATUS FLAG COPY =:FF,A MASK OFF AND IOB+STATX,A JNE A,$+2 JMP STRTN1 IF CLEAN EXIT COPY =-4,A SET RETRY LOOP TO  \L15 5000\P  "FILENAME" 5001  5002 INCLUDE LIBRARY 5003  5004 5005\L4  5006 GET_MESSAGE DECODE DISK ERROR STATUS  5007 INPUT_BEEP BEEP UNTIL OPERATOR RESPONDS 5008 FILE_CONTROL_BLOCK  DESCRIPTIVE BREAKDOWN OF FCB 5009  PROC_LINKAGE REQUIREMENTS FOR A PROC PGM 5010 GET_PARAMS  GET PARAMETERS FROM PROC FILE 5011 INPUT_KEYS INPUT KEYS & GET NEAREST MATCH  5012 * UNIT_TABLE_POINTER BASEPAGE POINTER TO DISK UNIT TABLES 5013 * GET_VOLSER  GET DISK VOLUME SERIAL 5014\9 * REQUIRE CHANGES AS DOCUMENTED WHEN CONVERTING BETWEEN LSI-2 AND LSI-4 5015\1 *** "FILENAME" *** 5016\2 GET_MESSAGE  5017\0 5018\9  PAGE"PAGE" GET_MESSAGE 5019GET_MESSAGE 5020  5021* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  5022* * 5023* GET_MESSAGE: DECODE DISK STATUS * 5024* * 5025* SAVESTATUS S  * 5026* GOSUB GET_MESSAGE *  5027* * 5028* ON RETURN, MESSAGE = DISK ERROR MESSAGE * 5029 COPY =ERR004,A JST ER PUBLISH ERROR STRS4 EQU $ COPY IOB+TRACK,A COPY A,IOBX+TRACK BACK TO ORIGINAL TRACK COPY IOBXP,A DA27 OUT A,FLPYDA*8+0 JST DIDL JMP *STRS EXIT * * *TST * * 5030* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5031  5032S 2,0 5033TEMP_S 2,0  5034END_OF_FILE 2,3 5035DISK_FULL 2,4  5036ERROR_HEADER 79  5037 REDEFINES ERROR_HEADER 5038 FILLER 40,'FILE NAME UNIT ' 5039  FILLER 39,' SEC HD CYL OPERATION' 5040G_M_BUFFER 79  5041 REDEFINES G_M_BUFFER  5042 FILLER 15 5043MESSAGE 26  5044 RESUME 5045*  5046GET_MESSAGE ENTRY  5047 DISKSTATUS S,G_M_BUFFER 5048 RETURN GET_MESSAGE  5049*/$ 5050DISK_ERROR  5051*  5052ERROR_HEADER 79 5053 REDEFINES ERROR_HEADER  5054 FILLER 40,'FILE NAME UNIT ' 5055 FILLER 39,' SEC HD CYL OPERATION' 5056MESSAGE 79  5057 RESUME 5058*/$  5059 BYTE 'SNS REG? ' WORD -1 QUERY1 WORD :0D0A BYTE 'TSTS' WORD :3DFF QUERYX WORD :0D0A  BYTE 'OPR?' WORD -1 QUERY2 WORD :0D0A BYTE 'TRACKS' WORD :3DFF QUERY6 WORD :0D0A BYTE  \2 INPUT_BEEP 5060\0  5061\9 PAGE"PAGE" INPUT_BEEP 5062INPUT_BEEP 5063  5064* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5065*  * 5066* INPUT_BEEP: BEEP UNTIL OPERATOR RESPONDS *  5067* * 5068* MAKE_NOISE = <'Y' TO BEEP, ELSE DON'T BEEP> * 5069 * CURSOR = * 5070* GOSUB INPUT_BEEP  * 5071* *  5072* IF OPERATOR HITS , GO TO "ABORT" * 5073* IF OPERATOR HITS , RETURN FROM SUBROUTINE * 5074* * 5075* ON RETURN, RESPONSE = OPERATOR'S SINGLE-CHAR * 5076* RESPONSE *  5077* MAKE_NOISE = 'N' * 5078*  * 5079* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5080  5081CURSOR 2,0  5082MAKE_NOISE 1,'Y' 5083RESPONSE 1  5084 5085BINBEEP 2,:0007 ;ASCII CRTL-G 5086 REDEFINES BINBEEP  5087 FILLER 1 5088 BEEP 1  5089MAT LENGTH INLEN EQU FMTEND-FMTABL ENDLEN EQU END1-END0 SIDE EQU 8 SIDE OFFSET PRELEN EQU FMTEND-FMTABL SINGLE PRE INDEX DFMLEN EQU DBLSEC-DSECFM DOUBLE SECTOR FORMAT LENGTH DINLEN EQU DFMEND-DFMTBL DBLEND EQU DBL1-DBL0 DFMTRK EQ  RESUME 5090*  5091*  5092INPUT_BEEP ENTRY 5093*  5094 IF MAKE_NOISE EQ 'Y' THEN 5095 MAKE_NOISE = 'N'  5096BEEP_LOOP  5097 OUTPUT BEEP 5098 WATCHDOG BEEP_LOOP,100 5099  ELSE 5100  5101 INPUT ABORT,RTN_IB .123.CURSOR,RESPONSE  5102RTN_IB 5103 RETURN INPUT_BEEP  5104 5105*/$  5106\2 FILE_CONTROL_BLOCK  5107\0 5108\9  PAGE"PAGE" FILE_CONTROL_BLOCK 5109FILE_CONTROL_BLOCK 5110  5111* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  5112* * 5113* FILE_CONTROL_BLOCK: DESCRIPTIVE BREAKDOWN OF FCB LAYOUT * 5114* * 5115* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5116  5117FILE_CONTROL_BLOCK START ;LENGTH = 76 5118 VTOC_PART START ;LENGTH = 46 INFORMATION RECORDED IN VTOC 5119 FMZ EQU $ COPY =-26,A RESET LOOP CNTR COPY A,FMLOP1 COPY TRWCT,A TOTAL WORDS TO TRANSFER COPY A,WRDC JST SETIOB SET UP IOB COPY TRCUR,A FIRST TRACK TO FORMAT SHIFT A,LO,8 TRACK IN UPPER BYTE  FILE_NAME 10 5120 STARTING_DATA_EXTENT  2,0 5121 STARTING_INDEX_EXTENT 2,0  5122 ENDING_DATA_SECTOR 2,0 5123 ENDING_DATA_EXTENT  2,0 5124 FILE_PROTECT 2,0 5125 CYLINDER_COUNT  2,0 5126 FILE_TYPE 2,0 ;NONZERO = INDEX ONLY FILE  5127 LOGICAL_RECORD_LENGTH 2,0 5128 LOGICAL_KEY_LENGTH  2,0 ;LENGTH OF CONCATENATED KEY FIELDS 5129  KEY_FIELD 2(5) ;KEY FIELDS IN RECORD: LENGTH, OFFSET 5130 CREATION_DATE  8 5131 END VTOC_PART  5132 CURRENT_DATA_SECTOR 2,0 5133 CURRENT_DATA_EXTENT 2,0 5134 CURRENT_DATA_RECORD 2,0 5135 CURRENT_INDEX_SECTOR 2,0 5136 CURRENT_INDEX_EXTENT 2,0  5137 CURRENT_INDEX_RECORD 2,0 5138 OPEN_FLAG 2,0 ;NONZERO = OPEN 5139 DRIVE_UNIT 2,0 5140 STARTING_VTOC_EXTENT 2,0 5141 KEY_BUFFER 2(5) ;KEY FIELDS IN BUFFER: LENGTH, OFFSET  5142 BUFFER 2,0 ;ADDRESS OF PROGRAM RECORD BUFFER 5143 END FILE_CONTROL_BLOCK  5144 5145*/$  5146\2 PROC_LINKAGE  5147\0 5148\9  PAGE"PAGE" PROC_LINKAGE 5149 JMP DFM2 DBLFL JST DBLFL1 DUAL FILL BUFFER COPY TRCUR,A AND H1,A RESULT IS SIDE NO.  COPY A,HEAD COPY =DBEGIN,A DBL FMT TABLE ADDRESS COPY A,BUFAD BUFFER ADDRESS COPY TRCUR,A A  PROC_LINKAGE 5150  5151* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  5152* * 5153* PROC_LINKAGE  FRI 17 JUL 81 * 5154* * 5155* PROVIDES INITIAL LINKAGE NEEDED FOR A PROGRAM * 5156* WHICH CAN BE RUN BY A PROCEDURE FILE. *  5157* SHOULD BE FIRST EXECUTABLE STATEMENT OF PROGRAM. * 5158*  * 5159 * ON DROP-THROUGH: * 5160* IF PROC1 NE 0 (THEN CALLED BY PROC) * 5161* *  5162* PROGRAM TERMINATION ("SAVE" STATEMENT NEEDED * 5163* ONLY IF SAVE AREA HAS BEEN DESTROYED): * 5164* * 5165* IF PROC1 NE 0 THEN  * 5166* SAVE PROC_FILE,PROC_BUFFER,PARAMETERS,RETURN_PROGRAM *  5167* CHAIN RETURN_PROGRAM * 5168* ELSE  * 5169* * 5170*  * 5171* * * * W A R N I N G * * * *  5172* * 5173* ANY GET OR PUT STATEMENT TO PROC_FILE *MUST* SPECIFY * 5174* THE RECORD BUFFER BEING READ OR WRITTEN (PROC_RECORD) * 5175*  * 5176* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  5177 5178WORDMARK  5179 COPY X,START1 JMP DBL EXIT DNOP NOP NO-OP INSTRUCTION FMTBP WORD FMTABL FORMAT TABLE SECFMP WORD SECFM SECTOR FORMAT TABLE FMLOP WORD 0 LOOP CONTROL FMTMP2 WORD 0 TEMP CELL TRWCT WORD 26*FMLEN+INLEN+EN  5180TERM START  5181 TERMINAL 2,0  5182 END TERM 5183  5184PARAMETERS START 5185 ALPHA 10(20)  5186 BIN 2(20)  5187 END PARAMETERS 5188  5189 PROC_RECORD START 5190 PROC_BUFFER 80  5191 LINE_N 4.0,' '  5192 LINE_N_B 2 5193 END PROC_RECORD  5194 5195RETURN_PROGRAM 10  5196  5197PROC_FILE FILE,'PROC::::',0,PROC_RECORD,LINE_N,LINE_N_B 5198 REDEFINES PROC_FILE  5199 PROC1 2,0 5200 FILLER 58  5201 PROC_UNIT 2,0  5202 RESUME 5203  5204EJECT 5205 SAVESTATUS TERMINAL  5206 RESTORE PROC_FILE,PROC_BUFFER,PARAMETERS,RETURN_PROGRAM  5207 5208*/$  5209 SHIFT A,RO,1 COPY A,STRKQQ JMP LASTOUT DONE NEWDUAL COPY UNITFLG,A NEW UNIT HAS A DUAL, CHECK LAST UNIT JNE A,LASTOUT LAST UNIT ALSO HAS A DUAL, NO ADJUSTMENT COPY ETRK,A ELSE, IT WAS A SINGLE AND AL )520552065207520852095210521152125213521452155216521752185219522052215222522352245225 5226 5227 5228 5229 5230523152325233523452355236523752385239524052415242524352445245)5246524752485249525052515252525352545255 5256 5257 5258 5259 52605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285 5286  )5287 5288 5289 52905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315 5316 5317 5318 5319 53205321532253235324532553265327)532853295330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360!5361!5362!5363!5364!5365!5366!5367!5368!)5369!5370!5371!5372!5373!5374!5375 !5376 !5377 !5378 !5379 !5380!5381!5382!5383!5384!5385!5386!5387!5388!5389!5390"5391"5392"5393"5394"5395"5396"5397"5398"5399"5400"5401"5402"5403"5404"5405 "5406 "5407 "5408 "5409 "%)5410"5411"5412"5413"5414"5415"5416"5417"5418"5419"5420#5421#5422#5423#5424#5425#5426#5427#5428#5429#5430#5431#5432#5433#5434#5435 #5436 #5437 #5438 #5439 #5440#5441#5442#5443#5444#5445#5446#5447#5448#5449#5450$ 2 JST MSGA PRINT TITLE WORD TALTTL COPY =0,A START WITH UNIT 0 COPY A,ERTMP1 TALLY4 COPY UNINAD,X INDEX UNIT TABLE TALLY5 COPY 0(X),A SEE IF UNIT NO IS BG TESTED JLT A,TALLY2 NO, COMPARE  \2 GET_PARAMS 5210\0  5211\9 PAGE"PAGE" GET_PARAMS 5212GET_PARAMS 5213  5214* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5215*  * 5216* GET_PARAMS: THU 23 JUL 81 *  5217* * 5218* DECODE PARAMETERS IN PROC RECORD. * 5219 * * 5220*  * 5221* [ PROGRAM_EXECUTING = ] *  5222* [ FIRST_COL = ] * 5223* [ MOUNT_VOL_SER = --Y/N> ] * 5225* GOSUB GET_PARAMS  * 5226* *  5227* * 5228* ON RETURN:  * 5229* MORE_PARAMS EQ 'N' => NO PARAMETERS FOUND; VALUES * 5230* OF ALPHA AND BIN UNDEFINED * 5231* MORE_PARAMS EQ 'Y' => ALPHA & BIN HAVE VALUES AS *  5232* IF JUST STARTED BY PROC * 5233*  * 5234* MOUNT_VOLSER EQ 'Y' => DISK WITH REQUESTED VOL * 5235*  SER IS MOUNTED * 5236* (NOTE: IF THE STMT SPECIFIES MORE THAN ONE, *  5237* NO TEST IS MADE TO PREVENT OPERATOR FROM * 5238* REMOVING ONE DISK WHILE MOUNTING ANOTHER.) * 5239 * ERRTL5 IMS ERR:UN INCREMENT COUNT OF #UNITS CHECKED COPY ERRTLT,X GET UNIT # JST ERRHS CHECK IF COUNT IS ZERO... NOP JMP *ERRTAL NO INHIBIT---EXIT IMS ERR:CT INHIBIT PRINTING OF ERR COUNTS ER * IF MOUNT_VOLSER NE 'Y' THEN * 5240* BIN(I) EQ BAD_VALUE => NOT MOUNTED/DISK ERROR* 5241* BIN(I) NE BAD_VALUE => FOUND ON UNIT BIN(I) *  5242* WHERE BIN(I) CORRESPONDS TO THE VOL SER SPECIFIED * 5243* IN ALPHA(I)  * 5244* * 5245*  * 5246* NOTES: *  5247* MUST FOLLOW: * 5248* *INCLUDE,'INCLUDELIB',,PROC_LINKAGE * 5249 * * 5250* WHEN PROGRAM RETURNS TO PROC, IT *MUST* * 5251* *  5252* IF PROC1 NE 0 THEN * 5253* SAVE PROC_FILE,PROC_BUFFER,PARAMETERS,RETURN_PROGRAM * 5254* CHAIN RETURN_PROGRAM * 5255* ELSE  * 5256* *  5257* PROGRAM MUST ALSO INCLUDE: * 5258* *INCLUDE,'INCLUDELIB',,INPUT_BEEP * 5259* * 5260* USES THE EXTERNAL BINARY FIELD "S" FOR DISK STATUS* 5261* *  5262* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5263  5264PROGRAM_EXECUTING 10,'GET_PARAMS' 5265FIRST_COL 2,1 ;COLUMN TO BEGIN SCANNING 5266MORE_PARAMS 1,'N'  5267MOUNT_VOLSER 1,'Y' ;HAVE OPERATOR MOUNT PACK IF NECESSARY WHEN 5268 ; @ SPECIFIED IN PROC STMT 5269 A,$+2 NO---CONTINUE JMP VIEWA1 YES JST MSGA ='(D)' WORD VWD JMP *VIEW * VIEWA1 JST MSGA ='(F)' WORD VWF JMP *VIEW * * TESTS * VIEWB COPY =0,A COPY A,VIEWBA C GET_NEXT_STMT 1,'Y' ;READ NEXT PROC STMT INTO BUFFER AFTER DECODING 5270  5271SYSDATE START  5272 SYSMONTH 2 5273 FILLER 1  5274 SYSDAY 2 5275 FILLER 1  5276 SYSYEAR 2  5277 END SYSDATE 5278  5279 BAD_VALUE 2,32767 5280ASCII_ZERO 2,0  5281 REDEFINES ASCII_ZERO  5282 FILLER 1 5283 AZERO 1,'0'  5284 RESUME 5285REQ_VOLSER 8  5286SOURCE_COL 2,0  5287SAVED_COL 2,0 5288PARAMETER_N 2,0  5289BASE 2,0 5290DIGIT 2,0  5291 REDEFINES DIGIT  5292 FILLER 1 5293 LAST_CHAR 1  5294 RESUME 5295BIN_VALUE 2,0  5296VALUE_TYPE 2,0  5297ALPHA_VALUE_COL 2,0 5298ALPHA_VALUE_SIZE 2,10 ;DIMENSION OF ALPHA_CHAR 5299 WORD -1 * * * DEVICE ADDRESS * * VIEWH JST MSGA ='( ' WORD VWLP JST MSGA =' :'  WORD VIEW: COPY DEVADX,A GET DEVICE ADDRESS JST OHEX JST MSGA =')' WORD VWRP  ALPHA_VALUE START 5300 ALPHA_CHAR 1(10)  5301 END ALPHA_VALUE  5302 5303 REDEFINES ALPHA_VALUE  5304 VOLSER_FIELD 8 5305 RESUME  5306  5307 REDEFINES PARAMETERS 5308 ALPHA_ARRAY 200  5309  BIN_ARRAY 40 5310 RESUME  5311  5312 REDEFINES PROC_BUFFER 5313 SOURCE 1(80) 5314 RESUME 5315  5316VTOC_FILE FILE,'VTOC',0,PROC_RECORD  5317 5318 REDEFINES VTOC_FILE  5319 FILLER 60 5320 VTOC_FILE_UNIT 2,0  5321 RESUME  5322 5323*  5324 * 5325GET_PARAMS ENTRY  5326*  5327 MORE_PARAMS = 'N' 5328 ZERO BIN_ARRAY  5329U»¢¶ ƒ€„Ą…‡ŗĒŗ ‹µ‡“: ::&ƒ«y Xž Rž‰ Cž‰ xžŠ ržƒ cžƒžköž‹¢“€žˆ£‘€‚Ž˜¹ƒ—·¤ž€ž4‚‡  „ ™ „§Ž ž> KR7Q7½ +)* ž OC(OC+OC% CRX>    SPACE ALPHA_ARRAY 5330 DATE SYSDATE  5331 IF SOURCE(FIRST_COL) EQ '*' GOTO RTN_PROC_PARAMS  5332 IF SOURCE(FIRST_COL) EQ '/' GOTO RTN_PROC_PARAMS 5333 MORE_PARAMS = 'Y'  5334  GOSUB DECODE_ESC 5335 SOURCE_COL = FIRST_COL 5336 FOR PARAMETER_N = 1 TO 20  5337 SAVED_COL = SOURCE_COL 5338 GOSUB GET_BIN_VALUE 5339  SOURCE_COL = SAVED_COL 5340 GOSUB GET_FIELD  5341 ALPHA(PARAMETER_N) = ALPHA_VALUE  5342 GOSUB DECODE_VOLSER 5343 BIN(PARAMETER_N) = BIN_VALUE 5344  IF SOURCE(SOURCE_COL) EQ ' ' GOTO EXIT_PARAM_LOOP 5345 SOURCE_COL = SOURCE_COL + 1 5346 IF SOURCE_COL GT 80 GOTO EXIT_PARAM_LOOP  5347 NEXT 5348EXIT_PARAM_LOOP  5349  IF GET_NEXT_STMT EQ 'Y' GET PROC_FILE,EOF_PROC,SEQ,PROC_RECORD 5350 GOTO RTN_PROC_PARAMS  5351  5352EOF_PROC 5353 SAVESTATUS S  5354! IF S NE 3 GOTO PROC_DISK_ERR ;3 = END_OF_FILE 5355 PROC_RECORD = '/* END OF PROCEDURE FILE' 5356  5357RTN_PROC_PARAMS 5358 RETURN GET_PARAMS  5359AA 7’’  &7#]@Lép zĮvØ,V,V,ü¼?¢šŸ€/ēždé- MT00’ü A C+ 0P@-é! ! * 5360*  5361DECODE_ESC ENTRY  5362* 5363* DECODE ESCAPE SEQUENCES BEGINNING WITH '&' STARTING AT FIRST_COL 5364!* ASSUMES SYSDATE HAS ALREADY BEEN SET TO THE SYSTEM DATE 5365*  5366 FOR SOURCE_COL = FIRST_COL TO 79  5367 IF SOURCE(SOURCE_COL) EQ '&' THEN 5368 SAVED_COL = SOURCE_COL + 1 5369 ! LAST_CHAR = SOURCE(SAVED_COL) 5370 IF LAST_CHAR EQ 'M' THEN 5371 MOVE@ SYSMONTH,SOURCE(SOURCE_COL),2  5372 SOURCE_COL = SAVED_COL 5373 GOTO NEXT_ESC 5374! ELSE 5375 IF LAST_CHAR EQ 'D' THEN 5376 MOVE@ SYSDAY,SOURCE(SOURCE_COL),2  5377 SOURCE_COL = SAVED_COL 5378 GOTO NEXT_ESC 5379! ELSE 5380 IF LAST_CHAR EQ 'Y' THEN 5381 MOVE@ SYSYEAR,SOURCE(SOURCE_COL),2  5382 SOURCE_COL = SAVED_COL 5383 GOTO NEXT_ESC 5384" ELSE 5385 IF LAST_CHAR EQ 'T' THEN 5386 MOVE@ TERM,SOURCE(SOURCE_COL),2  5387 SOURCE_COL = SAVED_COL 5388 GOTO NEXT_ESC 5389€830713095350830713095350820909173832" "! ELSE 5390 ELSE  5391NEXT_ESC  5392 NEXT 5393 RETURN DECODE_ESC  5394"* 5395*  5396GET_FIELD ENTRY  5397* 5398* GET ALPHANUMERIC FIELD AND LEAVE IT IN ALPHA_VALUE 5399 "* 5400 SPACE ALPHA_VALUE  5401 ALPHA_VALUE_COL = 1  5402 FOR SOURCE_COL = SOURCE_COL TO 80 5403 LAST_CHAR = SOURCE(SOURCE_COL) 5404" IF LAST_CHAR EQ ' ' GOTO GET_FIELD_EXIT 5405 IF LAST_CHAR EQ ',' GOTO GET_FIELD_EXIT 5406 IF ALPHA_VALUE_COL LE ALPHA_VALUE_SIZE THEN  5407 ALPHA_CHAR(ALPHA_VALUE_COL) = LAST_CHAR 5408 ALPHA_VALUE_COL = ALPHA_VALUE_COL + 1 5409" ELSE 5410 NEXT  5411GET_FIELD_EXIT  5412 RETURN GET_FIELD 5413*  5414#* 5415GET_BIN_VALUE ENTRY  5416*  5417* IF VALUE IS NOT VALID, BIN_VALUE = 0 AND VALUE_TYPE = BAD_VALUE 5418*  5419 eÉ"# #" ZERO VALUE_TYPE,BIN_VALUE 5420 IF SOURCE_COL GT 80 GOTO BINARY_EXIT 5421 LAST_CHAR = SOURCE(SOURCE_COL)  5422 BASE = 8 5423 IF LAST_CHAR NE '0' THEN 5424# BASE = 10 5425 IF LAST_CHAR EQ ':' THEN 5426 BASE = 16  5427 SOURCE_COL = SOURCE_COL + 1 5428 ELSE  5429 # ELSE 5430  5431 FOR SOURCE_COL = SOURCE_COL TO 80  5432 DIGIT = 0 5433 LAST_CHAR = SOURCE(SOURCE_COL) 5434# IF LAST_CHAR EQ ' ' GOTO BINARY_EXIT 5435 IF LAST_CHAR EQ ',' GOTO BINARY_EXIT 5436 IF LAST_CHAR GE 'A' DIGIT = DIGIT - 7  5437 DIGIT = DIGIT - ASCII_ZERO 5438 IF DIGIT GE BASE GOTO ERROR_GB 5439# IF DIGIT LT 0 GOTO ERROR_GB 5440 BIN_VALUE = BIN_VALUE * BASE 5441 BIN_VALUE = BIN_VALUE + DIGIT  5442 NEXT 5443 GOTO BINARY_EXIT  5444$ 5445ERROR_GB  5446 VALUE_TYPE = BAD_VALUE  5447 BIN_VALUE = 0 5448BINARY_EXIT  5449$ $# RETURN GET_BIN_VALUE 5450*  5451*  5452DECODE_VOLSER ENTRY 5453*  5454$* ASSUMES ALPHANUMERIC FIELD IN QUESTION IS IN ALPHA_VALUE. 5455* IF NOT A VOL SER SPECIFICATION, BIN_VALUE IS UNCHANGED. 5456* IF DISK NOT MOUNTED AND MOUNT_VOLSER EQ 'Y', OPERATOR ASKED TO MOUNT IT. 5457* IF DISK NOT MOUNTED AND MOUNT_VOLSER EQ 'N', BIN_VALUE = BAD_VALUE. 5458*  5459 $ IF ALPHA_CHAR(1) EQ '@' THEN 5460 ZERO VALUE_TYPE 5461 BIN_VALUE = BAD_VALUE  5462 MOVE@ ALPHA_CHAR(2),REQ_VOLSER,8 5463 ALPHA_VALUE = REQ_VOLSER 5464$ FOR ALPHA_VALUE_COL = 1 TO 8 5465 IF ALPHA_CHAR(ALPHA_VALUE_COL) EQ '?' THEN 5466 ZERO ALPHA_CHAR(ALPHA_VALUE_COL)  5467 ELSE 5468 NEXT  5469$OPEN_VTOC_FILE 5470 DISK VTOC_FILE,PROC_DISK_ERR,CLR 5471 OPEN VTOC_FILE,NO_SUCH_DISK,INP,VOLSER_FIELD  5472 BIN_VALUE = VTOC_FILE_UNIT 5473 ELSE  5474&RTN_VOLSER 5475 RETURN DECODE_VOLSER  5476  5477NO_SUCH_DISK 5478 SAVESTATUS S  5479% %)5451$5452$5453$5454$5455$5456$5457$5458$5459$5460$5461$5462$5463$5464$5465 $5466 $5467 $5468 $5469 $5470$5471$5472$5473$5474$5475$5476$5477$5478$5479$5480&5481&5482&5483&5484&5485&5486&5487&5488&5489&5490&5491&%)5492&5493&5494&5495 &5496 &5497 &5498 &5499 &5500&5501&5502&5503&5504&5505&5506&5507&5508&5509&5510'5511'5512'5513'5514'5515'5516'5517'5518'5519'5520'5521'5522'5523'5524'5525 '5526 '5527 '5528 '5529 '5530'5531'5532' %)5533'5534'5535'5536'5537'5538'5539'5540(5541(5542(5543(5544(5545(5546(5547(5548(5549(5550(5551(5552(5553(5554(5555 (5556 (5557 (5558 (5559 (5560(5561(5562(5563(5564(5565(5566(5567(5568(5569(5570)5571)5572)5573)%)5574)5575)5576)5577)5578)5579)5580)5581)5582)5583)5584)5585 )5586 )5587 )5588 )5589 )5590)5591)5592)5593)5594)5595)5596)5597)5598)5599)5600*5601*5602*5603*5604*5605*5606*5607*5608*5609*5610*5611*5612*5613*5614*%)5615 *5616 *5617 *5618 *5619 *5620*5621*5622*5623*5624*5625*5626*5627*5628*5629*5630+5631+5632+5633+5634+5635+5636+5637+5638+5639+5640+5641+5642+5643+5644+5645 +5646 +5647 +5648 +5649 +5650+5651+5652+5653+5654+5655+.)5656+5657+5658+5659+5660,5661,5662,5663,5664,5665,5666,5667,5668,5669,5670,5671,5672,5673,5674,5675 ,5676 ,5677 ,5678 ,5679 ,5680,5681,5682,5683,5684,5685,5686,5687,5688,5689,5690-5691-5692-5693-5694-5695-5696-& &$ IF MOUNT_VOLSER NE 'Y' GOTO RTN_VOLSER 5480 IF S EQ 14 THEN  ; 14 = VOLUMN SERIAL NOT FOUND 5481 DISK VTOC_FILE,PROC_DISK_ERR,CLR  5482 OUTPUT .123.0.1,'HAVE OTHER TERMINALS RETURN TO THE MASTER MENU.' 5483 OUTPUT .1,'MOUNT DISK "',REQ_VOLSER,'" AND ENTER "R" WHEN READY:' 5484& CURSOR = 48 5485 SPACE RESPONSE  5486ASK_NO_SUCH  5487 GOSUB INPUT_BEEP 5488 IF RESPONSE NE 'R' GOTO ASK_NO_SUCH 5489 & OUTPUT .123.0.1 5490 GOTO OPEN_VTOC_FILE 5491 ELSE  5492 5493PROC_DISK_ERR  5494& SAVE S,PROGRAM_EXECUTING,'F',PROC_FILE 5495 CHAIN 'UTILDSKERR'  5496  5497*/$ 5498\2  INPUT_KEYS 5499&\0 5500\9  PAGE"PAGE" INPUT_KEYS 5501INPUT_KEYS  5502 5503* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5504'* * 5505* INPUT_KEYS  THU 30 JUL 81 * 5506* *  5507* INPUT KEY FIELDS AND GET NEAREST MATCH FOR * 5508* GENERAL FILE.  * 5509' '&* * 5510* PROGRAM_EXECUTING = * 5511* K_FCB = *  5512* GOSUB INPUT_KEYS * 5513* = K_FCB  * 5514'* = K_BUF ;WARNING: LENGTH = 505 * 5515*  * 5516* ON RETURN: *  5517* RECORD_FOUND EQ 'Y' => K_BUF HOLDS RECORD. * 5518* RECORD_FOUND EQ 'N' => OPERATOR HIT ESCAPE. * 5519 '* VALUE OF K_BUF UNDEFINED. * 5520*  * 5521* ON CRT: *  5522* SCROLLS UP FROM BOTTOM OF SCREEN FOR INPUT. * 5523* RETURNS WITH LAST KEY ON BOTTOM LINE. * 5524'* * 5525* USES EXTERNALLY DEFINED VARIABLES: * 5526* S 2,0 ;DISK STATUS *  5527* * 5528* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5529' 5530PROGRAM_EXECUTING 10,'INPUT_KEYS' 5531RECORD_FOUND 1,'N'  5532 5533MAX_KEY_LENGTH 2,25 ;LENGTH OF KEY(I), KEY1..KEY5, AND DOTS 5534(KEY_INDEX 2,0 5535KEY_FIELD_LEN 2,0  5536DEC_KEY_INDEX 1.0  5537DOTS 25,'.........................' 5538  5539( ('K_BUF 505 5540KEY_BUF START  5541 KEY1 25  5542 KEY2 25 5543 KEY3 25  5544( KEY4 25 5545 KEY5 25  5546 END KEY_BUF  5547 5548 REDEFINES KEY_BUF  5549 ( INPUT_KEY 25(5) 5550 RESUME  5551  5552K_FILE FILE,'NAME',0,K_BUF,KEY1,KEY2,KEY3,KEY4,KEY5 5553K_FCB REDEFINES K_FILE  5554( FILLER 28 5555 KEY_FIELD 2(5) 5556 RESUME  5557 END K_FCB 5558  5559( 5560INPUT_KEYS ENTRY  5561  5562 ZERO KEY_BUF,K_BUF 5563 RECORD_FOUND = 'N'  5564) FOR KEY_INDEX = 1 TO 5 5565 IF KEY_FIELD(KEY_INDEX) EQ 0 GOTO NO_MORE_KEYS 5566 KEY_FIELD_LEN = KEY_FIELD(KEY_INDEX)  5567 KEY_FIELD_LEN = KEY_FIELD_LEN SHIFTR 8 5568 IF KEY_FIELD_LEN GT MAX_KEY_LENGTH KEY_FIELD_LEN = MAX_KEY_LENGTH 5569) )( DEC_KEY_INDEX = KEY_INDEX 5570 OUTPUT .123.0.1,'ENTER KEY FIELD #',DEC_KEY_INDEX 5571 MOVE@ DOTS,INPUT_KEY(KEY_INDEX),KEY_FIELD_LEN  5572 OUTPUT .123.23,INPUT_KEY(KEY_INDEX) 5573 ZERO INPUT_KEY(KEY_INDEX) 5574) INPUT RTN_INPUT_KEYS,NO_MORE_KEYS .123.23,INPUT_KEY(KEY_INDEX) 5575 OUTPUT .123.23,INPUT_KEY(KEY_INDEX) 5576 NEXT  5577 5578NO_MORE_KEYS  5579 ) OUTPUT .123.23,INPUT_KEY(KEY_INDEX) 5580 GET K_FILE,GET_NEAR_MATCH,INX,K_BUF,KEY1,KEY2,KEY3,KEY4,KEY5 5581 RECORD_FOUND = 'Y'  5582 GOTO RTN_INPUT_KEYS 5583  5584)GET_NEAR_MATCH 5585 GET K_FILE,KEY_DISK_ERROR,SEQ,K_BUF 5586 RECORD_FOUND = 'Y'  5587 GOTO RTN_INPUT_KEYS 5588  5589)KEY_DISK_ERROR 5590 SAVESTATUS S  5591 IF RECORD_FOUND EQ 'Y' GOTO KEY_ERROR_ABORT  5592 IF S NE 3 THEN ;3 = END_OF_FILE 5593KEY_ERROR_ABORT  5594* SAVE S,PROGRAM_EXECUTING,'F',K_FILE 5595 CHAIN 'UTILDSKERR'  5596 ELSE  5597 5598 RECORD_FOUND = 'Y'  ;USED AS FLAG IF ERROR: GET LST ABORTED 5599* *) GET K_FILE,RTN_INPUT_KEYS,LST,K_BUF 5600  5601RTN_INPUT_KEYS  5602 RETURN INPUT_KEYS 5603  5604**/$ 5605\2 UNIT_TABLE_POINTER 5606\0  5607\9 PAGE"PAGE" UNIT_TABLE_POINTER 5608UNIT_TABLE_POINTER  5609 *UNIT_TABLE_POINTER 2,:58 ;BASEPAGE POINTER TO UNIT TABLES 5610  ; :3A FOR LSI-2 5611 ; :58 FOR LSI-4  5612*/$ 5613\2  GET_VOLSER 5614*\0 5615\9  PAGE"PAGE" GET_VOLSER 5616GET_VOLSER  5617 5618* * * * * * * * * * * * * * * * * * * * * * * * * * 5619** * 5620* GET_VOLSER  THU 30 JUL 81 * 5621* GET DISK VOLUME SERIAL *  5622* * 5623* VTOC_UNIT = * 5624+* GOSUB GET_VOLSER * 5625*  * 5626* ON RETURN, VOLSER CONTAINS THE VOLUME SERIAL.*  5627* IF NOT INITIALIZED OR NO VTOC ENTRY * 5628* FOUND, VOLSER = '........' * 5629+ +** IF GOOD VOLSER FOUND, FILE VTOC HAS * 5630* BEEN OPENED FOR USE.  * 5631* *  5632* * 5633* *MUST* COME BEFORE ALL FIELD DEFINITIONS AND * 5634+* EXECUTABLE STATEMENTS IN THE PROGRAM. * 5635*  * 5636* TO USE WITH PROC_LINKAGE: *  5637* FIELD1 56 ;(FIRST FIELD IN PROGRAM) * 5638* * MORE FIELD DEFINITIONS * 5639 +* *INCLUDE,'INCLUDELIB',,PROC_LINKAGE * 5640* REDEFINES FIELD1  * 5641* *INCLUDE,'INCLUDELIB',,GET_VOLSER *  5642* * 5643* WHEN CONVERTING BETWEEN LSI-2 AND LSI-4, * 5644+* CHANGE UNIT_TABLE_POINTER * 5645*  * 5646* * * * * * * * * * * * * * * * * * * * * * * * * *  5647 5648VTOC_RECORD START  ;*MUST* BE FIRST FIELD IN PROGRAM 5649+ VTOC_SECTOR 2,0 5650 VTOC_CYLINDER 2,0  5651 VTOC_FUNCTION 2,0  5652 VTOC_WORD_COUNT 2,0 5653 VTOC_WORD_ADDRESS 2,0  5654, VTOC_NAME_FIELD 10 5655 REDEFINES VTOC_NAME_FIELD 5656 W_P_S 2,0  5657 S_BLK 2,0 5658 S_HD 2,0 5659ARAM TABLE---INCR TSTCM5 WORD 0 REG A SAVE TSTCM6 WORD :3F ='?' * * * OUTPUT WORD WITH/WITHOUT * * LEADING COMMA * VIEWUT ENT COPY A,VIEWVV STORE WORD TO BE OUTPUT COPY VIEWBA,A COMMA CONTROL ? , ,+ UALBLK 2,0 5660 FCBBLK 2,0 5661 FILLER 28  5662 DISK_PACK_LABEL 8 5663 END VTOC_RECORD  5664, 5665RESUME  5666WORDMARK  5667 5668UNIT_TABLE_POINTER 2,:58 ;BASEPAGE POINTER TO UNIT TABLES 5669 , ; :3A FOR LSI-2 5670  ; :58 FOR LSI-4 5671READ_FUNCTION 2,0 ;FUNCTION CODE FOR RANDOM ACCESS READ  5672VTOC_RECORD_LOCN 2,0 ;WORD ADDRESS OF VTOC_RECORD (COMPUTED) 5673PNTR_A START  5674, PNTR 2,0 5675 END PNTR_A  5676  5677VTOC FILE,'VTOC',0,VTOC_RECORD 5678VTOC_FCB REDEFINES VTOC  5679, VTOC_NAME 10 5680 FILLER 28 5681 VOLSER 8  5682 FILLER 12 5683 VTOC_OPEN 2,0 5684- VTOC_UNIT 2,0 5685 FILLER 14 5686 RESUME  5687 END VTOC_FCB 5688  5689PARAM TABLE TESTS WORD TESTA DEFAULT WORD TESTB DEFAULT WORD TESTC WORD TESTD  WORD TESTE DEFAULT WORD TESTF DEFAULT WORD TESTG WORD TESTH WORD TESTI WOR- -, 5690*  5691* SET VTOC_RECORD_LOCN TO WORD ADDRESS OF VTOC_RECORD.  5692* MUST BE EXECUTED BEFORE GET_VOLSER IS CALLED. 5693*  5694- SAVESTATUS TERMINAL 5695 RESTORE VTOC_RECORD_LOCN 5696 SAVESTATUS VTOC_RECORD_LOCN  5697 VTOC_RECORD_LOCN = VTOC_RECORD_LOCN + 8 5698 GOTO BEGIN_THE_PROGRAM 5699 - 5700  5701GET_VOLSER ENTRY  5702* 5703* GET VTOC SECTOR AND CYLINDER FROM UNIT TABLE 5704-* 5705 MOVE@ UNIT_TABLE_POINTER,PNTR_A,2 5706 PNTR = PNTR + VTOC_UNIT  5707 PNTR = PNTR SHIFTL 1 5708 MOVE@ PNTR,PNTR_A,2  5709- PNTR = PNTR SHIFTL 1 5710 MOVE@ PNTR,VTOC_RECORD,4 5711*  5712* SEE IF DISK HAS A VALID VTOC 5713*  5714/ VTOC_FUNCTION = READ_FUNCTION 5715 VTOC_WORD_COUNT = 28  5716 VTOC_WORD_ADDRESS = VTOC_RECORD_LOCN  5717 ZERO VTOC_NAME_FIELD,VTOC_OPEN 5718 VOLSER = '........'  5719 WORD SETOL9 SETOLA WORD 0 * SETOL1 JST SETFRM JMP *SETOLD SETOL2 JST SETTST JMP *SETOLD SETOL3 JST SETUNT JMP *SETOLD SETOL4 JST SETCYL JMP *SETOLD SETOL5 JST SETOPR JMP *SETOLD SET. "%5697-5698-5699-5700-5701-5702-5703-5704-5705 -5706 -5707 -5708 -5709 -5710-5711-5712-5713-5714-5715-5716-5717-5718-5719-5720/5721/5722/5723/5724/5725/5726/5727/5728/5729/5730/ TELETYPE :T * LINE PRINTER :L *  DEFAULT DISPLAY & TURN OFF DISPLAY :V, :E * RESET ALL PARAM'S :R * RESET SPECIFIC PARAM TO DEFAULT VALUE :S * CALLING SEQUENCE * * JST OTHER * JMP XXX ERROR RTN * JMP YYY GOOD RTN * WORD GGG CONTROL SET PARAMETER * JMP RRR GOOD RTN 'SET' * * OTHER ENT JST IDEC GET INPUT JNE X,OTHER1 ANY DECIMAL INPUT? * CLSN =:52,A ='R'? RESET  JMP OTHERR YES CLSN =:56,A ='V'? VIEDW JMP OTHERV CLSN =:45,A ='E'? END VIEW  JMP OTHERE CLSN =:53,A ='S'? SET SPECIFIC PARAM DEFAULT JMP OTHERS CLSN =:4C,A ='L'? REQUEST LINE PRINTER JMP OTHERL CLSN =:54,A ='T'? REQUEST TELETYPE ONLY JMP OTHERT JMP  *OTHER OTHER LETTERS CAUSE EXIT * * OTHER1 JMP *OTHER NUMBERS CAUSE EXIT OTHERR JST RESET JMP OTHERX OTHERV JST GETVEW JMP OTHERX OTHERE JST SETVW JMP OTHERX OTHERS IMS OTHER IMS OTHER COPY *OTHER,A COPY A,OTHSET JST SETOLD OTHSET WORD 0 JMP OTHERX OTHERL JST GETLP JMP  OTHERX OTHERT JST SETLP JMP OTHERX COPY OTHER,A SUB =1,A JMP OTHERX * * * RETURN FROM NORMAL OPERATION OF SPECIAL PROCEDURES * * OTHERX IMS OTHER JMP *OTHER LPOOL LCATBL EQU $ LCATBM EQU  $ TITL UTILITY ... SET'S * RESET DEV ADR TO :11 SETDEV ENT COPY =:11,A COPY A,DEVADX JMP *SETDEV * RESET SENSE REGISTER SETSNS ENT COPY =-1,A COPY A,FLGQRY COPY SETS:2,A COPY A,SNSREG SAVE SENSE REGISTER JMP *SETSNS SETS:2 WORD :0002 DEFAULT LPOOL * RESET TO LINE PRINTER GETLP ENT  COPY =1,A COPY A,LPFLG JST STLPTY JMP *GETLP LPOOL GETVEW ENT COPY =1,A  COPY A,VIEWIT JMP *GETVEW * RESET TO DIAGNOSTIC SETFRM ENT COPY =0,A COPY A,FMFLG WHEN IT = 0 MEANS DIAGNOSTIC PROCED. JMP *SETFRM * RESET TO UNIT 0 SETUNT ENT COPY =UNX,X GET ADR OF TABLE OF UNITS COPY =0,A COPY A,0(X) STORE UNIT '0' COPY =-1,A GET DELIMITER COPY A,1(X) STORE DELIMITER JMP *SETUNT * SET CYL TO DEFAULT SETCYL ENT COPY =0,A COPY A,TEMP1 ZERO OUT COUNTER COPY A,FLGCYL COPY A,CYLFLG IMS CYLFLG JST FORMAT CHECK FORMAT JMP $+2 JMP SETCY1 COPY =0,A SET FORMAT DEFAULT/ /- DISK VTOC,INVALID_VTOC,RAN 5720 IF VTOC_NAME_FIELD EQ 'VTOC ' THEN 5721 VTOC_NAME = 'VTOC '  5722 OPEN VTOC,INVALID_VTOC,INP 5723 ELSE  5724/INVALID_VTOC 5725 RETURN GET_VOLSER  5726  5727BEGIN_THE_PROGRAM 5728  5729 /*/$ 5730//MP LOOP NO JMP *TESTA YES TA5 JST INCRT LAST TRACK? JMP LOOP3 NO JMP *TESTA YES LOOP COPY =14,A SET SECTOR=14 COPY A,SCUR COPY =77,A NO OP COPY A,WRDC TO DO 0 0B50400’’50810’’5122 0’’51630’’52040’’52458’’52868’’53278’’5368 8’’54098’’54508’’5491B’’5532B’’5573B’’5614 B’’5655B’’5681B’’ 0)504125042250432504425045 25046 25047 25048 25049 2505025051250522505325054250552505625057250582505925060350613506235063350643506535066350673506835069350703507135072350733507435075 35076 35077 35078 35079 350803508130)05000150011500215003150041500515006150071500815009150101501115012150131501415015 15016 15017 15018 15019 15020150211502215023150241502515026150271502815029150302503125032250332503425035250362503725038250392504020)50823508335084350853508635087350883508935090450914509245093450944509545096450974509845099451004510145102451034510445105 45106 45107 45108 45109 4511045111451124511345114451154511645117451184511945120551215512250)5123551245512555126551275512855129551305513155132551335513455135 55136 55137 55138 55139 55140551415514255143551445514555146551475514855149551506515165152651536515465155651566515765158651596516065161651626516368)516465165 65166 65167 65168 65169 6517065171651726517365174651756517665177651786517965180751817518275183751847518575186751877518875189751907519175192751937519475195 75196 75197 75198 75199 75200752017520275203752047ITY JMP $+2 TESTD6 COPY =64,A SINGLE TRACK, SINGEL DENSITY COPY A,WRDC WORD COUNT COPY =0,A COPY A,TESTDC SET THE DATA CONSTANT TO 0 JST FILCON SPREAD IT THROUGH BUFFER TESTD1 JST DMA 1 1\L15 5000\P  "FILENAME" 5001  5002 INCLUDE LIBRARY 5003  50041 5005\L4  5006 GET_MESSAGE DECODE DISK ERROR STATUS  5007 INPUT_BEEP BEEP UNTIL OPERATOR RESPONDS 5008 FILE_CONTROL_BLOCK  DESCRIPTIVE BREAKDOWN OF FCB 5009 1 PROC_LINKAGE REQUIREMENTS FOR A PROC PGM 5010 GET_PARAMS  GET PARAMETERS FROM PROC FILE 5011 INPUT_KEYS INPUT KEYS & GET NEAREST MATCH  5012 * UNIT_TABLE_POINTER BASEPAGE POINTER TO DISK UNIT TABLES 5013 * GET_VOLSER  GET DISK VOLUME SERIAL 50141\9 * REQUIRE CHANGES AS DOCUMENTED WHEN CONVERTING BETWEEN LSI-2 AND LSI-4 5015\1 *** "FILENAME" *** 5016\2 GET_MESSAGE  5017\0 5018\9  PAGE"PAGE" GET_MESSAGE 50191GET_MESSAGE 5020  5021* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  5022* * 5023* GET_MESSAGE: DECODE DISK STATUS * 50242* * 5025* SAVESTATUS S  * 5026* GOSUB GET_MESSAGE *  5027* * 5028* ON RETURN, MESSAGE = DISK ERROR MESSAGE * 5029 =:21,A # OF CELLS TO COMPARE JST COMP COMPARE WORD BUFR2 EXPECTED DATA WORD BUFFER WITH RETURNED DATA JST INCRT LAST SINGLE TRACK? JMP TE1 NO JMP *TESTD YES, EXIT * * THIS ROUTINE CH2 21* * 5030* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5031  5032S 2,0 5033TEMP_S 2,0  50342END_OF_FILE 2,3 5035DISK_FULL 2,4  5036ERROR_HEADER 79  5037 REDEFINES ERROR_HEADER 5038 FILLER 40,'FILE NAME UNIT ' 5039 2 FILLER 39,' SEC HD CYL OPERATION' 5040G_M_BUFFER 79  5041 REDEFINES G_M_BUFFER  5042 FILLER 15 5043MESSAGE 26  50442 RESUME 5045*  5046GET_MESSAGE ENTRY  5047 DISKSTATUS S,G_M_BUFFER 5048 RETURN GET_MESSAGE  50492*/$ 5050DISK_ERROR  5051*  5052ERROR_HEADER 70 5053 REDEFINES ERROR_HEADER  50543 FILLER 40,'FILE NAME UNIT ' 5055 FILLER 30,' SEC HD CYL OPERATION' 5056MESSAGE 70  5057 RESUME 5058*/$  5059THE JGT A,TF6 WORD COUNT AND RESTART JST PREP RESTORE THE DISK JST TF09 SET PROPER WORD COUNTS COPY TWOSEC,A THE WHOLE PROCESS COPY A,WRDC COPY A,WRDC2 JMP TF2 DO I/O TF6 3 32\2 INPUT_BEEP 5060\0  5061\9 PAGE"PAGE" INPUT_BEEP 5062INPUT_BEEP 5063  50643* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5065*  * 5066* INPUT_BEEP: BEEP UNTIL OPERATOR RESPONDS *  5067* * 5068* MAKE_NOISE = <'Y' TO BEEP, ELSE DON'T BEEP> * 5069 3* CURSOR = * 5070* GOSUB INPUT_BEEP  * 5071* *  5072* IF OPERATOR HITS , GO TO "ABORT" * 5073* IF OPERATOR HITS , RETURN FROM SUBROUTINE * 50743* * 5075* ON RETURN, RESPONSE = OPERATOR'S SINGLE-CHAR * 5076* RESPONSE *  5077* MAKE_NOISE = 'N' * 5078*  * 50793* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5080  5081CURSOR 2,0  5082MAKE_NOISE 1,'Y' 5083  50844BINBEEP 2,:0007 ;ASCII CRTL-G 5085 REDEFINES BINBEEP  5086 RESPONSE 1  5087 BEEP 1 5088 RESUME  5089X,TG1TG1 COPY SCUR,X COPY X,STORE1 COPY =1,X COPY X,SCUR COPY ESEC,X COPY X,STORE2 COPY =2,X COPY X,ESEC COPY RELC,X COPY X,STORE3 COPY =1,X COPY X,RELC TG1TG1 EQU $ COPY STRK,Q STARTING AT TRACK ZERO? JEQ Q,TG2X JMP 4 43* 5090*  5091INPUT_BEEP ENTRY  5092* 5093 IF MAKE_NOISE EQ 'Y' THEN 50944 MAKE_NOISE = 'N' 5095BEEP_LOOP  5096 OUTPUT BEEP  5097 WATCHDOG BEEP_LOOP,100 5098 ELSE  5099 4 5100 INPUT ABORT,RTN_IB .123.CURSOR,RESPONSE 5101RTN_IB  5102 RETURN INPUT_BEEP 5103  51044*/$ 5105\2 FILE_CONTROL_BLOCK 5106\0  5107\9 PAGE"PAGE" FILE_CONTROL_BLOCK 5108FILE_CONTROL_BLOCK  51094 5110* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5111* *  5112* FILE_CONTROL_BLOCK: DESCRIPTIVE BREAKDOWN OF FCB LAYOUT * 5113*  * 51145* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5115  5116FILE_CONTROL_BLOCK START ;LENGTH = 76  5117 VTOC_PART START ;LENGTH = 46 INFORMATION RECORDED IN VTOC 5118 FILE_NAME  10 5119N TSTH1 JST DULAR HAVE WE A DUAL DENSITY FLOPPY? WORD :680 COPY =:340,A NO, HALF TRACK SINGLE DENSITY COPY A,WRDC YES, HALF TRACK DUAL DENSITY COPY =1,A RESET STARTING SECTOR COPY A,SCUR 5 54 STARTING_DATA_EXTENT 2,0 5120 STARTING_INDEX_EXTENT  2,0 5121 ENDING_DATA_SECTOR 2,0  5122 ENDING_DATA_EXTENT 2,0 5123 FILE_PROTECT  2,0 51245 CYLINDER_COUNT 2,0 5125 FILE_TYPE  2,0 ;NONZERO = INDEX ONLY FILE 5126 LOGICAL_RECORD_LENGTH 2,0  5127 LOGICAL_KEY_LENGTH 2,0 ;LENGTH OF CONCATENATED KEY FIELDS 5128 KEY_FIELD  2(5) ;KEY FIELDS IN RECORD: LENGTH, OFFSET 5129 5 CREATION_DATE 8 5130 END VTOC_PART  5131 CURRENT_DATA_SECTOR 2,0  5132 CURRENT_DATA_EXTENT 2,0 5133 CURRENT_DATA_RECORD 2,0 51345 CURRENT_INDEX_SECTOR 2,0 5135 CURRENT_INDEX_EXTENT 2,0 5136 CURRENT_INDEX_RECORD 2,0  5137 OPEN_FLAG 2,0 ;NONZERO = OPEN 5138 DRIVE_UNIT 2,0 51395 STARTING_VTOC_EXTENT 2,0 5140 KEY_BUFFER 2(5) ;KEY FIELDS IN BUFFER: LENGTH, OFFSET 5141 BUFFER 2,0 ;ADDRESS OF PROGRAM RECORD BUFFER  5142 END FILE_CONTROL_BLOCK 5143  51446*/$ 5145\2  PROC_LINKAGE 5146\0  5147\9 PAGE"PAGE" PROC_LINKAGE 5148PROC_LINKAGE  5149A NO,ITS SINGLE COPY A,WRDC IF DUAL, DOUBLE WORD COUNT TSTH7X COPY =14,A COPY A,SCUR RESET STARTING SECTOR TO 14 JST DMA DO THE I/O JST TSTH9 CHECK FOR DATA MISCOMPARE JST INCRT MORE TRA6 65 5150* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5151* *  5152* PROC_LINKAGE FRI 17 JUL 81 * 5153*  * 51546* PROVIDES INITIAL LINKAGE NEEDED FOR A PROGRAM * 5155* WHICH CAN BE RUN BY A PROCEDURE FILE. * 5156* SHOULD BE FIRST EXECUTABLE STATEMENT OF PROGRAM. *  5157* * 5158* ON DROP-THROUGH:  * 5159 6* IF PROC1 NE 0 (THEN CALLED BY PROC) * 5160*  * 5161* PROGRAM TERMINATION ("SAVE" STATEMENT NEEDED *  5162* ONLY IF SAVE AREA HAS BEEN DESTROYED): * 5163*  * 51646* IF PROC1 NE 0 THEN * 5165* SAVE PROC_FILE,PROC_BUFFER,PARAMETERS,RETURN_PROGRAM * 5166* CHAIN RETURN_PROGRAM *  5167* ELSE * 5168*  * 51696* * 5170* * * * W A R N I N G * * * * 5171* *  5172* ANY GET OR PUT STATEMENT TO PROC_FILE *MUST* SPECIFY * 5173* THE RECORD BUFFER BEING READ OR WRITTEN (PROC_RECORD) * 51747* * 5175* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5176  5177WORDMARK 5178  5179 WRITE PROT BIT COPY A,IOB+STATX TBIT ATTW,A ATTEMPT TO WRITE ON WPROT UNIT? JT OV,TJ3Y COPY =ERRI02,A JST ER ERROR! JMP TI00 TJ3Y JST MSGA WORD WPROT2 WPROT ERROR MESSAGE7 76TERMINAL START 5180 BIN_TERM 2,0  5181 END TERMINAL  5182 5183PARAMETERS START  51847 ALPHA 10(20) 5185 BIN 2(20)  5186 END PARAMETERS  5187 5188PROC_RECORD START  5189 7 PROC_BUFFER 80 5190 LINE_N 4.0,' '  5191 LINE_N_B 2  5192 END PROC_RECORD 5193  51947RETURN_PROGRAM 10 5195  5196PROC_FILE FILE,'PROC::::',0,PROC_RECORD,LINE_N,LINE_N_B  5197 REDEFINES PROC_FILE 5198 PROC1 2,0  51997 FILLER 58 5200 PROC_UNIT 2,0  5201 RESUME  5202 5203EJECT  52049 SAVESTATUS BIN_TERM 5205 RESTORE PROC_FILE,PROC_BUFFER,PARAMETERS,RETURN_PROGRAM 5206 LOAD@ 1,BOX1  5207 5208*/$  5209EST RUNS * A WRITE ON THE CURRENT UNIT THEN ASKS * THE OPERATOR TO MOUNT THE DISKETTE IN * ANOTHER UNIT. AFTER SPECIFING THE NEW * UNIT A READ IS DONE TO ASSURE PROPER * DATA TRANSFER. * TESTJ ENT JST RUNO8 8)52057520675207752087520975210952119521295213952149521595216952179521895219952209522195222952239522495225 95226 95227 95228 95229 9523095231952329523395234952359523695237952389523995240:5241:5242:5243:5244:5245:8)5246:5247:5248:5249:5250:5251:5252:5253:5254:5255 :5256 :5257 :5258 :5259 :5260:5261:5262:5263:5264:5265:5266:5267:5268:5269:5270;5271;5272;5273;5274;5275;5276;5277;5278;5279;5280;5281;5282;5283;5284;5285 ;5286 ; 8)5287 ;5288 ;5289 ;5290;5291;5292;5293;5294;5295;5296;5297;5298;5299;5300<5301<5302<5303<5304<5305<5306<5307<5308<5309<5310<5311<5312<5313<5314<5315 <5316 <5317 <5318 <5319 <5320<5321<5322<5323<5324<5325<5326<5327<8)5328<5329<5330=5331=5332=5333=5334=5335=5336=5337=5338=5339=5340=5341=5342=5343=5344=5345 =5346 =5347 =5348 =5349 =5350=5351=5352=5353=5354=5355=5356=5357=5358=5359=5360>5361>5362>5363>5364>5365>5366>5367>5368>8)5369>5370>5371>5372>5373>5374>5375 >5376 >5377 >5378 >5379 >5380>5381>5382>5383>5384>5385>5386>5387>5388>5389>5390?5391?5392?5393?5394?5395?5396?5397?5398?5399?5400?5401?5402?5403?5404?5405 ?5406 ?5407 ?5408 ?5409 ?B)5410?5411?5412?5413?5414?5415?5416?5417?5418?5419?5420@5421@5422@5423@5424@5425@5426@5427@5428@5429@5430@5431@5432@5433@5434@5435 @5436 @5437 @5438 @5439 @5440@5441@5442@5443@5444@5445@5446@5447@5448@5449@5450AUNT COPY =ERRJ00,X JST COMP WORD WCPAT EXPECTED CONSTANT WORD BUFFER RETURNED DATA  JST INCRT LAST TRACK? JMP TOC2 NO TOC8 COPY TKTMP,A RESTORE THE CURRENT UNIT COPY A,UC9 97\2 GET_PARAMS 5210\0  5211\9 PAGE"PAGE" GET_PARAMS 5212GET_PARAMS 5213  52149* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5215*  * 5216* GET_PARAMS: THU 23 JUL 81 *  5217* * 5218* DECODE PARAMETERS IN PROC RECORD. * 5219 9* * 5220*  * 5221* [ PROGRAM_EXECUTING = ] *  5222* [ FIRST_COL = ] * 5223* [ MOUNT_VOL_SER = --Y/N> ] * 5225* GOSUB GET_PARAMS  * 5226* *  5227* * 5228* ON RETURN:  * 52299* MORE_PARAMS EQ 'N' => NO PARAMETERS FOUND; VALUES * 5230* OF ALPHA AND BIN UNDEFINED * 5231* MORE_PARAMS EQ 'Y' => ALPHA & BIN HAVE VALUES AS *  5232* IF JUST STARTED BY PROC * 5233*  * 5234:* MOUNT_VOLSER EQ 'Y' => DISK WITH REQUESTED VOL * 5235*  SER IS MOUNTED * 5236* (NOTE: IF THE STMT SPECIFIES MORE THAN ONE, *  5237* NO TEST IS MADE TO PREVENT OPERATOR FROM * 5238* REMOVING ONE DISK WHILE MOUNTING ANOTHER.) * 5239URN ENT COPY =:FF,A AND IOB+STATX,A JEQ A,$+2 ERROR RETURN .... NO ERRORS JST STATCK ERROR RETURN TAKEN AND NO COPY =ERRK01,A JST ER JST TM2 TM2 ENT COPY =26,A : :9* IF MOUNT_VOLSER NE 'Y' THEN * 5240* BIN(I) EQ BAD_VALUE => NOT MOUNTED/DISK ERROR* 5241* BIN(I) NE BAD_VALUE => FOUND ON UNIT BIN(I) *  5242* WHERE BIN(I) CORRESPONDS TO THE VOL SER SPECIFIED * 5243* IN ALPHA(I)  * 5244:* * 5245*  * 5246* NOTES: *  5247* MUST FOLLOW: * 5248* *INCLUDE,'INCLUDELIB',,PROC_LINKAGE * 5249 :* * 5250* WHEN PROGRAM RETURNS TO PROC, IT *MUST* * 5251* *  5252* IF PROC1 NE 0 THEN * 5253* SAVE PROC_FILE,PROC_BUFFER,PARAMETERS,RETURN_PROGRAM * 5254:* CHAIN RETURN_PROGRAM * 5255* ELSE  * 5256* *  5257* PROGRAM MUST ALSO INCLUDE: * 5258* *INCLUDE,'INCLUDELIB',,INPUT_BEEP * 5259:* * 5260* USES THE EXTERNAL BINARY FIELD "S" FOR DISK STATUS* 5261* *  5262* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5263  5264;PROGRAM_EXECUTING 10,'GET_PARAMS' 5265FIRST_COL 2,1 ;COLUMN TO BEGIN SCANNING 5266MORE_PARAMS 1,'N'  5267MOUNT_VOLSER 1,'Y' ;HAVE OPERATOR MOUNT PACK IF NECESSARY WHEN 5268 ; @ SPECIFIED IN PROC STMT 5269HK * * * COPY =256,A LOAD WORD COUNT COPY =ERRM00,X ERROR CODE JST COMP WORD BUFFER  EXPECTED DATA WORD BUFR2 RETURNED DATA * * IOB -- IN LOW MEMORY * * DATA BUF -- IN HIGH MEMORY * TESTP4 ; ;:GET_NEXT_STMT 1,'Y' ;READ NEXT PROC STMT INTO BUFFER AFTER DECODING 5270  5271SYSDATE START  5272 SYSMONTH 2 5273 FILLER 1  5274; SYSDAY 2 5275 FILLER 1  5276 SYSYEAR 2  5277 END SYSDATE 5278  5279 ;BAD_VALUE 2,32767 5280ASCII_ZERO 2,0  5281 REDEFINES ASCII_ZERO  5282 FILLER 1 5283 AZERO 1,'0'  5284; RESUME 5285REQ_VOLSER 8  5286SOURCE_COL 2,0  5287SAVED_COL 2,0 5288PARAMETER_N 2,0  5289;BASE 2,0 5290DIGIT 2,0  5291 REDEFINES DIGIT  5292 FILLER 1 5293 LAST_CHAR 1  5294< RESUME 5295BIN_VALUE 2,0  5296VALUE_TYPE 2,0  5297ALPHA_VALUE_COL 2,0 5298ALPHA_VALUE_SIZE 2,10 ;DIMENSION OF ALPHA_CHAR 5299 COPY A,WRDC CURRENT WORD COUNT * NEG A,A NEG BUF LENGTH COPY TSTBUF,X GET BUF ADR JST  FILCYC FILL BUF -- INCR PATTERN * COPY TSTIOB,A GET NEW IOB COPY A,DMA0 STORE FOR I/O OPER CO< <;ALPHA_VALUE START 5300 ALPHA_CHAR 1(10)  5301 END ALPHA_VALUE  5302 5303 REDEFINES ALPHA_VALUE  5304< VOLSER_FIELD 8 5305 RESUME  5306  5307 REDEFINES PARAMETERS 5308 ALPHA_ARRAY 200  5309 < BIN_ARRAY 40 5310 RESUME  5311  5312 REDEFINES PROC_BUFFER 5313 SOURCE 1(80) 5314< RESUME 5315  5316VTOC_FILE FILE,'VTOC',0,PROC_RECORD  5317 5318 REDEFINES VTOC_FILE  5319< FILLER 60 5320 VTOC_FILE_UNIT 2,0  5321 RESUME  5322 5323*  5324=* 5325GET_PARAMS ENTRY  5326*  5327 MORE_PARAMS = 'N' 5328 ZERO BIN_ARRAY  5329ETER * * SENSE SWITCH ON CAUSES RESTART * * TESTT ENT JST TOPOFF JST MSGA INTRODUCE THE TEST WORD TECHMG ='TECH TEST (TEST15)' TECH JST RESTOR DO A RESTORE FUNCTION SBIT 8,S ENABLE INTERUPTS TO = =< SPACE ALPHA_ARRAY 5330 DATE SYSDATE  5331 IF SOURCE(FIRST_COL) EQ '/' GOTO RTN_PROC_PARAMS  5332 MORE_PARAMS = 'Y' 5333 GOSUB DECODE_ESC  5334= SOURCE_COL = FIRST_COL 5335 FOR PARAMETER_N = 1 TO 20 5336 SAVED_COL = SOURCE_COL  5337 GOSUB GET_BIN_VALUE 5338 SOURCE_COL = SAVED_COL 5339 = GOSUB GET_FIELD 5340 ALPHA(PARAMETER_N) = ALPHA_VALUE 5341 GOSUB DECODE_VOLSER  5342 BIN(PARAMETER_N) = BIN_VALUE 5343 IF SOURCE(SOURCE_COL) EQ ' ' GOTO EXIT_PARAM_LOOP 5344= SOURCE_COL = SOURCE_COL + 1 5345 IF SOURCE_COL GT 80 GOTO EXIT_PARAM_LOOP 5346 NEXT  5347EXIT_PARAM_LOOP 5348 IF GET_NEXT_STMT EQ 'Y' GET PROC_FILE,EOF_PROC,SEQ,PROC_RECORD 5349= GOTO RTN_PROC_PARAMS 5350  5351EOF_PROC  5352 SAVESTATUS S 5353 IF S NE 3 GOTO PROC_DISK_ERR ;3 = END_OF_FILE 5354> PROC_RECORD = '/* END OF PROCEDURE FILE' 5355  5356RTN_PROC_PARAMS  5357 RETURN GET_PARAMS 5358*  5359OIT2 COPY TIOBP,A GET THE IOB POINTER DA40 EQU $ OUT A,FLPYDA*8+0 INITIATE IO DA41 EQU $ SST FLPYDA*8+0 CHECK FOR DONE (IDLE) JF SS,$-1 CHECK FOR IDLE OR SENSE SET COPY =0,A COPY A,RCT > >=* 5360DECODE_ESC ENTRY  5361*  5362* DECODE ESCAPE SEQUENCES BEGINNING WITH '&' STARTING AT FIRST_COL 5363* ASSUMES SYSDATE HAS ALREADY BEEN SET TO THE SYSTEM DATE 5364>* 5365 FOR SOURCE_COL = FIRST_COL TO 79 5366 IF SOURCE(SOURCE_COL) EQ '&' THEN  5367 SAVED_COL = SOURCE_COL + 1 5368 LAST_CHAR = SOURCE(SAVED_COL) 5369 > IF LAST_CHAR EQ 'M' THEN 5370 MOVE@ SYSMONTH,SOURCE(SOURCE_COL),2 5371 SOURCE_COL = SAVED_COL  5372 GOTO NEXT_ESC 5373 ELSE  5374> IF LAST_CHAR EQ 'D' THEN 5375 MOVE@ SYSDAY,SOURCE(SOURCE_COL),2 5376 SOURCE_COL = SAVED_COL  5377 GOTO NEXT_ESC 5378 ELSE  5379> IF LAST_CHAR EQ 'Y' THEN 5380 MOVE@ SYSYEAR,SOURCE(SOURCE_COL),2 5381 SOURCE_COL = SAVED_COL  5382 GOTO NEXT_ESC 5383 ELSE  5384? IF LAST_CHAR EQ 'T' THEN 5385 MOVE@ TERMINAL,SOURCE(SOURCE_COL),2 5386 SOURCE_COL = SAVED_COL  5387 GOTO NEXT_ESC 5388 ELSE  5389* * * * * * * * * * * * * * * * * * * * ** * * * * * *** * * * * * * * * * * * * * * * * * * * * * * * * * * ** * * * * * *** * * * * * * * DBEGIN RES :1440 FORMAT TABLE STARTING ADDRESS PRGEND EQU $-1 LAST USED CELL END FDD WORD ? ?> ELSE 5390NEXT_ESC  5391 NEXT  5392 RETURN DECODE_ESC 5393*  5394?* 5395GET_FIELD ENTRY  5396*  5397* GET ALPHANUMERIC FIELD AND LEAVE IT IN ALPHA_VALUE 5398*  5399 ? SPACE ALPHA_VALUE 5400 ALPHA_VALUE_COL = 1  5401 FOR SOURCE_COL = SOURCE_COL TO 80  5402 LAST_CHAR = SOURCE(SOURCE_COL) 5403 IF LAST_CHAR EQ ' ' GOTO GET_FIELD_EXIT 5404? IF LAST_CHAR EQ ',' GOTO GET_FIELD_EXIT 5405 IF ALPHA_VALUE_COL LE ALPHA_VALUE_SIZE THEN 5406 ALPHA_CHAR(ALPHA_VALUE_COL) = LAST_CHAR  5407 ALPHA_VALUE_COL = ALPHA_VALUE_COL + 1 5408 ELSE  5409? NEXT 5410GET_FIELD_EXIT  5411 RETURN GET_FIELD  5412* 5413*  5414@GET_BIN_VALUE ENTRY 5415*  5416* IF VALUE IS NOT VALID, BIN_VALUE = 0 AND VALUE_TYPE = BAD_VALUE  5417* 5418 ZERO VALUE_TYPE,BIN_VALUE 5419Ÿ| ƒ ‡žŸ{ ńæ˜m^¢˜ „‹„‡•óæ9F ƒ‘‡Œ‚‰ ž† †…ƒ‹‡‹ ‡ˆŸf¹ V^ŚZ` ‡„憒€æq÷ųŸwµ ‡½ „€ +ßøž{Ÿw ‚†‡‚‚…æ_÷ų ŸxŖŖõä ‚‡‡ƒ‚©æT÷ų ŸwŖŖ ƒ¢AŸ|Ž{Ÿz Cæ W ¾Ÿz ¦‰‚‡Š‡††ƒ…†æ Ÿv@ @? IF SOURCE_COL GT 80 GOTO BINARY_EXIT 5420 LAST_CHAR = SOURCE(SOURCE_COL) 5421 BASE = 8  5422 IF LAST_CHAR NE '0' THEN 5423 BASE = 10  5424@ IF LAST_CHAR EQ ':' THEN 5425 BASE = 16  5426 SOURCE_COL = SOURCE_COL + 1  5427 ELSE 5428 ELSE  5429 @ 5430 FOR SOURCE_COL = SOURCE_COL TO 80 5431 DIGIT = 0  5432 LAST_CHAR = SOURCE(SOURCE_COL) 5433 IF LAST_CHAR EQ ' ' GOTO BINARY_EXIT 5434@ IF LAST_CHAR EQ ',' GOTO BINARY_EXIT 5435 IF LAST_CHAR GE 'A' DIGIT = DIGIT - 7 5436 DIGIT = DIGIT - ASCII_ZERO  5437 IF DIGIT GE BASE GOTO ERROR_GB 5438 IF DIGIT LT 0 GOTO ERROR_GB 5439@ BIN_VALUE = BIN_VALUE * BASE 5440 BIN_VALUE = BIN_VALUE + DIGIT 5441 NEXT  5442 GOTO BINARY_EXIT 5443  5444AERROR_GB 5445 VALUE_TYPE = BAD_VALUE 5446 BIN_VALUE = 0  5447BINARY_EXIT 5448 RETURN GET_BIN_VALUE 5449B ƒ žž ßĻžn¢w+]*’¦ƒzæĮ¼<ææƒÅ ‡Āæ»žĻæĄß惾†ƒ Ƈ3æŗž ‡øæøƒøŸøĀžQĀ‚†‚œ‹¦†™Iʖŗ™ž‚ž†ž€q‡ Ž”žCž‡‚ ††‹Iʇžtꆉ)¦„¦„žC’ę -  ¹?Š i hEF f n  ŽÄ,¢ c‰ƒ———ĮŸ–æ–ƒa—‡ž–摃\—ˆ‡ˆ‚ˆ‡ˆƒWq·ƒA A@* 5450*  5451DECODE_VOLSER ENTRY  5452* 5453* ASSUMES ALPHANUMERIC FIELD IN QUESTION IS IN ALPHA_VALUE. 5454A* IF NOT A VOL SER SPECIFICATION, BIN_VALUE IS UNCHANGED. 5455* IF DISK NOT MOUNTED AND MOUNT_VOLSER EQ 'Y', OPERATOR ASKED TO MOUNT IT. 5456* IF DISK NOT MOUNTED AND MOUNT_VOLSER EQ 'N', BIN_VALUE = BAD_VALUE.  5457* 5458 IF ALPHA_CHAR(1) EQ '@' THEN 5459 A ZERO VALUE_TYPE 5460 BIN_VALUE = BAD_VALUE 5461 MOVE@ ALPHA_CHAR(2),REQ_VOLSER,8  5462 ALPHA_VALUE = REQ_VOLSER 5463 FOR ALPHA_VALUE_COL = 1 TO 8 5464A IF ALPHA_CHAR(ALPHA_VALUE_COL) EQ '?' THEN 5465 ZERO ALPHA_CHAR(ALPHA_VALUE_COL) 5466 ELSE  5467 NEXT 5468OPEN_VTOC_FILE  5469A DISK VTOC_FILE,PROC_DISK_ERR,CLR 5470 OPEN VTOC_FILE,NO_SUCH_DISK,INP,VOLSER_FIELD 5471 BIN_VALUE = VTOC_FILE_UNIT  5472 STORE@ 1,BOX1 ; RESTORE DISK CONTROL 5473 ELSE  5474CRTN_VOLSER 5475 RETURN DECODE_VOLSER  5476  5477NO_SUCH_DISK 5478 SAVESTATUS S  5479 M†—’ž‚• ‡˜†’£^1C šžŒž‚ Mž‰æ‹æ‚‡ ’†…‡Šæ…扞lŸW< "µ > æ= æ;æ;)§:¦Éæ9æ9Ć9QDĆ8QB €ž @‡4 †¼æØæcæ§¾«ž‚ž„ž‚µøžŠĆ&QB €‡$‚­ ’†Ŗæ–žm¾Ģžk‚¦Pæ †”†”)§æĆQDĆQB €ž @‡ žYŸBĖČ1 ß¼ƒ» žž†æÄžŽwŽv ‡²Ÿs æ® æ¬æ¬B B)85451A5452A5453A5454A5455A5456A5457A5458A5459A5460A5461A5462A5463A5464A5465 A5466 A5467 A5468 A5469 A5470A5471A5472A5473A5474A5475A5476A5477A5478A5479A5480C5481C5482C5483C5484C5485C5486C5487C5488C5489C5490C5491CB)5492C5493C5494C5495 C5496 C5497 C5498 C5499 C5500C5501C5502C5503C5504C5505C5506C5507C5508C5509C5510D5511D5512D5513D5514D5515D5516D5517D5518D5519D5520D5521D5522D5523D5524D5525 D5526 D5527 D5528 D5529 D5530D5531D5532D B)5533D5534D5535D5536D5537D5538D5539D5540E5541E5542E5543E5544E5545E5546E5547E5548E5549E5550E5551E5552E5553E5554E5555 E5556 E5557 E5558 E5559 E5560E5561E5562E5563E5564E5565E5566E5567E5568E5569E5570F5571F5572F5573FB)5574F5575F5576F5577F5578F5579F5580F5581F5582F5583F5584F5585 F5586 F5587 F5588 F5589 F5590F5591F5592F5593F5594F5595F5596F5597F5598F5599F5600G5601G5602G5603G5604G5605G5606G5607G5608G5609G5610G5611G5612G5613G5614GB)5615 G5616 G5617 G5618 G5619 G5620G5621G5622G5623G5624G5625G5626G5627G5628G5629G5630H5631H5632H5633H5634H5635H5636H5637H5638H5639H5640H5641H5642H5643H5644H5645 H5646 H5647 H5648 H5649 H5650H5651H5652H5653H5654H5655H5656H5657H5658H5659H5660I5661I5662I5663I5664I5665I5666I5667I5668I5669I5670I5671I5672I5673I5674I5675 I5676 I5677 I5678 I5679 I5680I5681IF‚Ææ6Ažc­‚  ÷A©‚ž¢™ !*’¦–1EŠ’†—‚†–ž‚ކ’‚‹†˜‚”‡™æ™æ™Ÿ™’Į ÷Ń)p¢ ƒšAž‚Ž{Ÿz¢y€€ŽwŠ†ŽĮ¾Ÿr §‡‚†††£‰ƒ‰æ‰ļŸv’ђь’’VĢ÷÷27mG8G4G3G4--G6--E7G1--G0E3----C CA IF MOUNT_VOLSER NE 'Y' GOTO RTN_VOLSER 5480 IF S EQ 14 THEN  ;14 = VOLUMN SERIAL NOT FOUND 5481 STORE@ 1,3 ; KEEP ALL BUFFERS CLEAR  5482 DISK VTOC_FILE,PROC_DISK_ERR,CLR 5483 OUTPUT .123.0.1,'HAVE OTHER TERMINALS RETURN TO THE MASTER MENU.' 5484C OUTPUT .1,'MOUNT DISK "',REQ_VOLSER,'" AND ENTER "R" WHEN READY:' 5485 CURSOR = 48  5486 SPACE RESPONSE  5487ASK_NO_SUCH 5488 GOSUB INPUT_BEEP 5489 C IF RESPONSE NE 'R' GOTO ASK_NO_SUCH 5490 OUTPUT .123.0.1  5491 GOTO OPEN_VTOC_FILE  5492 ELSE 5493  5494CPROC_DISK_ERR 5495 STORE@ 1,BOX1  5496 SAVE S,PROGRAM_EXECUTING,'F',PROC_FILE  5497 CHAIN 'UTILDSKERR' 5498  5499C*/$ 5500\2  INPUT_KEYS 5501\0  5502\9 PAGE"PAGE" INPUT_KEYS 5503INPUT_KEYS  5504D 5505* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5506* *  5507* INPUT_KEYS THU 30 JUL 81 * 5508*  * 55096Į拃‹ˆæŠˆžŸo‚‡æ‡Ÿl&\Ż Ŗ ‚Ņ‡ŅŸ| †Žƒ}†Ž{ƒz†‹Žxƒˆ‡ˆŽ†Ž†Ž‚žyŸp †¦Ž£|.Žz%€€' ’žƒ¾Ń+žx¢‚‚‚Ÿo ‡Ŗ‚ ‡© †£ū‡¦ƒ£)Ə¤+=‹”‡ °žŒ†–¾¶ß˜ß˜žq‚‘ žŸe °¾­Ÿb‚Š žs °žp¾'čd )ģķī…ķ ū†‘ –y9.1Ž‹Öüžž†ŠD DC* INPUT KEY FIELDS AND GET NEAREST MATCH FOR * 5510* GENERAL FILE.  * 5511* *  5512* PROGRAM_EXECUTING = * 5513* K_FCB =  * 5514D* GOSUB INPUT_KEYS * 5515* = K_FCB  * 5516* = K_BUF ;WARNING: LENGTH = 505 *  5517* * 5518* ON RETURN:  * 5519 D* RECORD_FOUND EQ 'Y' => K_BUF HOLDS RECORD. * 5520* RECORD_FOUND EQ 'N' => OPERATOR HIT ESCAPE. * 5521* VALUE OF K_BUF UNDEFINED. *  5522* * 5523* ON CRT:  * 5524D* SCROLLS UP FROM BOTTOM OF SCREEN FOR INPUT. * 5525* RETURNS WITH LAST KEY ON BOTTOM LINE. * 5526* *  5527* USES EXTERNALLY DEFINED VARIABLES: * 5528* S 2,0 ;DISK STATUS * 5529D* * 5530* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5531  5532PROGRAM_EXECUTING 10,'INPUT_KEYS' 5533RECORD_FOUND 1,'N'  5534E 5535MAX_KEY_LENGTH 2,25 ;LENGTH OF KEY(I), KEY1..KEY5, AND DOTS 5536KEY_INDEX 2,0  5537KEY_FIELD_LEN 2,0 5538DEC_KEY_INDEX 1.0  5539»‹ž‚‚ŠŸoބޅ‚…žqĮXæ ‡Ä‚ŠEƒĀæ2ƒææ0Ÿwƒ¼æ-ށŸsŠĻŠÅĪ ÄĻĻŅ Š‡’    Ę½ ’    Ī½ ’    Š½ ’ŠŅÕĪĪÉĪĒ®®®‡‡ ’    Ó½ ’    Ō½ ’Š  Õ½ ’    ×½ ’Š×ŅÉŌÅ ÅĪĮĀĢÅ ÄÉÓĖ Š‡’  æ» $æŗ ‡øæø1Ćæ·Ÿ·Ÿ·Ÿ·Ÿ·žxž¦ @¹ æ± ļ5  ƒ„ ŸØ¦‡‚…Š…†…ƒ„†‚žƒW‚…‹—†|‚zE EDDOTS 25,'.........................' 5540  5541K_BUF 505  5542KEY_BUF START 5543 KEY1 25  5544E KEY2 25 5545 KEY3 25  5546 KEY4 25  5547 KEY5 25 5548 END KEY_BUF  5549 E 5550 REDEFINES KEY_BUF  5551 INPUT_KEY 25(5)  5552 RESUME 5553  5554EK_FILE FILE,'NAME',0,K_BUF,KEY1,KEY2,KEY3,KEY4,KEY5 5555K_FCB REDEFINES K_FILE  5556 FILLER 18  5557 KEY_FIELD 2(5) 5558 RESUME  5559E END K_FCB 5560  5561  5562INPUT_KEYS ENTRY 5563  5564F ZERO KEY_BUF,K_BUF 5565 RECORD_FOUND = 'N'  5566 FOR KEY_INDEX = 1 TO 5  5567 IF KEY_FIELD(KEY_INDEX) EQ 0 GOTO NO_MORE_KEYS 5568 KEY_FIELD_LEN = KEY_FIELD(KEY_INDEX) 5569)¾å¢ÉƒŌ„æÓ)ƒŅ†Ć¾ŻæĪ €¢ĪæQÉɂĄ €†ŗ €†¹‚Ę†ą‚¶†³)¾Ģ¢°ƒ»„‚æŗ)‚¬†Ŗ¾Ä浂©†…‚¦†„ €¢³æ4‚£ ÷†Ē €†› €†š)‚˜†•¾Æ¢“ƒž„ƒæ‚†Ž)¾§昂Œ†…‚‰†„ €¢—æ¾—Ÿƒ’ØF-ŠŖÉ©ČŠŠŠ ‚x‡“‡“Ÿ{ §‘æ‘æ‘ €ü‡¢]掂†‡‡‚Y‡‹‡‹æ‹Ÿpł±F FE KEY_FIELD_LEN = KEY_FIELD_LEN SHIFTR 8 5570 IF KEY_FIELD_LEN GT MAX_KEY_LENGTH KEY_FIELD_LEN = MAX_KEY_LENGTH 5571 DEC_KEY_INDEX = KEY_INDEX  5572 OUTPUT .123.0.1,'ENTER KEY FIELD #',DEC_KEY_INDEX 5573 MOVE@ DOTS,INPUT_KEY(KEY_INDEX),KEY_FIELD_LEN 5574F OUTPUT .123.23,INPUT_KEY(KEY_INDEX) 5575 ZERO INPUT_KEY(KEY_INDEX) 5576 INPUT RTN_INPUT_KEYS,NO_MORE_KEYS .123.23,INPUT_KEY(KEY_INDEX)  5577 OUTPUT .123.23,INPUT_KEY(KEY_INDEX) 5578 NEXT  5579 F 5580NO_MORE_KEYS  5581 OUTPUT .123.23,INPUT_KEY(KEY_INDEX)  5582 GET K_FILE,GET_NEAR_MATCH,INX,K_BUF,KEY1,KEY2,KEY3,KEY4,KEY5 5583 RECORD_FOUND = 'Y'  5584F GOTO RTN_INPUT_KEYS 5585  5586GET_NEAR_MATCH  5587 GET K_FILE,KEY_DISK_ERROR,SEQ,K_BUF 5588 RECORD_FOUND = 'Y'  5589F GOTO RTN_INPUT_KEYS 5590  5591KEY_DISK_ERROR  5592 SAVESTATUS S 5593 IF RECORD_FOUND EQ 'Y' GOTO KEY_ERROR_ABORT 5594G IF S NE 3 THEN ;3 = END_OF_FILE 5595KEY_ERROR_ABORT  5596 SAVE S,PROGRAM_EXECUTING,'F',K_FILE  5597 CHAIN 'UTILDSKERR' 5598 ELSE  5599ƒ“Kæ³[ۃ’` ļ®ė®€A„æØPŠĆ’Ī QÅ’„£„ „€„ĆŠĪ’Qó ’⇋ž£ž®ž“žŗžó̐֒ ‹ŒCIŽÜڲSLāCL³(ԀЇh ‰§gƒ•D£b€€ „€ 0‡Œ:7 ž¶ƒŠщ ,Ÿˆ +Ÿ†# Ÿ„: “Ų.ƒFŽN܃FK ‡C£µ1GG GF 5600 RECORD_FOUND = 'Y'  ;USED AS FLAG IF ERROR: GET LST ABORTED 5601 GET K_FILE,RTN_INPUT_KEYS,LST,K_BUF  5602 5603RTN_INPUT_KEYS  5604G RETURN INPUT_KEYS 5605  5606*/$  5607\2 UNIT_TABLE_POINTER 5608\0  5609 G\9 PAGE"PAGE" UNIT_TABLE_POINTER 5610UNIT_TABLE_POINTER  5611UNIT_TABLE_POINTER 2,:58 ;BASEPAGE POINTER TO UNIT TABLES  5612 ; :3A FOR LSI-2 5613  ; :58 FOR LSI-4 5614G*/$ 5615\2  GET_VOLSER 5616\0  5617\9 PAGE"PAGE" GET_VOLSER 5618GET_VOLSER  5619G 5620* * * * * * * * * * * * * * * * * * * * * * * * * * 5621* *  5622* GET_VOLSER THU 30 JUL 81 * 5623* GET DISK VOLUME SERIAL * 5624H* * 5625* VTOC_UNIT = * 5626* GOSUB GET_VOLSER *  5627* * 5628* ON RETURN, VOLSER CONTAINS THE VOLUME SERIAL.* 5629ƒE ,Ÿœ Ÿšž†‚Pp# æ–Čžqæ”SžwŲĢ¢B£C8V9W t4åž ŗ  @ ‡Ņ G€üļ‡ĻĒςχĻ:?<ž # ’Ź ‡ÉæÉŸ“ƒ‡ E¢Å°Ē ’®ƒ‡­£­§­€„޼ĮŸ»‚»’»݃ŗ‡ŗƒC ĆŪæÆŸšƒŸ‡ŸE¢« œǚ’”£•§™€„ޤĮŸ£ƒ•‡•‚”’”ƃ ‡”ž¤ŸŸŸŸŸž kü•ņŹłČH HG* IF NOT INITIALIZED OR NO VTOC ENTRY * 5630* FOUND, VOLSER = '........' * 5631* IF GOOD VOLSER FOUND, FILE VTOC HAS *  5632* BEEN OPENED FOR USE. * 5633*  * 5634H* * 5635* *MUST* COME BEFORE ALL FIELD DEFINITIONS AND * 5636* EXECUTABLE STATEMENTS IN THE PROGRAM. *  5637* * 5638* TO USE WITH PROC_LINKAGE: * 5639 H* FIELD1 56 ;(FIRST FIELD IN PROGRAM) * 5640* * MORE FIELD DEFINITIONS * 5641* *INCLUDE,'INCLUDELIB',,PROC_LINKAGE *  5642* REDEFINES FIELD1 * 5643* *INCLUDE,'INCLUDELIB',,GET_VOLSER * 5644H* * 5645* WHEN CONVERTING BETWEEN LSI-2 AND LSI-4, * 5646* CHANGE UNIT_TABLE_POINTER *  5647* * 5648* * * * * * * * * * * * * * * * * * * * * * * * * * 5649H 5650VTOC_RECORD START  ;*MUST* BE FIRST FIELD IN PROGRAM 5651 FILLER 48  5652 DISK_PACK_LABEL 8 5653 END VTOC_RECORD  5654I 5655RESUME  5656  5657VTOC FILE,'VTOC',0,VTOC_RECORD 5658VTOC_FCB REDEFINES VTOC  5659’‡Ł‡Ł‡Ł# žlĀ×ĒŅæ·Ÿ·ƒ·‡·E¢Ńµdz ’³ƒ³‡³£N§²€„ŽČĮŸĒ‚Ē’Ē݃½‡¾ƒ© ĆŪæŸƒ‡¤E¢· ”ǟ’™£6§ž€„ްĮŸÆƒ“‡™‚­’­ƃ£‡£ž¬Ÿ“ŸØŸ„Ÿ‘šĪ‰ØČūü•ĖņłŲśųń˜«Éļēź #ć$óōõćĻMTĖX&¢ƒ\̓a£^Ą„NyJ¼QĒĮŸĮĀS¢YĒP ’PƒT‡KI IH VTOC_NAME 10 5660 FILLER 28 5661 VOLSER 8  5662 FILLER 12 5663 VTOC_OPEN 2,0 5664I VTOC_UNIT 2,0 5665 FILLER 14 5666 RESUME  5667 END VTOC_FCB 5668  5669 IGOTO G_V_BYPASS 5670*  5671GET_VOLSER ENTRY  5672* 5673 VTOC_NAME = 'VTOC  ' 5674I OPEN VTOC,INVALID_VTOC,INP 5675INVALID_VTOC  5676 RETURN GET_VOLSER  5677 5678G_V_BYPASS  5679I 5680*/$  5681‚‡Ī:Čꂽ¼¢¼%’»郺E¼ŗ샷‡²ƒ¼‡ŗƒµ‡³:Č Ō_ƵK¢Ø ’§š‡° !‡Æ:'ž‡ ‡© ‡Ø:'’„# æ¤Čž{’ æ“›žxæSžtæš“žqæŠvžnUFOVČŹĻ•ųĖń NĢö,+*ž ƒ¶d:J ’’’’‚³‡³‡³’³ź-ž‚ž¦’®§®ƒ§R’©ą-<ž‚žœ’¤§”ƒH’ŸÖ-<ž‚ž’’š§–:¤žŒ:¤ ‡”‚”‡Š ‡’¢Ž’‘æAŻ# æ>Už|«Ų00 ©ØŻę§ݬ*(‚®‡®‚&Ā&¢&%’% žž‡jƒ"_’„ €„Ž£VŠ¢T£1Pƒ^ žŒĪ ÚTĮ ‡ ¢Ā–Ē– ’ ž§‹ # æ›’ž{æ…¦’žwŽˆŠTVÖüū(C @` ‡£‡6@AĒ”%€Ą' ŠŠ žž+ƖN1B6Įß&‡‘ß‘žo p„‚c # ž† žžƒ žkc ’# Æ­ƒß‡äƒä‡ä:ˆ IĒ ’E€Š‡Ū‚@‡@ # æ>e ž{ ‡Ó 0‡Ņ:'ž‚ # ƒĶž} 1‡É:' ž‚ # ƒÄž}ƒĆ‡Ć ‡µ‚Į‡Į:ČCĮ # æ’ ž{I Ƕ‡§ ‡¤ƒ®‡®:Č žŚ 0‡¬:? ž–ƒ§‡§Ć— G€ ‡”Ē”‚‡:?ž‰ 1‡š:?ž„ ‡• # ƒ†ž}ŹČ«‡ˆFŠĖ‹+*.?ĢC¬B7ƒŌąƒĶĶÜƒĻ‡fƒĪ’Ī 1V€T€Šž6ž•ĀĒ’æƒĘ‡YƒÅ’Į 1I€G€Šž)žˆ@ ¢¹’±ž# IƒKž!¢µ€„  + # “@†’žĢ ‡= ‡<:? žŠ£™€‡ ?Ź ’ƒ“/’#  ƒ/žy žw£&€„‡“€…‡’æ‡k¶žn"•Dšųćłćmn!ƒŽH V¢ÜĄ…ÖŪ@ą‚Ł„†žCĪ¢Óćfk9IUE€€˜@Ē+tŗ€€˜@yĮ# £X+9 ĀÄ’SæT  łžv‚æ‡æž‚‚¾‡¼ 0‡¼:/ ž‚ # ƒ·ž}‚±‡±ž‚‚°‡® 1‡®:/ž‚ # ƒ©ž} ’§ ‡££{€€+ Ć”K’(:/ŽqŸp ‡™:' ž†£–€€“D # ƒ‘ž} ž{ÖĻ’OLSL/LO26ö4*,.ƒ‡Ŗƒ‡® 0‡­‡­:ž:žšƒž‡¤ƒ¢‡£ƒ›‡¢:Gž‘:žŽƒ”6‹š‡’: ž…ߏƒžl’‘# # 懊že «ö#¬"Gļģ:ž¬ƒr;‡q: ž³ßnƒlƒh»›ƒš - ’ē_£“攥€Ģ@QBž¤ž +køćT£ŠƒTžģ£…ƒ…žéžY# ’$%ƒÅ +žu:žrž†ƒ¾ +žƒ:7žk ‡øžhC @ß“ ‡³§³¢³Ā³ ’²ƒ+’±ēąqe Iƒ­Ć­G! G!‡Ø@ BŒ„ˆ…’¤ƒ¤‡¤ƒ¤‡¤ ‡•ƒœ’œƒœ‡Ÿƒœ‡žƒ?IĒ‹’“ƒ“‡˜ƒ“‡—æŠc # Ųź²ā—• ‚ē̢𣛠”„¦*BLOCK AU  ’IĀ+½# ¢Óž¢Ņ 1ƒ „ƒ# I?‚ʣʄ€+U½# ƒMH ąǢ’ĀăF ąĮ# æ½ ž|ƒ»‡±ƒŗĮ ‡¶ƒ·‡·:Č)䃧‡Æ’²⃱ ކœIĮI’¬Ś£œ€€; ū¹ćŸ€Œ@Æ+kUŗ‚ŠʀyĄ@NyC¤£ˆ€€ž„ƒƒ‡‹ # «, 4ؐČˌĢóƒśɃł Sžˆ DžžƒƒōŽōB # æń) ž{ ‡ķ ‡ģƒZ9‡č:'7žˆĆRX@AKN1£N # ƒŻž}€†K€…»Ež‚ž…žˆˆ†»@žž„+žs # ž} ‡É£|ƒĒ €…‡/€†V‡“žKŌ€€ć¼CC ž‚C „€ ‡®:'ž†ßߢžm Ž^Ÿ] ž|£œ€ ‡™Ć G ‡”Ē”‡”Ē”:ž‹ƒž‡ž: ž†ƒˆš‡†“ # ƒ–‹–ž|¬Ź³ŌÕIR *+€.­®‚ƒ„#&!¢¬’¬ƒÆĆ£® # ž}£„ƒ„ žB90.r# £Z1Ā’”‡”# žz§TƒžQ£—€…–›S„…‚™„†:Č É£€…–‘B„…‚„†:Č# ŲŽŁČÜŚ ĖÖ2’YSINƒµ ą˃³‡Æ¢m’m žƃkŽ­Bƒ§‡©# Ćg†£€„yQÄ ¼B ‡ ‚‡††ƒš ŲĪ¢T’T¾š˃Q‡ §“ƒ )žž„¢H’H # ¾Ź|¢B’B žy«ŲTOó) ē¦ć}€@5ŻI¢1%C €B'`(‡j%C €@'` dÉKū#žo£e € Į ž†£`č€k€A£ 悮YŸX¬ ‡³¢’²ʃÆDƒ Ā # ¾‰q% ž{ƒ„Ć’„‡„§”#  £~’”Ž|Ÿ{IC @`@Ą€Ä@+k»c #  Ć~ƊK £1Ä£ˆ+ž ži¾cŽqŸpŹ Ė Č C @ ’ @Ā…Ä€+½c # EXEC (F200)  AU  YY/MM/DD HH:MM:SS /JOB (FILE IS OVERWRITTEN) > FILE ALREADY EXISTS. OVERWRITE IT?(Y OR N)  VERIFY SUCCESS VERIFY IS PROGRESSING , END OF MEDIA, MOUNT NEXT VOLUME?(Y OR N)  END OF MEDIA  FILES DO NOT MATCH SYNTAX ERROR INVALID COMMAND  DIRECTORY NOT FOUND  INVALID UNIT NAME  INVALID OPTION INVALID DECIMAL NUMBER UNIT NOT FOUND INVALID FILE NAME  UNASSIGNED LOGICAL UNIT & FILE ALREADY EXISTS FILE K ’’’’OT FOUND ON " NEITHER UNIT OR VOLUME SPECIFIED CLOSING  VOLUME NOT GIVEN( CORRECT VOLUME NAME IS  PARAMETERS IGNORED & FILE IS SYSTEM FILE BAD AU  UNITS NOT SAME TYPE INVALID DATE  INVALID TIME  SYSTEM LOGICAL UNIT  NOT LABELED  UNITS DO NOT MATCH  JCL STACK FULL 8 FILES DO NOT MATCH AT RECORD WORD 2 FILE DOES NOT EXIST, CREATE IT? ĮZBÉPć* from tvxCI ĆÜXQĮ# †zZ$ 0†::ĮŸĖ‚ц7 P†4 †1:Į+ŸĀĆĒXQb ’L_’½’ @ž ł ŠX£¼Ā¼@*ž”ž+ Ą€QP¼€6Ģą‰qJĀ©Ä@)Ą„Ą5½ĀHQB|„@‚ź 1†:ĮŸ–Z$ƙXQČÖ֙ǔ¢˜’‘¢—’Ÿ–‚/D †,¢’’ˆZ%ž)šź (ĖŸ€’ž<N&†ƒć‡Üƒā‡Ū ‡Ś:ĮŸg‚×‡× ‡Ö ‡Ń:ĮŸ^ &‡Ģ:ĮŸYƒĘ‡ĖƒÅ‡ŹƒŹ ’‡ČĖ ‡½‡Ā P‡»‡Ą "‡¹:ĮžšžŻ 1‡³:Į žź‚¶“¶ā¶%„G'‚<‡©:ć Až½ƒ­‡­ƒ­‡”‚¬‡¦:ć ‚Ø’Ø` ļ§ė§€A„:ć 0‡”:÷ žĒ‚ž‡ž‡ž‡ž ‡¢œ’Z$#  ÉŹÄćĘÅŃŅŠCIēółęUFś ņńéč¢gā§‚§Ą€Ä@+k žz¢ ’ Z$ŸžC @ ‡R‡R‚™‡S O‡R ‡M:Į ž‚c # p¢’‰Z$ŸŠ¢Š’„ž9ź ĖhG^`$ BATCH FILE NOT FOUND* BATCH QUEUE EMPTY - PROCESSING SUSPENDED " BATCH QUEUE PROCESSING COMPLETED  OS4 INTERACTIVE MODE RESUMED  LUN EF NOT FOUND  I/O ERROR ON LUN ZBmF1EBE5E3--E3E1ć Až½ƒ­‡­ƒ­‡”‚¬‡¦:ć ‚Ø’Ø` ļ§ė§€A„:ć 0‡”:÷ žĒ‚ž‡ž‡ž‡ž ‡¢œ’Z$#  ÉŹÄćĘÅŃŅŠCIēółęUFś ņńéč¢gā§‚§Ą€Ä@+k žz¢ ’ Z$ŸžC @ ‡R‡R‚™‡S O‡R ‡M:Į ž‚c # p¢’‰Z$ŸŠ¢Š’„ž9ź ĖhG^`$ BATCH FILE NOT FOUU€†„VE’²’²ÜÜTži’©€„`’Ŗ€Z’ŖӀ`„Zž‚’ŸĶ A€Š„Z’ ’  „Q’ž€Z„gŸœ®ž€„Z A’”žszåłßĀ£ēÆ æ:!RV!Z }!i Ž ’9˜ ƒ€ŽéN’Ķ’Ķ Y „A€‚„B€€S’ĘĮœ‚’Äé’Ćē¤A „Š’æ’æ’æĮ’¾„Z’½€Zß Y€„’¹Ū€A„ÄĄBā ž’±€A@Š€ ĀĄBĉĄZÄŠĀØÄ‡Ā§Ä@ „gÄi’¢Ÿ¢„Z A’ €Zžw’ „A€‚„B€€„Z’‡€ZC’‡«¤AžN zĘqåłßĀ£ ƒ;˜@€ ‰Ž9˜H&ž®*’’£ ‚¤B1:’¢Įœ’ Až˜ „Qž© B€ƒ’™£™1N€ƒŒBɀ…6[ „…„ƒ„‡„„„ˆ €1²’„ „gŸ‚z"hŽqå!År©žs¬žq؞o’q§žl ! ‰   „_ € "*’Įß H1K€QJ€G€‰ŒBЌZĮžˆž¼€B€‰ž ŒBõ C @C @ž€ p„€Ä€_„‚B ’„__„ƒ€€ „__Ÿ6Ģ „„„‹„Œ „… 1„† ž ‚ B*’’¢ pE/p pž–€‚„_Ą €/p p @*ž3Įž1*žØ_ €1Až&# /p p@pKp@„gŸ =*’’ ‚¤B’’’’ B ‚Ą…C  B1H’‹Įž„g’ˆ’ˆ€gŸ‡©žyĘĀå ƒ ‰Žbžßžę „N „O’Ūø QĄ‡J?QµC @ QąBĄ”Ä[ĄˆÄTĄƒÄP G Ä`Ą„ÄQĄ…ÄRĄ†ÄS GGGÄ_Ą‰Ä\ Ā·G!Äac ’° BĄœÄR IG€+ÄS’Ŗå’¦ć’§€‡F@  B€,„ @’Ÿ€…Ą†G Bĝ’“ B€œ„R IG€ÄS’Č’‰Ę’Š€… B„ž’‚ # !i!R:V }’x¶žuq  Y ‚ 1C€„Ž‚ ‘# MTzC @C @C @C @C @ž€ž€ž€ž€ž€`p „F¤Yc B/p $p# ”? IŠ[QbG„WÄX’¹’µŚ’“Ų’³Ö’³€Z„€ž€/p(ä€p(ąYą@IC €@C „U»?p(ą€+p(’Ÿ# ’ž’žŌ’€U„R€V„_ „S’³’• ’”’ŽÜR€_ ’3’ĮžC·#  æ:!RÆV! ƒ-Ā!K u£ Y€ƒIA@ AĊ# „P B ƒ1L€ŠŒZŸ6ĮÜP €1·€PA¬# ’„ĀĀƒÄ‹# »7šÆIGVĀÜWÄX€W BG! ÄRÄ]„^€TˆVCĢ ˆS„S»Ÿžœ’€U„RÜ`ž… „`’•’0р^„S B Ą`G€ G! €RB„R’#Ć’"Į # !iZžĪžĢ’Ö¼ĄQ;ž€/ph¤@ph@(€Š ‚¤P+’Č?ph @kph „°P+’æ Pž°€Ÿ6o¤P€‰  €€Å @€€Ž²ēž›øPžvžu Ą€ Ā  ‰Ą„ΦQĶž€/ph„@ph  ‚’ž?ph€@kph L ’’’’?ph @kph „ # ÷ž­?ph @kphžv"ķ7½7ZPMT9˜FĄZ B+€€E(ųŠžz(# „^„]„[„`’·š’¶ī’±ģ’„Wš„X€S š„S’¬EI@ ž”„Z#  Y €¤\’£€€Ī€[Ē „P€WĄXGÄ[€Ø’‘ # I€¹\žaž`Ü\+U¹*ł€€„Z’ƒ€Z# !R!i æ:VZ Y ‚¤B1J€„y ¼ņ YĄQ^ž³\č YĄQg ! ‰  ¤W€€„X WĄXJ’SŻ+ÄX¤W ƒ7€µ€„y ¼±¤Bž—® „N „O’KĘ Q€‡ ?É’F # łž}ųž{ŗžy’=¶žv „N „O’5Ó QĄøMžI+9¤\ Y €€\Ä+Ü\JžR9„P’#€P# >? „\€Fæ6ĀÜ\ A€‰„B „[ „I„Z€F’ ļc€L\’¦Ż’„ĄFXšN9C Ÿ€R†*«4mmmmmmmmmmŗž„«ž‚Ŗž€B’‰ž…€[„G€Z„I # ł/ė A€Ÿ6Ažk€D„Y L€€Ą„WÄX’”ĄFXC Ÿ€*mmmmmmmōōō£ōōō£%0žĘ’®½€WĄX’«AŸŖ’ŖDAŸ¦³Ÿ¤’„AŸ”’¤€S„O’¢„`ĮÄN’ŸC’šµŸ•€ZˆN„ZĄYųNž‚ĄN€YC„Y’’‹’T’„Ś€`LžS +ÆP!R!i$X“æÜXžÜW€FAžāžč „Z „[€N„W€O„X „IžŻHO’]G „[€N„W€O„Xž¢’Å’Œ€WĄX’PAžĖ’OGAžĒ³žÅ-ć A€6Qž…€SƂ‘ŒYK’=Ažµ’Œ’:ĄYQ”ĄFXQfž¬’…ėžxIö'’`€WĄX’%Až ’$EAžœ „[ž‘ž…€SƂlŒYH’Až’g’€YDžf’cÉ# L€WĄX„€Äž€ Ÿ€s  A€Ÿ6AŸ—€D„Y€F Ÿ€mmmmmmmmppp»»mIŸom:’¹’¹„WÄX’AŸµ€PĄQ’³B“ŸÆ€WĄX’­’­ĆG’«AŸ¦’©;’Ø» A€6Xž…€SƀY–ŸR€SĆ’œDŸ“’šAŸ’˜’˜€YAž\’•’•AŸ”Ÿ“’³žw %Æ-;:’!K!R¦!a†C„„C’n’Į„W„NÄXÄO’½AŸh€PĄQ’fB“Ÿb€WĄX’`’`ĆG’^AŸY’\;’[» A€6_ž…€SƀY–RY’RAŸH’P’P€YAža A ‚Ą€WFž‡ž…Ą‚€XFž‚’A’AAŸ@Ÿ?’…§ žk -ö@’æ’'’'„WÄX€Y )’øC’,µžö€NĄO’Ažī€WĄX’’AžčG’Ažä’;’»€SĆ’DžŪ’ AžŲ’ B’—žfƖ E Jž‰ÄEIÄ\ÄY‚ŒS±’ŠžY’ˆ’Œ’‰€Z ’„ZžĆzń!a>C„†1’w’3„WÄX„PÄQ€Y )’oBµž®’£’£B²ž©€WĄX’ž’žĀB³ž”’š½’™B’[žrĆZ E Jž‰ÄEIÄ\ÄY‚SŒO±’Nže’L€D„ZžŠ%(Æ!R¦„`’C€`Ÿ€s9 A€Ÿ6AŸµ L€€Ą„WÄX’h€F ž€ž°žž×ž¼Ÿ¤Ÿ£žøŸ£Ÿ ŸŸŸžŸŸœŸ›ŸšŸ™Ÿ˜Ÿ— ĄDSA’GVĮ ˆWE „[€NĄOž—„WÄXP „[ Ižmo"€WĄXØ’‰¦€WĄX L„€ÄžÕ(+EžŅ A ‚+’Ą’ ĄDSA’GVĮ ˆNC’µµžĄ„WÄXM „[ Ižž A ‚+’¦’€W®ĄXŒNFрOFž‚žŒ „[€WĄX’—’—E’–AŸ•’•;€WĄX A ‚„Ä‚/€€ „€’‚žŽ7½CÆ æ-; L€N„€€O„€[Ÿ€ss€FFAŸ žų’č’č A€Ÿ6AžŠ’źAŸį A ‚¤` A€Š’ŪĆ’ŚAŸÖ€FĢ„F’Õž¾Ą„@BK@" @+€† „† `€€ € @6Ī’ĀĄF@ĶÄF@`ą`/€A„…€B„†`@ ’µCŗ“žVžU€FĶ„F `€‰ ’„‰Ź€€6Ē؈ A ‚’„AŸš A „‚€„ŸĄA€€@(ŒŠĒ@(€ƒ ’ƀ‚Į# Ā‘D ž}ĘĀ!Z!RV }!’ż!ŖM9˜}Ž­’q’q A€Ÿ6Įžå B€6D6B’īĻ€F æÄ A€ „ A€Š„Z’ć„_Å’įAž×¤` A€Š’Rŗ’Qø€FĢ„F’Mž6Ą„@BK@" H€† „†@(€_G’ACŗ@ž»žŗ€_ž @`ą`€…„E€†„F „D`@’0ą`€„G „C€…„A€†„Bŀ…ƀ@„@`@’ Cŗžšž™€` AĄF@ĶÄFĄ@œÄ„‚ ܉€‡„Z L „€„’’ „ZŸ‹„_’‡’‡€_ž€Ÿ…n» ååCARTOS€MĮŚB083071309535000830713095350 830713095350'SCRATCH VOL