100 POKE56,30:CLR 105 DIMA,B,C,X,Y,Z,L,K,S,H,X$,PC,PX,PY 110 O=6:DIMO$(O),O(O),H(O),L(O),RV$(1),B(9),C(9),Z%(8,3),S$(8),M1,M2,M3,M4,L1,L2 130 O$(0)="X SCALE " 140 O$(1)="Y SCALE " 150 O$(2)="TOP MARGIN" 160 O$(3)="LEFT MARGIN" 170 O$(4)="DEVICE 4-7" 175 O$(5)="DENSITY 0-9" 178 O$(6)="SIDEWAYS(1)" 180 FORA=.TO6:READO(A),L(A),H(A):NEXT 190 FORA=.TO9:READB(A):NEXT 200 FORA=.TO9:READC(A):NEXT 230 FORA=.TO8 240 FORB=.TO3:READZ%(A,B):NEXT 270 READS$(A):NEXT 290 RV$(0)="[146]":RV$(1)="" 300 BG=PEEK(700):FG=PEEK(701):PX=211:PY=214:PC=58732:KY=197:SK=653 330 X=FRE(0) 340 C=PEEK(45)+(PEEK(46)-2)*256 350 B=PEEK(49)+PEEK(50)*256+15 360 L1=B:L2=B+1215 390 A=256 395 POKE252,L1/A:POKE251,L1-PEEK(252)*A:POKE254,L2/A:POKE253,L2-PEEK(254)*A 410 POKE780,.:SYS50309 420 PRINT"[147]";:POKE53280,FG:POKE53281,FG:POKE646,BG:PRINT"";:A=10:X=17 430 PRINTSPC(A)" [176][195][201][176][195][201][213][192][201][213][192][201][213][201][213]" 431 PRINTSPC(A)" [171][192] [171][192][203][202][192][201][221] [221][221][221][194]" 432 PRINTSPC(A)" [173][195][189][177] [173][192][203][202][192][203][189][202][203]" 433 PRINTSPC(A)" PRINT PROGRAM" 440 PRINTSPC(A)"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]" 450 PRINTSPC(A)"[221](1).........PRINT[221]" 460 PRINTSPC(A)"[221](2).......OPTIONS[171][192][174]" 470 PRINTSPC(A)"[221](_)..........EXIT[221] [221]" 480 PRINTSPC(A)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189] [221]" 510 PRINT"[176][195][195][195][195][195][195][195][174] [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174] [221]" 520 PRINT"[194]0....60[194] [221]"SPC(X)"[221] [221]" 540 PRINT"[194]1...120[194] [221]"SPC(X)"[221] [221]" 560 PRINT"[194]2..'120[194] [221]"SPC(X)"[221]_[189]" 580 PRINT"[194]3...240[194] [221]"SPC(X)"[221]" 600 PRINT"[194]4....80[194] [221]"SPC(X)"[221]" 605 PRINT"[194]5....72[194]_[179]"SPC(X)"[221]" 607 PRINT"[194]6....90[194] [221]"SPC(X)"[221]" 610 PRINT"[171][192][192][192][192][192][192][192][179] [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]" 611 PRINT"[194]7....60[194] ^" 612 PRINT"[194]8...120[194] [176][192][192][192][192][192][192][192][177][192][192][192][192][192][192][192][174]" 613 PRINT"[194]9...240[194] [221]UP/DN TO SELECT[221]" 614 PRINT"[173][195][195][195][195][195][195][195][189] [221]LF/RT TO CHANGE[221]" 615 PRINT" [221]+...+10 -...-10[221]" 616 PRINT" [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"; 620 GOSUB850 630 POKE198,.:WAIT198,1:GETX$:A=FRE(0) 640 IFX$="2"THENGOSUB870 650 IFX$="_"THEN810 660 IFX$<>"1"THEN630 665 POKE691,O(5)*13 670 FORA=0TO3:POKE692+A,Z%(O(0),A):NEXT 680 FORA=0TO3:POKE696+A,Z%(O(1),A):NEXT 690 PRINT"[147]";:OPEN15,O(4),15:CLOSE15:IFST=.THEN710 700 PRINTSPC(9)"PRINTER IS NOT PRESENT":FORA=.TO2500:NEXT:GOTO390 710 PRINTSPC(15)"PRINTING...":PRINT:PRINTSPC(7)"HOLD DOWN ANY KEY TO CANCEL" 715 M1=PEEK(3):M2=PEEK(4):M3=PEEK(5):M4=PEEK(6) 720 OPEN1,O(4),5 735 H=INT(O(2)/8):L=O(2)-H*8 745 IFHTHENFORA=.TOH:PRINT#1,CHR$(27)CHR$(51)CHR$(24)CHR$(10);:NEXT 755 POKE2,O(3):A=B(O(5)):POKE4,A/256:POKE3,A-PEEK(4)*256:A=O(5)<7:POKE5,4-A 760 POKE681,27:POKE682,42:POKE682-A,C(O(5)):POKE683-A,PEEK(3):POKE684-A,PEEK(4) 765 POKE6,4:POKE687,27:POKE688,51:POKE689,24:POKE690,10:SYSC+256*O(6),B,255-2^L 790 CLOSE1:POKE3,M1:POKE4,M2:POKE5,M3:POKE6,M4:GOTO390 810 POKE646,FG:PRINT"[147]S[217]53235:G[207]147"; 820 POKE198,1:POKE631,13:END 850 Z=.:FORY=.TOO:X=O(Y):GOSUB1010:NEXT 860 RETURN 870 Y=.:H=H(Y):L=L(Y):X=O(Y):Z=1 880 FORA=-1TO. 890 K=PEEK(KY):S=PEEK(SK) 895 IFK=43THENX=X+(X-9>L)*10 896 IFK=40THENX=X-(X+92THEN930 910 IFS=1THENX=X+(X>L) 920 IFS=.THENX=X-(X7THEN980 940 GOSUB1000 950 IFS=.THENY=Y-(Y.) 970 Z=1:H=H(Y):L=L(Y):X=O(Y) 980 GOSUB1010 990 A=K<>1:NEXT 1000 O(Y)=X:Z=. 1010 POKEPY,11+Y:POKEPX,11:SYSPC 1020 PRINTRV$(Z)O$(Y)"[146] "; 1030 IFY>1THENPRINTSPC(2+(X>9)+(X>99))X:RETURN 1040 PRINTS$(X):FORA=.TO25:NEXT:RETURN 1041 DATA0,0,8 1042 DATA0,0,8 1043 DATA0,0,500 1044 DATA0,0,255 1045 DATA4,4,7 1046 DATA7,0,9 1047 DATA0,0,1 1048 DATA480,960,960,1215,640,576,720,480,960,1215,0,1,2,3,4,5,6,75,76,90 1050 DATA0,0,0,0,"1.00",0,0,0,1,"1.25",0,1,0,1,"1.50",1,1,1,0,"1.75" 1080 DATA1,1,1,1,"2.00",1,1,1,2,"2.25",1,2,1,2,"2.50",2,2,2,1,"2.75" 1110 DATA2,2,2,2,"3.00" 1120 REM MACHINE CODE HERE