10 MODE0 20 VDU28,0,21,79,2 30 *FX21 40 *FX229,1 80 ?&7B=0:REM Show code flag 90 PROCassemble:CALLZ% 100 VDU23,1,0;0;0;0; 110 CALLS% 120 CLS 130 F%=OPENIN"help72" 140 FORI%=1TO320:VDUBGET#F%:NEXT 150 CLOSE#F% 160 D%=0:E%=1:REM Datac Epson 170 PRINT' 180 PRINT 190 PRINTTAB(4)"H to load help screen" 200 PRINT 210 PRINTTAB(4)"Any other key for a new page." 220 Q%=GET 230 *FX229,0 240 CALLR% 250 IFQ%=27:CHAIN"TelMenu" 260 IFQ%=ASC"D"ORQ%=ASC"d":D%=1:E%=0:REM Datac Epson 270 IFQ%=ASC"H"ORQ%=ASC"h":OSCLI("LOAD Help72 "+STR$~(buffer%)) 280 CHAIN"Editor" 290 END 300 : 310 DEFPROCassemble 312 buffer%=&6700 314 code%=&7E00 316 start%=&70 320 source%=&74 322 dest%=&76 330 FORI%=0TO2STEP2 340 P%=code% 350 [OPTI% 360 .C% 370 LDA#30:JSR&FFEE 390 LDAstart%:STAsource% 400 LDAstart%+1:STAsource%+1 402 LDX#19:STXline% 404 .loop1 409 LDX#80:STXcol% 410 .loop2 420 LDY#0:LDA(source%),Y:JSR&FFEE 470 INCsource%:BNEnc2:INCsource%+1 480 .nc2 482 DECcol%:BNEloop2 484 DECline%:BNEloop1 530 RTS 540 .R% 550 LDA&7D:STA&020E 560 LDA&7E:STA&020F 630 RTS 640 .S% 650 LDA#&20:STA&7C 660 LDA&020E:STA&7D 670 LDA&020F:STA&7E 680 LDA#&60:STA&7F 710 LDA#T%MOD256:STA&020E 720 LDA#T%DIV256:STA&020F 730 RTS 740 .T% 742 LDX&318:BNEnt0 744 STXsep%:STXgraph% 745 .nt0 750 CMP#&81:BCS tb1:JMP(&007D) 760 .tb1 770 CMP#&88:BCStb2 780 LDA#0:STAgraph% 790 LDA#65:JMPeor 800 .tb2 810 CMP#&8D:BNEtb3 812 LDA#68:JMPeor 820 .tb3 830 CMP#&98:BCStb5 840 CMP#&91:BCCspace 850 .tb4 860 LDA#1:STAgraph% 870 LDA#71:JMPeor 880 .tb5 890 CMP#&99:BNEtb6 900 LDA#0:STAsep% 910 LDA#67:JMPeor 920 .tb6 930 CMP#&9A:BNEtb7 940 LDA#1:STAsep% 950 LDA#83:JMPeor 960 .tb7 970 CMP#&A0:BCCspace 980 .tb8 990 CMP#&C0:BCCgraphic 1000 CMP#&E0:BCSgraphic 1002 .space 1004 LDA#&20:JMP(&007D) 1010 .graphic 1012 LDXgraph%:BNEgdo:JMP(&007D) 1014 .gdo 1020 STAtemp% 1030 LDX#0 1040 LDA#1:BITtemp%:BEQtp10:LDX#&F0 1050 .tp10 1060 LDA#2:BITtemp%:BEQtp11 1070 TXA:ORA#&0F:TAX 1080 .tp11 1090 STXgstore%+1:STXgstore%+2 1100 LDX#0 1110 LDA#4:BITtemp%:BEQtp12:LDX#&F0 1120 .tp12 1130 LDA#8:BITtemp%:BEQtp13 1140 TXA:ORA#&0F:TAX 1150 .tp13 1160 STXgstore%+3:STXgstore%+4:STXgstore%+5 1170 LDX#0 1180 LDA#16:BITtemp%:BEQtp14:LDX#&F0 1190 .tp14 1200 LDA#64:BITtemp%:BEQtp15 1210 TXA:ORA#&0F:TAX 1220 .tp15 1230 STXgstore%+6:STXgstore%+7:STXgstore%+8 1232 JMPseptest 1240 .eor 1250 LDX&7B:BEQspace \ show codes flag 1260 .edo 1262 STAgstore% 1264 LDX#gstore%MOD256:LDY#gstore%DIV256 1270 LDA#10:JSR&FFF1 1280 LDA#23:JSR&007C 1290 LDA#128:JSR&007C 1300 LDX#1 1310 .eloop 1320 LDAgstore%,X:EOR#&FF:JSR&007C 1330 INX:CPX#9:BNEeloop:BEQemit 1360 .septest 1370 LDA#23:JSR&007C 1380 LDA#128:JSR&007C 1390 LDAgstore%+1:JSRseptest0 1400 LDAgstore%+2:JSRseptestN 1410 LDAgstore%+3:JSRseptest0 1420 LDAgstore%+4:JSRseptestN 1430 LDAgstore%+5:JSRseptestN 1440 LDAgstore%+6:JSRseptest0 1450 LDAgstore%+7:JSRseptestN 1460 LDAgstore%+8:JSRseptestN 1462 .emit 1470 LDA#128 1480 JMP(&007D) 1490 .septest0 1500 LDXsep%:BEQst2:LDA#0:BEQst2 1530 .septestN 1540 LDXsep%:BEQst2:AND#&66 1550 .st2 1560 JSR&007C:RTS 1570 .Z% 1580 LDA#buffer%MOD256:STAdest% 1590 LDA#buffer%DIV256:STAdest%+1 1600 LDA#32:LDY#0 1610 .zaploop 1620 STA(dest%),Y 1630 INCdest%:BNEnc5:INCdest%+1 1640 .nc5 1650 LDXdest%+1:CPX#code%DIV256:BNEzaploop 1660 LDXdest%:CPX#code%MOD256:BNEzaploop 1670 RTS 1680 .gstore% 1682 EQUB0 1684 EQUD0 1686 EQUD0 1687 .temp% 1688 EQUB0 1700 .sep% 1710 EQUB0 1720 .graph% 1730 EQUB0 1740 .line% 1750 EQUB0 1752 .col% 1754 EQUB0 1760 ]NEXT 1770 ENDPROC