OTHELLO  € ANIMAL € ANIMOB  € AWARI € MAZES )€ GIN 7€ GINOB U€ GO s € GOB ~€ ONSETS †€ OTH2 ” € AUTHORS ¡€ LINES º € SQUARES Ä‚ LINES2 Ç € CIRCE Ñ‚ LINES3 Ô € PRTEST Þ€ LINES4 á € ROTATE ë‚ 9918 î€ 99182 ñ€ BIG € RUNJUMP ó€ ALLFIGS ø € POINTS € ROT2  € MAN #€ PAD '€ PAT (€ OB - TEST .‚ TEST2 0€ TEST3 1€ TEST4 2€ TEST5 5€ SNAKE 7 € CIRCLE A€ MAN2 F€ GTEST L‚ TEST6 O€ TEST7 R€ CMAKE S‚ MAN3 U€ PAC \2€2 MAKEDATAŽ € ˜ € ¢ € 0010 LXI H,TABLE 0020 COLLP:MOV A,M 0030 CPI 0FFH 0040 JZ DONE 0050 OUT 33 0060 INX H 0070 MOV A,M 0080 OUT 38 0090 INX H 0100 MOV A,M 0110 OUT 37 0120 INX H 0130 MOV A,M 0140 OUT 36 0150 INX H 0160 JMP COLLP 0170 DONE: 0180 LXI H,0 0190 CLY:MOV A,H 0200 OUT 34 0210 CLX:MOV A,L 0220 OUT 33 0230 MVI A,1 0240 OUT 32 0250 INR L 0260 JNZ CLX 0270 INR H 0280 JNZ CLY 0290 LXI H,17136+6000H 0300 BACK:LXI D,2020H 0310 CALL PUT 0320 XRA A 0330 CALL 110H 0340 CPI 3 0350 RZ 0360 CPI ' ' 0370 JZ BACK 0380 LXI B,-504 0390 DAD B 0392 DAD B 0400 JMP BACK 0410 RET 0420 PUT:PUSH B 0430 MVI B,21 0440 PTY:MVI C,24 0450 MOV A,D 0460 OUT 33 0470 PTX:MOV A,E 0480 CMA 0490 OUT 34 0500 MOV A,M 0510 ANI 1 0520 JZ OK 0530 MVI A,2 0540 OK:PUSH B 0550 PUSH D 0560 PUSH H 0570 MOV C,A 0580 LXI H,707H 0590 Y1:MOV A,D 0600 OUT 33 0610 X1:MOV A,E 0620 CMA 0630 OUT 34 0640 MOV A,C 0650 OUT 32 0660 INR E 0670 DCR L 0680 JNZ X1 0690 MVI L,7 0700 MOV A,E 0710 SUB L 0720 MOV E,A 0730 INR D 0740 DCR H 0750 JNZ Y1 0760 MOV A,D 0770 SUB L 0780 MOV D,A 0790 POP H 0800 POP D 0810 POP B 0820 INX H 0830 MOV A,E 0840 ADI 8 0850 MOV E,A 0860 DCR C 0870 JNZ PTX 0880 MOV A,E 0890 SUI 192 0900 MOV E,A 0910 MOV A,D 0920 ADI 8 0930 MOV D,A 0940 DCR B 0950 JNZ PTY 0960 MOV A,D 0970 SUI 168 0980 MOV D,A 0990 POP B 1000 RET 1010 TABLE:DB 0,0,0,0 1020 DB 1,255,0,0 1030 DB 2,255,255,255 1040 DB 255 1040 0680 CALL OFF 0690 DCR C 0700 JNZ MLOOP 0710 JMP OLOOP 0720 ON: 0730 ONLP:MOV A,M 0740 ADD D 0750 OUT 33 0760 INX H 0770 MOV A,M 0780 ADD E 0790 OUT 34 0800 INX H 0810 MOV A,M 0820 CPI 80H 0830 RZ 0840 OUT 32 0850 INX H ESAG 1310 MOV A,B 1320 CALL PRDEC 1330 CALL CRLF 1340 JMP MLOOP 1350 ILLGL:LXI H,ILLM 1360 CALL MESAG 1370 JMP MLOOP 1380 PRDEC:LXI B,100 1390 MOV D,A 1400 CALL DIGIT 1410 MVI C,10 1420 CALL DIGIT 1430 MOV A,D 1440 ADI 30H 1450 JMP CO 1460 DIGIT:MVI E,-1 1470 MOV A,D 1480 DGLP:INR E 1490 SUB C 1500 JNC DGLP 1510 ADD C 1520 MOV D,A 1530 MOV A,E 1540 ORA B 1550 MOV B,A 1560 RZ 1570 MVI A,30H 1580 ADD E 1590 JMP CO 1600 MESAG:MOV A,M 1610 ORA A 1620 RZ 1630 CALL CO 1640 INX H 1650 JMP MESAG 1660 TEST:MOV E,B 1670 MVI D,0 1680 MOV A,D 1690 STA COUNT 1700 LXI H,BOARD 1710 DAD D 1720 MOV A,M 1730 ORA A 1740 JNZ BAD 1750 MVI A,3 1760 SUB C 1770 STA Y2 1780 MVI A,8 1790 STA CNTR 1800 TSTLP:PUSH B 1810 XRA A 1820 STA CNT1 1830 LDA CNTR 1840 MOV E,A 1850 MVI D,0 1860 LXI H,STEPS-1 1870 DAD D 1880 MOV C,M 1890 TLP1:MOV A,B 1900 ADD C 1910 MOV B,A 1920 MOV E,A 1930 LXI H,BOARD 1940 DAD D 1950 LDA Y2 1960 CMP M 1970 JNZ SET0 1980 LXI H,CNT1 1990 INR M 2000 JMP TLP1 2010 SET0:MOV B,D 2020 XCHG 2030 LXI H,FLAGS-1 2040 LDA CNTR 2050 MOV C,A 2060 DAD B 2070 MVI M,0 2080 XCHG 2090 POP B 2100 MOV A,C 2110 CMP M 2120 JNZ IS0 2130 LDA CNT1 2140 STAX D 2150 MOV D,A 2160 LDA COUNT 2170 ADD D 2180 STA COUNT 2190 IS0:LXI H,CNTR 2200 DCR M 2210 JNZ TSTLP 2220 BAD:LDA COUNT 2230 ORA A 2240 RET 2250 MOVE:LXI H,BOARD 2260 MOV E,B 2270 MVI D,0 2280 DAD D 2290 MOV M,C 2300 MVI A,8 2310 STA CNTR 2320 MVLP:LDA CNTR 2330 MOV E,A 2340 MVI D,0 2350 LXI H,FLAGS-1 2360 DAD D 2370 MOV E,M 2380 MOV A,E 2390 ORA A 2400 JZ DONXT 2410 STA CNT1 2420 PUSH B 2430 LDA CNTR 2440 MOV E,A 2450 MVI D,0 2460 LXI H,STEPS-1 2470 DAD D 2480 MOV A,M 2490 STA STEP 2500 MVLP1:LDA STEP 2510 ADD B 2520 MOV B,A 2530 MOV E,B 2540 LXI H,BOARD 2550 DAD D 2560 MOV M,C 2570 LXI H,CNT1 2580 DCR M 2590 JNZ MVLP1 2600 POP B 2610 DONXT:LXI H,CNTR 2620 DCR M 2630 JNZ MVLP 2640 LXI H,USED 2650 INR M 2660 MOV A,M 2670 CPI 64 2680 RC 2690 POP H 2700 END:LXI H,GMOV 2710 CALL MESAG 2720 LDA YOU 2730 MOV B,A 2740 LDA ME 2750 CMP B 2760 LXI H,TIE 2770 JZ OK 2780 LXI H,IWIN 2790 JNC OK 2800 LXI H,YWIN 2810 OK:CALL MESAG 2820 CALL CRLF 2830 JMP START 2840 CI:XRA A 2850 JMP DOS+10H 2855 CRLF:MVI A,13 2856 CALL CO 2857 MVI A,10 2860 CO:PUSH B 2870 MOV B,A 2880 XRA A 2890 CALL DOS+0DH 2900 POP B 2910 RET 2950 TIE:DB 'TIE GAME.',0 2960 IWIN:DB 'I WIN!',0 2970 YWIN:DB 'YOU WIN.',0 2980 CHARS:DB '.XO' 2990 BOARD:DS 100 3000 YOU:DS 1 3010 ME:DS 1 3020 USED:DS 1 3030 YMOV:DB 'YOUR MOVE ? ',0 &3040 ILLM:DB 'ILLEGAL MOVE.',13,10,0 3050 GMOV:DB 'GAME OVER.',0 3060 OEQ:DB ' O=',0 3070 XEQ:DB ' X=',0 3080 CNTR:DS 1 3090 CNT1:DS 1 3100 COUNT:DS 1 3110 FLAGS:DS 8 '3120 STEPS:DB -11,-10,-9,1,11,10,9,-1 3130 Y2:DS 1 3140 CMOV:DS 1 3150 STEP:DS 1 3160 IMVTO:DB 'I MOVE TO ',0 -3170 MOVES:DB 11,18,81,88,13,16,31,38,61,68 (3180 DB 83,86,33,36,63,66,14,15,41,48 (3190 DB 51,58,84,85,34,35,43,46,53,56 (3200 DB 64,65,24,25,42,47,52,57,74,75 (3210 DB 23,26,32,37,62,67,73,76,12,17 (3220 DB 21,28,71,78,82,87,22,27,72,77 32201F3 :08462730472A8147EBE5D5CDB0 :08462FD9122DDA4135E1CD620B :0846378D46D113CA44463A80B6 :08463F9B473DC21946CDE2453F :0846476C22CE46CD734623110F :08464FC0D0467E1213230DC2F8 :084657DB5146CD5D2E21C74663 :08465F60C329310100021E01B4 :084667007EBBC82300010 DOS:EQU 100H 0020 START CALL CRLF 0030 LXI H,TOAAM 0040 CALL MESAG 0050 CALL CRLF 0060 CALL CRLF 0070 LXI H,LIST 0080 BEGIN CALL CRLF 0090 MOV A,M 0100 MOV B,M 0110 ORA A 0120 JZ NEXT 0130 SHLD SAVE1 0140 XCHG 0150 LXI H,GUESS 0160 CALL MESAG 0170 XCHG 0180 NEXT INX H 0190 MOV A,M 0200 ASK CALL PRINT 0210 INX H 0220 MOV A,M 0230 CPI 13 0240 JNZ ASK 0250 MVI A,'?' 0260 CALL PRINT 0270 CHRIN CALL CHAR 0280 CPI 'Q' 0290 JZ DOS+28H 0300 CPI 3 0310 JZ RSTRT 0320 CPI 'Y' 0330 JZ YES 0340 CPI 'N' 0350 JNZ CHRIN 0360 CALL PRINT 0370 NO MOV A,B 0380 ORA A 0390 JNZ NO1 0400 INX H 0410 INX H 0420 JMP NEW 0430 NO1 CALL CRLF 0440 LHLD END 0450 XCHG 0460 LXI H,ANIMM 0470 CALL MESAG 0480 CALL KBRD 0490 XCHG 0500 MVI M,1 0510 INX H 0520 CALL MOVE 0530 XCHG 0540 LHLD SAVE2 0550 MOV M,E 0560 INX H 0570 MOV M,D 0580 LXI H,QMESG 0590 CALL MESAG 0600 CALL KBRD 0610 XCHG 0620 MVI M,0 0630 INX H 0640 CALL MOVE 0650 XCHG 0660 LXI H,AFYA 0670 CALL MESAG 0680 PIKUP CALL CHAR 0690 CPI 3 0700 JZ RSTRT 0710 CPI 'Y' 0720 JZ YES2 0730 CPI 'N' 0740 JNZ PIKUP 0750 CALL PRINT 0760 NO2 LHLD SAVE1 0770 XCHG 0780 MOV M,E 0790 INX H 0800 MOV M,D 0810 INX H 0820 XCHG 0830 LHLD END 0840 BACK XCHG 0850 MOV M,E 0860 INX H 0870 MOV M,D 0880 INX H 0890 SHLD END 0900 JMP START 0910 YES2 CALL PRINT 0920 LHLD END 0930 XCHG 0940 MOV M,E 0950 INX H 0960 MOV M,D 0970 INX H 0980 XCHG 0990 LHLD SAVE1 1000 JMP BACK 1010 YES CALL PRINT 1020 MOV A,B 1030 ORA A 1040 JNZ START 1050 NEW INX H 1060 SHLD SAVE2 1070 MOV C,M 1080 INX H 1090 MOV H,M 1100 MOV L,C 1110 JMP BEGIN 1120 MESAG MOV A,M 1130 CALL PRINT 1140 INX H 1150 MOV A,M 1160 CPI 35 1170 RZ 1180 JMP MESAG+1 1190 RSTRT LXI H,FROM 1200 LXI D,YES9 1210 MOV M,E 1220 INX H 1230 MOV M,D 1240 INX H 1250 LXI D,NO9 1260 MOV M,E 1270 INX H 1280 MOV M,D 1290 JMP START 1300 KBRD PUSH H 1310 LXI H,MEM 1320 INPUT CALL CHAR 1330 CPI 7FH 1340 JZ BSPC 1350 CPI 3 1360 JZ RSTRT 1370 CALL PRINT 1380 JMP NEXT9 1390 BSPC:DCX H 1400 MOV A,M 1410 INX H 1420 CPI 255 1430 JZ INPUT 1435 DCX H 1440 MVI A,8 1450 CALL PRINT 1460 JMP INPUT 1470 NEXT9 MOV M,A 1480 INX H 1490 CPI 13 1500 JNZ INPUT 1510 POP H 1520 JMP CRLF 1530 CRLF MVI A,13 1540 CALL PRINT 1550 MVI A,10 1560 PRINT:PUSH B 1570 MOV B,A 1580 XRA A 1590 CALL DOS+0DH 1600 POP B 1610 RET 1620 CHAR:XRA A 1630 JMP DOS+10H 1640 MOVE LXI D,MEM 1650 MVI B,13 1660 WORK LDAX D 1670 MOV M,A 1680 INX D 1690 INX H 1700 CMP B 1710 RZ 1720 JMP WORK 1730 SAVE DS 2 1740 SAVE1 DS 2 1750 SAVE2 DS 2 1760 DB 255 1770 MEM DS 100 1780 END DW LAST 1790 GUESS DB 'WAS IT A #' (1800 ANIMM DB 'WHAT WAS YOUR ANIMAL?#' ,1810 QMESG DB 'WHAT SHOULD I HAVE ASKED?#' 61820 AFYA DB 'FOR YOUR ANIMAL THE ANSWER WOULD BE?#' %1830 TOAAM DB 'THINK OF AN ANIMAL#' 1840 LIST DB 0 1850 DB 'DOES IT HAVE HAIR' 1860 DB 13 1870 FROM DW YES9 1880 DW NO9 1890 NO9 DB 1 1900 DB 'BIRD' 1910 DB 13 1920 YES9 DB 1 1930 DB 'DOG' 1940 DB 13 1950 LAST:EQU $ 19502100 MOV A,C 2110 CMP M 2120 JNZ IS0 2130 LDA CNT1 2140 STAX D 2150 MOV D,A 2160 LDA COUNT 2170 ADD D 2180 STA COUNT 2190 IS0:LXI H,CNTR 2200 DCR M 2210 JNZ TSTLP 2220 BAD:LDA COUNT 2230 ORA A 2240 RET 2250 MOVE:LXI H,BOARD 226Í3! ‚Íá€Í3Í3!3‚Í3~F·Ê&€"Vë!ÁÍá€ë#~Í:#~þ Â(€>?Í:ÍBþQÊ(þÊí€þYÊ΀þNÂ7€Í:x·Â[€##ÃÖ€Í3*¿ë!ËÍá€Íë6#ÍFë*Xs#r!áÍá€Íë6#ÍFë!ûÍá€ÍBþÊí€þYʼ€þN€Í:*Vës#r#ë*¿ës#r#"¿Ã€Í:*¿ës#r#ë*Vñ€Í:x·Â€#"XN#fiÀ~Í:#~þ#ÈÃâ€!F‚P‚s#r#J‚s#rÀå![ÍBþÊþÊí€Í:Ã(+~#þÿÊ+>Í:Ãw#þ ÂáÃ3> Í:> ÅG¯Í ÁɯÃ[ w#¸ÈÃKH‚P‚vƒÿDOES IT EAT CARROTS OCEAN G AND HAVE HORNS 2p4p6p8r8r:rv>vz>z<|<~<€<€>‚>„>„<‚<‚:‚8€8~8³‚S‚™ƒWAS IT A #WHAT WAS YOUR ANIMAL?#WHAT SHOULD I HAVE ASKED?#FOR YOUR ANIMAL THE ANSWER WOULD BE?#THINK OF AN ANIMAL#DOES IT HAVE HAIR Z‚ƒBIRD DOG COW DOES IT GIVE MILK AND GO 'MOO,MOO' U‚ˆ‚LION IS IT KING OF THE JUNGLE ‚‚«‚PIG DOES IT GO 'OINK,OINK' ¦‚Í‚GOAT DOES IT EAT NEARLY ANYTHING AND HAVE HORNS Ç‚YƒSNAKE DOES IT HAVE LEGS ?ƒ!ƒFISH DOES IT HAVE GILLS ƒý‚FROG DOES IT CROAK 9ƒJ‚WHALE DOES IT LIVE IN THE OCEAN Rƒ€ƒRABBIT DOES IT EAT CARROTS xƒP‚`Z`XbXdXdVdTbT`T^T\T\V^V^X\X\ZZZTdVhVjVlTlTnVnLVRVRTPTPRRRRXTXTVTTTRVRVPVNXNXLZLR\T\ZRXRXPVTJLLLLJNJPJTPTNXJ\H^H`H\LbLdL\RdRp r"r"t$t$r$p&v&x$x"x"z zzzz(v(x(z&z$z,|.|.~.€0€*~,~(~(€(‚*‚*€,€|~€€‚„„„„‚€€‚‚€‚‚„„†ˆŠŒŒŠŠŒŽ ŽŽŒŠ Š"Š"ˆ"†"„$„$‚$€"€ €€‚ ‚"‚€‚„††„ „ † ˆˆˆˆ†$†$ˆ$Š*†,†.„0„2„2†2ˆ4ˆ6ˆ8ˆ8Š6Š4Š2Š2Œ0Œ.Œ.Ž..’,’,”.”.–,–,˜.˜.š.œ0œ2œ4œ4ž2ž*”*–(–&–&˜&š(š*š*˜(˜&’$’$""’"”$”&”(”"Ž"Œ ŒTrTtTvRv\r^rdndpfpfrftfvfxdxdzfzf|d|b|bzbxfjflhlhjjjljllnlnjpjrjtjtlrlpldfbf`f`h^h\h\f^f^d\d\b^b`bbbbdddfdfffhZjZlXfVfVdXdd`dbb\bZdZd\f\h\hZfZfXhXjXlXlVjVh^j^j`h`jblbnbn`l`l^n^n\p\r\t\t^t`r`p`pbrbxfxdzdzbxbx`z`|`|^z^z\zZxZxXxVzVzX|X|Z~Z~X~V|V|T|R~R~T€T€V‚V‚X„X„Z†Z†\ˆ\ˆ^ˆ`Š`Š^Š\ŠZˆZˆXŠXŠVŒVŒXŽXŽZZXV’V’T”T”V–V˜V˜T˜R˜P˜NšNšPšRšTšVšX˜X˜Z˜\–\–Z–X”X’X’Z”Z”\”^–^–`”`’`’^’\\^`bd’d’b”b”d”f”h’hhf’fxhxjxlxnznzlzj|j|l~l€l‚l‚n‚p‚r‚t€t€v€x€z~z|z||~|€|€~€€~€|€z€z~|~~~rnpnnnnpnrntltlvjvjtjrjplplrrpppprptrtttvtvrtrrrzp|p~p~n|nxtxvvvvxtxtv|r~r~tzvzzx|z|rzr|p|pznzn|l|l~j~j|jzhzhxhvhthrhphnjnjlt~t€v€z‚|‚|„~„€„€‚‚‚‚€‚~„~†~†€†‚„‚„€r‚r€p€p‚n‚l‚j‚j€l€n€n~p~r~p†pˆnˆn†l†h„h‚f‚d‚b‚`‚`€^€\€\‚^‚^„`„`†^†^ˆ\ˆ\†\„h†f†d†d„f„hˆfˆfŠhŠhŒjŒjŠlŒlŽnŽpŽpp’n’n”p”p–p˜r˜r–r”r’pŠvŒvŽvv’x’z’z||’~’~~Žv”x”t˜tšvšv˜xšxœxžzž|ž|œ|š|˜~˜~š~œ~ž€ž€ ‚ ‚ž„ž„œ„š‚š‚œ€œ€š€˜‚˜‚–‚”‚’‚‚ބބ„’„”†”ˆ”ˆ’ˆ††’zšzœ|–‚Œ„Œ„Š„ˆ„†„„†„†††ˆ†ŠˆŠˆŒ†Œ†ŽˆŽŠŽŒŽŒŽŽŽŽ’Ž’Œ’ВДЖˆ–†–„–„˜†˜†šˆšˆœŠœŠžˆžˆ † †¢†¤ˆ¤ˆ¦†¦†¨ˆ¨ˆªŠªŠ¬Š®ˆ®ˆ¬†¬†ª„ª‚ª‚¬€¬~¬~ª~¨€¨‚¨‚¦„¦„¨~Š~ˆ€ˆ‚ˆ‚Š€Š|ŠzŠzŒx|ˆ|†NxVxVvJ€H€F„F†H†J†J„L„L†N†P†R†T†T„V„H„T€R„\~^~^|^z\z\|Z|X|Xx^vbtBŠBŒBŽB@@’>’>”>–@–@”B”B’D’F’H’HFDDŽDŒDŠHˆFŒHŒJŒLŒLŠNŠPŠPŒNŒNŽNLLŽJŽHŽFŽRŠRŒRŽRPP’N’N”N–P–P”R”T”T–T˜TšTœVœVšV˜V–V”X”Z”\”\–^–`–b–b˜`˜^˜^š\š\œZœZžZ Z¢\¢^¢^¤`¤b¤b¢d¢d f fždždœfœhœhšh˜h–j–j”l”l’j’h’h”f”f–f˜d˜dšbš`š`œ^œ^ž`žbžb ` ^ \ \žTŒTŽTVXX’V’T’R’VŒXŒZŒZŠZˆXˆXŠZ†8€6†4†<†<ˆ>ˆ@ˆ@Š@Œ>Œ<Œ<Š>Š<>@@@BBDD@@>>HJJJ H H J JHFFDLNNNPPPPRRTVVTTVV V VXZ\\\^``^^`` ^ \ Z Z Z\^^^\ZZXXLNJLNRTT T"V"V X X"X$V$V&X&P"N"N$P$R$R"R L"P&P(R(R&T&T$N*P*T(\*^*^(^&`&b&d&d$b$`$^$\(\^^\``b d f fffhhjlljj j"l"l$l&n&n(n*p*p(p&r&r(t(v(x(x&x$v$v"v t r p n nppnnnnljh:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4:4: \ ^^```^\\ZZZ86644<<<<::::<<<>@@@@BDDFFHHFFHJJHHH H J LLLJ<>>@@BB B D"D$D$B"B"@">"< < > @: :$>$@&@(@(>*>*<(<&>,6.6062646444222240408284868888:8<:<:::8:686666484:4:2<2<0>0@0@2@4>4>20:2:4:6:6<0<,@.@0@2@:>:@<@<>>>><<<<:<8>8>6<6<48D:D:BD>F@F@D@B>B>@@@B@D@F@F>FT>R>P>N>L>J>J`@`@^>^<^<\Z>XV@VBVDVFVFTDTDRBRBPBNBLDLFLFNDNDPFPHPJPJRHRFR,\*\*^*`(`(b(d&d$d"d"f ffh h j"j"h$h$j&j&h&f(f.\.^.`,`,b*b*d,d4`6`6b4b4d4f4h(h(j(l*l*j,j,l.l.j0n2n2p2r2t4t6t8t8r6r6p4p4n8j:jf@f@dBdBfBh@h@j@lBlBjDjDlDnFnFlFjFhDhDfFfHfHhJhJjHj0010 DOS:EQU 100H 0020 MVI B,3 0030 LXI H,YSIDE 0040 MVI C,13 0050 SET1 MOV M,B 0060 INX H 0070 DCR C 0080 JNZ SET1 0090 MOV A,C 0100 STA YPOT 0110 STA MPOT 0120 CALL BOARD 0130 YMOVE LXI H,YSIDE 0140 MVI B,6 0150 MVI C,0 0160 END1 MOV A,M 0170 CMP C 0180 JNZ YMOV1 0190 INX H 0200 DCR B 0210 JNZ END1 0220 JMP MMOVE 0230 YMOV1 LXI H,YMOVM 0240 CALL MESAG 0250 PIKUP:CALL CI 0260 CPI '1' 0270 JC PIKUP 0280 CPI '7' 0290 JNC PIKUP 0300 MOV C,A 0310 SUI 49 0320 MOV L,A 0330 MVI H,0 0340 LXI D,YSIDE 0350 DAD D 0360 MOV A,M 0370 ORA A 0380 JZ PIKUP 0390 MOV A,C 0400 CALL PRINT 0410 MVI B,0 0420 CALL PITS 0430 CALL BOARD 0440 LDA AGAIN 0450 CPI 1 0460 JZ YMOVE 0470 MMOVE LXI H,MSIDE 0480 MVI B,6 0490 MVI C,0 0500 END2 MOV A,M 0510 CMP C 0520 JNZ MMOV1 0530 INX H 0540 DCR B 0550 JNZ END2 0560 LDA MPOT 0570 LXI H,YPOT 0580 ADD M 0590 CPI 36 0600 JNZ YMOVE 0610 JMP END 0620 MMOV1 MVI B,14 0630 LXI H,YSIDE 0640 LXI D,NBRD 0650 MOVE MOV A,M 0660 STAX D 0670 INX D 0680 INX H 0690 DCR B 0700 JNZ MOVE 0710 LXI H,MSIDE 0720 SHLD SAVE1 0730 SHLD SAVE2 0740 XCHG 0750 LDA MPOT 0760 STA GREAT 0770 MVI A,6 0780 STA CNTR 0790 FIND CALL MOVE2 0800 LHLD SAVE1 0810 MOV A,M 0820 ORA A 0830 JZ NEXT3 0840 MVI B,1 0850 CALL PITS 0860 LDA GREAT 0870 MOV B,A 0880 LDA MPOT 0890 CMP B 0900 JC NEXT3 0910 STA GREAT 0920 LHLD SAVE1 0930 SHLD SAVE2 0940 NEXT3 LHLD SAVE1 0950 INX H 0960 SHLD SAVE1 0970 LXI H,CNTR 0980 DCR M 0990 JNZ FIND 1000 CALL MOVE2 1010 LHLD SAVE2 1020 MVI B,1 1030 CALL PITS 1040 LXI H,MMOVM 1050 CALL MESAG 1060 LHLD SAVE2 1070 LXI D,-MSIDE 1080 DAD D 1090 MOV A,L 1100 ADI 177 1110 CALL PRINT 1120 CALL BOARD 1130 LDA AGAIN 1140 CPI 2 1150 JZ MMOVE 1160 JMP YMOVE 1170 MOVE2 LXI H,NBRD 1180 LXI D,YSIDE 1190 MVI B,14 1200 WORK MOV A,M 1210 STAX D 1220 INX D 1230 INX H 1240 DCR B 1250 JNZ WORK 1260 RET 1270 END:JMP DOS+28H 1280 PITS XRA A 1290 STA AGAIN 1300 MOV C,M 1310 MVI M,0 1320 ROTAT INX H 1330 MOV A,M 1340 CPI 255 1350 JNZ NEXT9 1360 LXI H,YSIDE 1370 NEXT9 INR M 1380 DCR C 1390 JNZ ROTAT 1400 XCHG 1410 LXI H,-MPOT 1420 DAD D 1430 MOV A,H 1440 ORA L 1450 JNZ NEXT5 1460 MVI A,2 1470 STA AGAIN 1480 RET 1490 NEXT5 LXI H,-YPOT 1500 DAD D 1510 MOV A,H 1520 ORA L 1530 JNZ NEXT6 1540 MVI A,1 1550 STA AGAIN 1560 RET 1570 NEXT6 LDAX D 1580 CPI 1 1590 RNZ 1600 LXI H,-YSIDE 1610 DAD D 1620 MVI A,12 1630 SUB L 1640 MOV L,A 1650 PUSH D 1660 LXI D,YSIDE 1670 DAD D 1680 POP D 1690 MOV A,M 1700 ORA A 1710 RZ 1720 MOV C,M 1730 INR C 1740 MVI M,0 1750 MOV A,M 1760 STAX D 1770 LXI H,YPOT 1780 MOV A,B 1790 ORA A 1800 JZ NEXT8 1810 LXI H,MPOT 1820 NEXT8 MOV A,C 1830 ADD M 1840 MOV M,A 1850 RET 1860 MESAG MOV A,M 1870 CPI '#' 1880 RZ 1890 CALL PRINT 1900 INX H 1910 JMP MESAG 1920 BOARD CALL CRLF 1930 CALL SPC1 1940 MVI B,6 1950 LXI H,MSIDE+5 1960 FLOOP MOV A,M 1970 CALL PNUM 1980 DCX H 1990 DCR B 2000 JNZ FLOOP 2010 CALL CRLF 2020 LDA MPOT 2030 CALL PNUM 2040 MVI B,30 2050 SPACE CALL PRINT 2060 DCR B 2070 JNZ SPACE 2080 LDA YPOT 2090 CALL PNUM 2100 CALL CRLF 2110 MVI A,32 2120 CALL SPC1 2130 MVI B,6 2140 LXI H,YSIDE 2150 SLOOP MOV A,M 2160 CALL PNUM 2170 INX H 2180 DCR B 2190 JNZ SLOOP 2200 CALL CRLF 2230 CRLF MVI A,10 2240 CALL PRINT 2250 MVI A,13 2260 PRINT:PUSH B 2270 MOV B,A 2280 XRA A 2290 CALL DOS+0DH 2300 POP B 2310 RET 2312 CI:XRA A 2313 JMP DOS+10H 2320 SPC1 MVI A,32 2330 MVI B,5 2340 PRNT CALL PRINT 2350 DCR B 2360 JNZ PRNT 2370 RET 2380 PNUM PUSH B 2390 MVI C,0FFH 2400 MVI D,10 2410 DIV10 INR C 2420 SUB D 2430 JNC DIV10 2440 MOV D,A 2450 MOV A,C 2460 ORA A 2470 JZ BLANK 2480 ADI 176 2490 CALL PRINT 2500 NDIGT MOV A,D 2510 ADI 186 2520 CALL PRINT 2530 MVI A,32 2540 POP B 2550 CALL PRINT 2560 CALL PRINT 2570 JMP PRINT 2580 BLANK MVI A,32 2590 CALL PRINT 2600 JMP NDIGT 2610 YSIDE DS 6 2620 YPOT DS 1 2630 MSIDE DS 6 2640 MPOT DS 1 2650 DB 255 %2660 YMOVM DB 'YOUR MOVE (1-6) ? #' 2670 AGAIN DS 1 2680 NBRD DS 14 2690 CNTR DS 1 2700 SAVE1 DS 2 2710 SAVE2 DS 2 2720 GREAT DS 1 2730 MMOVM:DB 'I MOVE TO #' 27300010 DOS:EQU 100H 0020 LINES:EQU 2 0030 JMP START 0040 WID1:DB 4EH 0050 LEN1:DB 60H 0060 START:CALL CLR2 0070 LDA WID1 0080 ADD A 0090 DCR A 0100 STA WID 0110 DCR A 0120 MOV E,A 0130 MVI D,0 0140 LDA LEN1 0150 ADD A 0160 DCR A 0170 STA LEN 0180 DCR A 0190 CALL MULT 0200 CALL ROT 0210 CALL ROT 0220 SHLD NUM 0230 LDA WID1 0240 MOV L,A 0250 MVI H,0 0260 DAD H 0270 DAD H 0280 DAD H 0290 INX H 0300 SHLD WID9 0310 MVI H,1 0320 LDA LEN 0330 MOV D,A 0340 YLP:MVI L,1 0350 LDA WID 0360 MOV E,A 0370 HLP:CALL ON 0380 INR L 0390 DCR E 0400 JNZ HLP 0410 INR H 0420 DCR D 0430 JNZ YLP 0440 LXI H,202H 0450 CALL OFF 0460 SHLD MEM 0470 LXI H,1 0480 SHLD USED 0490 LXI H,MEM 0500 SHLD TAKE 0510 INX H 0520 INX H 0530 SHLD PUT 0540 GET:LHLD TAKE 0550 MOV E,M 0560 INX H 0570 MOV D,M 0580 INX H 0590 SHLD TAKE 0600 XCHG 0610 SHLD POS 0620 ZER:XRA A 0630 STA COUNT 0640 INRC:LXI H,COUNT 0650 INR M 0660 MOV A,M 0670 CPI 10 0680 JNC GET 0690 CALL RND 0700 LHLD POS 0710 CALL STEP 0720 SHLD MID 0730 CALL STEP 0740 SHLD NEW 0750 CALL BIT 0760 JZ INRC 0770 SHLD POS 0780 CALL OFF 0790 XCHG 0800 LHLD MID 0810 CALL OFF 0820 LHLD PUT 0830 MOV M,E 0840 INX H 0850 MOV M,D 0860 INX H 0870 SHLD PUT 0880 LHLD USED 0890 INX H 0900 SHLD USED 0910 XCHG 0920 LHLD NUM 0930 MOV A,E 0940 CMP L 0950 JNZ ZER 0960 MOV A,D 0970 CMP H 0980 JNZ ZER 0990 MVI A,1BH 0991 CALL PO 0992 MVI A,5BH 0993 CALL PO 1060 MVI A,1BH 1070 CALL PO 1080 MVI A,'T' 1090 CALL PO 1100 MVI A,31H 1110 CALL PO 1120 MVI A,36H 1130 CALL PO 1140 LXI H,-16 1150 SHLD SUB 1160 CALL CLEAR 1170 MVI D,2 1180 LDA LEN 1190 ADI 3 1200 MOV H,A 1210 YLP5:MVI E,2 1220 LDA WID 1230 ADI 3 1240 MOV L,A 1250 XLP:PUSH H 1260 XCHG 1270 SHLD POS 1280 XCHG 1290 PUSH D 1300 DCR E 1310 CALL BITDE 1320 CNZ LSIDE 1330 POP D 1340 PUSH D 1350 DCR D 1360 CALL BITDE 1370 CNZ TOP 1380 POP D 1390 POP H 1400 INR E 1410 INR E 1420 MOV A,E 1430 CMP L 1440 JNZ XLP 1450 INR D 1460 INR D 1470 MOV A,D 1480 CMP H 1490 JNZ YLP5 1500 MVI B,LINES 1510 LAST:CALL DUMP 1520 DCR B 1530 JNZ LAST 1540 RET 1550 BITDE:XCHG 1560 CALL BIT 1570 XCHG 1580 RET 1590 BIT:PUSH H 1600 CALL SET 1610 ANA M 1620 POP H 1630 RET 1640 LSIDE:CALL SETDH 1650 MVI B,9 1660 SDLP:CALL PLOT 1670 INX H 1680 DCR B 1690 JNZ SDLP 1700 RET 1710 TOP:LHLD POS 1720 XCHG 1730 MOV A,D 1740 CPI 2 1750 JNZ CHEK2 1760 MOV A,E 1770 CPI 2 1780 RZ 1790 CHEK2:LDA LEN 1800 INR A 1810 CMP D 1820 JNZ NOT 1830 LDA WID 1840 DCR A 1850 CMP E 1860 RZ 1870 NOT:CALL SETDH 1880 MVI B,9 1890 TPLP:CALL PLOT 1900 INX D 1910 DCR B 1920 JNZ TPLP 1930 RET 1940 SETDH:LHLD POS 1950 XCHG 1960 MOV L,E 1970 DCR L 1980 DCR L 1990 MVI H,0 2000 DAD H 2010 DAD H 2020 XCHG 2030 MOV L,H 2040 DCR L 2050 DCR L 2060 MVI H,0 2070 DAD H 2080 DAD H 2090 RET 2100 PLOT:PUSH B 2110 PUSH D 2120 PUSH H 2130 MOV B,H 2140 MOV C,L 2150 LHLD SUB 2160 DAD B 2170 JNC OK 2180 CALL DUMP 2190 DAD B 2200 OK:LXI B,16 2210 DAD B 2220 MOV A,L 2230 ANI 7 2240 MOV C,A 2250 MVI B,0 2260 MOV A,L 2270 ANI 0F8H 2280 MOV L,A 2290 DAD H 2300 DAD H 2310 DAD H 2320 DAD H 2330 DAD H 2340 DAD H 2350 DAD H 2360 DAD D 2370 LXI D,BUFFR 2380 DAD D 2390 MOV A,M 2400 XCHG 2410 LXI H,BITS2 2420 DAD B 2430 ORA M 2440 STAX D 2450 POP H 2460 POP D 2470 POP B 2480 RET 2490 DUMP:PUSH B 2500 PUSH D 2510 MVI A,1BH 2520 CALL PO 2530 MVI A,'S' 2540 CALL PO 2550 LHLD WID9 2560 LXI D,-1000 2570 CALL DIGIT 2580 LXI D,-100 2590 CALL DIGIT 2600 LXI D,-10 2610 CALL DIGIT 2620 MOV A,L 2630 ORI 30H 2640 CALL PO 2650 LHLD WID9 2660 XCHG 2670 LXI H,BUFFR 2680 DMPLP:MOV A,M 2690 CALL PO 2700 INX H 2710 DCX D 2720 MOV A,D 2730 ORA E 2740 JNZ DMPLP 2750 LXI D,BUFFR 2760 LXI H,BUFFR+1024 #2770 LXI B,1024 ;1024*LINES-1024 2780 MVLP:MOV A,M 2790 STAX D 2800 INX D 2810 INX H 2820 DCX B 2830 MOV A,B 2840 ORA C 2850 JNZ MVLP 2860 LXI H,BUFFR+1024 2870 LXI D,1024 2880 MVI B,0 2890 ZR:MOV M,B 2900 INX H 2910 DCX D 2920 MOV A,D 2930 ORA E 2940 JNZ ZR 2950 LXI D,-8 2960 LHLD SUB 2970 DAD D 2980 SHLD SUB 2990 MVI A,13 3000 CALL PO 3010 MVI A,10 3020 CALL PO 3030 POP D 3040 POP B 3050 RET 3060 DIGIT:MVI A,02FH 3070 DGLP:SHLD LNUM 3080 INR A 3090 DAD D 3100 JC DGLP 3110 LHLD LNUM 3120 JMP PO 3130 LNUM:DS 2 3140 CLEAR:LXI H,BUFFR 3150 LXI D,2048 3160 MVI B,0 3170 CLRLP:MOV M,B 3180 INX H 3190 DCX D 3200 MOV A,D 3210 ORA E 3220 JNZ CLRLP 3230 RET 3240 STEP:ANI 3 3250 JZ UP 3260 CPI 1 3270 JZ RIGHT 3280 CPI 2 3290 JZ DOWN 3300 LEFT:DCR L 3310 RET 3320 UP:DCR H 3330 RET 3340 DOWN:INR H 3350 RET 3360 RIGHT:INR L 3370 RET 3380 RND:PUSH B 3390 PUSH H 3400 LXI H,SH+3 3410 MVI B,8 3420 MOV A,M 3430 RTOP:RLC 3440 RLC 3450 RLC 3460 XRA M 3470 RAL 3480 RAL 3490 DCX H 3500 DCX H 3510 DCX H 3520 MOV A,M 3530 RAL 3540 MOV M,A 3550 INX H 3560 MOV A,M 3570 RAL 3580 MOV M,A 3590 INX H 3600 MOV A,M 3610 RAL 3620 MOV M,A 3630 INX H 3640 MOV A,M 3650 RAL 3660 MOV M,A 3670 DCR B 3680 JNZ RTOP 3690 POP H 3700 POP B 3710 RET 3720 SH:DB 55H 3730 DS 3 3740 MULT:LXI H,0 3750 MVI B,8 3760 MLTLP:DAD H 3770 RAL 3780 JNC DEC 3790 DAD D 3800 DEC:DCR B 3810 JNZ MLTLP 3820 RET 3830 ROT:STC 3840 CMC 3850 MOV A,H 3860 RAR 3870 MOV H,A 3880 MOV A,L 3890 RAR 3900 MOV L,A 3910 RET 3920 USED:DS 2 3930 NUM:DS 2 3940 POS:DS 2 3950 PUT:DS 2 3960 TAKE:DS 2 3970 NEW:DS 2 3980 MID:DS 2 3990 COUNT:DS 1 4000 WID:DB 40 4010 LEN:DB 40 4020 SUB:DS 2 4030 WID9:DS 2 4040 ON:PUSH H 4050 CALL SET 4060 ORA M 4070 MOV M,A 4080 POP H 4090 RET 4100 OFF:PUSH H 4110 CALL SET 4120 CMA 4130 ANA M 4140 MOV M,A 4150 POP H 4160 RET 4170 SET:PUSH B 4180 PUSH D 4190 MOV A,H 4200 RRC 4210 RRC 4220 RRC 4230 ANI 1FH 4240 MOV D,A 4250 MOV E,L 4260 MOV A,H 4270 ANI 7 4280 MOV C,A 4290 MVI B,0 4300 LXI H,BITS 4310 DAD B 4320 MOV A,M 4330 LHLD TBADD 4340 DAD D 4350 POP D 4360 POP B 4370 RET #4380 BITS:DB 128,64,32,16,8,4,2,1 $4390 BITS2:DB 1,2,4,8,16,32,64,128 4400 CLR2:LHLD TBADD 4410 LXI D,4096+4096 4420 MVI B,0 4430 C2LP:MOV M,B 4440 INX H 4450 DCX D 4460 MOV A,D 4470 ORA E 4480 JNZ C2LP 4490 RET 4500 PCRLF:MVI A,13 4510 CALL PO 4520 MVI A,10 4530 PO:PUSH B 4540 MOV B,A 4550 MVI A,1 4560 CALL DOS+0DH 4570 MOV A,B 4580 POP B 4590 RET 4600 BUFFR:DS 2048 4610 TBADD:DW TAB 4620 TAB:DS 8192 4630 MEM:EQU $ 4630DOS:EQU 100H GINVAL:EQU 234 ;NO REASON FOR 234 FIELD:EQU 50 WARM:EQU 128H JMP START SHOWFLAG:DB 1 START:LXI SP,0BFFFH MVI A,1 STA CCNTR LXI H,MYTAB PUSH H MVI E,1 CALL SETUP POP D CALL COUNT STA CUR LXI H,YUTAB MVI E,0 CALL SETUP CALL LISTU JMP DECK MLOOP:CALL LISTU LXI H,TPMSG CALL MESAG LDA TOP CALL PRCARD2 LXI H,QMSG CALL INPUT LDA IBUFF CPI 'A' JZ ARRANGE CPI 'T' JZ FTOP CPI 'D' JNZ ERROR DECK:LXI H,UDRAW CALL MESAG CALL CARD PUSH PSW CALL PRCARD2 LXI H,QEST2 CALL GETNUM POP B ORA A JZ DISC1 CPI 11 JNC DISC1 MOV E,A MVI D,0 LXI H,YUTAB-1 DAD D MOV A,M MOV M,B MOV B,A DISC1:MOV A,B STA TOP CALL SETUSED LXI D,YUTAB CALL COUNT CPI GINVAL JZ YUGIN LDA SHOWFLAG ORA A CNZ SHOWME LXI D,MYTAB CALL COUNT STA CUR LDA TOP CALL BEST CPI GINVAL JZ TAKIT LDA CUR SUB B JC TAKIT LXI H,IDRAW CALL MESAG CALL CARD PUSH PSW CALL BEST POP D LDA CUR SUB B MOV A,B STA CUR MOV A,D STA PICKUP JNC DISCARD LXI H,MYTAB MOV A,C CALL ADDAH MOV A,M MOV M,D DISCARD:MOV B,A STA TOP CALL SETUSED LDA SHOWFLAG ORA A CNZ SHOWCARD LXI H,IDISC CALL MESAG MOV A,B CALL PRCARD2 CALL CRLF LDA SHOWFLAG ORA A CNZ CI LDA CUR CPI GINVAL JNZ MLOOP LXI H,IGIN CALL MESAG LXI H,CHAINS GLP:MOV A,M CPI 3 JC DONTPR CALL CRLF MOV A,M INX H CPI 0FFH JZ PLAYAG MOV B,A GLP2:MOV A,B ORA A JZ GLP DCR B MOV A,M INX H XCHG LXI H,MYTAB CALL ADDAH MOV A,M XCHG CALL PRCARD2 MOV A,B ORA A MVI A,',' CNZ CO JMP GLP2 DONTPR:MOV E,A MVI D,0 DAD D INX H JMP GLP SHOWCARD:LXI H,SCRD CALL MESAG LDA PICKUP CALL PRCARD2 JMP CRLF SHOWME:LXI H,MYMSG CALL MESAG LXI H,MYTAB JMP LIST YUGIN:LXI H,UGINM CALL MESAG PLAYAG:LXI H,TRYAG CALL INPUT LDA IBUFF CPI 'Y' JZ START JMP WARM TAKIT:LXI H,ITOP CALL MESAG LDA TOP STA PICKUP MOV D,A MOV A,B STA CUR MVI B,0 LXI H,MYTAB DAD B MOV A,M MOV M,D JMP DISCARD FTOP:LXI H,QEST3 CALL GETNUM ORA A JZ FTOP CPI 11 JNC FTOP MOV E,A MVI D,0 LXI H,YUTAB-1 DAD D MOV B,M LDA TOP MOV M,A JMP DISC1 ARRANGE:LXI H,QEST4 CALL INPUT MVI B,10 LXI D,YUTAB LXI H,BUFF1 TBMV:LDAX D MOV M,A INX D INX H DCR B JNZ TBMV LXI H,IBUFF LXI D,YUTAB ARRLP:PUSH D CALL GETNUM1 POP D ORA A JZ NEXTNUM CPI 11 JNC NEXTNUM MOV C,A MVI B,0 PUSH H LXI H,BUFF1-1 DAD B MOV A,M MVI M,0FFH CMP M POP H JZ NEXTNUM STAX D INX D NEXTNUM:DCX H MOV A,M INX H CPI 0DH JNZ ARRLP LXI H,BUFF1 MVI B,10 CMPCT:MOV A,M CPI -1 JZ DECB STAX D INX D DECB:INX H DCR B JNZ CMPCT JMP MLOOP COUNT:XCHG SHLD HANDADD XCHG PUSH B PUSH D PUSH H LXI B,0 LXI H,PAIRS PLOOP1:XRA A STA FLAG PLOOP:INR C CALL PAIR MVI A,9 CMP C JNZ PLOOP INR B MOV C,B CMP B JNZ PLOOP1 MVI M,0FFH LXI D,PAIRS LXI H,CHAINS CHLP:LDAX D CPI 0FFH JZ CHDONE CPI 0FEH JZ SKIP2 BIT 6,A ;ABCDE JNZ NOCHAIN PUSH H MOV H,D MOV L,E BKLP:SHLD SAVE CALL SRCH2 JC AFTER DCX H MOV A,M JMP BKLP AFTER:POP H MOV B,H MOV C,L MVI M,0 INX H PUSH D XCHG LHLD SAVE AFTLP:MOV A,M ANI 7FH STAX D INX D MVI M,0FEH INX H LDAX B INR A STAX B MOV A,M ANI 7FH STAX D MOV A,M MVI M,0FEH CALL SRCH1 JNC AFTLP LDAX B INR A STAX B INX D XCHG POP D SKIP2:INX D INX D JMP CHLP NOCHAIN:MVI M,2 INX H MOV M,A INX H MVI A,0FEH STAX D INX D LDAX D MOV M,A INX H MVI A,0FEH STAX D INX D JMP CHLP CHDONE:MVI M,0FFH ;PUSH B ;PUSH D ;PUSH H ;LXI H,CHAINS ;ILP:MOV A,M ;ORA A ;CNZ CRLF ;MOV A,M ;INX H ;CPI 0FFH ;JZ DON99 ;MOV B,A ;ILP2:MOV A,B ;ORA A ;JZ ILP ;DCR B ;MOV A,M ;INX H ;XCHG ;LHLD HANDADD ;CALL ADDAH ;MOV A,M ;XCHG ;CALL PRCARD2 ;MVI A,20H ;MVI C,5 ;SP3:CALL CO ;DCR C ;JNZ SP3 ;JMP ILP2 ;DON99:CALL CI ;POP H ;POP D ;POP B LXI D,CHAINS FIXCH:LDAX D CPI 0FFH JZ DONEF XCHG SHLD OLD XCHG MOV L,A MVI H,0 STA NUM STA CNTR DAD D INX H SHLD NEXTADD LOOK:LDA CNTR ORA A JZ NOMORE DCR A STA CNTR INX D LDAX D SDED ADDR MOV B,A LHLD NEXTADD LOOK2:MOV A,M CPI -1 JZ LOOK STA NUM2 SHLD OLD2 MOV C,M LOOK3:INX H SHLD ADDR2 MOV A,C ORA A JZ LOOK2 DCR C MOV A,C STA CNTR5 MOV A,M CMP B JNZ LOOK3 LDA NUM2 MOV B,A LDA NUM CMP B JC FEWER CPI 3 JC LOOK3 PUSH B PUSH D CALL SET1 STA TYPE1 SBCD LENS1 SDED NEWADD1 SHLD INADD1 CALL SET2 STA TYPE2 SBCD LENS2 SDED NEWADD2 SHLD INADD2 ;MOV M,C ;GOES TO HERE IF SECOND CHAIN IS ;MOV A,B ;LESS THAN FIRST CHAIN (NUM2 ½ÂT.$¼ÂTÉ!x±ÈË8ËÒ·ë)ëì!·ÍVÃ!ÂÍVÃõÍìÍæÚäÍ+G:€2ñÉ> ¼Ø½ÉæÊþÊþÊþÊ:0800000131FFBF210000CD52C8 :08000883022C3E0CBDC2060070 :080010062E0024BCC2060021EB :080018DB2E04CD58033A4F041E :0800201BFE59C25200CD8E02F5 :0800286D21D503CD5803214FD2 :080030B604CD3D03CD7402DAE4 :080038C07902572B7ED640CDA2 :080040D87402DA79026F62CD77 :080048D85A02C279023E01CD33 :080050D85302CD69010628CD49 :080058D8BC00CAA3000604CDC8 :080060D8BC00CAA300061ECDA6 :080068D8F000CAA3000603CD85 :080070D8F000CAA3000614CD6C :080078D82A01CAA3000602CD3B :080080D82A01CAA3000614CD21 :080088D8F000CAA300060ACD5E :080090DBF000CAA300CD53010F :0800983367CD53016FCD5A020D :0800A063C295003E0ACD530234 :0800A836EB210604CD9103EBB8 :0800B06DCD5E01CD9B03CD690E :0800B8B301C32500AFCDF20036 :0800C030C0226504C53E089121 :0800C80C47C604CD1B020E0516 :0800D06DCD1502DAE600CD5AF0 :0800D8B302CAE40078CD1B025B :0800E0300DC2D000C1C9C12AD4 :0800E8DB6504CD0B01C3C00070 :0800F0183EFF326804210000F4 :0800F80C110060CD5A024F3AD1 :080100CC6804A1C220010E0825 :080108031AB8C8130DC2080167 :080110062C3E0CBDC2FB002EC3 :0801180C0024BCC2FB00B7C9B6 :0801200CEB3E08CDA503EBC377 :080128D81001CDF000C0AF3288 :080130D967043A67043C326709 :0801388C04130DCA4D011AB825 :0801406CC232013A6704E603C8 :08014863CA3201AFC9CD1001F9 :0801506CC32D01CDAA03E61FCB :08015818FE0CD25301C97C3CD6 :08016061CD07037DC641C38692 :0801688602210060224B0421F4 :080170190000224904AF324DD1 :0801789B04AF3264042A490420 :080180633A4D04C604CDFE01F3 :0801881BD604CDFE01CDFE01E2 :0801906DCDFE01CDFE013A64C4 :080198B1042A4B047723224B2A :0801A08C04FE05CADB01FE32EE :0801A86CCAE401214D04347E10 :0801B01BFE08DA79012A49045B :0801B8062C3E0CBDC272012EA3 :0801C00C0024BCC27201C9212C :0801C800000078B1C8CB38CB70 :0801D03019D2D50119EB29EB1E :0801D86DC3CA0121F203CD91B0 :0801E0B603C3ED0121FD03CDBF :0801E8DB9103CD8E02212004FE :0801F06CCD58033A4F04FE598F :0801F860CA0000C32801F5CD27 :080200DB1B02CD1502DA13022B :08020866CD5A02473A640480F6 :08021060326404F1C93E0BBC2D :08021803D8BDC9E607CA410283 :08022018FE01CA4302FE02CAE6 :080228C64602FE03CA4802FEAD :0802303104CA4B02FE05CA4D60 :0802388C02FE06CA5002252DBE :08024000C925C9252CC92CC9F0 :08024800242CC924C9242DC98E :080250062DC9AFE5CD6202776E :0802580CE1C9E5CD62027EE173 :08026000B7C9D5EB6A26005472 :0802680129292929291911692D :080270800419D1C93DFE0C3FC9 :08027836C921E203CD9103C355 :080280C02500AFC31001C54702 :08028801AFCD0D01C1C9CD9BF1 :0802908C030604CDF3020641C4 :080298060E0C3E20CD8602CDBE :0802A0CC860278CD8602040D24 :0802A86CC29A02CD9B032100F8 :0802B00C007C3CCD32033E043E :0802B8189047CDF3027C3CCD08 :0802C0C607033E20CD8602CDE6 :0802C8DB8602CD5A02CDE802EB :0802D03078CD86022C3E0CBDF6 :0802D86CC2C202CD9B032E0093 :0802E006243E0CBCC2B102C9A8 :0802E800062EB7C806583DC8F8 :0802F003064FC93E20CD860232 :0802F83105C2F502C97ECD8675 :0803008C022305C2FD02C9C5F0 :08030801D51E00470E64CD1E55 :0803108C030E0ACD1E0378C612 :0803180C30D1C1C3860216FFAF :0803200C781491D221038147EE :080328007AB35FC87AC630C346 :080330C086020601FE0AD80492 :08033800FE64D804C916007E22 :0803400C23D630DA5603FE0A45 :08034860D256035F7A878782B9 :0803500C878357C33F037AC9F0 :08035863CD91030600214F045F :08036060CD8202FE03CA2801F0 :0803680C77FE5FCA8203FE0D53 :08037061CA9B0378FE14CA6008 :08037886037E2304CD8602C337 :080380C6600378B7CA600305EB :0803880D2B3E5FCD8602C36020 :08039086037EB7C8CD86022367 :08039863C391033E0DCD860203 :0803A0183E0AC38602856FD0E6 :0803A80624C9C5E521D40306B2 :0803B000087E070707AE1717CE :0803B8002B2B2B7E1777237E0F :0803C0001777237E1777237ED7 :0803C80C177705C2B203E1C175 :0803D000C901001234594F5518 :0803D80052204D4F5645203F15 :0803E0002000494C4C45474147 :0803E8004C204D4F56452E0D2F :0803F0000A00594F552057493E :0803F8004E2E0D0A00492057AA :08040000494E210D0A004920BC :080408004D4F564520544F20D2 :080410000057484154205351EC :0804180055415245203F200030 :08042000504C415920414741B5 :08042800494E203F2000444F23 :0804300020594F552057414EA1 :080438005420544F20474F20CF :080440004649525354203F20AD :08044800000100010001001495 :070463000000010000007F12 :0105E8000012 :00000001FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ0005 DOS:EQU 100H 0007 WARM:EQU DOS+28H 0010 START:CALL RND 0020 ANI 7 0030 CPI 2 0040 JC START 0050 STA NUM 0060 MOV B,A 0070 LXI H,CARDS 0080 CRLP:MVI M,0 0090 CRLP1:CALL RND 0100 ANI 15 0110 MOV C,A 0120 LXI D,CARDS 0130 CRLP2:LDAX D 0140 CMP C 0150 JZ CRLP1 0160 CALL DEHL 0170 INX D 0180 JNZ CRLP2 0190 MOV A,C 0200 MOV M,A 0210 INX H 0220 DCR B 0230 JNZ CRLP 0240 LDA NUM 0250 MOV B,A 0260 FND:CALL RND 0270 ANI 15 0280 JZ FND 0290 CMP B 0300 JNC FND 0310 STA NUM1 0320 LXI H,FLAGS 0330 MVI B,15 0340 XRA A 0350 FLLP:MOV M,A 0360 INX H 0370 DCR B 0380 JNZ FLLP 0390 XRA A 0400 STA RDBUF 0410 CALL SHOW 0420 NOWIN:LXI H,MSG1 0430 CALL PMESG 0440 LDA NUM1 0450 CALL PNUM 0460 CALL CRLF 0490 MVI A,3EH 0500 CALL CHOUT 0510 CALL READ 0520 CALL CMPCT 0530 LXI H,FLAGS 0540 LXI D,CARDS 0550 LDA NUM 0560 MOV B,A 0570 CLP:PUSH B 0580 PUSH D 0590 PUSH H 0600 LDAX D 0610 CALL EVAL 0620 POP H 0630 POP D 0640 POP B 0650 MOV M,A 0660 INX D 0670 INX H 0680 DCR B 0690 JNZ CLP 0700 CALL SHOW 0710 LXI H,FLAGS 0720 LDA NUM1 0730 MOV C,A 0740 LDA NUM 0750 SUB C 0760 MOV B,A 0770 TLP1:MOV A,M 0780 INX H 0790 DCR A 0800 JNZ NOWIN 0810 DCR C 0820 JNZ TLP1 0830 TLP2:MOV A,M 0840 INX H 0850 ORA A 0860 JNZ NOWIN 0870 DCR B 0880 JNZ TLP2 0885 CALL CRLF 0890 LXI H,RDBUF 0900 CALL PMESG 0905 CALL CRLF 0910 LXI H,WINM 0920 CALL PMESG 0930 CALL CI 0940 JMP START 0950 EVAL:STA BITS 0960 LXI H,CBUF 0970 LXI D,CBUF1 0975 MOV A,M 0976 INR A 0977 JZ PUT0 0980 ELP:MOV A,M 0990 STAX D 1000 INX D 1010 INX H 1020 CPI 0FFH 1030 JZ DONE1 1040 CPI 10H 1050 JZ ISNOT 1060 CPI 4 1070 JNC ELP 1080 CALL GBIT 1090 DCX D 1100 STAX D 1110 INX D 1120 JMP ELP 1130 ISNOT:MOV A,M 1140 CALL GBIT 1150 CMA 1160 ANI 1 1170 DCX D 1180 STAX D 1190 INX D 1200 INX H 1210 JMP ELP 1220 GBIT:MOV B,A 1230 INR B 1240 LDA BITS 1250 RLC 1260 RTLP:RRC 1270 DCR B 1280 JNZ RTLP 1290 ANI 1 1300 RET 1301 PUT0:XRA A 1302 STAX D 1303 INX D 1304 DCR A 1305 STAX D 1310 DONE1:LXI H,CBUF1 1320 MVI B,17 1330 CALL DOOP 1340 LXI H,CBUF1 1350 MVI B,18 1360 CALL DOOP 1370 LDA CBUF1 1380 ORA A 1390 RET 1400 DOOP:MOV A,M 1410 CPI 0FFH 1420 RZ 1430 INX H 1440 CMP B 1450 JNZ DOOP 1460 MOV C,M 1470 DCX H 1480 DCX H 1490 CALL OP 1500 MOV M,A 1510 INX H 1520 PUSH H 1530 MOV D,H 1540 MOV E,L 1550 INX H 1560 INX H 1570 MVLP:MOV A,M 1580 STAX D 1590 INX D 1600 INX H 1610 CPI 0FFH 1620 JNZ MVLP 1630 POP H 1640 JMP DOOP 1650 OP:MOV A,B 1660 CPI 17 1670 JZ AND 1680 MOV A,C 1690 ORA M 1700 RET 1710 AND:MOV A,C 1720 ANA M 1730 RET 1740 READ:LXI H,RDBUF 1750 MVI B,0 1760 RDLP:CALL CI 1762 CPI 3 1763 JZ WARM 1770 CPI 7FH 1780 JZ BACK 1790 CPI 'G'-40H 1800 JZ REPET 1810 MOV M,A 1820 INX H 1840 INR B 1850 CALL CHOUT 1860 CPI 0DH 1870 JNZ RDLP 1875 MVI M,0 1880 RET 1900 REPET:MOV A,M 1905 CPI 0DH 1906 JZ RDLP 1907 CALL CHOUT 1920 INX H 1940 INR B 1960 JMP REPET 1970 BACK:MOV A,B 1980 ORA A 1990 JZ RDLP 2000 DCR B 2010 DCX H 2020 MVI A,8 2030 CALL CHOUT 2040 JMP RDLP 2050 CMPCT:LXI H,CBUF 2060 SHLD PNTR 2070 LXI H,RDBUF 2080 CMPLP:LXI D,WORDS 2090 FLP:PUSH H 2100 MVI B,3 2110 FLP1:MOV A,M 2120 CPI 0DH 2130 JZ FINSH 2140 LDAX D 2150 CPI 0FFH 2160 JZ NONE 2170 ORA A 2180 JZ FOUND 2190 CMP M 2200 JNZ NEXT 2210 INX D 2220 INX H 2230 DCR B 2240 JNZ FLP1 2250 DCX D 2260 FOUND:INX D 2270 LDAX D 2280 POP D 2290 XCHG 2300 LHLD PNTR 2310 MOV M,A 2320 INX H 2330 SHLD PNTR 2340 MVI M,0FFH 2350 XCHG 2360 JMP CMPLP 2370 FINSH:LHLD PNTR 2371 MVI M,0FFH 2372 POP H 2380 RET 2390 NONE:POP H 2400 INX H 2410 JMP CMPLP 2420 NEXT:POP H 2430 INR B 2440 STPLP:INX D 2450 DCR B 2460 JNZ STPLP 2470 JMP FLP 2480 CRLF:MVI A,0DH 2481 CALL CHOUT 2482 MVI A,10 2483 CHOUT:PUSH B 2484 MOV B,A 2485 XRA A 2486 CALL DOS+0DH 2487 POP B 2488 RET 2489 CI:XRA A 2490 JMP DOS+10H 2560 SHOW:CALL CRLF 2561 CALL CRLF 2580 MVI B,8 2590 SHLP1:LDA NUM 2600 MOV C,A 2610 MOV A,B 2620 CPI 4 2630 CZ LINE 2640 SHLP:LXI H,FLAGS 2650 LDA NUM 2660 SUB C 2670 MOV E,A 2680 MVI D,0 2690 DAD D 2700 MOV A,B 2710 CPI 5 2720 RAL 2730 XRA M 2740 ANI 1 2750 JNZ PSPC 2760 LXI D,-16 2770 DAD D 2780 MOV A,B 2790 DCR A 2800 ANI 3 2810 INR A 2820 MOV D,A 2830 MOV A,M 2840 RLC 2850 RTLP1:RRC 2860 DCR D 2870 JNZ RTLP1 2880 ANI 1 2890 JZ PSPC 2900 LXI H,CLORS-4 2910 LXI D,4 2920 MOV A,B 2930 DCR A 2940 ANI 3 2950 INR A 2960 STLP1:DAD D 2970 DCR A 2980 JNZ STLP1 2990 MVI D,4 3000 PCLOR:MOV A,M 3010 CALL CHOUT 3020 INX H 3030 DCR D 3040 JNZ PCLOR 3050 DEC:DCR C 3060 JNZ SHLP 3070 CALL CRLF 3080 DCR B 3090 JNZ SHLP1 3100 RET 3110 LINE:MOV D,C 3120 LNLP:MOV A,C 3130 SUB D 3140 INR A 3150 CALL PNUM1 3160 MVI A,'-' 3170 CALL CHOUT 3180 DCR D 3190 JNZ LNLP 3200 JMP CRLF 3210 PSPC:MVI D,4 3220 MVI A,20H 3230 SPCLP:CALL CHOUT 3240 DCR D 3250 JNZ SPCLP 3260 JMP DEC 3270 DEHL:MOV A,D 3280 CMP H 3290 RNZ 3300 MOV A,E 3310 CMP L 3320 RET 3330 PMESG:MOV A,M 3340 ORA A 3350 RZ 3360 CALL CHOUT 3370 INX H 3380 JMP PMESG 3390 PNUM1:MVI H,100 3400 MVI L,0 3410 CALL DIG1 3420 MVI H,10 3430 CALL DIG1 3440 ADI 30H 3450 JMP CHOUT 3460 DIG1:MVI E,-1 3470 DGLP1:INR E 3480 SUB H 3490 JNC DGLP1 3500 ADD H 3510 MOV H,A 3520 MOV A,E 3530 ORA L 3540 MOV L,A 3550 JZ PDG2 3560 MVI A,30H 3570 ADD E 3580 CALL CHOUT 3590 MOV A,H 3600 RET 3610 PDG2:MVI A,'-' 3620 CALL CHOUT 3630 MOV A,H 3640 RET 3650 PNUM:MVI B,100 3660 MVI C,0 3670 CALL DIGIT 3680 MVI B,10 3690 CALL DIGIT 3700 ADI 30H 3710 JMP CHOUT 3720 DIGIT:MVI D,-1 3730 DGLP:INR D 3740 SUB B 3750 JNC DGLP 3760 ADD B 3770 MOV E,A 3780 MOV A,C 3790 ORA D 3800 MOV C,A 3810 MOV A,E 3820 RZ 3830 MVI A,30H 3840 ADD D 3850 CALL CHOUT 3860 MOV A,E 3870 RET 3880 RND:PUSH B 3890 PUSH H 3900 LXI H,SH+3 3910 MVI B,8 3920 MOV A,M 3930 RTOP:RLC 3940 RLC 3950 RLC 3960 XRA M 3970 RAL 3980 RAL 3990 DCX H 4000 DCX H 4010 DCX H 4020 MOV A,M 4030 RAL 4040 MOV M,A 4050 INX H 4060 MOV A,M 4070 RAL 4080 MOV M,A 4090 INX H 4100 MOV A,M 4110 RAL 4120 MOV M,A 4130 INX H 4140 MOV A,M 4150 RAL 4160 MOV M,A 4170 DCR B 4180 JNZ RTOP 4190 POP H 4200 POP B 4210 RET 4220 SH:DS 4 4230 NUM:DS 1 4240 NUM1:DS 1 4250 RDBUF:DS 128 4260 CBUF:DS 64 4270 CBUF1:DS 64 4280 CARDS:DS 16 4290 FLAGS:DS 16 4300 BITS:DS 1 4310 PNTR:DS 2 $4320 MSG1:DB 'SELECT THE FIRST ',0 "4330 CLORS:DB 'BLU RED GRN TAN ' "4340 WINM:DB 'YOU WIN',0DH,0AH,0 4350 WORDS:DB 'BLU',0 4360 DB 'RED',1 4370 DB 'GRN',2 4380 DB 'TAN',3 4390 DB 'NOT',16 4400 DB 'AND',17 4410 DB 'OR',0,18 4420 DB 0FFH 44200010 DOS:EQU 100H 0020 WARM:EQU DOS+28H 0030 START:LXI H,BOARD 0040 LXI B,100 0050 FLLP:MOV M,B 0060 INX H 0070 DCR C 0080 JNZ FLLP 0090 MVI A,1 0100 STA BOARD+45 0110 STA BOARD+54 0120 INR A 0130 STA BOARD+44 0140 STA BOARD+55 0150 STA YOU 0160 STA ME 0170 MVI A,4 0180 STA USED 0190 MLOOP:LXI B,3108H 0200 MVI A,20H 0210 MOV D,A 0220 CALL CO 0230 CALL CO 0240 CALL CO 0250 TPLP:MOV A,B 0260 CALL CO 0270 MOV A,D 0280 CALL CO 0290 CALL CO 0300 INR B 0310 DCR C 0320 JNZ TPLP 0330 CALL CRLF 0340 MVI B,8 0350 LXI H,BOARD+11 0360 MVI D,0 0370 YLOOP:MVI C,8 0380 MVI A,39H 0390 SUB B 0400 CALL CO 0410 XLOOP:MVI A,32 0420 CALL CO 0430 CALL CO 0440 MOV E,M 0450 PUSH H 0460 LXI H,CHARS 0470 DAD D 0480 MOV A,M 0490 CALL CO 0500 POP H 0510 INX H 0520 DCR C 0530 JNZ XLOOP 0540 CALL CRLF 0550 INX H 0560 INX H 0570 DCR B 0580 JNZ YLOOP 0590 LXI H,OEQ 0600 CALL MESAG 0610 LDA ME 0620 CALL PRDEC 0630 LXI H,XEQ 0640 CALL MESAG 0650 LDA YOU 0660 CALL PRDEC 0670 CALL CRLF 0680 LDA USED 0690 CPI 64 0700 JNC END 0710 LXI H,YMOV 0720 CALL MESAG 0730 LXI B,0 0740 RDLP:CALL CI 0750 CPI 3 0760 JZ WARM 0770 CPI 'P' 0780 JZ PASS 0790 CPI 0DH 0800 JZ DONRD 0810 CPI 31H 0820 JC RDLP 0830 CPI 39H 0840 JNC RDLP 0850 MOV B,C 0860 CALL CO 0870 SUI 30H 0880 MOV C,A 0890 JMP RDLP 0900 DONRD:CALL CRLF 0910 MOV A,B 0920 ADD A 0930 ADD A 0940 ADD B 0950 ADD A 0960 ADD C 0970 MOV B,A 0980 MVI C,1 0990 CALL TEST 1000 JZ ILLGL 1010 MOV D,A 1020 LDA YOU 1030 ADD D 1040 INR A 1050 STA YOU 1060 LDA ME 1070 SUB D 1080 STA ME 1090 CALL MOVE 1100 PASS2: 1110 MVI C,2 1120 XRA A 1130 STA CMOV 1140 MOVME:LDA CMOV 1150 MOV E,A 1160 MVI D,0 1170 LXI H,MOVES 1180 DAD D 1190 MOV B,M 1200 CALL TEST 1210 JNZ DOIT 1220 LXI H,CMOV 1230 INR M 1240 MOV A,M 1250 CPI 61 1260 JC MOVME 1270 JMP MLOOP 1280 JMP MOVME 1290 DOIT:MOV D,A 1300 LDA ME 1310 ADD D 1320 INR A 1330 STA ME 1340 LDA YOU 1350 SUB D 1360 STA YOU 1370 CALL MOVE 1380 LXI H,IMVTO 1390 CALL MESAG 1400 MOV A,B 1410 CALL PRDEC 1420 CALL CRLF 1430 JMP MLOOP 1440 PASS:CALL CRLF 1441 LXI B,0B01H 1450 MVI D,8 1460 PS1:MVI E,8 1470 PS2:PUSH D 1471 PUSH B 1480 CALL TEST 1483 POP B 1485 POP D 1490 JNZ ILLGL 1500 INR B 1510 DCR E 1520 JNZ PS2 1530 INR B 1531 INR B 1560 DCR D 1570 JNZ PS1 1580 JMP PASS2 1610 ILLGL:LXI H,ILLM 1620 CALL MESAG 1630 JMP MLOOP 1640 PRDEC:LXI B,100 1650 MOV D,A 1660 CALL DIGIT 1670 MVI C,10 1680 CALL DIGIT 1690 MOV A,D 1700 ADI 30H 1710 JMP CO 1720 DIGIT:MVI E,-1 1730 MOV A,D 1740 DGLP:INR E 1750 SUB C 1760 JNC DGLP 1770 ADD C 1780 MOV D,A 1790 MOV A,E 1800 ORA B 1810 MOV B,A 1820 RZ 1830 MVI A,30H 1840 ADD E 1850 JMP CO 1860 MESAG:MOV A,M 1870 ORA A 1880 RZ 1890 CALL CO 1900 INX H 1910 JMP MESAG 1920 TEST:MOV E,B 1930 MVI D,0 1940 MOV A,D 1950 STA COUNT 1960 LXI H,BOARD 1970 DAD D 1980 MOV A,M 1990 ORA A 2000 JNZ BAD 2010 MVI A,3 2020 SUB C 2030 STA Y2 2040 MVI A,8 2050 STA CNTR 2060 TSTLP:PUSH B 2070 XRA A 2080 STA CNT1 2090 LDA CNTR 2100 MOV E,A 2110 MVI D,0 2120 LXI H,STEPS-1 2130 DAD D 2140 MOV C,M 2150 TLP1:MOV A,B 2160 ADD C 2170 MOV B,A 2180 MOV E,A 2190 LXI H,BOARD 2200 DAD D 2210 LDA Y2 2220 CMP M 2230 JNZ SET0 2240 LXI H,CNT1 2250 INR M 2260 JMP TLP1 2270 SET0:MOV B,D 2280 XCHG 2290 LXI H,FLAGS-1 2300 LDA CNTR 2310 MOV C,A 2320 DAD B 2330 MVI M,0 2340 XCHG 2350 POP B 2360 MOV A,C 2370 CMP M 2380 JNZ IS0 2390 LDA CNT1 2400 STAX D 2410 MOV D,A 2420 LDA COUNT 2430 ADD D 2440 STA COUNT 2450 IS0:LXI H,CNTR 2460 DCR M 2470 JNZ TSTLP 2480 BAD:LDA COUNT 2490 ORA A 2500 RET 2510 MOVE:LXI H,BOARD 2520 MOV E,B 2530 MVI D,0 2540 DAD D 2550 MOV M,C 2560 MVI A,8 2570 STA CNTR 2580 MVLP:LDA CNTR 2590 MOV E,A 2600 MVI D,0 2610 LXI H,FLAGS-1 2620 DAD D 2630 MOV E,M 2640 MOV A,E 2650 ORA A 2660 JZ DONXT 2670 STA CNT1 2680 PUSH B 2690 LDA CNTR 2700 MOV E,A 2710 MVI D,0 2720 LXI H,STEPS-1 2730 DAD D 2740 MOV A,M 2750 STA STEP 2760 MVLP1:LDA STEP 2770 ADD B 2780 MOV B,A 2790 MOV E,B 2800 LXI H,BOARD 2810 DAD D 2820 MOV M,C 2830 LXI H,CNT1 2840 DCR M 2850 JNZ MVLP1 2860 POP B 2870 DONXT:LXI H,CNTR 2880 DCR M 2890 JNZ MVLP 2900 LXI H,USED 2910 INR M 2920 RET 2930 MOV A,M 2940 CPI 64 2950 RC 2960 POP H 2970 END:LXI H,GMOV 2980 CALL MESAG 2990 LDA YOU 3000 MOV B,A 3010 LDA ME 3020 CMP B 3030 LXI H,TIE 3040 JZ OK 3050 LXI H,IWIN 3060 JNC OK 3070 LXI H,YWIN 3080 OK:CALL MESAG 3090 CALL CRLF 3100 JMP START 3110 CI:XRA A 3120 JMP DOS+10H 3130 CRLF:MVI A,13 3140 CALL CO 3150 MVI A,10 3160 CO:PUSH B 3170 MOV B,A 3180 XRA A 3190 CALL DOS+0DH 3200 POP B 3210 RET 3220 TIE:DB 'TIE GAME.',0 3230 IWIN:DB 'I WIN!',0 3240 YWIN:DB 'YOU WIN.',0 3250 CHARS:DB '.XO' 3260 BOARD:DS 100 3270 YOU:DS 1 3280 ME:DS 1 3290 USED:DS 1 3300 YMOV:DB 'YOUR MOVE ? ',0 &3310 ILLM:DB 'ILLEGAL MOVE.',13,10,0 3320 GMOV:DB 'GAME OVER.',0 3330 OEQ:DB ' O=',0 3340 XEQ:DB ' X=',0 3350 CNTR:DS 1 3360 CNT1:DS 1 3370 COUNT:DS 1 3380 FLAGS:DS 8 '3390 STEPS:DB -11,-10,-9,1,11,10,9,-1 3400 Y2:DS 1 3410 CMOV:DS 1 3420 STEP:DS 1 3430 IMVTO:DB 'I MOVE TO ',0 -3440 MOVES:DB 11,18,81,88,13,16,31,38,61,68 (3450 DB 83,86,33,36,63,66,14,15,41,48 (3460 DB 51,58,84,85,34,35,43,46,53,56 (3470 DB 64,65,24,25,42,47,52,57,74,75 (3480 DB 23,26,32,37,62,67,73,76,12,17 (3490 DB 21,28,71,78,82,87,22,27,72,77 3490:DS 2 3950 PUT:DS 2 3960 TAKE:DS 2 3970 NEW:DS 2 3980 MID:DS 2 3990 COUNT:DS 1 4000 WID:DB 40 4010 LEN:DB 40 4020 SUB:DS 2 4030 WID9:DS 2 4040 ON:PUSH H 4050 CALL SET 4060 ORA M 4070 MOV M,A 4080 POP H 4090 RET 4100 OFF:PUSH H 4110 C 0010 DOS:EQU 100H 0020 VNUM:EQU 64 0030 ANUM:EQU 5 0040 BNUM:EQU 5 0050 CNUM:EQU 5 0060 DNUM:EQU 5 0070 MINE:EQU 5 0080 START:CALL ZEROS 0090 CALL CME 0100 CALL CME 0110 CALL CME 0120 CALL CME 0130 CALL CYOU 0140 CALL CYOU 0150 CALL CYOU 0160 CALL CYOU 0170 MLOOP:LXI H,CTABL 0180 MVI B,11 0190 LXI D,0 0200 ELP:MVI C,4 0210 XRA A 0220 ELP2:ADD M 0230 INX H 0240 DCR C 0250 JNZ ELP2 0260 CPI 4 0270 JZ PYOU 0280 CPI 20 0290 JNZ QUIT 0300 PME:INR E 0310 JMP GOON 0320 PYOU:INR D 0330 GOON:DCR B 0340 JNZ ELP 0350 LXI H,ENDM 0360 CALL MESAG 0370 MOV A,D 0380 CMP E 0390 JC IWON 0400 LXI H,YWIN 0410 CALL MESAG 0420 JMP START 0430 IWON:LXI H,IWIN 0440 CALL MESAG 0450 JMP START 0460 QUIT:LXI H,YHAND 0470 CALL MESAG 0480 CALL PRHND 0490 LXI H,QUEST 0500 CALL INPUT 0510 CALL LOOK 0520 JNZ BAD 0530 STA CARD 0540 MVI B,1 0550 CALL MASK 0560 JNZ CANT 0570 LDA CARD 0580 LXI H,CTABL 0590 CALL ADDAH 0600 MOV A,M 0610 CPI MINE 0620 JNZ DRAW !0630 ;YOU ASK ME AND I HAVE IT. 0640 MVI M,1 0650 LXI H,IHAVE 0660 CALL MESAG 0670 LDA CARD 0680 MVI B,0C0H 0690 CALL ON 0700 LDA CARD 0710 MVI B,16 0720 CALL ONALL 0730 JMP MLOOP 0740 DRAW:LXI H,NOHAV 0750 CALL MESAG 0760 CALL CYOU 0770 JC MTURN 0780 MOV B,A 0790 LDA CARD 0800 CMP B 0810 JNZ MTURN -0820 ; YOU ASK ME,I DON'T HAVE,YOU DRAW IT. 0830 LXI H,LUCK 0840 CALL MESAG 0850 LDA CARD 0860 MVI B,40H 0870 CALL ON 0880 LDA CARD 0890 MVI B,10H 0900 CALL ONALL 0910 JMP MLOOP 30920 ; YOU ASK ME,I DON'T HAVE,YOU DON'T DRAW IT. 0930 MTURN:LDA CARD 0940 MVI B,10H 0950 CALL ONALL 0960 DOME:LXI H,VALUS 0970 LXI D,CTABL 0980 MVI B,11 0990 XRA A 1000 STA MOST 1010 STA WHICH 1020 MAXLP:MVI C,4 1030 PUSH D 1040 MXLP2:LDAX D 1050 CPI MINE 1060 JZ THIS 1070 INX D 1080 DCR C 1090 JNZ MXLP2 1100 POP D 1110 INX D 1120 INX D 1130 INX D 1140 INX D 1150 INX H 1160 INX H 1170 INX H 1180 INX H 1190 JMP NEXT1 1200 THIS:POP D 1210 MVI C,4 1220 MXLP3:LDAX D 1230 CPI MINE 1240 ;JZ NEXT4 1250 LDA MOST 1260 CMP M 1270 JC BIGGR 1280 JNZ NEXT4 1290 PUSH H 1300 LXI H,CNTR 1310 INR M 1320 MOV A,M 1330 LXI H,SAMES 1340 CALL ADDAH 1350 MVI A,12 1360 SUB B 1370 ADD A 1380 ADD A 1390 SUB C 1400 MOV M,A 1410 POP H 1420 JMP NEXT4 1430 BIGGR:MOV A,M 1440 STA MOST 1450 MVI A,12 1460 SUB B 1470 ADD A 1480 ADD A 1490 SUB C 1500 STA WHICH 1510 STA SAMES 1520 XRA A 1530 STA CNTR 1540 NEXT4:INX D 1550 INX H 1560 DCR C 1570 JNZ MXLP3 1580 NEXT1:DCR B 1590 JNZ MAXLP 1600 LDA CNTR 1610 ORA A 1620 JZ NOSAM 1630 INR A 1640 MOV B,A 1650 RFND:CALL RND 1660 ANI 63 1670 CMP B 1680 JNC RFND 1690 LXI H,SAMES 1700 CALL ADDAH 1710 MOV A,M 1720 STA WHICH 1730 NOSAM: 1740 JMP NOSHW 1750 LXI H,CTABL 1760 MVI C,44 1770 MELP:CALL FOUR 1780 MOV A,M 1790 CPI MINE 1800 MVI A,'V' 1810 JZ PCHR 1820 MVI A,' ' 1830 PCHR:CALL CHOUT 1840 INX H 1850 DCR C 1860 JNZ MELP 1870 CALL CRLF 1880 CALL PVALS 1890 CALL CRLF 1900 LDA WHICH 1910 CALL SPACE 1920 MVI A,'^' 1930 CALL CHOUT 1940 CALL CRLF 1950 NOSHW: 1960 MVI B,18H 1970 LDA WHICH 1980 CALL OFF 1990 LXI H,DOHAV 2000 CALL MESAG 2010 LDA WHICH 2020 CALL PRCD2 2030 LXI H,QMARK 2040 CALL INPUT 2050 LDA WHICH 2060 LXI H,CTABL 2070 CALL ADDAH 2080 MOV A,M 2090 CPI 1 2100 JNZ DONOT 2110 LDA BUFFR 2120 CPI 'Y' 2130 CNZ LIE1 2140 JMP TAKE 2150 DONOT:LDA BUFFR 2160 CPI 'Y' 2170 CZ LIE2 2180 CALL CME 2190 JC YTURN 2200 MOV B,A 2210 LDA WHICH 2220 CMP B 2230 JNZ YTURN 2240 ;MVI B,-VNUM +2250 ;I ASK YOU,YOU DON'T HAVE,I DRAW IT. 2260 LXI H,IGOT 2270 CALL MESAG 2280 JMP DOME 12290 ;I ASK YOU,YOU DON'T HAVE,I DON'T DRAW IT. 2300 YTURN:MVI B,2 2310 LDA WHICH 2320 CALL OFF 2330 JMP MLOOP 2340 ;I ASK YOU,YOU HAVE IT. 2350 TAKE:MVI M,MINE 2360 MVI B,8 2370 LDA WHICH 2380 CALL ONALL 2390 MVI B,0D8H 2400 LDA WHICH 2410 CALL OFF 2420 JMP DOME 2430 PVALS:LXI H,VALUS 2440 MVI C,44 2450 VALLP:CALL FOUR 2460 MOV A,M 2470 ORI 80H 2480 CALL CHOUT 2490 INX H 2500 DCR C 2510 JNZ VALLP 2520 RET 2530 SPACE:MOV C,A 2540 SPCLP:CALL FOUR 2550 MOV A,C 2560 ORA A 2570 RZ 2580 MVI A,20H 2590 CALL CHOUT 2600 DCR C 2610 JMP SPCLP 2620 RET 2630 FOUR:MVI A,44 2640 SUB C 2650 ANI 3 2660 RNZ 2670 MVI A,20H 2680 JMP CHOUT 2690 CANT:LXI H,CANTM 2700 CALL MESAG 2710 JMP MLOOP 2720 LIE1:PUSH H 2730 LXI H,LIEM 2740 CALL MESAG 2750 LXI H,LIEM1 2760 CALL MESAG 2770 POP H 2780 RET 2790 LIE2:PUSH H 2800 LXI H,LIEM 2810 CALL MESAG 2820 LXI H,LIEM2 2830 CALL MESAG 2840 POP H 2850 RET 2860 BAD:LXI H,WRONG 2870 CALL MESAG 2880 JMP MLOOP 2890 MASK:ANI 0FCH 2900 LXI H,CTABL 2910 CALL ADDAH 2920 MVI C,4 2930 MOV A,B 2940 MSKLP:CMP M 2950 RZ 2960 INX H 2970 DCR C 2980 JNZ MSKLP 2990 INR C 3000 RET 3010 LOOK:LXI H,CARDS 3020 MVI B,44 3030 LKLP:LXI D,BUFFR 3040 MVI C,16 3050 LKLP2:LDAX D 3060 CPI 13 3070 JZ HERE 3080 CMP M 3090 JNZ SKIP 3100 INX D 3110 INX H 3120 DCR C 3130 JNZ LKLP2 3140 HERE:MVI A,44 3150 SUB B 3160 MOV B,A 3170 XRA A 3180 MOV A,B 3190 RET 3200 SKIP:MOV A,C 3210 CALL ADDAH 3220 DCR B 3230 JNZ LKLP 3240 INR B 3250 RET 3260 ADDAH:ADD L 3270 MOV L,A 3280 RNC 3290 INR H 3300 RET 3310 INPUT:CALL MESAG 3320 LXI H,BUFFR 3330 MVI B,0 3340 IN1:INR B 3350 IN2:CALL CHIN 3360 CPI 3 3370 JZ 128H 3380 CPI 7FH 3390 JZ BACK 3400 CPI 127 3410 JZ BACK 3420 MOV M,A 3430 CPI 13 3440 JZ CHOUT 3450 MOV A,B 3460 CPI 20 3470 JNC IN2 3480 MOV A,M 3490 INX H 3500 CALL CHOUT 3510 JMP IN1 3520 BACK:DCR B 3530 JZ IN1 3540 DCX H 3550 MVI A,8 3560 CALL CHOUT 3570 JMP IN2 3580 PRHND:LXI H,CTABL 3590 MVI B,11 3600 ALOOP:MVI C,4 3610 XRA A 3620 STA FLAG 3630 BLOOP:MOV A,M 3640 CPI 1 3650 JNZ NBOOK 3660 LDA FLAG 3670 INR A 3680 STA FLAG 3720 MVI A,' ' 3730 PRINT:CALL CHOUT 3732 CALL CHOUT 3733 CALL CHOUT 3734 CALL CHOUT 3735 CALL PRCRD 3750 NBOOK:INX H 3760 DCR C 3770 JNZ BLOOP 3780 LDA FLAG 3790 ORA A 3800 JZ NONE 3810 CPI 4 3820 JZ NONE2 3850 DCX H 3860 DCX H 3870 DCX H 3880 DCX H 3890 MVI C,4 3900 OLOOP:MOV A,M 3910 CPI 1 3920 JZ GOTIT 3940 LDA FLAG 3950 INR A 3960 STA FLAG 3980 MVI A,' ' 3990 CALL CHOUT 3991 CALL CHOUT 3992 CALL CHOUT 3993 CALL CHOUT 3994 CALL INVCD 4000 GOTIT:INX H 4010 DCR C 4020 JNZ OLOOP 4030 NONE2:CALL CRLF 4040 NONE:DCR B 4050 JNZ ALOOP 4060 RET 4070 PRCD2:PUSH H 4080 JMP PRCD3 4090 PRCRD:PUSH H 4100 MVI A,11 4110 SUB B 4120 ADD A 4130 ADD A 4140 ADI 4 4150 SUB C 4160 PRCD3:MOV L,A 4170 MVI H,0 4180 DAD H 4190 DAD H 4200 DAD H 4210 DAD H 4220 LXI D,CARDS 4230 DAD D 4240 MVI E,15 4250 PRLP:MOV A,M 4260 CALL CHOUT 4270 INX H 4280 DCR E 4290 JNZ PRLP 4300 POP H 4310 RET 4311 INVCD:MVI A,1BH 4312 CALL CO 4313 MVI A,')' 4314 CALL CO 4315 CALL PRCRD 4316 MVI A,1BH 4317 CALL CO 4318 MVI A,'(' 4319 JMP CO 4320 INVRD:PUSH H 4330 MVI A,11 4340 SUB B 4350 ADD A 4360 ADD A 4370 ADI 4 4380 SUB C 4390 MOV L,A 4400 MVI H,0 4410 DAD H 4420 DAD H 4430 DAD H 4440 DAD H 4450 LXI D,CARDS 4460 DAD D 4470 MVI E,15 4480 IPRLP:MOV A,M 4490 CALL INVCH 4500 INX H 4510 DCR E 4520 JNZ IPRLP 4530 POP H 4540 RET 4550 INVCH:CPI 20H 4560 JZ CHOUT 4570 ORI 80H 4580 JMP CHOUT 4590 ZEROS:LXI H,CTABL 4600 LXI D,44 4610 LXI B,VALUS 4620 MVI A,82H 4630 ZLP:MOV M,D 4640 STAX B 4650 INX B 4660 INX H 4670 DCR E 4680 JNZ ZLP 4690 RET 4700 PCARD:CALL RMOD 4710 MOV E,A 4720 MVI D,0 4730 MOV C,E 4740 FNDCD:LXI H,CTABL 4750 DAD D 4760 MOV A,M 4770 ORA A 4780 JZ FOUND 4790 MOV A,E 4800 INR A 4810 CALL MOD 4820 MOV E,A 4830 CMP C 4840 JNZ FNDCD 4850 LXI H,NOMOR 4860 CALL MESAG 4870 STC 4880 RET 4890 FOUND:MOV A,E 4900 RET 4910 CYOU:CALL PCARD 4920 RC 4930 MVI M,1 4940 ;ACC SHOULD HAVE CARD 4950 MOV D,A 4960 LXI H,YDRAW 4970 CALL MESAG 4980 MOV H,D 4990 MOV A,D 5000 CALL PRCD2 5010 CALL CRLF 5020 MOV A,H 5030 ORA A 5040 RET 5050 CME:CALL PCARD 5060 RC 5070 MVI M,MINE 5080 STA SAVE 5090 MVI B,80H 5100 CALL OFF 5110 LDA SAVE 5120 RET 5130 ON:LXI H,VALUS 5140 CALL ADDAH 5150 MOV A,M 5160 ORA B 5170 MOV M,A 5180 RET 5190 OFF:LXI H,VALUS 5200 CALL ADDAH 5210 MOV A,B 5220 CMA 5230 ANA M 5240 MOV M,A 5250 RET 5260 ONALL:ANI 0FCH 5270 LXI H,VALUS 5280 CALL ADDAH 5290 MVI C,4 5300 ONALP:MOV A,M 5310 ORA B 5320 MOV M,A 5330 INX H 5340 DCR C 5350 JNZ ONALP 5360 RET 5370 CHVAL:LXI H,VALUS 5380 CALL ADDAH 5390 MOV A,M 5400 ADD B 5410 MOV M,A 5420 ORA A 5430 RET 5440 OTHRS:MOV D,A 5450 ANI 0FCH 5460 LXI H,VALUS 5470 CALL ADDAH 5480 MVI C,4 5490 OTHLP:MVI A,4 5500 SUB C 5510 XRA D 5520 ANI 3 5530 JZ SKIP2 5540 MOV A,M 5550 ADD B 5560 MOV M,A 5570 SKIP2:INX H 5580 DCR C 5590 JNZ OTHLP 5600 RET 5610 RMOD:CALL RND 5620 ANI 63 5630 CPI 44 5640 JNC RMOD 5650 RET 5660 MOD:CPI 44 5670 RC 5680 SUI 44 5690 RET 5700 MESAG:MOV A,M 5710 ORA A 5720 RZ 5730 CALL CHOUT 5740 INX H 5750 JMP MESAG 5760 RND:PUSH B 5770 PUSH H 5780 LXI H,SH+3 5790 MVI B,8 5800 MOV A,M 5810 RTOP:RLC 5820 RLC 5830 RLC 5840 XRA M 5850 RAL 5860 RAL 5870 DCX H 5880 DCX H 5890 DCX H 5900 MOV A,M 5910 RAL 5920 MOV M,A 5930 INX H 5940 MOV A,M 5950 RAL 5960 MOV M,A 5970 INX H 5980 MOV A,M 5990 RAL 6000 MOV M,A 6010 INX H 6020 MOV A,M 6030 RAL 6040 MOV M,A 6050 DCR B 6060 JNZ RTOP 6070 POP H 6080 POP B 6090 RET 6100 SH:DS 4 6110 CRLF:MVI A,13 6120 CHOUT:CALL CO 6130 CPI 13 6140 RNZ 6150 MVI A,10 6160 CO:PUSH B 6170 MOV B,A 6180 XRA A 6190 CALL DOS+0DH 6200 POP B 6210 RET 6220 CHIN: 6230 CI:XRA A 6240 JMP DOS+10H 6250 CTABL:DS 44 -6260 YHAND:DB 13,13,'YOU ARE HOLDING:',13,0 /6270 QUEST:DB 'WHAT DO YOU WANT FROM ME ? ',0 06280 WRONG:DB 'WHAT? TRY TYPING IT OVER.',13,0 :6290 CANTM:DB 'IT IS ILLEGAL TO ASK FOR THAT CARD.',13,0 6300 MENUM:DS 1 6310 YOUNM:DS 1 6320 FLAG:DS 1 56330 CARDS:DB 'PRINCE&PAUPER ','HUCK FINN ' 06340 DB 'TOM SAWYER ','MYST.STRANGER ' 06350 DB 'THE ALHAMBRA ','RIP VAN WINKLE ' 06360 DB 'TALESOFTRAVELER ','SLEEPY HOLLOW ' 06370 DB 'THE DEERSLAYER ','THE SPY ' 06380 DB 'LAST MOHICAN ','THE PATHFINDER ' 06390 DB 'HIAWATHAN SONG ','EVANGELINE ' 06400 DB 'VILLAGE SMITH ','MILES STANDISH ' 06410 DB 'THE BROOK ','IDYLLS OF KING ' 06420 DB 'LIGHT BRIGADE ','CROSSING BAR ' 06430 DB 'IVANHOE ','KENILWORTH ' 06440 DB 'THE TALISMAN ','LADY OF LAKE ' 06450 DB 'KIDNAPPED ','JEKYLL&HYDE ' 66460 DB 'TREASUREISLAND ','CHILD',27H,'S VERSES ' 06470 DB 'ONCE USED TALES ','SCARLET LETTER ' 06480 DB 'SEVEN GABLES ','WONDER BOOK ' 06490 DB 'HAMLET ','ROMEO&JULIET ' 06500 DB 'THE TEMPEST ','JULIUS CAESAR ' 06510 DB 'PICKWICK PAPERS ','COPPERFIELD ' 06520 DB 'X-MAS CAROL ','OLIVER TWIST ' 06530 DB 'OLD FASH.GIRL ','LITTLE WOMEN ' 06540 DB 'LITTLE MEN ','EIGHT COUSINS ' 6550 BUFFR:DS 30 6560 CARD:DS 1 .6570 LUCK:DB 'WHAT LUCK! YOU DREW IT--',13,0 *6580 IHAVE:DB 'YOU RAT! I HAVE IT.',13,0 6590 YDRAW:DB 'YOU DRAW ',0 <6600 NOMOR:DB 'THERE ARE NO MORE CARDS TO DRAW FROM.',13,0 6610 VALUS:DS 44 /6620 NOHAV:DB 'I DO NOT HAVE THAT CARD.',13,0 6630 MOST:DS 1 6640 WHICH:DS 1 6650 DOHAV:DB 'DO YOU HAVE ',0 6660 QMARK:DB 13,'? ',0 36670 IGOT:DB 'I DREW IT--ALL RIGHT FOR YOU!',13,0 -6680 LIEM:DB 'YOU CAN',27H,'T LIE TO ME!',0 56690 LIEM1:DB ' I',27H,'M TAKING IT BY FORCE!',13,0 ;6700 LIEM2:DB ' I DON',27H,'T SEE IT IN YOUR HAND--',13,0 6710 SAVE:DS 1 6720 CNTR:DS 1 6730 SAMES:DS 44 '6740 IWIN:DB 'I WON! YOU LOSER!',13,0 56750 YWIN:DB 'YOU WON?! WELL,I WASN',27H,'T REALLY' 6760 DB ' TRYING.',13,0 6770 ENDM:DB 'GAME OVER.',13,0 6770 0010 DOS:EQU 100H 0020 CALL CLR2 0030 LXI H,LINES 0040 DRAW:MOV D,M 0050 INX H 0060 MOV E,M 0070 MOV A,D 0073 CPI 43 0074 JNZ NOT 0075 MOV A,E 0076 CPI 43 0077 JZ DONE 0090 NOT: 0100 INX H 0110 MOV A,M 0120 INX H 0121 PUSH H 0122 MOV L,M 0130 MOV H,A 0131 CALL LINE 0132 POP H 0133 INX H 0134 JMP DRAW 0135 DONE:JMP DUMP 0150 LINE:SHLD ENDP 0160 MOV A,H 0170 SUB D 0180 CALL SGN 0190 STA SDY 0200 MOV A,L 0210 SUB E 0220 CALL SGN 0230 STA SDX 0240 MOV A,H 0250 SUB D 0260 CC NEGA 0270 MOV B,A 0280 CMA 0290 INR A 0300 STA DELTY 0310 MOV A,L 0320 SUB E 0330 CC NEGA 0340 STA DELTX 0360 LXI H,0 0390 LINLP:CALL ON 0400 LBCD ENDP 0410 MOV A,D 0420 CMP B 0430 JNZ MOVE 0440 MOV A,E 0450 CMP C 0460 RZ 0470 MOVE:CALL STEP 0490 JMP LINLP 0500 STEP:MOV A,H 0501 ORA L 0502 JZ BOTH 0503 MOV A,H 0504 ORA A 0510 JM YSTEP 0520 XSTEP:LDA SDX 0530 ADD E 0540 MOV E,A 0550 LDA DELTY 0560 MOV C,A 0570 MVI B,0FFH 0580 DAD B 0590 RET 0591 BOTH:CALL XSTEP 0600 YSTEP:LDA SDY 0610 ADD D 0620 MOV D,A 0630 LDA DELTX 0640 MOV C,A 0650 MVI B,0 0660 DAD B 0670 RET 0680 SGN:MVI A,0 0690 RZ 0700 INR A 0710 RNC 0720 DCR A 0730 DCR A 0740 RET 0750 NEGA:CMA 0760 INR A 0770 RET 0780 ENDP:DS 2 0790 DELTX:DS 1 0800 DELTY:DS 1 0810 SDX:DS 1 0820 SDY:DS 1 0830 DUMP:LXI H,TAB 0840 LXI B,2000H 0842 LXI D,SPACE 0843 CALL PMESG 0850 DMLPY:LXI D,STUFF 0860 CALL PMESG 0862 DMLPX:MOV A,M 0863 CALL PO 0864 INX H 0865 DCR C 0866 JNZ DMLPX 0867 CALL PCRLF 0868 DCR B 0869 JNZ DMLPY 0870 RET 0940 ON:PUSH H 0950 CALL SET 0960 ORA M 0970 MOV M,A 0980 POP H 0990 RET 1000 OFF:PUSH H 1010 CALL SET 1020 CMA 1030 ANA M 1040 MOV M,A 1050 POP H 1060 RET 1070 SET:PUSH B 1080 PUSH D 1090 XCHG 1100 MOV A,H 1110 RRC 1120 RRC 1130 RRC 1140 ANI 1FH 1150 MOV D,A 1160 MOV E,L 1170 MOV A,H 1180 ANI 7 1190 MOV C,A 1200 MVI B,0 1210 LXI H,BITS 1220 DAD B 1230 MOV A,M 1240 LXI H,TAB 1250 DAD D 1260 POP D 1270 POP B 1280 RET #1290 BITS:DB 1,2,4,8,16,32,64,128 $1300 BITS2:DB 1,2,4,8,16,32,64,128 1310 CLR2:LXI H,TAB 1320 LXI D,4096+4096 1330 MVI B,0 1340 C2LP:MOV M,B 1350 INX H 1360 DCX D 1370 MOV A,D 1380 ORA E 1390 JNZ C2LP 1400 RET 1410 PMESG:LDAX D 1420 ORA A 1430 RZ 1440 CALL PO 1450 INX D 1460 JMP PMESG 1470 PCRLF:MVI A,13 1480 CALL PO 1490 MVI A,10 1500 PO:PUSH B 1510 MOV B,A 1520 MVI A,1 1530 CALL DOS+0DH 1540 MOV A,B 1550 POP B 1560 RET 1570 STUFF:DB 1BH,'S0256',0 1572 SPACE:DB 1BH,'T16',0 1580 TAB:DS 8192 =1590 LINES:DB 0,0,255,255,0,255,255,0,0,0,80,140,0,0,140,80 1591 DB 250,200,100,250 :1592 DB 0,0,0,255,0,255,255,255,255,255,255,0,255,0,0,0 1593 DB 43,43 1593  Nõ7 : Lõ7â4096\Põ6â4096ã15â256\CõLã256ã4â16ã11\DõLã12â16ã12  AõÍàC)  Kõ3.1415928â2çN  Iõ1 ± N , XàI)õ256ã255âËàIâK)\YàI)õ256ã255âÜàIâK) ( ƒ I "2 Iõ1 ± N\JõIã1\„ JõNã1 ² Jõ1 8< ZõPàP,YàI))ãPàPã2,XàI))ãPàPã4,YàJ))ãPàPã6,XàJ)) A AõÍàL) F ƒ I "P Iõ1 ± N\JõIã1\„ JõNã1 ² Jõ1 Z X2àI)õ.9âXàI)ã.1âXàJ) d Y2àI)õ.9âYàI)ã.1âYàJ) n ƒ I $x Iõ1 ± N\XàI)õX2àI)\YàI)õY2àI) ‚ ’ÆàXàI)),ÆàYàI)),\ƒ I Œ ’ – ˆ š2   ‡ 0,0,0,511,511,511,511,0 ª ‘PàA,B) ´ B1õÆàBç256)\B2õBå256âB1 ¾ • A,B2\• Aã1,B1 Ã Š 0 È ¦DNE–DžD¶D>E®D†D~DyD¾DþDFEOŽDDpA(g E(A`E)0E(‡`E‰u—”@PA/fE7 &hUC&%sC%ˆXC$IuC$tdUC%c€sC&P1C/¦E7 %12C$W%"C$`URC%8t)C&2“C&r!C&&˜dC`AVE^EA…PB"7 &b"C%•RC%0C$R$iC$ƒVC%c€sC&P1C"7 %#‘AC$WX%C$h7@C%H$C&2“C&r!C&&˜dC::::::::::::::::::::::::::::ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ0010 DOS:EQU 100H 0020 CALL CLR2 0030 LXI H,LINES 0040 DRAW:MOV D,M 0050 INX H 0060 MOV E,M 0070 MOV A,D 0080 CPI 43 0090 JNZ NOT 0100 MOV A,E 0110 CPI 43 0120 JZ DONE 0130 NOT: 0140 INX H 0150 MOV A,M 0160 INX H 0170 PUSH H 0180 MOV L,M 0190 MOV H,A 0200 CALL LINE 0210 POP H 0220 INX H 0230 JMP DRAW 0240 DONE:JMP DUMP 0250 LINE:SHLD ENDP 0260 MOV A,H 0270 SUB D 0280 CALL SGN 0290 STA SDY 0300 MOV A,L 0310 SUB E 0320 CALL SGN 0330 STA SDX 0340 MOV A,H 0350 SUB D 0360 CC NEGA 0370 MOV B,A 0380 CMA 0390 INR A 0400 STA DELTY 0410 MOV A,L 0420 SUB E 0430 CC NEGA 0440 STA DELTX 0450 LXI H,0 0460 LINLP:CALL ON 0470 LBCD ENDP 0480 MOV A,D 0490 CMP B 0500 JNZ MOVE 0510 MOV A,E 0520 CMP C 0530 RZ 0540 MOVE:CALL STEP 0550 JMP LINLP 0560 STEP:MOV A,H 0570 ORA L 0580 JZ BOTH 0590 MOV A,H 0600 ORA A 0610 JM YSTEP 0620 XSTEP:LDA SDX 0630 ADD E 0640 MOV E,A 0650 LDA DELTY 0660 MOV C,A 0670 MVI B,0FFH 0680 DAD B 0690 RET 0700 BOTH:CALL XSTEP 0710 YSTEP:LDA SDY 0720 ADD D 0730 MOV D,A 0740 LDA DELTX 0750 MOV C,A 0760 MVI B,0 0770 DAD B 0780 RET 0790 SGN:MVI A,0 0800 RZ 0810 INR A 0820 RNC 0830 DCR A 0840 DCR A 0850 RET 0860 NEGA:CMA 0870 INR A 0880 RET 0890 ENDP:DS 2 0900 DELTX:DS 1 0910 DELTY:DS 1 0920 SDX:DS 1 0930 SDY:DS 1 0940 DUMP:LXI H,TAB 0950 LXI B,2000H 0960 LXI D,SPACE 0970 CALL PMESG 0980 DMLPY:LXI D,STUFF 0990 CALL PMESG 1000 DX2:PUSH H 1010 DMLPX:MOV A,M 1020 CALL FIX 1030 CALL PO 1040 CALL PO 1050 INX H 1060 DCR C 1070 JNZ DMLPX 1080 POP H 1081 CALL PCRLF 1082 LXI D,STUFF 1083 CALL PMESG 1090 DMX3:MOV A,M 1100 RRC 1110 RRC 1120 RRC 1130 RRC 1140 CALL FIX 1150 CALL PO 1160 CALL PO 1170 INX H 1180 DCR C 1190 JNZ DMX3 1200 CALL PCRLF 1210 DCR B 1220 JNZ DMLPY 1230 RET 1240 FIX:MOV D,A 1250 XRA A 1260 MVI E,4 1270 FLP:RRC 1271 RRC 1272 RR D 1280 JNC ZER 1290 ORI 0C0H 1300 ZER:DCR E 1330 JNZ FLP 1340 RET 1350 ON:PUSH H 1360 CALL SET 1370 ORA M 1380 MOV M,A 1390 POP H 1400 RET 1410 OFF:PUSH H 1420 CALL SET 1430 CMA 1440 ANA M 1450 MOV M,A 1460 POP H 1470 RET 1480 SET:PUSH B 1490 PUSH D 1500 XCHG 1510 MOV A,H 1520 RRC 1530 RRC 1540 RRC 1550 ANI 1FH 1560 MOV D,A 1570 MOV E,L 1580 MOV A,H 1590 ANI 7 1600 MOV C,A 1610 MVI B,0 1620 LXI H,BITS 1630 DAD B 1640 MOV A,M 1650 LXI H,TAB 1660 DAD D 1670 POP D 1680 POP B 1690 RET #1700 BITS:DB 1,2,4,8,16,32,64,128 $1710 BITS2:DB 1,2,4,8,16,32,64,128 1720 CLR2:LXI H,TAB 1730 LXI D,4096+4096 1740 MVI B,0 1750 C2LP:MOV M,B 1760 INX H 1770 DCX D 1780 MOV A,D 1790 ORA E 1800 JNZ C2LP 1810 RET 1820 PMESG:LDAX D 1830 ORA A 1840 RZ 1850 CALL PO 1860 INX D 1870 JMP PMESG 1880 PCRLF:MVI A,13 1890 CALL PO 1900 MVI A,10 1910 PO:PUSH B 1920 MOV B,A 1930 MVI A,1 1940 CALL DOS+0DH 1950 MOV A,B 1960 POP B 1970 RET 1980 STUFF:DB 1BH,'S0512',0 1990 SPACE:DB 1BH,'T16',0 2000 TAB:DS 8192 =2010 LINES:DB 0,0,255,255,0,255,255,0,0,0,80,140,0,0,140,80 2020 DB 250,200,100,250 :2030 DB 0,0,0,255,0,255,255,255,255,255,255,0,255,0,0,0 2040 DB 43,43 2040ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 8 Lõ7â4096\Põ6â4096ã15â256\CõLã256ã64ã11\DõLã12â16ã12  AõÍàC) 2 Iõ0 ± 511 ° 255ç32 7 I2õ511åI 5< ZõPàP,0)ãPàPã2,I)ãPàPã4,I)ãPàPã6,511)\ZõÍàL) "F ZõPàP,511)ãPàPã2,I2)\ZõÍàL) "P ZõPàPã4,I2)ãPàPã6,0)\ZõÍàL) Z ZõPàP,0)ãPàPã2,I)\ZõÍàL) Œ ƒ I – ZõÍàD)   ª Nõ25 ¯ ‹ XàN),YàN) ´ Rõ3.1415928â2çN ¾ Iõ1 ± N à AõRâI (È XàI)õ256ã255âËàA)\YàI)õ256ã213âÜàA) Ò ƒ I Ü Iõ1 ± N\ JõIã1 ± N 8æ ZõPàP,XàI))ãPàPã2,YàI))ãPàPã4,XàJ))ãPàPã6,YàJ)) ë ZõÍàL) , ƒ J\ƒ I 6 ZõÍàD) @ ‘PàA,B) J B1õÆàBç256)\B2õBå256âB1 T • A,B2\• Aã1,B1 ^ Š B2 h ÈDèD¸DÀDÐD¨D£DàDO°D)D(g E(A`E)0E(‡`EØDQyhuCA2v€EðDøDA%@CO°D)D(g E(A`E)0E(‡`EØDQyhuCA2v€EðDøDA%@CC@X…"C4˜quC(yY–C"@9™C!(!CatCYQ‘B%&BUtAAHB@idBDB1R†C%„C%`C/‚F#"CD&S3CAp1C71C2 bC&“t8C!`‡xCS™C(hCƒg“pBW•vBDg•pBDg•pBW•ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ0010 P:EQU 32 0020 DOS:EQU 100H 0030 CALL CLR2 0040 LXI H,LINES 0050 DRAW:MVI D,0 0060 MOV E,M 0070 SDED SY 0080 INX H 0090 MOV E,M 0100 SDED SX 0110 MOV A,E 0120 CPI 43 0130 JNZ NOT 0140 MOV A,E 0150 CPI 43 0160 JZ DONE 0170 NOT: 0180 INX H 0190 MOV E,M 0200 SDED EY 0210 INX H 0220 MOV E,M 0230 SDED EX 0240 INX H 0250 PUSH H 0260 CALL LINE 0270 POP H 0280 JMP DRAW 0290 DONE:JMP DUMP 0300 LINE:LHLD SX 0310 SHLD X 0320 XCHG 0330 LHLD EX 0340 CALL SUBDE 0350 CALL SGN 0360 SHLD SDX 0370 LHLD SY 0380 SHLD Y 0390 XCHG 0400 LHLD EY 0410 CALL SUBDE 0420 CALL SGN 0430 SHLD SDY 0440 LHLD SX 0450 XCHG 0460 LHLD EX 0470 CALL SUBDE 0480 CC NEGHL 0490 SHLD DELTX 0500 LHLD SY 0510 XCHG 0520 LHLD EY 0530 CALL SUBDE 0540 CNC NEGHL 0550 SHLD DELTY 0560 LXI H,0 0570 SHLD COUNT 0580 LINLP:LHLD Y 0590 XCHG 0600 LHLD X 0610 CALL ON 0620 LHLD EY 0630 CALL SUBDE 0640 ORA L 0650 JNZ MOVE 0660 LHLD X 0670 XCHG 0680 LHLD EX 0690 CALL SUBDE 0700 ORA L 0710 RZ 0720 MOVE:CALL STEP 0730 JMP LINLP 0740 STEP:LHLD COUNT 0750 MOV A,H 0760 ORA L 0770 JZ BOTH 0780 MOV A,H 0790 ORA A 0800 JM YSTEP 0810 XSTEP:LHLD SDX 0820 XCHG 0830 LHLD X 0840 DAD D 0850 SHLD X 0860 LHLD DELTY 0870 XCHG 0880 LHLD COUNT 0890 DAD D 0900 SHLD COUNT 0910 RET 0920 BOTH:CALL XSTEP 0930 YSTEP:LHLD SDY 0940 XCHG 0950 LHLD Y 0960 DAD D 0970 SHLD Y 0980 LHLD DELTX 0990 XCHG 1000 LHLD COUNT 1010 DAD D 1020 SHLD COUNT 1030 RET 1040 SGN:MOV A,H 1050 ORA L 1055 MOV A,H 1060 LXI H,0 1070 RZ 1077 ORA A 1080 INX H 1090 RP 1100 DCX H 1110 DCX H 1120 RET 1130 NEGHL:MOV A,H 1140 CMA 1150 MOV H,A 1160 MOV A,L 1170 CMA 1180 MOV L,A 1190 INX H 1200 RET 1210 SUBDE:MOV A,L 1220 SUB E 1230 MOV L,A 1240 MOV A,H 1250 SBB D 1260 MOV H,A 1270 RET 1280 DUMP:LXI H,0 1290 MVI B,64 1300 LXI D,SPACE 1310 CALL PMESG 1320 DMLPY:LXI D,STUFF 1330 CALL PMESG 1340 LX2:MOV A,H 1350 OUT P+5 1360 DMLPX:MOV A,L 1370 OUT P+4 1380 XTHL 1390 XTHL 1400 IN P+6 1410 CALL PO 1420 INR L 1430 JNZ DMLPX 1440 INR H 1450 ANI 1 1460 JNZ LX2 1470 CALL PCRLF 1480 DCR B 1490 JNZ DMLPY 1500 RET 1510 ON:PUSH B 1520 CALL SET 1530 ORA B 1540 OUT P+6 1550 POP B 1560 RET 1570 OFF:PUSH B 1580 CALL SET 1590 CMA 1600 ANA B 1610 OUT P+6 1620 POP B 1630 RET 1640 SET:PUSH D 1650 PUSH H 1660 MOV A,L 1670 OUT P+4 1680 MOV C,E 1690 CALL ROTDE 1700 CALL ROTDE 1710 MOV A,E 1720 ANI 0FEH 1730 ORA H 1740 OUT P+5 1750 MOV A,C 1760 ANI 7 1770 MOV E,A 1780 MVI D,0 1790 LXI H,BITS 1800 DAD D 1810 IN P+6 1820 MOV B,A 1830 MOV A,M 1840 POP H 1850 POP D 1860 RET 1870 ROTDE:MOV A,D 1880 ORA A 1890 RAR 1900 MOV D,A 1910 MOV A,E 1920 RAR 1930 MOV E,A 1940 RET #1950 BITS:DB 1,2,4,8,16,32,64,128 $1960 BITS2:DB 1,2,4,8,16,32,64,128 1970 CLR2:LXI H,0 1980 MOV B,H 1990 CLP1:MOV A,H 2000 OUT P+5 2010 CLP2:MOV A,L 2020 OUT P+4 2030 MOV A,B 2040 OUT P+6 2050 XTHL 2060 XTHL 2070 INR L 2080 JNZ CLP2 2090 INR H 2100 JNZ CLP1 2110 RET 2120 PMESG:LDAX D 2130 ORA A 2140 RZ 2150 CALL PO 2160 INX D 2170 JMP PMESG 2180 PCRLF:MVI A,13 2190 CALL PO 2200 MVI A,10 2210 PO:PUSH B 2220 MOV B,A 2230 MVI A,1 2240 CALL DOS+0DH 2250 MOV A,B 2260 POP B 2270 RET 2280 STUFF:DB 1BH,'S0512',0 2290 SPACE:DB 1BH,'T16',0 2300 SX:DS 2 2310 SY:DS 2 2320 EX:DS 2 2330 EY:DS 2 2340 X:DS 2 2350 Y:DS 2 2360 COUNT:DS 2 2370 SDX:DS 2 2380 SDY:DS 2 2390 DELTX:DS 2 2392 DELTY:DS 2 =2400 LINES:DB 0,0,255,255,0,255,255,0,0,0,80,140,0,0,140,80 2410 DB 250,200,100,250 :2420 DB 0,0,0,255,0,255,255,255,255,255,255,0,255,0,0,0 2430 DB 43,43 2430 This is a test of the NEC printer NThis line is printed in PICA EThis line is printed in ELITE QThis line is printed in CONDENSED PThis line is printed in PROPORTIONAL NThe following word is XunderlinedY !This line is enhanced "This line is back to normal Enlarged characters Back to normal BThe following lines are spaced at 1/8 inch spacing as opposed to the normal 1/6 spacing AThe following lines are spaced at 1/6 inch spacing as opposed to the 1/8 inch spacing above This is the first liner This is the second line This is the third linef ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::0010 DOS:EQU 100H 0020 CALL CLR2 0030 LXI H,LINES 0040 DRAW:MOV D,M 0050 INX H 0060 MOV E,M 0070 MOV A,D 0080 CPI 43 0090 JNZ NOT 0100 MOV A,E 0110 CPI 43 0120 JZ DONE 0130 NOT: 0140 INX H 0150 MOV A,M 0160 INX H 0170 PUSH H 0180 MOV L,M 0190 MOV H,A 0200 CALL LINE 0210 POP H 0220 INX H 0230 JMP DRAW 0240 DONE:JMP DUMP 0250 LINE:SHLD ENDP 0260 MOV A,H 0270 SUB D 0280 CALL SGN 0290 STA SDY 0300 MOV A,L 0310 SUB E 0320 CALL SGN 0330 STA SDX 0340 MOV A,H 0350 SUB D 0360 CC NEGA 0370 MOV B,A 0380 CMA 0390 INR A 0400 STA DELTY 0410 MOV A,L 0420 SUB E 0430 CC NEGA 0440 STA DELTX 0450 LXI H,0 0460 LINLP:CALL ON 0470 LBCD ENDP 0480 MOV A,D 0490 CMP B 0500 JNZ MOVE 0510 MOV A,E 0520 CMP C 0530 RZ 0540 MOVE:CALL STEP 0550 JMP LINLP 0560 STEP:PUSH H 0570 DAD H 0580 CALL TBOTH 0590 POP H 0600 JNC BOTH 0610 MOV A,H 0620 ORA A 0630 JM YSTEP 0640 XSTEP:LDA SDX 0650 ADD E 0660 MOV E,A 0670 LDA DELTY 0680 MOV C,A 0690 MVI B,0FFH 0700 DAD B 0710 RET 0720 BOTH:CALL XSTEP 0730 YSTEP:LDA SDY 0740 ADD D 0750 MOV D,A 0760 LDA DELTX 0770 MOV C,A 0780 MVI B,0 0790 DAD B 0800 RET 0810 SGN:MVI A,0 0820 RZ 0830 INR A 0840 RNC 0850 DCR A 0860 DCR A 0870 RET 0880 NEGA:CMA 0890 INR A 0900 RET 0910 TBOTH:MOV A,H 0911 ORA A 0912 JM CHKY 0913 RNZ 0914 LDA DELTX 0915 CMP L 0916 CMC 0917 RET 0918 CHKY:INR H 0919 RNZ 0920 LDA DELTY 0921 CMP L 0922 RET 0930 0940 0950 0960 ENDP:DS 2 0970 DELTX:DS 1 0980 DELTY:DS 1 0990 SDX:DS 1 1000 SDY:DS 1 1010 DUMP:LXI H,TAB 1020 LXI B,2000H 1030 LXI D,SPACE 1040 CALL PMESG 1050 DMLPY:LXI D,STUFF 1060 CALL PMESG 1070 DMLPX:MOV A,M 1080 CALL PO 1090 INX H 1100 DCR C 1110 JNZ DMLPX 1120 CALL PCRLF 1130 DCR B 1140 JNZ DMLPY 1150 RET 1160 ON:PUSH H 1170 CALL SET 1180 ORA M 1190 MOV M,A 1200 POP H 1210 RET 1220 OFF:PUSH H 1230 CALL SET 1240 CMA 1250 ANA M 1260 MOV M,A 1270 POP H 1280 RET 1290 SET:PUSH B 1300 PUSH D 1310 XCHG 1320 MOV A,H 1330 RRC 1340 RRC 1350 RRC 1360 ANI 1FH 1370 MOV D,A 1380 MOV E,L 1390 MOV A,H 1400 ANI 7 1410 MOV C,A 1420 MVI B,0 1430 LXI H,BITS 1440 DAD B 1450 MOV A,M 1460 LXI H,TAB 1470 DAD D 1480 POP D 1490 POP B 1500 RET #1510 BITS:DB 1,2,4,8,16,32,64,128 $1520 BITS2:DB 1,2,4,8,16,32,64,128 1530 CLR2:LXI H,TAB 1540 LXI D,4096+4096 1550 MVI B,0 1560 C2LP:MOV M,B 1570 INX H 1580 DCX D 1590 MOV A,D 1600 ORA E 1610 JNZ C2LP 1620 RET 1630 PMESG:LDAX D 1640 ORA A 1650 RZ 1660 CALL PO 1670 INX D 1680 JMP PMESG 1690 PCRLF:MVI A,13 1700 CALL PO 1710 MVI A,10 1720 PO:PUSH B 1730 MOV B,A 1740 MVI A,1 1750 CALL DOS+0DH 1760 MOV A,B 1770 POP B 1780 RET 1790 STUFF:DB 1BH,'S0256',0 1800 SPACE:DB 1BH,'T16',0 1810 TAB:DS 8192 =1820 LINES:DB 0,0,255,255,0,255,255,0,0,0,80,140,0,0,140,80 1830 DB 250,200,100,250 :1840 DB 0,0,0,255,0,255,255,255,255,255,255,0,255,0,0,0 1850 DB 43,43 1850˜w&¿g•?D5u3¿"'C”?q™@I¾‘T>  ” 11,0 8 Lõ7â4096\Põ6â4096ã15â256\CõLã256ã64ã11\DõLã12â16ã12  ˆ šª 2 Iõ0 ± 511 ° 255ç32 7 I2õ511åI 5< ZõPàP,0)ãPàPã2,I)ãPàPã4,I)ãPàPã6,511)\ZõÍàL) "F ZõPàP,511)ãPàPã2,I2)\ZõÍàL) "P ZõPàPã4,I2)ãPàPã6,  Nõ197  ‹ Wà17),XàN),YàN),Cà20)  Iõ1 ± 17\… WàI)\ƒ I ( ‡ 0,3,5,6,6,7,7,7,8,7,7,7,6,6,5,3,0  Cõ0  Iõ1 ± 17  JõåWàI) ± WàI) ( CõCã1 2 XàC)õJ\YàC)õIå9 < ƒ J\ƒ I d † T n TõTâ3.1415928ç180 x ‰ šô ‚ ˆ šd ô SõËàT)\CõÜàT) ù Iõ1 ± 17\CàI)õ0\ƒ I þ Iõ1 ± N  XõXàI)\YõYàI)  XàI)õXâCåYâS  YàI)õXâSãYâC  XõXàI)\YõYàI) ! Y2õÆàY)ã9 & CàY2)õCàY2)ã1 0 ƒ I : Iõ1 ± 17\’CàI)\ƒ I D Š CLµLÅL DÕLÍLDuD\HpC/Z0APA`A`ApApApA€ApApApA`A`APA0A/ÝLÞÆVV…FA((BtA55SBABBd AIItwAVV…EAcc–Apq€Apq@!8A!!2A((BtA55SAABBd AIItwAVV…DAcc–Apq€AwxHApqPÀ :pq@!8A!!2A((BsA55SAABBd AIItvAVV…DAcc–Apq€AwxGA!3Ápq`À :pq@!8A!!2A((BsA55SAABBdAIItvAVV…DAcc–ApqyA((BiÁ!!2Á!4Ápq`À :pq@!7A!!2A((BsA55S@ABBdAIItvAVV…DAcc–ApqyA55S8Á((BpÁ!!2Á!5ÁpqpÀ:pq€@!6A!!2A((BqA55S9ABBdAIItuAVV…BAcc–ABBdÁ55S8Á((BqÁ!!2Á!5ÁpqpÀP9pq‚@!6A!!2A((BqA55S9ABBdAIIttAVV…BAVV…BÁIIttÁBBdÁ55S9Á((BqÁ!!2Á!5ÁpqwÀpqw@!5A!!2A((BqA55S9ABBdAIIttAVV…BAVV…BÁIIttÁBBdÁ55S9Á((BqÁ!!2Á!6Ápq‚ÀP¹pqp@!5A!!2A((BqA55S8ABBdAcc–ÁVV…BÁIItuÁBBdÁ55S9Á((BqÁ!!2Á!6Ápq€Àºpqp@!5A!!2A((BpA55S8ApqyÁcc–ÁVV…DÁIItvÁBBdÁ55S@Á((BsÁ!!2Á!7ÁpqÀ ºpq`@!4A!!2A((BiApqyÁcc–ÁVV…DÁIItvÁBBdÁ55SAÁ((BsÁ!!2Á!8ÁpqÀ ºpq`@!3AwxGÁpq€Ácc–ÁVV…DÁIItvÁBBd Á55SAÁ((BsÁ!!2Á!8ÁpqÀ ºpqP@wxHÁpq€Ácc–ÁVV…DÁIItwÁBBd Á55S0010 MLOOP:CALL 116H 0020 RZ 0030 LXI H,2000H 0040 WAIT:DCX H 0050 MOV A,H 0060 ORA L 0070 JNZ WAIT 0080 CALL YOU 0090 LXI H,TABLE+63 0100 LXI D,TABLE+61 0110 MVI C,62 0120 MVLP:LDAX D 0130 MOV M,A 0140 DCX D 0150 DCX H 0160 DCR C 0170 JNZ MVLP 0180 LHLD XYPOS 0190 SHLD TABLE 0200 LXI H,TABLE 0230 XRA A 0240 OUT 33 0250 MVI A,64 0260 OUT 33 0270 MVI C,32 0280 PUTLP: 0290 MOV A,M 0300 OUT 32 0310 INX H 0312 XTHL 0313 XTHL 0314 XTHL 0315 XTHL 0320 MOV A,M 0330 OUT 32 0340 INX H 0350 XRA A 0352 XTHL 0353 XTHL 0360 OUT 32 0370 MOV A,C 0375 DCR A 0380 ANI 15 0382 XTHL 0383 XTHL 0400 OUT 32 0410 DCR C 0420 JNZ PUTLP 0430 JMP MLOOP 0440 YOU:IN 25 0450 CALL FIX 0460 LHLD X 0470 DAD D 0480 SHLD X 0490 MOV C,H 0500 IN 26 0510 CMA 0530 CALL FIX 0540 LHLD Y 0550 DAD D 0560 SHLD Y 0570 MOV L,H 0571 MOV H,C 0580 SHLD XYPOS 0590 RET 0600 FIX:MOV L,A 0610 MVI H,0 0620 ORA A 0630 JP OK 0640 DCR H 0650 OK:DAD H 0660 DAD H 0662 DAD H 0663 DAD H 0670 XCHG 0680 RET 0690 X:DS 2 0700 Y:DS 2 0710 XYPOS:DS 2 0720 TABLE:DS 64 0720_áÑ>ÕÍ"!Ò"ÚØÑÑÉå!Ò"áþÂÒáñæ€î€6 #6 #=Â*:É*5>~æ@À~ö@wÃÔ9~æ@È~æŸG~pæ ÈÃÔ9Õ͵:ÍE:ÑòZ:Éõ*5>å~õ ÍÏ)ÁÊŠ:xæ€î€ÂŠ:Õ{î_ÍÏ)ÑãÕÄE:ÑáͰ&ñwÉ*5> å##F#~#Në+ ÎW\áÍÏ)Ò²Éz·Â²{æøÂ² Í‚,“;~"5>É!“;PÍÞ)É!Ø"-!Ò"ÉCOPYRIGHT NORTH STAR COMPU 0010 IN 33 0020 MVI A,2 0030 OUT 33 0040 MVI A,128 0050 OUT 33 0060 MVI A,194 0070 OUT 33 0080 MVI A,129 0090 OUT 33 0100 MVI A,3 0110 OUT 33 0120 MVI A,132 0130 OUT 33 0140 MVI A,0FFH 0150 OUT 33 0160 MVI A,131 0170 OUT 33 0180 XRA A 0190 OUT 33 0200 MVI A,96 0210 OUT 33 0220 LXI H,6144 0230 MVI D,0FH 0240 FL1:MOV A,D 0250 OUT 32 0260 XTHL 0270 XTHL 0280 DCX H 0290 MOV A,H 0300 ORA L 0310 JNZ FL1 0320 XRA A 0330 OUT 33 0340 MVI A,64 0350 OUT 33 0360 LXI H,6144 0370 FL2:MOV A,L 0372 MVI A,255 0380 OUT 32 0390 XTHL 0400 XTHL 0410 DCX H 0420 MOV A,H 0430 ORA L 0440 JNZ FL2 0450 MVI A,15 0451 OUT 33 0452 MVI A,130 0453 OUT 33 0454 MVI A,0 0455 OUT 33 0456 MVI A,64+60 0457 OUT 33 0458 LXI H,1024-256 0459 MVI D,0 0460 FL3:MOV A,D 0461 OUT 32 0462 XTHL 0463 XTHL 0464 INR D 0465 DCX H 0466 MOV A,H 0467 ORA L 0468 JNZ FL3 0469 RET 04690010 C1:EQU 32 0020 LXI H,0 0030 SHLD ADD 0040 XRA A 0050 STA FLAG 0060 LXI H,TABLE 0070 CLP:MOV A,M 0080 INR A 0090 JZ DONE 0100 DCR A 0110 OUT 33 0120 INX H 0130 MOV A,M 0140 OUT 38 0150 INX H 0160 MOV A,M 0170 OUT 37 0180 INX H 0190 MOV A,M 0200 OUT 36 0210 INX H 0220 JMP CLP 0230 DONE: 0240 LXI H,70H 0250 SHLD POS 0260 ; RUNNING AT 6000H 0270 ; POINTS AT 5F00H 0280 OLOOP:MVI C,14 0290 O2:LHLD ADD 0300 LXI D,4F00H 0310 DAD D 0320 SHLD POINT 0330 MLOOP:LHLD POINT 0340 MOV E,M 0350 INX H 0360 MOV D,M 0370 INX H 0380 SHLD POINT 0390 LHLD ADD 0400 DAD D 0410 XCHG 0420 LHLD POS 0430 MOV A,L 0440 SUI 4 0450 MOV L,A 0460 SHLD POS 0470 XCHG 0480 SHLD ADDR 0490 LDA FLAG 0500 ORA A 0510 JZ SKIP 0520 MOV A,C 0530 CPI 10 0540 JNZ SK2 0550 MOV A,D 0560 ADI 8 0570 MOV D,A 0580 SK2:MOV A,C 0590 CPI 9 0600 JNZ SKIP 0610 MOV A,E 0620 ADI 4 0630 MOV E,A 0640 SKIP: 0650 CALL ON 0660 XRA A 0670 CALL 116H 0680 CPI 3 0690 RZ 0700 MVI B,4 0710 WT2:IN 33 0720 ANI 1 0730 JZ WT2 0740 WT:IN 33 0750 ANI 1 0760 JNZ WT 0770 DCR B 0780 JNZ WT2 0790 LHLD ADDR 0800 CALL OFF 0810 DCR C 0820 JNZ MLOOP 0830 LXI H,FLAG 0840 INR M 0850 MOV A,M 0860 CPI 2 0870 JZ T2 0880 LXI H,2000H 0890 SHLD ADD 0900 LHLD POS 0910 MOV A,H 0920 ADI 64 0930 MOV H,A 0940 SHLD POS 0950 MVI C,12 0960 JMP O2 0970 T2:LHLD POS 0971 MOV A,H 0972 SUI 64 0973 MOV H,A 0974 SHLD POS 0975 LXI H,0 0976 SHLD ADD 0977 XRA A 0978 STA FLAG 0979 JMP OLOOP 1000 ON: 1010 ONLP:MOV A,M 1020 ADD D 1030 OUT 33 1040 INX H 1050 MOV A,M 1060 ADD E 1070 OUT 34 1080 INX H 1090 MOV A,M 1100 CPI 80H 1110 RZ 1120 OUT 32 1130 INX H 1140 JMP ONLP 1150 OFF: 1160 OFFLP:MOV A,M 1170 ADD D 1180 OUT 33 1190 INX H 1200 MOV A,M 1210 ADD E 1220 OUT 34 1230 INX H 1240 MOV A,M 1250 CPI 80H 1260 RZ 1270 MVI A,C1 1280 OUT 32 1290 INX H 1300 JMP OFFLP 1310 ADDR:DS 2 1320 POINT:DS 2 1330 POS:DS 2 1340 FLAG:DS 1 1350 ADD:DS 2 1360 TABLE:DB 0,0,0,0 1370 DB 3FH,0FFH,0FFH,0FFH 1380 DB 32,0FFH,0,0 1390 DB 0FFH 1390 1420 MVI C,30H 1430 CLX1:MOV A,E 1440 OUT 33 1450 IN 32 1460 CPI 3 1470 CNZ STORE 1480 INR E 1490 DCR C 1500 JNZ CLX1 1510 INR D 1520 DCR B 1530 JNZ CLY1 1540 XCHG 1550 POP B 1560 PUSH H 1570 LHLD POINT 1580 MVI M,80H 159ˆ‰ŠŽˆ?މ?ŽŠŽ‹‡?ˆ?‰?Š?‹ˆ?‰?Š?‹‘‰?‘Š?‘‹?’‰’Š?’‹?’Œ“‰“Š?“‹?“Œ”‰”Š?”‹?”Œ?”•‰•Š?•‹?•Œ?•–‰–Š?–‹?–Œ?–—…?—†?—‡?—ˆ?—‰?—Š?—‹?—Œ?—˜…?˜†?˜‡?˜ˆ?˜‰?˜Š?˜‹?˜Œ?˜™Š™‹™Œ™šŠš‹šŒššŽ›Š›‹›Œ››Žœ‰œŠœ‹œŒœ‰Š‹Œžˆž‰žŠž‹žŒžžŽžžŸˆŸ‰ŸŠŸ‹ŸŒŸŸŽŸŸ ‡ ˆ ‰ Š ‹ Œ  ‘¡‡¡ˆ¡‰¡Š¡‹¡Œ¡‘¢Š¢‹¢Œ¢£‹£Œ£¤Œ¤¤Ž¥¥Ž¦Ž¦§Ž§§¨¨Ž¨¨©Œ©©Ž©©€€€ˆ‰ŠŽˆ?މ?ŽŠŽ‹‡?ˆ?‰?Š?‹ˆ?‰?Š?‹‘‰?‘Š?‘‹?’‰’Š?’‹?’Œ“‰“Š?“‹?“Œ?”‰”Š?”‹?”Œ?”•…?•†?•‰•Š?•‹?•Œ?•–…?–†?–‡?–ˆ?–‰?–Š?–‹?–Œ?–—ˆ?—‰?—Š?—‹?—Œ—˜Š˜‹˜Œ˜™Š™‹™Œ™šŠš‹šŒššŽ›ˆ›‰›Š›‹›Œ››Žœ‡œˆœ‰œŠœ‹œŒœœŽ†‡ˆ‰Š‹Œž…ž†ž‡žˆž‰ž‹žŒžŸ„Ÿ…Ÿ†Ÿ‡ŸˆŸ‹ŸŒŸ „ … † ‡ ˆ ‰ ‹ Œ¡‡¡ˆ¡‰¡Š¡Œ¡¢Š¢‹¢Œ¢¢Ž£‹£Œ££Ž££¤‹¤Ž¤¤¤‘¥¥¥‘¥’¦‘¦’¦“§’§“¨’¨“©‘©’€€€ŒˆŒ‰ŒŠˆ?‰?Ћއ?Žˆ?މ?ŽŠ?Ž‹ˆ?‰?Š?‹‰?Š?‹?‘‰‘Š?‘‹?‘Œ’‰’Š?’‹?’Œ’?“…?“†?“‰“Š?“‹?“Œ?““Ž?”…?”†?”‡?”ˆ?”‰”Š?”‹?”Œ?””Ž?”?•ˆ?•‰?•Š?•‹?•Œ?••Ž?•?–‰?–Š?–‹?–Œ––Ž?–?—Š—‹—Œ——Ž?˜Š˜‹˜Œ˜˜Ž?˜?™‰™Š™‹™Œ™™Žš‡šˆš‰šŠš‹šŒššŽ›†›‡›ˆ›‰›Š›‹›Œ››Žœ…œ†œ‡œˆœ‰œŠœ‹œŒœœŽœ„…†‡ˆ‰ŠŒŽž„ž…ž†ž‡žžŽžžŸ…Ÿ†Ÿ‡ŸˆŸŽŸŸ † ‡ ˆ   ‘ ’¡‡¡ˆ¡¡‘¡’¡“¢ˆ¢‰¢‘¢’¢“£ˆ£‰£Š£’£“£”¤ˆ¤‰¤“¤”¤•¥ˆ¥‰¥”¥•¥–¦ˆ¦•¦–§•§–¨–©–€€€ŒˆŒ‰ŒŠˆ?‰?Ћއ?Žˆ?މ?ŽŠ?Ž‹ˆ?‰?Š?‹‰?Š?‹?‘‰‘Š?‘‹?‘Œ’‰?’Š?’‹?’Œ“‰?“Š?“‹?“Œ““Ž?”„?”…?”‰?”Š?”‹?”Œ””Ž?”?•„?•…?•†?•‡?•ˆ?•‰?•Š?•‹•Œ••Ž?•?–ˆ?–‰?–Š?–‹–Œ––Ž?—Š—‹—Œ——Ž?˜Š˜‹˜Œ˜˜Ž?™Š™‹™Œ™™Žšˆš‰šŠš‹šŒššŽ›†›‡›ˆ›‰›Š›‹›Œ››Žœ…œ†œ‡œˆœ‰œŠœ‹œŒœœŽ„…†‡ˆ‰Š‹ŒŽžƒž„ž…ž†ž‡žŒžžŽžŸƒŸ„Ÿ…ŸŒŸŸŽŸ ƒ „ …  Ž   ‘ ’¡ƒ¡„¡…¡¡¡‘¡’¡“¢„¢…¢¢‘¢’¢“¢”¢•£„£…£“£”£•£–£—¤„¤…¤–¤—¥„¥…¥—¦ƒ¦„¦…¦—§‚§ƒ§„€€€‹ˆ‹‰‹ŠŒˆ?Œ‰?ŒŠŒ‹‡?ˆ?‰?Š?‹Žˆ?މ?ŽŠ?Ž‹Š?‹?‰Š?‹?Œ?‘‰‘Š?‘‹?‘Œ?’‰’Š?’‹?’Œ?’“‰“Š?“‹?“Œ?““Ž?”‰”Š?”‹?”Œ””Ž?”?•ˆ?•‰?•Š?•‹?•Œ••Ž?–‡?–ˆ?–‰?–Š?–‹–Œ–—…?—†?—‡?—ˆ?—Š—‹—Œ—˜…?˜†?˜Š˜‹˜Œ˜˜Ž™‰™Š™‹™Œ™™Žš‰šŠš‹šŒššŽ›‡›ˆ›‰›Š›‹›Œ››Žœ†œ‡œˆœ‰œŠœ‹œŒœœŽ†‡ˆ‰ŒŽž…ž†ž‡žˆžŒžžŽžŸ„Ÿ…Ÿ†Ÿ‡ŸŸŽŸŸŸ‘Ÿ’Ÿ“Ÿ”Ÿ• „ … † Ž   ‘ ’ “ ” • –¡„¡…¡¡¡‘¡–¡—¢„¢…£ƒ£„£…¤ƒ¤„¥ƒ¥„¦‚¦ƒ§€§§‚§ƒ€€€ŒˆŒ‰ŒŠˆ?‰?Ћއ?Žˆ?މ?ŽŠ?Ž‹ˆ?‰?Š?‹‰?Š?‹?‘‰‘Š?‘‹?‘Œ’‰’Š?’‹?’Œ?“‰“Š?“‹?“Œ?“”‰”Š?”‹?”Œ?””Ž?•‰•Š•‹?•Œ?••Ž?•?–‰–Š–‹?–Œ?––Ž?–?—Š?—‹?—Œ?——Ž?˜Š?˜‹?˜Œ˜™‰?™Š?™‹™Œ™™Žšˆ?š‰?šŠš‹šŒššŽ›ˆ?›‰?›Š›‹›Œ››Žœˆœ‰œŠœ‹œŒœœŽˆ‰Š‹Œ”•ž‡žˆž‰žŠž‹žŒžž’ž“ž”ž•ž–Ÿ†Ÿ‡ŸˆŸ‰Ÿ‹ŸŒŸŸŽŸŸ‘Ÿ’Ÿ“Ÿ•Ÿ–Ÿ— † ‡ ˆ Œ  Ž   ‘ ’¡†¡‡¡ˆ¡Œ¡¡Ž¡¡¢…¢†¢‡¢¢Ž£…£†£‡¤…¤†¤‡¥…¥†¦…¦†§„§…§†¨‚¨ƒ¨„¨…¨†€€€ˆ‰ŠŽˆ?މ?ŽŠŽ‹‡?ˆ?‰?Š?‹ˆ?‰?Š?‹‘‰?‘Š?‘‹?’‰’Š?’‹?’Œ“‰“Š?“‹?“Œ?”‰”Š?”‹?”Œ?”•‰•Š?•‹?•Œ?•–‰–Š–‹?–Œ?–—‰—Š—‹?—Œ?—?˜Š˜‹˜Œ?˜?™ˆ?™‰?™Š™‹™Œ?™?š‡?šˆ?šŠš‹šŒ?ššŽ›Š›‹›Œ?›?›ŽœŠœ‹œŒ?œ?œŽ‰Š‹ŒŽ’“ž‰žŠž‹žŒžžŽž‘ž’ž“ž”ŸˆŸ‰ŸŠŸ‹ŸŒŸŸŽŸŸŸ‘Ÿ’Ÿ”Ÿ• ˆ ‰ Š ‹ Œ  Ž  ¡ˆ¡‰¡Š¡‹¡Œ¡¡Ž¡¢‰¢Š¢‹¢Œ¢¢Ž£‰£Š£‹¤‰¤Š¤‹¥‰¥Š¥‹¦Š¦‹§Š§‹¨‰¨Š¨‹©‡©ˆ©‰©Š©‹€€€ˆ‰ŠŽˆ?މ?ŽŠŽ‹‡?ˆ?‰?Š?‹ˆ?‰?Š?‹‘‰?‘Š?‘‹?’‰’Š?’‹?’Œ?’?“‰“Š?“‹?“Œ?“?“Ž?”‰”Š”‹”Œ?”?”Ž?•‰•Š•‹•Œ•?•Ž?•?–‰–Š–‹–Œ––Ž?–?—„?—…?—†?—‡?—ˆ?—‰?—Š—‹—Œ——Ž?—?˜„?˜…?˜†?˜‡?˜ˆ?˜‰?˜Š˜‹˜Œ˜˜Ž?˜?™Š™‹™Œ™™Ž?™?šŠš‹šŒššŽš?š?›Š›‹›Œ››Ž›?›?œ‰œŠœ‹œŒœ‰Š‹Œžˆž‰žŠž‹žŒžžŽžžŸˆŸ‰ŸŠŸ‹ŸŒŸŸŽŸŸ ‡ ˆ ‰ Š ‹ Œ  ‘¡‡¡ˆ¡‰¡Š¡‹¡Œ¡‘¢Š¢‹¢Œ¢£‹£Œ£¤Œ¤¤Ž¥¥Ž¦Ž¦§Ž§§¨¨Ž¨¨©Œ©©Ž©©€€€ˆ‰ŠŽˆ?މ?ŽŠŽ‹‡?ˆ?‰?Š?‹ˆ?‰?Š?‹‘‰?‘Š?‘‹?’‰’Š?’‹?’Œ?’?“‰“Š?“‹?“Œ?“?“Ž?”‰”Š”‹?”Œ?”?”Ž?”?•ƒ?•„?•‰•Š•‹•Œ••Ž?•?•?–ƒ?–„?–…?–†?–‡?–ˆ?–‰–Š–‹–Œ––?–?—…?—†?—‡?—ˆ?—‰—Š—‹—Œ——?—?˜Š˜‹˜Œ˜˜?˜?™Š™‹™Œ™™?™?šŠš‹šŒššŽš?š‘?›ˆ›‰›Š›‹›Œ››Žœ‡œˆœ‰œŠœ‹œŒœœŽ†‡ˆ‰Š‹Œž…ž†ž‡žˆž‰ž‹žŒžŸ„Ÿ…Ÿ†Ÿ‡ŸˆŸ‹ŸŒŸ „ … † ‡ ˆ ‰ ‹ Œ¡‡¡ˆ¡‰¡Š¡Œ¡¢Š¢‹¢Œ¢¢Ž£‹£Œ££Ž££¤‹¤Ž¤¤¤‘¥¥¥‘¥’¦‘¦’¦“§’§“¨’¨“©‘©’€€€ŒˆŒ‰ŒŠˆ?‰?Ћއ?Žˆ?މ?ŽŠ?Ž‹ˆ?‰?Š?‹‰?Š?‹?‘‰‘Š?‘‹?‘Œ?‘?’„?’…?’‰’Š?’‹?’Œ?’?’Ž?’?“„?“…?“†?“‰“Š“‹?“Œ?“?“Ž?“?“?”…?”†?”‡?”‰”Š”‹”Œ””?”?•†?•‡?•ˆ?•‰•Š•‹•Œ••?•?–ˆ?–‰–Š–‹–Œ––?–?—Š—‹—Œ——?—?˜Š˜‹˜Œ˜˜?˜?™‰™Š™‹™Œ™™Žš‡šˆš‰šŠš‹šŒššŽ›†›‡›ˆ›‰›Š›‹›Œ››Žœ…œ†œ‡œˆœ‰œŠœ‹œŒœœŽœ„…†‡ˆ‰ŠŒŽž„ž…ž†ž‡žžŽžžŸ…Ÿ†Ÿ‡ŸˆŸŽŸŸ † ‡ ˆ   ‘ ’¡‡¡ˆ¡¡‘¡’¡“¢ˆ¢‰¢‘¢’¢“£ˆ£‰£Š£’£“£”¤ˆ¤‰¤“¤”¤•¥ˆ¥‰¥”¥•¥–¦ˆ¦•¦–§•§–¨–©–€€€ŒˆŒ‰ŒŠˆ?‰?Ћއ?Žˆ?މ?ŽŠ?Ž‹ˆ?‰?Š?‹‰?Š?‹?‘‰‘Š?‘‹?‘Œ?’‰’Š?’‹?’Œ?’?“‰“Š?“‹?“Œ?“?“Ž?”„?”…?”‰”Š”‹”Œ?”?”Ž?”?•„?•…?•†?•‡?•ˆ?•‰•Š•‹•Œ•?•Ž?•?–ˆ?–‰–Š–‹–Œ–?–Ž?—Š—‹—Œ—?—Ž?˜Š˜‹˜Œ?˜?˜Ž?™Š™‹™Œ?™?™Žšˆš‰šŠš‹šŒššŽ›†›‡›ˆ›‰›Š›‹›Œ››Žœ…œ†œ‡œˆœ‰œŠœ‹œŒœœŽ„…†‡ˆ‰Š‹ŒŽžƒž„ž…ž†ž‡žŒžžŽžŸƒŸ„Ÿ…ŸŒŸŸŽŸ ƒ „ …  Ž   ‘ ’¡ƒ¡„¡…¡¡¡‘¡’¡“¢„¢…¢¢‘¢’¢“¢”¢•£„£…£“£”£•£–£—¤„¤…¤–¤—¥„¥…¥—¦ƒ¦„¦…¦—§‚§ƒ§„€€€‹ˆ‹‰‹ŠŒˆ?Œ‰?ŒŠŒ‹‡?ˆ?‰?Š?‹Žˆ?މ?ŽŠ?Ž‹‰?Š?‹?‰Š?‹?Œ‘‰?‘Š?‘‹?‘Œ?’‰?’Š?’‹?’Œ?’?“‰“Š?“‹?“Œ?“?“Ž?”‰”Š”‹”Œ”?”Ž?”?•‡?•ˆ?•‰•Š•‹•Œ?•?•Ž?–…?–†?–‡?–ˆ?–‰?–Š–‹–Œ?–?—…?—†?—Š—‹?—Œ?—?˜Š?˜‹?˜Œ?˜˜Ž™‰™Š?™‹?™Œ™™Žš‰šŠš‹šŒššŽ›‡›ˆ›‰›Š›‹›Œ››Žœ†œ‡œˆœ‰œŠœ‹œŒœœŽ†‡ˆ‰ŒŽž…ž†ž‡žˆžŒžžŽžŸ„Ÿ…Ÿ†Ÿ‡ŸŸŽŸŸŸ‘Ÿ’Ÿ“Ÿ”Ÿ• „ … † Ž   ‘ ’ “ ” • –¡„¡…¡¡¡‘¡–¡—¢„¢…£ƒ£„£…¤ƒ¤„¥ƒ¥„¦‚¦ƒ§€§§‚§ƒ€€€ŒˆŒ‰ŒŠˆ?‰?Ћއ?Žˆ?މ?ŽŠ?Ž‹ˆ?‰?Š?‹‰?Š?‹?‘‰‘Š?‘‹?‘Œ’‰’Š?’‹?’Œ?“‰“Š?“‹?“Œ?“?”‰”Š”‹?”Œ?”?”Ž?•‰•Š•‹•Œ?•?•Ž?•?–‰–Š–‹–Œ–?–Ž?–?—Š—‹—Œ?—?—Ž?˜Š?˜‹?˜Œ?˜?™ˆ?™‰?™Š?™‹?™Œ?™™Žšˆ?š‰?šŠš‹šŒššŽ›ˆ›‰›Š›‹›Œ››Žœˆœ‰œŠœ‹œŒœœŽˆ‰Š‹Œ”•ž‡žˆž‰žŠž‹žŒžž’ž“ž”ž•ž–Ÿ†Ÿ‡ŸˆŸ‰Ÿ‹ŸŒŸŸŽŸŸ‘Ÿ’Ÿ“Ÿ•Ÿ–Ÿ— † ‡ ˆ Œ  Ž   ‘ ’¡†¡‡¡ˆ¡Œ¡¡Ž¡¡¢…¢†¢‡¢¢Ž£…£†£‡¤…¤†¤‡¥…¥†¦…¦†§„§…§†¨‚¨ƒ¨„¨…¨†€€€ˆ‰ŠŽˆ?މ?ŽŠŽ‹‡?ˆ?‰?Š?‹ˆ?‰?Š?‹‘‰?‘Š?‘‹?’‰’Š?’‹?’Œ“‰“Š?“‹?“Œ?”‰”Š?”‹?”Œ?”?•‰•Š•‹?•Œ?•?–‰–Š–‹?–Œ?–?–Ž?—‰—Š—‹—Œ?—?—Ž?˜Š?˜‹?˜Œ?˜?™‡?™ˆ?™‰?™Š?™‹?™Œ?™š‡?šˆ?šŠš‹šŒššŽ›Š›‹›Œ››ŽœŠœ‹œŒœœŽ‰Š‹ŒŽ’“ž‰žŠž‹žŒžžŽž‘ž’ž“ž”ŸˆŸ‰ŸŠŸ‹ŸŒŸŸŽŸŸŸ‘Ÿ’Ÿ”Ÿ• ˆ ‰ Š ‹ Œ  Ž  ¡ˆ¡‰¡Š¡‹¡Œ¡¡Ž¡¢‰¢Š¢‹¢Œ¢¢Ž£‰£Š£‹¤‰¤Š¤‹¥‰¥Š¥‹¦Š¦‹§Š§‹¨‰¨Š¨‹©‡©ˆ©‰©Š©‹€€€“ƒ“„“…“‡“ˆ“‰”‚”ƒ?”„?”…?”†”‡”ˆ”‰”Š”‹•ƒ?•„?•…?•†?•‡?•ˆ•‰•Š•‹•Œ•–ƒ?–„?–…?–†?–‡–ˆ–‰–Š–‹–Œ––Ž—ƒ?—„?—…?—Š—‹—Œ——Ž—˜‚?˜ƒ?˜„?˜Œ˜˜Ž˜˜™?™‚?™ƒ?™™Ž™™š?š‚?ššŽšš›€?›?››Ž››œ€?œ?œœŽœœŽžžŽžžž‘ŸŸŽŸŸŸ‘Ÿ’  Ž   ‘ ’ “¡¡Ž¡‘¡’¡“¡”¢¢Ž¢’¢“¢”££Ž£“£”£•¤¤Ž¤¤”¤•¤–¥¥Ž¥¥•¥–¦¦Ž¦–¦—§§—¨€€€ˆ‰Š‹ŒŽ‘„‘…‘†?‘‡?‘ˆ?‘‰?‘Š?‘‹‘Œ‘‘Ž‘‘‘‘‘’’ƒ’„’…?’†?’‡?’ˆ?’‰?’Š?’‹’Œ’’Ž’’’‘’’’““ƒ“„?“…?“†?“ˆ?“‰?“Š?“““‘“’““”…?”ˆ?”‰?”Š?”””‘”’”“•‰?•Š?•••‘•’•“–‰?–Š?–––‘–’—‰?—Š?—‹?———‘—’˜Š?˜‹?˜˜˜‘˜’™Š?™‹?™™™‘™’šŠ?š‹?ššš‘›Š?›‹?›››‘œŠ?œœœ‘‘žžž‘ŸŸ  ¡¡¡‘¢¢££¤€€€‰Œ‰‰Ž‰ŠŠŠ‹ŠŒŠŠŽŠŠ‹ˆ‹‰‹Š‹‹‹Œ‹‹Ž‹‹‹‘Œ‡ŒˆŒ‰ŒŠŒ‹ŒŒŒŒŽŒŒŒ‘†‡ˆ‰Š‹ŒŽ‘Ž†Ž‡ŽˆŽ‰ŽŠŽ‹ŽŽŽŽŽ‘…†‡ˆ‰ŠŽ‘„…?†‡?ˆ?‰?Ž‘‘„‘…?‘†?‘‡?‘ˆ?‘‰?‘Š?‘Ž‘‘‘‘’„’…?’†?’‡?’ˆ?’‰?’Š?’‹?’Œ?’Ž’’’‘“…“†“‹?“Œ?“?“Ž?“?“?“‘”?”Ž?”?”?”‘?”’?••‘?•’?–‘–’–“—’—“—”˜“˜”˜•™”™•š•›•€€€ˆ‰ˆŠˆ‹ˆŒˆ‰‡‰ˆ‰‰‰Š‰‹‰Œ‰‰ŽŠ†Š‡ŠˆŠ‰ŠŠŠ‹ŠŒŠŠŽ‹…‹†‹‡‹ˆ‹‰‹Š‹‹‹Œ‹‹Ž‹Œ…Œ†Œ‡ŒˆŒ‰ŒŒŒŒŽŒ…†‡ˆ‰ŒŽŽ„ޅކ?އ?Žˆ?މ?ŽŠ?Ž‹?ŽŒ?Ž?ŽŽ?Ž?Ž?Ž‘?Ž˜Ž™„…?†?‡?ˆ?‰?Š?‹?Œ??Ž???‘?“”•–—˜™š„?…?†?‡?Ž‘’“”•–𛑄‘…?‘†?‘‡?‘ˆ?‘Ž‘‘‘‘‘’‘“’„’…’†?’‡?“…“†“‡€€€…•…–…—†Š†‹†Œ†“†”†•†–‡‰‡Š‡‹‡Œ‡‡“‡”‡•ˆˆˆ‰ˆŠˆ‹ˆŒˆˆŽˆ“ˆ”‰‡‰ˆ‰‰‰Š‰‹‰Œ‰‰Ž‰’‰“‰”Š‡ŠˆŠ‰ŠŠŠ‹ŠŒŠŠŽŠŠ‘Š’Š“‹‡‹ˆ‹‰‹Š‹‹‹Œ‹?‹Ž?‹?‹?‹‘?‹’?‹“?‹”?Œ‡ŒˆŒ‰ŒŠŒ‹?ŒŒ?Œ?ŒŽ?Œ?Œ?Œ‘?Œ’?Œ“?‡ˆ‰?Š?‹?Œ??Ž‘’Ž‡ŽˆŽ‰?ŽŠ?Ž‹?ŽŒ?ŽŽŽŽŽŽ‘ˆ‰?Š?‹?Ž‘‰?Š?‹?Ž‘‰‘Š?‘‹?‘Œ?’‰’Š’‹?’Œ?“Š“‹“Œ€€€‚ƒƒ„„„‘……‘…’†‘†’†“‡Š‡‹‡Œ‡‡‘‡’‡“?‡”?ˆ‰ˆŠˆ‹ˆŒˆˆŽˆˆ’?ˆ“?ˆ”?‰‰‰Š‰‹‰Œ‰‰Ž‰‰‰‘?‰’?‰“?‰”‰•ŠˆŠ‰ŠŠŠ‹ŠŒŠŠŽŠŠ?Š‘?Š’?ГДЕ‹ˆ‹‰‹Š‹‹‹Œ‹‹Ž?‹?‹?‹‘?‹’‹“‹”‹•ŒˆŒ‰ŒŠŒ‹ŒŒŒ?ŒŽ?Œ?Œ?Œ‘Œ’Œ“Œ”‰Š‹Œ??Ž??Ž‰ŽŠŽ‹ŽŒ?Ž?ŽŽ?ŽŽ?Š‹ŒŽ???‘?Ž??‘?’‘‘‘‘€€€€ˆˆ‰Š‚‰‚Š‚‹‚ŒƒŠƒ‹ƒŒƒƒŽ?ƒ?„Œ„„Ž?„?„……Ž?…?……‘†Ž?†?††‘†’‡‰‡Š‡‹‡Œ‡‡Ž?‡?‡‡‘‡’ˆˆˆ‰ˆŠˆ‹ˆŒˆˆŽ?ˆ?ˆˆ‘‰ˆ‰‰‰Š‰‹‰Œ‰‰Ž?‰?ŠˆŠ‰ŠŠŠ‹ŠŒŠŠŽ?Š?Š?Š“?‹ˆ‹‰‹Š‹‹‹Œ‹‹Ž?‹?‹?‹’?‹“?‹”?‹•ŒˆŒ‰ŒŠŒ‹ŒŒŒŒŽ?Œ?Œ?Œ‘?Œ’?Œ“?Œ”?Œ•‰Š‹ŒŽ’“”Ž‹ŽŒŽŽŽŽ€€€ƒ‚„‚„Œ?„?…‚…ƒ…„………†…‡…ˆ…‰…Š…‹…Œ?…?†‚†ƒ†„†…†††‡†ˆ†‰†Š†‹†Œ†?†Ž?‡†‡‡‡ˆ‡‰‡Š‡‹‡Œ‡?‡Ž?ˆŠˆ‹ˆŒˆˆŽ?ˆ?‰‰‰Š‰‹‰Œ‰Ž?‰?‰?‰•?ŠˆŠ‰ŠŠŠ‹Š?Š?Š”?Š•?Š–?Š—‹ˆ‹‰‹Š‹‹‹?‹?‹‘?‹’?‹“?‹”?‹•?‹–‹—ŒˆŒ‰ŒŠŒ‹ŒŒŒŒŽŒŒ?Œ‘?Œ’?Œ“?Œ”?Œ•Œ–ˆ‰Š‹ŒŽ?‘?’?“Ž‰ŽŠŽ‹ŽŒŽŽŽŽŽŽ‘Ž’Š‹ŒŽ€€€„‡?„ˆ?…ˆ?…‰?†‰?†Š?‡‰?‡Š?‡‹?ˆˆ‚ˆƒˆ„ˆŠ?ˆ‹?ˆŒ?ˆ’?ˆ“?ˆ”‰€‰‰‚‰ƒ‰„‰…‰‹?‰Œ?‰?‰‘?‰’?‰“?‰”‰•ŠŠ€ŠŠ‚ŠƒŠ„Š…Š†ŠŒ?Š?ŠŽ?Š‘?Š’?Š“?Š”?Š•‹~‹‹€‹‹„‹…‹†‹‡‹?‹Ž?‹?‹‘‹’?‹“?‹”ŒxŒyŒ|Œ}Œ~ŒŒ…Œ†Œ‡ŒˆŒŒŽ?Œ?Œ?Œ‘Œ’yz{|}~…†‡ˆ‰ŒŽ??‘ŽzŽ{Ž|Ž†Ž‡ŽˆŽ‰ŽŠŽ‹ŽŒŽŽŽŽŽ{†‡ˆ‰Š‹ŒŽ‡ˆ‰Š‹Œ‘ˆ‘‰‘Š‘‹€€€ƒŠ?ƒ‹?„‹?„Œ?„“„”„•…Œ?…?…Ž?…“?…”?…•…–†?†Ž?†?†’?†“?†”?†•?†–‡Ž?‡?‡?‡“?‡”?‡•?‡–ˆ?ˆ?ˆ‘?ˆ’?ˆ“?ˆ”?ˆ•?‰?‰‘?‰’?‰“?‰”‰•Š‘?Š’?Š“?Š”?Š•‹‘‹’?‹“?‹”?‹•Œ‘Œ’Œ“Œ”Œ•‘’“”ŽŽ‘Ž’Ž“†‡ˆ‰Š‹ŒŽ‘’“…†‡ˆ‰Š‹ŒŽ‘’‘…‘†‘‡‘ˆ‘‰‘Š‘‹‘Œ‘‘Ž‘‘’„’…’†’‡“ƒ“„“…“†”‚”ƒ”„••‚•ƒ–€––‚—~——€——‚€€€‡ˆ?‡‰?ˆ‰?ˆŠ?‰Š?‰‹?‰Œ?‰‘‰’‰“Š‹?ŠŒ?Š?Š‘?Š’?ГД‹Œ?‹?‹Ž?‹?‹‘?‹’?‹“?‹”Œ?ŒŽ?Œ?Œ‘?Œ’?Œ“?Œ”Ž???‘?’“Ž?Ž?Ž‘?Ž’?Ž“?‘?’?“‘’“‘‘‘‘‘’’’’‘’’“““‘“’”Ž”””‘••Ž•••‘–Œ––Ž–––‘—‹—Œ——Ž——˜Š˜‹˜Œ˜˜Ž˜™‰™Š™‹™Œ™™Žš‰šŠš‹šŒššŽ›‰›Š›‹›Œ›œˆœ‰œŠœ‹œŒœˆ‰Š‹Œžˆž‰žŠž‹žŒžŸˆŸ‰Ÿ‹ŸŒŸ ˆ ‰ Œ ¡ˆ¡‰¡Œ¡¢ˆ¢‰¢Œ¢£‡£ˆ£‰£Œ££Ž¤†¤‡¤Œ¤¤Ž¥‹¥Œ€€€ŒŒŽŒ?Ž?ŽŒ?Ž?ŽŽ?Ž?Ž?Ž??Ž???‘‘Ž?‘?‘’Œ’?’Ž?’?’“Œ?“?“Ž?“?“”Š?”‹?”Œ?”?”Ž””•‡?•ˆ?•‰?•Š?•‹?•Œ••Ž••–„?–…?–†?–‡?–ˆ?–‰?–Œ––Ž––—„?—…?—†?——Ž——˜˜Ž˜˜™™Ž™™šŒššŽšš›Œ››Ž››œŒœœŽœœŒŽžŒžžŽžžŸŒŸŸŽŸŸ Œ  Ž  ¡Œ¡¡Ž¡¡¢Œ¢¢Ž¢¢£Œ££££‘¤Œ¤¤¤¤‘¥Œ¥¥¥‘¦Œ¦¦‘¦’§Œ§§‘§’¨‹¨Œ¨¨‘¨’¨“©‰©Š©‹©Œ©©©©‘©’€€€P°QrSUWYp[2]_%aScfeXgJik³l0n³o'q¤rtPuµvGxÇy¡{~}ˆ‰ŠŽˆ?މ?ŽŠŽ‹‡?ˆ?‰?Š?‹ˆ?‰?Š?‹‘‰?‘Š?‘‹?’‰’Š?’‹?’Œ“‰“Š?“‹?“Œ”‰”Š?”‹?”Œ?”•‰•Š?•‹?•Œ?•–‰–Š?–‹?–Œ?–—…?—†?—‡?—ˆ?—‰?—Š?—‹?—Œ?—˜…?˜†?˜‡?˜ˆ?˜‰?˜Š?˜‹?˜Œ?˜™Š™‹™Œ™šŠš‹šŒššŽ›Š›‹›Œ››Žœ‰œŠœ‹œŒœ‰Š‹Œžˆž0010 CALL SETUP 0020 MVI A,8 0030 STA CNTR 0040 OLP:LXI H,CNTR 0050 MOV B,M 0060 LXI D,8080H 0070 LXI H,80C0H 0080 CALL ROTAT 0090 LXI H,CNTR 0100 INR M 0110 XRA A 0120 CALL 110H 0130 CPI 3 0140 JNZ OLP 0150 RET 0160 ;B=ANGLE 0-63 0170 ;DE=READING POSITION 0180 ;HL=WRITING POSITION 0190 ROTAT:SHLD PUT 0200 CALL READ 0210 XCHG 0220 SHLD GET 0230 CALL DOT 0240 MOV A,B 0250 ANI 15 0260 MOV L,A 0270 MVI H,0 0280 DAD H 0290 DAD H 0300 DAD H 0310 LXI D,SHIFT 0320 DAD D 0330 LXI D,ARCS 0340 MVI C,8 0350 MVLP:MOV A,M 0360 STAX D 0370 INX D 0380 INX H 0390 DCR C 0400 JNZ MVLP 0410 MOV A,B 0420 RRC 0430 RRC 0440 RRC 0450 RRC 0460 ANI 3 0470 JZ DONE 0480 MOV B,A 0490 ADDLP:LXI D,ARCS 0500 LXI H,QLENS 0510 MVI C,8 0520 ADD2:LDAX D 0530 ADD M 0540 STAX D 0550 INX D 0560 INX H 0570 DCR C 0580 JNZ ADD2 0590 DCR B 0600 JNZ ADDLP 0610 DONE: 0620 MVI C,8 0630 LXI H,MEM 0640 SHLD ADDR 0650 LXI H,LENS 0660 SHLD LPNTR 0670 RTLP:LHLD LPNTR 0680 MOV B,M 0690 LHLD ADDR 0700 SHLD FIRST 0710 RTLP2:LHLD GET 0720 XCHG 0730 LHLD ADDR 0740 MOV A,D 0750 ADD M 0760 MOV D,A 0770 INX H 0780 MOV A,E 0790 ADD M 0800 MOV E,A 0810 INX H 0820 SHLD ADDR 0830 CALL READ 0840 STA COLOR 0850 LHLD LPNTR 0860 MOV A,M 0870 LXI D,ARCS-LENS 0880 DAD D 0890 MOV D,A 0900 SUB B 0910 ADD M 0920 CMP D 0930 JC OK 0940 SUB D 0950 OK:MOV E,A 0960 MVI D,0 0970 LHLD FIRST 0980 DAD D 0990 DAD D 1000 XCHG 1010 LHLD PUT 1020 XCHG 1030 MOV A,D 1040 ADD M 1050 MOV D,A 1060 INX H 1070 MOV A,E 1080 ADD M 1090 MOV E,A 1100 LDA COLOR 1110 CALL DOT 1120 DCR B 1130 JNZ RTLP2 1140 LHLD LPNTR 1150 INX H 1160 SHLD LPNTR 1170 DCR C 1180 JNZ RTLP 1190 RET 1200 SETUP:LXI H,DATA 1210 LXI D,MEM 1220 MVI C,8 1230 MLOOP:SHLD ADDR 1240 MOV B,M 1250 INX H 1260 LP1:MOV A,M 1270 STAX D 1280 INX D 1290 INX H 1300 MOV A,M 1310 STAX D 1320 INX D 1330 INX H 1340 DCR B 1350 JNZ LP1 1360 LHLD ADDR 1370 MOV B,M 1380 INX H 1390 LP2:INX H 1400 MOV A,M 1410 STAX D 1420 INX D 1430 DCX H 1440 MOV A,M 1450 CMA 1460 INR A 1470 STAX D 1480 INX D 1490 INX H 1500 INX H 1510 DCR B 1520 JNZ LP2 1530 LHLD ADDR 1540 MOV B,M 1550 INX H 1560 LP3:MOV A,M 1570 CMA 1580 INR A 1590 STAX D 1600 INX D 1610 INX H 1620 MOV A,M 1630 CMA 1640 INR A 1650 STAX D 1660 INX D 1670 INX H 1680 DCR B 1690 JNZ LP3 1700 LHLD ADDR 1710 MOV B,M 1720 INX H 1730 LP4:INX H 1740 MOV A,M 1750 CMA 1760 INR A 1770 STAX D 1780 INX D 1790 DCX H 1800 MOV A,M 1810 STAX D 1820 INX D 1830 INX H 1840 INX H 1850 DCR B 1860 JNZ LP4 1870 DCR C 1880 JNZ MLOOP 1890 RET 1900 DOT:PUSH PSW 1910 CALL SET 1920 POP PSW 1930 OUT 32 1940 RET 1950 READ:CALL SET 1960 IN 32 1970 ORA A 1980 RET 1990 SET:MOV A,D 2000 OUT 33 2010 MOV A,E 2020 CMA 2030 OUT 34 2040 RET 2050 LPNTR:DS 2 2060 GET:DS 2 2070 PUT:DS 2 2080 FIRST:DS 2 2090 COLOR:DS 1 2100 ADDR:DS 2 2110 CNTR:DS 1 2120 ARCS:DS 8 %2130 LENS:DB 8,12,16,24,28,32,36,40 2140 QLENS:DB 2,3,4,6,7,8,9,10 /2150 SHIFT:DB 0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1 *2160 DB 0,0,1,1,1,1,1,1,0,1,1,1,1,2,2,2 *2170 DB 1,1,1,2,2,2,2,3,1,1,1,2,2,3,3,3 *2180 DB 1,1,2,2,3,3,3,4,1,1,2,3,3,4,4,4 *2190 DB 1,2,2,3,4,4,5,5,1,2,2,3,4,5,5,6 *2200 DB 1,2,3,4,4,5,6,6,1,2,3,4,5,6,6,7 *2210 DB 2,2,3,5,5,6,7,8,2,2,3,5,6,7,7,8 *2220 DB 2,3,4,5,6,7,8,9,2,3,4,6,7,8,8,9 2230 DATA: 2240 C1:DB 2,-1,0,-1,1 2250 C2:DB 3,-2,0,-2,1,-1,2 "2260 C3:DB 4,-3,0,-3,1,-2,2,-1,3 ,2270 C4:DB 6,-4,0,-4,1,-3,2,-3,3,-2,3,-1,4 12280 C5:DB 7,-5,0,-5,1,-4,2,-4,3,-3,4,-2,4,-1,5 62290 C6:DB 8,-6,0,-6,1,-5,2,-5,3,-4,4,-3,5,-2,5,-1,6 ;2300 C7:DB 9,-7,0,-7,1,-6,2,-6,3,-5,4,-4,5,-3,6,-2,6,-1,7 A2310 C8:DB 10,-8,0,-8,1,-7,2,-7,3,-6,4,-5,5,-4,6,-3,7,-2,7,-1,8 2320 MEM:EQU $ 2320ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ0010 C1:EQU 32 0020 XRA A 0030 LP:OUT 33 0040 OUT 36 0050 INR A 0060 JNZ LP 0070 LXI H,TABLE 0080 CLP:MOV A,M 0090 INR A 0100 JZ DONE 0110 DCR A 0120 OUT 33 0130 INX H 0140 MOV A,M 0150 OUT 38 0160 INX H 0170 MOV A,M 0180 OUT 37 0190 INX H 0200 MOV A,M 0210 OUT 36 0220 INX H 0230 JMP CLP 0240 DONE: 0250 LXI H,0 0260 LPY:MOV A,H 0270 OUT 34 0280 LPX:MOV A,L 0290 OUT 33 0300 MVI A,C1 0310 OUT 32 0320 INR L 0330 JNZ LPX 0340 INR H 0350 JNZ LPY 0360 LXI H,0 0370 SHLD POS 0380 ; RUNNING AT 6000H 0390 ; POINTS AT 5F00H 0400 OLOOP:LXI H,4F00H 0410 SHLD POINT 0420 MVI C,14 0430 MLOOP:CALL 116H 0432 CPI 3 0433 RZ 0440 ORA A 0450 CNZ JUMP 0460 LHLD POINT 0470 MOV E,M 0480 INX H 0490 MOV D,M 0500 INX H 0510 SHLD POINT 0520 LHLD POS 0530 MOV A,L 0540 SUI 4 0550 MOV L,A 0560 SHLD POS 0570 XCHG 0580 SHLD ADDR 0590 CALL ON 0620 MVI B,2 0630 WT2:IN 33 0640 ANI 1 0650 JZ WT2 0660 WT:IN 33 0670 ANI 1 0680 JNZ WT 0690 DCR B 0700 JNZ WT2 0710 LHLD ADDR 0720 CALL OFF 0730 DCR C 0740 JNZ MLOOP 0750 JMP OLOOP 0760 JUMP:LXI H,4F00H+28 0770 SHLD POINT 0780 MVI C,12 0790 RET 0800 ON: 0810 ONLP:MOV A,M 0820 ADD D 0830 OUT 33 0840 INX H 0850 MOV A,M 0860 ADD E 0870 OUT 34 0880 INX H 0890 MOV A,M 0900 CPI 80H 0910 RZ 0920 OUT 32 0930 INX H 0940 JMP ONLP 0950 OFF: 0960 OFFLP:MOV A,M 0970 ADD D 0980 OUT 33 0990 INX H 1000 MOV A,M 1010 ADD E 1020 OUT 34 1030 INX H 1040 MOV A,M 1050 CPI 80H 1060 RZ 1070 MVI A,C1 1080 OUT 32 1090 INX H 1100 JMP OFFLP 1110 ADDR:DS 2 1120 POINT:DS 2 1130 POS:DS 2 1140 TABLE:DB 0,0,0,0 1150 DB 3FH,0FFH,0FFH,0FFH 1160 DB 32,0FFH,0,0 1170 DB 0FFH 1170FH,0,0 1170 DB 0FFH ,C(20) I (I)+1:NEXT I ý<« 0 C(Y2)=C(Y2)+1 C(I)=0\NEXT I 6,6,5,3,0 T I BYE 0050 MVI B,0 0100 CLP:MOV A,B 0150 OUT 33 0200 OUT 36 0250 OUT 37 0300 OUT 38 0350 INR B 0400 JNZ CLP 0450 LXI H,0 0500 LP1:MOV A,H 0550 OUT 34 0600 LP2:MOV A,L 0650 OUT 33 0700 XRA A 0750 OUT 32 0800 INR L 0850 JNZ LP2 0900 INR H 0950 JNZ LP1 1000 MLOOP:IN 30 1010 ADD A 1050 OUT 33 1100 IN 31 1111 ADD A 1150 CMA 1200 OUT 34 1250 IN 24 1251 ANI 80H 1252 JNZ OK 1253 MVI A,255 1300 OUT 32 1320 OK: 1350 CALL 116H 1400 JNZ MLOOP 1450 RET 1450P66C0 Patrick Timothy McIntire 556-33-2735 19872 Calle Cadiz Walnut, CA 91789 Birthdate 2-4-66, age 19 Education: High School at La Salle High School Graduated 6/84 College at Mt. San Antonio College from 9/84 to 6/85 with Biology major References: Susan W. Johnson Joey Burns 19872 Calle Cadiz Cal State Los Angeles Walnut, Ca 91789 (818) 359-1160 (714) 594-3902 Nell K. Scofield William H. Johnson 619 S. Oakland Ralphs Grocery Co. Pasadena, Ca 91106 (818) 244-0410 (818) 792-8158 Employment Record: From 2/83 to 2/85 Lacey's Pizza Store 1164 E. Huntington Dr. Duarte,Ca 91010 Immediate Supervisor,Mike Messian My Position:Supervisor Duties:Cashiering,preparing and cooking food,tending bar,supervisorial. Availability:I am available 24 hours a day, 7 days a week and would like to work as many hours as possible. I swear that all the above information is true. Patrick T. McIntire ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ¯Ó#*)‘ÍÛ2+‘¯Ó!Ó$Ó%Ó&< ÀxÓ!¯Ó$Ó%Ó&Â>?Ó!>ÿÓ$Ó%Ó&*)‘:+‘ÍÓͦÛGæÌéxæÌþxæÈͦÛæÌþ*)‘ÍÛ2+‘/>?ÍÓÛ!æÂlÍyÃ5!,‘4~OÀ y°Ó! zÓ$ÆWÂ… y°Ó! zÖWÓ$–ÉÛ/ÍÇ*'‘ "'‘TÛ/ÍÇ*%‘ "%‘\ë")‘É·o&òÏ%)DMÉõÍâñÓ ÉÍâÛ ·É|Ó"}Ó!É!|Ó"}Ó!¯Ó ,Âï$ÂìÉ!.‘4~æ!-‘4~öÀO/‘þ€È*)‘…o„gyÍÓÑh3¢3GÚÚüÿüüýýýþýÿýýýýþýþþþÿþþþþÿüÿýÿþÿÿÿÿÿÿÿüýþÿüýþÿýþÿýþÿÿûÿûûüýüþüüýüýþüþÿûÿûûüüýþÿ€( ” 33,255\” 36,255\” 37,255\” 38,255  Iõ0 ± 255\” 33,I\” 34,I  ” 42,0\” 43,0  ” 47,0 ( ƒ I P ˆ š Z ” 43,0 d Iõ0 ± 255 n ” 42,I\” 39,I\” 41,255 x ƒ I y ” 43,1\” 42,0\” 41,0 z ˆ šZ ô † I\” 43,0\” 42,I\ˆ šô EC€Cÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ0010 LXI H,6000H 0020 LXI D,0 0030 LOOP:MOV A,E 0040 OUT 42 0050 MOV A,D 0060 OUT 43 0062 INX D 0070 MOV A,M 0072 SUI 80H 0080 MOV B,A 0090 OUT 39 0100 INX H 0110 MOV A,M 0112 SUI 80H 0120 MOV C,A 0130 OUT 40 0140 INX H 0141 INX H 0150 MVI A,255 0160 OUT 41 0170 MOV A,B 0171 ORA C 0220 JNZ LOOP 0221 DCX D 0222 DCX D 0223 MOV A,D 0224 OUT 43 0225 MOV A,E 0226 OUT 42 0230 XRA A 0240 OUT 41 0250 RET 02500010 LXI H,0 0011 LP1:MOV A,H 0012 OUT 43 0013 LP2:MOV A,L 0014 OUT 42 0015 XRA A 0016 OUT 39 0017 OUT 40 0018 DCR A 0019 OUT 41 0020 INR L 0021 JNZ LP2 0022 INR H 0023 JNZ LP1 0050 LP:MOV A,B 0100 OUT 39 0150 INR B 0200 CALL 116H 0250 JNZ LP 0300 RET 0300 0005 START: 0010 MVI B,1 0020 LXI H,0 0030 ZLP1:MOV A,H 0040 OUT 43 0050 ZLP2:MOV A,L 0060 OUT 42 0070 XRA A 0080 OUT 39 0090 OUT 40 0100 MVI A,255 0110 OUT 41 0120 INR L 0130 JNZ ZLP2 0140 INR H 0150 JNZ ZLP1 0160 DCR B 0170 JNZ ZLP1 0180 MVI B,10 0190 LXI H,0 0200 LP1:MOV A,H 0210 OUT 43 0220 LP2:MOV A,L 0230 OUT 42 0240 OUT 39 0250 MOV A,H 0260 OUT 40 0270 MVI A,255 0280 OUT 41 0290 INR L 0300 MOV A,L 0310 CPI 24 0320 JNZ LP2 0330 MVI L,0 0340 INR H 0350 MOV A,H 0360 CPI 24 0370 JNZ LP1 0380 LXI H,0 0390 MVI A,255 0391 OUT 42 0392 OUT 43 0393 XRA A 0394 OUT 41 0400 OUT 41 0410 E2:CALL 0A000H 0420 LXI H,0 0430 ELP: 0440 XRA A 0450 OUT 42 0460 OUT 43 0470 MOV A,H 0480 OUT 34 0490 MOV A,L 0500 OUT 33 0510 OUT 47 0520 XRA A 0540 CPI 3 0550 RZ 0553 WT:IN 33 0554 ANI 10H 0555 JZ WT 0560 MOV A,L 0570 ADI 64 0580 MOV L,A 0590 JNZ ELP 0600 MOV A,H 0610 ADI 64 0620 MOV H,A 0630 JNZ ELP 0632 XRA A 0633 CALL 116H 0635 JNZ START 0640 RET 0650 EL3:MOV A,H 0660 OUT 43 0670 EL2:MOV A,L 0680 OUT 42 0690 XRA A 0700 OUT 39 0710 OUT 40 0720 INR L 0730 JNZ EL2 0740 DCR B 0750 JNZ EL3 0760 INR H 0770 JMP ELP 0770_áÑ>ÕÍ"!Ò"ÚØÑÑÉå!Ò"áþÂÒáñæ€î€6 #6 #=Â*:É*5>~æ@À~ö@wÃÔ9~æ@È~æŸG~pæ ÈÃÔ9Õ͵:ÍE:ÑòZ:Éõ*5>å~õ ÍÏ)ÁÊŠ:xæ€î€ÂŠ:Õ{î_ÍÏ)ÑãÕÄE:ÑáͰ&ñwÉ*5> å##F#~#Në+ ÎW\áÍÏ)Ò²Éz·Â²{æøÂ² Í‚,“;~"5>É!“;PÍÞ)É!Ø"-!Ò"ÉCOPYRIGHT NORTH STAR COMPU 0050 START: 0100 LXI H,0 0150 LP1:MOV A,H 0200 OUT 43 0250 LP2:MOV A,L 0300 OUT 42 0350 XRA A 0400 OUT 39 0450 OUT 40 0500 DCR A 0550 OUT 41 0600 INR L 0650 JNZ LP2 0700 INR H 0750 JNZ LP1 0752 MVI A,7FH 0753 OUT 43 0754 DCR A 0755 OUT 42 0756 XRA A 0800 XRA A 0850 OUT 41 0852 OUT 41 0853 OUT 41 0854 OUT 41 0855 OUT 41 0856 OUT 41 0857 OUT 41 0858 OUT 41 1100 MVI C,0 1150 LP:MVI A,7FH 1200 OUT 42 1210 XRA A 1211 OUT 32 1212 MVI A,7FH 1250 OUT 43 1300 MVI A,0AAH 1350 OUT 39 1400 OUT 40 1450 DCR C 1500 JNZ LP 1510 MVI A,7FH 1511 OUT 43 1550 XRA A 1650 OUT 33 1700 OUT 34 1750 MVI A,80H 1800 OUT 42 1850 OUT 47 1852 WT:IN 33 1853 ANI 16 1854 JZ WT 1900 CALL 116H 1950 JNZ START 2000 RET 20000010 NUM:EQU 20 /0020 NUM4:EQU NUM+NUM+NUM+NUM+NUM+NUM+NUM+NUM 0030 NUM8:EQU NUM4+NUM4 0040 MVI A,30H 0050 OUT 48 0060 CALL SETUP 0070 LXI H,0A000H 0080 DFLP:MOV E,M 0090 INX H 0100 MOV D,M 0110 INX H 0120 DFLP2:MOV A,E 0130 OUT 42 0140 MOV A,D 0150 OUT 43 0160 INX D 0170 MOV A,M 0180 OUT 39 0190 INX H 0200 MOV A,M 0210 OUT 40 0220 INX H 0230 MVI A,2 0240 OUT 41 0250 MOV A,M 0260 CPI 80H 0270 JNZ DFLP2 0280 XRA A 0290 OUT 41 0300 INX H 0310 INX H 0320 MOV A,M 0330 CPI 80H 0340 JNZ DFLP 0350 LXI H,COLS 0360 CLLP:MOV A,M 0370 OUT 33 0380 INX H 0390 MOV A,M 0400 OUT 38 0410 INX H 0420 MOV A,M 0430 OUT 37 0440 INX H 0450 MOV A,M 0460 OUT 36 0470 INX H 0480 MOV A,M 0490 ORA A 0500 JNZ CLLP 0510 MLOOP:CALL 116H 0520 RZ 0530 CALL YOU 0540 LXI H,TABLE+NUM8-1 0550 LXI D,TABLE+NUM8-3 0560 LXI B,NUM8-2 0570 XCHG 0580 LDDR 0582 LHLD XYPOS 0583 SHLD TABLE 0590 BLANK:IN 33 0600 ANI 1 0610 JNZ BLANK 0620 LXI H,TABLE+2 0630 MVI C,NUM 0640 LXI D,14 0650 ERLP:MOV A,M 0660 OUT 33 0670 INX H 0680 MOV A,M 0690 OUT 34 0700 INX H 0710 DAD D 0720 XRA A 0730 OUT 42 0740 OUT 43 0750 OUT 44 0760 OUT 45 0770 OUT 47 0780 CALL WAIT 0790 DCR C 0800 JNZ ERLP 0830 LXI H,TABLE+NUM8 0840 MVI C,NUM 0850 LXI D,-14 0860 PUTLP: 0870 DAD D 0880 DCX H 0890 MOV A,M 0900 OUT 34 0910 DCX H 0920 MOV A,M 0930 OUT 33 0940 XRA A 0950 OUT 42 0960 OUT 43 0970 OUT 45 0980 MVI A,32 0990 SUB C 1000 ANI 7 1010 ADI 16 1020 OUT 44 1030 OUT 47 1040 CALL WAIT 1050 DCR C 1060 JNZ PUTLP 1070 JMP MLOOP 1080 WAIT:IN 33 1090 ANI 16 1100 JZ WAIT 1110 RET 1120 YOU:IN 25 1130 CALL FIX 1140 LHLD X 1150 DAD D 1160 SHLD X 1170 MOV C,H 1180 IN 26 1190 CMA 1200 CALL FIX 1210 LHLD Y 1220 DAD D 1230 SHLD Y 1240 MOV L,H 1250 MOV A,C 1260 CMA 1270 MOV H,A 1280 SHLD XYPOS 1290 RET 1300 FIX:MOV L,A 1310 MVI H,0 1320 ORA A 1330 JP OK 1340 DCR H 1350 OK:DAD H 1360 DAD H 1370 DAD H 1380 XCHG 1390 RET 1400 X:DS 2 1410 Y:DS 2 1420 XYPOS:DS 2 1430 TABLE:DS NUM8 1440 DEFS:DW 0 <1450 DB -5,-5,-5,-4,-5,-3,-5,-2,-5,-1,-5,0,-5,1,-5,2,-5,3 @1460 DB -5,4,-5,5,-4,5,-3,5,-2,5,-1,5,0,5,1,5,2,5,3,5,4,5,5,5 <1470 DB 5,4,5,3,5,2,5,1,5,0,5,-1,5,-2,5,-3,5,-4,5,-5,4,-5 61480 DB 3,-5,2,-5,1,-5,0,-5,-1,-5,-2,-5,-3,-5,-4,-5 1490 DB 80H,80H 1500 DB 80H 1510 COLS:DB 16,0,0,0 1520 DB 17,255,0,0 1530 DB 18,0,255,0 1540 DB 19,255,255,0 1550 DB 20,0,0,255 1560 DB 21,255,0,255 1570 DB 22,0,255,255 1580 DB 23,255,255,255 1590 DB 0 1600 SETUP:MVI C,10 1610 XRA A 1620 OUT 43 1630 LP:MVI A,10 1640 SUB C 1650 OUT 42 1660 XRA A 1670 OUT 39 1680 OUT 40 1690 MVI A,2 1700 OUT 41 1710 DCR C 1720 JNZ LP 1730 MVI A,0 1740 OUT 41 1750 XRA A 1760 OUT 33 1770 OUT 34 1780 MVI B,0 1790 LOOP:MOV A,B 1800 OUT 32 1810 OUT 44 1820 XRA A 1830 OUT 42 1840 OUT 43 1850 OUT 45 1860 OUT 46 1870 WT3:IN 33 1880 ANI 16 1890 JZ WT3 1900 INR B 1910 JNZ LOOP 1920 RET 1920˜w&¿g•?D5u3¿"'C”?q™@I¾‘T>  Zõ40960 Rõ15  R2õRâR  IõåR ± R ( KõÄàR2åIâI) - JõåK ± K 2 I2õÆàI)\„ I2ô0 ² I2õI2ã256 < J2õÆàJ)\„ J2ô0 ² J2õJ2ã256 F • Z,I2\• Zã1,J2\ZõZã2 P ƒ J\ƒ I C-C%C C ñòûòüòýòþòÿòòòòòòóùóúóûóüóýóþóÿóóóóóóóóô÷ôøôùôúôûôüôýôþôÿôôôôôôôôôô õöõ÷õøõùõúõûõüõýõþõÿõõõõõõõõõõ õ öõööö÷öøöùöúöûöüöýöþöÿöööööööööö ö ö ÷ô÷õ÷ö÷÷÷ø÷ù÷ú÷û÷ü÷ý÷þ÷ÿ÷÷÷÷÷÷÷÷÷÷ ÷ ÷ ÷ øôøõøöø÷øøøùøúøûøüøýøþøÿøøøøøøøøøø ø ø ø ùóùôùõùöù÷ùøùùùúùûùüùýùþùÿùùùùùùùùùù ù ù ù ù úóúôúõúöú÷úøúùúúúûúüúýúþúÿúúúúúúúúúú ú ú ú ú ûòûóûôûõûöû÷ûøûùûúûûûüûýûþûÿûûûûûûûûûû û û û û ûüòüóüôüõüöü÷üøüùüúüûüüüýüþüÿüüüüüüüüüü ü ü ü ü üýòýóýôýõýöý÷ýøýùýúýûýüýýýþýÿýýýýýýýýýý ý ý ý ý ýþòþóþôþõþöþ÷þøþùþúþûþüþýþþþÿþþþþþþþþþþ þ þ þ þ þÿòÿóÿôÿõÿöÿ÷ÿøÿùÿúÿûÿüÿýÿþÿÿÿÿÿÿÿÿÿÿÿÿ ÿ ÿ ÿ ÿ ÿñòóôõö÷øùúûüýþÿ òóôõö÷øùúûüýþÿ     òóôõö÷øùúûüýþÿ     òóôõö÷øùúûüýþÿ     òóôõö÷øùúûüýþÿ     òóôõö÷øùúûüýþÿ     óôõö÷øùúûüýþÿ     óôõö÷øùúûüýþÿ     ôõö÷øùúûüýþÿ    ô õ ö ÷ ø ù ú û ü ý þ ÿ         õ ö ÷ ø ù ú û ü ý þ ÿ         ö ÷ ø ù ú û ü ý þ ÿ         ÷ ø ù ú û ü ý þ ÿ         ù ú û ü ý þ ÿ       ûüýþÿ€€€þÿ€€€€€€œ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ((°Æœ(0010 MEM:EQU 4F00H 0020 C1:EQU 32 0030 XRA A 0040 OUT 48 0050 LXI H,0 0060 LPY:MOV A,H 0070 OUT 34 0080 LPX:MOV A,L 0090 OUT 33 0100 MVI A,32 0110 OUT 32 0120 INR L 0130 JNZ LPX 0140 INR H 0150 JNZ LPY 0160 LXI H,TABLE 0170 CLP:MOV A,M 0180 INR A 0190 JZ DONE 0200 DCR A 0210 OUT 33 0220 INX H 0230 MOV A,M 0240 OUT 38 0250 INX H 0260 MOV A,M 0270 OUT 37 0280 INX H 0290 MOV A,M 0300 OUT 36 0310 INX H 0320 JMP CLP 0330 DONE: 0340 MVI A,26 0350 STA ADDR 0360 LXI B,MEM 0370 LXI D,0 0380 LXI H,5000H 0390 SET2:MOV A,E 0400 STAX B 0410 INX B 0420 MOV A,D 0430 STAX B 0440 INX B 0450 PUSH D 0480 PUSH H 0490 CALL 0A400H 0500 POP H 0530 SET:MOV A,D 0540 OUT 43 0550 MOV A,E 0560 OUT 42 0570 INX D 0580 MOV A,M 0590 OUT 39 0600 OUT 33 0610 INX H 0620 MOV A,M 0630 OUT 40 0640 OUT 34 0650 INX H 0660 MVI A,3 0670 OUT 41 0680 MOV A,M 0690 OUT 32 0700 INX H 0710 MOV A,M 0720 CPI 80H 0730 JNZ SET 0740 MVI A,1 0750 OUT 41 0760 INX H 0770 INX H 0780 INX H 0790 XRA A 0800 OUT 33 0810 OUT 34 0820 XTHL 0830 MOV A,H 0840 OUT 43 0850 OUT 45 0860 MOV A,L 0870 OUT 42 0880 OUT 44 0890 OUT 46 0900 CALL WAIT 0905 MVI A,40 0906 OUT 34 0920 MOV A,H 0930 OUT 43 0940 MOV A,L 0941 OUT 42 0943 MOV A,H 0944 OUT 45 0945 MOV A,L 0946 OUT 44 0980 OUT 47 0981 POP H 0982 XRA A 0983 CALL 110H 0984 CPI 3 0985 RZ 0990 CALL WAIT 1010 LDA ADDR 1020 DCR A 1030 STA ADDR 1040 JNZ SET2 1050 ; RUNNING AT 6000H 1060 ; POINTS AT 5F00H 1070 OLOOP:LXI H,MEM 1080 SHLD POINT 1090 MVI C,14 1100 MLOOP:CALL 116H 1110 CPI 3 1120 RZ 1130 ORA A 1140 CNZ JUMP 1150 LHLD POINT 1160 MOV E,M 1170 INX H 1180 MOV D,M 1190 INX H 1200 SHLD POINT 1210 LHLD POS 1220 MOV A,L 1230 ADI 24 1240 MOV L,A 1250 MOV A,H 1260 ADI 4 1270 MOV H,A 1280 SHLD POS 1290 XCHG 1300 SHLD ADDR 1310 CALL ON 1320 MVI B,2 1330 WT2:IN 33 1340 ANI 1 1350 JZ WT2 1360 WT:IN 33 1370 ANI 1 1380 JNZ WT 1390 DCR B 1400 JNZ WT2 1410 LHLD ADDR 1420 CALL OFF 1430 DCR C 1440 JNZ MLOOP 1450 JMP OLOOP 1460 JUMP:LXI H,MEM+28 1470 SHLD POINT 1480 MVI C,12 1490 RET 1500 ON: 1510 MOV A,H 1520 OUT 43 1530 OUT 45 1540 MOV A,L 1550 OUT 42 1560 OUT 44 1570 MOV A,D 1580 OUT 33 1590 MOV A,E 1600 CMA 1610 OUT 34 1620 OUT 47 1630 JMP WAIT 1640 WAIT:IN 33 1650 ANI 16 1660 JZ WAIT 1670 RET 1680 OFF: 1690 RET 1700 OFFLP:MOV A,M 1710 ADD D 1720 OUT 33 1730 INX H 1740 MOV A,M 1750 ADD E 1760 OUT 34 1770 INX H 1780 MOV A,M 1790 CPI 80H 1800 RZ 1810 MVI A,C1 1820 OUT 32 1830 INX H 1840 JMP OFFLP 1850 ADDR:DS 2 1860 POINT:DS 2 1870 POS:DS 2 1880 TABLE:DB 0,0,0,0 1890 DB 3FH,0FFH,0FFH,0FFH 1900 DB 32,0FFH,0,0 1910 DB 0FFH 1910  ” 43,0  Iõ0 ± 10  ” 42,I  ” 39,0\” 40,I\” 41,3  ” 33,0\” 34,I\” 32,I ( ƒ I 2 ” 41,1 < ” 42,0\” 43,0\” 44,0\” 45,0 F ” 33,0\” 34,0\” 46,0 P ” 42,0\” 43,0\” 44,0\” 45,0 Z ” 33,128\” 34,128\” 47,0 è Iõ0 ± 10\” 33,0\” 34,I ò ’Ùà32), ü ” 33,128\” 34,Iã128 ’Ùà32)  ƒ I †CBB5 DBLP:MOV D,IX,1 1120 MOV E,IX,2 1125 DAD IX,B 1130 MVI A,31 1135 ADD H 1140 CALL DFIG 1145 DCR H 1150 JNZ DBLP 1155 RET 1160 PUTB:LXI IX,TEMP 1165 MVI H,KNUM 1170 LXI B,7 1175 PBLP:MOV D,IX,1 1180 MOV E,IX,2 1185 DAD IX,B 1190 MVI A,31 1195 ADD H 1200 CALL UFIG 1205 DCR H 1210 JNZ PBLP 1215 RET 1220 PUTK:LXI IX,KMEM 1225 MVI H,KNUM 1230 LXI B,7 1235 PKLP:MOV D,IX,1 1240 MOV E,IX,2 1245 MOV L,H 1250 DCR L 1255 MOV A,L 1260 ADD A 1265 ADD A 1270 ADD IX,0 1275 MOV L,A 1280 LDA EFLAG 1285 ORA A 1290 MOV A,L 1295 JZ NOVUL 1300 LDA ECNTR+1 1305 ORA A 1310 JNZ NOFLS 1315 LDA ECNTR 1320 CPI 96 1325 JC FLASH 1330 NOFLS:MVI A,30 1335 JMP NOVUL 1340 FLASH:ANI 16 1345 MVI A,30 1350 JNZ NOVUL 1355 MOV A,L 1360 NOVUL:DAD IX,B 1365 CALL UFIG 1370 DCR H 1375 JNZ PKLP 1380 LHLD ECNTR 1385 DCX H 1390 SHLD ECNTR 1395 MOV A,H 1400 ORA L 1405 RNZ 1410 SWAP:XRA A 1415 STA EFLAG 1420 RET 1425 MKILL:LXI IX,KMEM 1430 ¯Ó0!|Ó"}Ó!> Ó , H$ÂH!GI~<Ê 0010 XRA A 0020 OUT 48 0030 MOV B,A 0040 OUT 43 0050 LP:MOV A,B 0060 OUT 42 0070 OUT 40 0080 XRA A 0090 OUT 39 0100 MVI A,3 0110 OUT 41 0120 INR B 0130 JNZ LP 0140 XRA A 0150 OUT 41 0160 LXI B,0 0170 MVI E,0 0180 MLOOP:XRA A 0190 OUT 33 0200 INR C 0202 MVI D,2 0210 WLP:MOV A,B 0220 OUT 34 0230 ADD C 0240 OUT 32 0250 INR B 0260 JNZ WLP 0270 XRA A 0280 OUT 42 0290 OUT 43 0300 OUT 44 0310 OUT 45 0320 OUT 33 0330 OUT 34 0340 OUT 46 0350 CALL WAIT 0360 OLP:MVI A,80H 0370 OUT 33 0380 XRA A 0390 OUT 34 0400 OUT 44 0410 OUT 45 0420 OUT 42 0430 OUT 43 0440 OUT 47 0450 CALL WAIT 0460 MVI B,0 0470 CHLP:MOV A,B 0480 OUT 34 0490 XRA A 0500 OUT 33 0510 IN 32 0520 MOV H,A 0530 MVI A,80H 0540 OUT 33 0550 IN 32 0560 SUB H 0570 JZ NOERR 0600 OK:ADI '0' 0610 CALL CO 0615 INR E 0620 NOERR:INR B 0630 JNZ CHLP 0640 MVI E,0 0642 DCR D 0643 JNZ OLP 0650 XRA A 0660 CALL 116H 0670 CPI 3 0680 JNZ MLOOP 0690 RET 0700 WAIT:IN 33 0710 ANI 16 0720 JZ WAIT 0730 RET 0740 CO:PUSH PSW 0760 MOV A,E 0770 ANI 63 0780 CZ CRLF 0782 MOV A,E 0783 ORA A 0784 CZ CRLF 0785 MOV A,E 0790 ANI 7 0800 CZ SPACE 0801 POP PSW 0802 JMP CO2 0810 SPACE:MVI A,20H 0820 CO2:PUSH B 0830 MOV B,A 0840 XRA A 0850 CALL 10DH 0860 POP B 0870 RET 0880 CRLF: 0890 MVI A,13 0900 CALL CO2 0910 MVI A,10 0920 JMP CO2 09200010 LP:MVI B,40 0020 LOOP:XRA A 0030 OUT 42 0040 OUT 43 0050 OUT 44 0060 OUT 45 0070 OUT 33 0080 OUT 34 0090 OUT 46 0100 CALL WAIT 0110 MOV A,B 0120 OUT 33 0130 XRA A 0140 OUT 42 0150 OUT 43 0160 OUT 44 0170 OUT 45 0180 OUT 34 0185 OUT 47 0190 CALL WAIT 0200 INR B 0210 JNZ LOOP 0220 CALL 116H 0221 JNZ LP 0222 RET 0223 WAIT:IN 33 0224 ANI 16 0225 JZ WAIT 0226 RET 0226 Zõ40960  • Z,0\• Zã1,0\ZõZã2  Rõ7 ( R2õRâR 2 IõåR ± R < I2õI\„ I2ô0 ² I2õI2ã256 F KõÆàÄàR2åIâI)ã.5) P JõåK ± K Z J2õJ\„ J2ô0 ² J2õJ2ã256 d • Z,I2\• Zã1,J2\ZõZã2 n ƒ J\ƒ I s • Z,128\• Zã1,128\• Zã2,128 x ’Zå40960 aCyCqCQCICA0EYCpAIBiC€ApAPCAP5 DBLP:MOV D,IX,1 1120 MOV Eÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ0010 MEM:EQU 4F00H 0020 C1:EQU 32 0030 XRA A 0040 OUT 48 0050 LXI H,8000H 0060 ZLP:MOV A,H 0070 OUT 43 0080 MOV A,L 0090 OUT 42 0100 XRA A 0110 OUT 39 0120 OUT 40 0130 MVI A,3 0140 OUT 41 0150 INX H 0160 MOV A,H 0170 CPI 90H 0180 MVI A,C1 0190 OUT 32 0200 XRA A 0210 OUT 44 0220 OUT 42 0230 MVI A,80H 0240 OUT 45 0250 OUT 43 0260 OUT 46 0270 CALL WAIT 0280 LXI H,TABLE 0290 CLP:MOV A,M 0300 INR A 0310 JZ DONE 0320 DCR A 0330 OUT 33 0340 INX H 0350 MOV A,M 0360 OUT 38 0370 INX H 0380 MOV A,M 0390 OUT 37 0400 INX H 0410 MOV A,M 0420 OUT 36 0430 INX H 0440 JMP CLP 0450 DONE: 0460 MVI A,26 0470 STA ADDR 0480 LXI B,MEM 0490 LXI D,0 0500 LXI H,5000H 0510 SET2:MOV A,E 0520 STAX B 0530 INX B 0540 MOV A,D 0550 STAX B 0560 INX B 0570 PUSH D 0580 SET:MOV A,D 0590 OUT 43 0600 MOV A,E 0610 OUT 42 0620 INX D 0630 MOV A,M 0640 SUI 88H 0650 OUT 39 0660 OUT 33 0670 INX H 0680 MOV A,M 0690 SUI 88H 0700 OUT 40 0710 OUT 34 0720 INX H 0730 MVI A,3 0740 OUT 41 0750 MOV A,M 0760 OUT 32 0770 INX H 0780 MOV A,M 0790 CPI 80H 0800 JNZ SET 0810 MVI A,1 0820 OUT 41 0830 INX H 0840 INX H 0850 INX H 0860 XRA A 0870 OUT 33 0880 OUT 34 0890 XTHL 0900 MOV A,H 0910 OUT 43 0920 OUT 45 0930 MOV A,L 0940 OUT 42 0950 OUT 44 0960 OUT 46 0970 POP H 0980 CALL WAIT 0990 LDA ADDR 1000 DCR A 1010 STA ADDR 1020 JNZ SET2 1030 LXI H,0 1040 LPY:MOV A,H 1050 OUT 34 1060 LPX:MOV A,L 1070 OUT 33 1080 MVI A,C1 1090 OUT 32 1100 INR L 1110 JNZ LPX 1120 INR H 1130 JNZ LPY 1140 ; RUNNING AT 6000H 1150 ; POINTS AT 5F00H 1160 OLOOP:LXI H,MEM 1170 SHLD POINT 1180 MVI C,14 1190 MLOOP:CALL 116H 1200 CPI 3 1210 RZ 1220 ORA A 1230 CNZ JUMP 1240 LHLD ADDR 1250 SHLD ADDR2 1260 LHLD POINT 1270 MOV E,M 1280 INX H 1290 MOV D,M 1300 INX H 1310 SHLD POINT 1320 XCHG 1330 SHLD ADDR 1340 LXI D,0 1350 ONLP:MOV A,E 1360 ADI 24 1370 MOV E,A 1380 MOV A,D 1390 ADI 4 1400 MOV D,A 1410 LHLD ADDR2 1420 CALL OFF 1430 LHLD ADDR 1440 CALL ON 1450 MOV A,D 1460 ORA E 1470 JNZ ONLP 1480 MVI B,2 1490 WT1:IN 33 1500 ANI 1 1510 JZ WT1 1520 WT2:IN 33 1530 ANI 1 1540 JNZ WT2 1550 DCR B 1560 JNZ WT1 1570 OFFLP: 1580 MOV A,E 1590 ADI 24 1600 MOV E,A 1610 MOV A,D 1620 ADI 4 1630 MOV D,A 1640 LHLD ADDR 1650 CALL OFF 1660 MOV A,D 1670 ORA E 1680 JNZ OFFLP 1690 DCR C 1700 JNZ MLOOP 1710 JMP OLOOP 1720 JUMP:LXI H,MEM+28 1730 SHLD POINT 1740 MVI C,12 1750 ANI 7 1760 OUT 48 1770 RET 1780 ON: 1790 MOV A,H 1800 OUT 43 1810 OUT 45 1820 MOV A,L 1830 OUT 42 1840 OUT 44 1850 MOV A,D 1860 OUT 33 1870 MOV A,E 1880 CMA 1890 OUT 34 1900 OUT 47 1910 WAIT:IN 33 1920 ANI 16 1930 JZ WAIT 1940 RET 1950 OFF:MVI A,80H 1960 OUT 45 1970 XRA A 1980 OUT 44 1990 MOV A,H 2000 OUT 43 2010 MOV A,L 2020 OUT 42 2030 MOV A,D 2040 OUT 33 2050 MOV A,E 2060 CMA 2070 OUT 34 2080 OUT 47 2090 JMP WAIT 2100 ADDR:DS 2 2110 POINT:DS 2 2120 POS:DS 2 2130 TABLE:DB 0,0,0,0 2140 DB 3FH,0FFH,0FFH,0FFH 2150 DB 32,0FFH,0,0 2160 DB 0FFH 2160˜w&¿g•?D5u3¿"'C”?q™@I¾‘T>  Zõ40960 Rõ15  R2õRâR  IõåR ± R ( KõÄàR2åIâI) - JõåK ± K 2 I2õÆàI)\„ I2ô0 ² I2õI2ã256 < J2õÆàJ)\„ J2ô0 ² J2õJ2ã256 F • Z,I2\• Zã1,J2\ZõZã2 P ƒ J\ƒ I C-C%C C0005 LEN:EQU 5 0010 DIST:EQU 3 0015 JVAL:EQU 40 0020 OFSET:EQU 16 0025 KNUM:EQU 4 30030 MSIZE:EQU KNUM+KNUM+KNUM+KNUM+KNUM+KNUM+KNUM 0035 BCOL:EQU 4 0040 TIME:EQU 40 0045 START: 0050 LXI H,CTAB 0055 CLP:MOV A,M 0060 OUT 33 0065 INX H 0070 MOV A,M 0075 OUT 38 0080 INX H 0085 MOV A,M 0090 OUT 37 0095 INX H 0100 MOV A,M 0105 OUT 36 0110 INX H 0115 MOV A,M 0120 INR A 0125 JNZ CLP 0130 CALL SET2 0135 XRA A 0140 CALL CLEAR 0145 LXI H,FTAB 0150 LXI D,FTAB+1 0155 MVI M,0 0160 LXI B,128 0165 LDIR 0170 CALL BOARD 0175 MVI A,2 0180 OUT 48 0185 XRA A 0190 STA EFLAG 0195 LXI H,TESTS 0200 LXI D,KMEM 0205 LXI B,MSIZE 0210 LDIR 0215 LXI H,PTEST 0220 LXI D,PAC1 0225 LXI B,6 0230 LDIR 0235 HERE: 0240 CALL DEFB 0245 MVI D,188 0250 MVI E,112 0255 MVI A,24 0260 OUT 45 0265 XRA A 0270 OUT 42 0275 OUT 44 0280 MVI A,80H 0285 OUT 43 0290 CALL SET 0295 OUT 46 0300 CALL FIGWT 0305 LXI H,SCORE 0310 LXI D,SCORE+1 0315 MVI M,0 0320 LXI B,LEN 0325 LDIR 0330 MLOOP:EQU $ 0335 LHLD PAC1+4 0340 SHLD PSAVE 0345 LXI H,PAC1 0350 CALL PLAY 0355 LDA FFLAG 0360 ORA A 0365 JNZ NOFS 0370 MVI A,0FDH 0375 MVI A,0FFH 0380 ANI 8 0385 JNZ NOFS 0390 LXI H,PAC1 0395 CALL PLAY 0400 NOFS:EQU $ 0405 LHLD PAC1+4 0410 SHLD NPOS 0415 LXI H,KMEM 0420 LXI D,TEMP 0425 LXI B,MSIZE 0430 LDIR 0435 CALL MKILL 0440 MVI A,1 0445 OUT 2 0450 HLT:IN 33 0455 ANI 1 0460 JNZ HLT 0465 CALL PUTB 0470 LDED PSAVE 0475 MVI A,24 0480 OUT 45 0485 XRA A 0490 OUT 44 0495 OUT 42 0500 MVI A,80H 0505 OUT 43 0510 CALL SET 0515 OUT 47 0520 CALL FIGWT 0525 LDA FFLAG 0530 ORA A 0535 JZ NFOOD 0540 LDED NPOS 0545 INR E 0550 INR E 0555 CALL READ 0560 MOV B,A 0562 DCR E 0563 DCR E 0565 LHLD PNTS+18 0570 MOV A,H 0575 OUT 43 0580 MOV A,L 0585 OUT 42 0590 MVI A,18 0595 OUT 44 0600 XRA A 0605 OUT 45 0610 CALL SET 0615 OUT 47 0620 CALL FIGWT 0655 MOV A,B 0660 CPI 3 0665 JNZ NFOOD 0670 ENERG:MVI A,1 0675 STA EFLAG 0680 LXI H,200H 0685 SHLD ECNTR 0690 MVI B,4 0695 CALL ADDSC 0700 MVI A,1 0705 STA EVAL 0710 NFOOD:MVI A,2 0715 OUT 48 0720 CALL DEFB 0725 MVI A,24 0730 OUT 45 0735 XRA A 0740 OUT 42 0745 OUT 44 0750 MVI A,80H 0755 OUT 43 0760 LDED NPOS 0765 CALL SET 0770 OUT 46 0775 CALL FIGWT 0780 LDA NUM2 0785 OUT 48 0790 LDA NUM 0795 ADI 5 0800 ADD A 0805 MOV E,A 0810 MVI D,0 0815 LXI H,PNTS 0820 DAD D 0825 MOV A,M 0830 OUT 42 0835 INX H 0840 MOV A,M 0845 OUT 43 0850 XRA A 0855 OUT 45 0860 MVI A,14 0865 OUT 44 0870 OUT 47 0875 CALL FIGWT 0880 MVI A,2 0885 OUT 48 0890 CALL PUTK 0895 LXI H,SCORE 0900 LXI D,5400H 0905 CALL PUTSC 0910 LXI H,SCORE 0915 LXI D,HIGH 0920 LXI B,LEN 0925 HTEST:LDAX D 0930 CMP M 0935 JC NEWH 0940 JNZ LOW 0945 INX D 0950 INX H 0955 DCR C 0960 JNZ HTEST 0965 JMP LOW 0970 NEWH:LDIR 0975 LOW:LXI H,HIGH 0980 LXI D,54C0H 0985 CALL PUTSC 0990 WAIT:IN 24 0995 BIT 2,A 1000 JZ WAIT 1005 BIT 0,A 1010 JZ START 1015 CALL 116H 1020 CPI 3 1025 JNZ MLOOP 1030 JMP 0E00H 1035 DEAD:IN 24 1040 ANI 1 1045 JNZ DEAD 1050 JMP START 1055 XFIX:ORA A 1060 JZ OFFL 1065 CPI 27 1070 CMC 1075 RNZ 1080 OFFR:MVI A,1 1085 STC 1090 RET 1095 OFFL:MVI A,26 1100 STC 1105 RET 1110 ADDAH:ADD L 1115 MOV L,A 1120 RNC 1125 INR H 1130 RET 1135 DEFB:LXI IX,KMEM 1140 MVI H,KNUM 1145 LXI B,7 1150 DBLP:MOV D,IX,1 1155 MOV E,IX,2 1160 DAD IX,B 1165 MVI A,31 1170 ADD H 1175 OUT 45 1180 XRA A 1185 OUT 44 1190 OUT 42 1195 MVI A,80H 1200 OUT 43 1205 CALL SET 1210 OUT 46 1215 CALL FIGWT 1220 DCR H 1225 JNZ DBLP 1230 RET 1235 PUTB:LXI IX,TEMP 1240 MVI H,KNUM 1245 LXI B,7 1250 PBLP:MOV D,IX,1 1255 MOV E,IX,2 1260 DAD IX,B 1265 MVI A,31 1270 ADD H 1275 OUT 45 1280 XRA A 1285 OUT 44 1290 OUT 42 1295 MVI A,80H 1300 OUT 43 1305 CALL SET 1310 OUT 47 1315 CALL FIGWT 1320 DCR H 1325 JNZ PBLP 1330 RET 1335 PUTK:LXI IX,KMEM 1340 MVI H,KNUM 1345 LXI B,7 1350 PKLP:MOV D,IX,1 1355 MOV E,IX,2 1360 CALL SET 1365 MOV L,IX,0 1370 LDA EFLAG 1375 ORA A 1380 MOV A,L 1385 JZ NOVUL 1390 LDA ECNTR+1 1395 ORA A 1400 JNZ NOFLS 1405 LDA ECNTR 1410 CPI 96 1415 JC FLASH 1420 NOFLS:MVI A,4 1425 JMP NOVUL 1430 FLASH:ANI 16 1435 MVI A,4 1440 JNZ NOVUL 1445 MOV A,L 1450 NOVUL: 1455 MOV L,A 1460 PUSH H 1465 MVI H,0 1470 DAD H 1475 LXI D,POINT 1480 DAD D 1485 MOV E,M 1490 INX H 1495 MOV D,M 1500 MOV A,D 1505 OUT 43 1510 MOV A,E 1515 OUT 42 1520 POP H 1525 MOV A,L 1530 CPI 4 1535 MVI A,12 1540 JZ BLUE 1545 MOV A,H 1550 ADD A 1555 ADD H 1560 SUI 3 1565 BLUE:OUT 44 1570 XRA A 1575 OUT 45 1580 OUT 47 1585 CALL FIGWT 1590 DAD IX,B 1595 DCR H 1600 JNZ PKLP 1605 LHLD ECNTR 1610 DCX H 1615 SHLD ECNTR 1620 MOV A,H 1625 ORA L 1630 RNZ 1635 SWAP:XRA A 1640 STA EFLAG 1645 RET 1650 MKILL:LXI IX,KMEM 1655 MVI B,KNUM 1660 MKLP:MOV A,IX,0 1665 STA DIR 1670 MOV D,IX,1 1675 MOV E,IX,2 1680 MOV A,IX,5 1685 ANI 1 1690 JNZ ALIVE 1695 LDA DIR 1700 CALL STEP 1705 MOV IX,1,D 1710 MOV IX,2,E 1715 LDA NPOS 1720 SUB E 1725 CC NEGA 1730 CPI DIST 1735 JNC ALIVE 1740 LDA NPOS+1 1745 SUB D 1750 CC NEGA 1755 CPI DIST 1760 JNC ALIVE 1765 LDA EFLAG 1770 ORA A 1775 JZ DEAD 1780 PUSH B 1785 LDA EVAL 1790 MOV B,A 1795 ADD A 1800 STA EVAL 1805 CALL ADDD2 1810 POP B 1815 MVI IX,3,14 1820 MVI IX,4,13 1825 MVI IX,1,116 1830 MVI IX,2,112 1835 ALIVE:MOV D,IX,3 1840 MOV E,IX,4 1845 DCR IX,5 1850 JZ NODE 1855 LDA EFLAG 1860 ORA A 1865 JNZ NONOD 1870 MOV A,D 1875 CPI 14 1880 JNZ FAST 1885 MOV A,E 1890 CPI 5 1895 JC NONOD 1900 CPI 23 1905 JNC NONOD 1910 FAST:DCR IX,5 1915 JNZ NONOD 1920 NODE:MVI IX,5,16 1925 LDA DIR 1930 CALL STEP 1935 XRI 2 1940 STA DIR 1945 PUSH B 1950 LBCD PAC1+2 1955 CALL DTOB 1960 POP B 1965 PUSH B 1970 MOV A,B 1975 RRC 1980 JC LARGE 1985 LDA DIFFS 1990 ORA A 1995 JZ LARGE 2000 MOV A,H 2005 MOV H,L 2010 MOV L,A 2015 LARGE:LDA EFLAG 2020 ORA A 2025 JNZ CANT 2030 MOV A,H 2035 CALL TDIR 2040 MOV A,H 2045 JZ TAKE 2050 MOV A,L 2055 CALL TDIR 2060 MOV A,L 2065 JZ TAKE 2070 CANT:CALL RND 2075 ANI 3 2080 MOV C,A 2085 ROT:INR C 2090 MOV A,C 2095 ANI 3 2100 MOV C,A 2105 LDA DIR 2110 CMP C 2115 JZ ROT 2120 MOV A,C 2125 PUSH D 2130 CALL STEP 2135 CALL ITEST 2140 POP D 2145 JNZ ROT 2150 MOV A,C 2155 TAKE:POP B 2160 MOV C,A 2165 MOV A,E 2170 CALL XFIX 2175 MOV E,A 2180 MOV IX,3,D 2185 MOV IX,4,E 2190 MOV IX,0,C 2195 MOV A,D 2200 ADD A 2205 DCR A 2210 ADD A 2215 ADD A 2220 ADI 8 2225 MOV IX,1,A 2230 MOV A,E 2235 ADD A 2240 DCR A 2245 ADD A 2250 ADD A 2255 ADI 8 2260 MOV IX,2,A 2265 NONOD:LXI D,7 2270 DAD IX,D 2275 DCR B 2280 JNZ MKLP 2285 RET 2290 TDIR:PUSH D 2295 PUSH H 2300 MOV H,A 2305 LDA DIR 2310 CMP H 2315 MOV A,H 2320 JNZ POSIB 2325 INR A 2330 ORA A 2335 JMP POPS 2340 POSIB:CALL STEP 2345 CALL ITEST 2350 POPS:POP H 2355 POP D 2360 RET 2365 PLAY:LDA COUNT 2370 DCR A 2375 STA COUNT 2380 ANI 15 2385 JNZ PLAY2 2390 LDA EXT 2395 ORA A 2400 JZ PLAY2 2405 XRA A 2410 STA EXT 2415 RET 2420 PLAY2:XRA A 2425 STA FFLAG 2430 MOV A,M 2435 SHLD PNTR 2440 CALL JOYST 2445 BACK:CMP M 2450 MOV C,A 2455 MOV A,B 2460 STA ALT 2465 MOV A,C 2470 JZ MOVE 2475 XRI 2 2480 CMP M 2485 JNZ NOREV 2490 MOV M,C 2495 INX H 2500 MVI A,8 2505 SUB M 2510 JZ OK 2515 MOV M,A 2520 INX H 2525 MOV E,M 2530 INX H 2535 MOV D,M 2540 MOV A,C 2545 XRI 2 2550 CALL STEP 2555 MOV M,D 2560 DCX H 2565 MOV M,E 2570 DCX H 2575 JMP SKIP 2580 OK:MVI M,8 2585 SKIP:DCX H 2590 JMP MOVE 2595 NOREV:INX H 2600 MOV A,M 2605 CPI 8 2610 JNZ BAD 2615 INX H 2620 MOV E,M 2625 INX H 2630 MOV D,M 2635 DCX H 2640 DCX H 2645 DCX H 2650 PUSH B 2655 PUSH H 2660 MOV A,C 2665 CALL STEP 2670 CALL ITEST 2675 POP H 2680 POP B 2685 JNZ MOVE 2690 MOV M,C 2695 INX H 2700 BAD:DCX H 2705 MOVE:MOV C,M 2710 INX H 2715 MOV A,M 2720 CPI 8 2725 JNZ GO 2730 PUSH B 2735 PUSH H 2740 INX H 2745 MOV E,M 2750 INX H 2755 MOV D,M 2760 MOV A,C 2765 CALL STEP 2770 CALL ITEST 2775 POP H 2780 POP B 2785 JZ GO 2790 LDA ALT 2795 CPI 0FFH 2800 JZ NOTRY 2805 LHLD PNTR 2810 MVI B,0FFH 2815 JMP BACK 2820 NOTRY:INX H 2825 INX H 2830 INX H 2835 MOV E,M 2840 INX H 2845 MOV D,M 2850 JMP OTHER 2855 GO:DCR M 2860 JNZ NYET 2865 MVI M,8 2870 INX H 2875 MOV E,M 2880 INX H 2885 MOV D,M 2890 MOV A,C 2895 CALL STEP 2900 CALL CFOOD 2905 MOV M,D 2910 DCX H 2915 MOV M,E 2920 DCX H 2925 NYET:INX H 2930 INX H 2935 INX H 2940 MOV E,M 2945 INX H 2950 MOV D,M 2955 MOV A,C 2960 CALL STEP 2965 MOV M,D 2970 DCX H 2975 MOV M,E 2980 OTHER:LHLD PNTR 2985 INX H 2990 INX H 2995 MOV A,M 3000 CALL XFIX 3005 JNC NOEXT 3010 MOV M,A 3015 INX H 3020 INX H 3025 ADD A 3030 ADD A 3035 ADD A 3040 ADI 4 3045 MOV M,A 3050 MOV E,A 3055 NOEXT:LDA COUNT 3060 ANI 15 3065 JNZ SETN 3070 LDA EXT 3075 ORA A 3080 LHLD PNTR 3085 JZ PLAY 3090 SETN:LHLD PNTR 3095 MOV A,M 3100 ANI 3 3105 MOV E,A 3110 MVI D,0 3115 LXI H,WAYS 3120 DAD D 3125 MOV A,M 3130 STA NUM2 3135 LHLD PNTR 3140 INX H 3145 MOV A,M 3150 ANI 7 3155 MOV C,A 3160 MVI A,3 3165 SUB C 3170 JNC NOCAR 3175 CMA 3180 NOCAR: 3185 STA NUM 3190 RET 3195 WAYS:DB 0,4,1,6 3200 CFOOD:PUSH H 3205 PUSH D 3210 CALL SETUP 3215 MOV D,A 3220 ANA M 3225 JZ NOFD 3230 MVI B,1 3235 CALL ADDSC 3240 MOV A,D 3245 CMA 3250 ANA M 3255 MOV M,A 3260 MVI A,1 3265 STA FFLAG 3270 STA EXT 3275 POP D 3280 MOV A,D 3285 ADD A 3290 ADD A 3295 ADD A 3300 SUI 4 3305 MOV H,A 3310 MOV A,E 3315 ADD A 3320 ADD A 3325 ADD A 3330 SUI 4 3335 MOV L,A 3340 SHLD FPOS 3345 JMP HPOP 3350 NOFD:POP D 3355 HPOP:POP H 3360 RET 3365 ITEST:MVI A,27 3370 SUB E 3375 CPI 14 3380 JNC NOSUB 3385 MOV E,A 3390 NOSUB:MOV A,E 3395 ANI 7 3400 LXI H,BITS 3405 CALL ADDAH 3410 MOV A,E 3415 RRC 3420 RRC 3425 RRC 3430 ANI 1FH 3435 ADD D 3440 ADD D 3445 MOV E,A 3450 MVI D,0 3455 MOV A,M 3460 LXI H,IBORD 3465 DAD D 3470 ANA M 3475 RET #3480 BITS:DB 128,64,32,16,8,4,2,1 3485 ADDD2:PUSH H 3490 LXI H,SCORE+LEN-2 3495 JMP INCLP 3500 ADDSC:PUSH H 3505 LXI H,SCORE+LEN-1 3510 INCLP:MOV A,M 3515 ADD B 3520 MOV M,A 3525 MVI B,0FFH 3530 SBLP:SUI 10 3535 INR B 3540 JNC SBLP 3545 ADI 10 3550 MOV M,A 3555 MOV A,B 3560 ORA A 3565 JZ QUIT 3570 DCX H 3575 JMP INCLP 3580 QUIT:POP H 3585 RET 3590 PUTSC:MVI C,LEN 3595 MVI B,0 3600 SCLP:MOV A,M 3605 ORA B 3610 MOV B,A 3615 JZ LEAD0 3620 MOV A,M 3625 ADI 30H 3630 CALL UFIG 3635 LEAD0:MOV A,E 3640 ADI 8 3645 MOV E,A 3650 INX H 3655 DCR C 3660 JNZ SCLP 3665 RET 3670 LXI H,FTAB 3675 DAD D 3680 ANA M 3685 RET 3690 FOFF:CALL SETUP 3695 LXI H,FTAB 3700 DAD D 3705 CMA 3710 ANA M 3715 MOV M,A 3720 RET 3725 FON:CALL SETUP 3730 ORA M 3735 MOV M,A 3740 RET 3745 SETUP:MOV A,E 3750 ANI 7 3755 LXI H,BITS 3760 CALL ADDAH 3765 MOV A,E 3770 RRC 3775 RRC 3780 RRC 3785 ANI 1FH 3790 MOV E,A 3795 MOV A,D 3800 ADD A 3805 ADD A 3810 ADD E 3815 MOV E,A 3820 MVI D,0 3825 MOV A,M 3830 LXI H,FTAB 3835 DAD D 3840 RET 3845 STEP:ANI 3 3850 JZ UP 3855 CPI 1 3860 JZ RIGHT 3865 CPI 2 3870 JZ DOWN 3875 LEFT:DCR E 3880 RET 3885 RIGHT:INR E 3890 RET 3895 UP:DCR D 3900 RET 3905 DOWN:INR D 3910 RET 3915 BOARD:LXI H,OBORD 3920 BDLP2:MOV D,M 3925 INX H 3930 MOV E,M 3935 INX H 3940 BDLP:MOV B,M 3945 INX H 3950 MOV C,M 3955 INX H 3960 PUSH H 3965 CALL DTOB 3970 MOV H,A 3975 CALL STEP 3980 LINE:PUSH D 3985 MVI A,BCOL 3990 CALL DOT 3995 MVI A,224 4000 SUB E 4005 MOV E,A 4010 MVI A,BCOL 4015 CALL DOT 4020 POP D 4025 MOV A,H 4030 CALL STEP 4035 MOV A,D 4040 CMP B 4045 JNZ LINE 4050 MOV A,E 4055 CMP C 4060 JNZ LINE 4065 POP H 4070 MOV A,M 4075 INR A 4080 JNZ BDLP 4085 INX H 4090 MOV A,M 4095 INR A 4100 JNZ BDLP2 4105 LXI H,FOOD 4110 FDLP:MOV D,M 4115 INX H 4120 MOV E,M 4125 INX H 4130 MVI A,3 4135 CALL FPUT 4140 MOV C,E 4145 MVI A,224 4150 SUB E 4155 MOV E,A 4160 MVI A,3 4165 CALL FPUT 4170 MOV A,D 4175 SUI 4 4180 RRC 4185 RRC 4190 RRC 4195 ANI 1FH 4200 MOV D,A 4205 MOV A,C 4210 SUI 4 4215 RRC 4220 RRC 4225 RRC 4230 ANI 1FH 4235 MOV E,A 4240 PUSH H 4245 PUSH D 4250 CALL FON 4255 POP D 4260 MVI A,27 4265 SUB E 4270 MOV E,A 4275 CALL FON 4280 POP H 4285 MOV A,M 4290 INR A 4295 JNZ FDLP 4300 RET 4305 FPUT:DCR D 4310 CALL DOT 4315 DCR E 4320 CALL DOT 4325 INR D 4330 CALL DOT 4335 INR E 4340 JMP DOT 4345 DTOB:PUSH D 4350 MOV A,D 4355 SUB B 4360 CC NEGA 4365 MOV H,A 4370 MOV A,E 4375 SUB C 4380 CC NEGA 4385 MOV L,A 4390 MOV A,D 4395 CMP B 4400 MVI D,2 4405 JC DONEY 4410 MVI D,0 4415 DONEY:MOV A,E 4420 CMP C 4425 MVI E,1 4430 JC DONEX 4435 MVI E,3 4440 DONEX:MOV A,H 4445 CMP L 4450 JNC YBIG 4455 CALL SWAP2 4460 YBIG:SHLD DIFFS 4465 MOV A,H 4470 ORA A 4475 MOV A,D 4480 CZ SUBST 4485 MOV D,A 4490 MOV A,L 4495 ORA A 4500 MOV A,E 4505 CZ SUBST 4510 MOV E,A 4515 XCHG 4520 POP D 4525 MOV A,H 4530 RET 4535 SUBST:LDA DIR 4540 XRI 2 4545 RET 4550 SWAP2:MOV A,D 4555 MOV D,E 4560 MOV E,A 4565 MOV A,H 4570 MOV H,L 4575 MOV L,A 4580 RET 4585 JOYST:STA DIR 4590 PUSH H 4595 IN 25 4600 MOV E,A 4605 CALL ABS 4610 MOV L,A 4615 IN 26 4620 CMA 4625 INR A 4630 MOV D,A 4635 CALL ABS 4640 MOV H,A 4645 CPI JVAL 4650 MVI B,0FFH 4655 JC YSMAL 4660 MOV A,D 4665 ORA A 4670 MVI B,0 4675 JM YSMAL 4680 MVI B,2 4685 YSMAL:MOV A,L 4690 CPI JVAL 4695 MVI C,0FFH 4700 JC XSMAL 4705 MOV A,E 4710 ORA A 4715 MVI C,3 4720 JM XSMAL 4725 MVI C,1 4730 XSMAL:MOV A,H 4735 CMP L 4740 MOV A,C 4745 JC DOPOP 4750 MOV H,B 4755 MOV B,A 4760 MOV A,H 4765 DOPOP:POP H 4770 CPI 0FFH 4775 RNZ 4780 LDA DIR 4785 RET 4790 DOOFF:LDA NUM 4795 CPI 1 4800 MVI A,0 4805 RNZ 4810 MVI A,OFSET 4815 RET 4820 ABS:ORA A 4825 RP 4830 NEGA:CMA 4835 INR A 4840 RET 4845 CLEAR:PUSH B 4850 PUSH H 4855 LXI H,0 4860 MOV B,A 4865 LPY:MOV A,H 4870 OUT 34 4875 LPX:MOV A,L 4880 OUT 33 4885 MOV A,B 4890 OUT 32 4895 INR L 4900 JNZ LPX 4905 INR H 4910 JNZ LPY 4915 POP H 4920 POP B 4925 RET 4930 READ:CALL SET 4935 IN 32 4940 ANI 7 4945 RET 4950 DOT:PUSH PSW 4955 CALL SET 4960 POP PSW 4965 OUT 32 4970 RET 4975 SET:MOV A,D 4980 OUT 33 4985 MOV A,E 4990 ADI OFSET 4995 CMA 5000 OUT 34 5005 RET 5010 DFIG:PUSH PSW 5015 CALL FIGWT 5020 POP PSW 5025 CALL SET 5030 RET 5035 UFIG:PUSH PSW 5040 CALL FIGWT 5045 POP PSW 5050 CALL SET 5055 RET 5060 FIGWT:IN 33 5065 ANI 16 5070 JZ FIGWT 5075 RET 15080 IBORD:DB 255,255,128,6,0BDH,0F6H,0BDH,0F6H .5085 DB 0BDH,0F6H,128,0,0BDH,0BFH,0BDH,0BFH )5090 DB 129,86H,0FDH,0F6H,5,0F6H,5,80H +5095 DB 5,0B8H,0FDH,0A0H,0,20H,0FDH,0A0H (5100 DB 5,0BFH,5,80H,5,0BFH,0FDH,0BFH *5105 DB 80H,6,0BDH,0F6H,0BDH,0F6H,8CH,0 05110 DB 0EDH,0BFH,0EDH,0BFH,81H,86H,0BFH,0F6H (5115 DB 0BFH,0F6H,80H,0,0FFH,0FFH,0,0 75120 OBORD:DB 0,116,0,0,80,0,80,40,104,40,104,0,108,0 45125 DB 108,44,76,44,76,4,4,4,4,108,36,108,36,116 5130 DB 255 85135 DB 244,116,244,4,204,4,204,20,196,20,196,4,156,4 25140 DB 156,44,124,44,124,0,128,0,128,40,152,40 "5145 DB 152,0,248,0,248,116,255 ,5150 DB 20,20,20,44,36,44,36,20,20,20,255 ,5155 DB 20,60,20,92,36,92,36,60,20,60,255 ,5160 DB 52,20,52,44,60,44,60,20,52,20,255 55165 DB 52,60,52,68,76,68,76,92,84,92,84,68,108,68 5170 DB 108,60,52,60,255 65175 DB 52,116,52,84,60,84,60,108,84,108,84,116,255 15180 DB 124,60,124,68,156,68,156,60,124,60,255 85185 DB 148,116,148,84,156,84,156,108,180,108,180,116 5190 DB 255 45195 DB 172,20,172,44,204,44,204,36,180,36,180,20 5200 DB 172,20,255 15205 DB 172,60,172,92,180,92,180,60,172,60,255 -5210 DB 196,60,220,60,220,20,228,20,228,92 *5215 DB 220,92,220,68,196,68,196,60,255 05220 DB 196,116,196,84,204,84,204,108,228,108 5225 DB 228,116,255 75230 DB 128,116,128,88,104,88,104,104,100,104,100,84 5235 DB 132,84,132,116,255 5240 DB 255 25245 FOOD:DB 12,12,12,20,12,28,12,36,12,44,12,52 /5250 DB 12,60,12,68,12,76,12,84,12,92,12,100 05255 DB 20,12,20,52,20,100,28,12,28,52,28,100 55260 DB 36,12,36,52,36,100,44,12,44,20,44,28,44,36 45265 DB 44,44,44,52,44,60,44,68,44,76,44,84,44,92 5270 DB 44,100,44,108 .5275 DB 52,12,52,52,52,76,60,12,60,52,60,76 .5280 DB 68,12,68,20,68,28,68,36,68,44,68,52 05285 DB 68,76,68,84,68,92,68,100,76,52,76,100 25290 DB 84,52,84,100,92,52,100,52,108,52,116,52 -5295 DB 124,52,132,52,140,52,148,52,156,52 45300 DB 164,12,164,20,164,28,164,36,164,44,164,52 55305 DB 164,60,164,68,164,76,164,84,164,92,164,100 65310 DB 172,12,172,52,172,100,180,12,180,52,180,100 45315 DB 188,12,188,20,188,28,188,52,188,60,188,68 '5320 DB 188,76,188,84,188,92,188,100 45325 DB 196,28,196,52,196,76,204,28,204,52,204,76 45330 DB 212,12,212,20,212,28,212,36,212,44,212,52 '5335 DB 212,76,212,84,212,92,212,100 (5340 DB 220,12,220,100,228,12,228,100 45345 DB 236,12,236,20,236,28,236,36,236,44,236,52 55350 DB 236,60,236,68,236,76,236,84,236,92,236,100 5355 DB 236,108 5360 DB 188,13,28,13 5365 DB 188,11,28,11 5370 DB 255 #5375 RESTS:DB 0,108,84,14,11,16,0 5380 DB 0,108,108,14,13,12,0 5385 DB 0,108,124,14,15,8,0 5390 DB 3,84,104,11,14,8,0 #5395 TESTS:DB 0,116,84,14,11,16,0 5400 DB 0,116,108,14,13,12,0 5405 DB 0,116,124,14,15,8,0 5410 DB 3,92,104,11,14,8,0 5415 KMEM:DS MSIZE 5420 TEMP:DS MSIZE !5425 PTEST:DB 3,4,14,23,111,188 5430 PAC1:DS 6 5435 RND:PUSH B 5440 PUSH H 5445 LXI H,SH+3 5450 MVI B,8 5455 MOV A,M 5460 RTOP:RLC 5465 RLC 5470 RLC 5475 XRA M 5480 RAL 5485 RAL 5490 DCX H 5495 DCX H 5500 DCX H 5505 MOV A,M 5510 RAL 5515 MOV M,A 5520 INX H 5525 MOV A,M 5530 RAL 5535 MOV M,A 5540 INX H 5545 MOV A,M 5550 RAL 5555 MOV M,A 5560 INX H 5565 MOV A,M 5570 RAL 5575 MOV M,A 5580 DCR B 5585 JNZ RTOP 5590 POP H 5595 POP B 5600 RET 5605 SH:DB 55H 5610 DS 3 5615 SAVE:DS 2 5620 PSAVE:DS 2 5625 NPOS:DS 2 5630 DIR:DS 1 5635 DIFFS:DS 2 5640 FPOS:DS 2 5645 FFLAG:DS 1 5650 PNTR:DS 2 5655 EFLAG:DS 1 5660 ECNTR:DS 2 5665 ALT:DS 1 5670 FTAB:DS 128 5675 EXT:DS 1 5680 COUNT:DS 1 5685 NUM2:DS 1 5690 NUM:DS 1 5695 SCORE:DW 0,0,0,0 5700 HIGH:DW 0,0,0,0 5705 EVAL:DS 1 5710 CTAB:DB 0,0,0,0 5715 DB 1,255,0,0 5720 DB 2,0,255,0 5725 DB 3,255,255,0 5730 DB 4,0,0,255 5735 DB 5,255,0,255 5740 DB 6,0,255,255 5745 DB 7,255,255,255 5750 DB 0FFH 5755 SET2:LXI B,PNTS 5760 XRA A 5765 OUT 48 5770 LXI D,0 5775 LXI H,KILLR 5780 CALL SMAKE 5785 LXI H,EYES 5790 CALL MAKE 5795 LXI H,EYEUP 5800 CALL MAKE2 5805 MVI A,1 5810 OUT 41 5815 LXI H,KILLR 5820 CALL SMAKE 5825 LXI H,EYES 5830 CALL MAKE 5835 LXI H,EYERT 5840 CALL MAKE2 5845 MVI A,1 5850 OUT 41 5855 LXI H,KILLR 5860 CALL SMAKE 5865 LXI H,EYES 5870 CALL MAKE 5875 LXI H,EYEDN 5880 CALL MAKE2 5885 MVI A,1 5890 OUT 41 5895 LXI H,KILLR 5900 CALL SMAKE 5905 LXI H,EYES 5910 CALL MAKE 5915 LXI H,EYELF 5920 CALL MAKE2 5925 MVI A,1 5930 OUT 41 5935 LXI H,KILLR 5940 CALL SMAKE 5945 LXI H,EYES 5950 CALL MAKE 5955 MVI A,1 5960 OUT 41 5965 LXI H,MAN1 5970 CALL SMAKE 5975 MVI A,1 5980 OUT 41 5985 LXI H,MAN2 5990 CALL SMAKE 5995 MVI A,1 6000 OUT 41 6005 LXI H,MAN3 6010 CALL SMAKE 6015 MVI A,1 6020 OUT 41 6025 LXI H,MAN4 6030 CALL SMAKE 6035 MVI A,1 6040 OUT 41 6045 LXI H,FCLR 6050 CALL SMAKE 6055 MVI A,1 6060 OUT 41 6065 LXI H,COLOR 6070 MVI A,80H 6075 OUT 43 6080 MVI C,0 6085 COLP:MOV A,C 6090 OUT 42 6095 OUT 39 6100 OUT 33 6105 XRA A 6110 OUT 40 6115 OUT 34 6120 MVI A,3 6125 OUT 41 6130 MOV A,M 6135 OUT 32 6140 INX H 6145 INR C 6150 MOV A,M 6155 INR A 6160 JNZ COLP 6165 XRA A 6170 OUT 41 6175 OUT 33 6180 OUT 34 6185 OUT 42 6190 OUT 44 6195 OUT 45 6200 OUT 46 6205 CALL FIGWT 6210 LXI D,8000H 6215 LXI H,0 6220 BLK:MOV A,E 6225 OUT 42 6230 MOV A,D 6235 OUT 43 6240 INX D 6245 MOV A,H 6250 SUI 8 6255 OUT 39 6260 MOV A,L 6265 SUI 8 6270 OUT 40 6275 MVI A,3 6280 OUT 41 6285 INR L 6290 MOV A,L 6295 CPI 16 6300 JC BLK 6305 MVI L,0 6310 INR H 6315 MOV A,H 6320 CPI 16 6325 JC BLK 6330 MVI A,1 6335 OUT 41 6340 RET 6345 SMAKE:MOV A,E 6350 STAX B 6355 INX B 6360 MOV A,D 6365 STAX B 6370 INX B 6375 MAKE:MOV A,E 6380 OUT 42 6385 MOV A,D 6390 OUT 43 6395 INX D 6400 MOV A,M 6405 SUI 8 6410 OUT 39 6415 PUSH PSW 6420 INX H 6425 MOV A,M 6430 SUI 7 6435 OUT 40 6440 MVI A,2 6445 OUT 41 6450 MOV A,E 6455 OUT 42 6460 MOV A,D 6465 OUT 43 6470 INX D 6475 POP PSW 6480 OUT 39 6485 MVI A,7 6490 SUB M 6495 INX H 6500 OUT 40 6505 MVI A,2 6510 OUT 41 6515 MOV A,M 6520 CPI 80H 6525 JNZ MAKE 6530 MVI A,3 6535 OUT 41 6540 RET 6545 MAKE2:MOV A,E 6550 OUT 42 6555 MOV A,D 6560 OUT 43 6565 INX D 6570 MOV A,M 6575 SUI 10 6580 OUT 39 6585 INX H 6590 MOV A,M 6595 SUI 7 6600 OUT 40 6605 INX H 6610 MVI A,2 6615 OUT 41 6620 MOV A,M 6625 CPI 80H 6630 JNZ MAKE2 6635 RET 36640 KILLR:DB 0,5,0,6,0,7,1,3,1,4,1,6,1,7,2,3,2,7 26645 DB 3,2,3,3,3,7,4,2,4,7,5,2,5,7,6,1,6,2,6,7 .6650 DB 7,1,7,2,7,3,7,7,8,1,8,2,8,3,8,4,8,7 &6655 DB 9,1,9,2,9,3,9,4,9,5,9,6,9,7 -6660 DB 10,1,10,2,10,3,10,4,10,5,10,6,10,7 <6665 DB 11,1,11,2,11,4,11,5,11,6,12,1,12,2,12,4,12,5,12,6 #6670 DB 13,1,13,2,13,5,14,1,14,5 6675 DB 80H :6680 EYES:DB 1,5,2,4,2,5,2,6,3,4,3,5,3,6,4,3,4,4,4,5,4,6 66685 DB 5,3,5,4,5,5,5,6,6,3,6,4,6,5,6,6,7,4,7,5,7,6 6690 DB 8,5,8,6 6695 DB 80H :6700 MAN1:DB 1,6,1,7,2,4,2,5,2,6,2,7,3,3,3,4,3,5,3,6,3,7 :6705 DB 4,2,4,3,4,4,4,5,4,6,4,7,5,2,5,3,5,4,5,5,5,6,5,7 B6710 DB 6,1,6,2,6,3,6,4,6,5,6,6,6,7,7,1,7,2,7,3,7,4,7,5,7,6,7,7 B6715 DB 8,1,8,2,8,3,8,4,8,5,8,6,8,7,9,1,9,2,9,3,9,4,9,5,9,6,9,7 A6720 DB 10,2,10,3,10,4,10,5,10,6,10,7,11,2,11,3,11,4,11,5,11,6 <6725 DB 11,7,12,3,12,4,12,5,12,6,12,7,13,4,13,5,13,6,13,7 6730 DB 14,6,14,7 6735 DB 80H 66740 MAN2:DB 2,4,2,5,3,3,3,4,3,5,4,2,4,3,4,4,4,5,4,6 66745 DB 5,2,5,3,5,4,5,5,5,6,6,1,6,2,6,3,6,4,6,5,6,6 :6750 DB 7,1,7,2,7,3,7,4,7,5,7,6,8,1,8,2,8,3,8,4,8,5,8,6 66755 DB 9,1,9,2,9,3,9,4,9,5,9,6,10,2,10,3,10,4,10,5 -6760 DB 10,6,10,7,11,3,11,4,11,5,11,6,11,7 (6765 DB 12,4,12,5,12,6,12,7,13,6,13,7 6770 DB 80H .6775 MAN3:DB 2,4,3,3,3,4,3,5,4,2,4,3,4,4,4,5 .6780 DB 5,2,5,3,5,4,5,5,6,1,6,2,6,3,6,4,6,5 66785 DB 7,1,7,2,7,3,7,4,7,5,8,1,8,2,8,3,8,4,8,5,8,6 @6790 DB 9,1,9,2,9,3,9,4,9,5,9,6,10,2,10,3,10,4,10,5,10,6,10,7 <6795 DB 11,2,11,3,11,4,11,5,11,6,11,7,12,3,12,4,12,5,12,6 -6800 DB 12,7,13,4,13,5,13,6,13,7,14,6,14,7 6805 DB 80H >6810 MAN4:DB 3,3,4,2,4,3,4,4,5,2,5,3,5,4,6,1,6,2,6,3,6,4,6,5 66815 DB 7,1,7,2,7,3,7,4,7,5,8,1,8,2,8,3,8,4,8,5,8,6 @6820 DB 9,1,9,2,9,3,9,4,9,5,9,6,10,2,10,3,10,4,10,5,10,6,10,7 (6825 DB 11,2,11,3,11,4,11,5,11,6,11,7 76830 DB 12,3,12,4,12,5,12,6,12,7,13,4,13,5,13,6,13,7 6835 DB 14,6,14,7 6840 DB 80H 36845 EYEUP:DB 2,5,2,6,3,5,3,6,2,8,2,9,3,8,3,9,80H 36850 EYEDN:DB 7,5,7,6,8,5,8,6,7,8,7,9,8,8,8,9,80H 36855 EYELF:DB 5,3,5,4,6,3,6,4,5,8,5,9,6,8,6,9,80H 76860 EYERT:DB 5,5,5,6,6,5,6,6,5,10,5,11,6,10,6,11,80H '6865 COLOR:DB 1,7,0,2,7,0,5,7,0,6,7,0 6870 DB 4,7,3,3,3,3 6875 DB 0 6880 DB 0FFH *6885 FCLR:DB 7,5,7,6,7,7,8,5,8,6,8,7,80H 6890 POINT:EQU $ 6895 PNTS:DS 50 6895 0010 XRA A 0020 OUT 42 0030 OUT 45 0040 OUT 44 0042 MVI A,31 0043 OUT 45 0050 MVI A,80H 0060 OUT 43 0070 OUT 33 0080 OUT 34 0090 OUT 46 0100 CALL WAIT 0101 XRA A 0102 OUT 42 0103 OUT 44 0104 OUT 45 0105 MVI A,31 0106 OUTjƒ4´ccFq“jÓÓFƒQÕ¸?eã ²”&x IšL TV>±Ñ‚!" ˆ$–Tœ´££p€¬R74ÑјZ«$‰X¸2mVƒl˜ò€b"–q‹‡â¤–n%q ª!M`` ‰š„{RlbhTÀL»b.K& ëbJ ¦ê¬i 8 1­lh„’ˆmH )dX7«¦D†f‚X «‰eÅš$JF6˜©}´nÄ3cfšGzc)lb1 dhÁ¨’L|cÚ ‚ûˆhCYbÑ…)#&£˜Í«IE †,#.ж@ ‘D¶˜Z‘@b@˜QÅgjuhªQ¡¬æ@i ˜b´C`ŠˆÉ4±’JҔЩé”X,c&F˜äÞ”ÅušWÍ(t )yk Ô`0¥¦®˜)ÐÌÆ°q8hȬHJPD¿0Ï$&P*µLFQ†`&±(X@µ41œv Á K‰ˆ–ƒp¤eƒÁåQÈ("ÈaPéB%`hU4@±E @aÈgE.aû”…vf¬âP0¶fÓÌŠj¦ –kÇS;Êt‰ÀH˜&1ˆ VÅ…ÅjÀ(rE !i”—2¼rá…fÒÀˆ†À¹«Q¬[ÌÈŒ H¦ÈR –E…ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‹ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÛÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿëÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿêÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ½ÿÿÿÿÿÿÿÿÿÿÿÿÿ 0005 XRA A 0006 OUT 48 0010 SETUP:LXI B,POINTS 0020 LXI D,0 0030 LXI H,KILLR 0040 CALL SMAKE 0050 LXI H,EYES 0060 CALL MAKE 0070 LXI H,EYEUP 0080 CALL MAKE2 0090 MVI A,1 0100 OUT 41 0110 LXI H,KILLR 0120 CALL SMAKE 0130 LXI H,EYES 0140 CALL MAKE 0150 LXI H,EYEDN 0160 CALL MAKE2 0170 MVI A,1 0180 OUT 41 0190 LXI H,KILLR 0200 CALL SMAKE 0210 LXI H,EYES 0220 CALL MAKE 0230 LXI H,EYELF 0240 CALL MAKE2 0250 MVI A,1 0260 OUT 41 0270 LXI H,KILLR 0280 CALL SMAKE 0290 LXI H,EYES 0300 CALL MAKE 0310 LXI H,EYERT 0320 CALL MAKE2 0330 MVI A,1 0340 OUT 41 0350 LXI H,KILLR 0360 CALL SMAKE 0370 LXI H,EYES 0380 CALL MAKE 0390 MVI A,1 0400 OUT 41 0410 LXI H,MAN1 0420 CALL SMAKE 0430 MVI A,1 0440 OUT 41 0450 LXI H,MAN2 0460 CALL SMAKE 0470 MVI A,1 0480 OUT 41 0490 LXI H,MAN3 0500 CALL SMAKE 0510 MVI A,1 0520 OUT 41 0530 LXI H,MAN4 0540 CALL SMAKE 0550 MVI A,1 0560 OUT 41 0570 LXI H,COLOR 0580 MVI A,80H 0590 OUT 43 0600 MVI C,0 0610 COLP:MOV A,C 0620 OUT 42 0630 OUT 39 0640 OUT 33 0650 XRA A 0660 OUT 40 0670 OUT 34 0680 MVI A,3 0690 OUT 41 0700 MOV A,M 0710 OUT 32 0720 INX H 0730 INR C 0740 MOV A,M 0750 INR A 0760 JNZ COLP 0770 XRA A 0780 OUT 41 0790 OUT 33 0800 OUT 34 0810 OUT 42 0820 OUT 44 0830 OUT 45 0840 OUT 46 0850 CALL WAIT 0860 MVI A,0E0H 0870 OUT 33 0880 LXI H,4009H 0890 XRA A 0900 OUT 42 0910 OUT 43 0920 OUT 44 0930 OUT 45 0940 PLP:MOV A,H 0950 OUT 34 0960 OUT 47 0970 CALL WAIT 0980 MOV A,H 0990 ADI 16 1000 MOV H,A 1010 DCR L 1020 JNZ PLP 1030 RET 1040 WAIT:IN 33 1050 ANI 16 1060 JZ WAIT 1070 RET 1080 SMAKE:MOV A,E 1090 STAX B 1100 INX B 1110 MOV A,D 1120 STAX B 1130 INX B 1140 MAKE:MOV A,E 1150 OUT 42 1160 MOV A,D 1170 OUT 43 1180 INX D 1190 MOV A,M 1200 SUI 10 1210 OUT 39 1220 PUSH PSW 1230 INX H 1240 MOV A,M 1250 SUI 7 1260 OUT 40 1270 MVI A,2 1280 OUT 41 1290 MOV A,E 1300 OUT 42 1310 MOV A,D 1320 OUT 43 1330 INX D 1340 POP PSW 1350 OUT 39 1360 MVI A,7 1370 SUB M 1380 INX H 1390 OUT 40 1400 MVI A,2 1410 OUT 41 1420 MOV A,M 1430 CPI 80H 1440 JNZ MAKE 1450 MVI A,3 1460 OUT 41 1470 RET 1480 MAKE2:MOV A,E 1490 OUT 42 1500 MOV A,D 1510 OUT 43 1520 INX D 1530 MOV A,M 1540 SUI 10 1550 OUT 39 1560 INX H 1570 MOV A,M 1580 SUI 7 1590 OUT 40 1600 INX H 1610 MVI A,2 1620 OUT 41 1630 MOV A,M 1640 CPI 80H 1650 JNZ MAKE2 1660 RET 31670 KILLR:DB 0,5,0,6,0,7,1,3,1,4,1,6,1,7,2,3,2,7 21680 DB 3,2,3,3,3,7,4,2,4,7,5,2,5,7,6,1,6,2,6,7 .1690 DB 7,1,7,2,7,3,7,7,8,1,8,2,8,3,8,4,8,7 &1700 DB 9,1,9,2,9,3,9,4,9,5,9,6,9,7 -1710 DB 10,1,10,2,10,3,10,4,10,5,10,6,10,7 <1720 DB 11,1,11,2,11,4,11,5,11,6,12,1,12,2,12,4,12,5,12,6 #1730 DB 13,1,13,2,13,5,14,1,14,5 1740 DB 80H :1750 EYES:DB 1,5,2,4,2,5,2,6,3,4,3,5,3,6,4,3,4,4,4,5,4,6 61760 DB 5,3,5,4,5,5,5,6,6,3,6,4,6,5,6,6,7,4,7,5,7,6 1770 DB 8,5,8,6 1780 DB 80H :1790 MAN1:DB 1,6,1,7,2,4,2,5,2,6,2,7,3,3,3,4,3,5,3,6,3,7 :1800 DB 4,2,4,3,4,4,4,5,4,6,4,7,5,2,5,3,5,4,5,5,5,6,5,7 B1810 DB 6,1,6,2,6,3,6,4,6,5,6,6,6,7,7,1,7,2,7,3,7,4,7,5,7,6,7,7 B1820 DB 8,1,8,2,8,3,8,4,8,5,8,6,8,7,9,1,9,2,9,3,9,4,9,5,9,6,9,7 A1830 DB 10,2,10,3,10,4,10,5,10,6,10,7,11,2,11,3,11,4,11,5,11,6 <1840 DB 11,7,12,3,12,4,12,5,12,6,12,7,13,4,13,5,13,6,13,7 1850 DB 14,6,14,7 1860 DB 80H 61870 MAN2:DB 2,4,2,5,3,3,3,4,3,5,4,2,4,3,4,4,4,5,4,6 61880 DB 5,2,5,3,5,4,5,5,5,6,6,1,6,2,6,3,6,4,6,5,6,6 :1890 DB 7,1,7,2,7,3,7,4,7,5,7,6,8,1,8,2,8,3,8,4,8,5,8,6 61900 DB 9,1,9,2,9,3,9,4,9,5,9,6,10,2,10,3,10,4,10,5 -1910 DB 10,6,10,7,11,3,11,4,11,5,11,6,11,7 (1920 DB 12,4,12,5,12,6,12,7,13,6,13,7 1930 DB 80H .1940 MAN3:DB 2,4,3,3,3,4,3,5,4,2,4,3,4,4,4,5 .1950 DB 5,2,5,3,5,4,5,5,6,1,6,2,6,3,6,4,6,5 61960 DB 7,1,7,2,7,3,7,4,7,5,8,1,8,2,8,3,8,4,8,5,8,6 @1970 DB 9,1,9,2,9,3,9,4,9,5,9,6,10,2,10,3,10,4,10,5,10,6,10,7 <1980 DB 11,2,11,3,11,4,11,5,11,6,11,7,12,3,12,4,12,5,12,6 -1990 DB 12,7,13,4,13,5,13,6,13,7,14,6,14,7 2000 DB 80H >2010 MAN4:DB 3,3,4,2,4,3,4,4,5,2,5,3,5,4,6,1,6,2,6,3,6,4,6,5 62020 DB 7,1,7,2,7,3,7,4,7,5,8,1,8,2,8,3,8,4,8,5,8,6 @2030 DB 9,1,9,2,9,3,9,4,9,5,9,6,10,2,10,3,10,4,10,5,10,6,10,7 (2040 DB 11,2,11,3,11,4,11,5,11,6,11,7 72050 DB 12,3,12,4,12,5,12,6,12,7,13,4,13,5,13,6,13,7 2060 DB 14,6,14,7 2070 DB 80H 32080 EYEUP:DB 2,5,2,6,3,5,3,6,2,8,2,9,3,8,3,9,80H 32090 EYEDN:DB 7,5,7,6,8,5,8,6,7,8,7,9,8,8,8,9,80H 32100 EYELF:DB 5,3,5,4,6,3,6,4,5,8,5,9,6,8,6,9,80H 72110 EYERT:DB 5,5,5,6,6,5,6,6,5,10,5,11,6,10,6,11,80H '2120 COLOR:DB 1,7,0,2,7,0,5,7,0,6,7,0 2130 DB 4,7,3,3,3,3 2140 DB 0FFH 2150 POINT:EQU $ 2150 CALL SET 6500 OUT 7 6505 RET 6510 UFIG:PUSH PSW 6515 CALL FIGWT 6520 POP PSW 6525 OUT 8 6530 CALL SET 6535 OUT 6 6540 RET 6545 FIGWT:IN 1 6550 ANI 2 6555 RET 16560 IBORD:DB 255,255,128,6,0BDH,0F6H,0BDH,0F6H .6565 DB 0BDH,0F6H,128,0,