IMD 1.17: 27/06/2012 8:45:59 UCSD PASCAL SYSTEM VII.0 DISK 5/6 PART NUMBER 61-0011-005 REV A DEMO PROGRAMS MANUFACTURED ON 6-NOV-80  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ÅÙÔÁ×@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@åÖÓñãÅÙÁÒ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@æÈÄÙñ@ÄÁãÁ@@@@@@@@@@@@@@@ðøð@ðñððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ðñððñ@ÄÄÙñ@ÄÁãÁðù@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñð@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁññ@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñò@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñó@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñô@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñõ@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñö@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñ÷@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñø@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁñù@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁòð@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁòñ@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁòò@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁòó@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁòô@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁòõ@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ÄÄÙñ@ÄÁãÁòö@@@@@@@@@@@@@ðøð@÷ôððñ@÷óðòö@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@÷ôððñ@ àöà&à–àlàÅ—km÷ øÿÇHBfÌÎ ûÖ …  À À & Ãå€ MPTú[äœ%G BREAKOUT.TEXT@[5 GT BREAKOUT.CODEú[“¡T\ PLANETS.TEXT@[5 \` PLANETS.CODEú[åž`a MASK.FOÄåú€Ä%òÿC Ãåý€Ãe€€ Á èöU7F ?IO ERROR WHILE BOOTING? 7$ ?NOT ENOUGH CORE TO BOOT? ÀTOú[ð'œab INVERSE.FOTOú[ð'œbx SPHERE2.FOTOú[è÷œx~ PANSINE.TEXT@[5 ~� PANSINE.CODEú[åž�‹ SALESÆ  Âe— àÊ ù·— €Ö‡ß ß• vÿß• öÿ7| SYSTEM.PASCAL? wÚ7b SYSTEM.8510/A? @AàÁw¶Â ‰À®Á ‰.TEXT@[5 ‹– SALES.CODEú[åž– OIL.TEXT\¥  ¬OIL.CODE\¥ ¬´ STARS.TEXT@[5 ´¿ STAÀÂ`!ÁÒ ÒmŽG~Àd!Â~â†� ‰â ·^·\÷F‚è……ìøÿÍÅå C& ÀJ& äÿ† 0  ÷ENÀ Á€Â ‚~À RS.CODEú[“¡¿Ò STARS.FOTOzSÅ ÒØ STR.DISP.TEXT@[5 Øâ STR.DISP.CODE@[5  Â_€‚~ßU@pÿÄÄe ÂÄþÃÌ5Ìw þÕE€ àÅ‹÷Ìw àýÅŠøw Öý å׋ïC!ÞÌÔ Å@Å D~Ì‹þ€Ì �×  wTþwøýÁD’Ô¤ ü€ÁåÀe€ÁeW ï‡7 ?YOU DON'T HAVE A €€ ”� ß‹tÿý€_�vÿ÷ @ @ €þåPASCAL5î*ü e¡ SYSTEM.8510/A\¸ > SYSTEM.PASCALb[“¡>CSYSTEM.CHARSET["œC_ SYSTEM.FILER@[ågŸ_~SYSTEM.LIBRARY\È ~Œ LETTERS.TEXTnZ¥ Œ‘ LETTERS.CODEú[åž‘Ÿ RATMAZE.TEXT\¥ Ÿ¥ RATMAZE.CODEú[å垥«DERIVATIVE.TEXT¥ «®DERIVATIVE.CODEåž®¶ SURFACE.TEXT\¥ ¶º SURFACE.CODEú[垺Ì WWII.TEXTåååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååå\¥ ÌÒ WWII.CODEú[åžÒØ PATT1.TEXT\¥ ØÛ PATT1.CODEú[åžÛã PATT2.TEXT\¥ ãæ PATT2.CODE ‰ÀÂöÔ<Àf¨,¨€’€4À~%€x$€Jà8àú[åžæô LIFEDEMO.TEXT\¥ ôú LIFEDEMO.CODEú[åžú CYCLE.TEXT@[5  CYCLE.CODE@[5 % CYCLE.PRO#€ÄV"à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€ÿÀÕÀ À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ððððððþßð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 Ê÷ª)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 † w dÿ     ÷ X· Nÿ  wŠKÿÀ•  wŠ:ÿÀ• 7 ,ÿÿ‹*ÿý€ÿ $ÿý�?� ÿ€ÿU@ÿ· ÿ÷ ÿ_ÆÿE€úþ7 öþwÐÝfÀ ÁðþÀŠÀŠ�÷�ÏÿÌÿ÷•@ÄÿŠ7мÿâÿŸ 6_ 8÷ °ü ßàÿÎÿE€žü7 šüŸäÿ‚�€_Æ÷þÎ âÿ7 vÿÂà7 þ7 þ7 Pý÷ àý7÷"äý÷UêþÁíæþ?�äþÿ‹Þþý€� ù�‡�€÷ ÂþÿE€ºþ7 ¶þ�‡PÿRÿTÿVÿÓ Å+÷ àÿý�€wÖÿÉU€ æ· Ìÿ·ÊÿÿE@Êÿ÷ w h07 Øý¦÷ ¬w Èì†w Nö‚!÷‹.ÿ7 ´ý…ÅáÅeJw¨ýwÿÀâÿŠ÷� ÿ ÿÍ €ÀU @e� ‡@ãâÿ…wxþ¦BEf€ÀE€ÿÁPàÀ¸ÿ÷ ºÿ ÿŸ°ÿºÿÿU@²ÿ· ¤ÿ÷ ¤ÿ_ÆÿE€’ÿ7 Žÿ_Æ À]pý�÷ |ýÊ‹��D~‚ G~ Á5�E~� � ����E~�‚…Âe€— €ì‡Âå€ ‡Â倗 à†Âe€ ‡ÀâÿŠ€ €` à†Àe€  …„ÿ|ÿ’ÿŠÿ°$°$Ó ÅK÷ äþý�€wÚþÉU€ æ· Ðþ·ÎþJ÷ Êÿ_Æ&˜¦ÄÿÞÿ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€÷‹ñ'�ÀUàÂâÿŠ‚ `— €ì‡Âå€ x÷•€ÎZ7ŠÈW÷€Òm7 ÌP× À�¯À]öÿ÷•…D÷•ÿÿ›÷•ÿw=7Š�íw ¸÷Zÿl÷ Fw bìI‡š wÈþå· ÷ ÷ ´D€Ä5HÄ5 ÷‹Þÿ �ÄÕ Ã:ÿÂ@Ä †S„~å ÷e€&ÿ÷-"ÿÞÿ†wnþ÷‹®ÿ.€÷5Â÷)÷ º÷ ´Ä5|w Œž‚ øw ž÷tÿR÷ <w Hì<‡Â øÀ AlèwŽ&f¦æäÿÁ6ß5tÿó÷ w ²ýíßE‡äÿÂàÀ � � Çeê@”  ×‡ÀEÿÀUò��€À „77÷ Š÷ :× ùÇ÷ .þ…×-&þìÿÕ ……ÄpýìUÄ`ÄE@ ƒ‚wHý·ƒ‚‡w .ý¦æÅþÇ÷:"øÿ÷ ¸üý‡÷¿Š÷  ¨†Êµ¬ÇmÐÿ€À  þÿH  &†ñÁ W Y‡Áå#w HýÔ^ÂEê÷.œÿ åÂU‚ áw Ò÷Šÿw ÆÂâÿŠ‚ ÂUàÒÂEw °€÷ B¦÷ÿŠ÷¿ŠFýÄÄÄU@ ‡Ã�ÂÃ% ‚ÃeóC ‡~Â�ŠÃÃ% C  ƒ`ƒ`ƒ`‚ ‚ ÃåýÃe÷�þ·�zþ‡LÿNÿ÷ ìÿý�w Z€ë‚ć ì†÷ tÿîw Ò÷ hÿ!w ˜‚ ÂUOw p÷ w €ë¨‡ ì‡÷ <ÿòw š÷ 0ÿw `ÿçʽ ÿÁW Y‡Áå#·Üþwºþ·’Øþ€wâÿÉU€ Ó æ· Ôÿ·ÐÿÿE@Ðÿ÷ Âÿe÷ Àÿ]& ÷ Àÿ€7йÿÀ• 7Š®ÿÀ•÷ šÿ· ˜ÿ7Àß�ÿ2÷ Žÿ7 ˆÿÀå ÿ‹‚ÿý€ÿ• |ÿ· tÿ ~"   €�æ‚=æ@Âf&æysæEæ[\æpCf&f&\–%€�„ÄŠ„ a�… À€@…ÀÀw ¸  …¦¦6 6 & � f Â�6ŠA ‡Â üv�Š�ÐÁ  6ŒN\z\€�‚ƒ\€�\¶¶ ‚ �N A f C�ŠÁÁå� Á%ʃÝC B Á ü … ‡ Ž\ ü‡æ w  òD& &&æÛæÉ@7 ‚„&¶)D& &&Î 6  æÛæÉA7 ^ô'*†'€&**†'*€&"*** )J* )„& )„& )„& )„& )ú)€�Ö éÉ¡«éOÅ¡O«èÉ¡«èÅ¡«¶Í¶FÍ¶è ‚Í¶é ‚ÍÁL¶ý̶¦S# ×ͶØû¾Í ¶¦, P# ×ͶÀe€…¦¦\Î ò¶Š\¶S\ö‹ Îe€& æ€@7 ò„&:*ÄÞ)¶Œ†Îe€\€�Âz*Ãf&¦¦à ú\:º×™¼c&£>X4%Àá]É@Û& & & Øú¾Í ¶¦, I# ×ͶØüØú•Øú‘¤ø••Í ¶Í­¡l,¶Ìèùá*²6ž!²F¦ *STK OFLOW*תP²F²F¾ž+žèý¢è£ šèû& & D&&€D&&�À ŠÀÁ ŠÁ@àÀ%7 rô'º*ý  öIAöÛ ý öe€Î ÆeÀÉ@ÁÛý Àe€…& & & & & DË¡ Í袚¹ö²6ž!²¤¶:𲤶9šè¢ ž"š¶8Âèú²?¶¢Âá èùè£ Í¹<¶צ Exec err # ͶèùÍ ¶Íèù á¶,Ͷ&&Îe€¶ —#€@‡ö öÉÀöÛö ¦¦ö€@6 7 âô'J+¦¦6 6 —#‰?%‡‚—-£0 ƒö@ö’ €�æ׳è£ Í Î,Â(“¡+žÁ, â«¶Ìì¢Ìëì¢,ºÃ¡b«í¢ºÃí¢ºÃ�¡êš¶¦Â:¿L]L?ÛÆª¿¤ª€@Ö \fEA#�&æ� Áe@ & f& f& f7 Öÿô'„&X,Îå€ö ff¦¦î€�Ö ……w ¢ºÍ¹ì¢+ºí¢ºÃ¡¶ ÍÁ¸-¶ÌèË¡.ê¢$éÀº¡ ¶ê¢ºÍ¶èÍ Å¡ ¶²tÍÁ@.¶¢ºÂ.Áû  ÷&@& ÿ €…¤, ‰þé$Â$¶Ìè¢Ìž&颺ˡ 颺Â.¹ 颺Â.Á6%¶¢ ºÂ.Áž&Â$¶ÌÂ&颺¡!²F¾:²Fž «è²F¾Ë¡²Fè‚¿¶²FÍÁD'¶¢%ÌéÉ¡«éêùÅ¡êù«èÉ¡«èêøÅ¡êø«¶Í¶é ‚Í¶è ‚ÍÁÅPꡞ&¶:ú¡+ž¶:¢š¶¥ÍëaÄëzÈ„¡ëa•A‚«ë«Á:)¶¦ Type ×Ͷ¢º“¡¶צ to continueÍêÂ)«¶Í “¡¤8>` € PASCALSYUSERPROGDEBUGGERPRINTERRINITIALIGETCMD ¶ÍÂ&ë Ãë¶¢,ºÃ�¡öë Ë«Áhp(ÆÞªPíצªìצªëšêš««2©2¥¾È¡5¥©2¾«3©3 È¡ ¥©2͹©3aÄ©3zÈ„¡ ¥©2©3a•A‚¿© ²Ãf‚ °C_‚À  fW‡æ & æ€@&&&&7 úf( )<)p(ì(f(ô'€&v( )„&ô'„&„&ô'V(„&\( )²(Îe€€\¦¦\æ;ªæ¸@\¶ \N @ Îåƒ  ¯¡ëï¢  ºd˯¡í««í‚«¹öÁ7 H è¤ Ìé«ë£•ÌêÜÈ¡èê¤ èꂤ ¨ ê‚«¹öè룤 ¢צªë¢ë£•šÁ0H"è¤ Ìì£dÃ�èÃ�¡òîÿÂË¡¶š¹ì««ëì¤ £Èí“„¡ìë¤ øïøÃìë¤ ùïùī낫¹öí“¡¶š¹ìë•«èÃìë¤ ¢  ºdÄèÃ�¡ëìÂ"¹ôï¢ì «éÌëÝÄ¡è낤 èë¤ ¨ ë•«¹öèé¤ ê¨ ì¢ì£‚šÁ*@#ØÙ•ÌÛìÅ¡ï«ì« Ú«Û«¹ Ûóš۫ Ú«­ö,0«ê¤ £« «« ìÈ«êËêëË„¡êìÂ"êëɡ땫ìë¤ ¢  ºdáï¢  ºdá ï¢ ²C¨¹¹#CºË„¡ ï¢ ²C¨¹ ï¢ ìë¤ ¢ ¨ï¢ïøî£ ‚šî£¡ï¢ î£šî¢ »î¢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ê¢ šê¢šé¡ê¢!ê£Ç꣕ž êÿê¢!Çê£ê£ ‚•žéê¢ºÃ„ê£ „¡&ê¢ ê£ ‚šê¢!Çž êÿê¢!Ç꣡î¢ÇöžêîüÇìžîøÃ«ì¡òîü¤ Ì «ðøÃÃ ‹ð¢ºÄ�Ãð¢ºÃ„�„¡ôð¢¾Åð¢¾È„ð£Ä„ð£MÈ„¡t«ð¢ïê£ ‚žê¢Çšê¢ šê£ê¢ºÄ¡ê¢ šÁ î1¶šëÌ©ý¡¶ š¹îꥥ¥ ¥ Â!¡ðéÅ¡ éÃéÃ�«« ¶7Ì©ý¶üŸÃ„¡U¥ ž ¶·¡i«ëð£È¡Fîüë¤ Ì ñ¢¾Èñ¢¾Å�ñùñøÉ�ñ£ ÇÅ�ñ£ È�ñ¢  ºdÄ�¡ «ëîüÂ"¹ë‚«¹öì“¡êîüð£‚�žîøÃ«ì¡ïð¢ªï¢ðÿš¥ð¢ÿò•«ïÅïÇìÇ�‚É„¡:ò¶6•«ïÅïÇìÅ„²~©ÿ¤©¢¯„¡©ÿ¶6Çì©£ž²6ž!« ¥¥Â«íá¶ š¹ò²~í¤Ì©¢š©¢š©¢í ž ì«ì“¡ï¦×ªï¢Çÿšî¢ž!šÁ«!9¡ D*²~é¤Ìè¤ Ì©©¢¯©¢ºÃ©¢ºÃ�„«ì¡~¥¥ž ê©£ •Ç,Èê©£ •Ä„¶¢š©¢¥ª©¢ 𩢩ü𩢩ü©üË„šìŸË¥¾Å„¡ö¥éì «é¡îá ¶ š¹ô¹ ©¢ìî¤ ¨ ¹uîÅ¡ ¶ š¹ô¹gñá« ¥ðñìÂ/«îÅñĺ„«ì“¡é¥žž"á ©¢¥ ¯«ì¡:©šéè©£‚�žž"ë©ù áéè©£‚�žì¡¥©¢ ž ì“¡©¦×ª©¢ÇÿšÁ$È¡+ìî¤ Ì©ù©ø•¡ ©¢©ù•š©ù©ø•É¡îìÂ"«îá¶š¹ô©¢ìî¤ ¨ ©¢šíì¹a饾˄¡¶ š¹ô©¢Ì©š©¢Çÿš©ü¡©¢©ýš©«Ꟛ««ì¾Å¡qì¾#Ãì¾Å„¡?««« ìñ¾²z¼‹¡ í �ìñ¾‚0•«¹«ñ‚« ñì¾Åï“�¡öïíÅ„í È„«î“¡!« «ì²~í¤¯«ï“¡í•«ïí¢ñ»©¢¦×ª©¢ Çš©¢ Ì©»©»© »é¡©¢ ©£©£•𹩢 𩣡n©¢Çš©¢ šé¡ ©¢©£š¹©¢Çš©¢Ì©¢ºÃ�¡ôï¡`²~í¤ü¡W¶Ì «òüŸË¡!ìòü¤ ¢¯¡¥ ¥ ž ðòü¤ £ •Ç,ȫ$î«íÂ*¡î“¡ìòü¤ ¢¯«¹¹ž"ëï“ë„¡, «²~í¤Ì òü¡ íÂá9©¢ šé“¡/©¢!Çž ©ÿ©¢!Ç©øž©ÿ©¢!Ç©ø‚žé¡ë¹ëÂ1¶øË¡©¢š©¢š©¢šó¡)¥ ž!¶¢Ÿš¶ø« ¶7ÿ¶6Çì*¡ìò¯«ï“¡í•«ïíÃ�¡òï¡2²~í¤Ì í«ò¾Å¡ìòªòü¶üŸË„¡ê¶üš¥ êø¤ ¢ ž Á`é+ \«««íê¤ £Èî“„¡(êí¤ Ìï¢ì¶7£ž¶ôš¹¶šÁ( :VQ2ò¶šéÌîýîø¶8øË„¡êîþ¡îî¢Ìšðèáî¢ î£ šï¢  d»«î£¡î¢î£šéÂ1î£ï¢  º ¾ á îø ¿î¢š¹sîø¾á#èÂîø¾ •«éÅéÈ„¡ îø ¿î¢éš¹KèÂîø¾Ã¡/î£î¢ºÄ¡î£ ¡ î¢ î£ ‚šî¢ÇšèÂ¹îø ¿¹¹¶ šî¢šî¾é•è•‚«ëáêé•¿¹ëÅ¡êéè‚êéëžêê¾è•¿Áè@«ë¾Å¡Q뾫«ê¾ë¾•‚«¥뾿íìÈ¡2íìí•îêíž ‚«íìÅ¡¹êí¥ë¾¢šÁºx¶¶šèÌîý¡òôî¢Ìîü««ïøî£ ‚ïùá1î£ì‚ï£ Å¡èÂ2¡ ¶š¹ð¹ Ç«¹ ï£ î£•«¹ Ç«ì«ž¥ë¯¡í«¹í‚«¹öÁ�:X f¸E²6ž!²~¶ú¤²?·¡8²FצPut in :ªP²?²FPÍÂ'Ç «è•«èáö¶úÂ*¡¹ô¶E͸EéêÅ¡ê«éÅ¡$î¢ šîøëî¢!î£éžî¢î£邚ëé‚«ìé•«ìëí“¡hî£ ¡î¢ šî¢šîÿî¢!Çïøî£ ‚•žž"Ë¡¹ðî£ î£ É¡îÿî¢!Çïøî£ ‚ž¶E¹ ŸŸÍ¹Í¹¬ ¹ !#¶EÇà‹¡$¶ á¶Âž"Ë¡ž"«¶ÍÂ& èͶE ‹¡²¤øÂ²¤øÂž#ž#�¡ž&¹ î¢!Çž ž"Ë¡¹fî¢ î£ ‚šî¢ší¡öîüá3îø¾ á+á!î£Ç•Äî£ “„¡î¢Ç•šîø¿è¹îÿîøîüžž"Ë¡¹¹¶ šî¢š¶EáòÁ¹â߯ ò+ŸÌ6ÍÂ+Ê6ŸË¡ÍÊ6ŸÃ¡öÖ ÿ° ŒØÞTšŒ4¨°úP"hv¸fŠ J¶ü.†*ÀðºLÁ +Uzêú«Á êù«Á èø ¿èÂÁêÌëý¡O룡èÅ¡ëø ¿êÂè•«¹öëøé¿ê¹*èÅ¡ëøÈ–ò .ÊTf* zúF î Ú Úúd2¡¹êí¥뾞¥ë¯¡í«¹í‚«¹öÁ�:X f¸E²6ž!²~¶ú¤²?·¡8²FצPut in :ªP²?šìë¤ î¢¨ îÿìÂèáá ²~îÿ¤צªî¢šî¢šî¢šÁ/13:! ¢¶¢ šÂÁø ¶¢ šÂÁø¶ ¿ëÿëøžè•«¹ôëøé¿ëÿëøž¹¶ šÁ£4T h«¥ ¿«éÉ¡ 逫¥-¿«éᥦ-32768ת ¹P«ÌìåÄ¡>é²oì¤ø†0‚¢ šÂÁø««êÌ ð¢Ì ñ¢¾Å¡ôðÿð¢¥ÂË¡¶š¹ò««ëï¤ £Èí“„¡ïë¤ øñøÃïë¤ ùñùī낫¹öí“¡¶š¹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³ Ð é¾ê¾‚èÈ¡éê꾂龞êé¾ê¾‚¿Á*èÅë¾Å„ë¾ê¾‚î¢ šî¢šîÿî¢!Çïøî£ ‚•žž"Ë¡¹îîÿî¢!Çïøî£ ‚žž"Ë¡¹îî¢ î£ ‚šî¢ší¡ö¹îÿîøîüžž"Ë¡¹îîüáòîûˡîøéÈ„¡4ê¾è•‚«ìÅ¡êèêè뾂ìž«ìáëêè뾞êê¾ë¾‚¿ÁRê¦×ªPéÅèÅ„éè‚•ë¾È„¡ ëéêèžêè¿Á,éÅèÅ„¡.ê  %¶Æ®ÎÆ‚€ÍÆ‚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ª(¹.¬ª(¥€ÅÌÆ¦ 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 îÔß ‚ (¶¢ÌÙ¢º š٢ »ØÙ¢º¿ØÙ¢ºž ­4Æ*Æ�V`ͲtΟ¸D²o¤š²o¤ š²o¤dš²o¤Çèš²o¤Ç'š²z³rÿ¥צUnknown run-time errorª(é¹ò¥צValue range errorª(¹ð¥צNo proc in seg-tableª(¹ð¥¦Exit from uncalled procת(¹ð¥¦Stack ½¶Ì�¶Ê�¶¢šÊ�¶šÊ�¶¢šÆצ*SYSTEM.MISCINFOªPÆ*ÆÍž"áOÆ*Í “¡?¶Ì�¶Ê*Ì�·Ê�¶¢Ê�·¢¨Ê�¶¢Ê�·£šÊ�¶¢Ê�·¢¨ overflowת(¹ð¥צInteger overflowª(¹ð¥¦Divide by zeroת(¹ð¥צNIL pointer referenceª(¹ð¥צProgram interrupted by userª(¹ðÊ�¶¢%Ê�·¢%¨ ²tÎÆ*Íž&Æ*Í­n ðÆتÙž&ž"á ²~٤ƪ­ ²€Ì¤ ¦:SYSTEM.ASSMBLERת²€Ì¤ ¦:SYSTEM.COM¥צSystem IO errorª(¹ð¥צ unknown causeª(è¹ö¥¦ parity (CRC)ת(¹ô¥צillegal unit #ª(¹ô¥¦illegal IO requestת(¹ô¥צdata-PILERת²€Ì¤ ¦:SYSTEM.EDITORת²€Ì¤ ¦ :SYSTEM.FILERת²€Ì¤ צ:SYSTEM.LINKERªÆ�&²€Ì¨< Ì�bÆŸ‘ÍÌ Ì�cØÊ�cÈ¡ì²~ؤ²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¶¥Í¶  ¹î衲;²?ª²?ÆÍÌٟáž'²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¹òښ̶Æצ:ÍÆÙÍÆªÜÆŸÍØÜý𨸡 ÚÜ¢ªÙÜ¢ªÜÍ­H d ¸ ¸ ¸ è¡0²&צª²צª².צª²²?ª²²?ª²²Í­e fì@^²€ÌÚ¤ ÆÏÌÊáò²€ÌÚ¤ ÆÆÆÆÍ!¡ôÌʂ̲~Ê¤Ì Ê ü¡eÊ ¦×ªÊÍ*¡UÊ ¶ü¤ ¢ªÆ?ª¶ צ*SYSTEM.WRK.TEXT²²&²Î ¶¦*SYSTEM.WRK.CODEײ²²Î ¶¢,º¸¶¢º¸¶¢º¸ ­ª¶7Ͷ ÍÌ!Æ!Ê ÍÆ!¦:×ÍÆ!ÆÍÆ!ªÆ²€ÌÚ¤ ·¡ÆÆÏ¡ ²€ÌÚ¤ ÆªÊ ÃÊ‹�¡öÊÃÌÊá²€ÌÚ¤ ÆÏ¡­©R â¶Í¶:Ͷ9Í¥¦CONSOLE:ת(¶:¥ŸÍ¶9¥ŸÍè¡¥¦SYSTERM:ת(¶8¥ŸÍ²¤¶:𲤶9𲤶8š²¤Ÿš²¤Øá¶צ Assembling͹¶צ CompilingͶ¦...×Í¶ÍØáÌ9¹Ì9Ê9ϡ'ÆÌ:Æ:²ÍÆ:¦:×ÍÆ:²&ÍÆ:Ÿš²¤Ÿš­  ¶6ŸÃ«¥¤צ???ª¥¤¦Janת¥¤צFebª¥¤¦Marת¥¤צAprª¥¤¦Mayת¥¤צJunª¥¤¦Jª(¹yØá¶צAssemble͹¶צCompileͶ¦ what text? ×ͶÆ(Í¶ÍÆ¦×¯¡¹ðÆÌ:Æ:Æ(ÍÆ:¦.TEXT×-ÍÆ:ª(¶ ulת¥¤צAugª¥ ¤¦Sepת¥ ¤צOctª¥ ¤¦Novת¥ ¤צDecª¥ ¤¦???ת¥¤צ???ª¥¤¦???תè¡Î¹²6ž!ÎÎ ÎÎÆŸÍž"Ë¡$¶צ Can't find ͶÆÍ¸¹ðÆÌ:Æ:²€ÌÊ9¤ Æ€ºצ:²€ÌÊ9¤ ÍÍÆ€ºÍÆ:¦SYSTEM.SWAPDISK×&ÍÆ:ª(¶7ÆÍ%¶¢º¡Î¶Íè¡ô©7“¡ö¶̄詄袺¡©„è£%†Í Å¡ ¶²tͶ¦ Welcome ×Ͷ²?Ͷצ, toÍ¶Í¶ÍŸÍÆ-¦*SYSTEM.WRK.CODE[*]ת¶“¡ò¶צTo what codefile? ͶÆ(Í¶ÍÆצ·¡ôƾ¶¢,ºÃ¡¹ð¹uצ$ÆÍÌ,Ê,Ë¡-ÆÌ�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  צ*Command: U(ser restart, I(nitialize, H(altªPÍ'ìÍ)«Í%ë³$z€‹“«ì“¡òë¹ö¶ÍΡ«ž¹ô¶ÍΡ«ÁýýýÿÿÿÁÝý�½½¡¿ÿÿ½½½�½½½ÿÿÿïïïïïïïÿÿÿßßßßßÝÁÿÿÿ½Ýíñíݽÿÿÿýýýýýý�ÿÿÿ™¥½½½½½ÿÿÿ½¹µ¥­�½ÿÿÿ�½½½½½�ÿÿÿ�½½�ýýýÿÿÿ�½½½­��¿ÿÿ�½½Á½½½ÿÿÿÃÊ,ÍÆÆ:Æ¾ÍÆ:Æ(Ê,ͦ$ׯÍÌ,¹öÆÆ¾¾]Ë¡$Æ-Ì:Æ:Æ(ÍÆ:צ.CODE[*]0ÍÆ:ª¹Æ-ƪ¶Æ-ŸÍž"Ë¡ ¶צ Can't opež¹ô¶¦ Linking...×ͶÍΡ«ž¹ôιôιôιôêË¡&¶צ Restarting...Ͷͫž¹¶Í¶צ U not allowedn ͶÆ-͹¸ ¸ ¸ ØáÌØ«ž¶ Ͷ7Í­_aˈʶ Ͷ7Ͷ¢º¡ž&¶ Å¡+¸¶Í¶ >*>$$~$~$$>> >.*.:*:8DD88(800   $~$|8(8Å¡Í%¶ÍÏ¡«ž¹ö²צSYSTEM.WRK.CODE·¡s²¶¢ª²¶¢ª²¦SYSTEM.WRK.CODE×·¡F²²ª²¾Å¡5²Æ²¾• ~8(8``0 > BB~~BB~>BBBBB>~>~~ ×ͶÆÇÿÍ¶ÍÆ¾Å¡AÆÆ¾¾.á ÆÆ¾Í¹צ.CODEÆÇÿƾ‚ÍÆ¥Ï¡«ž­ž¶¡mÍ%¶ÍÌÆ²>>"rBB^@BBB~BBB ">B""B~fZBBBBBBFJZRbB~BBBBB~~BB~~BBBRr~@~BB>BBB<ÍÆצ:ÍÆ²ÍÆÙإϡ)¶¦ Running...×Í¶ÍØ¡«¹«žêÇ‹“¡¸¹ ءϹϭ͆¶:¢š¶9B<@B<~BBBBBB~BBBBB$BBBBBZfBB$$BBBBB<~B0< B~>> 0``|@@@@@|>ÿ¢š¶8¢š²¤¶:𲤶9šêá'צ*SYSTEM.STARTUP¥Î¡ Í%«žêÇà‹¡ÎêÇ‹¡êÃζ¢ºáêá «Î¹ Ÿ¸<@\B|:FBF:BBBB>xx > ÿÿÿÿÿÿÿÿÿÿž¹ô¶¦ Linking...×ͶÍΡ«ž¹ôιôιôιôêË¡&¶צ Restarting...Ͷͫž¹¶Í¶צ U not allowedÿÿÿÿÿÿÿÿÿÿÿççççÿÿçÿÿÿÁÕÁëÿÿÿÿÿÿÛÛ�Û�ÛÛÿÿÿ÷ÁýÁßÁ÷ÿÿÿÑÕÑãÅÕÅÿÿÿïÇ»ç»ÇïïÿÿÇ×ÇïÿÿÿÿÿÿÏ÷ûûû÷ÏÿÿÿóïßßßïóÿÿÿÿÛç�çÛÿÿÿÿÿïïƒïïÿÿÿÿÿÿÿÿÇ×Ç͹RëRÃιJ«ëH៸6ž¹8¬AX¹0qz(ØÄ(*º "D&(”,.¨¡ðÁÇ Dvª¦\x†óÿÿÿÿÿ�ÿÿÿÿÿÿÿÿÿÿÇ×ÇÿÿÿŸŸÏçóùùÿÿÿý�¥¹½Ãÿÿÿïçëíïïïÿÿÿ�¿¿�ýý�ÿÿÿ�¿¿ƒ¿¿�ÿÿÿýýý½�¿¿ÿÿÿ�ýý�¿¿�ÿÿÿ�ýý�½½�ÿÿÿ�¿ßÃ÷÷÷ÿÿÿ�½½�½½�ÿÿÿ�½½�¿6«ž¸ ¸ ¸ «²FצKCommand: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem, D(ebug,? [II.0]ªPÍ'ìÍ)«Í%ë?á@²F¿�ÿÿÿÇ×ÇÿÇ×ÇÿÿÿÇ×ÇÿÇ×Çóÿÿßï÷û÷ïßÿÿÿÿÿÁÿÿÁÿÿÿÿû÷ïßï÷ûÿÿÿý¿Ï÷ÿ÷ÿÿÿý�µÍýƒÿÿÿý½�½½½ÿÿÿ�½½Á½½�ÿÿÿ�½ýýý½�ÿÿÿÁ½½½½½Áÿÿÿ�ýýÁýý�ÿÿÿ�ýý   ž"Ï­ ÌÙØ¾È¡3ØÙ¾!ÄØ¾}È„¡ØÙ¾aÄØÙ¾zÈ„¡ ØÙØÙ¾a•A‚¿Ù‚̹ØÙ͹öØ×¦¯¡ž­¹I T Æ ÜªÆÛªÆÚªÌ-ïŸË¡[ï¤ ÿÙÄ¡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 errorÿû÷ïÿÿÿÿÿÿÿÿÿÿ£½ƒÿÿÿýýʽ¹Åÿÿÿÿÿýý½Ãÿÿÿ¿¿£�½�£ÿÿÿÿÿýÅýÃÿÿÿï÷÷ã÷÷÷ûÿÿÿÿý½�£¿Ãÿýýʽ½½ÿÿÿ÷ÿ÷÷÷×ïÿÿÿ÷ÿ÷÷÷÷÷õûÿûûÛëóëÛÿÿÿû÷÷÷÷÷ïת(¹ôƦVol went off-lineת(¹ôƦFile lost in dirת(¹|Æצ Bad file nameª(¹fÆצNo room on volª(¹OƦNo such vol on-lineת(¹ÿÿÿÿÿ™¥½½½ÿÿÿÿÿÁ½½½½ÿÿÿÿÿý½½Ãÿÿÿÿÿý½½Áýýÿÿÿý½�£¿¿ÿÿÿÅ»ûûûÿÿÿÿÿÃýãßáÿÿÿûûáûûÛçÿÿÿÿÿ½½½½Ãÿÿÿÿÿ½½½Ûçÿÿÿÿÿ½½½¥™ÿÿÿÿÿÝë÷ëÝÿÿÿÿÿ½Ûç3ƦFile not foundת(¹¬å ¹þåÏ·£‹t`K1Ù¹òƦVol already on-lineת(¹ðƦText file lostת(¹ðÆצCode file lostª(¹÷ûýÿÿÿÿÁïãûÁÿÿÿ‡÷÷û÷÷‡ÿÿ÷÷÷÷÷÷÷÷÷÷ÿáïïßïïáÿÿÿÿÿÿÁßßÿÿÿÿû÷ïßï÷ûÿÿ²¼œ Ï¹Ï¹ö­�žQôˡϲ¼œ ÏôáòÆ žðƦ File foundת(¹ðÆצBlkd volª(¹ðƦ Unblkd volת(¹ðÆצ File nameª(¹ðÆצFile/(unblkd vol)ª(¹ðÆצFile/(blkd vol)ª(¹ðÆצà¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿File/volª(¹ðƦVol nameת(¹ðÆצOutput file fullª(¹ðƦWorkfile is savedת(¹ðƦNo directory on volת(¹ðƦNo workfile to à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿saveת(¹ðƦWildcard not allowedת(¹ðÆצ"Bad form (Wild Non-Wild) cardª(¹ðƦIll file/vol nameת(¹}ƦIll change (Vol <à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï?à¿ÿþûï?à¿ÿþûï¿à¿ÿþûï¿à¿ÿþûï¿`°Ál°  € ( €>øàƒ�ÀüñÇŸà¼Çæ›ï±`¸ÃÆ‹ï°to> file) nameת(¹UƦBad dest for files foundת(¹4¬¹,½"®Ÿõ¿Ýûæ�i°EƤb–U¿‚ÙÄ¡#ÆÌÆÆ(ÍÆצ `8à¸`8ÿü À¿`¸ãà ç¸`¸á‹o¸`¸ñ›o¼à¼þñçŸà?üàÃàààÀexpected1ÍÆª(Í&Ú Åž"˶¢º„�¡¶¦ I/O error #×ͶÚÍ ¹4¶¢º¡!¶צ Filer error #ͶÙÍ ¹ ¶ÆÍØ¡žø5 FILEHAND ­šÐÒð\¶ÍÍ&­ÚÍ)«î¶¢,ºÃ¡žîYÃÌ¶Í “¡¶Í­6ØÍ(¡ž­íïÍ  ‹Ì¹¬ ¹MJLN0A$6¶¢º“¡UÛ¡ ¶£&PɡϹ ¶צ, Ͷ϶á¶צ Ͷá¶צ ÍÌgÆ=¾#ÃÊgÆ=¾É�¡ÛιÆ=¾*á Æ=ÍÛ*ªØÌjÆjÛÍÆjצ:ÍÆjª($ÎÌhÊhÆ=¾É¡XÆ=¾²"¾‚•#Å¡žÆÆ=ªPÆ=²"¾Æ=¾‚•¿ž­fÆܪ(«Æ¥G¥[Æ¥Í!¡nءƞ ¥C¥Gª¥G¥Í«ïŸÃ¡+ëá Îëž&ž"ˡβ~ë¤ü¡ÎÎ¥[צ¯¡Î¥[²"Æ=Êh‚²"¾žÆÊh‚Æ=Êh‚²"¾‚ƾÊh••ž²"Æ=ªP=ÎÌgÊgÆ=¾Ã¡?ÎÌgÊgÆ=¾É¡,¶¡ Üó�“¡Ï« ÚÎÆ=¾ÌgÙιϹïÍ Ë¡Î Î Î­. ”ï¶ø¤ Ì¥sØ¢ª¥€ÔÌÆ¥WÍÆצ:ÍÆØ¢ÍÆª(Y««²צ·ô„¡cÍ&¶¢º“¡¶²PÜ“ó„¶Ä¡)ÌjÆj¥SÍÆjצ:ÍÆj Ï÷Ë¡ÏÚÎØÌjÆjØ(ÍÆjÚAÍÆjª(Ü“¡Ø ÊfÏë«¥O¥Gªí¥KϹ¥€é¦×·¶È„¡Í¶ ͶآͶצ ? ÍÍ)«¶Í “¡¶Íî¶¢,ºÃ¡«žîYø­¸ÆÛªÆ ƾ¿ï¶¤ ¢ÚÆ Æ¾žÌf¹Ìfó¡¥€Ô@ Ï¹¥€Ô¶ ¶Ï­ Æ rÆÞªÆݪÏÆ"צªPÆ¥W¥€ˆ¥k¥€ÔÎë«¥K¥GªÜÅ¡ž¥€é¦×¯ÜÉ„¡žÆ¥Æ Ư̭ 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 Ï1¿Æ 0Ú Ž‚¿Æ Ï ØÌØ¡,Æ¥ÍÚË¡Æ Æ ªÆ ¥ÍËÌ߯ Ư„Ìß“¡`Í&¶צPut ͶÆÍ¶¦ : in unit ×Í¶Æ Í¶¥{ž ‚¥c¾‚ÌÊÈÊÅó“�„¡E¥€¿Ì'Æ'¥SÍÆ'צ:ÍÆ'¥{!ÍÆ'Æ0ÍÆ'¥c?ÍÆ'ª(¥€ˆÊ&¢¯ó�¡Î¹¥KÊ&¢¦not proccessed×ϹΥÍÏØ¡Æ ¥ÍËÌß“Æ Æ·�¡ž­ÆÆÙ¨ÆºÅ¡5í¥KÏïŸË¡*ï¤ £Ì Ì àáÄ¡ÆàÀº¡àïÍ"à•Ì ¹öØ¡Ï ­¥" ÝøÀ»¥¥º•»¹î©á Ï©áÏ­3!:WÜ~,¶gÚ²=ž ¶gÄÌ­¶gÚÅÌÛ“$΄=΄?΄¡NÆÛªÆÚªÆÆ�KÇ‘ÍÆÆÍž"ÃÌž"áNƦ׷¡9Í&¶ÆÍ¶ ͶÆÍ¶צ ? ÍÏ“¡ÌžÆÍž"ÏÆ'ز=ƶgÍÆª(²=¶gͲ=ÍžÍ&¶¢º“¡¶²=ƶgÍÆÍ¶£&PÉ¡ÏÛ¡¶צ ...too long <ÍÙ¹F¶צ file nÍ­ „ ˆÆÚªÆÙªÆتÍ&¶ÆÍ¶:ͶÆÍ¶£&ÌÊPÉ¡(ÌÆ¾‚ÊšϹ¶¢º“¡¶¦×ƾƾ‚•Ͷ¦ ame ͹<¶¦ scan string ×͹#¶צ vol name ͹ ¬¹M8!Û¡1Ùá ¶Í ¹¶Í ¶¦ - char. max >×͹¶¦---> ×ͶÆÍ¶Í­4�Ø«ض‹¶Ã�¡ž²צ¯¡žÍ$ϲ¾*á-²Í²¾:á²Í¶²?Ͷ:Í Illegal format×Íž­T<²=¾Ú²=ž Ì­Æݪ¥€éצ¯¡cÍ&¶ÆÍÜö„¡.¶¡¶צ what file͹¶צ¹²¾:á ¶²;Ͷ²Í¶£&PÄ¡¶¦ - ×͹ÏÚÙÏعE̹X¶Ã¥[¦×¯„̹G¶³C‹Ì¹8¶³1‹Ì¹(¶³o* what volͶ¦ ? ×Ͷ¥€éÇÿͶͥ€éÏ ¥€é¾,¥€éž ÌgÊg#Å¡žÆ=¥€éÆjÊgÍÆjªP¥€éÊgÍ¥€éÍô?ÎÆ=¾É�« :Î  ¡ô­Æ£ ÐÆÆ�3Ç‘ÍÆ¥€ÔÍž"ÏÆÏÌÌÝ£ ¶É¡Ý£ ¸¥€¿¶Ï ̶ڕÌÙêÅ¡êÌÆ©ÙÇ‘ÍÌž"ÏÚÙ‚Ì ×Ͷ¦Text file saved ×Íñ“¡ ¶¦& ×Íñ“¡0צCODE²¥ ² Î#¡¶צCode file savedÍ­62Î"϶¶�¡o².Ü¡öÌ¥€¿Çü Ï¥C¦×·¥C¾#ÄëíIJ~ë¤ü„ëÃ�¡jÍ%ëá*¶צPut in Ͷ¥GͶ:Ͷ͹'¶צInsert destination צ¯¡¶צ not named͹2¶¦ Workfile is ×Ͷ²Í¶:Ͷ².Íòñ„“¡¶¦ (not saved)×͹¶¦ No workfile×ÍdiskͶÍÏ¥€¿Çø Ïë‹¡ Í%¶ÍÏ“¡ žØÅ¡Ï ¥¥€¿Íž"ϥϫ ðþ“Ýþ„Ý¢ºÄ¡Ø•Ì©ÇÇ‚©ØÇ�­v˜%¸¸².¦×ª²&¦×ª²¦×ª­(&ÆÆ�.Ç‘Íòñ„“¡9Í&¶צThrow away current workfile ? ÍÏ“¡žð¢Ý¢·ðÿÝÿÄ̹ Û¡ðÿð¢Ï¥©ØÇ‘ÍÌž"ÏØÙË¡ÏÛÆÍ “„¡ðÿÝ¢ÏÚ¶ÃÆÍ �¡ôðÌ/Ý¢Ì0Ê/¢Ê0£ šÊ/¢Ê0¢ž¹ Ø¡¶Íצ*SYSTEM.WRK.TEXT¦×ϡצ*SYSTEM.WRK.CODE¦×ϡצ*SYSTEM.LST.TEXT¦×Ï¡Ì*Æ*².ÍÆ*צ.BACKÍÆ*צº»Ê/¢Ê0¢ ¨Ê0¢ ºÃ²CºÅ„¡ Ê/¢²C¨¥Íž"ÏݢݢÌ/Æ/ð¢ÍÆ/צ:ÍÆ/ð¢ÍÆ/ÏÆÍÆÍ­¥Ütd צTRemoveÏ¡« « Ø¡Í&¶צWorkfile clearedÍÏ&ÆÍ­Tf 'Æ ÝªÆܪÌÌ Æ ²ÍÆ ¦:×ÍÆ ².ÍÆ Æ ÍÆ Ç€ransfer¦To where×Çè ÏÇÿÌÌ¥€ˆ¦×¯ó“„¡=÷H‹¡3¦Transfer×צblocks¦# of blocks to transfer×ÆÏ Î ¹צTransferÆ Ï÷á@̸ÛÌ Æ ².ÍÆ Æ ÍÆ ªÚ²ª¶¡ ¶צ& ͶÆÍ­* Ž)Ï'¦Getצ×Ç� ÏÏ&²¥Gª².¥[Ï¡ ÇÿÌÎ ¹ö¥€éצ¯¡ô­¡ . ªÆÆ�-Ç‘ÍצMake¦×Ç� ÏÏ¡hÆ¥€ÔÍž"ÏÆÏÌ)Ê)Ì*Ê*¢ Ê*£Ê*£•šÆª².¾ÌÚ•ÈÌÍ&Ø“ÌÙÚÅ„¡=².ÆÚ•ÍÆצ.TEXT¯².ÆÚ•ÍÆצ.CODE¯�¡ ².ڕͲ.¾•Ȳ.¦×·„¡:¦.TEXTצText ײÍž"ÏÍ&¶¥GͶ:Ͷ¥[Ͷ¦ made×Ͷͥ€éצ¯¡öÆÍ­˜T¬!Æ ßªÆ Æ�8Ç‘ÍÜšÆ Ì5Æ5¦ *SYSTEM.W&²Î)¸צ.CODEצCode ²²Î)¸ÌÙ¡ö¶¶�“¡Ï&¶צNo Ͷ¦ file loaded×Í­Í (¥€é¥€é¾-¥€éž ÍRK.× ÍÆ5Æ ÍÆ5ÍÆ ÏÌ4Ê4¢Ì5Ê4ý¡=Ê5¢  d»ÝÌ6Æ6².ÍÆ6¦.×ÍÆ6Æ ÍÆ6ªÊ5¢ݪÌÆ ͹ ÌÛšÚÏÆ Í­p ¥€éÍ­ª&+¸¥€é¾-¥€éž ÌÌÛÌÜÝÈ¡%¥€éܾ²z¼‹¡¶ �¥€éܾ‚0•¸Ü‚̹ö¶ŶÚḘ̏¦: \,¶¦%Date ¦#ÆÙªØ“¡ö¥€éÌÆ¥€éÇÿÍÆצ *SYSTEM.WRK.ÇÿÍÆÆÇÿÍÆ¦,×ÇÿÍÆ¥CÇÿÍÆ¦:×ÇÿÍÆ¥[ÇÿÍÆ¦.×ÇÿÍÆÆÇÿÍset: <1..31>--<00..99>×ͶͲCºË¡_¶צ Today is Ͷ²CºÍ ¶-Ͷ¥€•ƲCº�‚ÍÆÍ¶-Í÷áÏ¥ÇöžíïÇìžž"Ïï¤ ¢¥GªíïÇìžž"Ì+¥ž!Ê+ϲ~í¤¥Gª²?¥K¯¶úíÄ¡²?¥Gª²;¥K¯¡²;¥Gª¥K¦×Ì,Æ,¥Æ¦,×ÇÿÍÆªÿ­ ˜$Ì¥[².ª¥G²ª¥C²ªòñ„¡¶Í¶¶�¡ ÏÏ̲.צ·¡EÍ&¶¦Save as ×Ͷ²ÍGÍÆ,¦:×ÍÆ,Ϲ Ï¥€é¦×¯¡îÆÍ­´Ë>˜ÐצRemove¦×Ç€ ÏÌÌÆ ž ¦RemoveׯÏ¡Eô“¡+¥Gï¶:Ͷ².Ͷ¦ ? ×ÍÏÌç“¡צSave asצÇܠϥ[¾•Å¡ Ï¥C²?·¡/¥€éצªÿ¦TEXT×òÎ$¦CODE×ñÎ$¥€é¥€éÞ¤ ¢¦removed×϶£%ßá ÏÍ%Ìß‚ÌÆÆº‚»ÆÞÀ»¹ö© ‹ÆºÅ„¡,Í&¶¦Update directory ? ×ÍÏ¡ÆÏ¥€éצ¯¾ÍÌ"ž².¥[ª²¥GªÍ&ò“¡ö¦TEXTײ&¥ ² Î#¡hñ¡KÌÆצ*ÍÆ².ÍÆ¦.CODE×ÍÆ¦×Ï¡¶¦Old code removed, ¶²C ºÍ ¶Í¶¦ New date ? ×Ͷ¥€éÇÿͶͥ€éÏ Î,¡²CØ»Î+¥€é¾Å¡k¥G¿¥€é¥GžÌÌØÙÈ¡"¥GؾAÄ¥GؾZÈ„²?Ͷ:ͶͶצPrefix is - Ͷ²;Ͷ:Ͷͭ…ºÝ 0Æž Ìצ Zero dir ofצH ÏÏ ¶¡ ¥GØ¥GؾA•a‚¿Ø‚̹öÌ ÌØÙÈ¡$¥€•ÆØ�‚ÍÆ¥G¯¡²Cػ؂̹ôÎ+cÎ,¡²C Ø»ÌÆ²?ÍÆצ:ÍÆ@ Ï÷Ãë¶úÄ¡צDuplicate dir ? ÍÏ¡ ̦ Are thereצblks on the disk×צ# of blocks on the diskÙÆÏ ¶צNew vol name ? Ͷ¥€éÇÿï¤ ¢ ²C¨ëïͶצ The date is Ͷ²CºÍ ¶-Ͷ¥€•ƲCº�‚ÍÆÍ¶-Ͷ²C ºÍ ­ÊÕ6 *¶Í¶Í¥€éÏ ¥€é¥€é¾¾:Ë¥€é¦×·„¡!¥€éÌÆ¥€éÇÿÍÆצ:ÇÿÍÆªÿ¥€éD Ï¶¥GͶצ : correct ? ÍÏ¡öƻƅ,¶£%ö…,Ã�¡PÍ$Í&¶…,Ãô�“¡Ï²~ì¤ü“ô�¡Í%²ƒûͲƒû¥KͲƒû:͸…,¶¡ ¶£%¸…,²ƒûͶ…,‚¸…,­|.ØÙ¥GªÆ ²C¨í¥KÏíÆžž"϶ÆÍ¶צ: zeroedÍ­ºß p1¥ºÅ¡ô¶צFile(s) endangered:ͶÍÌMÌØÙÈ¡•ÌÚ¶…+šڸ…+¶…*Ú‚¸…*ÚŶ„¡B²ƒû¦ < UNUSED >×ͲƒûÚ Í ²ƒû¦× Íö¡ ²ƒûÙÍ ¹ ²ƒûÙÍ ®.­p/ƃûÆ…'Ǒͦl¥ØÀº¡\ïØ¤ ÌØÃ¡¶צ DirectoryͶ¦×͹¶Ú¢Í¶¦×Ú¢¾•Í¶ÚøÍ ¶ÚùÍ ¶Í؂̹ö­¥v °2ïŸDir listing of×צ‘ÇÀ Ï¥€¿¦×·ÌÙ¡Æ糖ö¹ ¥€¿×¦#1:ª(ƃû¥€¿Íž"ÏÙ¡ïÆ¨ƒöÌ….Ì…-Ì…,Ì…+Ì…*Ì…)ï¤ ùÌ…(Ì¥€ˆË¡ZÌï¤ £ÌÚÛÈ¡<ïÚ¤ ùÙøÅ¡+Ø“¡ÙÚš¹ïÚ¤ øÙøÈ¡¥¥º‚»¥ÚÀ»3žÚ‚̹öØ“¡ Ùï¤ £‚š­¦R j3צBad block scan ofצ¯¡ó“ï¤ £ÄÌ« ó¡Î.¹ ¶£%‚Ì…,Ú“¡ðצListÆ…-Ï¡ò²~ì¤üô“„¡$Ê….á϶¦Writing×͹¶.ÍÊ….‚Ì….ïÊ…-¤ Ì…/צH Ï¦Scan for×צblocks¦Scan for how many blocks×ÆÏ ÌÌØÜ•ÌÛêÅ¡êÌë©ÇÛ�Üžž"Ë¡`ÜÌÜÛ‚•ÌÚÝÈ¡Që©ÇÚžïÊ…-•¤ ùÊ…/øÎ/Ê…/ùÊ…/ø•Ì…)Ê…(Ê…)‚Ì…(ƃûÊ…/¢ÍƃûצÊ…/¢¾•‚ÍƃûÊ…)Í ÆƒûÊ…/¢ ºÍ ƃû-Íƃû¥€•Æ…0Ê…/¢ º�‚ÍÆž"Ë¡9Ù‚ÌÆÏ3¶צBlock ͶÚÍ ¶צ is badͶÍڂ̹öÜÛ‚ÌÜØÄ¡ô¶ÙÍ ¶צ bad blocksͶÍÏ2­±‰ …0Íƃû-ÍƃûÊ…/¢  ºÍ Ø¡öö¡QƃûÊ…/øÍ ƃûÊ…/£ Í Æƒû¦×Íƃû¥€®Æ…0Ê…/¢º�‚ÍÆ…0Íƃû¦file×͹3ƃûÊ…/øÍ Æ 4צExamine blocks onצH ÏÍ&¶¦Block-range ? ×ͶÆSÍ ¶Í ¡ÊSÌR¹¶ÆRÍ ¶Í “¡¶ÍÊR€ÌRïŸË¡ÊRïƒû Íƃû¥€®Æ…0Ê…/¢º�‚ÍÆ…0ÍÎ.¹ô© ‹Ú�¡ìó¡îïÊ…-¤ ùï¤ ÿÎ/ƃûÊ….Í Æƒû/Íƃûï¤ £Í ƃû¦ files×Íö¡;ƃûצ, ÍƃûÊ…(Í Æƒû¦ 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ÍÏØ‚̹òق̹ðî¹ìÏ-¹êÏ-¹êÏ(¹êÏ'¹êÏ ÂN\Zn¬b2222222222 ʹêϹêϹêÏ"¡Ï¹êצPrefix titles by¦×l Ï²;¥GªÍ&¶¦ Prefix is ×Ͷ²;Ͷ:͹`Ï%¹\Ï!¹XÏ0¹TÏ4¹PÏ1¹LÏ5¹HÏ6DRWBLK  DRWBLK DRWBLK ¹DÏ*¹@ž¹:¬ÏBZ¹2"˜ª ©(½@³œ,²¬²(NXF0N­>äw\­¢ ÄÆÆ�GǑͶ“¶²&צSYSTEM.ž¥ÏÆ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‚¿ÊWRK.TEXT·„�« ¶“¶²צSYSTEM.WRK.CODE·„�« ¶£&PĶ¢º“„«¥ž «¥Çžê‚«ž(ÇìÇì‚ÇD‚ǂɞ(Å„ê?Ã�¡ö¥€•צ0???JanF‚e¢Ê‚eù²oÊT¤øŽšÊT•ÌT¹ðï¤ £ÌTÊWïÊT¤ ùÉ¡ÊT•ÌT¹îÆWÊT‚ïÍ#ÊV‚ÌV¹ìÏ ¶צBad blocks markedÍ­­H‹`]ÀÌt5ï¶ebMarAprMayJunJulAugSepOctNovDec?????????ª0¥€®×¦ Bad CodeTextInfoDataGrafFotoª β~ì¤ü¡¥Í¹¥Í¡ôÆÍÁ×%°Ì ¤ ÌÛ¢ºË¡ô¶¦Moving ×Ͷ²Í¶Û¢Í¶ÍÛ¢צ SYSTEM.PASCAL¯¡ ¥G²?¯¸ ÙøÚø•¸ ¸¶ ¶•¸¶€êÅ¡ ê¶¶"ðŠ0� & – L  (žÚ*Œ&̼br ®B\¼( þ Ô"&`'"&’#4#¶)ì)Š'D+®*²,H-Ö-*.ö.\/¬/x0Ò0ì01B1Z1h5Ü5”p8¹LÏ5¹HÏ6€†�¸ë©Ç¶€�Úø¶‚¶ ¶�‚žž"Ïë©Ç¶€�Øø¶‚¶ ¶�‚žž"϶¶‚¸¶€¶ €Ä¡öÙØø¶ ‚šÚØøšÏ ­Œ þ7Ò  ,Ê DRWBLK PASCALIODECOPS DRWSTUFFGRAPHICS צCrunch¦×@ ÏצFrom end of disk, blockצ¦Starting at block #×ï¤ ùÆ Ï Æ Ï3Ì ¶¢»Í%Ì ¶ÍƦforward ת Ì  à•ÌáåÈ¡'ïᤠÌæøïᕤ ùÅ¡ææ¢ïᕤ ¢Î7á‚Ì ¹öï¤ ÿÌÌ Æצback ª ï¤ £Ì àÌáåÄ¡ïᤠÌæùßÉ¡æ¢æÆÎ7æøÌá•Ì ¹ô¶¥GͶ¦ : crunched×ͶÍä¡#¶צPlease re-bootͶ͡¹ò¶¢»­Ã{Ê X6ÆتP²FƪPÍ'¶“Í)«î³ ß¼x€ V2.0-R0-L2‹¸­¦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¹+צ·¦¦æ&fƒÃe×tüÿà ö €pƒÂ—tüÿ �`�mwhÃEðÿ ÷Zƒ:× 7à € ÀíDtüÿ7.÷2÷m2,÷((7 $€ &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.ÀíÀEðÿ÷ 7à7ü 7ú÷øø7 ô€ÀevüÿÀ 6 ·ä…„ƒ‚ÆeØö õ÷ÊÊ÷¸À´Á¼wt®×  ˜{4]×Î8¹+¦&Filer: W, B, E, K, M, P, V, X, Z [C.4]×Î8Ú¡ôÍ$Í&î³B‹¡Í%Ì ÌÙÛÈ¡î²~Ù¤Ìܦ׷¡uÙ‚Ì ÌØÝÈ¡hܲ~ؤ~7všPž @ 7vŽ’7v„xˆ7v~÷e~÷elÀhœ~·mj·mb7vZwtN{ˆ wvFPP¼A ÀH7t27v2<² 7t"7v"x,ª 1; $VAR BYTE,BLOCK,N: INTEGER; "BEGIN SYSCOM^.IORSLT := INOERROR; $IF F.FISOPEN THEN &WITH F,FHEADER DO (BEGIN *IF (RECNU¹háÏϽ¹[áÏϽ¹NáÏϽ¹AáÏϽ¹4áÏ Ï½ ¹'áÏ Ï½ ¹¬ ¹}rg\QF;0%ÌÌàûáÚÍàø¾ ÃM < 0) OR NOT FSOFTBUF OR 2((DFKIND = TEXTFILE) AND (FRECSIZE = 1)) THEN $ "TYPE DECMAX = INTEGER[36]; àú“„¡Ú͹ôàú¡¹êàø¾ÌÛ+ÃÛ-Ã�¡Û-ÃÌÚÍàø¾ÌÛ²z¼‹àú“„¡ìÌÛ0•ÌݡߑÌÙÌ Ø¹òá á¼ÏÏßÏÏϽ¹ðá á¼ÏÏßÏÏSTUNT = RECORD CASE INTEGER OF 12:(W2:INTEGER[4]); 13:(W3:INTEGER[8]); 14:(W4:INTEGER[12]); 15:(W5:INTEGER[16]); 16:(W6:INTϽ¹ðá á¼ÏÏßÏÏϽ¹ðá á¼ÏÏßÏÏϽ¹ðá á¼ÏÏßÏÏϽ¹ðá á¼ÏÏßÏÏϽ¹ká á¼Ï϶šÙý¡öÙÌÝ¢ÌØÉÝ£“�Þ¢ºÃÝüÄ�¡¹ôØÝüdž�ØÇ†ÝüÇŽ�‚ØÇŽÝüÇŽ@†�ØÇŽÝü@Ž�@†‚†‚‚ÌØÇŽÝü Ž�ØŽ �ÝüÇŽ †�‚ÇŽÌßÏÏϽ¹Pá á¼ ÏÏßÏÏ Ï½ ¹5á á¼ ÏÏßÏÏ Ï½ ¹¬O ¹ûâɰ—~eL3ÚÍàø¾Ì¹îÜàú�“¡¶š­NÜá ÇÌÛ•ÌÞùÞø•ÌÛÚÅÛÚÃÜÞ£ Ä„�¡ÚÌÞ£ ÌÛÝ£ Ë¡RÝ£ ¡&Ý¢ šÝ¢šÝÿÝ¢!ÇÞøÝ£ ‚•žž"Ë¡¹ôÛÝ£ ÈÜÇË„¡ÝÿÝ¢!ÇÞøÛ‚•žž <Šœ<Df\ªϽ¹AáÏϽ¹4áÏ Ï½ ¹'áÏ Ï½ ¹¬ ¹}rg\QF;0%ÌÌàûáÚÍàø¾ Ã"Ë¡¹\Ý£ Ý£ šݢ Ý£ šÝ¢Ý£š¹Ý£ Ý£ Ãݣݣń¡Ý¢Ý£šÝ¢šÝ¢šÝ¢šÝûˡݢšÝ¢ ۚݢÜš¹¶ š­   pÙÌ ØŠ½Ìàú“„¡Ú͹ôàú¡¹êàø¾ÌÛ+ÃÛ-Ã�¡Û-ÃÌÚÍàø¾ÌÛ²z¼‹àú“„¡ìÌÛ0•ÌݡߑÌÙÌ Ø¹òá á¼ÏÏßÏÏϽ¹ðá á¼ÏÏßÏÏÌÌÌàûáÙÍàø¾ Ãàú“„¡Ù͹öàú¡¹ðàø¾ÌÚ+ÃÚ-Ã�¡Ú-ÃÌÙÍàø¾ÌÚ²z¼‹àú“„¡ÌØØ¼ Š�Ú0•Šƒ½ÙÍàø¾Ì¹ôàú¡¹ðÚ.áAÌÙÍàø¾ÌÚ²z¼‹¡Ìß•ÌØØ¼ Š�Ú0•Šƒ½àúÚ²z¼‹“�¡òàú¡¹QÚeÃÚEÃ�ÛÝ�„¡.àûáÙÍ¹à¢šÙÆÍ àú¡¹'Þß‚ÌÛ“¡ØнÌÛ¡Ü¡  $ "TYPE DECMAX = INTEGER[36]; STUNT = RECORD CASE INTEGER OF 12:(W2:INTEGER[4]); 13:(W3:INTEGER[8]); 14:(W4:INTEGERØØ¼’½¹¹¶šßÉ¡ ØØ¼߀ž$‡½¹ ØØ¼ßž$�½­¯ê"HÙÉØÉ�¡ÌÌÆ¼е¡ÆÆ¼’½Æ -¿¹Æ  ¿ÌÆ Æ¼½Æ¼ž$[12]); 15:(W5:INTEGER[16]); 16:(W6:INTEGER[20]); 17:(W7:INTEGER[24]); 18:(W8:INTEGER[28]); 19:(W9:INTEGER[32]); 110:(W10:I°¡ Æ ¼ž$°¡Ý‚ÌÆ Ƽݞ$‡½¹ö¹'Æ¼Š·¡Ý•ÌÆ Ƽݑž$�½Æ ¼ž$°¡ôØÃØÝ‚‚Å�¡Æ Æ ¼ž$‰‡ƒ½¹ØÝ‚‚Ä¡Æ Æ ¼ØÝ‚‚ž$NTEGER[36]) /END; ' " "PROCEDURE FSEEK(VAR F: FIB; RECNUM: INTEGER); PROCEDURE FREADREAL(VAR F: FIB; VAR X: REAL); "PROCE‰‡ƒ½Æ ¼ž$°¡Ý‚ÌÆ Æ ¼ž$‡½ÌÌßÊÈ¡%Æ ¼žÌÆ ßÞ0‚¿Æ Æ ¼ÞŠ–ž$�½ß‚̹òØÃÝÄ�¡QÆ Æ ¾¿Æ .¿ÌÝË¡5 ÌÆ E¿ÝÉ¡ ÌDURE FWRITEREAL(VAR F: FIB; X: REAL; W, D: INTEGER); "PROCEDURE FREADDEC(VAR F: FIB; VAR D: STUNT; L: INTEGER); "PROCEDURE FWRÆ -¿Ý‘ÌÝ Å¡Æ ßÝ †0‚¿ß‚ÌÆ ßÝ Ž0‚¿Æ ß¿¹`ÝÄ¡(Æ Æ Ý‚žÆ Ý‚.¿Æ ØÝ•• ž Æ ؂݂¿¹3Æ Æ Ý•žÆ 0¿Æ .¿Æ Ý‘•0ž Æ Ý•Ø•ITEDEC(VAR F: FIB; D: DECMAX; RLENG: INTEGER); "  IMPLEMENTATION $ "PROCEDURE FSEEK(*VAR F: FIB; RECNUM: INTEGER*); $LABEL Ý‚ ž Æ Ø‚¿ÙÆ ¾É¡Æ ¾ÌÜÆ ÙÍ­ ýx¤, ðÆ¼ Æ & ÏãÆ ØÍ­*ÚÌ ÙÌ Ø¹uáÏϽ¹öáÏϽ¹uáÏϽ ·2w&7$÷"· �•G8ÅÄà  ÇÚ‚x*b¦`¼$7„w‚& Å 8Ž  &�Ä 2Ž  �æD!@ ÷ ®úÍ•-‹Š… Í•0‚Ñ Ñ  üF\á á ‚ ¡F— Ä–— ĞĪŒ##´-‡÷ Š·(û÷ ¨úö �Š·  �Ö Î Ö Á ú  †Aa@ ¡  †ÀU€Î ôÖ D †D  ‡„ D –  „ † Ä €„ ÀÁ ‡  Ö ÷€•€å Î €Áÿÿ fÀ ý Î – "& � fà÷ X7 öú÷ vúwp÷næ æ÷ @ûÅ\ÃZ· \÷ VÇ‹Š… Í•0ÂÀíF‹Š… Í•0À ú÷¢0ƒ ‰_· € ``fÀ ýö w\Î ü€À öÖ Î ö�À ð_æ_æØ�÷ _B B`AÒ ±†b ÊeÁ ú„â æ �QB ü‡ò €Êÿÿ b Á ý�á ‡·Œ÷ ¦6 Ž _ š;ÊÇŠ#è‰&;K¨L†ZzÄŠ @"€‚�Ñ ¦RÀ ýÊ_‡ƒ†‚Ô¶¶¶¶¶¶¶¶¶j7 ‚÷ e·v€À €aÐ "÷ jÈ b÷ \  †Hè± „HèHè„ ô† ð` †H û„HhHh… ó  ð†àÿÿ Îe¶¶êäÖ¬žøô¸^TP¶J$BLOCK <= FMAXBLK) AND (BYTE <> FBLKSIZE) THEN 0BEGIN 2UNITREAD(FUNIT,FBUFFER,FBLKS _·D÷B�âÁ ‚Fàƒ“€ ýÀˆ ‚Fàò €Ãÿÿ � Êâ Á üÃ_Î% _‰÷ ÷·"7öÿ7 *€Î €&�IZE,DFIRSTBLK+BLOCK-1); 2IF IORESULT <> ORD(INOERROR) THEN GOTO 1 0END ,END; *IF FNXTBLK > FMAXBLK THEN ,BEGIN FMAXBLK := F÷ °þ· €Î Ö À û€�Ñ  À ýwæÁ �aBÉ €á ÷ ~þ÷ æBÉ Ñ Â ûÀ `w¼ƒ„`7Â& Ä ý·º7 ¸7º€ 7²À¨Ð 7¢€aÂNXTBLK; FMAXBYTE := FNXTBYTE END *ELSE ,IF (FNXTBLK = FMAXBLK) AND (FNXTBYTE > FMAXBYTE) THEN .FMAXBYTE := FNXTBYTE; *FEOF :š�à�àÓ ÄEÄ €Å €Da7 †Å €D7zÄE÷ ýÄmna†À À ÷ RÐ Ha†÷ H ÝÄRÄ ÌÀeÂ<! ýFÎ Ö ÷ (ù& · æ÷ = FALSE; FEOLN := FALSE; FREPTCNT := 0; *IF FSTATE <> FJANDW THEN FSTATE := FNEEDCHAR; *FNXTBLK := BLOCK; FNXTBYTE := BYTE �÷ ªýÄÚþ_d þ‡‡7d…wHö €÷ÿÿJ7 DÅ …aw>Õ w*õ €÷ÿÿ(7 "DÄ 7Da7ÀÁÈ à Á DECOPS DECOPS GDEC GDEC û‰÷-òîw`ÁôÁíäÑ FÃÚæàà ü·Þ÷ Ú÷ ÖÃÂ& à ýÄÆÅ²Ô &Å ýŨÅí¢€wæ¤Å üĢŚ%Æ% à üÃ|PASCALIOFSEEK ðFSEEK FREADREA ðFREADREA FREADDEC ðFREADDEC FWRITERE ðà ÷xã ÷|r÷àn÷tj÷àfÂhÃX÷ äÂ\ÃL÷ Ø÷-LL÷ ì±÷ ¡÷ ®Å*Å Å Å å ÷ ¸ÿ €Àÿÿ ÿ €Áÿÿ  ÷ FWRITERE FWRITEDE  ðFWRITEDE  DECOPS @¾ßãìðùý  $-1:>GKÛÞâåéöùýª¡÷ ȱ÷ lÅ ã±÷ bÿ â€Åÿÿ w!Ø÷ Ò÷ Î÷ Ä÷ À À¬ÁºÑ ±a †À üÿE¦ÆžÖ _Ƙ æøÂŒ,/36:GJNQUbeilp}€„‡‹˜›Ÿ¢¦³¶º½Á ¬ ¹}rg\QF;0%ÌÌàûáÚÍàø¾ ÃÃvJ à Ò b à ý‡ÂhÃ^’ à  à ý‡ÀXÁVÂD$`hƒà †d à ü õ‡À2Á0Â$`èƒà †¤ à ü õ‡àú“„¡Ú͹ôàú¡¹êàø¾ÌÛ+ÃÛ-Ã�¡Û-ÃÌÚÍàø¾ÌÛ²z¼‹àú“„¡ìÌÛ0•ÌݡߑÌÙÌ Ø¹òá á¼ÏÏßÏÏϽ¹ðá á¼ÏÏßÏÏ€À 7Ä47Ð(€À €aÐ "÷ Úûà `Ð ‚$$ ü  ËÆ_ û·*ƒÅ… ˕͕07 7 �ö  ÄÃe&…~ÔÔÃe&…~Æe…„ƒ‚Æep`@I**I"AAA"A""A>"A"AAAAA>""">÷¦· ‚ ·l„7 �7 €·€€w v7 v÷ j·j€÷ü^7 ^�€ƒà Cp—týÿÂE�`�eÀEðÿÀ ÷/6¾ÿ .÷-00Â(J*vß5tÿüß5tÿüö õއ"*¦Ô伃 × äÁå(÷ Ö÷ Î…„ƒ‚Æe7‚ ·$Â÷m÷- ÷ Á`Áà÷íþÿ ôÿ î•~Âî‚ ·êÂä÷mÞà÷-ÜØÿ Ì÷íÎÎ÷ ÄÁ`Áàÿ ´•~×-®,þ¶Ö ¶”nb^(·üÿ¦æ&f…@AC×pÃeÂ& Δƒ~BBí—  ƒÄ“LBBà—  ƒÄ“LBíòǬÀ À €á À‡€ € À5 Ñ ‡ \v‡ ‡Ö ¼h&  Âe�ƒ ‚~B àÂe�ƒÃe# ‚~C×pPàÃå×p(Cm rÀ `W à W ƒ Áer€Âu„~€Âõ Ä, @€ @€ †|Ìš–’ŠrfVVVVVÒ·Ò·Ì÷Æ&f€ÀEðÿ� CDRWSTUFF DRWSTUFFDRAWLINE DRAWLINEBITTER vDRAWBLOC  DRAWBLOCGCHAR ÁEðÿÁ w ²w ®� …wRCaÃEðÿÁ Åeöeà Ãe ÷ ‚àwzƒÂ —tüÿÂEðÅ WuüÿÅEðBáÁ ‚  ·N‚„Ä uüÿÄEðDáGCHAR BITTER ´®  GMARK  GMARK THROTTLE THROTTLE Ä 7>×tüÿÃEðöp…WuüÿÅEðÅ`Å …m—tüÿÂEð¶p „ uüÿÄEðÄ`Ä „m‚ Â%à ÷î ·Âè·Êäö A�·ÈÁÈÀÆÃÆÀåCB€vC@A ÷夬CB€v÷å’ šÔxÁÿÿóC L@ÔPÁÿÿíÁM|€C L@A C@ÔPÄmlÅm`ÄA C@ÔxÄm\ÅmP¼…„ÆeÃ:Â8Ç6ÿÿþÿüÿøÿðÿàÿÀÿ€ÿÿþüøðàÀ€VTLXjh|lÆ”öò22222222 ·¦æ&f· #TYPE SCRN = PACKED ARRAY[0..319 , 0..79] OF BOOLEAN;{one zone} # PSCRN = ^SCRN ; #PROCEDURE INIT_GRF ; #PROCEDURE USE_ð�ƒ ×p C`…WqPÅ Å bƒ ×tÃmÈ× ?Y AaWp(�m‚�ÂEÿ—tÂU àÅ Ãæ��àß5tÿüßU€äÿ£˜BßE€äÿ�Â÷ v·˜SURF ( S:PSCRN ) ; #PROCEDURE DRAW_VS ( SIZE: INTEGER ) ; #PROCEDURE DISP_VS ( DISPLACEMENT , GRZONES , CHZONES:INTEGER ) ;v· n ÅdsÄ D`Å  € ÷<Tö L]LM… … W!  „ „ ~ƒ ƒ × äÁå(÷ Ö÷ Î…„ƒ‚Æe #PROCEDURE SET_VPRT ( LEFT , RIGHT , BOTTOM , TOP:REAL ) ; #PROCEDURE SET_WNDW ( XMIN , XMAX , YMIN , YMAX:REAL ) ; #PROCEDU¶”nb^(·¦æ&f…@AC×pÃeÂ& Δƒ~BBí—  ƒÄ“LBBà—  ƒÄ“LBíRE SET_LNST ( LSTYLE:INTEGER ) ; #PROCEDURE NEW_FRAM ; #PROCEDURE INQ_CPOS ( VAR XPOS , YPOS:REAL ) ; #PROCEDURE MOVE_ABS ( X Âe�ƒ ‚~B àÂe�ƒÃe# ‚~C×pPàÃå×p(Cm rÀ `W à W ƒ Áer€Âu„~€Âõ Ä ½¥€Æ¼½­ ¥€¥€¼Æ¼ƒ½¥€¥€¼Æ¼ƒ½­& ÌÆ¼¥€¼µ¡ ƈÀ»¹Æ¼¥€¼±¡ ƈÀ»Æ¼¥€¼ì ØÉØÅ�¡"¶צ chpr errorÍž¶Íž žØ•«€­:ÙÉØÉ�¡"¶צ chsz errorÍž¶Íž žØ«€Ù«€­<µ¡ ƈÀ»¹Æ¼¥€¼±¡ ƈÀ»ÞÌ­ rÆÙ¼½Ùؼ½ØÆ¼½­ÜܼÛ¼ܼ–Ú¼Ù¼–�ؼÙ¼–‡ƒ½ÙÚ¼½­¥€Æ¼½¥€Æ¼½­ÆتPÏ¡ ž©€�•Ì+Ì,ƾÌ5Ê,Ê5È¡ôÆ3¥€¼½Æ1¥€¼½Æ/Æ3¼½Æ-Æ1¼½Æ3Æ1Æ/Æ-Ï¡xÆ3Æ1Ï©€ , Y:REAL ) ; #PROCEDURE MOVE_REL ( X , Y:REAL ) ; #PROCEDURE LINE_ABS ( X , Y:REAL ) ; #PROCEDURE LINE_REL ( X , Y:REAL ) ;  ,ÌݼܼÎÌ Û¼Ú¼ÎÌ ÌáËàË�¡ôáà„Å¡Ì žááÆÆ ¨Æ Æ ¨Æ ƨÝÛÎÜÚÎÞ“ÌÆ ˆÀº¡ ÜÚ¥€ÝÛιCÆ ˆÀ#PROCEDURE MARK_ABS ( X , Y:REAL ) ; #PROCEDURE MARK_REL ( X , Y:REAL ) ; #PROCEDURE SET_CHPR ( CHPR:INTEGER ) ; #PROCEDURE º¡ ÜÚ¥€ÝÛι,Æ ˆÀº¡ ÝÛ¥€ÜÚÎ¹Æ ˆÀº¡ ÝÛ¥€ÜÚÎݼܼÎÌ ¹öÞ¡ÝÛÎÜÚέ_² ØÙÙ¼¥€¼–¥€¼‡¥€¼�¥€¼ƒSET_CHSZ ( XSIZE , YSIZE:INTEGER ) ; #PROCEDURE SET_CHSP ( XSPACE , YSPACE:REAL ) ; #PROCEDURE TEXT ( S:STRING ) ; #PROCEDURE½ØØ¼¥€¼–¥€¼‡¥€¼�¥€¼ƒ½­DÏ¡ žÆÆÆÆÏ¡bÆÆÏÆÆÏ©€P�•Ì Æ ©€Æ¼Ç?Š�žáƼáŠ�ž•Ç?Ƽ‰�ž SET_MKSM ( N:INTEGER ) ; # P !IMPLEMENTATION ! VAR #TYPE SCRN = PACKED ARRAY[0..319 ,Ç?Ƽ‰�ž•áÆ¼‰�žáƼ‰�ž•©€‚Ï­‚¥€¼¥€¼Æ¼Æ¼Ï¥€Æ¼½¥€Æ¼½­. ¥€¼¥€¼¥€¼Æ¼ƒ¥€¼Æ¼«€Çÿ«€­Ø«€Çÿ«€«€­©€ÇÿáB¶Íž¶צdraw_on_view_surface not calledÍž¶ÍžÌ¹Ì­ƒÏ¥€¥€¼Æ¼ƒ½¥€¥€¼Æ¼ƒ½­F Ï¡ ž©€É©€ Å�¡$¶צ marker errorÍž¶Íž žÆ ¥€¼½Æ ¥€¼½Æ¥€VØ©€È“ØÉ�Ø Å�¡"¶¦ drvs error×Íž¶Íž ž©€¡1¥€Ç@žÌØÌÙÛÈ¡ÆÇ@žÙ‚̹ö©€ØÇ€ �ž «€Ø«€ŠŠŠŠÏ¼½Æ¥€¼½Æ Æ ÆÆÏ¡öÆ Æ ÏÆ¥€¼½Æ¥€¼½Æ¥€¼½Æ¥€¼½ÆÆÏÆÆÏ©€P�•Ì©€•Ì ©€©€Æ ¼Ç?Š�žÆ ¼åŠ�žäÆ¼ŠŠŠŠÏÏ¥€Š½¥€Š½«€«€«€«€¥€Š½¥€Š½­Im ºÙÉÙÅ�ØÉ�ØÅ�¡ ¶צ dsvs errorÍž¶Íž¹©€ÙÇ?Š�žÆ¼Ç?Š�žÆ¼åŠ�žÆ¼åŠ�ž©€Ï­)  ¥€Æ¼½¥€Æ¼½Ï ­¥€¥€¼Æ¼ƒ½¥€¥€¼Æ¼ƒ½Ï ­�Ø‚žÚË¡ ‘ÌÛÛøÇ€ Ú�•š­ZÆ¼еÆ¼б�Ƽе�Ƽб�¡"¶צ vprt errorÍž¶Íž ž¥€Æ¼Æ¼–Ї½¥€(ØÉØÅ�¡"¶צ chpr errorÍž¶Íž žØ•«€­:ÙÉØÉ�¡"¶צ chsz errorÍž¶Íž žØ«€Ù«€­<Ƽ¥€¼ƒ½¥€Æ¼Æ¼–Ї½¥€Æ¼¥€¼ƒ½­�ƼƼ°Æ¼Æ¼°�¡"¶צ wndw errorÍž¶Íž ž¥€Æ¼Æ¼–¥€Æ¼½¥€Æ¼½­ÆتPÏ¡ ž©€�•Ì+Ì,ƾÌ5Ê,Ê5È¡ôÆ3¥€¼½Æ1¥€¼½Æ/Æ3¼½Æ-Æ1¼½Æ3Æ1Æ/Æ-Ï¡xÆ3Æ1Ï©€Ї½¥€Æ¼¥€¼ƒ½¥€Æ¼Æ¼–Ї½¥€Æ¼¥€¼ƒ½¥€Æ¼½¥€Æ¼½¥€Æ¼½¥€Æ¼½­€¦ØÉØÅ�¡"¶צ lnst errorÍá:Æ3¼Ç?Š�ž†©€•P�©€P�•Æ1¼‰�ž‚ †•ͶÆÍž ž©€©€ÆÊ,›¾Æ3¼Ç?Š�žÆ1¼©€P�•Š�ž©€©€©€Ï¥€¥€¼¥€¼ƒ½ž¶Íž ž«€ØÅ¡Ø•«€­BÏ¡ ž©€Ã¡Ì¹‘Ì©€©€Ç€ �Øž ­0Ù¥€¼½Ø¥€¼½­ ¥€Æ¼¥€¥€¼¥€¼ƒ½©€áÏÊ,‚Ì,¹ö­åh Ø«€­  ”Bt–lH ,@`¢â<ˆ,Xx–ÌÀV¶Ð  VSY &“WSY ”¬�YTOP Ï4?STYLE 5!¥l  patent or patent rights of %TERAK. TERAK reserves the right to update the information contained %herein at any time without fCYPOS � „ h„¨«8Pjy”—õÂèëÔ y ,ƒSPDY 3Œ‰ urther notice. % %The information contained herein is proprietary to TERAK CORPORATION %and must be treated as confidential.O^ It may not be disclosed to %others or used for any purpose except as expressly consented to by %TERAK. 6COPYRIGHT 1980 BY• ¥  TERAK CORPORATION ="ALL RIGHTS RESERVED"}  PROGRAM TESTIT;  TYPE TERAKSCREEN = PACKED ARRAY[0..4799] OF INTEGER;   VAR SCREEN: TERAKSCREEN;  DELAY,N,X,Y,H,W:INTEGER; CHR:CHAR;   PROCEDURE DRAWLINE(VAR RADAR:INTEGER; VAR S: TERAKSCREEN; á:Æ3¼Ç?Š�ž†©€•P�©€P�•Æ1¼‰�ž‚ †•ͶÆÍž ž©€©€ÆÊ,›¾Æ3¼Ç?Š�žÆ1¼©€P�•Š�ž©€©€©€Ï¥€¥€¼¥€¼ƒ½¥€¥€¼¥€¼ƒ½©€áÏÊ,‚Ì,¹ö­åh Ø«€­  ”Bt–lH ,@`¢â<ˆ,Xx–ÌÀV¶Ð GRAPHICS ¸éo 0¹²´å+i«; YBOT Æü6GCHAR ðWCX …iVCX ÿ{VCY ™WCY ¥‡CHPRECIS‘ %3ÿCHARWIDTsi CHARHEIGf !oTHROTTLE ðIMPLICIT"½ðSKRN Âã{EÜb@ XLEFT ´Êï$GMARK  ðSPDX y ,ƒSPDY 3Œ‰  {TERAK CORPORATION believes that the information contained herein is %accurate. In no event will TERAK be liable for anDRAWLINE ðXRIGHT ½ä-MRKSYM )¹¾[´ NZONES [ 1ŒôIÑRe°  C y losses or damages, %whether direct or indirect, resulting from the use of such %information, including, without limitation, CXPOS `{™œ3Geo…ˆìþ¹ÙÜËq t WSX tŒoVSX îulosses arising from %claims of patent, copyright, and trademark infringement. No license %is granted hereby for the use of any screen is in the y direction.   The screen dimension in the x direction is allways 0..319.  ,(0, (nzone*80)-1 ) **********}  ; HEIGHT ; INTEGER,  ; WIDTH ; INTEGER,  ; LINESYLE : ******* (319, (nzone*80)-1) ,- -  - INTEGER )  ; PROCEDURE GMARK( SCREEN: ARRAY FOR SCREEN DISPLAY  ; NZONE : INTEGER, # OF 1/3 ZONES OF SCR - ,- - EEN  ; X : INTEGER, X LOCATION OF MARKER  ; Y : INTEGER, Y LOCATION OF MARKER  ,- ABSOLUTE - ,- screen coordinates for - ,- ; MN : INTEGER, MARKER NUMBER  ; AXL : INTEGER, XLEFT OF WINDOW TO CLIP MARKER  ;  GMARK AND GCHAR - ,- - ,-  AXR : INTEGER, XRIGHT OF WINDOW TO CLIPP MARKER  ; AYB : INTEGER, YBOTTOM TO CLIP MARK - ,(0,0) ********************************************* (319,0) , , !Linestyle for ER  ; AYT : INTEGER, YTOP TO CLIP MARKER both routines is 0 for white(set bits on), 1 for black !(clear bits out--erase). Neither routine works under compliment mode.  ; LSTY : INTEGER, LINESTYLE FOR PEN 0 IS WHITE, 1 BLACK *)  PROCEDURE GCHAR(VAR S:TERAKSCREEN; NZONE,CHAR,  Height and Width parameters to GCHAR define how many templates wide  and high the character will be on the screen. Thus a,X,Y,H,W,STYLE:INTEGER); $EXTERNAL; !(*  ;  ; THIS ROUTINE DRAWS A 7 DOT BY 7 DOT MARKER DEFINED BY THE PARAMETER MN  ; I8ROW, X0,Y0,DX,DY,PEN:INTEGER); EXTERNAL;  (*  The following routines GMARK & GCHAR support graphics on the 8510/a by  drawi call to GCHAR  with the parms h=3 & w=2 would produce a character template in the  graphics scape 30 (3 * 10) dots high and ng characters and markers in the graphics space.   Both routines address the screen in absolute screen coordinates with (0,0)16 (2*8) dots wide.  Character templates are taken from the character generation buffer.   ;PROCEDURE GCHAR( VAR:  ;   defined as the lower left corner of the screen.   Both routines will support a view surface(drawing surface) smaller, equa SCREEN ARRAY: POINTER TO ARRAY USED AS SCREEN, l to,  or larger than the actual display surface in the y direction. The y dimension mion  must, however, be a multiple of 80 ; NZONE : INTEGER, {NUMBER OF ZONES TO DRAW ON}  ; ORD(CHAR) : INTEGER,  ;  (i.e 1/3 screen or the equivalent of a  single screen zone. NZONE is the parameter which tells the routines how  large the  X : INTEGER, {RANGE 0<=X<=319}  ; Y : INTEGER, {RANGE 0<=Y<=(NZONE*80-1) E CONDITION WILL RESULT IN BAD THINGS!!! HAPPENING.  ;  ; 0<=X<=319  ; 0<=Y<=NZONE*80-1  ; XLEFT <= X <= XRIGHT  ;  YBOT <= Y <= YTOP  *)   PROCEDURE GMARK(VAR S:TERAKSCREEN; NZONE,X,Y,N,XL,XR,YB,YT,STYLE:INTEGER); $EXTERNAL;  PROCEDURE THROTTLE(TICKS:INTEGER); EXTERNAL;  (* PRODUCES BUSY WAIT(DELAY) APPROXIMATELY TICKS/60 SECONDS*)   BEGIN  UNITWRITE(3,SCREEN,63);  H:=0;  WHILE H<> 10 DO !BEGIN "H:=H+2; "FILLCHAR(SCREEN,SIZEOF(SCREEN),-0);  CHR:='A'; "Y:=0; "X:= 0; ÕZ¥?ž«’Ä©’Ä Ë¡V©’Ä‚«’ĥǀ%‘ž A«’É«’Å«’Æ©’ÆÇÜÉ¡-¥©’É©’Æ©’Å©’ÄΩ’Æ‚«’Æ©’Å‚«’Å©’É‚«’ɹö¹ôA«’É«’ÆÌ’Ê©’ÆÊ’ÊÈ¡"WHILE X <220 DO #BEGIN #GCHAR(SCREEN,3,ORD(CHR),X,Y,H,1,0); #X:=X+8; #Y:=Y+2; #CHR:=SUCC(CHR); #END; !END;  CHR:='A'; -¥Ç€%‘ž ¥©’É©’Æ©’ÆÎ©’É‚«’É©’Æ‚«’ƹò¥Ç€%‘ž A«’É«’Å«’Æ‘«’È©’ÆÇÜÉ¡b©’È�ζצDELAY=Íž¶©’È†Í ž¶Íž FOR X:=1 TO 20 DO  BEGIN  FILLCHAR(SCREEN,SIZEOF(SCREEN),-1);  GCHAR(SCREEN,3,ORD(CHR),0,0,X,X,1);  CHR:=SUCC(CHR);  END;¥©’É©’Æ©’ÅΩ’Æ‚«’Æ©’Å‚«’Å©’È‚«’È©’É‚«’ɹð¶¦Program finished ×Íž¶ÍžÁ¡ô_<�%x÷¦  FILLCHAR(SCREEN,SIZEOF(SCREEN),-0);  CHR:='A'; "Y:=0; "X:= 0; "DELAY:=-19; "WHILE X <220 DO #BEGIN #THROTTLE(DELAY*1· ‚ ·l„7 �7 €·€€w v7 v÷ j·j€÷ü^7 ^�€ƒà Cp—týÿÂE�`�eÀEðÿÀ ÷/6¾ÿ .÷-00Â(7‚ ·$Â÷m5); #WRITELN('DELAY=', DELAY DIV 4); #GCHAR(SCREEN,3,ORD(CHR),X,Y,1,1,0); #X:=X+8; #Y:=Y+2; #DELAY:=DELAY+1; #CHR:=SUCC(CH÷- ÷ Á`Áà÷íþÿ ôÿ î•~Âî‚ ·êÂä÷mÞà÷-ÜØÿ Ì÷íÎÎ÷ ÄÁ`Áàÿ ´•~×-®,þ¶Ö òǬÀ À €á R);  END; !WRITE('Program finished ');  READLN;  END.  À‡€ € À5 Ñ ‡ \v‡ ‡Ö ¼h& , @€ @€ †|Ìš–’ŠrfVVVVVÒ·¦æ&f·ð�ƒ ×p C`…WqPÅ Å bƒ ×tÃmÈ× ?Y AaWp(�m‚�ÂEÿ—tÂU àÅ Ãæ��àß5tÿüßU€äÿ£˜BßE€äÿ�Â÷ v·˜v· n ÅdsÄ D`Å  € NTO THE SCREEN LOCATION X,Y. IF THE MARKER WOULD LIE OUTSIDE THE  ; CLIPPING BOUNDRY DEFINED BY XLEFT...YTOP THEN THE MARKER WILL BE TRIMMED  ; TO FIT IN THE BOUNDRY.  ;  ; THE FOLLOWING COINDITIONS ARE EXPECTED TO HOLD, NONCOMPLIANCE WITH  ; THES* TESTIT  OCEDURE THROTTLE(I:INTEGER);EXTERNAL; ! !FUNCTION RANDOM(SIZE:INTEGER): INTEGER; BEGIN SEEDA:=SEEDA MOD 999*17+103; SEE÷<òTö L]òLMò… … W!  „ „ ~ƒ ƒ × äÁå(÷ Ö÷ Î…„ƒ‚Æe¶”nb^(·¦æ&f…@AC×pÃeÂ& Δƒ~BBí—  ƒÄ“LBBà—  ƒÄ“LBí Âe�ƒ ‚~B àÂe�ƒÃe# ‚~C×pPàÃå×p(Cm rÀ `W à W ƒ Áer€Âu„~€Âõ ÄÄÃe&…~ÔÔÃe&…~Æe…„ƒ‚Æep`@I**I"AAA"A""A>"A"AAAAA>""">J*vß5tÿü! {TERAK CORPORATION believes that the information contained herein is %accurate. In no event will TERAK be liable for anyß5tÿüö õއ"*¦Ô¬ýˆÌä” Ã ¹ßˆ$Ã,÷ HÿóUö èˆ ,04@¨¤œ¢ê8¶8¸8šE?? ??? losses or damages, %whether direct or indirect, resulting from the use of such %information, including, without limitation, l??"9&9žKÔ8 Kì: ;6;L;ŠC:9$D=*=Ð>¾?ð?CD8D0EZE.=START; PAGE[I,J]:=WALeeda:=abs(lowtime) mod 1000; IF SEEDA=999 THEN BEGIN SEEDA:=SEEDB; SEEDB:=1000; END; HEIGHT:=39; WIL; FOR I:=START-1 TO START+4 DO PAGE[5,I]:=WALL; ROW:=7; COL:=START END (*I N I T R A T*); PROCEDURE RUNDB:=SEEDB MOD 1001*13+107; RANDOM:=(SEEDA+SEEDB)DIV 5 MOD SIZE; END (*RANDOM*); FUNCTION GOODNEIGHBOR(INT:INTEGER) :BOOLEANDTH:=51; DIR[1]:=-1; DIR[2]:=1; DIR[3]:=WIDTH; DIR[4]:=0-WIDTH; Z1:=HEIGHT*WIDTH; FOR INT:=1 TO WIDTH DO ; BEGIN FLAGS:=0; FOR Z1:=1 TO 4 DO IF MAZE[INT+DIR[Z1]]=LONELY THEN BEGIN FLAGS:=FLAGS+1; SAM[FLAGS]:=Z1 BEGIN MAZE[INT]:=VISITED; MAZE[Z1+INT]:=VISITED; END; FOR INT:=2 TO HEIGHT DO MAZE[INT*WIDTH]:=VISI; END; GOODNEIGHBOR :=FLAGS>0; END(* GOODNEIGHBORS *); PROCEDURE STEP; VAR ROW,COL,LOC,TOS,INT:INTEGER; BEGIN ZTED; FOR Z1:=0 TO 319 DO PAGE[0,Z1]:=BLANK; MOVELEFT(PAGE[0],PAGE[1],9560); UNITWRITE(3,PAGE,56); FOR Z1:=0 TO 1:=(1+RANDOM(HEIGHT))*WIDTH+(1+RANDOM(WIDTH)); IF Z1>HEIGHT*WIDTH THEN Z1:=Z1-(WIDTH+1); IF Z1 MOD WIDTH = 0 THEN Z5 DO BEGIN T1[Z1]:=BLANK; T2[Z1]:=BLANK; END; FOR Z1:=6 TO 306 DO BEGIN T1[Z1]:=WALL; IF Z1:=Z1+1; TOS:=1; STACK[TOS]:=Z1; MAZE[Z1]:=VISITED; WHILE TOS>0 DO BEGIN LOC:=1+RANDOM(TOS); INT:1 MOD 6=0 THEN T2[Z1]:=WALL ELSE T2[Z1]:=BLANK; END; FOR Z1:=307 TO 319 DO BEGIN T1[Z1]:=BLANK; =STACK[LOC]; STACK[LOC]:=STACK[TOS]; TOS:=TOS-1; WHILE GOODNEIGHBOR(INT) DO BEGIN IF FLAGS>1 THEN  T2[Z1]:=BLANK; END; FOR Z1:=5 TO 233 DO IF Z1 MOD 6=5 THEN PAGE[Z1]:=T1 ELSE PAGE[Z1]:=T2; Z1:=(1+R BEGIN FLAGS:=1+RANDOM(FLAGS); TOS:=TOS+1; STACK[TOS]:=INT; END; Z1:=SAM[FLAGS]; ANDOM(WIDTH-1))*6; FOR INT:=0 TO 3 DO FOR Z2:=Z1+INT TO Z1+6-INT DO PAGE[INT+1,Z2]:=WALL; FOR Z2:=Z1+1 TO Z1+5COL:=(INT MOD WIDTH)*6; ROW:=(INT DIV WIDTH)*6; CASE Z1 OF 1:(* LEFT *) FOR Z2:=ROW TO ROW+4 DO PAGE[Z2,COL DO PAGE[5,Z2]:=BLANK; Z1:=(1+RANDOM(WIDTH-1))*6; FOR INT:=0 TO 3 DO FOR Z2:=Z1+INT TO Z1+6-INT DO PAGE[2]:=BLANK; 2:(* RIGHT *) FOR Z2:=ROW TO ROW+4 DO PAGE[Z2,COL+6]:=BLANK; 3:(* BOTTOM *) FOR Z2:=COL+1 TO COL+538-INT,Z2]:=WALL; FOR Z2:=Z1+1 TO Z1+5 DO PAGE[233,Z2]:=BLANK; END; PROCEDURE LOGRAT;  GIN(* MAIN PROGRAM *) #WRITELN(CHR(12)); #INITIALIZE; STEP; LOGRAT; #THROTTLE(200); WRITE('DONE:'); UNITWRITE(3,P¹ìÜ« Ü‚ÌòÝÈ¡¥òÇÛ‚Ç?ˆÀ»ò‚« ¹ô¹mÛ‚« Û‚ÌòÝÈ¡¥Ü‚ÇòÇ?ˆÀ»ò‚« ¹ò¹>Û‚« Û‚ÌòÝÈ¡¥Ü•ÇòÇ?ˆÀAGE,7); END. »ò‚« ¹ð¹¬¹½”i<إ󈕤ø‚Ì¥˜®ØÇÄ ˆÀ»¹ê¹æ­?q 6,=d•Æó Ö« ÇÄ Ì,óÊ,È¡¥˜®óÇÄ ˆÀ»ó‚« ¹ö«ÆÆž Ù€Ç莫©Ççá÷«Çè«'« 3«¥ˆ•¤‘š¥ˆ•¤š¥ˆ•¤õš¥ˆ•¤õ•šôõ�« ÌõÌ,ØÊ,È¡%¥˜®ØÇÄ ˆÀ»¥˜®óØ‚ÇÄ ˆÀ»Ø‚̹ôÌôÌ,ØÊ,È¡¥˜®Øõ�ÇÄ ˆÀ»Ø‚̹ò« Ç?Ì,óÊ,È¡¥ÇóÇ?ˆÀ»ó‚« ¹ð¥Ç¥ÇÇX%ž¥8ž« Ì,óÊ,È¡!ÆóÇ?ˆÀ»ÆóÇ?ˆÀ»ó‚« ¹î« Ç2Ì,óÊ,È¡7ÆóÇ?ˆÀ»óŽÃ¡ÆóÇ?ˆÀ»¹ ÆóÇ?ˆÀ»ó‚« ¹ìÇ3« Ç?Ì,óÊ,È¡!ÆóÇ?ˆÀ»ÆóÇ?ˆÀ»ó‚« ¹ê« ÇéÌ,óÊ,È¡,óŽá¥óÇƨ¹¥óÇÆ¨ó‚« ¹èõ•Ï‚�« ÌÌ,ØÊ,È¡7óØ‚« ó‚� MAZER Ø•Ì-òÊ-È¡¥Ø‚ÇòÇ?ˆÀ»ò‚« ¹æØ‚̹äó‚« ó‚Ì,òÊ,È¡¥ÇòÇ?ˆÀ»ò‚« ¹âõ•Ï‚�« ÌÌ,ØÊ,È¡9óØ‚« ó‚Ø•Ì-MAZE(ROW,COL:INTEGER;CH:CHAR); BEGIN IF ROW<232 THEN BEGIN FOR I:=ROW TO ROW+2 DO FOR J:=COL TO COL+2 DO  PAGE[I,J]:=WALL; IF (PAGE[ROW,COL-2]=BLANK) AND (CH<>'L') THEN RUNMAZE(ROW,COL-6,'R'); IF (PAGE[ROW+4,COL]=BLANK) AND (CH<>'B') THEN RUNMAZE(ROW+6,COL,'T'); IF (PAGE[ROW,COL+4]=BLANK) AND (CH<>'R') THEN RUNMAZE(ROW,COL+6,'L'); IF (PAGE[ROW-2,COL]=BLANK) AND (CH<>'T') THEN RUNMAZE(ROW-6,COL,'B'); FOR I:=ROW TO ROW+2 DO ©ÇçŽ�g‚«÷ÇéŽ �k‚«©÷‚†ÚŽÌ­ˆ*«« ÌóÛÈ¡5¥˜®Ú¥óˆ•¤ø‚ÇÄ ˆÀºÃ¡ö‚«¥öˆ•¤óšó‚« ¹ööÅÌ­A FOR J:=COL TO COL+2 DO PAGE[I,J]:=BLANK; PAGE[ROW+1,COL+1]:=WALL; END ELSE EXIT(LOGRAT); END (* R U N M A ZRôÏ‚õ�õÏ‚‚« óôõ�Å¡óõ‚•« óõŽÃ¡ó‚« Ì¥’ÒÙÇ܈•¤󚥘®óÇÄ ˆÀ»ÙÅ¡äÙς̥’ÒÚÇ܈•¤øÌ¥’ÒÚÇ܈•¤¥’ÒÙ E *); BEGIN (* L O G R A T M A I N *) INITRAT(ROW,COL); RUNMAZE(ROW,COL,'T'); END; (* L O G R A T *) BEÇ܈•¤øšÙ•ÌØÏ¡èöÅ¡öÏ‚«Ù‚Ì¥’ÒÙÇ܈•¤Øš¥öˆ•¤ø« ØõŽ�ÌØõ†�Ìó¹îÜ« Ü‚ÌòÝÈ¡¥òÇÛÇ?ˆÀ»ò‚« ¹ö ¥úÚÇèÉ¡îڸڂ̶ÛÈ¡=ٸق̶ÜÈ¡#¥¶Ç¶Ç?ˆÀ»¶‚¸¹ö¶‚¸¹ô¥ÚÇÙ•Ç?ˆÀºÃØLË„¡ÚÙ•R® ¥Ú‚ÇÙÇ?ˆÀºÃØBË„¡Ú‚ÙT® ¥ÚÇÙ‚Ç?ˆÀºÃØRË„¡ÚÙ‚L® ¥Ú•ÇÙÇ?ˆÀºÃØTË„¡Ú•ÙB® ڸڂ̶ÛÈ¡=ٸق̶ÜÈ¡#¥¶Ç¶Ç?ˆÀ»¶‚¸¹ò¶‚¸¹ð¥Ú‚ÇÙ‚Ç?ˆÀ»¹ž­gYL>f ÆÆÎÝÜ! {TERAK CORPORATION believes that the information contained herein is %accurate. In no event will TERAK be liable for anyTÎ ­‚ Õ€¾¶ Íž¶ÍžÎÎÎÇÈζ¦DONE:×Íž¥žÁ�2Bß5tÿüß5tÿüö õއ"†ò losses or damages, %whether direct or indirect, resulting from the use of such %information, including, without limitation, lr(\8 èÉ¡îڸڂ̶ÛÈ¡=ٸق̶ÜÈ¡#¥¶Ç¶Ç?ˆÀ»¶‚¸¹ö¶‚¸¹ô¥ÚÇÙ•Ç?ˆÀºÃØLË„¡osses arising from %claims of patent, copyright, and trademark infringement. No license %is granted hereby for the use of any ÚÙ•R® ¥Ú‚ÇÙÇ?ˆÀºÃØBË„¡Ú‚ÙT® ¥ÚÇÙ‚Ç?ˆÀºÃØRË„¡ÚÙ‚L® ¥Ú•ÇÙÇ?ˆÀºÃØTË„¡Ú•ÙB® ڸڂ̶patent or patent rights of %TERAK. TERAK reserves the right to update the information contained %herein at any time without fuÛÈ¡=ٸق̶ÜÈ¡#¥¶Ç¶Ç?ˆÀ»¶‚¸¹ò¶‚¸¹ð¥Ú‚ÇÙ‚Ç?ˆÀ»¹ž­gYL>f ÆÆÎÝÜrther notice. % %The information contained herein is proprietary to TERAK CORPORATION %and must be treated as confidential. O^It may not be disclosed to %others or used for any purpose except as expressly consented to by %TERAK. 6COPYRIGHT 1980 BY • ¥ TERAK CORPORATION ="ALL RIGHTS RESERVED"}  (*$LCONSOLE:*)  PROGRAM SINES; CONST SPEED=1; DX=0.07; VAR SCREEN,SCREEN2: ARRAY[0..239] OF PACKED ARRAY[0..319] OF BOOLEAN; F:ARRAY[0..6] OF ARRAY[0..319] OF REAL; I,J,K:INTEGER; R: REAL; òÊ-È¡ ¥ÇîØ•ÇòÇ?ˆÀ»ò‚« ¹à؂̹Þó‚« ó‚Ì,òÊ,È¡¥ÇéÇòÇ?ˆÀ»ò‚« ¹Ü­'rb«ôä=n·è6]�Z#"¸¶‚¸¥Ç¶Ç?ˆÀºáö¶•¸¶¶†�•¸¸Ì¶ÚÈ¡A¶¸¶‚̶ÛÈ¡#¥¶Ç¶Ç?ˆÀ»¶‚¸¹ô¶‚¸¹ò¶‚¸¶¶Ä¡ð¥¶Ç¶Ç?ˆÀ»¶•¸¶‚̶ÚÈ¡!¥Ç¶Ç?ˆÀ»¶‚¸¹îٚضš­2¼·  CH:CHAR; PROCEDURE THROTTLE(I:INTEGER); EXTERNAL;   BEGIN FOR I:=0 TO 319 DO SCREEN[0,I]:=FALSE; MOVELEFT(SCREEN[0],SCRÇ?ˆÀ»©·‚«·¹ô«·ÇïÌ· ©·Ê· È¡$¥’é·ÇÇ Ç?ˆÀ»©·‚«·¹ò¥¥’è’À«·Ç?Ì· ©·Ê· ȡÇ •«·©·á¥·³ €@EEN[1],9560); UNITWRITE(3,SCREEN,63); FOR I:=0 TO 319 DO SCREEN[120,I]:=TRUE; FOR I:=0 TO 239 DO SCREEN[I,160]:=TRUE; SC’½¹ ¥·³)\�>©·Š�ž³€)\�>©·Š�‡’½¥’Ãx¥·¼dŠ�ž‚Ç©·Ç?ˆÀ»¥ÇŒ¥·¼dŠ�ž‚Ç©·Ç?ˆÀ»¥¥ƒˆ¤‚€©·Ç?ˆ¤REEN2:=SCREEN; FOR I:=0 TO 319 DO BEGIN J:=I-160; IF J=0 THEN R:=-1.0 ELSE R:=-SIN(DX*J)/(DX*J); SCRE¥·¼½©·‚«·¹ð«·Ì· ©·Ê· ȡ櫷Ç>©·•Ì· ©·Ê· ȡꥥƒ©·ˆ¤‚€©·Ç?ˆ¤¥¥ƒ©·•ˆ¤‚€©·‚Ç?ˆ¤¼¥¥ƒ©·•ˆ¤‚€©·Ç?EN[120+ROUND(R*100),I]:=TRUE; SCREEN2[140+ROUND(R*100),I]:=TRUE; F[0,I]:=R; END; FOR J:=1 TO 5 DO BEGIN FOR I:ˆ¤¼–³)\�>‡½x¥¥ƒ©·ˆ¤‚€©·Ç?ˆ¤¼dŠ�ž‚«·©·É©·ÇïÅ�¡g¶¦ BAD INDEX: K=×Íž¶©·Í ž¶צ, I=Íž¶©·Í ž=0 TO 318-J DO BEGIN F[J,I]:=(F[J-1,I+1]-F[J-1,I])/DX; K:=120+ROUND(F[J,I]*100); IF (K<0) OR (K>239) THEN ¶צ, J=Íž¶©·Í ž¶Íž¹¥’é·Ç©·Ç?ˆÀ»©·‚«·¹ì¥¥ƒ©·ˆ¤‚€Ç?Ç?ˆ¤¥¥ƒ©·ˆ¤‚€Ç>Ç?ˆ¤¼½©·‚ WRITELN(OUTPUT,'BAD INDEX: K=',K:4,', I=',I:4,', J=',J:2) ELSE SCREEN[K,I]:=TRUE; END; F[J,319]:=F[J,318]; END;«·¹èÇ,ÎÁuEbƒ:{²n$ß5tÿüß5tÿüö õއ"*�ž‚Ç©·Ç?ˆÀ»¥¥ƒˆ¤‚€©·Ç?ˆ¤ THROTTLE(300);  END. ¥·¼½©·‚«·¹ð«·Ì· ©·Ê· ȡ櫷Ç>©·•Ì· ©·Ê· ȡꥥƒ©·ˆ¤‚€©·Ç?ˆ¤¥¥ƒ©·•ˆ¤‚€©·‚Ç?ˆ¤¼¥¥ƒ©·•ˆ¤‚€©·Ç?O^T SINES • ¥  Õ«·Ç?Ì· ©·Ê· È¡"¥’ÃÇ©·Ç?ˆÀ»©·‚«·¹ö¥’ÃÇ¥’ÃÇÇX%ž¥’Ã?ž«·Ç?Ì· ©·Ê· È¡"¥’ÃxÇ©·  VAR "CSA,CSG,SNA,SNG,OLDLAT,OLDFUN:REAL; "IX,IY,K:INTEGER; "Z:ARRAY[1..69] OF ARRAY[1..69] OF REAL; "DSPLY1: SCREENARRAY; (*Y<>0*); "OLDLAT:=LATRL; "OLDFUN:=FUNC;  END (*CONTOURPOINT*); " BEGIN (*SURFACE*) "INITIALIZE; "CALCFUNCTION; "UNITWRIT" "  procedure drawline(var range:integer;var screen;rowwidth,xstart,ystart,deltax, Wdeltay,penstate:integer);  external; E(3,DSPLY1,56); IX:=69; "WHILE IX>=1 DO $BEGIN &OLDLAT:=0; &K:=0; &FOR IY:=1 TO 69 DO (CONTOURPOINT(IX,IY,K,OLDLAT,OLDFU    PROCEDURE INITIALIZE;  BEGIN CSA:=XGAIN*COS(ALPHA); "CSG:=YGAIN*COS(GAMMA); "SNA:=XGAIN*SIN(ALPHA); "SNG:=YGAIN*N,DSPLY1); &IX:=IX-2; $END;  END. SIN(GAMMA); "FILLCHAR(DSPLY1[0],9600,CHR(0)); "(*FILLCHAR(DSPLY2[0],9600,CHR(0));*) "UNITWRITE(3,DSPLY1,63);  END (*INITIALIZE*);   PROCEDURE CALCFUNCTION;  VAR IX,IY:INTEGER; "X,Y,XYS,ZX,ZZ:REAL;  ZG100,PIFACTOR:REAL; SINES:ARRAY[1..69] OF R! {TERAK CORPORATION believes that the information contained herein is %accurate. In no event will TERAK be liable for anyEAL; BEGIN "PIFACTOR:=7.0*PI/69; ZG100:=100.0*ZGAIN; FOR IX:=1 TO 69 DO "BEGIN $XYS:=(IX-35)*PIFACTOR; IF IX=35 THEN  losses or damages, %whether direct or indirect, resulting from the use of such %information, including, without limitation, l&SINES[IX]:=1.0 $ELSE &SINES[IX]:=SIN(XYS)/XYS; "END; FOR IX:=1 TO 69 DO "BEGIN $WRITE('.'); $ZX:=SINES[IX]*ZG100; $FOosses arising from %claims of patent, copyright, and trademark infringement. No license %is granted hereby for the use of any R IY:=1 TO 69 DO &Z[IX,IY]:=ZX*SINES[IY]; "END (*FOR IX*);  END (*CALCFUNCTION*);  patent or patent rights of %TERAK. TERAK reserves the right to update the information contained %herein at any time without fu PROCEDURE CONTOURPOINT(IX,IY:INTEGER; VAR K:INTEGER; 7VAR OLDLAT,OLDFUN:REAL; VAR DISP:SCREENARRAY);  VAR FUNC,LATRL,X,Y,ZZ:rther notice. % %The information contained herein is proprietary to TERAK CORPORATION %and must be treated as confidential. REAL; "RANGE,I,J:INTEGER;  BEGIN "FUNC:=ZORG-(Z[IX,IY]+IX*SNA+IY*SNG); "LATRL:=XORG+IX*CSA-IY*CSG; IF OLDLAT=0 THEN $BEGIIt may not be disclosed to %others or used for any purpose except as expressly consented to by %TERAK. 6COPYRIGHT 1980 BY N &OLDLAT:=LATRL; &OLDFUN:=FUNC; $END; "X:=LATRL-OLDLAT; "X:=X*X; "Y:=FUNC-OLDFUN; "Y:=Y*Y; "Y:=SQRT(X+Y); "IF Y<>0 THETERAK CORPORATION ="ALL RIGHTS RESERVED"}  PROGRAM SURFACE;  CONST "PI=3.1415926; "ALPHA=0.3; "GAMMA=0.69; "XGAIN=2.5; N $BEGIN &Y:=(LATRL-OLDLAT)/Y; &X:=OLDLAT; &REPEAT (X:=X+Y; (I:=ROUND(X); (ZZ:=FUNC+(OLDFUN-FUNC)*(X-LATRL)/(OLDLAT-LATRL"YGAIN=2.5; "ZGAIN=1.1; "XORG=150; "ZORG=200;  TYPE "SCREENARRAY=ARRAY[0..239] OF PACKED ARRAY[0..319] OF BOOLEAN; " ); (J:=ROUND(ZZ); (IF K<>I THEN *DRAWLINE(RANGE,DISP,20,I,J+1,0,239-J,2); (DISP[J,I]:=TRUE; (K:=I; &UNTIL X<=LATRL; $END  €ŠÜEˆ•¤¼Ý¥ ¼‰�ƒÜ¥¼‰�ƒ‰–½Æ Ç–Ý¥ ¼‰�‰ƒÜ¥ ¼‰�–½Ú¼Н¡ÚÆ ¼½ÙƼ½Æ Æ ¼Ú¼–½Æ Æ ¼Æ ¼�½Æ Ƽټ–½Æ Æ ¼Æ ¼�½Æ Æ ¼Æ ¼ƒž½Æ ¼Š·¡ôÆ Æ ¼Ú¼–Æ ¼‡½Æ Ú¼½Æ Æ ¼Æ ¼ƒ½Æ ¼žÌÆÆ¼Ù¼Æ¼–Æ ¼Æ ¼–�Ú¼Æ ¼–‡ƒ½Æ¼žÌÛøÊË¡ÆØÊÊ‚ÇïÊ•ÏØÊÇÊÇ?ˆÀ»ÛÊ咞Æ ¼´¡öÚÆ ¼½ÙƼ½­” \ÕdÎÎ¥¥D8žE«©Ä¡4¥н««E̸÷ʸÈ¡©÷¥¥¥¥¥DÎ÷‚«¹ö©•«¹ôÁÚ=)p Z÷¦· ‚ ·l„7 �7 €·€€w v7 v÷ j·j€÷ü^7 ^�€ƒà Cp—týÿÂE�`�eÀEðÿÀ ÷/6¾ÿ .÷-00Â(7‚ ·$Â÷m÷- ÷ Á`Áà÷íþÿ ôÿ î•~Âî‚ ·êÂä÷mÞà÷-ÜØÿ Ì÷íÎ! {TERAK CORPORATION believes that the information contained herein is %accurate. In no event will TERAK be liable for anyÎ÷ ÄÁ`Áàÿ ´•~×-®,þ¶Ö òǬÀ À €á À‡€ € À5 Ñ ‡ \v‡ ‡Ö ¼h& , @€ @€ †|Ìš–’ŠrfVVVVV Ò6˜”àûW ìˆÀP Èð@ 0 ýˆD‡ÀP È0 ð ð0 ýˆÿ‡ ÿw (âÀP ð•ð0 ýˆ†Á ÂàQ ‚~�à@Á Â`ßU€äÿà P”Â~Àe‡~ßE€äÿ… ÿw ÌÿêßäÿÀüˆ× Àà éˆÁl9aÄeœ9à ìˆwVÀP ÈðH 0 ýˆ†ô ðÿO^¥ ³ A³š™™?ž�½¥ ³ A³Ø£0@ž�½¥ ³ A³š™™?ž�½¥³ A³Ø£0@ž�½¥¥DÇÇ€%ž ¥¥D?ž­tÆ ³àA• ¥ ³ÙIA�EЇ½Æ³ÈC³ÍÌŒ@�½ÌEÌ€›ÙÊ€›È¡EÆÙ#•Æ ¼‰�½Ù#áÆÙEˆ•¤³D€@½¹ÆÙEˆ•¤Æ¼žÆ¼‡½Ù‚̹öÌEÌ€›ÙÊ€›È¡a¶.ÍžÆÆÙEˆ•¤¼Æ¼�½ÌEÌ€œØÊ€œÈ¡-¥ÙEˆ•¤€ŠØEˆ•¤Æ¼ÆØEˆ•¤¼�½Ø‚̹ôق̹ò­ k@Â8 öÆÇÈ¥ÝEˆ•¤ TERAK CORPORATION ="ALL RIGHTS RESERVED"}  (*$R-*) PROGRAM WORLDWARII; TYPE PLANES=ARRAY[0..9] OF PACKED ARRAY[0..3] OF 0,1]:=8; WESTPLANE[2,2]:=144; WESTPLANE[3,0]:=253; WESTPLANE[3,1]:=207; WESTPLANE[3,2]:=143; WESTPLANE[4,0]:=5; WESTPLANE..255; VAR SCREEN:ARRAY[0..239] OF RECORD CASE BOOLEAN OF TRUE: (BYTES:PACKED ARRAY[0..39] OF 0..255); [4,1]:=63; WESTPLANE[4,2]:=128; WESTPLANE[5,0]:=7; WESTPLANE[5,1]:=12; WESTPLANE[5,2]:=248; WESTPLANE[6,0]:=5; WESTPLANE FALSE: (BITS:PACKED ARRAY[0..319] OF 0..1) END; NULLPLANE,EXP,EASTPLANE,WESTPLANE:PLANES; II,X1,X2,Y1,Y2,I[6,1]:=50; WESTPLANE[6,2]:=64; WESTPLANE[7,0]:=253; WESTPLANE[7,1]:=255; WESTPLANE[7,2]:=63; WESTPLANE[8,0]:=1; WESTPLAN,J,PLANESUP,YSPEED,XSPEED,STARTCHK,NUMOFPLANES:INTEGER; PLANEX,PLANEY,CRASH: ARRAY[1..6] OF INTEGER; cha:packed array[0.E[8,1]:=1; WESTPLANE[8,2]:=1; WESTPLANE[9,0]:=192; WESTPLANE[9,1]:=255; WESTPLANE[9,2]:=7; END; PROCEDURE EAST; BEGIN EAS.0] of char;  PROCEDURE INITPLANES; VAR I:INTEGER; PROCEDURE EXPINIT; BEGIN EXP[0,0]:=140; EXP[0,1]:=153; EXP[0,2]:=153; TPLANE[0,1]:=2; EASTPLANE[0,2]:=254; EASTPLANE[0,3]:=63; EASTPLANE[1,1]:=5; EASTPLANE[1,2]:=8; EASTPLANE[1,3]:=8; EXP[0,3]:=49; EXP[1,0]:=48; EXP[1,1]:=147; EXP[1,2]:=201; EXP[1,3]:=12; EXP[2,0]:=206; EXP[2,1]:=182; EXP[2,2]:=109;  EASTPLANE[2,1]:=9; EASTPLANE[2,2]:=16; EASTPLANE[2,3]:=132; EASTPLANE[3,1]:=241; EASTPLANE[3,2]:=243; EASTPLANE[3,3]:=19EXP[2,3]:=115; EXP[3,0]:=16; EXP[3,1]:=255; EXP[3,2]:=255; EXP[3,3]:=8; EXP[4,0]:=255; EXP[4,1]:=255; EXP[4,2]:=255; 1; EASTPLANE[4,1]:=1; EASTPLANE[4,2]:=252; EASTPLANE[4,3]:=160; EASTPLANE[5,1]:=31; EASTPLANE[5,2]:=48; EASTPLANE[5,3]:=EXP[4,3]:=255; EXP[5,0]:=255; EXP[5,1]:=255; EXP[5,2]:=255; EXP[5,3]:=255; EXP[6,0]:=16; EXP[6,1]:=255; EXP[6,2]:=255;224; EASTPLANE[6,1]:=2; EASTPLANE[6,2]:=76; EASTPLANE[6,3]:=160; EASTPLANE[7,1]:=252; EASTPLANE[7,2]:=255; EASTPLANE[7,3 EXP[6,3]:=8; EXP[7,0]:=206; EXP[7,1]:=182; EXP[7,2]:=109; EXP[7,3]:=115; EXP[8,0]:=48; EXP[8,1]:=147; EXP[8,2]:=201;]:=191; EASTPLANE[8,1]:=128; EASTPLANE[8,2]:=128; EASTPLANE[8,3]:=128; EASTPLANE[9,1]:=224; EASTPLANE[9,2]:=255; EASTPLAosses arising from %claims of patent, copyright, and trademark infringement. No license %is granted hereby for the use of any  EXP[8,3]:=12; EXP[9,0]:=140; EXP[9,1]:=153; EXP[9,2]:=153; EXP[9,3]:=49 END; (* OF EXPLOSION INIT *) PROCEDURE ZEROES; patent or patent rights of %TERAK. TERAK reserves the right to update the information contained %herein at any time without fuBEGIN FOR I:=0 TO 9 DO BEGIN EASTPLANE[I,0]:=0; WESTPLANE[I,3]:=0; NULLPLANE[I,0]:=0; NULLPLANE[I,1]:=0; rther notice. % %The information contained herein is p oprietary to TERAK CORPORATION %and must be treated as confidential.  NULLPLANE[I,2]:=0; NULLPLANE[I,3]:=0 END END;(* OF ZEROES *) PROCEDURE WEST; BEGIN WESTPLANE[0,0]:=252; WESTPLANE[0,1It may not be disclosed to %others or used for any purpose except as expressly consented to by %TERAK. 6COPYRIGHT 1980 BY ]:=127; WESTPLANE[0,2]:=64; WESTPLANE[1,0]:=32; WESTPLANE[1,1]:=32; WESTPLANE[1,2]:=160; WESTPLANE[2,0]:=33; WESTPLANE[2  FOR I:=0 TO 39 DO (* CLEAR SCREEN *) SCREEN[0].BYTES[I]:=0; MOVELEFT(SCREEN[0],SCREEN[1],9560); FOR I:=223 TO 239 DO MOVELEFT(EXP[J], SCREEN[PLANEX[I]+J].BYTES[PLANEY[I]],4); FOR J:=0 TO 9 DO MOVELEFT(NULLPLANE[J],  (* BUILD PILLBOXES *) BEGIN SCREEN[I].BYTES[0]:=255; SCREEN[I].BYTES[1]:=255; SCREEN[I].BYTES[38]:=255; SCREEN[PLANEX[I]+J].BYTES[PLANEY[I]],4); END; PLANESUP:=PLANESUP-1; CRASH[I]:=0; I:=NUMOFPLANES; ( SCREEN[I].BYTES[39]:=255 END; J:=16; (* ADD GUNS NOW *) FOR I:=227 DOWNTO 219 DO BEGIN * THIS IS BAD BUT SINCE ONLY ONE PLANE CAN DIE I STOP THE LOOP *) IF BULL=1 THEN BEGIN X1:=219; Y1:=26; BULLET(X, SCREEN[I].BITS[J]:=1; SCREEN[I+1].BITS[J]:=1; SCREEN[I+1].BITS[319-J]:=1; SCREEN[I].BITS[319-J]:=1; Y,0,0) END ELSE BEGIN X2:=219; Y2:=293; BULLET(X,Y,1,0) END END END END; (* OF CHECKFORHIT *) PROCEDUR J:=J+1 END; TIME(A,B); NUMOFPLANES:= (ABS(B)) MOD 6 + 1; (* INIT NUM OF PLANES *) X:=10; (* INIT PLANE POSITIONSE BULLONE; BEGIN BULLET(X1,Y1,0,0); IF (X1-XSPEED<1) OR (Y1+YSPEED>318) THEN BEGIN X1:= 219; Y1:=26 END; X1:= X1-XS IN SKY NOW *) FOR I:=1 TO NUMOFPLANES DO BEGIN TIME(A,B); PLANEX[I]:=X; PLANEY[I]:= (ABS(I+B+B)) MOD 3PEED; Y1:=Y1+YSPEED; BULLET(X1,Y1,0,1); IF X135 THEN (* ITS GOING OFF THE END OF THE STHEN BEGIN X:=X1; Y:=Y1 END ELSE BEGIN X:=X2; Y:=Y2 END; FOR I:=1 TO NUMOFPLANES DO CREEN *) BEGIN FOR I:=0 TO 9 DO MOVELEFT(NULLPLANE[I],SCREEN[X+I].BYTES[Y],4); Y:=0 END ELSE Y:=Y+1 END  IF CRASH[I]=1 THEN (* PLANE STILL FLYING *) BEGIN ADJ:=I MOD 2; IF (X>=PLANEX[I]) AND (X=PLANEY[I]+ADJ) AND (Y DIV 80 DO &FOR I:=1 TO NUMOFPLANES DO (IF CRASH[I]<¿¥’ë¤Çÿ¿¥’ë¤Çÿ¿¥’뤿¥’ë¤Çÿ¿¥’ë¤Çÿ¿¥’ë¤Çÿ¿¥’ë¤Çÿ¿¥’ë¤Çÿ¿¥’ë¤Çÿ¿¥’ë¤Çÿ¿¥’ë¤Çÿ¿¥’ë¤>0 THEN *BEGIN ,MOVEPLANE(I); ,BULLONE; BULLTWO; ,BULLONE; BULLTWO; *END; end; "UNITWRITE(3,SCREEN,7); END. (* OF WOR¿¥’ë¤Çÿ¿¥’ë¤Çÿ¿¥’뤿¥’ë¤Çο¥’ë¤Ƕ¿¥’ë¤m¿¥’ë¤s¿¥’ë¤0¿¥’ë¤Ç“¿¥’ë¤ÇÉ¿¥’ë¤ ¿¥’ë ¤ÇŒ¿¥’ëLDWARII *)  ¤Ç™¿¥’ë ¤Ç™¿¥’ë ¤1¿­¤¸ ̶ØÈ¡L¥’×¶¤¿¥’ö¤¿¥’ÿ¶¤¿¥’ÿ¶¤¿¥’ÿ¶¤¿¥’ÿ¶¤¿¶‚¸¹ö­Ud¥’äÇü¿¥’ä¿¥’ä@¿¥’ä ¿¥’ä ¿¥’äǠ¿¥’ä!¿¥’ä¿¥’äÇ�¿¥’äÇý¿¥’äÇÏ¿¥’äÇ�¿¥’ä¿¥’ä?¿¥’äǀ¿¥’ä¿¥’ä ¿¥’Ã¤Çø¿¥’ä¿¥’ä2¿¥’ä@¿¥’äÇý¿¥’äÇÿ¿¥’ä?¿¥’ä¿¥’ä¿¥’ä¿¥’à ¤ÇÀ¿¥’à ¤Çÿ¿¥’à ¤¿­.¥’פ¿¥’פÇþ¿¥’פ?¿¥’פ¿¥’פ¿¥’פ¿¥’פ ¿¥’פ¿¥’פDŽ¿¥’פÇñ¿¥’פÇ󿥒פǿ¿¥’פ¿¥’פÇü¿¥’פǠ¿¥’פ¿¥’פ0¿¥’פÇà¿¥’פ¿¥’פL¿¥’פǠ¿¥’פÇü¿¥’פÇÿ¿¥’פǿ¿¥’פǀ¿¥’פǀ¿¥’פǀ¿¥’× ¤Çà¿¥’× ¤Çÿ¿¥’× ¤¿­8ΠWORLDWAR ÎÎέÌ'ÌÛÝÈ¡¥¤Û¿Û‚̹ö¥¤¥¤ÇX%žÇßÌÇïÌÛÝÈ¡/¥Û¤Çÿ¿¥Û¤Çÿ¿¥Û¤&Çÿ¿¥Û¤'Çÿ¿Û‚̹ôÌÇã! O^It may not be disclosed to %others or used for any purpose except as expressly consented to by %TERAK. 6COPYRIGHT 1980 BY • ¥ TERAK CORPORATION ="ALL RIGHTS RESERVED"}   PROGRAM ZIZANDDRIP; VAR I,r: INTEGER; S: PACKED ARRAY [0..239, 0..319] OF BOOLEAN; PROCEDURE THROTTLE(I:INTEGER); EXTERNAL;    procedure drawline(var range:integer;var screen;row,x0,y0,x,y,pen:integer);  external;    BEGIN "FILLCHAR (S, SIZEOF(S), 0); UNITWRITE (3, S, 56); FOR I := 239 DOWNTO 0 DO BEGIN DRAWLINE (r,S,20, 0,239, 319,I-239, 3); DRAWLINE Ø»¥Û‚¤ÚÙ‚ÀØ»¥Û‚¤Ú•Ù‚ÀØ»­DØá ©“Ì©“̹ ©“Ì©“ÌÌ©“ÌÞßȡ襓Þ•¤øáìÞŽÌÚ¥“+Þ•¤øÄÚ¥“+Þ•¤ø ‚É„¡îÙ†‚¥“%Þ•¤øÜ‚ÄÙ†¥“%Þ•¤ø‚܂Ʉ¡ðÌÌ ÝàÈ¡oÌ Ì ÛáÈ¡)¥’ëÛ¤¥¥“+Þ•¤øÛ‚¤¥“%Þ•¤øžÛ‚̹öÌ Ì ÛáÈ¡)¥’ÿÛ¤¥¥“+Þ•¤øÛ‚¤¥“%Þ•¤øžÛ‚̹ô݂̹ò©“•«“¥“Þ•¤š©“ÌØáÇÛ«“«“ÚÙϹÇÛ«“Ç%«“ÚÙÏނ̹ê­È‹ÁT ©“©“Ï©“©“•É©“©“‚Ç>Å�¡ ÇÛ«“«“©“©“•«“©“©“‚«“©“©“Ï©“©“É¡Ï ­†^ ©“©“Ï©“©“•É©“! {TERAK CORPORATION believes that the information contained herein is %accurate. In no event will TERAK be liable for any©“•É�¡ ÇÛ«“Ç%«“©“©“•«“©“©“•«“©“©“Ï©“©“É¡Ï ­†^ ¥“+Ø•¤øÌ¥“%Ø•¤øÌØŽá=Æ¥’רÚ#Å¡*Ì ÌÙÊÈ¡ losses or damages, %whether direct or indirect, resulting from the use of such %information, including, without limitation, l¥’ÿÙ¤¥ÛÙ‚¤ÚžÙ‚̹ö̹ڂ̹;Æ¥’èÚÉ¡*Ì ÌÙÊÈ¡¥’ÿÙ¤¥ÛÙ‚¤ÚžÙ‚̹ô$̹ڕÌÌ ÌÙÊÈ¡ÆÙ¤¥ÛÙ‚¤ÚžÙosses arising from %claims of patent, copyright, and trademark infringement. No license %is granted hereby for the use of any ‚̹ò¥“%Ø•¤Úš­’+\›0 Ò Õ€Ö¥8ž«“Ì“2©“Ê“2È¡NΩ“Ë¡;«“©“Ì“3©“Ê“3È¡&¥“©“•¤øË¡ ©“Î Î Î Î Î ©“‚«“¹patent or patent rights of %TERAK. TERAK reserves the right to update the information contained %herein at any time without fuö¹ô©“‚«“¹ò¥žÁbYJb& ‚ˆ`Ä(‚Ì8vª, ‚«“©“©“Ï©“©“É¡Ï ­†^ ©“©“Ï©“©“•É©“rther notice. % %The information contained herein is proprietary to TERAK CORPORATION %and must be treated as confidential. " O^¸ ZIZANDDR • ¥  եǀ%ž ¥8žÇï«Ì’ÅëÊ’ÅÄ¡0¥¥ÇïÇ?ëÇï•Î¥¥Ç?Ç?‘Çïë•Îë•«¹ö«ÇïÌ’ÅëÊ’ÅÈ¡1¥¥Ç?ÇïÇ?‘ë‘뎂Υ¥Ç?ë뎂Îë‚«¹ôÇ,Î¥žÁ”I‹†% °÷¦· ‚ ·l„7 �7 €·€€w v7 v÷ j·j€÷ü^7 ^�€ƒà Cp—týÿÂE�`�eÀEðÿÀ ÷/6¾ÿ .÷-00Â(7‚ ·$Â÷m÷- ÷ Á`Áà÷íþÿ ôÿ î•~Âî‚ ·êÂä÷mÞà÷-ÜØÿ Ì(r,S,20, 319,0, -319,239-I, 3) END; FOR I := 0 TO 239 DO BEGIN DRAWLINE (r,S,20, 319,239, -319,-I, I MOD 2+1); ÷íÎÎ÷ ÄÁ`Áàÿ ´•~×-®,þ¶Ö òǬÀ À €á À‡€ € À5 Ñ ‡ \v‡ ‡Ö ¼h& , @€ @€ †|Ìš–’ŠrfVVVVVÒß5tÿüß5tÿüö õއ"(–ÿÁåÀe÷  úÀœ„Äå ô# losses arising from %claims of patent, copyright, and trademark infringement. No license %is granted hereby for the use of anyTLE(120); "GRID (1); THROTTLE(300); "GRID (3); "THROTTLE(300); "GRID (2);  THROTTLE(300); "UNITWRITE(3,S,7);  patent or patent rights of %TERAK. TERAK reserves the right to update the information contained %herein at any time without f"WRITELN(CHR(12)); "END. urther notice. % %The information contained herein is proprietary to TERAK CORPORATION %and must be treated as confidential. It may not be disclosed to %others or used for any purpose except as expressly consented to by %TERAK. 6COPYRIGHT 1980 BY TERAK CORPORATION ="ALL RIGHTS RESERVED"}    PROGRAM ZIZANDDRIP; VAR I,r: INTEGER; S: PACKED ARRAY [0..239, 0..319] OF BOOLEAN; procedure drawline(var range:integer; var screen;row,x,y,a,b,pen:integer);  external;  PROCEDURE THROTTLE(I:INTEGER); EXTERNAL;   PROCEDURE GRID (PEN: INTEGER); BEGIN FOR I := 0 TO 319 DO ; (*WAIT 2 SECONDS*) FILLCHAR (S, SIZEOF(S), 0); I := 239; WHILE I >= 0 DO BEGIN DRAWLINE (r,S,20, 0,I, 319,0, 1); I := I - 2  END; I := 319; WHILE I >= 0 DO BEGIN DRAWLINE (r,S,20, I,0, 0,239, PEN); I := I - 2 END; FOR I := 0 TO 239 DO DRAWLINE (r,S,20, 0,I, 319,239-I-I, 3); FOR I := 319 DOWNTO 0 DO DRAWLINE (r,S,20, I,0, 319-I-I,239, 3Ú ZIZANDDR ) END (*GRID*); BEGIN "FILLCHAR (S, SIZEOF(S), 0); UNITWRITE (3, S, 56); FOR I := 0 TO 239 DO DRAWLINE (r,S,20, 0,I,  {TERAK CORPORATION believes that the information contained herein is %accurate. In no event will TERAK be liable for an 319,239-I-I, 3); FOR I := 319 DOWNTO 0 DO DRAWLINE (r,S,20, I,0, 319-I-I,239, 3); FOR I := 0 TO 319 DO DRAWLINEy losses or damages, %whether direct or indirect, resulting from the use of such %information, including, without limitation,  (r,S,20, I,0, 319-I-I,239, I MOD 2+1); FOR I := 239 DOWNTO 0 DO DRAWLINE (r,S,20, 0,I, 319,239-I-I, I MOD 2+1); THROT$ ; DEATH=-1; HEIGHT=40; WIDTH=60; LF=10; HOME=25; UP=31; FORW=28; C=67; «Ç?ÌëÙȡ낫¹ö¥Ç€%ž Çï«ëÄ¡¥¥ëÇ?Ïë•«¹ôÇ?«ëÄ¡¥¥ëÇïØÏë•«¹ò«ÇïÌëÙÈ¡¥¥ëÇ?Çïë•ë•Ïë‚«¹ðÇ?«ÌëÙÄ¡¥¥ëÇ?ë•ë•ÇïÏë•«¹î­~#Mq’®¾Õ#¥Ç€%ž ¥8ž«ÇïÌ’ÅëÊ’ÅÈ¡¥¥ëÇ?Çïë•ë•Îë‚«¹öÇ?«Ì’ÅëÊ’ÅÄ¡¥¥ëÇ?ë•ë•ÇïÎë•«¹ô«Ç?Ì’ÅëÊ’ÅÈ¡¥¥ëÇ?ë•ë•Çï뎂Îë‚«¹òÇï«Ì’ÅëÊ’ÅÄ¡¥¥ëÇ?Çïë•ë•뎂Îë•«¹ðxÎÎÇ,ÎÎÇ,ÎÎÇ,Î¥ž¶ Íž¶ÍžÁ^�¼é†%÷¦· ‚ ·l„7 �7 €·€€w v7 v÷ ! {TERAK CORPORATION believes that the information contained herein is %accurate. In no event will TERAK be liable for anyj·j€÷ü^7 ^�€ƒà Cp—týÿÂE�`�eÀEðÿÀ ÷/6¾ÿ .÷-00Â(7‚ ·$Â÷m÷- ÷ Á`Áà÷íþÿ ôÿ î•~ losses or damages, %whether direct or indirect, resulting from the use of such %information, including, without limitation, lÂî‚ ·êÂä÷mÞà÷-ÜØÿ Ì÷íÎÎ÷ ÄÁ`Áàÿ ´•~×-®,þ¶Ö òǬÀ À €á À‡€ € À5 Ñ ‡ \v‡ ‡Ö ¼h& , @€ @€patent or patent rights of %TERAK. TERAK reserves the right to update the information contained %herein at any time without fu †|Ìš–’ŠrfVVVVVÒß5tÿüß5tÿüö õއ",–ÿÁåÀe÷  úÀœ„Äå ôrther notice. % %The information contained herein is proprietary to TERAK CORPORATION %and must be treated as confidential. O^It may not be disclosed to %others or used for any purpose except as expressly consented to by %TERAK. 6COPYRIGHT 1980 BY • ¥ TERAK CORPORATION ="ALL RIGHTS RESERVED"}  (* WRITTEN BY DAVID B. WOLLNER *) (*$L-*) (*$R-,I-*) PROGRAM LIFER; CONST BIRTH=1% IDTH]:=DUMMAP[POSIT+WIDTH]+OCCURENCE; DUMMAP[POSIT-1-WIDTH]:=DUMMAP[POSIT-1-WIDTH]+OCCURENCE; DUMMAP[POSIT-1]:=DUMMAP[POSIT- COL := SCAN(L,<> CHR(0),ACTMAP[POSIT]); IF COL <> L THEN BEGIN POSIT := POSIT+COL; GUY:=ACTMAP[POSIT]; IF GUY>121]+OCCURENCE; DUMMAP[POSIT-1+WIDTH]:=DUMMAP[POSIT-1+WIDTH]+OCCURENCE; END(* A N N O U N C E *); PROCEDURE ADDGUYS; VAR ROW,COL7 THEN IF (GUY<130) OR (GUY>131) THEN ANNOUNCE ELSE ELSE IF (GUY=3) THEN ANNOUNCE; :INTEGER; BEGIN BIRTHS:=0; DEATHS:=0; POSIT:=WIDTH+1; REPEAT ROW:=POSIT DIV WIDTH; ROW:=(ROW-1)*320+POSIT-ROW*WI POSIT := POSIT+1; END; L:=L-COL-1; UNTIL (L<=0) ; END; MOVELEFT(DUMMAP[0],ACTMAP[0],4000); POPULATION:=POPDTH; UNITWRITE(3,PAGE,57); PAGE[ROW]:=(PAGE[ROW]-[2])+([2]-PAGE[ROW]); PAGE[ROW+80]:=[0..3]-(PAGE[ROW+80]+[0]); ULATION+BIRTHS-DEATHS; IF BIRTHS+DEATHS=0 THEN BEGIN WRITE(CHR(12));(* FORM FEED TO CLEAR OUT PAGE *) FOR I: K=75; BS=8; SP=32; X=88; Z=90; P=80; VAR POSIT,POPULATION,BIRTHS,DEATHS,GENERATIONS,I,J,L:INPAGE[ROW+160]:=(PAGE[ROW+160]-[2])+([2]-PAGE[ROW+160]); UNITREAD(2,CH,1); PAGE[ROW]:=(PAGE[ROW]-[2])+([2]-PAGE[ROW]); TEGER; BEING,BLANK:SET OF 0..3; CH,LCH:CHAR; ACTMAP,DUMMAP:PACKED ARRAY[0..5999] OF 0..255; PAGE: PACKED ARRAY[0 PAGE[ROW+80]:=[0..3]-(PAGE[ROW+80]+[0]); PAGE[ROW+160]:=(PAGE[ROW+160]-[2])+([2]-PAGE[ROW+160]); CASE ORD(CH) OF ..19199] OF SET OF 0..3; PROCEDURE INITIALIZE; BEGIN POPULATION:=0; GENERATIONS:=0; FILLCHAR(DUMMAP[0],3999,CHR(0)); FIL LF:IF POSIT+WIDTH 0 THEN POSIT:=POSIT+1; BS:IF (POSIT-1) MOD WIDTH <> 0 THEN POSIT:=POSIT-1;T-R*WIDTH; GUY:=DUMMAP[POSIT]; IF GUY>127 THEN BEGIN OCCURENCE:=DEATH; DEATHS:=DEATHS+1; DUMMAP[POSIT] UP,117,85:(*'U'*)IF POSIT-WIDTH>WIDTH THEN POSIT:=POSIT-WIDTH; C,99: POSIT:=(HEIGHT DIV 2)*WIDTH+WIDTH DIV 2;:=GUY-128; PAGE[R]:=BLANK; PAGE[R+80]:=BLANK; PAGE[R+160]:=BLANK; END ELSE BEGIN BIRTHS:=BIRTHS+1;  K,107:IF DUMMAP[POSIT]>127 THEN ANNOUNCE; 73,105:(*'I'*)IF DUMMAP[POSIT]<=127 THEN ANNOUNCE; Z,122: DUMMAP[POSIT]:=GUY+128; OCCURENCE:=BIRTH; PAGE[R]:=BEING; PAGE[R+80]:=BEING; PAGE[R+160]:=BEING; END; INITIALIZE END(* CASE *); UNTIL(CH='S') OR (CH='s'); POPULATION:=POPULATION+BIRTHS-DEATHS; MOVELEFT(DUMMAP[0],ACTMAP[0 DUMMAP[POSIT+1-WIDTH]:=DUMMAP[POSIT+1-WIDTH]+OCCURENCE; DUMMAP[POSIT+1]:=DUMMAP[POSIT+1]+OCCURENCE; ],4000); END; (* A D D G U Y S *) PROCEDURE CHECK; VAR L,GUY,ROW,COL:INTEGER; BEGIN WHILE UNITBUSY(2) DO BEGIN GENERATIONS DUMMAP[POSIT+1+WIDTH]:=DUMMAP[POSIT+1+WIDTH]+OCCURENCE; DUMMAP[POSIT-WIDTH]:=DUMMAP[POSIT-WIDTH]+OCCURENCE; DUMMAP[POSIT+W:=GENERATIONS+1; BIRTHS:=0; DEATHS:=0; FOR ROW:=1 TO HEIGHT-1 DO BEGIN POSIT := ROW*WIDTH+1; L := WIDTH-1; REPEAT &  POSIT:=1289; ANNOUNCE; POSIT:=1291; ANNOUNCE; POSIT:=1292; ANNOUNCE; POSIT:=1294; ANNOUNCE; POSIT:=1295; ANNOUNCE »¹;ï‚«¥ñÚÇ€‚¿Ì¥—ÙÀ󠻥—ÙP‚À󠻥—ÙÇ ‚À󠻥ñ‚<•¥ñ‚<•¾Û‚¿¥ñ‚¥ñ‚¾Û‚¿¥ñ‚<‚¥ñ‚<‚¾Û‚¿¥ñ<•¥ñ<•¾Û‚¿; POSIT:=1297; ANNOUNCE; POSIT:=1298; ANNOUNCE; POSIT:=1350; ANNOUNCE; POSIT:=1356; ANNOUNCE; MOVELEFT(DUMMAP[0],A¥ñ<‚¥ñ<‚¾Û‚¿¥ñ•<•¥ñ•<•¾Û‚¿¥ñ•¥ñ•¾Û‚¿¥ñ•<‚¥ñ•<‚¾Û‚¿­"««<‚« ñ<†ÌÙ•Ç@�ñ‚Ù<�•Ì¥—9ž¥—ÙÀ¥—ÙCTMAP[0],4000); REPEAT UNITREAD(2,CH,1,,1); CHECK; LCH:=CH; CASE ORD(LCH) OF SP:; 83,115:(*'S'*) BÀº…¥—ÙÀº…œ »¥—ÙP‚À¥—ÙP‚Àºœ… »¥—ÙÇ ‚À¥—ÙÇ ‚Àº…¥—ÙÇ ‚Àº…œ »¥ž¥—ÙÀ¥—ÙÀº…EGIN WRITE(CHR(12));(* FORM FEED TO CLEAR OUT SCREEN *) FOR I:=1 TO 17 DO WRITE(CHR(LF)); WRITELN(OUTPUT, 'GENERAT¥—ÙÀº…œ »¥—ÙP‚À¥—ÙP‚Àºœ… »¥—ÙÇ ‚À¥—ÙÇ ‚Àº…¥—ÙÇ ‚Àº…œ »õ¹nñ<‚(<�É¡ñ<‚« ¹ö<‚« ¹öñ‚<ŽË¡ñION NO.',GENERATIONS:5,' POPULATION =',POPULATION:5); WRITELN(OUTPUT, 'STATS LAST GENERATION - BIRTHS = ',BIRTHS,' DEATHS = ',‚« ¹öñ•<ŽË¡ñ•« ¹öñ<•<Å¡ñ<•« ¹ö(†<�<†‚« ¹ö¥ñ¾Å¡Ï¹ö¥ñ¾È¡Ï¹öϹö¬z¹öNy  "‡&(†,DEATHS); END; 65,97:(*'A'*)ADDGUYS(* INSERT MORE OF THESE GUYS *) END; WRITE(OUTPUT,CHR(HOME)); UNTIL (LCH.lŽ468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtv¦z|~€å™†©ŠŒŽ�’”–˜šØž ¢¤¯¨ª¬='H') OR (LCH='h'); UNITWRITE(3,PAGE,7); END. ®°²´¶æº¼¾À%ÙÆéÊÌÎÐÒÔÖØÚÞàâäïõSÃõsÃ�¡ôðï‚î•« ¥¥‹ÇÇ ž­�  –ž#¡ìí‚«««Ì(•ÌÙÜ=1 TO 17 DO WRITE(CHR(LF)); IF POPULATION=0 THEN WRITE('EVERYONE HAS DIED ') ELSE WRITE('WE ARE QUITE STABLE '); GENERATIONS:=GENERATIONS-1; WRITELN('IN GENERATION ',GENERATIONS); WRITELN('To end type an ''H'', or t LIFER o add more type an ''A'''); WRITELN('Type a return to continue afterwards.'); WRITE(CHR(HOME)); READLN;   END; END;(* WHILE NOT UNIT BUSY *) END(* C H E C K *); BEGIN (* MAIN PROGRAM *) BEING:=[1,2,3]; BLANK:=[]; UNITWRITE(3,PAGE,57); CH:=' '; INITIALIZE; POSIT:=63; ANNOUNCE; POSIT:=124; ANNOUNCE; POSIT:=184; ANNOUNCE; POSIT:=183; ANNOUNCE; POSIT:=182; ANNOUNCE; POSIT:=1230; ANNOUNCE; POSIT:=1236; ANNOUNCE; POSIT:=1288; ANNOUNCE; « «¥ÇŸž ¥—Ç€%ž ­ "ñ<†ÌÙ•Ç@�ñ‚Ù<�•Ì¥ñ¾ÌÚÅ¡@Ç‘Ìî‚«¥ñÚÇ€•¿¥—ÙÀò »¥—ÙP‚Àò »¥—ÙÇ ‚Àò' Ͷ͹ š‹ ¼Õ€— «  « ¥—9ž «Î?« Î|« ÎǸ« ÎÇ·« ÎǶ« ÎÇΫ ÎÇÔ« ÎÇ« ÎÇ « ÎÇ « ÎÇ « ÎÇ« ÎÇ« ÎÇ« ÎÇ« ÎÇF« ÎÇL« Î¥¥‹ÇÇ ž¥žÎõ« ô¹ô¹ò¶ Í«̪?ìʪ?È¡¶ Íì‚«¹ö¶¦GENERATION NO.×ͶíÍ ¶¦ POPULATION =×ͶðÍ ¶Í¶צ!STATS LAST GENERATION - BIRTHS = ͶïÍ ¶¦ DEATHS = ×ͶîÍ ¶Í¹òιò¬n s¹òÏ  "$&(*,.02468:<>@BNFHJLNPRTVXZ\^`bdf3jlnprtvxz|~€‚ކˆŠŒŽ�’”–˜šœž ¢¤¦s¶ÍôHÃôhÃ�¡ð¥—žÁ¦ ÒŠzTPV´! {TERAK CORPORATION believes that the information contained herein is %accurate. In no event will TERAK be liable for anyÜ  « ÎÇ« ÎÇ« ÎÇ« ÎÇ« ÎÇF« ÎÇL« Î¥¥‹ÇÇ ž¥žÎõ« ô¹ô¹ò¶ Í«̪?ìʪ?È¡¶ Íì‚«¹ö¶¦G losses or damages, %whether direct or indirect, resulting from the use of such %information, including, without limitation, lENERATION NO.×ͶíÍ ¶¦ POPULATION =×ͶðÍ ¶Í¶צ!STATS LAST GENERATION - BIRTHS = ͶïÍ ¶¦ DEATHS =osses arising from %claims of patent, copyright, and trademark infringement. No license %is granted hereby for the use of any  ×ͶîÍ ¶Í¹òιò¬n s¹òÏ  "$&(*,.02468:<>@BNFHJLNPRTVXZ\^patent or patent rights of %TERAK. TERAK reserves the right to update the information contained %herein at any time without fu`bdf3jlnprtvxz|~€‚ކˆŠŒŽ�’”–˜šœž ¢¤¦s¶ÍôHÃôhÃ�¡ð¥—žÁ¦ ÒŠzTPV´rther notice. % %The information contained herein is proprietary to TERAK CORPORATION %and must be treated as confidential. O^It may not be disclosed to %others or used for any purpose except as expressly consented to by %TERAK. 6COPYRIGHT 1980 BY È¡`Ù<�‚« <•ÌÛ¥‹Çñž ÌØÛË¡0ñØ‚« ¥‹Çñ¾ÌÚÅ¡ÚÇ‚ÉÚǃÅ�¡Ï¹¹ÚáÏñ‚« ÛØ••ÌÛÈ¡öق̹ô¥¥‹ÇÇ žðï‚î•« ïî‚áð¶• 5  Í«ÌìÜÈ¡¶ Íì‚«¹òðᶦEVERYONE HAS DIED ×͹¶¦WE ARE QUITE STABLE ×Íí•«¶צIN GENERATION ͶíÍ ¶Í¶צ.To end type an 'H', or to add more type an 'A'ͶͶצ%Type a return to continue afterwards.ͶͶ( TERAK CORPORATION ="ALL RIGHTS RESERVED"}  (*$R-*) PROGRAM CYCLE; CONST BS = 8; FF = 12; TYPE DEVICE = (TEK, V BEGIN FOR I := INSIDE (0, X-2, 319) TO INSIDE (0, X+2, 319) DO FOR J := INSIDE (0, Y-2, 239) TO INSIDE (0, Y+2, 239) DO T50, DIABLO, DATAMEDIA, TERAK); INKCOLORS = (NONE, WHITE, BLACK, COMPLEMENT); CURSX = 0 .. 319; SCREEN.I [J, I] := NOT SCREEN.I [J, I] (*COMPLEMENT*) END (*SHOWCURSOR*); BEGIN (*DRAW*) IF GOTCURSOR THEN SHOWCURSOR; (*UN CURSY = 0 .. 239; "XXXXX = ARRAY [CURSY] OF PACKED ARRAY [CURSX] OF BOOLEAN; (*Data structures*) -DRAW THE LAST CURSOR*) NEWX := INSIDE (0, NEWX, 319); NEWY := INSIDE (0, NEWY, 239); IF INK <> NONE THEN BEGIN XD TERAKSCREEN = RECORD CASE BOOLEAN OF TRUE: (I:XXXXX ); FALSE: (C: PACKED ARRAY [0 .. 9599] OF CHAR) END (*TERAIFF := NEWX - X; YDIFF := NEWY - Y; DRAWLINE (RANGE,SCREEN.I,20, X, Y, XDIFF, YDIFF, ORD(INK)) END; X := NEWX; Y := NEKSCREEN*); NOISE = PACKED RECORD $JUNK: 0..255; $DTA: BOOLEAN $END;   VAR VCR: RECORD CASE BOOLEAN OF &TRUE: (I: INTWY; IF WITHCURSOR THEN BEGIN SHOWCURSOR; GOTCURSOR := TRUE END ELSE GOTCURSOR := FALSE; EGER); &FALSE:(P: ^NOISE) &END; X: CURSX; (*TURTLE X POSITION*) Y: END (*DRAW*); PROCEDURE POLYGON(STEP,SIZE,INCR:INTEGER); VAR XX: REAL; BEGIN INK:=WHITE; REPEAT XX := ANGLE * 0.01 CURSY; (*TURTLE Y POSITION*) ANGLE: 0 .. 359; (*TURTLE ORIENTATION*) INK: 74533; (*COMMON EXPRESSION*) DRAW (X + ROUND( SIZE * COS (XX)), Y - ROUND( SIZE * SIN (XX)), FA INKCOLORS; (*PEN STATUS*) NUMBER, HOLD: INTEGER; (*INPUT NUMBER*) SCREEN: LSE); SIZE := SIZE + INCR; ANGLE := (ANGLE + STEP) MOD 360; UNTIL (X<10) OR (X>310) OR (Y<10) OR (Y>230); INK:=BLACK; E TERAKSCREEN; (*THE TURTLE WORLD*) CCH: CHAR; (*COMMAND CHARACTER*) GOTCURSOR: ND (*POLYGON*); !  PROCEDURE MOVE(SIZE:INTEGER);  VAR XX:REAL;  BEGIN "XX:=ANGLE*0.0174533; "DRAW(X+ROUND(SIZE*COS(XX)),Y- BOOLEAN; COMPAT: PACKED ARRAY [0..0] OF CHAR; RANGE: INTEGER; ROUND(SIZE*SIN(XX)),FALSE);  END (*MOVE*); !  PROCEDURE TURN(DELTA:INTEGER);  BEGIN "ANGLE:=ANGLE+DELTA; "IF ANGLE>360 THEPROCEDURE DRAWLINE(VAR R:INTEGER; 3VAR S:XXXXX; LRWIDTH,XSTART,YSTART,DELTX, MDELTY,PEN:INTEGER); EXTERNAL; FUNCTION INSIDE N ANGLE:=ANGLE-360; "IF ANGLE<0 THEN ANGLE:=ANGLE+360;  END (*TURN*); !  PROCEDURE PENCOLOR(COLOR:INKCOLORS);  BEGIN "INK:(A, B, C: INTEGER): INTEGER; BEGIN IF B < A THEN B := A; IF B > C THEN INSIDE := C ELSE INSIDE := B END (*INSIDE*); PROCEDUR=COLOR;  END (*PENCOLOR*); PROCEDURE MOVETO(XX,YY:INTEGER); BEGIN "DRAW(XX+160,120-YY,FALSE);  END (*MOVETO*); !  PROCEDURE DRAW (NEWX: CURSX; NEWY: CURSY; WITHCURSOR: BOOLEAN); VAR XDIFF, YDIFF: INTEGER; PROCEDURE SHOWCURSOR; VAR I, J: INTEGER;E TURNTO(THETA:INTEGER);  BEGIN "ANGLE:=THETA;  END (*TURNTO*); PROCEDURE INITIALIZE; (*START TURTLE AT THE BEGINNING*) ) ,NE,E,SE,S,SW,W,NW); VAR DDX,DDY: ARRAY [COMPASS] OF -1..+1; DX,DY,X,Y: INTEGER; SEGLN: INTEGER; II,J: INTEGER; NEWSTATE: B,ABSOL,DELTA: INTEGER; CH: CHAR; STUFF: STRING; SPEED: INTEGER; F: FILE; BUF: PACKED ARRAY[0..1023] OF CHAR; OOLEAN; PROCEDURE INIT; BEGIN NEWSTATE:=TRUE; DDX[N]:= 0;DDX[NE]:= 1;DDX[E]:= 1;DDX[SE]:= 1; DDX[S]:= 0;DDX[SW]:=-1;DDX[W]:=-PROCEDURE DOIT(SPEED:INTEGER); VAR I:INTEGER; BEGIN I:=0; REPEAT UNITWRITE(3,DELAY,7); ABSOL := ABSOL +SPEED; TE1;DDX[NW]:=-1; DDY[N]:= 1;DDY[NE]:=1 ;DDY[E]:=0 ;DDY[SE]:=-1; DDY[S]:=-1;DDY[SW]:=-1;DDY[W]:=0 ;DDY[NW]:=1 ; END; PROCEDURE MOVMP.SCAN := ABSOL MOD 10; TEMP.ROW := (ABSOL DIV 10) MOD 25; VIR.P^ := TEMP; I:=I+1; UNTIL I>400; END (*DOIT*); BBEGIN VCR.I:=-28; FOR X:=1 TO 20 DO VCR.P^.DTA:=NOT VCR.P^.DTA; "WITH SCREEN DO FILLCHAR (C[0], 9600, CHR(0)); (*CLEAR THEE(HEADING:COMPASS;DIST:INTEGER); BEGIN DX:=DDX [HEADING]; DY:=DDY [HEADING]; FOR II:= 1 TO DIST*SEGLN DO BEGIN X:=X+DX; Y:= SCREEN*) X := 160; Y := 120; ANGLE := 0; INK := NONE; GOTCURSOR := FALSE; " END (*INITIALIZE*); PROCEDUREY+DY; IF (Y<=319) AND (X<=239) THEN SCREEN.I [X,Y]:= NEWSTATE;END; END; PROCEDURE A; FORWARD; PROCEDURE B; FORWARD; P MAINLOOP; FORWARD; PROCEDURE DELAY; VAR I:INTEGER; BEGIN FOR I:=0 TO 5000 DO BEGIN END; IF NOT UNITBUSY(2) THEN EXIT(MAROCEDURE C; FORWARD; PROCEDURE D; FORWARD; PROCEDURE A; BEGIN IF L>0 THEN BEGIN L:=L-1; INLOOP); END (*DELAY*); PROCEDURE DERIV; CONST DX=0.07; VAR J,K,N:INTEGER; R:REAL; F:ARRAY[0..6] OF ARRAY[0..319] OF REAL; A; MOVE(SE,1); B; MOVE(E,2); D; MOVE(NE,1); A; L:=L+1 END; END; PROCEDURE B; BEGIN IF L>0 THEN BEGIN L:=L-1; B; MOVE(SW BEGIN INITIALIZE; WITH SCREEN DO BEGIN FOR K:=0 TO 319 DO I[120,K]:=TRUE; FOR K:=0 TO 239 DO I[K,160]:=TRUE; ,1); C; MOVE(S,2); A; MOVE(SE,1); B; L:=L+1 END; END; PROCEDURE C; BEGIN IF L>0 THEN BEGIN L:=L-1; C; MOVE(NW,1); D; MOVEFOR K:=0 TO 319 DO BEGIN J:=K-160; IF J=0 THEN R:=-1.0 ELSE R:=-SIN(DX*J)/(DX*J); I[120+ROU(W,2); B; MOVE(SW,1); C; L:=L+1 END; END; PROCEDURE D; BEGIN IF L>0 THEN BEGIN L:=L-1; D; MOVE(NE,1); A; MOVE(N,2); C; MOND(R*100),K]:=TRUE; F[0,K]:=R; END; FOR J:=1 TO 5 DO BEGIN FOR N:=0 TO 318-J DO BEGIN F[J,VE(NW,1); D; L:=L+1 END; END; BEGIN INIT; X:=SIZE DIV 4; Y:=SIZE DIV 2; SEGLN:=SIZE DIV 4; FOR II:=0 TO L DO BEGIN XN]:=(F[J-1,N+1]-F[J-1,N])/DX; K:=120+ROUND(F[J,N]*100); I[K,N]:=TRUE; END; F[J,319]:=F[J,318]; :=X DIV 2; Y:=Y DIV 2; SEGLN:=SEGLN DIV 2 END; X:=X+XZERO; Y:=Y+YZERO; D; MOVE(NE,1); A; MOVE(SE,1); B; MOVE(SW,1); C; MOVE( END; END (*WITH*); DELAY; END (*DERIV*); PROCEDURE CALLPOLY(STEP,SIZE,INCR:INTEGER); BEGIN INITIALIZE; POLYGON(STENW,1); END (*SIERPINSKI*); PROCEDURE SCROLLER; TYPE "VIRTYPE = PACKED RECORD SCAN: 0..15; JUNK: 0..15; ROW: 0..P,SIZE,INCR); DELAY; END (*CALLPOLY*); PROCEDURE SIERPINSKI(L:INTEGER); CONST XZERO=00; YZERO=20; SIZE=512; TYPE COMPASS=(N25 END; VAR VIR : RECORD CASE BOOLEAN OF TRUE: (I: INTEGER); FALSE:(P: ^VIRTYPE) END; "TEMP: VIRTYPE; DELAY* 35) END; (*PETAL*) "PROCEDURE BLOSSOM(STEM,LEAF:INTEGER); "VAR I:INTEGER; "BEGIN (*BLOSSOM*) $FOR I:=0 TO 4 DO BEGIN PENCOLO); $PROCEDURE CHANGEXY; $VAR DX,DY:INTEGER; $BEGIN &IF DIR<0 THEN DIR:=DIR+8; &IF DIR>=8 THEN DIR:=DIR-8; &CASE DIR OF (0R(WHITE); MOVE(STEM); PETAL(LEAF); &MOVE(-STEM); TURN(72) END END;  BEGIN (*FLOWER*) "INITIALIZE; MOVETO(-40,-100); PENCOLOR(:BEGIN DX:=1; DY:=0; END; (1:BEGIN DX:=1; DY:=1; END; (2:BEGIN DX:=0; DY:=1; END; (3:BEGIN DX:=-1; DY:=1; END; WHITE); "TURNTO(60); MOVE(50); TURN(-50); PETAL(4); PENCOLOR(WHITE); "TURNTO(60); MOVE(10); TURN(50); PETAL(4); PENCOLOR(WHITE(4:BEGIN DX:=-1; DY:=0; END; (5:BEGIN DX:=-1; DY:=-1; END; (6:BEGIN DX:=0; DY:=-1; END; (7:BEGIN DX:=1; DY:=-1; END &END; ); "TURNTO(60); MOVE(40); TURN(-30); MOVE(69); BLOSSOM(25,7); MOVE(-69); "TURNTO(150); PENCOLOR(WHITE); MOVE(110); BLOSSOM(15,&X:=X+SCALE*LGTH*DX; Y:=Y+SCALE*LGTH*DY; $END; "BEGIN $PENCOLOR(NONE); MOVETO(X,Y); TURNTO(DIR*45); $PENCOLOR(WHITE); CHANGE6); "DELAY; "INITIALIZE; MOVETO(0,-100); PENCOLOR(WHITE); "TURNTO(90); MOVETO(0,0); BLOSSOM(30,7); DELAY;  INITIALIZE; FOXY; MOVETO(X,Y); $IF LGTH>1 THEN BEGIN TREE(X,Y,LGTH-1,DIR+1); TREE(X,Y,LGTH-1,DIR-1) END; "END;  BEGIN "INITIALIZE; TREE(0,R J:=-2 TO 2 DO BEGIN PENCOLOR(NONE); $MOVETO(J*45,(J MOD 2)*50); BLOSSOM(10,4); TURN(10) END;  DELAY END;   PROCEDURE DO-SCALE*ORDER-100,ORDER,2); DELAY;  END;   PROCEDURE HILBERT(SIZE,ORDER:INTEGER);  VAR N,DELTA:INTEGER; "PROCEDURE HIL(I:INEGIN RESET(F,'CYCLE.PROMPT'); PAGE(OUTPUT); UNITWRITE(1,BUF,BLOCKREAD(F,BUF,2,2)*400); ABSOL := 0; "VIR.I := -30; DOIDRAGON(LENGTH,STEP:INTEGER); "PROCEDURE DRAGON(LENGTH:INTEGER); "BEGIN $IF LENGTH=0 THEN MOVE(STEP) ELSE &IF LENGTH>0 THEN T(1); DOIT(2); DOIT(-1); PAGE(OUTPUT); VIR.P^.ROW := 0; VIR.P^.SCAN :=0; INITIALIZE; UNITWRITE(3,SCREEN,56); (*BACK (BEGIN DRAGON(LENGTH-1); TURN(90); DRAGON(-(LENGTH-1)); END &ELSE BEGIN DRAGON(-(LENGTH+1)); TURN(270); DRAGON(LENGTH+1); END;TO GRAPHICS*) END (*SCROLLER*); !  (* $I PLANT.TEXT *)   PROCEDURE SPIROLATERAL(LEN,TRN,REP:INTEGER; SEQ:STRING);  VAR A,B "END (*DRAGON*);  BEGIN INITIALIZE; MOVETO(-80,-10); PENCOLOR(WHITE); DRAGON(LENGTH); DELAY END;   PROCEDURE DOSTAR; "PRO: INTEGER;  BEGIN "INITIALIZE; PENCOLOR(WHITE); "FOR B:=1 TO REP DO "BEGIN $A:=1; $REPEAT &MOVE(LEN*A); &IF SEQ[A]='R' TCEDURE STAR(SIZE:INTEGER); "BEGIN $TURN(-18); PENCOLOR(WHITE); MOVE(SIZE); TURN(144); MOVE(SIZE); $TURN(144); MOVE(SIZE); TURHEN TURN(-TRN) ELSE TURN(TRN); &A:=A+1; $UNTIL A>LENGTH(SEQ); "END;  DELAY;  END; ! PROCEDURE FLOWER;  VAR J:INTEGER; N(144); MOVE(SIZE); TURN(144); $MOVE(SIZE); TURN(144); PENCOLOR(NONE); TURN(18); "END;  BEGIN "INITIALIZE; PENCOLOR(WHITE); "PROCEDURE PETAL(SIZE:INTEGER); $PROCEDURE ARC; $VAR I:INTEGER; $BEGIN &PENCOLOR(WHITE); TURN(45); MOVE(80); STAR(40); "MOVETO(0,0); TURNTO(165); PENCOLOR(WHITE); MOVE(40); "STAR(80); MOVETO(0,0); TURN(150); "PENCO&FOR I:=1 TO 10 DO BEGIN MOVE(SIZE); TURN(9) END; &PENCOLOR(NONE) $END; (*ARC*) "BEGIN TURN(-45); ARC; TURN(90); ARC; TURN(1LOR(WHITE); MOVE(60); STAR(60); DELAY  END;   PROCEDURE GROWTREE(SCALE,ORDER:INTEGER); "PROCEDURE TREE(X,Y,LGTH,DIR:INTEGER+ "INITIALIZE; MOVETO(-DELTA,-DELTA); PENCOLOR(WHITE); HIL(ORDER); DELAY  END;  PROCEDURE P1;  VAR I: INTEGER; BEGIN INITIAR; CALLPOLY(91,1,1); CALLPOLY(117,1,1); CALLPOLY(71,1,1); CALLPOLY(31,1,1); CALLPOLY(150,5,3); UNTIL NOT LIZE; FOR I := 239 DOWNTO 0 DO BEGIN DRAWLINE (RANGE,SCREEN.I,20, 0,239, 319,I-239, 3); DRAWLINE (RANGE,SCREENUNITBUSY(2); END (*MAINLOOP*); BEGIN (*MAIN PROGRAM*) INITIALIZE; UNITWRITE (3, SCREEN, 56); (*TURN ON GRAPHICS*) UNITR.I,20, 319,0, -319,239-I, 3) END; FOR I := 0 TO 239 DO BEGIN DRAWLINE (RANGE,SCREEN.I,20, 319,239, -319,-I, I MOEAD(2,COMPAT[0],1,,1); (*ASYNCH I/O*) MAINLOOP; UNITWRITE (3, SCREEN, 7); (*GRAPHICS OFF*) END. END. D 2+1); DRAWLINE (RANGE,SCREEN.I,20, 0,0, 319,I, I MOD 2+1) END; DELAY;  END;  PROCEDURE GRID (PEN: INTEGER);  Vò CYCLE AR I: INTEGER;  BEGIN "INITIALIZE; I := 239; "WHILE I >= 0 DO $BEGIN DRAWLINE (RANGE,SCREEN.I,20, 0,I, 319,0, 1); I:=I-2 END ; "I := 319; "WHILE I >= 0 DO $BEGIN DRAWLINE (RANGE,SCREEN.I,20, I,0, 0,239, PEN); I:=I-2 END; "FOR I := 0 TO 239 DO &DRAWLINE (RANGE,SCREEN.I,20, 0,I, 319,239-I-I, 3); "FOR I := 319 DOWNTO 0 DO &DRAWLINE (RANGE,SCREEN.I,20, I,0, 319-I-I,239, 3); "DELAY  END;   PROCEDURE MAINLOOP; BEGIN REPEAT CALLPOLY(181,1,1); $HILBERT(20,3); $HILBERT(12,4); $FLOWER; ÛÜÉ¡ÜÌÛÚÅ¡Ú̹ÛÌ­ ë•Ç?ÏÌë‚Ç?ÏÌÙÚÈ¡Bì•ÇïÏÌì‚ÇïÏÌØÛÈ¡¥ ؤÙÀ¥ ؤÙÀº“»Ø‚̹öÙ‚Ì$GRID (3); $(*PLANT;*) $GROWTREE(13,5); $DODRAGON(7,10); DODRAGON(8,9); DODRAGON(9,6); $DOSTAR; $SPIROLATERAL(30,90,4,'RRR¹ô­J- n©’Ë¡ÎÚÇ?ÏÌÙÇïÏÌîË¡Úë•ÌÙì•Ì¥’Í¥ ëìÜÛîÏګ٫ءΫ’˹«’Ë­V«Æí³9úŽ=‰�½ëÙTEGER); "VAR A,B:INTEGER; $PROCEDURE HIL1; $BEGIN TURN(A); HIL(-B); TURN(A); END;  PROCEDURE HIL2; $BEGIN MOVE(SIZE); H'); $SPIROLATERAL(20,90,4,'RRRR'); $SPIROLATERAL(20,90,4,'RRRRR'); $SPIROLATERAL(20,90,2,'RRRRRR'); $SPIROLATERAL(12,90,4,'RIL(B); TURN(-A); MOVE(SIZE); &TURN(-A); HIL(B); MOVE(SIZE) END; "BEGIN $IF I=0 THEN TURN(180) +ELSE BEGIN IF I>0 THEN BEGIN RRRRRR'); $SPIROLATERAL(10,90,3,'RRRRRRRR'); $SPIROLATERAL(8,90,2,'LLRLLLRR'); $SPIROLATERAL(28,120,3,'RRLLR'); $SPIROLATERAA:=90; B:=I-1 END =ELSE BEGIN A:=-90; B:=I+1 END;  HIL1; HIL2; HIL1 END; "END;  BEGIN "N:=ORDER-1; DELTA:L(18,120,4,'RLRRR'); $SPIROLATERAL(30,144,5,'RRR'); DERIV; $DOSTAR; $HILBERT(6,5); CALLPOLY(144,5,3); INITIALIZE;=SIZE; "WHILE N>0 DO BEGIN DELTA:=DELTA*2; N:=N-1 END;  SIERPINSKI(1); SIERPINSKI(2); SIERPINSKI(3); SIERPINSKI(4); DELAY; $P1; CALLPOLY(151,5,5); SCROLLE, 4íØ‚«íÇhÅ¡íÇh•«íÉ¡íÇh‚«­ž(Ø«­í ÙÇ ‚xؕϭ Ø«­x ‘««ÌëØÈ¡êêÎÏ <Ï Ï2ÏÎÏ <Ï (Ï‘ÏEÏÎE‘ÏÇ–Ï Ï nÏÎÏÏ d‘Ï Ï ZÏ Ï ÎÏÏ ‘ÌÌØÙÈ¡Ï Ø-�ØŽ2�Ï Î ÏØ‚̹öÏ­$º“»ë‚«¹ö¥ Ç€%ž Ç «x««««’Ë­2D ÌLjÌØÙȡ؂̹öž#“¡ ž­(Ï ÌÇ?Ì‘†ÙÊ‘†È¡¥ x¤ÙÀ»Ù‚œØÃ¡¶Ï¹%ØÅ¡Ø•® ZÏØ•‘® ¹Ø‚‘® ÇÏØ‚® ­: Ï P‘ ‘Ï Ï ÙÎ Ï­‘ÏÏ ØÏÇ�ÏØÏÇ�ÏØÏÇ�̹öÌÇïÌ‘†ÙÊ‘†È¡¥ ٤ǠÀ»Ù‚̹ôÌÇ?Ì‘†ÙÊ‘†È¡`ÙÇ •ÌÚá Æ³€@’½¹Æ³)\�>ÚŠ�ž³ )\�>ÚŠ�‡’½¥ xƼdŠ�ž‚¤ÙÀÏØÏÇ�ÏØÏÇ�ÏÏ Ï­>"Ï Ï -ÏPÏ(Î"Ï Ç¥Ï Ï (ÏPÎ"Ï Ç–ÏÏ <Ï<Î"Ï­<!¶É¡¶‚¸¶Ä¡¶»Æ¤‚€Ù¤Æ¼½Ù‚̹òÌÌ‘†ÚÊ‘†È¡ìÌÇ>Ú•Ì‘‡ØÊ‘‡È¡UÆÚ¤‚€Ø¤ÆÚ•¤‚€Ø‚¤¼ÆÚ•¤‚€Ø¤¼–³)\�>‡½xÆÚ¤‚€Ø¤¼dŠ�ž‚Ì¥ Ù¤•¸¶¹FÌ̹UÌ̹MÌ̹E‘Ì̹<‘Ì̹3‘̹̑)̹̑ ̹̑¬¹MGA;4-%¶¶¶�Ù�‚¸¶¶¶�ØÀ»Ø‚̹ðÆÚ¤‚€Ç?¤ÆÚ¤‚€Ç>¤¼½Ú‚̹îÏ­•…-Q#dÏ ÚÙØÏÏ­Ù¸² ¤š² ¤š² ¤š² ¤Ø�‚¸­¨%Ï ÛÚÏ Ø-�Ï Ï Î%ÛÚÏ ÙÅ¡ÛÚٕ؂®$ÛÚٕؕ®$­6$Ï ÙØ�‘d•ØÎ$Ï­Û#¶Ï¶‘®'¶Ï­š² ¤š² ¤‘š² ¤‘š² ¤‘š²¤š²¤š²¤š²¤‘š²¤‘š²¤‘š²¤š²¤š­’² Ù¤ø¸²(¶Ï¶®'¶‘϶϶‘϶®'¶Ï­.)ØÃ¡Ç´Ï¹ØÅ¡ ZÌØ•̹ Z‘ÌØ‚ÌÎ(Î)Î(­2'Ø•ÌÙÌÛÅ¡ Ú�ÌÛÙ¤ø¸¸ض�̶ÚÈ¡@¶¶‚¸¶¶‚¸¶Ç?ȶÇïÈ„¡¥ ¶¤¶À¶»¶‚¸¹ö­Ip¶Å¡$¶•¸®®®•̹öÏ Ú‘Ú‘Ï Ï ØÎ'Ï­$ 4&Ï ÇïÌÌØÙÄ¡2¥’Í¥ ÇïÇ?ØÇï•Ï¥’Í¥ Ç?Ç?‘ÇïØ•ÏØ•̹öÌÇïÌØÙÈ¡3¥’Í¥ Ç?ÇïÇ?®®®®¶‚¸­¸4¶Å¡$¶•¸®®®®®®®¶‚¸­¸4¶Å¡$¶•¸®®®®®®®¶‚‘ؑ؎‚Ï¥’Í¥ Ç?ØØŽ‚ÏØ‚̹ôÏ­=~ �*Ï ÇïÌÙÄ¡¥’Í¥ ÙÇ?Ïٕ̹öÇ?ÌÙÄ¡¥’Í¥ ÙÇïØÏٕ̹ôÌÇ︭¸4¶Å¡$¶•¸®®®®®®®¶‚¸­¸4ÎdžÌdžÌdžÌÌØÌÊÊȡʆÌʆÌʆÌÊÌÙÚÈ¡¥’Í¥ ÙÇ?ÇïٕٕÏق̹òÇ?ÌÌÙÚÄ¡¥’Í¥ ÙÇ?ٕٕÇïÏٕ̹ðÏ­%Pu—¦+ǵÏÏ& Ï&ÏÏ+ Ï# Ï ‚̹öÊ‚ÌÊ‚ÌÎÎÎÎÎÎÎέG2l̲ž¶Ø‚¸²¶ Ž»²¶ †Ž»¶²¨Ù‚ÌÙÇ�Å¡ö­AÏ ÏÏ!Z¦RRR×ÏZצRRRRÏZצRRRRRÏZ¦RRRRRR×Ï Z¦RRRRRRR×Ï ZצRRRRRRRRÏZצLLRLLLRRÏxצRRLLRÏx¦RLRRR LÆ1Æ�]Ç‘ÍÆ1צ CYCLE.PROMPTÍž¶ ÍžÆYÆ1ÆYÍžÇ��žÌ‘ÌÎΑζ ÍžØ»Ø»Ï ¥ 8ž×ÏÇ�צRRRÏÏÏ!Ï&Ç�ÏÏ ÏÏÏÏÏÏ*Ç—ÏÏ[ÏuÏGÏÏÇ–Ïž#“¡ö­¼ü  Õ�öÎ ¥ 8ž¥’ÌÆ1Í­š° ˆÆتPÏ Ï Ì.ÙÌ0Ê.Ê0È¡2Ì/ÛÊ/�ÏÆÊ/¾RáڑϹÚÏÊ/‚Ì/Ê/ƾšöÊ.‚Ì.¹ôÏ­‘>6X XÏ Ì ÌØÙÈ¡¶žÎ ¥ žÁ!–%,:æê¸‚–^DˆJêÐÌ2N8®ü6pªäZ ˜ô v n¦ ð   . \ – T ü Ê V+ٕ̹ôÌÇïÆ¼ž‰�ž‚ìÙÆ¼ž‰�ž•ÏÙØ‚ÌíÚ‚ÇhŽ«ë ÉëÇ6Å�ì É�ìÇæÅ�¡ö«­S ^Æí³í9úŽ=‰�½ëØÆ¼ž‰�ž‚ìØÆ¼ž‰�ž•Ï­ÙÏ ÏØ‚̹öÏ ­*-‘ÏÎZÏÎLJÏ­ÌÌÚÛÈ¡Ï ÙÏØ®Ù‘ÏHÏڂ̹ö­,Ï (‘d‘Ï Ï <Ï 2Ï2‘Ï- ................................................................................  . BS FF  TEK DATAMEDIX Y VCR SCREEN   .  This demonstrates the capability of the TERAK 8510a hardware to pan. %Notice the smoCCH ÊRANGE ÍTERAK DIABLO WHITE NONE BLACK COMPLEMEoth motion with which the text rolls on the screen. %The screen is 24 lines high by 80 characters wide. %The buffer which refrANGLE INK HOLD GOTCURSOËCOMPAT ÌDRAWLINE ðVT50 NUMBER  eshs the screen is 25 lines high by 80 characters )wide to allow viewing of the top and bottom line at the same time. %There a Ζ%,:æê¸‚–^DˆJêÐÌ2N8®ü6pªäZ ˜ô v n¦ ð   . \ – T ü Ê V+ٕ̹ôÌÇïre 192 characters in the user-definable character set. %The resolution of each character is 10 high by 8 wide (240 by 640 O^total). %The graphics resolution is 240 high by 320 wide, (aspect ratio = .75) %The graphics and character displays are overlayed, but independent.  . . .  . . .  . . .  . . .  . . .  . . .  . . .  . . .  . . .  . . .  . . .  . . .  . . .  . . .  . . .  . . .  . . .  . . .  . . .  . . .  . 4JUNK: BOOLEAN; 4BUFSWITCH: BOOLEAN; 4D2A: 0..7; 4TONE: BOOLEAN 2END; (*RECORD*)  VAR SCREEN: RECORD CASE BOOLEAN OF TRUE:( A: PACKED ARRAY [0..239,0..319] OF 0..1); 6FALSE: (I : INTEG%{TERAK CORPORATION believes that the information contained herein is %accurate. In no event will TERAK be liable for any losER) 4END; OBJECT: RECORD CASE BOOLEAN OF TRUE:( A: PACKED Ases or damages, %whether direct or indirect, resulting from the use of such %information, including, without limitation, losseRRAY [1..6,1..6] OF 0..1); 6FALSE: (I : INTEGER) 4END; BRICK: RECORD CASE BOOLEAs arising from %claims of patent, copyright, and trademark infringement. No license %is granted hereby for the use of any pateN OF TRUE:( A: PACKED ARRAY [0..6,0..22] OF 0..1); 6FALSE: (I : INTEGER) 4END; (XOROBJ: RECORD nt or patent rights of %TERAK. TERAK reserves the right to update the information contained %herein at any time without further notice. % %The information contained herein is proprietary to TERAK CORPORATION %and must be treated as confidential. It mO^ay not be disclosed to %others or used for any purpose except as expressly consented to by %TERAK. 6COPYRIGHT 1980 BY TERAåž5 K CORPORATION ="ALL RIGHTS RESERVED"}  (* Breakout: A video game written by Gary Dismukes ( Fall 1977 ) *)   {$S+}  PROGRAM BOING; CONST XSIZE=6; YSIZE=6; XMAX=10; YMAX=10; UPBND=8; DBND=230; LBND=8; RBND=290;  BRICKLENGTH=24; BRICKWIDTH=8; WALLFRONT=100; WALLBACK=30; )PADWIDTH=25; PADHGT=6; "TYPE DIRECTION= ( SE45,NE45,NW45,SW45,SE30,NE30,NW30,SW30, @SE60,NE60,NW60,SW60); FORM=PACKED ARRAY [0..9,0..9] OF 0..1; FORM1 = RECORD 3CASE BOOLEAN OF 5TRUE :(A : FORM); 5FALSE:(I : INTEGER) 3END; 4 (VCRTYPE = PACKED RECORD 4GRAPH,CHARS: 0..7; / ICKCOUNT,SCORE:INTEGER; 'SEED: REAL; LEFTLO,RIGHTLO: BOOLEAN; OPT: CHAR; VCR: RECORD .CASE BOOLEAN OF 0T[J,I]:=0;  FOR I:=3 TO BRICKLENGTH-5 DO $BRICK.A[3,I]:=1;  END;   PROCEDURE MAKEWALL;   BEGIN "MAKEBRICK; "FOR I:=RUE : (ADDRESS: INTEGER); 0FALSE: (FIELD : ^VCRTYPE) .END; (*CASE RECORD*) ' PROCEDURE DRWBLK(VAR S,D:INTEGER; I,J,K,L,M,N,O:0 TO 11 DO $FOR J:=0 TO 7 DO &DRWBLK(BRICK.I,SCREEN.I,320,24*I+10,8*J+40,23,7,23,1); END;(* MAKEWALL *) PROCEDURE DRAWBOUND; INTEGER); EXTERNAL;  PROCEDURE ENTERGAME;  BEGIN "WRITELN(' ********* Welcome to BREAKOUT!!!*********'); "WRITELN;  VAR X,Y:INTEGER;  BEGIN "FOR Y:=228 DOWNTO 6 DO "BEGIN $SCREEN.A[Y,8]:=1; SCREEN.A[Y,6]:=1; $SCREEN.A[Y,298]:=1; SCRE"WRITELN; "WRITELN('To move paddle use the < and > keys. These keys will'); "WRITELN('start the paddle moving. To stop it typEN.A[Y,300]:=1; "END;  FOR X:=6 TO 153 DO "BEGIN $SCREEN.A[8,X]:=1; $SCREEN.A[6,X]:=1; " SCREEN.A[8,306-X]:=1; " SCREe the space bar or'); "WRITELN('any other key. Hit the direction keys(i.e. <,>) twice'); "WRITELN('for faster paddle speed. TyEN.A[6,306-X]:=1; "END;  END; (* DRAWBOUND *) PROCEDURE SETFORMS; "VAR DIR:DIRECTION; "PROCEDURE SETOBJECT; " "BEGIping return will serve the next'); "WRITELN('ball. The game can be terminated at any time by typing Q.'); "WRITELN;  ENDN $FILLCHAR(OBJECT.A,SIZEOF(OBJECT ),CHR(255)); OBJECT.A[1,1]:=0; OBJECT.A[6,1]:=0; ;    PROCEDURE CLICK;  BEGIN "VCR.ADDRESS:=-28; "FOR I:=1 TO 10 DO "BEGIN $VCR.FIELD^.D2A:=1; $VCR.FIELD^.D2A:=0; "E$OBJECT.A[6,6]:=0; OBJECT.A[1,6]:=0; $FOR I:=1 TO 2 DO $BEGIN &OBJECT.A[2+I,2]:=0; &OBJECT.A[2+I,5]:=0; &OBJECT.A[2,2+I]:=ND;  END; (* CLICK! *)   FUNCTION RANDOM(LO,HI:INTEGER):INTEGER;  VAR SEED1,SEED2,RAND:INTEGER;  BEGIN "TIME(SEED1,0; &OBJECT.A[5,2+I]:=0; $END;  END;(*SETOBJECT*) " "PROCEDURE XORFORM(VAR XOROBJ:FORM1; XSET,YSET:INTEGER); " "BEGIN $FI3CASE BOOLEAN OF 5TRUE :(A : FORM); 5FALSE:(I : INTEGER) 3END; 4 NEAST45,NWEST45,SWEST45,SEAST45:FORM1; 'NEAST30,NWSEED2); "SEED:=(SEED*9.71354915717)*(ABS(SEED2) MOD 9+1); "SEED:=9.7*(SEED-TRUNC(SEED)); RAND:=TRUNC( (SEED-TRUNC(SEED))*(HIEST30,SWEST30,SEAST30:FORM1; 'NEAST60,NWEST60,SWEST60,SEAST60:FORM1; PADXOR: RECORD -LO+1) )+LO;  RANDOM:=RAND; "(*WRITELN('RANDOM NO. [,LO,..,HI,] =',RAND);  *)END; (* RANDOM *)  FUNCTION RANDANGLE:DIRE CASE BOOLEAN OF TRUE:( A: PACKED ARRAY[0..5,0..24] OF 0..1); 6FALSE: (I : INTEGER) 4END; DIRECCTION;   BEGIN "CASE RANDOM(1,6) OF $1: RANDANGLE:=SW30; $2: RANDANGLE:=SW45; $3: RANDANGLE:=SW60; T: DIRECTION; 'I,J,K:INTEGER; 'BELL,CH,RORL:CHAR; 'UP,DOWN,LEFT,RIGHT: CHAR; 'CHA: PACKED ARRAY[0..5] OF CHAR; 'DOT: 0..1; $4: RANDANGLE:=SE60; $5: RANDANGLE:=SE45; $6: RANDANGLE:=SE30 "END; (*CASE*)  END; (* RANDANGLE *)  PROCEDURE MAKEBRI'X,Y,DX,DY,PADPOS,HALFSIZE,SERVENUM:INTEGER; 'BOUND,BALLCOUNT:INTEGER; 'ENDGAME,NEXTSERVE,MOVING,FAST,HIT,SOUND:BOOLEAN; 'BRCK;  BEGIN "FILLCHAR(BRICK.A,SIZEOF(BRICK ),CHR(255)); "FOR I:=2 TO BRICKLENGTH-4 DO $FOR J:=2 TO BRICKWIDTH-4 DO &BRICK.A0  DO BEGIN I:=I+20; CASE DIR OF &SE45: XORFORM(SEAST45,0,0); &NE45: XORFORM(NEAST45,0,4); &NW45: XORFORM(NWEST45,4,4);; 787: DIRECT:=SW30 5END; (*CASE*) $SW45,SW30,SW60: CASE CONTACT OF 728: DIRECT:=NW60; 717: DIRECT:=NE45; 778: DIRECT:=NW &SW45: XORFORM(SWEST45,4,0); & &SE30: XORFORM(SEAST30,0,1); &NE30: XORFORM(NEAST30,0,3); &NW30: XORFORM(NWEST30,4,3); &SW30; 712: DIRECT:=NE30 5END; (*CASE*) $SE45,SE30,SE60: CASE CONTACT OF 678: DIRECT:=NE60; 687: DIRECT:=NW45; 628: DIRECT:=N30: XORFORM(SWEST30,4,1); & &SE60: XORFORM(SEAST60,1,0); &NE60: XORFORM(NEAST60,1,4); &NW60: XORFORM(NWEST60,3,4); &SW60: XE30; 682: DIRECT:=NW30 4END (*CASE*) "END; (*CASE DIR*)  END; (* BRICKBOUNCE *) $  PROCEDURE REFLECT(VAR X,Y:INTEGER; VAR ORFORM(SWEST60,3,0) END; (*CASE DIR*) END; (* FOR *)  END; (* SETFORMS *) DIRECT:DIRECTION); "  BEGIN "IF SOUND THEN $CLICK; "IF (X>=RBND) THEN $CASE DIRECT OF &SE45: DIRECT:=SW45; NE45: DIRE PROCEDURE DIRECTCASE(DIRECT:DIRECTION);   BEGIN "CASE DIRECT OF $SE45: BEGIN DX:=2; DY:=2; XOROBJ.A:=SEAST45.A; END; CT:=NW45; &SE30: DIRECT:=SW30; NE30: DIRECT:=NW30; &SE60: DIRECT:=SW60; NE60: DIRECT:=NW60 $END (*CASE*) "ELSE $IF $NE45: BEGIN DX:=2; DY:=-2; XOROBJ.A:=NEAST45.A; END; $NW45: BEGIN DX:=-2; DY:=-2; XOROBJ.A:=NWEST45.A; END; $SW45: BEGI(X<=LBND) THEN &CASE DIRECT OF (NW45: DIRECT:=NE45; SW45: DIRECT:=SE45; (NW30: DIRECT:=NE30; SW30: DIRECT:=SE30; (NWN DX:=-2; DY:=2; XOROBJ.A:=SWEST45.A; END; $ SE30: BEGIN DX:=2; DY:=1; XOROBJ.A:=SEAST30.A; END; $NE30: BEGIN DX:=60: DIRECT:=NE60; SW60: DIRECT:=SE60 &END; (*CASE*) "IF (Y<=UPBND) THEN "BEGIN $CASE DIRECT OF &NE45: DIRECT:=SE45; 2; DY:=-1; XOROBJ.A:=NEAST30.A; END; $NW30: BEGIN DX:=-2; DY:=-1; XOROBJ.A:=NWEST30.A; END; $SW30: BEGIN DX:=-2; DY:=1; &NE30: DIRECT:=SE30; &NE60: DIRECT:=SE60; & &NW45: DIRECT:=SW45; &NW30: DIRECT:=SW30; NW60: DIRECT:=SW60 $END; (*CASXOROBJ.A:=SWEST30.A; END; $ SE60: BEGIN DX:=1; DY:=2; XOROBJ.A:=SEAST60.A; END; $NE60: BEGIN DX:=1; DY:=-2; XOROBJ.E*) $HIT:=TRUE; " IF SOUND THEN &WRITELN(CHR(7)); &IF HALFSIZE=12 THEN &BEGIN (HALFSIZE:=7; DRWBLK(PADXOR.I,SCREEA:=NEAST60.A; END; $NW60: BEGIN DX:=-1; DY:=-2; XOROBJ.A:=NWEST60.A; END; $SW60: BEGIN DX:=-1; DY:=2; XOROBJ.A:=SWEST60.AN.I,320,PADPOS-12,DBND,PADWIDTH,PADHGT,5,3); (DRWBLK(PADXOR.I,SCREEN.I,320,PADPOS+8,DBND,PADWIDTH,PADHGT,5,3); &END; "END "E; END "END; (*CASE*)  END; (* DIRECTCASE *) $  PROCEDURE BRICKBOUNCE(CONTACT:INTEGER; VAR DIRECT:DIRECTION);   BEGIN "CLSE $IF (Y>=DBND-8) AND (( (HALFSIZE=12) AND (X>=PADPOS-20) AND (X<=PADPOS+10) ) OR ( (HALFSIZE=7) AND (X>=PADPOS-15) ANLLCHAR(XOROBJ.A,SIZEOF(XOROBJ ),0); $DRWBLK(OBJECT.I,XOROBJ.I,XMAX,2,2,XSIZE,YSIZE,XSIZE,1); $DRWBLK(OBJECT.I,XOROBJ.I,XMAX,XASE DIRECT OF $NW45,NW30,NW60: CASE CONTACT OF 821: DIRECT:=SW60; 812: DIRECT:=SE45; 871: DIRECT:=SW30; SET,YSET,XSIZE,YSIZE,XSIZE,3); "END; (* XORFORM *) " BEGIN (* SETFORMS *) "SETOBJECT; I:=5; J:=30; "FOR DIR:= SE45 TO SW60817: DIRECT:=SE30 7END; (*CASE*) $NE45,NE30,NE60: CASE CONTACT OF 771: DIRECT:=SE60; 782: DIRECT:=SW45; 721: DIRECT:=SE301 " WRITELN(CHR(7)); "END; (* KILLBRICK *) $ "FUNCTION CHECK(XSET,YSET:INTEGER):BOOLEAN; " "BEGIN " IF SCREEN.A[Y+YSECREEN.I,320, 3PADPOS+HALFSIZE+1,DBND,PADWIDTH,PADHGT,7,3); )DRWBLK(PADXOR.I,SCREEN.I,320, 3PADPOS-HALFSIZE,DBND,PADWIDTH,PADHD (X<=PADPOS+5) )) $THEN $BEGIN &IF (X<=PADPOS-4) THEN &BEGIN (CASE DIRECT OF *SE45: DIRECT:=NW45; (*NE45: DIRECT:=NE4T,X+XSET]=1 THEN $BEGIN &KILLBRICK(X+XSET,Y+YSET); &BRICKCOUNT:=BRICKCOUNT+1; &IF NOT FAST THEN (IF Y<=72 THEN *FAST:=TRUE5;*) *SE30: DIRECT:=NW30; (*NE30: DIRECT:=NE30;*) *SE60: DIRECT:=NW60; (*NE60: DIRECT:=NE60;*) * *(*NW45: DIRECT:=NW; &BRICKBOUNCE(XSET*10+YSET,DIRECT); &DIRECTCASE(DIRECT); &HIT:=FALSE; CHECK:=TRUE; END ELSE &CHECK:=FALSE; 45;*) SW45: DIRECT:=NW45; *(*NW30: DIRECT:=NW30;*) SW30: DIRECT:=NW30; *(*NW60: DIRECT:=NW60;*) SW60: DIRECT:=NW60END; (* CHECK *) "  BEGIN (* HITCHECK *) "CASE DIRECT OF $NW45,NW30,NW60: IF NOT CHECK(2,1) THEN 6IF NOT CHECK(1,2) THEN  (END; (*CASE*) &END &ELSE BEGIN (CASE DIRECT OF *SE45: DIRECT:=NE45; (*NE45: DIRECT:=NE45;*) 8IF NOT CHECK(7,1) THEN :IF NOT CHECK(1,7) THEN; # NE45,NE30,NE60: IF NOT CHECK(7,1) THEN 6IF NOT CHECK(8,2) THEN 8IF NOT CH*SE30: DIRECT:=NE30; (*NE30: DIRECT:=NE30;*) *SE60: DIRECT:=NE60; (*NE60: DIRECT:=NE60;*) * *(*NW45: DIRECT:=NW45;*)ECK(2,1) THEN :IF NOT CHECK(8,7) THEN; SW45,SW30,SW60: IF NOT CHECK(2,8) THEN 6IF NOT CHECK(1,7) THEN 8IF NOT CHECK(7,8)  SW45: DIRECT:=NE45; *(*NW30: DIRECT:=NW30;*) SW30: DIRECT:=NE30; *(*NW60: DIRECT:=NW60;*) SW60: DIRECT:=NE60 (ENTHEN :IF NOT CHECK(1,2) THEN; $SE45,SE30,SE60: IF NOT CHECK(7,8) THEN 6IF NOT CHECK(8,7) THEN 8IF NOT CHECK(2,8) THEN :IF ND; (*CASE*) &END; &HIT:=TRUE; $END; "IF (Y>=DBND-8) AND (BRICKCOUNT>=96) THEN "BEGIN $MAKEWALL; $BRICKCOUNT:=0; "END; "OT CHECK(8,2) THEN "END; (*CASE DIRECT*)  END; (* HITCHECK *) # PROCEDURE WAIT(TIME:INTEGER); "VAR I:INTEGER;  BEGIN IF (Y>=DBND-1) THEN "BEGIN $NEXTSERVE:=TRUE; " HIT:=FALSE; "END; "DIRECTCASE(DIRECT); "(*IF ((Y<=WALLFRONT) AND (Y>=WALLB FOR I:=1 TO TIME DO;  END; (* WAIT *) PROCEDURE SHIFTPAD(VAR X,Y:INTEGER; RORL:CHAR);  BEGIN "IF (RORL='L') AND (PADPOS>ACK)) OR (MOVING) THEN "BEGIN $DIRECTCASE(DIRECT); $X:=X+DX; $Y:=Y+DY; $DRWBLK(XOROBJ.I,SCREEN.I,320,X,Y,XMAX,YMAX,XMAX,3);=LBND+10) THEN #BEGIN %DRWBLK(PADXOR.I,SCREEN.I,320,PADPOS-7-HALFSIZE,DBND,PADWIDTH,PADHGT,7,3); %DRWBLK(PADXOR.I,SCREEN.I,32 "END;*)  END; (* REFLECT *)  PROCEDURE HITCHECK(X,Y:INTEGER; VAR DIRECT:DIRECTION); " "PROCEDURE KILLBRICK(XLOC,YLOC:INTE0,PADPOS+HALFSIZE-6,DBND,PADWIDTH,PADHGT,7,3); %PADPOS:=PADPOS-7; #END #ELSE %IF (RORL='l') AND (PADPOS>=LBND+8) THEN %BEGIGER); " "BEGIN $DRWBLK(BRICK.I,SCREEN.I,320,((XLOC-10) DIV BRICKLENGTH)*BRICKLENGTH+10, :(YLOC DIV BRICKWIDTH)*BRICKWIDTH,23N 'DRWBLK(PADXOR.I,SCREEN.I,320,PADPOS-HALFSIZE-4,DBND,PADWIDTH,PADHGT,4,3); 'DRWBLK(PADXOR.I,SCREEN.I,320,PADPOS+HALFSIZE-3,D,7,23,3); " SCORE:=SCORE+9-(YLOC DIV BRICKWIDTH)+4; GOTOXY(66,1); $WRITELN(SCORE); IF SOUND THEN BND,PADWIDTH,PADHGT,4,3); 'PADPOS:=PADPOS-4; %END %ELSE 'IF (RORL='R') AND (PADPOS<=RBND-2) THEN 'BEGIN )DRWBLK(PADXOR.I,S2 VENUM=BALLCOUNT THEN ,BEGIN ENDGAME:=TRUE; * CHA[0]:='q'; ,END; *END; END (ELSE *IF HIT THEN  READLN(OPT); "SOUND:=FALSE; "CASE OPT OF $'Y' : SOUND:=TRUE "END; (*CASE*) "WRITE('How many serves do you want? [ ''F''=5,,IF (Y<=WALLFRONT) AND (Y>=WALLBACK) AND (X<=RBND-3) AND (X>=LBND+2) AND ( ((Y-5) MOD 8 <=1) OR ((X-12) MOD 24 <= ''T''=10, ''M''=Many ]'); "READLN(OPT); "BALLCOUNT:=100; "CASE OPT OF $'F' : BALLCOUNT:=5; $'T' : BALLCOUNT:=10 "END; (*C1) .OR ((Y+3) MOD 8 >=1) OR ((X+12) MOD 24 >=1)) THEN .BEGIN 0X:=X+DX; 0Y:=Y+DY; 0DRWBLK(XOROBJ.I,SCREEN.I,320,X,Y,XMAX,YMASE*) "PAGE(OUTPUT); BELL:=CHR(7); SEED:=7.319812657; FILLCHAR(OBJECT.A,SIZEOF(OBJECT ),0); "FILLCHAR(XOROBJ.A,SIZEOF(XAX,XMAX,3); 0HITCHECK(X,Y,DIRECT); .END; &END; (* IF NOT NEXTSERVE *) IF MOVING THEN &BEGIN (SHIFTPAD(X,Y,RORL); & OROBJ ),0);  FILLCHAR(PADXOR.A,SIZEOF(PADXOR ),CHR(255)); FILLCHAR(SCREEN.A,SIZEOF(SCREEN ),0); "MAKEWALL; GT,7,3); )PADPOS:=PADPOS+7; 'END 'ELSE )IF (RORL='r') AND (PADPOS<=RBND-0) THEN )BEGIN +DRWBLK(PADXOR.I,SCREEN.I,320, 5PAIF NEXTSERVE THEN *WAIT(30); &END; &IF (NEXTSERVE) AND (CHA[0]=CHR(13)) THEN &BEGIN (SERVENUM:=SERVENUM+1; GOTOXY(4DPOS+HALFSIZE+1,DBND,PADWIDTH,PADHGT,4,3); +DRWBLK(PADXOR.I,SCREEN.I,320, 5PADPOS-HALFSIZE,DBND,PADWIDTH,PADHGT,4,3); ,1); (WRITELN('SERVE #',SERVENUM); X:=RANDOM(70,235); (Y:=RANDOM(10,70); (DIRECT:=RANDANGLE; (DIRECTCASE(DIRECT); (+PADPOS:=PADPOS+4; )END )ELSE +MOVING:=FALSE; "IF NOT NEXTSERVE THEN "BEGIN $X:=X+DX; $Y:=Y+DY; $DRWBLK(XOROBJ.I,SCREENIF HALFSIZE=7 THEN *DRWBLK(PADXOR.I,SCREEN.I,320,PADPOS-12,DBND, 4PADWIDTH,PADHGT,PADWIDTH,1); (HALFSIZE:=12; (DRWBLK(OBJECT.I,320,X,Y,XMAX,YMAX,XMAX,3); "END;  END; (* SHIFTPAD *) PROCEDURE BOUNCE(*(X,Y:INTEGER; DIRECT:DIRECTION)*); BEGIN .I,SCREEN.I,320,X+2,Y+2,XSIZE,YSIZE,XSIZE,3); (HALFSIZE:=12; NEXTSERVE:=FALSE; (FAST:=FALSE; & CHA[0]:=' '; &END;  SCORE:=0; GOTOXY(60,1); "WRITELN('SCORE=',SCORE); SERVENUM:=0; BRICKCOUNT:=0; "ENDGAME:=FALSE; FAST:=FALSE; "HALFSIZE:$END; (*WHILE*) $CH:=CHA[0]; $IF (CH IN [',','<']) AND (PADPOS>=LBND) THEN $BEGIN &MOVING:=TRUE; $ IF LEFTLO THEN =12; HIT:=FALSE; MOVING:=FALSE; NEXTSERVE:=TRUE; LEFTLO:=TRUE; RIGHTLO:=TRUE; REPEAT $UNITREAD(2,CHA[0],1,0,ORD(TRUE))&BEGIN (RORL:='l'; (LEFTLO:=FALSE; &END ELSE &BEGIN (RORL:='L'; &END; &RIGHTLO:=TRUE; $END $ELSE &IF (CH IN ['.; $WHILE (UNITBUSY(2)) AND (NOT ENDGAME) DO $BEGIN &IF NOT NEXTSERVE THEN &BEGIN (X:=X+DX; (Y:=Y+DY; (DRWBLK(XOROBJ.I,SCR','>']) AND (PADPOS<=RBND) THEN &BEGIN (MOVING:=TRUE; & IF RIGHTLO THEN (BEGIN *RORL:='r'; *RIGHTLO:=FALSE; (END (ELSE EEN.I,320,X,Y,XMAX,YMAX,XMAX,3); (IF NOT FAST THEN *WAIT(20); (IF (X>=RBND) OR (X<=LBND) OR (Y>=DBND-8) OR (Y<=UPBND) THEN ((BEGIN *RORL:='R'; (END; " LEFTLO:=TRUE; &END &ELSE &BEGIN (MOVING:=FALSE; (LEFTLO:=TRUE; (RIGHTLO:=TRUE; &END;BEGIN *REFLECT(X,Y,DIRECT); *IF NEXTSERVE THEN *BEGIN ,DRWBLK(OBJECT.I,SCREEN.I,320,X+2,Y+2,XSIZE,YSIZE,XSIZE,3); * IF SER "UNTIL (CH='q') OR (CH='Q');  END;(* BOUNCE *)  BEGIN (*MAIN PROGRAM*) "ENTERGAME; "WRITE('Do you want sound [Y/N]?'); 3 ©“gÙÈ¡&¥’É¥Ç@©“h� ‚©“g�(‚Ï©“g‚«“g¹ö©“h‚«“h¹ô­G; ZÇäÌÌØÚÄ¡k¥ØÇÇ?ˆÀˆ»¥ØÇÇ?ˆÀˆ»¥ØÇÇ*Ç?ˆÀˆ»¥ØÇÇ,Ç?ˆÀˆ»Ø•̹öÌÇ™ÌÙÚÈ¡o¥ÇÙÇ?ˆÀˆ»¥ÇÙÇ?ˆÀˆ»¥X BOING ÇÇ2Ù•Ç?ˆÀˆ»¥ÇÇ2Ù•Ç?ˆÀˆ»Ù‚̹ô­vð  ¥’à Çÿž ¥’È•¤ˆ•Àˆ»¥’È•¤ˆ• Àˆ»¥’È•¤ˆ•Àˆ»¥’È•¤ˆ•Àˆ»«“hÌ©“hØÈ¡~¥’é“h‚ˆ•¤ˆ•Àˆ»¥’é“h‚ˆ•¤ˆ•Àˆ»¥’È•¤©“h‚ˆ•Àˆ»¥’È•¤©“h‚ˆ•Àˆ»©“h‚«“h¹ö­‡ Úž ¥’ÃÚ Ï¥’ÃÚ ÙØÏ­( Î «“h«“gÌ ÌØÙÈ¡ò©“h‚«“hعl¥’áÎ ¹ö¥’ÿÎ ¹z¥’õÎ ¹q¥’ëÎ ¹h¥“ Î ¹_¥“'Î ¹V¥“Î ¹M¥“Î ¹D¥“1Î ¹;¥“OÎ ¹2¥“Eζ¦0 ********* Welcome to BREAKOUT!!!*********×Íž¶Íž¶Íž¶Íž¶¦4To move paddle use the < and > keys. Th ¹)¥“;Î ¹ ¬ ¹tmf_XQJC<5.'؂̹ô­»¨  عö«“x«“w¥’×¥’ᨠ¹ô«“x‘«“w¥’×¥’ÿ¨ ¹ô‘«“x‘«“w¥’×¥’õ¨ "SETFORMS; "DRWBLK(PADXOR.I,SCREEN.I,320,145,DBND,PADWIDTH,PADHGT,PADWIDTH,1); PADPOS:=157; UNITWRITE(3,SCREEN.A,63); DRese keys will×Íž¶Íž¶¦9start the paddle moving. To stop it type the space bar or×Íž¶Íž¶צ5any other key. HiAWBOUND; BOUNCE;  UNITCLEAR(2); "REPEAT $UNITREAD(2,CHA[0],1); "UNTIL CHA[0] = CHR(13);  END. t the direction keys(i.e. <,>) twiceÍž¶Íž¶¦:for faster paddle speed. Typing return will serve the next×Íž¶Íž¶¦>ball. The game can be terminated at any time by typing Q.×Íž¶Íž¶Íž­â‘«“Š«“h Ì©“hØÈ¡©“Šˆ»©“Šˆ»©“h‚«“h¹ö­*( <ÆÆž ¥“…¥“…¼³²jB�Ý€ Ž‚Š�½¥“…³33B¥“…¼¥“…¼žŠ–�½¥“…¼¥“…¼žŠ–ÚÛ•‚Š�žÛ‚ÌÜÌ­T`Ϲ̹-̹( ̹#̹̹̹¬B¹ &# ­B¥’ÉÇÿž «“h•Ì©“hØÈ¡=«“g•Ì©“gÙÈ¡#¥’É©“gˆ¤©“hˆÀˆ»©“g‚«“g¹ö©“h‚«“h¹ô«“h•Ì©“hØÈ¡!¥’Ɉ¤©“hˆÀˆ»©“h‚«“h¹ò­*yk –Ï«“h Ì©“hØÈ¡>«“gÌ4 Øš¹ôØš¹ôØš¹ô¬W¹ô  "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdhjÇ@©“v©“u‚•ÇæÏ©“v•«“v¹öØRé“vÇ"•È„¡<¥“Y¥Ç@©“v©“u‚‚ÇæÏ¥“Y¥Ç@©“v©“u•ÇæÏ©“v‚«“v¹OØré“vÇ"•È„¡<¥“Y¥Çlnprtvxz�~€‚„�¹ìÙ¹Ø š¹òØš¹òØš¹òØš¹ò¬ N¹ò   ;$&(*,.02468:<>@BD@©“v©“u‚‚ÇæÏ¥“Y¥Ç@©“v©“u•ÇæÏ©“v‚«“v¹«“€©“�“¡"ÚÚø©“x‚šÙÙø©“w‚š¥’×¥Ç@ÚøÙø Ï­*, d«“ƒ<ͶצFHJLNPRTVXZ\^`bdfhjlnprtvxz|~€‚„•¹ìÙ¹Ø š¹ðØš¹ðØš¹ðØš¹¬W¹x SCORE=Íž¶©“ƒÍ ž¶Íž«“t«“„«“‚«“ «“u«“~«“€«“�«“ˆ«“‡¥“pˆžž#©“‚“„¡ð©“�“¡ö©“z©“x‚«“z©“y©“w‚«“y¥’×¥Ç "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdhjlxprtvŒ¹ ¬. ¹ îˆL¨ö�T°þ˜\­@©“z©“y Ï©““¡Ï©“zÇ"Ä©“zÈ�©“yÇæ•Ä�©“yÈ�¡@¥“z¥“y¥“eÏ©“�¡.¥’Ã¥Ç@©“z‚©“y‚Ï©“t©“{á «“‚¥“pˆq¿¹©“~¡z©“ydÈ$(Âj´©“}¡ÏÚøÇ"Ä¡?Øø¹Øš¹4Øš¹/Øš¹*Øš¹%Ø š¹ Ø 𹬠¹%"# !¹DÚøÈ¡>Øø¹Øš¹5Øš¹0Øš¹+Øš¹&©“yÄ„©“zÇ"•È„©“z‚Ä„©“y•ŽÈ©“z •ŽÈ�©“y‚ŽÄ�©“z ‚ŽÄ�„¡3©“z©“x‚«“z©“y©“w‚«“y¥’×¥Ç@©“z©“y Ï©“z©“y¥“eÏ©“€¡¥“z¥“yØ š¹!Øš¹¬ ¹&#$!"ÙøÈ¡öØø¹Øš¹5Øš¹0Øš¹+Øš¹&Øš¹!Ø š¹¬ ¹&),«“~©“}¡¶Íž¶©“iÏ©“�¡Ï©“�¥“pˆ¾ Ä¡ô©“t‚«“tͶ¦SERVE #×Íž¶©“tÍ ž¶ÍžFÇëÏ«“z FÏ«“yÏ«“e©“eÏ ©“uᥓY¥Ç@Íž©“u á0«“u¥“Y¥Ç@©“v •ÇæÏ¥“Y¥Ç@©“v‚ÇæÏ¹òÙøÇæ•Ä©“u ÃÚø©“v•Ä„Úø©“v ‚È„©“uÃÚø©“v•Ä„Úø©“v‚È„�„¡ôÚø©“v•È©“v •ÇæÏ «“u¥’Ã¥Ç@©“z‚©“y‚Ï «“u«“�«“¥“pˆ ¿¹ò¥“pˆ¾«“j©“j³‹©“vÄ„¡«“€©“ˆ¡ l«“i«“ˆ¹L«“i«“‡¹¡DØø¹Øš¹9Øš¹4Ø š¹/Øš¹*Øš¹%Ø š¹ ¬ ¹&)  ,#¹BØø¹Øš¹9Øš¹4Ø š¹/Øš¹*Øš¹%Ø š¹ ¬ ¹&)  B©“j³@@‹©“vÇ"È„¡«“€©“‡¡ r«“i«“‡¹R«“i«“ˆ¹ «“€«“ˆ«“‡©“jqé“jQÃ�¡î­‰“€™eðÕ‚AζצDo you want sou,#«“~ÙøÇæ•Ä©“„`Ä„¡Ï«“„ÙøÇæ•Ä¡«“�«“~ØøÏ ­.0 2¥’É¥Ç@Ù •†� ‚؆�Ï©“ƒ ‚؆•‚«“ƒBͶ©“ƒnd [Y/N]?Íž¶¥“‰Íž¶Íž«“}©“‰¹«“}¹ ¬YY¹ ¶¦8How many serves do you want? [ 'F'=5, 'T'=10, 'M'=Many ]×Íž¶Í ž¶Íž©“}¡¶Íž¶Íž­b¥¶Ú‚Ç¶Û‚Ç?ˆÀºá>¶Û‚¶Ú‚®©“„‚«“„©““¡ ¶HÈ¡«“Û �Ú‚¶Ï¶¥“‰Íž¶Ížd«“{©“‰¹ «“{¹, «“{¹&¬�FT¹ *¶ Íž«“k¥“…³¥è;êA½¥’à ž ¥’מ ¥“YÇÿž ¹ô‘«“x«“w¥’×¥’ë¨ ¹ô«“x«“w¥’×¥“ ¨ ¹ô«“x‘«“w¥’×¥“'¨ ¹ô‘«“x‘«“w¥’×¥“¨ ¹~‘«“x«“w¥’×¥“¨ ¹k«“x«“w¥’×¥“1¨ ¹Y«“x‘«“w¥’×¥øÏ «“~̹̭jØø¹öΓ¡Î“¡Î“¡ Γ¡¹ôΓ¡Î“¡Î“¡ Γ¡¹lΓ¡Î“¡“O¨ ¹F‘«“x‘«“w¥’×¥“E¨ ¹2‘«“x«“w¥’×¥“;¨ ¹¬ ¹ëÛʸ§—†tcSB0­#  Øø¹îÙ¹Ø š¹öØš¹öØš¹öØš¹¬ G¹xΓ¡ Γ¡¹FΓ¡Î“¡Î“¡ Γ¡¹ ¬ ¹.|¤Z6„¬b>Œ´j­$ ÈÌØÌÙÚȡق̹ö­ - "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtv‡¹ìٹؚ¹ôØLé“v ‚Ä„¡>¥“Y¥Ç@©“v•©“u•ÇæÏ¥“Y¥Ç@©“v©“u‚•ÇæÏ©“v•«“v¹ôØlé“v‚Ä„¡>¥“Y¥Ç@©“v©“u••ÇæÏ¥“Y¥5 ¥Ç€%ž ÎÎ ¥“Y¥Ç@Ç‘ÇæÎÇ�«“v¥?žÎ Ξ&¥“pˆž¥“pˆ¾ áöÁ't·¦¦æ&fƒÃe×tüÿà ö €pƒÂ—tüÿ �`�mwhÃEðÿ ÷Zƒ:× 7à € ÀíDtüÿ7.÷2÷m2,÷((7 $€ ÀíÀEðÿ÷ 7à7ü 7ú÷øø7 ô€ÀevüÿÀ 6 ·ä…„ƒ‚ÆeØö õ÷ÊÊ÷¸À´Á¼wt®×  ˜{~7všPž @ 7vŽ’7v„xˆ7v~÷e~÷elÀhœ~·mj·mb7vZwtN{ˆ wvFPP¼A ÀH7t27v2<² 7t"7v"x,ª ÂN\ZnÂ! {TERAK CORPORATION believes that the information contained herein is %accurate. In no event will TERAK be liable for any¬b2222222222 ÊH>¨– Îp ¨ b@n~z€à|Ä*l(øSCORE:=SCORE+9-(YLOC DIV BRICKWIDTH)+4;  losses or damages, %whether direct or indirect, resulting from the use of such %information, including, without limitation, l GOTOXY(66,1); $WRITELN(SCORE); IF SOUND THEN " WRITELN(CHR(7)); "END; (* KILLBRICK *) $ "FUNCTION CHECK(XSET,Yosses arising from %claims of patent, copyright, and trademark infringement. No license %is granted hereby for the use of any SET:INTEGER):BOOLEAN; " "BEGIN " IF SCREEN.A[Y+YSET,X+XSET]=1 THEN $BEGIN &KILLBRICK(X+XSET,Y+YSET); &BRICKCOUNT:=BRICKCOpatent or patent rights of %TERAK. TERAK reserves the right to update the information contained %herein at any time without fuUNT+1; &IF NOT FAST THEN (IF Y<=72 THEN *FAST:=TRUE; &BRICKBOUNCE(XSET*10+YSET,DIRECT); &DIRECTCASE(DIRECT); &HIT:=FALSE; rther notice. % %The information contained herein is proprietary to TERAK CORPORATION %and must be treated as confidential. O^It may not be disclosed to %others or used for any purpose except as expressly consented to by %TERAK. 6COPYRIGHT 1980 BY äŸ5 TERAK CORPORATION ="ALL RIGHTS RESERVED"}  PROGRAM PLANETS; 1{*************************************} 1{ PLANETS } 1{ An adventure in real time graphics } 1{ by Michael F Smith } 1{ (c) University of Utah } 1{ August 7, 1978 } 1{*************************************}    TYPE SCREEN=ARRAY[0..239] OF PACKED ARRAY[0..319] OF BOOLEAN; &BLOCK=ARRAY[0..39] OF PACKED ARRAY[0..39] OF BOOLEAN; &SKRE6 "FILEREAD; "MOVEBLOCK;  END. ~÷elÀhœ~·mj·mb7vZwtN{ˆ wvFPP¼A ÀH7t27v2<² 7t"7v"x,ª ÂN\Zn¬b2222222222 Ê·Ò·Ì÷Æ&f€ÀEðÿ� CÁEðÿÁ w ²w ®� …wRCaÃEðÿÁ Åeöeà Ãe ÷ ‚àwzƒÂ —tüÿÂEðÅ WuüÿÅEðBáÁ ‚  ·N‚„Ä uüÿÄEðDáÄ 7>×tüÿÃEðöp…WuüÿÅEðÅ`Å …m—tüÿÂEð¶p „ uüÿEN=FILE OF SCREEN; BLOK=FILE OF BLOCK; (  VAR SCR1,SCR2:SCREEN; SCR3:SKREEN; BLOCK1,BLOCK2:BLOCK; BLOK1:BLOK;  PROCEDURE DRWBLK(VAR SOURCE:BLOCK; VAR DEST:SCREEN; RWSZ, SX,SY,SZX,SZY, 9CPYC,MODE:INTEGER); EXTERNAL;   PROCEDURE DRAWBLOCK(VAR SOURCEB PLANETS  : BLOCK; 4 SRCROW, 8SRCX, 8SRCY :INTEGER;  VAR DEST :SCREEN; 8DSTROW, 8DSTX, 8DSTY, 8CNTX,  8CNTY, 8MODE :INTEGER 8); EXTERNAL;   PROCEDURE FILEREAD;  BEGIN "RESET(SCR3,'SPHERE2.FOTO'); SCR1:=SCR3^; CLOSE(SCR3); "RESET(BLOK1,'MASK.FOTO'); BLOCK1:=BLOK1^; CLOSE(BLOK1); "RESET(BLOK1,'INVERSE.FOTO'); BLOCK2:=BLOK1^; CLOSE(BLOK1);  END { fileread }; &  PROCEDURE MOVEBLOCK;  VAR I,X,Y:INTEGER; SWITCH:BOOLEAN;  BEGIN "SWITCH:=TRUE; X:=40; Y:=192; "REPEAT ¥¥ƒ¦ SPHERE2.FOTO×Íž¥’饃¨’À¥¥ƒÍž¥º_צ MASK.FOTOÍž¥¹ç©º_¨x¥º_Íž¥º_¦ INVERSE.FOTO×Íž¥¹o©º_¨x¥º_Íž­$X:=X+1; Y:=Y-1; $IF SWITCH THEN .BEGIN 0{DRWBLK(BLOCK1,SCR1,320,X,Y,40,40,40,0); 0DRWBLK(BLOCK2,SCR1,320,X,Y,40,40,40„Ì(ÌÇÀÌÙ‚ÌØ•ÌÛ¡:¥¹ç(¥’ÃÇ@ÙØ((Ï¥¹o(¥’ÃÇ@ÙØ((Ï¥’Ã?ž¥©¥ƒ¨’À¹2¥¹ç¥Ç@ÙØ(((Ï¥¹o¥Ç@ÙØ(((Ï¥?,3); 0} 0DRAWBLOCK(BLOCK1,40,0,0,SCR1,320,X,Y,40,40,3); 0DRAWBLOCK(BLOCK2,40,0,0,SCR1,320,X,Y,40,40,2); 0UNITWRITE (3,SCR1,6ž¥’饃¨’ÀÛ“ÌØÃ¡ö­… ˜ƺ_Æ»‹xÍÆ¥ƒÆ¦¯ÇÀÍÕ@ÎÎƺ_ÍÆ¥ƒÍÁx2·¦¦æ&fƒÃe×tüÿà ö €3); SCR2:=SCR3^; .END .ELSE .BEGIN 0DRWBLK(BLOCK1,SCR2,320,X,Y,40,40,40,0); 0DRWBLK(BLOCK2,SCR2,320,X,Y,40,40,40,3); 0UNIpƒÂ—tüÿ �`�mwhÃEðÿ ÷Zƒ:× 7à € ÀíDtüÿ7.÷2÷m2,÷((7 $€ ÀíÀEðÿ÷ 7à7ü 7ú÷øø7 ôTWRITE (3,SCR2,63); SCR1:=SCR3^; .END; " SWITCH:=NOT SWITCH; "UNTIL Y = 0;  END { moveblock };   BEGIN { main program } €ÀevüÿÀ 6 ·ä…„ƒ‚ÆeØö õ÷ÊÊ÷¸À´Á¼wt®×  ˜{~7všPž @ 7vŽ’7v„xˆ7v~÷e7 ÿÿÿÿÿÄñùæÕíþûýÿÿÿÿÿÿß à<úi¥ôŸÿûûÿÿÿÿÿÿ@‘C¢‹|<ÿÿïpÿÿýÿÿÿÿ/@Øf@>Ѐ*àÐÁ pføü-ü¾Mþ6D@o „@ÿ?„ÿÑ!(ÿã ÿu'€@¿c!ÿ‡ÿù@D}Gú»âÜïÿûÿÿÿÿÿÿÿ{�Š[ŒÌ¿ëûßþíÿÿ¿ÿÿÿÿÿ,€¹Ò¥Ç›÷¿ýïÿïþÿÿÿÿÿÿ�$Pÿû@ÿî@ÿÿ/8ÿÿVþÿó±þ_¾8üÿ\»ü~·øÿý› ðÿ¯ðÿÿþàÿ¿ÿÀÿÿÿÿÿþÿ?øÿàÿ€ƒ�Ôžþýʯßþÿÿÿÿÿÿÿ0ð¢Þú±ßÿ¾øoþîÿÿÿÿÿÿPÔ…Í'ýû¾ý¿ÿÿýÿÿÿÿÿÿÿ$臋Áøm»ýÿ¿ÿÿÿÿÿ VhÇA:˜óí�ýöÿÿÿßÿÿÿÿÿ/D´xsÿÝíÎÿ÷ÿÿ÷ÿÿÿÿÿÿ¤ä@OxmÚÿõïÿïÿÿÿÿÿÿÿ°ÜD…0O¹²øãÿý÷ïÿÿÿÿÿÿÿˆåÇBûe¿úßÿÿÿÿÿÿÿÿÿH0NTôðw´ÿ;ÿÿþ¿ò/o0OÎú“>ÿÿÿÿÿÿÿh©¸Åȸ»¾ÿíßþÿÿûÿÿÿÿÿÿ€((”yÏËßþÿæŸÿÿÿïÿÿÿÿÿÿ‚BéáûÈ÷ôÏ÷þïûýïÿÿÿÿÿÿÿÄEðÄ`Ä „m‚ Â%à ÷î ·Âè·Êäö A�·ÈÁÈÀÆÃÆÀåCB€vC@A ÷夬CB€v÷å’ šÔxÁÿÿóC L@@Õþž¾Ï=d?¨··»Þ>¦¿÷oý½ý·ÔPÁÿÿíÁM|€C L@A C@ÔPÄmlÅm`ÄA C@ÔxÄm\ÅmP¼…„ÆeÃ:Â8Ç6ÿÿþÿüÿøÿðÿàÿÀÿ€ÿÿþüøðàÀ€VTLXjh|l}ÞÜÿw»÷ÿ=Gÿ„Ýuóÿ÷ÿ÷€ök9½Íè¿ùÿßÀøÿšÔÿÿýöׯ”öò22222222 ²æ ÿw (âÀP ð•ð0 ýˆ†Á ÂàQ ‚~�à@Á Âÿ?ÊM׺óÜ;›ÿþßü´RúÏÿý¿ýÿÿ�üxBìc¿íwÿûÿÿ`ßU€äÿà P”Â~Àe‡~ßE€äÿ… ÿw ÌÿêßäÿÀüˆ× Àà éˆÁl9aÄeœ9à ìˆwVÀP ÈðH 0 ýˆ†ô ðÿñ%¨ þÿ ñ% €”J{hãÞùöÏ{÷ÿ0Ò×ç~ßÿïýÿ½bâ1ôî?ï÷ÿûÿÿûàÿøÿþÿ?ÿÿÀÿÿÿàÿÿÿðÿÿÿðÿÿÿøÿÿÿüÿÿÿüÿÿÿþÿÿÿ?þÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿëŽò6Ú÷ªüÿûÿÿÿŸhRüðÿ7ÿüï÷ÿ÷û?@­¨ß¯üúýçÿÿïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿ?þÿÿÿ?üÿÿÿüÿÿÿøÿÿÿðÿÿÿðÿÿÿàÿÿÿÀÿÿÿÿÿþÿ?øÿàÿÖ2ô£Þûõÿÿÿøoÿî@¨T¨æDníÿ¿ÿÿÿÿïÿ:•Þç9;¹ÿÿïÿÿÿÿÿÿÆÒ¤ëõWÿ½ûÿýýÿÿÿÿ? `N·?ôÛÿÿÿïÿÿÿ�€ExõysÿßÿÞÿ÷ÿÿÿÿ÷9›èÒëþßÛùíþÿß8 ÿÿÿÿÿÿÿÿˆdl¦—Óßû·þÞÿßïÿÿÿÿÿÿÿÿ(ÀLˆùŸèÖëþßÛùíþÿßÿÿÿÿÿÿÿýQŠP-7}ëÎSïlÿûÿÿÿÿÿÿÿÿÿhˆ˜À�›<ÿí]>½ÿ:ëÿïïÿÿÿÿ~PDˆ�Ði 'v£—›ëÿÿýûÿ¿ÿýÿÿ<0ð¢Þº¡×Ͼø/~î_ýÏý÷òoÿÿui SémßBˆåÇBûe»úßÿÿÿÿÿÿÿÿÿÿ¿ ÁCŸ‘¾®8÷»úþïÿûÿÿÿÿÿÿÿïᨉ Öåm½ïÕùÿÿÿÿÿÿÿÿÿß³“øÿÿþßÿÿ»ÿúÿÿ~ÿ~€ªUû{’ç|ûc¿ýÿÿÿ÷þÿÿþ_`)Ù¸‰þÿŸ°»nþÿþÿþÿÿw~»ÿ �oM쟛þ÷dÁ‰ÙÈåÆúÿÿþÿßÿÿÿÿÿÿÿÿ ¼¨·~ì÷¿/þ‹¿û÷ÿÿÿÿÿÿÿÿ4 "¢�t.½ïóvòÿÿÿÿÿÿÿÿÿÿÿÿÿ½÷ÿýÿÿþì·bŒˆåÇBûe»ÚßûÿÿOÿÿÞÿ»wˆpŹÛPõÕ{Øß{ïþöÿîÝÿïÿc†Ò2Ú²ª<ž¹òíÿŸ÷¿ýïÿoþ8& dæÉY}ÒïúßßÿýÿÿÿÿÿÿÿÿÂ’¸¯>oîÿ»Ýûÿþÿÿÿÿÿÿÿÿ Mà¥iÇŸ÷ÿµ½ÿÿÿÿÿÿÿÿÿÿ p ÜçGùÿ^ T”èTzü>ò=ýó½ÿû~¿ëÿßÿÝïý€(JB5#rJö}åóiÿÿÿïÿÿÿsôÂÅ@8¶·]¯¿úïÝÿïïÿÿÒÿúß¿í”þóÿÿÿÿÿÿÿÿÿÿÿ? ‰•CƒRi-Ü;ßþyïþÿÿÿÿÿÿÿÿ?€È#&Cïþó~ÿ¿ÿÿÿÿÿÿÿÿßÿ?`¦T¡Pæ}/ÿûÿ›þÿÉØD/†¿Çoݵý·^ýÞÿÿ÷¿÷ÿý“È‹´éiB¯Mû?þüÿ¯íýÿßo_@ $ÈcÿùÑo»¥ÿüßÿÛ÷ÿÿíÏÿ¿ûÿÿÿÿÿÿ~ ˆòœâŒïë~¾cÿŸþýÿÿÿÿÿÿÿ?à”lëÂæ“þÿþßÿÿÿÿÿÿÿÿÿ¿ �`lO»^õß»ÿßßÿÿÿÿÿÿÿ€$V J¤9´pêxÛç½»ßþŽÿçÿß@‰�ŠÛŒÍ¿ëûßþíÿÿ¯ó·þ÷ª¥IQëšÄrï9üØÍ_o¯ÿÿ÷ï~ýÃÿóÈØL/¦¿÷oý½ý¿^ýÿÿÿÿÿÿÿÿÿ@Î$²ô²ý÷rz›Ñóÿÿÿÿÿÿÿÿÿû@rÅÊâ�ÿ÷ߟýþÿÿÿÿÿÿÿÿ߆2ô¢Þú±ßÿ¾ø/þî_ýO5w�hAEDé\zŸçìäþÿ¿ÿ÷ÿÿÝæ¿|ÈH1 _µ¿'ísî¿?öÛÿo_î¸ ¾¦dã.ûÿP¤�è"Oíþ;œ~{ýïÿÿþÿÿÿÿÿßÿ@=ÕpöÈ™¹ñ{÷ßÿûÿÿÿÿÿÿÿÿ ‰²`æÊ—oÞÿò¿ÿ¿ùÿÿÿÿûÿ¿ßÿÂîºùÿûÿûÿßÛ€  L’8"ß¼šÙ?7ÿïÿ{ÿlþûˆ€ $$ÄQÛ�'Ä>öËvµ¿çÿÿN·„=´éiŠs·©ï«÷°¿÷ÞÝ­@ ÑCžƒwžóßïwìÿû¿ÿÿÿÿÿÿ�€�€8%Ûºðù´ÿÿ¿ÿ÷ÿÿÿÿÿÿýÿH„ �`lO»^õß»ÿßßÿÿÿÿÿÿ¿ÿ @ c½˜ÏØ» Öåm´mUy>÷åÛÿ?ïûßÿß8H­(שôø}æûúç{ÿ÷ý~Çþ?L$Ø´J…jNä”üÿÊçÓþÿþßûSÐw­ú§š;¹·ÿÿÿÿÿÿÿÿÿ7€ÀM³“Ø÷ÿþßÿÿÿÿÿÿÿÿÿÿÿ{�@f–˜Åý®ý½ýŸÿÿÿÿÿÿÿÿÿ{þÞ¿u×öÿzõÿÿÿÿþÿÿÿ`L"K/Ó~-§· ½7ÿÿÿ÷ÿ¿ÿÿÿÿ¿ÿF1’x"ÿý÷g¿ÿ×þ÷ÿÿÿÿÿÿ¿!"žÚ}68ÕöðƽÿS˜A_ãÕïíÿÿ{ÿÿÿÿÿÿÿÿÿ@Z¤õHOzoþÿÿïÿÿÿÿÿÿÿÿÿ,7Q!ÌQ®,ÞøÿýûÿÿÿÿÿÿÿÿÿýŸ÷þÿÿ¿ÿÿŸPÀdŒŒ�¡wÿy¿ÿßÿÿÿûÿÿ÷o€™R€B™÷¼üéÿoþùÿÞÿîÿï÷ÿÿÿû4§8ã[ªcØÿ§~÷û¿ÿÿÿ_ÿÍ@(!ô±[²‹ü=ÿÿÿöÿÿÿÿÿÿÿ €†6#=MqîvõýÿÞÿ÷ÿÿÿÿÿÿÿßHÀ8jâ¡õ×ù[ÿ}ÿÿÿÿÿÿÿÿ߈€Ði?ßý ¤@Q6Ÿôï»vÿþÿ÷ÿ¿ÿ¿ÿÿÿÿÿÿ ˜P{åO2ÌÎß·ÿ¥ÿÿ¿¿ÿûÿÿ÷€À§0 ‚4¾Æ«ßÛûÿn÷þ¿ÿÿ¿ÿ¿ÿÿ?v³—Ûûÿÿýÿÿÿÿÿÿÿÿ €`-C?ê½_ÿÿÿ¯ÿÿÿÿÿÿÿD„Í'ýû®Ý¿ÿÿýÿÿÿÿÿÿÿÿÿÿ?@ÆÒ„kõWÿ­ûýýýÿÀÐ^šöqü9ÿ_Ûûÿ¿ßÿûÿÿÿÿï à<Øi¡ðœÙûkþÿ¿ýý÷ïÿÿÿw?�H(aÐÑ2Ï;½üÿÿÎÿ¿ÿïÿ÷þ?9 H. B£I<‘÷þû³ßöKÿù¿ÿ·æz„Oì>œJ{háÖñ¶Ï{w¿üíP@d„Œ� ·9›×÷¿½Û§÷_å`B $X@±B; �F¨³±›^ HÉÆEÔGÝ„Ýó?Ñ ‚€"ôIâh|óhB·ÜdZ“â‡Ö½ÉåÞsø±›¿Ü\ÿÿé@ˆ1–!!¬eèG½õã¿ÿ}ñ_üÜ·™¢×m¤sé}Ÿ³“ûÿÿÞÝ÷„WÀ$�Ì,1‹úˆ! �ÈáBB¬µü8B¨@$ È ƉŠúŽtÅ€hˆ˜À�8OML°n]û{û>ç|ûC½  ‚oί«Ý¸ÛþÿŸ°»nþ¯:Šà¸ÿ_’ú_;ß¼ºÙ?7ýëÎSb($rø�kÔožpûØ/ÛJƒ"F5‰…N#8!8 (ÄËŒ†2ð¢Ž2 (êÂ&�üuEDiE>€!Á(QÑCß‘þ®8w»ú¾zû{f ‘€qÔÄ„ëŽò6Ú÷ª|Ÿûòí×$�ÉÀÁ€ZjOÿ~å×ï3ßÓ?Ï9(ÀHp¡öÊ™$@‘ŒMôR`è{¼ °A7`&ÄœMdéEZ@ €"!0Å  0€Ž®¨-vîZõN5grKÿua3'AÈ@B†Û;%]Ü þÃoûÛõú+€X¡€@³ÔÛØMoîÿ÷oÝ%¡Õr 2€�cD$?„ªH@!$%*zh#Â@4DÈ`È œ£&$€€dX|Ô ØM5ÿÝzÝÿ{9½Mà@‘˜âP„j¹éZsžreñÆÿûï�  B]ä”ì"Oíþœj{h0 ¢4(" Tƒ@È$@¤8ÄË ‚@€@ÀœEMÈ$Å ÙôU{Àß3gæÆcèÅm0C mQDÏ\ùÒãÍû_þôÿ7*Bt*=|ùžþqÎ÷u?F�· P@ ¥¡š9€"a@‚^¨@+”ƒ€`Äh)Ù°ø %Ûº°ù¤ßµÛ „ záb ÛÓ®Õ_ý— ³ó#ÙØL/¦¿ÇOÝ¥õ5^= ª3!æl¢K/Û~ §§ ¼6í (ÁPz€À€{` †E�ÄÊãøA!Är‚ÅÊ≼÷ßý´RX€€@)$ºÀÅS»Ï§ÒZ8t´� AOµœ52Fl<†^ÜfdÈ@B  ‚ž ! À˜!‚"@€D"H€J¢€,˜¹Ò…Æ›÷¼øáob¡J ÓCžƒSœñ}Õ�d-@(¨�S²­ ›Oú÷UmÄ0‚€@€” ˆ„H €b€ $è… �`,MºV{åO2ÈÌ#ÉØL/†¿ÇK\¤ñƒ*ÀLˆ9›èÒ˶éi¯Mù¢4 „AD¡A  Q‚8¡Xn¢B˜£XY<‘÷îÓƒ@T‘C¢‹\<µûlp*Í  €b„lzª=଑1bã$3”–Ж€H@ �@ € ¤è‡‹Á^øl»~õß»ßÏß·>F ²±›^Lïߺkûo½ú½½ÿî@€‰s6Ñ¥—í¿–ÓÛ„Þ›÷üùÿ_ÓúäñÌ•/4Þ¼§P*Êt*=|ùNqÆ2Àè `æU*T3"§d[€À"€ávNHÓƒ=À: ®/Ù룂ÌÙÇÿɡٮ¹Çÿ®M®!2Ø®!ôË«§“¡®§¡öÙÇÿÉ¡ ØÙ†‚‚«¹Çÿ̧§Å¡§«Ø«¥ žë§$¨ ë¢Ùš­vž4¶á§Ì§Çÿ†‚‚«¶+Ë¡-²¼œ ¶î/¶áëÌ2Ø®!ô᮹®²¼œ ®+®#ëŸË¡ ë§+Ë¡}®ô᮹®²¼ œ ®+®#ëŸË¡ ë§ ("+Ë¡}®¶á1M®!2Ø®!Ù£ÇÿÉ¡ ØÙ£†‚‚«§§Å¡§«Ø«Ù«¹¶+áM®!¹M®!­ä5²¼"œ ®.®(ëŸË¡ ëùË¡}®ôáo®ôác¥¦NORMAL Я ¡®¹H¥¦LOCK Я ¡®¹1¥¦PURGE Я ¡®¹¥¦CRUNCH Я ¡®¹®®¹®¹®M®!§¡® ­£ª6²¼"œ ®.®(ëŸË¡ëùË¡}®¹ ëúŸÃ¡Ç�®¶¹Wô᮲¼ œ ®+®#ë§+Ë¡}®¹}®M ®!¹FM®!¹?M®!¹8ëŸË¡ ëú§)Ë¡Ç�® ®®M®!¹¬ (¹_83 6§¡® ­°7ëŸË¡ ë§+Ë¡}®ô᮹®ô)áõ ᮹ õ ᮹}®®¹}®²¼œ ®+®#ëŸË¡ ë§)Ë¡}®ô᮹®²¼"œ ®.®(ô᮲¼ œ ®+®#¹® ® §+«­ 8²¼œ ®.®(ëŸË¡ëùË¡}®¹ ëúŸË¡Ç�®ô᮹®²¼œ ®.®(ô᮹®²¼"œ ®+®#ë§+Ë¡}®ô᮲¼ œ ®+®#ë§+Ë¡}®¹‘®¶%᮹®®®M®!§¡® §+«­¼9²¼œ ®.®(ô᮹®²¼œ ®.®(¶*á̹ÌÌØÌÙÚÈ¡0ô᮹®²¼"œ ®+®#ëŸË¡ ë§+Ë¡}®Ù‚̹ö¶*á ̹ ÌØ® ­K ’:ôá  Æ® ®ØþŸË¡Øþø�®§+«­(;ØÌÙ£ áÙ£ á%Ù£ ® ¹ 2§7Ù£ •Ù£ ®!¹Ù£ á'Ù£ ® ¹ 6§7Ù£ •Ù£ ®!­J<§/Ìôö„¡5  Æ® ØþŸË¡%ØþùáØþú§)á®ØÌô"‹“¹}®¹}®® ­®N2ë§+Ë¡}®ô᮹®²¼œ ®.®(ô᮹®²¼"œ ®+®#ë§+Ë¡}®ôá&®ô᮹²¼"œ O^®+®#ë§+Ë¡}®¹®ô᮲¼ œ ®+®#ë§+Ë¡}®¹®¶ á® ¹® ­ ´3̧̧Çÿ†‚‚«®8Ø®!2Ø®!²¼"œ òž5 ; rther notice. % %The information contained herein is proprietary to TERAK CORPORATION %and must be treated as confidential.  It may not be disclosed to %others or used for any purpose except as expressly consented to by %TERAK. 6COPYRIGHT 1980 BY TERAK CORPORATION ="ALL RIGHTS RESERVED"}  PROGRAM PANSINE; VAR SCREEN: ARRAY[0..1] OF ARRAY[0..239] OF PACKED ARRAY[0..319] OF BOOLEAN; I,J:INTEGER; R: REAL; CH:CHAR; BEGIN FOR I:=0 TO 319 DO SCREEN[0,0,I]:=FALSE; Õ«¥„Ç?Ì¥ˆ©¥„Ê¥ˆÈ¡(¥ˆ¤’ÀÇ©¥„Ç?ˆÀ»©¥„‚«¥„¹ö¥ˆ¤’ÀÇ¥ˆ¤’ÀÇÇX%ž¥ˆ¤’À?ž«¥„ÇïÌ¥ˆ MOVELEFT(SCREEN[0,0],SCREEN[0,1],9560); UNITWRITE(3,SCREEN[0],63); FOR I:=0 TO 239 DO $BEGIN &SCREEN[0,I,160]:=TRUE; &©¥„Ê¥ˆÈ¡r¥ˆ¤’À©¥„ÇÇ Ç?ˆÀ»©¥„ŽÃ¡?Ç›«¥ƒÇ¥Ì¥‰©¥ƒÊ¥‰È¡*¥ˆ¤’À©¥„Ç©¥ƒÇ?ˆÀ»©¥ƒ‚«¥ƒ¹ô©¥„‚«¥„¹ò¥IF I MOD 20 = 0 THEN FOR J:=155 TO 165 DO SCREEN[0,I,J]:=TRUE; $END; SCREEN[1]:=SCREEN[0]; WRITELN('SIN(X)/X...'); UNITREAD(2,CH,1,,1); FOR I:=0 TO 239 DO BEGIN J:=I-120; IF J=0 THEN R:=-1.0 ELSE R:=-SIN(0.09*J)/(0.09*J); J:=160+ROUND(R*100); $SCREEN[0,I,J]:=TRUE; SCREEN[1,I,J]:=TRUE; END; WHILE UNITBUSY(2) DO $FOR J:=0 TO 239 DO IF UNITBUSY(2) THEN UNITWRITE(3,SCREEN[0,J],63); UNITWRITE(3,SCREEN[0],7); END. ! {TERAK CORPORATION believes that the information contained herein is %accurate. In no event will TERAK be liable for any losses or damages, %whether direct or indirect, resulting from the use of such %information, including, without limitation, losses arising from %claims of patent, copyright, and trademark infringement. No license %is granted hereby for the use of any patent or patent rights of %TERAK. TERAK reserves the right to update the information contained %herein at any time without fuV PANSINE < ©¥ƒŠ�‡’½Ç ¥¥…¼dŠ�ž‚«¥ƒ¥ˆ¤’À©¥„Ç©¥ƒÇ?ˆÀ»¥ˆ¤’À©¥„Ç©¥ƒÇ?ˆÀ»©¥„‚«¥„¹ðž#¡>«¥ƒÇïÌ¥ˆ©¥ƒÊ¥ˆÈ¡)ž#¡rther notice. % %The information contained herein is proprietary to TERAK CORPORATION %and must be treated as confidential. O^It may not be disclosed to %others or used for any purpose except as expressly consented to by %TERAK. 6COPYRIGHT 1980 BY \ž5 TERAK CORPORATION ="ALL RIGHTS RESERVED"}  PROGRAM FIG1D2; $USES GRAPHICS; $VAR DATA:ARRAY[1..12] OF REAL; I : INTEGER; STR:STRING; &PROCEDURE STRNG ( VAR S:STRING; I:INTEGER ); 8{s:=string representation of I} &VAR D , J:INTEGER; ZEROON:BOOLEAN; C:STRING[1]; &BEGIN (IF I=0 THEN BEGIN S:='0'; EXIT ( STRNG ); END ELSE S:=''; (IF I<0 THEN BEGIN S:=CONCAT ( '-' , S ); I:=-I; END; (ZEROON:=FALSE; D:=10000; (WHILE D > 0 DO *BEGIN ,J:= I DIV D; ,CASE J OF .0: IF ZEROON THEN C:='0' ELSE C:=''; .1: C:='1'; 2: C:='2'; 3: C:='3'; 4: C:='4'; .5: C:='5'; 6: C:='6'; 7: C:='7'; 8: C:='8'; 9: C:='9' ,END; {case} ,ZEROON:= ( J<>0 ) OR ZEROON; ,S:=CONCAT ( S , C ); ,I:=I MOD D; ,D := D DIV 10ˆ¤’À¥ˆ¤’À¨’À¶¦ SIN(X)/X...×Íž¶Íž¥¥‡ž«¥„ÇïÌ¥ˆ©¥„Ê¥ˆÈ¡î©¥„x•«¥ƒ©¥ƒÃ¡¥¥…³€@’½¹ ¥¥…³ìQ¸>©¥ƒŠ�ž³ìQ¸>©¥ƒŠ�‡’½Ç ¥¥…¼dŠ�ž‚«¥ƒ¥ˆ¤’À©¥„Ç©¥ƒÇ?ˆÀ»¥ˆ¤’À©¥„Ç©¥ƒÇ?ˆÀ»©¥„‚«¥„¹ðž#¡>«¥ƒÇïÌ¥ˆ©¥ƒÊ¥ˆÈ¡)ž#¡! {TERAK CORPORATION believes that the information contained herein is %accurate. In no event will TERAK be liable for any¥ˆ¤’À©¥ƒÇ?ž©¥ƒ‚«¥ƒ¹ì¹ê¥ˆ¤’ÀžÁVIZý†:KN’ÀÇÇX%ž¥ˆ¤’À?ž«¥„ÇïÌ¥ˆ losses or damages, %whether direct or indirect, resulting from the use of such %information, including, without limitation, l©¥„Ê¥ˆÈ¡r¥ˆ¤’À©¥„ÇÇ Ç?ˆÀ»©¥„ŽÃ¡?Ç›«¥ƒÇ¥Ì¥‰©¥ƒÊ¥‰È¡*¥ˆ¤’À©¥„Ç©¥ƒÇ?ˆÀ»©¥ƒ‚«¥ƒ¹ô©¥„‚«¥„¹ò¥osses arising from %claims of patent, copyright, and trademark infringement. No license %is granted hereby for the use of any ˆ¤’À¥ˆ¤’À¨’À¶¦ SIN(X)/X...×Íž¶Íž¥¥‡ž«¥„ÇïÌ¥ˆ©¥„Ê¥ˆÈ¡î©¥„x•«¥ƒ©¥ƒÃ¡¥¥…³€@’½¹ ¥¥…³ìQ¸>©¥ƒŠ�ž³ìQ¸>patent or patent rights of %TERAK. TERAK reserves the right to update the information contained %herein at any time without fu= ]:=17234; DATA[08]:=20100; DATA[09]:=15002; &DATA[10]:=17000; DATA[11]:=12000; DATA[12]:=19876; &DRAW_VS ( 3 ); {THREE ZONES} &DISP_VS ( 0 , 7 , 7 ); &{viewport defaults to entire screen} &{window 0 to 13 in X for 12 MONTHS, and 10, 000 to 20, 000} &{for DOLLAR SALES} &SET_WNDW ( 0 , 13 , 8000 , 23000 ); &SET_LNST ( 1 ); {set linestyle to draw white on black} &NEW_FRAM; &MOVE_ABS ( 0.7 , 20000 ); {draw the axes} &LINE_ABS ( 0.7 , 8000 ); &MOVE_ABS ( 0.7 , 8700 ); &LINE_ABS ( 13 , 8700 ); &SET_CHPR ( 1 ); &SET_MKSM ( 6 ); {set character precision for character display} &FOR I:=1 TO 12 DO BEGIN {place tick marks for the months} (MARK_ABS ( I , 8700 ); (MOVE_ABS ( I , 80 F¨ FIG1D2 00 ); (STRNG ( STR , I ); (TEXT ( STR ); END; &SET_CHPR ( 2 ); {text precision for graphics display} &SET_CHSP ( 0.3 , 0 ); GRAPHICS  &SET_MKSM ( 7 ); &FOR I:=8 TO 20 DO BEGIN {place tick marks for sales} (MARK_ABS ( 0.7 , I*1000 ); (MOVE_ABS ( 0 , I*1000 ); (STRNG ( STR , I ); (TEXT ( STR ); END; &SET_CHSP ( 0.3 , 0 );{set char space,  €h¼½Æ¥€j¼½Æ Æ ÆÆÏ¡öÆ Æ ÏÆ¥€N¼½Æ¥€P¼½Æ¥€F¼½Æ¥€H¼½ÆÆÏÆÆÏ©€fP�•Ì©€e•Ì ©€_©€fÆ ¼Ç?Š�žÆ ¼åŠ�žäƃ Áer€Âu„~€Âõ ÄÄÃe&…~ÔÔÃe&…~Æe…„ƒ‚Æep`@I**I"AAA"A"ŠŠŠŠÏÏ¥€hн¥€jн«€l«€m«€g«€e¥€`н¥€bн­Im ºÙÉÙÅ�ØÉ�ØÅ�¡ ¶צ dsvs errorÍž¶Íž¹©€_Ù¼Ç?Š�žÆ¼Ç?Š�žÆ¼åŠ�žÆ¼åŠ�ž©€dÏ­)  ¥€hƼ½¥€jƼ½Ï ­¥€h¥€h¼Æ¼ƒ½¥€j¥€j¼Æ¼ƒ½Ï ­�Ø‚žÚË¡ ‘ÌÛÛøÇ€ Ú�•š­ZÆ¼еÆ¼б�Ƽе�Ƽб�¡"¶צ vprt errorÍž¶Íž ž¥€ZƼƼ–Ї½¥€(ØÉØÅ�¡"¶צ chpr errorÍž¶Íž žØ•«€g­:ÙÉØÉ�¡"¶צ chsz errorÍž¶Íž žØ«€mÙ«€l­VƼ¥€Z¼ƒ½¥€\ƼƼ–Ї½¥€XƼ¥€\¼ƒ½­�ƼƼ°Æ¼Æ¼°�¡"¶צ wndw errorÍž¶Íž ž¥€RƼƼ–<¥€`Ƽ½¥€bƼ½­ÆتPÏ¡ ž©€f�•Ì+Ì,ƾÌ5Ê,Ê5È¡ôÆ3¥€h¼½Æ1¥€j¼½Æ/Æ3¼½Æ-Æ1¼½Æ3Æ1Æ/Æ-Ï¡xÆ3Æ1ÏЇ½¥€JƼ¥€R¼ƒ½¥€TƼƼ–Ї½¥€LƼ¥€T¼ƒ½¥€NƼ½¥€PƼ½¥€FƼ½¥€HƼ½­€¦ØÉØÅ�¡"¶צ lnst errorÍ©€gá:Æ3¼Ç?Š�ž†©€f•P�©€fP�•Æ1¼‰�ž‚ †•ͶÆÍž ž©€_©€fÆÊ,›¾Æ3¼Ç?Š�žÆ1¼©€fP�•Š�ž©€m©€l©€dÏ¥€h¥€h¼¥€`¼ƒž¶Íž ž«€dØÅ¡Ø•«€d­BÏ¡ ž©€dá̹‘Ì©€_©€fÇ€ �Øž ­0Ù¥€h¼½Ø¥€j¼½­ ¥€hƼ½¥€j¥€j¼¥€b¼ƒ½©€gáÏÊ,‚Ì,¹ö­åh Ø«€e­ ÷¦· ‚ ·l„7 �7 €·€€w v7 v÷ j·j€÷ü^7 ½¥€jƼ½­ ¥€h¥€h¼Æ¼ƒ½¥€j¥€j¼Æ¼ƒ½­& ÌÆ¼¥€N¼µ¡ ƈÀ»¹Æ¼¥€P¼±¡ ƈÀ»Æ¼¥€F¼^�€ƒà Cp—týÿÂE�`�eÀEðÿÀ ÷/6¾ÿ .÷-00Â(7‚ ·$Â÷m÷- ÷ Á`Áà÷íþÿ ôÿ î•~Âî‚ ·êÂä÷mµ¡ ƈÀ»¹Æ¼¥€H¼±¡ ƈÀ»ÞÌ­ rÆÙ¼½Ùؼ½ØÆ¼½­ÜܼÛ¼ܼ–Ú¼Ù¼–�ؼÙ¼–‡ƒ½ÙÚ¼½­Þà÷-ÜØÿ Ì÷íÎÎ÷ ÄÁ`Áàÿ ´•~×-®,þ¶Ö òǬÀ À €á À‡€ € À5 Ñ ‡ \v‡ ‡Ö ¼h& , @€ @€ †|Ìš–’º¡ ÜÚ¥€PÝÛι,Æ ˆÀº¡ ÝÛ¥€FÜÚÎ¹Æ ˆÀº¡ ÝÛ¥€HÜÚÎݼܼÎÌ ¹öÞ¡ÝÛÎÜÚέS´ ÚÙÙ¼¥€J¼–¥€R¼‡¥€Z¼�¥€V¼ŠrfVVVVVÒ·¦æ&f·ð�ƒ ×p C`…WqPÅ Å bƒ ×tÃmÈ× ?Y AaWp(�m‚�ÂEÿ—tÂU àÅ Ãæ�ƒ½ØØ¼¥€L¼–¥€T¼‡¥€\¼�¥€X¼ƒ½­DÏ¡ žÆÆÆÆÏ¡bÆÆÏÆÆÏ©€fP�•Ì Æ ©€_ƼÇ?Š�žáƼáŠ�ž•Ç?Ƽ‰��àß5tÿüßU€äÿ£˜BßE€äÿ�Â÷ v·˜v· n ÅdsÄ D`Å  € ÷<: Tö L]: LM: … … W!  „ „ ~ƒ ƒ × äÁå(žÇ?Ƽ‰�ž•áÆ¼‰�žáƼ‰�ž•©€d‚Ï­‚¥€h¼¥€j¼Æ¼Æ¼Ï¥€hƼ½¥€jƼ½­. ¥€h¼¥€j¼¥€h¼Æ¼ƒ¥€j¼Æ÷ Ö÷ Î…„ƒ‚Æe¶”nb^(·¦æ&f…@AC×pÃeÂ& Δƒ~BBí—  ¼ƒÏ¥€h¥€h¼Æ¼ƒ½¥€j¥€j¼Æ¼ƒ½­F Ï¡ ž©€eÉ©€e Å�¡$¶צ marker errorÍž¶Íž žÆ ¥€h¼½Æ ¥€j¼½Æ¥ƒÄ“LBBà—  ƒÄ“LBí Âe�ƒ ‚~B àÂe�ƒÃe# ‚~C×pPàÃå×p(Cm rÀ `W à W ? �ŠÍ ¥©Î¥Í ©‚«¹ô³š™™?ŠÍ ŠÇRŠÍ צ!SALES ( $K ) VS TIME ( MONTHS )Í  Í « ÌE©ÊEÈ¡E©áŠ¥ ˆ•¤¼Í ©Šosses arising from %claims of patent, copyright, and trademark infringement. No license %is granted hereby for the use of any ¥© ˆ•¤¼Í ©Š¥© ˆ•¤¼Í ©‚«¹ò žÁQÏÖHNÇY2н¥ ˆ•¤Ç Nн¥ ˆ•¤ÇRCн¥ ˆ•¤Ç„Nн¥ patent or patent rights of %TERAK. TERAK reserves the right to update the information contained %herein at any time without fu ˆ•¤Çš:н¥  ˆ•¤ÇhBн¥  ˆ•¤Çà.н¥  ˆ•¤ǤMнÍ Í Š ŠÇ@ŠÇØYŠÍ Í Í ³333@Ç NŠÍ ³333@Ç@ŠÍ ³†333@Çürther notice. % %The information contained herein is proprietary to TERAK CORPORATION %and must be treated as confidential. O^It may not be disclosed to %others or used for any purpose except as expressly consented to by %TERAK. 6COPYRIGHT 1980 BY "A>"A"AAAAA>""">J*vß5tÿüß5tÿüö õއ"®6¾æ  :  ì :¶ä¼ž¥ ÎâD„²Þ*Ð ü  : p ¸ d ú Z t� BOX(' '); GOTOXY(0,16); .WRITE(' Enter character set filename: '); READLN(FILENAME); .CLEARBOX('Looking...'); LOAD(CONCAT(FILENAME,'.CHARSET')); END; &'\','|':IF ALTSET=0 THEN ALTSET := 128 ELSE ALTSET := 0; &'S','s':LOAD('*SYSTEM.CHARSET') $END{case}; " EXIT:=CCH=CHR(ESC)ØÃ¡ Ù0ªPž¹ÙצªPØÉ¡ÙÌÆצ-ÍÆÙQÍÆªPØ‘ÌÌÇ'ÌÛÅ¡ôØÛ†ÌÚ¹RÜ¡Æ0ª¹Æצª¹[Æ1ª¹TÆ2ª¹MÆ3ª¹FÆ4ª¹?Æ5ª¹8Æ6ª¹1Æ7ª¹*Æ8ª¹#Æ9ª¹¬ÿ ¹ZID?:50+&!ÚËÜ�ÌÙÌÆÙPÍÆÆQÍÆªPØÛŽÌÛ †Ì¹ö­©Z ð žÕ3Í ¥ ˆ•¤Çø*н¥ ˆ•¤Ç/н¥ ˆ•¤Ç+Jн¥ ˆ•¤Ç(#н¥ ˆ•¤ÇY2н¥ ˆ•¤Ç Nн¥ ˆ•¤ÇRCн¥ ˆ•¤Ç„Nн¥  ˆ•¤Çš:н¥  ˆ•¤ÇhBн¥  ˆ•¤Çà.н¥  ˆ•¤ǤMнÍ Í Š ŠÇ@ŠÇØYŠÍ Í Í ³333@Ç NŠÍ ³333@Ç@ŠÍ ³†333@Çü! {TERAK CORPORATION believes that the information contained herein is %accurate. In no event will TERAK be liable for any!ŠÍ ŠÇü!ŠÍ Í Í « ÌE©ÊEÈ¡'©ŠÇü!ŠÍ ©ŠÇ@ŠÍ ¥©Î¥Í ©‚«¹öÍ ³š™™?ŠÍ Í «ÌE©ÊEÈ¡/³333@©Çè�ŠÍ Š©Çè losses or damages, %whether direct or indirect, resulting from the use of such %information, including, without limitation, l@  #BEGIN {main} {demonstration program OIL} %INIT_GRF; {if not called results are FLOATING PNT ERROR} %DATA[01]:=160; DA1 TO 120 DO BEGIN &STR:=' '; STR[1]:= CHR(255); TEXT(STR); END; %SET_LNST(1); %SET_CHSP(0.48,0); & & %MOVE_ABS(60,100); %TA[02]:=137; DATA[03]:=135; %DATA[04]:=151; DATA[05]:=136; DATA[06]:=138; %DATA[07]:=127; DATA[08]:=113; TEXT('UNSUCCESSFUL'); % %MOVE_ABS(62,25); %TEXT('SUCCESSFUL'); % %SET_CHSZ(1,2); %MOVE_ABS(63,150); %TEXT('OIL DRILLING T DATA[09]:=105; %DATA[10]:=110; DATA[11]:=103; DATA[12]:=90; %DATA[13]:=83; DATA[14]:=75; DATA[15]:=70; RENDS'); % %SET_WNDW(0,38,0,16); %MOVE_ABS(36,10); %SET_CHSZ(1,1); %SET_CHSP(0,-1); %TEXT('footage'); ' #END. % %DATA1[01]:=93; DATA1[02]:=80; DATA1[03]:=77; %DATA1[04]:=83; DATA1[05]:=77; DATA1[06]:=80; %DATA1[07]:=75; DATA1[08]:=68; DATA1[09]:=60; %DATA1[10]:=55; DATA1[11]:=58; DATA1[12]:=50; %DATA1[13]:=45; DATA1[14]:=35; DATA1[15]:=28; % %DRAW_VS (2 ); {TWO ZONES} %DISP_VS ( 1 , 3 , 7 ); %SET_WNDW(56,75,-25,200 ); %SET_LNST(1); {set linestyle to draw white on black} %NEW_FRAM; %MOVE_ABS(58,0 ); {draw the axes} %LINE_ABS(58,175 TERAK CORPORATION ="ALL RIGHTS RESERVED"}  #PROGRAM OIL; #USES GRAPHICS; #VAR DATA,DATA1:ARRAY[1..15] OF REAL; I : I ); %SET_CHSP(0.48,0); %SET_CHPR(3); %I:=0; %WHILE I < 176 DO %BEGIN 'SET_MKSM ( 7 ); 'MARK_ABS(58,I); 'MOVE_ABS(56.2,I)NTEGER; STR:STRING; %PROCEDURE STRNG(VAR S:STRING; I:INTEGER); {s:=string representation of I} ; % STRNG(STR,I); 'TEXT(STR); 'I:=I+25; %END; % %MOVE_ABS(58,0 ); %LINE_ABS(73,0 ); %FOR I:=59 TO 73 DO BEGIN {p%VAR D,J:INTEGER; ZEROON:BOOLEAN; C:STRING[1]; %BEGIN 'IF I=0 THEN BEGIN S:='0'; EXIT(STRNG); END ELSE S:=''; 'IF I<0 Tlace tick marks for the months} 'SET_MKSM ( 6 ); 'MARK_ABS(I,0); 'MOVE_ABS(I-0.8, -24); 'STRNG(STR,(1900+I)); 'IF (I MOD 5HEN BEGIN S:=CONCAT('-',S); I:=-I; END; 'ZEROON:=FALSE; D:=10000; 'WHILE D > 0 DO )BEGIN +J:= I DIV D; +CASE J OF -0: I) = 0 THEN BEGIN )TEXT(STR); )SET_MKSM ( 8 ); )MARK_ABS(I,0) )END %END; ' %MOVE_ABS(59,160); %FOR I:=59 TO 73 DO LINE_ABF ZEROON THEN C:='0' ELSE C:=''; -1: C:='1'; 2: C:='2'; 3: C:='3'; 4: C:='4'; -5: C:='5'; 6: C:='6'; 7: C:='7'; 8:S(I,DATA[I-58]); %MOVE_ABS(59,93); %FOR I:=59 TO 73 DO LINE_ABS(I,DATA1[I-58]); % %FOR I:=59 TO 73 DO BEGIN  C:='8'; 9: C:='9' +END; {case} +ZEROON:=(J<>0) OR ZEROON; +S:=CONCAT(S,C); +I:=I MOD D; +D := D DIV 10; )END; %END;  'MOVE_ABS(I,DATA[I-58]); 'LINE_ABS(I,DATA1[I-58]); END; % ' %SET_CHSP(0.04,0); %SET_LNST(3); %MOVE_ABS(60,100); %FOR I:=A žÇ?Ƽ‰�ž•áÆ¼‰�žáƼ‰�ž•©€ˆ‚Ï­‚¥€Œ¼¥€Ž¼Æ¼Æ¼Ï¥€ŒÆ¼½¥€ŽÆ¼½­. ¥€Œ¼¥€Ž¼¥€Œ¼Æ¼ƒ¥€Ž¼Æ«€‚Çÿ«€Š­Ø«€ƒÇÿ«€Š«€‚­©€ŠÇÿáB¶Íž¶צdraw_on_view_surface not calledÍž¶ÍžÌ¹Ì­¼ƒÏ¥€Œ¥€Œ¼Æ¼ƒ½¥€Ž¥€Ž¼Æ¼ƒ½­F Ï¡ ž©€‰É©€‰ Å�¡$¶צ marker errorÍž¶Íž žÆ ¥€Œ¼½Æ ¥€Ž¼½Æ¥VØ©€ŠÈ“ØÉ�Ø Å�¡"¶¦ drvs error×Íž¶Íž ž©€‚¡1¥€ƒÇ@žÌØÌÙÛÈ¡ÆÇ@žÙ‚̹ö©€ƒØÇ€ �ž «€‚Ø«€ŠŠŠŠŠÏ€Œ¼½Æ¥€Ž¼½Æ Æ ÆÆÏ¡öÆ Æ ÏÆ¥€r¼½Æ¥€t¼½Æ¥€j¼½Æ¥€l¼½ÆÆÏÆÆÏ©€ŠP�•Ì©€‰•Ì ©€ƒ©€ŠÆ ¼Ç?Š�žÆ ¼åŠ�žäÆŠŠŠŠÏÏ¥€ŒŠ½¥€ŽŠ½«€�«€‘«€‹«€‰¥€„н¥€†Š½­Im ºÙÉÙÅ�ØÉ�ØÅ�¡ ¶צ dsvs errorÍž¶Íž¹©€ƒÙ¼Ç?Š�žÆ¼Ç?Š�žÆ¼åŠ�žÆ¼åŠ�ž©€ˆÏ­)  ¥€ŒÆ¼½¥€ŽÆ¼½Ï ­¥€Œ¥€Œ¼Æ¼ƒ½¥€Ž¥€Ž¼Æ¼ƒ½Ï ­�Ø‚žÚË¡ ‘ÌÛÛøÇ€ Ú�•š­ZÆ¼еÆ¼б�Ƽе�Ƽб�¡"¶צ vprt errorÍž¶Íž ž¥€~ƼƼ–Ї½¥€(ØÉØÅ�¡"¶צ chpr errorÍž¶Íž žØ•«€‹­:ÙÉØÉ�¡"¶צ chsz errorÍž¶Íž žØ«€‘Ù«€�­zƼ¥€~¼ƒ½¥€€Æ¼Æ¼–Ї½¥€|Ƽ¥€€¼ƒ½­�ƼƼ°Æ¼Æ¼°�¡"¶צ wndw errorÍž¶Íž ž¥€vƼƼ–<¥€„Ƽ½¥€†Æ¼½­ÆتPÏ¡ ž©€Š�•Ì+Ì,ƾÌ5Ê,Ê5È¡ôÆ3¥€Œ¼½Æ1¥€Ž¼½Æ/Æ3¼½Æ-Æ1¼½Æ3Æ1Æ/Æ-Ï¡xÆ3Æ1ÏЇ½¥€nƼ¥€v¼ƒ½¥€xƼƼ–Ї½¥€pƼ¥€x¼ƒ½¥€rƼ½¥€tƼ½¥€jƼ½¥€lƼ½­€¦ØÉØÅ�¡"¶צ lnst errorÍ©€‹Ã¡:Æ3¼Ç?Š�ž†©€Š•P�©€ŠP�•Æ1¼‰�ž‚ †•ͶÆÍž ž©€ƒ©€ŠÆÊ,›¾Æ3¼Ç?Š�žÆ1¼©€ŠP�•Š�ž©€‘©€�©€ˆÏ¥€Œ¥€Œ¼¥€„¼ƒž¶Íž ž«€ˆØÅ¡Ø•«€ˆ­BÏ¡ ž©€ˆÃ¡Ì¹‘Ì©€ƒ©€ŠÇ€ �Øž ­0Ù¥€Œ¼½Ø¥€Ž¼½­ ¥€ŒÆ¼½¥€Ž¥€Ž¼¥€†¼ƒ½©€‹áÏÊ,‚Ì,¹ö­åh Ø«€‰­ ÷¦· ‚ ·l„7 �7 €·€€w v7 v÷ j·j€÷ü^7 ½¥€ŽÆ¼½­ ¥€Œ¥€Œ¼Æ¼ƒ½¥€Ž¥€Ž¼Æ¼ƒ½­& ÌÆ¼¥€r¼µ¡ ƈÀ»¹Æ¼¥€t¼±¡ ƈÀ»Æ¼¥€j¼^�€ƒà Cp—týÿÂE�`�eÀEðÿÀ ÷/6¾ÿ .÷-00Â(7‚ ·$Â÷m÷- ÷ Á`Áà÷íþÿ ôÿ î•~Âî‚ ·êÂä÷mµ¡ ƈÀ»¹Æ¼¥€l¼±¡ ƈÀ»ÞÌ­ rÆÙ¼½Ùؼ½ØÆ¼½­ÜܼÛ¼ܼ–Ú¼Ù¼–�ؼÙ¼–‡ƒ½ÙÚ¼½­Þà÷-ÜØÿ Ì÷íÎÎ÷ ÄÁ`Áàÿ ´•~×-®,þ¶Ö òǬÀ À €á À‡€ € À5 Ñ ‡ \v‡ ‡Ö ¼h& , @€ @€ †|Ìš–’¤iн¥! ˆ•¤nн¥! ˆ•¤gн¥! ˆ•¤Zн¥! ˆ•¤Sн¥!ˆ•¤Kн¥!ˆ•¤Fн¥ˆ•¤]н¥ˆ•¤Pн¥ˆ•¤ŠrfVVVVVÒ·¦æ&f·ð�ƒ ×p C`…WqPÅ Å bƒ ×tÃmÈ× ?Y AaWp(�m‚�ÂEÿ—tÂU àÅ Ãæ�Mн¥ˆ•¤Sн¥ˆ•¤Mн¥ˆ•¤Pн¥ˆ•¤Kн¥ˆ•¤Dн¥ ˆ•¤<н¥ ˆ•¤7н¥ ˆ•¤:н¥ ˆ•¤2Š�àß5tÿüßU€äÿ£˜BßE€äÿ�Â÷ v·˜v· n ÅdsÄ D`Å  € ÷<: Tö L]: LM: … … W!  „ „ ~ƒ ƒ × äÁå(½¥ ˆ•¤-н¥ˆ•¤#н¥ˆ•¤нÍ Í 8ŠKŠ‘ŠÇÈŠÍ Í Í :ŠŠÍ :ŠÇ¯ŠÍ ³C�Âõ?ŠÍ Í «?©?ǰɡ+Í :Š©?ŠÍ÷ Ö÷ Î…„ƒ‚Æe¶”nb^(·¦æ&f…@AC×pÃeÂ& Δƒ~BBí—   ³ÍÌ`C©?ŠÍ ¥@©?Î¥@Í ©?‚«?¹ö:ŠŠÍ IŠŠÍ ;«?IÌi©?ÊiÈ¡GÍ ©?ŠŠÍ ©?³ÍÌL@‰–‘ŠÍ ¥@Çl©?‚Ω?ŽÃ¡¥@Í Í ©?ŠŠÍ ©?‚«ƒÄ“LBBà—  ƒÄ“LBí Âe�ƒ ‚~B àÂe�ƒÃe# ‚~C×pPàÃå×p(Cm rÀ `W à W ?¹ô;ŠÇ ŠÍ ;«?IÌi©?ÊiÈ¡©?Š¥!©?:•ˆ•¤¼Í ©?‚«?¹ò;Š]ŠÍ ;«?IÌi©?ÊiÈ¡©?Š¥©?:•ˆ•¤¼Í ©?‚«?¹ð;«?IÌi©?ÊiÈ¡2©?Š¥!©?:•ˆƒ Áer€Âu„~€Âõ ÄÄÃe&…~ÔÔÃe&…~Æe…„ƒ‚Æep`@I**I"AAA"A"•¤¼Í ©?Š¥©?:•ˆ•¤¼Í ©?‚«?¹î³ ×#>ŠÍ Í <ŠdŠÍ «?xÌi©?ÊiÈ¡¥@ ªP¥@›Çÿ¿¥@Í ©?‚«?¹ìÍ ³ �Âõ?ŠÍ <ŠdŠÍ צ UNS"A>"A"AAAAA>""">J*vß5tÿüß5tÿüö õއ"®6¾æ  :  ì :¶ä¼UCCESSFULÍ >ŠŠÍ ¦ SUCCESSFUL×Í Í ?ŠÇ–ŠÍ ¦OIL DRILLING TRENDS×Í Š&ŠŠŠÍ $Š ŠÍ Í Š‘ŠÍ ¦footage×Í  žÁtºÎâD„²Þ*Ð ü  : p ¸ d ú Z t� |�al¤IJ: : *ùÿƒ€€ 'Q' DO  BEGIN "WRITE ('D(raw S(ave Q(uit'); rther notice. % %The information contained herein is proprietary to TERAK CORPORATION %and must be treated as confidential. "READ (WHAT); "WRITELN; "IF WHAT = 'D' THEN $BEGIN $POINTS := 0; $WHILE POINTS < 2 DO &BEGIN &WRITE ('Number of points? It may not be disclosed to %others or used for any purpose except as expressly consented to by %TERAK. 6COPYRIGHT 1980 BY '); &READLN (POINTS); &NEW_FRAM; &K := 1; &IF POINTS > 1 THEN (WHILE K > 0 DO *BEGIN *DRAWSTAR; *K := K - 0.15; *END &D VØ©€PÈ“ØÉ�Ø Å�¡"¶¦ drvs error×Íž¶Íž ž©€H¡1¥€IÇ@žÌØÌÙÛÈ¡ÆÇ@žÙ‚̹ö©€IØÇ€ �ž «€HØ«€PŠŠŠŠÏ€R¼½Æ¥€T¼½Æ Æ ÆÆÏ¡öÆ Æ ÏÆ¥€8¼½Æ¥€:¼½Æ¥€0¼½Æ¥€2¼½ÆÆÏÆÆÏ©€PP�•Ì©€O•Ì ©€I©€PÆ ¼Ç?Š�žÆ ¼åŠ�žäÆŠŠŠŠÏÏ¥€Rн¥€Tн«€V«€W«€Q«€O¥€Jн¥€Lн­Im ºÙÉÙÅ�ØÉ�ØÅ�¡ ¶צ dsvs errorÍž¶Íž¹©€IÙ¼Ç?Š�žÆ¼Ç?Š�žÆ¼åŠ�žÆ¼åŠ�ž©€NÏ­)  ¥€RƼ½¥€TƼ½Ï ­¥€R¥€R¼Æ¼ƒ½¥€T¥€T¼Æ¼ƒ½Ï ­�Ø‚žÚË¡ ‘ÌÛÛøÇ€ Ú�•š­ZÆ¼еÆ¼б�Ƽе�Ƽб�¡"¶צ vprt errorÍž¶Íž ž¥€DƼƼ–Ї½¥€(ØÉØÅ�¡"¶צ chpr errorÍž¶Íž žØ•«€Q­:ÙÉØÉ�¡"¶צ chsz errorÍž¶Íž žØ«€WÙ«€V­@Ƽ¥€D¼ƒ½¥€FƼƼ–Ї½¥€BƼ¥€F¼ƒ½­�ƼƼ°Æ¼Æ¼°�¡"¶צ wndw errorÍž¶Íž ž¥€<ƼƼ–<¥€JƼ½¥€LƼ½­ÆتPÏ¡ ž©€P�•Ì+Ì,ƾÌ5Ê,Ê5È¡ôÆ3¥€R¼½Æ1¥€T¼½Æ/Æ3¼½Æ-Æ1¼½Æ3Æ1Æ/Æ-Ï¡xÆ3Æ1ÏЇ½¥€4Ƽ¥€<¼ƒ½¥€>ƼƼ–Ї½¥€6Ƽ¥€>¼ƒ½¥€8Ƽ½¥€:Ƽ½¥€0Ƽ½¥€2Ƽ½­€¦ØÉØÅ�¡"¶צ lnst errorÍ©€Qá:Æ3¼Ç?Š�ž†©€P•P�©€PP�•Æ1¼‰�ž‚ †•ͶÆÍž ž©€I©€PÆÊ,›¾Æ3¼Ç?Š�žÆ1¼©€PP�•Š�ž©€W©€V©€NÏ¥€R¥€R¼¥€J¼ƒž¶Íž ž«€NØÅ¡Ø•«€N­BÏ¡ ž©€Ná̹‘Ì©€I©€PÇ€ �Øž ­0Ù¥€R¼½Ø¥€T¼½­ ¥€RƼ½¥€T¥€T¼¥€L¼ƒ½©€QáÏÊ,‚Ì,¹ö­åh Ø«€O­ ÷¦· ‚ ·l„7 �7 €·€€w v7 v÷ j·j€÷ü^7 ½¥€TƼ½­ ¥€R¥€R¼Æ¼ƒ½¥€T¥€T¼Æ¼ƒ½­& ÌÆ¼¥€8¼µ¡ ƈÀ»¹Æ¼¥€:¼±¡ ƈÀ»Æ¼¥€0¼µ¡ ƈÀ»¹Æ¼¥€2¼±¡ ƈÀ»ÞÌ­ rÆÙ¼½Ùؼ½ØÆ¼½­ÜܼÛ¼ܼ–Ú¼Ù¼–�ؼÙ¼–‡ƒ½ÙÚ¼½­ „¨ STARS  ,ÌݼܼÎÌ Û¼Ú¼ÎÌ ÌáËàË�¡ôÆ Æ ¯ ¡Ì žááÆÆ ¨Æ Æ ¨Æ ƨÝÛÎÜÚÎÞ“ÌÆ ˆÀº¡ ÜÚ¥€8ÝÛιCÆ ˆÀ GRAPHICS º¡ ÜÚ¥€:ÝÛι,Æ ˆÀº¡ ÝÛ¥€0ÜÚÎ¹Æ ˆÀº¡ ÝÛ¥€2ÜÚÎݼܼÎÌ ¹öÞ¡ÝÛÎÜÚέS´ ÚÙÙ¼¥€4¼–¥€<¼‡¥€D¼�¥€@¼ƒ½ØØ¼¥€6¼–¥€>¼‡¥€F¼�¥€B¼ƒ½­DÏ¡ žÆÆÆÆÏ¡bÆÆÏÆÆÏ©€PP�•Ì Æ ©€IƼÇ?Š�žáƼáŠ�ž•Ç?Ƽ‰�žÇ?Ƽ‰�ž•áÆ¼‰�žáƼ‰�ž•©€N‚Ï­‚¥€R¼¥€T¼Æ¼Æ¼Ï¥€RƼ½¥€TƼ½­. ¥€R¼¥€T¼¥€R¼Æ¼ƒ¥€T¼Æ«€HÇÿ«€P­Ø«€IÇÿ«€P«€H­©€PÇÿáB¶Íž¶צdraw_on_view_surface not calledÍž¶ÍžÌ¹Ì­¼ƒÏ¥€R¥€R¼Æ¼ƒ½¥€T¥€T¼Æ¼ƒ½­F Ï¡ ž©€OÉ©€O Å�¡$¶צ marker errorÍž¶Íž žÆ ¥€R¼½Æ ¥€T¼½Æ¥E �àß5tÿüßU€äÿ£˜BßE€äÿ�Â÷ v·˜v· n ÅdsÄ D`Å  € ÷<: Tö L]: LM: … … W!  „ „ ~ƒ ƒ × äÁå(³?�¥.¼�½ÆÆ¼³ÎIA©-Їƒ½Øá Æ¼Æ¼Í ¹ Æ¼Æ¼Í Ø‚Ì¹ö­ÿ» Ò¥צ STARS.FOTOÍž¥êǑ͞á÷ Ö÷ Î…„ƒ‚Æe¶”nb^(·¦æ&f…@AC×pÃeÂ& Δƒ~BBí—   ¥Íž¹,¶צFILE WRITE ERRORÍž¶Íž¥Íž­j žÆÆ�0Ç‘ÍÕJÍ ¥ÇÀžêÍ Í Í Í Í ³š™™@’³¦š™ƒÄ“LBBà—  ƒÄ“LBí Âe�ƒ ‚~B àÂe�ƒÃe# ‚~C×pPàÃå×p(Cm rÀ `W à W ™@‘ŠŠÍ ©,Qˡ춦D(raw S(ave Q(uit×Íž¶¥,Íž¶Íž©,Dáð«-©-É¡ò¶¦Number of points? ×Íž¶¥-Í ž¶ÍžÍ ƒ Áer€Âu„~€Âõ ÄÄÃe&…~ÔÔÃe&…~Æe…„ƒ‚Æep`@I**I"AAA"A"€€€"A>"A"AAAAA>""">J*vß5tÿüß5tÿüö õއ"®6¾æ  :  ì :¶ä¼@@@ÎâD„²Þ*Ð ü  : p ¸ d ú Z t� À�@„†ÀDDD$a!@„a DD""†!@@@  BH„""BHˆ"` €ˆˆˆ"€À   ˆÀÀˆˆ!D 0� ""�D  ÆнÌ©-‚ÌØßÈ¡ôÆÆ¼ž¥.¼�½ÆÆ¼ž¥.¼�½ÆÆ¼³ÎIA©-Їƒ½Øá Æ¼Æ¼Í ¹ Æ¼Æ¼Í ÆÆ¼ž³43³?�¥.¼�½ÆÆ¼ž�^�€ƒà Cp—týÿÂE�`�eÀEðÿÀ ÷/6¾ÿ .÷-00Â(7‚ ·$Â÷m÷- ÷ Á`Áà÷íþÿ ôÿ î•~Âî‚ ·êÂä÷m³43³?�¥.¼�½ÆÆ¼³ÎIA©-Їƒ½Øá Æ¼Æ¼Í ¹ Æ¼Æ¼Í Ø‚Ì¹ö­ÿ» Ò¥צ STARS.FOTOÍž¥êǑ͞áÞà÷-ÜØÿ Ì÷íÎÎ÷ ÄÁ`Áàÿ ´•~×-®,þ¶Ö òǬÀ À €á À‡€ € À5 Ñ ‡ \v‡ ‡Ö ¼h& , @€ @€ †|Ìš–’™@‘ŠŠÍ ©,Qˡ춦D(raw S(ave Q(uit×Íž¶¥,Íž¶Íž©,Dáð«-©-É¡ò¶¦Number of points? ×Íž¶¥-Í ž¶ÍžÍ ŠrfVVVVVÒ·¦æ&f·ð�ƒ ×p C`…WqPÅ Å bƒ ×tÃmÈ× ?Y AaWp(�m‚�ÂEÿ—tÂU àÅ Ãæ�¥.н©-Å¡ ¥.¼б¡Î¥.¥.¼³9š™?–½¹ö¹"¶צInvalid numberÍž¶Íž¹ô©,SáιîÆÍ žÁ Þ¦cª4:ªF H H @H HAˆ�$" ‚ˆ"��$" €�D""!ˆ$" @„DD0Dh$�$ DBFH"" bB"HĈH"$#ˆˆ!H"$„ˆ‰"$€ $"@@$" BHDBD‘MŒHD1²ˆ ‘$’D"€‰H ""!$‘D$@„@"$€$€ $DD@$BB$‘H$ BB$€D„„$‘‰$!!"€H 1$Q‰$Œ�ÁDƒ’D€€"’H@DD‘2B$I‰$BL‰D„I‰D!"ˆˆ"ˆ“H‘ȈD‰H "ÄII#ˆI‰ˆˆ"I‰""’HIˆDDD"!b�H F„D"HD„�( !C"DMI‘²‘€H‘€‰ "€D’@DˆD ‘$‰�`"xø‰ J$QH0‘ø`à‰4$L$"2$,‘ð€ð @D€$’ "@„€$!€€$"ˆIHH$$’Hà€ø "Š�A$$‚ QDà`ðø@$!B$$B„H$ÀàÀü€DBD$"B(€"€$"DD@$$"ˆˆ@"$ˆ"À?þƒ?ü€H$„(’D!$€?üÁÀ Àþ‰H1’HŒ‘€ø0000àþ‘H"’HD ‰ð"@$ÀD$b@D F$D„@D!"ˆ  ÀÀð"‘` ’I0‰Dþà€ƒƒü€"’€RIIDþ€àa` þþ€G"!II„ˆDâà@’Hˆ0ˆ" ‘HD)D ‰H"”ш ‰I`pø@$!BI‘B„"þà€�aø€?€Db„I‘!F"üà†Á†øÀŸˆÂI’CùÀÀq0‹  I‰€ˆH "" I‘@DD@$D I‘0"$<üà‰DHˆ"‘À?<0 ``8ðü…bHF¡À?ø €ƒÁÀàü‰„$!‘È?ðÃà ð��H €Hˆ�H‘ˆ€ˆ#�D‘D‘ D�D "‰G àÀÀ`0ÃÀàü‰„H$!‘È?ðƒÁÀÀ0ðü…bHF¡À?ø00 <üà‰DHˆ"‘À?<`@$D ‰’0"$@"" ‰’@DD  ‘’€ˆHш ŽøÀŸˆÂI’CùÀ€a`€ƒaø€?€Db„‰’!F"üà†�``ø@D!B‰’B„$þà ’‘‹)D ‘"”ˆ"@‰Dˆ @I< %¢˜H<àÀà00 ø1&d„HÀ0 Àà00ü$B$$B$€?†ƒÃÀàþ$„ !$þþ€G"!’’„ˆDâà08†ø€"’€’JIDþ€?àÁÀ€Áð"‘@ ’I0‰DþÀp0€‡�a` ƒÿO!„ òÿa`00 @Dþ`ÀÁ`0€?€”(üƒÁàþ‘H0"ID‰ð Àþ‰H1IŒ‘€ø00ƒ?ü€H$„("I!$€?üÁÀÀÀü€DƒÁaÀŸ˜ùÇÁp0 †à‘‰ˆðÀ00 `0ü ‚Að?0 ƒBD$H"B("À?þ8ðø@$!B$$B„H$Àø "Š�A$$‚ QDà`€ð IHH$$’€Áa`80ø'†aä ƒÁ`†ƒÁÀxL1ƒÁ`08 T*À`8Hà€`à‰4$LD$2$,‘ðø‰ ŠH$RH0‘øˆD ‘H$‰�`"À`0 h8‡ÁƒÁ`00øH‡Á`0 ƒÁÀ`ø†Á`0 0 xHD„�H !C"D"!b�H F„D"""’HIˆDDƒÀa0 À`0 0 ƒÁƒÁ`0 `00 À`0 †€ÁÀ`"ˆ‰ÉˆDD„"‘’H!"ˆˆ‘2B$‘’$BL‰0 0 ƒaøƒÁ`0 ƒá`øH ƒÁ€ƒá`h00 €H 1$‘Š$Œ� €D„„$‘‰$!!"@$BB$‰$ BB$ ""`pT*ÀÀ`0 ƒÁxŒ2ƒÁa`ƒÁp0ð'†aä †ƒ!$"‰$@„DD ‘D"I$€‰HMŒH"H1²ˆ‰"BH"HB€Áp0 ü ‚Aà?` p0 à‘‰ˆð€a`0 ƒãÀŸù†ƒÁ`D‘ˆˆ!H$D„ˆˆÄˆH$D#DBFˆDD bB"ƒÁ`€?€)ü ƒÀ`8@"Hþ`08 8†ÿO!„ òÿÁÀ00†�á""!�D$@„DD"��D$ €�DAˆ�D$ ‚ˆþ$„ !$€ÃÀ€Áapü$B$$B$€? `0 ø!&dŒHÀ00  ð<E¤�H<‘ D�H" "‰€ˆ"‰" Ä€Hˆ ‰ H �H$ hH$H" ˆ0ˆ �@��      @ˆ0D„@"H!"$b@"H`F$"@$H€D@@@ˆ€$DˆD€$$"ˆ€"€D$D@@€€€€D$ˆ@„€H$!@DI$ "€€€ "I"@D‘‰€‰M‰’²ˆ"‘’Dˆ‘’ˆÄ’’#D‘PASCAL5î* Å  SYSTEM.8510/Ab[U > SYSTEM.PASCALb[“¡>CSYSTEM.CHARSET["œC_ SYSTEM.FILER@[ ""I@D"I€€Á"HƒO^€ $H€$H@$D“¡5 @D$  D$@H$€I It may not be disclosed to %others or used for any purpose except as expressly consented to by %TERAK. 6COPYRIGHT 1980 BY TERAK CORPORATION ="ALL RIGHTS RESERVED"}  PROGRAM STARDISPLAY;  USES GRAPHICS;  TYPE SCR3 = RECORD CASE BOOLEAN OF ,TRUE : ( A: PACKED ARRAY [0..319, 0..239] OF BOOLEAN ); ,FALSE: ( B: PACKED ARRAY [0..4863] OF CHAR ) ,END; «€DÇÿ«€L­Ø«€EÇÿ«€L«€D­©€LÇÿáB¶Íž¶צdraw_on_view_surface not calledÍž¶ÍžÌ¹Ì­%SCR1 = PACKED ARRAY [0..319, 0..79] OF BOOLEAN; %PSCR = RECORD CASE BOOLEAN OF ,TRUE : ( ONE_ZONE : ^SCR1 ); ,FALSE: ( THREVØ©€LÈ“ØÉ�Ø Å�¡"¶¦ drvs error×Íž¶Íž ž©€D¡1¥€EÇ@žÌØÌÙÛÈ¡ÆÇ@žÙ‚̹ö©€EØÇ€ �ž «€DØ«€LŠŠŠŠÏE_ZONE : ^SCR3 ); ,END;  VAR SCREEN : PSCR; $PHYLE : FILE;   PROCEDURE INPUT;  BEGIN  RESET ( PHYLE, 'STARS.FOTO' );  ŠŠŠŠÏÏ¥€Nн¥€Pн«€R«€S«€M«€K¥€Fн¥€Hн­Im ºÙÉÙÅ�ØÉ�ØÅ�¡ ¶צ dsvs errorÍž¶Íž¹©€EÙIF BLOCKREAD ( PHYLE, SCREEN.THREE_ZONE^.B, 19) <> 19 THEN "WRITELN ( 'FILE READ ERROR' );  CLOSE (PHYLE);  END;   BEGIN �Ø‚žÚË¡ ‘ÌÛÛøÇ€ Ú�•š­ZÆ¼еÆ¼б�Ƽе�Ƽб�¡"¶צ vprt errorÍž¶Íž ž¥€@ƼƼ–Ї½¥€ INIT_GRF;  NEW (SCREEN.THREE_ZONE);  USE_SURF (SCREEN.ONE_ZONE);  DRAW_VS (3);  SET_LNST (1);  NEW_FRAM;  DISP_VS (0, 7, <Ƽ¥€@¼ƒ½¥€BƼƼ–Ї½¥€>Ƽ¥€B¼ƒ½­�ƼƼ°Æ¼Æ¼°�¡"¶צ wndw errorÍž¶Íž ž¥€8ƼƼ–7);  SET_WNDW (-1.2, 1.2, -1, 1);  INPUT  END.  Ї½¥€0Ƽ¥€8¼ƒ½¥€:ƼƼ–Ї½¥€2Ƽ¥€:¼ƒ½¥€4Ƽ½¥€6Ƽ½¥€,Ƽ½¥€.Ƽ½­€¦ØÉØÅ�¡"¶צ lnst errorÍ! {TERAK CORPORATION believes that the information contained herein is %accurate. In no event will TERAK be liable for any losses or damages, %whether direct or indirect, resulting from the use of such %information, including, without limitation, losses arising from %claims of patent, copyright, and trademark infringement. No license %is granted hereby for the use of any patent or patent rights of %TERAK. TERAK reserves the right to update the information contained %herein at any time without fu ƨ STARDISP rther notice. % %The information contained herein is proprietary to TERAK CORPORATION %and must be treated as confidential.  GRAPHICS J µ¡ ƈÀ»¹Æ¼¥€.¼±¡ ƈÀ»ÞÌ­ rÆÙ¼½Ùؼ½ØÆ¼½­ÜܼÛ¼ܼ–Ú¼Ù¼–�ؼÙ¼–‡ƒ½ÙÚ¼½­Þà÷-ÜØÿ Ì÷íÎÎ÷ ÄÁ`Áàÿ ´•~×-®,þ¶Ö òǬÀ À €á À‡€ € À5 Ñ ‡ \v‡ ‡Ö ¼h& , @€ @€ †|Ìš–’º¡ ÜÚ¥€6ÝÛι,Æ ˆÀº¡ ÝÛ¥€,ÜÚÎ¹Æ ˆÀº¡ ÝÛ¥€.ÜÚÎݼܼÎÌ ¹öÞ¡ÝÛÎÜÚέS´ ÚÙÙ¼¥€0¼–¥€8¼‡¥€@¼�¥€<¼ŠrfVVVVVÒ·¦æ&f·ð�ƒ ×p C`…WqPÅ Å bƒ ×tÃmÈ× ?Y AaWp(�m‚�ÂEÿ—tÂU àÅ Ãæ�ƒ½ØØ¼¥€2¼–¥€:¼‡¥€B¼�¥€>¼ƒ½­DÏ¡ žÆÆÆÆÏ¡bÆÆÏÆÆÏ©€LP�•Ì Æ ©€EƼÇ?Š�žáƼáŠ�ž•Ç?Ƽ‰��àß5tÿüßU€äÿ£˜BßE€äÿ�Â÷ v·˜v· n ÅdsÄ D`Å  € ÷<: Tö L]: LM: … … W!  „ „ ~ƒ ƒ × äÁå(žÇ?Ƽ‰�ž•áÆ¼‰�žáƼ‰�ž•©€J‚Ï­‚¥€N¼¥€P¼Æ¼Æ¼Ï¥€NƼ½¥€PƼ½­. ¥€N¼¥€P¼¥€N¼Æ¼ƒ¥€P¼Æ÷ Ö÷ Î…„ƒ‚Æe¶”nb^(·¦æ&f…@AC×pÃeÂ& Δƒ~BBí—  ¼ƒÏ¥€N¥€N¼Æ¼ƒ½¥€P¥€P¼Æ¼ƒ½­F Ï¡ ž©€KÉ©€K Å�¡$¶צ marker errorÍž¶Íž žÆ ¥€N¼½Æ ¥€P¼½Æ¥ƒÄ“LBBà—  ƒÄ“LBí Âe�ƒ ‚~B àÂe�ƒÃe# ‚~C×pPàÃå×p(Cm rÀ `W à W €N¼½Æ¥€P¼½Æ Æ ÆÆÏ¡öÆ Æ ÏÆ¥€4¼½Æ¥€6¼½Æ¥€,¼½Æ¥€.¼½ÆÆÏÆÆÏ©€LP�•Ì©€K•Ì ©€E©€LÆ ¼Ç?Š�žÆ ¼åŠ�žäƃ Áer€Âu„~€Âõ ÄÄÃe&…~ÔÔÃe&…~Æe…„ƒ‚Æep`@I**I"AAA"A"¼Ç?Š�žÆ¼Ç?Š�žÆ¼åŠ�žÆ¼åŠ�ž©€JÏ­)  ¥€NƼ½¥€PƼ½Ï ­¥€N¥€N¼Æ¼ƒ½¥€P¥€P¼Æ¼ƒ½Ï ­"A>"A"AAAAA>""">J*vß5tÿüß5tÿüö õއ"®6¾æ  :  ì :¶ä¼(ØÉØÅ�¡"¶צ chpr errorÍž¶Íž žØ•«€M­:ÙÉØÉ�¡"¶צ chsz errorÍž¶Íž žØ«€SÙ«€R­ÎâD„²Þ*Ð ü  : p ¸ d ú Z t� <¥€FƼ½¥€HƼ½­ÆتPÏ¡ ž©€L�•Ì+Ì,ƾÌ5Ê,Ê5È¡ôÆ3¥€N¼½Æ1¥€P¼½Æ/Æ3¼½Æ-Æ1¼½Æ3Æ1Æ/Æ-Ï¡xÆ3Æ1Ï©€Má:Æ3¼Ç?Š�ž†©€L•P�©€LP�•Æ1¼‰�ž‚ †•ͶÆÍž ž©€E©€LÆÊ,›¾Æ3¼Ç?Š�žÆ1¼©€LP�•Š�ž©€S©€R©€JÏ¥€N¥€N¼¥€F¼ƒž¶Íž ž«€JØÅ¡Ø•«€J­BÏ¡ ž©€Já̹‘Ì©€E©€LÇ€ �Øž ­0Ù¥€N¼½Ø¥€P¼½­ ¥€NƼ½¥€P¥€P¼¥€H¼ƒ½©€MáÏÊ,‚Ì,¹ö­åh Ø«€K­ ÷¦· ‚ ·l„7 �7 €·€€w v7 v÷ j·j€÷ü^7 ½¥€PƼ½­ ¥€N¥€N¼Æ¼ƒ½¥€P¥€P¼Æ¼ƒ½­& ÌÆ¼¥€4¼µ¡ ƈÀ»¹Æ¼¥€6¼±¡ ƈÀ»Æ¼¥€,¼^�€ƒà Cp—týÿÂE�`�eÀEðÿÀ ÷/6¾ÿ .÷-00Â(7‚ ·$Â÷m÷- ÷ Á`Áà÷íþÿ ôÿ î•~Âî‚ ·êÂä÷mK O^ It may not be disclosed to %others or used for any purpose except as expressly consented to by %TERAK. 6COPYRIGHT 1980 BY¥צ STARS.FOTOÍž¥êǑ͞ˡ#¶צFILE READ ERRORÍž¶Íž¥Íž­^ žÆÆ�0Ç‘ÍÕBÍ ¥ÇÀžêÍ • ¥ Í Í Í Í ³š™™@’³Dš™™@‘ŠŠÍ ÎÆÍ žÁ¢Z` bytes long.×ͶÍðUáV²²?ª²&צSYSTEM.WRK.TEXTª¸¥‚N¦*SYSTEM.WRK.CODE×Í¥‚N͸²¦×ªÌ¹e¶צ4Do you want to E(xit from or R(eturn to the editor? ÍÍÍ « ð³ ‹¡îðEÃÌÚ«¹צWriting out the fileÍÆ*’:§’¿:§6¿z¿'¿8§à«Tx’‚¿æ¶`§þ¶k¿V¿\^�      @@@@ {TERAK CORPORATION believes that the information contained herein is %accurate. In no event will TERAK be liable for an@@€€y losses or damages, %whether direct or indirect, resulting from the use of such %information, including, without limitation, €€€losses arising from %claims of patent, copyright, and trademark infringement. No license %is granted hereby for the use of any patent or patent rights of %TERAK. TERAK reserves the right to update the information contained %herein at any time without fPASCAL5î* Å  SYSTEM.8510/Ab[U > SYSTEM.PASCALb[“¡>CSYSTEM.CHARSET["œC_ SYSTEM.FILER@[urther notice. % %The information contained herein is proprietary to TERAK CORPORATION %and must be treated as confidential.L  - ,- - EEN  ; X : INTEGER, X LOCATION OF MARKER  ; Y : INTEGER, Y LOCATION OF MARKER  ,- ABSOLUTE - ,- screen coordinates for - ,- ; MN : INTEGER, MARKER NUMBER  ; AXL : INTEGER, XLEFT OF WINDOW TO CLIP MARKER  ;  GMARK AND GCHAR - ,- - ,-  AXR : INTEGER, XRIGHT OF WINDOW TO CLIPP MARKER  ; AYB : INTEGER, YBOTTOM TO CLIP MARK - ,(0,0) ********************************************* (319,0) , , !Linestyle for ER  ; AYT : INTEGER, YTOP TO CLIP MARKER  TERAK CORPORATION ="ALL RIGHTS RESERVED"}  PROGRAM TESTIT;  TYPE TERAKSCREEN = PACKED ARRAY[0..4799] OF INTEGER;   VAR both routines is 0 for white(set bits on), 1 for black !(clear bits out--erase). Neither routine works under compliment mode. SCREEN: TERAKSCREEN;  DELAY,N,X,Y,H,W:INTEGER; CHR:CHAR;   PROCEDURE DRAWLINE(VAR RADAR:INTEGER; VAR S: TERAKSCREEN; ,  Height and Width parameters to GCHAR define how many templates wide  and high the character will be on the screen. Thus a8ROW, X0,Y0,DX,DY,PEN:INTEGER); EXTERNAL;  (*  The following routines GMARK & GCHAR support graphics on the 8510/a by  drawi call to GCHAR  with the parms h=3 & w=2 would produce a character template in the  graphics scape 30 (3 * 10) dots high and ng characters and markers in the graphics space.   Both routines address the screen in absolute screen coordinates with (0,0)16 (2*8) dots wide.  Character templates are taken from the character generation buffer.   ;PROCEDURE GCHAR( VAR:  ;   defined as the lower left corner of the screen.   Both routines will support a view surface(drawing surface) smaller, equa SCREEN ARRAY: POINTER TO ARRAY USED AS SCREEN, l to,  or larger than the actual display surface in the y direction. The y dimension mion  must, however, be a multiple of 80 ; NZONE : INTEGER, {NUMBER OF ZONES TO DRAW ON}  ; ORD(CHAR) : INTEGER,  ;  (i.e 1/3 screen or the equivalent of a  single screen zone. NZONE is the parameter which tells the routines how  large the  X : INTEGER, {RANGE 0<=X<=319}  ; Y : INTEGER, {RANGE 0<=Y<=(NZONE*80-1)screen is in the y direction.   The screen dimension in the x direction is allways 0..319.  ,(0, (nzone*80)-1 ) **********}  ; HEIGHT ; INTEGER,  ; WIDTH ; INTEGER,  ; LINESYLE : ******* (319, (nzone*80)-1) ,- -  - INTEGER )  ; PROCEDURE GMARK( SCREEN: ARRAY FOR SCREEN DISPLAY  ; NZONE : INTEGER, # OF 1/3 ZONES OF SCR