ô˜ASCII CZM ŒASCII TZT núŒASCIIMP1FOR¢õŒASCIIMP1ZZ0 k3ŒASCIIMP2COM–pASCIIMP2Z80+š8ÿ vþASCII.COM[Fred Haines, March 1988]% €ƒ�!@š3]€qXµ ‡¤â°h(ø 1MÆ‘ä@�ÆRA„„1��†R�œ i(ÊÒ�¼„|‹ÄÀÑ0,N+ŒŒ$¢È‚OFœФɈL"ÓÊe \�  J*Õ“ á8�F) ª�*¥YŠdòE<ˆC•H„2‹˜ƒ((Ê 2ƒ�Š…H dôym¬S*.9lˆE(Ç�ÈR‚” Å(9`,ƒ  @ —⸼l¾D#—Jr‚œ Ç(9ç(xL.†c¤'•1³’a("J7•“$ é´¤a4 ž��{‘ˆ$ºx–e(©ÖJ²ƒ, ëÊÏíÄ\A‡Ö‘Ë$êxši(#J Òƒ4 íâÙ©B »!ªrDÒ²©N›%:P+¥:P;¹L#ø£‡ HˆMy b Ü‘ D,¬­êˬ� @ñ 3Îhs §CŠ¢jV¥‚²$¥ÊP4¥ ̱£.cȼ±cç b¬ …I@t” I@´” I@õ†.k*Ä Ñ Š)µ©V”iCÔ‹i@Ö”p“lþµ¬@�&Â46‰@x”@`8¸” ‰D1"„óþ¸l@†ËÂ<ø¥êQ«"êP6¥ì$³<Š›¶¥b”ø%òQâòP7%õ@?¯�I¬ø¥úP'¥ª²7¥b$ §h‚zˆ'è‚‚4"@Ë cxÈˆê0���¬6£hÜŽC|"8 ã˜Ò: #xÝT„Þ:\Ô0Æ4#ÃÆ: £“gJßÜ3»÷ÅX†ˆ»Ck[ ˜éb†öq¹Á2áö(cxÞcj67;én@�$pò1 Cf2bÚ0�núú17è\‹€ØV'šyç’j˜§¨ÁneÀAü™A€¢Vž™@îžAžëÚxeÀA†{€úFÐ�»`ó¦m nÝ´�'0#‡ÀA äŸU™£¸˜AæÏ´ž& ¢dŸÁ¥ÁŸÀ•Èì<ŽÉÈ뼎³Áž§¨|/p@Aâcâdž¦)ªr‰áPÀ`"C©Òpš&Pªï”vþASCII.TXT[Fred Haines, March 1988]% €ŠÅ©d ?ƒAGÁˆÒn0œ�"€� "ÀqŒX 2ŽŒã£HèÖ:6Ž�âÀ3ä2„a¨d8aC„ÉÜ´œU&E€¤BaˆS(H#‰9;K§#§ l¾=HãóÈüþ¶S'’(„B~.!ŽÚäéF:aŽœjóyèÀcžH¬2™P±e!È¢â(îBŽ”£¦(éÊëY^+¢’úEÀ`¤‘qŽ:CŽ”ã¦8éÏ#8¼Þ²ÒlÉ<©‚“EÄ’Xé;±§#§MLöó•J3$ë„\œA%Ѳxí"œUŽ™c§]þSX •_H$>\\¦Y'QÒ˜é:VŽ™£§n¸Æ·?K/¤"-/šÅEÄò¸èŽŽŠèèÎŽŽíúòø§�Ã,Œ€bHH‚ñ¢áB;©Ë"œÀ©ÃB:<@웄Á‰h�ÝÂ(š�(ìJ§ (貎�(ê*­«s‚ì­Ëè˜ôB"˜ªý€¡R:#¢R:-#£R:=DA‹„Å/¢´R"Šm.£¡Ú:ï€âÚ:5££ÜÕ¾Mú#H 0�Áb:#¯À.#£b;ÇA¦¼>MÂú!±�ˆ�8…¨èzŽÅŠpºŽ�¨èû«nÊ�¾¬I¥8…Èè|ŽÂ 8¼Ž�ÈèýJ€�“ÑLÆPˆ«8…èè~މèí§ éˆûÁ‰‚ ™ ©¢ ›L°�2Ä#Þ2:ƒ(â:Œ#cQe�ƒ¨Ú7ã�ßxæ4ŽƒHÞ7SÁ‡r–Üö1�˜Â1Žƒ(äÔQWhÂ7 kÔÁ¢ËYvkP:WA„ç~[A� ¸%tÜ×@Úˆ ΢EŠ¢h¨Ü<ŒCÙ‡(@6Œ#[¨¹ CÍä!€Ñ  2HASCII.COM prints a chart of ASCII characters to screen, ASCII.TXT is same thing for printing out on paper, ASCII.Z80 is source code. New version includes binary equivalents. Clears screen with two-byte string located at 07E8 hex (ESC + in distributed version). Patch to anything you like. If you use a single-byte screen clearing code, fill second byte with 00 hex. Fred Haines, March 1988. vþASCIIMP1.Z80[Fred Haines, March 1988]% €ŽÄ‘<ŽR “GB L†I$“Jqhp0‚ „©P�O)CDc‘”È $M&ã)Î7"J„Xj@M0œŒf�Äd,ŸŽG‰ŒªR(Êsh)ÊZt9â!övt õsy¸æo6D3œÊnFæ4s)Äêa:K퀢HE(•A#!"6L#^owÒEˆa/ƒ „D¦c/£\E¸ñs9Œ&ÁÈÞu:Kn€¨Ýä°TÁ‰$â¥ÔwG9�+7PI0ˆ !‹’@$2¦ukgÆ3ˆ ÇSq�G_Óî$B(°†L)ð †Ãy†Rc±Îì¶s-¦Êtå<I9Î` ÝI„ÀNF™°£ñj>[@ÜÛo ˜5b“Z×¾B „„áXZH�y …a;°)ŒOÁ£à@1%©Øò,>œ(Ä 0e†q(Ã�`O€�¤VÅa´VÆcä.»ÃB4mÂ`4&Âp¬‰ ÃpTo† ÀA„T±‰Â¬ ‚`‹€¢˜¡ED„i$G À�Í€0Ec„…(HÓl«5ŲÌ[.Mb˜ž$L¢ ‡ÄÁ WDÍ’œˆ1X£Œ1Xãø{’5òs%IAÅ“ÎȬ>×B Ȭ7"°üýœƒø‹õ•¿Ç ×B«Îè¬ÀE Nz+}IÌ®µÓ¬�Âø{é%$´ “P‚OqÌ,•VÞÃxd,…¼¸†Â§ ƒ`u ¡¸š xs 'Dµ,0†WÏQblÊȬ Ât(r*o¨¬àÎY!ô@�`ÒC(m ™\KE /ÄüW£1[+¤Z&ðÚˆIp QEHGdFpy Aˆ±ÆrºCk,ŠX1’æ £�#F˜ŽsÄO!f?ç¤õ—S²ÁÒHv`±@NpJØw+²,¹‡2„fƒj".d¤;Ä’|º�°RXæØ"„åà$HB@¿   Í #Í$Í uÍÉ*$+------------+---------------------------------------------------------------+ | binary | 0 1 2 3 4(0) 5(1) 6 7 | +------+-----+---------------------------------------------------------------+ | 0000 | 0 | NUL DLE SP 0 @ P ` p | | 0001 | 1 | SOH DC1 ! 1 A Q a q | | 0010 | 2 | STX DC2 " 2 B R b r | | 0011 | 3 | ETX DC3 # 3 C S c s | | 0100 | 4 | EOT DC4 $ 4 D T d t | | 0101 | 5 | ENQ NAK % 5 E U e u | | 0110 | 6 | ACK SYN & 6 F V f v | | 0111 | 7 | BEL ETB ' 7 G W g w | | 1000 | 8 | BS CAN ( 8 H X h x | | 1001 | 9 | HT EM ) 9 I Y i y | | 1010 | A | LF SUB * : J Z j z | | 1011 | B | VT ESC + ; K [ k { | | 1100 | C | FF FS , < L \ l | | | 1101 | D | CR GS - = M ] m } | | 1110 | E | SO RS . > N ^ n ~ | | 1111 | F | SI US / ? O - o DEL | +------+-----+---------------------------------------------------------------+ Hex code equals column/row position. Control characters - change column 4 codes to 0, column 5 codes to 1. Combine 2 binary nybbles to make a byte. $; PROGRAM: ASCIIMP2.Z80 ; AUTHOR: Fred Haines ; DATE: March 12, 1988 ; PURPOSE: Prints ASCII chart to console screen. ; ; HISTORY: March 26, 1988 - Al Heynneman ; added ORG to 100h ; removed external print call ; added BDOS print calls ; added extra ctrl char info in header ; removed extra LF at end ; restructured file ; added appropriate labels ; ;------------------------------- ; equates ;------------------------------- CR EQU 0DH LF EQU 0AH ESC EQU 1BH BDOS EQU 05H ;------------------------------- ; start ;------------------------------- ORG 100H ; LD C,09H ; DOS print string function LD DE,CLS ; load clear screen string address CALL BDOS ;------------------------------- ; print screen ;------------------------------- LD C,09H LD DE,TBL1 CALL BDOS ; LD C,02H LD E,24H CALL BDOS ; LD C,09H LD DE,TBL2 CALL BDOS ; RET ;------------------------------- ; clear screen string ;------------------------------- CLS: DB ESC,'*$' ; two bytes, terminated with $ ;------------------------------- ; ascii table ;------------------------------- TBL1: DB '+------------+---------------------------------------------------------------+',CR,LF DB '| binary | 0 1 2 3 ' DB ' 4(0) 5(1) 6 7 |',CR,LF DB '+------+-----+---------------------------------------------------------------+',CR,LF DB '| 0000 | 0 | NUL DLE SP 0 ' DB ' @ P ` p |',CR,LF DB '| 0001 | 1 | SOH DC1 ! 1 ' DB ' A Q a q |',CR,LF DB '| 0010 | 2 | STX DC2 " 2 ' DB ' B R b r |',CR,LF DB '| 0011 | 3 | ETX DC3 # 3 ' DB ' C S c s |',CR,LF DB '| 0100 | 4 | EOT DC4 $' TBL2: DB ' 4 ' DB ' D T d t |',CR,LF DB '| 0101 | 5 | ENQ NAK % 5 ' DB ' E U e u |',CR,LF DB '| 0110 | 6 | ACK SYN & 6 ' DB ' F V f v |',CR,LF DB '| 0111 | 7 | BEL ETB '' 7 ' DB ' G W g w |',CR,LF DB '| 1000 | 8 | BS CAN ( 8 ' DB ' H X h x |',CR,LF DB '| 1001 | 9 | HT EM ) 9 ' DB ' I Y i y |',CR,LF DB '| 1010 | A | LF SUB * : ' DB ' J Z j z |',CR,LF DB '| 1011 | B | VT ESC + ; ' DB ' K [ k { |',CR,LF DB '| 1100 | C | FF FS , < ' DB ' L \ l | |',CR,LF DB '| 1101 | D | CR GS - = ' DB ' M ] m } |',CR,LF DB '| 1110 | E | SO RS . > ' DB ' N ^ n ~ |',CR,LF DB '| 1111 | F | SI US / ? ' DB ' O - o DEL |',CR,LF DB '+------+-----+---------------------------------------------------------------+',CR,LF DB ' Hex code equals column/row position. Control' DB ' characters - change column 4',CR,LF DB ' codes to 0, column 5 codes to 1. Combine 2' DB ' binary nybbles to make a byte.',CR DB '$' ; END