IMD 1.15: 16/05/2007 8:41:28 DOUBLE SIDED RELEASE DISK 7 OF 7 10/14/84 DAB CHARGEN SOURCE & GENERATION DISK V1.1 DSDD ååååååååååCHARGEN COMl’˜�žŸ ¡¢£¤¥¦§¨CHRNW6 C  CHARGEN C € *+9:;<=>?@ABCDECC COM€145678LMNRSTUSUBMIT ÃOM* CHRNW1 C   )CHARGEN C 2FGHICHRNW3 C  -CHRNW4 C  *./0CC COM2VWXYCHRNW7 C  23C2 COM€Z[\]^_fnopqrstuvCHRNEW SUB C2 COMwxC2RT REL KSAVE ÃOMåGENCHAR BAK!OPQCRUNT2 REL`aFORMATIOREL6bcdeSID ÃOM>GENCHAR BAK*GENCHAR DOC, åCHRNW2 RELM80 COM{~€‚‡ˆ‰ŠŒL80 COMTŽ”•š›œåCHRNW3 REL åCHRNW4 REL!"åCHRNW6 REL#åCHRNW7 REL$åCHRNW8 REL%%&'CHRNW8 C  `„…‹–—™åIO REL(åCHARTMP COMl,Jghijklmyz|}�ƒCHARTMP SYM��SID SUB©åCHRNEW BAKªåSYSIN58 $$$«CHRNW2 C †åTOP2 �åCHRNW4 REL£¤IO MAC,�‘“åFOO C nåCHRNW6 REL§åSNSTST ASͰåSNSTST REL±åCHRNW7 REL«åSNSTST COMF²³µ¶¹åSNSTST SYM ºåCHRNW8 REL·¸åSNS BAK´åSNSTST SYM »åCHRNW2 BAË ¼åSNSTST C ½åCHRNW2 BAK ¾ååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååìsÅ;!åÍÄ!fãÍÄñ!ÏO"ÍO!©O"§O!åN"ãN!¿N"½NÍj[!"¹6"·6"E5!Ö-"¤6!ç-"¦6!ð-"K5!õ-"I5!ú-"35! ."15!*}2N5. }2M5!½F"»FÍ-Íå,Í-*ÍOåÍ.Z*§Oã͇Z*ãNãÍ.Z*½Nã͇Zñ!9s#rë"ÞOÍ¢+!9^#Vbk|µÂ”ÍL,!9å!å.(å.1å.7å͘gë9ùás!å.å.åÍ¥*ñññ!å.å.KåÍ¥*ñññáå&Íÿ|µÂ Ͷìáå&Îÿ|µÂ Íìáå&Ëÿ|µÂ3Í8$ìáå&Ïÿ|µÂFͲcìáå&Ìÿ|µÂYÍ`ìáå&Êÿ|µÂlÍ´^ìáå&Éÿ|µÂ¬!.åÍ-ñ+|µÂ¬bk9s#rëìÍÌ,*·6+|µÂ£ÍýQ*¹6+|µÂ¯ÍLRÍ-!åÍÄ!eãÍÄññ3É!å++9n&åÍÏuññÉÅbk9s#rë!9^#VÕ!9^#Ván&|µÊ+Ã!9å^#Vás#rbk+Ãà!9^#VÕ!9^#Ván&åÍÄñÃüñÉÅÅ!9s#rë9å!4å. 9^#VÕÍ™kñÑÑës#rë*E5|µÊ²!å.åÍœ,ñ!*.ãÍÕñ!9^#VÕÍÕ!R.ãÍÕñ!9å!å.9^#VÕÍû*ññÑës#rë!å.å+9^#VÕÍ¥*ññññÑëÉÅÅÍ¡Q!"G5. }2¢6l}2£6ÍAÍQ*¢6&åÿ|µÊ !9s#r!å.2åÍœ,ñ! ãÍÄ!ãÍÄñÍZ-}2¢6!¢6åÍX*ñÍõ,*¢6&åÍ¡-ñÍ-*¢6&¸ÿ|µÊM*¢6&¼ÿ|µÊM*¢6&CÍÐtÃP!|µÊg*¢6&å!åÍññÃr!9s#rë!9^#Vbk+|µÂÒ9s#rëÑÕbk+|µÂÒ.å.åÍœ,ññÍõ,*£6&åͺñÍ-Í ÍMÍ5ÍÆ*¢6&å!åÍññ*£6&ÿ|µÂèbk9s#rë}2¢6*£6&ÿ|µÂ‰bk9s#rÍåMÍ5ÍQÉÍ¢+ññÉ!9n&¸ÿ|µÂB.å.å*K5å!9^#VÕÍ»ë9ùë}2£6É!9n&¼ÿ|µÂs.å.å*K5å!9^#VÕÍ©ë9ùë}2£6É!9n&½ÿ|µÀ!å.å*K5å!9^#VÕÍ—ë9ùë}2£6ÉÅ!å. åÍœ,ññÍ›Í{bk9s#rëÑÕ! ÍÞt|µÊñÃã!9å^#Vás#rbk+ÃÀÑÕ!`åÍÄñÃÐÍ‹!9 s#rëÑÕ!@ÍÞt|µÊ,Ã"!9å^#Vás#rbk+ÃÿÑÕÕÍÄñÃÍ«!å. åÍœ,ññÍ›!9@s#rëÑÕ!€ÍÞt|µÊvÃl!9å^#Vás#rbk+ÃIÑÕÕÍÄñÃYÍ«ñÉ!åÍÄ!gãÍÄñÉ!åÍÄ!GãÍÄñÉ!åÍÄ!aãÍÄñÉ!åÍÄ!AãÍÄñÉÅ;!"G5. 9^#VÕ! 9^#VÕÍœ,ñ!Z.ãÍÕñ!9^#VÕÍÕ!n.ãÍÕñÍõ,!9å!˜6å!å. 9^#VÕÍ…\ñññÑës#rÍ-!9^#V!tÿ|µÂ39å*£6&Ñ}ä!9^#V!uÿ|µÂV9å*£6&#åÍè ñÑ}ä!9^#V!vÿ|µÂo9ÿsëä!9^#V!rÿ|µÂˆ9þsëä!˜6åÍ*ñ!9å!˜6åÍ‘"ãÍè ñÑ}á&3ÉÅ;!"G5. 9^#VÕ! 9^#VÕÍœ,ñ!.ãÍÕñ!9^#VÕÍÕ!“.ãÍÕñÍõ,!9å!˜6å!å. 9^#VÕÍ…\ñññÑës#rÍ-!9^#V!tÿ|µÂ!9å*£6&Ñ}Ã’!9^#V!uÿ|µÂD9å*£6&#åÍè ñÑ}Ã’!9^#V!vÿ|µÂ]9ÿsëÃ’!9^#V!rÿ|µÂv9þsëÃ’!˜6åÍ*ñ!9å!˜6åÍ¥RãÍè ñÑ}á&3ÉÅÅ!"G5. 9^#VÕ! 9^#VÕÍœ,ñ! .ãÍÕñ!9^#VÕÍÕñÍvbk9s#rëÑÕbk|µÂ& ##9åÍZ-Ñ}!9^#Vbk+|µÊ !9n&€Í Generation of CHARGEN program - version V1.0 Iî ordeò tï generatå thå chargeî program¬ ¸ à languagå sourcå � fileó (CHARGEN,CHRNW1,CHRNW2,CHRNW3,CHRNW4,CHRNW6,CHRNW7,CHRNW8© � musô  bå compiled¬  optimizeä anä assembled® Additionally¬  onå � assembly language source file, IO.MAC must be assembled. Thå resultinç � relocatablå assemblù languagå fileó arå theî linkeä togetheò � alonç witè somå oæ C'ó librarù files. Á sourcå filå ió compileä witè thå Cà program® Iô ió optimizeä � witè thå C² prograí anä assembleä witè M80® L8° ió useä tï linë � thå  .REÌ fileó together®  SID ió useä tï removå thå  Ã  run-timå � package sign-on message. Belo÷ ió listeä á submiô filå (CHRNEW.SUB© whicè wilì dï thå � necessarù compiling¬ optimizing¬ assemblù anä linking® Thió � procedurå musô bå ruî oî á CP/Í Plus systeí witè á TPÁ oæ aô LEASÔ � 56K. ; This procedure generates V1.1 CHARGEN.COM from source. ; It works only on an Executive. ; DAB 10/13/84 era chrnw1.rel era chrnw2.rel era chrnw3.rel e; This procedure generates V1.1 CHARGEN.COM from source. ; It works only on an Executive. ; DAB 10/13/84 era chrnw1.rel era chrnw2.rel era chrnw3.rel era chrnw4.rel era chrnw6.rel era chrnw7.rel era chrnw8.rel era io.rel era chargen.rel cc chargen.c c2 chargen.cod era chargen.cod m80 chargen,=chargen.asm/m era chargen.asm cc chrnw1.c c2 chrnw1.cod era chrnw1.cod m80 chrnw1,=chrnw1.asm/m era chrnw1.asm cc chrnw2.c c2 chrnw2.cod era chrnw2.cod m80 chrnw2,=chrnw2.asm/m era chrnw2.asm cc chrnw3.c c2 chrnw3.cod era chrnw3.cod m80 chrnw3,=chrnw3.asm/m era chrnw3.asm cc chrnw4.c c2 chrnw4.cod era chrnw4.cod m80 chrnw4,=chrnw4.asm/m era chrnw4.asm cc chrnw6.c c2 chrnw6.cod era chrnw6.cod m80 chrnw6,=chrnw6.asm/m era chrnw6.asm cc chrnw7.c c2 chrnw7.cod era chrnw7.cod m80 chrnw7,=chrnw7.asm/m era chrnw7.asm cc chrnw8.c c2 chrnw8.cod era chrnw8.cod m80 chrnw8,=chrnw8.asm/m era chrnw8.asm m80 =io/m l80 Thå systeí wilì displaù á blocë oæ memory® You'lì bå ablå tï seå � thå copyrighô message® (Oæ course¬ iæ you'vå madå substantiaì � prograí modifications¬ thå messagå mighô noô bå iî thió block)® � Iî ordeò tï removå thå displaù oæ thå message¬ typå in: sXXXX then 24 then . Iæ yoõ no÷ redisplaù thå blocë (dXXXX)¬ you'lì seå thaô thå "S¢ � iî "Supersoft¢ haó beeî replaceä bù á "$"® Thå CP/Í functioî � that prints the message stops printing when it encounters a "$". To save the program type control-C. Then, Specifù CHARGEN.COÍ aó thå filå name¬  á beginninç heø addresó oæ � 100¬ and endinç addresó oæ YYYY. Thió saå maiî �Šmenõ anä thå characteò fonô editinç menues. CHRNW1.à - Thió ió aî assemblù modulå thaô writeó datá tï thå � fonô ram. CHRNW2.à - Thió ió thå assemblù modulå thaô interfaceó tï  thoså � in IO.MAC. IO.MAà - Assemblù languagå routineó tï dï systeí tracë  I/Ï  anä � ROM SENDEN (sense density). CHRNW3.à - Thió modulå containó somå à routineó thaô woulä noô � fiô iî thå mainlinå sourcå filå dï tï aî apparenô runninç ouô oæ � spacå iî thå compiler® (É saù apparenô becauså thå compileò � never generated an error message, it just sort of hung) CHRNW4.à - Thió modulå containó thå routinå thaô inputó á filå � name® Iô ió iî á separatå filå foò thå samå reasoî aó stateä iî � the description of CHRNW3 above. CHRNW6.à - Thió routine displays the Osborne copyright message. CHRNW7.C - This routine inputs a string. CHRNW8.à - Thió ió thå à modulå thaô doeó systeí tracë I/O® Iô � contains the system track and font ram I/O menues. Afteò thå abovå submiô ió run¬ CHARGEN.COÍ wilì bå thå ch Generation of CHARGEN program - version V1.0 Iî ordeò tï generatå thå chargeî program¬ ¸ à languagå sourcå � fileó (CHARGEN,CHRNW1,CHRNW2,CHRNW3,CHRNW4,CHRNW6,CHRNW7,CHRNW8© � musô  bå compiled¬  optimizeä anä assembled® Additionally¬  onå � assembly language source file, IO.MAC must be assembled. Thå resultinç � relocatablå assemblù languagå fileó arå theî linkeä togetheò � alonç witè somå oæ C'ó librarù files. Á sourcå filå ió compileä witè thå Cà program® Iô ió optimizeä � witè thå C² prograí anä assembleä witè M80® L8° ió useä tï linë � thå  .REÌ fileó together®  SID ió useä tï removå thå  Ã  run-timå � package sign-on message. Belo÷ ió listeä á submiô filå (CHRNEW.SUB© whicè wilì dï thå � necessarù compiling¬ optimizing¬ assemblù anä linking® Thió � procedurå musô bå ruî oî á CP/Í Plus systeí witè á TPÁ oæ aô LEASÔ � 56K. ; This procedure generates V1.1 CHARGEN.COM from source. ; It works only on an Executive. ; DAB 10/13/84 era chrnw1.rel era chrnw2.rel era chrnw3.rel eargeî � program. .pa ŠIî ordeò tï removå thå Supersofô Copyrighô messagå thaô displayó � foò á spliô seconä aô thå beginninç oæ thå program¬ uså SID tï � modify the string: Type in SAVE Type in SID CHARGEN.COM Thå prograí wilì displaù thå sizå tï thå prograí anä TPÁ starô � address. Type in dXXXX Thå systeí wilì displaù á blocë oæ memory® You'lì bå ablå tï seå � thå copyrighô message® (Oæ course¬ iæ you'vå madå substantiaì � prograí modifications¬ thå messagå mighô noô bå iî thió block)® � Iî ordeò tï removå thå displaù oæ thå message¬ typå in: sXXXX then 24 then . Iæ yoõ no÷ redisplaù thå blocë (dXXXX)¬ you'lì seå thaô thå "S¢ � iî "Supersoft¢ haó beeî replaceä bù á "$"® Thå CP/Í functioî � that prints the message stops printing when it encounters a "$". To save the program type control-C. Then, Specifù CHARGEN.COÍ aó thå filå name¬  á beginninç heø addresó oæ � 100¬ and endinç addresó oæ YYYY. Thió sara chrnw4.rel era chrnw6.rel era chrnw7.rel era chrnw8.rel era io.rel era chargen.rel cc chargen.c c2 chargen.cod era chargen.cod m80 chargen,=chargen.asm/m era chargen.asm cc chrnw1.c c2 chrnw1.cod era chrnw1.cod m80 chrnw1,=chrnw1.asm/m era chrnw1.asm cc chrnw2.c c2 chrnw2.cod era chrnw2.cod m80 chrnw2,=chrnw2.asm/m era chrnw2.asm cc chrnw3.c c2 chrnw3.cod era chrnw3.cod m80 chrnw3,=chrnw3.asm/m era chrnw3.asm cc chrnw4.c c2 chrnw4.cod era chrnw4.cod Šm80 chrnw4,=chrnw4.asm/m era chrnw4.asm cc chrnw6.c c2 chrnw6.cod era chrnw6.cod m80 chrnw6,=chrnw6.asm/m era chrnw6.asm cc chrnw7.c c2 chrnw7.cod era chrnw7.cod m80 chrnw7,=chrnw7.asm/m era chrnw7.asm cc chrnw8.c c2 chrnw8.cod era chrnw8.cod m80 chrnw8,=chrnw8.asm/m era chrnw8.asm m80 =io/m l80 Thå systeí wilì displaù á blocë oæ memory® You'lì bå ablå tï seå � thå copyrighô message® (Oæ course¬ iæ you'vå madå substantiaì � prograí modifications¬ thå messagå mighô noô bå iî thió block)® � Iî ordeò tï removå thå displaù oæ thå message¬ typå in: s76ca then 24 then . Iæ yoõ no÷ redisplaù thå blocë (d76ca)¬ you'lì seå thaô thå "S¢ � iî "Supersoft¢ haó beeî replaceä bù á "$"® Thå CP/Í functioî � that prints the message stops printing when it encounters a "$". To save the program type: wchargen.com,100,7700 Thió saveó thå chargeî program® Thå Supersofô copyrighô messagå � wilì  no÷ noô bå displayed®  Thió ió includeä iî thå abovå submiô � procedure. starô thå submiô process¬ thå followinç fileó shoulä � be on disk: CHARGEN.C,CHRNW1.C,CHRNW2.C,CHRNW3.C,CHRNW4.C,CHRNW6.C, CHRNW7.C,CHRNW8.C,IO.MAC - the source files formatio.rel,crunt2.rel,c2rt.rel - C library files CC.COM¬  C2.COM¬ M80.COM¬ L80.COM¬ SAVE.COM¬ SID.COÍ - compilers¬ � assembler¬ etc. ccstaò iî thå submiô filå abovå ió noô á file®  Iô ió thå addresó � of the beginning of C's start-up routine. ŠPleaså notå iî thå linkinç procesó thaô CHRNW± ió linkeä afteò � thå librarù files® Thió ió necessarù iî ordeò tï insurå thaô itó � codå ió abovå 400° heø aó iô switches in bank 8 (the ROM bank) to write to the font RAM. Alsï notå thaô librarù filå C2RT.REÌ ió linkeä last® Thió ió � necessarù becauså thió filå specifieó wherå thå toð oæ objecô � codå resideó (á featurå whicè waó unfortunatelù noô documenteä iî � thå Supersofô documentation). Belo÷ ió á descriptioî oæ thå functionó performeä bù thå variouó � modules: CHARGEN.à - Thió ió thå mainlinå modulå thaô containó th Iæ majoò changeó arå made¬  yoõ wilì havå tï relocatå thå addresó � oæ  thå message®  Thió caî bå donå bù dumpinç thå entirå prograí � anä searchinç foò thå string¬  oò therå ió aî easieò method®  Thå � copyrighô messagå ió thå firsô thinç printeä bù thå  program®  Iô � ió  noô  burieä verù deep¬  sï jusô starô aô 100è anä follo÷  thå � executioî  patè  oæ  thå prograí untiì yoõ seå DÅ loadeä  witè  á � constanô value¬  à loadeä witè ¹ (BDOÓ prinô strinç function© anä � the BDOS called (CALL 0005). eò tï removå thå displaù oæ thå message¬ typå in: s76ca then 24 then . Iæ yoõ no÷ redisplaù thå blocë (d76ca)¬ you'lì seå thaô thå "S¢ � iî "Supersoft¢ haó beeî replaceä bù á "$"® Thå CP/Í functioî � that prints the message stops printing when it encounters a "$". To save the program type: wchargen.com,100,7700 Thió saveó thå chargeî program® Thå Supersofô copyrighô messagå � wilì  no÷ noô bå displayed®  Thió ió includeä iî thå abovå submiô � procedure. å maiî � menõ anä thå characteò fonô editinç menues. CHRNW1.à - Thió ió aî assemblù modulå thaô writeó datá tï thå � fonô ram. CHRNW2.à - Thió ió thå assemblù modulå thaô interfaceó tï  thoså � in IO.MAC. IO.MAà - Assemblù languagå routineó tï dï systeí tracë  I/Ï  anä � ROM SENDEN (sense density). CHRNW3.à - Thió modulå containó somå à routineó thaô woulä noô � fiô iî thå mainlinå sourcå filå dï tï aî apparenô runninç ouô oæ � spacå iî thå compiler® (É saù apparenô becauså thå compileò � never generated an error message, it just sort of hung) CHRNW4.à - Thió modulå containó thå routinå thaô inputó á filå � name® Iô ió iî á separatå filå foò thå samå reasoî aó stateä iî � the description of CHRNW3 above. CHRNW6.à - Thió routine displays the Osborne copyright message. CHRNW7.C - This routine inputs a string. CHRNW8.à - Thió ió thå à modulå thaô doeó systeí tracë I/O® Iô � contains the system track and font ram I/O menues. Afteò thå abovå submiô ió run¬ CHARGEN.COÍ wilì bå thå chÆt4›ÍÂi”ÜuÑÜt9D#È€�E,ÆaÔÊ"¢)¸èr<ˆ G‘�Êc4›L&ÁØÂl:™@1´@E7 §!ÐÐeÍ‘„Æt2œ€Â)L†> DCy¸Ê 2™ 'CI¸Î)™M†SÐ@C4NFÐÊrMÇC‘ä@M2� ó †h0œŒ&3¡”ä "›Ž‡#È€še7@S€€‚r9Îâh€äe:NFáÐÞ 9™M†SÐÒo7 ¦SqÔR4™ÍAär7�ÄÑ”Èi: ÆSÁÐ@c4NFÐÊr çsp€‚r9Îâh€Êd4�3 ´Ê 1š '# Œèe9¥2€Z 9N‡S‘¸@t7ˆ ¦I¸@m2›Ž  Âr0˜Î†S�€Šd4� &ã8€še7@yÌÒt4›ÍÂÔäs7œ„sIÐÐ œŽFó¹Ì. DC©ÈÜ 8OS`€Þn e Š> DC©ÈÜ 8OS`€Þf3 "h€¢u4�sIÐÐo:�S��Ât2€„R™ | ˆ †óq”@e2N†“qœ@t4Nb ÂrDÑ$Üv2œŽ‚ °Ø 8OSaÌC D3yÀò 0›�çCA”ä 1š '# Œèe9 ‚h€æh4™Ž‚ Âr0˜Î†S�€˜e3!´@s4LÇAŒÐa9LgC)È@R4™Í@T@-Í“1Ð@c4NFÐÊrN €Z 9š &c €Æh0œŒ&3¡”ä "Îæà8@-IÇ3)Èè 0ˆFó¸Š ˆ „Sa”èeD#yÜS D“qLÊr: "¼Øu6›€A´@d2› ¥C(€Â 1›Í‡Si¸C4NFÐÊŗ@Üt2œ„CA”@f4› ¢¡¼@r2˜L‚A�tf4› ¦ã ´Ê.:N�Òl2ˆ Æó €Ìo:›Œ‚ဠr2œÎb ¸ò 5™O"¡¼@c7›Ž†“qÔÊ.Œ¦!¤ÜgÍ‘„Æt2œ„3)Ð@f9Í¢ Ða9LgC)È@s2�#)„È 3�æÑŠO# &á˜Òl2ˆFS �\ FS™Ì@a7D³)ä@t7ˆ fóqÐÒn:™@SqÐÊr Q˜Òl2ˆ†ñÜäi:Dƒ èÌi6MÆi”\t<œ 1¤ØeM‡#)„ÈyO“ edbuf B9 C1 6 B4 E105 C55 16 B10 B21 B9 C1 4 B4 E105 B9 C1 1 B10 B21 B10 B21 E104 B10 E102 F13 241 F98 242 D25 edbuf B9 C1 4 B4 E105 C55 16 B10 B21 B9 C1 11 B10 B21 B9 D2 offchar E101 B10 E102 F13 237 F98 238 B16 B16 B12 B99 D61 delrow B18 B18 C1 B4 B9 C1 B10 E103 F98 247 C1 B4 E105 B9 C1 16 B10 E116 F14 246 F13 248 F98 245 C1 B4 B9 E105 B8 C1 1 B21 B10 E103 B8 C1 -1 B21 F13 247 F98 248 C1 2 B4 B9 D3 edrow B10 E103 F98 251 C1 2 B4 E105 B9 C1 14 B10 E116 F14 250 F13 252 F98 249 C1 2 B4 B9 E105 B8 C1 1 B21 B10 E103 B8 C1 -1 B21 F13 251 F98 252 D25 edbuf B9 C1 4 B4 E105 C55 16 B10 B21 B9 C1 2 B4 E105 B10 B21 B9 D25 edbuf B9 C1 6 B4 E105 B9 C1 1 B10 B21 C55 16 B10 B21 B9 C1 4 B4 E105 B10 B21 E104 B10 E102 F13 249 F98 250 D25 edbuf B9 C1 14 C55 16 B10 B21 B9 C1 2 B4 E105 B10 B21 B9 D2 offchar E101 B10 E102 F13 245 F98 246 B16 B16 B12 B99 D61 chrcopy B17 D3 entdec B9 C1 B10 E40 1 F14 253 C1 B4 B9 C1 19 B9 C1 20 B9 D3 pptr2 B9 C1 B9 D27 hexentry B8 C1 8 B4 B19 B8 B10 E102 F13 254 F98 253 D3 entdec B9 C1 1 B10 E40 1™Ðæ. ä±ÐÞ 1›ÍÇCI¸êeˆ‘y8R+œ�'CI¸Î 1š '# Œèe9fS €èoÇSa°@d4œŒ¦3¡¼äyÍÂ1¤ØeÎFS ÐÒo7¢�ÈÊs9ˆ &ãÈ€Æh0œŒ&3¡”ä :Ä3y¸èi7L¢à Ða9LgC)È@s2�s‘¤èt2›„Cx€D4œÍb1ÔØlÍÂ1¤ØeÎF“¡”@-FS™Ì@a7D³)ä@t7ˆ fóqÐÒn:™EÀ!¼@y7�Ds ¸è :Ç@ˆ€Z )L&AÐÐeÏ'3¡”ÚsF¬æ 4›Ž†ñÐÐeÍ‘„Æt2œ„3)Ð2 D#)„È 0ˆ Æ“a”@i7 â¡ Ê 1š '# Œèe9fS f ˆ¦CIÐ@t4D3A„äa1� §!ÌÊt Ñ\äi:DCA”@c4NFÐÊŗAÐÞ : ¢™äæt2›DC‘„Æk9€¢h€®r4� ¢¡ Ê 1š '# Œèe9fS €èoDcI°Ê¢¹ÈÒt2ˆ†ƒ(€Æh0œŒ&3¡”ä 9™N‚¡¼@t4Dcy¸è )I ¸€Z "ž 'AÐÐeFó9ÈÂmMÇC)È@y7�NB Þi1™D�ˆ€Z Š@CA¤æ 8�æs‘„Ú 0› †ó¹Ì@y7�DCx€Êd4�ŒÐa9LgC)È@s2�“p€Úe6›ÎG‘„ÜdΆó‘”@i: æáØÂr4›Î§1´Êd4˜EÀyÌÄo9Œ¢)àÊc:� 'c(€†h0œŒ&3¡”ä #ÍÇAÊn2œŒ'CyÈ@ + EÃÉÉASUB 1ßÃxCP/M Version 3.0COPYRIGHT 1982, DIGITAL RESEARCH151282654321Invalid file name $Error On Line $Enter Password: $ERROR: No 'SUB' File Found$CP/M 3 SUBMIT Version 3.0 $Enter File to SUBMIT: $SUBDisk Write Error$Random Read $.$Invalid ASCII Character$Parameter Error$ERROR: Directory Full$Requires CP/M 3.0 $1ß1ßÍG"’*’}Ö0Ÿõ|ÖÖŸÁH±Ò¤bÍÍPÍä2èÍIÍK ÍÓ1ßÍ"”>ÿ”ÍdµÊã*”++"”~ÒãÍ"”èÅ!\Í.žÍ ûv!¢q*¢&ëÍÉýÍÉ!¤p+q*£ë ÍÉ!§s+p+q*¥:§w#6*¥ë Í*¥#"¥N#FyÉ ÍÉ!©p+q*¨ëÍÉ!«p+q*ªëÍ2 É!­p+q*¬ëÍÉ!¯p+q*®ëÍÉ!±p+q*°ëÍÉ!³p+q*²ë!ÍÉ!µp+q*´ëÍ2 É!·p+q*¶ëÍÉ!¸q*¸ë-ÍÉ!¹q:¹2–!—6–1ÍÉ!»s/* Osborne character generator program - display copyright message routine */ cpright() { int i; clrscn(); /* clear screen */ curpos(12,1); grfon(); /* turn graphics on */ putchr(0x13); /* display copyright symbol */ grfoff(); /* turn graphics off */ putst(" 1983 Osborne Computer Corporation, "); putst("26538 Danti Court, "); putst("Hayward, CA 94545"); curpos(14,1); grfon(); /* turn graphics on */ putchr(0x13); /* display copyright symbol */ grfoff(); /* turn graphics off */ putst(" 1984 Future Systems, "); putst("828 Nob Hill Avenue, "); putst("Pinole, CA 94564"); for (i = 0; i < 20000; i++); /* wait about a second */ } /* C 1983 Osborne Computer Corporation, 26538 Danti Court, Hayward, CA 94545 C 1984 Future Systems, 828 Nob Hill Avenue, Pinole, CA 94564 */ +q:º2–!—6ÿ*»&"˜–1ÍÉ!½p+q*¼ë<ÍÉ!Âs+p+q+ÑÁp+qÕ:Â=2ÂþÿÊd*¾å*ÀÁ w*¾#"¾*À#"ÀÃ=É Í÷ Í÷É€ÍÍÉ!Æs+q+ÑÁp+qÕ:Æ=2ÆþÿÊ©*Ã:Åw*Ã#"ÃÃŒÉ!Èp+qÍe“ÍßÍ*ÇDMÍèÅ!\Í.\ÍsÍÉ!Éq:ÉþaÚü:Éþ{Òü:ÉÖ É:ÉÉÍOÍâ2Ê:ÊÉÍeÍe¢ÍlÅ Í!Ë6>!˾ڜÍ2Ìþ ÚK*Ë&l :Ìw:Ìþ ÂTÉ:ÌþÂ_Ã:ÌþÂ…:ËþÒrÃ:Ë=2ËO!l 6 Ã3:Ìþ•Í!Ë4Â*É*‘& ~Ö ÖŸõ~Ö ÖŸÁH±ÒÁ!‘4Ã�ÉlÅ Í:SþÊã*Qå*SëlÍ.þÍÖlÍÆ\ÍP"Í*Í}þÿÂ=*Í|þÂ&ÍÍelÍÆÍÖ\ÍP"ÍÃ=*Í|þÂ5³ÍÍ€ÍÆÍÖÉ�ÅÍ.*€& 6!‘6Í�*‘& ~þÂÍÎÍêÍ(€Í 2Ï*Ï&‚ 6Íe!‚"š!\"œšÍÌ "ÐÿÿÐÍ\µÂÁÍp‚ÅÍ.ÅeÍ.:\þÂýÍä2ÒO>¹Òý:Ò2\ÍüÍÂ*‘& ~Ö ÆÿŸõ~ÖÆÿŸÁH¡õ~Ö ÆÿŸÁH¡Ò.!‘4ÃÍ�*‘& ~2Ò!�6€É>!�¾Ò`\̓þÊ[>É!�6:�<2�=O!€ ~2Óþ ½:ã<2ãO>9¹Ò½!ã60+~9¹Ò½!â60+~9¹Ò½!á60+~9¹Ò½!à60+4:ÓÉèÍ“þÊÒͪÉ!"Ô!Ü6:ÜÒ= !Ö6!Þ6#6ÍD2ÝÖÆÿŸõ:ÝÖ ÆÿŸÁH¡Ò% :Ýþ Ê" :ÝþÿÂ#$ͪ:ÞÒ;!Þ6+~þ<Ê;!ß6:Ýþ$¨ÍD2Ýþ$ÂX*ÝMÍ Ã¥:ÝÖ02ÝO> ¹Òp<ͪÃ¥!‘6Í�:ÝþÊ”!Ý5ÍK ÒŽÄÍ�ÃxÍK Ò¥*×MÍ ÔÃ" :Ýþ^ÂúÍD2Ý:Ýþ^ÂÆ^Í Ã÷:Ýþ@ÒÚ:ÝÖ OÍ Ã÷:Ýþ`Òî:ÝÖ@OÍ Ã÷:ÝÖ`OÍ Ã" :ÝÖ!ÖŸõ:ß/ÁH¡Ò  Í  Í Ã" *ÝMÍ Ãò:ÝÖ ÖŸ2Ü Í  Í ÃÞ*Ô++"ÔÿÍ É*‘& ~2×Ö ÖŸõ:×ÖÖŸÁH±Út !‘4>É>É!"Ô"ÙÙÍ\ÒÓ !Ø6>!ؾڷ :ØÙÍ+Ô ~þÿ° ÃÚ !Ø4‘ *ÙÔ DMÍÆÍÁ€*Ù"ÙÀ €ÍÆÉ*ÙÔ DMÍÆÍÁ€ÍÆ!" }2 èÍ£2 : þÊ ͪõÉ!Ûqÿ!ÔÍrÒ- "ÍÍw *ÔÔ :Ûw:ÛþÿÂC Íw *Ô#"ÔÉ Í"á*á#~2àæþ2à_! Í8!0ë!îs*à&ëÍ:0ë!ïsÿÍÖ!6èͳ: þÿÂÆ èÍsÍÖèͳ: þÿÂÆ LÍÍÍÖÉ!åå`i^#V#~#foÍ ÍÇ Âí y·Âo wà Gþ: xÖAÚo þÒo ÈþaØþ{Ò /* CHARACTER FONT GENERATING PROGRAM V1.0 by Jeff Haran 2-22-83 this program allows the operator to generate character fonts for a 128 character set in a user memory array. The program allows the operator to store the resultant character set to a HEX format file, the main character set system track, the alternate character set system track and the main and alternate set font RAMs. */ #define FBOX (0x16) /* full box */ #define UBOX (0x17) /* half box - upper lit */ #define LBOX (0x18) /* half box - lower lit */ #define LF (0x0A) /* line feed */ #define CURLFT (0x8D) #define CURUP (0x8A) #define CURDN (0x8C) #define CURRT (0x8B) #define SPACE (0x20) #define CARRET (0x0D) #define ESC (0x1B) #define TITLE "Osborne Executive Character Font Generator V1.1" #define TRUE 1 #define FALSE 0 #define BKSPC ('H' & 0x1F) /* global variables */ char areg; æ_æÉáÃo þ Ê þ Ê Éà `i~þÊ< #~2#~2#~2*|þ ÚW \Í!\~·ÂR åÍá2ú Ãé .n~þÃÊÊ >2ú 6!.t~þÃ:ú ÊÝ þÂ+ ¯þÂç >€2ú 6!áN#F#å*"ü ^q#Vpë"ö áN#Fë##"^q#Vpë"ø á4!ô Ñ7Ío ýÍÃ|  Í!ú 6ÿáà ¡  Í\Í\ÍÃ× Ã? >ÿ_ Ã1m Ã:~# y°Âo É�€WARNING: Cannot redirect from BIOS $ERROR: Auxiliary device redirection not implemented $ERROR: Insufficient Memory $"ë"ÉÃSYSIN SUBë_ë…oŒgÉDM!>õ)ë—)ë�‘o|˜gÒQ ñ=Â?Éi`N#F‘o˜gÉo&•oœgÉ_{–_z#žWëÉ00001 : $SYSIN $$$€�‚ int arrsource; /* source of memory array */ /* 0 - empty */ /* 1 - HEX file */ /* 2 - main systems tracks, drive a */ /* 3 - main systems tracks, drive b */ /* 4 - alt systems tracks, drive a */ /* 5 - alt systems tracks, drive b */ char readname[15],*rnmptr,readfcb[36],*rfcbptr,iobuf[128]; char oldrdname[15],oldrdfcb[36]; char writname[15],*wnmptr,writfcb[36],*wfcbptr; char charset[2048],*setptr; /* character set array */ char altset[2048]; /* alternate character set storage */ char mainset[2048]; /* main character set storage */ int altwyn; /* alternate set written yes or no */ int manwyn; /* main set written yes or no */ int eoffound,diskfull,address,recptr,charcount,bufcnt; char tempbuf[3]; char *mnC1,*trantab,curchar; /* current character being editted */ ÃFÃÿGET :ó<È*ñë*ïÍôø*í.n6Ãè.t6ÃÉ ÃLýÃL!¸páå:¼Ú~yþ ÊÝþÊÝ!ê6þÊÝþ ÊÝþ<ÊŠþÂ~ë"§ëx!ëÍ=F#fhé!íþ€È:·Â~þ‚!ÈþŒÂ«!©>�–wþ�Â~:©·ÈÍÍ×Í×!5ë*í.´~æ¿w:ºÀ;à :·Â~!9"¹1AÅÕÍ#þÊu.Èt.´~ö@wæ :&Ê/·Â3åÍ–!¸~·6ÿ» Ì á:·Êø~æw÷ÂuÍcÑÁÅÕy!†åþ ÊŽþÊBþ Êd{<Ê‘<Êd!ê6<Ê–Ã Íü·ÈáͰÿÍ Í#+~æþwÑÁ*¹ùÃ~þÿÊu*¹ùoÉÍd·È¯!$4üÕ·ÿ®:$!'Í=FxþÿÅ̰Á!%~þ pÀxþ Ì–xÖ<2&Ì–> Éà Å'ÍÐ*íªÁåÕÍ2.àÍ2+6.àwÍ áÑõÍ2àÍ2*§ëÍЯ2$ñ·É*í.¬6þ#6ÿÃ*í.Ï~öw#~æ=É~#Â4É…oÐ$ÉÍ–ÍOØõ̓ñÉ!54Èþ Èþ Èþ ÈþÈþ É!êF6ÿÍ#þÈ·ÈxÉÍOÒƒõ>^̓ñö@_:ÿ·Èà ëN#åÅåÍ–áÁþÿ§Êà> þ Êàþ ÊàþÂÆåÅ*í.Ô>–wÁáÔ#wÅåÍtáÁ~þxÂÜþʹڔápõ> ̓ñÉ 8>"ë"ÉÃSYSIN SUB€ €�hhhhhhhhhhhhhhWARNING: PROGRAM INPUT IGNORED $yÁ#q#p#wëÀ!Éáá!ÿÿÉÍæÊÞ#þ*©6?”ëw”ÍæÈáÃŽÍæÊÞ333333Õå.ã;;33ã,ã;;#wʯÍæÂÊ#6 ÂÞÉO·Èþ ÈOþ Èþ Ú$Èþ.Èþ:Èþ;Èþ=Èþ,Èþ/Èþ[Èþ]Èþ<Èþ>ÈþaØþ{Ò!æ_æÉáÃŽþ Ê4þ Ê4ÉÃ(å!Æ~·> ÊL5*¼~#"¼áþÈþaØæ_ÉÕ:ÆþÚf7ñÍ8þ ʱþ0Òvñþ@Â7ñÒ‡Ö0Ã’þGÚ�7ñÖ7o:ÆÆO& ʦ))))ÛÑz´W{µ_ÕÃfÑëÉ: CP/M 3 SAVE - Version 3.0$ Enter file (type RETURN to exit): $ Delete $ Beginning hex address $ Ending hex address $ $ ERROR: Bad close.$ ERROR: No directory space.$ ERROR: No disk space.$€€„‚@$€„ $’H I$�€I!$’HI"$ˆ$"$ I ! A ‰ !B B@@’ $ˆ’A‚BH$!"D„$"B€UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU 151282 COPYR '82 DRI gggggggggggggggggggggggggggggg€"D€ˆ! BˆH!H@ $!ˆ�!$„"A! D$DH€H$�B!" € @A�„   J6Éå!_7Ãtå!:ÕÅ‘; Í‚ÁÑá7È?Éÿ›š—r ÃJpÃQpÃWp4EDBACKUP$$$BAKNEW FILE:’/2È5ÍbpÍ’pÍ¡pÍOqÍZ1:Ñ4·À:b2f5>ÿÍ0q:2i52g5:IÖ!€¾Úˆp~<2k5>ÿ2Ñ4É!µviÍ.>ÿ2¶vÉCÕ!pÍ Í€Ñʾp!pÍ Í€ÂÇp!©8"J6×-µ!vÍ.É!»6Í.292F2I2[Í[-*ª7þ"v"Ý7ÍùpÉ*Ë7ë*Ý7ÍR|·æ<Æ2 72 7|þD!"7>2 7Ú%q)"7Ú,q‡2 7É!É5¾wÈ·õ!  Ì.>ÿ2%ñë!…ÄèÉ:C6!Ì4¦Ì—!:~Í£w�vÕÍèá:J·Êtqw::¾Ê€q>ÿ2ü6å_7 Íè!pÍ Íåá~87!p Í Íè:Ë4=ÂÆq!CåSÍåÑ!¬7åÍå™váÍå!Ó4:Í8:ü6·Êßq6 #:�vÍ+!é4�vÍ8!5~·Ì8:Ë4=Âr!SåCÍåyÙCP/M Version 3.0COPYRIGHT 1982, DIGITAL RESEARCH151282654321CP/M 3 SID - Version 3.0$1ÅÅ€ ÍÁ!~=�WÕ!x±ÊÁ ~#ôÑÁåbx±Êã {æÂÖã~#ão}oÒß„ÃÅÑ.éÃÃOÃ$þÈÍ ÃõyÍ�ñÉþ Èþ Èþ,Èþ ÈþÊ$É Í ÍÉÍŒþ ÊÍÊ9!z6 # ÂL!zwÍŒÍÊj# ÊÃX:zþ ÉÖ0þ ØÆùþØÃ͘=ÂëN#FyÉÍ}ÂÉæ8Éæ0Éë*zë{¾Â¯#z¾È+++ Â¥ ÉÕz¾ÂÊ#½ÑÉ#ÂÊøÿÑ · ÉÅÍ9Ê!`Í Â yÁÉÅÍ9Ê!rÍ·Â yÁÉÍñþÊÉÍñþÊþÀ=É!z{w# Â%þ Âw!PÍ Â yÍ“ÉÍõÍ}ñöÀÉ*w#"ÉÍŒþ Ê@þ.Ê@Í<Ê!¦EÍ·Â~ÃP !ÎÍ·Â’ÍPÍŒÃQ!æͷªÍPÍ}ÍQxÃQ!êÍ·ÂÆÍÛÍ“G@ÍÛ±°ÃQ! Í·ÂÜ yÍ“G€Ã¾!Í·Âô ÍÛÍ“±ÃQ!Í·ÂÍÛÍ“öÍQÍŒÃQ!.Í·Â6yþÚ#ÆGÍÍ™°ÍQæÏþÀà!2Í·ÂQÍŒþÒÍ“öÇÃQ!>Í·Âq ÂeÁÃgÅÍÍ™±ÃQ:zþJÂ�ÍEöËþC–ÍEöÍQyÍQxÃQþRÂÍöÀÃQ*Õë* {•zœÒ·*ùÉÑ~#" É<æþÚÈÆþÚÏÆÆAOÃGæðÆ�'Î@'OÍxæÆ�'Î@'OÃNÍ#Âõ ɀɀ­SAVE ÉÃÃSAVE yþ<Â1ÅÕå!~þ áÑÁÊ‹þ;Ê:* éÅÕÍ©"Â.ú~·>2ÁÊ`*Â.h~þÃÂ`>ÿ2Á6!*#~2º#~2»€r+s-þÍÑÁ* é1­ÔÍéðÍéÍÚ!Æ~þÊ€#_6åÍï|þÿʉá#6?#6 #6$\Í<ÊÙÍéÇÍéÍÚÍ8þY‰\Í>!|w\ÍÍéÍÚ:ÆþÊïÍVÚï"¶8ÍéÍÚ:ÆþÊ ÍVÚ "¸ë*¶ëÍÏÚï*¶ëͲÕÍ\ÍhþÊ}…þÊ}·Â€Ñ!€ë*¸ÍÏ:¾þÿÂ2\Í<TÊ}QÍé*ºë*#s#r>ÿ2:ÁþÿŸ*Â.h6à ÍÍ1´ÍÉ>2¾:ÀþÀ:¿þ€ÚÉÊÉÉ>ÿ2¾É}“2¿|š2ÀÉ!Ç"¼ ÅÍÉ ÍÉ!ååÇ!\Í(Íæ y·ÂŽwÃ=Gþ:Â:xÖAÚŽþÒŽÃ28!†"9·Ê”!\ÍÑ>2|!"°*§"²Í~:û·Ê8þ”*ü"°*þ"²*°Í Ú”!"®\ÍzÍn<Ê”*°ͯ€€~# Â_\ÍV·Â”å*®#"®áÍ :ÌþÿÂW\ÍJ!´ÍÑ*®ÍL!·ÍÑÃ,:²•2Í:³œ2ÎÉ>2Ì:ÎþÀ:Íþ€ÚÆÊÆÉ>ÿ2ÌÉÍþ ÂÝÍNÃ, !9¾Êð# ÂãÔÍþ ”ÅÍúÍÍÂÍJÍ~·Ê,=”Í�ÁxþÒA|·Â”}þÒ”ÍçgA>þÍ;¤Ag}Í;´Ã,ÈÃ;ÂQ|·Â”}!qwÃ,åÍÑs#rÃ,åÕÅ:[æÊ|_!€~þÊ�![4·Ã�\ͤ·ÂŽ2[Ãg>ÁÑáÉÍú>?ÍÄÃ,!e>Cw#>Ow#>MwÉ!u>Sw#>Yw#>MwÉþ.Èþ,Èþ Èþ*Èþ ÉͽÊåw#Í  ÂÌͽÈÍ ÃÛ þ*ÂñÍ ?r# ÂñÉ{‘z˜ÉåÕÅPY!ÿÿÍ ÁÑáÉ|ºØÀ}»ØÀ¯É>2…!€""�É!€Ow #æw Â0q!\ÍÑÄÑ6É ͤ!"ÉÍ~þ”Í�åÍ�åÍ�ÑÁÉÍ!ð6þWÂ�6ÿÍ!û6#þ ÊÃþ,œ>€2ûß͓ͣþ ÊÃÍ͓ͣþ ÊÃÍ͓ͣþ ”ûþ�Ê”·ÉÍ þ ÊÑõÍ þ:ÂíñÖ@w#Í ÃòG6#ñÍÌþ.Ì ÍÌ6# ÂÉx·ÀÃÍ!þÈþaØæ_Éå!~·> Ê55*~#"áÉåÕů2[\ͤÁÑáÉÅÕåͤáÑÁÉÅÕåͤáÑÁÉÅÕåͤáÑÁÉÅÕåͤáÑÁÉÅÕåͤáÑÁÉ!e¾Àx#¾Ày#¾Éë*ƒ}“|šëÉÍ“Ð"ƒÉë*§}“|šëÐ"§É:…þÐå!Í“áÉ> åÕÅ_ͤÁÑáÉ~·ÈÍÄ#ÃÑþ ÒåÆ0ÃÄÆ7ÃÄõæÍÛñæÃÛ> ÍÄ>:]þ Ê,:eþ Â&ÍŸ:lþ Ê&:uþ Â&Í®!ÃI 1lÍĤÍú>#ÍÄÍJÍþ Ê,!ï6þ-ÂX5ÍÖAÚ”þÒ”_!o^#Vë飔Íý - G ï ””ü + ””Q ” 1À»üÿÏ””ͳÒ”Í~·Â½:ï·ÊÇÍÃ,=”Í�" Í Ã,Í~ڔʔÍ�å=ÂæÅÅÃöÍ�å=ÂòÅÃöÍ�åÑÁ!,ãéÍoÊÍ�Ú "cæ=ÊÍ�=”Ã)*c¿Ò)!ÿÿ"fÍÂ,*fë*c"hëÍ Ú,Íú*cÍL>:ÍÄ:ð·Ê—ÍÂ^#V#ëÍLÍÂë õÍcÚxñÂZÃÈñy±ÊÈÍÂÍÂÍÂÍÂÍÂÍ ÂyÃÈÍÂ~Íê õ#ë*fÍ ëÚµñ™ÃÈñy±ÊÈÍÂÍÂÍ ¶"c:ï·Â,*hëÍÂÍT*fÍ ÊóÚ, ÂÛÃ,ÍT:eþÿÂ,>2eÃ,:·Ê”Í%:eþ  ͟:uþ Â' Í®!ÃI ÍY|·Â”ÍýÚ,ÍøÚ,}Ã5 ¯2lÍúÍ~2mÍ�åÍ�"nåÍ�"pDMÑáÃs å!l6ÿáóÊ� Ú} "væ=Ê� Íã =Ê� YPÍã !Ïå~·ÊÉ #^#Vå:l·Ê *v{½Â z¼Â áá"rå~62tÃÉ á#wë6ÿá ” 1lÑÁñáù*vå*tûÉõÅ!ô~4·Êþ #~#F#»Âþ xºÂþ ~#s#r#w>ÿÁñÉÍ~ʽ Í�=Ê; =”åÍ�ÑåÍúÍLÍÂᯕo>œgÍLÃ,ëÍúÕÕÍÍÂ>#ÍÄ…!u^#V#ã0}“o|šgÚe ÃX x·ò| õyþ0ʃ ÍÄñæGÃ� yÍÄÃ� ñæþÂ� GÃ| ãÂQ ÑÑz·Â,{æþ Ú,<Ê,ÍÂ>'ÍÄ{æÍÄ>'ÍÄÃ,*�##V+^+N+yþÒ,ÍúëÍLëÍÂ Êæ ~+ÍÄÃÚ ÍÂ,à:ï·Â”Í%Ã,ͳÒ ÃÄÅÕå ͤæáÑÁÉëÕëÍLÑ:ï·ÀÍ8ÈÍÂ>.ÍÄ^+~ÍÄÂ+Éå:ï·ÑÀÍ8ÈÍúÍ*>:ÍÄÉ|Íê}ÃêþÒ^þ ÒÄ>.ÃÄë*f}“o|šëÉþ/Èþ+Èþ-Èþ Èþ,Èþ ÉÖ0þ ØÆùþØÃ”ë^#V#ëÉÕÍ*�õNyþÒ”ñëÕõ*å*åë ÍnÊÆ Êà+¾ÂàÍñ ÂàáááÍqÊÙÍÃéá#^#VáÉá"á"ñáõ~/…o>ÿŒg++ñÛë!þ.Ê”þ@ÂÍ”åë^#VáÉþ= Í”åë^áÉþ'ÂDëÍ!þ Ú”þ'Â?Í!ÍqÈþ'”S_Ã&þ#ÂhÍÍqÊfÖ0þ Ò”)DM)) O ÃIëÉþ^ÂÕ*r^#V#Íþ^ÊqáÉÍ€))))µoÍÍqÂhëÉë"Ìës#r#å!û4áÉþ-®ÃÔþ+»ë*ÌëÃÃÍùþ+ÂÑÕÍÍùÁë ëþþ-ÀÍÕÍùÁõy“_xšWñþå!IXN!p~ëáÉÍç ÊÃúæÉÖ!D_^ÿ!xÉÍ^#VëÉxþÒ1Í÷·>-ÊÄ~ÃÄõ~ÍÄ>=ÍÄñÂG!q~ÍêÉÍÍLÉÍúÍÂ!9ÅåÍáÁ#xþ ÒsþÚYÍÂÃYÍÂÍóõÕÅͳÒ“*v" !6ÿÍû+"f*v~Íê#ÍcÚ»õÍÂñ³Ê·^#VÍû~Íê*v~GæÀþ€ÂÒxæþÂ5Ãÿþ@ÂïxþvÊ5æþÊ xæ8þ0Â5à xþ6Ê þ4Êÿþ5Â>=ÍÄ*t~Íê*tÃ$æçþÂ5xæ*lÂ$*n:ï·Â5ëÍ8Ê5Í"ÁÑñÉCZMEIABDHSPöôüúþ!"¬¯2©Éó"tá+"võ!9ñ1tåõÅÕû*v~þÿõå:t2l!ëå~·Ê�#^#V#~áüÿ ƒÍå!ô~6·Ê³=G#^#V#~xâáñÊ×#"vë!ªN#FÍøÚ×ÍN*òë>‚·7Ãl :ηÂ|!Ïå~·Ê9#~#V*v½Â9z¼Â9á~=Âõ”Í~Ê Í�" =Ê Í�"=”¯Ã" > 2ÍÃ,ÍYÍøÚ,ÅÕå!ÿÿ|¸ÂG }¹ÂG Ã,áÑÁ w#Ã. Í~Ú”ÊÝ Í�å!=:ïÊr ·Â”Í�Ã| !·Â| !|·Â”"!Ïå~·Ê© #~#Váã½Â§ z¼Â§ :áw·Ã,ãåá ‰ :·Ê”!Ïå~·ÂÑ :áwÑ#s#rÃ,á ¾ Ô!Ïå~·Ê :ï·Êô 6à ÅÍú~ÍêÍÂ#^#VÍÁá Ââ Ã,:·Ê”!\ÍÑ6#>  w# Â' >w# Â1 6Í~!ÊI =”*ü"!l6~# ÂT :]þ?Ê2 Í7þÿÊ”!"§>HXE͆*åʾ áå\ͤá·Â2 €€w# ™ Í�Í¥ë*Í ëÒ† !"§"ƒÔÍ\þÊ”Þ:¾ WáåÍ$ _Í$ õÍ$ ÁO {·Âñ x±!Êë i`"vÃ2 Í$ Í$ w#Âô Í$ õÍ�Í¥ñ”þ Í\Í€æðõÍ\Í€Á°ÉÅåÕÍ GÑ‚WxáÁÉ!Í“ÚB :…·Ì>ULT͆õ!6\~# ÂS ¯2|:]þ Êð !†ÍÑÍ7<Ê”Í\þÊð þ!Út Í õÍ Ñ_*åÍ\þ Ê£ áÍ\þ Úw Ø *+Í\þ ÊÆ þ ÊÆ þ!Ú”w{þÒ”è Õåë*#^#Vár+s+6Ã͓Ҕë*ë"ëÑs#Ñs#rÃt ñÂ!ü å*vé*"�Ã,!�ÍÑ*§ÍLÍÂ*ƒÍLÍÂ*vÍLÍÂ*+ÍLÃ,Ío=”Í�ÍúåÍLÍÂáå:ð·ÊX^#VëÍLÃ\~ÍêÍÂÍJÍáþ ʯþ.Ây:·Ê,>.þ"åÂŽÍ!áþ Ê;w#åÃÍ�=”Í�:ð·Ê¨ëás#r#Ã;·Â”}áw#:ð·Ê;#Ã;>ÃÂ>2©Ío!"ª#ÊïÚßÍ�õ}´Ê”ñå=Êî=”Í�"ªá"¬¯2mÍNÃl Ã:=2ÎÃwõͲþÊ:ï·ÊÍóÃl Íúñ<Íê!«ÍÑ*vëÍÍNÃl á ÂãÍÂ|ͲÊd=ÂXÍóÃl *vÍ5ÍNÃl :l·Ê|*pMD*në:m·7Ãl ÍúÍå!"ªÍN2Î>*ÍÄ*vͳÒŸ" Í*t"cÃ, PASS !©~·Èå*¬+"¬|µáÂËw=2Î~·É !~ #¾#ÊáÂÔZÉ:t·È*rw¯2tÉ*vF#åÍÎ!ñs! ^#Vëé&N&N,`r££  –£‘Í<¦ÍGæ:ª»À:«ºÉÁá^#V#åÅÃ2*r^#VÉÍ<Ê[ÁÅ>èÑÕæxþÿÂj¯Ãªæ8_æ*tëÍ2¦Ã,:ñþØþ?Ø*v###ëÉÑÕæÍGÁÅ>èÑÕÑÕ><7õ*ª|µÊÛÕÅå!ñN*vë!Ããé·ÁÑÊÛõ>#ÍÄñÍê> ÍÄÃ:©!ð¦ÊñÍÚññ>Ãñõ·Ê=ë_~/w¾/w{ëõÊÍÒÍGñ=ÊÕYPÁÃøñáÉÿÃÇÂÿÍÇÄÿÉÇÇÿéÇÇÆÏç"ÇÀ÷Ó*�##F+N+~þÒaå/…o>ÿŒg{¹Â\z�Â\á<É33Ã=¯É>!y$¾Ú‡ *y$&>'èd É!y$4Âd SYMBOLS NEXT MSZE PC END 6É!z$q!h#6?! h record(s) written. Ÿõh#ÖÖŸH±Å!:#ÖA{$O¹Ò !:h#þ Â!ÍÍ2h#Ã!@¥ ÃÂ!:h#ÖSÖŸõ:h#ÖQÖŸÁH±ÒP!:ö#<2|$ÍÍ2h#ÖÖŸõ:h#Ö ÖŸÁH±ÚG!Ã)!ÍÍ2h#Ô!ÍÍ2h#Ö02|$O> ¹Òj!!|$6Ô!ÍÍ2h#Ö02w$O> �@!’!BH @@A‚BH B! "ˆBHI$$’BI$BI „$„’ ’HI ‚D$��„‘H��„„D$$ H „ B’!$D$ˆ"$’B$�’DA!AB�’I$„�Õf!ÁÉ!9^#VÕë!å+å. 9^#VÕÍ *ë9ù!9^#VÕ!åÅlåÍ *ë9ùÁëÉ`i�ÿ|µÊIg!9^#VÕÍÕ*ñ!9^#VÕ!å+å+åÍ *ë9ùÁëÉ!ÁÉ!9^#V*_ ͸�|µÊfg!É!9^#VÕÍl'ñë!ëÿ|µÂ g!9^#VÕ!9^#VÕ!9^#VáåÍœjññØj!–ÿ|µÂÎg!9^#VÕ!9^#VÕ!9^#VáëÍ¥�åÍœjññØj!•ÿ|µÂûg!9^#VÕ!9^#VÕ!9^#VáÍ6�åÍœjññØj!”ÿ|µÂ)h!9^#VÕ!9^#VÕ!9^#Váë͘ŒåÍœjññØj!“ÿ|µÂVh!9^#VÕ!9^#VÕ!9^#VáÍ“�åÍœjññØj!’ÿ|µÂƒh!9^#VÕ!9^#VÕ!9^#VáÍÃ�åÍœjññØj!‘ÿ|µÂ°h!9^#VÕ!9^#VÕ!9^#VáÍJŒåÍœjññØj!�ÿ|µÂÞh!9^#VÕ!9^#VÕ!9^#VáëÍaŒåÍœjññØj!�ÿ|µÂ i!9^#VÕ!9^#VÕ!9^#VáëÍQŒåÍœjññØj!Žÿ|µÂi!É!Œÿ|µÂFi!9^#VÕ!9^#VÕ!9^#VáÍ�åÍœjññØj!‹ÿ|µÂsi!9^#VÕ!9^#VÕ!9^#VáÍ*�åÍœjññØj!Šÿ|µÂ i!9^#VÕ!9^#VÕ!9^#VáÍ�åÍœjññØj!‰ÿ|µÂÍi!9^#VÕ!9^#VÕ!9^#VáÍ+�åÍœjññØj!üÿ|µÂ”j!9^#V!ë*_ ͸�|µÊñi!É!9^#V!åÍl'ñíÿ|µÂ:j.9^#V!åÍl'ñøÿ|µÂ:j.9^#V!åÍl'ñ Í�Ã=j!|µÊ”j!9^#VÕÍÕ*ñ!9^#V!å!å+å. 9^#VÕÍ *ë9ù!9^#VÕë!å+å.9^#VÕÍ *ë9ùëÉ!É!É!9^#VÕë!å+å.9^#VÕÍ *ë9ù!9^#VÕÍÕ*ñ!9^#’H B$�’I $’H’I$‘�H$‰! $’I $’I$‘I ‰$I $BBHHAªªªªªª¤‘"H’I$€„„H!$�H’H‘$�‘ ‰’IDH$‘$H‚$‘"BD€� $‚$’$HH$B@@D„!@H�‘�"€ˆ H " "BIˆ„$’D’I$I $�’H @€’„‚H�€I"$AD�@@H€’A$„ ˆ€€„’ $�€@ $@D I‘B! „ $H $’I$’‘$HD H!"A‰""! I$D’DI"I$‚ @ˆ‰$’I"DH BH" !I B  �ˆˆB$H$@"I‘H�„BI $$ˆ@H€@ @@@€D !@BˆA‚$!„" D!$A$€€B@€„$‚’@€�@$‚"$"@‚  D@@€„"DH’ $‚I!"DH„$BB$�’"H@ $€€’!’D€�‚‘$„’$€I$I$’$"A$$’I  �D UUT’H@@�!@H’@� ˆ€‚!$‰ ‚’ €€UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU; This procedure generates CHARGEN.COM from source. ; It works only on an Executive. ; DAB 10/13/84 cc chargen.c c2 chargen.cod era chargen.cod m80 chargen,=chargen.asm/m era chargen.asm cc chrnw1.c c2 chrnw1.cod era chrnw1.cod m80 chrnw1,=chrnw1.asm/m era chrnw1.asm cc chrnw2.c c2 chrnw2.cod era chrnw2.cod m80 chrnw2,=chrnw2.asm/m era chrnw2.asm cc chrnw3.c c2 chrnw3.cod era chrnw3.cod m80 chrnw3,=chrnw3.asm/m era chrnw3.asm cc chrnw4.c c2 chrnw4.cod era chrnw4.cod m80 chrnw4,=chrnw4.asm/m era chrnw4.asm cc chrnw6.c c2 chrnw6.cod era chrnw6.cod m80 chrnw6,=chrnw6.asm/m era chrnw6.asm cc chrnw7.c c2 chrnw7.cod era chrnw7.cod m80 chrnw7,=chrnw7.asm/m era chrnw7.asm cc chrnw8.c c2 chrnw8.cod era chrnw8.cod m80 chrnw8,=chrnw8.asm/m era chrnw8.asm m80 =io l80 ñ####n&Íë–|µÊO !å.[å`iåÍ`rñññà `i##^#VÕÍ$>ñ####n&Íë–|µÂ‚ `i##^#VÕÍO/ñͱ—Ã… !|µÊ !9å`i##^#VÕÍ ,ñÑës#r`i##^#V!n&Íë–|µÂ .9å!9^#VÕÍ}mã!9^#VáëÍZ˜Ñës#r!9^#Vë|µÊû !å.aå.9^#VÕÍ`rñññ!9å!9^#VÕÍ}mñÑës#rë!å.=å`iåÍ`rñññ!å.aå.9^#VÕÍ`rñññ!9åå!9^#VáÕ^#VáÑës#rëà !å.cålåÍ`rññññññÁÉÅ*h(DMÅ!h(ÑÍ ˜|µÊ© ÃŒ `i^#VëDMÃq `iå!9^#VÕÍ®!ññ|µÊ� `iÁÉ!ÁÉÅ*f(DMÅ!f(ÑÍ ˜|µÊì ÃÏ `i^#VëDMô `iå!9^#VÕÍ®!ññ|µÊÄ `iÁÉ!ÁÉÅ;!ç&####å!ç&##s#rás#rë9å!ç&#å!ç&sásás!9^#V!T9ͱ—|µÊ8 !Ã; !DMͳ Í. |µÂ@ !¬&#n&|µÊ` !9sëÃÕ :¬&o&|µÊ€ !9s`iÍH˜DMÃÕ !¬&####n&|µÊ¬ !9å!ç&sás!9^#VÕÍ:ñÃÕ !¬&n&|µÊÕ !9å!ç&sás!9^#VÕÍ:ñ!¬&n&|µÊö !9s`iÍH˜DM!¬& n&|µÊ !9s`iÍH˜DMÃF !¬& n&|µÊF !9s`iÍH˜DM!þÿë`iÍë–DM!¬&n&|µÊg !9s`iÍH˜DM!ç&#ë`i}:ç&o&|µÂª !ç&##å`iÍë–|µÊ” !× * 'Ñës#r!ç&å!9n&Ñ}:ç&o&3ÁÉ!¬&#å!¬&å!¬&####å!¬&å!¬&å!¬& å!¬&å!¬&##å!¬&###å!¬& å!¬& Ö!Ä'ƒ":'!"}–!f("f(!h("h(!j("j(!d("d("b(!L("L("J(!ç&(s#r!g|å!}22'Ñ}"ç|"'"'}24'}2+'"'""'"H("p(}29'"r(!ÿÿ"�}"l(##}2-'Í_vÍK*0'&|µÂ˜ÍEÍÄy*2'&|µÊ»*'|µÊµ*'åÍ �ñ!"'*4'&|µÊÈÍÍ|Í]ÍÍÅÍÞÍ|ÍìÉÅ*'|µÊï!$åÍ# ñ*'DM!"'*0'&|µÂ**'åÍž#!$ãÍëñ*'|µÊ*!3$åÍë*p(ãÍž#ñ`i"'|µÊIÍçi*'åÍž#!B$ãÍëñÍ ÁÉÅ!N(å!L$å!S$åÍêñññ!}23'!T$åÍ�ñ}20'!\$åÍ�ñ}2/'!_$åÍ�ñ}21'!b$åÍ�ñ}22'!f$åÍ�ñ}27'!j$åÍ�ñ}2.'!m$åÍ�ñ}26'!p$åÍ�ñ}29'!s$åÍ�ñ}28'!x$åÍ�ñ}25'!}$åÍ�ñ}2*'!€$åÍ�ñ}2,'!ƒ$å!åÍkwññDM|µÊÅÍÙñÃ!"&'!†$åÍ�ñ|µÊ*!)"Ã-!®!"('!‰$å!åÍkwññDM|µÊLÅÍÙñÃO!"'!Œ$å!åÍkwññDM|µÊnÅÍÙñÃq!" 'Íï"$'!�$åÍ�ñ|µÂ’!–$åÍ�ñÕ!|µÊ­!" '++"'+}2,'Ãè!�$åÍ�ñ|µÊÌ!" '+"'+}2,'Ãè!¤$åÍ�ñ|µÊè!" '+}2,'#"'ÁÉÅ!9^#VÕ!åÍkwññDM|µÊÅ! 9^#VÕÍ+ññÃ)!9^#VÕ!9^#VÕÍÀññÁÉ!9^#Vën&|µÊO!9^#Vën& Í ˜ÃR!|µÊ�!9å^#Vás#rbk+å!9å^#Vás#rbk+n&Ñ}Ã+!9^#V!ësëÉ!9^#VÕ!åÍkwññÍ ˜É!9n&ëbk|µÊÑ!àÿ|µÊÑ!÷ÿ|µÊÑ!Ôÿ|µÂÕ!É!ÉÅöÿë9ùë9DM!9^#Vën&åÍ!ñ|µÊ`iåå!¬& å!¬&sásásásásásásásásásásásásëÉ!¸$åÍ#ñ|µÊG !¬&#sëÔ!¼$åÍ#ñ|µÊ_ !¬&sëÔ!Á$åÍ#ñ|µÊ{ !¬&####sëÔ!È$åÍ#ñ|µÊ— !¬&sëÔ!Î$åÍ#ñ|µÊ³ !¬&sëÔ!×$åÍ#ñ|µÊÏ !¬&sëÔ!Ý$åÍ#ñ|µÊé !¬&##sëÔ!ã$åÍ#ñ|µÊ!¬&###sëÔ!ê$åÍ#ñ|µÊ !¬&sëÔ!ï$åÍ#ñ|µÊ<!¬& sëÔ!ö$åÍ#ñ|µÊX!¬& sëÔ!ÿ$åÍ#ñ|µÊt!¬& sëÔ!%åÍ#ñ|µÊ�!¬& sëÔ!É!ÉÅ!9^#VëDM!9^#VÕ`iå`i##^#V!n&å`i##^#V!n&å`i####^#VÕ`i##^#Vbk##^#VÕͽ8 ë9ùÁëÉÅ!9^#VÕÍk ñDM|µÂ.9^#VÕÍ® ñÁÉ`iÁÉÍãdÉÅÅ!]åÍÃ"ñ|µÊ3!ññÉ!9åÍãdñ|µÂT! %åÍ# ñ!9s#rëÑÕ!Í¿—|µÊ!%åÍ# ñ!9å!9^#Vë͘Ñës#rë!/åÍÃ"ñ|µÊ´!9åÍãdñ!9åå!9^#VáÕ^#VáÍ9—Ñës#rëÃ!*åÍÃ"ñ|µÊé!9åÍãdñ!9åå!9^#VáÕ^#VáÍë—Ñës#rëô!+åÍÃ"ñ|µÊ!9åÍãdñ!9åå!9^#VáÕ^#VáÑës#rëÃé!-åÍÃ"ñ|µÊQ!9åÍãdñ!9åå!9^#VáÕ^#VáÍZ˜Ñës#rëÃ!3%åÍIñÑñëÉ!*8åÍñ ñ|µÊƒ!ç&#n&å!ç&##^#VÕÍU-ññÃ]*4'&|µÀ!;åÍÃ"ñ|µÂ]!#åÍÃ"ñ|µÂ!ç&åÍ…ñ|µÊ !(åÍÃ"ñ|µÂË!5%åÍ# ñÍ«*!ç&#sÕ!ç& sÕ!ç&##ë* 'ës#rÕÍ?)ñññ!å#å* 'åÍ?)!9å^#Vás#rbk+n&Ñ}ÃçÅ!Ñ}!9åÍ2ñ ë9ùÁëÉÅÅ;!9å! 9^#Vën&Ñ}÷ÿ|µÊ^áå& ͱ—Ãa!|µÊw!9å^#Vás#rëÃ5áå&Óÿ|µÂž#9ÿÿs#rë9å^#Vás#rëèbk9s#rë!DM!9å! 9å^#Vás#rbk+n&Ñ}åÍ!ñ|µÊí! å.9n&ÑÐÿë`iÍë—DMí!9^#V`iÍë—ñ3ÁÉ!9n&aÍà—|µÊ!9n&zÍÕ—É!É!9n&0Íà—|µÊA!9n&9ÍÕ—É!É!«$åÍë!ãÍž#!.ãÍG!ãÍž#!.ãÍG!ãÍž#ñÍ ÉÅ*'DM!"'.9^#VÕÍëñ`i"'ÁÉ! åÍù˜! ãÍù˜ñÉÅ*'DM!"'.9^#VÕÍž#ñ`i"'ÁÉÅ!9^#VëDM`iå!9å^#Vás#rbk+n&Ñ}|µÂËÁÉ*'|µÊü*'åÍ �ñ!"'ÉÅÅÅÅÅ!å.cålåÍ`rñññ*6'&|µÊ*ë9ùÁëÉ*$'åÍ÷ñ!9å!DMÑës#rë9ë*L(ës#rë`i|µÂ—9å!9^#Vás#r!L(ͱ—|µÂ—!9åÕ^#VáÑës#rë9å!9^#Vë^#Vás#rëÍfm!9s#rë!9å^#Vás#rë9å^#Vás#rbk+n&DM Íà—|µÊë`iÍÊ—|µÊë`i\Í ˜Ãî!|µÊ ÅÍGñ!9å^#Vás#rëÃN!\åÍGñÅ! ÑÍ9— ëÍ9—!0åÍGñÅ! ÑÍ9—!0åÍGñ!9åÕ^#VáÑës#rë`i|µÊ‰!9^#V!2ÍÊ—|µÂ‰.9^#V!(ÍÊ—|µÊƒ`i ͱ—ÃŒ!ÃŒ!|µÊ¥Í ÃO!å.aå. 9^#VÕÍ}mã! 9^#VáëÍZ˜åÍ`rñññë9ùÁëÉÅÅÅÅ*3'&|µÊÛ*6'&ÃÞ!|µÊèñññÁÉbk9s#rë*h("'*'ë!h(ÍñññÍ'1Ã]!H%åÍ# ñÍßÃ]!X%åÍ#ñ|µÊ*ÍbÃ]!_%åÍ#ñ|µÊ=ÍÅÃ]!g%åÍ#ñ|µÊ]ÍÎEÃ]Å;*Â'n&|µÂe*4'&Ãh!|µÊp3ÁÉ!{åÍÃ"ñ|µÊƒÍ*FÃO!k%åÍ#ñ|µÊ�Í4@!}2'ÃO!n%åÍ#ñ|µÊ·ÍðC!}2'ÃO!T9åÍñ ñ|µÊ!9å!ç&#n&Ñ}!ç&##^#VëDMÍ|µÂýáå&åÅÍo6ñ!,ãÍÃ"ñ|µÂÞÍÅÃO!t%åÍ#ñ|µÊÍPÃO!}%åÍ#ñ|µÊ0ÍöB!}2'ÃO!�%åÍ#ñ|µÊJÍŽD!}2'ÃO!„%åÍ#ñ|µÊgÍIEÍÅ!}2'ÃO!‹%åÍ#ñ|µÊ„Í`EÍÅ!}2'ÃO!‘%åÍ#ñ|µÊ¡͉EÍÅ!}2'ÃO!š%åÍ#ñ|µÊ»ÍÆ@!}2'ÃO!;åÍÃ"ñ|µÂO!#åÍÃ"ñ|µÊ!¡%åÍ#ñ|µÊèÍÎEà !¥%åÍ#ñ|µÊûÍbà !¬%åÍ#ñ|µÊ ÍÅ!}2'ÃO!´%åÍ#ñ|µÊ/ÍW!}2'ÃOÍý|µÊBÍP*'&3ÁÉÍaFÍÅ!}2'*'&3ÁÉ!ç&åÍ…ñ|µÂq!¹%åÍ# ñÉ!å. åÍŠ####^#VÕÍ`rñññÉÅ!ç&åÍ® ñDM|µÂÐ!ç&####åÍïÑës#rÍ«*!å!ç& sÕ!åÍ?)ññ!T9ãÍæ9ñÁÉ`i##^#V!n&ë!õÿ|µÊù!ôÿ|µÊù!Ç%åÍ# ñ`iÁÉÅ*Â'DMn&åÍ ñ|µÂÁÉ`in&å͈ñ|µÊ(`iÃ`in&àÿ|µÊD`in& ͱ—ÃG!|µÊR`iÃ(`in&Æÿ|µÊe!ÁÉ!ç&åÍ…!:ãÍÃ"ñÍŠDM##^#V!n&ôÿ|µÂš!Ó%åÍ# ñ`i##^#V! s!å.bå`i####^#VÕÍ`rñññ!ÁÉ!;åÍÃ"ñ|µÀ!ì%åÍ# ñÉÍëå͈ñ|µÊüÍÇ*Â'n&å͈ñ|µÂæÃ*Â'n&|µÊÍÇ*Â'n&å͈ñ|µÊüÍi#ÉÍi#*Â'n&ë!Åÿ|µÊ8bk|µÂ<!É!É!þ%åÍ# ñÉ!9^#VÕÍì"ñ|µÂx! &åÍ# ñÍçi!9^#VÕÍëñÍ !É!É!(&åÍ# ñÉÅ!9^#Vë"ª&sÍi#*Â'n&åÍ ñ|µÂªÁÉ!DM*ª&#"ª&+åÍÇÑ}*Â'n&å͈ñ|µÊÚ`i ÍÕ—ÃÝ!|µÂ¯*ª&sÁëÉ*&'#"&'É!å.bå.9^#VÕÍ`rñññÉÅ!9n&DMaÍà—|µÊ,`izÍÕ—Ã/!|µÂ_`iAÍà—|µÊL`iZÍÕ—ÃO!|µÂ_`i_ͱ—Ãb!ÁÉ!9n&0Íà—|µÊ„!9n&9ÍÕ—É!É!9n&åÍ ñ|µÂ¥##9n&åÍdñÉ!É! åÍù˜ñ!9^#Vën&|µÈ!9å^#Vás#rbk+n&åÍù˜ññÅ! åÍÚ“ñDM#|µÂõ!7&åÍ# ñÁÉÅ*j(Ñës#rë`i"j(!9^#VÕ`i##å!åÍ$™ñññÁÉ*j(ë!j(ͱ—|µÀ*j(åÍ:–ñ*j(^#Vë"j(É*j(##É*j(ë!j(ͱ—|µÊ—!9^#V*f(ës#r!9^#V*"'ës#r!9^#V!ÿÿs#r!9^#V!ÿÿs#rëÉ*j(##å!9^#VÕ!åÍ$™ñññ!É*Â'n&|µÂ¿É*Â'#n&É*Â'n&|µÂÓÉ*Â'#"Â'+n&É!Ä'"Â'sëÉ*Â'n&|µÂ *4'&|µÊ!ÉÍ1ÍÃëÍÇÉ*4'&|µÊ!É*Â'n&|µÂ-Í1ÍÇÉÅÅ*�}#|µÂ?ÍÄy*4'&|µÊLñÁÉÍß*t(#"t(*r(#"r(*Ÿ}åÍ}�ñDMÍÕ—|µÂ}`iͱ—À!|µÊ*Ÿ}åÍ‚ñ#|µÂ›!A&åÍ# ñ!¡}å*�}+"�})Ñ^#Vë"t(!µ}å*�})Ñ^#Vë"Ÿ}*5'&|µÊ×*�}Íà—ÃÚ!|µÊB!é|å*�}Íë—ÑåÍt!Q&ãÍt*r(ãÍ¢$§¡™GT 2b š¢j|t& ¤§Ggʲj Jrj,và×& ¤§)¢Çm rj rºÊtvŒÖ&§!˜ÇRJòjrBzLf¨&§« ¦*Fg€rjz²j tfØ &§«)¢ªG@‹2r’*²*”u(Ó'£#!¤ Ç|Srzb"’"4tU;'¦")"'GRÍ2zrB ”u Ò¨(*)ÇQ�*‚‚¢‘”vx³((*ª!¤GWJò‚’z:",uÌ{(*ª!& ÇX‡r‚ª¢zÄw(*ª!¤)GmÆr‚ª¢B*ÄgØ;(*ª) ¦Çt€j‚ª¢š¤vÀ‹)"$"¬!ÆO€r’"šÊš¤wˆ3)" ¢!¤Gi“²’* "2uð{)" ¢$"Çs²’* "r v°×)"¡¨*)GGÍ2’*¢z$wȯ)"«"©)Çi²’2‚¤w);)'&¨*)GS�2’zº œt$3))ª!¤ ÇVÊ2’š¢2t Ó)+£& £ÇI�2š*š¢ v|×)¢¦!§¦ÇS†²š*bj*tvá)¢ª(*)GO…2šB2¢"tu0G)¤#*&#GQD²šB2¢’¤tøO)¤#**¨FR²š¢’b*ttxÓ)«*(+ ÇiMr¢*j‚¬v„×*) §* ÇI 2¢’Zš¢ v<;*)' ¦*GC²¢’rB t§*¨! ©¢ÇUJrª‚B ”vé7+£!¡(*Gxrºrj‚¢”uà:«©!¤)FYrº’2zr¤u„Ÿ+©$"¬!ÇqIrº’B*Âdt£+©$"¬)GMHòº’J¢*Dvñ7+©$ª#!Çx“rº’J¢r eD+©)¬©ªGcˆb¢zLwব¢©§'Ξ)¢ª(*)GO…2šB2¢"tu0G)¤#*&#GQD²šB2¢’¤tøO)¤#**¨FR²š¢’b*ttxÓ)«*(+ ÇiMr¢*j‚¬v„×*) §* ÇI 2¢’Zš¢ v<;*)' ¦*G¤¢"ÇUM**"ª4uDÒ¢¢!§¦G}r*"B* $vÌ "¢$ª ©G@Âr*"J¢Dtøk"¢$ª&¢ÇTÍ**"’z¼uÓ"¢)¦ ¢Fs@2*r¢B|uÓ"§*""¡ÇpƲ*r¢j*tt8"§*&¢ªGeMr*r¢š¢”vÈ×"§£#'ªÇbr:’2z24uࣩ#'§G`ŠòB* "*”và$"¬"§*F[ÈòJr2Jbtu\³$§(!¤ Ç`Ë2Jr‚"DgÐ$§()ª)GD²JršzdtøW$§)©'«ÇXÄ2Jr²*’¤t‘:¤§¡*£GL "JzŒt¸Ò8 C1 1 B21 B10 E103 B8 C1 -1 B21 F13 277 F98 278 D25 oldrdname B9 C1 5 B4 E105 B10 B21 B9 D25 readname B9 C1 7 B4 E105 B10 B21 E104 B10 E102 F13 275 F98 276 C1 3 B4 B9 C1 B10 E103 F98 281 C1 3 B4 E105 B9 C1 36 B10 E116 F14 280 F13 282 F98 279 C1 3 B4 B9 E105 B8 C1 1 B21 B10 E103 B8 C1 -1 B21 F13 281 F98 282 D25 oldrdfcb B9 C1 5 B4 E105 B10 B21 B9 D25 readfcb B9 C1 7 B4 E105 B10 B21 E104 B10 E102 F13 279 F98 280 D3 rnmptr B9 D27 clname B16 D3 rfcbptr B9 D27 clfcb B16 C1 20 B9 C1 9 B9 D27 curpos B16 B16 G26 979 B9 D27 putst B16 C1 1 B4 B9 C1 20 B9 C1 49 B9 D3 rnmptr B9 D3 rfcbptr B9 D27 infilnam B8 C1 8 B4 B19 B8 B10 E103 C1 1 B4 E105 B9 C1 B10 E40 1 F14 283 D27 blkrname D27 rstfcb B16 B16 B15 B12 F98 283 C1 26 B9 D25 iobuf B9 D27 bdos B16 B16 B5 D6 areg C1 15 B9 D25 readfcb B9 D27 bdos B16 B16 B5 D6 areg D2 areg E101 B9 C1 255 B10 E40 1 F14 284 C1 24 B9 C1 5 B9 D27 curpos B16 B16 G26 1019 B9 D27 putst B16 D27 inpchar D27 blkrname C1 24 B9 C1 5 B9 C1 46 B9 D27 blank B16 B16 B16 D27 rstfcb B16 B16 B15 B12 F98 28v¸× ¢")"©ÇL�2 b¢B v  ¦*'£#Gfj b¢ztvà÷ ¦*)¢ªGm�r b¢ºÊtwu: ©"£ÆkJ² ’’ Êœwm; ©))§ªÆaAâ ¢zLe̲!"'©ÇhŠjb r\uˆ{!&%©' ÇUÇ2z’"*”wˆ¯!)$£¤*Gj rª2r¤t¨Ó!,ª"¨ ÆQJª r$dÜž¡¡ ©©Ft "*Œeè¦!¡£¢ÆnË":¤e�¦!¡¦"ÆjK"b¤eÌ‹!¡¦ª¦*FTbr,fœ>!¡§©FBIꚪv¨×!¤ ©!§ÇeòB ’*ttŒo!¤ ©&¢Çn‘rB ’š,w”#!¤%˜™ÇbF2B’z„tH³!¦!¤))ÆQêb2dô�!¦' ¦¢ÇL‡²b’*"u({!¦)&¢§GtGrb’š”w$¯!¦))¡§GS 2zb œt¨ !§§*)"ÆJ€2‚’J:Dv€×!ª©!¤ ÇfJòª’‚zœv˜""¡¢§*Gx…²"*bzdvÔ_""¦)'«ÇtŠÚ"JlvÀ×"$©¥£*ÇD†r"Jš‚ ”t°Ó"$©¨( Çh2"Jš‚š,w”?"'¦ ©ªGH 2"’²š‚v(2¢)¡¤)G^ƒ2"šB’tˆÒ¢)¤¢"ÇUM**"ª4uDÒ¢¢!§¦G}r*"B* $vÌ "¢$ª ©G@Âr*"J¢Dtøk"¢$ª&¢ÇTÍ**"’z¼uÓ"¢)¦ ¢Fs@2*r¢B|uÓ"§*""¡ÇpƲ*r¢j*tt8"§*&¢ªGeMr*r¢š¢”vÈ×"§£#'ªÇbr:’2z24uࣩ#'§G`ŠòB* "*”và$"¬"§*F[ÈòJr2Jbtu\³$§(!¤ Ç`Ë2Jr‚"DgÐ$§()ª)GD²JršzdtøW$§)©'«ÇXÄ2Jr²*’¤t‘:¤§¡*£GL "JzŒt¸Ò…�Ò“•Ì`eUE$Ù@ÔtÚ[¤°æÛ=� 0äBNí°˜þÓ>Ù1�` „²¨Š ƒȉ*j 1Ð  ª¨¤‚›8žof font RAM sys_dta equ 0 ; RAM bank port address ; ; ld de,(dispparm) ; de <= displacement ld bc,(byteparm) ; c <= byte to put ; di ; disable interrupts ; in a,(sys_dta) ; get current bank state or 080H ; set bit 8, select font bank out (sys_dta),a ; put to bank status ; ld a,c ; put byte to store in A reg ; ld hl,f_ram_start; RAM[font_ram_start + add hl,de ; displacement] = byte ld (hl),a ; ; in a,(sys_dta) ; restore bank status and 07FH ; to previous value out (sys_dta),a ; ; ei ; enable interrupts .8080 RET EXT byteparm EXT dispparm C1: DS 0 ;0 errs *** ;0 code gen errs ***  ; enable interrupts .8080 RET EXT byteparm EXT dispparm C1: DS 0 ;0 errs *** ;0 code g 5 B9 D27 curpos B16 B16 G26 1202 B9 D27 putst B16 C1 4 B4 B9 C1 24 B9 C1 49 B9 D27 yesno B16 B16 B10 E103 D27 blkrname C1 24 B9 C1 5 B9 C1 45 B9 D27 blank B16 B16 B16 C1 4 B4 E105 B9 C1 B10 E40 1 F14 315 B16 B16 B16 B12 F98 315 F98 314 D27 blkrname C1 20 B9 C1 9 B9 D27 curpos B16 B16 G26 1246 B9 D27 putst B16 D27 reverse D27 putblank D25 writname B9 D27 putst B16 D27 putblank D27 nreverse C1 19 B9 D25 writfcb B9 D27 bdos B16 B16 B5 D6 areg C1 22 B9 D25 writfcb B9 D27 bdos B16 B16 B5 D6 areg D2 areg E101 B9 C1 255 B10 E40 1 F14 316 C1 24 B9 C1 5 B9 D27 curpos B16 B16 G26 1272 B9 D27 putst B16 D27 inpchar C1 24 B9 C1 5 B9 C1 68 B9 D27 blank B16 B16 B16 B16 B16 B16 B12 F98 316 C1 26 B9 D25 iobuf B9 D27 bdos B16 B16 B5 D6 areg D25 writfcb B9 C1 32 B10 B21 B9 C1 B10 E102 C1 D7 bufcnt C1 D7 charcount C1 D7 address C1 D7 diskfull F98 317 D3 charcount B9 C1 2048 B10 E116 F14 319 D3 diskfull91 byteparm D91 dispparm B99 ;0 errs ***  .z80 D95 f_ram_start equ 0 ; starting address of font RAM D95 sys_dta equ 0 ; RAM bank port address D95 ; D95 ; D95 ld de,(dispparm) ; de <= displacement D95 ld bc,(byteparm) ; c <= byte to put D95 ; D95 di ; disable interrupts D95 ; D95 in a,(sys_dta) ; get current bank state D95 or 080H ; set bit 8, select font bank D95 out (sys_dta),a ; put to bank status D95 ; D95 ld a,c ; put byte to store in A reg D95 ; D95 ld hl,f_ram_start; RAM[font_ram_start + D95 add hl,de ; displacement] = byte D95 ld (hl),a ; D95 ; D95 in a,(sys_dta) ; restore bank status D95 and 07FH ; to previous value D95 out (sys_dta),a ; D95 ; D95 ei ; enable interrupts D95 .8080 B12 B99 B99 F98 1 C97 D…�Ò“•Ìàd%$•8III&PUTCOL�“SÕ”ÑU dÔõdÔè5=Y1RATOI”Mo€„ @ä¼#+5D @ä¼#+5Y Åâ!%áYª!%áYª! €¬Ðâñxˆ@€ÉxFVjˆ@€ÉxFVj³hˆÄCe€œlÐâÍ ¨>-XU�Cmœ¬Ú�ñaÛðURŸ¬*ð!¬Ú¼ñaÛðUeŠÏ‹VUŽW�ˆ ÍvDB¬«V*¬ÚäñX0X­Ê͸À¿Vm›xЬø¬V+¹Y·âÍ©à Ð’͸r^•„$eÊÍ,ۺɎ€VmÖx²X¬Ð"�c“˜ŒäëhµD C4>-YU‡EÀD åÊ^•‚n˜Œäb5ŠØwÐB9D ä¼#+8C" B9D ä¼#+8C&á0D3@x²X¡ÄkœÄg'[Eª!·èøµeXðp€—)xFV ¸Nb3‘ˆÖ+aÔЋUÖ"¤ "Ê!%áYÂ7 €*pͧ`,:ºñd±B ˆÖ99ˆÎN¶‹TB3j˜ ñjʽ,;~!.RðŒ¬pœÄg#¬Vó€"!Ê!%áYÂW@倀’ðŒ¬á ›„À‡fØ ¬x²X¬Pˆb5ŽNb3�DuŽB ÌFruˆ@ÀÉxFVjˆ@€ÉxFVp†MÂ`D`f€Å«*ž�@ÀÉxFVjˆ@€ÉxFVp†MÂ`Drf€ :€!‹VU’aÕ°!9r—„e`›„æ#9�b¶€—(„r‹€ƒ’ðŒ¬áf€Q(9/ÊÍQ 9/ÊÎɸLh†B-øe¢ë9ˆÎN¶Hh¼]l’¡ Ê ;›ÎF³I¸Î 1š '# Œèe9fS €Òs "q”î 9™N€΀ALTSETŽ€d%$•8î0ARRDRIŒÚd%%4õXïP ATOIŒ•T$Ää¸ÏBYTEPAŒÄ€D44UÉÀCCGEŒŒ�D44ÄXÍ CCLTŒ¶d44ÕTÅHÉ@CHARSEŒôd4Å%44èÊCURPOSŒæ€äD•5̸IOC1ŒÖD”ô3(˸MAINSE…�Ò“•Ì U$BEu(M9M9NP5f€ : Éf€ :ÉŽ€U$BEu(ÈRD_WR2Œ„E4å3(è8SNSDNSœžcod era chargen.cod m80 chargen,=chargen.asm/m era chargen.asm cc chrnw1.c c2 chrnw1.cod era chrnw1.cod m80 chrnw1,=chrnw1.asm/m era chrnw1.asm cc chrnw2.c c2 chrnw2.cod era chrnw2.cod m80 chrnw2,=chrnw2.asm/m era chrnw2.asm cc chrnw3.c c2 chrnw3.cod era chrnw3.cod m80 chrnw3,=chrnw3.asm/m era chrnw3.asm cc chrnw4.c c2 chrnw4.cod era chrnw4.cod m80 chrnw4,=chrnw4.asm/m era chrnw4.asm cc chrnw6.c c2 chrnw6.cod era chrnw6.cod m80 chrnw6,=chrnw6.asm/m era chrnw6.asm cc chrnw7.c c2 chrnw7.cod era chrnw7.cod m80 chrnw7,=chrnw7.asm/m era chrnw7.asm cc chrnw8.c c2 chrnw8.cod era chrnw8.cod m80 chrnw8,=chrnw8.asm/m era chrnw8.asm m80 =io l80 þ Êàþ ÊàþÂÆåÅ*í.Ô>–wÁáÔ#wÅåÍtáÁ~þxŽÈ€äÔõdÅHêMOVMANŽódÔõe4UHÎNREVERŒã€eUD$ÄÏPUTCHRŽî€eUD4ôÈÏPUTRAMŒØUUE5HËpREADNAŒ¦e$UdU%9Àž8î0ARRDRIŒÚd%%4õ movman B18 C1 B4 B9 C1 B10 E103 F98 16 C1 B4 E105 B9 C1 2048 B10 E116 F14 15 F13 17 F98 14 C1 B4 B9 E105 B8 C1 1 B21 B10 E103 B8 C1 -1 B21 F13 16 F98 17 C1 B4 E105 D7 dispparm D25 mainset B9 C1 2 B4 E105 B10 B21 E104 D7 byteparm D27 putram F13 14 F98 15 B16 B12 B99 D61 movalt B18 C1 B4 B9 C1 B10 E103 F98 20 C1 B4 E105 B9 C1 2048 B10 E116 F14 19 F13 21 F98 18 C1 B4 B9 E105 B8 C1 1 B21 B10 E103 B8 C1 -1 B21 F13 20 F98 21 C1 2048 B9 C1 2 B4 E105 B10 B21 D7 dispparm D25 altset B9 C1 2 B4 E105 B10 B21 E104 D7 byteparm D27 putram F13 18 F98 19 B16 B12 B99 D61 atoi B18 B18 C1 B4 B9 C1 B10 E103 C1 2 B4 B9 C1 B10 E103 F98 24 C1 6 B4 E105 B9 C1 4 B4 E105 B10 B21 E104 B9 C1 48 B10 E119 F14 25 C1 6 B4 E105 B9 C1 4 B4 E105 B10 B21 E104 B9 C1 57 B10 E117 F13 26 F98 25 C1 F98 26 F14 23 F13 27 F98 22 C1 2 B4 B9 E105 B8 C1 1 B21 B10 E103 B8 C1 -1 B21 F13 24 F98 27 C1 B4 B9 C1 10 B9 C1 4 B4 E105 B10 ä¼#+5D ä¼#+8C!æëaÝa9/ÊÂp2o[%Š F±ÉÌFru´Z¢ ›q��‹VUUaÓÀq9r—„e`›„æ#9�b¶�’ðŒ¬Õ€€’ðŒ¬á „D›­‡JAÞ,’!ÈÒv2ˆ §S™Ð@b2ˆ"yÈ@B�&Ã(€Üa6™D3 ¸@n7�#(€Äl0›�`1¤Øe'(€èo7ˆ †óqœB6MƱ˜Òl2ˆ‡“�”F4› ¢q„Úe æñ°Þn3€Ãáà°v:�ÅE²è€S(HdP€ÒsMÇc °ÒdM€Ìi6D¡äàeŒ&Ó(34P“S’ã$ Ñ F3ØÐÑÕ##àñ 1R;f �ÒPÒÐã¡Àõ 1 ;j �Ó�SQcµÙ UI@ÈÒ3` �ÕT”Ôã %9%1:3’S”Õ£-@Ù9IYJ2Î ”U“c,`ÙAUQ !J3$ TUÕ#'@ÙIYIN3|•TÐTÑgžB6MƱ˜Òl2ˆ‡“�”F4› ¢q„Úe æñ°Þn3€Ãáà°v:�ÅE²è€X H MOV D,M POP H DAD D LXI D,32 MOV M,E XCHG JMP C50 C51: LXI H,4 DAD SP MOV E,M INX H MOV D,M LXI H,14 DAD D LXI D,0 MOV M,E POP PSW XCHG RET ENTRY clfcb clfcb: PUSH B LXI D,0 MOV H,D MOV L,E DAD SP MOV M,E INX H MOV M,D XCHG C56: POP D PUSH D LXI H,36 EXT CCLT CALL CCLT MOV A,H ORA L JZ C55 JMP C57 C54: LXI H,0 DAD SP PUSH H MOV E,M INX H MOV D,M INX D POP H MOV M,E INX H MOV M,D MOV H,D MOV L,E DC…�Ò“•Í d”äd”Äè 195CLFCB��ÕT” � d4„T4´9@×ÄŠÅb±X¬V+ŠÅb±D!ä"Äg'X„ —„ec¬øµaU Qppr^•š¬Ûj ñ†€’ðŒ¬ÕfÐàwˆ„@—„ef¨„@—„ef¨„r³@‹ÅâÍ"ä¼#+5D"ä¼#+5Y Åâ!.Qx9/ÊÍQ8å69Y ÅâñhºÎb3“4†QpÊ.#9YµDâñxˆAÉxFV1Ï‹Vµ†±ËåÖɇ’ðŒ¬Õf€H9€1ÈBKÂ2°„uœÂ ¬r€b3�„8—„ec¬Fn,gødøµaV@pHrb3�„8—„egY¸L¯ßá“âÕ•J@D!Àä¼#+:ÍÂ`D„f€ :X!€‹VUO†€’ðŒ¬Õ‡€’ðŒ¬ë7 €ûü2#hŸBL:È!!æ#93m@0†«ƒ¹Y ÄBB ÌFr€€’ðŒ¬b5ŠÏ‹V!æ#9AÀXä"Äg ˆ(ë„@˜Œäë„€’ðŒ¬Õ‚€’ðŒ¬áf€Å«*ó€ˆA@ÉxFV‚ Ðøµe^p9€@1ÉÖ|Z²¯8„—„eaͤ€,;Ô!‹VU–aÐP!H9r—„e`›„æ#9�b¶��—(„<—„ef¨„,—„egdÜ&9D •›lÁ^/‹¬æ#9C€ÉxFVjˆB€ÉxFVp†MÂ`E¤ÿ Ÿ¬*®.B ÌFru°ï�„4—„ec¬F僒ðŒ¬á ¹D!àä¼#+5D!`ä¼#+8C&á0¢} A@Ë”¼#+Ü'1ÈÄk°ï�„¹D!@ä¼#+8Nb3�„—„ea áþ>-XWH\—„ef¨„(—„egdÜ&EÀmâaÝP!|Z²¯ „$¹KÂ2°MÂsœƒapÖ9€@1ÉÖ!%áXÄk>-XTX \„@˜Œä͵ÂØåfÖˆ„—„ec¬V|Z°© (ä"Äg ˆë„@˜Œäë„€’ðŒ¬Õ‚€’ðŒ¬áfÚàâÕ•VÀÚ-Q͹ L:¼!0 E40 1 F14 37 C1 26 B4 E105 B9 C1 9 B10 B21 B9 C1 67 B10 E102 C1 26 B4 E105 B9 C1 10 B10 B21 B9 C1 72 B10 E102 C1 26 B4 E105 B9 C1 11 B10 B21 B9 C1 82 B10 E102 C1 28 B4 E105 B9 C1 14 B4 E105 B10 B21 B9 C1 46 B10 E102 C1 28 B4 E105 B9 C1 14 B4 E105 B10 B21 B9 C1 1 B10 B21 B9 C1 67 B10 E102 C1 28 B4 E105 B9 C1 14 B4 E105 B10 B21 B9 C1 2 B10 B21 B9 C1 72 B10 E102 C1 28 B4 E105 B9 C1 14 B4 E105 B10 B21 B9 C1 3 B10 B21 B9 C1 82 B10 E102 C1 28 B4 E105 B9 C1 14 B4 E105 B10 B21 B9 C1 4 B10 B21 B9 C1 B10 E102 F13 38 F98 37 D27 curp24 G26 83 B9 D27 putst B16 C1 4 B4 B9 C1 B10 E103 F98 38 F98 36 F98 33 F98 23 C1 16 B4 B9 C1 4 B4 E105 F14 39 C1 6 B4 E105 F14 39 C1 2 B4 E105 F13 40 F98 39 C1 F98 40 B10 E103 F13 2 F98 3 C1 26 B4 E105 B9 C1 12 B10 B21 B9 C1 B10 E102 C1 26 B4 E105 B9 C1 13 B10 B21 B9 C1 B10 E102 C1 26 B4 E105 B9 C1 14 B10 B21 B9 C1 B10 E102 C1 26 B4 E105 B9 C1 15 B10 B21 B9 C1 B10 E102 C1 26 B4 E105 B9 C1 32 B10 B21 B9 C1 B10 E102 D27 nreverse C1 1 B8 C1 24 B4 B19 B8 B12 B99 D61 checkchar B18 B18 B18 C1 B4 ‹VUáa×�1H9r—„e`›„æ#9�b¶8€—(„<—„ef¨„,—„egdÜ&9D •›lÁ^/‹¬æ#9C@ÉxFV‚@—(„—„egeÊ!%áYª! %áYÂ7 € èHB\¥áX&á9ˆÎF#X­‡Y€Ä `ä¼#+@`mI>-YT BKÂ2°„fÕ`6€Å«*�3m@0†Ãƒ¹Y´L â F±ÉÌFru´Z¦#X¬øµaR@Qp8r^•ŒF±Yñj« ‚à0ä¼#+�gÅ« ’³m@0†Í¹Y´Lâ F±ÉÌFru°é („ —„ec¬øµaPàQphr^•„ �d"CÄ! ä¼#+A@ÈD�9ˆC@ÉxFV‚À�‰Hs‡’ðŒ¬Õƒ€’ðŒ¬á „EÀ˜„8—„ef¨„—„egdF!€bàr^•š¢pr^•œ!‘Œ"HÄ!Àä¼#+5D àä¼#+8C"1Œ"RÄ!Àä¼#+5D àä¼#+8C"1ŒFn¶$fÚ€a ªr³jh#ÄBB ÌFruˆBË”BKÂ2³¬øµeTàQ9/ÊγâÕ•S�D ä¼#+:ØuDB4]g1ÉÖâàÐr^•„ Àd"Ä! ä¼#+A ÈD9ˆC@ÉxFVƒ€�ˆs†€’ðŒ¬!€!æ! %áXB B Í›c@ D0uŽ_.¶KŠÅ€—X†ÞƒºÎb3�DuŽB ÌFr�±Ë”B KÂ2³„æ#9:Ä @ä¼#+A€mÀ>-YVŒ‡AÁ„ @åÊ^•‚n˜Œäb5ŠØw|B MÂ`”BKÂ2³TBKÂ2³„2n,Ûü|Z²¯ („„@˜Œä͵ÌÚ®Í  äÜ&\ðÉñj«@”åfÑ`W‹³A@ɸLr³@‹6žƒ3m0(†è¹YµPâ!%áXÄk>-XV4CyÁܬÚâ ñaÙPa ìr³l83ÄBB ÀÌFru°ï +Å¢ñu²D!€”\r³kPÅâÉb„@¬rsœ�m¨„fÞ SâÕ•˜wŒB\¥áX&á9ˆÎF#X­‡p„ @…�Ò“•Í d5$”t‰@ÔlŠÍ À”\r³@‹ÅšB`+4x³@ �r³@ µq³i†ä€8Ù´¨â!¢à •›C/m„ÀVmx³hà†î9Y´ÄC|ÀlÚ¦!¡ .6mZx„@¬rsœ�m¨„@Nf€Å«*Ç@Ë”¼#+Ü'1ÈÄk°ëpÅ’ ŽG1<æb7œ�ÆQ Þm8N†S�€†o9 ç# ÐÒo7 �Øj3†qÐÒ !›Î§# °@$O's ÈÈ,È"äh5 @ˆäp4ާC©ÈÊ )žNgC)´æ,!À€œo1 “a°@A;MÇS(°@(MÆóa”X !�DÈÐj6#.€ 1R2�Ó”ÐÓ£  AI%"2x�ÕT”Ôã)€I=2‚QÔ‘“Ó£)AUQ !J2ÂTUÕ'žË”¼#+Ü'1ÈÄk°ëpÅ’ ŽG1<æb7œ�ÆQ Þm8N†S�€†o9 ç# ÐÒo7 �Øj3†qÐÒ !›Î§# °@$O's È CALL putst LXI H,C1+99 XTHL CALL putst LXI H,C1+121 XTHL CALL putst POP PSW LXI D,0 MOV H,D MOV L,E DAD SP MOV M,E INX H MOV M,D XCHG C4: POP D PUSH D LXI H,20000 EXT CCLT CALL CCLT MOV A,H ORA L JZ C3 C2: LXI H,0 DAD SP PUSH H MOV E,M INX H MOV D,M INX D POP H MOV M,E INX H MOV M,D MOV H,D MOV L,E DCX H JMP C4 C3: POP PSW RET EXT putst EXT grfoff EXT putchr EXT grfon EXT curpos EXT clrscn C1: DB ' 1983 OsboB10 E118 F14 19 C1 6 B4 E104 B9 C1 127 B10 E116 F13 20 F98 19 C1 F98 20 F14 18 C1 B4 E105 B9 C1 13 B4 E105 B10 E116 F14 21 C1 13 B4 E105 B9 C1 2 B4 E105 B10 B21 B9 C1 8 B4 E104 B10 E102 C1 6 B4 E104 B9 D27 putchr B16 C1 B4 B9 E105 B8 C1 1 B21 B10 E103 B8 C1 -1 B21 F13 22 F98 21 C1 7 B9 D27 putchr B16 F98 22 F13 23 F98 18 C1 7 B9 D27 putchr B16 F98 23 F98 17 F98 13 F98 11 F13 2 F98 3 C1 13 B4 E105 B9 C1 2 B4 E105 B10 B21 B9 C1 B10 E102 C1 2 B4 E105 B8 C1 7 B4 B19 B8 B12 B99 B99 F98 1 C97 D91 reverse D91 nreverse D91 putchr D91 inpchar B99 ;0 errs *** 8 10 F13 11 F98 4 C1 6 B4 E104 B9 C1 13 B10 E40 1 F14 12 C1 4 B4 B9 C1 1 B10 E103 C1 2 B4 B9 C1 2 B4 E105 B10 E103 F13 13 F98 12 C1 6 B4 E104 B9 C1 141 B10 E40 1 F14 14 C1 B4 E105 B9 C1 B10 E118 F14 15 C1 B4 B9 E105 B8 C1 -1 B21 B10 E103 B8 C1 1 B21 C1 72 B9 C1 31 B10 E111 1 B9 D27 putchr B16 D27 nreverse C1 32 B9 D27 putchr B16 D27 reverse C1 72 B9 C1 31 B10 E111 1 B9 D27 putchr B16 F13 16 F98 15 C1 7 B9 D27 putchr B16 F98 16 F13 17 F98 14 C1 6 B4 E104 B9 C1 31  B99 D61 clfcb B18 C1 B4 B9 C1 B10 E103 F98 56 C1 B4 E105 B9 C1 36 B10 E116 F14 55 F13 57 F98 54 C1 B4 B9 E105 B8 C1 1 B21 B10 E103 B8 C1 -1 B21 F13 56 F98 57 C1 4 B4 E105 B9 C1 2 B4 E105 B10 B21 B9 C1 32 B10 E102 F13 54 F98 55 B16 B12 B99 B99 F98 1 D96 Drive must be A or B\00 D96 File name can not be blank\00 D96 File type too long\00 D96 Blank file type\00 D96 File name too long\00 D96 .><,;:=?*[] \00 D96 SPACE\00 D96 is invalid in a file \00 D96 type\00 D96 name\00 C97 D91 putchr D91 putblank D91 putst D91 upcase D91 nreverse D91 inpstr D91 curpos D91 reverse D91 blank B99 ;0 errs *** utst B16 F98 49 C1 4 B4 B9 C1 12 B10 E103 F98 45 F13 41 F98 42 C1 2 B4 E105 B16 B16 B16 B12 B99 D61 curp24 C1 24 B9 C1 5 B9 D27 curpos B16 B16 B12 B99 D61 clname B18 C1 B4 B9 C1 B10 E103 F98 52 C1 B4 E105 B9 C1 14 B10 E116 F14 51 F13 53 F98 50 C1 B4 B9 E105 B8 C1 1 B21 B10 E103 B8 C1 -1 B21 F13 52 F98 53 C1 4 B4 E105 B9 C1 2 B4 E105 B10 B21 B9 C1 32 B10 E102 F13 50 F98 51 C1 4 B4 E105 B9 C1 14 B10 B21 B9 C1 B10 E102 B16 B12…�Ò“•Î dTåD”ô89Q !>WRFONT�’SÓQS•`d”ô4„ô˜]I59IWRALRA�‘“•QTàeu%5•5H%=58ÆWRTRCK�’SÓQSŒ dtUDE%h]IMfSIOERR��S�РUt%•DX]1UM"RDSYST�”‘�Òàe$De5˜I eQP5 ˆ@Ë”B9EÁ—(¸båˆÜ¬Úc—Ë„æc“p˜3dŽÄ4$-ÊÍ©ÁO9ˆ7[…Ê&Y¯ðÉñjʱ@ Ûê!.VmhŸBB€Ê.¹E.Vhñx¼\.Q0"φO‹VwfØð:p¹DÀ‹9þ>-XTè›{Àtèš Ù,Pˆb5ŽNb3“­¢Õ€ Ðøµe^½€—)xFV ¸Nb3‘ˆÖ+a٠倀’ðŒ¬á ¹D ”BKÂ2³„2n'ГÕ@ +r³jp ÅâÉb„@¬rsœ�m¨„fÚâÕ•P@XttB\¥áX&á9ˆÎF#X­‡~€ ”BKÂ2³„2åÜÀ(„—„egdÜ&4O¡& €@ ÊÍ©À/‹$B9EÀW+4xˆhø[�š-YT¤ ›}B„ åÊÍ  èHB9EÀ—(¥ÊÍ«à‹ÄB9EÀ—(¸FåfÜ ‹Åâár‰€{ü2|Z°¨4fÛ¦h!€¢ ÊÍ¥ÀO‹6Ø…0ìè …Ê&YÏðÉñj³ ,ÛÊͺaLÛÖ!€¢ ÊÍ¥ÀO‹6é…0ìè 6Å€ Ù,ÚŠ" 4>-X�Ê.¹YµXâ!±an6m‡xˆ@@ÉxFVj³jh†Ê¸Ùµd â*¦@A2åf€hÍ@˜}¿Ã'Å« È� €0"3@”€Å«*æ�@€ÉxFV¿_á“âÕ…m…U� Êͧ oë€@ F"b±# ЇzÀ„ ŠÜ €ƒ’ðŒ¬ë[À!"¸ B±XŠâ�3n@6Ó„…�Ò“•Íàd”å5E)@Ô ŠÅbŽÂ ˆÖ99ˆÎA Ö9€1ÉÖ!%áXÄk>-XW�\¹Y Dú�€“p˜;?Ã'Å«*¸€@ÀɸL�á“âÕ•\@ `äÜ&N¯ðÉñjÊ® 0rn!°4a×@|Z²®x„—„ec¬V|Z°® ¸9€@1È":Ç&á0"å†O‹V¯ˆÇ!pæ#9:ØtdB\¢@rn.³˜ŒäëaÑ�åf€�€“p˜y¿Ã'Å« þ€ €ƒ�ˆsœ‚ ¬r倀’ðŒ¬á9ˆÎN¶�€“p˜9¿Ã'Å« «ŽKÂ2°„f€Å«*¥€ˆ@Ë”¼#+Ü'1È&!¬Û’ñf€ÊÍ¥à/h!¬ÚtñaÑ�åfÔP‹Œ€@ÀɸL‡À ÐøµeW€97 €ø›E@XuìB¬«²ÑjµD Ðä¼#+8YµÌøµe\à49/ÊÍQ9/ÊÎË”BMÂ`Dú�€“p˜åfÕˆ„¹KÂ2°MÂsœŒF±[Œ€@à+6ܼXtdB9Y·Lâã hr^•š¢r^•œ!�ˆs€€’ðŒ¬!€/—[&2ØÐÑTc1€1 R2ÂÐÓ#%€%9A !:’S”Õ£&`99IYJ3¼”UÒ£'À9IYINpž97 €ø›E@XuìB¬«²ÑjµD Ðä¼#+8YµÌøµe\à49/ÊÍQ9/ÊÎË”BMÂ`Dú�€ C1 4 B4 E105 B10 B21 E104 B9 C1 48 B10 E119 F14 25 C1 6 B4 E105 B9 C1 4 B4 E105 B10 B21 E104 B9 C1 57 B10 E117 F13 26 F98 25 C1 F98 26 F14 23 F13 27 F98 22 C1 2 B4 B9 E105 B8 C1 1 B21 B10 E103 B8 C1 -1 B21 F13 24 F98 27 C1 B4 B9 C1 10 B9 C1 4 B4 E105 B10 Š«°˜|Z°©`¸$å\¬ÚŠñxˆ@@ÉxFVj³k†Ì…¸Ù´0 â*µ@A2åfÖÀ'‹6¸@É„€Qp%Ê.9Y·Hâñx²D7¤1ÊÍ7¤1Æ!%áX&á9ˆoH`�Ê!´ÁnVhñxˆoH`D ¹B'ðTÜ&4Y DúÞ�Àˆ(r„O੸Lh³kˆDú‡€Q é r³@‹Äú2!0”CzC¬Û*ñxŸFVl B9D7¤1ÊÍ´Ào‰ôekÅVô L€_á“âÕ…uÅÀ3èÊ÷�2D! ”B9Y¶Ü âñ>Œ®†ô†DÈD9„@Xˆ€ D ¯ðDfÓ€#âÕ•KÁtpU@Ab*$+aÐA ,uЍ° dÜ&9Y¶\â⠌ۊ*¿`gÅ« Ç‚ ‚Q é r³nèÅâ}^01 é ‚@—(Ej›„À‹4hŸBBÒ.PŠÕ7 € m[hŸBBðÊ!½!ŽVmBx¼O£*�!£+¢É€ÀÑ•ŒdŠ©˜ ¬øµdnÈ”U}@Äb+F+h†\¢ rn'Ð�ªÓ‚PðÉñjÀfÜPFHªÜ¬�TåÞ�Ç+6¿‚<^'Ñ•…] A0øµe^ÐA"³Œ‘"¸À‚«â@´øµeQðV_@AŠ‚‚ŠØwÌCgÁbª €7[‚ˆ@dŽÄ6È-ÊÍ©ÁO9ˆ7[…Ê&Y¯ðÉñjʼà¬Ûê!.VmhŸBB€Ê.¹E.Vm7x¼^"�Ê.¹EÂ7+6®‚¼^/ ”L³ßá“âÕ…kY´8 ›lB™´PT9Y ÄV|Z°­0(�Ê*¾@.QåfÞÀW‹ÅâͶ!L:p ár‰€sü2|Z°©À+6À³n˜S6ÃЬH+•›cA^"³âÕ…xAEÀ7(ª��9D @•›{^/‹6é…0éÀ+6• Ù,ÚŠ"¢àa›~�‹V„$r‹�.Vmÿxˆnp[�›DÀÞ" r^•š¬Ú !ºán6mxН€(D‚ ¹Y´| âͤ`lÚæ*²€‚`Eöÿ Ÿ¬*ž *°€B`DfØÀ&R€Å«*Æ@ÀÉxFV¿_á“âÕ…\�…TˆÊÍ£ ††˜©qˆhiêQœ|†�‚¤†Ÿ½Èi*Jh±’ z†˜Œ†…ÇÈiéÊŠH±ŸÐ¬†ª¤ ž§êȉ*ihʱŸ�lˆ¤¬¦ ‡¥¨Ši(ˆ±ŸlŠˆ¦š‚‰ ȩʈi ñÐ Šœ¨’ž‡+È©èÈÉê±ÔàŒœ¨šŠ§EÈ誈ŠJÑ”ð¬�Š‚ˆŠ¥+ É)Êi1• œ’œ ˆ†‘4©)èJ¨Ñœ€¨’ž†cê ‰)èfQßP¬’ž†�ž“± É)騩Æ1Ý0¬’žšŠœeN É)騩ʱž€\š‚’œš‹¾É¨))Êh±žP š‚œ®²�É©Èf1˜ ¬œ¤Š¬Š¥R Ê Iè舱Ÿ ¬ ª¨„˜ƒœ Ê ªˆi Qž l ª¨†ž™ ª ªŠj‘ßpz¤„²¨‹¨ªH„ŠêQÑÐ|¤ˆ‚Œ¦³&ÊHŠk*j‘ÞÀ\¤ˆ¨¤†— ÊHªˆi葖Ь¤Š¬Š¤§�ÊJèɈ(ñ™ l¦Š†¦¨ƒ§ Êi)èªJQ“l¦œ¦ˆœ§<ÊjŠHj 1” l¦¬¨ ¬ƒ ÊŠIjjˆ1™Œª †�‚¥—ªèK*ˆ±ÜPL®Œ˜ª¦‘=ÊêH(Êk1Þ𠮤‚˜¤ƒ(ÊêHÉéÊ‘Øð ®¤šœ¤ƒ‹ÊêJk*j‘Òà,®¤¨¤†—8ž ¬ ª¨„˜ƒœ Ê ªˆi Qž l ª¨†ž™ ª ªŠj‘ßpz¤„²¨‹¨ªH„ŠêQÑÐ|¤ˆ‚Œ¦³&ÊHŠk*j‘ÞÀ\¤ˆ¨¤†— ÊHªˆiè‘–ÐÄCIÌÖ 4›„C‘¤ìeÎB©¸Ìo9L'C¡”È"Nf±¤æ ;œ�æã8€Èe7Í'CÈ�a9s‘¤èeNG#yÈH0œŒ‚‘”ÂdNG#yÈP9Ng1ð¤E*JDáð€èoÍæã¡¤Üu2€†ñäÞuÌ&ã €èobh€Šx4�Cx€èh2ˆ ¦I¸@M2›Ž ˆ€Z *œÌ¢¡ Ê „ÑTæe QŠn:NB™”Øe1� &óp€Þ�Ì‚˜¨Œ†…È)ŠŠhª‘”P‚˜¨®²�ˆ*H¨ñ•À¬‚¤¤‚²§ýÈ*JJi걑Pˆ„ˆž§H ¨Iˆ)Éq“ÀŒ„ªŒ†œ©‡¨hh)È‘›Pˆ††Š£h ˆhh豚px††Ž©} ˆhiˆ±�婢+¢#ˆ®Ø¬V"¼ B1æfÞ�&ª€*ì .KÂ2³¬E^Á„ ŠÀ Åb+ ͰàÌÛN*¦€Â`ñj¡€âà“”\ r³h3Åâ!%áYªÍ£À¼ãfܰgˆª´H Ë•›J�ž,Ú\ !½AnVmÒxˆ@)ˆÇ%áXUu�ƒ" B9EÀ—+4x¼Y"�Ê.¹EÂG+6¶‚¼^/H†ô†9Yµ CzCb r^•‚n˜†ô†Ü¢ÜåfÕÀ7ˆ„4qˆh€+•›u/èÊî‚Aà(†ô†9Yµ âñ>Œªp8ª¯ƒ‰€ ü2|Z°«°8¸}ZàfH†ô†DÈD9„@XˆÞ�Àˆ€€0ŠëR0Q"¤ ‚«<·Øøµe\àv¼ZqŠÙŠØv€CGAb«lr³o¸;DúaÛq@åÞ�Ç+6¬ƒ¼^'Ñ•bX`qYñj½àâà!ôe\ÁÙ"ú2½€ì‘UàŸ¬*ÉY€pŠþ>-XTÌ \rˆoHc•›uÁÞ/èÊ¨Ø@˜|Z²©h@„_€q" AˆåS�Šœ Ú!“p˜Éb±Gb�Ê.¹Y¶øâ!¿An6méxˆ@ ÈD9ˆÎN±9/ÊÆ#Yñj¾à“”\1r³j€CÅâ!.VhÑ>„„ åÊÍ.(˜_¿Ã'Å«*Ý8\¢`E|ÿ Ÿ¬«tár‰€h›R�˜vô B¬«Ê€ F±ÉÌFr€À±Ë”BMÂ`E~ÿ ´]g1ÉÖìÁ8ÊÍ»ÀÏf„€Qp%Ê.¹Y´\âñx¼D ä¼#+ 0 */ /* enter characters in decimal => 1 */ /* enter the character => 2 */ int edsmade; /* edits made since last read */ char altchar[16]; /* alternate character */ char *ioC1,*ioC2; /* font RAM I/O globals */ int dispparm; /* displacement */ int byteparm; /* byte to be put */ /* system track I/O globals */ int rwflag; /* 0 => read, 1 => write */ int secstart; /* starting sector to write */ int trkstart; /* starting track/* Osborne character generation program PUTRAM routine: putram(displacement,byte) where "byte" is put in the "displacment"th font RAM memory location *IMPORTANT NOTE : this routine must be the last module in the linking list. (this is to insure that this code resides above location 4000h */ /* global variables for assembly interface */ /* ---------------------------------------------*/ /* ---------------------------------------------*/ putram() { extern int dispparm,byteparm; #asm .z80 f_ram_start equ 0 ; starting address of font RAM sys_dta equ 0 ; RAM bank port address ; ; ld de,(dispparm) ; de <= displacement ld bc,(byteparm) ; c <= byte to put ; di ; disable interrupts ; in a,(sys_dta) ; get current bank state or 080H   to write */ int dside; /* Side on which to write */ int drvspc; /* 0 => drive a, 1 => drive b */ char retcod; /* error code returned by sys track I/O, also used by snsdns*/ char svtpval; /* SAVTYP value returned by snsdns() */ main() { int exityn; char command; /* extern char *allocs; */ putchr(ESC); /* turn off function key translation */ putchr('f'); /* allocs = 0; */ rnmptr = readname; rfcbptr = readfcb; wnmptr = writname; wfcbptr = writfcb; cpright(); /* display copyright message */ altwyn = FALSE; /* alternate set not written */ manwyn = FALSE; /* main set not written */ edsmade = FALSE; trantab = "0123456789ABCDEF"; mnC1 = "Continue"; pptr1 = "edit"; pptr2 = "copy"; ioC1 = "Main System Set"; ioC2 = "Alternate System Set"; onchar = '*'; offchar = ' '; setptr = charset; nreverse(); /* not reverse video */ bright(); /* not half intensity */ clìsÅ;!åÍÄ!fãÍÄñ!ÏO"ÍO!©O"§O!åN"ãN!¿N"½NÍj[!"¹6"·6"E5!Ö-"¤6!ç-"¦6!ð-"K5!õ-"I5!ú-"35! ."15!*}2N5. }2M5!½F"»FÍ-Íå,Í-*ÍOåÍ.Z*§Oã͇Z*ãNãÍ.Z*½Nã͇Zñ!9s#rë"ÞOÍ¢+!9^#Vbk|µÂ”ÍL,!9å!å.(å.1å.7å͘gë9ùás!å.å.åÍ¥*ñññ!å.å.KåÍ¥*ñññáå&Íÿ|µÂ Ͷìáå&Îÿ|µÂ Íìáå&Ëÿ|µÂ3Í8$ìáå&Ïÿ|µÂFͲcìáå&Ìÿ|µÂYÍ`ìáå&Êÿ|µÂlÍ´^ìáå&Éÿ|µÂ¬!.åÍ-ñ+|µÂ¬bk9s#rëìÍÌ,*·6+|µÂ£ÍýQ*¹6+|µÂ¯ÍLRÍ-!åÍÄ!eãÍÄññ3É!å++9n&åÍÏuññÉÅbk9s#rë!9^#VÕ!9^#Ván&|µÊ+Ã!9å^#Vás#rbk+Ãà!9^#VÕ!9^#Ván&åÍÄñÃüñÉÅÅ!9s#rë9å!4å. 9^#VÕÍ™kñÑÑës#rë*E5|µÊ²!å.åÍœ,ñ!*.ãÍÕñ!9^#VÕÍÕ!R.ãÍÕñ!9å!å.9^#VÕÍû*ññÑës#rë!å.å+9^#VÕÍ¥*ññññÑëÉÅÅÍ¡Q!"G5. }2¢6l}2£6ÍAÍQ*¢6&åÿ|µÊ !9s#r!å.2åÍœ,ñ! ãÍÄ!ãÍÄñÍZ-}2¢6!¢6åÍX*ñÍõ,*¢6&åÍ¡-ñÍ-*¢6&¸ÿ|µÊM*¢6&¼ÿ|µÊM*¢6&CÍÐtÃP!|µÊg*¢6&å!åÍññÃr!9s#rë!9^#Vbk+|µÂÒ9s#rëÑÕbk+|µÂÒ.å.åÍœ,ññÍõ,*£6&åͺñÍ-Í ÍMÍ5ÍÆ*¢6&å!åÍññ*£6&ÿ|µÂèbk9s#rë}2¢6*£6&ÿ|µÂ‰bk9s#rÍchrset(); /* clear character set array */ clname(rnmptr); /* clear hex file read name */ clfcb(rfcbptr); /* clear hex file read fcb */ clname(wnmptr); /* clear hex file write name */ clfcb(wfcbptr); /* clear hex file write fcb */ exityn = FALSE; /* not done with program yet */ arrsource = 0; /* memory array is empty */ mainmenu(); /* display main menu */ while(exityn == FALSE) { mnchoice(); command = entchoice(18,40,'1','7'); blank(18,14,27); blank(20,5,75); if (command == '3') /* edit memory array */ editarray(); else if (command == '2') /* read HEX file */ readhex(); else if (command == '5') /* write HEX file */ writehex(); else if (command == '1') /* read system track */ rdsystrk(); else if (command == '4') /* write sys track */ wrsystrk(); else if (command == '6') /* write to font RAM */ wrfontram()MÍ5ÍQÉÍ¢+ññÉ!9n&¸ÿ|µÂB.å.å*K5å!9^#VÕÍ»ë9ùë}2£6É!9n&¼ÿ|µÂs.å.å*K5å!9^#VÕÍ©ë9ùë}2£6É!9n&½ÿ|µÀ!å.å*K5å!9^#VÕÍ—ë9ùë}2£6ÉÅ!å. åÍœ,ññÍ›Í{bk9s#rëÑÕ! ÍÞt|µÊñÃã!9å^#Vás#rbk+ÃÀÑÕ!`åÍÄñÃÐÍ‹!9 s#rëÑÕ!@ÍÞt|µÊ,Ã"!9å^#Vás#rbk+ÃÿÑÕÕÍÄñÃÍ«!å. åÍœ,ññÍ›!9@s#rëÑÕ!€ÍÞt|µÊvÃl!9å^#Vás#rbk+ÃIÑÕÕÍÄñÃYÍ«ñÉ!åÍÄ!gãÍÄñÉ!åÍÄ!GãÍÄñÉ!åÍÄ!aãÍÄñÉ!åÍÄ!AãÍÄñÉÅ;!"G5. 9^#VÕ! 9^#VÕÍœ,ñ!Z.ãÍÕñ!9^#VÕÍÕ!n.ãÍÕñÍõ,!9å!˜6å!å. 9^#VÕÍ…\ñññÑës#rÍ-!9^#V!tÿ|µÂ39å*£6&Ñ}ä!9^#V!uÿ|µÂV9å*£6&#åÍè ñÑ}ä!9^#V!vÿ|µÂo9ÿsëä!9^#V!rÿ|µÂˆ9þsëä!˜6åÍ*ñ!9å!˜6åÍ‘"ãÍè ñÑ}á&3ÉÅ;!"G5. 9^#VÕ! 9^#VÕÍœ,ñ!.ãÍÕñ!9^#VÕÍÕ!“.ãÍÕñÍõ,!9å!˜6å!å. 9^#VÕÍ…\ñññÑës#rÍ-!9^#V!tÿ|µÂ!9å*£6&Ñ}Ã’!9^#V!uÿ|µÂD9å*£6&#åÍè ñÑ}Ã’!9^#V!vÿ|µÂ]9ÿsëÃ’!9^#V!rÿ|µÂv9þsëÃ’!˜6åÍ*ñ!9å!˜6åÍ¥RãÍè ñÑ}á&3ÉÅÅ!"G5. 9^#VÕ! 9^#VÕÍœ,ñ! .ãÍÕñ!9^#VÕÍÕñÍvbk9s#rëÑÕbk|µÂ& ##9åÍZ-Ñ}!9^#Vbk+|µÊ !9n&€Í; else if (command == '7') /* done with program */ { if (contread("OK to exit") == TRUE) /* check to see if edits saved */ exityn = TRUE; } } clrscn(); if (manwyn == TRUE) /* if write to main font ram has been executed */ movman(); /* perform the actual transfer */ if (altwyn == TRUE) /* same with alternate ram */ movalt(); nreverse(); putchr(ESC); /* turn on function key translation */ putchr('e'); } putchr(chr) char chr; { bdos(6,chr); } putst(stptr) char *stptr; { int i; for (i = 0; *(stptr + i) != 0; i++) putchr(*(stptr + i)); } /* OK to continue read of systems tracks */ contread(messptr) char *messptr; { int answer,cpos; answer = TRUE; cpos = 52 + strlen(messptr); if (edsmade) /* if edits made since last read */ { curpos(18,5); putst("The character set has not been saved. "); putst(mes /* Osborne character generator program */ extern char readname[],charset[],mainset[],altset[]; extern int arrsource,dispparm,byteparm; extern char *ioC1,*ioC2; /* display source of most recent read of the memory array */ arraysource(row,column) int row,column; { curpos(row,column); blank(row,column,65); curpos(row,column); putst("The working character set is "); reverse(); putblank(); if (arrsource == 0) /* empty */ { putst("a new set"); } else if (arrsource == 1) /* HEX file */ { putst(readname); } else if ((arrsource == 2) || (arrsource == 3)) /* main systems tracks */ { putst(ioC1); arrdrive(arrsource - 2); } else /* alternate systems tracks */ { putst(ioC2); arrdrive(arrsource - 4); } putblank(); nreverse(); } arrdrive(drivenumber) int drivenumber; { putblank(); putchr(drivenumber + 'A bufcnt = 2; /* start of file name */ if ((*(bufptr) == 'A') || (*(bufptr) == 'B')) { *fcbptr = (*(bufptr) - 'A' + 1); } else { driveok = FALSE; curp24(); putst("Drive must be A or B"); } } /* check valid file name */ nameok = FALSE; if (driveok == TRUE) { nameok = TRUE; perenc = FALSE; for (fnamcount = 0; (bufcnt < entlength) && (fnamcount < 8) && (nameok = TRUE) && (perenc == FALSE); bufcnt++) { nameok = checkchar(*(bufptr + bufcnt),1); if ((*(bufptr + bufcnt)) == '.') { perenc = TRUE; } else { *(fcbptr + 1 + fnamcount) = *(bufptr + bufcnt); fnamcount++; } } perpos = bufcnt; if ('); putcolon(); } putcolon() { putchr(':'); } /* move the character set to the font RAM */ movset() { int i; clrscn(); for (i = 0; i < 2048; i++) /* move character set to alternate font RAM */ { dispparm = 2048 + i; byteparm = charset[i]; putram(); } } /* move the main set storage to the main font RAM */ movman() { int i; for (i = 0; i < 2048; i++) { dispparm = i; byteparm = mainset[i]; putram(); } } /* move the alternate set storage to the alternate font RAM */ movalt() { int i; for (i = 0; i < 2048; i++) { dispparm = 2048 + i; byteparm = altset[i]; putram(); } } /* converts s to interger */ atoi(s) char s[]; { int i,n; n = 0; for (i = 0; s[i] >= '0' && s[i] <= '9'; i++) n = 10 * n + s[i] - '0'; return(n); } (fnamcount == 8) && (*(bufptr + bufcnt) == '.')) { bufcnt++; /* bypass period on 8 char file name */ perenc = TRUE; } if (fnamcount == 0) { nameok = FALSE; curp24(); putst("File name can not be blank"); } } if (nameok == TRUE) { typeok = TRUE; for (typecount = 0; (bufcnt < entlength) && (typeok == TRUE); bufcnt++) { typeok = checkchar(*(bufptr + bufcnt),0); *(fcbptr + 9 + typecount) = *(bufptr + bufcnt); typecount++; } if ((typecount > 3) && (perenc == TRUE)) { curp24(); putst("File type too long"); typeok = FALSE; } if (typeok == TRUE) { if (perenc == TRUE) { if (typecount == 0) { /* enter file name at position row and column puts raw string converted into FCB returns 0 if only pressed 1 otherwise */ #define TRUE 1 #define FALSE 0 infilnam(row,column,bufptr,fcbptr) int row,column; char *bufptr,*fcbptr; { int i,j,bufcnt,fileok,perenc,perpos,fnamcount,entlength; int typecount,nameok,driveok,typeok; fileok = FALSE; while(fileok == FALSE) { clname(bufptr); /* clear name */ clfcb(fcbptr); /* clear fcb */ blank(row,column,14); reverse(); curpos(row,column); entlength = inpstr(bufptr,14,FALSE); nreverse(); blank(24,5,70); /* blank out error message line */ if (entlength == 0) { return(0); } upcase(bufptr); /*check valid drive */ bufcnt = 0; /* start of file name */ *fcbptr = 0; /* default drive */ driveok = TRUE; if (*(bufptr + 1) == ':') {   curp24(); putst("Blank file type"); typeok = FALSE; } } else { if (typecount == 0) { *(fcbptr + 9) = 'C'; *(fcbptr + 10) = 'H'; *(fcbptr + 11) = 'R'; *(bufptr + perpos) = '.'; *(bufptr + perpos + 1) = 'C'; *(bufptr + perpos + 2) = 'H'; *(bufptr + perpos + 3) = 'R'; *(bufptr + perpos + 4) = 0; } else { curp24(); putst("File name too long"); nameok = FALSE; } } } } fileok = driveok && nameok && typeok; } *(fcbptr + 12) = 0; /* extent = 0 */ *(fcbptr + 13) = 0; /* s1 = 0 */ *(fcbptr + 14) = 0; /* s2 = 0 */ *(fcbptñÍ’ÃB`ióÿ|µÊ]`iöÿ|µÊ**Â'ë*:'Ív˜Ã-!|µÂB*Â'#"Â'+ë`i}Ã]*Â'së*/'&|µÊc!å.cålåÍ`rñññ*.'&|µÊu*-'&Ãx!|µÊÁ*6'&|µÂŠÍçi*t(åÍž#ñ*9'&|µÊ¯!/åÍG!ãÍZ–ãÍž#ñ! åÍG!Ä'ãÍëñÍ !Ä'ë*Â'Í ˜|µÊ3!Ä'"Â'ñÁÉ!>'ë*<'å!9n&Ñ}*<'#"<'+å!„å.ÑÍZ˜ÑÍÕ—|µÊ*<'+"<'!9n&ÉÅÅàÿë9ùÅ*-'&|µÂ2&ë9ùëÉ!%9së"<'!Ä'"Â'*Â'n&ë!àÿ|µÊ`!÷ÿ|µÂ”! åÍÙñÍÇ*Â'n&àÿ|µÊ‰*Â'n& ͱ—ÃŒ!|µÂhÃG!Þÿ|µÊ¦!Ùÿ|µÂ´*Â'n&åÍÞñÃG!Ñÿ|µÂ*ÍÇ*Â'n&Öÿ|µÊÚ!/åÍÙñÃGÍÇ*Â'n&Öÿ|µÂøͳ/Í ˜Ãû!|µÊ!*Â'n&|µÂ*4'&|µÂ!Í1ÃÝÍÃÝÍÍÃGbk|µÊI*Â'n&åÍ ñ|µÂLÍÇåÍÙñÃGbk9s#r#ë9å!9Ñës#rë!9å^#Vás#r!Í¿—|µÊ˜!#9å^#Vás#rbk+å*Â'n&Ñ}ÍÇ*Â'n&å͈ñ|µÂe.#9^#V!ës#ë9å!9åÍ^ñÑës#rë|µÊ !"9å!%9å^#Vás#rbk+n&Ñ}|µÊÿ!"9n&åÍÙñÃÐ!%9sëÃG!#9å!9Ñës#rë!"9å!%9å^#Vás#rbk+n&Ñ}|µÊG!"9n&åÍÙñÃ!åÍÙñ*<'ƒÍà—|µÊg!S&åÍ# ñ!"<'.#9å!Ä'"Â'Ñës#rë!#9å^#Vás#rÕ!>'å*<'#"<'+Ñn&Ñ}|µÂ}*.'&|µÊ¹!%9n&ü!|µÊÖÍçi!a&åÍë!Ä'ãÍëñÍ &ë9ùëÉÅ!9^#VÕÍÙñÍÇ*Â'n&DMå!9^#VáÍr + 15) = 0; /* record cnt for ex = 0 */ *(fcbptr + 32) = 0; /* cur rec = 0 */ nreverse(); return(1); } checkchar(byte,arrstart) char byte; int arrstart; { int count,okchar; char *badchar; badchar = ".><,;:=?*[] "; okchar = TRUE; for (count = arrstart; count < 12; count++) { if (byte == *(badchar + count)) { okchar = FALSE; curp24(); reverse(); putblank(); if (byte == ' ') putst("SPACE"); else putchr(byte); putblank(); nreverse(); putst(" is invalid in a file "); if (arrstart == 0) putst("type"); else putst("name"); count = 12; } } return(okchar); } curp24() { curpos(24,5); } clname(nameptr) char *nameptr; { int i; for(i = 0; i < 14; i++) /* clear read name */ *(nameptr + i) = ' '; *(nameptr + 14) =  ˜|µÊQ`i|µÂ!d&åÍ# ñÃQ`i¤ÿ|µÊ/ÍÇåÍÙñÃîÍÇåÍÙñÍÇåÍÙñ*Â'n&¤ÿ|µÊ/ÃîÍÇ!9^#VÕÍÙñÁÉÅàÿë9ùë9åÍ…ñ|µÂ„Íß ë9ùÁëÉ*Â'n&àÿ|µÊ¢*Â'n& ͱ—Ã¥!|µÊ°ÍÇÄ!9åÍ8ã*Â'åÍ8ñÑ####åÍZ–ñDM#|µÂå!€&åÍ# ñ ë9ùÁëÉ*b(ë`iës#r`i"b(Å!d(Ñës#r*Â'å!9å`i##å!9åÍ8ñ#åÍ$™ññã*Â'åÍ8ñ#åÍ$™ñññÍß ë9ùÁëÉÅ!9^#VëDM`in&|µÂCÅ!9^#VáëÍZ˜+ÁÉÅÅ*d(DMÅ!d(ÑÍ ˜|µÊ¿`i##å!9^#VÕÍ®!ññ|µÊ´!9å`i##Ñës#rë!9å^#Vás#rbk+n&|µÂ˜ÑÁëÉ`i^#VëDMÃe!ñÁÉÅîÿë9ù!"åÍÃ"ñ|µÂã.<åÍÃ"ñÃæ!!9DM*Â'n&Þÿ|µÊ*Â'n&Âÿ|µÊ*Â'n&Í ˜Ã!|µÊ.`iåÍÇÑ}ÃìÅ!Ñ}!9åÍ'{ñë9ùÁëÉ!9n&|µÂTÉ*'|µÊ¶!9n&öÿ|µÂt*7'&Ãw!|µÊ‰! å*'åÍ]‘ññ!9n&å*'åÍ]‘ññÍÕ—|µÊãÍì!Œ&åÍ# ñÍÃã!9n&öÿ|µÂ×. åÍù˜! ãÍù˜ñÃã!9n&åÍù˜ñ!9n&ÉÅ!9^#VëDM`in&åÍGñ|µÂöÁÉ! åÍGñÉ! åÍGñÉ!:åÍGñÉÅÍçi*p(|µÂ5 *t("p(*'#"'!9^#VÕ!;åÍo ññ*'DM!"'.9^#VÕ!åÍo ññ`i"'ÁÉÅÅ!Ä'åÍëñÍ !9n&|µÊ‹ Íçi!Ä'DMÅ*Â'ÑÍb˜|µÊ½ `in&÷ÿ|µÂ² Í Ã� ! åÍGñÃ� !^åÍGñÍ !9n&|µÊ× Íçibk9s#rëÑÕ*�}Í¿—|µÊA!Ã!!9å^#Vás#rëÃ0; } clfcb(fcbptr) char *fcbptr; { int i; for(i = 0; i < 36; i++) /* clear read fcb */ *(fcbptr + i) = ' '; }  dispparm = 2048 + i; byteparm = charset[i]; putram(); } } /* move the main set storage to the main font RAM */ movman() { int i; for (i = 0; i < 2048; i++) { dispparm = i; byteparm = mainset[i]; putram(); } } /* move the alternate set storage to the alternate font RAM */ movalt() { int i; for (i = 0; i < 2048; i++) { dispparm = 2048 + i; byteparm = altset[i]; putram(); } } /* converts s to interger */ atoi(s) char s[]; { int i,n; n = 0; for (i = 0; s[i] >= '0' && s[i] <= '9'; i++) n = 10 * n + s[i] - '0'; return(n); }  /* routine to input a string first parameter is address of string second parameter is number of character of input to allow third parameter is logical whether arrow key or escape is enabled to return returns number of characters entered or the ascii value of the arrow key pressed or 0x8e if ESC pressed */ #define CURLFT (0x8D) #define CURUP (0x8A) #define CURDN (0x8C) #define CURRT (0x8B) #define SPACE (0x20) #define CARRET (0x0D) #define ESC (0x1B) #define BELL (0x07) #define TRUE 1 #define FALSE 0 #define BKSPC ('H' & 0x1F) inpstr(strptr,chrmax,arrowok) char *strptr; int chrmax,arrowok; { char byteentered; int endinput,retvalue,chrcnt; chrcnt = 0; endinput = FALSE; while (endinput == FALSE) { byteentered = inpchar(); /* enter character */ if ((byteentered == CURUP) || (byteentered == CURDN) || (byteentered == CURRT) || (byteentered == ESC)) /* if arroåw key */ { if (arrowok == TRUE) /* if arrows ok, return key pressed */ { endinput = TRUE; if (byteentered == ESC) retvalue = 0x8E; else retvalue = byteentered; } else putchr(BELL); /* else alarm */ } else if (byteentered == CARRET) /* if carriage return, return number */ { endinput = TRUE; retvalue = chrcnt; } else if (byteentered == CURLFT) /* back space */ { if (chrcnt > 0) /* if characters entered, back space */ { chrcnt--; putchr(BKSPC); nreverse(); putchr(SPACE); reverse(); putchr(BKSPC); } else putchr(BELL); } else if ((byteentered > 31) && (byteentered < 127)) { if (chrcnt < chrmax) { á !é|å!9^#V!Íë—ÑåÍë!/ãÍG!¡}ã!9^#Vë)Ñ^#VÕÍž#!ž&ãÍëñÃñ !é|å*�}Íë—ÑåÍë!/ãÍG*t(ãÍž#!¡&ãÍëñ!9^#VÕÍëñÍ ñÁÉ!9^#VÕÍŒ!ñÍ ÉÍ !9^#VÕÍëñÉ*Â'å!9^#VÕÍ­˜ññÉÅ!"¤&.9^#Vë"¨&!9^#Vë"¦&*¨&#"¨&+n&DMå*¦&#"¦&+n&ÑÍ ˜|µÊø!`i|µÊ"!ÁÉ`i|µÂ"*¤&ÁÉ*¤&#"¤&ÃÊ!*¦&+n&å͈ñ|µÊ$"!ÁÉ*¤&ÁÉÅ!"¤&.9^#Vë"¨&!9^#Vë"¦&*¨&#"¨&+n&DMå*¦&#"¦&+n&ÑÍ ˜|µÊ’"`i ÍH˜å*¦&+n& ÍH˜ÑÍ ˜|µÊ’"`i|µÊ¨"!ÁÉ`i|µÂž"*¤&ÁÉ*¤&#"¤&ÃE"*¦&+n&å͈ñ|µÊ¾"!ÁÉ*¤&ÁÉÍi#!9n&å*Â'n&Ñͱ—|µÊè"*Â'#"Â'!É!ÉÍi#*Â'å!9^#VÕÍ­˜ññ"¤&|µÊ#*¤&ë*Â'"Â'!É!ÉÍi#*('å!9^#Vëãå*Â'ãå!6#ãéññ"¤&|µÊe#*¤&ë*Â'"Â'*Â'n&å͈ñ|µÊa#ÍëÃK#!É!É*Â'n&ë!àÿ|µÊ‚#!÷ÿ|µÂˆ#ÍÇÃi#bk|µÀ*4'&|µÀÍ1ÍÃi#ÅÅ!9^#V!Í¿—|µÊÊ#!-åÍGñ!9^#Vë͘DMÃÔ#!9^#VëDM!9åÅ! ÑÍ—Ñës#rë|µÊó#ÑÕÕÍž#ñÅ! ÑÍ—!0åÍGññÁÉmissing closing bracket compilation errors, 1st in line errs ***-ofile+silent+f+s+co+cr+l-g+a+ddt+lno-o+j-n+u-p-i+z8000+z8001+i8080+z8002C Compiler Vintcharstructunionunsignedshortfloatdoublelongexternregistert *(strptr + chrcnt) = byteentered; putchr(byteentered); chrcnt++; } else putchr(BELL); } else putchr(BELL); } *(strptr + chrcnt) = 0; /* trailing null */ return(retvalue); } UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU ypedefautoMust be a constantneg. arrays illegal]missing open parenBad declarationdefineincludeasmifwhileregisterfordoreturnbreakcontinueswitchasmdefineincludegotoMissing labelNot a labelRedeclaration of a labelmissing semicolonmissing symbolmissing bracketing symbol:must be lvalueheap fullClose on bad fd:line too long+ missing quote or apostropheout of heapOutput file error: : PèÑÿ° PèËÿ]ÃU‹ì° Pÿvèhô]ÂU‹ìèÙÿÿvèäÿ]ÂU‹ì° PÿvèHô]ÂU‹ì°Pÿvè8ôˆu]ÂU‹ì°Pÿvè$ôˆu]ÂU‹ì°Pÿvèôˆu]ÂU‹ì°Pÿvèüó]ÂU‹ì°Pÿvèìó]ÂU‹ì°PÿvèÜó]ÂU‹ì°PÿvèÌóˆu]ÂU‹ì°Pÿvè¸ó]ÂU‹ìÆv€¸vPèQÿ]ÃU‹ì° P¸Pè–óÐØré°P¸Pè…ó°]ð]ÃU‹ì°P¸Pèpó]ÃU‹ì°PŠF´Pè_ó]ÂU‹ì°PÿvèOó]ÂU‹ìŠHÐØr鸦Pè.ÿè(ó]ÃU‹ìÿvèÄþè þè×ÿ]ÂU‹ì¸JPèäþ¸)PèÜÿ]ÃU‹ì¹‹v¿Süò¤]ÂU‹ì‹V‰\¸‰^ˆhˆjˆ|¹!¾\¿Jüò¤Šl8kuéPèKÿ¸\Pè–þ€>u!*åÍÃ"ñ|µÊ˜(Ív(!å.å* 'åÍ?)ñññÉ!(åÍÃ"ñ|µÊ´(Ív(!{>åÍIñÍÍ(É!ç&åÍ…ñ|µÊÉ(ÍÍ(ÉÍ@É![åÍÃ"ñ|µÊî(!å.åÍåÍ?)ñññÃÍ(!(åÍÃ"ñ|µÈ!å*Â'+|µÊ1:ç&o&Í ˜Ã1!|µÊ%1!Ü>åÍ# ñÁÉÅ!ç&åÍk ñDM|µÊ§1`i##^#VÕÍO/ñ|µÊn1`i##^#VÕÍ$>ñ####n&Íë–ͱ—Ãq1!|µÊ…1!ç&åÍ¢4ññ1`i##^#VÕÍ$>ñ####åüÿÕn&ÑÍë–Ñ}ñ1!*8åÍæ9ñDM!å.=å!ç&åÍ`rñññ*/'&|µÊß1!å.cålåÍ`rñññÅÅ;!9s#r!ñ>åÍœ!ñ|µÂ 2.)åÍÃ"ñͱ—à 2!|µÊñ2!ç&åÍ…ñ|µÊˆ2!ç&####å!9^#Vás#rÍ«*!åå* 'åÍ?)ñññ!ç&åÍ® ñ|µÊg2!ç&åÍ¢4ñÃo2!T9åÍæ9ñ!9åë* 'åë^#VáÑës#rëÃÇ2*Â'n&Òÿ|µÂ¼2`i##^#V! sëÍÇ*Â'n&Òÿ|µÊ§2ÃÇ2!ó>åÍ# ñÍÙ!)åÍÃ"ñ|µÂñ2!,åÍÃ"ñ|µÂé2!?åÍ# ñÍ|µÊ2!9^#Vë|µÊ 3!9^#VÕͽ4ñ!{åÍÃ"ñ|µÊ*4!?åÍ#ñ|µÊ4!9å!T9åÍñ ñ|µÊ@3!ç&#n&ÃC3!Ñ}!9n&å!9å!ç&##^#Vás#rÕÍo6ññDM!åÍÅmñ* '͘""'!å.ålåÍ`rñññÍ|µÂ™3.,åÍÃ"ñÜ3!|µÊ¹3!9n&å!9^#VÕÍo6ññÇ3`i|µÊ4`i##^#V!n&ëbk+|µÊè3!ýÿ|µÊè3!!?åÍ# ñ`i##^#VÕÍ$>ñ####å@Õn&ÑÍH˜Ñ}ÍÅ!}2+'Í*F+++|µÊ@4!åÍÅmñÍmÃ@4ÍP+++|µÊ@4!åÍÅmñÍm!å.cålåÍ`rñññ*f(DMÅ!f(ÑÍ ˜|µÊˆ4Ão4`i^#VëDMÃT4!:–å`i##^#VÕ͉+ññÅÍ:–ñÃd4`i"f(!""'}2+'.}2'ññ3ÁÉ!3?åÍ# ñÍçi!9^#VÕÍëñÍ ÉÅÅÅÅ;!9å! 9^#Vás#rë!T9åÍñ ñ|µÂñ4!C?åÍ# ñë9ùÁëÉ!9å!ç&#n&Ñ}n&Òÿ|µÂ). Ã)! å* 'åÍ?)ñññ*Â'n&Òÿ|µÂ4)ÍÇÃ)!)åÍÃ"ñÃÍ(Å!åÍÚ“ñDM####å! 9n&Ñ}`iå!9n&Ñ}`i##å!9^#Vás#r`is#r!ç&*^#Vbk|µÊ§)!ç&*^#V`iës#rëö)!ç&(ë`iës#rë!ç&*ë`iës#rÁëÉÅ*1'&|µÊB*!9^#VëDM!}>åÍë!€>ãÍë!†>ãÍëñÅÍž#!ˆ>ãÍëñ`i####n&åÍD*!”>ãÍë!–>ãÍëñ`in&åÍž#!¢>ãÍëñ`i##^#VÕÍž#!«>ãÍëñÁÉÅÅ!9å!9^#VëDMëÍ—Ñës#rë|µÊt*ÑÕ!ÿÍë–åÍD*ñÅ!ÑÍ—!0åÍGññÁÉÍ«*Ív(!9n&å!å.9^#VÕÍ?)ñññ!É!:–å!ç&(^#VÕ͉+ññ!ç&(å!ç&*s#rás#rëÉÅ!9^#Vbk|µÂë*ÁÉ!9^#VÕëãå!þ*ãéñDMëbk#|µÊ+bk|µÂ+!®>åÍ# ñ!ÁÉ`i####å!9^#V!n&Ñ}`iå!9^#V!n&Ñ}`i##å!9^#Vbk##^#Vás#rÅ!9^#VÕ!9^#Vbk^#VÕÍÚ*ññÑës#r`iÁÉÅ!9^#VëDM`i|µÊ¾+é+`i^#VëDMÔ+!9^#VÕ`iãå!º+ãéñÞ+ÁÉÅ!9^#VëDMÃì+`i^#VëDM!9å!9^#Vbk^#Vás#rë!9^#Vbk|µÂ,`iͱ—ÁÉ`i|µÂ,#ÁÉ!9^#VÕë`iãå!9^#Vëãå!*,ãéññ|µÂÎ+ÁÉÅ!9^#VëDM####n&å!9^#V!n&Ñͱ—|µÊ›,`in&å!9^#V!n&Ñͱ—|µÊ›,`i##^#VÕ!9^#Vbk##^#Váͱ—Þ,!ÁÉÅÅbk9s#r!9^#VëDM`i|µÊQ-ÃÊ,`i^#VëDMõ,ÑÕbk|µÂä,9å`i##^#Vás#rëÃ-`i##^#Vbk|µÊ-!9åå`i##^#Vá!9å!ç&##^#Vás#rë!9n&å!9^#VÕ͈*ññ!ç&åÍ® ñDM|µÂ@5Í@ÃI6!:–å`i##^#VÕ͉+ññ`i##å!Ú“å!ç&(^#VÕÍÚ*ññÑës#r`i####å! 9^#VÕ`i####^#VáëÍZ˜Ñës#r!ç&(^#V!n&ëbk+|µÂñ5`i##^#V!n&Íë–|µÊÌ5*,'&ÃÏ5!|µÊ6`i####åå* '+Ñåë^#VáÑës#rëÃ6!üÿ|µÂ6`i##^#V!s`i##^#V* 'ës#rëÅ͘ñ!9åë* 'åë^#VáÍZ˜Ñës#rbk|µÂI6ÍÅë9ùÁëÉÍ|µÂi6!,åÍÃ"ñ|µÂ5!`?åÍ# ñÃ5ÍÅÃÓ4Å;!9n&å!9^#VÕ͈*ññ!ç&åÍ® ñ|µÊ©6!ç&åÍ¢4ñ!3ÁÉ!9å:ç&o&Ñ}!¬& n&|µÊÜ6!ç&#åÕn&ÑÍH˜Ñ}Ãq7!ç&(^#VÕÍO/ñ|µÊ@7!ç&#åÕn&ÑÍH˜Ñ}!ç&*^#V!åÕn&ÑÍH˜Ñ}!ç&*^#V!åþÿÕn&ÑÍë–Ñ}Ãq7!ç&####å*"'å!ç&(^#VÕÍ ,ãÍ}mñÑÍZ˜åÍÅmñ""'Ñës#rë!ç&##å!ç&(^#VÕÍ ,ñÑës#rë9å!ç&å!ç&(^#V!n&Ñ}Ñ}!ç&#n&Íë–|µÂí7:ç&o&ûÿ|µÂà7!ç&#åÕn&ÑÍH˜Ñ}!T9åÍæ9ñDMÃ8!k å!ç&åÍõññDM|µÊ 8ÅÍÈ/ñÃ8!*8åÍæ9ñDM!ç&å!9n&Ñ}`i3ÁÉÅÅ!9å!ç&åÍ8ñ#åÍZ–ñÑës#rbk#|µÂb8!v?åÍ# ñ!ñÁÉÑÕëDM####å!ç&####^#Vás#r`iå!ç&åÍÀññ`i##å!Z–å!ç&(^#VÕÍÚ*ññÑës#rÑÕ*h(ës#r`i"h(ñÁÉ*1'&|µÈ!�?åÍëñ! 9^#V!*8ͱ—|µÊå8!“?Ãè8!–?åÍë!š?ãÍëñ! 9^#VÕÍë!Õ^#VáÍë—Ñës#rë`in&ë!ýÿ|µÊ3-!÷ÿ|µÊ3-!öÿ|µÂ7-ÑÁëÉ!üÿ|µÂ¿,`i##^#Vbk|µÂ¿,ñÁÉÑÁëÉÅÅÅ!9å:ç&o&Ñ}!9å!¬& n&Ñ}!ç&#å! 9n&Ñ}Í|µÂH/! 9n&å! 9^#VÕ͈*ññ!ç&##å!ç&(^#VÕÍ ,ñÑës#r!ç&(^#VÕÍO/ñ|µÊó-!Ã>åÍœ!ñ|µÂí-*Â'n&åÍ ñÃö-!Ãö-!|µÊ.Í'1ññÁÉ!ç&(^#VÕÍO/ñ|µÊ<.!ç&*^#V!åÕn&ÑÍH˜Ñ}!9së!ç&åÍk ñDM|µÊÌ.!9å`i##^#VÕÍ$>ñÑës#rÑÕ!n&Íë–|µÊ‰.!9n&ͱ—ÃŒ.!|µÊÄ.!ç&*^#V!n&Íë–|µÂÄ.9^#V!åüÿÕn&ÑÍë–Ñ}ÅÍÈ/ñÃ;/!ç&å!ç&(^#V!n&Ñ}!9n&|µÊ/!ç&#åÕn&ÑÍH˜Ñ}Ã3/!ç&(^#V!n&ûÿ|µÂ3/!ç&#åüÿÕn&ÑÍë–Ñ}!*8åÍæ9ñ!,åÍÃ"ñ|µÂf-ÍÅññÁÉ!9^#V!n&ë!÷ÿ|µÊp/!öÿ|µÂt/!É!É!9^#Vbk##^#VÕ!9^#Vbk##^#VáÍl˜|µÊÄ/!9^#Vbk##å!9^#Vbk##^#Vás#r!Å>åÍ# ñ!ÉÅ!9^#Vbk##^#VÕÍ$>ñDM####n&Íë–|µÂ 0!ç&*^#V!n&Íë–à 0!|µÊB0!ç&#åüÿÕn&ÑÍë–Ñ}!ç&*^#V!åüÿÕn&ÑÍë–Ñ}!3,å!9^#Vbk##^#VÕ!ç&(^#VÕÍÀ+ñññ|µÊÈ0`i####n&Íë–|µÊŸ0!9^#V!^#VÕ!ç&####^#VáÍ ˜ÃË0!9^#Vbk##^#VÕÍ ,ã!ç&(^#VÕÍ ,ñÑÍ ˜ÃË0!|µÊ%1!x/å!9^#Vbk##^#VÕ!ç&(^#VÕÍÀ+ñññ`in&+++  ?ãÍëñ!9n&åÍž#!­?ãÍëñ!9n&åÍž#!¹?ãÍëñ!9^#VÕÍž#!Ä?ãÍëñ!9^#VÕÍž#!Í?ãÍëñÉÅÅ!9å!ç&åÍ8ñ#åÍÚ“ñÑës#rbk|µÂ‹9!Ð?åÍ# ñ!ñÁÉÑÕëDM####å!ç&####^#Vás#r`iå!ç&åÍÀññ`i##å!Ú“å!ç&(^#VÕÍÚ*ññÑës#rÑÕ*f(ës#r`i"f(ñÁÉÅ!9^#VÕ!ô9ãéDM!9^#VÕÅ͘ññ`iÁÉÅàÿë9ùÅë9å:ç&o&Ñ}!9å!¬& n&Ñ}!9åÍ…!{ãÍÃ"ñ|µÊÚ:!9n&|µÊ�;!ç&å!9åÍÀññ!ç& s!ç&#åÕn&ÑÍH˜Ñ}!ç&####å!ç&##ÿÿs#rás#rÍ«*!ç&#n&å:ç&o&å!ÿÿåÍ?)ñññ!9åÍõñ|µÊË:!9åÍ¢4ñÃ�;!&9^#VÕÍæ9ñÃ�;!9åÍõñDM|µÂþ:!é?åÍ# ñ!"ë9ùÁëÉ!ç&##å`i##^#VÕÍ ,ñÑës#r!ç&####å`i####^#Vás#r!ç&#å`i##^#V!n&Ñ}!ç&å`i##^#V!n&Ñ}Í«*!ç&#n&å:ç&o&å!ç&##^#VÕÍ?)ñññ`i"ë9ùÁëÉàÿë9ùÅÅÅÅÅ;ë9å! 9s#rás#rë!}åÍÃ"ñ|µÂ/=!Q9^#VÕÍñ ñ!9å!ç&#n&Ñ}:ç&o&|µÂã;!ý?åÍ# ñÍÙÃ)=!9å!ç&##^#Vás#rëáå&å!9^#VÕ͈*ññ!ç&##å!9å!ç&(^#VÕÍ ,ñÑës#rás#r!ç&####å! 9^#Vás#r!ç&å!ç&(^#V!n&Ñ}!ç&#n&Íë–|µÊv<:ç&o&ͱ—Ãy!@åÍ# ñ`i##^#Vbk##å! 9^#Vás#r`iMë9ùÁëÉÅ!9^#Vbk|µÂ5>ÁÉ!9^#VëDM`i^#Vbk|µÊV>`i^#VëDMÃ?>`iÁÉ*1'&|µÈ!9^#VÕÍëñÉ*1'&|µÈÍ É) ;emit(@,_attribs==,_modifier==,_size==) No symbol table room{Array being lengthenedDeclaration mismatch{Bad formal argexpected comma or '('registerBad register typealready definedA formal arg is not declaredexpected comma or ';'no room for global symbol ;glloc_add(,_modifier==,_attribs==,_offset==,_size==) no room for local symbolUndefined structureBad struct declarationRedeclaration of structure typeÅÅÅÅ!9ë*f(ës#rë9ë*"'ës#rÍïDMåÍLdñÍP!9^#VÕÍÅmñ""'!;åÍÃ"ñ|µÂm@!½såÍ#ñ|µÂ‘@ÅÍ÷ññññÁÉ!9åÍïÑës#rÕÍ 0; column--) edbuf[row][column] = edbuf[row][(column - 1)]; edbuf[row][0] = temp; } } /* rotate editing array up */ shftup() { int row,column; char temp; for (column = 0; column < 16; column++) * enter in hex */ else if (entdec == 1) /* if last character entry in dec */ value = decentry(19,20,pptr2,FALSE); /* enter in dec */ else value = charentry(19,20,pptr2,FALSE); readchr(value); blank(19,20,50); } /* display editing array */ disparray() { int row,column; for (row = 0; row < 10; row++) { curpos(rowbase + row,colbase); for (column = 0; column < 8; column++) { putchr(edbuf[row][column]); } } } /* print argument in hex format */ puthex(byte) char byte; { putchr(*(trantab + ((byte >> 4) & 0xF))); putchr(*(trantab + (byte & 0xF))); } edhead() { arraysource(4,16); /* print source of memory array */ curpos(5,20); reverse(); putblank(); puthex(curchar); /* print current character being edited */ putblank(); nreverse(); putst(" is the HEX value of the current character"); curpos(6,22); putst("is the current character") { temp = edbuf[0][column]; for (row = 0; row < 19; row++) edbuf[row][column] = edbuf[(row + 1)][column]; edbuf[19][column] = temp; } } /* rotate editing array down */ shftdn() { int row,column; char temp; for (column = 0; column < 16; column++) { temp = edbuf[19][column]; for (row = 19; row > 0; row--) edbuf[row][column] = edbuf[(row - 1)][column]; edbuf[0][column] = temp; } } /* insert a row at present cursor position */ insrow() { int row,column; for (column = 0; column < 16; column++) { for (row = 14; row > edrow; row--) { edbuf[row][column] = edbuf[(row - 1)][column]; } edbuf[edrow][column] = offchar; } } /* insert a column at present cursor position */ inscol() { int row,column; for (row = 0; row < 20; row++) { for (column = 11; column > e; } /* printing editing borders, character set, header, etc */ editmenu() { header(); /* display header and clear screen */ border(); /* display character set and edit area border */ edhead(); /* display source of array, current character etc */ dschrb(); /* display character edited */ dispset(); /* display character set */ } /* print character selection menu */ selmenu() { curpos(8,25); putst("Character Selection Menu"); curpos(10,20); putst("H - Entry by HEX value"); curpos(11,20); putst("D - Entry by decimal value"); curpos(12,20); putst("C - Enter the character"); curpos(10,51); putst(" - Done editing"); curpos(14,20); putst("Select Character Entry Method"); dschrb(); /* display character to be edited */ return; } /* print character entry menu */ entmenu() { curpos(8,24); putst("Character Entry Menu"); curpos(10,23); putst("Up Arrow - return to selection menut(); curpos(22,2); putst("Character"); curpos(23,5); putst("Set"); return; } /* display line of boxes in horizontal of vertical direction */ putbox(count,byte,vertyn) int count,vertyn; char byte; { int i; grfon(); /* graphics on */ for (i = 0; i < count; i++) { putchr(byte); if (vertyn == TRUE) /* if vertical display */ { grfoff(); /* turn graphics off */ putchr(LF); /* line feed - cursor down */ putchr(BKSPC); /* backspace */ grfon(); /* turn graphics on */ } } grfoff(); /* graphics off */ } /* clear a section of the screen */ clrsc2(row,column,rnum,cnum) int row,column,rnum,cnum; { int rcount; for (rcount = 0; rcount < rnum; rcount++) blank(row + rcount,column,cnum); } /* clear the editing array */ clredbox() { clrsc2(6,3,10,8); } /* clear the editing menu array */ clrmenu() { clrsc2(8,18,1"); curpos(11,20); putst("Right Arrow - edit next character"); curpos(12,21); putst("Down Arrow - edit same character"); curpos(13,28); putst("ESC - return to main menu"); } /* print character editing menu */ charmenu() { curpos(8,35); putst("Character Editing Menu"); curpos(10,18); putst("Position Cursor with Arrows"); curpos(11,24); putst(". - turn pixel on"); curpos(12,18); putst(" - turn pixel off"); curpos(13,24); putst("Q - Quit without update"); curpos(14,20); putst(" - done editing this char"); curpos(15,24); putst("I - Invert all pixels"); curpos(16,24); putst("C - Copy another character"); curpos(10,52); putst("L - shift character Left"); curpos(11,52); putst("R - shift character Right"); curpos(12,52); putst("U - shift character Up"); curpos(13,52); putst("D - shift character Down"); curpos(14,52); putst("N - iNsert a row"); curpos(15,52); 0,63); } blkrname() { blank(20,9,58); } putblank() { putchr(' '); } /* read HEX format file into memory array */ readhex() { int i,cont; char x; if (contread(mnC1) == FALSE) /* check to see if edits made since last read */ { return; } for (i = 0; i < 15; i++) /* save old read name */ oldrdname[i] = readname[i]; for (i = 0; i < 36; i++) /* save old read fcb */ oldrdfcb[i] = readfcb[i]; clname(rnmptr); /* clear hex file read name */ clfcb(rfcbptr); /* clear hex file read fcb */ curpos(20,9); putst("Enter the file to read (d:filename.typ)"); cont = infilnam(20,49,rnmptr,rfcbptr); /* enter new name and fcb */ if (cont == 0) /* if just RETURN */ { blkrname(); rstfcb(); /* restore fcb and name to old values */ return; } /* open file in readfcb */ areg = bdos(26,iobuf); /* set DMA address of file IO */ areg =  putst("E - dElete a row"); curpos(16,52); putst("S - inSert a column"); curpos(17,52); putst("T - deleTe a column"); dschrb(); /* display the character to be editted */ return; } /* print font and character set border */ border() { int i; dim(); /* font border */ curpos(5,2); putbox(10,LBOX,FALSE); /* top border of editing area */ curpos(6,2); putbox(10,FBOX,TRUE); /* left border of editing area */ curpos(6,11); putbox(10,FBOX,TRUE); /* right border of editing area */ curpos(16,2); putbox(10,UBOX,FALSE); /* bottom border of editing area */ /* character set border */ curpos(21,12); putbox(66,LBOX,FALSE); /* top border of character set */ curpos(22,12); putbox(2,FBOX,TRUE); /* right border of character set */ curpos(22,77); putbox(2,FBOX,TRUE); /* left border of character set */ curpos(24,12); putbox(66,UBOX,FALSE); /* bottom border of character set */ brighbdos(15,readfcb); /* open file */ if (areg == 0xFF) /* file not found */ { curpos(24,5); putst("File not found. Press any key to continue."); inpchar(); blkrname(); blank(24,5,46); rstfcb(); /* restore fcb and name to old values */ return; } blkrname(); curpos(20,9); putst("Reading character set from "); reverse(); putblank(); putst(readname); putblank(); nreverse(); edsmade = FALSE; *(readfcb + 32) = 0; /* set record count to 0 */ tempbuf[2] = 0; charcount = 0; /* character count = 0 */ bufcnt = 128; /* set buffer pointer to read */ eoffound = FALSE; while ((charcount < 2048) && (eoffound == FALSE)) { for (i = 0; i < 9; i++) /* read past address, etc. in hex file */ rdhexchar(); recptr = 0; while (recptr < 16) { tempbuf[0] = rdhexchar(); /* convert hex format to ascii */ tempbuf[1] = rdhex fcb */ if (cont == 0) /* if just RETURN */ { blkrname(); return; } /* open file in readfcb */ areg = bdos(15,writfcb); /* open file */ if (areg != 0xFF) /* file found */ { areg = bdos(16,writfcb); /* close file */ curpos(24,5); putst("File already exists. OK to continue? (Y/N)"); answer = yesno(24,49); blkrname(); blank(24,5,45); if (answer == FALSE) return; } blkrname(); curpos(20,9); putst("Writing character set to "); reverse(); putblank(); putst(writname); putblank(); nreverse(); areg = bdos(19,writfcb); /* delete existing file */ areg = bdos(22,writfcb); /* create new file */ if (areg == 0xFF) /* if error in creation */ { curpos(24,5); putst("Full directory on file creation - Press any character to continue."); inpchar(); blank(24,5,68); return; } areg = bdos(26,iobuchar(); /* each record in hex file contains */ charset[charcount] = xtoi(tempbuf); /* the 16 rasters for one character */ recptr++; charcount++; } for (i = 0; i < 4; i++) /* read past CRC and CR-LF in hex file */ rdhexchar(); } areg = bdos(16,readfcb); /* close file */ blank(20,9,42); curpos(20,9); putst("Character set read from "); reverse(); putblank(); putst(readname); putblank(); nreverse(); arrsource = 1; /* source of array is HEX file */ arraysource(6,9); /* display source of memory array */ return; } xtoi(s) /* converts s in HEX to integer */ char *s; { int i,n,hex_dec; char tmpchar,subchar; n = 0; hex_dec = 1; i = 0; while (hex_dec != 0) { tmpchar = *(s + i); if (tmpchar >= '0' && tmpchar <= '9') subchar = '0'; else if (tmpchar >= 'A' && tmpchar <= 'F') suf); /* set DMA address of file IO */ *(writfcb + 32) = 0; /* set record count to 0 */ bufcnt = 0; /* IO buffer pointer */ charcount = 0; /* character count = 0 */ address = 0; /* address in hex format */ diskfull = FALSE; while ((charcount < 2048) && (diskfull == FALSE)) wrhexlin(); wrhexchar(0xFD); /* eof record - write semi colon */ for (i = 0; i < 8; i++) wrhexchar(0); wrhexchar(0xFF); /* carriage return */ wrhexchar(0xFE); /* line feed */ if (diskfull == FALSE) { wrhexrecord(); /* write last record to hex file */ if (diskfull == FALSE) { areg = bdos(16,writfcb); /* close file */ blank(20,9,42); curpos(20,9); putst("Character set written to "); reverse(); putblank(); putst(writname); putblank(); nreverse(); edsmade = FALSE; /* no edits since last save */ } } if bchar = 55; else hex_dec = 0; if (hex_dec != 0) n = 16 * n + tmpchar - subchar; ++i; } return(n); } rdhexchar() { char byte; if (eoffound == TRUE) return; if (bufcnt == 128) { areg = bdos(20,readfcb); /* read file */ if (areg != 0) /* if end of file encountered */ { curpos(24,5); putst("EOF in file read. Press any key to continue"); inpchar(); blank(24,5,45); eoffound = TRUE; } bufcnt = 0; } byte = *(iobuf + bufcnt); bufcnt++; return(byte); } /* write HEX format file from memory array */ writehex() { int answer,i,cont; clname(wnmptr); /* clear write hex name */ clfcb(wfcbptr); /* clear write hex fcb */ curpos(20,9); putst("Enter the file to write (d:filename.typ)"); cont = infilnam(20,50,wnmptr,wfcbptr); /* enter new name and(diskfull == TRUE) { areg = bdos(19,writfcb); /* delete file */ blank(20,9,42); /* erase writing to file message */ } } wrhexlin() { int parchar; parchar = 0; /* set parity character to 0 */ wrhexchar(0xFD); /* write semi-colon */ wrhexchar(1); /* write number of bytes in line */ wrhexchar(0); parchar = ((parchar - 0x10) & 0xFF); /* subtract number of bytes from parity */ wrhexchar((address >> 12) & 0xF); /* higher order address byte */ wrhexchar((address >> 8) & 0xF); parchar = ((parchar - (address >> 8)) & 0xFF); wrhexchar((address >> 4) & 0xF); /* lower order address byte */ wrhexchar(address & 0xF); parchar = ((parchar - (address & 0xFF)) & 0xFF); recptr = 0; wrhexchar(0); /* un-used */ wrhexchar(0); /* write character rasters in hex format-update parity character */ while (recptr < 16) { wrhexchar((*(charset + charcount) >> 4) & 0xF); wrhexchar(*(charsetx5F; } /* blank out the count characters beginning at row, column */ blank(row,column,count) int row,column,count; { int i; curpos(row,column); for (i = 0; i < count; i++) putchr(' '); } /* get a Y or N response */ yesno(row,column) int row,column; { int ok_answer,ans_retrnd; char ans_entrd; ok_answer = FALSE; while(ok_answer == FALSE) { curpos(row,column); putchr(' '); putchr(BKSPC); reverse(); ans_entrd = (inpdchar() & 0x5F); nreverse(); if (ans_entrd == 'Y') { ans_retrnd = TRUE; ok_answer = TRUE; } if (ans_entrd == 'N') { ans_retrnd = FALSE; ok_answer = TRUE; } } return(ans_retrnd); } /* display main menu screen */ mainmenu() { header(); /* clear screen and display program title */ progdesc(); /* display program description */ arraysource(6,9); /* dis + charcount) & 0xF); parchar = ((parchar - *(charset + charcount)) & 0xFF); charcount++; recptr++; address++; } wrhexchar(parchar >> 4 & 0xF); /* write parity character */ wrhexchar(parchar & 0xF); wrhexchar(0xFF); /* carriage return */ wrhexchar(0xFE); /* linefeed */ } wrhexchar(byte) char byte; { if (diskfull == TRUE) /* if disk already full */ return; if (byte == 0xFF) *(iobuf + bufcnt) = 0x0D; /* carriage return */ else if (byte == 0xFE) *(iobuf + bufcnt) = 0x0A; /* linefeed */ else if (byte == 0xFD) *(iobuf + bufcnt) = ':'; else *(iobuf + bufcnt) = *(trantab + (byte & 0xF)); bufcnt++; if (bufcnt == 128) /* if buffer filled- write to disk */ { wrhexrecord(); /* write hex file record */ } } /* write the 128 characters in iobuf to file */ wrhexrecord() { areg = bdos(21,writfcb); if (areg != 0) /* if disk full */ { play source of memory array */ curpos(8,4); putst("Do you want to:"); curpos(10,9); putst("1 - Read the systems tracks into the character set"); curpos(11,9); putst("2 - Read a file into the character set"); curpos(12,9); putst("3 - Edit the character set"); curpos(13,9); putst("4 - Write the character set to the system tracks"); curpos(14,9); putst("5 - Write the character set to a file"); curpos(15,9); putst("6 - Write the character set to the font RAM"); curpos(16,9); putst("7 - Exit the program"); } /* main menu choice line */ mnchoice() { curpos(18,14); putst("Enter your choice (1 - 7)"); } /* display program description */ progdesc() { curpos(3,4); putst ("This program allows you to edit a character set in memory and"); curpos(4,5); putst("store it on various media."); } /* clear screen and print screen header */ header() { clrscn(); /* clear screen */ curpos( diskfull = TRUE; curpos(24,15); putst("Disk full on file write - press any key to continue."); inpchar(); blank(24,15,53); return; } bufcnt = 0; #asm .z80 ld hl,iobuf; fills with control-Z's ld de,iobuf+1 ld bc,127 ld (hl),1ah ldir .8080 #endasm } /* restore read fcb to old value */ rstfcb() { int i; for (i = 0; i < 15; i++) /* save old read name */ readname[i] = oldrdname[i]; for (i = 0; i < 36; i++) /* save old read fcb */ readfcb[i] = oldrdfcb[i]; return; } /* converts string pointed to by parameter to upper case */ upcase(strgptr) char *strgptr; { int i; for(i = 0; (*(strgptr + i)) != 0; i++) upchar(strgptr + i); } /* convert single character to upper case */ upchar(charptr) char *charptr; { if (((*charptr) >= 'a') && ((*charptr) <= 'z')) *(charptr) = *(charptr) & 01,15); /* position cursor */ putst(TITLE); } /* position cursor to (row,column) */ curpos(xcord,ycord) int xcord,ycord; { putchr(ESC); putchr('='); putchr(xcord + 0x1F); putchr(ycord + 0x1F); } /* clear screen */ clrscn() { putchr(0x1A); /* clear screen */ } /* send dim screen characters */ dim() { putchr(ESC); putchr(0x29); } /* send bright screen characters */ bright() { putchr(ESC); putchr(0x28); } /* reverse video */ reverse() { putchr(ESC); putchr('j'); } /* non-reverse video */ nreverse() { putchr(ESC); putchr('k'); } clchrset() /* clear character set */ { int i; for (i = 0; i < 2048; i++) charset[i] = 0; } /* input a character from the keyboard */ inpchar() { char byte; byte = 0; while (byte == 0) byte = bdos(6,0xff); return(byte); } /* input a character and display it */ inpdchar() { charßtà !|µÊ !9s#rëÃÓ!åÍÄñÃÓ!9n&tÿ|µÂE .9å*£6&Ñ}ÃÞ !9n&uÿ|µÂj .9å*£6&#åÍè ñÑ}ÃÞ !9n&vÿ|µÂ… .9ÿsëÃÞ !9n&åÿ|µÂ¤ .9^#V!ÍÐtç !|µÊ¸ !9þsëÃÞ !9å!9n&åÍè ñÑ}Íõ,!9n&åÍ¡-ñÍ-ñ!9n&ñÉ!9n&Íßt|µÊ !9n&É!É;ÍMÍ&*£6&åÍå ñ!"Q5."O5ÍÍ} !"V5"T5.‹}2S5l9sëáå&åÿ|µÊX áå&QÍuÃ[ !|µÊí *Q5ë*V5å*O5ë*T5åÍœ,ññ!9åÍZ-Ñ}!9åÍX*ñáå&sÿ|µÂ² *T5|µÊ¨ *T5+"T5#!�}2S5Ã> áå&tÿ|µÂß *V5 Íßt|µÊÕ *V5#"V5+!Œ}2S5Ã> áå&vÿ|µÂ *V5|µÊü *V5+"V5#!Š}2S5Ã> áå&uÿ|µÂ3 *T5Íßt|µÊ) *T5#"T5+!‹}2S5Ã> áå&Òÿ|µÂu *N5&åÍÄ!X5ã*V5Õ))))ÑÑë*T5å*N5&Ñ}Íè!"E5Í’Ã> áå&àÿ|µÂ· *M5&åÍÄ!X5ã*V5Õ))))ÑÑë*T5å*M5&Ñ}Íè!"E5Í’Ã> áå&·ÿ|µÂÖ ÍfÍ!"E5Í’Ã> áå&´ÿ|µÂõ ÍOÍ!"E5Í’Ã> áå&®ÿ|µÂ ÍHÍ!"E5Í’Ã> áå&«ÿ|µÂ3 ÍAÍ!"E5Í’Ã> áå&¼ÿ|µÂR ÍAÍ!"E5Í’Ã> áå&½ÿ|µÂq ÍŒÍ!"E5Í’Ã> áå&²ÿ|µÂ� ÍAÍ!"E5Í’Ã> áå&»ÿ|µÂ¯ ͸Í!"E5Í’Ã> áå&­ÿ|µÂÎ ÍÍ!"E5Í’Ã> áå&¬ÿ|µÂ> ÍåÍ!"E5Í’Ã> áå&åÿ|µÂ *£6&å byte; byte = inpchar(); pputchr(byte); return(byte); } pputchr(byte) char byte; { if ((byte > 31) && (byte < 127)) putchr(byte); }  clrscn() { putchr(0x1A); /* clear screen */ } /* send dim screen characters */ dim() { putchr(ESC); putchr(0x29); } /* send bright screen characters */ bright() { putchr(ESC); putchr(0x28); } /* reverse video */ reverse() { putchr(ESC); putchr('j'); } /* non-reverse video */ nreverse() { putchr(ESC); putchr('k'); } clchrset() /* clear character set */ { int i; for (i = 0; i < 2048; i++) charset[i] = 0; } /* input a character from the keyboard */ inpchar() { char byte; byte = 0; while (byte == 0) byte = bdos(6,0xff); return(byte); } /* input a character and display it */ inpdchar() { charÍ{ñÃ Í 3ÉÅbk9s#rëÑÕ!ÍÞt|µÊ{ Ã: !9å^#Vás#rbk+à !å*£6&))))Ñå!9^#Vá"/5!½Få*£6&))))Ñå!9^#Ván&"-5Í�sÃ' ñÉ!å.åÍœ,ññÍ� ÉÍ›*£6& Íßt|µÊ£ Í{*£6& Íßt|µÊÄ *£6&`åÍÄñÃÎ *£6&åÍÄñ*£6& Íßt|µÊá ͋ͫÉÅÅ;!9s#rë!9^#V!ÍÞt|µÊxÃ!9å^#Vás#rbk+Ãó !9s#rë!9^#V!ÍÞt|µÊÃN!9å^#Vás#rbk+Ã&!X5å!9^#Våë))))ÑÑå!9^#Váå*M5&Ñ}Ã;!9s#rë!9^#V! ÍÞt|µÊwë!9å^#Vás#rbk+Ã!9å!½Få! 9n&))))Ñå!9^#Ván&Ñ}!9s#rë!9^#V!ÍÞt|µÊ˜Ã!9å^#Vás#rbk+ÃÜáå&€Í t|µÂ=!X5å!9^#Våë))))ÑÑå!9^#Váå*M5&Ñ}Ãd!X5å!9^#Våë))))ÑÑå!9^#Váå*N5&Ñ}!9å!9n&)Ñ}Ãñññ3É!½Få!9n&))))ÑåÍñÉÅ!55åÍñ!9s#rëÑÕ!ÍÞt|µÊþÃÉ!9å^#Vás#rbk+æ!å*£6&))))Ñå!9^#Vá"/5!55å!9^#Ván&"-5Í�söñÉÅÅ;!9s#rë!9^#V! ÍÞt|µÊäÃ6!9å^#Vás#rbk+Ã!9s#rë!9^#V!ÍÞt|µÊÅÃi!9å^#Vás#rbk+ÃA!X5å!9^#Våë))))ÑÑå!9^#Ván&å*N5&ÑÍÐt|µÊ²!9å!9n&)ÍSuÑ}ÃV!9å!9n&)Ñ}ÃV!9^#VÕ!9^#Váå!9n&Ñ}Ã#ññ3É*S5&sÿ|µÂ*T5|µÈ*T5+ MOV E,M INX H MOV D,M POP H DAD D MOV L,M MVI H,0 POP D MOV A,L STAX D LXI H,3 DAD SP LXI D,19 MOV M,E INX H MOV M,D XCHG C219: LXI H,3 DAD SP MOV E,M INX H MOV D,M LXI H,0 EXT CCGT CALL CCGT MOV A,H ORA L JZ C218 JMP C220 C217: LXI H,3 DAD SP PUSH H MOV E,M INX H MOV D,M DCX D POP H MOV M,E INX H MOV M,D MOV H,D MOV L,E INX H JMP C219 C220: LXI H,edbuf PUSH H LXI H,5 DAD SP MOV E,M INX H MOV D,M PUSH H XCHG DAD H DAD H DAD H DAD H POP D POP D DAD D PUSH H LXI H,3 DAD SP MOV E,M INX H MOV D,M POP H DAD D PUSH H LXI H,edbuf PUSH H LXI H,7 DAD SP MOV E,M INX H MOV D,M MOV H,D MOV L,E DCX H PUSH D DAD H DAD H DAD H DAD H POP D POP D DAD D PUSH H LXI H,5 DAD SP MOV E,M INX H MOV D,M POP H DAD D MOV L,M MVI H,0 POP D MOV A,L STAX D JMP C217 C218: LXI H,edbuf PUSH H LXI H,0 PUSH D DAD H DAD H DAD H …Ì”• T44äTx MQJEXIT�PÐÐS‘ T444È MJCCUDIV�PÐÑU D44U 1RCCGT�ÐÑÑ`D44ÄX 5U1RCCNE€Ð”’àT444ôØ =JCCGINT��ÐÔS• T455T( U1RCCUGT�PÐÕQÑ`T45TÄX a=JSETEXI�T‘TÑU U5E$U =NCCONST��ÐÓÓ’S d44ôäõX 1%JCCLDDR�PÐÐS d44ÄÄ RXSTART�V�ÐŒ`U„d4#(a9EDATA”MMÀ ø9�æw[Å‚ðfÖ0[6±€ºÙ'¥cÔøæ@1+ éÌ€eR [6±€ºÞ,•¹õ&o>&ŒëQ B2]jóêLøš€%Ö¯>¤Ï‰¡ð²X¤Bh„b—[J¬€‚G¬ªÂ)aÕ  $ø/3ŸEæñ$ú“7ŸFu« B2Z.«•›XÀG-+0ár„i 6ݶ¬À „EKÀÚ-V¨„d´Z-V¨…þÿdŸEæóà¼ÎÉ>,ŒçÕ™½’^•�l—YÌFru²]gÔ™¼øš3²]gÔ™ñ4!€¶K¬ú“>&„ `FÉ>*ŒçÕY½’!"*VáRÐ7(„d´Z"ªVùRÐ7+­’å0DTÈ ÂÁh¸Ø¬Páà@1L4·eQ°%ó*†@(ª™‘ ®I€ÒÁh¸Ø¤Bk4 p°\®W)¼Ld±AÀ¶h&Ø,–(8Í€À{’áhµ\¬Pp š0Y,Vmh`²X¬ÚÐÁ7‰€ ‘<9# ɶ)XV^µO±YVN•…eç $uL@Öì+(xX²Â09åÍ,Mñ|µÊM!9åÍÎcñÍÍlÍêp!^åÍÃ"ñ|µÂúLñññÁÉÅÅÅÅ! 9^#VÕÍÙMñDMÍi#!btåÍœ!ñ|µÂYM!etåÍœ!ñÃ\M!|µÊhM`iñññÁÉ!&åÍÃ"ñ|µÂ|M`iñññÁÉ`i|µÊ�M! 9^#VÕÍÎcñͯl!9åÍÙMñ|µÊ©M!9åÍÎcñÍÍlÍûpÍi#!htåÍœ!ñ|µÊÇM!ñññÁÉ!&åÍÃ"ñ|µÂ�MñññÁÉÅÅÅÅ! 9^#VÕÍ–NñDMÍi#!ktåÍœ!ñ|µÂ N!ntåÍœ!ñͱ—ÃN!|µÊN`iñññÁÉ`i|µÊ.N! 9^#VÕÍÎcñ!qtåÍì"ñ|µÊ^Nͯl!9åÍ–Nñ|µÊUN!9åÍÎcñÍÍlÍwqÃ.N!ttåÍì"ñ|µÊŽNͯl!9åÍ–Nñ|µÊ…N!9åÍÎcñÍÍl͈qÃ.N!ñññÁÉÅÅÅÅ! 9^#VÕÍÍPñDMÍi#!wtåÍœ!ñ|µÂãN!ytåÍœ!ñ|µÂãN!{tåÍœ!ñ|µÂãN!~tåÍœ!ñͱ—ÃæN!|µÊòN`iñññÁÉ!�tåÍœ!ñ|µÊO`iñññÁÉ!„tåÍœ!ñ|µÊO`iñññÁÉ`i|µÊ-O! 9^#VÕÍÎcñ!‡tåÍì"ñ|µÊ…Oͯl!9åÍÍPñ|µÊTO!9åÍÎcñÍÍl! 9^#VÕÍDlñ|µÂqO9åÍDlñÃtO!|µÊOÍéqÃ-OÍ©qÃ-O!ŠtåÍì"ñ|µÊÝOͯl!9åÍÍPñ|µÊ¬O!9åÍÎcñÍÍl! 9^#VÕÍDlñ|µÂÉO9åÍDlñÃÌO!|µÊ×OÍ rÃ-OÍÉqÃ-O!�tåÍœ!ñ|µÊûO!�tåÍœ!ñͱ—ÃþO!|µÊQPÍëͯl!9åÍÍPñ|µÊ P!9åÍÎcñÍÍl! 9^#VÕÍDlñ|µÂ=P9åÍDlñÃ@P!|µÊKPÍÙqÃ-OÍ™qÃ-O!’tåÍœ!ñ|µÊoP!”tåÍœ!ñͱ—ÃrP!|µÊÅPÍëͯl!9åÍÍPñ|µÊ”P!9åÍÎcñÍÍl! 9^#VÕÍDlñ|µÂ±P9åÍDlñôP!|µÊ¿PÍùqÃ-O͹qÃ-O!ñññÁÉÅÅÅÅ! 9^#VÕͱQñDMÍi#!—tåÍœ!ñ|µÂúP!›tåÍœ!ñÃýP!|µÊ�Lñ G…‹!Ú°dŽ©ˆÜð±d…a Ø-‡g€� CµpÉ€‘Õ€-PpišW@pQš4Vì%0B€]l4X"µB(84Í€-°8(À%¡@rÒ°0¦€rÓ 9i tŒ !"'©Ç]ÀZ’\ud ¡¡ ¦&GWÀ² bb ux¡¡ §"GY@* šduÔ¡¡ ©©Ghjzlv°¡¡¢$«GKÀò*" ¤t�!¡¢¨ÇO€b:,v¸!¡£¤§*GLÀb:¤vh !¡¦"")G`€²b"J”tü!¡¦"ÇL€bb¤u(!¡¦ª¦*GZÀbr,uŒ¡¡§"£ÇP€²zrJtu4 !¡§§'ªÇMÀ²zrš¤vœ!¡§©GlÀr‚Jr¤t!¡©ª ©Gn@jšªv,!¡ª¢$«Gsjª:,w¡¡ª£ªGs@jªb,w¡¡ª¦*GuÀjÂz”tТ¢ ª Ç"*ÂJ¤w¸©"©¢ªGw€rš*¢*ÂLw詪)"¨ÇJÀâÂ*r$w¤ ¬#!¡ÇB€êÂ2”dl¬& ¤§GkÀ²Â𢠒¤äžG`€²b"/s crunt2 chrnw1 c2rt chartmp/n/y/e:ccstar ddt f100,a000,0 ichartmp.com r d6f1e s6f1e 24 . d6f1e g0 save 114 chargen.com šæo éMÃIÉj"&,48PAGE\ LINE\FC= FL= COL\MAR\RELINSERT\ONdecimalLINE\SPACING\Z=>ùúû68õÍåLʲCÚµCÅÕåë*Ù7ëÍ["Ù7Õ`iͰLÍzLÑÍšDáÑÁñ·ÉÅÕåë*×7Í[ëÍæF*Ù7ëÅÍ"×7ë"Ù7áÍzLÍ�GïCõÅÕåë*Ù7ë"Ù7ÍRÍDͼL ·ú D  Q`iñññÁÉ!ŸtåÍœ!ñ|µÂ'Q!¢tåÍœ!ñͱ—Ã*Q!|µÊ6Q`iñññÁÉ`i|µÊIQ! 9^#VÕÍÎcñ!¥tåÍì"ñ|µÊyQͯl!9åͱQñ|µÊpQ!9åÍÎcñÍÍlÍ qÃIQ!¨tåÍì"ñ|µÊ©Qͯl!9åͱQñ|µÊ Q!9åÍÎcñÍÍlÍqÃIQ!ñññÁÉÅÅÅÅ;!9å! 9^#VÕÍãRñÑ}Íi#ͳÃÿ|µÂèQ.9n&ë9ùÁëÉ*Â'n&ë!Õÿ|µÊR!Óÿ|µÊR!9n&ë9ùÁëÉ!9n&|µÊ)R! 9^#VÕÍÎcñ!+åÍÃ"ñ|µÊ}Rͯl!9åÍãRñ|µÊPR!9åÍÎcñ! 9^#VÕë9åÍÃoññc|µÊtR!«tåÍ# ñÍÍlÍzpÃ)R!-åÍÃ"ñ|µÊ×Rͯl!9åÍãRñ|µÊ¤R!9åÍÎcñ! 9^#VÕë9åÍÃoññDMÍÍlÍŠp`ic|µÊ)R!3åÅÍSpññÃ)R!ë9ùÁëÉÅÅÅÅ! 9^#VÕÍ/TñDMÍi#ͳÃÿ|µÂ S`iñññÁÉ*Â'n&ë!Öÿ|µÊ4S!Ñÿ|µÊ4S!Ûÿ|µÊ4S`iñññÁÉ`i|µÊGS! 9^#VÕÍÎcñ!*åÍÃ"ñ|µÊwSͯl!9åÍ/Tñ|µÊnS!9åÍÎcñÍÍlÍšpÃGS!/åÍÃ"ñ|µÊÏSͯl!9åÍ/Tñ|µÊžS!9åÍÎcñÍÍl! 9^#VÕÍDlñ|µÂ»S9åÍDlñþS!|µÊÉSÍ»pÃGSÍ«pÃGS!%åÍÃ"ñ|µÊ'Tͯl!9åÍ/Tñ|µÊöS!9åÍÎcñÍÍl! 9^#VÕÍDlñ|µÂT9åÍDlñÃT!|µÊ!TÍÒpÃGSÍËpÃGS!ñññÁÉÅÅ!¾tåÍì"ñ|µÊžT!9^#VÕÍ/Tñ|µÂXTÍ|!ñÁÉ!9^#V!^#Vë|µÊoTͯl!9^#VÕÍÎcñ!9^#VÕ!åÍLqññ!9^#VÕÍqcñ!ñÁÉ!ÁtåÍì"ñ|µÊ U!9^#VÕÍ/Tñ|µÂÅTÍ|!ñÁÉ!9^#V!^#Vë|µÊÜTͯl!9^#VÕÍÎcñ!9^#VÕ!ÿÿåÍLqññ!9^#VV!^#Vë|µÊIÍÍlͯlÍŸl! 9^#VÕÍÎcñ! 9^#V!^#Vë|µÊ:IÍÍlÍŸl! 9^#VÕë9åÍÃoññDMc|µÊzI! 9^#V!ŠpÍ ˜|µÊzI! tåÍ# ñ!�ÿDM! 9^#VÕ!‡Iãé`ic|µÊœI!3åÅÍSpññ! 9^#VÕÍqcñ!ñññÁÉÅÅ;!9å! 9^#VÕÍsJñÑ}!?åÍÃ"ñ|µÂÜI9n&ñ3ÁÉáå&|µÊñI!9^#VÕÍÎcñÍïDMåÍQmñ!9^#VÕÍsJñ|µÊJ!9^#VÕÍÎcñ!9åÍïÑës#rÕÍtåÍ# ñ!9^#VÕÍsJñ|µÊ`J!9^#VÕÍÎcñ!9^#VÕÍ÷ñ!ñ3ÁÉÅÅÅÅÅ;!9å!9^#VÕÍ>KñÑ}!JtåÍì"ñ|µÂ©J.9n& ë9ùÁëÉ!9n&|µÊÁJ! 9^#VÕÍÎcñ!9åÍïÑës#rë!å.å.9^#VÕÍ`rñññ!9åÍ>Kñ|µÊúJ!9åÍÎcñ!MtåÍì"ñ|µÂÏJ.å. åÍïDMåÍ`rñññÑÕÕÍ÷ñ!å+ååÍ`rñññÅÍ÷ñ! ë9ùÁëÉÅÅÅÅÅ;!9å!9^#VÕÍýKñÑ}!PtåÍì"ñ|µÂtK.9n& ë9ùÁëÉ!9n&|µÊŒK! 9^#VÕÍÎcñ!9åÍïÑës#rëÑÕÕÍQmñ!9åÍýKñ|µÊ¸K!9åÍÎcñ!StåÍì"ñ|µÂšK.å. åÍïDMåÍ`rñññÑÕÕÍ÷ñ!å+å+åÍ`rñññÅÍ÷ñ! ë9ùÁëÉÅÅÅÅ! 9^#VÕͪLñDMÍi#!VtåÍœ!ñ|µÂ*L!YtåÍœ!ñÃ-L!|µÊ9L`iñññÁÉ!|åÍÃ"ñ|µÂML`iñññÁÉ`i|µÊ`L! 9^#VÕÍÎcñͯl!9åͪLñ|µÊzL!9åÍÎcñÍÍlÍÙpÍi#!\tåÍœ!ñ|µÊ˜L!ñññÁÉ!|åÍÃ"ñ|µÂ`LñññÁÉÅÅÅÅ! 9^#VÕÍ,MñDMÍi#!_tåÍœ!ñ|µÊÓL`iñññÁÉ!^åÍÃ"ñ|µÂçL`iñññÁÉ`i|µÊúL! 9^#VÕÍÎcñͯl!ÕÍqcñ!ñÁÉ!ÄtåÍ#ñ|µÊ“U!9^#VÕÍ/TñDM!å+å.9å! 9^#Vbk##^#Vás#rë|µÂMU`iÃPU!|µÊdU!9^#VÕÍ ,ñÃgU* 'åÍ`rñññ!9^#Vbk##å!9^#V!s#rás#rñÁëÉͳÃÿ|µÊªU!-åÍÃ"ñíU!|µÊØU!9^#VÕÍ/Tñ|µÊÏU!9^#VÕÍÎcñÍ,q!ñÁÉͳÃÿ|µÊïU!*åÍÃ"ñÃòU!|µÊˆV!9å!9^#Vás#rÕÍ/Tñ|µÊV!9^#VÕÍÎcñÑÕbk##^#V!n&ë!ýÿ|µÊ@V!üÿ|µÂJVÑÕÕÍcsñÃRV!ËtåÍ# ñÑÕ!^#Vbk|µÂqV9^#V!s#rëÑÕbk##^#VÕÍO/ñͱ—ñÁÉͳÃÿ|µÊŸV!&åÍÃ"ñâV!|µÊ„W!9å!9^#Vás#rÕÍ/Tñ|µÊÓVÑÕbk##^#V!ͱ—ÃÖV!|µÊéV!âtåÍ# ñ!ñÁÉÑÕ!^#Vbk|µÂ=W.å.å.9^#Vbk^#V!åÍ`rñññÑÕ!å!9^#Vbk##^#V!n&ÍH˜Ñës#rëÑÕbk##^#V!YvÍ ˜|µÊvW!Yvå!9^#Vbk##^#Vás#rÑÕ!Yvës#rëÃ~W!õtåÍ# ñ!ñÁÉ*Â'n&‚ÿ|µÂ¼WÍÇ!9^#VÕÍ/Tñ|µÊ³W!9^#VÕÍÎcñÍñ####n&aÍë–+|µÂ|_.)9^#V`iës#r!)9^#Vbk##å`i##^#Vás#r!)9^#V!å`i##^#V!n&ÍH˜Ñës#r!)9^#VÕͶjñ!9n&å!+9^#VÕÍzbññ!)9^#Vbk##^#V!n&Í ˜%ë9ùÁëÉ`i|µÂ�_##9åÍk ñDMÓ_!|µÊ-a!)9^#V`iës#r!)9^#Vbk##å`i##^#Vás#r`i##^#V!n&ë!ûÿ|µÊï_!úÿ|µÊï_!ùÿ|µÊï_!øÿ|µÂ `!)9^#V!s#r!%9ùÁëÉ`i##^#VÕÍ$>ñ####n& Íë–|µÊE`!)9^#V!s#r!%9ùÁëÉ`i##^#VÕÍO/ñ|µÊ‰`!)9^#V!s#rë9n&å!+9^#VÕÍzbññ!%ë9ùÁëÉ`i##^#V!n&++++|µÂú`.å.å`iåÍ`rñññ!)9^#V!å`i##^#V!n&ÍH˜Ñës#rë9n&å!+9^#VÕÍzbññ!%ë9ùÁëÉ!)9^#am. CHRNW2.à - Thió ió thå assemblù modulå thaô interfaceó tï  thoså � in IO.MAC. IO.MAà - Assemblù languagå routineó tï dï systeí tracë  I/Ï  anä � ROM SENDEN (sense density). CHRNW3.à - Thió modulå containó somå à routineó thaô woulä noô � fiô iî thå mainlinå sourcå filå dï tï aî apparenô runninç ouô oæ � spacå iî thå compiler® (É saù apparenô becauså thå compileò � never generated an error message, it just sort of hung) CHRNW4.à - Thió modulå containó thå routinå thaô inputó á filå � name® Iô ió iî á separatå filå foò thå samå reasoî aó stateä iî � the description of CHRNW3 above. CHRNW6.à - Thió routine displays the Osborne copyright message. CHRNW7.C - This routine inputs a string. CHRNW8.à - Thió ió thå à modulå thaô doeó systeí tracë I/O® Iô � contains the system track and font ram I/O menues. Afteò thå abovå submiô ió run¬ CHARGEN.COÍ wilì bå thå chargeî � program. .pa ŠIî ordeò tï removå thå Supersofô Copyrighô messagå thaô displayó � foò á spliô seconä aô thå beginninç POP PSW LXI H,2 PUSH H MVI L,22 PUSH H MVI L,1 PUSH H CALL putbox POP PSW POP PSW POP PSW LXI H,22 PUSH H MVI L,77 PUSH H CALL curpos POP PSW POP PSW LXI H,2 PUSH H MVI L,22 PUSH H MVI L,1 PUSH H CALL putbox POP PSW POP PSW POP PSW LXI H,24 PUSH H MVI L,12 PUSH H CALL curpos POP PSW POP PSW LXI H,66 PUSH H MVI L,23 PUSH H MOV L,H PUSH H CALL putbox POP PSW POP PSW POP PSW CALL bright LXI H,22 PUSH H MVI L,2 PUSH H CALL curpos POP PSW LXI H,C1+965 XTHL CALL putst POP PSW LXI H,23 PUSH H MVI L,5 PUSH H CALL curpos POP PSW LXI H,C1+975 XTHL CALL putst POP PSW POP PSW RET ENTRY putbox putbox: PUSH B CALL grfon LXI D,0 MOV H,D MOV L,E DAD SP MOV M,E INX H MOV M,D XCHG C267: POP D PUSH D PUSH D LXI H,10 DAD SP MOV E,M INX H MOV D,M POP H EXT CCGT CALL CCGT MOV A,H ORA L JZ C266 JMP C268 C265: LXI H,0 DAD SP PUSH H MOV E,Moæ thå program¬ uså SID tï � modify the string: Type in SAVE Type in SID CHARGEN.COM Thå prograí wilì displaù thå sizå tï thå prograí anä TPÁ starô � address. Type in dXXXX Thå systeí wilì displaù á blocë oæ memory® You'lì bå ablå tï seå � thå copyrighô message® (Oæ course¬ iæ you'vå madå substantiaì � prograí modifications¬ thå messagå mighô noô bå iî thió block)® � Iî ordeò tï removå thå displaù oæ thå message¬ typå in: sXXXX then 24 then . Iæ yoõ no÷ redisplaù thå blocë (dXXXX)¬ you'lì seå thaô thå "S¢ � iî "Supersoft¢ haó beeî replaceä bù á "$"® Thå CP/Í functioî � that prints the message stops printing when it encounters a "$". To save the program type control-C. Then, Specifù CHARGEN.COÍ aó thå filå name¬  á beginninç heø addresó oæ � 100¬ and endinç addresó oæ YYYY. Thió saveó thå chargeî program® Thå Supersofô copyrighô messagå � wilì  no÷ noô bå displayed®  Thió ió includeä iî thå abovå submiô V!s#rë9n&å!+9^#VÕÍzbññ!%ë9ùÁëÉÍi#!ç&å!9åÍÀññ!ç&#sÍ«*!•uåÍœ!ñ|µÂea!—uåÍ# ñÃ…a!å!ç& sÕ!ç&##ë* 'ës#rÕÍ?)ñññ!å+å* 'åÍ?)ñññ!)9^#VÕ!*8åÍæ9ñÑës#r!)9^#Vbk##å!+9^#Vbk^#Vbk##^#Vás#r!)9^#V!s#rë9n&å!+9^#VÕÍzbññ!%ë9ùÁëÉ!"9åÍldñ|µÊ@b!)9^#VÕbk!+9^#V!å!-9^#V!ës#rás#rás#rëÃYb!¡uåÍ# ñ!å+å+åÍ`rñññÍÙ!9n&å!+9^#VÕÍzbññ!%ë9ùÁëÉÅ!9^#Vbk##^#VëDM!9^#Vbk+|µÂÊb!°uåÍ# ñ`i|µÊµb`isë!9^#V!s#rëÃoc!ýÿ|µÂc!·uåÍ# ñ`i|µÊíb`isë!9^#V!s#rëÃocbk++|µÂ:c!¾uåÍ# ñ`i|µÊ%c`isë!9^#V!s#rëÃoc!üÿ|µÂoc!ÅuåÍ# ñ`i|µÊ]c`isë!9^#V!s#rëÁÉ!9^#Vbk^#Vë|µÊ™c!*8å!9^#Vbk^#VÕ͘ññ!9^#V!^#Vbk|µÂºc##9^#VÕÍñ####n&AÍë–+|µÂ4d`i##^#V!n&åÍlñÃJdÅÍðiñÃJd`i####^#VÕÍlñÁÉ!ÌuåÍIñÍ‚F!ÎuåÍIñ!9^#VÕÍQmñÉ!9^#VÕÍãdñ|µÂ‹d##9^#VÕÍöfñÃŽd!|µÊ®d!å+å.9^#Vbk^#VÕÍ`rñññÃßd!9^#VÕÍmgñ|µÊÛd!å.å.9^#Vbk^#VÕÍ`rñññÃßd!É!ÉÅÅÅ;bk9s#rë!+åÍÃ"ñ|µÂñd!-� procedure. plaù thå sizå tï thå prograí anä TPÁ starô � address. Type in dXXXX Thå systeí wilì displaù á blocë oæ memory® You'lì bå ablå tï seå � thå copyrighô message® (Oæ course¬ iæ you'vå madå substantiaì � prograí modifications¬ thå messagå mighô noô bå iî thió block)® � Iî ordeò tï removå thå displaù oæ thå message¬ typå in: sXXXX then 24 then . Iæ yoõ no÷ redisplaù thå blocë (dXXXX)¬ you'lì seå thaô thå "S¢ � iî "Supersoft¢ haó beeî replaceä bù á "$"® Thå CP/Í functioî � that prints the message stops printing when it encounters a "$". To save the program type control-C. Then, Specifù CHARGEN.COÍ aó thå filå name¬  á beginninç heø addresó oæ � 100¬ and endinç addresó oæ YYYY. Thió saveó thå chargeî program® Thå Supersofô copyrighô messagå � wilì  no÷ noô bå displayed®  Thió ió includeä iî thå abovå submiô åÍÃ"ñ|µÊ$e!9å!9^#Vë͘Ñës#rëÃñd*Â'n&åÍdñ|µÂ9eññ3ÁÉ*Â'n&Ðÿ|µÂ‰e*Â'n&Ðÿ|µÂ]eÍÇÃHe*Â'n& ÍH˜ˆÿ|µÂ}e9sÍÇÃ’e!9sëÃ’e!9 së!9s#rë*Â'n&å!9n&åÍ^fññ|µÊfÍëDM0Íà—|µÊÑe`i9ÍÕ—ÃÔe!|µÊäeÅ!0ÑÍZ˜Ãðe`i ÍH˜©ÿDM!9å!9^#VÕë9n&ÑÍë—ë`iÑës#rëÃ�e!9^#V!Í¿—|µÊ@f!9å!9^#Vë͘Ñës#rë! 9^#VÕbk!9^#Vás#rññ3ÁëÉÅ!9n&åÍ¢“ñDM!9^#V! Íà—|µÊ¦f`i0Íà—|µÊ¡fÅ!0å.9^#VáÑÍà—äf!ÁÉ`i0Íà—|µÊ¾f`i9ÍÕ—ÃÁf!|µÂñf`iAÍà—|µÊëfÅ!Aå.9^#V!õÿÑÑÍà—Ãôf!Ãôf!ÁÉÅ!'åÍÃ"ñ|µÂgÁÉÅbk9s#rëÍÇDMÙÿ|µÊQg`i¤ÿ|µÂ/gÍiDM!9å!9^#V!ÿÍë–e.ë`iÑës#rëÃg!9^#VÕbk!9^#Vás#rñÁëÉÅ|ÿë9ùÅÅÅ;!"åÍÃ"ñ|µÂŽg‹ë9ùÁëÉ!9å!åÍZ–ñÑës#rbk#|µÂ¹g!ÐuåÍ# ñ‹ë9ùÁëÉ*J(å!9^#Vás#rÑÕ!L(ës#rÑÕë"J(!9s#rë9DM*Â'n&Þÿ|µÊh*Â'n&Í ˜Ã h!|µÊ‡hÃ"h`iå!9n&Ñ}Ãèg!9å^#Vás#r!„ÍÕ—|µÊfh!æuåÍ# ñ!"åÍÃ"ñͱ—åÍÇÍ ˜ÑÍë–|µÊ‡hÃBh!9åÍÇÑ}¤ÿ|µÂh.9åÍiÑ}ÃhÍÇ`is!�9^#V*H(ës#rë9å^#Vás#r*H("H(!9å!9^#VÕÍZ–ñÑës#rbk#|µÂæh!ûuåÍ# ñ!‹ë9ùÁëÉ!9DM!9å^#Vás#rbk+å`ioå.åÍ`rñññÉ!å.pålåÍ`rñññÉ!å.qålåÍ`rñññÉ!å.rålåÍ`rñññÉ!å.sålåÍ`rñññÉÍŸl!å+å.9^#VÕÍ`rñññ!9^#VÕ!åÍÃoññÍzpÉ!å.(å.åÍ`rñññÉ!å.)å.åÍ`rñññÉ!å.tålåÍ`rñññÉ!å.uålåÍ`rñññÉ!å.vålåÍ`rñññÉ!å.wålåÍ`rñññÉ!å.xålåÍ`rñññÉ!å.yålåÍ`rñññÉ!å.zålåÍ`rñññÉ!å.{ålåÍ`rñññÉÅ*'DM!"'.9^#VÕÍë! ãÍGñ!9^#VÕÍž#!/ãÍGñ!9^#VÕÍž#ñÍ `i"'ÁÉ*5'&|µÊwr*l(ë*r(Í ˜Ãzr!|µÊ“r!å++å*r("l(åÍårñññ*8'&|µÊªr*n(ë*t(Í ˜Ã­r!|µÊÆr!å++å*t("n(åÍårñññ!9^#VÕ!9^#VÕ!9^#VÕÍårñññÉ*6'&|µÀ!9^#V!AåÍGñ!9^#Vbk|µÊs!9^#VÕÍž#ñ!9^#V!ýÿ|µÂ=s. åÍGñ!9^#VÕÍëñÃ_s!9^#Vbk|µÊ_s! åÍGñ!9^#VÕÍž#ñÍ ÉÅ!9^#VëDM##^#Vbk|µÊ³s`i##å`i##^#Vbk^#Vás#r`i####å`i##^#V!n&ÍH˜Ñës#rëûs!OvåÍ# ñÁÉelse{defaultcase:case()whileMissing whileContinue without matching loop.#endasm<<=>>=Nonsensical pointer operationmissing ':'||||&&&&|||=||^=&&&=&&==!===!=<><=>=<<>><=>=<<<>>>>>=<<=>><<>><<Don't add pointers++--sizeofNot a pointer or arrayCan't take addressToo many &'n&Ñ}|µÂìh!‹ë9ùÁëÉÅ;ÍÇDMë!öÿ|µÂ.iÍi3ÁÉ!Žÿ|µÂ=i! 3ÁÉ!’ÿ|µÂLi! 3ÁÉ!šÿ|µÂ[i! 3ÁÉ!Œÿ|µÂji! 3ÁÉ!žÿ|µÂyi!3ÁÉÅ!åÍ^fññ|µÊâi!0ë`iëÍZ˜DMbk9së*Â'n&å!åÍ^fññ|µÊÆi!9ån&#Ñ}ÍÊ—ÃÉi!|µÊâi`i)))åÍÇÑÐÿDMÜi`i3ÁÉ!;åÍGñÉÅ!*8å!9^#Vbk^#VÕ͘ññ!9^#Vbk##^#VëDMåÍ$>ñ####n&@Íë–|µÊ@j!åå!våÍ`rñññÁÉ`in&+++|µÊcj`i####n&Íë–Ãfj!|µÊ™j!å+å.9^#Vbk^#V!åÍ`rñññ!å.eålåÍ`rñññôj!åå.9^#Vbk^#V!åÍ`rñññÁÉ!9^#Vbk##^#V!n&ë!ùÿ|µÈ!øÿ|µÈ!9^#Vbk##^#VÕÍ$>ñ####n&@Íë–|µÊk!våÍ# ñ!å+å.9^#Vbk^#V!^#V*"'ÍZ˜åÍ`rñññ!å.ålåÍ`rñññÉÅ!9^#Vbk##^#VÕÍ$>ñ####n&@Íë–|µÊuk!å.å! våÍ`rñññÁÉ!9^#Vbk##^#V!n&+++|µÊ°k!9^#Vbk##^#V!n&Íë–ók!|µÊÏk!å.ålåÍ`rñññ!DMÃÔk!DM!åÅ.9^#Vbk^#V!åÍ`rñññÁÉÍÍl!å9n&Íë–|µÊ l!fÃl!gå!åÍ`rñññÉ!å9n&Íë–|µÊ5l!hÃ8l!iå!åÍ`rñññÉÅ!9^#Vbk##^#VëDM|µÂ]lÁÉÅÍ$>ñ####n&Íë–|µÊyl!ÁÉ`in&ë!ýÿ|µÊ•l!üÿ|µÂšl!ÁÉ!ÁÉ!å.ålåÍ`rñññÉ!å. ålåÍ`rñññ* 'ë*"'ëÍZ˜""'É!å. ålåÍ`rñññ* 'ë*"'""'É!å. ålåÍ`rñññÉ!å.å.s->Can't Subscript]Not an array or pointer]Not close enough to a function++--Badly formed function callsprintffprintfprintfcharint))(UndefinedBad expressionCoerseCoerseCoerseCoerse()string space exceededstring size exceededstring space exceeded0bad loc type0Bad stackOperation on incompatible pointersBad usageÅÅÅ!�DMå+n&Ñsë9å!g|së"ç|Ñës#rë`in&åÍIwñ|µÊžv`iÉv`in&Õÿ|µÊºv`in&-ͱ—ýv!|µÊòv`in&åÍIwñ|µÂ‰v`in&|µÂÂv!g|å!9^#VásññÁëÉ`in&åÍIwñ|µÂ-w!g|å!9å^#Vás#ráå`in&Ñ}`in&|µÂòvññÁÉ!g|å!9å^#Vás#rá sëÉv!9^#V!àÿ|µÊgw!9^#V! ͱ—É!ÉÅÅÅ!9s#rë! 9^#VÕ!9^#Ván&|µÊËw! 9^#VÕ!9^#Váå! 9^#VÕë9å^#Vás#rán&åÍ¢“ñÑ}Ãyw!€DMl9å`in&Ñës#rë!9å^#Vás#r!ÍÊ—|µÊ›x!9s#rë! 9^#VÕ!9^#Ván&|µÂYxÅ!9^#Ván&åͧñ|µÂÿ2G6Íòp¶vÍtLÍÉp::2J:�v2:ÍZ1Í÷$¯2Ë4: 7·Â«pÍæ#8ÍrsÍ(%÷pÍæ%8ÍxsÍÆsÀÍ2'�vÍåpÃÉpÍ6sÍòp87Íåp¯272Ø6:+2_5:^5Íy)Ã[-·ÈÍÃ'ÍCq:ý6·Â qÍ\!Ë4~6þÊ"qÍq�v!Cë:!2pÍ ë:Í'C!¬7Íå:¯72:Íq�v!¬7ëÍhqÍ2'Í�qÍhqÒFq!Õ7ÍI*Õ7yÍTJ�vÍMÃÅÕå!Ý7xÍVKÍíJÊqJy·Â£JÃqJÅÕå!�"ø6!Ý7ÍxH*Û7͈CÍŸIÒ–qÃqJÍÃp:C6·ÊG-Í÷$ͱ$!8ÍÕ.Í” ÄàÍ2':D6·À:C6·ÊG-ôq8¯ÃØq8>ÿ2È5G*B6|¥!§8Âÿs:C6·ÄèsØÍ÷$:Y5·ÊrëÍû!8ÍûÍ”$:Ý62ß6Ìn$:!Ó4Í$r,pÈ2JÍZ1¯ãÍ%Íì͹$ãÅå*+ãåÍ?1*`5"ð6ë"©6ë*ð6Í~!Í”$áåÍa#+w#ÍŸ$~·Ê‚rͨrÚ–r·ÊyrÍsÚ–rGͤ·Â–rxGáåÍ8xþÿõÍ”$ñáãõ}!+¾Äy)ñáÁÉÍæµ8áåÍÍ©$·8Ã@rÅÕÕ¯ ®rÑÕÍsÍßrþ.ÂÆr#ÍßrÑþ ÊÛrͤ·ÑÁÉ7ÑÁÉÍýrÊòr ÂßrÍýrÂërÉõ>  ÂórñÉ~Í#VÕbk^#Vás#rás#rÕ ë9n&Ñ}ññÉ!9n&öÿ|µÂG‘. å.9^#VÕÍ]‘ññ#|µÂG‘+É!9n&å!9^#VÕÍ]‘ññÉÅ!9^#V!Íb˜|µÊ�‘!9n&åÍù˜ñ!ÁÉÅ!9^#V!!n&ë!¨ÿ|µÊ¬‘!©ÿ|µÊ¬‘!¿ÿ|µÂ"’!9^#V!#DM^#VëDM##^#VÕ`i####^#VáÍà—|µÊí‘!9^#VÕÍ<“ñ#|µÂí‘+ñÁÉ`i##å^#Vás#rë9å`iå^#Vás#rás#rÕ ë9n&Ñ}!ñÁÉ!"Ø“!ÿÿñÁÉ!9^#V!Í—å!9^#VÕÍ]‘ññ#|µÂQ’+É!9^#VÕ!9^#VÕÍ]‘ññ#|µÂn’+É!ÉÅ!9^#V!!n&ë!¨ÿ|µÊ�’!©ÿ|µÊ�’!¿ÿ|µÂÎ’!9^#V!#DM^#VëDM##^#Vë|µÊÉ’!9^#VÕÍ<“ñÁÉ!ÁÉ!"Ø“!ÿÿÁÉÅ!9^#V!#DM^#VëDM##å!9^#VÕ`iå`i####^#VÕÍäƒñññÑës#r!Íà—|µÊ*“!!"Ø“!ÿÿÁÉÅ`iÑës#rÁëÉÅ!9^#V!#DM^#VëDM!9^#VÕ`iå`i####^#VÕÍ<„ññã`i####^#VáÍ ˜|µÊ†“!ÿÿÁÉÅ`iÑës#r`i##s#rÁëÉÅ!9n&DMaÍà—|µÊ“`izÍÕ—ÃÅ“!|µÊÔ“Å! ÑÍZ˜ÁÉ`iÁÉÅÅÅÅÅÅÅ*}–|µÂ ”.åÍ–ñ"}–å##ÍH˜Ñës#r*}–##å*}–ÍH˜Ñës#r*}–##"�–"–!9å!9^#VÕá###ëÍ9—Ñës#rë*�–DM`i^#V!Íë–|µÂâ”!9å`i^#Vás#rë^#V!Íë–|µÂ„”Å!9^#Vë^#Vás#rëÃS”ÑÕÕÅ! 9^#Vë)ÑÑÍv˜|µÊâ”Å! 9^#Vë)Ñ"�–ÑÕ*�–Íl˜|µÊÆ”*�–å`i^#Vás#rëÅ*�–ÍH˜Ñës#r`i## ë9ùÁëÉ!9ë`iës#rë`i^#V!þÿÍë–DMÑÕ*�– MOV L,M MVI H,0 POP D EXT CCSUB CALL CCSUB LXI D,255 EXT CCAND CALL CCAND POP D XCHG MOV M,E INX H MOV M,D LHLD charcount INX H SHLD charcount DCX H LHLD recptr INX H SHLD recptr DCX H LHLD address INX H SHLD address DCX H JMP C328 C329: POP D PUSH D LXI H,4 EXT CCASR CALL CCASR LXI D,15 EXT CCAND CALL CCAND PUSH H CALL wrhexchar POP PSW POP D PUSH D LXI H,15 EXT CCAND CALL CCAND PUSH H CALL wrhexchar LXI H,255 XTHL CALL wrhexchar LXI H,254 XTHL CALL wrhexchar POP PSW POP PSW RET ENTRY wrhexchar wrhexchar: LHLD diskfull DCX H MOV A,H ORA L RZ LXI H,2 DAD SP MOV L,M MVI H,0 LXI D,-255 DAD D MOV A,H ORA L JNZ C331 LXI H,iobuf XCHG LHLD bufcnt DAD D LXI D,13 MOV M,E XCHG JMP C336 C331: LXI H,2 DAD SP MOV L,M MVI H,0 LXI D,-254 DAD D MOV A,H ORA L JNZ C333 LXI H,iobuf XCHG LHLD bufcnt DAD D LXI D,10 MOV M,E XCHG JMP C336 C333: Ív˜|µÂ•Å*�–ÑÍb˜Ã•!|µÂC”. 9å! 9^#V!)Ñës#rë!9å! 9^#VÕÍ–ñÑës#rbk#|µÂ›•. 9^#V! Í¿—|µÊl•! ë9ùÁëÉ! 9åÕ^#VáÍ9—Ñës#r ë9åþÿÕ^#VáÍë–Ñës#rëÃ1•!9^#VÕ*–##ÑÍ ˜|µÊË•*–å!9^#V!ÍH˜Ñës#rëÃÛ•*–å!9^#Vás#rë!9^#VÕ!9^#VÕ!9^#V!Í—+)Ñ"–Ñës#r*–å*}–ÍH˜Ñës#rëÃC”!åÍZ–ñÍë–åÍZ–ñ!9^#VÕÍZ–ñÉ!9^#Vë"�–åþÿÕ^#VáÍë–Ñës#rëÉÅ*G™DMå!9^#Váå͘ñ|µÊy–!ÿÿÁÉ`iÁÉ)))ÑÉ><ê™–!í°"™"-™¯2™2/™©– Í*ùÍÇSuperSoft C Copyright 1981 Run Time Package V1.1.0 $ÑÅ Í!ÁÉ|¢g}£oÉÅ}æÊ—Gë)Âû–ÁÉÅ}æÊ—G·zW{_ —ëÁÉÅ|µÂ1—Íß–Division by 0 $å!ãÃV—Å|µÂR—Íß–Division by 0 $Í›—õ͘DM!>õ Úl—}‘o|˜g¯æë)õ…oëñ怄gñ=ÊŠ—õ)æ…oÃa—|ægëñÁð͘ë͘ëÉz¬õ|æ€Ä˜zæ€Ê¯—ë͘ëñÉ·}“o|šgµ!È-ɯ{•zœ!ð,ɯ}“|š!ð,ɯ{•zœ!ð-ɯ}“|š!ð-ÉÅDM!>ë)ëÒú— =ʘ)Ãó—ÁÉ|/g}/o#É}“o|šgµÈ!ÉÑáÕå͘9Ò9˜áåž™Í[˜Ú9˜á"G™ÑÕÕ!ÉÑÑÕÕ!ÿÿÉ}/o|/gÉ|²g}³oÉ^#VëÉës#rëÉë}“o|šgÉ{•zœ!Ø-É}“|š!Ø-É{•zœ!Ø,É}“|š!Ø,É|ªg}«oÉ!9"C™á"E™å!ÉÑÑ*C™ù*E™åëÉå`i"œ™áÁÑãÅÅØ#·ÊΘ¾Ê¿˜Å*œ™DMáÉ`iÁÑãÅDMÍáÁåååo&ÉÅÍþ!ÁÈoÉ!9^ÅÃâ‹ÅÅÅÍõÍ“SÍs*ó &|µÂÍÓÍÌVÍ KÍ *ä åÍ™ñDM}2ß `iÍ*�|µÂý`iÅÿ|µÂX.;åÍ@ ñÍ Ã%`i÷ÿ|µÂ•#å.cålåÍ$ñññÍpP*ä åÍÜ„ñDMÍ*�|µÂýÅ*à åͼ†ññÃs*e #"e `iöÿ|µÊ%!9åÅ!AÑÍ¥�Ñës#rë9åÍáÑës#r͘!9^#VÕ!9^#VÕ!9^#V!ýÿ|µÂðÍ^ÃóÍáåÍ$ñññÃ%Í Í;KÍìWññÁÉÅ*ä åÍ™ñDMÍ*�|µÂ9`iöÿ|µÂ1Í‚PÃ9ÅÍ@ ñà ÁÉÅ*ä åÍ™ñDMÍ*�|µÂ\`iöÿ|µÂ<ÁÉÅÅ*} dë*vŽÍ¸�|µÊ„!då͹‹ñÿÿÍ�Ç!|µÊ”!È å͉ ñ!9ë*} ës#rë*ä åÍ™ñDMÍ*�|µÂÑ`iöÿ|µÊÑ*} #"} +ë`i}á*} #"} +sÑÁëÉÅÅ;*ß &öÿ|µÂöñ3ÁÉ!9å!DMÑ}͘!9å*ä åÍ™ñÑës#r!9^#V!Óÿ|µÂ19sëÃ!9^#V!0Í�|µÂQ#9^#V!9Í�ÃT!|µÂt`i Í6�å!9^#V!ÐÿÑDMÃ!9^#Vë}2ß áå&|µÊ’`iÍO�ñ3ÁÉ`iñ3ÁÉÉÅ!9^#VÕÍÜ„ñDMÍ*�|µÊ·`iÁÉ`iæÿ|µÂÄÁÉ`iöÿ|µÂÓ. ÁÉ`iöÿ|µÊé`i ÍW�Ãì!|µÊš`iÁÉ!"à "ä "Ü‹}2ñ "æ "ê }2þ }2ý "_ "c "e "g ÉÅ!å͹‹ñ"] ͬ!å͹‹ñ"a *â |µÊY*a å*] ë*â dÑÍ®�Ã\!|µÊu*] ë*â d"a åÍc�ñ*] ë*a ëÍ¥�"a !ë*a ë͘Œ"a *] #"[ #"ÿ !Èå͹‹ñ" "} ÁÉÅ! DMÅ͹‹ñ#|µÂÈ##ë`ië͘ŒDM`iÍ�|µÂ²!òå͹‹ñÁÉ!9^#VÕ!9^#VáÍ®�|µÊ!9^#VëÉÒ„*̓Í©*�8|þøÊœ*¯Í*ÃŒ*Í©Í:Ì9·Ê³*>€ÍEÍDÍ¿DÃNo Fatal error(s) Warning(s):À7GÍ©à)Í>+!÷*ÍA+Í+Ã%+REPT/IÅÅ;bk9sëØ !9së*_ Í®�|µÊ¬ á&3ÁÉ!åÍ~:ñ|µÂ� *[ n&DM!9å!åÍl'ñÑ}`ië!ùÿ|µÂ!9n&+++|µÂ•åÍ€'ã!åÍ€'ãÍæ�ññ|µÊ•!åÍÕ*ñÃ� bk+|µÊ!áÿ|µÂ/!åÍÌYñ|µÊ•Ã� !ðÿ|µÂH!åÍÅ!ñ|µÊ•Ã� !øÿ|µÂa!åÍÂñ|µÊ•Ã� !—ÿ|µÂ—!9n&øÿ|µÂ•åÍÕ*ñ!å#å.2ålåÍ *ë9ùëÃ� !™ÿ|µÂØ!9n&øÿ|µÂ•å#å.ålåÍ *ë9ù!åå.ålåÍ *ë9ùëÃ� !¸ÿ|µÊ!÷ÿ|µÊ!îÿ|µÊ!¿ÿ|µÊ!¤ÿ|µÂ!åÍRnñ|µÊ•Ã� !žÿ|µÂ.!åÍ.ñ|µÊ•Ã� !âÿ|µÊR!·ÿ|µÊR!óÿ|µÊR!òÿ|µÂè!åÍ.ñ|µÂ� !9n&ë!žÿ|µÂ”!åÍ€'ã!åÍ€'ñÑÍ�|µÊ•!åÍÕ*ñÃ� bk+|µÂ•`iâÿ|µÊ²`iIÍ�õ!|µÊ•!ååÍX'ã!IålåÍ€'ãÍ *ë9ù!ååÍ5ññ|µÊ•Ã� !ðÿ|µÊú!²ÿ|µÂ!åÍ«ñÕ!çÿ|µÂ!åÍÐñ|µÊ•Ã� !ýÿ|µÂ?!åÍÖ/ñ|µÊ•!åÍÕ*ñÃ� !õÿ|µÂu!9n&Óÿ|µÂ•åÍÕ*ñ!å#å.ålåÍ *ë9ùëÃ� !½ÿ|µÊ•!åÍX'ñ++++|µÊ•á&3ÁÉ*_ Í®�|µÊ©á&3ÁÉ!åÍÌYñ|µÂ� !åÍ­8ñ|µÂ� !åÍl'ñDM!9å!åÍl'ñÑ}!9å!åÍl'ñÑ}`ië!òÿ|µÊ!âÿ|µÂ!9^#VëÉÅ*à DM!"à *ó &|µÂR*õ &|µÊ,Í‚P*æ åÍF !Ü ãÍl ñ*æ |µÊR!ô åÍl *c ãÍF ñ`i"à |µÊqÍgP*æ åÍF ! ãÍl ñÍ‚PÁÉÅ! å! å! åÍ;ññ!M ã! å! åÍ;ññ!9 ã!$ å!) åÍ;ññ!/ ã!/ å!4 åÍ;ññ! ã!6 å!: åÍ;ññ! ã!; å!? åÍ;ññ!i ã!F å!M åÍ;ññ!N ãÍòñÍ�}2ú |µÊ!d"â !Q åÍ©ñ"â !T å!åÍ}Tññ#|µÂ)Ã1!Y åÍ©ñ"W !^ åÍòñ}2ó !f åÍòñ}2ø !i åÍòñ}2÷ !m åÍòñ}2õ !s åÍòñ}2ô !x åÍòñ}2ò !{ åÍòñ}2û ! åÍòñ}2ð !‚ åÍòñÍ�}2ù !… åÍòñ}2ü !ˆ åÍòñ}2ö !� åÍòñ}2ý !� å!åÍ}TññDM#|µÊçÅÍnñÃê!"ì !“ åÍòñ|µÂ!˜ åÍòñÃ!|µÊ9!"W ! å!� åÍ}ñ! ã!£ åÍ}ñ!M ã!9 sásëÁÉÅ!9^#VÕ!åÍ}TññDM#|µÊfÅ! 9^#VÕÍ ññÃ{!9^#VÕ!9^#VÕÍ}ññÁÉÅ!9^#VëDM`iå!9å^#Vás#rbk+n&Ñ}|µÂˆÁÉÅöÿë9ù!9^#VÕ!åÍ}TññDM#|µÊæÅ!9åÍ ññ!9åÍ ñ ë9ùÁëÉ! ë9ùÁëÉ!9^#VÕ!åÍ}TññÿÿÍW�É!9^#Vën&|µÊ.!9^#Vën& ÍW�Ã1!|µÊ`!9å^#Vás#rbk+å!9å^#Vás#rbk+n&Ñ}à !9^#V!ësëÉÅöÿë9ùëDM!9^#Vën&åÍÉ ñ|µÊ´!9å`iÑå!9å^#Vás#rbk+n&Ñ}Ã{!9ë`isë9åÍ ñ ë9ùÁëÉ!© åÍl !ãÍF !.ãÍ@ !ãÍF !.ãÍ@ !ãÍF ñÍ‚ñ!9n&ë!ôÿ|µÂ!9n&žÿ|µÂ7åÍ€'ã!åÍ€'ñÑÍ�Ã:!|µÊ `ië!òÿ|µÂS!JDMÃa!âÿ|µÂa!KDM!åÍÕ*ñ!å#åÅ+åÍ *ë9ùëÃ� !óÿ|µÂ !åÍ~:ñ|µÂ� !9n&žÿ|µÂ¹åÍ€'ã!åÍ€'ñÑÍ�ü!|µÊ !å+åÍX'ã!,ë`iÍ¥�å!åÍ€'ãÍ *ë9ù!åÍÕ*ñÃ� bk+|µÂ !åÍnñ|µÂ� !åͶ7ñ|µÂ� !åÍï3ñ|µÂ� !åÍ€'ñ|µÂ<##9n&Í�Ã?!|µÊ !9n&ë!—ÿ|µÂˆ!åÍÕ*ñ!å#å.-ålåÍ *ë9ù!åå. ålåÍ *ë9ùëÃ� !˜ÿ|µÂÑ!å#å.-ålåÍ *ë9ù!åå. ålåÍ *ë9ù!å##å.eålåÍ *ë9ùëÃ� !Îÿ|µÂ !åÍÕ*ñ!å#å. ålåÍ *ë9ù!åå.HålåÍ *ë9ùëÃ� !áÿ|µÂD!åÍnñ|µÂ� !åÍl'ñDM!9å!åÍl'ñÑ}!9å!åÍl'ñÑ}!9n&Øÿ|µÊm!9n&)Í�Ãp!|µÊ…!9n&Í�È!|µÊ !åÍ€'ñëbk+|µÂ÷!åÍÕ*ñ!å##å.@å!ÿÿåÍ *ë9ùë9n&Øÿ|µÂ� #å.å.,å.åÍl'ñÑÍ¥�å!åÍ€'ãÍ *ë9ùëÃ� bk|µÂ !åÍÕ*!ãÍÕ*ñ!9n&Øÿ|µÂ� å.å.,ålåÍl'ñÑÍ¥�å!åÍ€'ãÍ *ë9ùëÃ� !÷ÿ|µÂ†!9n&ë!Ìÿ|µÊg!›ÿ|µÂ�!9n&ðÿ|µÂ�åÍÕ*!ãÍÕ*ñÃ� !¸ÿ|µÂŸ!åÍ­8ñ|µÊ Ã� !Ìÿ|µÊ !õÿ|µÂ!9n&+|µÂÌ#9n& Í�ÃÏ!|µÊ !å#å.ålåÍ *ë9ù!å#å.å.åÍ€'ãÍ *ë9PÉÅÅ;!DM#9s#rë!9å! 9^#Vën&Ñ}÷ÿ|µÊ< áå& Í�Ã? !|µÊU !9å^#Vás#rëà áå&Óÿ|µÂy #9ÿÿs#rë9å^#Vás#rë!9å! 9å^#Vás#rbk+n&Ñ}åÍÉ ñ|µÊ¹ `i Í6�å!9n&ÑÐÿDMÃy !9^#V`iÍ6�ñ3ÁÉ!9n&0Í+�|µÊé !9n&9Í*�É!É!9n&|µÂú É*à |µÊ, !9n&å*à åͼ†ññÍ*�|µÊ8 ÍìW!· å͉ ñÃ8 !9n&åÍ2Žñ!9n&É!9n&öÿ|µÂ_ . åÍí ! ãÍí ñÉ!9n&åÍí ñÉÅ!9^#VëDM`in&åÍ@ ñ|µÂw ÁÉ!9^#VÕÍÓ ñ*c |µÂ£ *e "c ÍgP*e åÍF !É ãÍl ñ!9^#VÕÍl !Ó ãÍl ñÍ‚P*æ #"æ ÉÅ*à DM!"à *e åÍF !Ü ãÍl ñ!9^#VÕÍl ñÍ‚P`i"à ÁÉÅ*à DM!"à Í‚P!9^#VÕÍl ñ`i"à ÁÉ!9^#VÕÍ6 ñÍ‚PÉÍpP!9^#VÕÍl ñÉÅ!9^#V!Í�|µÊq !-åÍ@ ñ!9^#VëÍO�DMÃ{ !9^#VëDMÅ!9åÅ! ÑÍwŒÑës#rë|µÊ› ÑÕÕÍF ñÅ! ÑÍwŒ!0åÍ@ ññÁÉ!9^#VÕÍl ñ!9^#VÕÍF ñÉOut of string space code generation errors, 1st in line code gen errs ***-zC-extEXT-entENTRY-pfxC-rh-rtc2.rtm-ofile-o-q-org-org+silent-h+oc+prgl+old+t+co+l-x-g+bak+a-n+asm-asmc2.rhc2.rtC Optimizer VOutput file error ****** ******: ’CåÍáá:ó9<2ª8Äá¯2ª8!Ð*ÍA+Í%+ÁÑñù!å+å.ålåÍ *ë9ùëÃ� !½ÿ|µÊ+!ýÿ|µÂ;!åÍý<ñ|µÊ Ã� !ùÿ|µÂ•!åÍ_2ñ|µÊ‚!åÍ©3ñ|µÊ‚!9n&+++|µÂ‚åÍ€'ã!åÍ€'ãÍæ�ññÃ…!|µÊ !åÍÕ*ñÃ� !çÿ|µÂ®!åÍÐñ|µÊ Ã� !åÍ ñ|µÊ !9n&÷ÿ|µÂæ#9n&+|µÂæ##åÍ€'ñÿÍ*�Ãé!|µÊ !åå.1å.åÍ€'ãÍ *ë9ùëÃ� *_ Í®�|µÊá&3ÁÉ!9å!åÍl'ñÑ}!9å!åÍl'ñÑ}!åÍl'ñDMëbk+|µÂ4!9n&++++|µÂ¨#9n&˜ÿ|µÊ�!9n&—ÿ|µÊ�!9n&2Í�Ã’!|µÊ¨!åÍ€'ñÍ�ë!|µÊ–!åÍl'ñDMë!ðÿ|µÊÍ!¤ÿ|µÂ–!å+åÍX'ã!åÍl'ã!åÍ€'ãÍ *ë9ù!å+å.ålåÍ *ë9ù!å#å+å+åÍ€'ñ++åÍ *ë9ù!å#åÅ+åÍ *ë9ùëÃ� !áÿ|µÂ–!9n&øÿ|µÂk#9n&++++|µÂk.åÍl'ñ2Í�Ãn!|µÊ–!å##å+å+åÍ€'ãÍ *ë9ù!åÍÕ*ñÃ� !åÍñ|µÂ� !åͶ7ñ|µÂ� !åÍï3ñ|µÂ� !åÍÌYñ|µÂ� á&3ÁÉÅ!9^#VÕÍl'ñçÿ|µÊë!ÁÉ!9^#VÕÍl'ñë!—ÿ|µÂ !DMÃB!™ÿ|µÂ!DMÃB!˜ÿ|µÂ,!DMÃB!šÿ|µÂ=!DMÃB!ÁÉ`iëbk++|µÊW!úÿ|µÂv!9^#VÕ!å.eålåÍ *ë9ùëÃ!9^#VÕÍÕ*ñ!9^#VÕë!åÅ. 9^#VÕÍ€'ãÍ *ë9ùÁëÉÅ!9^#VëDM#ë*_ ͸�|µÊÈ!ÁÉÅÍl'ñë!²ÿ|µÂ}`i#å͘0ñ|µÊýÅ!å.ålåÍ *ë9ùÁëÉ`i#ÁÉ!9^#V!Œÿ|µÂ!.vÉ!‹ÿ|µÂ"!!wÉ!Šÿ|µÂ/!!tÉ!‰ÿ|µÂ!|µÊ!9åå!9^#VÕÅÍØ;ññÑåën&ÑÍ“�Ñ}Ãá&ñ3ÁÉÅ;!9å!9^#VëDMåÍl'ñÑ}áå&áÿ|µÊ¡áå&ÍW�ä!|µÊ¯!3ÁÉ`i#åÍl'ñØÿ|µÊÑ`i#åÍl'ñ)ÍW�ÃÔ!|µÊß!3ÁÉ`i##åÍl'ñòÿ|µÊ`i##åÍl'ñÍW�Ã!|µÊ!3ÁÉÅ!å##9n&åÅÍ€'ñÍO�åÍ *ë9ù`i#åÍl'ñØÿ|µÂs`i##å`i##åÍX'ã!,å`i##åÍl'ñÑÍ¥�å`i##åÍ€'ãÍ *ë9ùë`i#å!å.ålåÍ *ë9ù3ÁëÉ!9^#VÕÍK/ñÉÅ!9^#V*_ ͸�|µÊµ!ÁÉ!9^#VÕÍK/ñ|µÊË!ÁÉ!9^#VÕÍl'ñDM!9^#VÕÍÖ/ñ|µÂ `i÷ÿ|µÊ !9^#VÕͯ/ñÍ�à !|µÊž!ÁÉ!9^#VÕÍl'ñë!Øÿ|µÊ~ !×ÿ|µÊ~ !Œÿ|µÊ~ !‹ÿ|µÊ~ !Šÿ|µÊ~ !‰ÿ|µÊ~ !ˆÿ|µÊ~ !‡ÿ|µÊ~ !†ÿ|µÊ~ !…ÿ|µÂ‚ !É!ÉÅ!9^#VÕÍl'ñøÿ|µÊ¡ !ÁÉ!9å^#Vás#rÕÍl'ñDMåÍ!ñ#|µÂ ÁÉ!9^#VÕ!9^#VÕÍX'ãÅÍ!ã! 9^#VÕÍ€'ãÍ *ë9ù!9^#VÕÍÕ*ñ!�|µÊ0)!9å^#Vás#rÕë9å^#Vás#rë^#Vás#rëÃú(`iå!9n&Ñës#r`iå! 9n&Ñës#rÅ! 9^#Vás#rññÁëÉÅ*] å*_ ))ÑDMå! 9n&Ñ}`iå!9n&Ñ}Å!9^#Vás#rë9n&�ÿ|µÂÝ)Í¡+Í� *_ |µÊ¼)Íœ*ë)* åÍc�!Èã͹‹ñ"} * "} !}2þ ÁÉ*_ #"_ å*a +Ñ͸�|µÊ *Í� *_ å*a +Ñ͸�|µÊ *Íœ*ÁÉÅ*÷ &|µÊ@*ÍgP!'?åÍl ñ! 9^#VÕÍF !/?ãÍl ñ! 9^#VÕÍ#ñ*] å! 9^#Vë))ÑDMå! 9n&Ñ}`iå!9n&Ñ}Å!9^#Vás#rë*÷ &|µÊš*!6?åÍl ñ! 9^#VÕÍ#ñÍ‚PÁÉÅ*_ |µÂ¯*!;?å͉ ñÁÉ*] n&å*[ n&å*ÿ DM^#VÕͺ?ññ!ãÍÕ*ñÁÉÅ!9^#V*_ ͸�|µÊ+!H?å͉ ñÍgP!9^#VÕÍF !S?ãÍl *_ ãÍF ñÍ‚PÁÉ*÷ &|µÊM+ÍgP!V?åÍl ñ!9^#VÕÍF !^?ãÍl ñ!9^#VÕÍ#!e?ãÍl ñ*] å!9^#Vë))ÑDM####åÅ*] å*_ +"_ #))Ñë`iÍ¥�####åÍSŽñññ*÷ &|µÊŸ+!9^#VÕÍ#ñÍ‚PÁÉÅ*þ &|µÂ¸+*_ Í�û+!|µÊÂ+ÁÉ!åÍl'ñÃÿ|µÊÕ+ÁÉ!åÍl'ñøÿ|µÂì+#åÍÕ*ñÍhm!DMÍ�-åÍ/,ÑÍ“�åÍÐ.ÑÍ“�åÍ-ÑÍ“�|µÊ*,`iÍ­�|µÊô+!j?åÍ ñÍhmÁÉÅÅÅ;*÷ &|µÊE,!r?åÍl ñ!9å!9s#rásë!9^#V*_ Í­�|µÊÿ,Ã},!9å^#Vás#rëÃW,!9^#VÕÍl'ñžÿ|µÂl,#9å!9^#VÕÍ€'ñÑës#rëDMò,`iÅ*_ Ñ͸�|µÊ×,!9^#VÕÍÕ*ñ!9sëÃl,ÅÍL;ñ|µÊô,ÅÍ€'ã!9^#VáÍ�Ã÷,!|µÊ¯,Ãl,áâÑ`ºÙ"rn/gødøµaQ@1p5ÊÍ"rn¬Ú"ñd±D7ÈE}ÍÂ`ñjʨ`b«èn„ÑUô€7[¤³@!4Ài¼ßá“âÕ…UÀÅÀ¦ $Ài`²EWÐÊ!&á0¢} 2X¢0r^•�dBk”B KÂ2³…›BÀO‹V•%áXB3køÌˆ@ âÕ•gÀØ,–(„—„eg 4>-YW( Š!%áYª!%áYªÍ§ �‹Å‡}ÀØ¢0r^•œ!‘[”B KÂ2³TBKÂ2³„2+rˆAÉxFVj³k #Åâñ0X,–(„ —„ec¬øµaPÀF $BKÂ2³¬ˆMrˆ@ÀɸLhŸBFH�ÊÅ‚€’ðŒ¬j³iÈ#Åâñ0X,‘å�€’ðŒ¬Õuˆ@(¸9/ÊÍQ89/ÊÍVhc—Ë­’!¢0r^•š®±å%áYª!%áYªÍ«@�PÖ9|ºÙ,V(„¹D @åÊͶ`�‹EªÕ�’ðŒ¬Õf€‹ÅâÉ ã—ËŠÅb±B ¬r@b3�DuŽ\¢ r^•�fá0"�Z.³˜Œäc�Šsœ‚ €¬rb3�DuŽ\¢Prå/ÊÁ7 ÌFr ºÅ-ˬC|ÁÝg1ÉÖ!.Q(9/ÊαKD2å�—(„—„ef«6ƒƒ<^-YÌFruŸ¬ª´ !.RðŒ¬pœÄg#¬Vã ¢`r^•š¡0Ö9rˆ@@(¸9/ÊÁ7 4r³nx;Å¢ë9ˆÎN˜Œä!G%áYª!%áYÂsœ‚ `¬rb3“¬BKÂ2³TB KÂ2³…›g@�‹VUÿaÝQ9r—„e`›„æ#9:Øv�BKÂ2³TBKÂ2³¬RÑ ¹D ÀåÊ!%áYÖ)h†KÂ2³„æ#9:Øvü"Š:Ç/—[%ŠÅ„P÷XåòÅ¡@±Ë”B�KÂ2³¬¼#+8Nb3“¬B…KÂ2³¬Ü&\ðÉñjªÂä(ä¼#+5D(°ä¼#+8Y ©ƒ@âÕ•ZA„(PåÊ^•‚n˜ŒäëaÒpa 9/ÊÍQ ,9/ÊÎh|Z²¬`0„&ñ3ÁÉÅÅ;*÷ &|µÊ-!„?åÍl ñ!9å!DMÑ}Å*_ ÑÍ­�|µÊy-Ã>-`iÃ(-ÅÍL;ñ|µÂV-ÅÍl'ñbÍ�ÃY-!|µÊ8-!9ååÅÍ.ñÑåën&ÑÍ“�Ñ}Ã8-ñáå&3ÁÉÅÅÅ;*÷ &|µÊ—-!�?åÍl ñ*_ |µÊ°-!åÍX'ñÍW�ó-!|µÊÁ-Íœ*Í� ×-bk9së9s#rë!9å!9^#VÕÍ2(ñÑës#r*_ Í­�|µÊÉ.!9å^#Vás#rë!9^#V*_ Í­�|µÊ*.!9^#VÕÍl'ñbÍ�Ã-.!|µÊÔ-ÃD.!9^#VÕÍÕ*ñÃ.!9å!9^#VÕÍ€'ñÑës#rë9sëDMÅ*_ ÑÍ­�|µÊ5.Ã.`iÃi.ÅÍ€'ã!9^#VáÍ�|µÊœ.ÅÍL;ñß.!|µÊy.ÅÅÍX'ãÅÍl'ã!9^#VÕÍ€'ãÍ *ë9ùëÃy.á&ñ3ÁÉÅ;*÷ &|µÊä.!�?åÍl ñ*_ |µÊ"/bk9s*_ +DM`iÍ­�|µÊ"/!9åå ÅÍ~:ñÑåën&ÑÍ“�Ñ}Ãù.áå&3ÁÉ!9^#V!ÍaŒÿÍJŒÉ!9^#V!ÿÍJŒÉ!9^#VÕÍl'ñåÿ|µÂb/#É!9^#VÕÍl'ñ+|µÂŸ/##9^#VÕÍl'ñ++++|µÂŸ/##9^#VÕÍl'ñiÍ�â/!|µÊ«/!É!É!9^#VÕÍl'ñë!áÿ|µÊÎ/!öÿ|µÂÒ/!É!É!9^#VÕÍl'ñë!Óÿ|µÊ0bk+|µÊ0!çÿ|µÊ0!ýÿ|µÊ0!²ÿ|µÊ0!æÿ|µÂ0!É!É!9^#VÕÍl'ñë!åÿ|µÊQ0!´ÿ|µÊQ0!³ÿ|µÊQ0!äÿ|µÂU0!É!øÿ|µÂl0!9^#VÕ͘0ñÉ!9^#VÕÍ3ñ|µÊ‹0!9^#VÕÍ 0ñÉ!9^#VÕÍÖ/ñÉ!9^#VÕÍl'ñë!ôÿ|µÊÒ0!åÿ|µÊÒ0!´ÿ|µÊÒ0!³ÿ|µÊÒ0!äÿ|µÂÖ0!É!øÿ|µÂí0!9^#VÕÍ 0ñÉ!9^#VÕÍ1ñ|µÊ 1!¡À±ËåÖÉ¡@’ðŒ¬ë7 €± eþ>-YV¨BÞ†O‹VÈ €—(…¹KÂ2°MÂsœŒF±Y¸LhŸBL;¢ !A!æë À—(„´]g1ÈB:ÌF±ÉÌFruˆP ÉxFVu›„À(…›„À‹6ú€Ÿ¬ª8!B€%áYª!E€%áYÂÍ©`Ì:>!‹VU}¡@’ðŒ¬ë7 €#ü2|Z°ª(8¹ 9r—„e`›„æ#9:Ä(0åÊ^•‚n˜Œäb5ŠÜ¢8rå/ÊÁ7 ÌFr1Åfá0¢} @Ë”¼#+Ü'1ÉÖý@Âr^•„ ¬æA€c—(„—„e`›U›sÁÞ-YÌFrj„@€XåÊͨ€/ˆ…—„ef¨…—„e`›„æ#9P`ÉxFV¡À—Ë­’ÅBk”BKÂ2³„2åf€âÕ•{�Ä/÷û’`4°Y ·Ð[ìáhJIq˜PJ††‚˜™ÑÈhh¨ˆ*‘™8††Š£)ˆhhè±›PX††Ž©eÈhiˆˆŠQ“ L††˜ˆ’¥ˆhiˆ±—P\††šª˜©ÿˆhiȱ”@<††žœ’�ÈhiéÉ걓À††¦ª…¨hj¨ê‘— j††ª˜‹©¨hj©Š‘ß@|††ªœŽŸ!È誈i1ÛŽŠ¨§*É*h)Š ÙP ’¦ˆ’Ž“pÉ*i‰êè±Ô° ’¦ª  ‹¿É*jé *‘Ö@H˜ˆˆ¥9‰ˆ‰*QÛ0L˜ž‚ˆHƒ¬‰¨))ÑÖ <šž¬šŠ›ÉÈ« ˆ*QßÐ, ª¨†�ƒxŠ ªŠqÜðx¦„¤—ûÊhª‰¨©±Ô@¦¨¤† ³ÊjŠIˆ©ÑÐਞª  ‹[ʨ誈iØðJ°š‚’�8ž’�ÈhiéÉ걓À††¦ª…¨hj¨ê‘— j††ª˜‹©¨hj©Š‘ß@|††ªœŽŸ!È誈i1ÛŽŠ¨§*É*h)Š ÙP ’¦ˆ’Ž“pÉ*i‰êè±Ô° ’¦ª  ‹¿É*jéUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU…�Ô•S•  e5E$ÄTè%M1A"ISUPPE�’TÓÕÑ`d•4D”t˜%M]!%RTOUPPE�”Õ�Ô`EUE8AUQ !GETS�‘ÑUÒ`d45TätøUQ "MOVMEM�T DÄDE(MQ56XMAIN�“ÐQ `däU…D(M I.P5öbˆ@€ÉxFVu‘ ¦I¸L>-YTl`4°èXBKÂ2³…ÖÍ,–(„›„À!5ÊÍ©`âÕ…Q€¬ÚàñaÔ�Ád±D @äÜ& ¡š¬ªÖ`4„K@híÀ‚Ébˆ@€ɸL"B&6¬€¬« `4„O@mfaÙ0Ád±D @äÜ& ¡€›_€‹VUº�“p˜€¶,‡o@ ’!&á0Ö!p?Ã'Å«*ú^ïðÉñjʾ€›ü2|Z²¯ …ìÿ Ÿ¬«è!z?Ã'Å« ÿ@ ˆÍ""3oØDfÐPKBMÂ`š0€¶ŒøµeRà¤"z3m¨˜€ˆ@âÕ•PX¢¢Í¤À I€ÒÁd±D `ä¼#+:ȄӤå�€—)xFV ¸Nb3‘ˆÖ+7 € èHøµaTð„—„eg[%Š!%áYÖD&ˆ@€ÉxFVu›„ÀâÕ•k€D @åÊ^•‚n˜Œäb5ŠÍÂ`•›@ž,;Ád±X¬V(„¹D Àä¼#+8Nb3“¬BB ÌFr‚€±Ë”BKÂ2³„æ#9:Ù´„ ˆM½Ÿá“âÕ•~€L�ˆ4ÍwôB¬«Ö`4ºÄ.·ødøµeQp! ¡þ>-XTˆB 9Y·ô âø " ü2|Z²© …ðÿ Ÿ¬*ì!%áXÄk>-YW„B\¥áX6á9ˆÎAPÖ9r—„e`Û„æ#9A+6þ�D6þ�A6þ�-XW BrMÂ`ñj¿€âãhåÊ!;€%áYÖ^•œ'1ÉÖ!2€%áXÄk>-XTP \e„@ ˜Œäë™@—)xFV ¸Nb3‘ˆÖ#>-YVl Bg\¢èr^•š¡èÖ9r³hpSÅâÑuœÄg! œ9/ÊÆ#XŒøµaV��ɸL>-XVl Bÿ„N`XåòëdˆN@ɸL>-XV< \m¹KÂ2°MÂsœŒF±[”BiKÂ2³„æë€�ˆsu°è @„䛄ÀâÕ…F@ÇQË”¼#+Ân˜Œäb5ŠÅbxrå7 €6‰ô$+aÑ� ¼97 €˜Ö9|ºÙ"xrn'0¬rùu²X¢0rn„×+4xŸ¬ª!fK­š ¬:\Åf€âÕ•JBX¬Ûäñ"D#p¬Àiu³hIšÃ¥Á"‚Ébˆ@ÀɸLh³@âÕ•QD ’!,–(„›„À!5Ê;AâÕ•[D#¬Àiu³iIšÃ®á,Vm x„Y/ðÉš`4°Y,Q9/ÊÍQ9/ÊÍVm x¼H„Ññj³�"¶ %ŠÍ¥à¯âÕ…_D `ä¼#+5D `ä¼#+5X¬Û>ñx¼D ’Å�€’ðŒ¬ë"L“p˜|Z²¯øKð˜ 6Í ‚“p˜å0MÂ`E›^€O‹VUÚ `ˆ@@ɸLdˆ@€ɸL€ ÛÞÁd±X¢@r^•ŒF³âÕ…I™ Å‚…‘“Ô“PU e…%44èa9aQXNEXTC�ÕŒ e…U4„(aY1%XCONV�–TÕT U44ähMQ%:SSCANF�‘”ÐÐS‘ e…%$”èaUMAJPRINTF�”Ô’S• de$”åHAUQNP5 b±X¬V+ŠÅ§ßî±ËåŠ7€c�ˆsuˆN Ë”By\¥áX&á9ˆÎF#X¬Ü&4O¡#âÕ•uÂ'äÜ&9Y ÄøµeVÀ ì9/ÊÍP‰ìë¹Yµì%âñŸ¬*2+œÀ±ËåÖÉœ@“p˜m¿Ã'Å«*í€LàË”B}KÂ2³T"}:Ç.Vm x¼Z.³˜Œä8€c“p˜åš@’ðŒ¬áf€Å« Œ€LàÉxFV1ÄgÅ«*èMàɸLœÀ±ËåÖÉ¿ßá˜Ö9|ºÙ"(råž@—+6© -XW¤B{KÂ2³T"{:Ç.Vm{ x¼DgÅ« Ã� Â'0¬rùu²D&påÊ!>€%áYª>€c—+6‡<^-YÌFr´ßá“âÕ…r€…ƱÈEþÿ9ˆÎA(Ö9r—„e`Û„æ#9�b6žÀ’ðŒ¬ÕžÀ±Ë”BkKÂ2³U›gž/‹ŠˆUoðÉñj­À‚Ør^•š¡ØÖ9r³kØKÅâ#>-XTP V9€cÉ‚’ðŒ¬b5ŠÏ‹V] ¹D €ä¼#+:ËÂ2³Uš-XW˜(\›„À(„—„egYxFVj³m°SÅââb0r^•�eáYÖD&‚Ì–(„ ›„À‰ô$!%áXÀiuœÄg'[’Åb±X¢Pr^•„ 6œŸ¬ª`!¿Þ/‹’!.Q09"Z.³˜Œäë0KÂ2±€Òë†H„Ö(„ —„eg 4>-YV¤-‡ZÁ`³¥‡SBÄ åÊ`4—„eg ÌFrbˆ@ÀÉxFVu—„eg ÌFr�±Ë”¼#+Ân˜Œäb5ŠÅnQ9/ÊΘŒäëaÖ±(9"D åÊ`4—„eg ÌFr0@`1åPqg(„—„ef«›@ €¬rùx¼^,[%ŠÅb±D  ä¼#+@@m! >-YWü,Bÿ¼^/ $B\¢`rD&´]g1ÉÖ`4—„ec¥Ö) ‘ ¬Q9/ÊÎmW >-YUà1‡MÃ`³¥‡G åÊ`4—„eg ÌFrbˆ@ÀÉxFVu—„eg ÌFr�±Ë”¼#+Ân˜Œäb5ŠÅnQ9/ÊΘŒäëaÓÁ(9"D @åÖ`4ºÎb3‘€Òˆ@Ë”Ài/ÊΘŒä`4€ÀbÊ.KÂ2³¬¼#+5D @ä¼#+5X¬Úc—ËÅâñ`ºÙ,V+Š!%áXB3o€Yñjʼ�‚ûýâñx°Y" r僒!5¢ë9ˆÎN³¤¼#+ .±HdˆMbˆ@ÀÉxFVp³i0añjÊ«¡¬:8 ˜ ,:!.S¤¼#+8Nb3“BKÂ2³¬¼#+8Nb3�DuŽ\¥áX&pœÄg#¬V+rˆ@€ÉxFVpœÄg'[ІˆA@Éš!.³¥ÖsœŒ� B\¦IxFVpœÄg#¤€@Qpr^•�eáYª!%áYªÅfЈ ë¾^/‹ÖÉb±X—Ë­’!4€!æ#9L ÉxFV1Ï‹V6G!ùüæ#9:Ä&PåÊ^•ƒn˜Œäb5ˆÏ‹VUþ™À—(„ú—„ef¨DúuŽ\¬Úñx´]g1ÈBgKÂ2±ˆÖ#>-XV, rn‹Vþ¿ßá˜Ö9|ºÙ"8r^•š¡�Ö97 €Vmæx¼O‹VÄÇ%áYª=€c—(„Ö—„ef«6Ï…<^/þš@—(„Ö—„ef¨DèuŽMÂ`Eš9D&°ä¼#+5Yµ$%âÑ ´]g1È":Ç!æëaÓ`1 ¬9/ÊγâÕ•HA&�åÊ!5€%áYÖÍ.³˜Œä뜀“p˜|Z°¨È¸Æ9rˆNàË”¼#+Ân˜Œäb5ŠÅeáYÂsœ„&0ä¼#+5D&°ä¼#+8Nb3�DÞuŽ\¦á0FÑ>„…l:2!V¿Ã'Å« áˆO`ÉxFVj„O`XåÊͯa/ˆŒøµaY�AXDæuŽ_.¶H„䛄ÀâÕ…nAÆÑË”BwKÂ2³¬¼#+8Nb3“¬BeKÂ2±ˆÖ|Z°®ˆ ¸Ê9¿Ïç1ÉÖ!2€.RðŒ¬pœÄg#¬F|Z²¬@(„ιD'Ðä¼#+5B'ЬråfÐà§‹Å¢ë9ˆÎB8r^•ŒF±ñj¤À£“p˜|Z°¬@(…þÿœÀ±ËåÖÉ™À’ðŒ¬ÕfÔ ‰ñjʪÀ¢Ør^•š¡ØÖ9rˆM`ÉxFVj³løSÅâñaØ€Q È97 €Å« ¾‹�£—)xFV ¸Nb3‘ˆÖ+rˆM ÉxFVpœÝbr€n¶Ñœ€“p˜|Z°¨È¸Þ9r›„ÀDúˆM ÉxFV€³˜DêuŽ\¥áX&pœÄg#¬V+aÑ� •þ>-XWLBwKÂ2³¬Ü&TOðÉñj¿@¡ÄkœÂ'p¬rå/ÊÁ7 ÌFr1Ål: !€!æë›@—(„´]g1ÉÖ!;€%áYÖn*7ødøµeS a Ü9/Êγp˜·4‡OA„ ñjÊ­€Âhrå/ÊÁ7 ÌFr1ÅnQ ä9r—„e`›„æ#9�b³p˜Ñ>„˜tHBwKÂ2³¬Ü&ToðÉñj± Âã¸åÊ^•‚n˜Œäë›@’ðŒ¬!g0‰¡ãýÖ9|±X¬V+Š;�±Ë”B›\¥áX&pœÄg#¬V+/ÊΘŒä륗(„ ¹KÂ2°MÂsœŒF±Y¸LhŸBGÅ«*Ÿ R€ɸL¶ßá“âÕ•JC„)°åÊ^•‚n˜Œäb5ŠÜ¢°rn'Г톈@@Ë”BKÂ2³„æ#9A XäˆM�À�ˆsœ‚ °¬r僀�ˆspœÄ @ä¼#+:ÍÂ`E¦ÿ Ÿ¬+.\¥áX&á9ˆÎAXÖ9r›„ÀDú�€—(„ —„egY¸L´á“âÕ…iC…èˆ èHB \¢0råfÕ!'‹EÖsœ‚)@¬rå�€—)xFV ¸Nb3‘ˆÖ+7 € èH"Ò†O‹VÇ.Q9r³j�“Å¢ë9ˆÎA`Ö9r›„ÀDú¥—(„ ¹KÂ2°MÂsœŒF±Y¸LhŸBB r奀“p˜åfÖà—‹Dú¥“p˜V¿Ã'Å«*¨‡ˆA ÉxFV€ Úê�âøµeV�ñ$9r—„e`›„æ#9�b± P97 €± ñþ>-XW-YW8<Ài„E ˜…2—„ef¨…6—„egYxFVu³hÈ#EÖsœ‚ �¬rå/ÊÁ· ÌFru°îpx…Vÿ Ÿ¬+´!I€!PæëaÐ ¡þ>-XW¼¹KÂ2°L&á9ˆÎF#X¬V^•š¡ØÖ97 €Vm»x¼^-+¬¼#+8Yµ”%¢ë9ˆÎM«¬ˆMaÕá õþ>-XV(@Ài¹D)°åÊ^•‚a7 ÌFr1Åb²ðŒ¬á9„A XåÊ^•ƒn˜ŒäëaÕá µþ>-XTXHB MÂ`ñjʵâ8r^•„(@4aÛ!|Z²®€„„P`˜Œäë¤@—(…6¹KÂ2°L&á9ˆÎF#X¬V^•œ'1ÉÖþB8rå/ÊÁ· ÌFruˆR ÉxFVu›„ÀâÕ•W„D pä¼#+�gÅ«*¯±D ðä"„Z,ÐøµeSñ¤å¤À—)xFV ¸Nb3‘ˆÖ+7 å€ èI‡SDD)åÊ^•‚n˜Œäë‚@—)xFV ¸Nb3“­‡y¢¢} A Éš!€&á0øµaZÑ$9r—„e`Û„æ#9@mª>-YV´DB›\¥áX&á9ˆÎF#X­Ê!&á0¢} 0븈…6¹KÂ2°MÂsœŒF±[”Ài›„À‰ô$|Z°­hˆ…6¹KÂ2°mÂsœ‚ °¬rn‹VUÛ ‚@—)xFV ¸Nb3�LB3@âÕ•vÃD)°åÊ^•‚n˜Œäˆ³›­‡y„D)°åÊ^•‚n˜Œä‰@³˜DuŽ\¢ r^•œ'1ÉÖûa¢Ør^•„ ¬æ!J€/– ­’Åbˆ@!4rå‚’ðŒ¬ë/ÊΘŒäëhµ]fá0Êͪ¡/âÕ•hÄ„  ¬Àifݰ7(„¹KÂ2°MÂsœŒF±Y¸Lh†B-ødˆMaÖ±!9/ÊÍQ9/ÊΘŒä`4¼X,–(„ —„ef¨„ —„eg 4>-YT|LBKÂ2³¬¼#+:ȄДBKÂ2³TB KÂ2°„fѱâÕ•AÄ#ƒ‰ˆFàˆe¢} AÉxFV0]g1È"0]l‘ 9/ÊÍQ 9/ÊÍQ 9/ÊÎ[4rˆAÉxFVj³mØ“Åâã‚€’ðŒ¬Õ‚€’ðŒ¬Õ‚€’ðŒ¬áu³iÈ›TB KÂ2³U›nÄž/‹D2Ád±X¬P‰ñþë¾D(Àä¼#+@ m‰>-YVtL"ˆ:Ç/– ­’!C.Q 89"Z.³˜Œäë0KÂ2±€Òë†H„Ö(…—„eg 6…†Ÿ¬ª,(ú¢`°Y€Ò÷Bb rå0KÂ2³„æ#91D(€ä¼#+:ËÂ2³„æ#9PÀXåÊ^•‚a7 ÌFr1Åb·(… —„eg ÌFru°îp˜„¹D(àåÊ͵a¯ˆ„¹Y Ä"ˆ:Ç/– ­’Åb±X¢Pr^•„ 6ƉŸ¬ª¤(ñx¼X,‘9rˆA€ÉšÑuœÄg'Y€Ò^•Œ—X¤2D&±D `ä¼#+8Y·Løµe\±FŠ‚Ì–o€€—)€Ò^•œ'1ÉŠ!%áYÖ^•œ'1È":Ç.RðŒ¬ ¸Nb3‘ˆÖ+¹D @ä¼#9^#VÕ͘0ñÉ!9^#VÕͯ/ñÉ!9^#VÕÍl'ñë!ýÿ|µÊW2!ùÿ|µÊW2!üÿ|µÊW2!÷ÿ|µÊW2!õÿ|µÊW2!¤ÿ|µÊW2!ûÿ|µÊW2!õÿ|µÊW2!ôÿ|µÊW2!ðÿ|µÊW2!îÿ|µÊW2!íÿ|µÊW2!Óÿ|µÊW2!Ëÿ|µÊW2!Æÿ|µÊW2!Åÿ|µÊW2bk+|µÊW2!ìÿ|µÊW2!Ïÿ|µÊW2!Ìÿ|µÊW2!Àÿ|µÊW2!¿ÿ|µÊW2!¾ÿ|µÊW2!½ÿ|µÊW2!Íÿ|µÊW2!Éÿ|µÊW2bk++|µÊW2!ýÿ|µÊW2!úÿ|µÊW2!ùÿ|µÊW2!çÿ|µÊW2!åÿ|µÊW2!äÿ|µÊW2!æÿ|µÂ[2!É!É!9^#VÕÍl'ñë!÷ÿ|µÊ3!¸ÿ|µÊ3!îÿ|µÊ3!öÿ|µÊ3!ðÿ|µÊ3!¤ÿ|µÊ3!íÿ|µÊ3!½ÿ|µÊ3!¾ÿ|µÊ3!Êÿ|µÊ3!Èÿ|µÊ3!Çÿ|µÊ3!¹ÿ|µÊ3!¢ÿ|µÊ3!áÿ|µÊ3!úÿ|µÊ3!šÿ|µÊ3!™ÿ|µÊ3!ùÿ|µÂ3!É!É!9^#VÕÍl'ñë!¸ÿ|µÊ¡3!îÿ|µÊ¡3!öÿ|µÊ¡3!ðÿ|µÊ¡3!¤ÿ|µÊ¡3!½ÿ|µÊ¡3!¾ÿ|µÊ¡3!Êÿ|µÊ¡3!Èÿ|µÊ¡3!Çÿ|µÊ¡3!¹ÿ|µÊ¡3!¢ÿ|µÊ¡3!áÿ|µÂ¥3!É!É!9^#VÕÍl'ñë!½ÿ|µÊÈ3!¤ÿ|µÂÌ3!É!ùÿ|µÂë3!9^#VÕÍ€'ã!°?åÍæ�ññÉ!ÉÅ;!9^#VÕÍl'ñ+|µÊ 4!3ÁÉ!9^#Vbk#å!9^#VÕÍ€'ãÍ5ññ|µÊ04!3ÁÉ!3ÁÉÅ!9^#VÕÍl'ñDM!9^#VÕÍX'ñëbk+|µÂ¸4`ië!÷ÿ|µÊ®4!¤ÿ|µÊ®4!öÿ|µÊ®4!¸ÿ|µÊ®4!îÿ|µÊ®4!ðÿ|µÊ®4!íÿ|µÊ®4!Êÿ|µÊ®4!ûÿ|µÂ³4!ÁÉ!ÁÉbk++|µÂÜ4`iáÿ|µÊ×4`iBÍ�ÃÚ4!ÁÉ!ýÿ|µÂ 5`ië!ùÿ|µÊ5bk++|µÊ5!úÿ|µ+8Nb3“­‡`Å  äˆM€—)€Ò^•œ'1ÈÀi€Ú-V«›jÃ^/‹ÅâÁd±X¬P‰ñþë¾D(Àä¼#+@@mF>-YTTT"ˆ:Ç/– ­’!C.Q 89"Z.³˜Œäë0KÂ2±€Òë†H„Ö(…—„eg 6¼Š¬«*颠°Y€ÒæB¢ rå0KÂ2³„æ#91D(€ä¼#+:ËÂ2³„æ#9PÀXåÊ^•‚a7 ÌFr1Åb·(… —„eg ÌFru°ê0¨…‘  0„¹X¬ÛVñxˆQ€Éš!.S¤¼#+5Y·Uâñ¢±Ëå‚ëd±D š!%áYÖn‹VUaÝñP€Òø¢0rå/ÊÁ7 ÌFr1Åfá0Ê!%áYªÍ/Ù0X,™h8´´$Z2òPÐÐS‘#)�ñ F3#ÐÑÑc?1 R2 +ÐÓ#0BY 5U1R2j ÐÓ‘c5�õ 90�ÐÔÕT£(¢ MU 2È'�ÐÕQU£9¢U UR2x+PÐÕSc>âU U1R0QT”““ã¾"™AI%9R;€+Q”Uã¸Á™M 92„ÑUã#áYQ !2’TÐS#.bY%M%&3<’TÕÒU#?‚µAAUQ:ò'”’S•£%b‘AUQN:$TÐÐS‘£¦â™MAI%9R;”ÔÐÐS‘£ âÕMQ%:2V•ÕTc;áYU9Q:’VÓÓ•£ªBQaXÊ;„–TÕT£¡ÁYa9aQ:ö–‘V£³áYaAUM! ;V–”’S£ aIM :;v%VTÔ£¼ÁaY1%pžQT”““ã¾"™AI%9R;€SÔ � 56K. xsub cc chargen.c c2 chargen.cod m80 chargen,=chargen.asm/m cc chrnw1.c c2 chrnw1.cod m80 chrnw1,=chrnw1.asm/m cc chrnw2.c c2 chrnw2.cod m80 chrnw2,=chrnw2.asm/m cc chrnw3.c c2 chrnw3.cod m80 chrnw3,=chrnw3.asm/m cc chrnw4.c c2 cÂ5!ÁÉ!ÁÉ`iIÍ�ÁÉÅ!9^#V*_ ͸�|µÊ05!ÁÉ!9^#VÕÍ64ñ|µÂC5ÁÉ!9^#VÕÍl'ñ+|µÊp5!9^#Vbk#å!9^#VÕÍ5ññÁÉ!9^#VÕÍ­8ñ|µÊ†5!ÁÉ!9^#VÕÍÌYñ|µÊœ5!ÁÉ!9^#VÕ!9^#VÕÍ€'ñDMÑÍ�|µÊÝ5!9^#VÕÍÕ*ñ!9^#VÕÅÍ5ññ!ÁÉÅ!9^#VáëÍ¥�åÍ�7ñÍ�|µÊ76!9^#Vbk#å!å.@åÅ. 9^#VáëÍ¥�åÍ *ë9ù!9^#VÕÅÍ5ññ!ÁÉ!9^#Vë)ë`iÍ�|µÊ|6!9^#VÕ!å.å.åÍ *ë9ù!9^#VÕÅÍ5ññ!ÁÉ!9^#VÕÍ)/ãÅÍ)/ñÑÍ�|µÊ7!9^#VÕÍ)/ãÅÍ=/ñÑÍ�|µÊÏ6!9^#VÕ!å.:ålåÍ *ë9ùëÃî6!9^#VÕ!å.1åÅÍ=/ãÍ *ë9ùë!9^#VÕÅÍ5ññ!ÁÉ!9^#VÕÍ=/ãÅÍ=/ñÑÍ�|µÊŠ7!9^#VÕÍ=/ãÅÍ)/ñÑÍ�|µÊV7!9^#VÕ!å.;ålåÍ *ë9ùëÃu7!9^#VÕ!å.4åÅÍ)/ãÍ *ë9ùë!9^#VÕÅÍ5ññ!ÁÉ!ÁÉ!9^#V!Í�|µÊ­7!9^#VëÍO�É!9^#VëÉÅ!9^#VëDM##ë*_ ͸�|µÊÔ7!ÁÉÅÍl'ñøÿ|µÂú7`i#åÍ 0ñ|µÊú7`i#å͘0ñÃý7!|µÊ 8ÅÍÕ*ñ!ÁÉÅÍÖ/ñ|µÊL8ÅÍQ:ñ|µÊL8`i#åͯ/ñ|µÊL8`i#åÍQ:ñ|µÊL8`i##åÍl'ñÍ�ÃO8!|µÊ¨8ÅÅÍX'ãÅÍl'ãÍ©9ãÅÍ€'ãÍ *ë9ù`i#å`i#åÍX'ã`i#åÍl'ãÍ©9ã`i#åÍ€'ãÍ *ë9ù`i##åÍÕ*ñ!ÁÉ!ÁÉÅ!9^#VëDM##ë*_ ͸�|µÊË8!ÁÉÅÍl'ñë!÷ÿ|µÂ9`i#åÍÖ/ñ|µÊ9`i#å͸#ñ|µÂ9`i##åÍl'ñ t|µÊdÃ!9å^#Vás#rbk+Ãô!X5å!9^#Våë))))ÑÑå!9^#Váå!X5å!9^#Vbk#Õ))))ÑÑå!9^#Ván&Ñ}à !X5å!Õ))))ÑÑå!9^#Váå*M5&Ñ}ÃÔññÉ;*G5|µÂ´9å!å#å*I5å!åÍ»ë9ùásëÃû*G5+|µÂÜ9å!å#å*I5å!åÍ©ë9ùásëÃû!9å!å#å*I5å!åÍ—ë9ùásëáå&åÍå ñ!å#å.2åÍ¥*ñññ3ÉÅÅ!9s#rë!9^#V! ÍÞt|µÊ·ÃJ!9å^#Vás#rbk+Ã"*Q5å!9^#Váå*O5åÍœ,ññbk9s#rëÑÕ!ÍÞt|µÊ7ÃŽ!9å^#Vás#rbk+Ãk!X5å!9^#Våë))))ÑÑå!9^#Ván&åÍÄñÃ{ññÉ*¤6å!9n&ëÍ!tÍ tÑn&åÍÄ*¤6ã!9n&Í tÑn&åÍÄñÉ!å.åÍ»Pññ!å.åÍœ,ññÍõ,Ív*£6&åͺñÍvÍ-!¸.åÍÕñ!å.åÍœ,ñ!ã.ãÍÕñÉÍ…,ÍZÍ÷Í} Í£É!å.åÍœ,ñ!ü.ãÍÕñ! å)åÍœ,ñ!/ãÍÕñ! å.åÍœ,ñ!,/ãÍÕñ! å.åÍœ,ñ!G/ãÍÕñ! å.3åÍœ,ñ!_/ãÍÕñ!å.åÍœ,ñ!t/ãÍÕñÍ} É!å.åÍœ,ñ!’/ãÍÕñ! å.åÍœ,ñ!§/ãÍÕñ! å.åÍœ,ñ!Ë/ãÍÕñ! å.åÍœ,ñ!í/ãÍÕñ! å.åÍœ,ñ!0ãÍÕñÉ!å.#åÍœ,ñ!(0ãÍÕñ! å.åÍœ,ñ!?0ãÍÕñ! å.åÍœ,ñ![0ãÍÕñ! å.åÍœ,ñ!m0ãÍÕñ! å.åÍœ,ñ!†0ãÍÕñ!å.åÍœ,ñ!ž0ãÍÕñ!å.åÍœ,ñ!½0ãÍÕñ!å.åÍœ,ñ!Ó0ãÍÕñ! å.4åÍœ,ñ!î0ãÍÕñ! å.4åÍœ,ñ!1ãÍÕñ! å.4åÍœ,ñ!!1ãÍÕñ! å.4åÍœ"T5#É*S5&tÿ|µÂ(*V5 Íßt|µÈ*V5#"V5+É*S5&vÿ|µÂE*V5|µÈ*V5+"V5#É*S5&uÿ|µÀ*T5Íßt|µÈ*T5#"T5+ÉÅÅ!9s#rë!9^#V!ÍÞt|µÊLÛ!9å^#Vás#rbk+Ãsbk9s#rëÑÕ!ÍÞt|µÊˆÃÈ!9å^#Vás#rbk+Ã¥!X5å!9^#Våë))))ÑÑå!9^#Ván&å*N5&ÑÍÐt|µÊ"!X5å!9^#Våë))))ÑÑå!9^#Váå*M5&Ñ}õ!X5å!9^#Våë))))ÑÑå!9^#Váå*N5&Ñ}õññÉÅÅ;!9s#rë!9^#V!ÍÞt|µÊDÃ…!9å^#Vás#rbk+Ã]!9å!X5å!9^#Våë))))ÑÑn&Ñ}!9s#rë!9^#V!ÍÞt|µÊÃ×!9å^#Vás#rbk+ï!X5å!9^#Våë))))ÑÑå!9^#Váå!X5å!9^#Våë))))ÑÑå!9^#Ván&Ñ}ÃÄ!X5å!9^#Våë))))ÑÑå!9n&Ñ}Ãrññ3ÉÅÅ;!9s#rë!9^#V!ÍÞt|µÊ=Ã~!9å^#Vás#rbk+ÃV!9å!X5å!9^#Våë))))ÑÑn&Ñ}!9s#rë!9^#V!Íßt|µÊÃÔ!9å^#Vás#rbk#ì!X5å!9^#Våë))))ÑÑå!9^#Váå!X5å!9^#Våë))))ÑÑå!9^#Ván&Ñ}ÃÁ!X5å!9^#Våë))))ÑÑå!9n&Ñ}Ãkññ3ÉÅÅ;!9s#rë!9^#V!ÍÞt|µÊ=Ãw!9å^#Vás#rbk+ÃO!9å!X5å!Õ))))ÑÑå!9^#Ván&Ñ}!9s#rë!9^#V!ÍÞt|µÊÃÎ!9å^#Vás#rbk+æ!X5å!9^#Våë))))ÑÑå!9^#Váå!X5å!9^#Vbk#Õ)))),ñ!81ãÍÕñ!å.4åÍœ,ñ!Q1ãÍÕñ!å.4åÍœ,ñ!b1ãÍÕñ!å.4åÍœ,ñ!s1ãÍÕñ!å.4åÍœ,ñ!‡1ãÍÕñÍ} ÉÅÍÕ,!å.åÍœ,ññ! å.ålåÍeñññ!å.åÍœ,ññ! å.å.åÍeñññ!å. åÍœ,ññ! å.å.åÍeñññ!å.åÍœ,ññ! å.ålåÍeñññ!å. åÍœ,ññ!Bå.ålåÍeñññ!å. åÍœ,ññ!å.å.åÍeñññ!å.MåÍœ,ññ!å.å.åÍeñññ!å. åÍœ,ññ!Bå.ålåÍeñññÍå,!å.åÍœ,ñ!›1ãÍÕñ!å.åÍœ,ñ!¥1ãÍÕññÉÅÍ{bk9s#rëÑÕÕ! 9^#VáÍßt|µÊÏÜ!9å^#Vás#rbk+Ãs!9n&åÍÄñ!9^#Vbk+|µÂ‰Í‹! åÍÄ!ãÍÄñÍ{ÉÍ‹ñÉÅbk9s#rëÑÕÕ!9^#VáÍßt|µÊ3Ã!9å^#Vás#rbk+Ãß! 9^#VÕ!9^#Váå! 9^#VÕ!9^#VÕÍ¥*ñññÃõñÉ!å.å. å++åÍÔë9ùëÉ!å.å. å.?åÍÔë9ùëÉ!å. å.:åÍ¥*ñññÉ! åÍÄñÉÅÅ;*¦6åÍ-ñ|µÂ“ññ3É!9s#rë!9^#V!ÍÞt|µÊêÃÆ!9å^#Vás#rbk+Þ!Oå!9^#Váå!ÏOå!9^#Ván&Ñ}ó!9s#rë!9^#V!$ÍÞt|µÊA à !9å^#Vás#rbk+Ãõ!ôNå!9^#Váå!©Oå!9^#Ván&Ñ}à *ÍOåÍ.Z*§Oã͇Zñ!å. åÍœ,ñ!©1ãÍÕñ!9å!å.1å*ÍOå*§OåÍySë9ùás#r!9^#Vbk|µÂœ ÍeÍ^)ññ3É!å!'OåÍÏuññ}2àO!å!©OåÍÏuññ}2àO*àO&ÿ|µÂû .å.åÍœ,ñ!Ñ1ãÍÕñÍZ-Íe!å.å..åÍ¥*ñññÍ^)ññ3ÉÍe!ÑÑå!9^#Ván&Ñ}û!X5å!Õ))))ÑÑå!9^#Váå!9n&Ñ}Ãdññ3ÉÅÅ;!9s#rë!9^#V!ÍÞt|µÊ=Ãw!9å^#Vás#rbk+ÃO!9å!X5å!Õ))))ÑÑå!9^#Ván&Ñ}!9s#rë!9^#V!Íßt|µÊÃÎ!9å^#Vás#rbk#æ!X5å!9^#Våë))))ÑÑå!9^#Váå!X5å!9^#Vbk+Õ))))ÑÑå!9^#Ván&Ñ}û!X5å!Õ))))ÑÑå!9^#Váå!9n&Ñ}Ãdññ3ÉÅÅbk9s#rëÑÕ!ÍÞt|µÊÃp!9å^#Vás#rbk+ÃM!9s#rë!9^#V*V5Íßt|µÊëã!9å^#Vás#rbk#Ã{!X5å!9^#Våë))))ÑÑå!9^#Váå!X5å!9^#Vbk+Õ))))ÑÑå!9^#Ván&Ñ}Ã�!X5å*V5Õ))))ÑÑå!9^#Váå*M5&Ñ}Ã]ññÉÅÅ!9s#rë!9^#V!ÍÞt|µÊâÃH!9å^#Vás#rbk+à !9 s#rëÑÕ*T5Íßt|µÊ½Ãv!9å^#Vás#rbk#ÃS!X5å!9^#Våë))))ÑÑå!9^#Váå!X5å!9^#Våë))))ÑÑå!9^#Ván&Ñ}Ãc!X5å!9^#Våë))))ÑÑë*T5å*M5&Ñ}Ã5ññÉÅÅ!9s#rë!9^#V!ÍÞt|µÊµÃ!9å^#Vás#rbk+Ãò!9ë*T5ës#rëÑÕ! ÍÞt|µÊ‘ÃJ!9å^#Vás#rbk+Ã'!X5å!9^#Våë))))ÑÑå!9^#Váå!X5å!9^#Våë))))ÑÑå!9^#Ván&Ñ}Ã7!X5å!9^#Våë))))ÑÑ å*M5&Ñ}ÃññÉÅÅbk9s#rëÑÕ!ÍÞt|µÊ‰Ãç!9å^#Vás#rbk+ÃÄ!9ë*V5ës#rë!9^#V!ÍÞå. åÍœ,ñ!ý1ãÍÕñÍõ,Ív!ÏOåÍÕñÍvÍ-!"E5!©O s!¨6##së"­6!€"«6l"µ6*­6Íßt|µÊj!*µ6ÍÐtÃm!!|µÊ4"!9s#rë!9^#V! ÍÞt|µÊ«!Ã¥!!9å^#Vás#rbk+Ã}!ͳ#Ã’!!"¯6*¯6Íßt|µÊû!!¨6åͳ#Ñ}!¨6#åͳ#Ñ}!½Fë*­6å!¨6åÍ‘"ñÑ}*¯6#"¯6+*­6#"­6+ñ!!9s#rë!9^#V!ÍÞt|µÊP!Ã."!9å^#Vás#rbk+Ã"ͳ#Ã"!å!©OåÍÏuññ}2àO!å. å.*åÍ¥*ñññ!å. åÍœ,ñ!2ãÍÕñÍõ,Ív!ÏOåÍÕñÍvÍ-!"ÞO.å. åÍ»Pññññ3ÉÅÅÅÅ!9s#rë9s#rë9s#rë!9^#Vbk|µÊ¥#!9å! 9^#VÕ! 9^#Ván&Ñ}!9n&0Íët|µÊ#!9n&9ÍêtÃ#!|µÊ#!90sëÃW#!9n&AÍët|µÊ8#!9n&FÍêtÃ;#!|µÊL#!97sëÃW#!9s#rë!9^#Vbk|µÊ”#!9å!å.9^#VáÍötå!9n&Ñå!9n&ÑÍeuÑës#rë!9å^#Vás#rëö"!9^#V!9ùëÉ;*µ6+|µÂ¿#3É*«6€ÿ|µÂ$.å!©OåÍÏuññ}2àO*àO&|µÊ$!å.åÍœ,ñ!22ãÍÕñÍZ-!å.å.-åÍ¥*ñññ!"µ6!"«6!9å!'Oë*«6n&Ñ}*«6#"«6+áå&3ÉÅÅÅ*ãNåÍ.Z*½Nã͇Zñ!å. åÍœ,ñ!_2ãÍÕñ!9å!å.2å*ãNå*½NåÍySë9ùás#rÑÕbk|µÂŽ$ÍeñññÉ!å!¿NåÍÏuññ}2àO*àO&ÿ|µÊ %!å!¿NåÍÏuññ}2àO!å.åÍœ,ñ!ˆ2ãÍÕñ!9å!å.1åÍû*ññÑës#rÍe!å.å.-åÍ¥*ñññ!9^#ÍÄñÉ!åÍÄ!kãÍÄñÉÅbk9s#rëÑÕ!ÍÞt|µÊX-ÃC-!9å^#Vás#rbk+à -!½Få!9^#VásëÃ0-ñÉ;bk9sëáå&|µÂ€-9å!å.ÿåÍÏuññÑ}Ãc-áå&3É;!9åÍZ-Ñ}áå&åÍ¡-ñáå&3É!9n&ÍÞt|µÊÃ-!9n&ÍßtÃÆ-!|µÈ!9n&åÍÄñÉ0123456789ABCDEFContinueeditcopyMain System SetAlternate System SetOK to exitThe character set has not been saved. ? (Y/N)Enter character to in hexadecimal Enter character to in decimal Enter the character to is the HEX value of the current characteris the current characterCharacter Selection MenuH - Entry by HEX valueD - Entry by decimal valueC - Enter the character - Done editingSelect Character Entry MethodCharacter Entry MenuUp Arrow - return to selection menuRight Arrow - edit next characterDown Arrow - edit same characterESC - return to main menuCharacter Editing MenuPosition Cursor with Arrows. - turn pixel on - turn pixel offQ - Quit without update - done editing this charI - Invert all pixelsC - Copy another characterL - shift characteVbk|µÂ %ñññÉÍe!å. åÍœ,ñ!´2ãÍÕñÍõ,Ív!åNåÍÕñÍvÍ-!å!¿NåÍÏuññ}2àO!å!¿NåÍÏuññ}2àO*àO&ÿ|µÂ�%.å.åÍœ,ñ!Î2ãÍÕñÍZ-!å.å.DåÍ¥*ññññññÉ!å!'OåÍÏuññ}2àO!¿N së"«6!"­6"±6"³6*­6Íßt|µÊØ%*³6ÍÐtÃÛ%!|µÊæ%ÍÈ&þ%!ýåÍd(ñ!9s#rë!9^#V!ÍÞt|µÊ,&Ã!&!9å^#Vás#rbk+Ãù%!åÍd(ñÃ&!ÿåÍd(!þãÍd(ñ*³6|µÂ›&Í)*³6|µÂ›&.å!¿NåÍÏuññ}2àO!å. å.*åÍ¥*ñññ!å. åÍœ,ñ!3ãÍÕñÍõ,Ív!åNåÍÕñÍvÍ-!"E5*³6+|µÂÄ&.å!¿NåÍÏuññ}2àO!å. å.*åÍ¥*ññññññÉÅbk9s#r!ýåÍd(!ãÍd(!ãÍd(ñ!9å!9^#V!ðÿÿÍ tÑës#r*±6 ëÍ!tÍ tåÍd(ñ*±6ëÍ!tÍ tåÍd(ñ!9å!9^#VÕ*±6ëÍ!tÑÍeuÿÍ tÑës#r*±6ëÍ!tÍ tåÍd(ñ*±6Í tåÍd(ñ!9å!9^#VÕ*±6ÿÍ tÑÍeuÿÍ tÑës#rë"¯6!åÍd(!ãÍd(ñ*¯6Íßt|µÊ4(!½Fë*­6n&ëÍ!tÍ tåÍd(ñ!½Fë*­6n&Í tåÍd(ñ!9å!9^#VÕ!½Fë*­6n&ÑÍeuÿÍ tÑës#r*­6#"­6+*¯6#"¯6+*±6#"±6+ñ'ÑÕ!Í!tÍ tåÍd(ñÑÕ!Í tåÍd(!ÿãÍd(!þãÍd(ññÉ*³6+|µÈ!9n&ÿ|µÂ‹(!'Oë*«6 sëÃí(!9n&ÿ|µÂ«(!'Oë*«6 sëÃí(!9n&ÿ|µÂË(!'Oë*«6:sëÃí(!'Oë*«6å*¤6å!9n&Í tÑn&Ñ}*«6#"«6+*«6€ÿ|µÀÍr LeftR - shift character RightU - shift character UpD - shift character DownN - iNsert a rowE - dElete a rowS - inSert a columnT - deleTe a columnCharacterSetEnter the file to read (d:filename.typ)File not found. Press any key to continue.Reading character set from Character set read from EOF in file read. Press any key to continueEnter the file to write (d:filename.typ)File already exists. OK to continue? (Y/N)Writing character set to Full directory on file creation - Press any character to continue.Character set written to Disk full on file write - press any key to continue.Do you want to:1 - Read the systems tracks into the character set2 - Read a file into the character set3 - Edit the character set4 - Write the character set to the system tracks5 - Write the character set to a file6 - Write the character set to the font RAM7 - Exit the programEnter your choice (1 - 7)This program allows you to edit a character set in memory andstore it on various media.Osborne Executiv)É!å!¿NåÍÏuññ}2àO*àO&|µÊJ)!"³6.å.åÍœ,ñ!+3ãÍÕñÍZ-!å.å.5åÍ¥*ñññÉ!"«6!'O(O6í°ÉÅbk9s#rëÑÕ!ÍÞt|µÊ°)ÃŒ)!9å^#Vás#rbk+Ãi)!ÏOå!9^#Váå!Oå!9^#Ván&Ñ}Ãy)bk9s#rëÑÕ!$ÍÞt|µÊ*ÃÝ)!9å^#Vás#rbk+ú)!©Oå!9^#Váå!ôNå!9^#Ván&Ñ}ÃÊ)ñÉÅbk9s#rë!9^#VÕ!9^#Ván&|µÊV*Ã=*!9å^#Vás#rbk+Ã*!9^#VÕ!9^#VáåÍX*ñÃ**ñÉ!9^#Vën&aÍët|µÊ‚*!9^#Vën&zÍêtÃ…*!|µÈ!9^#VÕ!9^#Vën&_Í tÑ}ÉÅ!9^#VÕ!9^#VÕÍœ,ññbk9s#rëÑÕÕ!9^#VáÍßt|µÊù*Ãî*!9å^#Vás#rbk+ÃÅ*! åÍÄñÃÛ*ñÉÅÅ;!9s#rë!9^#Vbk|µÂ–+. 9^#VÕ! 9^#VÕÍœ,ñ! ãÍÄ!ãÍÄñÍõ,!9å͆-_Í tÑ}Í-áå&§ÿ|µÂr+bk9s#rë9s#rëáå&²ÿ|µÂ +#9s#rë9s#rëà +!9^#Vññ3ëÉÍ…,Í`,!å. åÍ»Pññ!å.åÍœ,ñ!`3ãÍÕñ! å+åÍœ,ñ!p3ãÍÕñ! å++åÍœ,ñ!£3ãÍÕñ! å. åÍœ,ñ!Ê3ãÍÕñ! å. åÍœ,ñ!å3ãÍÕñ!å. åÍœ,ñ!4ãÍÕñ!å. åÍœ,ñ!<4ãÍÕñ!å. åÍœ,ñ!h4ãÍÕñÉ!å.åÍœ,ñ!}4ãÍÕñÉ!å#åÍœ,ñ!—4ãÍÕñ!å#åÍœ,ñ!Õ4ãÍÕñÉÍÌ,!å.åÍœ,ñ!ð4ãÍÕñÉ!åÍÄ!=ãÍÄñ!9^#V!åÍÄñ!9^#V!åÍÄñÉ!åÍÄñÉ!åÍÄ!)ãÍÄñÉ!åÍÄ!(ãÍÄñÉ!åÍÄ!jãe Character Font Generator V1.1Í�à 9!|µÂˆ9!ÁÉ!¸ÿ|µÂƒ9`i#åÍÖ/ñ|µÊH9`i#å͸#ñ|µÂH9`i##åÍl'ñ Í�ÃK9!|µÊb9ÅÍÕ*ñ`i#åÍÕ*ñ!ÁÉ`i#åͯ/ñ|µÂq9ÁÉ`i##åÍl'ñÓÿ|µÊˆ9!ÁÉÅ!å.ålåÍ *ë9ù`i##åÍÕ*ñ!ÁÉ!9n&ë!Àÿ|µÂ½9.BÉ!¾ÿ|µÂÊ9!@É!÷ÿ|µÂ×9!HÉ!¸ÿ|µÂä9! É!öÿ|µÂñ9!-É!Óÿ|µÂþ9! É!áÿ|µÂ :!É!™ÿ|µÂ:!É!¤ÿ|µÊE:!ðÿ|µÊE:!îÿ|µÊE:!¿ÿ|µÊE:!½ÿ|µÂM:!9n&É!ÿÿÉ!9^#VÕÍl'ñÀÿ|µÂg:É!9^#VÕÍl'ãÍ©9ñÿÿÍW�ÉÅ!9^#VëDM#ë*_ ͸�|µÊ›:!ÁÉÅÍl'ñë!ôÿ|µÊ³:!óÿ|µÂ;ÅÍl'ñë!žÿ|µÊ;!Ãÿ|µÊ;ÅÍÕ*ñÅÍl'ñë!žÿ|µÊé:!Ãÿ|µÂî:!ÁÉÅ*_ Ñ͸�|µÊÌ:!ÁÉ!ÁÉ!9n&ë!÷ÿ|µÊ(;!îÿ|µÊ(;!¸ÿ|µÂ,;!É!¿ÿ|µÂH;!9n&åÍ€'ñÍ�É!É!9^#VÕÍX'ñûÿ|µÂs;##9^#VÕÍl'ñbÍW�É!É!9å!bå.9^#VÕÍú'ññÑës#r!9^#V*_ ͸�|µÊ¬;!9^#VëÉ!9^#VÕÍl'ñë!óÿ|µÊË;!ôÿ|µÂÔ;!9^#VëÉ*_ É!9^#VÕÍl'ñë!óÿ|µÂb<##9^#VÕÍX'ñûÿ|µÂ <.9^#VÕÍ€'ã!9^#VÕÍ€'ñÑÍW�Ã#ññÃh=!|µÊß>ÅÍ€'ã`i##åÍ€'ñÍO�ÑÍ�|µÊ’=`i åÍÕ*ñõ=Å!å.CåÅÍ€'ã`i##åÍ€'ñÑåÍ *ë9ùë`i##åÍ€'ñ|µÂÏ=`i##åÍÕ*ñÃò=`i##å!å.Cå`i##åÍ€'ñÍO�åÍ *ë9ùë!ÁÉ!ýÿ|µÂß>!´?åÅÍ€'ãÍæ�ññ|µÊß>`i#åÍl'ñë!÷ÿ|µÂQ>`i##åÍ 0ñ|µÊß>ÅÍÕ*ñÅ!å.ålåÍ *ë9ùÁëÉ!Àÿ|µÂß>`i##åÍl'ñùÿ|µÂ�>!¶?å`i##åÍ€'ãÍæ�ññÄ>!|µÊß>Å!å.Cå`i#åÍ€'ãÍ *ë9ù`i##åÍÕ*ñ`i#åÍ 0ñ|µÊÃ>`i#åÍÕ*ñÃÚ>`i#å!åå!¸?åÍ *ë9ùë!ÁÉ!ÁÉ!9^#VÕ!9^#VáåÍ�7ã!9^#VÕÍ�7ñÑÍ�É: optimizer table overflowoptrep() was is optout emptyoptdel err>=optdel() was is cnt>15 del_useless_CCnn:doalljmps:del_eqv_CCnn:del_unreachable: 00000!}2þ .9^#Vbk+|µÂ C.9^#V!¼ÿ|µÈ!�ÿ|µÈ!÷ÿ|µÂõ?!¸PåÍ& ñÉ!ðÿ|µÂ@!¿PåÍ& ñÉ!¤ÿ|µÂ@!ÇPåÍ& ñÉ!üÿ|µÂ+@!ÍPåÍ& ñÉ!øÿ|µÂ=@!ÔPåÍ& ñÉ!ëÿ|µÂO@!ÙPåÍ& ñÉ!ãÿ|µÂ‡@!å.Gålåͺ?ñññ!å.@å.åͺ?ñññ!å.^ålåͺ?ñññÉ!Îÿ|µÂ¿@!å.9ålåͺ?ñññ!å.@å.åͺ?ñññ!å.8ålåͺ?ñññÉ!ôÿ|µÂú@*ò &|µÊà@*î &Í�Ãã@!|µÊñ@!ßPåÍ& ñÉ!èPåÍ& ñÉ!íÿ|µÍ‚PÉ!úÿ|µÂeI!9^#V!æÿ|µÂ6I!XRåÍ6 !ãÍÜN!+ãÍ@ ñÃUI!9^#VÕ!9^#VÕ!9^#VÕÍ‹PñññÉ!9^#VÕÍF ñÍ‚PÉ!9^#VÕ!9^#VÕ!9^#VÕÍ‹PñññÉÅ!9^#VëDMÍ�|µÊ¡I`iÍO�DM`i Í�|µÊ¾I!9^#VÕÍ& ñáIÁÉ!9^#Vbkn&Ðÿ|µÂÿI##9^#Vbkn&Ïÿ|µÊÿI!9^#Vbk#n&ÍW�ÃJ!|µÊ J!É!9n&ëbk++|µÊ%J!ýÿ|µÂ^J!9^#Vbkn&Ðÿ|µÂLJ!_RåÍ& !gRãÍ& ñÃÇJ!oRåÍ& !wRãÍ& ñÃÇJ!úÿ|µÊpJ!ùÿ|µÂ©J!9^#Vbkn&Ðÿ|µÂ—J!RåÍ& !‡RãÍ& ñÃÇJ!�RåÍ& !—RãÍ& ñÃÇJ!¡ÿ|µÊ»J! ÿ|µÂ¿J!É!ŸRå͉ ñ!ÉÅ!9^#VëDM`in&|µÊK`in&¡ÿ|µÂúJ!$åÍ@ ñÃÖJ`in&åÍ@ ñÃÖJÁÉ*ü &|µÀÍgPÍÓ*W |µÊ2K!¯RåÍ6 *W ãÍF ñÍ‚P! åÍOXñÉ*ü &|µÀ! åÍOXñÉ!´RåÍ& !¿RãÍ6 ñ!9^#VÕÍl !ÄRãÍl ñÍ‚PÉÅÅÅ!9å! 9Ñës#rë9å^#Vás#rë9å!9^#Vë^#Vás#rëDM`ië*g Í�|µÊÇK! åÍ2ŽñíK*g #"g ÑÕën&|µÊôK!9å^#Vás#rbk+n&åÍ2ŽñÃÎK!9^#VÕ!9^#Vás#r! åÍ2Ž! ãÍ2ŽñññÁÉÅ!DM`ië*g Í�|µÊ;L! åÍ2ŽñÃ!L!)åÍ2Ž! ãÍ2Ž! ãÍ2Žñ*g +"g ÁÉ!9^#V!™ÿ|µÂnL!ÈRÉ!—ÿ|µÂ{L!ÏRÉ!Øÿ|µÂˆL!ÖRÉ!×ÿ|µÂ•L!ÛRÉ!›ÿ|µÂ¢L!àRÉ!–ÿ|µÂ¯L!æRÉ!•ÿ|µÂ¼L!ìRÉ!”ÿ|µÂÉL!óRÉ!“ÿ|µÂÖL!ùRÉ!’ÿ|µÂãL!þRÉ!‘ÿ|µÂðL!SÉ!�ÿ|µÂýL! SÉ!�ÿ A!ìPåÍ& ñÉ!¸ÿ|µÂA!ñPåÍ& ñÉ!îÿ|µÂ0A!øPåÍ& ñÉ!Óÿ|µÂBA!ÿPåÍ& ñÉ!Åÿ|µÂTA!QåÍ& ñÉ!Æÿ|µÂfA! QåÍ& ñÉ!ûÿ|µÂxA!QåÍ& ñÉ!öÿ|µÂŠA!QåÍ& ñÉ!¹ÿ|µÂœA!#QåÍ& ñÉ!¢ÿ|µÂ®A!+QåÍ& ñÉ!Çÿ|µÂÀA!3QåÍ& ñÉ!Èÿ|µÂÒA!;QåÍ& ñÉ!õÿ|µÂäA!CQåÍ& ñÉ!äÿ|µÂ B!HQåÍ& ñ!å. ålåͺ?ññ!RQãÍ& ñÉ!»ÿ|µÂB!WQåÍ& ñÉ!ºÿ|µÂ0B!_QåÍ& ñÉ!²ÿ|µÂXB!å.Eålåͺ?ñññ!å.Fålåͺ?ñññÉ!µÿ|µÂ¢B!gQåÍ& !oQãÍ& ñ*ò &|µÊˆB*î &Í�ËB!|µÊ™B!uQåÍ& ñÉ!}QåÍ& ñÉ!¶ÿ|µÂìB!€QåÍ& !ˆQãÍ& ñ*ò &|µÊÒB*î &Í�ÃÕB!|µÊãB!ŽQåÍ& ñÉ!—QåÍ& ñÉ!9^#VÕ!9^#VÕ!9^#VÕÍ‹PñññÉbk++|µÂùD!9^#Vbk+|µÂ.C!›QåÍ6 ñÃéD!áÿ|µÂBC!¢QåÍ6 ñÃéD!Ïÿ|µÂVC!©QåÍ6 ñÃéD!Ìÿ|µÂjC!°QåÍ6 ñÃéD!Ÿÿ|µÂ~C!·QåÍ6 ñÃéD!ìÿ|µÂD!9^#V!Í�|µÊ¢C!»Qå͉ ñÉ!9^#V!Í�|µÊÃC!å+å+åͺ?ñññÉ!9^#V!Í*�|µÊ D!å.;ålåͺ?ñññ!å.1ålåͺ?ñññ!9åÕ^#VáÍ¥�Ñës#rë!ÆQå!9^#VÕÍ„IññÉ!Àÿ|µÂND!9^#V!Í�|µÊM!'SÉ!Šÿ|µÂKM!,SÉ!‰ÿ|µÂXM!1SÉ!ˆÿ|µÂeM!6SÉ!‡ÿ|µÂrM!N!å.ålåͺ?ñññÃNN!rSåÅÍ„IññÃÂN!å.ålåͺ?ñññ!å+åÅͺ?ñññ!å.ålåͺ?ñññ!å.ålåͺ?ñññ!å.ålåͺ?ñññÁÉ!ySåÍ6 ñ!9^#VÕÍËJñÍ‚PÉ! åÍl ñ!9^#VÕÍF ñÉÅÅÅ!SåÍ6 ñ!9së9s!9^#VëDM`in&ë!¤ÿ|µÂeO!9s!9å`in&Ðÿ Í6�Ñ}!9åå`in&ÐÿÑåën&ÑÑ}ÃÆObk|µÂ‡O!9n&|µÊ€O!'åÍ@ ñÍ‚PññÁÉ!Ùÿ|µÂªO!9së9å`in&Ñ}ÃÆO!9å!9å`in&Ñ} Í�Ñ}áå&|µÊP!9n&|µÊïO!ƒSåÍl ñ!9sëÃP!9n&|µÂP.,åÍ@ ñÃP!9së!9n&åÍF ñÃO!9n&|µÂXP##9n&|µÂ>P.,åÍ@ ñÃGP!9së!'åÍ@ ñ!9së!9n&åÍ@ ñÃO!;åÍ@ ñÉ! åÍ@ ñÉ!:åÍ@ ñÉ! åÍ@ ñÉ!†Så͉ ñÍgP!9n&å!9n&å!9^#VÕÍ@#ñññÍ‚PÉPUSH HPOP PSWPOP BDAD SPXCHGDAD DJMP TRETRETSPHLPUSH DPUSH BP9^#V!àÿ|µÊY!÷ÿ|µÂY!É!ÉOutput is wOpen failurer--can't openrÍ(û+!|µÊÂ+ÁÉ!åÍl'ñÃÿ|µÊÕ+ÁÉ!åÍl'ñøÿ|µÂì+#åÍÕ*ñÍ!DMÍ�-åÍ/,ÑÍ_åÍÐ.ÑÍý+åÍ-ÑÍ,|µÊ*,`iÍÿ(|µÊô+!j?åÍ ñÍí+ÁÉÅÅÅ;*ÅÅ;!9^#VëDM#ë*_ ͸�|µÊíY!ñ3ÁÉÅÍl'ñëbk+|µÂ``i#åÍl'ñë!òÿ|µÊ(Z!µÿ|µÊ(Z!âÿ|µÊ(Z!¶ÿ|µÂ[ÅÍ€'ñ|µÊšZÅÍÕ*ñÅÍl'ñë!òÿ|µÊOZ!µÿ|µÂWZÅÍÕ*ñÃÿZ!¶ÿ|µÂwZÅ!å. ålåÍ *ë9ùëÃÿZ!âÿ|µÂÿZÅ!å. åÅÍ€'ãÍ *ë9ùëÃÿZÅÍÕ*ñÅÍl'ñë!âÿ|µÊ·Z!¶ÿ|µÂ¿ZÅÍÕ*ñÃÿZ!µÿ|µÂßZÅ!å. ålåÍ *ë9ùëÃÿZ!òÿ|µÂÿZÅ!å. åÅÍ€'ãÍ *ë9ùë!ñ3ÁÉ!Óÿ|µÊ)[!çÿ|µÊ)[!ýÿ|µÊ)[bk+|µÂ5[ÅÍÕ*ñ!ñ3ÁÉ!Àÿ|µÂX[ÅÅÍ€'ã`i#åÍ€'ñÑåÍcdñññ3ÁÉ!ìÿ|µÂ}[ÅÅÍ€'ã`i#åÍ€'ñÑÍQŒåÍcdñññ3ÁÉ!áÿ|µÂž[Å`i#åÍ€'ãÅÍ€'ãÍNgññññ3ÁÉ!�ÿ|µÂº[ÅÅÍ€'ñÍŒ�åÍcdñññ3ÁÉ!Žÿ|µÂÖ[ÅÅÍ€'ñÍO�åÍcdñññ3ÁÉ!ëÿ|µÂn\ÅÍ€'ñëbk|µÂ÷[`i#åÍÕ*ñÃ=\bk+|µÊ\bk++|µÊ\bk#|µÊ\bk##|µÂ6\`i#å!å.@åÅÍ€'ãÍ *ë9ùëÃ=\!ñ3ÁÉÅ!å`i#åÍ&dñ|µÊU\!ÃX\!Nå!åÍ *ë9ùñ3ÁëÉ!–ÿ|µÂ®\Å!å+åÅÍ€'ñÍO�åÍ *ë9ù`i#å!å.ålåÍ *ë9ùñ3ÁëÉ!üÿ|µÂf]`i##åÍl'ñë!áÿ|µÂ,]`i##åÍ€'ãÅÍ€'ñÑÍ�|µÊdÅ!å.åÅÍ€'ãÍ *ë9ù`i#å!å.OP HMOV H,LMOV L,HMOV A,LPOP DMOV M,EMOV M,DMOV E,MMOV D,MXTHLLXI H,$+5PCHLMOV H,DMOV L,EMOV A,HORA LJZ TRETRZMOV A,HORA LJNZ TRETRNZLXI H,LXI D,MVI L,MVI H,DS shli errorDAD HINX HDCX HINX BDCX BINX DDCX DLHLD STA SHLD LXI H,tracetretCZ CNZ LDA MOV L,AMOV L,MMOV A,LSTAX DJMP MOV A,HORA LJZ LXI H,MOV H,BMOV L,CMOV H,DMOV L,EMOV B,HMOV C,LMOV D,HMOV E,LBad register opORG CALL TRACEDB '',0CCPINTCCGINTCCEQCCNECCSXTCCSUBCCMULTCCDIVCCORCCXORCCANDCCASRCCASLCCNEGCCCOMCCLTCCLECCGTCCGECCULTCCULECCUGTCCUGECCUDIVCCGCHARCCPCHARCCBADINX SPDCX SPCALL DB ',opcode errorÅÅÅ!�DMå+n&Ñsë9å!LYsë"JYÑës#rë`in&åÍþXñ|µÊÒS`iýS`in&Õÿ|µÊîS`in&-Í�ÃñS!|µÊ&T`in&åÍþXñ|µÂ½S`in&|µÂöS!LYå!9^#VásññÁëÉ`in&åÍþXñ|µÂaT!LYå!9å^#Vás#ráå`in&Ñ}`in&|µÂ&TññÁÉ!LYå!9å^#Vás#rá sëýSÅÅÅ!9s#rë! 9^#VÕ!9^#Ván&|µÊÝT! 9^#VÕ!9^#Váå! 9^#VÕë9å^#Vás#rán&å͉ñÑ}ËT!€DMl9å`in&Ñës#rë!9å^#Vás#r!NålåÍ *ë9ù`i##å!å.ålåÍ *ë9ùñ3ÁëÉ!Àÿ|µÂdÅ!å+åÅÍ€'ã`i##åÍ€'ñÑåÍ *ë9ù`i##åÍÕ*ñ!ñ3ÁÉ!öÿ|µÂã]`i##åÍl'ãÍ!ñ#|µÊd`i#å!å.åÅÍ€'ãÍ *ë9ùÅ!å.-ålåÍ *ë9ù`i##å`i##åÍX'ã`i##åÍl'ãÍ!ã`i##åÍ€'ãÍ *ë9ùñ3ÁëÉ!•ÿ|µÂ"^`i#åÅÍ€'ãÍ”dñÍO�åÍpeññ|µÊdÅ!å.ålåÍ *ë9ùñ3ÁëÉ!”ÿ|µÂ_ÅÍ€'ñëbk|µÂG^!¯rå͉ ñ!ñ3ÁÉbk+|µÂ\^ÅÍÕ*ñÅÍÕ*ñÃ_bk#|µÂ€^ÅÍÕ*ñÅ!å.rålåÍ *ë9ùëÃ_`i##åÍl'ñìÿ|µÂ½^ÅÍ€'ãÍ”dñ�ÿ|µÊ½^`i##åÍ€'ãÅÍ€'ãÍ”dñÑÍ*�ÃÀ^!|µÊ_`i##å!å.å`i##åÍ€'ãÅÍ€'ãÍ”dñÑÍ¥�åÍ *ë9ùÅÍÕ*ñÅ!å.ålåÍ *ë9ùñ3ÁëÉ!ñ3ÁÉ!ñ3ÁÉ!�ÿ|µÂÔ_`i#åÅÍ€'ãÍpeññ|µÊV_Å!å.ålåÍ *ë9ùñ3ÁëÉ`i##åÍl'ñìÿ|µÂ}_`i##åÍ€'ãÅÍ€'ñÑÍ*�À_!|µÊÍ_`i##å!å.å`i##åÍ€'ãÅÍ€'ñÑÍ¥�åÍ *ë9ùÅÍÕ*ñÅ!å.ålåÍ *ë9ùñ3ÁëÉ!ñ3ÁÉ!�ÿ|µÂd`i#åÅÍ€'ñÍO�åÍpeññ|µÊdÅ!å.ålåÍ *ë9ùñ3ÁëÉ!áÿ|µÂd`i#åÍl'ñë!öÿ|µÊ3`!áÿ|µÂ?`ÅÍÕ*ñ!ñ3ÁÉ!ýÿ|µÂ˜`!9åÅÍ€'ñÑës#rÅ`i#åÍX'ã!å`i#åÍ€'ãÍ *ë9ù`i#å!å.å.9^#VÕÍ *ë9ùñ3ÁëÉbk+|µÂ¸`ÅÅÍ€'ã`i#åÍ€'ãÍNgññññ3ÁÉ!ëÿ|µÂÊaÅÍ€'ñëbk|µÂß`ÅÍÕ*ñÅÍÕ*ñ!ñ3ÁÉbk+|µÊ%abk++|µÊ%a!ýÿ|µÊ%a!üÿ|µÊÍ�|µÊ­U!9s#rë! 9^#VÕ!9^#Ván&|µÂkUÅ!9^#Ván&åÍÀXñ|µÂNU.9n&ÃQU!|µÊdUÅ!9^#VáññÁÉ!ÿÿññÁÉ! 9^#VÕ!9^#Ván&åÅ!9^#Ván&ÑÍW�|µÂ§U!9å^#Vás#rëÃU`iÃñT!ÿÿññÁÉÅœÿë9ùë*à |µÊÍUdë9ùÁëÉ*û &|µÊæU!"à dë9ùÁëÉ:i o&|µÊùU!i DMÆV!9DM!h9^#Vën&ÍW�å.j9^#Vën& ÍW�ÑÍJŒå!j9^#Vën&.ÍW�ÑÍJŒ|µÊ]V`iå!j9å^#Vás#rbk+n&Ñ}ÃÿU`i.s`iAs`iSs`iMsÅ!Ñ}!9DM*ó &|µÂ V!YåÍl ñÅÍl ñÍ‚PÅ!*Yå!€åÍx‚ñññ"à #|µÂÃV"à !,Yå͉ ñdë9ùÁëÉÅ;!"ä *ñ &|µÂéW*ä |µÊîV*ä åÍtwñ!LYë*JYn&àÿ|µÂ W*JY#"JYÃîV!LYë*JYn&|µÂ$W#}2ñ ÃéW*JYDM!LYë*JYn&àÿ|µÊQW!LYë*JYn&ÍW�ÃTW!|µÊcW*JY#"JYÃ)W!9å!LYë*JYn&Ñ}!LYë*JYs!LYë`iå!9Yå!€åÍx‚ñññ"ä #|µÂÊW!LYë`iåÍ !;YãÍ ñ!LYë*JYå!9n&Ñ}ÃÔV!LYë`iåÍ´Uñ!LYë*JYå!9n&Ñ}3ÁÉÅ*à |µÊGX!å*à åͼ†ñ*à ãÍчñbk9s#rëÑÕ! Í�|µÊ?XÃ4X!9å^#Vás#rëÃX! åÍ2ŽñÃ#X*à åÍtwñ!"à ñÉÅÅ*ø &|µÊ^XñÁÉ!9å!9^#VÕ!HYå!€åÍx‚ñññÑës#rbk#|µÂ‰XñÁÉÑÕÕÍÜ„ñDMæÿ|µÊ¦X`iÿÿÍW�éX!|µÊ¶XÅÍí ñÉXÑÕÕÍtwññÁÉ!9n&|µÊúX!9n&Ôÿ|µÊúX!9n&àÿ|µÊúX!9n& Í�É!É!%abk#|µÊ%abk##|µÊ%a!|µÊ%a!|µÂJa`i#å!å.@åÅÍ€'ãÍ *ë9ùÅÍÕ*ñ!ñ3ÁÉ`i###ë*_ ͸�|µÊba!ñ3ÁÉ`i##åÍl'ñáÿ|µÂ‡a`i###åÍl'ñÍ�Êa!|µÊdÅ!å.åÅÍ€'ã`i##åÍ€'ñÑåÍ *ë9ù`i##åÍÕ*ñ`i##åÍÕ*ñ!ñ3ÁÉ!•ÿ|µÂ€bÅÍ€'ñëbk|µÂûaÅÍÕ*ñÅ!å+å+åÍ *ë9ùëÃybbk#|µÂbÅÍÕ*ñÅ!å.rålåÍ *ë9ùëÃybbk##|µÂSbÅ!å.å.åÍ *ë9ùÅ!å.rålåÍ *ë9ùëÃybÅÅÍ€'ãÍ”dñÍO�åÍÌeññ|µÊrb!ñ3ÁÉ!ñ3ÁÉ!ñ3ÁÉ!–ÿ|µÂ$cÅÍ€'ñëbk|µÂ²bÅÍÕ*ñÅ!å.rålåÍ *ë9ùëÃcbk+|µÊæbbk++|µÊæb!ýÿ|µÊæbbk#|µÊæbbk##|µÊæb!|µÂc`i#å!å.@åÅÍ€'ãÍ *ë9ùÅ!å.rålåÍ *ë9ùëÃc!ñ3ÁÉ!ñ3ÁÉ!øÿ|µÂd`i#å!å+åÅÍ€'ãÍ *ë9ùÅ!å.ålåÍ *ë9ù`i#åÍÌYñ|µÊlc!ñ3ÁÉÅ!å.å`i#åÍ€'ãÍ *ë9ù`i#å!å.ålåÍ *ë9ù`i##åÍl'ñëbk+|µÊÑc!ýÿ|µÊÑc!æÿ|µÊÑc!çÿ|µÊÑc!Óÿ|µÂÞcÅÍÕ*ñÅÍÕ*ñÃd!áÿ|µÊðc!öÿ|µÂd`i#åÍÕ*ñÅ!å+åÅÍ€'ãÍ *ë9ùëÃd!ñ3ÁÉ!ñ3ÁÉ!ñ3ÁÉ!9^#V*_ ͸�|µÊf!ÁÉ!9^#V!Í+�|µÊnf!9å!9^#VëÍO�Ñës#rqëDMÃsf!pDM!9^#V!Í�|µÊg!9^#VÕÍl'ñ+|µÂÈf.9^#VÕÍl'ñë`iÍ�|µÊÈf!9^#VÕÍ€'ã!9^#VáÍ�ÃËf!|µÊÕf!ÁÉ!9^#VÕë!å+å. 9^#VÕÍ *ë9ù!9^#VÕ!åÅlåÍ *ë9ùÁëÉ`i�ÿ|µÊIg!9^#VÕÍÕ*ñ!9^#VÕ!å+å+åÍ *ë9ùÁëÉ!ÁÉ!9^#V*_ ͸�|µÊfg!É!9^#VÕÍl'ñë!ëÿ|µÂ g!9^#VÕ!9^#VÕ!9^#VáåÍœjññØj!–ÿ|µÂÎg!9^#VÕ!9^#VÕ!9^#VáëÍ¥�åÍœjññØj!•ÿ|µÂûg!9^#VÕ!9^#VÕ!9^#VáÍ6�åÍœjññØj!”ÿ|µÂ)h!9^#VÕ!9^#VÕ!9^#Váë͘ŒåÍœjññØj!“ÿ|µÂVh!9^#VÕ!9^#VÕ!9^#VáÍ“�åÍœjññØj!’ÿ|µÂƒh!9^#VÕ!9^#VÕ!9^#VáÍÃ�åÍœjññØj!‘ÿ|µÂ°h!9^#VÕ!9^#VÕ!9^#VáÍJŒåÍœjññØj!�ÿ|µÂÞh!9^#VÕ!9^#VÕ!9^#VáëÍaŒåÍœjññØj!�ÿ|µÂ i!9^#VÕ!9^#VÕ!9^#VáëÍ *ë9ùëÉ!¤ÿ|µÊxq!ùÿ|µÂxq!8så!9^#VÕÍ€'ãÍæ�ññ|µÊPq!9^#VÕÍl'ñÍ�ÃSq!|µÊxq!9^#VÕ!å. ålåÍ *ë9ùëÉ!É!9^#VÕÍl'ñë!áÿ|µÊNr!ûÿ|µÊNr!øÿ|µÊNr!ëÿ|µÊNr!Àÿ|µÊNr!¾ÿ|µÊNr!Ëÿ|µÊNr!Åÿ|µÊNr!Èÿ|µÊNr!Çÿ|µÊNr!»ÿ|µÊNr!²ÿ|µÊNrbk+|µÊNr!ìÿ|µÊNr!áÿ|µÊNr!Ïÿ|µÊNr!Ìÿ|µÊNr!Íÿ|µÊNr!Éÿ|µÊNrbk++|µÊNr!ýÿ|µÊNr!ùÿ|µÂRr!É!É!9å^#Vás#r!Í�|µÈ!9^#V*_ ͸�|µÀ!9^#VÕÍ#ñ!9å^#Vás#r!͘Œë|µÊ©rÍpPÃVrÍ‚PÃVrdivide by 0;Basic block (before):;;;;;;;;;;;;;;;Basic block (after): ;;;;;;;;;;;;;;Internal warning--basic block0000ÅÅÅ!9n&ëbk+|µÂ¾s. 9^#V! n&)))))))DM!9å! 9^#VÕ!9^#V! n&Ñë`iåÍè�ñÑës#rë9å! 9^#VÕ!9^#V! n&Ñë`iåÍö�ñÑës#rëÃ3tbk|µÂös!9å! 9^#VÕÍè�ñÑës#rë9å! 9^#VÕÍö�ñÑës#rëÃ3tbk++|µÂ&t! 9^#VÕ! 9^#VÕÍ~ññ#|µÂt+ññÁÉ!ññÁÉ! "7‰!ÿÿññÁÉ! 9^#V! n&DM! 9^#VÕ!9^#VÕÍ%€ññ#|µÂct+ññÁÉ! 9^#VÕ!9^#VÕÍR�ññ#|µÂ’t. 9^#VÕÅÍ%€ññ!ÿÿññÁÉ!ññÁÉ!ßÿ9ùë9å!%9^#VÕÍ‚ññ!å.9åÍŽññ!!ë9ùëÉÅÍ_‚DM#|µÂØt+ÁÉÅ!9^#VÕÍ‚ññÍ�|µÊöt!ÿÿÁÉ!9^#V!ÍQŒåÍœjññØj!Žÿ|µÂi!É!Œÿ|µÂFi!9^#VÕ!9^#VÕ!9^#VáÍ�åÍœjññØj!‹ÿ|µÂsi!9^#VÕ!9^#VÕ!9^#VáÍ*�åÍœjññØj!Šÿ|µÂ i!9^#VÕ!9^#VÕ!9^#VáÍ�åÍœjññØj!‰ÿ|µÂÍi!9^#VÕ!9^#VÕ!9^#VáÍ+�åÍœjññØj!üÿ|µÂ”j!9^#V!ë*_ ͸�|µÊñi!É!9^#V!åÍl'ñíÿ|µÂ:j.9^#V!åÍl'ñøÿ|µÂ:j.9^#V!åÍl'ñ Í�Ã=j!|µÊ”j!9^#VÕÍÕ*ñ!9^#V!å!å+å. 9^#VÕÍ *ë9ù!9^#VÕë!å+å.9^#VÕÍ *ë9ùëÉ!É!É!9^#VÕë!å+å.9^#VÕÍ *ë9ù!9^#VÕÍÕ*ñ!9^#VÕÍÕ*ñ!ÉÅÅÅ*÷ &|µÊk!»råÍl ñÍ‚P! 9^#VÕ! 9^#VÕ!9^#VáëÍ¥�#åÍVrñ!ÒrãÍl ñÍ‚P!9sëÃ[k!9å! 9^#VÕÍImñÑës#rë9åå!9n&Ñåën&ÑÍ“�Ñ}bk9s! 9^#VëDMÅ! 9^#VáÍ�|µÊ>lÆk`iÃlk!9ë*_ ës#rë9ååÅÍImãÍ­8ãÅÍImãÍÂñÑÍ“�åÅÍImãÍRnñÑÍ“�åÅÍImãͶ7ñÑÍ“�åÅÍImãÍnñÑÍ“�åÅÍImãÍÌYñÑÍ“�åÅÍImãÍý<ñÑÍ“�Ñåën&ÑÍ“�Ñ}!9^#V*_ Í¥�ë`iëÍ¥�DM!9åå!9^#V*_ Í¥�Ñåë^#VáÍ¥�Ñës#rëÀk!9^#VÕÍImñDMÅ! 9^#VáÍ+�|µÊØlÃfl `iÃLl!9ë*_ ës#rë9ååÅÍImãÍï3ãÅÍImãÍ«ñÑÍ“�Ñåën&ÑÍ“�Ñ}!9^#V*_ Í¥�ë`iëÍ¥�DM!9åå!9^#V*_ Í¥�Ñåë^#VáÍ¥�Ñës#rëÃ`láå&|µÂ*k*÷ &|µÊ>m!áråÍl ñ!9n&|µÊ(mÍÍ®�|µÊu!"7‰lÁÉ`i!å!9^#VásÅÅÅë`in&|µÊ©u!9å!ålåÍŽññÑës#rë9å`in&Ñës#r!9^#V!AÍ�|µÂuu##9^#V!DÍ�Ãxu!|µÊ‹u! "7‰!ÿÿñññÁÉÅ!Ñ}!å.9^#V!¿ÿåÍŽññôu!9s#rë!å.€åÍŽñ!ãÅÍŽññÿ|µÂv."7‰ÅÍ™‹ñ!9^#Vë|µÊùu!å.9^#VÕÍŽññ!ÿÿñññÁÉ!9^#Vë|µÊ)v!å.9^#VÕÍŽññÅ!9^#Vásë`iñññÁÉÅÍ_‚DM#|µÂ?v+ÁÉÅ!9^#VÕÍ‚ññÍ�|µÊ]v!ÿÿÁÉ`i!sÅÅÅë`in&|µÊïv!9å!ålåÍŽññÑës#rë9å`in&Ñës#r!9^#V!AÍ�|µÂ»v##9^#V!DÍ�þv!|µÊÑv! "7‰!ÿÿñññÁÉÅ!Ñ}!å.9^#V!¿ÿåÍŽññÃúv!9s#rë!åÅÍŽñ!ãÅÍŽññÿ|µÂEw."7‰ÅÍ™‹ñ!9^#Vë|µÊ=w!å.9^#VÕÍŽññ!ÿÿñññÁÉ!9^#Vë|µÊmw!å.9^#VÕÍŽññÅ!9^#Vásë`iñññÁÉÅÅÅÅ! 9^#V!Í­�|µÊ’w!ñññÁÉ! 9^#V!!n&ëbk|µÊëwbk+|µÊëwbk++|µÊëw!®ÿ|µÊëw!©ÿ|µÊëw!¿ÿ|µÊëw!¨ÿ|µÊëw!"7‰!ÿÿñññÁÉ! 9^#Vën&|µÊ�x!9å!ålåÍŽññÑës#rë9å! 9^#Vën&Ñës#r!9^#V!AÍ�|µÂGx##9^#V!DÍ�ÃJx!|µÊ]x! "7‰!ÿÿñññÁÉ! 9^#V!ësë!å.9^#V!¿ÿåÍŽññÃŒx!9s#rë!9s#rë!å. 9^#VÕÍŽññÿ|µÂ¿x. "7‰.9ÿÿs#rë!9^#Vë|µÊÜx!å.9^#VÕÍŽññ! 9^#V!!n&Í�|µÊ y! 9^#V!#DM`i!Í�|µÊ4�Ã�`iÃ�!'9^#V`iå!9ë`in&Ñ}Ã�!!ë9ùÁëÉ! "7‰!ÿÿ!ë9ùÁëÉ!9^#V! n&å!9^#VáÍ�|µÊu�!É!9^#VÕ!9^#V!n&ÑÍ+�|µÊ¼�!9^#V!Í*�|µÊ¶�!9^#V!€Í�ÿ�!ÿ�!|µÊÞ�!9^#V! å!9^#VásëÉ! "7‰!ÿÿÉ!9^#V!€Í˜ŒÉ!9^#V!€Í˜ŒëÉÅ!9^#VÕ!9^#VÕͶ{ññ|µÂ#‚+ÁÉ! DM`i%Í�|µÊJ‚!9^#VÕ`iÑsëÃ(‚!9^#V!"ÿsÁëÉÅ!%åÍ9‰ñDM|µÊs‚`iÁÉ!ÿÿÁÉÅ!9^#V!€Í˜Œë|µÂ›‚.9^#V!Í�Þ‚!|µÊ®‚!"7‰!ÿÿÁÉÅ!9^#Vën&å͉ñë!®ÿ|µÂƒ! 9^#VÕ!åÍÉtññDM#|µÂnƒ!9^#Vbk#n&å͉ñ©ÿ|µÊ ƒ!ÿÿñÁÉ!©ÿ|µÂ$ƒ! 9^#VÕÍ0vñDM#|µÂnƒ+ñÁÉ!¿ÿ|µÂbƒ! 9^#VÕ!åÍÉtññDM#|µÂJƒ+ñÁÉÅ!å##åÍ:sñññ#|µÂnƒ+ñÁÉ!"7‰!ÿÿñÁÉ!9å`i#Ñës#rÑÕÕ!9^#V!åÍ9‰ñÑës#rbk|µÂ¨ƒ."7‰!ÿÿñÁÉ!9å!9^#Vë^#Vás#rÑÕÕbk!9^#V!Ñës#rÑÕ!ës#rÑÕ!å!9^#Vás#r!9^#Vën&å͉ñë!¿ÿ|µÊ„!©ÿ|µÂ.„`i!å! 9^#Vën&å͉ñÑ}Ãc„!9^#Vbk#n&å͉ñë!©ÿ|µÂX„`i!XsëÃc„`i!Rsë`iñÁÉ!å.9^#VÕͼ†ññ!9^#VÕÍчñ#|µÂŒ„+É!9^#VÕÍtwñÉÅ!9^#VÕÍÜ„ñDMóÿ|µÂØ„.9^#VÕÍÜ„ñöÿ|µÂÌ„. DMÃØ„!9^#VÕÍÛ…ñ`iÁÉÅ!9^#V!!n&®ÿ|µÊ …!9^#V!!nDM^#VÕÍ™‹ñ! 9^#VÕÍ™‹ñññÑÁëÉ!9^#V! n&å!9^#V! n&)))))))ÑÉ!9^#V!!n&ëbk|µÊkybk++|µÊky!®ÿ|µÂ‘y!å.9^#VÕ!9^#VÕ!9^#VÕÍGzë9ùëÉ!"7‰!ÿÿÉÅ!9^#V!!n&ëbk+|µÊÎybk++|µÊÎy!©ÿ|µÊÎy!¿ÿ|µÂ<êø‹!í°"JŽ"\ޝ2LŽ2^ŽŒ Í*ùÍÇSuperSoft C Copyright 1981 Run Time Package V1.1.0 $ÑÅ Í!ÁÉ|¢g}£oÉÅ}æÊtŒGë)ÂZŒÁÉÅ}æÊtŒG·zW{_ÂiŒëÁÉÅ|µÂ�ŒÍ>ŒDivision by 0 $å!ãõŒÅ|µÂ±ŒÍ>ŒDivision by 0 $ÍúŒõÍO�DM!>õ ÚËŒ}‘o|˜g¯æë)õ…oëñ怄gñ=ÊéŒõ)æ…oÃÀŒ|ægëñÁðÍO�ëÍO�ëÉz¬õ|æ€ÍòOÃçOÉͦPÃîOÉ*+5}2ïO*)5}2ðO*'5}2Ný*#5}2ñO:ñO2Pý!½F"KýÛ2Jý:ðO2MýÍ�PÂ]PÍuPÂcP*%5}…G:QýË�°2Qý:ïO·ÊRPÍ™PÂiPÃXPÍ“PÂoP¯2"5É>2"5É>2"5É>2"5É>2"5É!Qý~þ ʃPþŠPxþŠPÉöÿÉ`ßPZßP]ßP:g.Zé*#5}2PýÍ�Px2"5:Qý2!5É!9^#VÕ!9^#VÕÍœ,ññ!9^#VÕ!9^#VÕ!AåÍ¥*ñññ!9^#VÕ!9^#VÕÍœ,ñ!QÄO�zæ€Ê�ëÍO�ëñÉ·}“o|šgµ#È!Éë¯}“|š!ð#Éë¯}“|š!ð+ÉÅDM!>ë)ëÒE� =ÊM�)Ã>�ÁÉ|/g}/o#É}“o|šgµÈ!ÉÑáÕåÍO�9Ò„�áå͎ͦ�Ú„�á"vŽÑÕÕ!ÉÑÑÕÕ!ÿÿÉ}/o|/gÉ|²g}³oÉ^#VëÉës#rëÉë}“o|šgÉë}“|š!Ø+Éë}“|š!Ø#É|ªg}«oÉ!9"rŽá"tŽå!ÉÑÑ*rŽù*tŽåëÉå`i"ËŽáÁÑãÅÅÃû�#·ÊŽ¾Êø�Å*ËŽDMáÉ`iÁÑãÅDMÍáÁåååo&ÉÅÍþ!ÁÈoÉ!9^ÅÍÁÉ~# x±Â?ŽÉÍ?ŽãåååëÉ`i"ËŽáÁÑãÍ?Žãå*ËŽDMáåååëÉ|ºÀ}»ÉÍŽP¼†ññÉÅ!9^#V!̓w|µÊà†!9n&åÍ9Xñ!ÁÉÅ!9^#V!!n&ë!¨ÿ|µÊ ‡!©ÿ|µÊ ‡!¿ÿ|µÂ�ãåååëÉ`i"ËŽáÁÑãÍ?Žãå*ËŽDMáåååëÉ|ºÀ}»ÉÍŽP¼†ññÉ  < < < N O - F I L E M E N U > > >  D Open Document File | Y DELETE a file | H Set HELP LEVEL  N Open Non-document File | E RENAME a file | L Change Drive  X EXIT to System | O COPY a file | R Run a program  F Directory + | P   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  M Run MailMerge S Run SpellStar   < < < N O - F I L E M E N U > > >   ­­­SãÍÕñÍõ,Ív*ÞO|µÂQ!oSåÍÕñÃzQ*ÞO+|µÂ3Q!ÏOåÍÕñÃzQ*ÞO++|µÊIQ*ÞOÍÐtÃLQ!|µÊfQ*35åÍÕñ*ÞO++åÍ�QñÃzQ*15åÍÕñ*ÞO++++åÍ�QñÍvÍ-ÉÍv!9^#V!AåÍÄñ͘QÉ!:åÍÄñÉÅÍÌ,bk9s#rëÑÕ!ÍÞt|µÊûQÃÒQ!9å^#Vás#rbk+ïQ!å!9^#Vá"/5!½Få!9^#Ván&"-5Í�sÿQñÉÅbk9s#rëÑÕ!ÍÞt|µÊJRÃ+R!9å^#Vás#rbk+ÃRÑÕë"/5!»6å!9^#Ván&"-5Í�sÃRñÉÅbk9s#rëÑÕ!ÍÞt|µÊ£RÃzR!9å^#Vás#rbk+ÃWR!å!9^#Vá"/5!»>å!9^#Ván&"-5Í�sÃgRñÉÅÅbk9s#rë9s#rë!9^#VÕ!9^#Ván&0Íët|µÊøR!9^#VÕ!9^#Ván&9ÍêtÃûR!|µÊMSÃS!9å^#Vás#rbk+üR!9å! å.9^#VáÍötå! 9^#VÕ!9^#Ván&ÑÐÿÑës#rëÃSÑñëÉThe working character set is a new setÅÅÅÅÅÅÅÅÅÅÅÅ!9s#rë!9^#Vbk|µÂÓX.9^#VÕÍ.Zñ!9^#VÕ͇Zñ! 9^#VÕ! 9^#VÕ!åÍ¥*ñññÍõ,! 9^#VÕ! 9^#VÕÍœ,ññ!9å!9^#VÕ!ålåÍ…\ñññÑës#rÍ-!å.å.FåÍ¥*ñññ!9^#Vbk|µÂ.Të9ùëÉ!9^#VÕÍ*ñ!9s#r!9^#V!ësë9s#r!9^#Vbk#n&Æÿ|µÂÝT.9s#r!9^#Vën&¿ÿ|µÊ¢T!9^#Vën&BÍÐtÃ¥T!|µÊÈT!9^#VÕ!9^#Vën&¿ÿ#Ñ}ÃÝT!9s#rÍ!Z!ÐZåÍÕñ!9s#r!9^#Vbk+|µÂ�V.9s#rë9s#r ë9s#rë!9^#VÕ! 9^#VáÍßt|µÊ`U! 9^#V!ÍÞt|µÊ`U!9s#rë|µÊ`U!9^#V!ÍÐtÃcU!|µÊVÃ~U!9å^#Vás#rbk+ÃU!9å!9^#VÕ!9^#Ván&å!åÍ,YññÑës#r!9^#VÕ!9^#Ván&Òÿ|µÂÐU.9s#rëÃkU!9^#Vbk#å! 9^#Váå!9^#VÕ!9^#Ván&Ñ}! 9å^#Vás#rbk+ÃkU! 9å!9^#Vás#r! 9^#V!øÿ|µÂKV.9^#VÕ!9^#Ván&.ÍÐtÃNV!|µÊmV!9å^#Vás#rë9s#rë! 9^#Vbk|µÂ�V.9s#rÍ!Z!åZåÍÕñ!9^#Vbk+|µÂ�X9s#rë9s#rë!9^#VÕ! 9^#VáÍßt|µÊÔVÑÕ!ÍÐtÃ×V!|µÊZWÃòV!9å^#Vás#rbk+ñV!9å!9^#VÕ!9^#Ván&å!åÍ,YññÑës#r!9^#V! å!9^#Váå!9^#VÕ!9^#Ván&Ñ}!9å^#Vás#rbk+ÃßV!9^#V!Íßt|µÊ|W!9^#V!ÍÐtÃW!|µÊ™WÍ!Z![åÍÕñbk9s#rëÑÕbk+|µÂ�X.9^#Vbk+|µÂÖW.9^#Vbk|µÂ�XÍ!Z![åÍÕñbk9s#rëÃ�X!9^#Vbk|µÂ‡X.9^#V! Cs!9^#V! Hs!9^#V! Rs!9^#VÕ!9^#Vá.s!9^#VÕ!9^#Vá#Cs!9^#VÕ!9^#Vá##Hs!9^#VÕ!9^#Vá###Rs!9^#VÕ!9^#Vá####sëÃ�XÍ!Z!#[åÍÕñ!9s#rë!9å!9^#Vë|µÊÇX!9^#Vë|µÊÇX!9^#VëÃÊX!Ñës#rëÃ�S!9^#V! s!9^#V! s!9^#V!s!9^#V!s!9^#V! sÍ-!ë9ùëÉÅÅÅ!9ë!6[ës#rë9s#rë9å! 9^#Vás#rë!9^#V! ÍÞt|µÊZÀY!9å^#Vás#rbk+ÃXY! 9n&å!9^#VÕ!9^#Ván&ÑÍÐt|µÊmY!9s#rÍ!ZÍõ,Ív! 9n&àÿ|µÂÓY!C[åÍÕñÃßY! 9n&åÍÄñÍvÍ-!I[åÍÕñ!9^#Vbk|µÂZ!`[åÍÕñÃZ!e[åÍÕñ!9 s#rëÃmYñÑñëÉ!å.åÍœ,ññÉÅbk9s#rëÑÕ!ÍÞt|µÊuZÃ\Z!9å^#Vás#rbk+Ã9Z!9^#VÕ!9^#Vá sëÃIZ!9^#V!sñëÉÅbk9s#rëÑÕ!$ÍÞt|µÊÎZõZ!9å^#Vás#rbk+Ã’Z!9^#VÕ!9^#Vá sëâZñÉDrive must be A or BFile name can not be blankFile type too longBlank file typeFile name too long.><,;:=?*[] SPACE is invalid in a file typenameÅÍÌ,! å.åÍœ,ññÍ{!åÍÄñÍ‹!ú[åÍÕ!\ãÍÕ!3\ãÍÕñ!å.åÍœ,ññÍ{!åÍÄñÍ‹!F\åÍÕ!]\ãÍÕ!s\ãÍÕñbk9s#rëÑÕ! NÍÞt|µÊø[!9å^#Vás#rbk+ÃØ[ñÉ 1983 Osborne Computer Corporation, 26538 Danti Court, Hayward, CA 94545 1984 Future Systems, 828 Nob Hill Avenue, Pinole, CA 94564ÅÅÅ;bk9s#rë9s#rë!9^#Vbk|µÂi^.9åÍZ-Ñ}!9n&vÿ|µÊö\!9n&tÿ|µÊö\!9n&uÿ|µÊö\!9n&ÍÐtÃù\!|µÊT]! ! à GMAC"'@!+@é=~·ÊvõæO#~ ÂQåÍü Ññæøw#6 #wëÃDÍ„K>2ì<¯2@2�>2-=2ó<2ô<2è=2õ<2ú?2ä=!Ò= w#—<2(=2.=2/=2Ñ=> 2ñ<:ˆ@2ê<:�@2*=>;23=<22=!"4=+"@+"6=*'@ù!Ìå!6å¯2[?21=2+=29=2û?<2)=Í?áåüÅé!H="F= „~¹Ì#þ ÊÂÁáåÅRÅéõå*4=#"4=!ÿÿ"6=:2==23=áñÉ!9=>2@2@Í–þ ÊCÍÆÊC·òlæ ÊCÍÆÊCþ0ÚCw#ÃCƒ!H=þ ÊŽ Ê~w# þ ÂŽw:9=·È=28=ÉÍ–æÃq:,=·Ê¨ÍôNЯ2,=Í4OÍMÚ¯É!ÍÌF> 2H=ÍîJ> ÍîJ7ò-þ ÀÃ!"C=¯20==2û?*Ú="Þ=:H=þ*Âí>$2H=Ö$2E=ÍU  þ:Ê‹:E=·Â$:é==Â$ÍU !é=~¸Ò4#>$Nwy#Â*F=+~#þ Ê¿åÍ+ÍU ÍÂ�~·ò�#~þ"ÊRþÊRþ Â�á*F=+"F=õ:(=·ÊkÍ+ñõþÊs·Íü Í-ñþ"Êx-þʯ7ÃD-á"F=Í+ÿ:(=·Ê¹Í1Íü Í-"C=ëÍjëö õÍ# þ:µñö@õÍê ñÍÛ ÍU  Í6 :(=·ÊÏÍ Ê’8Í ·õ:(=·Âèñòlõæ`Êkñòû#~! ‡_^#Vëéæ#NõÍ1!è ñÃñþ;Èþ È!H="F=*C=|µÄU :(=·ÊlÃ�'!é=ü=Nwy#Â3É!>">!> q#ÂKÉÍ6 ÍÈ ·ÊUåþ Êlþ;ÊlÍÍõñá:ì<·Â—:>þVÊ‹þMÊ‹þDÊ‹þXÂÞ2[?ÍÍ~ÃÞÍ+ÃÞÅAÃèÅCÃèÅDÃèÅEÃèÅMÃèÅNÃèÅOÃèÅPÃèÅQÃèÅRÃèÅUÃèÅVÃèÅXåõ!>~þ Âüp:Ô>ö2Ô>ñáÁÉ9^#Vbk+|µÂI].9s#rë9n&åÿ|µÂ4]##9Žs#rëÞ\!9å!9n&Ñës#rëÞ\!åÍÄñÞ\!9n&óÿ|µÂ‚].9s#rë9å!9^#Vás#rëÞ\!9n&sÿ|µÂÛ]9^#V!Íßt|µÊÐ]!9å^#Vás#r!åÍÄñÍ-! åÍÄñÍõ,!åÍÄñÞ\!åÍÄñÞ\!9n&ÍÞt|µÊý]!9n&ÍßtÃ^!|µÊ^^ÑÕÕ! 9^#VáÍßt|µÊS^! 9^#VÕ!9^#Váå!9n&Ñ}!9n&åÍÄñ!9å^#Vás#rbk+Þ\!åÍÄñÞ\!åÍÄñÞ\! 9^#VÕ!9^#Vás!9^#V!9ùëÉ;!9å!å.å.1å##å͘gë9ùásë9n&3É;!•iåÍÚhñ!9 sëáå&Íÿ|µÊ_Í�i!9åÍŒ^Ñ}!å. å)åÍ¥*ñññáå&Ïÿ|µÂ_Í_ÃÆ^áå&Îÿ|µÂÆ^Í{_ÃÆ^Í¢+3ÉÅbk9s#rëÑÕ!ÍÞt|µÊm_ÃI_!9å^#Vás#rbk+Ã&_!»6å!9^#Váå!½Få!9^#Ván&Ñ}Ã6_!"·6+åÍÚ_ññÉÅbk9s#rëÑÕ!ÍÞt|µÊÍ_é_!9å^#Vás#rbk+Æ_!»>å!9^#Váå!½Få!9^#Ván&Ñ}Ö_!"¹6åÍÚ_ññÉ!å.åÍœ,ñ!«iãÍÕñ!9^#Vbk|µÂ`!ÍiåÍÕñÃ`!ÒiåÍÕñ!ÜiåÍÕñÉ;!üiåÍÚhñ!9 sëáå&Íÿ|µÊµ`Í�i!9åÍŒ^Ñ}!å. å)åÍ¥*ñññ!å. å.#åÍ¥*ñññáå&Ïÿ|µÂŒ`Íõ,Í=iÍ-!å*35åͺ`ññÍ=iÃ)`áå&Îÿ|µÂ)`Íõ,Í_iÍ-!å*15åͺ`ññÍ_iÃ)`Í¢+3ÉÍÑf"#5Íßt|µÀ!å. åÍœ,ñ!jãÍÕñ!9^#VÕÍÕ! jãÍÕñ*#5AåÍÄñ͘QÍè%No END statementÃÁ:ê=þ.ÊŠþ$Ê’þ[<ÐÖB·ø‡ÅÕ_!˜^#Vë:é==O~·Ê†·ú[:ê<‡~ÂVþPÒ[ÃzþPÒzæ¹Âzë=åA##¾Ây#Âhá¯~ÑÁÉá~æÆ_Ã=ÑÑ<É!H ÅÕÃ8!Ð Ã�Ìûj¸ ‡®¯Ýó1UVÒ% , - . / F G *ÎCIˆDCRDC€DDRDD*ÆDI NARND*æNIƒSEGƒ"SETZITƒ>YTE3ÍALLSALL1ÜCj?CF1üM/MA?MC¸MP2ÔNC2ÄNZ…OMMONÃOND1ôPQ Pr©PDs¹PDR2ìPE*þPIr¡PIs±PIRj/PL2äPOƒSEG1ÌZ'AAj'AA AD�B�C"CR CXR ECƒEFBƒ"EFLƒEFMƒEFSƒEFWóIióISJNZ�SƒSEG�WûIiûIÃLSE‚ ND£ NDC¤ NDIF‹ NDM„ NTRY‚ QUQXjÙXX„XITM‚XT‡XTERNAL„XTRN… LOBALkvALTvLTÁFÂ2FBÄ9FDIFÂFEÂFFÄ:FIDNÃ3FNBÂFTaM)ÛNQNRNC†8NCLUDErªNDsºNDRr¢NIs²NIR"NRNXÂF1ÂF2ÄFDEFÅFNDEF’RP“RPC1ÚC1úM2ÃMP2ÒNC2ÂNZ1òPQP2êPE2âPOQR1ÊZQD2:DA DAXr¨DDs¸DDRr DIs°DIR3*HLD„OCALJXI…8ACLIB”ACRO:@OVBVIƒAMErDEGOPjOPQR°RA‚RG*öRIs»TDRs³TIR*ÓUTR UTs«UTDs£UTIƒAGEéCHLÁOPR"OP… UBLICÅUSHS$USHALARØC“!EPTZ&ESÉETR(ETsMETIsEETN IMY*LjLALCZ,LCkLCAroLDøMÐNCÀNZðPèPEàPOY.RjRARCZ0RCkRCArgRD"ÇSTR2STÈZ˜BB*ÞBIR4BCj7CFZ6ET‚"ET3"HLD0IMZ8LAùPHLZ:RAO*"5&ûÿ|µÂa*!5&ÍÐtà a!|µÊYa!9^#V!ýÿ|µÂ@a*#5åÍÉañÃwa!"+5#")5++"'5#"%5ÍáOÃwa!"+5.9^#Vë")5!"'5++"%5ÍáOÍ3h*"5&|µÂ¸a.å. åÍœ,ññ!9^#VÕÍÕ!%jãÍÕñ*#5AåÍÄñ͘Q!"E5É!å. å.$åÍ¥*ñññÉ!ukå͇Z!ukã!9^#Vás!uk#å!2jåÍÝlññ!uk åÕn&ÑÍ tÑ}!uk åÕn&ÑÍ tÑ}!å!ukåÍÏuññ}2àO!å!ukåÍÏuññ}2àO!å!ukåÍÏuññ}2àO*àO&ÿ|µÂ`b.}2"5É!å!'OåÍÏuññ}2àO!uk së"«6!"³6"­6*­6Íßt|µÊ»bèb*­6#"­6+ÃŒb!½Fë*­6n&åÍ#cñÃ�bÍQc*³6|µÂc.å!ukåÍÏuññ}2àO!uk å€Õn&ÑÍSuÑ}!uk å€Õn&ÑÍSuÑ}!å!ukåÍÏuññ}2àO!}2"5É!}2"5É*³6+|µÈ!'Oå*«6#"«6+Ñå!9n&Ñ}*«6€ÿ|µÀÍQcÉ*«6|µÈ!å!ukåÍÏuññ}2àO*àO&|µÊyc!"³6É!"«6*«6€Íßt|µÊ«cÛc*«6#"«6+Ãc!'Oë*«6sëÃ�c!"«6É;!>jåÍÚhñ!9 sëáå&Íÿ|µÊsdÍ�i!9åÍŒ^Ñ}!å. å)åÍ¥*ñññ!å. å.#åÍ¥*ñññáå&Ïÿ|µÂ8dÍõ,Í=iÍ-*¦6åÍ-ñ+|µÂ2d#å*35å!åÍxdñññÍ=iÃÄcáå&Îÿ|µÂÄcÍõ,Í_iÍ-*¦6åÍ-ñ+|µÂmd.å*15å!åÍxdñññÍ_iÃÄcÍ¢+3ÉÍÑf"#5Íßt|µÀ!å. åÍœ,ñ!ZjãÍÕñ!9^#VÕÍÕ!cjãÍÕñ*#5AåÍÄñ͘QÍèO*"5&ûÿ|µÂÛd*!5&ÍÐtÃÞd!|µÊe!9^#V!ýÿ|µÂþd*#5åÍ©eñÃ6e!"?=ÁõÅñÍ“ ñÈå*n?ëz³ÊÎ :m?ëO Ñs#rë¯w# Â& é=þÚ7 >wG#¯w"?=#w#w#w###w#ÂI "A=####pë*@Í� Ü;*?=|·>É!x ÍÌFÃ?Symbol table full |’À}“Éõ:ì<·ÊÇ:Œ@·ÊÇ:-=·ÂÇ*?=~æ@ÂÇñÚ¹ >‚Ú>�ÍvLå!é=F#~ÍvLÂà áÉ*p?à õÍ à G~æ8Â#~æ Â+~ö€w#~°w#s#r#Õë*Þ=ës#rÑÉ~æ@w:ê<·ÌÍ#Ãé ~æ”Äa~¨æÄa#Õ^#V#ãÍ� ÄRÑå*Þ=ëxæþÂD{¾Äa#z¾ÄaÑ:>þ *?=#Êé É:0=·Âa*?=~·òÇåõ*?=#~öwxöGñáõ>íÍLyÍLÃ@ ÅÍZÍ6‡‡‡Á�ÃLÅÍZÍ@‡‡‡Á�ÃLÅÍZÍRÁ�ÃLÅÍZÍRÁ‡‡‡�ÃLyõÍZOñÍLyÃÙyõÍm-ñÍLÃÕÅÍZÍRÁ‡‡‡�OÅÍ*ÍZÍRÁ�þvÌ�ÃLÅÍZÍRÁ‡‡‡�õÍ*ÍZOñÍLyÃÙÅÍZÁÍ@‡‡‡�õÍ*Ím-ñÍLÃÕÍ6 Íê þ,ÄÁÉ·ÈþÈæÃ�þõÒKæÊNÍ�ñæÉþØæÃ�Ím-z·Êf<Ä�{ÉËíY!„ ^#N!Æ ^#VëéÅÍZþÔ�ÍBÁxÍL{þ?Îæ‡‡‡�ÃLÅÍZæ8»Ä�ÍBÁ�ÃLÅÍNÜ�æÄñÁÍc:è<æÜ̓ :Â>·ÂìÍH:ç<þ0Ä:è<æÀÜ>ÉÃL:è<æ ÆÝÍL>2è<ÉþÂ�:è<<þÊ=þÂ�<2è<Éů2é<ÍÈ Í6 þ(Â-2é<Ím-yÖ,Á·ÀÍH:ç<þ0Ä7ÉÍÒ]Ä:è<‡‡‡æ8�OÅÍm-ÍBÁyÍLÃÕÍÚ‹:ç<þ ?Ò]þ(ÌñÍ[:è<þÄ�ÍH>éÃLÂÃKÍÒ«:è<þÔ�懇‡Æ OÅÍm-ÁÍ·yHÍLyÃL:Á>Gæ€Â¯ÍBxæGÍj¸ÂÓþÂâÕ*Ú=ë*Þ=Í� ÑÂÓÍj##ëÍT9z·CÊû<Â�x·ò�Éx·ú�"+5##")5++"'5#"%5ÍáOÃ6e!"+5.9^#Vë")5!"'5++"%5ÍáOÍ3h*"5&|µÂ˜e.å. åÍœ,ññ!9^#VÕÍÕ!jjãÍÕñ*#5AåÍÄñ͘Q!vjåÍÕñ!"E5##9^#V*#5"ÞO!å. åÍ»PññÉ!å. å.$åÍ¥*ñññÉ!ukå͇Z!ukã!9^#Vás!uk#å!zjåÍÝlñ!ã!'OåÍÏuññ}2àO!å!ukåÍÏuññ}2àO*àO&ÿ|µÂf.}2"5É!uk së"µ6!uk s€ë"«6!"­6*­6Íßt|µÊZfÃHf*­6#"­6+Ã,f!½Fë*­6å̓fÑ}Ã=f!å!ukåÍÏuññ}2àO*µ6+|µÂ{f.}2"5É!}2"5É*µ6+|µÂ�fÉ*«6€ÿ|µÂ¿f.å!ukåÍÏuññ}2àO*àO&|µÊ¹f!"µ6!"«6!'Oå*«6#"«6+Ñn&ÉÅÅ;!å. åÍœ,ñ!†jãÍÕñ!9s#rë!9^#Vbk|µÂ|g.å.1åÍœ,ññ!9åÍZ-Ñ}!9åÍX*ñáå&¿ÿ|µÊFgáå&¾ÿ|µÊFgáå& ÍÐtÃIg!|µÊqgbk9s#rë9å!9n&¿ÿÑës#rëÃòf!åÍÄñÃòf!å. å.+åÍ¥*ññññ!9^#Vñ3ëÉÅ;!9s#rë!9^#Vbk|µÂ.h. 9^#VÕ! 9^#VÕÍœ,ñ! ãÍÄ!ãÍÄñÍõ,!9å͆-Ñ}Í-áå&å! 9n&ÑÍêt|µÊháå&å!9n&ÑÍëtÃh!|µÊ#hbk9s#rëÃ¥g!åÍÄñÃ¥gá&3É*"5&|µÊIh!å.åÍœ,ññ*"5&+|µÂ\h!®jåÍÕñ*"5&++|µÂph!ÎjåÍÕñ*"5&+++|µÂ…h!äjåÍÕñ*"5&++++|µÂ›h!õjåÍÕñ*"5&|µÈ!å. åÍœ,ñ!kãÍÕñÍZ-!å.å.åÍ¥*ñññ!å. å.åÍ¥*ñññÉÍ…,Í`,!å. åÍ»Pññ!å.åÍœ,ññÍõ,Ív!ÉÅÍm-ÁëÍ*ů2é<ÍÈ Í6 þ(Â2é<Ím-Á:ç<·Èþ0Ì�o:é<·}ÊHþ(ÂHz·ÊMÓÍL{ÍÙÍNÔ�:è<þÄ�Ãc:è<=Ä�ÍNÔ�Íc>íÍLÍcÍnAÜÍNÔ�ÍcÍnõÍ Í[:ç<þÊ·Ä�>ÛÍLñþÄ�Í;{ÃÙ:è<=Ä�>íÍLñ@ÜÍNÜ�Í*Íe ÊR:è<þÊfþÄ�Í[ÍNÜ�ÍcÍH:ç<þ(Ìñ:è<þÄ�>ãÃLÍcÍNÜ�Íe Ä�>ÃLÍcÍNÜ�:ç<þ Ä�:è<þÄ�>ëÃLÅÍZþÔ�懇‡Á�OÍ*Íkö7õ:ç<þ(õÌñáñåõ>ËÔLñÚºñ{ÌÙõõ:ç<·Ì�æ :è<ÂÔ�ÍLÍcññÉþÄ�>�ÍLÍ[ñÒÇÃ/Ík:ç<·Ì�þÊ"þ(õÌñ:è<þ :é<·Â*Ícñy þ :è<æÜ:è<æÜ>Í%ñ{ÌÙÉÍ :ç<·ÊiþÊ`þ(õÌñÍ[:è<æþÄ�>�ÍLÃ/:è<æ�ÃL>F�ÍLÍ;{ÃÙÍNÍ*Íc:ç<þÊ´þ Ä�:è<þÄ�>íÍLyîæÆBOÍNÄ�Íe Ì�ÍcÃ:è<þÄ�Ã5ÍNÍ*Íc:ç<þÊ´þ(Êâ:è<þÄ� â:è<õÍñÍNÜ�õÍe Ì�Íc:è<þÌ�GñxÊñ¸Ä�>õÁæ Ü:ç<þÄ�ÉÍ :ç<·Ê[þÊ4:é<·ÊÁ:è<æþÊ™Ô�õÍ ÍcÍ:è<þÄ�ñÜÕÍ(Í[:½>õ:Á>õÍ Íc:ç<·Ì�þ Ú±:èíÍLyCÍœÍ(ñ2Á>ñ2½>ÑÃÕ:ç<þ(Ìñ>"ÍLÃ’:è<þÄ�>2ÍLÃ’:è<õÍ :ç<þ Òñ·Ä�:é<·Â ñõæ`Æ�þÀÔLñæÍœÃÕÄññþÄ�Íc:è<ZUB…#UBTTL*ÖUI„$ITLEëCHGR@OR¨RA*îRIãTHL„68080ƒ7Z80‡%COMMENT„&CREF‡'DEPHASE„(LALL†;LFCOND„)LIST…*PASS2…+PHASE†,PRINTX…-RADIX‡5REQUEST„.SALL†(ƒ('×()²-ê((5‰*Á5Ý,Ý,)‡)‡))”)ž)¨)©)h6f6(5ÁC,~&¾+‰*A4Á¾*µ*i7+†9M+ +[9;7’+U+\+!++ã)ä)é*ê+ƒ+‹+,ø)÷)d+h+m+'-ˆ€ @ ͸ FÃ"° Á ŀǘÀ (8�¨5„v¿éƒCÍd�˜£Ï}µ å*F=~#"F=þ Êë oþAÒ þ0Ú þ:Ú 7Ÿ}áÉ·áÉþ[Ú þaÚ þ{Ò ¯}áÉÍê Ã6 Íê õþ ÂÇÍÁñå*F=+"F=áÉ*F=#"F=ÉÍê ÀþaÚS Ö ¿ÉÍÈ Í6 !ê= q#Âa !é=6#ͱ Ä 2æ<þaÚ Ö w# yþÊŸ ͱ òx ÍÚ Ò— òx Gy2é=¯xÉͱ òŸ ÍÚ Ò— òŸ × Íê ðþ$Èþ.Èþ@Èþ?Èþ_È/·/ÉÍê ðþ ÊÈ þ ÊÈ /·/Éõ·Êä þ&ÂÇ:û?·Âí ñÉñͱ ·Êî þ&Êî Í6 ͱ 7ÉÍÚ Ò ÈÁGÉ!r?:é=õÍ' Ê" ñ2é=·~ÉÁÉ!´?ÍÜ  "p?^#V!g? ¯w#Â: !é=~þÚK 6!é=N z³Ê¾ ë^#VÕ#^#VÕå#~=Êy ë=G¾Â‹ #Ân á#~=¹Â¸ #"?=#~+ÁÁÉ?ŸæáõëõÕj?!g?w#Ÿ Ññw#s#rñáÑÊP ëÃP +>Ã� <*A=~É*@####~·7È#åÆ_"@áÉ:ê=þ$Èþ.Èþ?Èþ_Èþ ÈÖ;OÉõÍ$ þÄ�>ùÃLñ2è*ÍLÃÕ>íÍLyæKÍœÃÕÍc:è<þÒ}õÍ :ç<·Â^:é<·ÂÊÍ;ñÍœ{ÃÙ:ç<þÌ þ Âs:è<þÚØñ‡‡‡Æ@OÜõÍ Í:è<þÄ�>íÍLñæGÜ:è<ÕõÍ(Í Ícñõæ`Æ�þÀÔLp:ç<·ÊéÍœÍ(ñÑþ@{ÔÙÉñþÄ�>:ÍLÃÕÍ[ñþÄ�:è< ÜÍ;Íc>6ÍLKBÍ(ñÑþ@{ÔÙÍ(YPyÃÙ:è<þO:ç<ØáñþÄ�>íÍLyæWÜÅÕå!Ô>?AFwx# Â3áÑÁÉõ:ç<·ÄÍñÉG:ì<·7Äbå*Ò=#"Ò=áÂ'ÉåÕÅõÍh'*>'>Í� ÅÔ+Á*>ë:�@·ÊÓ`¯)�)�Æ0¯)� ‘Æ0ÂŽëñõÚÊ:Ô>æ ÊÊæ€ÂÈ:Á>æþÚÅÊÂ6!6"6'6*#">ñÁÑáÉÍßG:Ô>ö@2Ô>:ì<·Äbå*Ò=#"Ò=áÂþÉ:Ô>æ¿2Ô>å!Ô>~æÊͯ~æ@ô~æ Ê¹ÕÅ#~æ?Gx·Êš#~·ú72Í>>A;ÃæÚhþÂS#^#Vë"Þ=ëÅG̓Á2Í>#^#Vë"Î>ë>CÃ1#^#VÅåë+~þÚz><2Å>= GÌ>>B#~ŠÍÅáÁÃ:Ô>æ@õ>§>2Í>>A;ñÁÑÌ'Í'áÉ2Ì>{2Å>Åå!Æ>"?=Í©áÁÉ:ì<·ÄÉå*Ò=##"Ò=áÈ:Á>G:Ô>æ@xÌ“:Á>G̓*>æƒÂ#">CÍ'BÃ'xæ€ÅÂ&xæþú7Ê46!Ã96*ë*¿>##~#foë6"6'Á##">̓xæ€ÊP:Ô>æ@ÂöxæÅʈÍ:CÍ+BÍ+Áxæ€È*Ò=++ë*¿>#:Ñ=G~æü°w#s#r#ë*Ü=ës#rÉCÍ'BÍ'Ãbõ·òÇ:¾>2Á>:½>·ÊÇåÅÕx̓æ³z³ Ä©¯2½>ÑÁ*¿>#~2Á>áñÉõåÕ*>#>Í� Ô+*>ëáå:�@·Ê¯)Î0ů)� ÂñÆ0Âîë9^#VÕÍÕñÍvÍ-! å.åÍœ,ñ! kãÍÕñÍ=iÍ_i!å. åÍœ,ñ!0kãÍÕñÉ! å.åÍœ,ññÍv!JkåÍÕ*35ãÍÕñÍvÉ! å.åÍœ,ññÍv!WkåÍÕ*15ãÍÕñÍvÉ!å. åÍœ,ñ!dkãÍÕñÉWrite to the Font RAMCharacter set will be written to MainAlternate font RAM on program exit. Write to the System TracksWriting to written to ALTFONT SYSRead from the System TracksReading from read from ALTFONT SYSEnter drive (A, B, or to exit)No disk in drive or unformattedDisk is wrong densityHard write errorHard read errorPress to continueDo you want to:3 - Exit to the Main Menu1 - Use the 2 - Use the Enter selection Å!9^#VëDM`in&|µÊ´k`iäkÅ!9^#VáëÍeuÁÉÅ!9n&DMåÍäkñ|µÂßkÅÍ lñÃâk!ÁÉÅ!9n&DMAÍët|µÊl`iZÍêtÃl!ÁÉÅ!9n&DMaÍët|µÊ)l`izÍêtÃ,l!ÁÉÅ!9n&DM0Íët|µÊSl!9n&9ÍêtÃVl!ÁÉ!9n&ë!àÿ|µÊ�l!÷ÿ|µÊ�l!óÿ|µÊ�l!öÿ|µÊ�l!ôÿ|µÂ—l!ÍÐtÉ!ÍÐtÍÐtÉÅ!9n&DMaÍët|µÊÇl`izÍêtÃÊl!|µÊÙlÅ! ÑÍeuÁÉ`iÁÉÅ!9^#VëDM`iå!9å^#Vás#rbk+n&Ñ">ÁÑáñÉÅDÍEÍÃÿxÍxæÆ0þ:Ú(ÆÉõÅÕåÍ:*=·ÊG:)=·ÊG:(=·ÊN:/=·ÂS:>þ Ä~:>þ Êo:´@<Êo2[?Í~¯2[?<2+=Í?Í1áÑÁñÉ:ú?·Ê¿=Ÿ:û?·ÂŸ:.=·Â¿>+2+>ÿ>+2+>:>þ ¿:.=·ú¿È:>þ È:1=·À:,=·ÊË>C2*>:[?·Âý:/=·Âß:>þ È!3=4:2=¾Ìp:[?·Âý:Œ@·Êý>ƒÍvL!> ~#ÍdÂ:+=·ÂZ:ú?=ú#Â#:û?·Ê#!9=~#þ0Ú6ÍdÂ(>¸ÂC:8=·ÊH> Íd!H=~#þ ÊZþ ÄdÃK> Íd> ÃdO:[?·yÊvLÃîJ>23=:/=·Ê�> ÍvL!1>ÍÕ!÷ÍÕ*4=#|µ+õ:/=·Ê¤ñõÊÍÍßñ*6=#"6=:/=·È|µÊ¾>-ÍvLÍßÍZ!�>ÍÕÍZÃZ>SÍvLä~#·ÈÍvLÃÕöÿPX Úäåë|µÄâ>:Á�Ãd MACRO-80 3.44 09-Dec-81 PAGE :>þ ÈþQÊ)*í<#"í<É*ï<#"ï<ÉÍjõ:ì<·ÊÇ:>þ ÂÇñë!>">ÍÉæÅO!f ~*>w!>">ÁÉ '"!*Ò=:ä=·ÊÕë*å=Ñ:ç=É:Ñ=ÉõÅxæþ¦Õå*Ü=ë*Þ=Í� "?="Ü=Ä©áÑÁñÉÅÍ:A>Í ÁyþÚÐþÈ>Í CÍ+BÍ+yþÐåþÊÝþÂÞ*?=+~¸ÚèxGW>Í #######FyþÊxæGÍ+#ÂöáÉÕW>’Ê_x‡ÂGx‡GÍFÂÑɯÍFÅxGÍF Â.ÁÉ7ÍFxÍFxå!Ã>~w#4ÂZÍÝL>ø2Ä>áÉÅÍU ÁÊCòþ Ê\þ Ê\þ'ÊÃþ"ÊÃþ(ʬþ)ʯþ+ʲþ-ʵþ*ʸþ/Ê»þ;ʨþ,ʨþ ÄÁ¯ÃÀ>>>> > > >þÉ!ÅGÍ) ¸ÂÙÍ# ¸ÂùÍ) o2â=Í) ¸ÂïÍ# ¸xÂôÍ) eoÍ) ¸ÁÃnâ=·Â}|µÂèlÁ!9^#VëÉÅ!9^#VëDM!9^#Vën&|µÊGm!9å^#Vás#rbk+n&åÍ–nñÃmÁÉÅÅÅÅ!9å! 9^#Vás#rë!9s#r ë9å!9^#Vás#rëͺnDMöÿ|µÊ“m`i ÍuÖm!|µÊ„n`ië!ëÿ|µÊ°m!èÿ|µÂ»m! åÍ–nñÃ^m!�ÿ|µÊÍm!øÿ|µÂn!9^#Vbk|µÊzm!9å^#Vás#r ë9å^#Vás#r!åÍ–n! ãÍ–n!ãÍ–nñÃzm!îÿ|µÂan! åÍ–nñbk9s#rëÑÕÕ!9^#VáÍßt|µÊzm!9^#VÕë9å^#Vás#rán&åÍ–nñÃ*n! 9å^#Vás#r`i}!9å^#Vás#rëÃzm! 9^#V!ësññÑÁëÉ!9n&öÿ|µÂ­n. åÍùuñ!9n&åÍùuñÉÅ!‹s"�sn&|µÊÜn*�sn&DM*�ssëÃánÍîuDM`ióÿ|µÂðn. ÁÉ`iÁÉ*�så!9n&Ñ}ÉÅ!9^#VëDMå! 9^#VáÍÐt|µÂ.o.9^#V!ÍÐtÃ1o!|µÊ8oÁÉÅ! 9^#VáÍmu|µÊcoÅ! 9^#VÕ!9^#VÕÍÒoñññÃ�oÅ!9^#Vá+å! 9^#VÕ!9^#Vá+å!9^#VÕÍýoñññ`iÁÉÅ!9^#Vbk|µÂ¥oÁÉ!9^#VëDMå!9n&Ñ}`i#åÅ! 9^#VÕÍÒoñññ`iÁÉ!.vå!9^#VÕë!å.9^#VÕ!9^#VÕÍv ë9ùëÉ!Fvå!9^#VÕë!å.9^#VÕ!9^#VÕÍv ë9ùëÉÅÅ!9å!9åÍLpññÑÕÕ!9^#VÕÍññññÉ!€ÿ9ùÅÅÅÅÅë9€s#rë9å!9^#Vën&�Ñës#rë9�s#rë9s#r ë9å! 9å^#Vás#rë)Ñë!Œsës#rë! 9å! 9^#Vë)Ñå!9å!9^#VÕÍ qññÑës#rë|µÊóp!9å^#Vás#rbk+òp!Œ9^#VÕë9=xÃô*F=+åÍH ò 2â=*F=++"F=ÍH á"F=ÂûþGÒHg:ñ<þÒûo|þDÊHþBÂû}þ Òû|þBÊwþDÊ•þHÊ�þOÊdþQÄÁ•ͼþOÊqþQÄÁ ëþ!ÍH þBÊqÖ0ü»þÔ»)·Êz#ÃzÍ¥þDÃnÍÕþHÃn!ÍH ÈøÖ0)T]))_è!ÍH ÈøÖ0þÔ»)))_ÿ!ÍH øþGÒõÖ0þ ÚêÖ))))_ÃØþHÈû:ò<·Â4!ÅÍH ú0Ö0þ ÚÖÜ»O:ñ<=¹Ü»<_PÅÍc$ëÁ ÃÁÃ=Í¥Ã=ͼÍ6 ÃqÅÍ6 :é=2â=þÒ¿=ÊäÍ$ Ê¿!  Ê¿Êo#Ãgê=¾Âb#Ât!S ~þÂŒ2ë<Á·òÀÍÈ ÿÿþ;ʹþ ʹ·Â°Íê þ&Ìê ×Íê þ °Í6 þ*F=åÍê þ#ÂíÍê þ#Âí7Íü Í-#~Gæ ĵxæö€wÁ+Ã!á"F=Í$ Êt:ê<‡ÊÍÊ®:ë<·Ê7Í“ Í$ Ê!¯*@wÃ!7Íü æ£Gæ€xÊ22¾>€"¿>æÄ©:ê<‡>ÂC~æ@·x##^#VÁOÊQæþÂbÕ#^#Vë"Þ=Ñyæ y¾æ€ÌÙþåõ7Í“ ñá"?=~æþBÚ¨~æ8õ:ç<·ÄÁñ2ç<##~2è<Íe Ìz +~+Ã!#~+Ã!·ú#^æxOB!Ú ~·ÊÔþÂÎ2Ç>Á ÃÀÁ þ:ê=þX Í# þ'¿Íê ÍÕþ'ÁÃnþ$¿ÍjëÆ ÁOþXOR AND NOT MOD SHL SHR OR EQ NE LT LE GT GE LOW HIGHNUL TYPEÿ :ç<þ À:è<þÀ:æ<þAÈþaÉÍ# þ'Ìê ɯG og2Ç>2½>2â=2ë<2Ô>2Õ>2Ó>2ç<2è<9"È>ë*)@Í� Ò4ÅÍ\ú!Ê]!þú~!Êò!þÚÎ þÜf!O2Æ>̓!=¸yÒ "þÊ"þ Ê"Í?"y2W?ÍŽ!þÊþÂÃÎ õÍ6 Íê þ,Â8!:Ç>·Ê8!ñ¯2Ç>>ÃÎ ñß!:W?O:Æ>þÊO!ÅÍf!à "ÁÅx̓!G:W?OÃ`!ÍÄ"Íf!ó áÕ_yæþ{Ây!ë*Þ=ãåëYÕéGÅó Õ!û"_~ÑÉáÁxþž!ÍÁůGþéá|þŸ2Â>åÍ?"y2W?ÍŽ!úÏ!þÊF%Å:W?OÍf!è!Í@ ¯2W?:W?G2Á>æOÊÞ! x怱!Ô>¶w*F=+N{*È>ùÉ2Æ>ÑzþÌÁ·ÌÁÕÃå ã|ã=Êå yÁWÅx=zÊ6"zþÊ6"þʳ þÊ6"þÊ6"þÊ6"þ ÄÁ>GÅ̓!Gó á"Y?Ñz·ÕÂR"Õ Õͪ""à=ë"Ê>ëy2W?ÍŽ!ú¡"ÖÊ¡"2X?þÊ‹"þÊ‹"þÊ‹"þÊ‹"þÊ‹"ͪ":X?*Y?å!#‡…o>Œg~#foéÅ:W?O*Y?éáÁÄÁʶ"ÅéÑyæþÂ}!ã"Þ=ÉõÕåyæö€ÍÌ%æþÂã"Õ*Þ=ëÍó"ÑÃì"þÂì"*¿>ëÍó"áÑñÉ{ÍÌ%zÃÌ%   P#Z#d#n#Ï#þ#N$ž$%�#®#Q%\%h%u%{%„%¶%§%…#ô%&&&-&C&c&Í„$z´W{µ_ÉÍ„$z¬W{­_ÉÍ„$z¤W{¥_É*Ê>|/W}/_:W?Oæƒ>ÂÂ%ÃÌ%*Ê>|/W}/_:W?Oæƒ>ÂÂ%ÃÌ%Í„$ëz³Ê¬#)â#ëÉÍ„$#+}´ÈzW{_ò#*Ê>:W?æ€Èyæ€ü¯ÉÍà#:W?±Oæƒþ€À2½>É:W?þ Êî#*à="Þ=*Ê>ëÍ”$>ÂÂ%ÃÌ%*Ê>ÍG$:W?æƒú%$Ê%$yæƒú%$Ê$$:W?¹Â%$ Ã?$=õ:W?æƒÂ9$yæƒþ€Â9$2½>:W?±Oñ>ÂÂ%ÃÌ%{•_zœWÉ*Ê>Íi$:W?±Oæƒ> ÂÂ%ÃÌ%Íi$ ÉDM!>=Ê‚$)åÅá)ãÁÒp$Ãp$ëÉ:W?¹ÄÓþ ÄÓ*Ê>É:W?æƒÈyæƒÉ*Ê>ͳ$:W?±Oæƒ> ÂÂ%ÃÌ%Åëz³ÌÁz·Bü%|¨G|µÊØ$|·ëü%ÅÍÛ$ñ·ü%ëëÁÉ|/G}/O!>õ·Ãö$õå Òõ$ñ7>á{_zW}o|ëÒu =Ê u)ÃþtÁÉ|/g}/o#É}“o|šgµÈ!ÉÑáÕåÍu9ÒDuáåàvÍfuÚDuá"ÛvÑÕÕ!ÉÑÑÕÕ!ÿÿÉ}/o|/gÉ|²g}³oÉ^#VëÉës#rëÉë}“o|šgÉë}“|š!Ø+Éë}“|š!Ø#É|ªg}«oÉ!9"×vá"Ùvå!ÉÑÑ*×vù*ÙvåëÉå`i"ÞváÁÑãÅÅûu#·ÊÇu¾Ê¸uÅ*ÞvDMáÉ`iÁÑãÅDMÍáÁåååo&ÉÅ Í&oÁÉÅÍ&oÁÉáÑÕåÅÍÁÉÅÍvÁÉÅÍvÁo&É!9F+N+ÅV+^+Õ~++F+N+V+^áÉ:Ýv·Â@vx±È~# Ã5vx±Èí°É:Ýv·x±È~+ ÃJvx±Èí¸É*ù!ÕÕͺÍѷ¦!€ëËÕ€ÍÛÃàvÕÕͺÍѷ¦!€ëË&Ñ}!9å^#Vás#rëÃr!ƒ9^#V!ësƒë9å!9^#VÕÍhsñÑës#rÕë9åÍÝlññ!‹9^#VÕ!‡9^#Vás#r!ƒ9^#V!‡9ùëÉÅ*ÛvDMå!9^#VáåÍ#uñ|µÊ‡s!ÿÿÁÉ`iÁÉí[/5íK-5óÛö€Óy!wÛæÓûÉ><ê¶sx2ÝvÊs Í*ùÍ(pÇSuperSoft C Copyright 1982 Run Time Package V1.1 $ÑÅ Í!ÁÉ|¢g}£oÉÅ}æÊ4tGë)ÂtÁÉÅ}æÊ4tG·zW{_Â)tëÁÉÅ|µÂPtÍþsDivision by 0 $å!ãÃutÅ|µÂqtÍþsDivision by 0 $ͺtõÍuDM!>õ Ú‹t}‘o|˜g¯æë)õ…oëñ怄gñ=Ê©tõ)æ…oÀt|ægëñÁðÍuëÍuëÉz¬õ|æ€Äuzæ€ÊÎtëÍuëñÉ·}“o|šgµ#È!Éë¯}“|š!ð#Éë¯}“|š!ð+ÉÅDM!>ë)gñ=Âì$|·g}oɯO“_yšWÉ*Ê>Åëz³Ê5%|µÊ5%|ªõÕëͳ$ëáñü%ëëÁ:W?±Oæƒ> ÂÂ%ÃÌ%>OÅ!ÕÅGÃèÍ™%Í� ÖÃo%Í™%Í� Ö?Ão%Í™%ëÍ� ŸW_ ÉÍ™%È%Í™%Í� Ão%Í™%ë{•_zœÚo%³7Êo%?Ão%:W?¹ÄÓÍL&*Ê>É*Ê>\¯W:W?O>ÃÂ%*Ê>]¯W:W?O>õ:Ô>ö@2Ô>ñåõ!Õ>4~æ?Êâ%…oÒÞ%$ñwáÉ5yæƒÊñ%:Ô>ö2Ô>ñáÉÍ„$}ÍRæƒ_ÉÍ„$}ÍRæƒ_ÉÍ„$}Í@æƒ_ÉÍ„$}Í6æƒ_ÉÍ„$}ÍRæo{ÍRæ…_ÉÍ„$}æ?ƒ_ÉæþÀåÕ*Þ=ë*à=Í� ÄÓÑáÉ:W?_ :>þ ÈþOÂx&> 2>ÉÍÔ,̓ ëxæ Ê߯2è=xæGʱ&:Ñ=¸ÂÓþ±&å*Ú=ë*Þ=Í� ÂÓá:Ñ=Gë*Ú="Þ=:ì<·Äƒë"Ò=ë :è=·Âß&:ì<·Ä©:\?·Ì2':\?·È¯2\?ÍU ÊÍÉÍ2'Í1>G2Ñ=<2\?2è=*Ô=õ&Í2'Í1>2\?G2Ñ=*Ö=õ&Í2'Í1>2\?G2Ñ=*Ø=õ&:\?·ÄÔ,:Ñ=Ô=æþÊ`'‡o& å^#V*Ò=Í� ÑØës#r¯2è=É*Ú=##ÃK'õ:ì<·Ê‡':è=·Ê‡'ÅÕå*Ô=ë Í©áÑÁ¯2è=ñÉÍ1ÍÈ Í6 þ"Ê 'þ'Â(GÍ) Í) *F=++å¸ÊÀ' Í) þ ÊÇ'¸Â³'Íê ¸Ê³'Í6 ÍÈ þ,ÊÝ'þ;ÊÝ'¸ÊÝ'þ á"F=Â(yþÚ(Í# GÍ) Í) Ãÿ'ÅÍLÁÍ) þ ȸÂ÷'Í# ¸Ê(Íê þ,Ê�'ÉÍLÃ�'ÍZõ:â=·úÇñÍÙyþ,Ê�'É̓ õxæƒÄÓñÉÍ1ÍÈ þ"ÊN(þ'Ä�O¯õÍ) þ ÊǹÂd(Íê ¹Âo(GñÅ·ÄLñÃP(Áõx‡xÊ|(ö€ÍLñþ,ÊA(ÉÍ1ÍÄ(Íh'yþ,›(ÕÍZCÑä(:‘@·Ê¹(z³È*Ò=#"Ò=:ì<·Ä'ä(*Ò=:Ñ=Gõ&Í2(:ì<·À:>þUÀ<2>ÉÍ1Íh'̓ ÍÕyþ,Ê×(É:ó<=ú)G2ó<:ô<=¸Â)2ô<#define CURLFT (0x8D) #define CURUP (0x8A) #define CURDN (0x8C) #define CURRT (0x8B) #define SPACE (0x20) #define CARRET (0x0D) #define ESC (0x1B) #define TRUE 1 #define FALSE 0 #define BKSPC ('H' & 0x1F) entioc() { char command; command = entchoice(16,25,'1','3'); return(command); } /* write to the font ram */ wrfontram() { char command; iomenu("Write to the Font RAM"); command = ' '; while (command != '3') { iochoice(); command = entioc(); blank(16,9,18); /* blank entry prompt */ if (command == '1') wrmnram(); /* write to the main font ram */ else if (command == '2') wralram(); /* write to the alternate font ram */ } mainmenu(); } /* write to the main font ram */ wrmnram() { extern int manwyn; extern char mainset[],charset[]; int i; for (i = 0; i < 2048; i++) /* move character set to main set storage */ mainseå!å.9^#VáÍötåÍhsñÑës#rás#r!Ž9^#VÕ! 9^#Vás#rë9s#rë!9^#VÕ! 9^#VáÍßt|µÊ˜qÃiq!9å^#Vás#rëÃ=q!9^#VÕ!9^#Vë)Ñå! 9å! 9^#Vë)Ñ^#Vás#rëÃXqŠë9ùëÉÅÅ;€ÿë9ùÅ…ë9å!�9^#Vë^#Vás#rë!…9^#Vën&àÿ|µÂéq.…9^#VÕ!‹9^#VáÍnuÃìq!|µÊr!…9å^#Vás#rëÃÀq!…9^#VÕ!‹9^#VáÍyu|µÊ%r!‡ë9ùëÉ!…9^#Vën&ë!Ùÿ|µÊCr!Þÿ|µÂar!‚9å!‡9å^#Vás#rbk+n&Ñ}Ãjr!‚9 së!ƒ9å!9Ñës#r!ëbk9s#rë!…9^#Vën&å!„9n&ÑÍu|µÊµr!…9^#VÕ!‹9^#VáÍnuør!|µÊs!…9^#Vën&¤ÿ|µÂÞr.…9å^#Vás#rë!ƒ9å^#Vás#rbk+å!‡9å^#Vás#rbk+n&Ñ}!9å^#Vás#rëÃr!ƒ9^#V!ësƒë9å!9^#VÕÍhsñÑës#rÕë9åÍÝlññ!‹9^#VÕ!‡9^#Vás#r!ƒ9^#V!‡9ùëÉÅ*ÛvDMå!9^#VáåÍ#uñ|µÊ‡s!ÿÿÁÉ`iÁÉí[/5íK-5óÛö€Óy!wÛæÓûÉ><ê¶sx2ÝvÊs Í*ùÍ(pÇSuperSoft C Copyright 1982 Run Time Package V1.1 $ÑÅ Í!ÁÉ|¢g}£oÉÅ}æÊ4tGë)ÂtÁÉÅ}æÊ4tG·zW{_Â)tëÁÉÅ|µÂPtÍþsDivision by 0 $å!ãÃutÅ|µÂqtÍþsDivision by 0 $ͺtõÍuDM!>õ Ú‹t}‘o|˜g¯æë)õ…oëñ怄gñ=Ê©tõ)æ…oÀt|ægëñÁðÍuëÍuëÉz¬õ|æ€Äuzæ€ÊÎtëÍuëñÉ·}“o|šgµ#È!Éë¯}“|š!ð#Éë¯}“|š!ð+ÉÅDM!>ë)t[i] = charset[i]; manwyn = TRUE; fntmessage(0); /* display font ram output message */ } /* write to the alternate font ram */ wralram() { extern int altwyn; extern char altset[],charset[]; int i; for (i = 0; i < 2048; i++) /* move character set to alternate set storage */ altset[i] = charset[i]; altwyn = TRUE; fntmessage(1); /* display font ram output message */ } /* display font ram output message */ fntmessage(messtype) int messtype; { curpos(18,5); putst("Character set will be written to "); if (messtype == 0) putst("Main"); else putst("Alternate"); putst(" font RAM on program exit. "); } /* write to the system tracks */ wrsystrk() { extern char *ioC1,*ioC2; char command; iomenu("Write to the System Tracks"); command = ' '; while (command != '3') { iochoice(); command = entioc(); blank(16,9,18); /* blank entry prompt */ b/* Osborne character generator program. This file contains C interfaces to routines which perform I/O to the system tracks of either a dsdd or ssdd disk, and interface to the ROM routine SENDEN (sense density). The routines, called rd_wr() and snsdns(), are actually in IO.MAC. */ rd_wr() /* Interface to system track I/O routine. */ { /* extern int rd_wr2(); */ #asm .z80 extrn rd_wr2 call rd_wr2 jp end end: .8080 #endasm } snsdns() /* Interface to ROM SENDEN routine. */ { /* extern int sns2(); */ #asm .z80 extrn sns2 call sns2 jp end2 end2: .8080 #endasm } ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿlank(18,9,35); /* blank prompt from previous action */ if (command == '1') { reverse(); iomen1(); nreverse(); wrtrck(1,ioC1); /* write to the main systems track */ iomen1(); } else if (command == '2') { reverse(); iomen2(); nreverse(); wrtrck(3,ioC2); /* write to the alternate systems track */ iomen2(); } } mainmenu(); } /* write to the main system track */ wrtrck(sttsector,promptptr) int sttsector; char *promptptr; { extern int rwflag,secstart,trkstart,drvspc,edsmade,dside; extern char retcod,svtpval; drvspc = getdrvspec(); /* get drive specification */ if (drvspc < 0) /* if carriage return selected */ return; curpos(18,9); putst("Writing "); putst(promptptr); putst(" to "); putchr(drvspc + 'A'); putcolon(); snsdns(); /* Call SENDEN to determine # sides */ if (retctsector == 3) { wrafsys(drvspc); } else { rwflag = 1; secstart = 2; trkstart = 0; dside = 1; rd_wr(); } } else { rwflag = 1; secstart = sttsector; trkstart = 2; dside = 0; rd_wr(); } sioerr(); /* show err if any */ if (retcod == 0) /* if no error, no edits since last I/O */ { curpos(18,9); putst(promptptr); putst(" written to "); putchr(drvspc + 'A'); putcolon(); edsmade = FALSE; } else blank(18,9,36); } char altfcb[36]; wrafsys(drspc) int drspc; { extern int eoffound,bufcnt,charcount,areg,diskfull; extern char iobuf[128],retcod; clfcb(altfcb); altfcb[0] = drspc + 1; /* Make drive # in fcb relative 1 */ /* (Drive A = 1, B = 2) */ strcpy(altfcb + 1, "ALTFONT SYS"); /* Copy file nm into fcb */ altfcb[9] &= 0x7F; /* Clear r/o and sys flag in fcb*/ altfcb[10] &= 0x7F; areg = bdod == 5 && svtpval == 0xE) { /* If dsdd */ if (sttsector == 3) { /* If alternate font, call wrafsys() */ wrafsys(drvspc); } else { rwflag = 1; /* Else write to side 1, track 0, */ secstart = 2; /* sector 2 */ trkstart = 0; dside = 1; rd_wr(); } } else { /* Else ssdd, so write to side 0, */ rwflag = 1; /* track 2, sector = sttsector */ secstart = sttsector; trkstart = 2; dside = 0; rd_wr(); } sioerr(); /* show err if any */ if (retcod == 0) /* if no error, no edits since last I/O */ { curpos(18,9); putst(promptptr); putst(" written to "); putchr(drvspc + 'A'); putcolon(); edsmade = FALSE; } else blank(18,9,36); } char altfcb[36]; wrafsys(drspc) int drspc; { extern int eoffound,bufcnt,charcount,diskfull; extern char iobuf[128],retcod,areg; clfcb(altfcb); altfcb[0] = drspc + 1:ô<�Ÿ<2(=Í?)2õ<Ã@ Í£É:õ<·Ä£:ó<·Ì£!ô<–Ê;)=Â@ 4=2(=<2õ<Ã@ 5Ã1):ó<_þ2>ÐW!ö<7~ÉõÍ?)õ<Ò\)w¯!ó<4:(=·ÊÇñ2(=!ô<·Êv)4É:ó<=–2)=ÉÍÑ)z³ÃP)ÍÑ)z³/ÊP)¯ÃP):ì<Í@ =ÃP):ì<Í@ ·ÃP)ö7õ:(=·ÊØ)ÍU Í$ ÂÀ)æ ÂË)Í ÊË)ñŸÃP)ñ?ŸÃP):(=·ÂÄ(Á¯!‹ "F=ÃP)ö7õÍ2*ÂØ)"F=x±ÊË)ÃÆ)ö7õÍ2*ÂØ)ÕÅ~þ,Â**#"F=Í2*Â-*"F=yÁá¹ÂÆ)¾ÂÆ)# Â*ÃË)ÍÁááÃØ)ÍÈ þ<Ä�Í# ·ÂR*Íê Í# þ&ÂR*Íê Ã:**F=+#~þ>Âb*T]þ,Âl*z³Âr*þ ÂY*#å*F=z³Ì�ë}“O|šGá:>þ ÉÍU OÅÄ�7Íü Í-#~ö@wÁæ ÌÙ~æ€Äµ¶wyþ,ʉ*É1>OÃÅ*�>;ÍÈ *F=+~#þ Êâ*¹Êâ*ÊÌ*ÃÌ*¯#"F=ÉÍÈ þ(Â�Í) þ'Â�OÍÀ*Í6 Í) þ)Ä�Ã@ >2/=ÃY+¯2/=ÃY+¯2-=ÃY+ÍU ÂG+ ÊG+õÍ Ä$ Â:+~ö@wñþ,ÀÍU ÂÁÃ,+>2-=É>ÿ2.=ÃY+¯2.=Ã@ >2.=ÃY+¯Ã}+>ÿÃ}+:�@/o:ì<·ÊY+}2�@2*=ÃY+>2ê<ÃY+¯2ê<ÃY+>ÿ2ò<ÍÄ(¯2òþ À{=øÊ�þÒ�<2ñ<¯gkÃ4ÍÄ(z·Â�:ì<·È{·Êá+þ Ü�:>þ Âá+{22=Í+Í?ÃpÍU Â�õ:é=þÚþ+ÍÍ>!ã=w#"?=:ì<·Ä©ñþ,Êê+É:,=·ÂÁÍÈ *F=+ÍqN·Ê1,Í4OÃß=2,=*F=~#"F=þ!Ò5,ÉÍÈ þ(Â�Í) þ'Â�ÍU Â�þ'Â�Í) þ)Â�Í@ :ì<·À:é=þÚx,>ê=!]?G~·Âµw#„,pÉÍÔ,ÍÈ þ/Â�ÍU ÄÌ,þ/Â�Í@ Íü #~æÐµå~ö$wÍ2'á+"Ú=>2Ñ=!"Ò=ñ&õ>2é=ñÉ:ä=·ÈÁÃÇ€ÍU Â-õ·ÕÍü Í-Ñ~²w#~æd -~æ³wñ@á"@ëé bkë4:ú?·Êå2@ÁáÑ+5Õåů2@Ã@ ÃÁ:@·ÊŠ5ÁÞÅÍU þ:ÌU ÍÀ·ðOæÂ^5yæÂf5yæ Ân5yæ@Â{5É:@=2@É:@<2@É:@·À:ó<·ÈÃê(:@·À#~þÈ>ÿÃP)ÁÑá!ÌåÕÅÉ·õÍþ/"@Íi2O:>þ ʰ5*@ÍŠ0ñÉy6+þ,Ä�ñõÊì5Í) þ<Ä�ñwåõ+:>þ ÂG6ñõGÊú5ÍŒ2 þ ÊD6þ>ÊG6ÃÛ5Í# Ö<2@Ìê ÃÆ5Íê þ Ê=6õ:@·Ê6ñG6Õþ Èþ Èþ;Èþ,ÈÑÃ76ñþ<Ê36þ>Â76ÊG6Ã76Ã76 w+Ãú5:@·ÂG6ÍÍ6+Í.0x·Ä�ñá" @&i"ý?ÁÑám6Ã\4¯Â>Ô5Á^4Å*%@>2@åÍð3õÍH0ʱ6ñáþ ʶ1þ;Ê«1þ'Ê¡6þ"Ê¡6Í>1Ç6GÍ•0þ ʶ1¸Ê›6â6ñá"%@¯Í;:Íž:ÁÑá!ÌåÕ*#@åå* @å*ý?å!Ìå!Ü6åÅÉÍù4ÁáÑ>2@" @áÍ�  7:@·Âý6x±Â 7* @##~þ#Ò7+ÃÁ4ëÕÍr:·Ê47H=Ír:·üî1Íí:ÍØ3þ Â7å* @åÅÃí4 bkÑÃñ6ÍÈ þ Ê�OÍîJÍ) þ ÊV7ÍîJ¹ÂG7> ÍîJ> ÍîJ:>þ ÀÃ@ ÍÈ þ Ê�2 @OÍê þ Ê„7¹Ê@ Ãu7áÑÁ�7Ã\4Á^4Å!H=: @O~¹Ê¥7þ È#Ù7ÁÑá!ÌåÕÅÉ·ÍÔ #"ö?~ö(wÍþ/"@ÅÍi2Á þ,ÊÃ7¯w+2@2@-þÄÁ€Ãà,"C=Ím-:>21=þUÈxæ€Â¯xö 20=*C="?=ÍÛ ëxÃ4̓ :Â>·ÈÃÍ"C=~ö€w|21=Ím-xæ€Â¯*C=Í-#~攵~æ@°ö w#s#r#Õë*Þ=ës#ráÃ4õ͸K:ú?·Äw/:ó<·Ä¨/ñ!ì<4~=ÂZ.!]?~·Ââ-!1>~·Ââ-!Õ@#]?~#þ Ê.þ Ê.·Ê.þ Ê. Âè-!V?p#"?=Í©Í2'!5O"@ÍÄ ÚA."?=~æw#~æ@Âk/~æÊ.#^#VÍ©Ã.*Ø=ë Í© *Ö=ë{²Ä©Ãn*F=õÔƒ ÕÅÍ+!ÿÿ"4="6=}2/=Íp!ô/ÍÕ!3=44!r?>Í—;ÍZ:3=þ8Ôp!3=44!é/ÍÕ!´?>Í—;ÍZÍ´/*í<|µÊË.åÍßá:´@<2[?Ä߯2[?ÃÑ.!L/ÍÐ/!O/ÍÐ/*ï<|µÊ/>,ÍvL:´@<>,ÄîJåÍßá:´@<2[?Ä߯2[?!_/ÍÐ/Í´/ÁÑñÒ/̓Í©*Ã>|þøÊ,/¯ÍFÃ/Í©Í+:Œ@·ÊC/>€ÍvLÍÛKÍLÃNo Fatal error(s) Warning(s):Ñ=GÍ©Ã.ÍÍ/!†/ÍÐ/Í)ô/REPT/IRP/IRPC/MACROUnterminated ÍÍ/!Ý/ÍÐ/Í)> ÍZ> ÍZ:´@<È> ÍîJ> ÃîJ!š/åÍÕá:´@<ÈÃÌFConditionalSymbols: Macros: !âÿ9ë*)@Í� Ò4:ú?·!"#@"%@*ø?Â#0*)@+<2ú?¯2û?2@ë*@$Í� Ò>0ë"ø?É%ëåÍO;áÃ.0ÍÀ~·<ð=õæÊr0:@<2@ñæîÀ:@·È:@=2@<É#~þÂ^0:@·Â^0:@·Â^0ñ7É"ø?:ú?=2ú?ÉÍê þ&ÂÑ0*F=~þ ÊÏ0þ ÊÏ0åÅÍU ÍÝ0Áá"F=ÂÏ0>&2ü?Ã>1þ&ÂÑ0:ü?·ÂÖ0>&Í;:·øõ¯2ü?ñÉ*@~·Ê 1é=¾Â1O+¾Â1 Âð0xö€¿É@Á* @å!Ìå9ÕÅÉÍù4á" @á"@á¯2@Ír:·ÊI9H=Ír:·üî1Íí:ÍØ3þ Â+9å*@å* @åÃí4* @#¯2@ÃÆ4}“_|šWÉ:ä=·ÂÇ̓ :>þ À2ä=xæ€Â�xæ2ç=*Ò=ëÍT9ë"å=É:ä=·Ìͯ2ä=Ã@ !!@Ns#Frͦ9ͯ9q#pÉ*@^#V+É*@##^#V+É*!@}´ÊÏ9ëÕͯ9ë"!@ÑÃû9*@ ë"@Õë*)@Í� ÑÚI;*ø?%:ú?·Í� ÚI;*@ëÍT9Õͦ9ë*%@ë{æà_{²Â:ÑÕs#r#>w#wͯ9ÑÊ%:s#rÃ*:ë"#@ë*#@Õëͦ9Ñs#r{ö_ÉÕõ*%@ë{æ̺9*@ñõw{æþÊW:Ìa:ë"%@ñÑÉ{æà_ͯ9z³Êº9ÉÕë*@ë}æ‚:}öoë~ëÑÉÍr:õÕë{æþÊ—:Ìa:ëÑñÉë{æà_Õͯ9{²Áȯw#w*@s#rÅÍ”9Á*#@ëͦ9q#pÉ*%@Õë{æþÌá:*@ë"%@ë~ëÑÉ{æà_ͦ9{ö_ÉÕõë{æþÊù:Ìa:ëñÑÉ*@ë*ø?:ú?·Â;*)@%ÍT9Úo z·Êo W{_Õ*@ë*@ÍT9BKÑ*@ë"@x±ÊE;+w Ã8;"@ÉÍO;ÃÏ9Õ*A=ë*@ÍT9Úo zþÚo W{_áÅå*@ëãÍT9BKÑ*@å*A=å"@ "@áÑx±Ê•; w#È;ÁÉ2Á>2Â>O!^#V#åÅÍ·;Áá ;:Á>¹ÄZÉÅz³ÊÇëå^#V{²ÂÀ;á}´ÈÍæ;++V+^{²ÊÊ;¯w#w+++åÃÀ; F#"?=~æ@À#~æ€ÄÔ<~#^#VÅåGæÂ5<ÅÍÀ<ñ_æ€Â<{æÂ…<{æ@Ä�<{æ Êˆ<{æ_!f~ÍvLÍz<áÁ###Å~#ÍvLÂ;<Á>�ÂL<5Âm<:Â>wÍZ!3=4:2=¾Ìp*?=~ö@wÉ> Ã|<> ÃvL>*Ê>MÊ>CÊ>UÍvLÃ2<ÕÅ*?=å#{æG#^#V#Õ^#Vë"Þ=Ñ̓á"?=#~æ Ä©ÁÑ>IÃvL!>">ÍÉ*>6!>ÃÕÅå~æG#^#VÍ©áÁÉ+~þÒ1Ãâ0:@·À*@À~·Ê<1é=¾Â11O+¾Â11 Â#1¯xÉ+~þÒ11Ã1<É*F=åÍU õÍÝ0Âw1Gñáõ~#þ Ê\1þ Âd1åÍÑ0áÃP1xÍÑ0ñGõñÂÃ0þ&ÂÃ0Ã6 ñáõ"F=Íê þ Ê�1þ Ê�1Í6 Ö1ÍÑ0Ã}1ͱ Âk1Ã¥1ͱ úk1ÍÑ0ß1Íê þ;ÊÇ1ù1ÍÆ:ÍÑ0þ Êž:Íê ù1ÍÆ:ÍÆ:þ ÊÊ1þ ÊÊ1·Íí:"%@Êž:þ Êž:> Í;:Þ:åõ:@·Êÿ1Õë*@4Ññæõ‡úI2* @~·Ê82ñÅG+Ê#2~Õ/_ÿÑÃ2~·ÊF2=G+~ÊF2ÍØ3Ã*2ñ+<=ÊC2+Ã;2~áÉÁáÉ>.ÍØ3ÍØ3ñæ?Å*@O DÍEÍÁáÉåÍU áÄ‚2õé=ʦ3þ%ÊÓ2þ,ʰ3þ ʰ3þ ʰ3þ;ʰ3þ!Ì) þ ÊÍ3w+Íê Ô2"{3Åq3ÅÍÄ(ë:>þ Â63:ñ<þÊ.3þÊ3öÿPX Úû2åë|µÄù2>:Á�Ãf3¯)Î0ÍR3>õ¯)�Â3Æ0ÍR3ñ=Â3Ã63DÍ>3EÍ>3 À>0Ãf3xÍG3xæÆ0þ:ÚR3Æ Âf3þ0ÈOþ:Úf3>0Íf3yå*{3w+"{3áÉÁÍ6 *{3ÃÍ2Ow+Íê ¹Ê�3þ ÊÒ3Ã~3w+Íê ¹Ê~3Ô2Ê¢3w+ÃÍ2ÊÍ2úµ3ÃË2ÂË2Ñ{•=Áë*F=+~þ Ì6 þ Ì6 ëÉʵ3Íåõ3õå!Ê=Í� Òë3#6 +ëáñÉáñÉÍ>1þ&Êð3þ:Ê>1þ!Ðþ ÈõÍ Ê4ÍÊÇñÃ>1!4Ãr ?Stack overflow, try more P switches ÍÄ(:>þ ÊO4ë"ý?Íþ/ÁÑác4ÅÕ> Ã\Á^4ÅÍU þ:ÌU ÍH0Ê„4H=Í;:þ Ây4ɯÍ;:Íž:ÁÑá!ÌåÕ*#@åå*ý?å!Ìå!¦4åÅÉÍù4ÁáÑÍ� ÂÕ4:@·Â¾4x±ÂÕ4*ø?åÍ”9áÍŠ0¯2@ÑÕ*ÿ?åëéÕÍr:·Ê5H=͈:ÍØ3þ Âà4åÅ*@å*@å*ÿ?éÑá"ÿ?á"QAQBQCQDQEQHQLQMbSPcPSWQIQR bBCbDEbHLbAFjIXDjIYdrNZqZrNCqPrPOrPE; /* Make drive # in fcb relative 1 */ /* (Drive A = 1, B = 2) */ strcpy(altfcb + 1, "ALTFONT SYS"); /* Copy file nm into fcb */ altfcb[9] &= 0x7F; /* Clear r/o and sys flag in fcb*/ altfcb[10] &= 0x7F; areg = bdos(30,altfcb); /* Call BDOS to set file attributes r/w and dir */ areg = bdos(19,altfcb); /* Delete old file */ areg = bdos(22,altfcb); /* Create new file */ if (areg == 0xFF) { /* Check for no directory entries */ retcod = 3; /* None, return write err */ return; } areg = bdos(26, iobuf); /* Set dma addr */ altfcb[32] = 0; bufcnt = 0; diskfull = FALSE; /* Write file */ for (charcount = 0; charcount < 2048; charcount++) { wbyte(charset[charcount]); } wflush(); if (diskfull == FALSE) { /* If write ok */ areg = bdos(16,altfcb); /* Close file */ altfcb[9] |= 0x80; /* Set r/o and sys flag in fcb*/ altfcb[10] |= 0x80; areg = bdos(30, altfcb); /* Call BDOS to set file attributes r/o and sys */ retcod = 0; RELCRFPRN } else { retcod = 3; /* Out of space, indicate write error */ } } wbyte(abyte) char abyte; { extern int eoffound,bufcnt,charcount; extern char iobuf[128],areg; if (diskfull == TRUE) { /* Don't bother if no room */ return; } else { iobuf[bufcnt++] = abyte; if (bufcnt == 128) { wflush(); /* Also resets bufcnt */ } } } wflush() { extern int eoffound,bufcnt,charcount; extern char iobuf[128],areg; if (bufcnt) { /* Don't write if nothing in buffer */ areg = bdos(21,altfcb); if (areg != 0) { diskfull = TRUE; return; } /* Clear buffer */ for (bufcnt = 0; bufcnt < 128; bufcnt++) { iobuf[bufcnt] = 0; } bufcnt = 0; } } /* read the system tracks into the memory array */ rdsystrk() { extern char *ioC1,*ioC2,*mnC1; char command; iomenu("Read from the System Tracks"); command = ' '; while (command != '3') { iochoice(); command = entioc(); blankP?Command error?File not found?Can't enter file~æÈÍîJ#ÃÌF!›FÃæF!ªFÃæF!ºFÍÌFÃXGCOMSCNòF",AòF·Ê€2�@å!“@͸Há> 2-A25A¯2,AyÖ,·2‹@ÂÑG:�@î€2‹@ÍáHØ>A:Œ@·ÊÞG;AÍÄH-A:,A2‡@Ö 2†@ÂûG:�@Æ@2�@å!´@͸Háyþ=7ÀÍáHþ 7ÀÍÄH,A·ú#Hþ 7Èå!Õ@͸Há:�@‡!“@ܘH‡!´@õ:Œ@·ÊSH½@;A>õ ñ=ÂIHñܘH:‰@·ÂhH:†@·ÂhH:‡@2‰@Íõ Íñ_ͯ2€Í„KÍ%KÍ;Ká*‚@##:Š@2…@GÉõ,A ~·Â²H·ú²Hw# ¨HñÉ #èH w#»HÉ:„@·Èå!5A~þ ÂßHæw#ÂÕHáÉÍ*Jþ:7>ÂIx·ÊáHëÍ×JOx=yÂ&Iþ[ÐþAØÖ@ë2,AÔ*Jxþ ÚI ÅëÕ-AÊoIÍ×JÃIþTÂ?IÍ×JþT7ÀÍ×JþY7ÀŸë·ÃIþLÂYIÍ×JþS7ÀÍ×JþT7À>þë·ÃIþR7ÀÍ×JþD7ÀþR7À>þë·ÃIáÁ> �Ú€Ië6 #=òxIëyÖ.2„@Ì*JëÕ5AxþÚ˜IÊ¥IÍ×JÙIáyÖ/·yÀÍ×JþL¾I2‰@Í×JOæIþNÂÉI2�@÷IþOÂÔI2�@÷IþRÂßI2‹@÷IþCÂíI2Œ@2‰@÷IþMÂøI2‘@÷IþIÂJ2ˆ@÷IþXÂJ>ÿ2�@÷IþZÂJ¯2ˆ@÷IþP7À:Š@<2Š@÷IåÍ×Jþ[ÒHJþ0ÚHJþAÒDJþ:ÒHJÃ-JOÑÉÅÕ!€~6·GÊzJ#~þ ÂcJÃUJHFx+#ÊtJ~ÃiJ2Ž@ÚJ¯2Ž@:…@·Â�JÍK>*ÍîJ GFÍ> ÍîJÑÁ:HF!IFå"™F…o>Œg6 #> wá:…@·ÂÖJå!IF~þ ÊÕJÖaÚÑJþÒÑJÆAw#þJáÉ~#þ Ê×Jþ Ê×Jþ ÂK#"™FÉñåÕÅõæ_ÍñÁÑá·Éå*™F+~æþ #ÌKJ#"™F+~áþ7È·É> ÍîJ> ÃîJõÅÕåEB!"CB!´@:‰@ÃNKõÅÕåCA!"AA!“@:‹@·ÊKåÍá~·úKÍ¡KÕÍÑÕÍ<ÊãFáÍ¡KÍ<ÊÝFáÑÁñÉõÅÕå!"EDGDÍ!Õ@~·úKÃsKåÕ ¯w#ªKwáÑÉõÕÕ@·úØKÅåÕGDÍÑÅåÍáÁÑñÉõ:‰@·Ê°HÕ:´@<ÊØKúdL> ÍvL> ÍvL>ÍvLå*CBEBÅ´@ÍNLEBÍÁá´@ÃÏKõ:‹@·Ê°HÕ:“@·úØK>ÍÝLå*AACAÅ“@ÍNLCAÍÁá“@ÃÏK|µÈ}æÊYLÆ€æ)„`iíL> ÍvL> ÍvL> ÍvLÑñÉõ:‰@·Ê°H:´@<ÊíJúUMãåÕ*CB|þÌ¥L#"CBDBÑñõæwñáÉEB!´@>õÅÕåÍÑÕͷ¡MÑဠëÁñ=­L!ÉCA>!“@íLõ:‹@·Ê°H:“@·úíJãåÕ*AA|=ÌÒL#"AABAÑF 3533 IOC1 3531 IOC2 3553 LASTMO 0103 MAIN 2BA2 MAINME 36BB MAINSE 36B7 MANWYN 36A6 MNC1 2C4C MNCHOI 524C MOVALT 51FD MOVMAN 51A1 MOVSET 2D05 NREVER 354D OFFCHA 4EF4 OLDRDF 4F18 OLDRDN 354E ONCHAR 354B PPTR1 3549 PPTR2 2DA1 PPUTCH 2C60 PROGDE 1F76 PUTBLA 1E65 PUTBOX 02C4 PUTCHR 1ABA PUTHEX 738F PUTRAM 02D5 PUTST 23B3 RDHEXC 63B2 RDSYST 0DE5 READCH 4FA9 READFC 1F7F READHE 4FCF READNA 36AF RECPTR 3522 RETCOD 2CF5 REVERS 4FA7 RFCBPT 4FCD RNMPTR 3551 ROWBAS 0D0C RSTCHA 295E RSTFCB 352B RWFLAG 3529 SECSTA 36A2 SELCOM 1B51 SELMEN 46BB SETPTR 1541 SHFTDN 124F SHFTLF 1348 SHFTRT 1441 SHFTUP 6B99 STRLEN 3521 SVTPVA 36A8 TEMPBU 36A4 TRANTA 3527 TRKSTA 0F92 TRNALT 1000 TRNCHA 2A03 UPCASE 2A58 UPCHAR 4EBD WFCBPT 4EE3 WNMPTR 0F7B WRCHR 5EB4 WRFONT 2864 WRHEXC 26C8 WRHEXL 2903 WRHEXR 2438 WRITEH 4EBF WRITFC 4EE5 WRITNA 6017 WRSYST 2291 XTOI 2AFB YESNO 4FE1 RD$WR 4FF2 RD_WR2 50A6 SNS2 4FE8 SNSDNS 5181 ARRDRI 5198 PUTCOL 592C CHECKC 5A21 CURP24 6B75 ALTFCB 5E8C ENTIOC 5FDA FNTMES 66ñwáÉ:Õ@<ÊKú�MåÕ*ED|þÌ%M#"EDFDÑÃKGD>õÕÅÍÕ@ÍÁÑ=ÊNM!€ëñ=Â*M!Éñ>ÃJMñåÕÅõæ_!’@þ ÒsMÖ ÊqM<ÊqM~=w4{þ ˆM> ÍvL~æÂzMËMÍñÁÑáÉåÕÅÍÁÑáþ7È·É!ÁMÍÌFÑÆ@þ@²M> ÍîJ!ÇMÍÌFÍKÃDISK FULLåÕÅë!ÍMþ:>ÂŒNÖ@þÒðNw#2„@þ.Ê·Nþ!Ú·Nw#Â�N2„@þ.ʾNþ!Ò¥NþN6 #·N:„@þ.ÊËNw#ÂËNpñMÍÍMÍþÿÊðN¯2íM2îMÁÑáÉåÕÅ:îM=òOñMÍÍMÍÆÿÚ0O!ñM"ïM>2îM*ïM~þÂ+O7Ã0O#"ïM·ÁÑáÉÉ0JÅÕå!�"ø6!Ý7ÍxH*Û7͈CÍŸIÒ–qÃqJÍÃp:C6·ÊG-Í÷$ͱ$!8ÍÕ.Í” ÄàÍ2':D6·À:C6·ÊG-ôq8¯ÃØq8>ÿ2È5G*B6|¥!§8Âÿs:C6·ÄèsØÍ÷$:Y5·ÊrëÍû!8ÍûÍ”$:Ý62ß6Ìn$:!Ó4Í$r,pÈ2JÍZ1¯ãÍ%Íì͹$ãÅå*+ãåÍ?1*`5"ð6ë"©6ë*ð6Í~!Í”$áåÍa#+w#ÍŸ$~·Ê‚rͨrÚ–r·ÊyrÍsÚ–rGͤ·Â–rxGáåÍ8xþÿõÍ”$ñáãõ}!+¾Äy)ñáÁÉÍæµ8áåÍÍ©$·8Ã@rÅÕÕ¯ ®rÑÕÍsÍßrþ.ÂÆr#ÍßrÑþ ÊÛrͤ·ÑÁÉ7ÑÁÉÍýrÊòr ÂßrÍýrÂërÉõ>  ÂórñÉ~Í*+ù"Sÿ" "Ê ø"À "È ¯go"Q"`2ï 2!2!2X2Z2]2^2c2_2\2W!Ñ*"Ä "¼ "Æ "¾ "=";!"à "Þ "ä "â 2® 2Œ !ÿÿ"Ü Ãú?No Start Address?Loading Error?Nothing Loaded?Out of memory?Illegal Polish Exp:!·Â‡!‹Ãã!¹Ãã!ª¯2!Ãó!šÃó!ÁÍЯ2€*Sù!ì ~·Â 4!†ÍÐ>2¬ ¯2YÍù:cæ2cÍúÚðþ ÊÉþ,ÊÉþ/ÂðÍÚ�ÅþMÂE€ÉþG@ÈþRÊþSÈþUÈþXÈþYÈþEÂ{ ÉÍO Í:ÅÙ&ÃþO†2WÉÖHÂO2WGÉ:c°2cÍÚþ:Â'Õ>` Êð͇ëAx·ÊðþÒðÍÚ¹ÍÚÑÃ'"UÍõ Íñ_ͯ2€:f ·Äž¯2€UÅ!c~æþ¾wÊ·ú:f ·ÊÐ ~æý¾wÂ:f ·È2Yæ2Y*`|µÈÍëÚ#Ê#yþÈ·Â#ÍjÚC~æ@Â#ÃI"Ê Ã#ͬ*`|µÈÃ#*U~æþ Â!:Y·:cÊ~þ€ÍÑ Gæ@Âxæ ÂkÃöþ€ÔÑ Ão Link-80 3.44 09-Dec-81 Copyright (c) 1981 Microsoft ?Command Error~·ÈÍP#ÃÐ~æ#þ ÊÚþ ÊÚþ`Úôþ{ÒôÖ þ À+ÉÕÅ!€~·GÊ #~þ ÂÃex+#Ê<~Ã:¬ ·Ê/Í”>*ÍP dÍ> ÍP:e!få…o>Œg6 áÁÑÉÖ7ÊŒÖôÊŒÖ ÂðÍÚþ Êyþ:+Ây#ÍÚþPÂð2\¯2f åg !‹  ÍöáÉõÍÚþ:ÂðÍ\ñåG�‡OÂ:® ·ÂÍåëåÍØ"à "ä á"Þ "â *¼ å*Ä "¼ ";ÍÑ*Ä ëÍ*Æ ·ÍBK*Ä ë*Æ åÕÍ"=¯2­ G<2® ÑáõÃÑ36B1 ADDRES 3535 ALTCHA 06AB ALTOFF 069B ALTON 3EBB ALTSET 36B9 ALTWYN 4FE0 AREG 50BB ARRAYS 4FDE ARRSOU 52A5 ATOI 75CF BDOS 2AA5 BLANK 1F65 BLKRNA 1D5A BORDER 2CE5 BRIGHT 36AB BUFCNT 352D BYTEPA 740A CCAND 7421 CCASR 74D0 CCEQ 74EA CCGE 74DF CCGT 74EB CCLE 74DE CCLT 74F6 CCMULT 7517 CCNE 7553 CCOR 7565 CCSUB 36AD CHARCO 0897 CHAREN 1C26 CHARME 46BD CHARSE 09E8 CHK127 198C CHRCOP 2D15 CLCHRS 5A87 CLFCB 5A2E CLNAME 1F35 CLREDB 1F4D CLRMEN 1ED4 CLRSC2 2CCC CLRSCN 354F COLBAS 032D CONTRE 5B6A CPRIGH 36A3 CURCHA 2C9C CURPOS 07A9 DECENT 17E5 DELCOL 18B8 DELROW 2CD5 DIM 36B3 DISKFU 1A15 DISPAR 352F DISPPA 05A3 DISPSE 10E8 DOLAST 3523 DRVSPC 0D8D DSCHR 0D7D DSCHRB 3525 DSIDE 3558 EDBUF 3554 EDCOL 1AF7 EDHEAD 03B6 EDITAR 0A06 EDITCH 1B41 EDITME 3556 EDROW 3545 EDSMAD 6798 ENTCHO 3547 ENTDEC 1BC6 ENTMEN 0511 ENTMET 3698 ENTSTR 36B5 EOFFOU 068B GRFOFF 067B GRFON 2C85 HEADER 06BB HEXENT 5379 INFILN 2D5A INPCHA 2D86 INPDCH 5C85 INPSTR 1713 INSCOL 1641 INSROW 1166 INVERT 4F27 IOBUÕÍáz³È6#z³ÂÉõÚ:® ·ÂOÍåñõÚ4ÕÍáÍõÍ… Ê{ÑÍØëÍÒŽå!ÍÍáåÅyÍ ÁëãÍõÕÍyBKÑáåÕõÍñOÑáÍÍõáñØõå!; s#rÑ!Þ s#rñØ!â s#ráÉÕëÍþÍ… õÔÁñáãõåñÚ¬!â s#rÑáÕõÍõë!; ñõÚÁs#ráñåÒÔÍáëyÅÍ ÁÍñØáÉ!Þ ~#foÉ!¼ ÃÛÕÍáÍõÍëѵÉë!Ä ÍÛëÉÕÍØÍõÍÍáÑÉ}“_|šWÉ>2­ *Þ ë*à ÍÚ<*¼ ë*È :® ·Ê<Í… ÒP*¼ ë*È ÍW{_*¼ ëë#"Æ "¾ "=É:WGëëÍÚOÖ0Ú—þ ÚxÖÚ—ë)))þÒ–ÊŒþÒ–)…o>ŒgÃdëyþ È+É%Overlaying area´¹DataProgramÍÇÔå!�ÍÐ!° ~#foÍÐ!ªÍÐáÉåÃËåÅÍØÍ… ÒåÍþëãÍ… áëÊÍ… Ú&á}<Ê =¹ÄÁå yþÂêÁáÉåy7ÃëãÅyM¹å7Ê>,Ê>ÍØ#ëÍ… ëáÁÑåÚ!MÍáÃö> õÅÕåæ_ÍáÑÁñÉ!h >?ÍP~#ÍPþ!ÚyÂk!‰:!·Ê†!;Ãã Not Found> ÍP> ÃP>€2º æÍg ÍðÍ<Êa>ÿ28ÉåÕ:º ·üØ_<2º !æ~ÑáÉÅæÍg ÍÁ·ÂͯÉ! ¯w#Â÷! wÉÍO |µë!yÊóëåÍ:å!(ÍÐÍ”*QDMáÅÙ&[Begin execution]:Z·Êê:X·ÊÃ* ë*Ê ëÍ… ÊÃ~æàþ`~¨î@wæå+++þÚo>GOÄ ~+Ât>‘ÊŠë6 #=ƒÑ* ÍÕ!à ͮ ¯2XÍÐ * ÑÍë~Oæ_Íë+++y·ò¼++:X·ÂKÍ”:cæ2cÍÐ *Q>[ÍPÍ"ÍNÍþå!C Í ÚüÊüÍ\*Þ ës#r!I Í extrn rwflag,secstart,trkstart,drvspc,dside extrn retcod,charset public rd_wr2 public sns2 .z80 ;------------------------------------------------------------------- ;This routine enables the program to do I/O to the system tracks. ;Before entry to the routine, the following external variables must be set ; ; rwflag - 0 => read, else write ; ; dside - Side on which to read/write data ; ; trkstart - Track on which to read/write data ; ; secstart - starting sector to I/O ( 1 for main set, 3 for alternate) ; ; drvspc - drive code, 0 for drive A, 1 for drive B ; ; charset - pointer to character set in RAM ; ; the routine returns a value in an external variable called ; ; retcod - 0 no error ; 1 no disk in drive ; 2 wrong density (not Osborne double dnesity) ; 3 write error ; 4 read error ;---------------------------D1 GETDRV 6981 IOCHOI 693D IOMEN1 695F IOMEN2 68DA IOMENU 6683 RBYTE 65A9 RDAFSY 6478 RDTRCK 6833 SIOERR 6CDD STRCPY 6323 WBYTE 6351 WFLUSH 61C9 WRAFSY 5F7B WRALRA 5F1B WRMNRA 60BA WRTRCK 7523 BRK 7605 CCALL 76DB CCEDAT 7646 CCLDDR 762E CCLDIR 75EE CCONIN 75F9 CCONOU 756E CCUGT 7579 CCULE 756D CCULT 738D CCUNGO 6EBA GETCHA 6D49 GETS 6BC3 ISALPH 6C2E ISDIGI 6C09 ISLOWE 6BE4 ISUPPE 6C58 ISWHIT 6FFD LDDR 6FD2 LDIR 704C LOAD$A 6F03 MOVMEM 71A0 NEXTAR 6E96 PUTCHA 6D11 PUTS 7368 SBRK 6F94 SETMEM 6CA7 TOUPPE 6EF4 UGETCH 7028 XMAIN 760B CCALLA 7411 CCASL 754C CCCOM 7458 CCDIV 755A CCGINT 750F CCNEG 75E3 CCONST 755F CCPINT 73AC CCSTAR 7437 CCUDIV 7578 CCUGE 7583 CCXOR 76E0 EDATA 0000 EXIT 759A RESET 758A SETEXI 75A6 STREQ 76D7 XEND 7695 XFCB1 76B6 XFCB2 765B XSTART 78 CCUGE 7583 CCXOR 76E0 EDATA 0000 EXIT 759A RESET 758A SETEXI 75A6 STREQ 76D7 XEND 769R 4FF2 RD_WR2 50A6 SNS2 4FE8 SNSDNS 5181 ARRDRI 5198 PUTCOL 592C CHECKC 5A21 CURP24 6B75 ALTFCB 5E8C ENTIOC 5FDA FNTMES 66---------------------------------------- ; ------HIGH RAM variables------- sdisk equ 0FD50h dmadr equ 0FD4Bh dma_bank equ 0FD4Ah savsec equ 0FD4Dh savtyp equ 0FD51h savtrk equ 0FD4Eh ;--------------------------------- ;------ROM codes----------------- sen_rtn equ 0160h rd_rtn equ 015Ah wrt_rtn equ 015Dh ;-------------------------------- sys_dta equ 0 track2 equ 2 doubtyp equ 0Ch doubsec equ 05h dstyp equ 0Eh rw: db 0 sec: db 0 drive: db 0 rd_wr2: ld hl,(rwflag) ; put read write flag ld a,l ; into local variable ld (rw),a ld hl,(secstart) ; put beginning sector ld a,l ; into local variable ld (sec),a ld hl,(trkstart) ; put beginning track into high RAM ld a,l ld (savtrk),a ld hl,(drvspc) ; put drive code ld a,l ; into loc LHLD edrow XCHG MOV M,E INX H MOV M,D XCHG C251: LXI H,2 DAD SP MOV E,M INX H MOV D,M LXI H,14 EXT CCLT CALL CCLT MOV A,H ORA L JZ C250 JMP C252 C249: LXI H,2 DAD SP PUSH H MOV E,M INX H MOV D,M INX D POP H MOV M,E INX H MOV M,D MOV H,D MOV L,E DCX H JMP C251 C252: LXI H,edbuf PUSH H LXI H,4 DAD SP MOV E,M INX H MOV D,M PUSH H XCHG DAD H DAD H DAD H DAD H POP D POP D DAD D PUSH H LXI H,2 DAD SP MOV E,M INX H MOV D,M POP H DAD D PUSH H LXI H,edbuf PUSH H LXI H,6 DAD SP MOV E,M INX H MOV D,M MOV H,D MOV L,E INX H PUSH D DAD H DAD H DAD H DAD H POP D POP D DAD D PUSH H LXI H,4 DAD SP MOV E,M INX H MOV D,M POP H DAD D MOV L,M MVI H,0 POP D MOV A,L STAX D JMP C249 C250: LXI H,edbuf PUSH H LXI H,14 PUSH D DAD H DAD H DAD H DAD H POP D POP D DAD D PUSH H LXI H,2 DAD SP MOV E,M INX H MOV D,M POP H DAal variable ld (drive),a ld a,(drive) ; 0 => drive a, 1 => b ld (sdisk),a ; put into HIGH RAM ld hl,charset ; put beginning of font data ld (dmadr),hl ; into HIGH RAM in a,(sys_dta) ; get current bank set ld (dma_bank),a ; select it as dma bank ld a,(sec) ; put sector number ld (savsec),a ; into HIGH RAM call senden ; check for no disk in drive ,returns b = #secs/track jp nz,err1 ; if not 0, return error code 1 call chktyp ; check for Obsorne double dnesity jp nz,err2 ; if not 0, return error code 2 ld hl,(dside) ; Load side to I/O (0 or 1) ld a,l add a,l ; Shift it left one bit ld b,a ; Hold in B ld a,(savtyp) ; Load current savtyp value res 1,a ; Set side to 0 or b ; Set side per dside ld (savtyp),aÍ{ñÃ Í 3ÉÅbk9s#rëÑÕ!ÍÞt|µÊ{ Ã: !9å^#Vás#rbk+à !å*£6&))))Ñå!9^#Vá"/5!½Få*£6&))))Ñå!9^#Ván&"-5Í�sÃ' ñÉ!å.åÍœ,ññÍ� ÉÍ›*£6& Íßt|µÊ£ Í{*£6& Íßt|µÊÄ *£6&`åÍÄñÃÎ *£6&åÍÄñ*£6& Íßt|µÊá ͋ͫÉÅÅ;!9s#rë!9^#V!ÍÞt|µÊxÃ!9å^#Vás#rbk+Ãó !9s#rë!9^#V!ÍÞt|µÊÃN!9å^#Vás#rbk+Ã&!X5å!9^#Våë))))ÑÑå!9^#Váå*M5&Ñ}Ã;!9s#rë!9^#V! ÍÞt|µÊwë!9å^#Vás#rbk+Ã!9å!½Få! 9n&))))Ñå!9^#Ván&Ñ}!9s#rë!9^#V!ÍÞt|µÊ˜Ã!9å^#Vás#rbk+ÃÜáå&€Í t|µÂ=!X5å!9^#Våë))))ÑÑå!9^#Váå*M5&Ñ}Ãd!X5å!9^#Våë))))ÑÑå!9^#Váå*N5&Ñ}!9å!9n&)Ñ}Ãñññ3É!½Få!9n&))))ÑåÍñÉÅ!55åÍñ!9s#rëÑÕ!ÍÞt|µÊþÃÉ!9å^#Vás#rbk+æ!å*£6&))))Ñå!9^#Vá"/5!55å!9^#Ván&"-5Í�söñÉÅÅ;!9s#rë!9^#V! ÍÞt|µÊäÃ6!9å^#Vás#rbk+Ã!9s#rë!9^#V!ÍÞt|µÊÅÃi!9å^#Vás#rbk+ÃA!X5å!9^#Våë))))ÑÑå!9^#Ván&å*N5&ÑÍÐt|µÊ²!9å!9n&)ÍSuÑ}ÃV!9å!9n&)Ñ}ÃV!9^#VÕ!9^#Váå!9n&Ñ}Ã#ññ3É*S5&sÿ|µÂ*T5|µÈ*T5+ ; Place val in savtyp ld b,2 ; 2 sectors to I/O ld a,(rw) or a ; if rw = 0 jp z,rd_wr3 ; go to read call rd_wr4 ; call writing routine jp nz,err3 ; if not 0 return error code 3 jp rd_wr5 ; go to return rd_wr3: call rd_wr6 ; call reading routine jp nz,err4 ; if not 0 return error code 4 rd_wr5: xor a ; clear a ld (retcod),a ; returned error code = 0, no error ret err1: ld a,1 ld (retcod),a ; returned error code = 1, no disk in drive ret err2: ld a,2 ld (retcod),a ; returned error code = 2, wrong density ret err3: ld a,3 ld (retcod),a ; returned error code = 3, write error ret err4: ld a,4 ld (retcod),a ; returned error code = 4, read error  ret chktyp: ; checks for Osborne double dnesity ld hl,savtyp ;check for correct bytes/sector (1024) ld a,(hl) ; both must be true for Osborne double density cp doubtyp jp z,chkspt ; cp dstyp jp nz,derr ; chkspt: ld a,b cp doubsec jp nz,derr ret derr: or 0FFh ; return non-zero of not Osborne double density ret senden: ld de,sen_rtn jp gorom rd_wr6: ; reading routine ld de,rd_rtn jp gorom rd_wr4: ; writing routine ld de,wrt_rtn jp gorom gorom: ld a,(2) ld h,a ld l,05Ah jp (hl) page extrn svtpval ; ;Description: ; Interface to provide access to ROM SENSE DENSE (SENDEN) routine ; to wrtrck() and rdtrck(). Used to determineßtà !|µÊ !9s#rëÃÓ!åÍÄñÃÓ!9n&tÿ|µÂE .9å*£6&Ñ}ÃÞ !9n&uÿ|µÂj .9å*£6&#åÍè ñÑ}ÃÞ !9n&vÿ|µÂ… .9ÿsëÃÞ !9n&åÿ|µÂ¤ .9^#V!ÍÐtç !|µÊ¸ !9þsëÃÞ !9å!9n&åÍè ñÑ}Íõ,!9n&åÍ¡-ñÍ-ñ!9n&ñÉ!9n&Íßt|µÊ !9n&É!É;ÍMÍ&*£6&åÍå ñ!"Q5."O5ÍÍ} !"V5"T5.‹}2S5l9sëáå&åÿ|µÊX áå&QÍuÃ[ !|µÊí *Q5ë*V5å*O5ë*T5åÍœ,ññ!9åÍZ-Ñ}!9åÍX*ñáå&sÿ|µÂ² *T5|µÊ¨ *T5+"T5#!�}2S5Ã> áå&tÿ|µÂß *V5 Íßt|µÊÕ *V5#"V5+!Œ}2S5Ã> áå&vÿ|µÂ *V5|µÊü *V5+"V5#!Š}2S5Ã> áå&uÿ|µÂ3 *T5Íßt|µÊ) *T5#"T5+!‹}2S5Ã> áå&Òÿ|µÂu *N5&åÍÄ!X5ã*V5Õ))))ÑÑë*T5å*N5&Ñ}Íè!"E5Í’Ã> áå&àÿ|µÂ· *M5&åÍÄ!X5ã*V5Õ))))ÑÑë*T5å*M5&Ñ}Íè!"E5Í’Ã> áå&·ÿ|µÂÖ ÍfÍ!"E5Í’Ã> áå&´ÿ|µÂõ ÍOÍ!"E5Í’Ã> áå&®ÿ|µÂ ÍHÍ!"E5Í’Ã> áå&«ÿ|µÂ3 ÍAÍ!"E5Í’Ã> áå&¼ÿ|µÂR ÍAÍ!"E5Í’Ã> áå&½ÿ|µÂq ÍŒÍ!"E5Í’Ã> áå&²ÿ|µÂ� ÍAÍ!"E5Í’Ã> áå&»ÿ|µÂ¯ ͸Í!"E5Í’Ã> áå&­ÿ|µÂÎ ÍÍ!"E5Í’Ã> áå&¬ÿ|µÂ> ÍåÍ!"E5Í’Ã> áå&åÿ|µÂ *£6&å if disk is double ; sided. ; ;Input Environment: ; drvspc is set to drive # (0 = A, 1 = B) ; ;Output Environment: ; retcod = sectors per track (as returned in register B by SENDEN) ; svtpval = value placed in SAVTYP by SENDEN (indicating # sides ; in bit 1). sns2: ld hl,(drvspc) ld a,l ld (sdisk),a call senden ld a,b ld (retcod),a ld a,(savtyp) ld (svtpval),a ret  ret senden: ld de,sen_rtn jp gorom rd_wr6: ; reading routine ld de,rd_rtn jp gorom rd_wr4: ; writing routine ld de,wrt_rtn jp gorom gorom: ld a,(2) ld h,a ld l,05Ah jp (hl) page extrn svtpval ; ;Description: ; Interface to provide access to ROM SENSE DENSE (SENDEN) routine ; to wrtrck() and rdtrck(). Used to determineÍ>€@€w+r+s+Ñæ@åÌãáÍ1:´ 2³ Ír+sÃA:´ =Àå*¶ ëáÉ>€ÍjÚVå/o/g Ú®áÃA~ö@w:]2^·Êså+++~áþ Ês¯2^ëq+pÅ:^O!;ÍÛåë>2³ Íë}|áÑë!; s#rÍáëÍ… yÔ ÃA!ÔÍÐáÍÃ>/ÍPÍ”ÃA~æW+++~ÍP+ÂÊÉ%2nd COMMON Larger /*;ë"æ ë |2ê ë*¼ ëÍ… ÔåÍáÃA> Íj~ö@wÃAö7õÍU:­ ·>ÀÊ8:´ =Ê->€G:³ =Ê7>@€ÆwñŸ<†w+ÍëãëÕÍ1:´ 2³ Í:­ ·Êd:´ =åÌãár+s+ëáãër+sÃA:Iþ5ÊØ'þAÊ‘þBÊïþCÊþHÊKÃÔ:Jþʯþʯþ ÒÔõÍU6Ç+ñwÃAõÍU:­ ·ÊÁ:´ =ÊÃ>@ö‡w+ñw++ÑÕÍ1:´ 2³ Í:­ ·Êé:´ =åÌãár+sÃA!HIF5#wÂ÷¯Íj~+ܾåÍU6Ç+6€++Ñr+sÃA*Kë:J2³ ÍfÍÍU:­ ·Ê;:³ ·Â=>@ö‡w+6++r+sÃA:!·ÂA>.2!2P*í å!JÍúÍžÍÀþ!Úg2!þ+Â}2_ÍÀ!ï w#þ!Ú�ÍÀ ‚!ï Í\ë"Þ "â :® ·ÂÖ:Z·ÂÜÍÀþ!Ú«!ï  w#þ!ÚÆÍÀ ¸+¯w2!áÍúÍžÃA!âÃã!Ãã?/D illegal with common runtime?No code can be loaded before program withcommon runtime not found, please create header file?End of file on common runtime header!aÃãÁÁÃUÍ„z³ÁÊ£¯Í„ë"QÍb!æ ^#V!â ͪ!;ͪyþÚ©:® ·À*¼ ë*Ä Í… ÂÜ*à "Þ Íþë*à ÍÚ'*¼ åÍ*Æ ë*¾ ÍBK Ú Ê Í\!ï ~#·Â != Í Ú= Ê= Í\*È ëÍ… Ò= Ñ*Í… Ú= Ñs#rÕáåÍ"ÍN¯2° *À ë*È Í… Ê� æþÊ… ÖÅ2³ ÕÍMÍ\ë:³ ·Âz x/Gy/O~�w#~ˆwÑÃM ÕÍMá"± zæþ ÒÑ _z!£ ^#Vëé» â â û   $ 2 = ] m `i·òÅ ^+Vëå!° 4*± ëÃM !° 4Ã� !° 5ú� áãÉõPYÍ\ñÍØ Â� ësþÂÊ #rÃÊ ÍØ l¯gÃÅ ÍØ Ãÿ ÍØ Í ÃÅ ÍØ Í #ÃÅ |/g}/oÉÍØ ëÍØ ÍëÃÅ ÍØ ëÍØ ÃÅ ÍØ ëÍØ DM!>=ÊÅ )åÅá)ãÁÒK ÃK ÍØ ëÍØ z³Ä ëÃÅ ÍØ ëÍØ z³Êi Í ÃÅ BKÿÿ}‘o|˜gÒ„ ÉáÍþ:® ·Ê« ëÍþÍ… Ò« 믕|Î’ÍÛ >]ÍPÍ”:° ·ÂÚ:Œ ·Ä$>Ã2*Q"Ã!o&Õ'Í èÍ dÍ  Í >0…GÑà /}“o|šgÒ xÖ0 ¹Â  > xÃPH>G~#Â' ¯ÍjØ~æ@È+^+VÉ$MEMRY$$PROG$COMNM*QA·È!Hw#Â] ¯ÍjÚ{ ~æ@Ê{ +^+Vë"QÉå!� ÍÐáÍï2A!¡ Ãã?Start symbol - - undefinedg  ~æ#³ ͞à RELö7õ*`}´2X:cæ`Êè ñØõÃù Íj:® ·ÄjÍ”ñÚ ÀÍp @Íp Í”`Íp €Íp Íp * Í} Ê, >ï¦wÍk à Íö :`·Ê? ÍÛ !K ÍÐ*Ü ÍÞ !b ÃÐ Undefined Global(s) Bytes Free ¯2bÍP Úö Í å~æO~æà>-Ê‘ > ò‘ >/ÍPõ+^+V+~ÍP ™ ñþ/ÌPÍNã~æ ëʼ !ŸÍÐÿ Í"ë~·ãòÛ ÍN+^+Vë><ÍPÍÞ >>ÍPÍN:bþ?Îæ2bÌ”á>¶wÃt :b·È¯2bÃ*Æ ëá"Æ Í… ÔÜö"¾ "¼ ";Íþ"ä "â ÉÍþëÍþÍ… Ú7ë*à ëÍÕ*Æ ë*¾ ÍáÍ… Ò]!Í*¾ Í*Ä ë*¼ ÍBK*à ë*Þ Í*Æ ë*Ä ëÍ*à "Þ *Æ ë*¾ ÍBK*Æ ë*Ä "Æ Íö"¼ "¾ ";à ~ƒw#~ŠwÉPYÍb>Í„BK¯ÍjÔ~æ@Âú:­ ·Âß~ö@w+~_q+ÃçëÍU:³ =Êì>€ÆCw+p+q+r+sÃAå! ÍÐáÍÃÍ”ÃA%Mult. Def. Global ~æ@Àå*`+"`áÉPYÍb>Í„BKůÍj~+ÚnN+Fæ@ëá‡:­ ·Â›:B(·Êb:³ =›ëz³ÊAÍïÃAë;á|µÊA:­ ·›ër#sÃA:­ ·Â›|µÊAëÍ\ëÃÞëz³ÊA#åÍU:³ =ʯ>€ÆBw+r+s+Ñr+sÃAå*`#"`áÉå!7~#4Â×ÍÀ6ø‡+wáÉÍÈxG Âàɯ2³ ÍÈÚúÍÜ7ÉÍÞ·ÊÍY¯ÉåÍÞþõÚ!þÊHÍÞÍYñõþÒHÕÍÞ!H·wÂ74#6 _úGÍÜw#Ã;Ññ!ÿþÂT"7O<·áÉõ2³ ÍÜXÍÜPñþÌŠ‡åÊwþÒwîO!9 N#Fë Ÿ2[ëáÉõ:­ ·Êš¯2[ñãáÉñÉAêC( r>-³éƼ’�:­ ·ÌãÕÍá"è ë*=>ÿ2ë ë*¾ ëÍ… ÔÃA*=ëÃ>€ÍjÚÔ+^+VÍ\ë"?ÃAáÅÍb:³ =ú#<2´ =ÂA:­ ·ÊA*= ãÃAPYÕ7ÍÑ*à ëÍÒK"à !Í*="=*Æ Áå!"¶ }2ë <2´ ÃA:[·ÈÃà* Åõë*Ê ë|ªG}«°Ê¼~æOñõ®æ¸Â©H©Â©åA+++¾Â¨+—ëáñÁ¯Éá~·ò° yÆ/Oÿ ÃoÁHõÆOx�åÕ_ÍëÍþÑáñO°wþ#Âå2¯ å¯+w+w+w+ ÂìÑ·åò¯w+w+”ÅåÍk Í[ ÚM  ÑëåÕ~++æGæOŸÚ& H+¾ÚD Â; Â& Áy¸ÚE >ÁáÑÁÅÕà ÁáÑÁÅåà áÁÉ* Í[ ØÈÃS Í} 7È~æÂk ~æà¸È~·òr <<æÆ/_ÿ·Éë*Ê ëÃ… |’À}“É!” 6S#6Y#6MÍ<$>õ* ë*Ê ëÍ… Êð ~æO~æ@ÊÝ å+^+VëÍü ë> Íh%+~Íh% Âà > Íh%áñ=ÂÜ Í>õ~·òä <<æÆ/Oÿ ß ñþÄÍ‘&Ã%|Í}õÍñõÍñ€GÉÍ[Ãh%> Íh%> Ãh%:W·ÊG¯)Î0ÍPů)� Â6Æ0ÍPÂ3ÁÉ|ÍL}õÍUñÍ[ÃPæÆ0þ:ØÆÉÍ”ñÉ!° ~#foÍÐÍNÍØÍ"ÍNÍþÍ"ÍN><ÍPÍçÍÞ >>ÍPÔRQUESTͬæ* :¯ ·Êûë*Ê Í… ëÊû~æ_~åæ@Êð+++~Ö#ÂðÍ*Ê ëÍBKëáåÍ"Ê áöáÍë+++ö¯2!2­ 2¯ 2µ :® ·Ì¯go"¶ "æ "è 2X"ê <2´ :® ·*¼ ë*Æ Ä*¾ ë*È Í*=åáÍ�ÍëÒQÍiÃEÂZÍ¿ÃEå!œ ~#foBKéÕÅå#:´ =ëÊ�:ê ·Â”*¼ |’ÊŠÒ”Â�}“Ò”ë·ÍáÍ�Áp#ÑÉ:ë ·Â”*¾ |’ʲÒ”·}“Ò”ë·ÍÔÕ:³ =Âë:­ ·ÊëåÍUëãÍÎåëŸæ€w+p+qÑÁ+p+qëÿÿ#ÍBÍiå++sáÑÉ"í ͇þ:7>ÂëÍÚþ[?ØÖ@Øë2g Ô‡xþ Ú" ÅëÕh Ê5ÍÚÃ)áÁ> �ÚFë6 #=ò>ëx2f yþ.õ̇ãëÕp xþÚaÊnÍÚÃbñʃ!p ~þ ƒ6R#6E#6Láy·ÉåÍÚþ[Ò¥þ0Ú¥þAÒ¡þ:Ò¥Êþ[Ê¡þ]Ê¡þ@Ê¡þ\Ê¡þ^Ê¡þ_Ê¡OÑÉëÑÕÍb:­ ·Âô:´ 2³ ÍBK|µÊA~_q#¶VpÍ\ëÂãÃAëåÍU:³ =Ê(16,9,18); blank(18,9,35); if (command == '1') { reverse(); iomen1(); nreverse(); if (contread(mnC1) == TRUE) { rdtrck(1,ioC1,2); /* read from the main systems track */ } iomen1(); } else if (command == '2') { reverse(); iomen2(); nreverse(); if (contread(mnC1) == TRUE) { rdtrck(3,ioC2,4); /* read from the alternate systems track */ } iomen2(); } } mainmenu(); } /* read from the system tracks sttsector = 1 for main, 3 for alternate promptptr pointer to "Main System Set" for main, "Alternate" etc for alter asource = 2 for main, 4 for alternate */ rdtrck(sttsector,promptptr,asource) int sttsector,asource; char *promptptr; { extern int rwflag,secstart,drvspc,edsmade,arrsource; extern char retcod; drvspc = getdrvspec(= 4; } else { retcod = 0; } } } rbyte() { extern int eoffound,bufcnt,charcount; extern char iobuf[128],areg; if (eoffound == TRUE) { return(0); } else { if (bufcnt == 128) { areg = bdos(20, altfcb); if (areg != 0) { eoffound = TRUE; } bufcnt = 0; } return(iobuf[bufcnt++]); } } /* get drive specification returns 0 for drive a, 1 for drive b negative number for carriage return exit */ getdrvspec() { int drivespec,okchoice; char drive; curpos(18,9); putst("Enter drive (A, B, or to exit)"); okchoice = FALSE; while(okchoice == FALSE) { curpos(18,49); drive = inpchar(); upchar(&drive); if ((drive == 'A') || (drive == 'B') || (drive == CARRET)) { okchoice = TRUE; drivespec = drive - 'A'; } else putchr(7); /* alarm */ } blank(18,9,43); return(drivespec); } /* enter me); /* get drive specification */ if (drvspc < 0) /* if carriage return selected */ return; curpos(18,9); putst("Reading "); putst(promptptr); putst(" from "); putchr(drvspc + 'A'); putcolon(); snsdns(); /* Call SENDEN to determine # sides */ if (retcod == 5 && svtpval == 0xE) { /* If dsdd */ if (sttsector == 3) { /* If alternate font, call rdafsys() */ rdafsys(drvspc); } else { /* Else read from side 1, track 0, */ rwflag = 0; /* sector 2 */ secstart = 2; trkstart = 0; dside = 1; rd_wr(); } } else { /* If ssdd */ rwflag = 0; /* Read from side 0, track 2, */ secstart = sttsector; /* sector = sttsector */ trkstart = 2; dside = 0; rd_wr(); } sioerr(); /* show err if any */ if (retcod == 0) /* if no error, no edits since last I/O */ { curpos(18,9); putst(promptptr); putst(" read from ""T5#É*S5&tÿ|µÂ(*V5 Íßt|µÈ*V5#"V5+É*S5&vÿ|µÂE*V5|µÈ*V5+"V5#É*S5&uÿ|µÀ*T5Íßt|µÈ*T5#"T5+ÉÅÅ!9s#rë!9^#V!ÍÞt|µÊLÛ!9å^#Vás#rbk+Ãsbk9s#rëÑÕ!ÍÞt|µÊˆÃÈ!9å^#Vás#rbk+Ã¥!X5å!9^#Våë))))ÑÑå!9^#Ván&å*N5&ÑÍÐt|µÊ"!X5å!9^#Våë))))ÑÑå!9^#Váå*M5&Ñ}õ!X5å!9^#Våë))))ÑÑå!9^#Váå*N5&Ñ}õññÉÅÅ;!9s#rë!9^#V!ÍÞt|µÊDÃ…!9å^#Vás#rbk+Ã]!9å!X5å!9^#Våë))))ÑÑn&Ñ}!9s#rë!9^#V!ÍÞt|µÊÃ×!9å^#Vás#rbk+ï!X5å!9^#Våë))))ÑÑå!9^#Váå!X5å!9^#Våë))))ÑÑå!9^#Ván&Ñ}ÃÄ!X5å!9^#Våë))))ÑÑå!9n&Ñ}Ãrññ3ÉÅÅ;!9s#rë!9^#V!ÍÞt|µÊ=Ã~!9å^#Vás#rbk+ÃV!9å!X5å!9^#Våë))))ÑÑn&Ñ}!9s#rë!9^#V!Íßt|µÊÃÔ!9å^#Vás#rbk#ì!X5å!9^#Våë))))ÑÑå!9^#Váå!X5å!9^#Våë))))ÑÑå!9^#Ván&Ñ}ÃÁ!X5å!9^#Våë))))ÑÑå!9n&Ñ}Ãkññ3ÉÅÅ;!9s#rë!9^#V!ÍÞt|µÊ=Ãw!9å^#Vás#rbk+ÃO!9å!X5å!Õ))))ÑÑå!9^#Ván&Ñ}!9s#rë!9^#V!ÍÞt|µÊÃÎ!9å^#Vás#rbk+æ!X5å!9^#Våë))))ÑÑå!9^#Váå!X5å!9^#Vbk#Õ))))); putchr(drvspc + 'A'); putcolon(); putst(" "); edsmade = FALSE; arrsource = asource + drvspc; /* source of set is main sys tracks */ arraysource(6,9); } else blank(18,9,36); } rdafsys(drspc) int drspc; { extern int eoffound,bufcnt,charcount; extern char iobuf[128],retcod,areg; clfcb(altfcb); altfcb[0] = drspc + 1; /* Make drive # in fcb relative 1 */ /* (Drive A = 1, B = 2) */ strcpy(altfcb + 1, "ALTFONT SYS"); /* Copy file nm into fcb */ areg = bdos(26, iobuf); areg = bdos(15, altfcb); /* Open file */ if (areg == 0xFF) { /* Open failed */ retcod = 4; /* Set err code for rdtrck() */ return; } else { altfcb[32] = 0; eoffound = FALSE; altfcb[32] = 0; /* Clear current record field of fcb */ bufcnt = 128; /* Force read 1st time */ for (charcount = 0; charcount < 2048; charcount++) { charset[charcount] = rbyte(); } areg = bdos(16,altfcb); if (eoffound == TRUE) { retcod ÑÑå!9^#Ván&Ñ}û!X5å!Õ))))ÑÑå!9^#Váå!9n&Ñ}Ãdññ3ÉÅÅ;!9s#rë!9^#V!ÍÞt|µÊ=Ãw!9å^#Vás#rbk+ÃO!9å!X5å!Õ))))ÑÑå!9^#Ván&Ñ}!9s#rë!9^#V!Íßt|µÊÃÎ!9å^#Vás#rbk#æ!X5å!9^#Våë))))ÑÑå!9^#Váå!X5å!9^#Vbk+Õ))))ÑÑå!9^#Ván&Ñ}û!X5å!Õ))))ÑÑå!9^#Váå!9n&Ñ}Ãdññ3ÉÅÅbk9s#rëÑÕ!ÍÞt|µÊÃp!9å^#Vás#rbk+ÃM!9s#rë!9^#V*V5Íßt|µÊëã!9å^#Vás#rbk#Ã{!X5å!9^#Våë))))ÑÑå!9^#Váå!X5å!9^#Vbk+Õ))))ÑÑå!9^#Ván&Ñ}Ã�!X5å*V5Õ))))ÑÑå!9^#Váå*M5&Ñ}Ã]ññÉÅÅ!9s#rë!9^#V!ÍÞt|µÊâÃH!9å^#Vás#rbk+à !9 s#rëÑÕ*T5Íßt|µÊ½Ãv!9å^#Vás#rbk#ÃS!X5å!9^#Våë))))ÑÑå!9^#Váå!X5å!9^#Våë))))ÑÑå!9^#Ván&Ñ}Ãc!X5å!9^#Våë))))ÑÑë*T5å*M5&Ñ}Ã5ññÉÅÅ!9s#rë!9^#V!ÍÞt|µÊµÃ!9å^#Vás#rbk+Ãò!9ë*T5ës#rëÑÕ! ÍÞt|µÊ‘ÃJ!9å^#Vás#rbk+Ã'!X5å!9^#Våë))))ÑÑå!9^#Váå!X5å!9^#Våë))))ÑÑå!9^#Ván&Ñ}Ã7!X5å!9^#Våë))))ÑÑ å*M5&Ñ}ÃññÉÅÅbk9s#rëÑÕ!ÍÞt|µÊ‰Ãç!9å^#Vás#rbk+ÃÄ!9ë*V5ës#rë!9^#V!ÍÞ"Ê ëÑÁ7É©¿Ô))ø'):B(·Â$:­ ·ÈÍ„:­ ·Êr¯2­ *¼ ë*Æ ÕëÍëDM*¶ "¶ ë*=å "=Ñ*¾ ÕÍBKÑá"Æ Íö"¾ Íþ"à "ä *À "¸ åͶ'Ñ*È |’‡}“Ê ë~‡æ_|Åå!^#Vëé*¸ "È Ã (ÍMáãåÍ\ë~#¦+<Âlq#pÉÍMáãåÍ\ë^q#Vp{²ÂÅÉÍMáãåÅá#~æ@Õ+^+VëãëÂÁ{²Èr#sÅÍ\ë^#V{²ÂóÑr+sÉÁÃÅÍMáãåÅá~Oö@wyæ@+Ns+FrÅÕÁÑÀ{²ÈÃÅáå~2f ÍMáãå*¸ :f æöÀw+r+s+p+q+"¸ Éáã~+V+^+F+N+ãå*à ·úeëëæ@À DMÉå!´ÍÐ`iÍ"ÑÍN*=Í… Òˆ*;ëÍëÍ"ÍPÍNáÑÕå!åÍ"ÍNÑ*À ÍëÍ"Í”É%%Bad fixup offset entry, will be ignored Value Loc Entry A Entry rel. >Ú>Ú>Ú>ÅþÒ<2Z=OÕåþ!Æ Ú$!º ^#VáþÚ0åëÍõyþÚ=ñáõñåÒUyþ?Ú\ÕÍõÍ… Ñ?Ú\õÅÍ|Áñõyþ!¼ Úi!Ä ñÑÒus#rÃx^#VëÑÁÉåÕÍžÕÍÚàÊàáÍõ!Ú p#”*Ä å!Ì N#F#~#foå!Ô Õ^#Vë ÑÁëãÅå Áëáãëå!È ~#foëãÍ… ÑÒHå!Ú {_{‡_~á·ÊHã!Æ Õ^q#Vpëãëáãå!¾ ëãë~s#_~rWáãëÕÍáã}ãë·Ê&õ:µ ·Ê$ñ#ÌqåÅáÁåÍ… ÔÜöáÑ{_å!Ú 6ë)ëÁÅ`iÁ{þÚ !Ú ¯†#ÂY·Âš*Ò ë*È 6* Íë"Ê *Ì ë*Ä "¼ ÑáÉõÅÕåÍžë*Ü ëÍ… Ò™"Ü áÑÁñÉÅÕ!¼ yþÚ¬!Ä ^#V þÚ»õÿ F#fhþÚÆëÍáå!¼ Õ^#VÕ ^#VãëÍáãã÷ÿÂÕáÑÁÉyÕå!¼ ^nu choice at row,column allow entries between and including lobound and hibound */ entchoice(row,column,lobound,hibound) int row,column; char lobound,hibound; { int okchoice; char command; okchoice = FALSE; while(okchoice == FALSE) { curpos(row,column); putchr(' '); putchr(BKSPC); reverse(); command = inpdchar(); /* input command */ nreverse(); if ((command >= lobound) && (command <= hibound)) okchoice = TRUE; else putchr(7); /* alarm */ } return(command); } /* display system track I/O error if any */ sioerr() { extern char retcod; if (retcod != 0) curpos(20,5); if (retcod == 1) putst("No disk in drive or unformatted"); if (retcod == 2) putst("Disk is wrong density"); if (retcod == 3) putst("Hard write error"); if (retcod == 4) putst("Hard read error"); if (retcod != 0) { curpos(21,10); #VÕ^#VáõÍñ¹Âáåë!Ì s#r GyþxÂûá!Ô ãÍ@ãs#r#Â1áÉxÖÊS|W}_ÕÍëÑëëÉÕÅûÿx2µ *È ·Í¯2µ ÁÑÉëåy•oxœgÕë*¶ "¶ ë*="=*?PYÍ… Ú™"?ÑáëÉÕ:´ þʹ=¯ë*¶ ë!"¶ ëÑÉåë*¶ ë*Æ Í… áÒ¯ëïÍ�ÂâÕë*={•OzœGëÑÉåÕë*Ä ëÍ*Þ DMÑá7Éx±Èw# Ãö åë +x±Êß~+ Ãx±Èw+ Ã:³ 7=øåÅþÌ{î‡O·Ê>:­ ·7ÂJëÍõÍÍØëÁáÉ?Intersecting õÅåÿÍåÒwOÕÍõÍØëÍáëáÁñÉ*¼ Í… Ÿ<É26ÍØåÅ:³ þ?ŸæOÊ£:­ ·ÂJÍØÍ… ÒJÍþëÍ… ëÒJå!MÍá>,ÍP*6&0M^#VëÍÐy·ÂàáÍÿÃö!HF#~#ÍPÂå>(ÍPáÍÿ>)ÍPÃö:³ þŸæÍõÍÃ" Start = External Public = %Ð*€ putst("Press to continue"); inpchar(); blank(20,5,31); blank(21,10,26); } } /* display IO menu */ iomenu(iotype) char *iotype; { header(); /* clear screen and display program title */ progdesc(); /* display program description */ arraysource(6,9); /* display source of memory array */ curpos(8,4); reverse(); putblank(); putst(iotype); putblank(); nreverse(); curpos(10,4); putst("Do you want to:"); iomen1(); iomen2(); curpos(14,9); putst("3 - Exit to the Main Menu"); } iomen1() { extern char *ioC1; curpos(12,8); putblank(); putst("1 - Use the "); putst(ioC1); putblank(); } iomen2() { extern char *ioC2; curpos(13,8); putblank(); putst("2 - Use the "); putst(ioC2); putblank(); } iochoice() { curpos(16,9); putst("Enter selection "); }  ÍçÂ"!Íç2Z!:Z·ÈÍçÊ?!ÍØÍ™!ÍþÍ™! yþÂ-!*Þ ë*à Í… Ü #*Ä Í"Íá ÍõåÍáÍ… áÂ|!ë*SëëÍ… Ô"yþÂb!Íáë*SÍ… Ô"ÃàÍ… Úµ!ë*SÍ… ëÚ®!Éå!á!ù!å!Û!å!ç!ÍÐáÍÐ!ï!ÍЯ2¬ ÍùÍÚþYáÈÃxbelowaboveOrigin loader memory, move anyway(Y or N)?ÅÕëÍþÕëÍØÍ… ëÑÊ0"Í… ÜD" ò"!Í… ÜD"ëÑÁÉÅåy·ÂS":® ·ÊW"¯Æþ*SÊ€"Úa"¯OÍØÕëÍþÍ… ëÑ€"y·*S€"!à ÍÛÍ… Ò‡"ë!9ùáå;;;;;;ëÍ… ÚÅ"ãÍ… Ú£"ëáÕÍz·ÑÊÉ"&'7ÍÌ"Ú¿"ÍÌ"ÊÉ"ÁÁÁÁÁÉÑëÁÉëÁÉÅÕåÅáõÍ… Ú#ñÑÕõëÍ… Ú#ñÒî"áÁÅåÅáëÕÍz·Êý"ÑÁÁÁ7ÉÑáÑÁ¯ÉÁáÑÁ·É*¼ ";*¾ "=*Ä ë*;ÍÂ)#³ÊÉ#ò+#€KPÅ*;åÍë";ë!æÍöÑ*¼ ÕÍBK±Ñ*;Äö*Æ ë*=ÍÁÅÂl#³Ê®#¹Òl#O*¼ ÑÍ*Æ ÅëÍö"¼ *Æ ÑÕë*=ÍBK*Æ ÑÕëëÍö*=ÑÕÍë"=æÁÍöÃ#PY*¼ Íë"¼ *Æ ÑÕÍë"Æ Ã˜#*Æ ë*=ÍÚæ#BK³*Æ ë*¼ Äö"¼ *à ë*Þ "à ë"Þ *="Æ *;"Ä Éþ È!” 8$Å~þRÀ#~þEÀ#~þLÀ4$:cæÊ)$7$w+Â)$ÉCOMHEX`$ÅæÍ‹ ÍðÍ‹ Í<Êõ%¯2º É:® ·Ê$ÍçÊ}$*à ë*Þ Í… Ú$!c~æÊŒ$‹ Õ~æÊÆ$:\·Ê²$:® ·µ$*QåëÍ\ë"Ä á"Þ Í&yîO:® ·Ä&Íw&Ã%*Q|µÊõ$Í… Êõ$ÍÙ%Í… Úõ$€Í… Òù$Í.%Í>%7Ô’%ÍR%:verse(); curpos(10,4); putst("Do you want to:"); iomen1(); iomen2(); curpos(14,9); putst("3 - Exit to the Main Menu"); } iomen1() { extern char *ioC1; curpos(12,8); putblank(); putst("1 - Use the "); putst(ioC1); putblank(); } iomen2() { extern char *ioC2; curpos(13,8); putblank(); putst("2 - Use the "); putst(ioC2); putblank(); } iochoice() { curpos(16,9); putst("Enter selection "); } ror"); if (retcod != 0) { curpos(21,10); putst("Press to continue"); inpchar(); blank(20,5,31); blank(21,10,26); } } /* display IO menu */ iomenu(iotype) char *iotype; { header(); /* clear screen and display program title */ progdesc(); /* display program description */ arraysource(6,9); /* display source of memory array */ curpos(8,4); reverse(); putblank(); putst(iotype); putblank(); nre® ·Ê%ÍþëyîOÍçÊ%Í>%ÍR%:º ·Ä‚%‹ Í<Êõ%É>ÃÍh%*Q}Íh%|Ãh%ÍØÍسȯÍh%z³ÂG%ÉÍä%ÍáëÍz³È~#Íh%Ã\%Õåõ!æ:º _ñw{<ü‚%2º áÑÉÅ‹ Í·Âõ%Á¯ÉÍÙ%"Ã%åÅyîOÍþÁÑÍë#"Æ%éÿ!Â%Í\%Í.%f¯Íh%¹%É!€ ë ~+ x±Â :_·ÊØ*QÉ:_·ÊõÅ*QëÍ\ÁÉ!û%Ãã?Can't save object fileÍþëÍØëÕÍ{²áÈÅåÕÍõëÑ{Ö _zÞWÚ;&> ÃA&{Æ ·ÂH&ÁÁÉO>:Íh%yÍãÕÍü YÑã¯Í~#Í Âc&¯�ÍÍÃ+&>:Íh%¯GÍ*QÍü >ͯ�ÍÍ>Ãh%å!*'Íž'!0'Íž'!3'Íž'!9'Íž'##²&##Íž'##¿&#Íž'!z'Íž'!…'Íž'Õ*Ä "‰'ë*¼ Íë"‡'*Þ "‹'*Æ "�'ë*¾ Íë"�'*à "‘'ÑáÁùÅë&'mÃ&'Í“'Ã,'ÍV'ÚG'ÍV'Ôl'Ü|'ÍV'Ãl'Í|'ÍV'Ôl'Ü|'É!‡' N#F#^#V#~#fo|’À}“É ë +x±È~+ Ãq'x±Èw# Ã|'x±Èw# Ó'ÅåÕ~#fo&'ÍëÑåÁáq#pÁÉ:B(·ÈåÑ*È Í… Èë~æþ¼'ÅåÊÍMáãéÍ(:J2A(*;"¼ ¯2ê ÍU6Æ+:A(wÃAÍMáãåzõÍ(ñ2A(·ÈÃ7(:B(·ÈÍ(*;"¼ É:A(·È2B(Íçë*;r#s+:A(Ãi(*;Í¢("¼ ɯ2A(2B(!°* p# ÂP(!HN#°*~# Â^(ÃAåÕr#sÍ *Íï)Ñ{æÊ…({æ€Æ€_Ò…(z³áÊž(ÕåÍÇ)á€ã€ÿëÃ…(Í£)ÉåÍ *ÍÚ)!.*Í´)!.*V#^áÍö(Úí(Õ€Íþ(Ñå!€ÿëáÍö(ÚÞ(ÕåÍ´)á€ÃÃ(z³Êð(å!.*ÕÍ´)ÑáÍþ(åÍ£)áÉz·À{·ø7É.t|µÊdÃ!9å^#Vás#rbk+Ãô!X5å!9^#Våë))))ÑÑå!9^#Váå!X5å!9^#Vbk#Õ))))ÑÑå!9^#Ván&Ñ}à !X5å!Õ))))ÑÑå!9^#Váå*M5&Ñ}ÃÔññÉ;*G5|µÂ´9å!å#å*I5å!åÍ»ë9ùásëÃû*G5+|µÂÜ9å!å#å*I5å!åÍ©ë9ùásëÃû!9å!å#å*I5å!åÍ—ë9ùásëáå&åÍå ñ!å#å.2åÍ¥*ñññ3ÉÅÅ!9s#rë!9^#V! ÍÞt|µÊ·ÃJ!9å^#Vás#rbk+Ã"*Q5å!9^#Váå*O5åÍœ,ññbk9s#rëÑÕ!ÍÞt|µÊ7ÃŽ!9å^#Vás#rbk+Ãk!X5å!9^#Våë))))ÑÑå!9^#Ván&åÍÄñÃ{ññÉ*¤6å!9n&ëÍ!tÍ tÑn&åÍÄ*¤6ã!9n&Í tÑn&åÍÄñÉ!å.åÍ»Pññ!å.åÍœ,ññÍõ,Ív*£6&åͺñÍvÍ-!¸.åÍÕñ!å.åÍœ,ñ!ã.ãÍÕñÉÍ…,ÍZÍ÷Í} Í£É!å.åÍœ,ñ!ü.ãÍÕñ! å)åÍœ,ñ!/ãÍÕñ! å.åÍœ,ñ!,/ãÍÕñ! å.åÍœ,ñ!G/ãÍÕñ! å.3åÍœ,ñ!_/ãÍÕñ!å.åÍœ,ñ!t/ãÍÕñÍ} É!å.åÍœ,ñ!’/ãÍÕñ! å.åÍœ,ñ!§/ãÍÕñ! å.åÍœ,ñ!Ë/ãÍÕñ! å.åÍœ,ñ!í/ãÍÕñ! å.åÍœ,ñ!0ãÍÕñÉ!å.#åÍœ,ñ!(0ãÍÕñ! å.åÍœ,ñ!?0ãÍÕñ! å.åÍœ,ñ![0ãÍÕñ! å.åÍœ,ñ!m0ãÍÕñ! å.åÍœ,ñ!†0ãÍÕñ!å.åÍœ,ñ!ž0ãÍÕñ!å.åÍœ,ñ!½0ãÍÕñ!å.åÍœ,ñ!Ó0ãÍÕñ! å.4åÍœ,ñ!î0ãÍÕñ! å.4åÍœ,ñ!1ãÍÕñ! å.4åÍœ,ñ!!1ãÍÕñ! å.4åÍœ*z³È w#Ã)æÆ0þ:wØÖùwÉ:®*!;)õÍ )+ñÍ )!1)ÃÐ?Segment , file not foundcan't create fileread errorDisk is fullÍ)!@)ÃãÍ)!O)ÃãÍ)Í£)!a)ÃãÍ)Í£)!l)Ãã.*ͯ*ÍÉëͯ*ͷ‹)Éëͯ*ͷ—)É.*ͯ*Í<Êy)É.*ͯ*ͯ*Í<Ê‚)Éõ2®*!º*Í )ñ+Í )##¯2¯*w# Â'*É V 0Ù7ë*Ó7w# Âq"Ó7ëÑz·ÌˆCÄÞCÂíp!"ú6ÉÍUq!êvÍöj:ñv·ò>qÍnp>Ív&Àõ:*·Ê|tå!Hv:Gv–áÒ6qñÉ:*·Ênq*"v|·> Äv&}þð> Ôv&:êvþ�>Äv&:îvþ�È>Ív&͉qÃ�pÅÕå*hvë*Ù7ëãÍŽÒ¥rã:ïu·Â®qïqãÍŽÒ¥rãÍÊtÊWr|·Â¦qÍîqõÍëtúûqÍîqÚØq:Iv·õÌLrñ=Ì{rñÚ¦qÂçqÍLræqÍ{ræqå!Dv:Iv¾á7È·Éñ:Iv=Ê4rÍLrÍ;r:Gvo&A> ÍôtÒrÂrÃ1rÍàuÃ(rÍ;r>3IvxÍeÃ�qÍ{rAÃ%råÍQr*Ù7#"Ù7ÍàuëáÉ>2Ivë͈CëÉ>Íìt:Iv=õÌ{rñÄLrÍnræq¯go2Dv2IvÉÈ#ÉëÍÞCë>2DvÉ>2Dv2Ivå*Gv&"hv|2ïuáÉÍ” êxr+É!Dvf:IvoÕ=ÄLrÑÕÍ{r}2Iv|2Dváá"hvÑÁ>ÿ2ïuÉ*Gv|•gåÕÅ*Gvå͹RÜ8ÍÆL͉V*Gvëá"Gv¯2AvÁá"Ev`i"Bv¯2?v< ,ñ!81ãÍÕñ!å.4åÍœ,ñ!Q1ãÍÕñ!å.4åÍœ,ñ!b1ãÍÕñ!å.4åÍœ,ñ!s1ãÍÕñ!å.4åÍœ,ñ!‡1ãÍÕñÍ} ÉÅÍÕ,!å.åÍœ,ññ! å.ålåÍeñññ!å.åÍœ,ññ! å.å.åÍeñññ!å. åÍœ,ññ! å.å.åÍeñññ!å.åÍœ,ññ! å.ålåÍeñññ!å. åÍœ,ññ!Bå.ålåÍeñññ!å. åÍœ,ññ!å.å.åÍeñññ!å.MåÍœ,ññ!å.å.åÍeñññ!å. åÍœ,ññ!Bå.ålåÍeñññÍå,!å.åÍœ,ñ!›1ãÍÕñ!å.åÍœ,ñ!¥1ãÍÕññÉÅÍ{bk9s#rëÑÕÕ! 9^#VáÍßt|µÊÏÜ!9å^#Vás#rbk+Ãs!9n&åÍÄñ!9^#Vbk+|µÂ‰Í‹! åÍÄ!ãÍÄñÍ{ÉÍ‹ñÉÅbk9s#rëÑÕÕ!9^#VáÍßt|µÊ3Ã!9å^#Vás#rbk+Ãß! 9^#VÕ!9^#Váå! 9^#VÕ!9^#VÕÍ¥*ñññÃõñÉ!å.å. å++åÍÔë9ùëÉ!å.å. å.?åÍÔë9ùëÉ!å. å.:åÍ¥*ñññÉ! åÍÄñÉÅÅ;*¦6åÍ-ñ|µÂ“ññ3É!9s#rë!9^#V!ÍÞt|µÊêÃÆ!9å^#Vás#rbk+Þ!Oå!9^#Váå!ÏOå!9^#Ván&Ñ}ó!9s#rë!9^#V!$ÍÞt|µÊA à !9å^#Vás#rbk+Ãõ!ôNå!9^#Váå!©Oå!9^#Ván&Ñ}à *ÍOåÍ.Z*§Oã͇Zñ!å. åÍœ,ñ!©1ãÍÕñ!9å!å.1å*ÍOå*§OåÍySë9ùás#r!9^#Vbk|µÂœ ÍeÍ^)ññ3É!å!'OåÍÏuññ}2àO!å!©OåÍÏuññ}2àO*àO&ÿ|µÂû .å.åÍœ,ñ!Ñ1ãÍÕñÍZ-Íe!å.å..åÍ¥*ñññÍ^)ññ3ÉÍe!)É!å!¿NåÍÏuññ}2àO*àO&|µÊJ)!"³6.å.åÍœ,ñ!+3ãÍÕñÍZ-!å.å.5åÍ¥*ñññÉ!"«6!'O(O6í°ÉÅbk9s#rëÑÕ!ÍÞt|µÊ°)ÃŒ)!9å^#Vás#rbk+Ãi)!ÏOå!9^#Váå!Oå!9^#Ván&Ñ}Ãy)bk9s#rëÑÕ!$ÍÞt|µÊ*ÃÝ)!9å^#Vás#rbk+ú)!©Oå!9^#Váå!ôNå!9^#Ván&Ñ}ÃÊ)ñÉÅbk9s#rë!9^#VÕ!9^#Ván&|µÊV*Ã=*!9å^#Vás#rbk+Ã*!9^#VÕ!9^#VáåÍX*ñÃ**ñÉ!9^#Vën&aÍët|µÊ‚*!9^#Vën&zÍêtÃ…*!|µÈ!9^#VÕ!9^#Vën&_Í tÑ}ÉÅ!9^#VÕ!9^#VÕÍœ,ññbk9s#rëÑÕÕ!9^#VáÍßt|µÊù*Ãî*!9å^#Vás#rbk+ÃÅ*! åÍÄñÃÛ*ñÉÅÅ;!9s#rë!9^#Vbk|µÂ–+. 9^#VÕ! 9^#VÕÍœ,ñ! ãÍÄ!ãÍÄñÍõ,!9å͆-_Í tÑ}Í-áå&§ÿ|µÂr+bk9s#rë9s#rëáå&²ÿ|µÂ +#9s#rë9s#rëà +!9^#Vññ3ëÉÍ…,Í`,!å. åÍ»Pññ!å.åÍœ,ñ!`3ãÍÕñ! å+åÍœ,ñ!p3ãÍÕñ! å++åÍœ,ñ!£3ãÍÕñ! å. åÍœ,ñ!Ê3ãÍÕñ! å. åÍœ,ñ!å3ãÍÕñ!å. åÍœ,ñ!4ãÍÕñ!å. åÍœ,ñ!<4ãÍÕñ!å. åÍœ,ñ!h4ãÍÕñÉ!å.åÍœ,ñ!}4ãÍÕñÉ!å#åÍœ,ñ!—4ãÍÕñ!å#åÍœ,ñ!Õ4ãÍÕñÉÍÌ,!å.åÍœ,ñ!ð4ãÍÕñÉ!åÍÄ!=ãÍÄñ!9^#V!åÍÄñ!9^#V!åÍÄñÉ!åÍÄñÉ!åÍÄ!)ãÍÄñÉ!åÍÄ!(ãÍÄñÉ!åÍÄ!jãå. åÍœ,ñ!ý1ãÍÕñÍõ,Ív!ÏOåÍÕñÍvÍ-!"E5!©O s!¨6##së"­6!€"«6l"µ6*­6Íßt|µÊj!*µ6ÍÐtÃm!!|µÊ4"!9s#rë!9^#V! ÍÞt|µÊ«!Ã¥!!9å^#Vás#rbk+Ã}!ͳ#Ã’!!"¯6*¯6Íßt|µÊû!!¨6åͳ#Ñ}!¨6#åͳ#Ñ}!½Fë*­6å!¨6åÍ‘"ñÑ}*¯6#"¯6+*­6#"­6+ñ!!9s#rë!9^#V!ÍÞt|µÊP!Ã."!9å^#Vás#rbk+Ã"ͳ#Ã"!å!©OåÍÏuññ}2àO!å. å.*åÍ¥*ñññ!å. åÍœ,ñ!2ãÍÕñÍõ,Ív!ÏOåÍÕñÍvÍ-!"ÞO.å. åÍ»Pññññ3ÉÅÅÅÅ!9s#rë9s#rë9s#rë!9^#Vbk|µÊ¥#!9å! 9^#VÕ! 9^#Ván&Ñ}!9n&0Íët|µÊ#!9n&9ÍêtÃ#!|µÊ#!90sëÃW#!9n&AÍët|µÊ8#!9n&FÍêtÃ;#!|µÊL#!97sëÃW#!9s#rë!9^#Vbk|µÊ”#!9å!å.9^#VáÍötå!9n&Ñå!9n&ÑÍeuÑës#rë!9å^#Vás#rëö"!9^#V!9ùëÉ;*µ6+|µÂ¿#3É*«6€ÿ|µÂ$.å!©OåÍÏuññ}2àO*àO&|µÊ$!å.åÍœ,ñ!22ãÍÕñÍZ-!å.å.-åÍ¥*ñññ!"µ6!"«6!9å!'Oë*«6n&Ñ}*«6#"«6+áå&3ÉÅÅÅ*ãNåÍ.Z*½Nã͇Zñ!å. åÍœ,ñ!_2ãÍÕñ!9å!å.2å*ãNå*½NåÍySë9ùás#rÑÕbk|µÂŽ$ÍeñññÉ!å!¿NåÍÏuññ}2àO*àO&ÿ|µÊ %!å!¿NåÍÏuññ}2àO!å.åÍœ,ñ!ˆ2ãÍÕñ!9å!å.1åÍû*ññÑës#rÍe!å.å.-åÍ¥*ñññ!9^#ÍÄñÉ!åÍÄ!kãÍÄñÉÅbk9s#rëÑÕ!ÍÞt|µÊX-ÃC-!9å^#Vás#rbk+à -!½Få!9^#VásëÃ0-ñÉ;bk9sëáå&|µÂ€-9å!å.ÿåÍÏuññÑ}Ãc-áå&3É;!9åÍZ-Ñ}áå&åÍ¡-ñáå&3É!9n&ÍÞt|µÊÃ-!9n&ÍßtÃÆ-!|µÈ!9n&åÍÄñÉ0123456789ABCDEFContinueeditcopyMain System SetAlternate System SetOK to exitThe character set has not been saved. ? (Y/N)Enter character to in hexadecimal Enter character to in decimal Enter the character to is the HEX value of the current characteris the current characterCharacter Selection MenuH - Entry by HEX valueD - Entry by decimal valueC - Enter the character - Done editingSelect Character Entry MethodCharacter Entry MenuUp Arrow - return to selection menuRight Arrow - edit next characterDown Arrow - edit same characterESC - return to main menuCharacter Editing MenuPosition Cursor with Arrows. - turn pixel on - turn pixel offQ - Quit without update - done editing this charI - Invert all pixelsC - Copy another characterL - shift characteVbk|µÂ %ñññÉÍe!å. åÍœ,ñ!´2ãÍÕñÍõ,Ív!åNåÍÕñÍvÍ-!å!¿NåÍÏuññ}2àO!å!¿NåÍÏuññ}2àO*àO&ÿ|µÂ�%.å.åÍœ,ñ!Î2ãÍÕñÍZ-!å.å.DåÍ¥*ññññññÉ!å!'OåÍÏuññ}2àO!¿N së"«6!"­6"±6"³6*­6Íßt|µÊØ%*³6ÍÐtÃÛ%!|µÊæ%ÍÈ&þ%!ýåÍd(ñ!9s#rë!9^#V!ÍÞt|µÊ,&Ã!&!9å^#Vás#rbk+Ãù%!åÍd(ñÃ&!ÿåÍd(!þãÍd(ñ*³6|µÂ›&Í)*³6|µÂ›&.å!¿NåÍÏuññ}2àO!å. å.*åÍ¥*ñññ!å. åÍœ,ñ!3ãÍÕñÍõ,Ív!åNåÍÕñÍvÍ-!"E5*³6+|µÂÄ&.å!¿NåÍÏuññ}2àO!å. å.*åÍ¥*ññññññÉÅbk9s#r!ýåÍd(!ãÍd(!ãÍd(ñ!9å!9^#V!ðÿÿÍ tÑës#r*±6 ëÍ!tÍ tåÍd(ñ*±6ëÍ!tÍ tåÍd(ñ!9å!9^#VÕ*±6ëÍ!tÑÍeuÿÍ tÑës#r*±6ëÍ!tÍ tåÍd(ñ*±6Í tåÍd(ñ!9å!9^#VÕ*±6ÿÍ tÑÍeuÿÍ tÑës#rë"¯6!åÍd(!ãÍd(ñ*¯6Íßt|µÊ4(!½Fë*­6n&ëÍ!tÍ tåÍd(ñ!½Fë*­6n&Í tåÍd(ñ!9å!9^#VÕ!½Fë*­6n&ÑÍeuÿÍ tÑës#r*­6#"­6+*¯6#"¯6+*±6#"±6+ñ'ÑÕ!Í!tÍ tåÍd(ñÑÕ!Í tåÍd(!ÿãÍd(!þãÍd(ññÉ*³6+|µÈ!9n&ÿ|µÂ‹(!'Oë*«6 sëÃí(!9n&ÿ|µÂ«(!'Oë*«6 sëÃí(!9n&ÿ|µÂË(!'Oë*«6:sëÃí(!'Oë*«6å*¤6å!9n&Í tÑn&Ñ}*«6#"«6+*«6€ÿ|µÀÍ!r LeftR - shift character RightU - shift character UpD - shift character DownN - iNsert a rowE - dElete a rowS - inSert a columnT - deleTe a columnCharacterSetEnter the file to read (d:filename.typ)File not found. Press any key to continue.Reading character set from Character set read from EOF in file read. Press any key to continueEnter the file to write (d:filename.typ)File already exists. OK to continue? (Y/N)Writing character set to Full directory on file creation - Press any character to continue.Character set written to Disk full on file write - press any key to continue.Do you want to:1 - Read the systems tracks into the character set2 - Read a file into the character set3 - Edit the character set4 - Write the character set to the system tracks5 - Write the character set to a file6 - Write the character set to the font RAM7 - Exit the programEnter your choice (1 - 7)This program allows you to edit a character set in memory andstore it on various media.Osborne Executive Character Font Generator V1.1!SãÍÕñÍõ,Ív*ÞO|µÂQ!oSåÍÕñÃzQ*ÞO+|µÂ3Q!ÏOåÍÕñÃzQ*ÞO++|µÊIQ*ÞOÍÐtÃLQ!|µÊfQ*35åÍÕñ*ÞO++åÍ�QñÃzQ*15åÍÕñ*ÞO++++åÍ�QñÍvÍ-ÉÍv!9^#V!AåÍÄñ͘QÉ!:åÍÄñÉÅÍÌ,bk9s#rëÑÕ!ÍÞt|µÊûQÃÒQ!9å^#Vás#rbk+ïQ!å!9^#Vá"/5!½Få!9^#Ván&"-5Í�sÿQñÉÅbk9s#rëÑÕ!ÍÞt|µÊJRÃ+R!9å^#Vás#rbk+ÃRÑÕë"/5!»6å!9^#Ván&"-5Í�sÃRñÉÅbk9s#rëÑÕ!ÍÞt|µÊ£RÃzR!9å^#Vás#rbk+ÃWR!å!9^#Vá"/5!»>å!9^#Ván&"-5Í�sÃgRñÉÅÅbk9s#rë9s#rë!9^#VÕ!9^#Ván&0Íët|µÊøR!9^#VÕ!9^#Ván&9ÍêtÃûR!|µÊMSÃS!9å^#Vás#rbk+üR!9å! å.9^#VáÍötå! 9^#VÕ!9^#Ván&ÑÐÿÑës#rëÃSÑñëÉThe working character set is a new setÅÅÅÅÅÅÅÅÅÅÅÅ!9s#rë!9^#Vbk|µÂÓX.9^#VÕÍ.Zñ!9^#VÕ͇Zñ! 9^#VÕ! 9^#VÕ!åÍ¥*ñññÍõ,! 9^#VÕ! 9^#VÕÍœ,ññ!9å!9^#VÕ!ålåÍ…\ñññÑës#rÍ-!å.å.FåÍ¥*ñññ!9^#Vbk|µÂ.Të9ùëÉ!9^#VÕÍ*ñ!9s#r!9^#V!ësë9s#r!9^#Vbk#n&Æÿ|µÂÝT.9s#r!9^#Vën&¿ÿ|µÊ¢T!9^#Vën&BÍÐtÃ¥T!|µÊÈT!9^#VÕ!9^#Vën&¿ÿ#Ñ}ÃÝT!9s#rÍ!Z!ÐZåÍÕñ!9s#r!9^#Vbk+|µÂ�V.9s#rë9s#r ë9s#rë!9^#VÕ! 9^#VáÍßt|µÊ`U! 9^#V!ÍÞt|µÊ`U!9s#rë|µÊ`U!9^#V!ÍÐtÃcU!|µÊVÃ~U!9å^#Vás#rbk+ÃU!9å!9^#VÕ!9^#Ván&å!åÍ,YññÑës#r!9^#VÕ!9^#Ván&Òÿ|µÂÐU.9s#rëÃkU!9^#Vbk#å! 9^#Váå!9^#VÕ!9^#Ván&Ñ}! 9å^#Vás#rbk+ÃkU! 9å!9^#Vás#r! 9^#V!øÿ|µÂKV.9^#VÕ!9^#Ván&.ÍÐtÃNV!|µÊmV!9å^#Vás#rë9s#rë! 9^#Vbk|µÂ�V.9s#rÍ!Z!åZåÍÕñ!9^#Vbk+|µÂ�X9s#rë9s#rë!9^#VÕ! 9^#VáÍßt|µÊÔVÑÕ!ÍÐtÃ×V!|µÊZWÃòV!9å^#Vás#rbk+ñV!9å!9^#VÕ!9^#Ván&å!åÍ,YññÑës#r!9^#V! å!9^#Váå!9^#VÕ!9^#Ván&Ñ}!9å^#Vás#rbk+ÃßV!9^#V!Íßt|µÊ|W!9^#V!ÍÐtÃW!|µÊ™WÍ!Z![åÍÕñbk9s#rëÑÕbk+|µÂ�X.9^#Vbk+|µÂÖW.9^#Vbk|µÂ�XÍ!Z![åÍÕñbk9s#rëÃ�X!9^#Vbk|µÂ‡X.9^#V! Cs!9^#V! Hs!9^#V! Rs!9^#VÕ!9^#Vá.s!9^#VÕ!9^#Vá#Cs!9^#VÕ!9^#Vá##Hs!9^#VÕ!9^#Vá###Rs!9^#VÕ!9^#Vá####sëÃ�XÍ!Z!#[åÍÕñ!9s#rë!9å!9^#Vë|µÊÇX!9^#Vë|µÊÇX!9^#VëÃÊX!Ñës#rëÃ�S!9^#V! s!9^#V! s!9^#V!sÍòOÃçOÉͦPÃîOÉ*+5}2ïO*)5}2ðO*'5}2Ný*#5}2ñO:ñO2Pý!½F"KýÛ2Jý:ðO2MýÍ�PÂ]PÍuPÂcP*%5}…G:QýË�°2Qý:ïO·ÊRPÍ™PÂiPÃXPÍ“PÂoP¯2"5É>2"5É>2"5É>2"5É>2"5É!Qý~þ ʃPþŠPxþŠPÉöÿÉ`ßPZßP]ßP:g.Zé*#5}2PýÍ�Px2"5:Qý2!5É!9^#VÕ!9^#VÕÍœ,ññ!9^#VÕ!9^#VÕ!AåÍ¥*ñññ!9^#VÕ!9^#VÕÍœ,ñ!Q"!9^#V!s!9^#V! sÍ-!ë9ùëÉÅÅÅ!9ë!6[ës#rë9s#rë9å! 9^#Vás#rë!9^#V! ÍÞt|µÊZÀY!9å^#Vás#rbk+ÃXY! 9n&å!9^#VÕ!9^#Ván&ÑÍÐt|µÊmY!9s#rÍ!ZÍõ,Ív! 9n&àÿ|µÂÓY!C[åÍÕñÃßY! 9n&åÍÄñÍvÍ-!I[åÍÕñ!9^#Vbk|µÂZ!`[åÍÕñÃZ!e[åÍÕñ!9 s#rëÃmYñÑñëÉ!å.åÍœ,ññÉÅbk9s#rëÑÕ!ÍÞt|µÊuZÃ\Z!9å^#Vás#rbk+Ã9Z!9^#VÕ!9^#Vá sëÃIZ!9^#V!sñëÉÅbk9s#rëÑÕ!$ÍÞt|µÊÎZõZ!9å^#Vás#rbk+Ã’Z!9^#VÕ!9^#Vá sëâZñÉDrive must be A or BFile name can not be blankFile type too longBlank file typeFile name too long.><,;:=?*[] SPACE is invalid in a file typenameÅÍÌ,! å.åÍœ,ññÍ{!åÍÄñÍ‹!ú[åÍÕ!\ãÍÕ!3\ãÍÕñ!å.åÍœ,ññÍ{!åÍÄñÍ‹!F\åÍÕ!]\ãÍÕ!s\ãÍÕñbk9s#rëÑÕ! NÍÞt|µÊø[!9å^#Vás#rbk+ÃØ[ñÉ 1983 Osborne Computer Corporation, 26538 Danti Court, Hayward, CA 94545 1984 Future Systems, 828 Nob Hill Avenue, Pinole, CA 94564ÅÅÅ;bk9s#rë9s#rë!9^#Vbk|µÂi^.9åÍZ-Ñ}!9n&vÿ|µÊö\!9n&tÿ|µÊö\!9n&uÿ|µÊö\!9n&ÍÐtÃù\!|µÊT]! "+5##")5++"'5#"%5ÍáOÃ6e!"+5.9^#Vë")5!"'5++"%5ÍáOÍ3h*"5&|µÂ˜e.å. åÍœ,ññ!9^#VÕÍÕ!jjãÍÕñ*#5AåÍÄñ͘Q!vjåÍÕñ!"E5##9^#V*#5"ÞO!å. åÍ»PññÉ!å. å.$åÍ¥*ñññÉ!ukå͇Z!ukã!9^#Vás!uk#å!zjåÍÝlñ!ã!'OåÍÏuññ}2àO!å!ukåÍÏuññ}2àO*àO&ÿ|µÂf.}2"5É!uk së"µ6!uk s€ë"«6!"­6*­6Íßt|µÊZfÃHf*­6#"­6+Ã,f!½Fë*­6å̓fÑ}Ã=f!å!ukåÍÏuññ}2àO*µ6+|µÂ{f.}2"5É!}2"5É*µ6+|µÂ�fÉ*«6€ÿ|µÂ¿f.å!ukåÍÏuññ}2àO*àO&|µÊ¹f!"µ6!"«6!'Oå*«6#"«6+Ñn&ÉÅÅ;!å. åÍœ,ñ!†jãÍÕñ!9s#rë!9^#Vbk|µÂ|g.å.1åÍœ,ññ!9åÍZ-Ñ}!9åÍX*ñáå&¿ÿ|µÊFgáå&¾ÿ|µÊFgáå& ÍÐtÃIg!|µÊqgbk9s#rë9å!9n&¿ÿÑës#rëÃòf!åÍÄñÃòf!å. å.+åÍ¥*ññññ!9^#Vñ3ëÉÅ;!9s#rë!9^#Vbk|µÂ.h. 9^#VÕ! 9^#VÕÍœ,ñ! ãÍÄ!ãÍÄñÍõ,!9å͆-Ñ}Í-áå&å! 9n&ÑÍêt|µÊháå&å!9n&ÑÍëtÃh!|µÊ#hbk9s#rëÃ¥g!åÍÄñÃ¥gá&3É*"5&|µÊIh!å.åÍœ,ññ*"5&+|µÂ\h!®jåÍÕñ*"5&++|µÂph!ÎjåÍÕñ*"5&+++|µÂ…h!äjåÍÕñ*"5&++++|µÂ›h!õjåÍÕñ*"5&|µÈ!å. åÍœ,ñ!kãÍÕñÍZ-!å.å.åÍ¥*ñññ!å. å.åÍ¥*ñññÉÍ…,Í`,!å. åÍ»Pññ!å.åÍœ,ññÍõ,Ív!9^#Vbk+|µÂI].9s#rë9n&åÿ|µÂ4]##9Žs#rëÞ\!9å!9n&Ñës#rëÞ\!åÍÄñÞ\!9n&óÿ|µÂ‚].9s#rë9å!9^#Vás#rëÞ\!9n&sÿ|µÂÛ]9^#V!Íßt|µÊÐ]!9å^#Vás#r!åÍÄñÍ-! åÍÄñÍõ,!åÍÄñÞ\!åÍÄñÞ\!9n&ÍÞt|µÊý]!9n&ÍßtÃ^!|µÊ^^ÑÕÕ! 9^#VáÍßt|µÊS^! 9^#VÕ!9^#Váå!9n&Ñ}!9n&åÍÄñ!9å^#Vás#rbk+Þ\!åÍÄñÞ\!åÍÄñÞ\! 9^#VÕ!9^#Vás!9^#V!9ùëÉ;!9å!å.å.1å##å͘gë9ùásë9n&3É;!•iåÍÚhñ!9 sëáå&Íÿ|µÊ_Í�i!9åÍŒ^Ñ}!å. å)åÍ¥*ñññáå&Ïÿ|µÂ_Í_ÃÆ^áå&Îÿ|µÂÆ^Í{_ÃÆ^Í¢+3ÉÅbk9s#rëÑÕ!ÍÞt|µÊm_ÃI_!9å^#Vás#rbk+Ã&_!»6å!9^#Váå!½Få!9^#Ván&Ñ}Ã6_!"·6+åÍÚ_ññÉÅbk9s#rëÑÕ!ÍÞt|µÊÍ_é_!9å^#Vás#rbk+Æ_!»>å!9^#Váå!½Få!9^#Ván&Ñ}Ö_!"¹6åÍÚ_ññÉ!å.åÍœ,ñ!«iãÍÕñ!9^#Vbk|µÂ`!ÍiåÍÕñÃ`!ÒiåÍÕñ!ÜiåÍÕñÉ;!üiåÍÚhñ!9 sëáå&Íÿ|µÊµ`Í�i!9åÍŒ^Ñ}!å. å)åÍ¥*ñññ!å. å.#åÍ¥*ñññáå&Ïÿ|µÂŒ`Íõ,Í=iÍ-!å*35åͺ`ññÍ=iÃ)`áå&Îÿ|µÂ)`Íõ,Í_iÍ-!å*15åͺ`ññÍ_iÃ)`Í¢+3ÉÍÑf"#5Íßt|µÀ!å. åÍœ,ñ!jãÍÕñ!9^#VÕÍÕ! jãÍÕñ*#5AåÍÄñ͘QÍè9^#VÕÍÕñÍvÍ-! å.åÍœ,ñ! kãÍÕñÍ=iÍ_i!å. åÍœ,ñ!0kãÍÕñÉ! å.åÍœ,ññÍv!JkåÍÕ*35ãÍÕñÍvÉ! å.åÍœ,ññÍv!WkåÍÕ*15ãÍÕñÍvÉ!å. åÍœ,ñ!dkãÍÕñÉWrite to the Font RAMCharacter set will be written to MainAlternate font RAM on program exit. Write to the System TracksWriting to written to ALTFONT SYSRead from the System TracksReading from read from ALTFONT SYSEnter drive (A, B, or to exit)No disk in drive or unformattedDisk is wrong densityHard write errorHard read errorPress to continueDo you want to:3 - Exit to the Main Menu1 - Use the 2 - Use the Enter selection Å!9^#VëDM`in&|µÊ´k`iäkÅ!9^#VáëÍeuÁÉÅ!9n&DMåÍäkñ|µÂßkÅÍ lñÃâk!ÁÉÅ!9n&DMAÍët|µÊl`iZÍêtÃl!ÁÉÅ!9n&DMaÍët|µÊ)l`izÍêtÃ,l!ÁÉÅ!9n&DM0Íët|µÊSl!9n&9ÍêtÃVl!ÁÉ!9n&ë!àÿ|µÊ�l!÷ÿ|µÊ�l!óÿ|µÊ�l!öÿ|µÊ�l!ôÿ|µÂ—l!ÍÐtÉ!ÍÐtÍÐtÉÅ!9n&DMaÍët|µÊÇl`izÍêtÃÊl!|µÊÙlÅ! ÑÍeuÁÉ`iÁÉÅ!9^#VëDM`iå!9å^#Vás#rbk+n&ÑO*"5&ûÿ|µÂa*!5&ÍÐtà a!|µÊYa!9^#V!ýÿ|µÂ@a*#5åÍÉañÃwa!"+5#")5++"'5#"%5ÍáOÃwa!"+5.9^#Vë")5!"'5++"%5ÍáOÍ3h*"5&|µÂ¸a.å. åÍœ,ññ!9^#VÕÍÕ!%jãÍÕñ*#5AåÍÄñ͘Q!"E5É!å. å.$åÍ¥*ñññÉ!ukå͇Z!ukã!9^#Vás!uk#å!2jåÍÝlññ!uk åÕn&ÑÍ tÑ}!uk åÕn&ÑÍ tÑ}!å!ukåÍÏuññ}2àO!å!ukåÍÏuññ}2àO!å!ukåÍÏuññ}2àO*àO&ÿ|µÂ`b.}2"5É!å!'OåÍÏuññ}2àO!uk së"«6!"³6"­6*­6Íßt|µÊ»bèb*­6#"­6+ÃŒb!½Fë*­6n&åÍ#cñÃ�bÍQc*³6|µÂc.å!ukåÍÏuññ}2àO!uk å€Õn&ÑÍSuÑ}!uk å€Õn&ÑÍSuÑ}!å!ukåÍÏuññ}2àO!}2"5É!}2"5É*³6+|µÈ!'Oå*«6#"«6+Ñå!9n&Ñ}*«6€ÿ|µÀÍQcÉ*«6|µÈ!å!ukåÍÏuññ}2àO*àO&|µÊyc!"³6É!"«6*«6€Íßt|µÊ«cÛc*«6#"«6+Ãc!'Oë*«6sëÃ�c!"«6É;!>jåÍÚhñ!9 sëáå&Íÿ|µÊsdÍ�i!9åÍŒ^Ñ}!å. å)åÍ¥*ñññ!å. å.#åÍ¥*ñññáå&Ïÿ|µÂ8dÍõ,Í=iÍ-*¦6åÍ-ñ+|µÂ2d#å*35å!åÍxdñññÍ=iÃÄcáå&Îÿ|µÂÄcÍõ,Í_iÍ-*¦6åÍ-ñ+|µÂmd.å*15å!åÍxdñññÍ_iÃÄcÍ¢+3ÉÍÑf"#5Íßt|µÀ!å. åÍœ,ñ!ZjãÍÕñ!9^#VÕÍÕ!cjãÍÕñ*#5AåÍÄñ͘QÍèO*"5&ûÿ|µÂÛd*!5&ÍÐtÃÞd!|µÊe!9^#V!ýÿ|µÂþd*#5åÍ©eñÃ6e!"}|µÂèlÁ!9^#VëÉÅ!9^#VëDM!9^#Vën&|µÊGm!9å^#Vás#rbk+n&åÍ–nñÃmÁÉÅÅÅÅ!9å! 9^#Vás#rë!9s#r ë9å!9^#Vás#rëͺnDMöÿ|µÊ“m`i ÍuÖm!|µÊ„n`ië!ëÿ|µÊ°m!èÿ|µÂ»m! åÍ–nñÃ^m!�ÿ|µÊÍm!øÿ|µÂn!9^#Vbk|µÊzm!9å^#Vás#r ë9å^#Vás#r!åÍ–n! ãÍ–n!ãÍ–nñÃzm!îÿ|µÂan! åÍ–nñbk9s#rëÑÕÕ!9^#VáÍßt|µÊzm!9^#VÕë9å^#Vás#rán&åÍ–nñÃ*n! 9å^#Vás#r`i}!9å^#Vás#rëÃzm! 9^#V!ësññÑÁëÉ!9n&öÿ|µÂ­n. åÍùuñ!9n&åÍùuñÉÅ!‹s"�sn&|µÊÜn*�sn&DM*�ssëÃánÍîuDM`ióÿ|µÂðn. ÁÉ`iÁÉ*�så!9n&Ñ}ÉÅ!9^#VëDMå! 9^#VáÍÐt|µÂ.o.9^#V!ÍÐtÃ1o!|µÊ8oÁÉÅ! 9^#VáÍmu|µÊcoÅ! 9^#VÕ!9^#VÕÍÒoñññÃ�oÅ!9^#Vá+å! 9^#VÕ!9^#Vá+å!9^#VÕÍýoñññ`iÁÉÅ!9^#Vbk|µÂ¥oÁÉ!9^#VëDMå!9n&Ñ}`i#åÅ! 9^#VÕÍÒoñññ`iÁÉ!.vå!9^#VÕë!å.9^#VÕ!9^#VÕÍv ë9ùëÉ!Fvå!9^#VÕë!å.9^#VÕ!9^#VÕÍv ë9ùëÉÅÅ!9å!9åÍLpññÑÕÕ!9^#VÕÍññññÉ!€ÿ9ùÅÅÅÅÅë9€s#rë9å!9^#Vën&�Ñës#rë9�s#rë9s#r ë9å! 9å^#Vás#rë)Ñë!Œsës#rë! 9å! 9^#Vë)Ñå!9å!9^#VÕÍ qññÑës#rë|µÊóp!9å^#Vás#rbk+òp!Œ9^#VÕë9sid chartmp.com <ê¶sx2ÝvÊs Í*ùÍ(pÇ$uperSoft C Copyright 1982 Run Time Package V1.1 $ÑÅ Í!ÁÉ|¢g}£oÉÅ}æÊ4tGë)ÂtÁÉÅ}æÊ4tG·zW{_Â)tëÁÉÅ|µÂPtÍþsDivision by 0 $å!ãÃutÅ|µÂqtÍþsDivision by 0 $ͺtõÍuDM!>õ Ú‹t}‘o|˜g¯æë)õ…oëñ怄gñ=Ê©tõ)æ…oÀt|ægëñÁðÍuëÍuëÉz¬õ|æ€Äuzæ€ÊÎtëÍuëñÉ·}“o|šgµ#È!Éë¯}“|š!ð#Éë¯}“|š!ð+ÉÅDM!>ë)P C358 C359: LXI H,1 DAD SP MOV E,M INX H MOV D,M POP PSW POP PSW INX SP XCHG RET ENTRY mainmenu mainmenu: CALL header CALL progdesc LXI H,6 PUSH H MVI L,9 PUSH H CALL arraysource POP PSW POP PSW LXI H,8 PUSH H MVI L,4 PUSH H CALL curpos POP PSW LXI H,C1+1418 XTHL CALL putst POP PSW LXI H,10 PUSH H DCX H PUSH H CALL curpos POP PSW LXI H,C1+1434 XTHL CALL putst POP PSW LXI H,11 PUSH H DCX H DCX H PUSH H CALL curpos POP PSW LXI H,C1+1485 XTHL CALL putst POP PSW LXI H,12 PUSH H MVI L,9 PUSH H CALL curpos POP PSW LXI H,C1+1524 XTHL CALL putst POP PSW LXI H,13 PUSH H MVI L,9 PUSH H CALL curpos POP PSW LXI H,C1+1551 XTHL CALL putst POP PSW LXI H,14 PUSH H MVI L,9 PUSH H CALL curpos POP PSW LXI H,C1+1600 XTHL CALL putst POP PSW LXI H,15 PUSH H MVI L,9 PUSH H CALL curpos POP PSW LXI H,C1+1638 XTHL CALL putst POP PSW LXI H,16 PUSH H ëÒu =Ê u)ÃþtÁÉ|/g}/o#É}“o|šgµÈ!ÉÑáÕåÍu9ÒDuáåàvÍfuÚDuá"ÛvÑÕÕ!ÉÑÑÕÕ!ÿÿÉ}/o|/gÉ|²g}³oÉ^#VëÉës#rëÉë}“o|šgÉë}“|š!Ø+Éë}“|š!Ø#É|ªg}«oÉ!9"×vá"Ùvå!ÉÑÑ*×vù*ÙvåëÉå`i"ÞváÁÑãÅÅûu#·ÊÇu¾Ê¸uÅ*ÞvDMáÉ`iÁÑãÅDMÍáÁåååo&ÉÅ Í&oÁÉÅÍ&oÁÉáÑÕåÅÍÁÉÅÍvÁÉÅÍvÁo&É!9F+N+ÅV+^+Õ~++F+N+V+^áÉ:Ýv·Â@vx±È~# Ã5vx±Èí°É:Ýv·x±È~+ ÃJvx±Èí¸É*ù!ÕÕͺÍѷ¦!€ëËÕ€ÍÛÃàvÕÕͺÍѷ¦!€ëË&Ñ}!9å^#Vás#rëÃr!ƒ9^#V!ësƒë9å!9^#VÕÍhsñÑës#rÕë9åÍÝlññ!‹9^#VÕ!‡9^#Vás#r!ƒ9^#V!‡9ùëÉÅ*ÛvDMå!9^#VáåÍ#uñ|µÊ‡s!ÿÿÁÉ`iÁÉí[/5íK-5óÛö€Óy!wÛæÓûÉ><ê¶sx2ÝvÊs Í*ùÍ(pÇ$uperSoft C Copyright 1982 Run Time Package V1.1 $ÑÅ Í!ÁÉ|¢g}£oÉÅ}æÊ4tGë)ÂtÁÉÅ}æÊ4tG·zW{_Â)tëÁÉÅ|µÂPtÍþsDivision by 0 $å!ãÃutÅ|µÂqtÍþsDivision by 0 $ͺtõÍuDM!>õ Ú‹t}‘o|˜g¯æë)õ…oëñ怄gñ=Ê©tõ)æ…oÀt|ægëñÁðÍuëÍuëÉz¬õ|æ€Äuzæ€ÊÎtëÍuëñÉ·}“o|šgµ#È!Éë¯}“|š!ð#Éë¯}“|š!ð+ÉÅDM!>ë)#; This procedure generates CHARGEN.COM from source. ; It works only on an Executive. ; DAB 10/13/84 cc chargen.c c2 chargen.cod era chargen.cod m80 chargen,=chargen.asm/m era chargen.asm cc chrnw1.c c2 chrnw1.cod era chrnw1.cod m80 chrnw1,=chrnw1.asm/m era chrnw1.asm cc chrnw2.c c2 chrnw2.cod era chrnw2.cod m80 chrnw2,=chrnw2.asm/m era chrnw2.asm cc chrnw3.c c2 chrnw3.cod era chrnw3.cod m80 chrnw3,=chrnw3.asm/m era chrnw3.asm cc chrnw4.c c2 chrnw4.cod era chrnw4.cod m80 chrnw4,=chrnw4.asm/m era chrnw4.asm cc chrnw6.c c2 chrnw6.cod era chrnw6.cod m80 chrnw6,=chrnw6.asm/m era chrnw6.asm cc chrnw7.c c2 chrnw7.cod era chrnw7.cod m80 chrnw7,=chrnw7.asm/m era chrnw7.asm cc chrnw8.c c2 chrnw8.cod era chrnw8.cod m80 chrnw8,=chrnw8.asm/m era chrnw8.asm m80 =io l80 - Done editing',0 DB 'Select Character Entry Method',0 DB 'Character Entry Menu',0 DB 'Up Arrow - return to selection menu',0 DB 'Right Arrow - edit next character',0 DB 'Down Arrow - edit same character',0 DB 'ESC - return to main menu',0 DB 'Character Editing Menu',0 DB 'Position Cursor with Arrows',0 DB '. - turn pixel on',0 DB ' - turn pixel off',0 DB 'Q - Quit without update',0 DB ' - done editindim dim: LXI H,27 PUSH H CALL putchr LXI H,41 XTHL CALL putchr POP PSW RET ENTRY bright bright: LXI H,27 PUSH H CALL putchr LXI H,40 XTHL CALL putchr POP PSW RET ENTRY reverse reverse: LXI H,27 PUSH H CALL putchr LXI H,106 XTHL CALL putchr POP PSW RET ENTRY nreverse nreverse: LXI H,27 PUSH H CALL putchr LXI H,107 XTHL CALL putchr POP PSW RET ENTRY clchrset clchrset: PUSH B LXI D,0 MOV H,D MOV L,E DAD SP MOV M,E INX H MOV M,D XCHG C364: POP D PUSH D LXI H,2048 EXT CCLT CALL CCLT MOV A,H ORA L JZ C363 JMP C365 C362: LXI H,0 DAD SP PUSH H MOV E,M INX H MOV D,M INX D POP H MOV M,E INX H MOV M,D MOV H,D MOV L,E DCX H JMP C364 C365: LXI H,charset PUSH H LXI H,2 DAD SP MOV E,M INX H MOV D,M POP H DAD D LXI D,0 MOV M,E XCHG JMP C362 C363: POP PSW RET ENTRY inpchar inpchar: DCX SP LXI D,0 MOV H,D MOV L,E DAD SP MOV M,E XCHG C3g this char',0 DB 'I - Invert all pixels',0 DB 'C - Copy another character',0 DB 'L - shift character Left',0 DB 'R - shift character Right',0 DB 'U - shift character Up',0 DB 'D - shift character Down',0 DB 'N - iNsert a row',0 DB 'E - dElete a row',0 DB 'S - inSert a column',0 DB 'T - deleTe a column',0 DB 'Character',0 DB 'Set',0 DB 'Enter the file to read (d:filename.typ)',0 DB 'File not found. Press any key to continue.',0 DB 'Reading character set from ',0 DB 'Character set read from ',0 DB 'EOF in file read. Press any key to continue',0 DB 'Enter the file to write (d:filename.typ)',0 DB 'File already exists. OK to continue? (Y/N)',0 DB 'Writing character set to ',0 DB 'Full directory on file creation - Press any ' DB 'character to continue.',0 DB 'Character set written to ',0 DB 'Disk full on file write - press any key to ' DB 'continue.',0 DB 'Do you want to:',0 DB '1 - Read the systems tracks into the character ' DB 'set',0 DB '2 - Read a fsid chartmp.com žŸ ¡ESBASIC $$$CHARTMP SYM¸¹FOO ¢SUBMIT ÃOM*¥ª«COPYSYS COM)£¤¬SCOPY COME³´µ¶·SNSTST C ­åC2 COM€_`abcdefghijklmnåC2 COMopåCHARGEN $$$º»¼½¾¿ÀÁ Ílµ ÍlµÍsµþ:á嬴ÍMµÊà´ÖAÚö´þÒö´ 0; column--) edbuf[row][column] = edbuf[row][(column - 1)]; edbuf[row][0] = temp; } } /* rotate editing array up */ shftup() { int row,column; char temp; for (column = 0; column < 16; column++) * enter in hex */ else if (entdec == 1) /* if last character entry in dec */ value = decentry(19,20,pptr2,FALSE); /* enter in dec */ else value = charentry(19,20,pptr2,FALSE); readchr(value); blank(19,20,50); } /* display editing array */ disparray() { int row,column; for (row = 0; row < 10; row++) { curpos(rowbase + row,colbase); for (column = 0; column < 8; column++) { putchr(edbuf[row][column]); } } } /* print argument in hex format */ puthex(byte) char byte; { putchr(*(trantab + ((byte >> 4) & 0xF))); putchr(*(trantab + (byte & 0xF))); } edhead() { arraysource(4,16); /* print source of memory array */ curpos(5,20); reverse(); putblank(); puthex(curchar); /* print current character being edited */ putblank(); nreverse(); putst(" is the HEX value of the current character"); curpos(6,22); putst("is the current character") { temp = edbuf[0][column]; for (row = 0; row < 19; row++) edbuf[row][column] = edbuf[(row + 1)][column]; edbuf[19][column] = temp; } } /* rotate editing array down */ shftdn() { int row,column; char temp; for (column = 0; column < 16; column++) { temp = edbuf[19][column]; for (row = 19; row > 0; row--) edbuf[row][column] = edbuf[(row - 1)][column]; edbuf[0][column] = temp; } } /* insert a row at present cursor position */ insrow() { int row,column; for (column = 0; column < 16; column++) { for (row = 14; row > edrow; row--) { edbuf[row][column] = edbuf[(row - 1)][column]; } edbuf[edrow][column] = offchar; } } /* insert a column at present cursor position */ inscol() { int row,column; for (row = 0; row < 20; row++) { for (column = 11; column > e; } /* printing editing borders, character set, header, etc */ editmenu() { header(); /* display header and clear screen */ border(); /* display character set and edit area border */ edhead(); /* display source of array, current character etc */ dschrb(); /* display character edited */ dispset(); /* display character set */ } /* print character selection menu */ selmenu() { curpos(8,25); putst("Character Selection Menu"); curpos(10,20); putst("H - Entry by HEX value"); curpos(11,20); putst("D - Entry by decimal value"); curpos(12,20); putst("C - Enter the character"); curpos(10,51); putst(" - Done editing"); curpos(14,20); putst("Select Character Entry Method"); dschrb(); /* display character to be edited */ return; } /* print character entry menu */ entmenu() { curpos(8,24); putst("Character Entry Menu"); curpos(10,23); putst("Up Arrow - return to selection menudcol; column--) { edbuf[row][column] = edbuf[row][(column - 1)]; } edbuf[row][edcol] = offchar; } } /* delete a column at present cursor position */ delcol() { int row,column; for (row = 0; row < 20; row++) { for (column = edcol; column < 11; column++) { edbuf[row][column] = edbuf[row][(column + 1)]; } edbuf[row][11] = offchar; } } /* delete a row at present cursor position */ delrow() { int row,column; for (column = 0; column < 16; column++) { for (row = edrow; row < 14; row++) { edbuf[row][column] = edbuf[(row + 1)][column]; } edbuf[14][column] = offchar; } } /* copy another character into present editing array */ chrcopy() { char value; if (entdec == 0) /* if last character entry in hex */ value = hexentry(19,20,pptr2,FALSE); /$"); curpos(11,20); putst("Right Arrow - edit next character"); curpos(12,21); putst("Down Arrow - edit same character"); curpos(13,28); putst("ESC - return to main menu"); } /* print character editing menu */ charmenu() { curpos(8,35); putst("Character Editing Menu"); curpos(10,18); putst("Position Cursor with Arrows"); curpos(11,24); putst(". - turn pixel on"); curpos(12,18); putst(" - turn pixel off"); curpos(13,24); putst("Q - Quit without update"); curpos(14,20); putst(" - done editing this char"); curpos(15,24); putst("I - Invert all pixels"); curpos(16,24); putst("C - Copy another character"); curpos(10,52); putst("L - shift character Left"); curpos(11,52); putst("R - shift character Right"); curpos(12,52); putst("U - shift character Up"); curpos(13,52); putst("D - shift character Down"); curpos(14,52); putst("N - iNsert a row"); curpos(15,52); 0,63); } blkrname() { blank(20,9,58); } putblank() { putchr(' '); } /* read HEX format file into memory array */ readhex() { int i,cont; char x; if (contread(mnC1) == FALSE) /* check to see if edits made since last read */ { return; } for (i = 0; i < 15; i++) /* save old read name */ oldrdname[i] = readname[i]; for (i = 0; i < 36; i++) /* save old read fcb */ oldrdfcb[i] = readfcb[i]; clname(rnmptr); /* clear hex file read name */ clfcb(rfcbptr); /* clear hex file read fcb */ curpos(20,9); putst("Enter the file to read (d:filename.typ)"); cont = infilnam(20,49,rnmptr,rfcbptr); /* enter new name and fcb */ if (cont == 0) /* if just RETURN */ { blkrname(); rstfcb(); /* restore fcb and name to old values */ return; } /* open file in readfcb */ areg = bdos(26,iobuf); /* set DMA address of file IO */ areg =  putst("E - dElete a row"); curpos(16,52); putst("S - inSert a column"); curpos(17,52); putst("T - deleTe a column"); dschrb(); /* display the character to be editted */ return; } /* print font and character set border */ border() { int i; dim(); /* font border */ curpos(5,2); putbox(10,LBOX,FALSE); /* top border of editing area */ curpos(6,2); putbox(10,FBOX,TRUE); /* left border of editing area */ curpos(6,11); putbox(10,FBOX,TRUE); /* right border of editing area */ curpos(16,2); putbox(10,UBOX,FALSE); /* bottom border of editing area */ /* character set border */ curpos(21,12); putbox(66,LBOX,FALSE); /* top border of character set */ curpos(22,12); putbox(2,FBOX,TRUE); /* right border of character set */ curpos(22,77); putbox(2,FBOX,TRUE); /* left border of character set */ curpos(24,12); putbox(66,UBOX,FALSE); /* bottom border of character set */ brighbdos(15,readfcb); /* open file */ if (areg == 0xFF) /* file not found */ { curpos(24,5); putst("File not found. Press any key to continue."); inpchar(); blkrname(); blank(24,5,46); rstfcb(); /* restore fcb and name to old values */ return; } blkrname(); curpos(20,9); putst("Reading character set from "); reverse(); putblank(); putst(readname); putblank(); nreverse(); edsmade = FALSE; *(readfcb + 32) = 0; /* set record count to 0 */ tempbuf[2] = 0; charcount = 0; /* character count = 0 */ bufcnt = 128; /* set buffer pointer to read */ eoffound = FALSE; while ((charcount < 2048) && (eoffound == FALSE)) { for (i = 0; i < 9; i++) /* read past address, etc. in hex file */ rdhexchar(); recptr = 0; while (recptr < 16) { tempbuf[0] = rdhexchar(); /* convert hex format to ascii */ tempbuf[1] = rdhext(); curpos(22,2); putst("Character"); curpos(23,5); putst("Set"); return; } /* display line of boxes in horizontal of vertical direction */ putbox(count,byte,vertyn) int count,vertyn; char byte; { int i; grfon(); /* graphics on */ for (i = 0; i < count; i++) { putchr(byte); if (vertyn == TRUE) /* if vertical display */ { grfoff(); /* turn graphics off */ putchr(LF); /* line feed - cursor down */ putchr(BKSPC); /* backspace */ grfon(); /* turn graphics on */ } } grfoff(); /* graphics off */ } /* clear a section of the screen */ clrsc2(row,column,rnum,cnum) int row,column,rnum,cnum; { int rcount; for (rcount = 0; rcount < rnum; rcount++) blank(row + rcount,column,cnum); } /* clear the editing array */ clredbox() { clrsc2(6,3,10,8); } /* clear the editing menu array */ clrmenu() { clrsc2(8,18,1%char(); /* each record in hex file contains */ charset[charcount] = xtoi(tempbuf); /* the 16 rasters for one character */ recptr++; charcount++; } for (i = 0; i < 4; i++) /* read past CRC and CR-LF in hex file */ rdhexchar(); } areg = bdos(16,readfcb); /* close file */ blank(20,9,42); curpos(20,9); putst("Character set read from "); reverse(); putblank(); putst(readname); putblank(); nreverse(); arrsource = 1; /* source of array is HEX file */ arraysource(6,9); /* display source of memory array */ return; } xtoi(s) /* converts s in HEX to integer */ char *s; { int i,n,hex_dec; char tmpchar,subchar; n = 0; hex_dec = 1; i = 0; while (hex_dec != 0) { tmpchar = *(s + i); if (tmpchar >= '0' && tmpchar <= '9') subchar = '0'; else if (tmpchar >= 'A' && tmpchar <= 'F') suf); /* set DMA address of file IO */ *(writfcb + 32) = 0; /* set record count to 0 */ bufcnt = 0; /* IO buffer pointer */ charcount = 0; /* character count = 0 */ address = 0; /* address in hex format */ diskfull = FALSE; while ((charcount < 2048) && (diskfull == FALSE)) wrhexlin(); wrhexchar(0xFD); /* eof record - write semi colon */ for (i = 0; i < 8; i++) wrhexchar(0); wrhexchar(0xFF); /* carriage return */ wrhexchar(0xFE); /* line feed */ if (diskfull == FALSE) { wrhexrecord(); /* write last record to hex file */ if (diskfull == FALSE) { areg = bdos(16,writfcb); /* close file */ blank(20,9,42); curpos(20,9); putst("Character set written to "); reverse(); putblank(); putst(writname); putblank(); nreverse(); edsmade = FALSE; /* no edits since last save */ } } if bchar = 55; else hex_dec = 0; if (hex_dec != 0) n = 16 * n + tmpchar - subchar; ++i; } return(n); } rdhexchar() { char byte; if (eoffound == TRUE) return; if (bufcnt == 128) { areg = bdos(20,readfcb); /* read file */ if (areg != 0) /* if end of file encountered */ { curpos(24,5); putst("EOF in file read. Press any key to continue"); inpchar(); blank(24,5,45); eoffound = TRUE; } bufcnt = 0; } byte = *(iobuf + bufcnt); bufcnt++; return(byte); } /* write HEX format file from memory array */ writehex() { int answer,i,cont; clname(wnmptr); /* clear write hex name */ clfcb(wfcbptr); /* clear write hex fcb */ curpos(20,9); putst("Enter the file to write (d:filename.typ)"); cont = infilnam(20,50,wnmptr,wfcbptr); /* enter new name and(diskfull == TRUE) { areg = bdos(19,writfcb); /* delete file */ blank(20,9,42); /* erase writing to file message */ } } wrhexlin() { int parchar; parchar = 0; /* set parity character to 0 */ wrhexchar(0xFD); /* write semi-colon */ wrhexchar(1); /* write number of bytes in line */ wrhexchar(0); parchar = ((parchar - 0x10) & 0xFF); /* subtract number of bytes from parity */ wrhexchar((address >> 12) & 0xF); /* higher order address byte */ wrhexchar((address >> 8) & 0xF); parchar = ((parchar - (address >> 8)) & 0xFF); wrhexchar((address >> 4) & 0xF); /* lower order address byte */ wrhexchar(address & 0xF); parchar = ((parchar - (address & 0xFF)) & 0xFF); recptr = 0; wrhexchar(0); /* un-used */ wrhexchar(0); /* write character rasters in hex format-update parity character */ while (recptr < 16) { wrhexchar((*(charset + charcount) >> 4) & 0xF); wrhexchar(*(charset fcb */ if (cont == 0) /* if just RETURN */ { blkrname(); return; } /* open file in readfcb */ areg = bdos(15,writfcb); /* open file */ if (areg != 0xFF) /* file found */ { areg = bdos(16,writfcb); /* close file */ curpos(24,5); putst("File already exists. OK to continue? (Y/N)"); answer = yesno(24,49); blkrname(); blank(24,5,45); if (answer == FALSE) return; } blkrname(); curpos(20,9); putst("Writing character set to "); reverse(); putblank(); putst(writname); putblank(); nreverse(); areg = bdos(19,writfcb); /* delete existing file */ areg = bdos(22,writfcb); /* create new file */ if (areg == 0xFF) /* if error in creation */ { curpos(24,5); putst("Full directory on file creation - Press any character to continue."); inpchar(); blank(24,5,68); return; } areg = bdos(26,iobu% + charcount) & 0xF); parchar = ((parchar - *(charset + charcount)) & 0xFF); charcount++; recptr++; address++; } wrhexchar(parchar >> 4 & 0xF); /* write parity character */ wrhexchar(parchar & 0xF); wrhexchar(0xFF); /* carriage return */ wrhexchar(0xFE); /* linefeed */ } wrhexchar(byte) char byte; { if (diskfull == TRUE) /* if disk already full */ return; if (byte == 0xFF) *(iobuf + bufcnt) = 0x0D; /* carriage return */ else if (byte == 0xFE) *(iobuf + bufcnt) = 0x0A; /* linefeed */ else if (byte == 0xFD) *(iobuf + bufcnt) = ':'; else *(iobuf + bufcnt) = *(trantab + (byte & 0xF)); bufcnt++; if (bufcnt == 128) /* if buffer filled- write to disk */ { wrhexrecord(); /* write hex file record */ } } /* write the 128 characters in iobuf to file */ wrhexrecord() { areg = bdos(21,writfcb); if (areg != 0) /* if disk full */ {  €Å«*ÎB€(¸ åfÑ`g‹ÄUaÁ„ÀYñjµàÂÒåfÓpWˆªÎƒ €±Yñj¸`ÂåfÚÀgˆªØ €±X¬øµa]€a  r³n3ÄUq„ÀX¬V+>-XW¸CL\¬Ûª ñ]�a0øµdB (¸åfÙ€gˆ† ¸Ù·¬âͬ€¢ Ê.¹EÁ÷+6í¼^/T圢àÓ•›EÁÞ/‹%š3@å\¬Ú ñxˆA(¸åfßàg‹Å›JA™ „—„ef«6ƒ¼Yµ<›MÁ„  ”\r³j8;ÄCVÂ\lÚ´ñfÙvm²ƒ€Qp%ÊÍ­`ï k q³k˜;Å’!¢àC•›aÞ/m^ØP—+6ÆŠ­@�›iÞ,Û:Ƀ@Qp!Êͳï‹6׃ˆl�K•›jÁÅWŒ ÆÍ¸Àïm¿dˆB(¸åfÛ wˆ†Ï„¸Ù·4âÉ+œ�'C(€èo QÞn: Dh†h0œŒ&3¡”ä 9™N‚¹¤ØlŒ¢¹ÈÒt:M¡¼@&˜M&àØt2œ�Æ¡” 3ÍÇAH‚MÍÂ�ÈÞg9M¢)àÒt€W9N†QÐÞ : ¢™äæt2›DC‘„Æk9€ ç#IÐÒn3ˆ¡¼@ÎF“¡ÐÊn âHÊa2 Ç#y´@t4D3ÉÌèe6ˆ ‡# ŒÖsŒ¦!¤Ügc‘¼Ú FS �@f9Í¢€@ MÇC)È@d9NÆQ ‚,…‚yÈ@<)J…R‘8| :ÄSÁ¤è)�â!¤ækMÂ!ÈÒv2ˆ ç!ÔÜf7œ�¦¡ÐÊd '3X€ÒsÎFóqœ@d2›Žf“¡äH0œŒ‚¹ÈÒt2ˆ §#‘¼ä$NFAÈÊa2 §#‘¼ä(Œ§3˜€xR"• ¥"pø@t7ˆ fóqÐÒn:™@Cx€òo:ˆæqÐ@t7Ž€1´@E<N‚¡¼@t4DÓ ¤Ü &™MÇPÄ@-NfQÐÐeBh€ªs2ˆ†ƒ(€E7 §!ÌÊl2˜Î†“y¸@–ØÆG€r b¢š*¤e ¦*+¬§FNÁò ’’ Êœd  ©))§ªÆIÁêb r\fP!¡¢¨ÆQÁ¢:,d!¡£ªFW¢b,d!¡¦*FKrB ’š,gX!§§*)"Æw…�Ò“•Î dTåD”ô89Q !>WRFONT�’SÓQS•`d”ô4„ô˜]I59IWRALRA�‘“•QTàeu%5•5H%=58ÆWRTRCK�’SÓQSŒ dtUDE%h]IMfRDSYST�”‘�Òàe$De5˜M%=IJP5° ˆ@Ë”B9EÁ—(¸båˆÜ¬ÛÖ c—Ë„æc“p˜3dŽÄ7 ÊÍ¥ ï9ˆ7[…Ê&Y¯ðÉñjʱ@ Û¨!.VmhŸBB€Ê.¹E.Vhñx¼\.Q0"φO‹VwfØð:p¹DÀ‹9þ>-XTè›{Àtèš Ù,Pˆb5ŽNb3“­¢Õ€ Ðøµe^½€—)xFV ¸Nb3‘ˆÖ+a٠倀’ðŒ¬á ¹D ”BKÂ2³„2n'ГÕ@ +r³jp ÅâÉb„@¬rsœ�m¨„fÚâÕ•P@XttB\¥áX&á9ˆÎF#X­‡~€ ”BKÂ2³„2åÜÀ(„—„egdÜ&4O¡& €@ ÊÍ©À/‹$B9EÀW+4xˆoð;�š-YT¤ ›uÄ åÊÍ  èHB9EÀ—(¥ÊÍ«à‹ÄB9EÀ—(¸FåfÜ ‹Åâár‰€{ü2|Z°¨4fÙvh!€¢ ÊÍ¥ÀO‹6Ȱìè …Ê&YÏðÉñj³ ,ÛÊͶ@ìÛÖ!€¢ ÊÍ¥ÀO‹6Ù°ìè 6Å€ Ù,ÚH " 4>-X�Ê.¹YµXâ!­A6m‡xˆ@@ÉxFVj³jh†¹„8Ùµd â*¦@A2åf€hÍ@˜}¿Ã'Å« È� €0"3@”€Å«*å@€ÉxFV¿_á“âÕ…m…U� Êͦ€oå€@ F"b±# ;Ê!€Và\—„egXŠÞ@@ÁŠÄWU]€„ÀâÕ…HÀÅÁ'(¸åfÔP'‹ÄBKÂ2³U›X„òª’‚zœgü")+)¨!ÆlA*"šJ",gØ"¢)¦ ¢GzÁr*r¢B|t"§*$§¡ÇS€r2r¢j*œt�#¢ª")+FK�òB* "*”d($§(!¤ ÆLA²Jr‚"Dfœ$§¡˜ÆrAâJz”wP$§¡¤'¤ÇdòJzj*qŒvÈ$§¦¢§GKAòJzj*r¬gÜ& ¤§&¢Æo€2j Jrš,g”& §+¬§Ft€âjrŒe„')"«"©FLAò‚’z:",gD(*ª!& Æ^Á²‚ª¢B”g (*ª!§¦Fyꂪ¢š¤tŒ)" £)¬ÇM@ò’"šÊš¤wì)"*)!¥Æ{Á²’*¢z$e0)"«"©)Æg2’º2b Œ¬Ñ©°ú2³f¬Ú|4Í©ÃB«4j&\¯ðÉñjÊ¡‚r€b3�„r‹†NVm™+xˆD6à€ˆA6à€¼Yµ\°ú2³F¢4jåfÕR—‹6ùŠ¬Ñ¨˜åfÙâÇ‹6� ¬Ñ¨˜\?Ã'Å«*¥Š¬Ñ¨˜^?Ã'Å«*¥Š¬Ñ¨˜!€ ¦�ˆ@ âÕ•YÅVhÔLrˆ@+6‡<^,:Þ!!æ#9:Ä ä¼#+�b³âÕ…sÀ‡!æ#9:Ú-S¬V|Z°®x¸ å\¬Û2Vñx³o‘XªÍš‰€Vm·x³hc6�„³jPó6™3nЪ͉€QåfÐàG‹ÄUfÍDÀˆ þ>-XW” "�c“˜Œä €gÑ•š5Y³Q0"†O5à!ÆÍ `oUª�@—+6¶„„!”\ rŠ\¬Ú\ñx¼D! ”\ r‹„nVmlx¼^.(˜g¿Ã'Å« Ý�³hp6ȳh ¨r³@ˆ¬øµa[P1”U|€\¢ÊÍ¿`o‹Å›dØu Âå,çødøµaTp6m�fÛ vm•Y€7+6μEgÅ« ø‹€nQUrˆ@€+6ý�¼^/m²aÔp6m*²Y´�EC€Â 6œ¬Hå\¬ÛìñÚ‡6…¼D @ä¼#+5Y´hCj‚lÚLñ_ð0‰r³h°Å›F€ÙµÌUy€„À‹íþ>-XUxUa„Àˆ8ͱ€L:Â!‹VU˜�€’ðŒ¬!~¿Ã'Å« À‚ ©ˆ#•›HÁ^,;f!W8F#]€!X¬Ew€„b+Æö`‚EaAÀaÉxFVuˆ¬P „XðAX¬EdÁU L>-XTH\r‹�.Vmx¼D @ä¼#+5Y´´ClBlÛ¢ñWp@‰r³iÈ#Å›OA6ô!ÊÍ»�"¤b1ä¼#+ ®à dD@À(¸åf€‹$B9EÀ—(¸Håf×À7‹ÅâÉd±X£±Hå\¬Ûˆñ܇6÷‚= 'a') && ((*charptr) <= 'z')) *(charptr) = *(charptr) & 01,15); /* position cursor */ putst(TITLE); } /* position cursor to (row,column) */ curpos(xcord,ycord) int xcord,ycord; { putchr(ESC); putchr('='); putchr(xcord + 0x1F); putchr(ycord + 0x1F); } /* clear screen */ clrscn() { putchr(0x1A); /* clear screen */ } /* send dim screen characters */ dim() { putchr(ESC); putchr(0x29); } /* send bright screen characters */ bright() { putchr(ESC); putchr(0x28); } /* reverse video */ reverse() { putchr(ESC); putchr('j'); } /* non-reverse video */ nreverse() { putchr(ESC); putchr('k'); } clchrset() /* clear character set */ { int i; for (i = 0; i < 2048; i++) charset[i] = 0; } /* input a character from the keyboard */ inpchar() { char byte; byte = 0; while (byte == 0) byte = bdos(6,0xff); return(byte); } /* input a character and display it */ inpdchar() { charx5F; } /* blank out the count characters beginning at row, column */ blank(row,column,count) int row,column,count; { int i; curpos(row,column); for (i = 0; i < count; i++) putchr(' '); } /* get a Y or N response */ yesno(row,column) int row,column; { int ok_answer,ans_retrnd; char ans_entrd; ok_answer = FALSE; while(ok_answer == FALSE) { curpos(row,column); putchr(' '); putchr(BKSPC); reverse(); ans_entrd = (inpdchar() & 0x5F); nreverse(); if (ans_entrd == 'Y') { ans_retrnd = TRUE; ok_answer = TRUE; } if (ans_entrd == 'N') { ans_retrnd = FALSE; ok_answer = TRUE; } } return(ans_retrnd); } /* display main menu screen */ mainmenu() { header(); /* clear screen and display program title */ progdesc(); /* display program description */ arraysource(6,9); /* dis byte; byte = inpchar(); pputchr(byte); return(byte); } pputchr(byte) char byte; { if ((byte > 31) && (byte < 127)) putchr(byte); }  clrscn() { putchr(0x1A); /* clear screen */ } /* send dim screen characters */ dim() { putchr(ESC); putchr(0x29); } /* send bright screen characters */ bright() { putchr(ESC); putchr(0x28); } /* reverse video */ reverse() { putchr(ESC); putchr('j'); } /* non-reverse video */ nreverse() { putchr(ESC); putchr('k'); } clchrset() /* clear character set */ { int i; for (i = 0; i < 2048; i++) charset[i] = 0; } /* input a character from the keyboard */ inpchar() { char byte; byte = 0; while (byte == 0) byte = bdos(6,0xff); return(byte); } /* input a character and display it */ inpdchar() { charplay source of memory array */ curpos(8,4); putst("Do you want to:"); curpos(10,9); putst("1 - Read the systems tracks into the character set"); curpos(11,9); putst("2 - Read a file into the character set"); curpos(12,9); putst("3 - Edit the character set"); curpos(13,9); putst("4 - Write the character set to the system tracks"); curpos(14,9); putst("5 - Write the character set to a file"); curpos(15,9); putst("6 - Write the character set to the font RAM"); curpos(16,9); putst("7 - Exit the program"); } /* main menu choice line */ mnchoice() { curpos(18,14); putst("Enter your choice (1 - 7)"); } /* display program description */ progdesc() { curpos(3,4); putst ("This program allows you to edit a character set in memory and"); curpos(4,5); putst("store it on various media."); } /* clear screen and print screen header */ header() { clrscn(); /* clear screen */ curpos(&V M,E INX H MOV M,D XCHG C9: POP D PUSH D LXI H,2048 EXT CCLT CALL CCLT MOV A,H ORA L JZ C8 JMP C10 C7: LXI H,0 DAD SP PUSH H MOV E,M INX H MOV D,M INX D POP H MOV M,E INX H MOV M,D MOV H,D MOV L,E DCX H JMP C9 C10: LXI H,mainset PUSH H LXI H,2 DAD SP MOV E,M INX H MOV D,M POP H DAD D PUSH H LXI H,charset PUSH H LXI H,4 DAD SP MOV E,M INX H MOV D,M POP H DAD D MOV L,M MVI H,0 POP D MOV A,L STAX D JMP C7 C8: LXI H,1 SHLD manwyn DCX H PUSH H CALL fntmessage POP PSW POP PSW RET ENTRY wralram wralram: PUSH B LXI D,0 MOV H,D MOV L,E DAD SP MOV M,E INX H MOV M,D XCHG C13: POP D PUSH D LXI H,2048 EXT CCLT CALL CCLT MOV A,H ORA L JZ C12 JMP C14 C11: LXI H,0 DAD SP PUSH H MOV E,M INX H MOV D,M INX D POP H MOV M,E INX H MOV M,D MOV H,D MOV L,E DCX H JMP C13 C14: LXI H,altset PUSH H LXI H,2 DAD SP MOV E,M INX H MOV D,M POP H DAD D PUSH H LXI H,charset PUSH H LXI H,4 DAD SP MOV E,M INX H MOV D,M POP H DAD D MOV L,M MVI H,0 POP D MOV A,L STAX D JMP C11 C12: LXI H,1 SHLD altwyn PUSH H CALL fntmessage POP PSW POP PSW RET ENTRY fntmessage fntmessage: LXI H,18 PUSH H MVI L,5 PUSH H CALL curpos POP PSW LXI H,C1+22 XTHL CALL putst POP PSW LXI H,2 DAD SP MOV E,M INX H MOV D,M MOV H,D MOV L,E MOV A,H ORA L JNZ C15 LXI H,C1+56 PUSH H CALL putst POP PSW JMP C16 C15: LXI H,C1+61 PUSH H CALL putst POP PSW C16: LXI H,C1+71 PUSH H CALL putst POP PSW RET ENTRY wrsystrk wrsystrk: DCX SP LXI H,C1+103 PUSH H CALL iomenu POP PSW LXI H,0 DAD SP LXI D,32 MOV M,E XCHG C17: POP H PUSH H MVI H,0 LXI D,-51 DAD D MOV A,H ORA L JZ C18 CALL iochoice LXI H,0 DAD SP PUSH H CALL entioc POP D MOV A,L STAX D LXI H,16 PUSH H MVI L,9 PUSH H DAD H PUSH H CALL blank/* Osborne character generator program. This routine enables the program to do I/O to the system tracks Before entry to the routine, the following external variables must be set rwflag - 0 => read, else write secstart - starting sector to I/O ( 1 for main set, 3 for alternate) drvspc - drive code, 0 for drive A, 1 for drive B charset - pointer to character set in RAM the routine returns a value in an external variable called retcod - 0 no error 1 no disk in drive 2 wrong density (not Osborne double dnesity) 3 write error 4 read error -------------------------------------------------------------------*/ rd_wr() { /* extern int rd_wr2(); */ #asm .z80 extrn rd_wr2 call rd_wr2 jp end end: .8080 #endasm } snsdns() { /* extern int sns2(); */ #as POP PSW POP PSW POP PSW LXI H,18 PUSH H MVI L,9 PUSH H MVI L,35 PUSH H CALL blank POP PSW POP PSW POP PSW POP H PUSH H MVI H,0 LXI D,-49 DAD D MOV A,H ORA L JNZ C19 CALL reverse CALL iomen1 CALL nreverse LXI H,1 PUSH H LHLD ioC1 PUSH H CALL wrtrck POP PSW POP PSW CALL iomen1 JMP C17 C19: POP H PUSH H MVI H,0 LXI D,-50 DAD D MOV A,H ORA L JNZ C17 CALL reverse CALL iomen2 CALL nreverse LXI H,3 PUSH H LHLD ioC2 PUSH H CALL wrtrck POP PSW POP PSW CALL iomen2 JMP C17 C18: CALL mainmenu INX SP RET ENTRY wrtrck wrtrck: CALL getdrvspec SHLD drvspc LXI D,0 EXT CCGT CALL CCGT MOV A,H ORA L RNZ LXI H,18 PUSH H MVI L,9 PUSH H CALL curpos POP PSW LXI H,C1+130 XTHL CALL putst POP PSW LXI H,2 DAD SP MOV E,M INX H MOV D,M PUSH D CALL putst LXI H,C1+139 XTHL CALL putst POP PSW LHLD drvspc LXI D,65 DAD D PUSH H CALL putchr POP PSW CALL putcm .z80 extrn sns2 call sns2 jp end2 end2: .8080 #endasm } y to the routine, the following external variables must be set rwflag - 0 => read, else write secstart - starting sector to I/O ( 1 for main set, 3 for alternate) drvspc - drive code, 0 for drive A, 1 for drive B charset - pointer to character set in RAM the routine returns a value in an external variable called retcod - 0 no error 1 no disk in drive 2 wrong density (not Osborne double dnesity) 3 write error 4 read error -------------------------------------------------------------------*/ rd_wr() { /* extern int rd_wr2(); */ #asm .z80 extrn rd_wr2 call rd_wr2 jp end end: .8080 #endasm } snsdns() { /* extern int sns2(); */ #as'olon CALL snsdns LHLD retcod MVI H,0 LXI D,-5 DAD D MOV A,H ORA L JNZ C24 LHLD svtpval MVI H,0 LXI D,14 EXT CCEQ CALL CCEQ JMP C25 C24: LXI H,0 C25: MOV A,H ORA L JZ C23 LXI H,4 DAD SP MOV E,M INX H MOV D,M LXI H,-3 DAD D MOV A,H ORA L JNZ C26 LHLD drvspc PUSH H CALL wrafsys POP PSW JMP C28 C26: LXI H,1 SHLD rwflag INX H SHLD secstart DCX H DCX H SHLD trkstart INX H SHLD dside JMP C28 C23: LXI H,1 SHLD rwflag MVI L,4 DAD SP MOV E,M INX H MOV D,M XCHG SHLD secstart LXI H,2 SHLD trkstart DCX H DCX H SHLD dside C28: LHLD retcod MVI H,0 MOV A,H ORA L JNZ C29 MVI L,18 PUSH H MVI L,9 PUSH H CALL curpos POP PSW POP PSW LXI H,2 DAD SP MOV E,M INX H MOV D,M PUSH D CALL putst LXI H,C1+144 XTHL CALL putst POP PSW LHLD drvspc LXI D,65 DAD D PUSH H CALL putchr POP PSW CALL putcolon LXI H,0 SHLD edsmade RET C29: LXI H,18 PUSH H MVI L,pc PUSH H CALL rdafsys POP PSW JMP C44 C42: LXI H,0 SHLD rwflag INX H INX H SHLD secstart DCX H DCX H SHLD trkstart INX H SHLD dside JMP C44 C39: LXI H,0 SHLD rwflag MVI L,6 DAD SP MOV E,M INX H MOV D,M XCHG SHLD secstart LXI H,2 SHLD trkstart DCX H DCX H SHLD dside C44: LHLD retcod MVI H,0 MOV A,H ORA L JNZ C45 MVI L,18 PUSH H MVI L,9 PUSH H CALL curpos POP PSW POP PSW LXI H,4 DAD SP MOV E,M INX H MOV D,M PUSH D CALL putst LXI H,C1+201 XTHL CALL putst POP PSW LHLD drvspc LXI D,65 DAD D PUSH H CALL putchr POP PSW CALL putcolon LXI H,C1+213 PUSH H CALL putst POP PSW LXI H,0 SHLD edsmade INX H INX H DAD SP MOV E,M INX H MOV D,M LHLD drvspc DAD D SHLD arrsource LXI H,6 PUSH H MVI L,9 PUSH H CALL arraysource POP PSW POP PSW RET C45: LXI H,18 PUSH H MVI L,9 PUSH H MVI L,36 PUSH H CALL blank POP PSW POP PSW POP PSW RET ENTRY r9 PUSH H MVI L,36 PUSH H CALL blank POP PSW POP PSW POP PSW RET ENTRY wrafsys wrafsys: RET ENTRY rdsystrk rdsystrk: DCX SP LXI H,C1+157 PUSH H CALL iomenu POP PSW LXI H,0 DAD SP LXI D,32 MOV M,E XCHG C31: POP H PUSH H MVI H,0 LXI D,-51 DAD D MOV A,H ORA L JZ C32 CALL iochoice LXI H,0 DAD SP PUSH H CALL entioc POP D MOV A,L STAX D LXI H,16 PUSH H MVI L,9 PUSH H DAD H PUSH H CALL blank POP PSW POP PSW POP PSW LXI H,18 PUSH H MVI L,9 PUSH H MVI L,35 PUSH H CALL blank POP PSW POP PSW POP PSW POP H PUSH H MVI H,0 LXI D,-49 DAD D MOV A,H ORA L JNZ C33 CALL reverse CALL iomen1 CALL nreverse LHLD mnC1 PUSH H CALL contread POP PSW DCX H MOV A,H ORA L JNZ C34 INX H PUSH H LHLD ioC1 PUSH H LXI H,2 PUSH H CALL rdtrck POP PSW POP PSW POP PSW C34: CALL iomen1 JMP C31 C33: POP H PUSH H MVI H,0 LXI D,-50 DAD D MOV A,H ORA L JNZ C31dafsys rdafsys: RET ENTRY getdrvspec getdrvspec: PUSH B PUSH B DCX SP LXI H,18 PUSH H MVI L,9 PUSH H CALL curpos POP PSW LXI H,C1+217 XTHL CALL putst POP PSW LXI H,1 DAD SP LXI D,0 MOV M,E INX H MOV M,D XCHG C47: LXI H,1 DAD SP MOV E,M INX H MOV D,M MOV H,D MOV L,E MOV A,H ORA L JNZ C48 MVI L,18 PUSH H MVI L,49 PUSH H CALL curpos POP PSW POP PSW LXI H,0 DAD SP PUSH H CALL inpchar POP D MOV A,L STAX D LXI H,0 DAD SP PUSH H CALL upchar POP PSW POP H PUSH H MVI H,0 LXI D,-65 DAD D MOV A,H ORA L JZ C50 POP H PUSH H MVI H,0 LXI D,-66 DAD D MOV A,H ORA L JZ C50 POP H PUSH H MVI H,0 LXI D,13 EXT CCEQ CALL CCEQ JMP C51 C50: LXI H,1 C51: MOV A,H ORA L JZ C49 LXI D,1 MOV H,D MOV L,E DAD SP MOV M,E INX H MOV M,D LXI D,3 XCHG DAD SP PUSH H LXI H,2 DAD SP MOV L,M MVI H,0 LXI D,-65 DAD D POP D XCHG MOV M,E INX H MOV M,D  CALL reverse CALL iomen2 CALL nreverse LHLD mnC1 PUSH H CALL contread POP PSW DCX H MOV A,H ORA L JNZ C37 MVI L,3 PUSH H LHLD ioC2 PUSH H LXI H,4 PUSH H CALL rdtrck POP PSW POP PSW POP PSW C37: CALL iomen2 JMP C31 C32: CALL mainmenu INX SP RET ENTRY rdtrck rdtrck: CALL getdrvspec SHLD drvspc LXI D,0 EXT CCGT CALL CCGT MOV A,H ORA L RNZ LXI H,18 PUSH H MVI L,9 PUSH H CALL curpos POP PSW LXI H,C1+185 XTHL CALL putst POP PSW LXI H,4 DAD SP MOV E,M INX H MOV D,M PUSH D CALL putst LXI H,C1+194 XTHL CALL putst POP PSW LHLD drvspc LXI D,65 DAD D PUSH H CALL putchr POP PSW CALL putcolon CALL snsdns LHLD retcod MVI H,0 LXI D,-5 DAD D MOV A,H ORA L JNZ C40 LHLD svtpval MVI H,0 LXI D,14 EXT CCEQ CALL CCEQ JMP C41 C40: LXI H,0 C41: MOV A,H ORA L JZ C39 LXI H,6 DAD SP MOV E,M INX H MOV D,M LXI H,-3 DAD D MOV A,H ORA L JNZ C42 LHLD drvs' XCHG JMP C47 C49: LXI H,7 PUSH H CALL putchr POP PSW JMP C47 C48: LXI H,18 PUSH H MVI L,9 PUSH H MVI L,43 PUSH H CALL blank POP PSW POP PSW POP PSW POP PSW LXI H,1 DAD SP MOV E,M INX H MOV D,M POP PSW INX SP XCHG RET ENTRY entchoice entchoice: PUSH B DCX SP LXI H,1 DAD SP LXI D,0 MOV M,E INX H MOV M,D XCHG C53: LXI H,1 DAD SP MOV E,M INX H MOV D,M MOV H,D MOV L,E MOV A,H ORA L JNZ C54 MVI L,11 DAD SP MOV E,M INX H MOV D,M PUSH D LXI H,11 DAD SP MOV E,M INX H MOV D,M PUSH D CALL curpos POP PSW LXI H,32 XTHL CALL putchr LXI H,8 XTHL CALL putchr POP PSW CALL reverse LXI H,0 DAD SP PUSH H CALL inpdchar POP D MOV A,L STAX D CALL nreverse POP H PUSH H MVI H,0 PUSH H LXI H,9 DAD SP MOV L,M MVI H,0 POP D EXT CCGE CALL CCGE MOV A,H ORA L JZ C56 POP H PUSH H MVI H,0 PUSH H LXI H,7 DAD SP MOV L,M MVI H,0 POP D EXT CCLE XTHL CALL putst POP PSW CALL putblank RET ENTRY iomen2 iomen2: LXI H,13 PUSH H MVI L,8 PUSH H CALL curpos POP PSW POP PSW CALL putblank LXI H,C1+426 PUSH H CALL putst LHLD ioC2 XTHL CALL putst POP PSW CALL putblank RET ENTRY iochoice iochoice: LXI H,16 PUSH H MVI L,9 PUSH H CALL curpos POP PSW LXI H,C1+439 XTHL CALL putst POP PSW RET EXT putblank EXT progdesc EXT header EXT inpdchar EXT upchar EXT inpchar EXT arraysource EXT arrsource EXT contread EXT mnC1 EXT snsdns EXT putcolon EXT putchr EXT svtpval EXT retcod EXT dside EXT edsmade EXT drvspc EXT trkstart EXT secstart EXT rwflag EXT nreverse EXT reverse EXT ioC2 EXT ioC1 EXT putst EXT curpos EXT altset EXT altwyn EXT charset EXT mainset EXT manwyn EXT mainmenu EXT blank C1: DB 'Write to the Font RAM',0 DB 'Character set will be written to ',0 DB 'Main',0 DB 'Alternate',0 DB ' font RAM on program exit. ',0 CALL CCLE JMP C57 C56: LXI H,0 C57: MOV A,H ORA L JZ C55 LXI D,1 MOV H,D MOV L,E DAD SP MOV M,E INX H MOV M,D XCHG JMP C53 C55: LXI H,7 PUSH H CALL putchr POP PSW JMP C53 C54: POP H MVI H,0 INX SP RET ENTRY sioerr sioerr: LHLD retcod MVI H,0 MOV A,H ORA L JZ C59 LXI H,20 PUSH H MVI L,5 PUSH H CALL curpos POP PSW POP PSW C59: LHLD retcod MVI H,0 DCX H MOV A,H ORA L JNZ C60 LXI H,C1+257 PUSH H CALL putst POP PSW C60: LHLD retcod MVI H,0 DCX H DCX H MOV A,H ORA L JNZ C61 LXI H,C1+289 PUSH H CALL putst POP PSW C61: LHLD retcod MVI H,0 DCX H DCX H DCX H MOV A,H ORA L JNZ C62 LXI H,C1+311 PUSH H CALL putst POP PSW C62: LHLD retcod MVI H,0 DCX H DCX H DCX H DCX H MOV A,H ORA L JNZ C63 LXI H,C1+328 PUSH H CALL putst POP PSW C63: LHLD retcod MVI H,0 MOV A,H ORA L RZ LXI H,21 PUSH H MVI L,10 PUSH H CALL curpos POP PSW LXI DB 'Write to the System Tracks',0 DB 'Writing ',0 DB ' to ',0 DB ' written to ',0 DB 'Read from the System Tracks',0 DB 'Reading ',0 DB ' from ',0 DB ' read from ',0 DB ' ',0 DB 'Enter drive (A, B, or to exit)',0 DB 'No disk in drive or unformatted',0 DB 'Disk is wrong density',0 DB 'Hard write error',0 DB 'Hard read error',0 DB 'Press to continue',0 DB 'Do you want to:',0 DB '3 - Exit to the Main Menu',0 DB '1 - Use the ',0 DB '2 - Use the ',0 DB 'Enter selection ',0 DS 0 ;0 errs *** ;0 code gen errs ***  Main Menu',0 DB '1 - Use the ',0 DB '2 - Use the ',0 DBåååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååå H,C1+344 XTHL CALL putst POP PSW CALL inpchar LXI H,20 PUSH H MVI L,5 PUSH H MVI L,31 PUSH H CALL blank POP PSW POP PSW POP PSW LXI H,21 PUSH H MVI L,10 PUSH H MVI L,26 PUSH H CALL blank POP PSW POP PSW POP PSW RET ENTRY iomenu iomenu: CALL header CALL progdesc LXI H,6 PUSH H MVI L,9 PUSH H CALL arraysource POP PSW POP PSW LXI H,8 PUSH H MVI L,4 PUSH H CALL curpos POP PSW POP PSW CALL reverse CALL putblank LXI H,2 DAD SP MOV E,M INX H MOV D,M PUSH D CALL putst POP PSW CALL putblank CALL nreverse LXI H,10 PUSH H MVI L,4 PUSH H CALL curpos POP PSW LXI H,C1+371 XTHL CALL putst POP PSW CALL iomen1 CALL iomen2 LXI H,14 PUSH H MVI L,9 PUSH H CALL curpos POP PSW LXI H,C1+387 XTHL CALL putst POP PSW RET ENTRY iomen1 iomen1: LXI H,12 PUSH H MVI L,8 PUSH H CALL curpos POP PSW POP PSW CALL putblank LXI H,C1+413 PUSH H CALL putst LHLD ioC1