IMD 1.17: 27/06/2012 8:50:00 PASCAL VII.0 VARIABLE DENSITY CONTROLLER SOFTWARE CONVERSION KIT PART NUMBER 95-0010-102 MANUFACTURED ON 29-OCT-80  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ÅÙÔÁ×@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TERAKÀß‹tÿý€”vÿú€ÿ ?B-NO BOOT ON VOLUME €ü@ˆ†w pˆ@ˆú‡w À ÿû÷ wPø×­ ×­ú w œ ÿþ÷ ® fŬÈÄÙñ@ÄÁãÁ@@@@@@@@@@@@@@@ðøð@ðñððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ðñððñ@ÄÄÙñ@ÄÁãÁðù@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñð@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁññ@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñò@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñó@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñô@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñõ@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñö@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñ÷@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñø@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñù@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁòð@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁòñ@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁòò@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁòó@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁòô@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁòõ@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁòö@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ àöàÔàDà(àÅ—Å%!Å—kh÷ øÿÇHBfÌÎ ûÖ …  Ÿ ÷•BæÂ †ßåd  7ŠÚÿÀÁ×h3÷ øÿõ7 ?IO ERROR WHILE BOOTING? 7â ?NOT ENOUGH CORE TO BOOT? ÀåÆ  Âe— àÊ ù· — €Ó‡ß\ß• vÿß• öÿ7* SYSTEM.PASCAL? wÜ7SYSTEM.8510.QX? @AàÁw¶Â ‰À®Á Âå‰ÀÂ`!ÁÒ ÒmŽG~Àd!Â~â†� ‰â ·\·Z÷D‚è……ìøÿÍÅå C& ÀH& äÿ† 0  ÷ELÀ Á€Â ‚~Àå  Â_€‚~ßU@pÿÄÄe ÂÀ À & Ãå€ Äåú€Ä%òÿC Ãåý€Ãe€€ Á èöU&f¦& Å BA!AဠûåCß5 DÄ � !ဠûA!ÎU€ Á à  C`C!Cá‚ ûƒ ƒU‚�€€ Á ÌöUÄþÃÌ5Ìw \ýÕE€ àÅ‹å÷Ìw 2ýÅŠøw (ý å׋ïC!ÞÌÔ Å@Å D~Ì‹þ€Ì �×  w¦ýwDýÁD’Ô¤  ü€ÁåÓ‹þÃ5ƒ åÀ€ÁeW ê‡7 ?YOU DON'T HAVE A €€ ”� ß‹tÿý€_�vÿ÷ @ @ €þåQB20CVTSYSTEM.8510.QB\™¡5SYSTEM.8510.QX\¸ 5:SYSTEM.CHARSET\"œ:V SYSTEM.FILER\ågŸVY BOOTER.CODE\™¡Yz SYSTEM.PASCAL\“¡z|QXBOOT\I¡|~QBBOOT\I¡~€Q2BOOT\åI¡€– DM.8510.QB\™¡–� FORMAT.CODE\™¡�µ STTK.8510.QB\™¡µË STDM.8510.QB\™¡Ëø SYSTEM.EDITORååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååà[YŸ ‰ÀÂöÔ<Àfr.¨€’€4ÀH'€B&€Jà8àåæ$€ !àÄCOPYRIGHT (C) 1978, REGENTS OF UNIV OF CALIF,SDÿÿÿ ŒüZô ˜˜Z ` fš–:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú "*2``@Z‚`dþÿ‡Á �%  D~ "Ð ƒ~Á ø�E D~óÁ D C~Á �%  D~ Ð ƒ~Æ& Â<‡Ææø•AA~•€ÀE€ÿÀÕÀ Àe6Ä!a6Ä!@Â$è% 'ê'@&0(b6Ä!c6Ä!ž ¸ \ j .  ˆ ®   º ‰‰‰†‚‰‰ƒ‡‰ @`&‡•„ ÄE&~‡•AA~•€ÀE€ÿÀÕÀ Àe @`&‡•AA~•€ÀE€ÿÀÕÀ Àe @`ˆ‡„ ‡–åü–åù ö‡•�`‡Äšó`㇀ @€ @€ÿÿþÿüÿøÿðÿàÿÀÿ€ÿÿþüøðàÀ€f ~f{fxfufrfoflfifffcf `f"� t�Á @L‡�Á A€@@A ‚tBtÖ ‚B@PžÂ<‡� Õ``f~‡ Õ�``A‘~Ö ‡€€c Ò‡€Že�‡•€fÀ rððððððþßðHJKC  >P  ?]f$Zf&Wf(Tf*Qæ NæKæHæEæBæ?æ<æ9æ6æ3æ 0æ"-æ$*æ&'æ($æ*!¦‰ ‰ ‰—/Îef�AA�,þÅ"ÿÃÿÂ<Ê•w�ÿ· ÿÎe¦Îe¦Îe¦Îe¦ Îe ¦ Îe ¦Îe¦&•ý€À fÎ € € ‡ÎE€‡Že‡z‡N ŽE‡•€ÀE€ÿÀÕ7¢ø×-Œø Á÷åÿ7 ÿ& ¦ÄÍÖÁ Gà‰÷ 6ý€ÀEÿ7,�ÿ‹ €�€6 ?�  ÷ w pÿrÿ@$@$@$@"‡‰÷ �EB~‡�€fÀ r†‰&‡z‡¶%Ž%‡‰·· 7 ʶ*Ú¦ææ\7 ¶¶*¦‚€€`€`�WtüÿB &ÀŸ¤ÿÀE€ÿ7 žþ ÷5@|þÀ‰<7 ‡þw Ìÿ{7 yþw Âÿ7 ps w ´ÿm w ªÿg×-Á �aBÁEðÿÁ B<øÎÂ<‡ ú÷ ŽwN �EC~�Áí B~‡ŽU‡�€fÀ r†‰f‡�Vpf‡z‡ ‡Î Îe€‡N ‡€�–ÿ@À•ÿ‰_÷ ’ÿ a z‚ÀE ÷ ~ÿ   ~ÀU€æÃVÿ3�Tƒ ÃE@· Jÿ÷Dÿƒ÷ Bÿ9æÃ4ÿÀœT?�4ÿƒ ÃE@÷"ÿ÷ "ÿƒ×-ÿl8�@ 6÷NæÿÿÂEðÿ ŽLÀU@àtüÿ7`.æÿÿ~BÂEðÿ ‚B Ž@Wtüÿw`& B~æÂ<‡Žå‡z‡¦»¦¦º& ‡€ü�& ÁE7 ÎýÀÿ?Šÿ· ÿ~ 7 žýÿE@¨þÿ‰ÿU@ þ· èþ÷ æþ÷ ÚþÍÿE€Òþ7 Îþ€wôý÷ Äþý�€wºþÉU€ Ó æ&· ªþ· ¦þä÷ šþ­ðÿÁ N\øÀEðtüÿ& B~€ &‡ž‡€ ÿ‚> ‚‡‰÷ ~�UB~‡ ‰æð‡ Õ�@ ‡À €aÁ �a!‚~Fƒ@àÀ à€Á ÐB~ åË *å�€7 �þ7 Žþ7 €þ÷zþvþ÷ xþ7 vþÿE€lþ7 hþ÷ 7 ÿE€7 �‡tÿvÿÿÿ÷ ôÿý�€wêÿÉU€ Ó æW r7 $þ7 "þ‚~ÆöÂ<‡•€ÀE€ÿÀÕÀ `‡•€ÀE€ÿÀÕÀ `¦‡•€ÁE€ÿÁÕ€W @p@À `‡•€ÀE€ÿÀÕÀ Àe À`&‡& Õ`‡&Ž Õ`‡÷ þ^· Êÿ·Âÿæ��€ÿE@®ÿ�÷ ´ÿ�&À¬ÿ?�žÿ  ÷ –w šÿ€ÿU@†ÿwüü÷ „ÿ>÷ €ÿ6÷ Æý��€ò& Àßhÿ÷ ^ÿ7 XÿÀå �•€ÀE€ÿÀÕÀ Àe À`&‡•€ÂE€ÿÂÕ€�‚~Â<‡ ‰€ ÿ‚7�ÀZ ¢ ‚� Ò‚ ”‚~Â<‡ ‰•€ÀE€ÿÀÕÀ Àe À`ˆ‡„ ÄE€ÿ‹Fÿý€ÿ• @ÿ~�€ w 2ÿ ?�*ÿ  ÷ "€ÿU@ÿ· ÿ÷ ÿw„üÿE€ ÿ7 ÿwvü�ÿ‹ôþý€ÿ• îþ�€‡FRX\`–¢¶ºÈäì&   Ô @àÀ `ã‡Ô ‡•G´7vz Ö Î‡Ö  ‡7ˆH€ ÿ‚7��ÿÀZ 6�W ÿ‚w�{ÿÁZ N ¤†ÜÿÿBÜÿÿ¤ ûF J ^ f j n x | Ü à ö ä è  " 6 B îD J f Œ ž ² Ò ê 2  4 ^ v ¬~˜ ˜ ˜ è  ˜ ˜  ˜ 6 j | ’ º Ì â ì ô ¤h*06NV\bz€¾¯ öÖ Â<‡6 ù•€ÂE€ÿÂÕ •€ÂE€ÿÂÕ7ˆ �€¤ƒ~ æÂ<‡& ûÎEþÿöEþÿŽ÷ Jd`·n�þÿ ¦ „¼Bœò@B¬ø Â<‡Cþÿ÷`ï¯`ï& ΟXï÷ ¾þ@ •Åe E`E``B~Å8ïAÑ Ew0ïw.ïDw$À &ß  ‰‡Z&X‡‰Ê‰‡€Àç(¡ &‡7 |övª‚Ð7 nö|ªôÐ7 `ö|ªŒÐ7 Tö”ªÜô ôÐ7 <ö”ªèô ôЦ6 Æå×'ðß(ßð�À(@`@`�Áå( ƒ‰(‡¶“�‚+¶mÖ Ž] €€‡ à†‚ P‚~P�‚~‚��eŽe€NPŽP ‡ à†\É =€¶ "ù  Š\¶m¶¶Ž\ � W Á �mÁ ÁefÉ5`\Å_Æe wÊõÉ5 ÅôÉ5@ù��àÉ ù��W à†‚ ‚~”‚~ÆeÂ<‡‚ù��e€€e€`�`!˜‚~òÖ Že€‚��ö ¤C~¤C~À €å–%Â<‡ € ö ¨óC~¨ï\É‹ýE’ Šâö5Þ\ù\ù\öfž F^ªT 2´&²ºÐØàèðø,FRð,: fÁ6� C~€€cêÄîÄeüÿãίøíö¯ôí–%‡@ ÁeüÿAâp®6®–%‡ë‰€� "1, 1,1,^ ‡ ‚ñ%W Y‡Áå#w (Q&À—vÿ  I‡×   >†7 òÿ7�(w& EFHJKABCDWX][ôúîèÔÐf@¤þ@’à· N· Z·¨ÿ÷Œ[ ð ^Îÿÿ‡A ãñ%ð^·AØ€�æ&DaÁefÔ„ Â¥_û— 0‡— 9ƒÂE — A‡— Z‚ƒ ë‘�éÄå ƒ ‘�ü‚Ÿ÷‹U±7ŒM†wŒG7 ˆÿ–% €@àÀå`�?�Rÿ ŠwLÿ€�÷öÿVÿ÷ôÿxßx|ßxtߪ@�× ý�ÀwôÿÉU€Ö Ó ·:·:� �îƒðCàà ÃøÁ Á fÁ �eÁe¦ƒ €$ $ $ $ @A ÁeÁeÁeÁeé Á>„„ƒ‚ÂeJÂ<‡ K�À÷ ÒÿÿE€Êÿ7 Æÿ÷ßäÿ�‡w z÷Âþ2@”tÀå � w ìÀEt÷öþ@”_7 Àå � O÷ àÿ0�€ÀE€À]Ôÿ†‰``•&& � †`À Á ú‡Žå ‡Î‡ŽåûøŽåøõ•€ÀE€ÿÀÕÀ Àe @a&‡&•6•‡ŽååâŽåâß•€ÀE€ÿÀÕÀ Àe @a&‡ŽåÓÐ!$'(****AND 'ARRAY ,BEGIN CASE CONST DIV 'DO DOWNTO•€ÀE€ÿÀÕÀ Àe @aˆ‡ ‰‰·\ÅdòÂ<ÃZòÄîÿ‡·@�€@`@`$fH@€à7 �`Áe‚À à€�B~Á  B~Â<ãÁ _ ELSE END EXTERNAL5FOR FILE .FORWARD "FUNCTION GOTO IF IMPLEMEN4INÿÿ·7ú@`À ð d‰ìd�&`f&d&b& ÷Ê�Á �mÁ Áef )INTERFAC3LABEL MOD 'NOT &OF OR (PACKED +PROCEDURPROGRAM !RECORD -ùÉ þ�É‹ ‰Ã¦Æe Á¤ÿá ¢rþ·–fæwœˆÏBCâ ‚âÊ% €Àe€ìúÿ€ìøÿÀå 7d÷,ñ\ã ·ÁAâÉ‹á B‚â·J@á BREPEAT SET *SEGMENT !SEPARATE6THEN TO TYPE UNIT 2UNTIL USES 1VAR ‚âÊm8~@á B‚âÊm*~@á B‚âÊm~÷ Úƒ�ÀÇ·øÿ€·ìþÀ ð  ðþð÷ Ðþ±° ÇÊÿ�€ WHILE WITH �àÞŽêÞŒê�‡7 è÷+¦€& æ€@  z7 Ò÷+¦7 Ê÷t+7 Â÷X+7 º÷R(7 ²÷¾,7 ª÷V(7 ¢÷Â)À 𠀉I•÷€ðªþ? zðr·¢þ&÷ ¦ÿ7þhð† Ó �àAâFìúÿÀ‚þ„ ÁeþÿAâÉ ÷-BðlþÀŸ:ðÀ ð ÷\þ.ðÂ<‡ÿ‹$ðW¢Fløÿ‰÷ð7 š÷ö-·\ vwŠ÷÷ *ùÂ<‡÷ Rù‡×'ðß(ßðÞ(‡Ÿ(ßð‡æ‡€@ BÈCzEG@ÃHPtJ$L€–¾M ¼nO(k<þ€ ÕÁ  ÁmðAâÉ‹×Fìøÿ·! ïåƒæ &æþæäïffDúÿ„ …Åe …wÆï5 wÀïDÄeþÿã‡Â`ÎÍÂ<‡ÂnÇæÍC÷”ïÂ<‡ÂQùºR·ChT¥ÔV焵W!æcY©_[ʱ\¼¢^^k `#Ç­aìxXc'×ex†©fhShÂjQY¥k¦oNm�Ëo9?¡p�IrÊòüs|o�u®ÅEw7öxß„šz @|Ηð}½€ � &À À & ÀÔþ�  tÁðïÊ•ÿ ßU€äÿ ”QŠƒ~Ê•ÿ‹Šþ� \ü׌‡ÎUÎE׌Àx׌"„Àâÿ†€Š€Š  ‡ †Àe †ŠÃÃ% C  ƒ`ƒ`ƒ`‚ ‚ ÃåýÃe÷�ù·�ó‡7ŠîÃý Ã%Ãå‚ ù÷‹¡Ãüü Ã%Ãå‚ ùÃ%·Š¶·�±·Š­Â à ƒ` Ã%ÃåÀŠÀŠ�÷�ÏÿÌÿ÷•@ÄÿŠ7мÿâÿŸ 6_ 8÷ °ü ßàÿÎÿE€žü7 šüŸäÿ‚�€_Æ÷þÎ âÿ7 vÿÂà7 þ7 þ7 Pý÷ àý7÷"äý‚ ùƒ ÷�“‡@€îtÜè@@Tÿÿÿÿw h07 Øý¦÷ ¬w Èì†w Nö‚!÷‹.ÿ7 ´ý…ÅáÅeJw¨ýwÿÀâÿŠ÷� ÿ ÿÍ €ÀU @e� ‡@ãâÿ…wxþ¦BEf€ÀE€ÿÁPàÀÿ$ ÿ ÿþLÿNÿ÷ ìÿý�€wâÿÉU€ Ó æ· Ôÿ·ÐÿÿE@Ðÿ÷ Âÿe÷ Àÿ]& ÷ Àÿ À]pý�÷ |ýÊ‹��D~‚ G~ Á5�E~� � ����E~�‚…Âe€— €ì‡Âå€ ‡Â倗 à†Âe€ ‡ÀâÿŠ€ €` à†Àe€  …„ÿ|ÿ’ÿŠÿ€7йÿÀ• 7Š®ÿÀ•÷ šÿ· ˜ÿ7Àß�ÿ2÷ Žÿ7 ˆÿÀå ÿ‹‚ÿý€ÿ• |ÿ· tÿ ~" w dÿ     ÷ X· Nÿ  wŠKÿÀ•  ˜¦ÄÿÞÿZT¶ÿª¢„ÿ|ÿšÿ˜ÿ˜¢ *Ì’,÷ ðÿýwêÿÉU€Ó Î÷ ÜÄØÿ”@ÀEÿü”€€ ã  ×@İÿ7LW‘wŠ:ÿÀ• 7 ,ÿÿ‹*ÿý€ÿ $ÿý�?� ÿ€ÿU@ÿ· ÿ÷ ÿ_ÆÿE€úþ7 öþwÜfÀ Áðþ÷UêþÁíæþ?�äþÿ‹Þþý€� ù�‡�€÷ ÂþÿE€ºþ7 ¶þ�ÅÅEüÿÀò€À €w<÷•áE 7À®$÷ ®Å ø�7 ÷t$Wa÷x$Waw‘¾À†$÷ †÷¥ü¨ÿ ÷ŸÜÿ ÿ÷�››ÿü–ÿwð÷µ ‰wÖÀ¯‡PÿRÿTÿVÿÓ Å+÷ àÿý�€wÖÿÉU€ æ· Ìÿ·ÊÿÿE@Êÿ÷ ¸ÿ÷ ºÿ ÿŸ°ÿºÿÿU@²ÿ· ¤ÿ÷ ¤ÿ_ÆÿE€’ÿ7 Žÿ_Æ÷µyÀß7 |7�vÀŠ$÷ :ÿ‹˜ÿ)€w‘mw‘e÷•dÀ“$÷ ûÀ�$÷ öw‘[Â&Ã$÷ ªÀ£$÷ úéÀ�ÀÝû€ ÀEüÿ?�Rÿ?ŠDÿŸJÿ€ÀE÷•€ ÷•÷€R7~‚ ·�Á÷ ‚÷ª#l÷•¬À ÷d#\÷•œÃà à ÷öÿÀa:÷�„ƒ÷-:òÿ†÷2êÿ÷íæÿ*ÿ $· Ìÿ÷‹œz&z&Ó ÅK÷ äþý�€wÚþÉU€ æ· Ðþ·ÎþJ÷ Êÿ_Æ&ÀÀþ2�ÿŸ¼þ´ÿ· ²ÿ×-®ÿŽ/· ¤ÿ×- ÿ'÷z&–ÿ€÷ ˆþÿŸˆÿ÷Õ’÷��ˆ÷¯¨þ‡À“$÷ :?Š–þÀ�$÷ ,ðøÿ�g„þÄ SšÿÃFÿ÷ ºÀ˜$÷ ÷µ'ñã÷Å:ÁtÿÁ w`ÿ÷Šõ÷ ªµ÷µ1÷„þ· ‚ÿ×-~ÿ'÷z&tÿ÷ tÿ÷ nþ· dþ��€÷ ^ÿã_Æ÷•Tÿÿ‹Rþ÷ Hÿ÷•Dÿ€÷ 2þïÿ�8ÿ*þ7 2ÿÿE€ þ7 þ_Æ�€÷z&ÿ÷ÿÿ7 ÿ÷ €÷‹ñ'�ÀUàÂâÿŠ‚ `— €ì‡Âå€ x÷•€ÎZ7ŠÈW÷€Òm7 ÌP× À�¯À]öÿ÷•…D÷•ÿÿ›÷•ÿw=7Š�íw ¸÷Zÿl÷ Fw bìI‡Tÿ÷ $þþ´÷ Ž'£&Í „…_Æw ðÿ÷E ÈýßÄý ò÷ tÁÄÅ_÷à!øÿ÷ \ýý‡ÄRýìUÿ•ÿÚý÷‹�ý÷ \×@@&Ä2ýìE€ „‡‚ øw ž÷tÿR÷ <w Hì<‡Â øÀ AlèwŽ&f¦æäÿÁ6ß5tÿó÷ w ²ýíßE‡äÿÂàÀ � � Çeê@”  ×‡ÀEÿÀUò��€À ÁòÉÃÉ÷Ubý  Â]Öÿ€÷ERý¡‰· Hý‡7Üh$g÷Çû÷a7œk$`7œn$[7œq$Vw‘Lw‘Cw‘;‡·¢”7’Âòý€B D�”ŸòI~’A�÷<  ¨†Êµ¬ÇmÐÿ€À  þÿH  &†ñÁ W Y‡Áå#w HýÔ^ÂEê÷.œÿ åÂU‚ áw Ò÷Šÿw ÆÂâÿŠ‚ ÂUàÒÂEw °€÷ B¦÷ |� ÷r À®$÷ Âÿ_ À$Âòý€B �Å #€E %Âò��M~× ÷µ@¹Â�³€ÂEüÿ… ÿ•ÿÞü Âaò•ÿ”·Š“7 Îÿ÷Š‹wÚþ7 Àÿ_w Z€ë‚ć ì†÷ tÿîw Ò÷ hÿ!w ˜‚ ÂUOw p÷ w €ë¨‡ ì‡÷ <ÿòw š÷ 0ÿw `ÿçʽ ÿÁW Y‡Áå#·Üþwºþ·’Øþ·¾þw®þ7®þw®þ÷‹mü÷ ,÷URüßNü ò‡W—×W·Š=ü‡ÅôÿÄìÿÃäÿÂÜÿÁÔÿÀÌÿ7Šü‡7Š4Ã\ýÂÃ% ‚ÃeóC ‡~Â� óæ5@¦¦æóæ5@7 XJ(ä(N(¾)ú(ú(ê*Ð(Ú(Ú(Ú(ê*N(ê*N(ê*N(ê*N(î(¶*)ê*N()ê*)€�ÂB)f&¦¦\¶ ¶ \& ŽÝÎå€\¦¦\æræ1@\öŠæÙ[æÞ?\€�Ö …Æew &… š?UÌ? *@ÚªAD €�C ŠÃÃå˜Ã%èÿ  æ  ƒ üƒÁ @ ƒ ü …f&\À�À ‚ ‚ B Ž- ‡ ÆeÀ \z\D ²Ãf‚ °C_‚À  fW‡æ & æ€@&&&&7 ú0*ê*+:* ‰ÀÂöÔ<Àf¨,¨€’€4À~%€x$€Jà8à¶*0*¾)J(@*ê*N(¾)N(N(¾) *N(&*ê*|*Îe€€\¦¦\æ;ªæ¸@\¶ \N @ Îåƒ  €�æ‚=æ@Âf&æysæEæ[\æpCf&f&\–%€�#€ÄV"àCOPYRIGHT (C) 1978, REGENTS OF UNIV OF CALIF,SDÿÿþ„ÄŠ„ a�… À€@…ÀÀw ¸  …¦¦6 6 & � f Â�6ŠA ‡Â üv�Š�ÐÁ  6ŒN\z\€�‚ƒ\€�\¶ððððððþßðHJKC  >P  ?¶ ‚ �N A f C�ŠÁÁå� Á%ʃÝC B Á ü … ‡ Ž\ ü‡æ w  òD& &&æÛæÉ@7 ‚N(€+D& &&‰ ‰ ‰—/Îef�AA�,þÅ"ÿÃÿÂ<Ê•w�ÿ· ÿÎ 6  æÛæÉA7 ^¾)Ò+P)J(Ü+Ò+P)æ+J(ì+Ò+Ò+ê*,ê*N(ê*N(ê*N(ê*N(ê*Ä+€�Ö Àe€…¦¦\Î ò¶Š\¶S\ö‹ Îe€& æ€@7 ò÷åÿ7 ÿ& ¦ÄÍÖÁ Gà‰÷ 6ý€ÀEÿ7,�ÿ‹ €�€6 ?�  ÷ w pÿrÿN(,Ĩ+¶Œ†Îe€\€�ÂD,Ãf&¦¦à ú\:º×™¼c&£>X4%Àá]É@Û& & & & & D&&€D&&�À ŠÀÁ ŠÁ@àÀ%7 r&ÀŸ¤ÿÀE€ÿ7 žþ ÷5@|þÀ‰<7 ‡þw Ìÿ{7 yþw Âÿ7 ps w ´ÿm w ªÿg×-¾)„,ý  öIAöÛ ý öe€Î ÆeÀÉ@ÁÛý Àe€…& & & & & D&&Îe€¶ —#€@‡ö öÉÀöÛö ¦¦–ÿ@À•ÿ‰_÷ ’ÿ a z‚ÀE ÷ ~ÿ   ~ÀU€æÃVÿ3�Tƒ ÃE@· Jÿ÷Dÿƒ÷ Bÿ9æÃ4ÿÀœT?�4ÿƒ ÃE@÷"ÿ÷ "ÿƒ×-ÿlö€@6 7 â¾)-¦¦6 6 —#‰?%‡‚—-£0 ƒö@ö’ €�æ׳æÝÀf&& æ€@æ׳æÝ@f&7 Šê*J(¬-J(¾)t-€�f&f7 ÎýÀÿ?Šÿ· ÿ~ 7 žýÿE@¨þÿ‰ÿU@ þ· èþ÷ æþ÷ ÚþÍÿE€Òþ7 Îþ€wôý÷ Äþý�€wºþÉU€ Ó æ&· ªþ· ¦þä÷ šþ­&7 lê*¶-ê*N(ê*N(ê*N(ê*N(ê*N(N(Ò-N(ø*¨-Ö …¶ ¶ \€�Âò-Ãf&¦¦à ú\ö Îe€\Å>Â:¿L]L?ÛÆª¿¤ª€@Ö \fEA#�åË *å�€7 �þ7 Žþ7 €þ÷zþvþ÷ xþ7 vþÿE€lþ7 hþ÷ 7 ÿE€7 �‡tÿvÿÿÿ÷ ôÿý�€wêÿÉU€ Ó æW r7 $þ7 "þ&æ� Áe@ & f& f& f7 Öÿ¾)N(".Îå€ö ff¦¦î€�Ö ……w û  ÷&@& ÿ €…n. ‰þ÷ þ^· Êÿ·Âÿæ��€ÿE@®ÿ�÷ ´ÿ�&À¬ÿ?�žÿ  ÷ –w šÿ€ÿU@†ÿwüü÷ „ÿ>÷ €ÿ6÷ Æý��€ò& Àßhÿ÷ ^ÿ7 XÿÀå �þÿE€øý7 ôýæß (ÿU@ðýÅ –%Ÿ�‡�€÷ ÌýÿE€Äý7 Àý�‡Îe€z\æ& Dær汿¦)&&\Î ¶� ö•€ æ ‚~ÆöÂ<‡•€ÀE€ÿÀÕÀ `‡•€ÀE€ÿÀÕÀ `¦‡•€ÁE€ÿÁÕ€W @p@À `‡•€ÀE€ÿÀÕÀ Àe À`&‡& Õ`‡&Ž Õ`‡<þ€ ÕÁ  ÁmðAâÉ‹×Fìøÿ·! ïåƒæ &æþæäïffDúÿ„ …Åe …wÆï5 wÀïDÄeþÿã‡Â`ÎÍÂ<‡ÂnÇæÍC÷”ïÂ<‡Â•€ÀE€ÿÀÕÀ Àe À`&‡•€ÂE€ÿÂÕ€�‚~Â<‡ ‰€ ÿ‚7�ÀZ ¢ ‚� Ò‚ ”‚~Â<‡ ‰•€ÀE€ÿÀÕÀ Àe À`ˆ‡„ ÄE€„¼Bœò@B¬ø Â<‡Cþÿ÷`ï¯`ï& ΟXï÷ ¾þ@ •Åe E`E``B~Å8ïAÑ Ew0ïw.ïDw$À &ß  ‰‡ÿ‹Fÿý€ÿ• @ÿ~�€ w 2ÿ ?�*ÿ  ÷ "€ÿU@ÿ· ÿ÷ ÿw„üÿE€ ÿ7 ÿwvü�ÿ‹ôþý€ÿ• îþ�€‡FRX\`–¢¶ºÈäì&   Ô @àÀ `ã‡Ô ‡•G´7vz Ö Î‡Ö  ‡7ˆH€ ÿ‚7��ÿÀZ 6�W ÿ‚w�{ÿÁZ N ¤†ÜÿÿBÜÿÿ¤ ûF J ^ f j n x | Ü à ö ä è  " 6 B îD J f Œ ž ² Ò ê 2  4 ^ v ¬~˜ ˜ ˜ è  ˜ ˜  ˜ 6 j | ’ º Ì â ì ô ¤h*06NV\bz€¾¯ öÖ Â<‡6 ù•€ÂE€ÿÂÕ •€ÂE€ÿÂÕ7ˆ �€¤ƒ~ æÂ<‡& ûÎEþÿöEþÿŽ÷ Jd`·n�þÿ ¦ŒüZô ˜˜Z ` fš–:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú "*2``@Z‚`dþÿ‡Á �%  D~ "Ð ƒ~Á ø�E D~óÁ D C~Á �%  D~ Ð ƒ~Æ& Â<‡Ææø•AA~•€ÀE€ÿÀÕÀ Àe8f"a8f"@ø"$ F% &@L$f&b8f"c8f"ž ¸ \ j .  ˆ ®   º ‰‰‰†‚‰‰ƒ‡‰ @`&‡•„ ÄE&~‡•AA~•€ÀE€ÿÀÕÀ Àe @`&‡•AA~•€ÀE€ÿÀÕÀ Àe @`ˆ‡„ ‡–åü–åù ö‡•�`‡Äšó`㇀ @€ @€ÿÿþÿüÿøÿðÿàÿÀÿ€ÿÿþüøðàÀ€f ~f{fxfufrfoflfifffcf `f"� t�Á @L‡�Á A€@@A ‚tBtÖ ‚B@PžÂ<‡� Õ``f~‡ Õ�``A‘~Ö ‡€€c Ò‡€Že�‡•€fÀ r]f$Zf&Wf(Tf*Qæ NæKæHæEæBæ?æ<æ9æ6æ3æ 0æ"-æ$*æ&'æ($æ*!¦†‰``•&& � †`À Á ú‡Žå ‡Î‡ŽåûøŽåøõ•€ÀE€ÿÀÕÀ Àe @a&‡&•6•‡ŽååâŽåâß•€ÀE€ÿÀÕÀ Àe @a&‡ŽåÓÐÎe¦Îe¦Îe¦Îe¦ Îe ¦ Îe ¦Îe¦&•ý€À fÎ € € ‡ÎE€‡Že‡z‡N ŽE‡•€ÀE€ÿÀÕ7¢ø×-Œø Á•€ÀE€ÿÀÕÀ Àe @aˆ‡ ‰‰·\ÅdòÂ<ÃZòÄîÿ‡·@�€@`@`$fH@€à7 �`Áe‚À à€�B~Á  B~Â<ãÁ _@$@$@$@"‡‰÷ �EB~‡�€fÀ r†‰&‡z‡¶%Ž%‡‰·· 7 Êì(Ú¦ææ\7 ¶ì(¦‚€€`€`�WtüÿB ÿÿ·7ú@`À ð d‰ìd�&`f&d&b& ÷Ê�Á �mÁ ÁefÁ �aBÁEðÿÁ B<øÎÂ<‡ ú÷ ŽwN �EC~�Áí B~‡ŽU‡�€fÀ r†‰f‡�Vpf‡z‡ ‡Î Îe€‡N ‡€�ùÉ þ�É‹ ‰Ã¦Æe Á¤ÿá ¢rþ·–fæwœˆÏBCâ ‚âÊ% €Àe€ìúÿ€ìøÿÀå 7d÷,ñ\ã ·ÁAâÉ‹á B‚â·J@á B8�@ 6÷NæÿÿÂEðÿ ŽLÀU@àtüÿ7`.æÿÿ~BÂEðÿ ‚B Ž@Wtüÿw`& B~æÂ<‡Žå‡z‡¦»¦¦º& ‡€ü�& ÁE‚âÊm8~@á B‚âÊm*~@á B‚âÊm~÷ Úƒ�ÀÇ·øÿ€·ìþÀ ð  ðþð÷ Ðþ±° ÇÊÿ�€ðÿÁ N\øÀEðtüÿ& B~€ &‡ž‡€ ÿ‚> ‚‡‰÷ ~�UB~‡ ‰æð‡ Õ�@ ‡À €aÁ �a!‚~Fƒ@àÀ à€Á ÐB~ À 𠀉I•÷€ðªþ? zðr·¢þ&÷ ¦ÿ7þhð† Ó �àAâFìúÿÀ‚þ„ ÁeþÿAâÉ ÷-BðlþÀŸ:ðÀ ð ÷\þ.ðÂ<‡ÿ‹$ðW¢Fløÿ‰÷ð REPEAT SET *SEGMENT !SEPARATE6THEN TO TYPE UNIT 2UNTIL USES 1VAR w Z€ë‚ć ì†÷ tÿîw Ò÷ hÿ!w ˜‚ ÂUOw p÷ w €ë¨‡ ì‡÷ <ÿòw š÷ 0ÿw `ÿçʽ ÿÁW Y‡Áå#·Üþwºþ·’Øþ WHILE WITH �àÞŽêÞŒê�‡7 è÷<)¦€& æ€@  z7 Ò÷<)¦7 Ê÷ª)7 Â÷Ž)7 º÷ˆ&7 ²÷ô*7 ª÷Œ&7 ¢÷ø'ÀÔþ�  tÁðïÊ•ÿ ßU€äÿ ”QŠƒ~Ê•ÿ‹Šþ� \ü׌‡ÎUÎE׌Àx׌"„Àâÿ†€Š€Š  ‡ †Àe †7 š÷,,·\ vwŠ÷÷ *ùÂ<‡÷ Rù‡×'ðß(ßðÞ(‡Ÿ(ßð‡æ‡€@ BÈCzEG@ÃHPtJ$L€–¾M ¼nO(kÀŠÀŠ�÷�ÏÿÌÿ÷•@ÄÿŠ7мÿâÿŸ 6_ 8÷ °ü ßàÿÎÿE€žü7 šüŸäÿ‚�€_Æ÷þÎ âÿ7 vÿÂà7 þ7 þ7 Pý÷ àý7÷"äýQùºR·ChT¥ÔV焵W!æcY©_[ʱ\¼¢^^k `#Ç­aìxXc'×ex†©fhShÂjQY¥k¦oNm�Ëo9?¡p�IrÊòüs|o�u®ÅEw7öxß„šz @|Ηð}½€ � &À À &w h07 Øý¦÷ ¬w Èì†w Nö‚!÷‹.ÿ7 ´ý…ÅáÅeJw¨ýwÿÀâÿŠ÷� ÿ ÿÍ €ÀU @e� ‡@ãâÿ…wxþ¦BEf€ÀE€ÿÁPàÀZ&X‡‰Ê‰‡€Àç(¡ &‡7 |övª‚Ð7 nö|ªôÐ7 `ö|ªŒÐ7 Tö”ªÜô ôÐ7 <ö”ªèô ôЦ6 Æå À]pý�÷ |ýÊ‹��D~‚ G~ Á5�E~� � ����E~�‚…Âe€— €ì‡Âå€ ‡Â倗 à†Âe€ ‡ÀâÿŠ€ €` à†Àe€  …„ÿ|ÿ’ÿŠÿ×'ðß(ßð�À(@`@`�Áå( ƒ‰(‡¶“�‚+¶mÖ Ž] €€‡ à†‚ P‚~P�‚~‚��eŽe€NPŽP ‡ à†\É =€¶ "ù  Š\¶m¶¶Ž\ � W Á �mÁ ÁefÉ5`\Å_Æe wÊõÉ5 ÅôÉ5@ù��àÉ ù��W à†‚ ‚~”‚~ÆeÂ<‡‚ù��e€€e€`�`!˜‚~òÖ Že€‚��ö ¤C~¤C~À €å–%Â<‡ € ö ¨óC~¨ï\É‹ýE’ Šâö5Þ\ù\ù\öfž F^ªT 2´&²ºÐØàèðø,FRð,: fÁ6� C~€€cêÄîÄeüÿãίøíö¯ôí–%‡@ ÁeüÿAâp®6®–%‡ë‰€� "1, 1,1,^ ‡ ‚ñ%W Y‡Áå#w (Q&À—vÿ  I‡×   >†7 òÿ7�(w& EFHJKABCDWX][ôúîèÔÐf@¤þ@’à· N· Z·¨ÿ÷Œ[ ð ^Îÿÿ‡A ãñ%ð^·AØ€�æ&DaÁefÔ„ Â¥_û— 0‡— 9ƒÂE — A‡— Z‚ƒ ë‘�éÄå ƒ ‘�ü‚Ÿ÷‹U±7ŒM†wŒG7 ˆÿ–% €@àÀå`�?�Rÿ ŠwLÿ€�÷öÿVÿ÷ôÿxßx|ßxtߪ@�× ý�ÀwôÿÉU€Ö Ó ·:·:� �îƒðCàà ÃøÁ Á fÁ �eÁe¦ƒ €$ $ $ $ @A ÁeÁeÁeÁeé Á>„„ƒ‚ÂeJÂ<‡ K�À÷ ÒÿÿE€Êÿ7 Æÿ÷ßäÿ�‡w z÷Âþ2@”tÀå � w ìÀEt÷öþ@”_7 Àå � O÷ àÿ0�€ÀE€À]Ôÿ!$'(****AND 'ARRAY ,BEGIN CASE CONST DIV 'DO DOWNTO€÷‹ñ'�ÀUàÂâÿŠ‚ `— €ì‡Âå€ x÷•€ÎZ7ŠÈW÷€Òm7 ÌP× À�¯À]öÿ÷•…D÷•ÿÿ›÷•ÿw=7Š�íw ¸÷Zÿl÷ Fw bìI‡ ELSE END EXTERNAL5FOR FILE .FORWARD "FUNCTION GOTO IF IMPLEMEN4IN‚ øw ž÷tÿR÷ <w Hì<‡Â øÀ AlèwŽ&f¦æäÿÁ6ß5tÿó÷ w ²ýíßE‡äÿÂàÀ � � Çeê@”  ×‡ÀEÿÀUò��€À  )INTERFAC3LABEL MOD 'NOT &OF OR (PACKED +PROCEDURPROGRAM !RECORD -  ¨†Êµ¬ÇmÐÿ€À  þÿH  &†ñÁ W Y‡Áå#w HýÔ^ÂEê÷.œÿ åÂU‚ áw Ò÷Šÿw ÆÂâÿŠ‚ ÂUàÒÂEw °€÷ B¦ š wÈþå· ÷ ÷ ´D€Ä5HÄ5 ÷‹Þÿ �ÄÕ Ã:ÿÂ@Ä †S„~å ÷e€&ÿ÷-"ÿÞÿ†wnþ÷‹®ÿ.€÷5Â÷)÷ º÷ ´Ä5|w Œž ²Ãf‚ °C_‚À  fW‡æ & æ€@&&&&7 úf( )<)p(ì(f(ô'€&v( )„&ô'„&„&ô'V(„&\( )²(Îe€€\¦¦\æ;ªæ¸@\¶ \N @ Î僄77÷ Š÷ :× ùÇ÷ .þ…×-&þìÿÕ ……ÄpýìUÄ`ÄE@ ƒ‚wHý·ƒ‚‡w .ý¦æÅþÇ÷:"øÿ÷ ¸üý‡÷¿Š÷  €�æ‚=æ@Âf&æysæEæ[\æpCf&f&\–%€�„ÄŠ„ a�… À€@…ÀÀw ¸  …¦¦6 6 & � f Â�6Š÷ÿŠ÷¿ŠFýÄÄÄU@ ‡Ã�ÂÃ% ‚ÃeóC ‡~Â�ŠÃÃ% C  ƒ`ƒ`ƒ`‚ ‚ ÃåýÃe÷�þ·�zþ‡LÿNÿ÷ ìÿý�A ‡Â üv�Š�ÐÁ  6ŒN\z\€�‚ƒ\€�\¶¶ ‚ �N A f C�ŠÁÁå� Á%ʃÝC B Á ü … ‡ Ž\ ü‡€wâÿÉU€ Ó æ· Ôÿ·ÐÿÿE@Ðÿ÷ Âÿe÷ Àÿ]& ÷ Àÿ€7йÿÀ• 7Š®ÿÀ•÷ šÿ· ˜ÿ7Àß�ÿ2÷ Žÿ7 ˆÿÀå ÿ‹‚ÿý€ÿ• |ÿ· tÿ ~"æ w  òD& &&æÛæÉ@7 ‚„&¶)D& &&Î 6  æÛæÉA7 ^ô'*†'€&**†'*€&"*** )J* )„& )„& )„& )„& )ú)€�Ö  w dÿ     ÷ X· Nÿ  wŠKÿÀ•  wŠ:ÿÀ• 7 ,ÿÿ‹*ÿý€ÿ $ÿý�?� ÿ€ÿU@ÿ· ÿ÷ ÿ_ÆÿE€úþ7 öþwÐÝfÀ ÁðþÀe€…¦¦\Î ò¶Š\¶S\ö‹ Îe€& æ€@7 ò„&:*ÄÞ)¶Œ†Îe€\€�Âz*Ãf&¦¦à ú\:º×™¼c&£>X4%Àá]É@Û& & & ÷UêþÁíæþ?�äþÿ‹Þþý€� ù�‡�€÷ ÂþÿE€ºþ7 ¶þ�‡PÿRÿTÿVÿÓ Å+÷ àÿý�€wÖÿÉU€ æ· Ìÿ·ÊÿÿE@Êÿ÷ & & D&&€D&&�À ŠÀÁ ŠÁ@àÀ%7 rô'º*ý  öIAöÛ ý öe€Î ÆeÀÉ@ÁÛý Àe€…& & & & & D¸ÿ÷ ºÿ ÿŸ°ÿºÿÿU@²ÿ· ¤ÿ÷ ¤ÿ_ÆÿE€’ÿ7 Žÿ_Æ&&Îe€¶ —#€@‡ö öÉÀöÛö ¦¦ö€@6 7 âô'J+¦¦6 6 —#‰?%‡‚—-£0 ƒö@ö’ €�æ׳°$°$Ó ÅK÷ äþý�€wÚþÉU€ æ· Ðþ·ÎþJ÷ Êÿ_Æ&æÝÀf&& æ€@æ׳æÝ@f&7 Š )€&â+€&ô'ª+€�f&f&7 l )ì+ )„& )„& )„& )„& )„&„&,„&.)Þ+Ö …¶ ¶ \€�Â(,Ãf&¦˜¦ÄÿÞÿZT¶ÿª¢„ÿ|ÿšÿ˜ÿ˜¢ *Ì’*÷ ìÿýwæÿÉU€Ó Î&f¦&f7 ÒÿÅ.•U•€ ã  ÷ 0…„‚�ÀÀþ2�ÿŸ¼þ´ÿ· ²ÿ×-®ÿŽ/· ¤ÿ×- ÿ>%÷°$–ÿ€÷ ˆþÿŸˆÿ„þ· ‚ÿ×-~ÿ>%÷°$tÿ÷ tÿ÷ nþ· dþ��€÷ ^ÿã_Æ÷•Tÿÿ‹Rþ÷ Hÿ÷•Dÿ€É�¤ÿ^&Í „…_Æÿ�’ÿŽÿÿE€ˆÿ7 „ÿ‡.ÅþÁöÿC� D”ÄEøÿ!:‚7¡Û Ä Ä7‘ÏÄaÄehDÀ A€À� à à ÷´÷ ®Á aw²7€÷ 2þïÿ�8ÿ*þ7 2ÿÿE€ þ7 þ_Æ�€÷°$ÿ÷ÿÿ7 ÿ÷ þÿE€øý7 ôýæßV&ÿU@ðýÅ –%Ÿ�‡�€÷ ÌýÿE€Äý7 Àý�‡ðÁÁe:wXÁŽÂ�P@P7n@ÀeI7ø�0�@wnM‡¦)wø€€€€Í\Í ø�7 ,×Â� ߀ÿ€¿�zÿƒƒà — ‚Í5÷U$Í ÷Îe€z\æ& Dær汿¦)&&\Î ¶� ö•€ æóæ5@¦¦æóæ5@7 X€&'„&ô'0'0' )'''' )„& )„& )„& )„&$'ì(:' )„&J — ƒ÷Eà €÷ Ö÷ ÞÄ Ä 7 7á÷ �÷ @Æ÷ ÷ 27 úÿ÷‹²!€×¯úþ+ƒ÷U ¢÷E šÃ€Â`Ä²Õ D' )D'€�Âx'f&¦¦\¶ ¶ \& ŽÝÎå€\¦¦\æræ1@\öŠæÙ[æÞ?\€�Ö …Æew &… š?UÌ? *@ÚªADÄ †Íƒ û‚å ÍÓ ø÷ æÍÍ‹þ€D€å Ä5|‡w èðÄ5B÷ N÷ ÷ ¸ èÄ5÷ ,ô÷ ñW#D€å èå 7¡îÿÑW Î�?‘Zþw  €�C ŠÃÃå˜Ã%èÿ  æ  ƒ üƒÁ @ ƒ ü …f&\À�À ‚ ‚ B Ž- ‡ ÆeÀ \z\D  ÁýýýÿÿÿÁÝý�½½¡¿ÿÿ½½½�½½½ÿÿÿïïïïïïïÿÿÿßßßßßÝÁÿÿÿ½Ýíñíݽÿÿÿýýýýýý�ÿÿÿ™¥½½½½½ÿÿÿ½¹µ¥­�½ÿÿÿ�½½½½½�ÿÿÿ�½½�ýýýÿÿÿ�½½½­��¿ÿÿ�½½Á½½½ÿÿÿýýÿ½Ãÿÿÿ�ïïïïïïÿÿÿ½½½½½½�ÿÿÿ½½½½½Ûçÿÿÿ½½½½½¥™ÿÿÿ½½ÛçÛ½½ÿÿÿ½½½Ãçççÿÿÿ�½ÏÃó½�ÿÿÿÁýýýýýÁÿÿÿùùóçÏŸŸÿÿÿƒ¿¿¿¿¿ƒÿÿÿ÷ãÁ÷÷÷÷ÿÿÿÿÿÿÿÿÿÿÿ>*>$$~$~$$>> >.*.:*:8DD88(800   $~$|8(8ÿû÷ïÿÿÿÿÿÿÿÿÿÿ£½ƒÿÿÿýýʽ¹Åÿÿÿÿÿýý½Ãÿÿÿ¿¿£�½�£ÿÿÿÿÿýÅýÃÿÿÿï÷÷ã÷÷÷ûÿÿÿÿý½�£¿Ãÿýýʽ½½ÿÿÿ÷ÿ÷÷÷×ïÿÿÿ÷ÿ÷÷÷÷÷õûÿûûÛëóëÛÿÿÿû÷÷÷÷÷ï ~8(8``0 > BB~~BB~>BBBBB>~>~~÷ûýÿÿÿÿÁïãûÁÿÿÿ‡÷÷û÷÷‡ÿÿ÷÷÷÷÷÷÷÷÷÷ÿáïïßïïáÿÿÿÿÿÿÁßßÿÿÿÿû÷ïßï÷ûÿÿ²¼œ Ï¹Ï¹ö­�žQôˡϲ¼œ ÏôáòÆ ž>>"rBB^@BBB~BBB ">B""B~fZBBBBBBFJZRbB~BBBBB~~BB~~BBBRr~@~BB>BBB<à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿B<@B<~BBBBBB~BBBBB$BBBBBZfBB$$BBBBB<~B0< B~>> 0``|@@@@@|>ÿà¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿<@\B|:FBF:øàƒ�ÀüñÇŸà¼Çæ›ï±`¸ÃÆ‹ï°fZBBB>BBBB>xx > ÿÿÿÿÿÿÿÿÿÿø5 FILEHAND ÿÿÿÿÿÿÿÿÿÿÿççççÿÿçÿÿÿÁÕÁëÿÿÿÿÿÿÛÛ�Û�ÛÛÿÿÿ÷ÁýÁßÁ÷ÿÿÿÑÕÑãÅÕÅÿÿÿïÇ»ç»ÇïïÿÿÇ×ÇïÿÿÿÿÿÿÏ÷ûûû÷ÏÿÿÿóïßßßïóÿÿÿÿÛç�çÛÿÿÿÿÿïïƒïïÿÿÿÿÿÿÿÿÇ×Ç ¦à ú\ö Îe€\Å>Â:¿L]L?ÛÆª¿¤ª€@Ö \fEA#�&æ� Áe@ & f& f& f7 Öÿô'„&X,Îå€ö ff¦¦î€�Ö ……w óÿÿÿÿÿ�ÿÿÿÿÿÿÿÿÿÿÇ×ÇÿÿÿŸŸÏçóùùÿÿÿý�¥¹½Ãÿÿÿïçëíïïïÿÿÿ�¿¿�ýý�ÿÿÿ�¿¿ƒ¿¿�ÿÿÿýýý½�¿¿ÿÿÿ�ýý�¿¿�ÿÿÿ�ýý�½½�ÿÿÿ�¿ßÃ÷÷÷ÿÿÿ�½½�½½�ÿÿÿ�½½�¿û  ÷&@& ÿ €…¤, ‰þ¿�ÿÿÿÇ×ÇÿÇ×ÇÿÿÿÇ×ÇÿÇ×Çóÿÿßï÷û÷ïßÿÿÿÿÿÁÿÿÁÿÿÿÿû÷ïßï÷ûÿÿÿý¿Ï÷ÿ÷ÿÿÿý�µÍýƒÿÿÿý½�½½½ÿÿÿ�½½Á½½�ÿÿÿ�½ýýý½�ÿÿÿÁ½½½½½Áÿÿÿ�ýýÁýý�ÿÿÿ�ýý  ž"Ï­ ÌÙØ¾È¡3ØÙ¾!ÄØ¾}È„¡ØÙ¾aÄØÙ¾zÈ„¡ ØÙØÙ¾a•A‚¿Ù‚̹ØÙ͹öØ×¦¯¡ž­¹I T Æ ÜªÆÛªÆÚªÌ-ïŸÍ¶ ͶآͶצ ? ÍÍ)«¶Í “¡¶Íî¶¢,ºÃ¡«žîYø­¸ÆÛªÆ ƾ¿ï¶¤ ¢ÚÆ Æ¾žË¡[ï¤ ÿÙÄ¡RÍ&¶Æ Ͷ Í¶ï¤ ÿÍ ¶ ͶÆÍ¶צ ? (Y/N) ÍÏÌ-Øï¤ ÿšÊ-“¡FÍ&¶ÆÍ¶צ ? ͶØÍ ¶ÍØøÙÉ¡Í&¶¦ Invalid #×Íž­aP Æ ÷ÃïŸË„¡8Í&¶¦Destroy ×Ͷ¥GͶצ: ? ÍÏ“¡ž­ Æ‘¤øÌ­¥Gצª¥€ˆ×¦ª¥k¦×ª¥{צª¥c¦×ª¥€¿¦×ª(¥Wצª¥S¦×ª¥€Ô¦×ª(¥Kצª¥O¦×ª«««« « ¥ ž ­J Ù¾[Ùž پáFÙÌÆÙ(ÍÆ¦[*****]×/ÍÆª(Ù¾•ÌÙ¾•ÌÚÛÄ¡ÙÚØ Ž0‚¿Ø †Ìڕ̹ö­2` ÆÙªÆ ¦# תÚ †áÆ nÚÇ`‹ÙÄ¡žÆצª(Ú¹öÆצParity (CRC) errorª(¹ôƦBad unit numberת(¹ôƦBad I/O operationת(¹ôƦ Timeout error1¿Æ 0Ú Ž‚¿Æ Ï ØÌØ¡,Æ¥ÍÚË¡Æ Æ ªÆ ¥ÍËÌ߯ Ư„Ìß“¡`Í&¶צPut ͶÆÍ¶¦ : in unit ×Í¶Æ Í¶ת(¹ôƦVol went off-lineת(¹ôƦFile lost in dirת(¹|Æצ Bad file nameª(¹fÆצNo room on volª(¹OƦNo such vol on-lineת(¹ÍÏØ¡Æ ¥ÍËÌß“Æ Æ·�¡ž­ÆÆÙ¨ÆºÅ¡5í¥KÏïŸË¡*ï¤ £Ì Ì àáÄ¡ÆàÀº¡àïÍ"à•Ì ¹öØ¡Ï ­¥" 3ƦFile not foundת(¹¬å ¹þåÏ·£‹t`K1Ù¹òƦVol already on-lineת(¹ðƦText file lostת(¹ðÆצCode file lostª(¹NÆÛªÆÚªÆÆ�KÇ‘ÍÆÆÍž"ÃÌž"áNƦ׷¡9Í&¶ÆÍ¶ ͶÆÍ¶צ ? ÍÏ“¡ÌžÆÍž"ÏÆðÆ¦ File foundת(¹ðÆצBlkd volª(¹ðƦ Unblkd volת(¹ðÆצ File nameª(¹ðÆצFile/(unblkd vol)ª(¹ðÆצFile/(blkd vol)ª(¹ðÆצÍ­ „ ˆÆÚªÆÙªÆتÍ&¶ÆÍ¶:ͶÆÍ¶£&ÌÊPÉ¡(ÌÆ¾‚ÊšϹ¶¢º“¡¶¦×ƾƾ‚•Ͷ¦ File/volª(¹ðƦVol nameת(¹ðÆצOutput file fullª(¹ðƦWorkfile is savedת(¹ðƦNo directory on volת(¹ðƦNo workfile to --> ×ͶÆÍ¶Í­4�Ø«ض‹¶Ã�¡ž²צ¯¡žÍ$ϲ¾*á-²Í²¾:á²Í¶²?Ͷ:Ísaveת(¹ðƦWildcard not allowedת(¹ðÆצ"Bad form (Wild Non-Wild) cardª(¹ðƦIll file/vol nameת(¹}ƦIll change (Vol <¹²¾:á ¶²;Ͷ²Í¶£&PÄ¡¶¦ - ×͹ÏÚÙÏعE̹X¶Ã¥[¦×¯„̹G¶³C‹Ì¹8¶³1‹Ì¹(¶³o*to> file) nameת(¹UƦBad dest for files foundת(¹4¬¹,½"®Ÿõ¿Ýûæ�i°EƤb–U¿‚ÙÄ¡#ÆÌÆÆ(ÍÆצ ‹Ì¹¬ ¹MJLN0A$6¶¢º“¡UÛ¡ ¶£&PɡϹ ¶צ, Ͷ϶á¶צ Ͷá¶צ Íexpected1ÍÆª(Í&Ú Åž"˶¢º„�¡¶¦ I/O error #×ͶÚÍ ¹4¶¢º¡!¶צ Filer error #ͶÙÍ ¹ ¶ÆÍØ¡žž­fÆܪ(«Æ¥G¥[Æ¥Í!¡nءƞ ¥C¥Gª¥G¥Í«ïŸÃ¡+ëá Îëž&ž"ˡβ~ë¤ü¡ÎÎ¥[צ¯¡Î¥[­šÐÒð\¶ÍÍ&­ÚÍ)«î¶¢,ºÃ¡žîYÃÌ¶Í “¡¶Í­6ØÍ(¡ž­íïÍïÍ Ë¡Î Î Î­. ”ï¶ø¤ Ì¥sØ¢ª¥€ÔÌÆ¥WÍÆצ:ÍÆØ¢ÍÆª(Y««²צ·ô„¡cÍ&¶¢º“¡¶²  ÌgÆ=¾#ÃÊgÆ=¾É�¡ÛιÆ=¾*á Æ=ÍÛ*ªØÌjÆjÛÍÆjצ:ÍÆjª($ÎÌhÊhÆ=¾É¡XÆ=¾²"¾‚•#Å¡žÆÆ=ªPÆ=²"¾Æ=¾‚•¿žð¢Ý¢·ðÿÝÿÄ̹ Û¡ðÿð¢Ï¥©ØÇ‘ÍÌž"ÏØÙË¡ÏÛÆÍ “„¡ðÿÝ¢ÏÚ¶ÃÆÍ �¡ôðÌ/Ý¢Ì0Ê/¢Ê0£ šÊ/¢Ê0¢²"Æ=Êh‚²"¾žÆÊh‚Æ=Êh‚²"¾‚ƾÊh••ž²"Æ=ªP=ÎÌgÊgÆ=¾Ã¡?ÎÌgÊgÆ=¾É¡,¶¡ Üó�“¡Ï« ÚÎÆ=¾ÌgÙιϹº»Ê/¢Ê0¢ ¨Ê0¢ ºÃ²CºÅ„¡ Ê/¢²C¨¥Íž"ÏݢݢÌ/Æ/ð¢ÍÆ/צ:ÍÆ/ð¢ÍÆ/ÏÆÍÆÍ­¥Ütd צTPÜ“ó„¶Ä¡)ÌjÆj¥SÍÆjצ:ÍÆj Ï÷Ë¡ÏÚÎØÌjÆjØ(ÍÆjÚAÍÆjª(Ü“¡Ø ÊfÏë«¥O¥Gªí¥KϹ¥€é¦×·¶È„¡ransfer¦To where×Çè ÏÇÿÌÌ¥€ˆ¦×¯ó“„¡=÷H‹¡3¦Transfer×צblocks¦# of blocks to transfer×ÆÏ Î ¹צTransferÆÌf¹Ìfó¡¥€Ô@ Ï¹¥€Ô¶ ¶Ï­ Æ rÆÞªÆݪÏÆ"צªPÆ¥W¥€ˆ¥k¥€ÔÎë«¥K¥GªÜÅ¡ž¥€é¦×¯ÜÉ„¡žÆ¥Ï¡ ÇÿÌÎ ¹ö¥€éצ¯¡ô­¡ . ªÆÆ�-Ç‘ÍצMake¦×Ç� ÏÏ¡hÆ¥€ÔÍž"ÏÆÏÌ)Ê)Ì*Ê*¢ Ê*£Ê*£•šÆÆ Æ¯Ì­ 0ÆÞª(ÌÝøÃ¡ôܲ~ì¤üìÃ�„ÌÛó„¡ Í%¶Í¹Í&«Ü¥K¥O¯„«Ìï¤ £Ì&ÊÊ&È¡uïʤ Ì'Ê'¢»¥€ˆ¾¥k¾‚Ê'S¥{¥c¥€¿Î­†\Ì÷ÃÚ¥s¥[·�¥K¥G·�„¡2ÌÆ¥GÍÆ¦:×ÍÆ¥[ÍÆ¦ Remove old×ÏÌ­RÆÆ�-Ç‘ÍצChang¢¾È¡K¥€ˆÎ¥kÊ'¢¾¥k¾•‚΄¡-¥€ˆÊ'¢¯ó�¡Ê'¢õ»¥ÊÀ»¥¥º‚»«Ê‚̹öõ¡Ï ¹ Ü¡ÝÝø•š¥ºÅ¡êÚ¡í¥KÏN«Ýe¦Change to what×ÇÀ Ï¥€ˆ¦×·¥{צ·„ó�¡ô¥S¥Wª¥€¿Ì,Æ,¥WÍÆ,צ:ÍÆ,ª(ó“¡¥€¿Ì,Æ,¥€¿(ÍÆ,¥{AÍÆ,ª(Ì*צChangeÆøï¤ £ÉîYË„¡ìïÝø‚¤ Ì&ÝÝø‚šõ¡"¥ÝøÀÊ&¢º»Ê&¢º¡ Ê&¢»Ï ¥ÝøÀº¡ðÜ¡òÆÊ&¢Æ'¥€ˆ¾‚Ê&¢¾¥€ˆ¾•¥k¾•ÍÆ'ªÆ¾¥{¾[*Ï¡[Æ¥€ÔÍž"ÏÆÏÌ)¥€¿Ç� ÏÏ¡ Ê)Ì,Ê,¢ d»Ê,¢Ê,¢¥[ÏÊ,¢¥[ªÆÍž"Ϲö¹ð¥€ˆ¾¥{¾‚áò¥€¿D Ï¥{ž ‚¥c¾‚ÌÊÈÊÅó“�„¡E¥€¿Ì'Æ'¥SÍÆ'צ:ÍÆ'¥{!ÍÆ'Æ0ÍÆ'¥c?ÍÆ'ª(¥€ˆÊ&¢¯ó�¡Î¹¥KÊ&¢¦not proccessed×ϹΥ÷áÏ¥ÇöžíïÇìžž"Ïï¤ ¢¥GªíïÇìžž"Ì+¥ž!Ê+ϲ~í¤¥Gª²?¥K¯¶úíÄ¡²?¥Gª²;¥K¯¡²;¥Gª¥K¦×Ì,Æ,¥ÝøÀ»¥¥º•»¹î©á Ï©áÏ­3!:WÜ~,¶gÚ²=ž ¶gÄÌ­¶gÚÅÌÛ“$΄=΄?΄¡GÍÆ,¦:×ÍÆ,Ϲ Ï¥€é¦×¯¡îÆÍ­´Ë>˜ÐצRemove¦×Ç€ ÏÌÌÆ ž ¦RemoveׯÏ¡Eô“¡+¥Gï'ز=ƶgÍÆª(²=¶gͲ=ÍžÍ&¶¢º“¡¶²=ƶgÍÆÍ¶£&PÉ¡ÏÛ¡¶צ ...too long <ÍÙ¹F¶צ file nÞ¤ ¢¦removed×϶£%ßá ÏÍ%Ìß‚ÌÆÆº‚»ÆÞÀ»¹ö© ‹ÆºÅ„¡,Í&¶¦Update directory ? ×ÍÏ¡ÆÏ¥€éצ¯ame ͹<¶¦ scan string ×͹#¶צ vol name ͹ ¬¹M8!Û¡1Ùá ¶Í ¹¶Í ¶¦ - char. max >×͹¶¦-¡ô­Æ£ ÐÆÆ�3Ç‘ÍÆ¥€ÔÍž"ÏÆÏÌÌÝ£ ¶É¡Ý£ ¸¥€¿¶Ï ̶ڕÌÙêÅ¡êÌÆ©ÙÇ‘ÍÌž"ÏÚÙ‚Ì Illegal format×Íž­T<²=¾Ú²=ž Ì­Æݪ¥€éצ¯¡cÍ&¶ÆÍÜö„¡.¶¡¶צ what file͹¶צÜ¡öÌ¥€¿Çü Ï¥C¦×·¥C¾#ÄëíIJ~ë¤ü„ëÃ�¡jÍ%ëá*¶צPut in Ͷ¥GͶ:Ͷ͹'¶צInsert destination  what volͶ¦ ? ×Ͷ¥€éÇÿͶͥ€éÏ ¥€é¾,¥€éž ÌgÊg#Å¡žÆ=¥€éÆjÊgÍÆjªP¥€éÊgÍ¥€éÍô?ÎÆ=¾É�« :ÎdiskͶÍÏ¥€¿Çø Ïë‹¡ Í%¶ÍÏ“¡ žØÅ¡Ï ¥¥€¿Íž"ϥϫ ðþ“Ýþ„Ý¢ºÄ¡Ø•Ì©ÇÇ‚©ØÇ�   ×Ͷ¦Text file saved ×Íñ“¡ ¶¦& ×Íñ“¡0צCODE²¥ ² Î#¡¶צCode file savedÍ­62Î"϶¶�¡o².…,¶£%ö…,Ã�¡PÍ$Í&¶…,Ãô�“¡Ï²~ì¤ü“ô�¡Í%²ƒûͲƒû¥KͲƒû:͸…,¶¡ ¶£%¸…,²ƒûͶ…,‚¸…,­|.ØÙצ¯¡¶צ not named͹2¶¦ Workfile is ×Ͷ²Í¶:Ͷ².Íòñ„“¡¶¦ (not saved)×͹¶¦ No workfile×Í•ÌÚ¶…+šڸ…+¶…*Ú‚¸…*ÚŶ„¡B²ƒû¦ < UNUSED >×ͲƒûÚ Í ²ƒû¦× Íö¡ ²ƒûÙÍ ¹ ²ƒûÙÍ ®.­p/ƃûÆ…'Ǒͦ­v˜%¸¸².¦×ª²&¦×ª²¦×ª­(&ÆÆ�.Ç‘Íòñ„“¡9Í&¶צThrow away current workfile ? ÍÏ“¡Dir listing of×צ‘ÇÀ Ï¥€¿¦×·ÌÙ¡Æ糖ö¹ ¥€¿×¦#1:ª(ƃû¥€¿Íž"ÏÙ¡ïÆ¨ƒöÌ….Ì…-Ì…,Ì…+Ì…*Ì…)ï¤ ùÌ…(Ì¥€ˆž¹ Ø¡¶Íצ*SYSTEM.WRK.TEXT¦×ϡצ*SYSTEM.WRK.CODE¦×ϡצ*SYSTEM.LST.TEXT¦×Ï¡Ì*Æ*².ÍÆ*צ.BACKÍÆ*צצ¯¡ó“ï¤ £ÄÌ« ó¡Î.¹ ¶£%‚Ì…,Ú“¡ðצListÆ…-Ï¡ò²~ì¤üô“„¡$Ê….á϶¦Writing×͹¶.ÍÊ….‚Ì….ïÊ…-¤ Ì…/RemoveÏ¡« « Ø¡Í&¶צWorkfile clearedÍÏ&ÆÍ­Tf 'Æ ÝªÆܪÌÌ Æ ²ÍÆ ¦:×ÍÆ ².ÍÆ Æ ÍÆ Ç€ïÊ…-•¤ ùÊ…/øÎ/Ê…/ùÊ…/ø•Ì…)Ê…(Ê…)‚Ì…(ƃûÊ…/¢ÍƃûצÊ…/¢¾•‚ÍƃûÊ…)Í ÆƒûÊ…/¢ ºÍ ƃû-Íƃû¥€•Æ…0Ê…/¢ º�‚ÍÆ Ï÷á@̸ÛÌ Æ ².ÍÆ Æ ÍÆ ªÚ²ª¶¡ ¶צ& ͶÆÍ­* Ž)Ï'¦Getצ×Ç� ÏÏ&²¥Gª².¥[…0Íƃû-ÍƃûÊ…/¢  ºÍ Ø¡öö¡QƃûÊ…/øÍ ƃûÊ…/£ Í Æƒû¦×Íƃû¥€®Æ…0Ê…/¢º�‚ÍÆ…0Íƃû¦file×͹3ƃûÊ…/øÍ ƪ².¾ÌÚ•ÈÌÍ&Ø“ÌÙÚÅ„¡=².ÆÚ•ÍÆצ.TEXT¯².ÆÚ•ÍÆצ.CODE¯�¡ ².ڕͲ.¾•Ȳ.¦×·„¡:¦.TEXTצText ײƒû Íƃû¥€®Æ…0Ê…/¢º�‚ÍÆ…0ÍÎ.¹ô© ‹Ú�¡ìó¡îïÊ…-¤ ùï¤ ÿÎ/ƃûÊ….Í Æƒû/Íƃûï¤ £Í ƃû¦ files×Íö¡;ƃûצ--<00..99>×ͶͲCºË¡_¶צ Today is Ͷ²CºÍ ¶-Ͷ¥€•ƲCº�‚ÍÆÍ¶-ÍÆ¦,×ÇÿÍÆªÿ­ ˜$Ì¥[².ª¥G²ª¥C²ªòñ„¡¶Í¶¶�¡ ÏÏ̲.צ·¡EÍ&¶¦Save as ×Ͷ²Í¶²C ºÍ ¶Í¶¦ New date ? ×Ͷ¥€éÇÿͶͥ€éÏ Î,¡²CØ»Î+¥€é¾Å¡k¥G¿¥€é¥GžÌÌØÙÈ¡"¥GؾAÄ¥GؾZÈ„¶:Ͷ².Ͷ¦ ? ×ÍÏÌç“¡צSave asצÇܠϥ[¾•Å¡ Ï¥C²?·¡/¥€éצªÿ¦TEXT×òÎ$¦CODE×ñÎ$¥€é¥€é¡ ¥GØ¥GؾA•a‚¿Ø‚̹öÌ ÌØÙÈ¡$¥€•ÆØ�‚ÍÆ¥G¯¡²Cػ؂̹ôÎ+cÎ,¡²C Ø»ÌÆ²?ÍÆצ:ÍÆ@ Ï÷Ãë¶úÄ¡¾ÍÌ"ž².¥[ª²¥GªÍ&ò“¡ö¦TEXTײ&¥ ² Î#¡hñ¡KÌÆצ*ÍÆ².ÍÆ¦.CODE×ÍÆ¦×Ï¡¶¦Old code removed,ï¤ ¢ ²C¨ëïͶצ The date is Ͷ²CºÍ ¶-Ͷ¥€•ƲCº�‚ÍÆÍ¶-Ͷ²C ºÍ ­ÊÕ6 *¶  ²?Ͷ:ͶͶצPrefix is - Ͷ²;Ͷ:Ͷͭ…ºÝ 0Æž Ìצ Zero dir ofצH ÏÏ ¶ž¥ÏÆY»ÇÌbÆc²C¨ÆZ¦ BAD.xxxxx.BADתÌVƤùÌ‚dÊVÊ‚dÈ¡êÆÊV¤Ì‚eÊ‚eùÌWÊ‚eø‚ÌXÌTÌ‚fÊTÊ‚fÄ¡1ÆZ ÊT•Ê‚eù²oÊT¤ø†0‚¿ÊצDuplicate dir ? ÍÏ¡ ̦ Are thereצblks on the disk×צ# of blocks on the diskÙÆÏ ¶צNew vol name ? Ͷ¥€éÇÿ‚e¢Ê‚eù²oÊT¤øŽšÊT•ÌT¹ðï¤ £ÌTÊWïÊT¤ ùÉ¡ÊT•ÌT¹îÆWÊT‚ïÍ#ÊV‚ÌV¹ìÏ ¶צBad blocks markedÍ­­H‹`]ÀÌt5ï¶Í¶Í¥€éÏ ¥€é¥€é¾¾:Ë¥€é¦×·„¡!¥€éÌÆ¥€éÇÿÍÆצ:ÇÿÍÆªÿ¥€éD Ï¶¥GͶצ : correct ? ÍÏ¡öÆ»Æ ¤ ÌÛ¢ºË¡ô¶¦Moving ×Ͷ²Í¶Û¢Í¶ÍÛ¢צ SYSTEM.PASCAL¯¡ ¥G²?¯¸ ÙøÚø•¸ ¸¶ ¶•¸¶€êÅ¡ ê¶¶¥GªÆ ²C¨í¥KÏíÆžž"϶ÆÍ¶צ: zeroedÍ­ºß p1¥ºÅ¡ô¶צFile(s) endangered:ͶÍÌMÌØÙÈ¡€†�¸ë©Ç¶€�Úø¶‚¶ ¶�‚žž"Ïë©Ç¶€�Øø¶‚¶ ¶�‚žž"϶¶‚¸¶€¶ €Ä¡öÙØø¶ ‚šÚØøšÏ ­Œ þ7l¥ØÀº¡\ïØ¤ ÌØÃ¡¶צ DirectoryͶ¦×͹¶Ú¢Í¶¦×Ú¢¾•Í¶ÚøÍ ¶ÚùÍ ¶Í؂̹ö­¥v °2ïŸצCrunch¦×@ ÏצFrom end of disk, blockצ¦Starting at block #×ï¤ ùÆ Ï Æ Ï3Ì ¶¢»Í%Ì ¶ÍƦforward ת ÌË¡ZÌï¤ £ÌÚÛÈ¡<ïÚ¤ ùÙøÅ¡+Ø“¡ÙÚš¹ïÚ¤ øÙøÈ¡¥¥º‚»¥ÚÀ»3žÚ‚̹öØ“¡ Ùï¤ £‚š­¦R j3צBad block scan of à•ÌáåÈ¡'ïᤠÌæøïᕤ ùÅ¡ææ¢ïᕤ ¢Î7á‚Ì ¹öï¤ ÿÌÌ Æצback ª ï¤ £Ì àÌáåÄ¡ïᤠÌæùßÉ¡æ¢æÆÎ7æøÌá•Ì ¹ô¶¥GÍצH Ï¦Scan for×צblocks¦Scan for how many blocks×ÆÏ ÌÌØÜ•ÌÛêÅ¡êÌë©ÇÛ�Üžž"Ë¡`ÜÌÜÛ‚•ÌÚÝÈ¡Që©ÇÚž¶¦ : crunched×ͶÍä¡#¶צPlease re-bootͶ͡¹ò¶¢»­Ã{Ê X6ÆتP²FƪPÍ'¶“Í)«î³ ß¼x€ž"Ë¡9Ù‚ÌÆÏ3¶צBlock ͶÚÍ ¶צ is badͶÍڂ̹öÜÛ‚ÌÜØÄ¡ô¶ÙÍ ¶צ bad blocksͶÍÏ2­±‰ ‹¸­¦R88Ï¥€é¦×ªÿÌö¡VצOFiler: G(et, S(ave, W(hat, N(ew, L(dir, R(em, C(hng, T(rans, D(ate, Q(uit [C.4]Î8¹+צ 4צExamine blocks onצH ÏÍ&¶¦Block-range ? ×ͶÆSÍ ¶Í ¡ÊSÌR¹¶ÆRÍ ¶Í “¡¶ÍÊR€ÌRïŸË¡ÊRï&Filer: G, S, N, L, R, C, T, D, Q [C.4]Î8î?áöö¡V¦OFiler: B(ad-blks, E(xt-dir, K(rnch, M(ake, P(refix, V(ols, X(amine, Z(ero [C.¤ ÿÄ¡ ï¤ ÿ•ÌRÊSÉÊSÊRÅ�¡5žÍ%¶ÍÊSÌVÊRÌ‚dÊVÊ‚dÈ¡ ÆVÏ3ÊV‚ÌV¹ö¥ºÅ¡#Ï2¶¦ Fix them ? ×ÍÏ“¡žÆÇ ž ¥ 4]×Î8¹+¦&Filer: W, B, E, K, M, P, V, X, Z [C.4]×Î8Ú¡ôÍ$Í&î³B‹¡Í%Ì ÌÙÛÈ¡î²~Ù¤Ìܦ׷¡uÙ‚Ì ÌØÝÈ¡hܲ~ؤsted/in-dir>, ÍƃûÊ…(Í Æƒû¦ blocks used×Íƃû¦, ×ÍƃûÊ…*Í Æƒû¦ unused×Íƃûצ, ÍƃûÊ…+Í Æƒûצ in largestž ÌT ‘ÌUÊSÌVÊRÌ‚dÊVÊ‚dÈ¡ò¶צBlock ͶÊVÍ ëÆ�dÇÊVžëÆ�dÇÊVžž"á ëÆdÇÊVžž"ÃÆ�dÆd¯ �„¡¶¦ may be ok×Íž"ÏÙ¡Æž ƃûÍƃûÍž"ÏƃûÍ­ , ŠŽ N-¶Í¶¦ Vols on-line:×Ͷͫ ÌëØÈ¡ ëž&ë‚«¹ö¥G¥Í¶Í¹z¶¦ is bad×Í¶ÍÆVÏ3ïŸË¡YÊVï¤ ùÅ¡OÊU‚ÊVË¡9Ƥ¢Æ¤ù‚šÊT‚ÌTÊTM¥º‚ï¤ £•Å¡ÏÆÊT¤¢ÊVšÆÊT¤ÊÍ«« ÌëØÈ¡R²~ë¤ÌÙצ·¡;¶ëÍ Ùü¡¶צ # ͹ ¶¦×ͶÙͶ:ͶÍë‚«¹ô¶צRoot vol is - ͶVšÊVÌUÊV‚ÌV¹ôƤùá5žÏ2¶¦Mark bad blocks ?×Í¥ºÅ¡$¶צ (files will be removed !)Ͷצ (Y/N) ÍÏ“¡ ¯¡V϶¦Warning units ×ͶÙÍ ¶¦ & ×ͶØÍ ¶צ have the same nameÍÏØ‚̹òق̹ðî¹ìÏ-¹êÏ-¹êÏ(¹êÏ'¹êÏ¥UÍž«‚}¥‚UÍž©‚}Ë¡7¶Íž¶¦Write Error: ×Íž¶¥,Íž¶Íž¹B¶Íž¶צ&** Bootstrap installed succ¹êϹêϹêÏ"¡Ï¹êצPrefix titles by¦×l Ï²;¥GªÍ&¶¦ Prefix is ×Ͷ²;Ͷ:͹`Ï%¹\Ï!¹XÏ0¹TÏ4¹PÏ1¹LÏ5¹HÏ6essfully **Íž¶ÍžÆ‚UÍÁ ö*m is a general bootstrap mover.Íž¶Íž¶Íž¶צ3Enter name of file ¹DÏ*¹@ž¹:¬ÏBZ¹2"˜ª ©(½@³œ,²¬²(NXF0N­>äw\­¢ ÄÆÆ�GǑͶ“¶²&צSYSTEM.to be installed as a bootstrap: Íž¶¥PÍž¶Íž¶צ` € PASCALSYUSERPROGDEBUGGERPRINTERRINITIALIGETCMD 2 BOOTER   éÉ¡«éOÅ¡O«èÉ¡«èÅ¡«¶Í¶FÍ¶è ‚Í¶é ‚ÍÁL¶ý̶¦S# ×ͶØû¾Í ¶¦, P# ×ͶƂUƃ�Ç‘ÍÕ ¶ Íž¶Íž¶צ*This program is a general bootstrap mover.Íž¶Íž¶Íž¶צ3Enter name of file Øú¾Í ¶¦, I# ×ͶØüØú•Øú‘¤ø••Í ¶Í­¡l,¶Ìèùá*²6ž!²F¦ *STK OFLOW*תP²F²F¾ž+žèý¢è£ šèûto be installed as a bootstrap: Íž¶¥PÍž¶Íž¶צ×Ͷ¢º“¡¶צ to continueÍêÂ)«¶Í “¡¯¡ëï¢  ºd˯¡í««í‚«¹öÁ7 H è¤ Ìé«ë£•ÌêÜÈ¡èê¤ èꂤ ¨ ê‚«¹öè룤 ¢צªë¢ë£•šÁ0H"è¤ Ì죶ÍÂ&ë Ãë¶¢,ºÃ�¡öë Ë«Áhp(ÆÞªPíצªìצªëšêš««2©2¥¾È¡5¥©2¾«3©3 È¡ ¥©2͹©3aÄ©3zÈ„¡ ¥©2©3a•A‚¿©«éÌëÝÄ¡è낤 èë¤ ¨ ë•«¹öèé¤ ê¨ ì¢ì£‚šÁ*@#ØÙ•ÌÛìÅ¡ï«ì« Ú«Û«¹ Ûóš۫ Ú«­ö,0«ê¤ £« «« ìÈ2‚«2¹ö¥¾Å¡ì¥¾*á í²?ª¥Íצ:¥Í«2©2È¡í¾Ã¡í²;ª©2á¥Í¹!©2•È¡í¥Æ5©2•ÍÆ5ª¥©2Íí¾Å¡î¦[×¥¡QìÉ« « ðÌñÊÈ¡ñêñ•¤ ùêñ¤ øÎ0ñ‚« ¹öð‚êð¤ ùê¤ ÿÎ0ò¡ì†óÈ¡ó«î«¹ì‚†«¹?« ñðÈ¡êñ¤ øêñ•¤ ù•ìÄ¡ñ«ð« ñ‚« ¹ôïáêÍ«2©2Å¡©2•«2¹¥¾«2©2È¡ð©2Å¡ì¥Æ5©2ÍÆ5ª¥©2Í¥¾Ã¡«4¹w«4¦]ץͫ1©1á«4¹\©1Å¡V«4«2¥©2¾«3©3²z¼¤ ÿêð¤ ù•ìÄ¡ð‚«ðMá«ïÅ¡6ê ù« ôì‚«¥뻥íªÇ«¥»¥»¥ d»¥ ïêÂ#ï«Á„Ï( ø/êÌ뢚뢚뢚뢚닡 ëëø �©30•‚š¹«4©2‚«2©2©1é4“�¡ô©2é1Ä¡¥©2•¾*á둚«4©4«©4ì¾Å„¡ò¥ìÆ5ì¾•ÍÆ5ªP¥¦.TEXTׯ¡êš¹]¥צ.CODEéšèÃè‘Ã�¡ëø¿ë¢šèá뢚¹èÉ¡ 럚뢚¹ë¢è肚ÁXèÌꢚꢚꢚêþ¡ôê£ ê£ Å«é¡ê¢ ê£ šê£¡öé¡ ê¢ê£š¹ê£¯¡êš¹J¥¦.BACKׯ¡êš¹7¥צ.INFO¯¡êš¹$¥¦.GRAFׯ¡êš¹¥צ.FOTO¯¡êšÁ8 ë¬<!«¶Ì²~ê¤ÌîüŸÃ ê£ Ã¡ê£ê£Å¡ «ê¢ê£šê£ ¡hê¢ šê¢šé¡ê¢!ê£Ç꣕ž êÿê¢!Çê£ê£ ‚•žéê¢ºÃ„ê£ „¡&ê¢ ê£ ‚šê¢!Çž êÿê¢!Çê£ ¢ šÂÁø««êÌ ð¢Ì ñ¢¾Å¡ôðÿð¢¥ÂË¡¶š¹ò««ëï¤ £Èí“„¡ïë¤ øñøÃïë¤ ùñùī낫¹öí“¡¶š¹wëï¤ £«í0Ãìń¹«¥ëí¿ë‚«í0Ë¡ é²oì¤øŽ«ì•«¹ö¥ë•¿è¥¾É¡¥¾«ê¥èÂÁ`ž êÌìý¡NèÈ¡龫èé¾Å¡ê è龕Âé¾Å¡ ï¤ ÿ«¹ïë¤ ø«ñùîÉñ£ ÇÉ�¡Lï땤 Ì ò¢îšò¢ Çšðÿïž"Ë¡¹.ð¢šð¢šðûË¡ð¢šñ¢îšñ¢ Çšñ¢  d»««ì“¡ ꢚꢚÁ«ì£¡«ëèÈìú“„¡ìøé뾿êÂë‚«¹ö¹ ìÿéèž¹¶ šÁ.dêÌ«íûáêÂéè¿ëèÈíùíú�“„¡0íø¾«íÿáì¥Â-¡¹ éëì¿ë½ ø2¶šèÌéý¡èÂ1éüÅ¡éûáè¹颚Á.«¶šïÌ ðýìÄ„¡ôðþ¡öð¢Ì ëÉ¡𣠫ñøë‚«ëì‚ñùÅ¡ ê“¡ïÂ2¡‚«¹ éëì¿ë‚«ê¹öéë•¿íù“¡ê¹ôÁ Q lëÌíý¡>éèÅ¡ ë éè•Âè«í£¡«ìéÉíú“„¡íøê쾿ëÂì‚«¹ö¹ íÿêéž¹¶ šÁëì‚ñùÅ¡ñùë•«ð¢ëñùÄšðú“¡Lê¡ðÿîíìÇ�ëž¹ð¢šðÿîíìÇ�ëžì«ëì‚«ð¢ëñùÚð¢ ëñø•šð£ ð£ Å¡ð¢ 𣠚¹aì«ê¡ðÿîíìÇ�ëž¹ ð.Tèù“¡è¹öèûáè¹ 袚袚Áí" *é̶šêûáéÂèêø¾šêûáé¹ꢚÁ0éÌèš««îûáÿîíìÇ�ëžž"á6ê¡1ìÇ�«ëë‘îíë‚•ž ‚«ëÇ‚•dž«ë«ð¢ëìÉš¹¹«¹¶ šÁl ¶šèÌîý¡ðî£Å¡î¢î£•šî£éÂîø¾ Ãîú“„¡é¹öîú¡¹ðîø¾«ê+Ãê-Ã�¡ê-ëéÂîø¾«ê²z¼‹¡V««èèø �ê‚0•šéÂîø¾«í‚«îÿá$ê¥Â-¡íáèš¹èèø †šéÂÅ¡¹ìôî¢Ìîü««î£ î£ Ã¡î£ì‚î£Å¡¹î¹ ï£ î£•«¹ Ç«ì«éêÅ¡ê«éÅ¡î¢!î£îøëéžî¢î£邚ëé‚«ìé•«ìëí“¡Sî£ ¡îø¾«¹ôê²z¼‹“îù�¡òëîú�¡ ì¡èèø‘š¹¹¶šÁkO³ Ð é¾ê¾‚èÈ¡éê꾂龞êé¾ê¾‚¿Á*èÅë¾Å„ë¾ê¾‚¡+ìî¤ Ì©ù©ø•¡ ©¢©ù•š©ù©ø•É¡îìÂ"«îá¶š¹ô©¢ìî¤ ¨ ©¢šíì¹a饾˄¡¶ š¹ô©¢Ì©š©¢Çÿš©ü¡©¢©ýš©î¢ šî¢šîÿî¢!Çïøî£ ‚•žž"Ë¡¹îîÿî¢!Çïøî£ ‚žž"Ë¡¹îî¢ î£ ‚šî¢ší¡ö¹îÿîøîüžž"Ë¡¹îîüáòîûË¡î¢šîø¢ñ»©¢¦×ª©¢ Çš©¢ Ì©»©»© »é¡©¢ ©£©£•𹩢 𩣡n©¢Çš©¢ šé¡ ©¢©£š¹©¢Çš©¢Ì©¢º¾ á îø ¿î¢š¹sîø¾á#èÂîø¾ •«éÅéÈ„¡ îø ¿î¢éš¹KèÂîø¾Ã¡/î£î¢ºÄ¡î£ ¡ î¢ î£ ‚šî¢ÇšèÂ¹îø ¿¹¹¶ šî¢šîá9©¢ šé“¡/©¢!Çž ©ÿ©¢!Ç©øž©ÿ©¢!Ç©ø‚žé¡ë¹ëÂ1¶øË¡©¢š©¢š©¢šó¡)¥ ž!¶¢Ÿš¶ø« ¶7ÿ¶6Ç좚Áºx¶¶šèÌîý¡òôî¢Ìîü««ïøî£ ‚ïùá1î£ì‚ï£ Å¡èÂ2¡ ¶š¹ð¹ Ç«¹ ï£ î£•«¹ Ç«ì«¶7£ž¶ôš¹¶šÁ( :VQ2ò¶šéÌîýîø¶8øË„¡êîþ¡îî¢Ìšðèáî¢ î£ šï¢  d»«î£¡î¢î£šéÂ1î£ï¢  ºéêÅ¡ê«éÅ¡$î¢ šîøëî¢!î£éžî¢î£邚ëé‚«ìé•«ìëí“¡hî£ ¡î¢ šî¢šîÿî¢!Çïøî£ ‚•žž"Ë¡¹ðî£ î£ É¡îÿî¢!Çïøî£ ‚ždÃ�èÃ�¡òîÿÂË¡¶š¹ì««ëì¤ £Èí“„¡ìë¤ øïøÃìë¤ ùïùī낫¹öí“¡¶š¹ìë•«èÃìë¤ ¢  ºdÄèÃ�¡ëìÂ"¹ôï¢ì ¹ î¢!Çž ž"Ë¡¹fî¢ î£ ‚šî¢ší¡öîüá3îø¾ á+á!î£Ç•Äî£ “„¡î¢Ç•šîø¿è¹îÿîøîüžž"Ë¡¹¹¶ šî¢š«êËêëË„¡êìÂ"êëɡ땫ìë¤ ¢  ºdáï¢  ºdá ï¢ ²C¨¹¹#CºË„¡ ï¢ ²C¨¹ ï¢ ìë¤ ¢ ¨ï¢ïøî£ ‚šî£¡ï¢ î£šî¢ »î¢î¢šÁ +Uzêú«Á êù«Á èø ¿èÂÁêÌëý¡O룡èÅ¡ëø ¿êÂè•«¹öëøé¿ê¹*èÅ¡ëøšìë¤ î¢¨ îÿìÂèáá ²~îÿ¤צªî¢šî¢šî¢šÁ/13:! ¢¶¢ šÂÁø ¶¢ šÂÁø¶ ¿ëÿëøžè•«¹ôëøé¿ëÿëøž¹¶ šÁ£4T h«¥ ¿«éÉ¡ 逫¥-¿«éᥦ-32768ת ¹P«ÌìåÄ¡>é²oì¤ø†0‚ ¶EáòÁ¹â߯ ò+ŸÌ6ÍÂ+Ê6ŸË¡ÍÊ6ŸÃ¡öÖ ÿ° ŒØÞTšŒ4¨°úP"hv¸fŠ J¶ü.†*ÀðºL overflowת(¹ð¥צInteger overflowª(¹ð¥¦Divide by zeroת(¹ð¥צNIL pointer referenceª(¹ð¥צProgram interrupted by userª(¹ðÈ–ò .ÊTf* zúF î Ú Úúd2¡¹êí¥뾞¥ë¯¡í«¹í‚«¹öÁ�:X f¸E²6ž!²~¶ú¤²?·¡8²FצPut in :ªP²?¥צSystem IO errorª(¹ð¥צ unknown causeª(è¹ö¥¦ parity (CRC)ת(¹ô¥צillegal unit #ª(¹ô¥¦illegal IO requestת(¹ô¥צdata-²FPÍÂ'Ç «è•«èáö¶úÂ*¡¹ô¶E͸E¶E¹ ŸŸÍ¹Í¹¬ ¹ !#¶EÇà‹¡$¶ á¶Âž"Ë¡ž"«¶Ícom timeoutª(¹ô¥¦vol went off-lineת(¹ô¥¦file lost in dirת(¹ô¥צ bad file nameª(¹ô¥צno room on volª(¹ô¥¦ vol not foundÂ& èͶE ‹¡²¤øÂ²¤øÂž#ž#�¡ž&¶EáòÁ¹â߯ ò+ŸÌ6ÍÂ+Ê6ŸË¡ÍÊ6ŸÃ¡öÖ ÿ° ŒØÞTšŒ4ת(¹ô¥¦file not foundת(¹ô¥צ dup dir entryª(¹ô¥צfile already openª(¹ô¥צ file not openª(¹ô¥צbad input formatª(¹ô¥¦r¶8ͲF¦No user programתP¶8²FÍÁå0ª¹#¥€¸ÌÆ¥^ÍÆ¦.ÍÆÆ)ÍÆª¥€ŽÌÆ¥GÍÆ¦:ÍÆ¥€¸!ÍÆing buffer overflowת(¹ô¥צdisk write protectedª(¹u¥¦illegal block #ת(¹]¥¦bad byte countת(¹F¥צbad init recordª(¹.¬ª(¥€ÅÌÆ¦ SYSTEM.WRK. ÍÆÆ$ÍÆª¥€£ÌƦ*ÍÆ¥€ÅÍÆª(­J ¢'¶ø¡¦Ï¹Í%¥€Ò¦ªÿ«7§4¶ø�“¡ ¦textι&Õ­”}eN:%üèм¥ŠoYDצ IO error: ¥(͹ð¥צUnimplemented instructionª(¹ð¥צFloating point errorª(¹u¥'«7§7§3�“¡¦codeÎ'«7¶š§7¸$ž­Z&Æت(¥€£ÌƦ *SYSTEM.WRK. ÍÆÆ4ÍÆª(¥�R¥€£ŸÍ§�W¡t¥�n d»Æ¦Çß8¦String overflowת(¹]¥¦Programmed HALTת(¹E¥¦Programmed break-pointת(¹&¬R¹¶žƒeP9$æÐªŠoYC¶¥Í¶ %¶Æ®ÎÆ‚€ÍÆ‚0ÍÆ‚XÍÆ�þÍÁ<s“³öá$` 0¢òT² @ÞN¶ÄD€ºÒZ 8 T z ˜ Ú ~ ¦ x‚\6 îÔß ‚ (ÍÁ :à*¥צ dup dir entryª(¹ô¥צfile already openª(¹ô¥צ file not openª(¹ô¥צbad input formatª(¹ô¥¦r¶8ͲF¦No debugger in systemתP¶8²FÍÁ6¸ÌÆ¥^ÍÆ¦.ÍÆÆ)ÍÆª¥€ŽÌÆ¥GÍÆ¦:ÍÆ¥€¸!ÍÆing buffer overflowת(¹ô¥צdisk write protectedª(¹u¥¦illegal block #ת(¹]¥¦bad byte countת(¹F¥צbad init recordª(¹.¬éÈ„¡4ê¾è•‚«ìÅ¡êèêè뾂ìž«ìáëêè뾞êê¾ë¾‚¿ÁRê¦×ªPéÅèÅ„éè‚•ë¾È„¡ ëéêèžêè¿Á,éÅèÅ„¡.êª(¥€ÅÌÆ¦ SYSTEM.WRK. ÍÆÆ$ÍÆª¥€£ÌƦ*ÍÆ¥€ÅÍÆª(­J ¢'¶ø¡¦Ï¹Í%¥€Ò¦ªÿ«7§4¶ø�“¡ ¦textξé•è•‚«ëáêé•¿¹ëÅ¡êéè‚êéëžêê¾è•¿Áè@«ë¾Å¡Q뾫«ê¾ë¾•‚«¥뾿íìÈ¡2íìí•îêíž ‚«íìÅ¡¹êí¥ë¾'«7§7§3�“¡¦codeÎ'«7¶š§7¸$ž­Z&Æت(¥€£ÌƦ *SYSTEM.WRK. ÍÆÆ4ÍÆª(¥�R¥€£ŸÍ§�W¡t¥�n d»Æ¦Çß8ž¥ë¯¡í«¹í‚«¹öÁ�:X f¸E²6ž!²~¶ú¤²?·¡8²FצPut in :ªP²?²FPÍÂ'Ç «è•«èáö¶úÂ*¡¹ô¶E͸E %¶Æ®ÎÆ‚€ÍÆ‚0ÍÆ‚XÍÆ�þÍÁ<s“³öá$` 0¢òT² @ÞN¶ÄD€ºÒZ 8 T z ˜ Ú ~ ¦ x‚\6 îÔß ‚ (¶E¹ ŸŸÍ¹Í¹¬ ¹ !#¶EÇà‹¡$¶ á¶Âž"Ë¡ž"«¶ÍÂ& èͶE ‹¡²¤øÂ²¤øÂž#ž#�¡ž&¥צUnknown run-time errorª(é¹ò¥צValue range errorª(¹ð¥צNo proc in seg-tableª(¹ð¥¦Exit from uncalled procת(¹ð¥¦Stack ¦String overflowת(¹]¥¦Programmed HALTת(¹E¥¦Programmed break-pointת(¹&¬R¹¶žƒeP9$æÐªŠoYC¶¥Í¶?ª¶ צ*SYSTEM.WRK.TEXT²²&²Î ¶¦*SYSTEM.WRK.CODEײ²²Î ¶¢,º¸¶¢º¸¶¢º¸ ­ª¶7Ͷ Ͷ¢ÌÙ¢º š٢ »ØÙ¢º¿ØÙ¢ºž ­4Æ*Æ�V`ͲtΟ¸D²o¤š²o¤ š²o¤dš²o¤Çèš²o¤Ç'š²z³rÿ¶Í¶:Ͷ9Í¥¦CONSOLE:ת(¶:¥ŸÍ¶9¥ŸÍè¡¥¦SYSTERM:ת(¶8¥ŸÍ²¤¶:𲤶9𲤶8š²¤Ÿš²¤ ½¶Ì�¶Ê�¶¢šÊ�¶šÊ�¶¢šÆצ*SYSTEM.MISCINFOªPÆ*ÆÍž"áOÆ*Í “¡?¶Ì�¶Ê*Ì�·Ê�¶¢Ê�·¢¨Ê�¶¢Ê�·£šÊ�¶¢Ê�·¢¨Ÿš²¤Ÿš­  ¶6ŸÃ«¥¤צ???ª¥¤¦Janת¥¤צFebª¥¤¦Marת¥¤צAprª¥¤¦Mayת¥¤צJunª¥¤¦JÊ�¶¢%Ê�·¢%¨ ²tÎÆ*Íž&Æ*Í­n ðÆتÙž&ž"á ²~٤ƪ­ ²€Ì¤ ¦:SYSTEM.ASSMBLERת²€Ì¤ ¦:SYSTEM.COMulת¥¤צAugª¥ ¤¦Sepת¥ ¤צOctª¥ ¤¦Novת¥ ¤צDecª¥ ¤¦???ת¥¤צ???ª¥¤¦???תè¡Î¹²6ž!ÎÎ ÎÎPILERת²€Ì¤ ¦:SYSTEM.EDITORת²€Ì¤ ¦ :SYSTEM.FILERת²€Ì¤ צ:SYSTEM.LINKERªÆ�&²€Ì¨< Ì�bÆŸ‘ÍÌ Ì�cØÊ�cÈ¡ì²~ؤÍ%¶¢º¡Î¶Íè¡ô©7“¡ö¶̄詄袺¡©„è£%†Í Å¡ ¶²tͶ¦ Welcome ×Ͷ²?Ͷצ, toͶͶÍÌ�dÊ�d¦×ªÊ�d¢ØÇ0‹šÊ�dü¡ðÊ�d¢ÇÿšØž&ž"áòØÍ*¡ôÊ�d¶ü¤ ¢ªضúá0²?Ê�dª¥צ*SYSTEM.STARTUPª(Æ¥ŸÍß«7ÆÍ̶¦U.C.S.D. Pascal System II.0×ͶͶͶ¦Current date is ×Ͷ²CºÍ ¶-Ͷ¥²Cº¤Í¶-Ͷ�%Ì�eÊ�%Ê�eÈ¡lضúÃÊ�%Ê�b‹�¡Q¥Ì�fÆ�fÊ�dÍÆ�fÆ�&Ê�%¤ ÍÆ�fª(Æ¥ŸÍß¡²€ÌÊ�%¤ ¥ªÊ�bÊ�%—… Ì�bÆÍÊ�%‚Ì�%¹ö؂̲C ºÍ ¶Í¹¹%¶¦System re-initialized×ͶÍÁÎ(,Ð 06ŠÞöŠÈ" 0 ¤¦Mayת¥¤צJunª¥¤¦J¹î衲;²?ª²?ÆÍÌٟáž'²CÙ¤ ¢ ¨¦CONSOLE×ÎצSYSTERMΦGRAPHIC×ÎצPRINTERΦREMIN×ÎצREMOUTέexˆƒulת¥¤צAugª¥ ¤¦Sepת¥ ¤צOctª¥ ¤¦Novת¥ ¤צDecª¥ ¤¦???ת¥¤צ???ª¥¤¦???תè¡Î¹²6ž!ÎÎ ÎÎ…‡þê<Æ‹DŸ‘Í¥¦*SYSTEM.CHARSETת(Æ‹D¥ŸÍÊ‹I¡îž&ž"áðÆÇ€žÊ‹UÊ‹T•ÅÌÊ‹KƆDÇ Ê‹TžÇÇ •Ì ÌÌŒfØÊŒÆÞªPښ̶ƟͶøÌ1Ê1Ë¡CÛ¡>Ê1ᶦIllegal file name×͹¶צNo file ͶÆÍ¹îÚš¶Ì�3¶¢ºË¡ ¶ÆÍfÈ¡ƆDØ •¤Ú žÚ‚ÌØ‚̹öÇÇ•Ì ÌÌŒfØÊŒfÈ¡ƈDØ •¤Ú žÚ‚ÌØ‚̹ôèÙ„©7“„¡@ÆÇ€ ž Ì?ÌŒfØÊŒfȡƊDؤÆؤ ¤¶¦ not code×͹î¹ð¶ÿÆ3Ƕ£žž"Ë¡¶צ Bad block #0͹îÌ2Ì�4Ê2Ê�4È¡CÆ€“Ê2¤øÉÆ€“Ê2¤øÅ�¡$Æ€“ ž Æ€£Ç žžØ‚̹òÆP‘¤ž¹ Æž¹ ¶¢»Æ‹DÍ­ßRŽÁÌ6¶¢Ÿš²7ž¶7Ÿ‘Ͳ:žÆž¶:ØÍ²9žÆž¶ ¶ÿÆ3Ƕ£žÊ2‚Ì2¹öÌ2Ì�4Ê2Ê�4È¡uÆ€“Ê2¤øË¡aÝ¡9¶צ Linking...ͶͶÍϡܡ«¹ «ž¹#êÇ‹“¡¶צ9ØÍ²8žÆž¶8ØÍ²¤¶:𲤶9š² ž¶ Ÿ‘Ͳž¶Ÿ‘Ͳ6ž ­ŽÆÛªÜÆŸÍÜý“¡1٦׷¡)ÆÌÆÚÍMust L(ink first͹gÊ2‚Ì2¹ôÌ2Ì�4Ê2Ê�4È¡JÊ2ÃÊ2Ä�¡7Ê�3¢0Ê2¤Ì�5Æ3Ê2¤Ì�6Ê�5¶ÿšÊ�5¢Ê�6ùšÊ�5¢Ê�6ø¶£‚šÊ2‚Ì2¹òښ̶¹&Õ­”}eN:%üèм¥ŠoYDצ IO error: ¥(͹ð¥צUnimplemented instructionª(¹ð¥צFloating point errorª(¹u¥Æצ:ÍÆÙÍÆªÜÆŸÍØÜý𨸡 ÚÜ¢ªÙÜ¢ªÜÍ­H d ¸ ¸ ¸ è¡0²&צª²צª².צª²²?ª²²?ª²² ÍÆצ:ÍÆ²ÍÆÙإϡ)¶¦ Running...×Í¶ÍØ¡«¹«žêÇ‹“¡¸¹ ءϹϭ͆¶:¢š¶9  Â_€‚~ßU@pÿÄÄe ÂÀ À & Ãå€ Äåú€Ä%òÿC Ãåý€Ãe€€ Á èöUÄþÃÌ5Ìw ÌýÕ¢š¶8¢š²¤¶:𲤶9šêá'צ*SYSTEM.STARTUP¥Î¡ Í%«žêÇà‹¡ÎêÇ‹¡êÃζ¢ºáêá «Î¹ Ÿ¸E€ àÅ‹÷Ìw ¢ýÅŠøw ˜ý å׋ïC!ÞÌÔ Å@Å D~Ì‹þ€Ì �×  wþw~ýÁD’Ô¤  ü€Í­e fì@^²€ÌÚ¤ ÆÏÌÊáò²€ÌÚ¤ ÆÆÆÆÍ!¡ôÌʂ̲~Ê¤Ì Ê ü¡eÊ ¦×ªÊÍ*¡UÊ ¶ü¤ ¢ªÆ6«ž¸ ¸ ¸ «²FצKCommand: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem, D(ebug,? [II.0]ªPÍ'ìÍ)«Í%ë?á@²FÌ!Æ!Ê ÍÆ!¦:×ÍÆ!ÆÍÆ!ªÆ²€ÌÚ¤ ·¡ÆÆÏ¡ ²€ÌÚ¤ ÆªÊ ÃÊ‹�¡öÊÃÌÊá²€ÌÚ¤ ÆÏ¡­©R âצ*Command: U(ser restart, I(nitialize, H(altªPÍ'ìÍ)«Í%ë³$z€‹“«ì“¡òë¹ö¶ÍΡ«ž¹ô¶ÍΡ«Øá¶צ Assembling͹¶צ CompilingͶ¦...×Í¶ÍØáÌ9¹Ì9Ê9ϡ'ÆÌ:Æ:²ÍÆ:¦:×ÍÆ:²&ÍÆ:ž¹ô¶¦ Linking...×ͶÍΡ«ž¹ôιôιôιôêË¡&¶צ Restarting...Ͷͫž¹¶Í¶צ U not allowedª(¹yØá¶צAssemble͹¶צCompileͶ¦ what text? ×ͶÆ(Í¶ÍÆ¦×¯¡¹ðÆÌ:Æ:Æ(ÍÆ:¦.TEXT×-ÍÆ:ª(¶ ͹RëRÃιJ«ëH៸6ž¹8¬AX¹0qz(ØÄ(*º "D&(”,.¨¡ðÁÇ Dvª¦\x†ÆŸÍž"Ë¡$¶צ Can't find ͶÆÍ¸¹ðÆÌ:Æ:²€ÌÊ9¤ Æ€ºצ:²€ÌÊ9¤ ÍÍÆ€ºÍÆ:¦SYSTEM.SWAPDISK×&ÍÆ:ª(¶7Æ6«ž¸ ¸ ¸ «²FצKCommand: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem, D(ebug,? [II.0]ªPÍ'ìÍ)«Í%ë?á@²FŸÍÆ-¦*SYSTEM.WRK.CODE[*]ת¶“¡ò¶צTo what codefile? ͶÆ(Í¶ÍÆצ·¡ôƾ¶¢,ºÃ¡¹ð¹uצ$ÆÍÌ,Ê,Ë¡-Æצ*Command: U(ser restart, I(nitialize, H(altªPÍ'ìÍ)«Í%ë³$z€‹“«ì“¡òë¹ö¶ÍΡ«ž¹ô¶ÍΡ«Ê,ÍÆÆ:Æ¾ÍÆ:Æ(Ê,ͦ$ׯÍÌ,¹öÆÆ¾¾]Ë¡$Æ-Ì:Æ:Æ(ÍÆ:צ.CODE[*]0ÍÆ:ª¹Æ-ƪ¶Æ-ŸÍž"Ë¡ ¶צ Can't opež¹ô¶¦ Linking...×ͶÍΡ«ž¹ôιôιôιôêË¡&¶צ Restarting...Ͷͫž¹¶Í¶צ U not allowedn ͶÆ-͹¸ ¸ ¸ ØáÌØ«ž¶ Ͷ7Í­_aˈʶ Ͷ7Ͷ¢º¡ž&¶ Å¡+¸¶Í¶ àöàdàÔà(àÅ—km÷ øÿÇHBfÌÎ ûÖ …  7Ê ?IO ERROR WHIÅ¡Í%¶ÍÏ¡«ž¹ö²צSYSTEM.WRK.CODE·¡s²¶¢ª²¶¢ª²¦SYSTEM.WRK.CODE×·¡F²²ª²¾Å¡5²Æ²¾•LE BOOTING? 7¨ ?NOT ENOUGH CORE TO BOOT? ÀÍÆצ.CODE¯¡².²Æ²¾•ÍÆª¸êÇÀ‹¡êÃÏ­. ö¶¦Execute×Ͷ¢º“¡¶¦ what file×Ͷ¦?Æ  Âe— àÊ ù· — €¸‡ß\ß• vÿß• öÿ7º SYSTEM.PASCAL? wÜ7 SYSTEM.8510.QX? @AàÁw¶Â ‰À®Á  ×ͶÆÇÿÍ¶ÍÆ¾Å¡AÆÆ¾¾.á ÆÆ¾Í¹צ.CODEÆÇÿƾ‚ÍÆ¥Ï¡«ž­ž¶¡mÍ%¶ÍÌÆ²‰ÀÂ`!ÁÒ ÒmŽG~Àd!Â~â†� ‰â ·\·Z÷D‚è……ìøÿÍÅå C& ÀH& äÿ† 0  ÷ELÀ Á€Â ‚~À  ê‡7 ?YOU DON'T HAVE A €€ ”� ß‹tÿý€_�vÿ÷ @ @ €þ‰ ‰ ‰—/Îef�AA�,þÅ"ÿÃÿÂ<Ê•w�ÿ· ÿ÷åÿ7 ÿ& ¦ÄÍÖÁ Gà‰÷ 6ý€ÀEÿ7,�ÿ‹ €�€6 ?�  ÷ w pÿrÿàöàÔàDà(àÅ—Å%!Å—kh÷ øÿÇHBfÌÎ ûÖ …  Ÿ ÷•BæÂ †ß&ÀŸ¤ÿÀE€ÿ7 žþ ÷5@|þÀ‰<7 ‡þw Ìÿ{7 yþw Âÿ7 ps w ´ÿm w ªÿg×-d  7ŠÚÿÀÁ×h3÷ øÿõ7 ?IO ERROR WHILE BOOTING? 7â ?NOT ENOUGH CORE TO BOOT? À–ÿ@À•ÿ‰_÷ ’ÿ a z‚ÀE ÷ ~ÿ   ~ÀU€æÃVÿ3�Tƒ ÃE@· Jÿ÷Dÿƒ÷ Bÿ9æÃ4ÿÀœT?�4ÿƒ ÃE@÷"ÿ÷ "ÿƒ×-ÿlÆ  Âe— àÊ ù· — €Ó‡ß\ß• vÿß• öÿ7* SYSTEM.PASCAL? wÜ7SYSTEM.8510.QX? @AàÁw¶Â ‰À®Á Â7 ÎýÀÿ?Šÿ· ÿ~ 7 žýÿE@¨þÿ‰ÿU@ þ· èþ÷ æþ÷ ÚþÍÿE€Òþ7 Îþ€wôý÷ Äþý�€wºþÉU€ Ó æ&· ªþ· ¦þä÷ šþ­ÁåÓ‹þÃ5ƒ À€ÁeW ê‡7 ?YOU DON'T HAVE A €€ ”� ß‹tÿý€_�vÿ÷ @ @ €þ‰ÀÂ`!ÁÒ ÒmŽG~Àd!Â~â†� ‰â ·\·Z÷D‚è……ìøÿÍÅå C& ÀH& äÿ† 0  ÷ELÀ Á€Â ‚~À  Â_€‚~ßU@pÿÄÄe ÂÀ À & Ãå€ Äåú€Ä%òÿC Ãåý€Ãe€€ Á èöU&f¦& Å BA!Aဠû àöàà(àB  Ÿ Å †ßd  7ŠÜÿÀÁCß5 DÄ � !ဠûA!ÎU€ Á à  C`C!Cá‚ ûƒ ƒU‚�€€ Á ÌöUÄþÃÌ5Ìw \ýÕE€ àÅ‹×V=÷ øÿõ7Ž ?IO ERROR WHILE BOOTING? 7l ?NOT ENOUGH CORE TO BOOT? À÷Ìw 2ýÅŠøw (ý å׋ïC!ÞÌÔ Å@Å D~Ì‹þ€Ì �×  w¦ýwDýÁD’Ô¤  ü€ÁåÓ‹þÃ5ƒ Æ  Âe— àÊ ù· — €É‡ß\ß• vÿß• öÿ7  SYSTEM.PASCAL? wÜ7†SYSTEM.8510.QB? @AàÁw¶Â ‰À®Á ÂÀ€ÁeW ê‡7 ?YOU DON'T HAVE A €€ ”� ß‹tÿý€_�vÿ÷ @ @ €þ‰ÀÂ`!ÁÒ ÒmŽG~Àd!Â~â†� ‰â ·\·Z÷D‚è……ìøÿÍÅå C& ÀH& äÿ† 0  ÷ELÀ Á€Â ‚~À ‰ÀÂöÔ<ÀfÐ+¨€’€ÆÀ¦$€ #€à>à  Â_€‚~ßU@pÿÄÄe ÂÀ À & Ãå€ Äåú€Ä%òÿC Ãåý€Ãe€€ Á èöU&f¦& Å BA!AဠûD"€þàÄCOPYRIGHT (C) 1978, REGENTS OF UNIV OF CALIF,SDÿÿüCß5 DÄ � !ဠûA!ÎU€ Á à  C`C!Cá‚ ûƒ ƒU‚�€€ Á ÌöUÁD’Ô¤  ü€ÁåÓ‹þÃ5ƒ À€ÁeW ððððððþßð  P  ? ”"a”"@ "F# n$H%@t#Ž%b”"c”"ž ¸ \ j .  ˆ ®   º ‰‰‰†‚‰‰ƒ‡‰ @`&‡•„ ÄE&~‡•AA~•€ÀE€ÿÀÕÀ Àe @`&‡•AA~•€ÀE€ÿÀÕÀ Àe @`ˆ‡„ ‡–åü–åù ö‡•�`‡Äšó`㇀ @€ @€ÿÿþÿüÿøÿðÿàÿÀÿ€ÿÿþüøðàÀ€f ~f{fxfufrfoflfifffcf `f"� t�Á @L‡�Á A€@@A ‚tBtÖ ‚B@PžÂ<‡� Õ``f~‡ Õ�``A‘~Ö ‡€€c Ò‡€Že�‡•€fÀ r]f$Zf&Wf(Tf*Qæ NæKæHæEæBæ?æ<æ9æ6æ3æ 0æ"-æ$*æ&'æ($æ*!¦†‰``•&& � †`À Á ú‡Žå ‡Î‡ŽåûøŽåøõ•€ÀE€ÿÀÕÀ Àe @a&‡&•6•‡ŽååâŽåâß•€ÀE€ÿÀÕÀ Àe @a&‡ŽåÓÐÎe¦Îe¦Îe¦Îe¦ Îe ¦ Îe ¦Îe¦&•ý€À fÎ € € ‡ÎE€‡Že‡z‡N ŽE‡•€ÀE€ÿÀÕ7¢ø×-Œø Á•€ÀE€ÿÀÕÀ Àe @aˆ‡ ‰‰·\ÅdòÂ<ÃZòÄîÿ‡·@�€@`@`$fH@€à7 �`Áe‚À à€�B~Á  B~Â<ãÁ _@$@$@$@"‡‰÷ �EB~‡�€fÀ r†‰&‡z‡¶%Ž%‡‰·· 7 Ê(Ú¦ææ\7 ¶(¦‚€€`€`�WtüÿB ÿÿ·7ú@`À ð d‰ìd�&`f&d&b& ÷Ê�Á �mÁ ÁefÁ �aBÁEðÿÁ B<øÎÂ<‡ ú÷ ŽwN �EC~�Áí B~‡ŽU‡�€fÀ r†‰f‡�Vpf‡z‡ ‡Î Îe€‡N ‡€�ùÉ þ�É‹ ‰Ã¦Æe Á¤ÿá ¢rþ·–fæwœˆÏBCâ ‚âÊ% €Àe€ìúÿ€ìøÿÀå 7d÷,ñ\ã ·ÁAâÉ‹á B‚â·J@á B8�@ 6÷NæÿÿÂEðÿ ŽLÀU@àtüÿ7`.æÿÿ~BÂEðÿ ‚B Ž@Wtüÿw`& B~æÂ<‡Žå‡z‡¦»¦¦º& ‡€ü�& ÁE‚âÊm8~@á B‚âÊm*~@á B‚âÊm~÷ Úƒ�ÀÇ·øÿ€·ìþÀ ð  ðþð÷ Ðþ±° ÇÊÿ�€ðÿÁ N\øÀEðtüÿ& B~€ &‡ž‡€ ÿ‚> ‚‡‰÷ ~�UB~‡ ‰æð‡ Õ�@ ‡À €aÁ �a!‚~Fƒ@àÀ à€Á ÐB~ À 𠀉I•÷€ðªþ? zðr·¢þ&÷ ¦ÿ7þhð† Ó �àAâFìúÿÀ‚þ„ ÁeþÿAâÉ ÷-BðlþÀŸ:ðÀ ð ÷\þ.ðÂ<‡ÿ‹$ðW¢Fløÿ‰÷ðåË *å�€7 �þ7 Žþ7 €þ÷zþvþ÷ xþ7 vþÿE€lþ7 hþ÷ 7 ÿE€7 �‡tÿvÿÿÿ÷ ôÿý�€wêÿÉU€ Ó æW r7 $þ7 "þ‚~ÆöÂ<‡•€ÀE€ÿÀÕÀ `‡•€ÀE€ÿÀÕÀ `¦‡•€ÁE€ÿÁÕ€W @p@À `‡•€ÀE€ÿÀÕÀ Àe À`&‡& Õ`‡&Ž Õ`‡÷ þ^· Êÿ·Âÿæ��€ÿE@®ÿ�÷ ´ÿ�&À¬ÿ?�žÿ  ÷ –w šÿ€ÿU@†ÿwüü÷ „ÿ>÷ €ÿ6÷ Æý��€ò& Àßhÿ÷ ^ÿ7 XÿÀå �•€ÀE€ÿÀÕÀ Àe À`&‡•€ÂE€ÿÂÕ€�‚~Â<‡ ‰€ ÿ‚7�ÀZ ¢ ‚� Ò‚ ”‚~Â<‡ ‰•€ÀE€ÿÀÕÀ Àe À`ˆ‡„ ÄE€ÿ‹Fÿý€ÿ• @ÿ~�€ w 2ÿ ?�*ÿ  ÷ "€ÿU@ÿ· ÿ÷ ÿw„üÿE€ ÿ7 ÿwvü�ÿ‹ôþý€ÿ• îþ�€‡FRX\`–¢¶ºÈäì&   Ô @àÀ `ã‡Ô ‡•G´7vz Ö Î‡Ö  ‡7ˆH€ ÿ‚7��ÿÀZ 6�W ÿ‚w�{ÿÁZ N ¤†ÜÿÿBÜÿÿ¤ ûF J ^ f j n x | Ü à ö ä è  " 6 B îD J f Œ ž ² Ò ê 2  4 ^ v ¬~˜ ˜ ˜ è  ˜ ˜  ˜ 6 j | ’ º Ì â ì ô ¤h*06NV\bz€¾¯ öÖ Â<‡6 ù•€ÂE€ÿÂÕ •€ÂE€ÿÂÕ7ˆ �€¤ƒ~ æÂ<‡& ûÎEþÿöEþÿŽ÷ Jd`·n�þÿ ¦ŒüZô ˜˜Z ` fš–:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú "*2``@x `dþÿ‡Á �%  D~ "Ð ƒ~Á ø�E D~óÁ D C~Á �%  D~ Ð ƒ~Æ& Â<‡Ææø•AA~•€ÀE€ÿÀÕÀ Àe ×'ðß(ßð�À(@`@`�Áå( ƒ‰(‡¶“�‚+¶mÖ Ž] €€‡ à†‚ P‚~P�‚~‚��eŽe€NPŽP ‡ à†\É =€¶ "ù  Š\¶m¶¶Ž\ � W Á �mÁ ÁefÉ5`\Å_Æe wÊõÉ5 ÅôÉ5@ù��àÉ ù��W à†‚ ‚~”‚~ÆeÂ<‡‚ù��e€€e€`�`!˜‚~òÖ Že€‚��ö ¤C~¤C~À €å–%Â<‡ € ö ¨óC~¨ï\É‹ýE’ Šâö5Þ\ù\ù\öfž F^ªT 2´&²ºÐØàèðø,FRð,: × ý�C~€€cêÄîÄeüÿãίøíö¯ôí–%‡@ ÁeüÿAâp®6®–%‡ë‰€� "1, 1,1,^ ‡ ‚ñ%ÀwôÿÉU€Ö Ó ·j·j�K�À÷ ÒÿÿE€Êÿ7 Æÿ÷Jßäÿ�‡÷-`fß5tÿDÿ‹øÿ� PŸ 6_ 8׌†ßEäÿ÷ €ÿ ßð ^Îÿÿ‡A ãñ%ð^·AØ€�æ&DaÁefÔ„ Â¥_û— 0‡— 9ƒÂE — A‡— Z‚ƒ ë‘�éÄå ƒ ‘�ü‚ŸàÿßäÿÿE€lÿ7 hÿ_Æ&À€  ^À< <ß—vÿ<7úÿ€÷öÿìÿ÷ôÿˆÿß|â&f¦æäÿßEäÿÂàÊ• Á°ÿ@”W ^ �îƒðCàà ÃøÁ Á fÁ �eÁe¦ƒ €$ $ $ $ @A ÁeÁeÁeÁeé Á>„„ƒ‚ÂeJÂ<‡ Á<  †À x*�w šÿðwŒÿ·Îÿ·’Îÿ—¢ Ê•Àþ€ÒtÊ•ÿÁðï ߀äÿ ”QŠƒ~Ÿäÿ‚�€wôþÂEÖÂU‚ ÒÂ5Ï ÍÂàÊ!$'(****AND 'ARRAY ,BEGIN CASE CONST DIV 'DO DOWNTO âÿÂà·ðÿ ¦÷ V‚¾‚ ¼ÎU· Æþ·¦÷ >Âe0— €ìÂà· ¾ÿô‚¨Á W <§†Á]¤ÀÜþ@à€Àe" ðÂE@”W ^Á<Àå ÀE€þ&@” ELSE END EXTERNAL5FOR FILE .FORWARD "FUNCTION GOTO IF IMPLEMEN4INW ^Á<ÀEàÿ  Âdÿt`— €ì‡Âå€ ‚UËÂe€— €ì‡ÂE€€æÃ:ÿtùÿ×tùÿÀà€Àeƒ ´¦ÂE÷ †‚ßeâÿ×'âÿ‡ âÿ÷e€þþ×- )INTERFAC3LABEL MOD 'NOT &OF OR (PACKED +PROCEDURPROGRAM !RECORD -úþ€ìž‡÷E€ðþš€ÀE7 äþ”Â倗 à�†Âe€ Œ”””””””ðè¬&â”””””””””””ú””RæÀPƒÃE€ÿÀàà Ò�REPEAT SET *SEGMENT !SEPARATE6THEN TO TYPE UNIT 2UNTIL USES 1VAR ~ƒ‡Š÷ ðÿýwêÿÉU€Ó Î÷ ÜÄØÿ”@ÀEÿü”€€ ã  ×@İÿ7LW‘ÅÅEüÿÀò€À €w<÷•áE 7 WHILE WITH �àÞŽêÞŒê�‡7 è÷d(¦€& æ€@  z7 Ò÷d(¦7 Ê÷Ò(7 Â÷¶(7 º÷°%7 ²÷*7 ª÷´%7 ¢÷ 'À "÷ ®Å ø�7 ÷Ò!Wa÷Ö!Waw‘¾Àä!÷ †÷¥ü¨ÿ ÷ŸÜÿ ÿ÷�››ÿü–ÿwð÷µ ‰wÖÀ¯÷µyÀß7 |7�vÀè!÷ :ÿ‹˜ÿ7 š÷T+·\ vwŠ÷÷ *ùÂ<‡÷ Rù‡×'ðß(ßðÞ(‡Ÿ(ßð‡æ‡€@ BÈCzEG@ÃHPtJ$L€–¾M ¼nO(k)€w‘mw‘e÷•dÀñ!÷ ûÀí!÷ öw‘[Â&Ãz!÷ ªÀ"÷ úéÀ�ÀÝû€ ÀEüÿ?�Rÿ?ŠDÿŸJÿ€ÀE÷•€ ÷•÷€R7~‚ <þ€ ÕÁ  ÁmðAâÉ‹×Fìøÿ·! ïåƒæ &æþæäïffDúÿ„ …Åe …wÆï5 wÀïDÄeþÿã‡Â`ÎÍÂ<‡ÂnÇæÍC÷”ïÂ<‡ÂQùºR·ChT¥ÔV焵W!æcY©_[ʱ\¼¢^^k `#Ç­aìxXc'×ex†©fhShÂjQY¥k¦oNm�Ëo9?¡p�IrÊòüs|o�u®ÅEw7öxß„šz @|Ηð}½€ � &À À &„¼Bœò@B¬ø Â<‡Cþÿ÷`ï¯`ï& ΟXï÷ ¾þ@ •Åe E`E``B~Å8ïAÑ Ew0ïw.ïDw$À &ß  ‰‡Z&X‡‰Ê‰‡€Àç(¡ &‡7 |övª‚Ð7 nö|ªôÐ7 `ö|ªŒÐ7 Tö”ªÜô ôÐ7 <ö”ªèô ôЦ6 Æå Ø#Ø#Ó ÅK÷ äþý�—#‰?%‡‚—-£0 ƒö@ö’ €�æ׳æÝÀf&& æ€@æ׳æÝ@f&7 ŠH(¨% +¨%'Ò*€�f&f&7 lH(+H(¬%H(¬%H(¬%H(¬%H(¬%¬%0+·�Á÷ ‚÷!l÷•¬À ÷ \÷•œÃà à ÷öÿÀa:÷�„ƒ÷-:òÿ†÷2êÿ÷íæÿ*ÿ $· Ìÿ÷‹œ÷Õ’÷��ˆ÷¯¨þ‡Àñ!÷ :?Š€wÚþÉU€ æ· Ðþ·ÎþJ÷ Êÿ_Æ&ÀÀþ2�ÿŸ¼þ´ÿ· ²ÿ×-®ÿŽ/· ¤ÿ×- ÿf$÷Ø#–ÿ€÷ ˆþÿŸˆÿ„þ· ‚ÿ×-~ÿf$÷Ø#tÿ÷ tÿ÷ nþ· dþ–þÀí!÷ ,ðøÿ�g„þÄ SšÿÃFÿ÷ ºÀö!÷ ÷µ'ñã÷Å:ÁtÿÁ w`ÿ÷Šõ÷ ªµ÷µ1÷Tÿ÷j!þþ´÷ Ž'£&Í „…_Æw ��€÷ ^ÿã_Æ÷•Tÿÿ‹Rþ÷ Hÿ÷•Dÿ€÷ 2þïÿ�8ÿ*þ7 2ÿÿE€ þ7 þ_Æ�€÷Ø#ÿ÷ÿÿ7 ÿ÷ þÿE€øý7 ôýæß~%ÿU@ðýÅðÿ÷E ÈýßÄý ò÷ tÁÄÅ_÷>øÿ÷ \ýý‡ÄRýìUÿ•ÿÚý÷‹�ý÷ \×@@&Ä2ýìE€ „‡ÁòÉÃÉ÷Ubý  Â]Öÿ€÷ERý¡ –%Ÿ�‡�€÷ ÌýÿE€Äý7 Àý�‡Îe€z\æ& Dær汿¦)&&\Î ¶� ö•€ æóæ5@¦¦æóæ5@7 X¨%B&¬%'‰· Hý‡7ÜÆ!g÷Çû÷a7œÉ!`7œÌ![7œÏ!Vw‘Lw‘Cw‘;‡·¢”7’Âòý€B D�”ŸòI~’A�÷<÷ |� ÷r À "÷ Âÿ_ ÀÝ!ÂX&X&H(.&8&8&8&H(¬%H(¬%H(¬%H(¬%L&(b&H(¬%l&H(l&€� &f&¦¦\¶ ¶ \& ŽÝÎå€\¦¦\æræ1@\öŠæÙ[æÞ?\€�òý€B �Å #€E %Âò��M~× ÷µ@¹Â�³€ÂEüÿ… ÿ•ÿÞü Âaò•ÿ”·Š“7 Îÿ÷Š‹wÚþ7 Àÿ_·¾þw®þ7®þw®þ÷‹mü÷ ,÷URüßÖ …Æew &… š?UÌ? *@ÚªAD €�C ŠÃÃå˜Ã%èÿ  æ  ƒ üƒÁ @ ƒ ü …f&\À�À ‚ ‚Nü ò‡W—×W·Š=ü‡ÅôÿÄìÿÃäÿÂÜÿÁÔÿÀÌÿ7Šü‡7Š4Ã\ýÂÃ% ‚ÃeóC ‡~Â�ŠÃÃ% C  ƒ`ƒ`ƒ`‚ ‚ ÃåýÃe÷� B Ž- ‡ ÆeÀ \z\D ²Ãf‚ °C_‚À  fW‡æ & æ€@&&&&7 úŽ'H(d(˜'(Ž''¨%ž'H(¬%'¬%¬%'~'¬%„'H(Ú'Îeù·�ó‡7ŠîÃý Ã%Ãå‚ ù÷‹¡Ãüü Ã%Ãå‚ ùÃ%·Š¶·�±·Š­Â à ƒ` Ã%Ãå‚ ùƒ ÷�“‡@€îtÜ耀\¦¦\æ;ªæ¸@\¶ \N @ Îåƒ  €�æ‚=æ@Âf&æysæEæ[\æpCf&f&\–%€�„ÄŠ„ a�… À€@…ÀÀw @@Tÿÿÿÿÿ$ ÿ¸  …¦¦6 6 & � f Â�6ŠA ‡Â üv�Š�ÐÁ  6ŒN\z\€�‚ƒ\€�\¶¶ ‚ �N A f C�ŠÁÁå� Á% ÿþLÿNÿ÷ ìÿý�€wâÿÉU€ Ó æ· Ôÿ·ÐÿÿE@Ðÿ÷ Âÿe÷ Àÿ]& ÷ Àÿ€7йÿÀ• 7Š®ÿÀ•÷ šÿ· ˜ÿ7ÀßʃÝC B Á ü … ‡ Ž\ ü‡æ w  òD& &&æÛæÉ@7 ‚¬%Þ(D& &&Î 6  æÛæÉA7 ^'0)®&¨%:)0)®&�ÿ2÷ Žÿ7 ˆÿÀå ÿ‹‚ÿý€ÿ• |ÿ· tÿ ~" w dÿ     ÷ X· Nÿ  wŠKÿÀ•  wŠ:ÿÀ• 7 ,ÿÿ‹*ÿý€ÿ $ÿý�?� ÿ€ÿUD)¨%J)0)0)H(r)H(¬%H(¬%H(¬%H(¬%H(")€�Ö Àe€…¦¦\Î ò¶Š\¶S\ö‹ Îe€& æ€@7 ò¬%b)Ä)¶Œ†Îe€\€�¢)Ã@ÿ· ÿ÷ ÿ_ÆÿE€úþ7 öþw¨ÞfÀ Áðþ÷UêþÁíæþ?�äþÿ‹Þþý€� ù�‡�€÷ ÂþÿE€ºþ7 ¶þ�‡PÿRÿTÿVÿÓ Å+÷ f&¦¦à ú\:º×™¼c&£>X4%Àá]É@Û& & & & & D&&€D&&�À ŠÀÁ ŠÁ@àÀ%7 r'â)ý  öIAöÛ ý öe€àÿý�€wÖÿÉU€ æ· Ìÿ·ÊÿÿE@Êÿ÷ ¸ÿ÷ ºÿ ÿŸ°ÿºÿÿU@²ÿ· ¤ÿ÷ ¤ÿ_ÆÿE€’ÿ7 Žÿ_ÆÎ ÆeÀÉ@ÁÛý Àe€…& & & & & D&&Îe€¶ —#€@‡ö öÉÀöÛö ¦¦ö€@6 7 â'r*¦¦6 6  140 blocks) 2 = Double-sided, Double-density (2280 blocks) S = STOP Drive Number (0,1,2 or 3) ? @ -OK @ -INVALID OPTION    , TRY AGAIN.SYSTEM DEVICE - Are you sure? (Y or N) PLACE DISK IN DRIVE @ - TYPE ANY KEY WHEN READY€ FORMAT COMPLETE - NO E  Rg; MT@Ô@òÿ$@ ÿþ * FORRORS DETECTED ?REBOOT ADVISED?ß ò�÷ ªController Board Fault *朷hß8œÅ�‹w�°‡E�­÷cHÃ,ÂÛ�pƒ~ÀÁ÷ RMAT ABORTED BECAUSE: € ST0/3 ST1 ST2 C H R N € Cylinder (x10): €@@@@@@@@@@@@@@ˆ÷µ b ÷ LDrive Not Ready *÷µ@B ÷ ,Write Protect On *÷•Ð�÷µ÷‹ ÷ Single Sided Disk *÷• aÀÅ÷ À@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ÅÙÔÁ×@@@@@@@@@¬%V(+Ö …¶ ¶ \€�ÂP+Ãf&¦¦à ú\ö Îe€\Å>Â:¿L]L?ÛÆª¿¤ª€@Ö \fEA#�&æ� Áe@ & f& f& f7 Öÿ'¬%€+N ÷ „À7Á&À C~÷ d7ŠE÷�%B÷�!>÷�9÷�4ÃÛÂ�÷ ¨÷ h÷÷‹Ÿ÷Õw�µ ÷•÷•$ÃCÂ�×÷ x÷ 8÷À�o7œ½9Îå€ö ff¦¦î€�Ö ……w û  ÷&@& ÿ €…Ì+ ‰þw�¿7fÄ8·�ÜÂ÷ JÀÛ÷ d÷Š�í÷ (Write Failure *\…€÷  w�µ�w�·Œw�¹‡w�»‚·Šw÷�sq÷ÅoÀÎ÷  ú DOIT ÷Š8õ÷ ÐSeek Failure *B�³Ã”÷ Â÷ ®÷ ~à÷‹µ÷Õ)B�³ÃŸ÷  ÷ Œ÷ \Ï÷Š�€÷ ÷• ‚÷¥L÷wvÿ·Šs÷ w¦ÀÊ ÷ †÷в÷ JRecalibration Failure *‡ÀÓ÷ V÷ Âÿ÷Š~ ÷ Format Failure *‡A�¹Ë��ÃeE~‡ßòÃßòÃÂU€Ÿ òŸ ò÷U°‡”Âòý€B €÷ ÀExecute Phase Sync Fault *”ŸòY~’‡�7Ч÷Uhßd ò÷‹—ý� Àæ÷ ¢ÿ÷�†À�zÀEüÿÀ­p·Š¾7�p‡ ÀZÂòý€B �÷ BResult Phase Synch Fault *Âò��Y~È•ÿ÷µÀ$‡÷E êßæ ò·ŠÀé÷ ¨€÷  À ÷ ˜ÁZC”Ã¥ÿÃÕÎÁ &f¦æ&fÀô÷ æÀ÷ ÞÄìÃ÷ „÷­À©37�#À¶÷ ¾ÄíÃ÷ d7� ÷�…èÀþ÷ žÄñÃ÷ DÀ¥ãÄÀ0¡C @ ÷ \ÀK ÷ nì7ŠÅ÷• ¾÷•÷Û‚7Š)À�ÿÁc ŠÁe~ÆnŸœ‡×pÿ pÿß‹pÿý€À—rÿßìÿpÿ‡×tÿ tÿß‹tÿý€�÷�cÆÀ&÷ |÷ @÷ ÷‹ÍÀX÷ f¿À€÷ \…„ƒ‚�€‡À�$÷ *÷ Á€¤C~7�ÀÞ÷ ,î7�ÀÖ÷ À�÷ÀEüÿ‡ÿÿS012vÿßìÿtÿ‡ÀŸúÿ € ÷ Ðÿ· êÿõÀ• ÷ ÂÿÀ• ÷ ºÿ‡Û@ÃÌÐÕÝb b â â b b b 3YN TERAK DISK FORMAT UTILITY * VER. 1-01 0 = Single-sided, Single-density (494 blocks) 1 = Single-sided, Double-density (1           ððððððþßð/HJKC  >P  ?]f$Zf&Wf(Tf*Qæ NæKæHæEæBæ?æ<æ9æ6æ3æ 0æ"-æ$*æ&'æ($æ*!¦‰ ‰ ‰—/Îef�AA�,þÅ"ÿÃÿÂ<Ê•w�ÿ· ÿÎe¦Îe¦Îe¦Îe¦ Îe ¦ Îe ¦Îe¦&•ý€À fÎ € € ‡ÎE€‡Že‡z‡N ŽE‡•€ÀE€ÿÀÕ7¢ø×-Œø Á÷åÿ7 ÿ& ¦ÄÍÖÁ Gà‰÷ 6ý€ÀEÿ7,�ÿ‹ €�€6 ?�  ÷ w pÿrÿ@$@$@$@"‡‰÷ �EB~‡�€fÀ r†‰&‡z‡¶%Ž%‡‰·· 7 ʶ*Ú¦ææ\7 ¶¶*¦‚€€`€`�WtüÿB &ÀŸ¤ÿÀE€ÿ7 žþ ÷5@|þÀ‰<7 ‡þw Ìÿ{7 yþw Âÿ7 ps w ´ÿm w ªÿg×-Á �aBÁEðÿÁ B<øÎÂ<‡ ú÷ ŽwN �EC~�Áí B~‡ŽU‡�€fÀ r†‰f‡�Vpf‡z‡ ‡Î Îe€‡N ‡€�–ÿ@À•ÿ‰_÷ ’ÿ a z‚ÀE ÷ ~ÿ   ~ÀU€æÃVÿ3�Tƒ ÃE@· Jÿ÷Dÿƒ÷ Bÿ9æÃ4ÿÀœT?�4ÿƒ ÃE@÷"ÿ÷ "ÿƒ×-ÿl8�@ 6÷NæÿÿÂEðÿ ŽLÀU@àtüÿ7`.æÿÿ~BÂEðÿ ‚B Ž@Wtüÿw`& B~æÂ<‡Žå‡z‡¦»¦¦º& ‡€ü�& ÁE7 ÎýÀÿ?Šÿ· ÿ~ 7 žýÿE@¨þÿ‰ÿU@ þ· èþ÷ æþ÷ ÚþÍÿE€Òþ7 Îþ€wôý÷ Äþý�€wºþÉU€ Ó æ&· ªþ· ¦þä÷ šþ­ðÿÁ N\øÀEðtüÿ& B~€ &‡ž‡€ ÿ‚> ‚‡‰÷ ~�UB~‡ ‰æð‡ Õ�@ ‡À €aÁ �a!‚~Fƒ@àÀ à€Á ÐB~ åË *å�€7 �þ7 Žþ7 €þ÷zþvþ÷ xþ7 vþÿE€lþ7 hþ÷ 7 ÿE€7 �‡tÿvÿÿÿ÷ ôÿý�€wêÿÉU€ Ó æW r7 $þ7 "þ‚~ÆöÂ<‡•€ÀE€ÿÀÕÀ `‡•€ÀE€ÿÀÕÀ `¦‡•€ÁE€ÿÁÕ€W @p@À `‡•€ÀE€ÿÀÕÀ Àe À`&‡& Õ`‡&Ž Õ`‡@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ þ^· Êÿ·Âÿæ��€ÿE@®ÿ�÷ ´ÿ�&À¬ÿ?�žÿ  ÷ –w šÿ€ÿU@†ÿwüü÷ „ÿ>÷ €ÿ6÷ Æý��€ò& Àßhÿ÷ ^ÿ7 XÿÀå �@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@åÖÓñTERAK @@@@ÿ‹Fÿý€ÿ• @ÿ~�€ w 2ÿ ?�*ÿ  ÷ "€ÿU@ÿ· ÿ÷ ÿw„üÿE€ ÿ7 ÿwvü�ÿ‹ôþý€ÿ• îþ�€‡FRX\`–¢¶ºÈäì& @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ÿV P J 4 .  F J ^ f j n x | Ü à ö ä è  " 6 B îD J f Œ ž ² Ò ê 2  4 ^ v ¬~˜ ˜ ˜ è  ˜ ˜  ˜ 6 j | ’ º Ì â ì ô ¤h*06NV\bz€ ú æ Þ ° ¤ ¸°¬¨¤š æÊº¦¢œˆZVRN:øö¼ŽdÞºhZT4š”””””�ŽŒŠˆ†„;à è ŒüZô ˜˜Z ` fš–:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú "*2``@Z‚` ‰ÀÂöÔ<Àfr.¨€’€4ÀH'€B&€Jà8à6Ä!a6Ä!@Â$è% 'ê'@&0(b6Ä!c6Ä!ž ¸ \ j .  ˆ ®   º ‰‰‰†‚‰‰ƒ‡‰æ$€ !àÄCOPYRIGHT (C) 1978, REGENTS OF UNIV OF CALIF,SDÿÿÿ @€ @€ÿÿþÿüÿøÿðÿàÿÀÿ€ÿÿþüøðàÀ€f ~f{fxfufrfoflfifffcf `f" dþÿ‡Á �%  D~ "Ð ƒ~Á ø�E D~óÁ D C~Á �%  D~ Ð ƒ~Æ& Â<‡Ææø•AA~•€ÀE€ÿÀÕÀ ÀeC~€€cêÄîÄeüÿãίøíö¯ôí–%‡@ ÁeüÿAâp®6®–%‡ë‰€� "1, 1,1,^ ‡ ‚ñ% @`&‡•„ ÄE&~‡•AA~•€ÀE€ÿÀÕÀ Àe @`&‡•AA~•€ÀE€ÿÀÕÀ Àe @`ˆ‡„ ‡–åü–åù ö‡•�`‡Äšó`㇀ð ^Îÿÿ‡A ãñ%ð^·AØ€�æ&DaÁefÔ„ Â¥_û— 0‡— 9ƒÂE — A‡— Z‚ƒ ë‘�éÄå ƒ ‘�ü‚Ÿ� t�Á @L‡�Á A€@@A ‚tBtÖ ‚B@PžÂ<‡� Õ``f~‡ Õ�``A‘~Ö ‡€€c Ò‡€Že�‡•€fÀ r �îƒðCàà ÃøÁ Á fÁ �eÁe¦ƒ €$ $ $ $ @A ÁeÁeÁeÁeé Á>„„ƒ‚ÂeJÂ<‡ †‰``•&& � †`À Á ú‡Žå ‡Î‡ŽåûøŽåøõ•€ÀE€ÿÀÕÀ Àe @a&‡&•6•‡ŽååâŽåâß•€ÀE€ÿÀÕÀ Àe @a&‡ŽåÓÐ!$'(****AND 'ARRAY ,BEGIN CASE CONST DIV 'DO DOWNTO•€ÀE€ÿÀÕÀ Àe @aˆ‡ ‰‰·\ÅdòÂ<ÃZòÄîÿ‡·@�€@`@`$fH@€à7 �`Áe‚À à€�B~Á  B~Â<ãÁ _ ELSE END EXTERNAL5FOR FILE .FORWARD "FUNCTION GOTO IF IMPLEMEN4INÿÿ·7ú@`À ð d‰ìd�&`f&d&b& ÷Ê�Á �mÁ Áef )INTERFAC3LABEL MOD 'NOT &OF OR (PACKED +PROCEDURPROGRAM !RECORD -ùÉ þ�É‹ ‰Ã¦Æe Á¤ÿá ¢rþ·–fæwœˆÏBCâ ‚âÊ% €Àe€ìúÿ€ìøÿÀå 7d÷,ñ\ã ·ÁAâÉ‹á B‚â·J@á BREPEAT SET *SEGMENT !SEPARATE6THEN TO TYPE UNIT 2UNTIL USES 1VAR ‚âÊm8~@á B‚âÊm*~@á B‚âÊm~÷ Úƒ�ÀÇ·øÿ€·ìþÀ ð  ðþð÷ Ðþ±° ÇÊÿ�€ WHILE WITH �àÞŽêÞŒê�‡7 è÷+¦€& æ€@  z7 Ò÷+¦7 Ê÷t+7 Â÷X+7 º÷R(7 ²÷¾,7 ª÷V(7 ¢÷Â)À 𠀉I•÷€ðªþ? zðr·¢þ&÷ ¦ÿ7þhð† Ó �àAâFìúÿÀ‚þ„ ÁeþÿAâÉ ÷-BðlþÀŸ:ðÀ ð ÷\þ.ðÂ<‡ÿ‹$ðW¢Fløÿ‰÷ð7 š÷ö-·\ vwŠ÷÷ *ùÂ<‡÷ Rù‡×'ðß(ßðÞ(‡Ÿ(ßð‡æ‡€@ BÈCzEG@ÃHPtJ$L€–¾M ¼nO(k<þ€ ÕÁ  ÁmðAâÉ‹×Fìøÿ·! ïåƒæ &æþæäïffDúÿ„ …Åe …wÆï5 wÀïDÄeþÿã‡Â`ÎÍÂ<‡ÂnÇæÍC÷”ïÂ<‡ÂQùºR·ChT¥ÔV焵W!æcY©_[ʱ\¼¢^^k `#Ç­aìxXc'×ex†©fhShÂjQY¥k¦oNm�Ëo9?¡p�IrÊòüs|o�u®ÅEw7öxß„šz @|Ηð}½€ � &À À &•€ÀE€ÿÀÕÀ Àe À`&‡•€ÂE€ÿÂÕ€�‚~Â<‡ ‰€ ÿ‚7�ÀZ ¢ ‚� Ò‚ ”‚~Â<‡ ‰•€ÀE€ÿÀÕÀ Àe À`ˆ‡„ ÄE€„¼Bœò@B¬ø Â<‡Cþÿ÷`ï¯`ï& ΟXï÷ ¾þ@ •Åe E`E``B~Å8ïAÑ Ew0ïw.ïDw$À &ß  ‰‡  Ô @àÀ `ã‡Ô ‡•G´7vz Ö Î‡Ö  ‡7ˆH€ ÿ‚7��ÿÀZ 6�W ÿ‚w�{ÿÁZ N ¤†ÜÿÿBÜÿÿ¤ û×'ðß(ßð�À(@`@`�Áå( ƒ‰(‡¶“�‚+¶mÖ Ž] €€‡ à†‚ P‚~P�‚~‚��eŽe€NPŽP ‡ à†¾¯ öÖ Â<‡6 ù•€ÂE€ÿÂÕ •€ÂE€ÿÂÕ7ˆ �€¤ƒ~ æÂ<‡& ûÎEþÿöEþÿŽ÷ Jd`·n�þÿ ¦W à†‚ ‚~”‚~ÆeÂ<‡‚ù��e€€e€`�`!˜‚~òÖ Že€‚��ö ¤C~¤C~À €å–%Â<‡ € ö ¨óC~¨ï Z&X‡‰Ê‰‡€Àç(¡ &‡7 |övª‚Ð7 nö|ªôÐ7 `ö|ªŒÐ7 Tö”ªÜô ôÐ7 <ö”ªèô ôЦ6 Æå À]pý�÷ |ýÊ‹��D~‚ G~ Á5�E~� � ����E~�‚…Âe€— €ì‡Âå€ ‡Â倗 à†Âe€ ‡ÀâÿŠ€ €` à†Àe€  …„ÿ|ÿ’ÿŠÿ\É =€¶ "ù  Š\¶m¶¶Ž\ � W Á �mÁ ÁefÉ5`\Å_Æe wÊõÉ5 ÅôÉ5@ù��àÉ ù��˜¦ÄÿÞÿZT¶ÿª¢„ÿ|ÿšÿ˜ÿ˜¢ *Ì’,÷ ðÿýwêÿÉU€Ó Î÷ ÜÄØÿ”@ÀEÿü”€€ ã  ×@İÿ7LW‘\É‹ýE’ Šâö5Þ\ù\ù\öfž F^ªT 2´&²ºÐØàèðø,FRð,: fÁ6� ÅÅEüÿÀò€À €w<÷•áE 7À®$÷ ®Å ø�7 ÷t$Wa÷x$Waw‘¾À†$÷ †÷¥ü¨ÿ ÷ŸÜÿ ÿ÷�››ÿü–ÿwð÷µ ‰wÖÀ¯W Y‡Áå#w (Q&À—vÿ  I‡×   >†7 òÿ7�(w& EFHJKABCDWX][ôúîèÔÐf@¤þ@’à· N· Z·¨ÿ÷Œ[ ÷µyÀß7 |7�vÀŠ$÷ :ÿ‹˜ÿ)€w‘mw‘e÷•dÀ“$÷ ûÀ�$÷ öw‘[Â&Ã$÷ ªÀ£$÷ úéÀ�ÀÝû€ ÀEüÿ?�Rÿ?ŠDÿŸJÿ€ÀE÷‹U±7ŒM†wŒG7 ˆÿ–% €@àÀå`�?�Rÿ ŠwLÿ€�÷öÿVÿ÷ôÿxßx|ßxtߪ@�× ý�ÀwôÿÉU€Ö Ó ·:·:�÷•€ ÷•÷€R7~‚ ·�Á÷ ‚÷ª#l÷•¬À ÷d#\÷•œÃà à ÷öÿÀa:÷�„ƒ÷-:òÿ†÷2êÿ÷íæÿ*ÿ $· Ìÿ÷‹œK�À÷ ÒÿÿE€Êÿ7 Æÿ÷ßäÿ�‡w z÷Âþ2@”tÀå � w ìÀEt÷öþ@”_7 Àå � O÷ àÿ0�€ÀE€À]Ôÿ÷Õ’÷��ˆ÷¯¨þ‡À“$÷ :?Š–þÀ�$÷ ,ðøÿ�g„þÄ SšÿÃFÿ÷ ºÀ˜$÷ ÷µ'ñã÷Å:ÁtÿÁ w`ÿ÷Šõ÷ ªµ÷µ1÷€÷‹ñ'�ÀUàÂâÿŠ‚ `— €ì‡Âå€ x÷•€ÎZ7ŠÈW÷€Òm7 ÌP× À�¯À]öÿ÷•…D÷•ÿÿ›÷•ÿw=7Š�íw ¸÷Zÿl÷ Fw bìI‡Tÿ÷ $þþ´÷ Ž'£&Í „…_Æw ðÿ÷E ÈýßÄý ò÷ tÁÄÅ_÷à!øÿ÷ \ýý‡ÄRýìUÿ•ÿÚý÷‹�ý÷ \×@@&Ä2ýìE€ „‡‚ øw ž÷tÿR÷ <w Hì<‡Â øÀ AlèwŽ&f¦æäÿÁ6ß5tÿó÷ w ²ýíßE‡äÿÂàÀ � � Çeê@”  ×‡ÀEÿÀUò��€À ÁòÉÃÉ÷Ubý  Â]Öÿ€÷ERý¡‰· Hý‡7Üh$g÷Çû÷a7œk$`7œn$[7œq$Vw‘Lw‘Cw‘;‡·¢”7’Âòý€B D�”ŸòI~’A�÷<  ¨†Êµ¬ÇmÐÿ€À  þÿH  &†ñÁ W Y‡Áå#w HýÔ^ÂEê÷.œÿ åÂU‚ áw Ò÷Šÿw ÆÂâÿŠ‚ ÂUàÒÂEw °€÷ B¦÷ |� ÷r À®$÷ Âÿ_ À$Âòý€B �Å #€E %Âò��M~× ÷µ@¹Â�³€ÂEüÿ… ÿ•ÿÞü Âaò•ÿ”·Š“7 Îÿ÷Š‹wÚþ7 Àÿ_w Z€ë‚ć ì†÷ tÿîw Ò÷ hÿ!w ˜‚ ÂUOw p÷ w €ë¨‡ ì‡÷ <ÿòw š÷ 0ÿw `ÿçʽ ÿÁW Y‡Áå#·Üþwºþ·’Øþ·¾þw®þ7®þw®þ÷‹mü÷ ,÷URüßNü ò‡W—×W·Š=ü‡ÅôÿÄìÿÃäÿÂÜÿÁÔÿÀÌÿ7Šü‡7Š4Ã\ýÂÃ% ‚ÃeóC ‡~Â�ÀÔþ�  tÁðïÊ•ÿ ßU€äÿ ”QŠƒ~Ê•ÿ‹Šþ� \ü׌‡ÎUÎE׌Àx׌"„Àâÿ†€Š€Š  ‡ †Àe †ŠÃÃ% C  ƒ`ƒ`ƒ`‚ ‚ ÃåýÃe÷�ù·�ó‡7ŠîÃý Ã%Ãå‚ ù÷‹¡Ãüü Ã%Ãå‚ ùÃ%·Š¶·�±·Š­Â à ƒ` Ã%ÃåÀŠÀŠ�÷�ÏÿÌÿ÷•@ÄÿŠ7мÿâÿŸ 6_ 8÷ °ü ßàÿÎÿE€žü7 šüŸäÿ‚�€_Æ÷þÎ âÿ7 vÿÂà7 þ7 þ7 Pý÷ àý7÷"äý‚ ùƒ ÷�“‡@€îtÜè@@Tÿÿÿÿw h07 Øý¦÷ ¬w Èì†w Nö‚!÷‹.ÿ7 ´ý…ÅáÅeJw¨ýwÿÀâÿŠ÷� ÿ ÿÍ €ÀU @e� ‡@ãâÿ…wxþ¦BEf€ÀE€ÿÁPàÀÿ$ ÿ ÿþLÿNÿ÷ ìÿý�€wâÿÉU€ Ó æ· Ôÿ·ÐÿÿE@Ðÿ÷ Âÿe÷ Àÿ]& ÷ Àÿ ¶*0*¾)J(@*ê*N(¾)N(N(¾) *N(&*ê*|*Îe€€\¦¦\æ;ªæ¸@\¶ \N @ Îåƒ  €�æ‚=æ@Âf&æysæEæ[\æpCf&f&\–%€�D"€þàÄCOPYRIGHT (C) 1978, REGENTS OF UNIV OF CALIF,SDÿÿü„ÄŠ„ a�… À€@…ÀÀw ¸  …¦¦6 6 & � f Â�6ŠA ‡Â üv�Š�ÐÁ  6ŒN\z\€�‚ƒ\€�\¶ððððððþßð/  P  ?¶ ‚ �N A f C�ŠÁÁå� Á%ʃÝC B Á ü … ‡ Ž\ ü‡æ w  òD& &&æÛæÉ@7 ‚N(€+D& &&‰ ‰ ‰—/Îef�AA�,þÅ"ÿÃÿÂ<Ê•w�ÿ· ÿ€7йÿÀ• 7Š®ÿÀ•÷ šÿ· ˜ÿ7Àß�ÿ2÷ Žÿ7 ˆÿÀå ÿ‹‚ÿý€ÿ• |ÿ· tÿ ~" w dÿ     ÷ X· Nÿ  wŠKÿÀ•  Î 6  æÛæÉA7 ^¾)Ò+P)J(Ü+Ò+P)æ+J(ì+Ò+Ò+ê*,ê*N(ê*N(ê*N(ê*N(ê*Ä+€�Ö Àe€…¦¦\Î ò¶Š\¶S\ö‹ Îe€& æ€@7 òwŠ:ÿÀ• 7 ,ÿÿ‹*ÿý€ÿ $ÿý�?� ÿ€ÿU@ÿ· ÿ÷ ÿ_ÆÿE€úþ7 öþwÜfÀ Áðþ÷UêþÁíæþ?�äþÿ‹Þþý€� ù�‡�€÷ ÂþÿE€ºþ7 ¶þ�N(,Ĩ+¶Œ†Îe€\€�ÂD,Ãf&¦¦à ú\:º×™¼c&£>X4%Àá]É@Û& & & & & D&&€D&&�À ŠÀÁ ŠÁ@àÀ%7 r‡PÿRÿTÿVÿÓ Å+÷ àÿý�€wÖÿÉU€ æ· Ìÿ·ÊÿÿE@Êÿ÷ ¸ÿ÷ ºÿ ÿŸ°ÿºÿÿU@²ÿ· ¤ÿ÷ ¤ÿ_ÆÿE€’ÿ7 Žÿ_ƾ)„,ý  öIAöÛ ý öe€Î ÆeÀÉ@ÁÛý Àe€…& & & & & D&&Îe€¶ —#€@‡ö öÉÀöÛö ¦¦ö€@6 7 â¾)-¦¦6 6 —#‰?%‡‚—-£0 ƒö@ö’ €�æ׳æÝÀf&& æ€@æ׳æÝ@f&7 Šê*J(¬-J(¾)t-€�f&fz&z&Ó ÅK÷ äþý�€wÚþÉU€ æ· Ðþ·ÎþJ÷ Êÿ_Æ&ÀÀþ2�ÿŸ¼þ´ÿ· ²ÿ×-®ÿŽ/· ¤ÿ×- ÿ'÷z&–ÿ€÷ ˆþÿŸˆÿ&7 lê*¶-ê*N(ê*N(ê*N(ê*N(ê*N(N(Ò-N(ø*¨-Ö …¶ ¶ \€�Âò-Ãf&¦¦à ú\ö Îe€\Å>Â:¿L]L?ÛÆª¿¤ª€@Ö \fEA#�„þ· ‚ÿ×-~ÿ'÷z&tÿ÷ tÿ÷ nþ· dþ��€÷ ^ÿã_Æ÷•Tÿÿ‹Rþ÷ Hÿ÷•Dÿ€÷ 2þïÿ�8ÿ*þ7 2ÿÿE€ þ7 þ_Æ�€÷z&ÿ÷ÿÿ7 ÿ÷ &æ� Áe@ & f& f& f7 Öÿ¾)N(".Îå€ö ff¦¦î€�Ö ……w û  ÷&@& ÿ €…n. ‰þþÿE€øý7 ôýæß (ÿU@ðýÅ –%Ÿ�‡�€÷ ÌýÿE€Äý7 Àý�‡Îe€z\æ& Dær汿¦)&&\Î ¶� ö•€ æóæ5@¦¦æóæ5@7 XJ(ä(N(¾)ú(ú(ê*Ð(Ú(Ú(Ú(ê*N(ê*N(ê*N(ê*N(î(¶*)ê*N()ê*)€�ÂB)f&¦¦\¶ ¶ \& ŽÝÎå€\¦¦\æræ1@\öŠæÙ[æÞ?\€�Ö …Æew &… š?UÌ? *@ÚªAD €�C ŠÃÃå˜Ã%èÿ  æ  ƒ üƒÁ @ ƒ ü …f&\À�À ‚ ‚ B Ž- ‡ ÆeÀ \z\D ²Ãf‚ °C_‚À  fW‡æ & æ€@&&&&7 ú0*ê*+:* ‰ÀÂöÔ<ÀfÐ+¨€’€ÆÀ¦$€ #€à>à F J ^ f j n x | Ü à ö ä è  " 6 B îD J f Œ ž ² Ò ê 2  4 ^ v ¬~˜ ˜ ˜ è  ˜ ˜  ˜ 6 j | ’ º Ì â ì ô ¤h*06NV\bz€¾¯ öÖ Â<‡6 ù•€ÂE€ÿÂÕ •€ÂE€ÿÂÕ7ˆ �€¤ƒ~ æÂ<‡& ûÎEþÿöEþÿŽ÷ Jd`·n�þÿ ¦ŒüZô ˜˜Z ` fš–:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú "*2``@x `dþÿ‡Á �%  D~ "Ð ƒ~Á ø�E D~óÁ D C~Á �%  D~ Ð ƒ~Æ& Â<‡Ææø•AA~•€ÀE€ÿÀÕÀ Àe”"a”"@ "F# n$H%@t#Ž%b”"c”"ž ¸ \ j .  ˆ ®   º ‰‰‰†‚‰‰ƒ‡‰ @`&‡•„ ÄE&~‡•AA~•€ÀE€ÿÀÕÀ Àe @`&‡•AA~•€ÀE€ÿÀÕÀ Àe @`ˆ‡„ ‡–åü–åù ö‡•�`‡Äšó`㇀ @€ @€ÿÿþÿüÿøÿðÿàÿÀÿ€ÿÿþüøðàÀ€f ~f{fxfufrfoflfifffcf `f"� t�Á @L‡�Á A€@@A ‚tBtÖ ‚B@PžÂ<‡� Õ``f~‡ Õ�``A‘~Ö ‡€€c Ò‡€Že�‡•€fÀ r]f$Zf&Wf(Tf*Qæ NæKæHæEæBæ?æ<æ9æ6æ3æ 0æ"-æ$*æ&'æ($æ*!¦†‰``•&& � †`À Á ú‡Žå ‡Î‡ŽåûøŽåøõ•€ÀE€ÿÀÕÀ Àe @a&‡&•6•‡ŽååâŽåâß•€ÀE€ÿÀÕÀ Àe @a&‡ŽåÓÐÎe¦Îe¦Îe¦Îe¦ Îe ¦ Îe ¦Îe¦&•ý€À fÎ € € ‡ÎE€‡Že‡z‡N ŽE‡•€ÀE€ÿÀÕ7¢ø×-Œø Á•€ÀE€ÿÀÕÀ Àe @aˆ‡ ‰‰·\ÅdòÂ<ÃZòÄîÿ‡·@�€@`@`$fH@€à7 �`Áe‚À à€�B~Á  B~Â<ãÁ _÷åÿ7 ÿ& ¦ÄÍÖÁ Gà‰÷ 6ý€ÀEÿ7,�ÿ‹ €�€6 ?�  ÷ w pÿrÿ@$@$@$@"‡‰÷ �EB~‡�€fÀ r†‰&‡z‡¶%Ž%‡‰·· 7 Ê(Ú¦ææ\7 ¶(¦‚€€`€`�WtüÿB &ÀŸ¤ÿÀE€ÿ7 žþ ÷5@|þÀ‰<7 ‡þw Ìÿ{7 yþw Âÿ7 ps w ´ÿm w ªÿg×-Á �aBÁEðÿÁ B<øÎÂ<‡ ú÷ ŽwN �EC~�Áí B~‡ŽU‡�€fÀ r†‰f‡�Vpf‡z‡ ‡Î Îe€‡N ‡€�–ÿ@À•ÿ‰_÷ ’ÿ a z‚ÀE ÷ ~ÿ   ~ÀU€æÃVÿ3�Tƒ ÃE@· Jÿ÷Dÿƒ÷ Bÿ9æÃ4ÿÀœT?�4ÿƒ ÃE@÷"ÿ÷ "ÿƒ×-ÿl8�@ 6÷NæÿÿÂEðÿ ŽLÀU@àtüÿ7`.æÿÿ~BÂEðÿ ‚B Ž@Wtüÿw`& B~æÂ<‡Žå‡z‡¦»¦¦º& ‡€ü�& ÁE7 ÎýÀÿ?Šÿ· ÿ~ 7 žýÿE@¨þÿ‰ÿU@ þ· èþ÷ æþ÷ ÚþÍÿE€Òþ7 Îþ€wôý÷ Äþý�€wºþÉU€ Ó æ&· ªþ· ¦þä÷ šþ­ðÿÁ N\øÀEðtüÿ& B~€ &‡ž‡€ ÿ‚> ‚‡‰÷ ~�UB~‡ ‰æð‡ Õ�@ ‡À €aÁ �a!‚~Fƒ@àÀ à€Á ÐB~ åË *å�€7 �þ7 Žþ7 €þ÷zþvþ÷ xþ7 vþÿE€lþ7 hþ÷ 7 ÿE€7 �‡tÿvÿÿÿ÷ ôÿý�€wêÿÉU€ Ó æW r7 $þ7 "þ‚~ÆöÂ<‡•€ÀE€ÿÀÕÀ `‡•€ÀE€ÿÀÕÀ `¦‡•€ÁE€ÿÁÕ€W @p@À `‡•€ÀE€ÿÀÕÀ Àe À`&‡& Õ`‡&Ž Õ`‡÷ þ^· Êÿ·Âÿæ��€ÿE@®ÿ�÷ ´ÿ�&À¬ÿ?�žÿ  ÷ –w šÿ€ÿU@†ÿwüü÷ „ÿ>÷ €ÿ6÷ Æý��€ò& Àßhÿ÷ ^ÿ7 XÿÀå �•€ÀE€ÿÀÕÀ Àe À`&‡•€ÂE€ÿÂÕ€�‚~Â<‡ ‰€ ÿ‚7�ÀZ ¢ ‚� Ò‚ ”‚~Â<‡ ‰•€ÀE€ÿÀÕÀ Àe À`ˆ‡„ ÄE€ÿ‹Fÿý€ÿ• @ÿ~�€ w 2ÿ ?�*ÿ  ÷ "€ÿU@ÿ· ÿ÷ ÿw„üÿE€ ÿ7 ÿwvü�ÿ‹ôþý€ÿ• îþ�€‡FRX\`–¢¶ºÈäì&   Ô @àÀ `ã‡Ô ‡•G´7vz Ö Î‡Ö  ‡7ˆH€ ÿ‚7��ÿÀZ 6�W ÿ‚w�{ÿÁZ N ¤†ÜÿÿBÜÿÿ¤ û <þ€ ÕÁ  ÁmðAâÉ‹×Fìøÿ·! ïåƒæ &æþæäïffDúÿ„ …Åe …wÆï5 wÀïDÄeþÿã‡Â`ÎÍÂ<‡ÂnÇæÍC÷”ïÂ<‡ÂQùºR·ChT¥ÔV焵W!æcY©_[ʱ\¼¢^^k `#Ç­aìxXc'×ex†©fhShÂjQY¥k¦oNm�Ëo9?¡p�IrÊòüs|o�u®ÅEw7öxß„šz @|Ηð}½€ � &À À &„¼Bœò@B¬ø Â<‡Cþÿ÷`ï¯`ï& ΟXï÷ ¾þ@ •Åe E`E``B~Å8ïAÑ Ew0ïw.ïDw$À &ß  ‰‡Z&X‡‰Ê‰‡€Àç(¡ &‡7 |övª‚Ð7 nö|ªôÐ7 `ö|ªŒÐ7 Tö”ªÜô ôÐ7 <ö”ªèô ôЦ6 Æå×'ðß(ßð�À(@`@`�Áå( ƒ‰(‡¶“�‚+¶mÖ Ž] €€‡ à†‚ P‚~P�‚~‚��eŽe€NPŽP ‡ à†\É =€¶ "ù  Š\¶m¶¶Ž\ � W Á �mÁ ÁefÉ5`\Å_Æe wÊõÉ5 ÅôÉ5@ù��àÉ ù��W à†‚ ‚~”‚~ÆeÂ<‡‚ù��e€€e€`�`!˜‚~òÖ Že€‚��ö ¤C~¤C~À €å–%Â<‡ € ö ¨óC~¨ï\É‹ýE’ Šâö5Þ\ù\ù\öfž F^ªT 2´&²ºÐØàèðø,FRð,: × ý�C~€€cêÄîÄeüÿãίøíö¯ôí–%‡@ ÁeüÿAâp®6®–%‡ë‰€� "1, 1,1,^ ‡ ‚ñ%ÀwôÿÉU€Ö Ó ·j·j�K�À÷ ÒÿÿE€Êÿ7 Æÿ÷Jßäÿ�‡÷-`fß5tÿDÿ‹øÿ� PŸ 6_ 8׌†ßEäÿ÷ €ÿ ßð ^Îÿÿ‡A ãñ%ð^·AØ€�æ&DaÁefÔ„ Â¥_û— 0‡— 9ƒÂE — A‡— Z‚ƒ ë‘�éÄå ƒ ‘�ü‚ŸàÿßäÿÿE€lÿ7 hÿ_Æ&À€  ^À< <ß—vÿ<7úÿ€÷öÿìÿ÷ôÿˆÿß|â&f¦æäÿßEäÿÂàÊ• Á°ÿ@”W ^ �îƒðCàà ÃøÁ Á fÁ �eÁe¦ƒ €$ $ $ $ @A ÁeÁeÁeÁeé Á>„„ƒ‚ÂeJÂ<‡ Á<  †À x*�w šÿðwŒÿ·Îÿ·’Îÿ—¢ Ê•Àþ€ÒtÊ•ÿÁðï ߀äÿ ”QŠƒ~Ÿäÿ‚�€wôþÂEÖÂU‚ ÒÂ5Ï ÍÂàÊ!$'(****AND 'ARRAY ,BEGIN CASE CONST DIV 'DO DOWNTO âÿÂà·ðÿ ¦÷ V‚¾‚ ¼ÎU· Æþ·¦÷ >Âe0— €ìÂà· ¾ÿô‚¨Á W <§†Á]¤ÀÜþ@à€Àe" ðÂE@”W ^Á<Àå ÀE€þ&@” ELSE END EXTERNAL5FOR FILE .FORWARD "FUNCTION GOTO IF IMPLEMEN4INW ^Á<ÀEàÿ  Âdÿt`— €ì‡Âå€ ‚UËÂe€— €ì‡ÂE€€æÃ:ÿtùÿ×tùÿÀà€Àeƒ ´¦ÂE÷ †‚ßeâÿ×'âÿ‡ âÿ÷e€þþ×-ÿÿ·7ú@`À ð d‰ìd�&`f&d&b& ÷Ê�Á �mÁ Áef )INTERFAC3LABEL MOD 'NOT &OF OR (PACKED +PROCEDURPROGRAM !RECORD -ùÉ þ�É‹ ‰Ã¦Æe Á¤ÿá ¢rþ·–fæwœˆÏBCâ ‚âÊ% €Àe€ìúÿ€ìøÿÀå 7d÷,ñ\ã ·ÁAâÉ‹á B‚â·J@á BREPEAT SET *SEGMENT !SEPARATE6THEN TO TYPE UNIT 2UNTIL USES 1VAR ‚âÊm8~@á B‚âÊm*~@á B‚âÊm~÷ Úƒ�ÀÇ·øÿ€·ìþÀ ð  ðþð÷ Ðþ±° ÇÊÿ�€ WHILE WITH �àÞŽêÞŒê�‡7 è÷d(¦€& æ€@  z7 Ò÷d(¦7 Ê÷Ò(7 Â÷¶(7 º÷°%7 ²÷*7 ª÷´%7 ¢÷ 'À 𠀉I•÷€ðªþ? zðr·¢þ&÷ ¦ÿ7þhð† Ó �àAâFìúÿÀ‚þ„ ÁeþÿAâÉ ÷-BðlþÀŸ:ðÀ ð ÷\þ.ðÂ<‡ÿ‹$ðW¢Fløÿ‰÷ð7 š÷T+·\ vwŠ÷÷ *ùÂ<‡÷ Rù‡×'ðß(ßðÞ(‡Ÿ(ßð‡æ‡€@ BÈCzEG@ÃHPtJ$L€–¾M ¼nO(k ~ƒ‡Š÷ ðÿýwêÿÉU€Ó Î÷ ÜÄØÿ”@ÀEÿü”€€ ã  ×@İÿ7LW‘ÅÅEüÿÀò€À €w<÷•áE 7@ÿ· ÿ÷ ÿ_ÆÿE€úþ7 öþw¨ÞfÀ Áðþ÷UêþÁíæþ?�äþÿ‹Þþý€� ù�‡�€÷ ÂþÿE€ºþ7 ¶þ�‡PÿRÿTÿVÿÓ Å+÷ À "÷ ®Å ø�7 ÷Ò!Wa÷Ö!Waw‘¾Àä!÷ †÷¥ü¨ÿ ÷ŸÜÿ ÿ÷�››ÿü–ÿwð÷µ ‰wÖÀ¯÷µyÀß7 |7�vÀè!÷ :ÿ‹˜ÿàÿý�€wÖÿÉU€ æ· Ìÿ·ÊÿÿE@Êÿ÷ ¸ÿ÷ ºÿ ÿŸ°ÿºÿÿU@²ÿ· ¤ÿ÷ ¤ÿ_ÆÿE€’ÿ7 Žÿ_Æ)€w‘mw‘e÷•dÀñ!÷ ûÀí!÷ öw‘[Â&Ãz!÷ ªÀ"÷ úéÀ�ÀÝû€ ÀEüÿ?�Rÿ?ŠDÿŸJÿ€ÀE÷•€ ÷•÷€R7~‚ Ø#Ø#Ó ÅK÷ äþý�·�Á÷ ‚÷!l÷•¬À ÷ \÷•œÃà à ÷öÿÀa:÷�„ƒ÷-:òÿ†÷2êÿ÷íæÿ*ÿ $· Ìÿ÷‹œ÷Õ’÷��ˆ÷¯¨þ‡Àñ!÷ :?Š€wÚþÉU€ æ· Ðþ·ÎþJ÷ Êÿ_Æ&ÀÀþ2�ÿŸ¼þ´ÿ· ²ÿ×-®ÿŽ/· ¤ÿ×- ÿf$÷Ø#–ÿ€÷ ˆþÿŸˆÿ„þ· ‚ÿ×-~ÿf$÷Ø#tÿ÷ tÿ÷ nþ· dþ–þÀí!÷ ,ðøÿ�g„þÄ SšÿÃFÿ÷ ºÀö!÷ ÷µ'ñã÷Å:ÁtÿÁ w`ÿ÷Šõ÷ ªµ÷µ1÷Tÿ÷j!þþ´÷ Ž'£&Í „…_Æw ��€÷ ^ÿã_Æ÷•Tÿÿ‹Rþ÷ Hÿ÷•Dÿ€÷ 2þïÿ�8ÿ*þ7 2ÿÿE€ þ7 þ_Æ�€÷Ø#ÿ÷ÿÿ7 ÿ÷ þÿE€øý7 ôýæß~%ÿU@ðýÅðÿ÷E ÈýßÄý ò÷ tÁÄÅ_÷>øÿ÷ \ýý‡ÄRýìUÿ•ÿÚý÷‹�ý÷ \×@@&Ä2ýìE€ „‡ÁòÉÃÉ÷Ubý  Â]Öÿ€÷ERý¡ –%Ÿ�‡�€÷ ÌýÿE€Äý7 Àý�‡Îe€z\æ& Dær汿¦)&&\Î ¶� ö•€ æóæ5@¦¦æóæ5@7 X¨%B&¬%'‰· Hý‡7ÜÆ!g÷Çû÷a7œÉ!`7œÌ![7œÏ!Vw‘Lw‘Cw‘;‡·¢”7’Âòý€B D�”ŸòI~’A�÷<÷ |� ÷r À "÷ Âÿ_ ÀÝ!ÂX&X&H(.&8&8&8&H(¬%H(¬%H(¬%H(¬%L&(b&H(¬%l&H(l&€� &f&¦¦\¶ ¶ \& ŽÝÎå€\¦¦\æræ1@\öŠæÙ[æÞ?\€�òý€B �Å #€E %Âò��M~× ÷µ@¹Â�³€ÂEüÿ… ÿ•ÿÞü Âaò•ÿ”·Š“7 Îÿ÷Š‹wÚþ7 Àÿ_·¾þw®þ7®þw®þ÷‹mü÷ ,÷URüßÖ …Æew &… š?UÌ? *@ÚªAD €�C ŠÃÃå˜Ã%èÿ  æ  ƒ üƒÁ @ ƒ ü …f&\À�À ‚ ‚Nü ò‡W—×W·Š=ü‡ÅôÿÄìÿÃäÿÂÜÿÁÔÿÀÌÿ7Šü‡7Š4Ã\ýÂÃ% ‚ÃeóC ‡~Â�ŠÃÃ% C  ƒ`ƒ`ƒ`‚ ‚ ÃåýÃe÷� B Ž- ‡ ÆeÀ \z\D ²Ãf‚ °C_‚À  fW‡æ & æ€@&&&&7 úŽ'H(d(˜'(Ž''¨%ž'H(¬%'¬%¬%'~'¬%„'H(Ú'Îeù·�ó‡7ŠîÃý Ã%Ãå‚ ù÷‹¡Ãüü Ã%Ãå‚ ùÃ%·Š¶·�±·Š­Â à ƒ` Ã%Ãå‚ ùƒ ÷�“‡@€îtÜ耀\¦¦\æ;ªæ¸@\¶ \N @ Îåƒ  €�æ‚=æ@Âf&æysæEæ[\æpCf&f&\–%€�„ÄŠ„ a�… À€@…ÀÀw @@Tÿÿÿÿÿ$ ÿ¸  …¦¦6 6 & � f Â�6ŠA ‡Â üv�Š�ÐÁ  6ŒN\z\€�‚ƒ\€�\¶¶ ‚ �N A f C�ŠÁÁå� Á% ÿþLÿNÿ÷ ìÿý�€wâÿÉU€ Ó æ· Ôÿ·ÐÿÿE@Ðÿ÷ Âÿe÷ Àÿ]& ÷ Àÿ€7йÿÀ• 7Š®ÿÀ•÷ šÿ· ˜ÿ7ÀßʃÝC B Á ü … ‡ Ž\ ü‡æ w  òD& &&æÛæÉ@7 ‚¬%Þ(D& &&Î 6  æÛæÉA7 ^'0)®&¨%:)0)®&úþ€ìž‡÷E€ðþš€ÀE7 äþ”Â倗 à�†Âe€ Œ”””””””ðè¬&â”””””””””””ú””RæÀPƒÃE€ÿÀàà Ò��ÿ2÷ Žÿ7 ˆÿÀå ÿ‹‚ÿý€ÿ• |ÿ· tÿ ~" w dÿ     ÷ X· Nÿ  wŠKÿÀ•  wŠ:ÿÀ• 7 ,ÿÿ‹*ÿý€ÿ $ÿý�?� ÿ€ÿU  ­2¥†IÚ¾ËÌ­¥†PÚ¾ËÌ­Úø©†Né†NË„¡ ̶Ú͹ÌÌÛ Ë¥†PÛ¾ÚøÃÜ¥†OÛÀº¯„“„¡Û‚̹öÛÌ­Ú‚šÇÿ ©Ûøž ÌÜôÙ•‚Ï Ï Ì©ÛøÆÝž©ÛøÝ‚¾ Ë¡ÝÏ ÌÆÝ•!¿¶ÆÝUÍÛÛøÜ‚‚š­ZhÚ¡ÏØÍØÏ¥ïîØÏ¹?Ù¡ ¥�( P!Ú©†NÃÚË„¡9ÆÏ!ÌÛÇÀ‹¡'۹̹̹̹̹¬º ¹¹ ¥‚vÚ¤øÌ­VÚ³Nÿþÿ‹¡Ä©�Ϲ1ØÍØÏÏíÌÛ¥ÏôÏ «ÆïîØÏØ‚ÌØõÅÛëÄ�¡ö­%`Ì©ƒw•ÌÚÛÈ¡'¥ƒ¥Ú¤øÙÄ¡¥ƒ¥Ú¤¥ƒ¥Ú¤øØ‚ÙÏ šÚ‚̹ö©‚D)¨%J)0)0)H(r)H(¬%H(¬%H(¬%H(¬%H(")€�Ö Àe€…¦¦\Î ò¶Š\¶S\ö‹ Îe€& æ€@7 ò¬%b)Ä)¶Œ†Îe€\€�¢)ÃÚ •̹ÚÌ­* ¥…Ÿñ¿¥†¥…ŸªPÏ϶¥…ŸÍ­& ϡϹÏϭϡϹ ØÍØÏ­f&¦¦à ú\:º×™¼c&£>X4%Àá]É@Û& & & & & D&&€D&&�À ŠÀÁ ŠÁ@àÀ%7 r'â)ý  öIAöÛ ý öe€ÏÏ¥†¥…vªP¶¥…vÍ­ ϡϹͭvϡϹ&Øõ᥅ÈôÙ•ž¹¥…ÈôÙ•‚žÙØÍ­:Î ÆeÀÉ@ÁÛý Àe€…& & & & & D&&Îe€¶ —#€@‡ö öÉÀöÛö ¦¦ö€@6 7 â'r*¦¦6 6 Ï¡ ØÍϹ"Øá϶¥†Í¶Í¹ ØÍØÏ­<ϡϹ&ÙØÏØ‚ÌõÌÚÛÈ¡¶ÍÚÏڂ̹öÙØÍ­<—#‰?%‡‚—-£0 ƒö@ö’ €�æ׳æÝÀf&& æ€@æ׳æÝ@f&7 ŠH(¨% +¨%'Ò*€�f&f&7 lH(+H(¬%H(¬%H(¬%H(¬%H(¬%¬%0+¶ÍÏ ­ÆÙªPž&ØÃ¡Ï¹Ï϶צERROR: ͶÆÍØÃ¡ž¹<¶¦& Please press to continue.×ͬ%V(+Ö …¶ ¶ \€�ÂP+Ãf&¦¦à ú\ö Îe€\Å>Â:¿L]L?ÛÆª¿¤ª€@Ö \fEA#�&æ� Áe@ & f& f& f7 Öÿ'¬%€+Ï áö«�­R‚ÛÌ̩۾³‹¡8©Û¾áÛ‚Ìݩ۾‚ •̹©Û¾ á݂̹ ݆‚�Ìۂ̹öÚÛÜ•šÝÌ­R`Îå€ö ff¦¦î€�Ö ……w û  ÷&@& ÿ €…Ì+ ‰þÏÌ©�ÌÛ¥ÏôÏ «îØÍÛï‚ÌÇÿ ©Ûž ÌÙôî•‚Ï Ï Ì©ÛÆÚž©ÛÚ‚¾ Ë¡ ÆÚ•Ï !¿¶ÆÚUÍÛÙ‚‚ÌØ‚ÌØõÅÛëÄ�¡ö­Œ x \6Fæœ& EDITOR w^ Š ©ê¾ áê̹ê‚ÌښܕÌÇÿ‘ ©Üž Ü‚ÌÚÚø‚šÚøÙáÜÌÚøõÅ©�Ü‚ÃØ“„�ÜÉ�¡öÚøõÅ¡ Û‚«�Ï ÚÙš¹©�Ü‚áØ¡Ï ¹ INITIALIOUT COPYFILEENVIRONMPUTSYNTAEDITCORE«�Ï ­Ûe ‚Øš©�ÌÇÿ ©Ýž Ý‚ÌÜêÉ¡ØØø‚šÜ‚ÌÇÿ ©Ýž ݂̹öÝÆÏÌÙôÚÛ•êÝ•‚Ï š­Å; ZÆÆÏÙØÍ­©ÌÌð³ÿ‹“¡Ì¹-ÚÇèÅ¡Ì¹Ú �ð‚0•ÌÏ« ð³ÿ‹“Û�¡öÛ¡ צRepeatfactor > 10,000Ï̹ÚÌðÏ«?COPYRIGHT (C) 1979, THE REGENTS OF THE UNIVERSITY OF CALIFORNIA­\€ê«©í¾ á핫Çÿ‘ ©íž í‚‚«í¥Ï«íï‚«­8ÛÚ•€óë• ‚Å¡k¥…v¦KThere is no room to copy the deletionÛÚÉ¡Û̹ÚÌ­ ÛÚÅ¡Û̹ÚÌ­ ¶ÆÍ¶Í ¡ ÌÚÌ­ ¥†HØÀº¡ ¶©†FͶ¥†IؾͶ¥Í. Do you wish to delete anyway? (y/n)תPÏÏÏ Yá̹̹*«‚KÛÚ•€«‚Jó©‚J•‚«‚I©ÛÚÏ ©©‚I©‚JžÌ­ªÙØÍÛÛø! ¥‚v٤ؚٳÿþÿ‹¡ ¥‚v Ù‚¤Øš­.¥� ¦M Edit: A(djst C(py D(lete F(ind I(nsrt J(mp R(place Q(uit X(chng Z(ap [E<ÎÎÎÎ Î Î Î Î0Ì9Ì‚5ÜÊ‚5È¡ ÜÎ܂̹öÇ)Ç‚Ì ¥ž ÌÆÇžß‚Ìž(ž(‚Ì àÅàáÉ„ß?Ã�¡ôßÇ�•« ÆžÙš¥ ž.6f]תP¥�rצH Insert: Text { a char, a line} [ accepts, escapes]ªP¥�IצA Delete: < > {Edit:ͶͶ¡K¥‚NÌ‚5Æ‚5²ÍÆ‚5צ:ÍÆ‚5²&ÍÆ‚5Ítx> to delete, to abort}ªP¥�›¦K Adjust: L(just R(just C(enter { to leave}תPô‚¥� ¾É¡ö¥�ž"Ë¡צWorkfile lost.͹vצFNo workfile is present. File? ( for no file to exit ) ªP¶¥…vͶͶצr¦2 Insrt: {,} [ accepts, aborts]תP¥�I¦4 Delete: { deletes, aborts}תP¥�›¦5 Adjst:: ꦮ PÍ¶ÍÆ ¾Ã¡ ¥ƒvÇž ¹ìÆ ¾¶¢,ºÃ¡žÌ Æ ¾Ì‚5âÊ‚5È¡Æ âÆ â¾Í ¿â‚Ì ¹òצ.TEXTÆ ÍÆ ¾•ËÆ ¾È�Æ L(ft R(ght C(ntr to leaveתP¥� צ+ Edit: A, C, D, F, I, J, R, Q, X, Z [E.6f]ªP­<Ͷצ>Edit Æ ¾¾.Ë„¡#Æ Ì‚5Æ‚5Æ PÍÆ‚5¦.TEXT×UÍÆ‚5ªPÆ Æ ¾¾.á Æ Æ ¾Í¥‚NÆ Í¥…vצNot present. File? ªPž"áðΩ땾 ËëÃ�¡ ©IÙÄ©‚IëÉ„¡ ©‚IØ‚ÙÏ «‚I­HZêÌÚ«Ï©ì¾ —©ƒµ—œ‹¡žØ¡8í•«ÏíÈ©쾩ƒµ— —œ‹�¡ö©쾩ƒµ— —œ‹¡ê‚̹̩ƒ´Ì¹íÌî©:ͶͶצReadingÍ¥‚N¥ƒvÇ‘ÍË¡צ Reading fileͶ.͸¸¸¶¶�“¡ô¥‚N²5Ç‘Íø¶“¡bƒ´Ã¡©ƒ´Ì¹©ƒ²ÌóëÜ••‚«©Ü©êëÜ•ž©Ü¿©Ü‚Þ ‚¿Ü‚Ì©ê• ¿Ì ©ê¾ — —œ—œ‹¡©ê¾áê‚«¹ê‚«¹ôêÌ©ê¾ —³ œ‹“¡ê¶.ÍÇ‘²5Çÿž Ç‚¸¶ë‚ó •ĸ¶¡¸²5©ë¶ž¶¶‚¶ áë¶ ‚«ë¶‚«¶‚¸¹öž"Ë¡צ Disk error͹¶‚«¹ò©ê¾-á©ê‚¾ áê‚«©ê•¾.á©ê¾ éꂾ ġꂫêÛ•‚ÌÞß‚©ƒ³Å©ƒ³©ƒ²•‚ßÈ�¡0©Ü•¾ áÜ•Ì©Ü ¿©Ü‚¿©Ü‚©ƒ² ‚¿Ü“¡¦Buffer overflow.×Í­8Å 4¶ÌØ¢º«†F¥†GØ£%•»¥†FØ£&•»¥†G »¥†G »Ø¢-º«†N¥†IØ¢º¿¥†HÀØ¢$Àº»‚Ì©ƒ²Ìê‚«©Û©Üßž©ê•¾ á<©ê¾Ã¡Ì ¹/Ï©ì¾ Ã©쾩ƒµÃ�Ì à“¡©Üß‚• ¿©ê•¾ áÜ•ÌÞß‚ÌÜß‚Ìà¡ðÚóê•Ü‚‚ë•Ïóê•Ü‚‚«©¥†IØ¢ º¿¥†HÀØ¢$Àº»¥†IØ¢ º¿¥†HÀØ¢$Àº»¥†IØ¢#º¿¥†HÀØ¢$Àº»¥†IØ¢#º¿¥†HÀØ¢$Àº»¥†IØ¢!º¿¥†HÀØ¢ê©Üóê•‚ž©ë¿ë•ÝÏ «ÏêìÏ «­d>hé ÆÙªP«�Ï϶ÆÍ¶צ what marker? ͶÆ-PͶÍÌ,Æ-¾ÌVÊ$Àº»¥†I ¿¥†HÀ»¥†IØ¢"º¿¥†HÀØ¢$Àº»¥†IØ¢!º¿¥†HÀØ¢$Àº»¥†PØ£.¿¥†OÀØ¢/ Àº»¥†P¿¥†OÀ»¥†PØ¢)º¿¥†,ÊVÈ¡Æ-Ê,Æ-Ê,¾Ï ¿Ê,‚Ì,¹öÆ-ØÆ-¾Ï žØÆ-¾Æ-¾•Ï ž ­ÞC¨ ’ Æ‚NƃzÇ‘ÍÍ ÎêìÎ «¥�Äõ†‚Ϋ�¶ Å¡ÍOÀØ¢/ Àº»¥†PØ¢-º¿¥†OÀØ¢/ Àº»¥†PØ¢,º¿¥†OÀØ¢/ Àº»¥†PØ¢,º¿¥†OÀØ¢/ Àº»¥†PØ¢'º¿¥†OÀØ¢/Àº»¥†PØ¢ÎÎÍö áÍ ¹öáÍ ö áöÍ ¡ô¶¢»Æ‚NÍÁ-R;¦ v< ~*Šð^LÒìLb¤P& F Þ ´ Ì > Z è¸ ä  ~ €'º¿¥†OÀØ¢/Àº»¥†PØ¢(º¿¥†OÀØ¢/Àº»¥†P Ø¢(º¿¥†O ÀØ¢/Àº»Ø£.«�©�á«�¥†P¾Ã¡¥†P¿­ÿJ¥†OÙÀº¤ ,  ìB!©Û©Üßž©ê•¾ á<©ê¾Ã¡Ì ¹/Ï©ì¾ Ã©쾩ƒµÃ�Ì à“¡©Üß‚• ¿©ê•¾ áÜ•ÌÞß‚ÌÜß‚Ìà¡ðÚóê•Ü‚‚ë•Ïóê•Ü‚‚«©“¡¥†Pپخ­%Î¥‚vÇž AÎCÎDÎFÎIÎJÎLÎMÎP ÎQ ÎR ÎS ÎV ÎXÎZÎ,Î>Î.Î+Î-Î?Î/Î=Î" vÇž ¥ƒ¶²C¨¥ƒ·²C¨«ƒ±«ƒ°«ƒ¯^«ƒµ«ƒ²«ƒ´ô«ƒ³«ƒvÌÇÿÌ‚5ÜÊ‚5È¡¥ܤܚ܂̹êAÌZÌ‚5ÜÊ‚5È¡¥ܤAšÜ‚̹èaÌzÌ‚5ÜÊ‚5È¡צImproper marker specification.Í ž­ 2©¶©ê¶ž¶‚ê¶‚•Íëê‚¶‚•«¶‚«­6צMarker exceedÌÍ¥†¦>Quit:תP¶¥†Í¶Í¶¦# U(pdate the workfile and leave×ͶͶצ E(xit without updatingͶÍs file bounds.Í®¥�Ä©�Í ž­:óëê••¸ëê•‚¸ê•¸©ê©¶¶ž­�,צ[²‚ÍÌÚá$²‚Ð ¶¦+ R(eturn to the editor without updating×ͶͶצ% W(rite to a file name and returnͶÍÍÍ « ð³ר²‚ ×Ð ¨¹öצ]²‚ÍÌÙÃÙÚÉ�Ù²‚¾Ë�¡®Æ²‚Æ.Ú‚ÙÚ••ÍÆ.ªP²‚²‚Æ.Ú•ÍÆ.ªP¦,ׯÍÌØÃ¡®Æ¾Ø•̹¤ ‹¡öðRá¹êðEáÌ͹ꥂNÍðWáòêÌͶצ)Name of output file ( to return) -->ͶƂPÍ¶ÍÆ‚Ʋ‚Ø•Í ž²‚ؕؕ•Í ž ÆØ‚²‚ ÛÍ ž²‚ ÛÛ•Í ž ÌÌ.ÛÊ.È¡²‚Û²‚Û¾Í ¿Û‚̹ôÌÌ.ÛÊ.È¡²‚¾Ã¡¹êÌÆ‚¾Ì‚.ÛÊ‚.È¡Æ‚ÛÆ‚Û¾Í ¿Û‚̹ô¦.TEXTׯ‚ÍÆ‚¾•ËÆ‚¾È�ƂƂ¾¾.Ë„¡%Ƃ̂.Æ‚.Æ‚PÍÆ‚.¦.TEXT×UÍÆ‚. Û²‚ Û¾Í ¿Û‚̹ò̲‚¾Ì.ÛÊ.È¡²‚Û²‚Û¾Í ¿Û‚̹ðצ.TEXT²‚Ͳ‚¾•˲‚¾È�²‚²‚¾¾.Ë„¡#²‚Ì.Æ.²‚PͪPƂƂ¾¾.á Æ‚Æ‚¾Í¹Æ‚צ*SYSTEM.WRK.TEXTªPͶצWritingÍ¥‚NƂͥƒ·²C¨¥‚N¥ƒvÇ‘ÍË¡¹ì¶.Í«Æ.צ.TEXTUÍÆ.ªP²‚²‚¾¾.ᲂ²‚¾Í­”¿åí°äÙØÈ¡LØÙ•‚ÌêÚ‚Çú‚¶Ä¡)¦Buffer overflow.×Í®¥�Ä©�ÍêëÇÿ•É¡WÇþ‘ ©êÇþ‚ž Ì©êÆÇÿÛ‚žÆÇÿÛ‚Û€‚ž ¥‚NÆÇ‘ÍË¡¹ìêÇÿ‚Û‚«¶.͹ðêëÉ¡3ÆÇž ©êÆëꕞ¥‚NÆ ž¹² Ù©êÚžêÚ‚«­Z²‚=² ¶¶‚Í˸ ¶.Ͷ “¡Ç‘² Çÿž Ç‚¸¹¸¶‚¸­«V¶Ç‘ÍË¡¹ì¶.Í¥‚NͶͶצ Your file is ͶëÍ ¶¦ bytes long.×ͶÍðUáV²²?ª²&צSYSTEM.WRK.TE¶Ķ¶É„¡¶‚¸¶¶•¸­ , ÆÚ¨Ìß¶ÉÆ²ߤ· „¡ß‚̹öƲߤ· ¡¦Marker not there.×Í® žÙ²0ßë ¿ë‚«>« ««‚K«�¶¢%Ì‚5Ê‚5¢º«�Ê‚5¢º«�Ê‚5¢º«�Ê‚5ù•« Ê‚5ø•«õ†‚«�¥†P¾«�©�ζ¢»Î«‚H«‚G©ƒv“¡:¥ƒXTª¸¥‚N¦*SYSTEM.WRK.CODE×Í¥‚N͸²¦×ªÌ¹e¶צ4Do you want to E(xit from or R(eturn to the editor? ÍÍvÇž ¥ƒ¶²C¨¥ƒ·²C¨«ƒ±«ƒ°«ƒ¯^«ƒµ«ƒ²«ƒ´ô«ƒ³«ƒvÌÇÿÌ‚5ÜÊ‚5È¡¥ܤܚ܂̹êAÌZÌ‚5ÜÊ‚5È¡¥ܤAšÜ‚̹èaÌzÌ‚5ÜÊ‚5È¡Í « ð³ ‹¡îðEÃÌÚ«¹צWriting out the fileÍ­ KÆ+¸I¬T ¥‚N¥ƒvÇ‘ÍË¡¹ì¶.Í«¥ܤAšÜ‚̹æ0Ì9Ì‚5ÜÊ‚5È¡¥ܤAšÜ‚Ì¹ä¥ ¤ 𥠤 š¥…ÈǪ ž ¥†¦×ªP­7Us‘dhm“·¾NTvÆB Æ ¾È�ÆêëÇÿ•É¡WÇþ‘ ©êÇþ‚ž Ì©êÆÇÿÛ‚žÆÇÿÛ‚Û€‚ž ¥‚NÆÇ‘ÍË¡¹ìêÇÿ‚Û‚«¶.͹ðêëÉ¡3ÆÇž ©êÆëꕞ¥‚NÆ Æ ¾¾.Ë„¡#Æ Ì‚5Æ‚5Æ PÍÆ‚5¦.TEXT×UÍÆ‚5ªPÆ Æ ¾¾.á Æ Æ ¾Í¥‚NÆ Í¥…vצNot present. File? ªPž"áðΩ땾 ËëÃ�¡ ©Ç‘ÍË¡¹ì¶.Í¥‚NͶͶצ Your file is ͶëÍ ¶¦ bytes long.×ͶÍðUáV²²?ª²&צSYSTEM.WRK.TEë ¿ë‚«>« ««‚K«�¶¢%Ì‚5Ê‚5¢º«�Ê‚5¢º«�Ê‚5¢º«�Ê‚5ù•« Ê‚5ø•«õ†‚«�¥†P¾«�©�ζ¢»Î«‚H«‚G©ƒv“¡:¥ƒXTª¸¥‚N¦*SYSTEM.WRK.CODE×Í¥‚N͸²¦×ªÌ¹e¶צ4Do you want to E(xit from or R(eturn to the editor? ÍÍ#  ¶Æ‚PÍ¶ÍÆ‚¾Ã¡ žÎÆ‚=Ƃͥ…Ÿ¦# Copy: File not present. Filename? תPž"áö¥…Ÿ×¦ CopyªPÍ ÎÎ àÌÎÞÚÄâ“„¡ Î Í©‚G¡2¶¦ = '×Ͷ¥�Å©‚EǀͶ'Í©‚H¡.¶צ , = 'Ͷ¥‚©‚FǀͶ'ͶͶͩƒwÅÞÚ•ÌιôßÛÉÝÚÉ„¡ÞÚ•Ý•Í Î¹ÞÚ•ÎßÛÄÝÚÄ�â“„¡%Î ÎßÛÉÝÚÉ„¡Ú•Ý•Í Î¹Ú•Î¹òž"Ë¡¦ Disk Error.×ÍÎ¥�Ä©�ÍÆ‚=¡¶¦ Markers:×ͶͶ¦ ×ÍÌ©ƒw•ÌØÙÈ¡8¶ Ͷ¥ƒxؤÍØ‚ŽÃ¡¶Í¶¦ ×ÍØ‚̹ô¶Í¶Í¶ÍÆ‚=Í­fšÈVø^v¨dN€Àü Çÿ¸²‚Ð ×· ²‚ Ð ×· �¡U²‚=ÆÍË¡®²‚Ð צ Date Created: Ͷ¥ƒ¶ºÍ ¶-Ͷ¥ƒ¶ºÍ ¶-Ͷ¥ƒ¶ ºÍ ¶¦ Last Used: ×Ͷ¥ƒ·ºÍ ¶-Ͷ ×· ¡ ²‚²² Î ²‚ Ð ×· ¡ ²‚ ²²Î ­˜ Æ‚=ƃiǑͥ…Ÿ×¦& Copy: From what file[marker,marker]? ªPÍ¥ƒ·ºÍ ¶-Ͷ¥ƒ· ºÍ ¶Í¥…Ÿ¾ÍÍÍ « ð©�— —œ³Jœ‹“¡צ Not optionÍÍ ¹ðð¹dÍΫƒ¯¹òÍ ¶Æ‚PÍ¶ÍÆ‚¾Ã¡ žÎÆ‚=Ƃͥ…Ÿ¦# Copy: File not present. Filename? תPž"áö¥…Ÿ×¦ CopyªPÍ ÎÎ àÌÎÞÚÄâ“„¡ ΠΫƒ°¹wÍΫƒ²¹iÍΫƒ³¹[ÍΫƒ´¹MͶ¥ƒµÍ¹=ÍΫƒ±¹/¬AT¹(k) geQ"c&ÞÚ•ÌιôßÛÉÝÚÉ„¡ÞÚ•Ý•Í Î¹ÞÚ•ÎßÛÄÝÚÄ�â“„¡%Î ÎßÛÉÝÚÉ„¡Ú•Ý•Í Î¹Ú•Î¹òž"Ë¡¦ Disk Error.×ÍÎ¥�Ä©�ÍÆ‚=;¥…Ÿ¾Íð©�— —œ³Rœ‹¡îÍ ­ø&(ø3�–8Ú xؤÍØ‚ŽÃ¡¶Í¶¦ ×ÍØ‚̹ô¶Í¶Í¶¶ ÍÌ ÌØÙÈ¡¶©�ÍØ‚̹ö­.Ø¡¶צTrue͹¶צFalseͶͭ0®ÍÍ ÌÚ³¹@צ Date Created: Ͷ¥ƒ¶ºÍ ¶-Ͷ¥ƒ¶ºÍ ¶-Ͷ¥ƒ¶ ºÍ ¶¦ Last Used: ×Ͷ¥ƒ·ºÍ ¶-Ͷ‹“¡@¶צT or FÍ«�ÄÌ©�ÄÛÈ¡¶©�Í©�Ä‚«�ĹöÍÍ Ì¹ôÚTᶦTrue ×Í̹¶צFalse ÍÌ­„Z¥ƒ·ºÍ ¶-Ͷ¥ƒ· ºÍ ¶Í¥…Ÿ¾ÍÍÍ « ð©�— —œ³Jœ‹“¡צ Not optionÍÍ ¹ðð¹dÍΫƒ¯¹òÍ œ®ÌÍÌÚ — —œ³ÿœ‹“¡¶#ͶͶ©�ÍÚ — —œ³ÿœ‹¡öÚ³ÿ‹¡¶ÚÍÛÇèÉ¡ Û �Ú‚0•ÌÚ Î«ƒ°¹wÍΫƒ²¹iÍΫƒ³¹[ÍΫƒ´¹MͶ¥ƒµÍ¹=ÍΫƒ±¹/¬AT¹(k) geQ"c&— —œ‹¡ôÛ̶¦ ×Í­�� œÍ¥…Ÿ×¦. Environment: {options} or to leaveªPÍ «�¶Í¶¦ A(uto inden¥…v¦Syntax Error #תPͶ¶ Í ¶צ . Type Í­@Æ‚ ƃ7Ç‘ÍÆ‚ צ*SYSTEM.SYNTAXÍž"ˡιò¶ hȡ̹9t ×Í©ƒ¯Î¶צ F(illing Í©ƒ°Î¶¦ L(eft margin ×Ͷ©ƒ²Í ¶Í¶¦ R(ight margin ×Ͷ©ƒ³Í ¶ ~ȡ̹-¶ Ǘȡ̹¶ ǹȡ̹¶ Ç.È¡ ̹ ÌÆ‚ Æ ÚÍˡιôÆ ¾á̶̹ d†Ì¶ Ýd�• †Ì¶ ŽÌÆ Ý0‚¿Æ¤øšØ²+ß¾šØøÃ¡ ÙÙø•šØš­f v ¸ ¸Çÿ¸Çÿ¸²‚Ð ×· ²‚ Ð ×· �¡U²‚=ÆÍË¡®²‚Ð ¶Í¶¦ P(ara margin ×Ͷ©ƒ´Í ¶Í¶¦ C(ommand ch ×Ͷ©ƒµÍ¶Í¶¦ T(oken def ×Í©ƒ±Î¶ ×· ¡ ²‚²² Î ²‚ Ð ×· ¡ ²‚ ²²Î ­˜ Æ‚=ƃiǑͥ…Ÿ×¦& Copy: From what file[marker,marker]? ªPÍͶצ ͶëÍ ¶צ bytes used, Ͷóë•‚Í ¶¦ available.×ͶͶͩ‚H©‚G�¡ö¶¦ Patterns:×Ͷ$ Í «�ÍêÌÌÍ« ðÍá8êÙÅ¡1Ø•Ìê•«©êÆؾ¿¶©�Ͷ©ê¾Í¶©�͹\ð áÍ͹Oð©�—©�—œ‹“©ê¾ Ë„¡:ð³ÿØ‚ôÅ¡¶!Íô¶ Íô¶ Ø‚Í ¸ ­P¸¶ ¡¶ ôÉ¡ ¶ ¶ ͹ ¸ ¶ ¶ Ͷ ‚¸ ¶ õÅ¡¶ •¸ ¶Í¸¶ Ë¡ Ü0‚¿Æ Û0‚¿Æ0ž Çÿ:Æ Ùž ÌÆ ÙÆؕ؞ØÙ‚ÌÇÿ Æ Ùž Ù‚‚ÌÆ Ư Æ Ù¾Ã�¡öÆ Æ· Æ Ù¾Ã„¡Î¹GÆ Ø‚¥…vÙØ••ž¥…vDÙØ••ÿÿÿÿÿÿÿÿÿÿ‹“¡?« ÆØ©꾿©êð¿Ø‚Ìê‚«¶ðÍð©�—©�—œ‹¡öð©�áÙ«Æ©êØžÍ¶ÆØÇ€ÍÍ®­•Ü„ 8÷ê•€PÅ¡rÍ ¿ÍͶ¥…vͶצ . Type ÍÍÍ á𸠸 ¸ Æ‚ Í­#%Çd˜žeQ"c&¥…Ÿ¦L WARNING! You are about to zap more than 80 chars, do you wish to zap? (y/n)תPÍ «�ÍÍ YË¡ Í®žê÷Í ê÷Í öá>« ¹<« ͶñÍÍ®­A&¥…Ÿ¦! Copy: B(uffer F(rom file תPÍ «�ÍÍ « ð©�—³Dœ‹¡öðBÃÍ¡E«‚Lê÷Í ê÷•€‘Íê÷Å¡ ©ê©÷ëꕞ¹ ©÷©êë÷•žëê÷•€•«÷«¥�Ä©�ÍÍ®­âÍóëê••¸ëê•‚¸©ê©¶¶žÍ¡ò©‚K“ë©‚J‚ ‚©‚IÅ©‚IëÄ„�¡צ Invalid copy.͹ôë©‚J‚óÄ¡¦No room×͹m©‚L¡Íí«©ê©ê©‚J‚ëê•‚ž©‚IêÄ©‚IëÉ„¡©©‚I©‚J‚©ê©‚¶ê•É¡"צNo room to insert.ÍÍ®ž©¶•¿©¶•î ‚¿­j¶¶“„©ƒ°“©ƒ¯�„ð©�Ë„¡'ë‚«¶•¸¶‚¸Çÿ‘ Jž¹ ©©‚I©ê©‚Jžë©‚J‚«ê©‚JÍÍêìÍ «¥�Ä©�͹ ðFážÍ®­ò *®­ צJump toÆÍ Æ×Ð ©ê•ž ê‚«©¶©ê¶ž¶‚ê¶‚•Íëê‚¶‚•«©ƒ°©ƒ¯“„ð©�Ä¡ê͸² ² Ͷ¶ð©�Ã�¶ ÍÍêìÍ «¶‚««‚K÷ · ¡\ÌØ©ƒwÉÆ¥ƒxؤ· „¡Ø‚̹öÆ¥ƒxؤ· ¡¦ Not there.×͹¥ƒ¥Ø¤ø«ÍêìÍ «¥�Ä©�Í­.\ ˆ ¥…Ÿ¦$ JUMP: B(«‚Iê÷•«‚J®­÷ÈÌÚ¶È¡6¸Ì¦No insertion to back over.×ÍÍ ¶ ¶ ͹oÚ¶Çÿ•Ä¡d¶“¡5¦Please finish up the eginning E(nd M(arker תPÍ «�ÍÍ ÌØBá«Íì«¥�Ä͹)ØEáë•«¥�Äõ•͹ØMáÎ ¹ Ø©�Ë¡ÍØ©�—³$ insertion×ÍÍ ¶ ¶ ͸ڶ •Å¡ ¦Buffer Overflow!!!!×Í®ž­‚¸ð á¶ •¶ Çø„‚¸¹¸ê¶‚®¡©ê¶œ‹¡ö®­i ¤©ƒ°©ƒ¯“„¡ÍêòÍ¥�Ä©�͹ צInappropriate environmentÍ«‚KÍ®­«R «� ©ƒwÍ «ƒw ž ê¶‚«­>¶¡®©ê ¿©ƒ¯¡Í¹!©ƒ°¡Í©ì¾ ᩃ´«¹©ƒ²«¹«êî‚‚®¡©ê‚î ž êî‚‚«¸­^ðáÍ©ƒw áôÍÌ©ƒw•ÌÙÞÈ¡/¶ÙÍ ¶¦) ×Ͷ¥ƒx٤ͶÍق̹ö¥…vצ$Marker ovflw. Which one to replace?ªPÍÍ« ¥í®¡í«¹Jð©�éꕾéꕾ Ã�“„¡ê¶‚É¡¸¹ê•«¹©�« Íí•®¡í•«¸­f©ê ¿ÍïÄ¡©ì©í‚ê앞¹$ê�Ä©�Íð³ÿ‹“¡¹pð0•̹©ƒw̦SetׯÍ ÆÐ ×· ¡GÌ©ƒw•ÌÙÞÈ¡¥ƒx٤Ư ¡ÙÌق̹ò¥ƒxؤƨ¥ƒ¥Ø¤êšØ©ƒw‚ï•®¡©ì©ì‚ï•ê앞¹¸žêï••«©í¿©í‚ î‚¿­•^¸Í« ðÍá©�« ð©�—©�—œ©�—œ©�—œ³"œ‹¡4ðᩃw‚«ƒw­@ný * ¥…Ÿ¦ Set: E(nvironment M(arker תPÍ «�ÍÍ ÌØEáž¹ØMá® ¹ Ø©�Ë¡ÍØ©�—³ ³‹¡®¹!ð ᮹ð©�—©�—œ³œ‹¡®¹.ð!Éð~Å�¡?« ¶¡®ê‚®¶„¡¸©êð¿ê‚«¶¡ö­¤¬¶ ¡ ¶ ¶ Íœ‹¡öÍ®­G~ ¥�Ä©�ÍÍ®­o ¥…Ÿ¦< eXchange: TEXT { a char} [ escapes; accepts]תP¹ ¸ ¶ ¶ Ͷ ¶ Ͷ ¶ Ͷ Ͷ õá ¸õ•¸ ¶²¶ ǀ͸­—d¶ Ø‚ôÈ¡¶ÙØÍ¶ Ø‚ôÄ¡ô¶ Ͷ % b ÌÇÿ ©êž ê‚ÌÙë•ÉØòÈ„¡5Ù‚«Çÿ ©êž ê‚ÌÙëÉ¡¶‚¸Ø‚̶õ‚á긹ö¶õÅ¡¶õ•õĶ �¡®¹ ¶¶õ•®Íë•ì¶rflow͹<®)« ñ<á®"¹®#¶‚̶ØË¶ŽË„¡¶Ì« ñ>á®#¹®"¹ö¹+¬ ¹$„ £¡¼º ©À¶ö Ã�¡ ¶î•ï‚í‚Çÿ ©êž ê‚Í Í Í «­’¬!Íìêò•ÅêòÅ„¡9òêì•‚•« ©ê¾ áꕫÇÿ‘ ©êž ê‚Í «¶•¸Í¹öìêò•¶Í¹ð¶¶á8¶¶‚á ¶¶Í¹ ¶¶•á ¶©�͹ ¶¶Í¹C¶¶á1¶¶‚á ¶ ͹¶¶•á͹ ¶¶ÍÍ Í «¶É¡®²²Í­it"Çÿ ©êž ê‚ÌØêò‚ÉØë•É„¡:òØê•‚•« Ø‚«Íì«¶‚¸¶õ‚áí¸Çÿ ©êž ê‚̹ ¶¶Í« ®ö³|‹“¡î¶¡Í Í­� ºçô*ÙÌÚØÈ¡G©Ú¾ á-ڂ̶ÍÚÆÍÌÚØÉÜÅ„¡¶ ÜÍÚۂ̹¶©¹ö¶õÅ¡¶õ•õĶ �¡®¹ ¶¶õ•®ë•êò‚Í «²²Í­�˜#Ìñ<áTÙØÈêÅ„¡1©ê¾ áꕫÇÿ‘ ©êž ê‚«êÄ¡ ¶•Ú¾Íڂ̹ö­O Z+ÛÚÍÛÌÚÌØ•ÌÜÞÈ¡ÜË¡ÝÜÍ̶Í܂̹öÚØË¡ÌÙÌÜÞÈ¡¶ Í܂̹ô¹ÛÌÙÌÜÞÈ¡¶ ÍÜ®­Z¶¡®Çÿ‘-©ê•ž Çÿ‘ ©ê•ž Í ê‚ÌêÙ•ÌØ©ƒ³©ƒ²•Ä¡ð®žð-á¶-Ͷ Ø•‚¶ Ͷ Ø•‚¶ ͩ٩ٸق̹öêÍ «êø ¶É¡®¹zÙØÈêë•É„¡2Çÿ ©êž ê‚‚«êëɡق̶‚¸¶õ‚á긹ôêë•ĸ ¶õÅ¡#¶õ•õÄö Ã�¶ �¶‚Øž©Ù‚ÆØžê‚«©Ù ¿©Ù‚¿©ƒ¯¡êÌÙ«ÍÚ«¹©ƒ²«©Ù‚î ‚¿®î¸ ¶ ¶ Í¶ÆØUͶ Ø‚¸ ¸­\àÌ Çÿ ©êž  �¡®¹ ¶¶õ•®êë•Í «Íì«î¸­†Ü ì$«¥�ÄÍ­Å%ë•«¥�ÄõÍ­&ÍîØ‚É¡î‘Ì©í¾ÃìíÌ ©êÆâžôâ•Ì ÎëÌ¥…Ÿ¥�rªPÍ Ì«�ê•ÌÌÆ Æ ÍäãÍäãÍÌâË¡PáäÅ¡áãͶÆâÇ€Íäã͹3ÌäãͶÍãõáõ•Ì Ì•Ä¡©í‚¾Ø‚ •¸¹jìí•Å¡©ì©í‚ë앞¹0ëód•Å¡צBuffer overflowÍ'ž¹ ©ì©í‚ë앞í‚ìË¡íí‚ì•Íëí‚‚ì•«©í¿îØ‚¸©áã‚ͶÆâÇ€ÍäãÍÎð©�—©�—œ©�—œ³¶ œ‹“¡ö¥‚vð¤øá(äôÈ¡¶©�Ͷ Ͷ©�Íä•Ì ¹ ð á æÎ¹©ƒ°ä‚©ƒ³Ä„¡í‚¶ ‚¿í‚«Í¶Í¶Í¥ïî¶Í¶¶Í­ê‚Ò(ñ̸¸ ꫸ ¥…Ÿ¥�›ªPÍ «�ÌͲ²ÍÌÍ« ðÍιðΩƒ°“äô•Äð©�Ë„¡¶ÍâËäáĄۄ¡Îäã͹yð á ÎîÌ äã͹hð©�áOãÈ¡%ê‚«©ê ¿Æ ©�ÍâË¡ÎÜ¡Í Ì¹ãÍÌ««‚Möá« «‚MÍ« ¥‚vð¤ø«¹öá Í« ¹« ö³ ‹¡ôöá<« ¹>« ̸ ¶ “ØòÈ©‚M�„¡d؂̮$¶ “¡TÜáÙÎ(¹JÇÿ © ãÍã•Ì Íîï•ê‚í•Ì äã͹ðá Ì äãÍäãÍð©�—©�—œ‹¡ôð©�áÙ‚«Ø«Î­8›ž èÌÇÿ ©©�ž ©�‚‚ÌÛØÉÚëÉ„¡Úìž Ìܹ-©ƒ²î•Î(¹1©ƒ³Ú•‚î•Î(¹$©ƒ³©ƒ²•‚Ú•†î•©ƒ²‚Î(¹ ¬¹4-"¹ö¹òöáò‘Î(Ùò•Ì̹wöá òÎ(Ùò‚Ì̹eöÇ„‹¡PÍÇÿ ©ì«�Çÿ ©Úž Ú‚‚Ìۂ̹öÌõÍÛ‚Ì٥ͫ¶ ÍÆïîõͶ•¸ÛØÄÙë•Ä�¡ô¸­9h ˆ¶ ¡^¶õÄ¡)²Íê¶ž Ìöá Ì©ƒ²î•Î(¹-ö áÌ©ƒ³Ú•‚î•Î(¹Ì©ƒ³©ƒ²•‚Ú•†î•©ƒ²‚Î(¹ ð©�Ë¡ÍÍð©�áðÛ« ­kš ¬'òÅ¡Añ>áò•�•€¶€Å¡¶•Í ¶®¹(²õ•Ͷ¶Íê¶•€¶€Å¡¶ ͸ ¹)ö Ãñ<öõ޶Ã�„¡ ²¶Í¹ ²©�Ͷö Ë„¡Í‚¶•¶Çø„‚̹#¶áò�̹ò•�¶‚¶•Çø„•̹̭R)¸ ¸ ¸©‚M¡;ö¹®%¹*®&¹&ñ<á®%¹®&¹¬¹  ¸¶¸¶¸­°ÌÍØòÈíÅ„¡í•«Í¶•¸Ø‚̹öì¶î•ï‚í‚Çÿ ©êž ê‚Í Í Í «¶É¡®­T "$«�®ž²²Í¶¸¶¸ö¹ô®"¹ò®#¹òñ<á®"¹®#¹ò® ¹ò®!¹òò®$¹òòÇèÅ¡¦Too many×͹õò�®$¹òòÇÄ¡צInteger Ove& “¡Í Í®žð ö„¡ ¸Í¹¶ðÍ­¶D.ð — —œ —œ‹¡®.¹ö­/ðÍ « ðLḠ®.¹ðVá ¸€�®.¹ ðTḠ'R' replaces, ' ' doesn'tò¶ •‚®9ÍÍ« ð©�áÍêìÍ «®žðRËðrË„¡¹ö©‚Fê÷•Å¡[©‚Fê÷••ë‚óÇȕš9צBuffer full. Abo ®.ðÍ « ðVÃðTÃ�ðLÃ�“¡ö®/ðSÃðsÃ�¡¸€‘­V^0®/ð©�—³Lÿþÿÿþÿÿœ‹¡(¦Invalid delimiter.×Ͷ“¡Í ®žðrting ReplaceÍÍêìÍ «®ž¹©ê©÷©‚F‚ëꕞ¹©‚Fê÷•É¡©ê©÷©‚F‚ëꕞ¥‚©÷©‚Fž©‚Fê÷•Ë¡ ÷©‚Fê÷••Íë©‚F‚ê÷••«ê©‚F‚ê÷¸Ì®.ð©�á*ÙÛ¾ ËÛÅ„¡¶ Ͷ©�Íە̹͹ ÙÛð¿Û‚Ìð¶ÃÛÄ�¡öÛÇÿÄ¡.צYour pattern is too longͶ“¡Í ®••«¸­@:ÌÌ€‘Ì€�©ƒ±¡Ì ¹Ì öᦠFindצ =>×òÎ9¹(¦ Replace×צ V(fy =>òÎ9«�Î.ΞØÛ•š­„ Ú1ÌÛ¶É©ÚÛ‚¾²۾ġۂ̹öÛ¶ÃÌ­d% 02©Øø¾ — —œ—œ —œ‹¡©Øø¾áØØø‚𹨨ø‚š¹ö­./Î0Ê€‘“¡ ¥�Å¥‚EÎ1«‚Gö áÎ.Î/Ì€‘Î0Ê€‘“¡ ¥‚¥‚FÎ1«‚HÍÍöé‚G„ö é‚H„©‚G„�¡lÌ ÌêÌ äòÈ©‚M�Ù„¡*Î6ä‚Ì Ù¡áÞ‚«ß«ö áÎ:ñ63̸²Ç€ ž ¥�Ŷ²¶žÙ¶“„¡q¶ ¶Ä¡¶ ‘²¾©¶ ž ̹¶ ‘Ìض ‘á ̸¹9¶ Ø‚¸ ¶ •¸ ©¶ •¾á¶<áß•Ì ¹êÌ ¹öÙ“¡(©‚MäÅ„“¡צPattern not in the file͹צNo old pattern.ÍÆ ©�æ“ÍÍìêÍ «Í®­¡—" d©� ¸ ¹ö¶ ®2¡¸¹¶ ¸ ¹ô­.|v ¦4̸²Ç€ ž ¥�Ŷ²¶žÚ¶“„¡që¶•¶ •‚ÌÙšٲ¾©¶ ž ̹ÙÌØÙ¡¥…Ÿ¥� ªPÍ «�ÍÍ« ðÍ«­.«‚Möá « «‚M®¹öá Í« ¹« ö¹dÍÍ®¹ö®¹ö®¹ö®¹ö®¹ö®¹ö®¹ö®¹~® á ̸¹9ض ‚¸ ¶ ‚¸ ©¶ •¾á¶ ¸ ¹ö¶ ®2¡¸¹¶ ¸ ¹ô­.|v ¦5¸¶¸©‚E•¶©‚E¶• ¥�Ŷž ‚͹z¹x®¹t® ¹p® ¹l®¹h®¹d÷«ÍêìÍ «¥�Ä©�ÍÍ®¹D®¹@¬0¹8lb^\ZXVVVTRPN‚„024680Š>@b­‚̹ò­4` x¶Ì¶Ì¶Ì¶Ì¶ ¶Å¡ê•̶Ìܕ̹¶ ¶É¡¶•ÌêÌە̹,žÚÙÅÚÙÃÜÛÅ„�¡ÞÌÝÌØÌÚÌÙÌ ¸¶©‚E•á¶Í ¸¸¶‚¸­X7¸¶¸¥�Ŷ¾ — —œ —œ‹¶©‚E•É„¡ ¶‚¸¹ö¶¸¥¥�Ŷ¾¤ø¥¥�Ŷ‚ØÌÜÌÛÌØÌ¶ €¶€Å¡ÜÚÛÙ®¹ ÜÚÍÞÝ®+¶¶Í­¢,¸ ¸ ¸ ¸ê̸ ÍíÌêìÃÌ¥…Ÿ¥�IªPÍ «�Ͳ²Í¶Ì¾¤øÃ¶©‚E•É„¡ ¶‚¸¹ô¶©‚E•Í ¸¶‚¸¥�Ŷ¾ — —œ —œ‹¶©‚EÉ„¡ ¶‚¸¹ò¶©‚Eá¶Í ¸¸­?Џ Ê긶 ¸¶¸¶¸Í« ¥‚vð¤ø«öá Í« ¹« ö³ÿ‹¡ôö¹w®"¹ö®#¹öñ<á®"¹®#¹ö® ¹|®!¹xò®$¹söá<« ¹>« ͶñÍ8¸¶ ¸ ¶ ¸ ¸¶ áÎ7¹Î8¶¶•‚¸ñ>á®5¹®4¶¡v¶ ¸¸¶“¶„¡b¶ áÎ7¹Î8¶ ¶‚¸ ² ®3¶¶•‚¸²Ç¶¶Í¹NòÇÄ¡¦ Integer Ovflw×͹®)« ñ<á®"¹®#¹¬¹¹]_nl‡…Dt‹êÙ•¸ ®,¹ð©�Ëð©�Ë„¡ Ͷ¶Íð©�€ ž ¥�Ŷ²¶ž¶ ¶‚ëÅ¡¸¹¶ ®2“¡¸¹ö¶ á}¥²¾¤øAáo¶¡j¶Å©¶•¾Ë„¶È�¡¥©¶¾¤ø¥©¶•¾¤øÃ—©�—œ‹¡òð©�átÍÜêìÄ¡ í«ÙÌÚÌêÙÍ¡SêÙÍ êÙ•€‘ÍêíÃÜ„«‚LÙêÉ¡ ©ê©Ùëꕞ¹ ©Ù©êëÙ•žëêÙ•€•«êÙÍ «ÍìêÍ «¹¡¸¶ ¶‚ë•È¥©¶ ¶‚•¾¤ø¥©¶ ¶‚¾¤øÃ„¡¸¶¶“�¡ô­—:ÿ N6Æ.ÛªPÆÚªP¥…ŸÆ.ªPÍ ¶[Í©‚M¡ ¶/͹¶Ø«¹«‚L«‚KêÙÍ «‚IêÙ•€«‚JÙ«¸ ¶Þö “„ÌÝÝ“¶Í®­¾Üè -öáÎ-¹ öáÎ'®¹Î*­ Í« ð©�á¶ÙÍ ¶צ]: ÍØ¡%¶ ᶦL(it×͹¶¦T(ok×ͶÆÍ­•¤z9¶€�¡z² ©�¶“ͦ Replace×צ' aborts,' ¹z¹x®¹t® ¹p® ¹l®¹h®¹d÷«ÍêìÍ «¥�Ä©�ÍÍ®¹D®¹@¬0¹8lb^\ZXVVVTRPN‚„024680Š>@b­ŒüZô ˜˜Z ` fš–:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú "*2``@Z‚` ‰ÀÂöÔ<Àf¨,¨€’€4À~%€x$€Jà8à8f"a8f"@ø"$ F% &@L$f&b8f"c8f"ž ¸ \ j .  ˆ ®   º ‰‰‰†‚‰‰ƒ‡‰#€ÄV"àCOPYRIGHT (C) 1978, REGENTS OF UNIV OF CALIF,SDÿÿþ @€ @€ÿÿþÿüÿøÿðÿàÿÀÿ€ÿÿþüøðàÀ€f ~f{fxfufrfoflfifffcf `f"ððððððþßðHJKC  >P  ?]f$Zf&Wf(Tf*Qæ NæKæHæEæBæ?æ<æ9æ6æ3æ 0æ"-æ$*æ&'æ($æ*!¦‰ ‰ ‰—/Îef�AA�,þÅ"ÿÃÿÂ<Ê•w�ÿ· ÿÎe¦Îe¦Îe¦Îe¦ Îe ¦ Îe ¦Îe¦&•ý€À fÎ € € ‡ÎE€‡Že‡z‡N ŽE‡•€ÀE€ÿÀÕ7¢ø×-Œø Á÷åÿ7 ÿ& ¦ÄÍÖÁ Gà‰÷ 6ý€ÀEÿ7,�ÿ‹ €�€6 ?�  ÷ w pÿrÿ@$@$@$@"‡‰÷ �EB~‡�€fÀ r†‰&‡z‡¶%Ž%‡‰·· 7 Êì(Ú¦ææ\7 ¶ì(¦‚€€`€`�WtüÿB &ÀŸ¤ÿÀE€ÿ7 žþ ÷5@|þÀ‰<7 ‡þw Ìÿ{7 yþw Âÿ7 ps w ´ÿm w ªÿg×-Á �aBÁEðÿÁ B<øÎÂ<‡ ú÷ ŽwN �EC~�Áí B~‡ŽU‡�€fÀ r†‰f‡�Vpf‡z‡ ‡Î Îe€‡N ‡€�–ÿ@À•ÿ‰_÷ ’ÿ a z‚ÀE ÷ ~ÿ   ~ÀU€æÃVÿ3�Tƒ ÃE@· Jÿ÷Dÿƒ÷ Bÿ9æÃ4ÿÀœT?�4ÿƒ ÃE@÷"ÿ÷ "ÿƒ×-ÿl8�@ 6÷NæÿÿÂEðÿ ŽLÀU@àtüÿ7`.æÿÿ~BÂEðÿ ‚B Ž@Wtüÿw`& B~æÂ<‡Žå‡z‡¦»¦¦º& ‡€ü�& ÁE7 ÎýÀÿ?Šÿ· ÿ~ 7 žýÿE@¨þÿ‰ÿU@ þ· èþ÷ æþ÷ ÚþÍÿE€Òþ7 Îþ€wôý÷ Äþý�€wºþÉU€ Ó æ&· ªþ· ¦þä÷ šþ­ðÿÁ N\øÀEðtüÿ& B~€ &‡ž‡€ ÿ‚> ‚‡‰÷ ~�UB~‡ ‰æð‡ Õ�@ ‡À €aÁ �a!‚~Fƒ@àÀ à€Á ÐB~ åË *å�€7 �þ7 Žþ7 €þ÷zþvþ÷ xþ7 vþÿE€lþ7 hþ÷ 7 ÿE€7 �‡tÿvÿÿÿ÷ ôÿý�€wêÿÉU€ Ó æW r7 $þ7 "þ‚~ÆöÂ<‡•€ÀE€ÿÀÕÀ `‡•€ÀE€ÿÀÕÀ `¦‡•€ÁE€ÿÁÕ€W @p@À `‡•€ÀE€ÿÀÕÀ Àe À`&‡& Õ`‡&Ž Õ`‡Ö;Îö Ë¡Î;¹ö­« ’تz\Ú†2n¤„ è  t † ª  ^æ¬&Ø@H øt tZºzŽú0`¤b0 ˆ ÷ þ^· Êÿ·Âÿæ��€ÿE@®ÿ�÷ ´ÿ�&À¬ÿ?�žÿ  ÷ –w šÿ€ÿU@†ÿwüü÷ „ÿ>÷ €ÿ6÷ Æý��€ò& Àßhÿ÷ ^ÿ7 XÿÀå �Æ!ä!h"˜#˜$ò#°’,%<%l&hv;¡צPattern not in the file͹צNo old pattern.ÍÆ ©�æ“ÍÍìêÍ «Í®­¡—" d©�ÿ‹Fÿý€ÿ• @ÿ~�€ w 2ÿ ?�*ÿ  ÷ "€ÿU@ÿ· ÿ÷ ÿw„üÿE€ ÿ7 ÿwvü�ÿ‹ôþý€ÿ• îþ�€‡FRX\`–¢¶ºÈäì& ¡¥…Ÿ¥� ªPÍ «�ÍÍ« ðÍ«­.«‚Möá « «‚M®¹öá Í« ¹« ö¹dÍÍ®¹ö®¹ö®¹ö®¹ö®¹ö®¹ö®¹ö®¹~® F J ^ f j n x | Ü à ö ä è  " 6 B îD J f Œ ž ² Ò ê 2  4 ^ v ¬~˜ ˜ ˜ è  ˜ ˜  ˜ 6 j | ’ º Ì â ì ô ¤h*06NV\bz€( •€ÀE€ÿÀÕÀ Àe À`&‡•€ÂE€ÿÂÕ€�‚~Â<‡ ‰€ ÿ‚7�ÀZ ¢ ‚� Ò‚ ”‚~Â<‡ ‰•€ÀE€ÿÀÕÀ Àe À`ˆ‡„ ÄE€„¼Bœò@B¬ø Â<‡Cþÿ÷`ï¯`ï& ΟXï÷ ¾þ@ •Åe E`E``B~Å8ïAÑ Ew0ïw.ïDw$À &ß  ‰‡  Ô @àÀ `ã‡Ô ‡•G´7vz Ö Î‡Ö  ‡7ˆH€ ÿ‚7��ÿÀZ 6�W ÿ‚w�{ÿÁZ N ¤†ÜÿÿBÜÿÿ¤ û×'ðß(ßð�À(@`@`�Áå( ƒ‰(‡¶“�‚+¶mÖ Ž] €€‡ à†‚ P‚~P�‚~‚��eŽe€NPŽP ‡ à†¾¯ öÖ Â<‡6 ù•€ÂE€ÿÂÕ •€ÂE€ÿÂÕ7ˆ �€¤ƒ~ æÂ<‡& ûÎEþÿöEþÿŽ÷ Jd`·n�þÿ ¦W à†‚ ‚~”‚~ÆeÂ<‡‚ù��e€€e€`�`!˜‚~òÖ Že€‚��ö ¤C~¤C~À €å–%Â<‡ € ö ¨óC~¨ïdþÿ‡Á �%  D~ "Ð ƒ~Á ø�E D~óÁ D C~Á �%  D~ Ð ƒ~Æ& Â<‡Ææø•AA~•€ÀE€ÿÀÕÀ ÀeC~€€cêÄîÄeüÿãίøíö¯ôí–%‡@ ÁeüÿAâp®6®–%‡ë‰€� "1, 1,1,^ ‡ ‚ñ% @`&‡•„ ÄE&~‡•AA~•€ÀE€ÿÀÕÀ Àe @`&‡•AA~•€ÀE€ÿÀÕÀ Àe @`ˆ‡„ ‡–åü–åù ö‡•�`‡Äšó`㇀ð ^Îÿÿ‡A ãñ%ð^·AØ€�æ&DaÁefÔ„ Â¥_û— 0‡— 9ƒÂE — A‡— Z‚ƒ ë‘�éÄå ƒ ‘�ü‚Ÿ� t�Á @L‡�Á A€@@A ‚tBtÖ ‚B@PžÂ<‡� Õ``f~‡ Õ�``A‘~Ö ‡€€c Ò‡€Že�‡•€fÀ r �îƒðCàà ÃøÁ Á fÁ �eÁe¦ƒ €$ $ $ $ @A ÁeÁeÁeÁeé Á>„„ƒ‚ÂeJÂ<‡ †‰``•&& � †`À Á ú‡Žå ‡Î‡ŽåûøŽåøõ•€ÀE€ÿÀÕÀ Àe @a&‡&•6•‡ŽååâŽåâß•€ÀE€ÿÀÕÀ Àe @a&‡ŽåÓÐ!$'(****AND 'ARRAY ,BEGIN CASE CONST DIV 'DO DOWNTO•€ÀE€ÿÀÕÀ Àe @aˆ‡ ‰‰·\ÅdòÂ<ÃZòÄîÿ‡·@�€@`@`$fH@€à7 �`Áe‚À à€�B~Á  B~Â<ãÁ _ ELSE END EXTERNAL5FOR FILE .FORWARD "FUNCTION GOTO IF IMPLEMEN4INÿÿ·7ú@`À ð d‰ìd�&`f&d&b& ÷Ê�Á �mÁ Áef )INTERFAC3LABEL MOD 'NOT &OF OR (PACKED +PROCEDURPROGRAM !RECORD -ùÉ þ�É‹ ‰Ã¦Æe Á¤ÿá ¢rþ·–fæwœˆÏBCâ ‚âÊ% €Àe€ìúÿ€ìøÿÀå 7d÷,ñ\ã ·ÁAâÉ‹á B‚â·J@á BREPEAT SET *SEGMENT !SEPARATE6THEN TO TYPE UNIT 2UNTIL USES 1VAR ‚âÊm8~@á B‚âÊm*~@á B‚âÊm~÷ Úƒ�ÀÇ·øÿ€·ìþÀ ð  ðþð÷ Ðþ±° ÇÊÿ�€ WHILE WITH �àÞŽêÞŒê�‡7 è÷<)¦€& æ€@  z7 Ò÷<)¦7 Ê÷ª)7 Â÷Ž)7 º÷ˆ&7 ²÷ô*7 ª÷Œ&7 ¢÷ø'À 𠀉I•÷€ðªþ? zðr·¢þ&÷ ¦ÿ7þhð† Ó �àAâFìúÿÀ‚þ„ ÁeþÿAâÉ ÷-BðlþÀŸ:ðÀ ð ÷\þ.ðÂ<‡ÿ‹$ðW¢Fløÿ‰÷ð7 š÷,,·\ vwŠ÷÷ *ùÂ<‡÷ Rù‡×'ðß(ßðÞ(‡Ÿ(ßð‡æ‡€@ BÈCzEG@ÃHPtJ$L€–¾M ¼nO(k<þ€ ÕÁ  ÁmðAâÉ‹×Fìøÿ·! ïåƒæ &æþæäïffDúÿ„ …Åe …wÆï5 wÀïDÄeþÿã‡Â`ÎÍÂ<‡ÂnÇæÍC÷”ïÂ<‡ÂQùºR·ChT¥ÔV焵W!æcY©_[ʱ\¼¢^^k `#Ç­aìxXc'×ex†©fhShÂjQY¥k¦oNm�Ëo9?¡p�IrÊòüs|o�u®ÅEw7öxß„šz @|Ηð}½€ � &À À &) ÀÔþ�  tÁðïÊ•ÿ ßU€äÿ ”QŠƒ~Ê•ÿ‹Šþ� \ü׌‡ÎUÎE׌Àx׌"„Àâÿ†€Š€Š  ‡ †Àe †F J ^ f j n x | Ü à ö ä è  " 6 B îD J f Œ ž ² Ò ê 2  4 ^ v ¬~˜ ˜ ˜ è  ˜ ˜  ˜ 6 j | ’ º Ì â ì ô ¤h*06NV\bz€ÀŠÀŠ�÷�ÏÿÌÿ÷•@ÄÿŠ7мÿâÿŸ 6_ 8÷ °ü ßàÿÎÿE€žü7 šüŸäÿ‚�€_Æ÷þÎ âÿ7 vÿÂà7 þ7 þ7 Pý÷ àý7÷"äýŒüZô ˜˜Z ` fš–:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú "*2``@x ` ‰ÀÂöÔ<Àf*¨€’€ÆÀÜ"€Ö!€à>à–Äa–Ä@V |! ¤"~#@ª!Ä#b–Äc–Äž ¸ \ j .  ˆ ®   º ‰‰‰†‚‰‰ƒ‡‰Z&X‡‰Ê‰‡€Àç(¡ &‡7 |övª‚Ð7 nö|ªôÐ7 `ö|ªŒÐ7 Tö”ªÜô ôÐ7 <ö”ªèô ôЦ6 Æåz €Ä´àCOPYRIGHT (C) 1978, REGENTS OF UNIV OF CALIF,SDÿÿü\É =€¶ "ù  Š\¶m¶¶Ž\ � W Á �mÁ ÁefÉ5`\Å_Æe wÊõÉ5 ÅôÉ5@ù��àÉ ù��ððððððþßð  P  ?\É‹ýE’ Šâö5Þ\ù\ù\öfž F^ªT 2´&²ºÐØàèðø,FRð,: fÁ6� ‰ ‰ ‰—/Îef�AA�,þÅ"ÿÃÿÂ<Ê•w�ÿ· ÿW Y‡Áå#w (Q&À—vÿ  I‡×   >†7 òÿ7�(w& EFHJKABCDWX][ôúîèÔÐf@¤þ@’à· N· Z·¨ÿ÷Œ[ ÷åÿ7 ÿ& ¦ÄÍÖÁ Gà‰÷ 6ý€ÀEÿ7,�ÿ‹ €�€6 ?�  ÷ w pÿrÿ÷‹U±7ŒM†wŒG7 ˆÿ–% €@àÀå`�?�Rÿ ŠwLÿ€�÷öÿVÿ÷ôÿxßx|ßxtߪ@�× ý�ÀwôÿÉU€Ö Ó ·:·:�&ÀŸ¤ÿÀE€ÿ7 žþ ÷5@|þÀ‰<7 ‡þw Ìÿ{7 yþw Âÿ7 ps w ´ÿm w ªÿg×-K�À÷ ÒÿÿE€Êÿ7 Æÿ÷ßäÿ�‡w z÷Âþ2@”tÀå � w ìÀEt÷öþ@”_7 Àå � O÷ àÿ0�€ÀE€À]Ôÿ–ÿ@À•ÿ‰_÷ ’ÿ a z‚ÀE ÷ ~ÿ   ~ÀU€æÃVÿ3�Tƒ ÃE@· Jÿ÷Dÿƒ÷ Bÿ9æÃ4ÿÀœT?�4ÿƒ ÃE@÷"ÿ÷ "ÿƒ×-ÿl€÷‹ñ'�ÀUàÂâÿŠ‚ `— €ì‡Âå€ x÷•€ÎZ7ŠÈW÷€Òm7 ÌP× À�¯À]öÿ÷•…D÷•ÿÿ›÷•ÿw=7Š�íw ¸÷Zÿl÷ Fw bìI‡7 ÎýÀÿ?Šÿ· ÿ~ 7 žýÿE@¨þÿ‰ÿU@ þ· èþ÷ æþ÷ ÚþÍÿE€Òþ7 Îþ€wôý÷ Äþý�€wºþÉU€ Ó æ&· ªþ· ¦þä÷ šþ­‚ øw ž÷tÿR÷ <w Hì<‡Â øÀ AlèwŽ&f¦æäÿÁ6ß5tÿó÷ w ²ýíßE‡äÿÂàÀ � � Çeê@”  ×‡ÀEÿÀUò��€À åË *å�€7 �þ7 Žþ7 €þ÷zþvþ÷ xþ7 vþÿE€lþ7 hþ÷ 7 ÿE€7 �‡tÿvÿÿÿ÷ ôÿý�€wêÿÉU€ Ó æW r7 $þ7 "þ  ¨†Êµ¬ÇmÐÿ€À  þÿH  &†ñÁ W Y‡Áå#w HýÔ^ÂEê÷.œÿ åÂU‚ áw Ò÷Šÿw ÆÂâÿŠ‚ ÂUàÒÂEw °€÷ B¦÷ þ^· Êÿ·Âÿæ��€ÿE@®ÿ�÷ ´ÿ�&À¬ÿ?�žÿ  ÷ –w šÿ€ÿU@†ÿwüü÷ „ÿ>÷ €ÿ6÷ Æý��€ò& Àßhÿ÷ ^ÿ7 XÿÀå �w Z€ë‚ć ì†÷ tÿîw Ò÷ hÿ!w ˜‚ ÂUOw p÷ w €ë¨‡ ì‡÷ <ÿòw š÷ 0ÿw `ÿçʽ ÿÁW Y‡Áå#·Üþwºþ·’Øþÿ‹Fÿý€ÿ• @ÿ~�€ w 2ÿ ?�*ÿ  ÷ "€ÿU@ÿ· ÿ÷ ÿw„üÿE€ ÿ7 ÿwvü�ÿ‹ôþý€ÿ• îþ�€‡FRX\`–¢¶ºÈäì& * ‚~ÆöÂ<‡•€ÀE€ÿÀÕÀ `‡•€ÀE€ÿÀÕÀ `¦‡•€ÁE€ÿÁÕ€W @p@À `‡•€ÀE€ÿÀÕÀ Àe À`&‡& Õ`‡&Ž Õ`‡<þ€ ÕÁ  ÁmðAâÉ‹×Fìøÿ·! ïåƒæ &æþæäïffDúÿ„ …Åe …wÆï5 wÀïDÄeþÿã‡Â`ÎÍÂ<‡ÂnÇæÍC÷”ïÂ<‡Â•€ÀE€ÿÀÕÀ Àe À`&‡•€ÂE€ÿÂÕ€�‚~Â<‡ ‰€ ÿ‚7�ÀZ ¢ ‚� Ò‚ ”‚~Â<‡ ‰•€ÀE€ÿÀÕÀ Àe À`ˆ‡„ ÄE€„¼Bœò@B¬ø Â<‡Cþÿ÷`ï¯`ï& ΟXï÷ ¾þ@ •Åe E`E``B~Å8ïAÑ Ew0ïw.ïDw$À &ß  ‰‡  Ô @àÀ `ã‡Ô ‡•G´7vz Ö Î‡Ö  ‡7ˆH€ ÿ‚7��ÿÀZ 6�W ÿ‚w�{ÿÁZ N ¤†ÜÿÿBÜÿÿ¤ û×'ðß(ßð�À(@`@`�Áå( ƒ‰(‡¶“�‚+¶mÖ Ž] €€‡ à†‚ P‚~P�‚~‚��eŽe€NPŽP ‡ à†¾¯ öÖ Â<‡6 ù•€ÂE€ÿÂÕ •€ÂE€ÿÂÕ7ˆ �€¤ƒ~ æÂ<‡& ûÎEþÿöEþÿŽ÷ Jd`·n�þÿ ¦W à†‚ ‚~”‚~ÆeÂ<‡‚ù��e€€e€`�`!˜‚~òÖ Že€‚��ö ¤C~¤C~À €å–%Â<‡ € ö ¨óC~¨ïdþÿ‡Á �%  D~ "Ð ƒ~Á ø�E D~óÁ D C~Á �%  D~ Ð ƒ~Æ& Â<‡Ææø•AA~•€ÀE€ÿÀÕÀ ÀeC~€€cêÄîÄeüÿãίøíö¯ôí–%‡@ ÁeüÿAâp®6®–%‡ë‰€� "1, 1,1,^ ‡ ‚ñ% @`&‡•„ ÄE&~‡•AA~•€ÀE€ÿÀÕÀ Àe @`&‡•AA~•€ÀE€ÿÀÕÀ Àe @`ˆ‡„ ‡–åü–åù ö‡•�`‡Äšó`㇀ð ^Îÿÿ‡A ãñ%ð^·AØ€�æ&DaÁefÔ„ Â¥_û— 0‡— 9ƒÂE — A‡— Z‚ƒ ë‘�éÄå ƒ ‘�ü‚Ÿ @€ @€ÿÿþÿüÿøÿðÿàÿÀÿ€ÿÿþüøðàÀ€f ~f{fxfufrfoflfifffcf `f"� t�Á @L‡�Á A€@@A ‚tBtÖ ‚B@PžÂ<‡� Õ``f~‡ Õ�``A‘~Ö ‡€€c Ò‡€Že�‡•€fÀ r]f$Zf&Wf(Tf*Qæ NæKæHæEæBæ?æ<æ9æ6æ3æ 0æ"-æ$*æ&'æ($æ*!¦†‰``•&& � †`À Á ú‡Žå ‡Î‡ŽåûøŽåøõ•€ÀE€ÿÀÕÀ Àe @a&‡&•6•‡ŽååâŽåâß•€ÀE€ÿÀÕÀ Àe @a&‡ŽåÓÐÎe¦Îe¦Îe¦Îe¦ Îe ¦ Îe ¦Îe¦&•ý€À fÎ € € ‡ÎE€‡Že‡z‡N ŽE‡•€ÀE€ÿÀÕ7¢ø×-Œø Á•€ÀE€ÿÀÕÀ Àe @aˆ‡ ‰‰·\ÅdòÂ<ÃZòÄîÿ‡·@�€@`@`$fH@€à7 �`Áe‚À à€�B~Á  B~Â<ãÁ _@$@$@$@"‡‰÷ �EB~‡�€fÀ r†‰&‡z‡¶%Ž%‡‰·· 7 ÊJ&Ú¦ææ\7 ¶J&¦‚€€`€`�WtüÿB ÿÿ·7ú@`À ð d‰ìd�&`f&d&b& ÷Ê�Á �mÁ ÁefÁ �aBÁEðÿÁ B<øÎÂ<‡ ú÷ ŽwN �EC~�Áí B~‡ŽU‡�€fÀ r†‰f‡�Vpf‡z‡ ‡Î Îe€‡N ‡€�ùÉ þ�É‹ ‰Ã¦Æe Á¤ÿá ¢rþ·–fæwœˆÏBCâ ‚âÊ% €Àe€ìúÿ€ìøÿÀå 7d÷,ñ\ã ·ÁAâÉ‹á B‚â·J@á B8�@ 6÷NæÿÿÂEðÿ ŽLÀU@àtüÿ7`.æÿÿ~BÂEðÿ ‚B Ž@Wtüÿw`& B~æÂ<‡Žå‡z‡¦»¦¦º& ‡€ü�& ÁE‚âÊm8~@á B‚âÊm*~@á B‚âÊm~÷ Úƒ�ÀÇ·øÿ€·ìþÀ ð  ðþð÷ Ðþ±° ÇÊÿ�€ðÿÁ N\øÀEðtüÿ& B~€ &‡ž‡€ ÿ‚> ‚‡‰÷ ~�UB~‡ ‰æð‡ Õ�@ ‡À €aÁ �a!‚~Fƒ@àÀ à€Á ÐB~ À 𠀉I•÷€ðªþ? zðr·¢þ&÷ ¦ÿ7þhð† Ó �àAâFìúÿÀ‚þ„ ÁeþÿAâÉ ÷-BðlþÀŸ:ðÀ ð ÷\þ.ðÂ<‡ÿ‹$ðW¢Fløÿ‰÷ð+ REPEAT SET *SEGMENT !SEPARATE6THEN TO TYPE UNIT 2UNTIL USES 1VAR ~ƒ‡ˆ÷ ìÿýwæÿÉU€Ó Î&f¦&f7 ÒÿÅŒ•U•€ ã  ÷ 0…„‚�€É�¤ÿ^&Í „…_Æÿ�’ÿŽÿÿE€ˆÿ7  WHILE WITH �àÞŽêÞŒê�‡7 è÷š&¦€& æ€@  z7 Ò÷š&¦7 Ê÷'7 Â÷ì&7 º÷æ#7 ²÷R(7 ª÷ê#7 ¢÷V%„ÿ‡ŒÅþÁöÿC� D”ÄEøÿ!:‚7¡Û Ä Ä7‘ÏÄaÄehDÀ A€À� à à ÷´÷ ®Á aw²7ðÁÁe:wXÁŽÂ�P@P7n@ÀeI7 š÷Š)·\ vwŠ÷÷ *ùÂ<‡÷ Rù‡×'ðß(ßðÞ(‡Ÿ(ßð‡æ‡€@ BÈCzEG@ÃHPtJ$L€–¾M ¼nO(k7ø�0�@wnM‡¦)wø€€€€Í\Í ø�7 ,×Â� ߀ÿ€¿�zÿƒƒà — ‚Í5÷U$Í ÷J — ƒ÷Eà €÷ Ö÷ QùºR·ChT¥ÔV焵W!æcY©_[ʱ\¼¢^^k `#Ç­aìxXc'×ex†©fhShÂjQY¥k¦oNm�Ëo9?¡p�IrÊòüs|o�u®ÅEw7öxß„šz @|Ηð}½€ � &À À &ÞÄ Ä 7 7á÷ �÷ @Æ÷ ÷ 27 úÿ÷‹²!€×¯úþ+ƒ÷U ¢÷E šÃ€Â`Ä²Õ Ä †Íƒ û‚å ÍÓ ø÷ æÍÍ‹Z&X‡‰Ê‰‡€Àç(¡ &‡7 |övª‚Ð7 nö|ªôÐ7 `ö|ªŒÐ7 Tö”ªÜô ôÐ7 <ö”ªèô ôЦ6 Æåþ€D€å Ä5|‡w èðÄ5B÷ N÷ ÷ ¸ èÄ5÷ ,ô÷ ñW#D€å èå 7¡îÿÑW Î�?‘Zþw š wÈþå· ÷ ÷ ´D€Ä5H\É =€¶ "ù  Š\¶m¶¶Ž\ � W Á �mÁ ÁefÉ5`\Å_Æe wÊõÉ5 ÅôÉ5@ù��àÉ ù��Ä5 ÷‹Þÿ �ÄÕ Ã:ÿÂ@Ä †S„~å ÷e€&ÿ÷-"ÿÞÿ†wnþ÷‹®ÿ.€÷5Â÷)÷ º÷ ´Ä5|w Œž„77÷ Š÷ :× ùÇ÷ .þ\É‹ýE’ Šâö5Þ\ù\ù\öfž F^ªT 2´&²ºÐØàèðø,FRð,: × ý�…×-&þìÿÕ ……ÄpýìUÄ`ÄE@ ƒ‚wHý·ƒ‚‡w .ý¦æÅþÇ÷˜øÿ÷ ¸üý‡÷¿Š÷÷ÿŠ÷¿ŠFýÄÄÄU@ ÀwôÿÉU€Ö Ó ·j·j�K�À÷ ÒÿÿE€Êÿ7 Æÿ÷Jßäÿ�‡÷-`fß5tÿDÿ‹øÿ� PŸ 6_ 8׌†ßEäÿ÷ €ÿ ߇Ã�ÂÃ% ‚ÃeóC ‡~Â�ŠÃÃ% C  ƒ`ƒ`ƒ`‚ ‚ ÃåýÃe÷�þ·�zþ‡LÿNÿ÷ ìÿý�€wâÿÉU€ Ó æ· Ôÿ·ÐÿÿE@ÐÿàÿßäÿÿE€lÿ7 hÿ_Æ&À€  ^À< <ß—vÿ<7úÿ€÷öÿìÿ÷ôÿˆÿß|â&f¦æäÿßEäÿÂàÊ• Á°ÿ@”W ^÷ Âÿe÷ Àÿ]& ÷ Àÿ€7йÿÀ• 7Š®ÿÀ•÷ šÿ· ˜ÿ7Àß�ÿ2÷ Žÿ7 ˆÿÀå ÿ‹‚ÿý€ÿ• |ÿ· tÿ ~" w dÿ     ÷ X· Nÿ �îƒðCàà ÃøÁ Á fÁ �eÁe¦ƒ €$ $ $ $ @A ÁeÁeÁeÁeé Á>„„ƒ‚ÂeJÂ<‡ Á<  †À x*�w šÿðwŒÿ·Îÿ·’Îÿ—¢ Ê•Àþ€ÒtÊ•ÿÁðï ߀äÿ ”QŠƒ~Ÿäÿ‚�€wôþÂEÖÂU‚ ÒÂ5Ï ÍÂàÊ!$'(****AND 'ARRAY ,BEGIN CASE CONST DIV 'DO DOWNTO âÿÂà·ðÿ ¦÷ V‚¾‚ ¼ÎU· Æþ·¦÷ >Âe0— €ìÂà· ¾ÿô‚¨Á W <§†Á]¤ÀÜþ@à€Àe" ðÂE@”W ^Á<Àå ÀE€þ&@” ELSE END EXTERNAL5FOR FILE .FORWARD "FUNCTION GOTO IF IMPLEMEN4INW ^Á<ÀEàÿ  Âdÿt`— €ì‡Âå€ ‚UËÂe€— €ì‡ÂE€€æÃ:ÿtùÿ×tùÿÀà€Àeƒ ´¦ÂE÷ †‚ßeâÿ×'âÿ‡ âÿ÷e€þþ×- )INTERFAC3LABEL MOD 'NOT &OF OR (PACKED +PROCEDURPROGRAM !RECORD -úþ€ìž‡÷E€ðþš€ÀE7 äþ”Â倗 à�†Âe€ Œ”””””””ðè¬&â”””””””””””ú””RæÀPƒÃE€ÿÀàà Ò�, ÷ ÂþÿE€ºþ7 ¶þ�‡PÿRÿTÿVÿÓ Å+÷ àÿý�€wÖÿÉU€ æ· Ìÿ·ÊÿÿE@Êÿ÷ ¸ÿ÷ ºÿ ÿŸ°ÿºÿÿU@²ÿ· ¤ÿ÷ ¤ÿ_ÆÀÁ ŠÁ@àÀ%7 rR%(ý  öIAöÛ ý öe€Î ÆeÀÉ@ÁÛý Àe€…& & & & & D&&Îe€¶ —#€@‡ö öÿE€’ÿ7 Žÿ_ÆÉÀöÛö ¦¦ö€@6 7 âR%¨(¦¦6 6 —#‰?%‡‚—-£0 ƒö@ö’ €�æ׳æÝÀf&& æ€@æ׳æÝ@f&7 Š~&Þ#""Ó ÅK÷ äþý�€wÚþÉU€ æ· Ðþ·ÎþJ÷ Êÿ_Æ&ÀÀþ2�ÿŸ¼þ´ÿ· ²ÿ×-®ÿŽ/· ¤ÿ×- ÿœ"@)Þ#R%)€�f&f&7 l~&J)~&â#~&â#~&â#~&â#~&â#â#f)â#Œ&<)Ö …¶ ¶ \€�†)Ãf&¦¦à ú\ö Îe€\Å>Â:¿L]L?ÛÆª¿÷"–ÿ€÷ ˆþÿŸˆÿ„þ· ‚ÿ×-~ÿœ"÷"tÿ÷ tÿ÷ nþ· dþ��€÷ ^ÿã_Æ÷•Tÿÿ‹Rþ÷ Hÿ÷•Dÿ€÷ 2þïÿ�8ÿ*þ7 2ÿÿE€ þ7 þ_Æ�¤ª€@Ö \fEA#�&æ� Áe@ & f& f& f7 ÖÿR%â#¶)Îå€ö ff¦¦î€�Ö ……w û  ÷&@& ÿ €…€÷"ÿ÷ÿÿ7 ÿ÷ þÿE€øý7 ôýæß´#ÿU@ðýÅ –%Ÿ�‡�€÷ ÌýÿE€Äý7 Àý�‡Îe€z\æ& Dær汿¦)&&* ‰þ\Î ¶� ö•€ æóæ5@¦¦æóæ5@7 XÞ#x$â#R%Ž$Ž$~&d$n$n$n$~&â#~&â#~&â#~&â#‚$J&˜$~&â#¢$~&¢$€�ÂÖ$f&¦¦\¶ ¶ \& ŽÝÎå€\¦¦\æræ1@\öŠæÙ[æÞ?\€�Ö …Æew &… š?UÌ? *@ÚªAD €�C ŠÃÃå˜Ã%èÿ  æ  ƒ üƒÁ @ ƒ ü …f&\À�À ‚ ‚ B Ž- ‡ ÆeÀ \z\D ²Ãf‚ °C_‚À  fW‡æ & æ€@&&&&7 úÄ%~&š&Î%J&Ä%R%Þ#Ô%~&â#R%â#â#R%´%â#º%~&&Îe€€\¦¦\æ;ªæ¸@\¶ \N @ Îåƒ  €�æ‚=æ@Âf&æysæEæ[\ .TITLE QX-11 FLOPPY HANDLER ; FOR VERSION I.5, II.0 INTERPS. ; ; COPYRIGHT (C) 1978 REGENTS OF THE UNIVERSTIY OF CALIFORNæpCf&f&\–%€�„ÄŠ„ a�… À€@…ÀÀw ¸  …¦¦6 6 & � f Â�6ŠA ‡Â üv�Š�ÐÁ  6ŒN\zIA. ; PERMISSION TO COPY OR DISTRIBUTE THIS SOFTWARE OR DOCUMEN- ; TATION IN HARD COPY OR SOFT COPY GRANTED ONLY BY WRITTEN \€�‚ƒ\€�\¶¶ ‚ �N A f C�ŠÁÁå� Á%ʃÝC B Á ü … ‡ Ž\ ü‡æ w  òD& &&æÛæÉ@LICENSE ; OBTAINED FROM THE INSTITUTE OF INFORMATION SYSTEMS. ALL RIGHTS ; RESERVED. NO PART OF THIS PUBLICATION MAY BE RE7 ‚â#'D& &&Î 6  æÛæÉA7 ^R%f'ä$Þ#p'f'ä$z'Þ#€'f'f'~&¨'~&â#~&â#~&â#~&â#~&X'€�Ö Àe€…¦¦\Î ò¶Š\¶S\PRODUCED, STORED ; IN A RETRIEVAL SYSTEM ( E.G., IN MEMORY, DISK, OR CORE) OR BE ; TRANSMITTED BY ANY MEANS, ELECTRONIC, MEC  wŠKÿÀ•  wŠ:ÿÀ• 7 ,ÿÿ‹*ÿý€ÿ $ÿý�?� ÿ€ÿU@ÿ· ÿ÷ ÿ_ÆÿE€úþ7 öþwràfÀ Áðþ÷UêþÁíæþ?�äþÿ‹Þþý€� ù�‡�€ö‹ Îe€& æ€@7 òâ#˜'Ä<'¶Œ†Îe€\€�ÂØ'Ãf&¦¦à ú\:º×™¼c&£>X4%Àá]É@Û& & & & & D&&€D&&�À Š- UST SET UP A PHONY ; IO Q FOR THE RT-11 DRIVER FROM TERAK AND LET IT DO ALL THE ; DIRTY WORK. TST QXUNIT ; ANY IO'S ALREAD0 QXTRK0 = 1000 QXDDAT = 2000 QXWRTP = 4000 QXCRC = 10000 QXSYNC = 40000 QXCQE: .WORD DUMIOQ ;CURRENT QUEUE ELEMENTY GOING? BNE QXSTRT ; IF SO THEN HANG! MOV R1,QXUNIT ; NOW IO IS GOING ON QX BIS #BSYBIT,@R1 TST (R3)+ ; SKIP PAST IO T QENTRY: MOV #QXCS, R5 ;SET UP CS REG POINTER MOV QXCQE, R1 ;GET CURRENT QUE ELEMENT POINTER MOV (R1)+, R3 ;R3 HAS BLOCKHANICAL, PHOTOCOPY, ; RECORDING, OR OTHERWISE, WITHOUT PRIOR WRITTEN PERMISSION FROM THE ; PUBLISHER. ; ; ;;;;;;;;;;;YPE MOV R3,@SP ; SAVE ALL REGISTERS...KLUDGE!! MOV R0,-(SP) MOV R1,-(SP) MOV R2,-(SP) MOV R4,-(SP) MOV R5,-(SP) C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; ; SYSTEM TABLE CONTENTS ; ; ; ;LR DUMCSW ; CLEAR ANY HARD ERROR PROBS MOV #DUMIOQ,R5 ; POINT R5 AT IO Q...READY TO BUILD IT MOV (SP),(R5)+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; .ASECT ; INTERRUPT HANDLER LOCATION IN VECTORS .=250  MOV @R1,(R5)+ ; UNIT # (SPECIAL FORMAT IN MY UNITABLE) MOV (SP),(R5)+ MOV (SP),R0 ROR R0  QX$INT ; QX FLOPPY INTERRUPT HANDLER 340 ; MAX PRIORITY .CSECT TABLES .BLKW 128. ; OPERATOR XFER TABLE .REPT 4 .; IN WORD COUNT (CBIT IS CLEAR) TST -(R3) ; CHECK IF READ OR WRITE BNE 1$ ; 1 IS A READ...0 IS A WRITE NEG R0 ; NEGATIVBLKW 3 .ENDR .WORD INBIT!OUTBIT,QXSTRT,QXABRT .WORD INBIT!OUTBIT!400,QXSTRT,QXABRT .REPT 3 .BLKW 3 .ENDR .WORD INBE WORD COUNT IF A WRITE 1$: MOV R0,(R5)+ ; FINALLY WORD COUNT SET IN Q EL JSR PC,QENTRY ; AND START UP DRIVER MOV (SP)+,R5 IT!OUTBIT!1000,QXSTRT,QXABRT .WORD INBIT!OUTBIT!1400,QXSTRT,QXABRT .PAGE .CSECT QXDRVR ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; NOW RESTORE THOSE REGS MOV (SP)+,R4 MOV (SP)+,R2 MOV (SP)+,R1 MOV (SP)+,R0 MOVB DUMCSW,@R1 ; SEND POSSIBLE ERROR BAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; ; Q X - 1 1 FLOPPY HANDLER ; ; K TO USER JMP @(SP)+ ; RETURN TO UIO NOW (OLD R3 VAL @SP) $INTEN: ; FAKE $INTEN FOR DRIVERS BENEFIT MOV R4,-(SP) ; R5 AL ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;READY ON STACK JSR PC,@R5 MOV (SP)+,R4 MOV (SP)+,R5 JMP @#INTRTN QXQUIT: ; THIS IS THE DUMMY QMANAGR ENTERED UPON IO ;; QXUNIT: .WORD 0 ; ADDRESS OF UNIT TABLE ENTRY FOR I/O QXOFST = 14 DUMCSW: .WORD ; START OF PHONY IO Q ENTRY FOR TERAKCOMPLETE MOVB DUMCSW,@QXUNIT ; PLACE POSSIBLE HARD ERROR IN RESULT BYTE BIC #BSYBIT,@QXUNIT CLR QXUNIT RTS PC ; FALLS I DRIVER .WORD DUMCSW ; POINTER TO CSW DUMIOQ: .WORD ; DISK BLOCK # .WORD ; SPEC FUNC (0) AND UNIT # IN HIGH BYTE .WORD NTO $INTEN .PAGE ;QX CONTROLLER REGISTERS QXCS = 177000 QXDB = 177002 ;COMMAND BITS QXENBL = 1 QXRTC = 2 QXSTPN = ; BUFFER ADDRESS .WORD ; WORD COUNT .WORD 1 ; ASYNCHRONOUS IO REQUEST QXSTRT: ; ENTER HERE TO START FLOPPY IO'S. WE J 4 QXSTPO = 6 QXRTS = 10 QXREAD = 12 QXWRT = 14 QXWRTD = 16 QXHEAD = 20 QXCRNT = 40 QXNTRP = 100 WRTFLG = 20.  -> BYTE COUNT ADD R4, R1 ;PLUS BUF START = BUFFER END MOV R1, BUFEND ;AND THAT'S WHERE WE PUT IT! MOV R4, BUFADR ;SAVE BNE ERRCHK BIS #QXHEAD, CMDMSK ;SET HEAD DOWN BIT IN MSK MOV CMDMSK, (R5) ;AND INTO CONTROLLER MOV #^D<50/2>, HDTIME ;R BUFFER POINTER MOV PC, R1 ;SET UP MARK ADD #QXTOP-.,R1 ;FOR INITL INTRPT MOV R1, MRKPTR MOV CMDMSK, R1 ;GET OLD MASST HD SETTLING TIME ERRCHK: TST R2 ;TRK ERR ZERO ??? BEQ SETCHK ;YES>>CHECK HEAD SETTLING BR MOVHD ;NO>>MOVE IT!!! ; K(HAS UNIT ALREADY) MOV #QXHEAD, R2 ;HEAD BIT MASK! BIS R2, R1 ;ASSUME HEAD DOWN BIS R1, R0 ;AND INSTALL TO DATA COMMAN HDUPCK: CMP R2, #10 ;IF OVER 8 STEPS REQD, BLOS MOVHD ;WE CAN UNLOAD THE HEAD BIC #QXHEAD, CMDMSK ;HEAD UP WITH NEXT STEPD MOV R0, CMD ;SAVE NEW DATA COMMAND MOV R1, R0 ;NEED ANOTHER COPY ADD #QXNTRP!QXRTS!QXENBL, R0 ;NTRPT NBL OFF, RTS IN  MOVHD: TST R3 ;GET DIRECTIONS..IN OR OUT BPL MOVHDO MOVHDN: JSR PC, STEPN BR MOVMRK MOVHDO: JSR PC, STEPO MOVMRK: MOV MOV R0, CMDTS ;INSTALL TO TRKSEC COMMAND BIT R2, (R5) ;WHERE IS REAL HEAD??(UNIT SAME) BNE 1$ ;DOWN...GUESS WAS O.K.  #^D<6/2>, R4 ;SET UP STEP WAIT TIME DEC R2 ;WILL THIS BE LAST STEP? BGT 1$ MOV #^D<26/2>, R4 ;UP TIMEOUT TO 26 MS 1$: # INC R1 ;SKIP SPEC FUNCTION BYTE MOVB (R1)+, R4 ;GET UNIT NMBR BIC #^C7, R4 ;CLEAN OFF JOB NUMBER CMP R4, #3 ;0 BIC R2,R1 ;TURN OFF HEAD BIT 1$: MOV R1, CMDMSK ;SAVE NEW MASK MOV R1, (R5) ;KICK THE CONTROLLER RTS PC ;FOR FIRST INTTHRU N ONLY BHI HERHOP ;OTHERWISE...HARD ERROR CMPB R4, CMDMSK+1 ;IS THIS A DIFFERENT UNIT? BEQ BUFCMD ;NO -> DON'T BOTHERRUPT ; HERHOP: CMP -(SP), -(SP) ;LOAD STACK HRDHOP: JMP HRDERR ;WAY STATION FOR HARD ERRORS TRKHST: .BYTE 200,200,200,20ER W/TRK PNTR SWAB R4 ;SET NEW UNIT NUMBER MOV R4, (R5) ;INTO HARDWARE...DONE HERE SWAB R4 ;IN CASE OF SPFUN 374 MO0 ;NEG TRK HISTORY BYTE->NEW LOAD QXTOP: MOV CMDMSK, (R5) ;CHECK THAT DOOR!! TST (R5) ;AND THAT IT'S READY BMI HRDHOP ;VB R4, CMDMSK+1 ;INSTALL IN MASK ADD PC, R4 ;PIC POINTER TO ADD #TRKHST-., R4 ;TRACK HISTORY BYTES MOV R4, (PC)+ ;REF'D  GIVE HARD ERROR FOR DRIVE NOT CLOSED ERCOMP: CLR RESTEP ;SET UP TRACK MISS CNTR MOV #8., (PC)+ ;RESET THE RETRY COUNTER RINDIRECTLY TRACK: .WORD 0 ;THRU HERE BUFCMD: MOV (R1)+, R4 ;R4 HAS BUFFER ADDRESS MOV #QXREAD!QXENBL, R0 ;ASSUME A READ CTRIES: .WORD 0 ;EACH TIME WE SEEK A NEW SECTOR RESEEK: MOVB TRKREQ, R2 ;COMPUTE TRACK ERROR MOVB @TRACK, R3 ;BETWEEN HISTOMMAND MOV (R1), R1 ;R1 HAS WORD COUNT BPL STNDRD ;TAKE ABS VALUE MOV #WRTFLG!QXWRT!QXENBL, R0 ;NEG WRD CNT => WRITE ;ORY & REQUEST BPL 2$ ;IS HISTORY BYTE VALID?? MOVB R2, @TRACK ;NO!...ASSUME HEAD POSITION MOV R2, R3 ;IS CORRECT TO CAWRTFLG IS A DON'T CARE BIT...MAKES READ/WRT CHK EASIER NEG R1 ;TAKE ABSLUT VAL STNDRD: ASL R3 ;BLOCK NMBR * 4 = ASL R3 USE TRKSEC CHK 2$: SUB R2, R3 ;SUBTRACT BYTES MOV R3, R2 ;NEED SIGNED AND UNSIGNED ERR BGE 1$ ;ABSVAL INTO R NEG R2  ;LOGICAL SECTOR NMBR (LSN) MOV R3, LSNREQ ;PUT LSN AT HELM JSR PC, ABCOMP ;BEAT INTO ABSOLUTE TRK/SEC ASL R1 ;WRDCNT ;SIGNED IS IN R3 1$: CMP R2, #4 ;AT 4 OR LESS STEPS, BHI HDUPCK ;SET HEAD DOWN BIT #QXHEAD, (R5) ;IS HEAD DOWN ALREADY??/ LOW CURRENT BIT 1$: MOV (PC)+, R3 ;R3 INDEXES BUFFER BUFADR: .WORD 0 MOV #200, R2 ;64 WORDS ADD R3, R2 ;R2 -> END OF THPN ;TRK0 -> STEP N BR TSX ; UPDATE: CMP (R5), (PC)+ ;MATCH?? TRKREQ: .BYTE 0 SECREQ: .BYTE 0 BEQ DATA ;GOT IT!! MOIS CHUNK MOV BUFEND, R4 ;R4 -> END OF WHOLE BUFFER TST (R5)+ ;R5 PTS AT QXDB (ALSO RESET HDWR PTR) DATAO: CMP R3, R4 ;DOV (R5), R4 ;GET ANOTHER COPY BPL UPDATX ;DELETED TRACK?? TST -(R5) ;ADJ PTR BR TSJOG ;DELTD TRK -> STEP OVER UPDATX: ES R3 POINT ABOVE BHIS SLUFF ;END OF BUFFER ?? MOV (R3)+, (R5) ;NO..MOV WRD TO QX BFR WRTADV: CMP R2, R3 ;WAIT FOR 200 TST -(R5) ;ADJ PTR CMPB R4, TRKREQ ;DID WE FIND RIGHT TRACK?? BEQ TSWAIT ;TRK O.K.->GO WAIT FOR SECTOR COM (PC)+ ;MIS- BHI DATAO ;LOOP DE LOOP TST -(R5) ;RESTORE PTR TO QXCS BR TSREAD SLUFF: MOV #0, (R5) ;YES..SLUFF ZEROS ;NOTE...A CLR CALC'D TRACK!! RESTEP: .WORD 0 ;COUNT TRK RECHECKS BMI TSWAIT ;ALLOW ONE MOVB R4, @TRACK ;UPDATE TRACK IMAGE JSR R5DOES NOT WORK!! (CNTRLR IS FINICKY) TST (R3)+ ;ADV BUFFER BR WRTADV ; TSWAIT: JSR PC, TIME ;WAIT 4 MS OUT OF 6 .WORD , RETRY ;CLEAR FOR RETRY??? NOP JMP RESEEK ;UP TO 20 SHOTS FOR A DIME ; DATA: MOV (PC)+, -(R5) ;ISSUE WHATEVER CMD: .^D<4/2> TSREAD: MOV (PC)+, (R5) ;READ TRACK/SECTOR ID CMDTS: .WORD 0 ;RTS SANS NTRPT NBL 1$: TSTB (R5) ;WAIT ON DONE...STWORD 0 ;ALREADY HAS UNIT,ENABLE,HEAD BITS (ALSO WRTFLG) INC LSNREQ ;COMPUTE NEXT ABS SEC NMBR JSR PC, ABCOMP JSR PC, MARKAGED!! BPL 1$ ;SPIN WHEELS &...GREEN LIGHT ;WAIT ON DONE BECAUSE CAN'T ABIDE F/B NTRPT LATENCY MOV (R5)+, R4 ;ANY ERROR ;WAIT FOR COMPLETION MOV (R5), R4 ;ANY ERRORS? BPL READCK BIT #QXWRTP, R4 ;WRITE PROTECT VIOLATN? BNE HRDERR ;YES..S??? BPL UPDATE TST -(R5) ;RESTORE CS PTR BIT #76000, R4 ;USE ONLY ONE COPY OF ERRS BEQ QXTOP ;READY->DOOR OPENED->WAWRT CMD IS IMPLICIT BIT #QXDDAT, R4 ;DELETED DATA MARK?? BEQ DATRTY ;NO..GET SERIOUS THEN!!! READCK: TSTB CMD ;WAS THIS  MOV R4, STPTIM ;SAVE TIMEOUT FIGURE SUB R4, HDTIME ;NUDGE TIMER JSR PC, MARK ;FIRST CATCH STEP INTRPT JSR PC, TIME ;WIT ;NOT-READY TOLERATED IF DURING READ I.D. JSR R5, RETRY ;GET CLEARANCE FOR A RETRY BR TSWAIT ;1ST 10 TRIES..RE-READ TSAIT FOR STEP/HEAD STPTIM: .WORD 0 BR RESEEK ;RE FIGURE ERRORS ; SETCHK: TST HDTIME ;TIME-OUT REQUIRED?? BLE HDSTOK ;I BIT #QXSYNC!QXTRK0, R4 ;10 TO 20 RETRIES... ;ANY ERR ON TRK 0->STEP IN ;NO SYNC ->MAYBE TRK 77->STEP OUT BNE ERRSTP ;NF NEG, IT'S SETTLED JSR PC, TIME ;SAVES SOME TIME WHEN TIMEOUT=0 HDTIME: .WORD 0 HDSTOK: CLR HDTIME ;IN CASE OF ERRS! TSO..THEN JOG HEAD TSJOG: JSR PC, STEP ;STEP IN SAME DX AS LAST TIME TSX: JSR PC, MARK ;WAIT ON STEP DONE JSR PC, TIME ;BECTB CMD ;WRT OR WD FLAG ON?? BPL TSREAD ;NO>>XFR DATA AFTERWARDS ; ;WRITE DATA TRANSFER ; WRTMOV: CMPB @TRACK, #53 ;DEAUSE DX OF STEP REVERSED .WORD ^D<26/2> ;WAIT 26 MS BR TSREAD ;AND RE-READ T/S ; ERRSTP: BIT #QXTRK0, R4 ;TRK 0 ERROR?CIDE ON HEAD CURRENT BLOS 2$ ;IF ABOVE 43 (DECML) BIS #QXCRNT, CMD ;SET LOW CURRENT BIT BR 1$ 2$: BIC #QXCRNT, CMD ;CLR ? BNE 1$ ;YS..STEPN / NO..STEPO JSR PC, STEPO ;NO SYNC -> OUT OF TRK 77 BR TSX ;USE COMMON MARK&TIME 1$: JSR PC, STE0 ORD CNT GETS FIRST SHOT BHIS 1$ ;TO STOP XFR MOV (R5), (R3)+ ;MOVE A WORD SOB R2, 2$ ;OR 64 WORDS MAXIMUM 1$: TST -(RTORE REGS MOV (SP)+, R2 JMP QXQUIT ; MARK: MOV (SP)+, MRKPTR ;POP RETURN ADDRESS MOV (SP)+, R3 ;RESTORE REGS MOV (SP5) MOPUP: ADD #200, BUFADR ;ADV BFR PTR CMP BUFADR, BUFEND ;JOB DONE??? BHIS 2$ ;YES...CHECK FOR WRITE SLUFF 1$: JMP ERC)+, R2 RTS PC ; QX$INT: JSR R5, $INTEN ;ENTER SYSTEM STATE MOV R2, -(SP) ;PUSH A FEW REGS MOV R3, -(SP) ; MOV #QXCOMP ;GET ANOTHER SECTOR + RESET ERRORS ; 2$: TSTB CMD ;WAS THIS A WRITE/WRITE-D?? BPL QXDONE ;READ GETS TO GO HOME BIT S, R5 ;ALWAYS SET UP QXCS PTR MOV (PC), PC ;RETURN TO MARK CALLER MRKPTR: .WORD 0 ; ; QXABRT: MOV #QXDONE,MRKPTR ; NEX#3, LSNREQ ;WRITE MUST SLUFF TO END OF LOGICAL BLOCK BNE 1$ ;-> MULT OF 4 IN LOGICAL SECTOR BR QXDONE ;SCHOOL'S OUT!! ; T INTERRUPT KILLS IO 1$: TST QXUNIT ; NOW HANG UNTIL IO IS DONE BNE 1$ RTS PC STEPN: MOV #105277, STEP ;GET TRACK BUMPE DATRTY: DEC LSNREQ ;ADJUST TO OLD LOGICAL SECTOR JSR PC, ABCOMP ;CORRECT ABS T&S VALUES BIT #76000, R4 ;READY BIT ONLY??R ;105277 = INCB @(PC) MOV #QXSTPN!QXENBL, STPINS ;GET COMMAND BR STEP ;GO STEP ; STEPO: MOV #105377, STEP ;GET TR BNE DATRTZ BR HRDERR ;DOOR OPENED DURING READ/WRITE DATRTZ: JSR R5, RETRY ;CLEAR FOR RETRY BR TSWAIT ;RE-READ 10 TIMEACK BUMPER ;105377 = DECB @(PC) MOV #QXSTPO!QXENBL, STPINS ;FALL INTO STEP ; STEP: INCB @TRACK ;MAY BE INCB OR DECB S, THEN BR TSJOG ;JOG HEAD 10 TIMES ; ;TIME MARKER ;CALLED BY: JSR PC, TIME ; .WORD X ;X = TIME REQUEST IN 2 MS L MOV (PC)+, R4 ;GET COMMAND STPINS: .WORD QXSTPN!QXENBL ;MAY BE QXSTPN OR QXSTPO BR CMDASY ; ; TICK: MOV #QXRTC!QXENBL,UMPS TIME: MOV (SP)+, R4 ;POP STACK MOV (R4)+, TICKER ;GET TIME + ADV RETURN MOV R4, TIMPTR ;SAVE RETURN W/O STACK TIMEX R4 ;2 MS TIME COMMAND ; CMDASY: BIS (PC)+, R4 ;STUFF IN UNIT, INTRPT ENBL, CMDMSK: .WORD QXNTRP!QXCRC ;HEAD UP/DWN W/ INT: JSR PC, TICK ;ASK FOR A TICK JSR PC, MARK ;WAIT FOR 2 MS DEC (PC)+ ;BUMP COUNT TICKER: .WORD 0 BGT TIMEX ;LOOP M ENABLED ;QXCRC-> UNIT CHANGE WHEN FIRST LOADED MOV R4, (R5) ;STUFF CMD AT QX FLOPPY RTS PC ;R5 MUST => QXCS ; ;ABCOV (PC), PC ;RETURN TIMPTR: .WORD 0 ; RETRY: DEC RTRIES ;KNOCK RETRY COUNT BLE RETRY1 ;THRU 0 ADV RETURN RTS R5 ;FIOMP..........CONVERT LSNREQ TO ABSOLUTE ;SECREQ AND TRKREQ USING ONLY R2 & R3 ;DEC 2:1 INTERLEAVE OF SECTORS IS SUPPORTED RST 10 RETURNS RETRY1: CMP RTRIES, #-20. ;OVER 20 YET?? BLE RETRY2 TST (R5)+ ;ADVANCE RETURN RTS R5 ;IF TWIXT 10 & 20 ;ALSO 6 SECTOR PER TRACK INCREMENT SKEW ;PLUS TRACK 0 CANNOT BE REACHED ; ABCOMP: MOV (PC)+, R3 ;GET LSN REQUEST LSNREQ: A READ COMMAND?? BMI MOPUP ;NO..SKIP DATA XFR REDMOV: MOV (PC)+, R4 ;XFR 64 OR LESS WRDS BUFEND: .WORD 0 TST (R5)+ ;R5 - RETRY2: MOV (SP)+, R5 ;REPAIR STACK, NO MORE TRYS HRDERR: MOV QXCQE, R4 ;GET CHAN STAT WRD BIS #1, @-(R4) ;SET HARD ERROR> DATA REG (ALSO RESET HDWR PNTR) MOV BUFADR, R3 ;DEPENDING ON WRD CNT MOV #100, R2 ;R2 & R4 COUNT XFR 2$: CMP R3, R4 ;W BIT QXDONE: MOV CMDMSK, R4 ;GET CRNT UNIT & HEAD BIC #QXNTRP, R4 ;TURN OFF INTERRUPTS MOV R4, (R5) MOV (SP)+, R3 ;RES1 nt nt> nt nt>nt@.÷ ìÿýwæÿÉU€Ó Î&fm æ.&¦&f7 ÒÿÅ•U• TERAK CORPORATION ; SCOTTSDALE, AZ ; SYSTEM HANDLER TO READ/WRITE LOGICAL BLOCKS FROM/TO SINGLE, ; DOUBLE AND QUAD DENSI.WORD 0 BMI ABCOM4 ;SIGN FLAGS SPFUN -> SKIP MOV #10, R2 ;COUNT 8 BITS OF DIVIDE ABCOM1: CMP #6400, R3 ;DOES 26 GO INTO D€ ã  � Ú.L÷ 0…„‚�€É�¤ÿ^&Í „…_ÿ�’ÿŽÿ� "„:®sì.rÿE€ˆÿ7 „ÿ‡ÅþÁöÿC� D”ÄEøÿ!IVIDEND BHI ABCOM2 ;BR IF NO, C CLR ADD #171400, R3 ;SUB 26 AND C SET ABCOM2: ROL R3 ;SHIFT IN QUOTIENT (C BIT) SOB R:‚d Ú.˜7¡Û Ä Ä7‘ÏÄaÄehDÀ A€Àt.¾� à à ÷´÷ ®Á aw²7ðÁÁe:wX¸.äÁŽÂ�P2, ABCOM1 ;COUNT 8 BITS MOVB R3, R2 ;COPY TRK NMBR TO R2 CLRB R3 SWAB R3 ;SIGN XTND SECTOR CMP #14, R3 ;C=1 IFF 13a>l* nt nt> nt nt>6ô6b>c>J.  .TITLE MULTI-DENSITY DISKETTE HANDLER .SBTTL VER. 1-00 / MULTI-DRIVE ; AUTHOR: STORM L JOHNSON ; SOFTWARE ENGINEERING ;2  USED BY /DUP/ TO DETERMINE DEVICE SIZE FROM ; HANDLERS SUPPORTING MULTI-DENSITY DEVICES. ; 372 RETRIEVE PRIOR STATUS. 1BSOLUTE SECTOR WRITE SPF375 = 375 ; ABSOLUTE SECTOR WRITE DELETED DATA SPF374 = 374 ; RETRIEVE DRIVE STATUS SPF373 = 373 0 BYTES RETURNED. ; RETURNS THE STATUS BYTES DERIVED FROM THE ; CONTROLLER DURING THE PREVIOUS OPERATION. ; INCLUDED ; RETRIEVE DEVICE SIZE SPF372 = 372 ; RETRIEVE PRIOR STATUS ; BIT DEFINITIONS BIT7 = 200 ; BIT 7 POSITIONAL VALUE ARE THE RETRY LIMIT FOR THE HANDLER, ; RETRY DECREMENT COUNTER AND THE LAST COMMAND ; CODE BYTE. SINCE NO RETRIES ARE A BIT6 = 100 ; BIT 6 POSITIONAL VALUE BIT5 = 40 ; BIT 5 POSITIONAL VALUE BIT4 = 20 ; BIT 4 POSITIONAL VALUE BIT3 = 10 LLOWED ; FOR SPECIAL FUNCTIONS, THE DECREMENTED RETRY ; LIMIT RETURNED IS EITHER 1 (SUCCESSFUL) OR ; 0 (FAILED).  ; BIT 3 POSITIONAL VALUE BIT2 = 4 ; BIT 3 POSITIONAL VALUE BIT1 = 2 ; BIT 1 POSITIONAL VALUE BIT0 = 1 ; BIT 0 POSITIONTY DISKETTES ACCESSED UNDER RT-11. ; DENSITY/SIDES LOGICAL BLOCKS/LENGTH SECTORS/LOGICAL BLOCK ; ------------- -------------; IN GENERAL: ; BYTE CONTENTS ; ---- -------- ; 1 MAX RETRY LIMIT ; 2 DECREMENTED RETRY LIMIT ; 3 OPE-------- --------------------- ; SINGLE/1 492/512 BYTES 4 ; DOUBLE/1 1140/512 BYTES 1 ; QUAD/2 2280/512 BYTES 1 ; RATION CODE (READ, WRITE, ETC.) ; 4 STATUS REGISTER 0 ; 5 STATUS REGISTER 1 ; 6 STATUS REGISTER 2 ; 7 CYLINDER NSPECIAL FUNCTIONS ARE ALSO SUPPORTED AS DESCRIBED BELOW. ; ALL SPECIAL FUNCTION IO TRANSFERS MOVE 1 PHYSICAL BLOCK ONLY. ;UMBER ; 8 HEAD NUMBER ; 9 SECTOR NUMBER ; 10 BYTES/SECTOR (0=128, 1=256, 2=512) ; .MCALL .DRBEG .DREND .DRAST 377 ABSOLUTE SECTOR READ. ONE SECTOR RETURNED. ; BLOCK = |HEAD|SECTOR| ; WORD COUNT = TRACK NUMBER ; (IF .DRFIN .FORK ; FLOPPY DISK CONTROLLER VECTOR ADDRESS AND CONTROL/STATUS REGS ; (DEFAULTS) .IIF NDF QB$VEC, QB$VEC == 23 BIT 15 SET, THEN SEEK ONLY) ; 376 ABSOLUTE SECTOR WRITE. ONE SECTOR WRITTEN. ; ENTRIES AS IN 377. ; 375 ABSOLUTE SE4 .IIF NDF QBCSR, QBCSR == 171000 ; DEFAULTS FOR SYSTEM MACROS .IIF NDF TIM$IT, TIM$IT = 0 .IIF NDF MMG$T, MMG$T = 0CTOR WRITE DELETED DATA MARKER. ; ENTRIES AS IN 377, EXCEPT: ; BUFFER (0) = DELETED DATA MARKER VALUE ; 374 RETRIEVE .IIF NDF ERL$G, ERL$G = 0 ; ---------------------------------------------------------------------- SYMBOLS ; FLOPPY DI DRIVE STATUS. ONE WORD RETURNED. ; BIT ASSIGNMENTS ARE: ; 15 - NOT DEFINED ; 14 - WRITE PROTECT FLAG ; 13 SK CONTROL REGISTERS FDCCSR = 171000 ; CONTROL/STATUS REGISTER FDCDR = FDCCSR+2 ; TO/FROM STACK DATA REGISTER ; DMA RE - DRIVE READY FLAG ; 12 - TRACK 0 HEAD POSITION FLAG ; 11 - TWO SIDED DISKETTE FLAG ; 10 - HEAD SELECTED (0 OGISTERS DMACSR = 171012 ; DMA CONTROL/STATUS REGISTER DMATCR = DMACSR+2 ; DMA TERMINAL COUNT REGISTER DMADAR = DMATCR+2 R 1) ; 8-9 - UNIT SELECT (0-3) ; 0-7 - CURRENT TRACK POSITION ; 373 RETRIEVE DEVICE SIZE. ONE WORD RETURNED. ;  ; DMA DATA ADDRESS REGISTER ; SPECIAL FUNCTION CODE DEFINITIONS SPF377 = 377 ; ABSOLUTE SECTOR READ SPF376 = 376 ; A3 OSITION FOR UNKNOWN DEVICE SAFETY = 173773 ; ADDRESS OF SD/DD SOFTCHECK ZAPIT = 377 ; INDICATES A DRIVE CHANGED STATE ISOLA; ************************************************************************* .IF DF $PAS BIT15 = 100000 .MACRO .DRBEG DR,T = ^C3 ; MASK TO ISOLATE LOWER 2 BITS OF A WORD READ = 6 ; FDC READ COMMAND WRITE = 5 ; FDC WRITE COMMAND T0S7CT = 38. ; DUM1, DUM2, DUM3 DR'BUFR = 8. DR'LENG = 6 DR'BLOK = 4 .ASECT .=DR'$VEC .WORD DR'$INT, 340 .CSECT TABLES .BLKW  WORDS TO READ FROM TRK 0 SECT 7 SIDE 0 DMARD = 100000 ; DMA READ BIT DMAWR = 40000 ; DMA WRITE BIT ; -------------------140. .WORD 60000, DR'STRT, DR'KILL .WORD 60400, DR'STRT, DR'KILL .BLKW 9. .WORD 61000, DR'STRT, DR'KILL .WORD 61400, D---------------------------------------------------- MACROS ; MACRO DEFINITIONS FOR: /PUSH/ /POP/ /MOVA/ /INVOKE/ /UPDATE/ R'STRT, DR'KILL .CSECT DR'DRVR DR'CQE: .WORD .+4 ; POINTER TO IO QUEUE ELEMENT .WORD 0 ; POINTER TO CONTROL STATUS WO ; MACRO TO PUSH WORD DATUM TO STACK .MACRO PUSH FROM MOV FROM, -(SP) .ENDM PUSH ; MACRO TO POP WORD DATUM FROM STACRD .WORD 0 ; BLOCK # .WORD 0 ; SPFUN & UNIT # .WORD 0 ; BUFFER ADDRESS .WORD 0 ; WORD COUNT .WORD 1 ; ASYNCHK .MACRO POP TO MOV (SP)+, TO .ENDM POP ; MACRO TO PERFORM POSITION INDEPENDENT LOADING OF A REGISTER ; OR MEMORY A IO FLAG DR'STRT: TST DR'CQE+2 ; ANY IO'S ACTIVE? BNE DR'STRT ; LOOP TILL PREVIOUS IO COMPLETE CLR DR'HOLD ; NO HOLD DDRESS WITH A TABLE POINTER .MACRO MOVA ADDR, DEST, MEMFLG .IF B MEMFLG MOV PC, DEST ADD #ADDR-., DEST .IFF STATE ON DRIVES MOV R1, DR'CQE+2 ; START FILLING DUMMY TABLE BIS #BIT15, @R1 ; INDICATE IO ACTIVE TST (R3)+ ; SKIP OVEAL VALUE ; TIMING PARAMETERS FOR THE FLOPPY DISK CONTROLLER SRTSS = 240 ; SS STEP RATE (6MS=HEX A IN UPPER 4 BITS) SRTDS PUSH PC ADD #ADDR-., (SP) POP DEST .ENDC .ENDM MOVA ; MACRO TO INVOKE AN FDC TASK .MACRO INVOKE TABLE M = 320 ; DS STEP RATE (3MS=HEX D) HLT = 44 ; HEAD LOAD TIME SHIFTED RIGHT 1 BIT POS. ; (18-2MS INCREMENTS) HUT = 17 ; OVA TABLE, R0 ; COMMAND STACK ADDRESS CALL COMAND ; DO JOB .ENDM INVOKE ; MACRO TO UPDATE THE IO TABLE .MACRO UPDHEAD UNLOAD TIME (ZERO TIME=ALL 4 BITS SET=1) SRTHTS = SRTSS!HUT ; SINGLE SIDED DRIVE STEP AND UNLOAD PARMS SRTHTD = SRTDS!HUTATE TABLE, POSN, ORONLY MOV R0, R2 ADD PC, R2 .IF B ORONLY MOVB TABLE-.(R2), POSN .IFF BISB TABLE-.(R2), POS ; DOUBLE SIDED DRIVE STEP AND UNLOAD PARMS ND = 0 ; DMA INDICATOR BIT (0=YES, 1=NO) HLTNDS = HLT!ND ; HEAD LOAD & DMA INDICN .ENDC .ENDM UPDATE .MACRO .ABORT .ENDM .ABORT ; ****************************************************************ATOR PARM (BOTH S AND D) ; MISCELLANEOUS QBSTS = 102006 ; DEVICE STATUS WORD QBDSIZ = 494. ; MIN DEVICE SIZE (26 SEC X ********* ; ************************************************************************* ; P A S C A L S Y S T E M L I N K A76 TRK / 4) CNTDWN = 5 ; DELAY LOOP COUNTER MAXTRY = 6 ; MAXIMUM RETRY COUNT FOR ALL ACTIVITIES SHUFL = 3 ; CYLINDER PRE-P G E ; (VIA CONDITIONAL REDEFINITION OF MACROS) ; ************************************************************************* 4 ; MAKE WORD COUNT TST -(R3) ; NOW IO TYPE MATTERS BNE 100$ ; IF A READ, MOVE ON NEG R0 ; MAKE NEGATIVE TO SIGNAL HAN--------------------- SET OPTION ; DEVICE SET OPTION (POSITION DEPENDENT CODE) .IF NDF $SYSDV .ASECT .=400 .WORD 0 DLER PROPER 100$: MOV R0, (R4) ; STASH AWAY FOR LATER USE .ENDM .DRBEG .MACRO .DRAST DR, DUM1, DUM2 .GLOBL INTRTN ; ; PARAMETER .RAD50 /HOLD / ; OPTION .BYTE /2 ; SET ROUTINE .BYTE 200 ; NO/YES OPTION .WORD 0 H.OPT: INC RINTRTN: ; ROUTINE IN PASCAL ; CMP @(SP), (PC)+ ; NEXT INSTR A WAIT? ; WAIT ; BNE 1$ ; IF NOT, SKIP ; ADD #2, @SP ; E3 ; HOLD IS TRUE BR H.COM CLR R3 ; HOLD IS FALSE H.COM: MOV R3, QBHOLD ; STORE RESULT RETURN .ENDC ; ***********LSE BUMP RETURN ADDRESS ;1$: RTI ; AND RETURN $INTEN: PUSH R4 CALL @R5 POP R4 POP R5 JMP @#INTRTN DR'$INT: ************************************************************** ; **************************************************************JSR R5, $INTEN .ENDM .DRAST .MACRO .DRFIN DR PUSH R4 MOV DR'CQE, R4 BIC #BIT15, @-(R4) CLR (R4) POP R4 *********** ; E N T R Y P O I N T ; ************************************************************************* ; ********* RETURN .ENDM .DRFIN .MACRO .DREND DR .ENDM .DREND .MACRO .FORK DUM1 .ENDM .FORK .MACRO MOVA ADDR, DEST, D**************************************************************** ; SYSTEM DEFINED ENTRY POINT MACRO ; ------------------UM1 MOV #ADDR, DEST .ENDM MOVA .MACRO UPDATE TABLE, POSN, ORONLY .IF B ORONLY MOVB TABLE(R0), POSN .IFF B----------------------------------------------------- ; -----------------------------------------------------------------------ISB TABLE(R0), POSN .ENDC .ENDM UPDATE .MACRO .ABORT MOVA IOFAIL, CAPRTN, * ; SHORT CIRCUIT MULT. INTERRUPTS PU .DRBEG ; ----------------------------------------------------------------------- .DRBEG QB QB$VEC QBDSIZ QBSTS ; 1) INISH R4 ; SAVE IPC MOV QBCQE, R4 ; IO ELEMENT POINTER TST -(R4) ; BACK UP 1 WORD TST (R4) ; DONE EXIT TAKEN YET? T THE DMA/INTERRUPT CONTROL WORD. ; 2) SAVE THE LOGICAL BLOCK NUMBER FOR THIS IO. ; 3) ACQUIRE SPECIAL FUNCTION CODE AND UNIT  BNE .-2 ; IF NOT, WAIT POP R4 ; YES, RESTORE REG RETURN ; AND RETURN .ENDM .ABORT .ENDC ; ************NUMBER. ; (IF) SPFCOD #372, PASS INFO TO CALLER AND QUIT ; (ELSE) PROCEED. ; 4) EXAMINE CONTROLLER STATUS AND ABORT IF BAD.R IO TYPE (RD/WR) FLAG MOV R3, (SP) ; RETURN ADDRESS TO STACK TOP CALL SAVREG ; SAVE NECESSARY REGISTERS MOV DR'CQE, R4************************************************************* ; *************************************************************** ; GET TABLE POINTER MOV DR'BLOK(SP), (R4)+ ; STORE BLOCK NUMBER MOV @R1, R0 ; MESSY UNIT # BIC #^C1400, R0 ; AND CLEA********** ; E N D P A S C A L L I N K A G E ; ************************************************************************* N MOV R0, (R4)+ ; NOW IN TABLE MOV DR'BUFR(SP), (R4)+ ; BUFFER ADDRESS MOV DR'LENG(SP), R0 ; LENGTH IN BYTES ASR R0  ; ************************************************************************* ; ----------------------------------------------5  ; REGISTER USAGE: ; R4 - SYSTEM IO QUEUE ELEMENT POINTER ; R5 - UNIT NUMBER OF DRIVE CURRENTLY BEING ACCESSED MOV #B GENERATE THE EXACT ADDRESS ; FOR THIS DRIVE'S TRACK AND SIZE INFORMATION. ; 4) PERFORM A SENSE DRIVE STATUS USING INVOKE. IT6, (PC)+ ; INIT CONT REG MEMORY PICTURE CONTRL: .WORD 0 ; CONTROL WORD FOR DMA AND INT ENABLE MOV QBCQE, R4 ; QUEUE ELE ; 5) EXAMINE SPECIAL FUNCTION CODE. ; (IF) SPFCOD #374, RETURN STATUS TO USER AND EXIT. ; (ELSE) PROCEED. ; 6) CHECK DRIVEMENT ADDRESS MOV (R4)+, LOGBLK ; SAVE THE LOGICAL BLOCK SPEC MOV (R4)+, R5 ; SP FUNC AND UNIT NUMBER --> R5 MOVB R5, (PC READY BIT. ; (IF) DRIVE READY, PROCEED. ; (ELSE) CHECK SPIN AND WAIT FLAG. ; (IF) WAIT IS SET, CHECK STATUS TILL DRIVE R)+ ; STASH FUNCTION CODE (IF ANY) SPFCOD: .BYTE 0 ; SPECIAL FUNCTION CODE RESTOR: .BYTE 0 ; REGISTER RESTORE FLAG BEQ 2EADY, THEN ; PROCEED. ; (ELSE) ABORT THE TASK IF WAIT FLAG IS FALSE. 4$: MOVB #MAXTRY, RETRY ; INIT RETRY LIMIT ($ ; IF NO SPFUN, SKIP THIS TEST CMPB #SPF372, R5 ; SP FUNC RETRIEVE STATUS? BNE 2$ ; IF NOT, SKIP ; SPECIAL FUNCTION MUST BE > 0 ) COM R5 ; ADJUST UNIT NUMBER FOR SPECIAL TASK 5$: MOV R4, FAILCK ; USE FAILCK RTN TO RESET DRIVE TBLS INVO # 372 MOV (R4), R0 ; USER'S BUFFER ADDRESS MOVA STATUS, R1 ; OUR STATUS BUFFER ADDRESS MOVB #STATLN, R2 ; BYTES TO KE SENSIT ; SENSE STATUS TILL ILLEGAL TO DO SO TST R5 ; WE DONE? BMI 5$ ; NO, KEEP A MOVIN' CLR FAILCK ; REMOVE TEXFER 1$: MOVB (R1)+, (R0)+ ; DO IT SOB R2, 1$ ; TILL FINISHED JMP DONE ; THAT WAS EASY, RETURN ; EXAMINE THE STATST FLAG MOVA DRVTRK, TRKADR, * ; SET UP TRACK TABLE FOR PIC USE ADD R5, (PC)+ ; POINT TO THIS UNIT'S TRACK SLOT TRKADR: .WUS OF THE CONTROLLER - ABORT IF BAD 2$: SWAB R5 ; UNIT NUMBER IN L.O. BYTE BIC #ISOLAT, R5 ; CLEAN OFF SP FUNC CODE MOORD 0 ; CURRENT UNIT'S TRACK POINTER MOVA DRVSIZ, SIZADR, * ; ALSO DENSITY/SIDES TABLE ADD R5, (PC)+ ; AND HIS DENSITY/SIV @#FDCCSR, R0 ; IS NEC CHIP READY? BPL 3$ ; IF NEG FLAG OFF, HE ISN'T ASL R0 ; DOES HE WANT A COMMAND? BPL 4$ ; YEDES SLOT SIZADR: .WORD 0 ; CURRENT UNIT'S SIZE POINTER MOVB R5, SENSDR+2 ; STASH UNIT# IN SENSE DRIVE STATUS TBL TSTDRV: S..GO AHEAD 3$: JMP IOFAIL ; CHIP ISN'T READY AT ALL ; 1) INIT MAXIMUM RETRIES-BEFORE-FAILURE COUNTER. ; 2) PERFORM SENINVOKE SENSDR ; GET DRIVE STATUS NOW CMPB #SPF374, SPFCOD ; DRIVE STATUS SPECIAL FUNCTION? BNE 1$ ; IF NOT, GO AHEAD SE INTERRUPT STATUS SERIES UNTIL IT BECOMES ; AN ILLEGAL INSTRUCTION. THIS WILL ALLOW US TO IDENTIFY ; ANY DRIVES WHICH MOVB @TRKADR, SPFCOD ; PLACE TRACK INFO IN WRK AREA MOVB STREGS, SPFCOD+1 ; STASH STATUS BYTE MOV SPFCOD, @(R4) ; PLACE INHAVE CHANGED STATE SINCE THE LAST IO. ; IF A STATE CHANGE OCCURRED FOR A DRIVE, WE MUST RE-READ ; SIDE 0 TRACK 0 SECTOR  1ST WORD OF USER BUFFER JMP DONE ; THAT'S IT 1$: BITB #BIT5, STREGS ; IS DRIVE READY? BNE DRVRDY ; IF BIT SET, YES 7 TO DETERMINE ITS SIZE. ; 3) INITIALIZE PIC ADDRESS TABLES IF NOT ALREADY DONE. ADD IN UNIT ; NUMBERS WHERE APPROPRIATE TO MOVB #ZAPIT, @TRKADR ; MAKE HIM AN UNKNOWN ENTITY TST (PC)+ ; IS HOLD SET? QBHOLD: .WORD 1 ; SPIN ON READY BIT FLAG 6 M BACK TO TRACK ZERO BNE 3$ ; TRY AGAIN IF NO WORKEE ; GET TRACK 0, SECTOR 7 INFO TO DETERMINE IF SINGLE, DOUBLE, OR QUADSS BUFADR: .WORD 0 ; DMA TRANSFER ADDRESS MOVB SPFCOD, R1 ; GET SPECIAL FUNCTION CODE (IF ANY) BEQ 5$ ; IF NONE, JUMP  ; ONCE DONE, UPDATE UNIT TRACKING TABLES MOVB R5, T0S7RD+2 ; UNIT # IN TRK0, SECT 7 READ TABLE MOV #T0S7CT, R2 ; DMA TAHEAD ; SPECIAL FUNCTION IO SETUP HERE (NUMBERS 375, 376 AND 377) MOVB (R4), TRACK ; TRACK=WORD COUNT MOVB #BIT0, RETRRANSFER COUNT MOVA BUFR, R3 ; DMA BUFFER ADDRESS CALL DMALOD ; SET IT UP INVOKE T0S7RD ; TRY IT BNE 3$ ; RETRY IFY ; ONLY 1 RETRY PERMITTED MOVB LOGBLK+1, HEAD ; PICK OFF HEAD NUMBER BPL 1$ ; SKIP AHEAD IF NOT NEGATIVE CLR R4 ; SBNE TSTDRV ; YES, SPIN AND WAIT JMP IOFAIL ; ELSE DIE ; 1) TEST FOR NUMBER OF SIDES AND SET UP DRIVE PARAMETERS ACCORDI NECESSARY MOVB SL, R0 ; GET SECTOR LENGTH INDICATOR BISB VSI, R0 ; OR IN VOL SURFACE INDICATOR ASR R0 ; GET RID OF NGLY. ; 2) EXAMINE HOW FDC LAST PROGRAMMED. ; (IF) SAME AS NOW PLANNED, PROCEED ; (ELSE) PROGRAM THE CONTROLLER TO HANDLE TLOW BIT BIC #ISOLAT, R0 ; NOW A 0,1,2 OR 3 MOVB R0, @SIZADR ; STASH INDICATOR CLRB @TRKADR ; UNIT AT TRK 0 AND KNOWN HE DRIVE. DRVRDY: MOV #SRTHTS, R0 ; ASSUME SS DRIVE STEP RATE BITB #BIT3, STREGS ; IS DRIVE DS WITH DS DISK? BEQ 1$ ; ; 1) ACQUIRE DRIVE'S SIZE (SIDES AND DENSITY INDICATOR). ; 2) CHECK FOR SPECIAL FUNCTION #373. ; (IF) TRUE, RETURN SIZE  IF NOT, MOVE ON, ELSE MOV #SRTHTD, R0 ; MAKE DS DRIVE STEP RATE 1$: CMPB R0, SPECFY+2 ; SAME AS LAST TIME? BEQ 2$ ; THINFO TO SYSTEM IMMED. AND EXIT ; (ELSE) PUT ASSUMED READ FUNCTION CODE IN IO TABLE ; AND ACQUIRE THE IO BUFFER'S ADDRE SAME, DON'T RESPECIFY MOVB R0, SPECFY+2 ; SAVE THE RATE ; SPECIFY CONTROL PARAMETERS TO THE FDC ; (I.E. HEAD LOAD/UNLOAESS. ; 3) CHECK TO SEE IF ANY OTHER SPECIAL FUNCTION. ; (IF) TRUE, SET UP NECESSARY PARAMETERS AND JUMP INTO ; THE NORD TIME, STEP RATE AND DMA USE BIT) INVOKE SPECFY ; PERFORM SPECIFY ; 1) EXAMINE CURRENT UNIT'S PRESENT TRACK NUMBER. ;MAL IO ROUTINE ; (ELSE) PROCEED IMMEDIATELY TO THE NORMAL IO ROUTINE. ; GET DRIVE'S DENSITY/SIDE INDICATOR FLAG AND UPDATE  (IF) POSITIVE, PROCEED. ; (ELSE) POSITION HEAD OVER MEDIA, RECALIBRATE AND ATTEMPT ; TO READ TRACK 0 SECTOR 7 SIDE ALL TABLES 5$: MOVB @SIZADR, R2 ; GET DEV SIZE INDICATOR MOV R2, R0 ; AND MAKE DENSITY INDICATOR BIC #BIT1, R0 ; BY C0 FOR DENSITY AND SURFACE ; INFORMATION. THEN UPDATE HIS CONTROL TABLES. 2$: TSTB @TRKADR ; IS DEVICE SIZE KNOWN? LEARING AWAY SIDE BIT ; IS THIS SPEC FUNCTION #373? CMPB #SPF373, SPFCOD ; CHECK IT OUT BNE 6$ ; IF NOT, SKIP AHEAD  BPL 5$ ; IF YES, BRANCH MOVB R5, SEEK+2 ; UNIT # TO SEEK TBL MOVB R5, RECAL+2 ; UNIT IN RECAL TABLE ALSO MOVB #SHUFL ASL R2 ; MAKE DEV SIZE INDIC WORD OFFSET ADD PC, R2 ; GET READY FOR PIC REFERENCE MOV DEVSIZ-.(R2), @(R4) ; SEND HIM T, TRKNO ; SET IN TRACK NUMBER 3$: INVOKE SEEK ; MOVE OUT A BIT BNE 3$ ; TRY AGAIN IF FAILED 4$: INVOKE RECAL ; SLAP'HE GOODIES JMP DONE ; QUICKY 6$: MOVB #READ, RDWROP ; ASSUME A READ OPERATION MOV (R4)+, (PC)+ ; PICK UP BUFFER ADDRE7  COMMAND CODE ; (ELSE) PROCEED. ; 2) CONVERT LOGICAL BLOCK TO LOGICAL SECTOR NUMBER AND STORE. ; 3) CONVERT SIDE AND DENSITY HEAD ; HEAD 1 SELECTED? BEQ SPFUNS ; IF NO, SKIP BISB #BIT2, UNITNR ; SET HEAD 1 SPFUNS: MOVB TRACK, TRKNO ; PREPARE INDEX TO SIDE VALUE AND STORE. ; 4) PREPARE FOR CALL TO DD MAPPING ALGORITHM. ; (IF) TRUE, PROCEED ; (ELSE) SET UP FOR SD  SEEK TABLE ; IO NOW ATTEMPTED W/RETRIES IF NECESSARY 1$: CMPB @TRKADR, TRACK ; ALREADY POSITIONED? BEQ 4$ ; YES, SKIMAPPING. ; 5) INITIALIZE IO TABLE W/ UNCHANGING INFO. 5$: MOV (R4), R4 ; GET POS/NEG WORD COUNT? BPL 6$ ; BRANCH IF POSP THIS FOLDEROL INVOKE SEEK ; GET PROPER TRACK BEQ 3$ ; IF GOOD, READ/WRITE THE STUFF 2$: CLRB @TRKADR ; BACK TO TRACITIVE NEG R4 ; MAKE POSITIVE MOVB #WRITE, RDWROP ; AND OPERATION IS A WRITE, NOT READ MOV #DMARD, DMAOP ; DMA LOAD RTNK 0 INVOKE RECAL ; ELSE RETURN TO TRACK 0 BEQ 1$ ; IF SUCCESSFUL, RE-SEEK BR 2$ ; ELSE RETRY RECAL 3$: MOVB TRACK,  NEEDS THIS 6$: MOV R4, WRDCNT ; SAVE COUNT ASR R2 ; NIX LOW ORDER BIT, NOW A SIDE BIT MOVB R2, SL ; SAVE AS SIDE INDI@TRKADR ; UPDATE DRIVE TRACK TABLE 4$: TST R4 ; IS THIS A SEEK ONLY OPERATION? BEQ DONE ; YES, WE'RE DONE 5$: MOV WRDMOCATOR BIT CALL IOLOD ; LOAD UNCHANGING PART OF TABLE MOVA DDMAP, BUFR, * ; ASSUME DOUBLE DENSITY MAPPING MOVB #BIT0, PSV, R2 ; GET DMA STUFF MOV BUFADR, R3 CALL DMALOD ; PROGRAM IT INVOKE RDWRIO ; TRY THE READ/WRITE BEQ 6$ ; MOVE OEEK ONLY OPERATION BR SPFUNS ; GO DO IT NOW 1$: MOVB LOGBLK, SECTOR ; GET SECTOR # TST (R4) ; TRACK ZERO? BNE 2$ ;PLB ; AND 1 SECTOR/LOGICAL BLOCK ASL R0 ; DENSITY INDEX NOW WORD OFFSET BNE UPDPTA ; IF NOT SD , SKIP MOVA SDMAP, BUF NO, SKIP CLR R0 ; ELSE ASSUME 128 BPS TSTB HEAD ; SIDE 0? BEQ 2$ ; YUP, ALL'S WELL TST (R0)+ ; NO, PREPARE FORR, * ; ELSE SET UP SD MAPPING MOVB #BIT2, PSPLB ; AND 4 SECTORS / LOGICAL BLOCK MOV (PC)+, R3 ; GET LOGICAL BLOCK NUMBER  256 BPS 2$: CMPB #SPF377, R1 ; READ OR WRITE OP? BEQ 3$ ; READ, IO CODE GOOD MOVB #WRITE, RDWROP ; MAKE WRITE OPERATIO LOGBLK: .WORD 0 ; LOGICAL BLOCK FOR THIS IO ASL R3 ; X 4 FOR LOGICAL SECTOR # ASL R3 MOV R3, LOGBLK ; NOW LOGICAL SEN MOV #DMARD, DMAOP ; LET DMA LOAD RTN KNOW 3$: CALL IOLOD ; SET UP IO TABLE (NON-VOLATILE PART) ASL R0 ; GET WORD OFFCTOR NUMBER UPDPTA: ADD PC, R0 ; GET XFER WORD COUNT MOV WRDSIZ-.(R0), (PC)+ ; DONE WRDMOV: .WORD 0 ; ACTUAL # WORDS TO SET FOR DMA BYTE CNT ADD PC, R0 ; PREPARE TO GET WORDS TO XFER MOV WRDSIZ-.(R0), WRDMOV ; DONE CMPB #SPF375, R1 ; WRITEXFER NXTBLK: MOVB PSPLB, VSI ; SECTORS/BLOCK GETCNT: CMP WRDCNT, WRDMOV ; MOVING TOO MUCH? BHIS NEWCNT ; IF NOT, GET NEW DELETED? BNE 4$ ; NO MOV #BIT0, WRDMOV ; YES- XFER 1 WORD AND ZERO SLUFF 4$: CLRB VSI ; ZAP THE IO ITERATION COUNTER  COUNT MOV WRDCNT, WRDMOV ; ELSE SET UP FOR FEWER WORDS NEWCNT: SUB WRDMOV, WRDCNT ; GET REMAINING COUNT DSKADR: CALL @BUF BR SPFUN ; JUMP INTO IO AREA ; 1) THIS IS ENTRY FOR NORMAL IO. DETERMINE IF A READ OR WRITE. ; (IF) WRITE, ALTER IOR ; DO CONVERSION INC LOGBLK ; ADVANCE TO NEXT LOGICAL BLOCK (SECTOR) ; COMPLETE SETTING UP OF TABLE NOW SPFUN: TSTB8 T ; MORE BYTES TO XFER? BNE GETCNT ; YES, DO MORE BITB #BIT0, RDWROP ; NO, BUT IS THIS A WRITE? BEQ DONE ; IF NOT, R MOVB #ZAPIT, @TRKADR ; MAKE HIM UNKNOWN ; NORMAL COMPLETION EXIT DONE: TSTB RESTOR ; GIVE CALLER HIS REGS BACK? BWE'RE DONE MOV #BIT0, WRDMOV ; ELSE SLUFF ZEROS TILL DONE MOVA ZERBUF, BUFADR, * ; POINT BUFFER TO ZERO WORD AND CONT BR EQ 1$ ; IF ZIP-NO CALL RSTREG ; YES, RESTORE THEM 1$: MOV #DMAWR, (PC)+ ; RESET DEFAULT READ OPERATION BIT DMAOP: .WORDDSKADR ; KEEP GOIN' 7$: TST WRDCNT ; ANY MORE TO XFER BEQ DONE ; NO, WE'RE DONE BR NXTBLK ; YES, RESET COUNTER  DMAWR ; DMA OPERATION, INIT FOR READ .DRFIN QB ; AND AWAY WE GO ; **************************************************** ; ----------------------------------------------------------------------- ; --------------------------------------------------********************* ; ************************************************************************* ; S U B R O U T I N E S --------------------- .DRAST ; ----------------------------------------------------------------------- ; SYSTEM MACRO TO GEN; ************************************************************************* ; *************************************************ERATE INTERRUPT ENTRY POINT .DRAST QB, 5, QBKILL ; ROUTINE WHICH RECEIVES CONTROL UPON INTERRUPT BIC #, CO************************ ; ----------------------------------------------------------------------- ; -----------------------NTRL ; ZAP THE DMA AND INTERRUPT ENABLE BITS MOV CONTRL, @#DMACSR ; INFORM CONTROL REGISTER CALL SAVREG ; SAVE NECESSARY R------------------------------------------------ DMALOD ; ---------------------------------------------------------------------EGISTERS MOV (PC)+, R1 ; GET OUR REGS BACK HN1: .WORD 0 MOV (PC)+, R4 HN4: .WORD 0 MOV (PC)+, R5 HN5: .WORD 0 .FORK -- ; ROUTINE TO PREPARE THE DMA FOR AN FDC DATA TRANSFER DMALOD: MOV #DMADAR, R1 ; DMA DATA REGISTER MOV R3, (R1) ; PAFRKBLK ; CRITICAL STUFF DONE, SET PRIORITY TO 0 JMP @(PC)+ ; RETURN TO INLINE AS IF NOTHING AMISS CAPRTN: .WORD 0 ; PO SS UPPER BYTE OF ADDRESS SWAB R3 ; SWITCHEROO MOV R3, (R1) ; NOW LOWER BYTE BIS #BIT4, CONTRL ; CONTROL REG WILL BE SEN IF SUCCESSFUL BITB #BIT0, RETRY ; RETRY LIMIT ODD/EVEN? BNE 5$ ; IF ODD, REDO IO IN PLACE BR 2$ ; ELSE RECAL, RESEEBOX NUMBER FRKBLK: .WORD 0,0,0,0 ; FORK BLOCK ; ----------------------------------------------------------------------- ;K AND RETRY ; UPDATE BUFFER ADDRESS AND PREPARE FOR ANY ; ADDITIONAL TRANSFERS. 6$: BICB #BIT2, UNITNR ; RESET HEAD IND ----------------------------------------------------------------------- .DRFIN ; ---------------------------------------------ICATOR MOV WRDMOV, R1 ; GET # WORDS XFERED ASL R1 ; MAKE BYTE COUNT ADD R1, BUFADR ; POINT TO NEW LOCATION IN BUFR D-------------------------- ; HANDLER ABORT ENTRY QBKILL: .ABORT ; ABORT ENTRY POINT ; IO FAILURE DUE TO EXCESSIVE ECB VSI ; DECREMENT IO'S/BLOCK COUNTER BMI DONE ; SPEC FUNCTION OVER BEQ 7$ ; COUNT ZERO, MAKE OTHER TESTS TST WRDCNRETRIES/CONTROLLER SYNCH FAULT EXIT IOFAIL: MOV QBCQE, R4 ; QUEUE ADDRESS BIS #1, @-(R4) ; SET FAIL FLAG FOR QUEUE MANAGE9 ATION BPL 1$ ; IF STILL A READ, BRANCH AHEAD BIC #BIT4, CONTRL ; ELSE PRIME FOR WRITE OP 1$: MOV R2, -(R1) ; PASS UPPER COMRDY ; CONTINUE TILL ALL BYTES PASSED ; -- E X E C U T I O N P H A S E -- ; NOW GET THE RESULT PHASE BYTE RETURN C BYTE OF TRANSFER COUNT SWAB R2 ; FLIP FLOP REGISTER MOV R2, (R1) ; PASS LOWER BYTE INC CONTRL ; ENABLE THE DMA ACTIVOUNT ; IF ZERO: NO RESULT PHASE, RETURN ; IF NEGATIVE: MAKE POSITIVE, OBTAIN RESULT PHASE BYTES IMMEDIATELY ; IF POSITIE BIT RETURN ; ----------------------------------------------------------------------- ; ---------------------------------VE: WAIT FOR INTERRUPT, THEN SHIFT COUNT RIGHT 1 BIT ; IF ZERO: PERFORM A SENSE INTERRUPT STATUS ; IF POSITIVE: OBTAIN RESUL-------------------------------------- IOLOD ; ----------------------------------------------------------------------- ; ROUT PHASE BYTES MOVB (R0), R1 ; OBTAIN COUNT BNE 1$ ; IF NOT ZERO, MOVE AHEAD BR COMEND ; ELSE RETURN, NO RESULTS PHATINES TO SET UP THE RDWRIO TABLE IOLOD: UPDATE RECMOD, RDWROP, * ; SET FM/MFM MODE BICB @#SAFETY, RDWROP ; IN CASE DRIVE NOSE 1$: BMI MAKPOS ; IF NEGATIVE, GET THE BYTES NOW ; ELSE SENSE END OF EXECUTION PHASE VIA INTERRUPTS MOV (PC), FAILCKT CERTIFIED DD UPDATE BYTSEC, BPS ; BYTES PER SECTOR UPDATE SECTRK, SPT ; SECTORS PER TRACK UPDATE GP1TBL, GPL ; GAP LE ; WE WILL EXAMINE SUCCESS OF TASK CALL CAPTUR ; SET UP..AND WAIT ASR R1 ; SHIFT COUNT RIGHT 1 BIT BNE RESULT ; IF NGTH MOVB R5, UNITNR ; INSERT UNIT # IN APPROPRIATE TABLES MOVB R5, SEEK+2 MOVB R5, RECAL+2 RETURN ; IS DONE ; --POSITIVE, GO GET THE GOODIES MOV COMRTN, RTNADR ; WE'LL REENTER, SHUFFLE RETURN ADDRESS INVOKE SENSIT ; AND REENTER COMMA--------------------------------------------------------------------- ; -------------------------------------------------------ND PHASE JMP @(PC)+ ; THEN GO HOME RTNADR: .WORD 0 ; RETURN ADDRESS MAKPOS: NEG R1 ; MAKE TRANSFER COUNT POSITIVE ;---------------- COMAND ; ----------------------------------------------------------------------- ; COMAND ROUTINE PASSES TH -- R E S U L T P H A S E -- RESULT: MOVA STREGS, R0 ; STATUS REGISTER STACK ADDRESS RESRDY: MOV @#FDCCSR, R2 ; CAN WE GE COMMAND STACK TO THE FDC ; -- C O M M A N D P H A S E -- COMAND: POP COMRTN ; GET RETURN ADDRESS SQUIRRELED AWAY MET ANOTHER STATUS BYTE? BPL RESRDY ; IF NOT, WAIT TILL WE CAN ROL R2 ; WE STILL IN SYNCH? BMI GETBYT ; YES, DIRECTIOOVB (R0)+, R1 ; NUMBER OF COMMAND BYTES TO SEND MOVB (R0), TASK ; SAVE FOR SPFUN REQ #372 COMRDY: MOV @#FDCCSR, R2 ; IS NEN GOOD TST R5 ; YIPES! DRIVE STATE EXAMINE TASK? BPL FATAL ; NO, SYNCH ERROR COM R5 ; YES, REMAKE R5 TO POSITIVE UNIC READY TO RECEIVE? BPL COMRDY ; IF NOT (BIT15=0), LOOP TILL HE IS ROL R2 ; IS TRANSFER DIRECTION GOOD? BMI FATAL ; T # BR COMEND ; ALL DONE GETBYT: MOV @#FDCDR, R2 ; PUT STATUS WORD IN STAGING REGISTER MOVB R2, (R0)+ ; EXTRACT STATUS T FOR READ ASL R2 ; GET BYTE COUNT DEC R2 ; TERMINAL COUNT=XFER COUNT-1 BIS DMAOP, R2 ; ADJUST TC FOR READ/WRITE OPERIF NOT, SHUT SYSTEM DOWN MOVB (R0)+, R2 ; PUT COMMAND BYTE IN STAGING REGISTER MOV R2, @#FDCDR ; HAND OFF TO FDC SOB R1,: --------------------------------------------------------------- CAPTUR: POP CAPRTN ; GET RETURN ADDRESS FROM STACK MOV R1------------------- ; SINGLE DENSITY LOGICAL TO PHYSICAL MAPPING SDMAP: CLRB HEAD ; HEAD 1 NOT SUPPORTED AT THIS TIME , HN1 ; SAVE OUR REGS MOV R4, HN4 MOV R5, HN5 ; DONE TSTB RESTOR ; RESTORE REGS ONLY IF SAVED EARLIER BEQ 1$ ; SMOV LOGBLK, R3 ; GET LOGICAL SECTOR # MOV #8., R2 ; 8 BITS FOR DIVIDE 1$: CMP #6400, R3 ; LOG SECTOR DIVISIBLE BY 26? BBYTE SOB R1, RESRDY ; CONTINUE TILL ALL ARE RECEIVED ; -- T E S T P H A S E -- ; THIS PIECE OF CODE CHECKS FOR SUCCESKIP AHEAD IF NOT DONE CALL RSTREG ; RESTORE CALLER'S REGISTERS 1$: BIS #BIT3, CONTRL ; SET INTERRUPT ENABLE FLAG MOV CONSFUL COMPLETION OF A TASK. ; STREGS IS THE STATUS 0 REGISTER WHOSE UPPER 2 BITS ; SIGNIFY THE FOLLOWING: ; 0 0 ----> TASK STRL, @#DMACSR ; TOGGLE CONTROL REGISTER RETURN ; RETURN TO SYSTEM, INTERRUPT WILL COME ; -------------------------------UCCESSFUL ; 0 1 ----> TASK BEGAN, BUT FAILED TO COMPLETE ; 1 0 ----> ILLEGAL COMMAND (NOT EXPECTED, NOT TESTED FOR) ; 1 1 ------------------------------------------- ; ----------------------------------------------------------------------- SAVREG ; ---> A DRIVE CHANGED ITS READY STATE TST (PC)+ ; PERFORM SUCCESS TEST? FAILCK: .WORD 0 ; TEST FLAG BEQ COMEND ; NOPE --------------------------------------------------------------------- SAVREG: MOV R0, (PC)+ ; SAVE INTERRUPTED RTN'S REGS U BITB #BIT6, STREGS ; ALL'S WELL? BEQ OK ; IF SO, RETURN NOW MOVB STREGS, R2 ; GET ST0 STATUS BYTE BPL 2$ ; JUST A S0: .WORD 0 MOV R1, (PC)+ US1: .WORD 0 MOV R2, (PC)+ US2: .WORD 0 MOV R3, (PC)+ US3: .WORD 0 MOV R4, (PC)+ US4: .WORSIMPLE FAILURE BIC #ISOLAT, R2 ; ADJUST DRIVES STATUS, IT CHANGED! CMP R2, R5 ; OUR UNIT? BNE 1$ ; NO, SKIP AHEAD MD 0 MOV R5, (PC)+ US5: .WORD 0 INCB RESTOR ; LET CAPTUR KNOW WE SAVED REGISTERS RETURN ; THAT'S ALL ; -----------OVB #ZAPIT, @TRKADR ; OUR UNIT BECAME UNKNOWN BR FATAL ; DOWN IN FLAMES 1$: ADD PC, R2 ; PREPARE TO MODIFY DRIVE TABLE ------------------------------------------------------------ ; ---------------------------------------------------------------- MOVB #ZAPIT, DRVTRK-.(R2) ; SOCKIT TO 'IM INCB RETRY ; OUR GUY HAS AN ALIBI 2$: CLR FAILCK ; CLEAR FAIL CHECK FLAG DEC------- RSTREG ; ----------------------------------------------------------------------- ; ROUTINE TO RESTORE THE CALLER'S RB RETRY ; ANY MORE CHANCES? BNE COMEND ; YES, YOU LUCKY PUPPY! FATAL: JMP IOFAIL ; SORRY CHARLIE OK: CLR FAILCK ; REEGISTERS RSTREG: MOV US5, R5 ; DO THE JOB MOV US4, R4 MOV US3, R3 MOV US2, R2 MOV US1, R1 MOV US0, R0 CLRB RESTSET TEST FLAG COMEND: JMP @(PC)+ ; ALL DONE! COMRTN: .WORD 0 ; WHERE IT'S AT! ; -------------------------------------OR ; RESET REGISTER RESTOR FLAG RETURN ; ----------------------------------------------------------------------- ; --------------------------------------- ; ----------------------------------------------------------------------- CAPTUR ; -------------------------------------------------------------------------- SDMAP ; ----------------------------------------------------; ; TRACK = Track number ; HEAD = Head number ; SECTOR = Sector number ; ; Remarks: ; Registers R2 and R3 are destroyed. WORD 64. , 256. , 128. ; WORD XFER CNT DEVSIZ: .WORD QBDSIZ , 1140. , QBDSIZ+QBDSIZ , 2280. ; DEV SIZES-SS,SD,DS,DD ; IO ; .MACRO MOD M,R,?A,?B ;handy macro .IF DF $TERAK DIV M,R .IFF A: CMP M,R!1 BGT B SUB M,R!1 INC R BR A B: .EBUFFER FOR SIDE 0 TRACK 0 SECTOR 7 READ FOR DEVICE IDENTIFICATION ; ALSO USED AS A WORK AREA DURING NORMAL IO BUFR: .WORD 0 NDC .ENDM ; DDMAP: 1$: CLRB HEAD ;assume head 0. MOV LOGBLK,R3 ;get logical BLOCK. ; ; Compute LSN Mod 15. ;  ; ALSO FOR MAPPING ALGORITHM ADDRESS WRDCNT: .WORD 0 ; ALSO FOR TOTAL BYTE XFER COUNT .BLKB 66. PSPLB: .BYTE 0 ; PHYSICLR R2 MOD #15.,R2 ;LSN Mod 15. ; ; The quotient is now in R2, and the residue in R3. ; ; TSTB SL ;number of surfaceCAL SECTORS PER LOGICAL BLOCK ; SINGLE=100 DOUBLE=324 VSI: .BYTE 0 ; VOLUME SURFACE INDICATOR .BLKB 3 ; DON'T CARs? BEQ 20$ ;If double sided then ; ; Compute LSN modulo 30. If this value is less than 15, we want ; to select head 0. E ; SINGLE=100 DOUBLE=362 SL: .BYTE 0 ; SECTOR LENGTH INDICATOR RECMOD: .BYTE 0 , 100 , 100 ; RECORDING MODE BYTHI 2$ ; BR IF LOW, CARRY IS CLEAR ADD #171400, R3 ; YES, SUBT 26 AND SET CARRY 2$: ROL R3 ; SHIFT IN QUOTIENT (C-BIT) Otherwise head 1 is selected. ; MOV LOGBLK,R3 ;get logical BLOCK again. CLR R2 MOD #30.,R2 ;LSN Mod 30. CMP #15.,R3 SOB R2, 1$ ; GO TILL DONE MOVB R3, R2 ; COPY OF TRACK # CLRB R3 ; REMOVE TRK # SWAB R3 ; SIGN XTEND SECTOR CMP # ;which head do we want? BGT 20$ ;branch if head 0, else INCB HEAD ;select head 1. 20$: ; ; At this point R2 contain14, R3 ; CARRY SET IF 13¯”÷E 0 ; UNIT NUMBER TRACK: .BYTE 0 ; CYLINDER NUMBER HEAD: .BYTE 0 ; HEAD NUMBER-SIDE SECTOR: .BYTE 0 ; SECTOR NUMBER BPS:¯”œ÷ œàU ”jt*}ÛKT`HaH\* ”jt ”jtH ”jt ”jtH6´6bHSEC: .BYTE 0 , 2 , 1 ; BYTES/SECTOR (0=128, 2=512) SECTRK: .BYTE 26. , 15. , 26. ; SECTORS/TRACK BASED ON DENSITY GP1TBL: .B .BYTE 0 ; BYTES/SECTOR (0=128) SPT: .BYTE 0 ; SECTORS/TRACK GPL: .BYTE 0 ; GAP LENGTH .BYTE ZAPIT ; DATA LENGTH, CAUSESYTE 27. , 84. , 14. ; READ/WRITE GAP LENGTHSFOR SD AND DD .EVEN DRVTRK: .REPT 4 ; DRIVE TRACK POSITION TRACKER .BYTE ZAP BYTES/SECTOR OVERRIDE .BYTE 16 ; RPSL (7 SHIFT 1 BIT LEFT) ; TRACK 0 SIDE 0 SECTOR 7 READ TABLE (TO ACQUIRE DEVICE SIZE) IT ; ALL DRIVES INITIALLY UNKNOWN .ENDR ; DEVICE SIZE INDIC. ; SS SD = 0 ; SS DD = 1 ; DS SD = 2 ; DS DD = 3  T0S7RD: .BYTE 9. ; C.S.L. .BYTE 6 ; READ COMMAND .BYTE 0 ; UNIT NUMBER .BYTE 0 ; TRACK # .BYTE 0 ; HEAD # (SIDE) DRVSIZ: .BLKB 4 ; DEVICE SIZE INDICATOR ; SPFUN REQUEST #372 GETS THIS TABLE (10 BYTES) STATUS: .BYTE MAXTRY ; RETRY  .BYTE 7 ; SECTOR .BYTE 0 ; BYTES/SECTOR (0=128) .BYTE 26. ; SECTORS/TRACK .BYTE 7 ; GAP LENGTH .BYTE ZAPIT ; BYTMAX FOR SPFUN REQUEST #372 RETRY: .BYTE 0 ; RETRY DECREMENT REGISTER TASK: .BYTE 0 ; TASK IN PROGRESS STREGS: .BLKB 7 ;E COUNT OVERIDE .BYTE 16 ; RPSL (7 SHIFTED LEFT 1 BIT) ; SENSE INTERRUPT STATUS SENSIT: .BYTE 1 ; C.S.L. .BYTE 10 ;= E 7°é.˜À:÷ DÅ ø�7  ÷Wa÷Waw‘ : Z.¾TÀ÷ ÷¥üŽÿ ÷ŸÜÿ†ÿ÷�1�ÿü|ÿw. îÃý Ã%Ãå‚ ù÷‹¡ÃêüH.X Ã%Ãå‚ ùÃ%·Š¶·�±·Š­Â à �.~ƒ` Ã%Ãå‚ ùƒ ÷�“‡@€îtÈÐ.ä†÷µ ÿ•ÿ¼ÿ× ãw`À¯÷µ4. Àß7 7�À÷ Äÿ‹Œÿ)€w‘÷w‘ï÷•Y À.0îÀ÷ ¨¤Üèt îö îÿ óñó@@Tÿÿÿÿ¬ Û Ý Ñ.ÿ$ûÀ÷ žöw‘åÂ&è÷  &¨¯.V4À/÷ „éÀ��ÀÝ…€ ÀEüÿ?�Fÿ?Š8ÿŸ>ÿt /³.|€ÀE÷¥ûÔþ ÿ  8ÿþ�ó Âa¼wÔ÷•‡Ô.¢Á�¶þ.7“{÷•W÷��p€ b÷�€eÌ Ô.È ÷‹ZÐ Á¥ÿ÷•G÷€–÷ ÐÀ Àa7¾.î®`Á¥ý÷T7Ší9€ ÷•÷€7.d7�‚ ·�Ó÷ ”÷6~÷•¾À ÷ðn×6&ð€.:÷•®Ãà à ÷öÿÀaL÷�–•÷-Lòÿ.`†÷Dêÿ÷íæÿ<ÿ 6· Ìÿ÷‹®÷Õ¤÷�¡â.†š÷¯$þ™À÷ L?ŠþÀ÷ >ðøÿ�Jw ‰ÀÂöÔ<Àf„,¨€’€ÆÀZ%€T$€à>à.¬yþÄ \šÿÃäþ÷ ÌÀ$÷ ÷µ9ñr $¬.Òã÷ÅLÁtÿÁ w`¼þ÷ŠA�÷ º´÷µ-©.ø9÷Rÿ÷˜šþ³ø"€¢àÄCOPYRIGHT (C) 1978, REGENTS OF UNIV OF CALIF,SDÿÿþ÷ ž/¢&Í „…_w ¯˜&„:®s8.ðÿ÷E (ýß$ý ò÷ „ÁÄÅ_Î.D÷^ðÿ&Ĭüä Ì þ„‡ÄžüìUððððððþßð  P  ?ÿ•ÿ5  ^….jDý÷‹íü÷ \×@@&Ä~üìE€ „‡Áò˜.�ÉÃÉ÷U²ü  Â]Öÿ€÷E¢ü¡‰· ˜ü`.¶‡7Üôg÷‰ ‰ ‰—/Îef�AA�,þÅ"ÿÃÿÂ<Ê•w�ÿ· ÿÇû÷a7œ÷`7œú[7œýVw‘Lw‘ô÷ú ý•.ÜCw‘;‡·¢”7’Âòý€B D�”ŸòI~’.A�÷<÷ |� ÷÷åÿ7 ÿ& ¦ÄÍÖÁ Gà‰÷ 6ý€ÀEÿ7,�ÿ‹ €�€6 ?�  ÷ w pÿrÿr À:÷ Âÿ_ Ç :’.(À Âòý€B �Å #€E %Âò��M~× ÷µR  Ù.N@¹Â�³€ÂEüÿ… ÿ•ÿHü Âaò•&ÀŸ¤ÿÀE€ÿ7 žþ ÷5@|þÀ‰<7 ‡þw Ìÿ{7 yþw Âÿ7 ps w ´ÿm w ªÿg×-cH:. ”jt ”jtH ”jt ”jtH”jtt.÷ ðÿý7 ÞwæÿÉU€Ó Î÷ ô è.&ŒÄÔÿ”ÿ”·Š·.t“7 Îÿ÷Š‹wÚþ7 Àÿ_·®þwžþ7žþwì.šžþ÷‹½û÷ ,÷U¢ûßžû ò‡W—ë.À×W·Š�û‡Å@ÀEÿü”€€ ã  ×M.L@Ĭÿ7êW‘ Å¥ú Á• P”à "À.r‚~wôÅÅEüÿÀò€À €wÒ÷•wôÿÄìÿÃäÿÂÜÿÁÔÿt.æÀÌÿ7Šoû‡7Š4ÃJýÂÃ% ‚ÃeóC ‡~Â�T. ŠÃÃ% C  ƒ`ƒ`ƒ`‚ ‚ ÃåýÃe÷�ù·�Ì.2ó‡7Š> Á �aBÁEðÿÁ B<øÎÂ<‡ ú÷ ŽwN �EC~�Áí B~‡ŽU‡�€fÀ r†‰f‡�Vpf‡z‡ ‡Î Îe€‡N ‡€�ùÉ þ�É‹ ‰Ã¦Æe Á¤ÿá ¢rþ·–fæwœˆÏBCâ ‚âÊ% €Àe€ìúÿ€ìøÿÀå 7d÷,ñ\ã ·ÁAâÉ‹á B‚â·J@á B–ÿ@À•ÿ‰_÷ ’ÿ a z‚ÀE ÷ ~ÿ   ~ÀU€æÃVÿ3�Tƒ ÃE@· Jÿ÷Dÿƒ÷ Bÿ9æÃ4ÿÀœT?�4ÿƒ ÃE@÷"ÿ÷ "ÿƒ×-ÿl8�@ 6÷NæÿÿÂEðÿ ŽLÀU@àtüÿ7`.æÿÿ~BÂEðÿ ‚B Ž@Wtüÿw`& B~æÂ<‡Žå‡z‡¦»¦¦º& ‡€ü�& ÁE7 ÎýÀÿ?Šÿ· ÿ~ 7 žýÿE@¨þÿ‰ÿU@ þ· èþ÷ æþ÷ ÚþÍÿE€Òþ7 Îþ€wôý÷ Äþý�€wºþÉU€ Ó æ&· ªþ· ¦þä÷ šþ­ðÿÁ N\øÀEðtüÿ& B~€ &‡ž‡€ ÿ‚> ‚‡‰÷ ~�UB~‡ ‰æð‡ Õ�@ ‡À €aÁ �a!‚~Fƒ@àÀ à€Á ÐB~ åË *å�€7 �þ7 Žþ7 €þ÷zþvþ÷ xþ7 vþÿE€lþ7 hþ÷ 7 ÿE€7 �‡tÿvÿÿÿ÷ ôÿý�€wêÿÉU€ Ó æW r7 $þ7 "þ‚~ÆöÂ<‡•€ÀE€ÿÀÕÀ `‡•€ÀE€ÿÀÕÀ `¦‡•€ÁE€ÿÁÕ€W @p@À `‡•€ÀE€ÿÀÕÀ Àe À`&‡& Õ`‡&Ž Õ`‡÷ þ^· Êÿ·Âÿæ��€ÿE@®ÿ�÷ ´ÿ�&À¬ÿ?�žÿ  ÷ –w šÿ€ÿU@†ÿwüü÷ „ÿ>÷ €ÿ6÷ Æý��€ò& Àßhÿ÷ ^ÿ7 XÿÀå �•€ÀE€ÿÀÕÀ Àe À`&‡•€ÂE€ÿÂÕ€�‚~Â<‡ ‰€ ÿ‚7�ÀZ ¢ ‚� Ò‚ ”‚~Â<‡ ‰•€ÀE€ÿÀÕÀ Àe À`ˆ‡„ ÄE€ÿ‹Fÿý€ÿ• @ÿ~�€ w 2ÿ ?�*ÿ  ÷ "€ÿU@ÿ· ÿ÷ ÿw„üÿE€ ÿ7 ÿwvü�ÿ‹ôþý€ÿ• îþ�€‡FRX\`–¢¶ºÈäì&   Ô @àÀ `ã‡Ô ‡•G´7vz Ö Î‡Ö  ‡7ˆH€ ÿ‚7��ÿÀZ 6�W ÿ‚w�{ÿÁZ N ¤†ÜÿÿBÜÿÿ¤ ûF J ^ f j n x | Ü à ö ä è  " 6 B îD J f Œ ž ² Ò ê 2  4 ^ v ¬~˜ ˜ ˜ è  ˜ ˜  ˜ 6 j | ’ º Ì â ì ô ¤h*06NV\bz€¾¯ öÖ Â<‡6 ù•€ÂE€ÿÂÕ •€ÂE€ÿÂÕ7ˆ �€¤ƒ~ æÂ<‡& ûÎEþÿöEþÿŽ÷ Jd`·n�þÿ ¦ŒüZô ˜˜Z ` fš–:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú "*2``@x `dþÿ‡Á �%  D~ "Ð ƒ~Á ø�E D~óÁ D C~Á �%  D~ Ð ƒ~Æ& Â<‡Ææø•AA~•€ÀE€ÿÀÕÀ Àe”Îa”Î@Ô"ú# "%ü%@($B&b”Îc”Ξ ¸ \ j .  ˆ ®   º ‰‰‰†‚‰‰ƒ‡‰ @`&‡•„ ÄE&~‡•AA~•€ÀE€ÿÀÕÀ Àe @`&‡•AA~•€ÀE€ÿÀÕÀ Àe @`ˆ‡„ ‡–åü–åù ö‡•�`‡Äšó`㇀ @€ @€ÿÿþÿüÿøÿðÿàÿÀÿ€ÿÿþüøðàÀ€f ~f{fxfufrfoflfifffcf `f"� t�Á @L‡�Á A€@@A ‚tBtÖ ‚B@PžÂ<‡� Õ``f~‡ Õ�``A‘~Ö ‡€€c Ò‡€Že�‡•€fÀ r]f$Zf&Wf(Tf*Qæ NæKæHæEæBæ?æ<æ9æ6æ3æ 0æ"-æ$*æ&'æ($æ*!¦†‰``•&& � †`À Á ú‡Žå ‡Î‡ŽåûøŽåøõ•€ÀE€ÿÀÕÀ Àe @a&‡&•6•‡ŽååâŽåâß•€ÀE€ÿÀÕÀ Àe @a&‡ŽåÓÐÎe¦Îe¦Îe¦Îe¦ Îe ¦ Îe ¦Îe¦&•ý€À fÎ € € ‡ÎE€‡Že‡z‡N ŽE‡•€ÀE€ÿÀÕ7¢ø×-Œø Á•€ÀE€ÿÀÕÀ Àe @aˆ‡ ‰‰·\ÅdòÂ<ÃZòÄîÿ‡·@�€@`@`$fH@€à7 �`Áe‚À à€�B~Á  B~Â<ãÁ _@$@$@$@"‡‰÷ �EB~‡�€fÀ r†‰&‡z‡¶%Ž%‡‰·· 7 ÊÈ(Ú¦ææ\7 ¶È(¦‚€€`€`�WtüÿB ÿÿ·7ú@`À ð d‰ìd�&`f&d&b& ÷Ê�Á �mÁ Áef? !$'(****AND 'ARRAY ,BEGIN CASE CONST DIV 'DO DOWNTO âÿÂà·ðÿ ¦÷ V‚¾‚ ¼ÎU· Æþ·¦÷ >Âe0— €ìÂà· ¾ÿô‚¨Á W <§†Á]¤ÀÜþ@à€Àe" ðÂE@”W ^Á<Àå ÀE€þ&@” ELSE END EXTERNAL5FOR FILE .FORWARD "FUNCTION GOTO IF IMPLEMEN4INW ^Á<ÀEàÿ  Âdÿt`— €ì‡Âå€ ‚UËÂe€— €ì‡ÂE€€æÃ:ÿtùÿ×tùÿÀà€Àeƒ ´¦ÂE÷ †‚ßeâÿ×'âÿ‡ âÿ÷e€þþ×- )INTERFAC3LABEL MOD 'NOT &OF OR (PACKED +PROCEDURPROGRAM !RECORD -úþ€ìž‡÷E€ðþš€ÀE7 äþ”Â倗 à�†Âe€ Œ”””””””ðè¬&â”””””””””””ú””RæÀPƒÃE€ÿÀàà Ò�REPEAT SET *SEGMENT !SEPARATE6THEN TO TYPE UNIT 2UNTIL USES 1VAR ~ƒ‡Š÷ ðÿý7 ÞwæÿÉU€Ó Î÷ ŒÄÔÿ”@ÀEÿü”€€ ã  ×@Ĭÿ7êW‘ Å¥ú ÁŽ"• P”‚~wôÅ‚âÊm8~@á B‚âÊm*~@á B‚âÊm~÷ Úƒ�ÀÇ·øÿ€·ìþÀ ð  ðþð÷ Ðþ±° ÇÊÿ�€ WHILE WITH �àÞŽêÞŒê�‡7 è÷)¦€& æ€@  z7 Ò÷)¦7 Ê÷†)7 Â÷j)7 º÷d&7 ²÷Ð*7 ª÷h&7 ¢÷Ô'À 𠀉I•÷€ðªþ? zðr·¢þ&÷ ¦ÿ7þhð† Ó �àAâFìúÿÀ‚þ„ ÁeþÿAâÉ ÷-BðlþÀŸ:ðÀ ð ÷\þ.ðÂ<‡ÿ‹$ðW¢Fløÿ‰÷ð7 š÷,·\ vwŠ÷÷ *ùÂ<‡÷ Rù‡×'ðß(ßðÞ(‡Ÿ(ßð‡æ‡€@ BÈCzEG@ÃHPtJ$L€–¾M ¼nO(k<þ€ ÕÁ  ÁmðAâÉ‹×Fìøÿ·! ïåƒæ &æþæäïffDúÿ„ …Åe …wÆï5 wÀïDÄeþÿã‡Â`ÎÍÂ<‡ÂnÇæÍC÷”ïÂ<‡ÂQùºR·ChT¥ÔV焵W!æcY©_[ʱ\¼¢^^k `#Ç­aìxXc'×ex†©fhShÂjQY¥k¦oNm�Ëo9?¡p�IrÊòüs|o�u®ÅEw7öxß„šz @|Ηð}½€ � &À À &„¼Bœò@B¬ø Â<‡Cþÿ÷`ï¯`ï& ΟXï÷ ¾þ@ •Åe E`E``B~Å8ïAÑ Ew0ïw.ïDw$À &ß  ‰‡Z&X‡‰Ê‰‡€Àç(¡ &‡7 |övª‚Ð7 nö|ªôÐ7 `ö|ªŒÐ7 Tö”ªÜô ôÐ7 <ö”ªèô ôЦ6 Æå×'ðß(ßð�À(@`@`�Áå( ƒ‰(‡¶“�‚+¶mÖ Ž] €€‡ à†‚ P‚~P�‚~‚��eŽe€NPŽP ‡ à†\É =€¶ "ù  Š\¶m¶¶Ž\ � W Á �mÁ ÁefÉ5`\Å_Æe wÊõÉ5 ÅôÉ5@ù��àÉ ù��W à†‚ ‚~”‚~ÆeÂ<‡‚ù��e€€e€`�`!˜‚~òÖ Že€‚��ö ¤C~¤C~À €å–%Â<‡ € ö ¨óC~¨ï\É‹ýE’ Šâö5Þ\ù\ù\öfž F^ªT 2´&²ºÐØàèðø,FRð,: × ý�C~€€cêÄîÄeüÿãίøíö¯ôí–%‡@ ÁeüÿAâp®6®–%‡ë‰€� "1, 1,1,^ ‡ ‚ñ%ÀwôÿÉU€Ö Ó ·j·j�K�À÷ ÒÿÿE€Êÿ7 Æÿ÷Jßäÿ�‡÷-`fß5tÿDÿ‹øÿ� PŸ 6_ 8׌†ßEäÿ÷ €ÿ ßð ^Îÿÿ‡A ãñ%ð^·AØ€�æ&DaÁefÔ„ Â¥_û— 0‡— 9ƒÂE — A‡— Z‚ƒ ë‘�éÄå ƒ ‘�ü‚ŸàÿßäÿÿE€lÿ7 hÿ_Æ&À€  ^À< <ß—vÿ<7úÿ€÷öÿìÿ÷ôÿˆÿß|â&f¦æäÿßEäÿÂàÊ• Á°ÿ@”W ^ �îƒðCàà ÃøÁ Á fÁ �eÁe¦ƒ €$ $ $ $ @A ÁeÁeÁeÁeé Á>„„ƒ‚ÂeJÂ<‡ Á<  †À x*�w šÿðwŒÿ·Îÿ·’Îÿ—¢ Ê•Àþ€ÒtÊ•ÿÁðï ߀äÿ ”QŠƒ~Ÿäÿ‚�€wôþÂEÖÂU‚ ÒÂ5Ï ÍÂàÊ@ @&Ä~üìE€ „‡ÁòÉÃÉ÷U²ü  Â]Öÿ€÷E¢ü¡‰· ˜ü‡7Üz"g÷Çû÷a7œ}"`7œ€"[7œƒ"Vw‘Lw‘Cw‘;‡·¢”7’Âòý€B D�”Î ¶� ö•€ æóæ5@¦¦æóæ5@7 X\&ö&`&Ð' ' 'ü(â&ì&ì&ì&ü(`&ü(`&ü(`&ü(`&'È('ü(`& 'ü( '€�ÂT'f&¦¦\¶ ¶ \ŸòI~’A�÷<÷ |� ÷r ÀÀ"÷ Âÿ_ À‘"Âòý€B �Å #€E %Âò��M~× ÷µ@¹Â�³€ÂEüÿ… ÿ•ÿHü Âaò•ÿ”·Š“7 Îÿ& ŽÝÎå€\¦¦\æræ1@\öŠæÙ[æÞ?\€�Ö …Æew &… š?UÌ? *@ÚªAD €�C ŠÃÃå˜Ã%èÿ  ÷Š‹wÚþ7 Àÿ_·®þwžþ7žþwžþ÷‹½û÷ ,÷U¢ûßžû ò‡W—×W·Š�û‡ÅôÿÄìÿÃäÿÂÜÿÁÔÿÀÌÿ7Šoû‡7Š4ÃJýÂ æ  ƒ üƒÁ @ ƒ ü …f&\À�À ‚ ‚ B Ž- ‡ ÆeÀ \z\D ²Ãf‚ °C_‚À  fW‡æ & æ€@&&Ã% ‚ÃeóC ‡~Â�ŠÃÃ% C  ƒ`ƒ`ƒ`‚ ‚ ÃåýÃe÷�ù·�ó‡7ŠîÃý Ã%Ãå‚ ù÷‹¡Ãêü Ã%Ãå‚ ùÃ%·Š¶·�±·Š­&&7 úB(ü()L(È(B(Ð'\&R(ü(`&Ð'`&`&Ð'2(`&8(ü(Ž(Îe€€\¦¦\æ;ªæ¸@\¶ \N @ Îåƒ  €�æ‚=æ@Âf&æysæEæ[\æ à ƒ` Ã%Ãå‚ ùƒ ÷�“‡@€îtÜè@@pCf&f&\–%€�„ÄŠ„ a�… À€@…ÀÀw ¸  …¦¦6 6 & � f Â�6ŠA ‡Â üv�Š�ÐÁ  6ŒN\z\Tÿÿÿÿÿ$ ÿ ÿþLÿNÿ÷ ìÿý�€wâÿÉU€ Ó æ· Ôÿ·ÐÿÿE@Ðÿ÷ €�‚ƒ\€�\¶¶ ‚ �N A f C�ŠÁÁå� Á%ʃÝC B Á ü … ‡ Ž\ ü‡æ w  òD& &&æÛæÉ@7 Âÿe÷ Àÿ]& ÷ Àÿ€7йÿÀ• 7Š®ÿÀ•÷ šÿ· ˜ÿ7Àß�ÿ2÷ Žÿ7 ˆÿÀå ÿ‹‚ÿý€ÿ• |ÿ· tÿ ~" w dÿ     ÷ X· Nÿ ‚`&’)D& &&Î 6  æÛæÉA7 ^Ð'ä)b'\&î)ä)b'ø)\&þ)ä)ä)ü(&*ü(`&ü(`&ü(`&ü(`&ü(Ö)€�Ö Àe€…¦¦\Î ò¶Š\¶S\ö‹ÅEüÿÀò€À €wÒ÷•wE 7°ÀÀ"÷ DÅ ø�7  ÷†"Wa÷Š"Waw‘TÀ˜"÷ ÷¥üŽÿ ÷ŸÜÿ†ÿ÷�1�ÿü|ÿw†÷µ ÿ•ÿ¼ÿ× ã wŠKÿÀ•  wŠ:ÿÀ• 7 ,ÿÿ‹*ÿý€ÿ $ÿý�?� ÿ€ÿU@ÿ· ÿ÷ ÿ_ÆÿE€úþ7 öþwôÝfÀ Áðþ÷UêþÁíæþ?�äþÿ‹Þþý€� ù�‡�€÷ w`À¯÷µÀß7 7�Àœ"÷ Äÿ‹Œÿ)€w‘÷w‘ï÷•îÀ¥"÷ ¨ûÀ¡"÷ žöw‘åÂ&Ã."÷ 4Àµ"÷ „éÀ��ÀÝ…€ ÀEüÿ?�Fÿ?Š8ÿŸÂþÿE€ºþ7 ¶þ�‡PÿRÿTÿVÿÓ Å+÷ àÿý�€wÖÿÉU€ æ· Ìÿ·ÊÿÿE@Êÿ÷ ¸ÿ÷ ºÿ ÿŸ°ÿºÿÿU@²ÿ· ¤ÿ÷ ¤ÿ_ÆÿE>ÿ€ÀE÷¥ûÔþ Âa¼wÔ÷•‡Á�¶þ.7“{÷•W÷��p€ b÷�€eÌ  ÷‹ZÐ Á¥ÿ÷•G÷€–÷ ÐÀ Àa7®`Á¥ý÷€’ÿ7 Žÿ_ÆT7Ší9€ ÷•÷€d7�‚ ·�Ó÷ ”÷¼!~÷•¾À ÷v!n÷•®Ãà à ÷öÿÀaL÷�–•÷-Lòÿ†÷Dêÿ÷íæÿ<ÿ 6· Ìÿ÷‹®Œ$Œ$Ó ÅK÷ äþý�€wÚþÉU€ æ· Ðþ·ÎþJ÷ Êÿ_Æ&ÀÀþ2�ÿŸ¼þ´ÿ· ²ÿ×-®ÿŽ/· ¤ÿ×- ÿ%÷Õ¤÷�¡š÷¯$þ™À¥"÷ L?ŠþÀ¡"÷ >ðøÿ�yþÄ \šÿÃäþ÷ ÌÀª"÷ ÷µ9ñã÷ÅLÁtÿÁ w`¼þ÷ŠA�÷ º´÷µ-9÷Œ$–ÿ€÷ ˆþÿŸˆÿ„þ· ‚ÿ×-~ÿ%÷Œ$tÿ÷ tÿ÷ nþ· dþ��€÷ ^ÿã_Æ÷•Tÿÿ‹Rþ÷ Hÿ÷•Dÿ€÷ 2þïÿ�8ÿ*þ7 2ÿÿE€ þ7 þ_Æ�€÷Rÿ÷"šþ³÷ ž/¢&Í „…_Æw ðÿ÷E (ýß$ý ò÷ „ÁÄÅ_÷äðÿ&Ĭüä Ì þ„‡ÄžüìUÿ•ÿDý÷‹íü÷ \×@÷Œ$ÿ÷ÿÿ7 ÿ÷ þÿE€øý7 ôýæß2&ÿU@ðýÅ –%Ÿ�‡�€÷ ÌýÿE€Äý7 Àý�‡Îe€z\æ& Dær汿¦)&&\A \&Ð'†+€�f&f&7 lü(È+ü(`&ü(`&ü(`&ü(`&ü(`&`&ä+`& )º+Ö …¶ ¶ \€�Â,Ãf&¦¦à ú\ö Îe€\Å>Â:¿L]L?ÛÆª¿¤ªåË *å�€7 �þ7 Žþ7 €þ÷zþvþ÷ xþ7 vþÿE€lþ7 hþ÷ 7 ÿE€7 �‡tÿvÿÿÿ÷ ôÿý�€wêÿÉU€ Ó æW r7 $þ7 "þ€@Ö \fEA#�&æ� Áe@ & f& f& f7 ÖÿÐ'`&4,Îå€ö ff¦¦î€�Ö ……w û  ÷&@& ÿ €…€,÷ þ^· Êÿ·Âÿæ��€ÿE@®ÿ�÷ ´ÿ�&À¬ÿ?�žÿ  ÷ –w šÿ€ÿU@†ÿwüü÷ „ÿ>÷ €ÿ6÷ Æý��€ò& Àßhÿ÷ ^ÿ7 XÿÀå � ‰þÿ‹Fÿý€ÿ• @ÿ~�€ w 2ÿ ?�*ÿ  ÷ "€ÿU@ÿ· ÿ÷ ÿw„üÿE€ ÿ7 ÿwvü�ÿ‹ôþý€ÿ• îþ�€‡FRX\`–¢¶ºÈäì& F J ^ f j n x | Ü à ö ä è  " 6 B îD J f Œ ž ² Ò ê 2  4 ^ v ¬~˜ ˜ ˜ è  ˜ ˜  ˜ 6 j | ’ º Ì â ì ô ¤h*06NV\bz€ŒüZô ˜˜Z ` fš–:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú "*2``@x ` ‰ÀÂöÔ<Àf†,¨€’€ÆÀ\%€V$€à>à”Ða”Ð@Ö"ü# $%þ%@*$D&b”Ðc”О ¸ \ j .  ˆ ®   º ‰‰‰†‚‰‰ƒ‡‰ú"€¤àÄCOPYRIGHT (C) 1978, REGENTS OF UNIV OF CALIF,SDÿÿþ @€ @€ÿÿþÿüÿøÿðÿàÿÀÿ€ÿÿþüøðàÀ€f ~f{fxfufrfoflfifffcf `f"ððððððþßð  P  ?]f$Zf&Wf(Tf*Qæ NæKæHæEæBæ?æ<æ9æ6æ3æ 0æ"-æ$*æ&'æ($æ*!¦‰ ‰ ‰—/Îef�AA�,þÅ"ÿÃÿÂ<Ê•w�ÿ· ÿÎe¦Îe¦Îe¦Îe¦ Îe ¦ Îe ¦Îe¦&•ý€À fÎ € € ‡ÎE€‡Že‡z‡N ŽE‡•€ÀE€ÿÀÕ7¢ø×-Œø Á÷åÿ7 ÿ& ¦ÄÍÖÁ Gà‰÷ 6ý€ÀEÿ7,�ÿ‹ €�€6 ?�  ÷ w pÿrÿ@$@$@$@"‡‰÷ �EB~‡�€fÀ r†‰&‡z‡¶%Ž%‡‰·· 7 ÊÊ(Ú¦ææ\7 ¶Ê(¦‚€€`€`�WtüÿB  Îe€& æ€@7 ò`&*ĺ)¶Œ†Îe€\€�ÂV*Ãf&¦¦à ú\:º×™¼c&£>X4%Àá]É@Û& & & & & D&&€D&&�À ŠÀ&ÀŸ¤ÿÀE€ÿ7 žþ ÷5@|þÀ‰<7 ‡þw Ìÿ{7 yþw Âÿ7 ps w ´ÿm w ªÿg×-Á ŠÁ@àÀ%7 rÐ'–*ý  öIAöÛ ý öe€Î ÆeÀÉ@ÁÛý Àe€…& & & & & D&&Îe€¶ —#€@‡ö öÉÀ–ÿ@À•ÿ‰_÷ ’ÿ a z‚ÀE ÷ ~ÿ   ~ÀU€æÃVÿ3�Tƒ ÃE@· Jÿ÷Dÿƒ÷ Bÿ9æÃ4ÿÀœT?�4ÿƒ ÃE@÷"ÿ÷ "ÿƒ×-ÿlöÛö ¦¦ö€@6 7 âÐ'&+¦¦6 6 —#‰?%‡‚—-£0 ƒö@ö’ €�æ׳æÝÀf&& æ€@æ׳æÝ@f&7 Šü(\&¾+7 ÎýÀÿ?Šÿ· ÿ~ 7 žýÿE@¨þÿ‰ÿU@ þ· èþ÷ æþ÷ ÚþÍÿE€Òþ7 Îþ€wôý÷ Äþý�€wºþÉU€ Ó æ&· ªþ· ¦þä÷ šþ­B Á �aBÁEðÿÁ B<øÎÂ<‡ ú÷ ŽwN �EC~�Áí B~‡ŽU‡�€fÀ r†‰f‡�Vpf‡z‡ ‡Î Îe€‡N ‡€�ùÉ þ�É‹ ‰Ã¦Æe Á¤ÿá ¢rþ·–fæwœˆÏBCâ ‚âÊ% €Àe€ìúÿ€ìøÿÀå 7d÷,ñ\ã ·ÁAâÉ‹á B‚â·J@á B8�@ 6÷NæÿÿÂEðÿ ŽLÀU@àtüÿ7`.æÿÿ~BÂEðÿ ‚B Ž@Wtüÿw`& B~æÂ<‡Žå‡z‡¦»¦¦º& ‡€ü�& ÁE‚âÊm8~@á B‚âÊm*~@á B‚âÊm~÷ Úƒ�ÀÇ·øÿ€·ìþÀ ð  ðþð÷ Ðþ±° ÇÊÿ�€ðÿÁ N\øÀEðtüÿ& B~€ &‡ž‡€ ÿ‚> ‚‡‰÷ ~�UB~‡ ‰æð‡ Õ�@ ‡À €aÁ �a!‚~Fƒ@àÀ à€Á ÐB~ À 𠀉I•÷€ðªþ? zðr·¢þ&÷ ¦ÿ7þhð† Ó �àAâFìúÿÀ‚þ„ ÁeþÿAâÉ ÷-BðlþÀŸ:ðÀ ð ÷\þ.ðÂ<‡ÿ‹$ðW¢Fløÿ‰÷ð‚~ÆöÂ<‡•€ÀE€ÿÀÕÀ `‡•€ÀE€ÿÀÕÀ `¦‡•€ÁE€ÿÁÕ€W @p@À `‡•€ÀE€ÿÀÕÀ Àe À`&‡& Õ`‡&Ž Õ`‡<þ€ ÕÁ  ÁmðAâÉ‹×Fìøÿ·! ïåƒæ &æþæäïffDúÿ„ …Åe …wÆï5 wÀïDÄeþÿã‡Â`ÎÍÂ<‡ÂnÇæÍC÷”ïÂ<‡Â•€ÀE€ÿÀÕÀ Àe À`&‡•€ÂE€ÿÂÕ€�‚~Â<‡ ‰€ ÿ‚7�ÀZ ¢ ‚� Ò‚ ”‚~Â<‡ ‰•€ÀE€ÿÀÕÀ Àe À`ˆ‡„ ÄE€„¼Bœò@B¬ø Â<‡Cþÿ÷`ï¯`ï& ΟXï÷ ¾þ@ •Åe E`E``B~Å8ïAÑ Ew0ïw.ïDw$À &ß  ‰‡  Ô @àÀ `ã‡Ô ‡•G´7vz Ö Î‡Ö  ‡7ˆH€ ÿ‚7��ÿÀZ 6�W ÿ‚w�{ÿÁZ N ¤†ÜÿÿBÜÿÿ¤ û×'ðß(ßð�À(@`@`�Áå( ƒ‰(‡¶“�‚+¶mÖ Ž] €€‡ à†‚ P‚~P�‚~‚��eŽe€NPŽP ‡ à†¾¯ öÖ Â<‡6 ù•€ÂE€ÿÂÕ •€ÂE€ÿÂÕ7ˆ �€¤ƒ~ æÂ<‡& ûÎEþÿöEþÿŽ÷ Jd`·n�þÿ ¦W à†‚ ‚~”‚~ÆeÂ<‡‚ù��e€€e€`�`!˜‚~òÖ Že€‚��ö ¤C~¤C~À €å–%Â<‡ € ö ¨óC~¨ïdþÿ‡Á �%  D~ "Ð ƒ~Á ø�E D~óÁ D C~Á �%  D~ Ð ƒ~Æ& Â<‡Ææø•AA~•€ÀE€ÿÀÕÀ ÀeC~€€cêÄîÄeüÿãίøíö¯ôí–%‡@ ÁeüÿAâp®6®–%‡ë‰€� "1, 1,1,^ ‡ ‚ñ% @`&‡•„ ÄE&~‡•AA~•€ÀE€ÿÀÕÀ Àe @`&‡•AA~•€ÀE€ÿÀÕÀ Àe @`ˆ‡„ ‡–åü–åù ö‡•�`‡Äšó`㇀ð ^Îÿÿ‡A ãñ%ð^·AØ€�æ&DaÁefÔ„ Â¥_û— 0‡— 9ƒÂE — A‡— Z‚ƒ ë‘�éÄå ƒ ‘�ü‚Ÿ� t�Á @L‡�Á A€@@A ‚tBtÖ ‚B@PžÂ<‡� Õ``f~‡ Õ�``A‘~Ö ‡€€c Ò‡€Že�‡•€fÀ r �îƒðCàà ÃøÁ Á fÁ �eÁe¦ƒ €$ $ $ $ @A ÁeÁeÁeÁeé Á>„„ƒ‚ÂeJÂ<‡ †‰``•&& � †`À Á ú‡Žå ‡Î‡ŽåûøŽåøõ•€ÀE€ÿÀÕÀ Àe @a&‡&•6•‡ŽååâŽåâß•€ÀE€ÿÀÕÀ Àe @a&‡ŽåÓÐ!$'(****AND 'ARRAY ,BEGIN CASE CONST DIV 'DO DOWNTO•€ÀE€ÿÀÕÀ Àe @aˆ‡ ‰‰·\ÅdòÂ<ÃZòÄîÿ‡·@�€@`@`$fH@€à7 �`Áe‚À à€�B~Á  B~Â<ãÁ _ ELSE END EXTERNAL5FOR FILE .FORWARD "FUNCTION GOTO IF IMPLEMEN4INÿÿ·7ú@`À ð d‰ìd�&`f&d&b& ÷Ê�Á �mÁ Áef )INTERFAC3LABEL MOD 'NOT &OF OR (PACKED +PROCEDURPROGRAM !RECORD -C  âÿÂà·ðÿ ¦÷ V‚¾‚ ¼ÎU· Æþ·¦÷ >Âe0— €ìÂà· ¾ÿô‚¨Á W <§†Á]¤ÀÜþ@à€Àe" ðÂE@”W ^Á<Àå ÀE€þ&@”ÂÃ% ‚ÃeóC ‡~Â�ŠÃÃ% C  ƒ`ƒ`ƒ`‚ ‚ ÃåýÃe÷�ù·�ó‡7ŠîÃý Ã%Ãå‚ ù÷‹¡Ãêü Ã%Ãå‚ ùÃ%·Š¶·�±·ŠW ^Á<ÀEàÿ  Âdÿt`— €ì‡Âå€ ‚UËÂe€— €ì‡ÂE€€æÃ:ÿtùÿ×tùÿÀà€Àeƒ ´¦ÂE÷ †‚ßeâÿ×'âÿ‡ âÿ÷e€þþ×-­Â à ƒ` Ã%Ãå‚ ùƒ ÷�“‡@€îtÜè@@úþ€ìž‡÷E€ðþš€ÀE7 äþ”Â倗 à�†Âe€ Œ”””””””ðè¬&â”””””””””””ú””RæÀPƒÃE€ÿÀàà Ò�Tÿÿÿÿÿ$ ÿ ÿþLÿNÿ÷ ìÿý�€wâÿÉU€ Ó æ· Ôÿ·ÐÿÿE@ÐÿREPEAT SET *SEGMENT !SEPARATE6THEN TO TYPE UNIT 2UNTIL USES 1VAR ~ƒ‡Š÷ ðÿý7 àwæÿÉU€Ó Î÷ ŽÄÔÿ”@œÀEüÿ”€€ ã  ×@Īÿ7êW‘ Å¥ú Á�"• P”‚~wô WHILE WITH �àÞŽêÞŒê�‡7 è÷)¦€& æ€@  z7 Ò÷)¦7 Ê÷ˆ)7 Â÷l)7 º÷f&7 ²÷Ò*7 ª÷j&7 ¢÷Ö'ÅÅEüÿÀò€À €wÒ÷•wE 7°ÀÂ"÷ DÅ ø�7  ÷ˆ"Wa÷Œ"Waw‘TÀš"÷ ÷¥üŽÿ ÷ŸÜÿ†ÿ÷�1�ÿü|ÿw†÷µ ÿ•ÿ¼ÿ× 7 š÷ ,·\ vwŠ÷÷ *ùÂ<‡÷ Rù‡×'ðß(ßðÞ(‡Ÿ(ßð‡æ‡€@ BÈCzEG@ÃHPtJ$L€–¾M ¼nO(kãw`À¯÷µÀß7 7�Àž"÷ Äÿ‹Œÿ)€w‘÷w‘ï÷•îÀ§"÷ ¨ûÀ£"÷ žöw‘åÂ&Ã0"÷ 4À·"÷ „éÀ��ÀÝ…€ ÀEüÿ?�Fÿ?Š8ÿQùºR·ChT¥ÔV焵W!æcY©_[ʱ\¼¢^^k `#Ç­aìxXc'×ex†©fhShÂjQY¥k¦oNm�Ëo9?¡p�IrÊòüs|o�u®ÅEw7öxß„šz @|Ηð}½€ � &À À &Ÿ>ÿ€ÀE÷¥ûÔþ Âa¼wÔ÷•‡Á�¶þ.7“{÷•W÷��p€ b÷�€eÌ  ÷‹ZÐ Á¥ÿ÷•G÷€–÷ ÐÀ Àa7®`Á¥ýZ&X‡‰Ê‰‡€Àç(¡ &‡7 |övª‚Ð7 nö|ªôÐ7 `ö|ªŒÐ7 Tö”ªÜô ôÐ7 <ö”ªèô ôЦ6 Æå÷T7Ší9€ ÷•÷€d7�‚ ·�Ó÷ ”÷¾!~÷•¾À ÷x!n÷•®Ãà à ÷öÿÀaL÷�–•÷-Lòÿ†÷Dêÿ÷íæÿ<ÿ 6· Ìÿ÷‹\É =€¶ "ù  Š\¶m¶¶Ž\ � W Á �mÁ ÁefÉ5`\Å_Æe wÊõÉ5 ÅôÉ5@ù��àÉ ù��®÷Õ¤÷�¡š÷¯$þ™À§"÷ L?ŠþÀ£"÷ >ðøÿ�yþÄ \šÿÃäþ÷ ÌÀ¬"÷ ÷µ9ñã÷ÅLÁtÿÁ w`¼þ÷ŠA�÷ º´÷µ-\É‹ýE’ Šâö5Þ\ù\ù\öfž F^ªT 2´&²ºÐØàèðø,FRð,: × ý�9÷Rÿ÷ "šþ³÷ ž/¢&Í „…_Æw ðÿ÷E (ýß$ý ò÷ „ÁÄÅ_÷æðÿ&Īüä Ì þ„‡ÄœüìUÿ•ÿDý÷‹íü÷ \×ÀwôÿÉU€Ö Ó ·j·j�K�À÷ ÒÿÿE€Êÿ7 Æÿ÷Jßäÿ�‡÷-`fß5tÿDÿ‹øÿ� PŸ 6_ 8׌†ßEäÿ÷ €ÿ ß@@&Ä|üìE€ „‡ÁòÉÃÉ÷U²ü  Â]Öÿ€÷E¢ü¡‰· ˜ü‡7Ü|"g÷Çû÷a7œ"`7œ‚"[7œ…"Vw‘Lw‘Cw‘;‡·¢”7’Âòý€B D�àÿßäÿÿE€lÿ7 hÿ_Æ&À€  ^À< <ß—vÿ<7úÿ€÷öÿìÿ÷ôÿˆÿß|â&f¦æäÿßEäÿÂàÊ• Á°ÿ@”W ^”ŸòI~’A�÷<÷ |� ÷r ÀÂ"÷ Âÿ_ À“"Âòý€B �Å #€E %Âò��M~× ÷µ@¹Â�³€ÂEüÿ… ÿ•ÿHü Âaò•ÿ”·Š“7 Á<  †À x*�w šÿðwŒÿ·Îÿ·’Îÿ—¢ Ê•Àþ€ÒtÊ•ÿÁðï ߀äÿ ”QŠƒ~Ÿäÿ‚�€wôþÂEÖÂU‚ ÒÂ5Ï ÍÂàÊÎÿ÷Š‹wÚþ7 Àÿ_·®þwžþ7žþwžþ÷‹½û÷ ,÷U¢ûßžû ò‡W—×W·Š�û‡ÅôÿÄìÿÃäÿÂÜÿÁÔÿÀÌÿ7Šoû‡7Š4ÃJýD \Î ¶� ö•€ æóæ5@¦¦æóæ5@7 X^&ø&b&Ò'''þ(ä&î&î&î&þ(b&þ(b&þ(b&þ(b&'Ê('þ(b&"'þ("'€�ÂV'f&¦¦\¶ ¶ \& ŽÝÎå€\¦¦\æræ1@\öŠæÙ[æÞ?\€�Ö …Æew &… š?UÌ? *@ÚªAD €�C ŠÃÃå˜Ã%èÿ  æ  ƒ üƒÁ @ ƒ ü …f&\À�À ‚ ‚ B Ž- ‡ ÆeÀ \z\D ²Ãf‚ °C_‚À  fW‡æ & æ€@&­Â à ƒ` Ã%Ãå‚ ùƒ ÷�“‡@€îtÜè@@&&&7 úD(þ()N(Ê(D(Ò'^&T(þ(b&Ò'b&b&Ò'4(b&:(þ(�(Îe€€\¦¦\æ;ªæ¸@\¶ \N @ Îåƒ  €�æ‚=æ@Âf&æysæEæ[\Tÿÿÿÿÿ$ ÿ ÿþLÿNÿ÷ ìÿý�€wâÿÉU€ Ó æ· Ôÿ·ÐÿÿE@ÐÿæpCf&f&\–%€�„ÄŠ„ a�… À€@…ÀÀw ¸  …¦¦6 6 & � f Â�6ŠA ‡Â üv�Š�ÐÁ  6ŒN\z÷ Âÿe÷ Àÿ]& ÷ Àÿ€7йÿÀ• 7Š®ÿÀ•÷ šÿ· ˜ÿ7Àß�ÿ2÷ Žÿ7 ˆÿÀå ÿ‹‚ÿý€ÿ• |ÿ· tÿ ~" w dÿ     ÷ X· Nÿ\€�‚ƒ\€�\¶¶ ‚ �N A f C�ŠÁÁå� Á%ʃÝC B Á ü … ‡ Ž\ ü‡æ w  òD& &&æÛæÉ@  wŠKÿÀ•  wŠ:ÿÀ• 7 ,ÿÿ‹*ÿý€ÿ $ÿý�?� ÿ€ÿU@ÿ· ÿ÷ ÿ_ÆÿE€úþ7 öþwòÝfÀ Áðþ÷UêþÁíæþ?�äþÿ‹Þþý€� ù�‡�€÷ Âÿe÷ Àÿ]& ÷ Àÿ€7йÿÀ• 7Š®ÿÀ•÷ šÿ· ˜ÿ7Àß�ÿ2÷ Žÿ7 ˆÿÀå ÿ‹‚ÿý€ÿ• |ÿ· tÿ ~" w dÿ     ÷ X· Nÿ7 ‚b&”)D& &&Î 6  æÛæÉA7 ^Ò'æ)d'^&ð)æ)d'ú)^&*æ)æ)þ((*þ(b&þ(b&þ(b&þ(b&þ(Ø)€�Ö Àe€…¦¦\Î ò¶Š\¶S\  wŠKÿÀ•  wŠ:ÿÀ• 7 ,ÿÿ‹*ÿý€ÿ $ÿý�?� ÿ€ÿU@ÿ· ÿ÷ ÿ_ÆÿE€úþ7 öþwòÝfÀ Áðþ÷UêþÁíæþ?�äþÿ‹Þþý€� ù�‡�€ö‹ Îe€& æ€@7 òb&*ļ)¶Œ†Îe€\€�ÂX*Ãf&¦¦à ú\:º×™¼c&£>X4%Àá]É@Û& & & & & D&&€D&&�À Š÷ ÂþÿE€ºþ7 ¶þ�‡PÿRÿTÿVÿÓ Å+÷ àÿý�€wÖÿÉU€ æ· Ìÿ·ÊÿÿE@Êÿ÷ ¸ÿ÷ ºÿ ÿŸ°ÿºÿÿU@²ÿ· ¤ÿ÷ ¤ÿ_ÆÀÁ ŠÁ@àÀ%7 rÒ'˜*ý  öIAöÛ ý öe€Î ÆeÀÉ@ÁÛý Àe€…& & & & & D&&Îe€¶ —#€@‡ö öÿE€’ÿ7 Žÿ_ÆÉÀöÛö ¦¦ö€@6 7 âÒ'(+¦¦6 6 —#‰?%‡‚—-£0 ƒö@ö’ €�æ׳æÝÀf&& æ€@æ׳æÝ@f&7 Šþ(^&Ž$Ž$Ó ÅK÷ äþý�€wÚþÉU€ æ· Ðþ·ÎþJ÷ Êÿ_Æ&ÀÀþ2�ÿŸ¼þ´ÿ· ²ÿ×-®ÿŽ/· ¤ÿ×- ÿ%À+^&Ò'ˆ+€�f&f&7 lþ(Ê+þ(b&þ(b&þ(b&þ(b&þ(b&b&æ+b& )¼+Ö …¶ ¶ \€�Â,Ãf&¦¦à ú\ö Îe€\Å>Â:¿L]L?ÛÆª¿÷Ž$–ÿ€÷ ˆþÿŸˆÿ„þ· ‚ÿ×-~ÿ%÷Ž$tÿ÷ tÿ÷ nþ· dþ��€÷ ^ÿã_Æ÷•Tÿÿ‹Rþ÷ Hÿ÷•Dÿ€÷ 2þïÿ�8ÿ*þ7 2ÿÿE€ þ7 þ_Æ�¤ª€@Ö \fEA#�&æ� Áe@ & f& f& f7 ÖÿÒ'b&6,Îå€ö ff¦¦î€�Ö ……w û  ÷&@& ÿ €…€÷Ž$ÿ÷ÿÿ7 ÿ÷ þÿE€øý7 ôýæß4&ÿU@ðýÅ –%Ÿ�‡�€÷ ÌýÿE€Äý7 Àý�‡Îe€z\æ& Dær汿¦)&&‚, ‰þE €÷Ž$ÿ÷ÿÿ7 ÿ÷ þÿE€øý7 ôýæß4&ÿU@ðýÅ –%Ÿ�‡�€÷ ÌýÿE€Äý7 Àý�‡Îe€z\æ& Dær汿¦)&&‚, ‰þ\Î ¶� ö•€ æóæ5@¦¦æóæ5@7 X^&ø&b&Ò'''þ(ä&î&î&î&þ(b&þ(b&þ(b&þ(b&'Ê('þ(b&"'þ("'€�ÂV'f&¦¦\¶ ¶ \& ŽÝÎå€\¦¦\æræ1@\öŠæÙ[æÞ?\€�Ö …Æew &… š?UÌ? *@ÚªAD €�C ŠÃÃå˜Ã%èÿ  æ  ƒ üƒÁ @ ƒ ü …f&\À�À ‚ ‚ B Ž- ‡ ÆeÀ \z\D ²Ãf‚ °C_‚À  fW‡æ & æ€@&AILED 4$: INVOKE RECAL ; SLAP'M BACK TO TRACK ZERO BNE 3$ ; TRY AGAIN IF NO WORKEE ; GET TRACK 0, SECTOR 7 INFO TO DET&&&7 úD(þ()N(Ê(D(Ò'^&T(þ(b&Ò'b&b&Ò'4(b&:(þ(�(Îe€€\¦¦\æ;ªæ¸@\¶ \N @ Îåƒ  €�æ‚=æ@Âf&æysæEæ[\ERMINE IF SINGLE, DOUBLE, OR QUAD ; ONCE DONE, UPDATE UNIT TRACKING TABLES MOVB R5, T0S7RD+2 ; UNIT # IN TRK0, SECT 7 READæpCf&f&\–%€�„ÄŠ„ a�… À€@…ÀÀw ¸  …¦¦6 6 & � f Â�6ŠA ‡Â üv�Š�ÐÁ  6ŒN\z TABLE MOV #T0S7CT, R2 ; DMA TRANSFER COUNT MOVA BUFR, R3 ; DMA BUFFER ADDRESS CALL DMALOD ; SET IT UP INVOKE T0S7RD\€�‚ƒ\€�\¶¶ ‚ �N A f C�ŠÁÁå� Á%ʃÝC B Á ü … ‡ Ž\ ü‡æ w  òD& &&æÛæÉ@ ; TRY IT BNE 3$ ; RETRY IF NECESSARY MOVB SL, R0 ; GET SECTOR LENGTH INDICATOR BISB VSI, R0 ; OR IN VOL SURFACE I7 ‚b&”)D& &&Î 6  æÛæÉA7 ^Ò'æ)d'^&ð)æ)d'ú)^&*æ)æ)þ((*þ(b&þ(b&þ(b&þ(b&þ(Ø)€�Ö Àe€…¦¦\Î ò¶Š\¶S\NDICATOR ASR R0 ; GET RID OF LOW BIT BIC #ISOLAT, R0 ; NOW A 0,1,2 OR 3 MOVB R0, @SIZADR ; STASH INDICATOR CLRB @TRö‹ Îe€& æ€@7 òb&*ļ)¶Œ†Îe€\€�ÂX*Ãf&¦¦à ú\:º×™¼c&£>X4%Àá]É@Û& & & & & D&&€D&&�À ŠKADR ; UNIT AT TRK 0 AND KNOWN ; 1) ACQUIRE DRIVE'S SIZE (SIDES AND DENSITY INDICATOR). ; 2) CHECK FOR SPECIAL FUNCTION ÷ ÂþÿE€ºþ7 ¶þ�‡PÿRÿTÿVÿÓ Å+÷ àÿý�€wÖÿÉU€ æ· Ìÿ·ÊÿÿE@Êÿ÷ ¸ÿ÷ ºÿ ÿŸ°ÿºÿÿU@²ÿ· ¤ÿ÷ ¤ÿ_ÆÀÁ ŠÁ@àÀ%7 rÒ'˜*ý  öIAöÛ ý öe€Î ÆeÀÉ@ÁÛý Àe€…& & & & & D&&Îe€¶ —#€@‡ö öÿE€’ÿ7 Žÿ_ÆÉÀöÛö ¦¦ö€@6 7 âÒ'(+¦¦6 6 —#‰?%‡‚—-£0 ƒö@ö’ €�æ׳æÝÀf&& æ€@æ׳æÝ@f&7 Šþ(^&Ž$Ž$Ó ÅK÷ äþý�€wÚþÉU€ æ· Ðþ·ÎþJ÷ Êÿ_Æ&ÀÀþ2�ÿŸ¼þ´ÿ· ²ÿ×-®ÿŽ/· ¤ÿ×- ÿ%À+^&Ò'ˆ+€�f&f&7 lþ(Ê+þ(b&þ(b&þ(b&þ(b&þ(b&b&æ+b& )¼+Ö …¶ ¶ \€�Â,Ãf&¦¦à ú\ö Îe€\Å>Â:¿L]L?ÛÆª¿÷Ž$–ÿ€÷ ˆþÿŸˆÿ„þ· ‚ÿ×-~ÿ%÷Ž$tÿ÷ tÿ÷ nþ· dþ��€÷ ^ÿã_Æ÷•Tÿÿ‹Rþ÷ Hÿ÷•Dÿ€÷ 2þïÿ�8ÿ*þ7 2ÿÿE€ þ7 þ_Æ�¤ª€@Ö \fEA#�&æ� Áe@ & f& f& f7 ÖÿÒ'b&6,Îå€ö ff¦¦î€�Ö ……w û  ÷&@& ÿ €…F  AND ACQUIRE THE IO BUFFER'S ADDRESS. ; 3) CHECK TO SEE IF ANY OTHER SPECIAL FUNCTION. ; (IF) TRUE, SET UP NECESSARY PARAMETEE PART) ASL R0 ; GET WORD OFFSET FOR DMA BYTE CNT ADD PC, R0 ; PREPARE TO GET WORDS TO XFER MOV WRDSIZ-.(R0), WRDMOV ;RS AND JUMP INTO ; THE NORMAL IO ROUTINE ; (ELSE) PROCEED IMMEDIATELY TO THE NORMAL IO ROUTINE. ; GET DRIVE'S DENSIT DONE CMPB #SPF375, R1 ; WRITE DELETED? BNE 4$ ; NO MOV #BIT0, WRDMOV ; YES- XFER 1 WORD AND ZERO SLUFF 4$: CLRB VSI Y/SIDE INDICATOR FLAG AND UPDATE ALL TABLES 5$: MOVB @SIZADR, R2 ; GET DEV SIZE INDICATOR MOV R2, R0 ; AND MAKE DENSITY  ; ZAP THE IO ITERATION COUNTER BR SPFUN ; JUMP INTO IO AREA ; 1) THIS IS ENTRY FOR NORMAL IO. DETERMINE IF A READ OINDICATOR BIC #BIT1, R0 ; BY CLEARING AWAY SIDE BIT ; IS THIS SPEC FUNCTION #373? CMPB #SPF373, SPFCOD ; CHECK IT OUTR WRITE. ; (IF) WRITE, ALTER IO COMMAND CODE ; (ELSE) PROCEED. ; 2) CONVERT LOGICAL BLOCK TO LOGICAL SECTOR NUMBER AND STOR BNE 6$ ; IF NOT, SKIP AHEAD ASL R2 ; MAKE DEV SIZE INDIC WORD OFFSET ADD PC, R2 ; GET READY FOR PIC REFERENCE MOVE. ; 3) CONVERT SIDE AND DENSITY INDEX TO SIDE VALUE AND STORE. ; 4) PREPARE FOR CALL TO DD MAPPING ALGORITHM. ; (IF) TRUE,  DEVSIZ-.(R2), @(R4) ; SEND HIM THE GOODIES JMP DONE ; QUICKY 6$: MOVB #READ, RDWROP ; ASSUME A READ OPERATION MOV (R4PROCEED ; (ELSE) SET UP FOR SD MAPPING. ; 5) INITIALIZE IO TABLE W/ UNCHANGING INFO. 5$: MOV (R4), R4 ; GET POS/NEG WORD )+, (PC)+ ; PICK UP BUFFER ADDRESS BUFADR: .WORD 0 ; DMA TRANSFER ADDRESS MOVB SPFCOD, R1 ; GET SPECIAL FUNCTION CODE (IFCOUNT? BPL 6$ ; BRANCH IF POSITIVE NEG R4 ; MAKE POSITIVE MOVB #WRITE, RDWROP ; AND OPERATION IS A WRITE, NOT READ  ANY) BEQ 5$ ; IF NONE, JUMP AHEAD ; SPECIAL FUNCTION IO SETUP HERE (NUMBERS 375, 376 AND 377) MOVB (R4), TRACK ; TRMOV #DMARD, DMAOP ; DMA LOAD RTN NEEDS THIS 6$: MOV R4, WRDCNT ; SAVE COUNT ASR R2 ; NIX LOW ORDER BIT, NOW A SIDE BIT ACK=WORD COUNT MOVB #BIT0, RETRY ; ONLY 1 RETRY PERMITTED MOVB LOGBLK+1, HEAD ; PICK OFF HEAD NUMBER BPL 1$ ; SKIP AHEMOVB R2, SL ; SAVE AS SIDE INDICATOR BIT CALL IOLOD ; LOAD UNCHANGING PART OF TABLE MOVA DDMAP, BUFR, * ; ASSUME DOUBLEAD IF NOT NEGATIVE CLR R4 ; SEEK ONLY OPERATION BR SPFUNS ; GO DO IT NOW 1$: MOVB LOGBLK, SECTOR ; GET SECTOR # TST  DENSITY MAPPING MOVB #BIT0, PSPLB ; AND 1 SECTOR/LOGICAL BLOCK ASL R0 ; DENSITY INDEX NOW WORD OFFSET BNE UPDPTA ; I(R4) ; TRACK ZERO? BNE 2$ ; NO, SKIP CLR R0 ; ELSE ASSUME 128 BPS TSTB HEAD ; SIDE 0? BEQ 2$ ; YUP, ALL'S WELF NOT SD , SKIP MOVA SDMAP, BUFR, * ; ELSE SET UP SD MAPPING MOVB #BIT2, PSPLB ; AND 4 SECTORS / LOGICAL BLOCK MOV (PC)+L TST (R0)+ ; NO, PREPARE FOR 256 BPS 2$: CMPB #SPF377, R1 ; READ OR WRITE OP? BEQ 3$ ; READ, IO CODE GOOD MOVB #WRI, R3 ; GET LOGICAL BLOCK NUMBER LOGBLK: .WORD 0 ; LOGICAL BLOCK FOR THIS IO ASL R3 ; X 4 FOR LOGICAL SECTOR # ASL R3 #373. ; (IF) TRUE, RETURN SIZE INFO TO SYSTEM IMMED. AND EXIT ; (ELSE) PUT ASSUMED READ FUNCTION CODE IN IO TABLE ; TE, RDWROP ; MAKE WRITE OPERATION MOV #DMARD, DMAOP ; LET DMA LOAD RTN KNOW 3$: CALL IOLOD ; SET UP IO TABLE (NON-VOLATILG ACE BR 2$ ; ELSE RECAL, RESEEK AND RETRY ; UPDATE BUFFER ADDRESS AND PREPARE FOR ANY ; ADDITIONAL TRANSFERS. 6$: BIC------------------------------ ; ----------------------------------------------------------------------- .DRFIN ; ------------B #BIT2, UNITNR ; RESET HEAD INDICATOR MOV WRDMOV, R1 ; GET # WORDS XFERED ASL R1 ; MAKE BYTE COUNT ADD R1, BUFADR ; ----------------------------------------------------------- ; HANDLER ABORT ENTRY QBKILL: .ABORT ; ABORT ENTRY POINT  MOV R3, LOGBLK ; NOW LOGICAL SECTOR NUMBER UPDPTA: ADD PC, R0 ; GET XFER WORD COUNT MOV WRDSIZ-.(R0), (PC)+ ; DONE WRDMOPOINT TO NEW LOCATION IN BUFR DECB VSI ; DECREMENT IO'S/BLOCK COUNTER BMI DONE ; SPEC FUNCTION OVER BEQ 7$ ; COUNT ZV: .WORD 0 ; ACTUAL # WORDS TO XFER NXTBLK: MOVB PSPLB, VSI ; SECTORS/BLOCK GETCNT: CMP WRDCNT, WRDMOV ; MOVING TOO MUCH? ERO, MAKE OTHER TESTS TST WRDCNT ; MORE BYTES TO XFER? BNE GETCNT ; YES, DO MORE BITB #BIT0, RDWROP ; NO, BUT IS THIS BHIS NEWCNT ; IF NOT, GET NEW COUNT MOV WRDCNT, WRDMOV ; ELSE SET UP FOR FEWER WORDS NEWCNT: SUB WRDMOV, WRDCNT ; GET R A WRITE? BEQ DONE ; IF NOT, WE'RE DONE MOV #BIT0, WRDMOV ; ELSE SLUFF ZEROS TILL DONE MOVA ZERBUF, BUFADR, * ; POINT BEMAINING COUNT DSKADR: CALL @BUFR ; DO CONVERSION INC LOGBLK ; ADVANCE TO NEXT LOGICAL BLOCK (SECTOR) ; COMPLETE SETTIUFFER TO ZERO WORD AND CONT BR DSKADR ; KEEP GOIN' 7$: TST WRDCNT ; ANY MORE TO XFER BEQ DONE ; NO, WE'RE DONE BR NNG UP OF TABLE NOW SPFUN: TSTB HEAD ; HEAD 1 SELECTED? BEQ SPFUNS ; IF NO, SKIP BISB #BIT2, UNITNR ; SET HEAD 1 SPFXTBLK ; YES, RESET COUNTER ; ----------------------------------------------------------------------- ; -----------------UNS: MOVB TRACK, TRKNO ; PREPARE SEEK TABLE ; IO NOW ATTEMPTED W/RETRIES IF NECESSARY 1$: CMPB @TRKADR, TRACK ; ALREADY ------------------------------------------------------ .DRAST ; ---------------------------------------------------------------POSITIONED? BEQ 4$ ; YES, SKIP THIS FOLDEROL INVOKE SEEK ; GET PROPER TRACK BEQ 3$ ; IF GOOD, READ/WRITE THE STUFF -------- ; SYSTEM MACRO TO GENERATE INTERRUPT ENTRY POINT .DRAST QB, 5, QBKILL ; ROUTINE WHICH RECEIVES CONTROL UPON I2$: CLRB @TRKADR ; BACK TO TRACK 0 INVOKE RECAL ; ELSE RETURN TO TRACK 0 BEQ 1$ ; IF SUCCESSFUL, RE-SEEK BR 2$ ; ENTERRUPT BIC #, CONTRL ; ZAP THE DMA AND INTERRUPT ENABLE BITS MOV CONTRL, @#DMACSR ; INFORM CONTROL REGISTER LSE RETRY RECAL 3$: MOVB TRACK, @TRKADR ; UPDATE DRIVE TRACK TABLE 4$: TST R4 ; IS THIS A SEEK ONLY OPERATION? BEQ DONE  CALL SAVREG ; SAVE NECESSARY REGISTERS MOV (PC)+, R1 ; GET OUR REGS BACK HN1: .WORD 0 MOV (PC)+, R4 HN4: .WORD 0 MOV ; YES, WE'RE DONE 5$: MOV WRDMOV, R2 ; GET DMA STUFF MOV BUFADR, R3 CALL DMALOD ; PROGRAM IT INVOKE RDWRIO ; TRY T (PC)+, R5 HN5: .WORD 0 .FORK FRKBLK ; CRITICAL STUFF DONE, SET PRIORITY TO 0 JMP @(PC)+ ; RETURN TO INLINE AS IF NOTHIHE READ/WRITE BEQ 6$ ; MOVE ON IF SUCCESSFUL BITB #BIT0, RETRY ; RETRY LIMIT ODD/EVEN? BNE 5$ ; IF ODD, REDO IO IN PLNG AMISS CAPRTN: .WORD 0 ; PO BOX NUMBER FRKBLK: .WORD 0,0,0,0 ; FORK BLOCK ; -----------------------------------------H ----------------------------------- ; ROUTINE TO PREPARE THE DMA FOR AN FDC DATA TRANSFER DMALOD: MOV #DMADAR, R1 ; DMA DETURN ADDRESS SQUIRRELED AWAY MOVB (R0)+, R1 ; NUMBER OF COMMAND BYTES TO SEND MOVB (R0), TASK ; SAVE FOR SPFUN REQ #372 ATA REGISTER MOV R3, (R1) ; PASS UPPER BYTE OF ADDRESS SWAB R3 ; SWITCHEROO MOV R3, (R1) ; NOW LOWER BYTE BIS #BIT4,COMRDY: MOV @#FDCCSR, R2 ; IS NEC READY TO RECEIVE? BPL COMRDY ; IF NOT (BIT15=0), LOOP TILL HE IS ROL R2 ; IS TRANSFER CONTRL ; CONTROL REG WILL BE SET FOR READ ASL R2 ; GET BYTE COUNT DEC R2 ; TERMINAL COUNT=XFER COUNT-1 BIS DMAOP, R2 DIRECTION GOOD? BMI FATAL ; IF NOT, SHUT SYSTEM DOWN MOVB (R0)+, R2 ; PUT COMMAND BYTE IN STAGING REGISTER MOV R2, @#F ; ADJUST TC FOR READ/WRITE OPERATION BPL 1$ ; IF STILL A READ, BRANCH AHEAD BIC #BIT4, CONTRL ; ELSE PRIME FOR WRITE OPDCDR ; HAND OFF TO FDC SOB R1, COMRDY ; CONTINUE TILL ALL BYTES PASSED ; -- E X E C U T I O N P H A S E -- ; NOW G 1$: MOV R2, -(R1) ; PASS UPPER BYTE OF TRANSFER COUNT SWAB R2 ; FLIP FLOP REGISTER MOV R2, (R1) ; PASS LOWER BYTE INET THE RESULT PHASE BYTE RETURN COUNT ; IF ZERO: NO RESULT PHASE, RETURN ; IF NEGATIVE: MAKE POSITIVE, OBTAIN RESULT PHASE ; IO FAILURE DUE TO EXCESSIVE RETRIES/CONTROLLER SYNCH FAULT EXIT IOFAIL: MOV QBCQE, R4 ; QUEUE ADDRESS BIS #1, @-(R4) C CONTRL ; ENABLE THE DMA ACTIVE BIT RETURN ; ----------------------------------------------------------------------- ;  ; SET FAIL FLAG FOR QUEUE MANAGER MOVB #ZAPIT, @TRKADR ; MAKE HIM UNKNOWN ; NORMAL COMPLETION EXIT DONE: TSTB RESTOR ----------------------------------------------------------------------- IOLOD ; ----------------------------------------------- ; GIVE CALLER HIS REGS BACK? BEQ 1$ ; IF ZIP-NO CALL RSTREG ; YES, RESTORE THEM 1$: MOV #DMAWR, (PC)+ ; RESET DEFAULT------------------------ ; ROUTINES TO SET UP THE RDWRIO TABLE IOLOD: UPDATE RECMOD, RDWROP, * ; SET FM/MFM MODE BICB @# READ OPERATION BIT DMAOP: .WORD DMAWR ; DMA OPERATION, INIT FOR READ .DRFIN QB ; AND AWAY WE GO ; *******************SAFETY, RDWROP ; IN CASE DRIVE NOT CERTIFIED DD UPDATE BYTSEC, BPS ; BYTES PER SECTOR UPDATE SECTRK, SPT ; SECTORS PER TRA****************************************************** ; **********************************************************************CK UPDATE GP1TBL, GPL ; GAP LENGTH MOVB R5, UNITNR ; INSERT UNIT # IN APPROPRIATE TABLES MOVB R5, SEEK+2 MOVB R5, RECA*** ; S U B R O U T I N E S ; ************************************************************************* ; ****************L+2 RETURN ; IS DONE ; ----------------------------------------------------------------------- ; ----------------------********************************************************* ; ------------------------------------------------------------------------------------------------------------------ COMAND ; -------------------------------------------------------------------------- ; ----------------------------------------------------------------------- DMALOD ; --------------------------------------- ; COMAND ROUTINE PASSES THE COMMAND STACK TO THE FDC ; -- C O M M A N D P H A S E -- COMAND: POP COMRTN ; GET RI VOKE SENSIT ; AND REENTER COMMAND PHASE JMP @(PC)+ ; THEN GO HOME RTNADR: .WORD 0 ; RETURN ADDRESS MAKPOS: NEG R1 ; K ; CLEAR FAIL CHECK FLAG DECB RETRY ; ANY MORE CHANCES? BNE COMEND ; YES, YOU LUCKY PUPPY! FATAL: JMP IOFAIL ; SORMAKE TRANSFER COUNT POSITIVE ; -- R E S U L T P H A S E -- RESULT: MOVA STREGS, R0 ; STATUS REGISTER STACK ADDRESS RESRY CHARLIE OK: CLR FAILCK ; RESET TEST FLAG COMEND: JMP @(PC)+ ; ALL DONE! COMRTN: .WORD 0 ; WHERE IT'S AT! ; ----RDY: MOV @#FDCCSR, R2 ; CAN WE GET ANOTHER STATUS BYTE? BPL RESRDY ; IF NOT, WAIT TILL WE CAN ROL R2 ; WE STILL IN SYNC------------------------------------------------------------------- ; ---------------------------------------------------------H? BMI GETBYT ; YES, DIRECTION GOOD TST R5 ; YIPES! DRIVE STATE EXAMINE TASK? BPL FATAL ; NO, SYNCH ERROR COM R5 -------------- CAPTUR ; ----------------------------------------------------------------------- CAPTUR: POP CAPRTN ; GET R ; YES, REMAKE R5 TO POSITIVE UNIT # BR COMEND ; ALL DONE GETBYT: MOV @#FDCDR, R2 ; PUT STATUS WORD IN STAGING REGISTER ETURN ADDRESS FROM STACK MOV R1, HN1 ; SAVE OUR REGS MOV R4, HN4 MOV R5, HN5 ; DONE TSTB RESTOR ; RESTORE REGS ONLMOVB R2, (R0)+ ; EXTRACT STATUS BYTE SOB R1, RESRDY ; CONTINUE TILL ALL ARE RECEIVED ; -- T E S T P H A S E -- ; THIY IF SAVED EARLIER BEQ 1$ ; SKIP AHEAD IF NOT DONE CALL RSTREG ; RESTORE CALLER'S REGISTERS 1$: BIS #BIT3, CONTRL ; SES PIECE OF CODE CHECKS FOR SUCCESSFUL COMPLETION OF A TASK. ; STREGS IS THE STATUS 0 REGISTER WHOSE UPPER 2 BITS ; SIGNIFY THET INTERRUPT ENABLE FLAG MOV CONTRL, @#DMACSR ; TOGGLE CONTROL REGISTER RETURN ; RETURN TO SYSTEM, INTERRUPT WILL COME  FOLLOWING: ; 0 0 ----> TASK SUCCESSFUL ; 0 1 ----> TASK BEGAN, BUT FAILED TO COMPLETE ; 1 0 ----> ILLEGAL COMMAND (NOT EXP; ----------------------------------------------------------------------- ; --------------------------------------------------- BYTES IMMEDIATELY ; IF POSITIVE: WAIT FOR INTERRUPT, THEN SHIFT COUNT RIGHT 1 BIT ; IF ZERO: PERFORM A SENSE INTERRUPT STAECTED, NOT TESTED FOR) ; 1 1 ----> A DRIVE CHANGED ITS READY STATE TST (PC)+ ; PERFORM SUCCESS TEST? FAILCK: .WORD 0 ;TUS ; IF POSITIVE: OBTAIN RESULT PHASE BYTES MOVB (R0), R1 ; OBTAIN COUNT BNE 1$ ; IF NOT ZERO, MOVE AHEAD BR COMEN TEST FLAG BEQ COMEND ; NOPE BITB #BIT6, STREGS ; ALL'S WELL? BEQ OK ; IF SO, RETURN NOW MOVB STREGS, R2 ; GET ST0D ; ELSE RETURN, NO RESULTS PHASE 1$: BMI MAKPOS ; IF NEGATIVE, GET THE BYTES NOW ; ELSE SENSE END OF EXECUTION PHASE VI STATUS BYTE BPL 2$ ; JUST A SIMPLE FAILURE BIC #ISOLAT, R2 ; ADJUST DRIVES STATUS, IT CHANGED! CMP R2, R5 ; OUR UNITA INTERRUPTS MOV (PC), FAILCK ; WE WILL EXAMINE SUCCESS OF TASK CALL CAPTUR ; SET UP..AND WAIT ASR R1 ; SHIFT COUNT? BNE 1$ ; NO, SKIP AHEAD MOVB #ZAPIT, @TRKADR ; OUR UNIT BECAME UNKNOWN BR FATAL ; DOWN IN FLAMES 1$: ADD PC, R2  RIGHT 1 BIT BNE RESULT ; IF POSITIVE, GO GET THE GOODIES MOV COMRTN, RTNADR ; WE'LL REENTER, SHUFFLE RETURN ADDRESS IN; PREPARE TO MODIFY DRIVE TABLE MOVB #ZAPIT, DRVTRK-.(R2) ; SOCKIT TO 'IM INCB RETRY ; OUR GUY HAS AN ALIBI 2$: CLR FAILCJ WORD 0 MOV R4, (PC)+ US4: .WORD 0 MOV R5, (PC)+ US5: .WORD 0 INCB RESTOR ; LET CAPTUR KNOW WE SAVED REGISTERS RETURNODIES MOVB R2, TRACK RETURN ; ALL DONE ; ----------------------------------------------------------------------- ; -- ; THAT'S ALL ; ----------------------------------------------------------------------- ; ---------------------------------------------------------------------------------------------------- DDMAP ; ----------------------------------------------------------------------------------------- RSTREG ; ----------------------------------------------------------------------- ; ---------------------- ; Double density interleave algorithm. - DWL - Terak Corporation ; ; Input: ; LOGBLK = Logical BLROUTINE TO RESTORE THE CALLER'S REGISTERS RSTREG: MOV US5, R5 ; DO THE JOB MOV US4, R4 MOV US3, R3 MOV US2, R2 MOV OCK number (LSN) ; ; Outputs: ; TRACK = Track number ; HEAD = Head number ; SECTOR = Sector number ; ; Remarks: ; RegUS1, R1 MOV US0, R0 CLRB RESTOR ; RESET REGISTER RESTOR FLAG RETURN ; -----------------------------------------------isters R2 and R3 are destroyed. ; .MACRO MOD M,R,?A,?B ;handy macro .IF DF $TERAK DIV M,R .IFF A: CMP M,R!1 BGT B ------------------------ ; ----------------------------------------------------------------------- SDMAP ; -------------------SUB M,R!1 INC R BR A B: .ENDC .ENDM ; DDMAP: 1$: CLRB HEAD ;assume head 0. MOV LOGBLK,R3 ;get logical BLOCK---------------------------------------------------- ; SINGLE DENSITY LOGICAL TO PHYSICAL MAPPING SDMAP: CLRB HEAD ; HEA. ; ; Compute LSN Mod 15. ; CLR R2 MOD #15.,R2 ;LSN Mod 15. ; ; The quotient is now in R2, and the residue in R3. ; D 1 NOT SUPPORTED AT THIS TIME MOV LOGBLK, R3 ; GET LOGICAL SECTOR # MOV #8., R2 ; 8 BITS FOR DIVIDE 1$: CMP #6400, R3  ; TSTB SL ;number of surfaces? BEQ 20$ ;If double sided then ; ; Compute LSN modulo 30. If this value is less than 1; LOG SECTOR DIVISIBLE BY 26? BHI 2$ ; BR IF LOW, CARRY IS CLEAR ADD #171400, R3 ; YES, SUBT 26 AND SET CARRY 2$: ROL R35, we want ; to select head 0. Otherwise head 1 is selected. ; MOV LOGBLK,R3 ;get logical BLOCK again. CLR R2 MOD #30. ; SHIFT IN QUOTIENT (C-BIT) SOB R2, 1$ ; GO TILL DONE MOVB R3, R2 ; COPY OF TRACK # CLRB R3 ; REMOVE TRK # SWAB,R2 ;LSN Mod 30. CMP #15.,R3 ;which head do we want? BGT 20$ ;branch if head 0, else INCB HEAD ;select head 1. 20 R3 ; SIGN XTEND SECTOR CMP #14, R3 ; CARRY SET IF 13