福岡だいの動画と、同人誌の販売

同人誌 動画 プログラム 情報処理 アート グラフィックス 有償 2018年創業

日記 PsetEditor 完全普及 N88Basic 下

2023-01-09 18:02:55 | 日記
幻聴で思ったSu事その4
2023.01.24(Tue)
福岡大

3510 *PREDISPLAYPASS
3520 GOTO *ROOTGO
3530 FOR R=1 TO 8:FOR T=1 TO 64:FOR I=1 TO 64:PRINT DM2(I,T,R);:NEXT:NEXT:PRINT:BEEP:BEEP:BEEP:NEXT
3540 FOR R=1 TO 8:FOR T=1 TO 64:FOR I=1 TO 64:PRINT CP(I,T,R);:NEXT:NEXT:PRINT:BEEP:BEEP:BEEP:NEXT:END
3550 *ROOTGO
3560 GOTO *RUNNINGPROGRAM
3570 ::
3580 *DITHERFILTERLING
3590 FOR T=1 TO 64:FOR I=1 TO 64:
3600 IF DARKSOLID(I,T)<>0 THEN CP(I,T,1)=CP
3610 IF DARKSOLID(I,T) =0 THEN CP(I,T,1)=BC
3620 NEXT I:NEXT T
3630 FOR T=1 TO 64:FOR I=1 TO 64:
3640 IF HEVYPALE(I,T)<>0 THEN CP(I,T,2)=CP
3650 IF HEVYPALE(I,T) =0 THEN CP(I,T,2)=BC
3660 NEXT I:NEXT T:
3670 FOR T=1 TO 64:FOR I=1 TO 64:
3680 IF HEVYHARF(I,T)<>0 THEN CP(I,T,3)=CP
3690 IF HEVYHARF(I,T) =0 THEN CP(I,T,3)=BC
3700 NEXT I:NEXT T:
3710 FOR T=1 TO 64:FOR I=1 TO 64:
3720 IF HARF(I,T)<>0 THEN CP(I,T,4)=CP
3730 IF HARF(I,T) =0 THEN CP(I,T,4)=BC
3740 NEXT I:NEXT T
3750 FOR T=1 TO 64:FOR I=1 TO 64:
3760 IF LIGHT(I,T)<>0 THEN CP(I,T,5)=CP
3770 IF LIGHT(I,T) =0 THEN CP(I,T,5)=BC
3780 NEXT I:NEXT T
3790 FOR T=1 TO 64:FOR I=1 TO 64:
3800 IF LIGHTPALE(I,T)<>0 THEN CP(I,T,6)=CP
3810 IF LIGHTPALE(I,T) =0 THEN CP(I,T,6)=BC
3820 NEXT I:NEXT T
3830 FOR T=1 TO 64:FOR I=1 TO 64:
3840 IF LIGHTSOLID(I,T)<>0 THEN CP(I,T,7)=CP
3850 IF LIGHTSOLID(I,T) =0 THEN CP(I,T,7)=BC
3860 NEXT I:NEXT T
3870 FOR T=1 TO 64:FOR I=1 TO 64:
3880 IF CHECKBOX(I,T)<>0 THEN CP(I,T,8)=CP
3890 IF CHECKBOX(I,T) =0 THEN CP(I,T,8)=BC
3900 NEXT I:NEXT T
3910 RETURN
3920 *SEQUENTIAL
3930 YY$=LEFT$(DATE$,2):MM$=RIGHT$(DATE$,5):MM$=LEFT$(MM$,2):DD$=RIGHT$(DATE$,2)
3940 REM ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
3950 OPEN "MYPIC"+YY$+MM$+DD$+".ASC" FOR OUTPUT AS #1
3960 FOR DLAY=0 TO 7:
3970 FOR T=1 TO 64:FOR I=1 TO 64
3980 LAYER$(I,T,DLAY)=HEX$(LAYER(I,T,DLAY)):REM PRINT LAYER$(I,T,Dlay);LAYER(I,T,lay);
3990 NEXT:PRINT:NEXT::
4000 FOR T=1 TO 64:FOR I=1 TO 64:LAYER$=LAYER$+LAYER$(I,T,DLAY):NEXT:DATAFLOOR$(T,DLAY)=LAYER$:LAYER$="":NEXT
4010 REM FOR I=1 TO 64:PRINT DATAFLOOR$(I,DLAY):NEXT
4020 NEXT
4030 FOR DLAY=0 TO 5:T=65:FOR I=1 TO 64:T=T-1:
4040 WRITE #1,DATAFLOOR$(I,DLAY),HEX$(T)+CHR$(44):NEXT:NEXT:CLOSE #1
4050 OPEN "LOGPIC.ASC" FOR OUTPUT AS #2
4060 FOR DLAY=0 TO 5:T=65:FOR I=1 TO 64:T=T-1:
4070 WRITE #2,DATAFLOOR$(I,DLAY),HEX$(T)+CHR$(44):NEXT:NEXT:WRITE #2,YY$+MM$+DD$+" DAYS END OF FILE"," ":CLOSE #2
4080 LOCATE 61,21:PRINT":MYPIC"+YY$+MM$+DD$+".ASC":LOCATE 61,22:PRINT"STATUS"
4090 LOCATE 61,23:PRINT"MATRIX X:64 Y:64":LOCATE 61,24:PRINT"/ LINE"
4100 COLOR@(0,0)-(79,24),0 :::
4110 CLS:GOSUB *REFRESHTXT:GOTO *FIELDCNT
4120 REM ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
4130 *SEQUENTIALLOAD
4140 YY$=LEFT$(DATE$,2):MM$=RIGHT$(DATE$,5):MM$=LEFT$(MM$,2):DD$=RIGHT$(DATE$,2)
4150 OPEN "MYPIC"+YY$+MM$+DD$+".ASC" FOR INPUT AS #3
4160 FOR T=1 TO 64:INPUT #3,DATAFLOOR$(T,0),CR$:NEXT
4170 FOR T=1 TO 64:FOR I=1 TO 64:LAYER(I,T,0)=VAL("&h"+RIGHT$(LEFT$(DATAFLOOR$(T,DLAY),I),1)):NEXT:NEXT
4180 CLOSE #3:
4190 REM FOR T=1 TO 64:FOR I=1 TO 64:PRINT LAYER(I,T,0);:NEXT:PRINT:NEXT:
4200 CLS:GOSUB *REFRESHTXT:GOTO *FIELDCNT
4210 ::
4220 ::
4230 *FDOT LOCATE 0,8:PRINT MSX;MSY,FMX;FMY,CP(I,T,DFL)
4240 J=0:WHILE J<1:MSX=MOUSE(0):MSY=MOUSE(1)
4250 IF MOUSE(2,1)=0 THEN J=1
4260 *DOTHIT
4270 FOR I=1 TO 64:FOR T=1 TO 64:
4280 IF (T*7)+20<MSX AND (T*7)+27>MSX THEN DOTX=T:
4290 NEXT T:IF (I*7)+20<MSY AND (I*7)+27>MSY THEN DOTY=I:
4300 NEXT I:LB=0
4310 FOR I=1 TO 64:FOR T=1 TO 64:
4320 IF (T*7)+20<MSX AND (T*7)+27>MSX THEN DOTXB=T:
4330 NEXT T:IF (I*7)+20<MSY AND (I*7)+27>MSY THEN DOTYB=I:
4340 NEXT I:LB=0
4350 IF DOTX<>DOTXB OR DOTY<>DOTYB THEN *DOTHIT
4360 IF DOTX>0 AND DOTY>0 AND DOTX<65 AND DOTY<65 THEN LINE(DOTX*7+13,DOTY*7+13)-(DOTX*7+20,DOTY*7+20),CP(DOTX,DOTY,DFL),BF:LAYER(DOTX,DOTY,LAY)=CP(DOTX,DOTY,DFL)
4370 WEND:
4380 GOTO *FIELDCNT
4390 END
4400 *FLINE CLK="0
4410" IF SWICH="0" THEN SWICH="1:GOTO" *AREASC
4420 IF DC="1" THEN *AREASC
4430 REM IF DOUBLE="1" THEN DOUBLE="0:GOTO" *AREASC
4440 IF UDX(IVC-1)=0 OR UDY(IVC-1)=0 THEN SWICH="1:GOTO" *AREASC
4450 IF UDX(IVC)=UDX(IVC-1) AND UDY(IVC)=UDY(IVC-1) THEN *AREASC
4460 IF MCX="MOUSE(4,1)" THEN ELSE *FIELDCNT
4470 IF XXL="1" OR UDX(IVC)=UDX(IVC-1) THEN *LINEHANDUD
4480 IF YYL="1" OR UDY(IVC)=UDY(IVC-1) THEN *LINEHANDRL
4490 IF XXL<0 AND YYL>0 THEN *LINEHANDRD
4500 IF XXL>0 AND YYL>0 THEN *LINEHANDLD
4510 IF XXL<0 AND YYL<0 THEN *LINEHANDRU
4520 IF XXL>0 AND YYL<0 THEN *LINEHANDLU
4530 *LINEHANDUD
4540 IF UDY(IVC)>UDY(IVC-1) THEN LHYY=UDY(IVC-1):LHYYL=YYL
4550 IF UDY(IVC)<UDY(IVC-1) THEN LHYY=UDY(IVC) :LHYYL=-YYL
4560 FOR I=LHYY TO LHYY+LHYYL STEP 1:
4570 LAYER(UDX(IVC),I,LAY)=CP(UDX(IVC),I,DFL):LINE(UDX(IVC)*7+13,I*7+13)-(UDX(IVC)*7+20,I*7+20),CP,BF:REM CP(UDX(IVC),I,DFL),BF
4580 NEXT:PRINT "ud";YYL;LHYY,"
4590 GOTO *AREASC
4600 *LINEHANDRL
4610 IF UDX(IVC)>UDX(IVC-1) THEN LHXX=UDX(IVC-1):LHXXL=XXL
4620 IF UDX(IVC)<UDX(IVC-1) THEN LHXX=UDX(IVC):LHXXL=-XXL
4630 FOR T=LHXX TO LHXX+LHXXL STEP 1:
4640 LAYER(T,UDY(IVC),5)=CP(T,UDY(IVC),DFL):LINE(T*7+13,UDY(IVC)*7+13)-(T*7+20,UDY(IVC)*7+20),CP,BF:REM CP(UDX(IVC),I,DFL),BF
4650 NEXT:PRINT "RL";XXL;LHXX,"
4660 GOTO *AREASC
4670 *LINEHANDRD
4680 XYL=XXL/YYL:STP=0:ISTP=0:BKSTP=0:
4690 FOR I=UDY(IVC-1) TO UDY(IVC) STEP 1:BKSTP=ISTP:STP=STP+XYL:ISTP=INT(STP)
4700 FOR T=UDX(IVC-1)+ISTP TO UDX(IVC-1)+BKSTP STEP 1:
4710 IF T>=UDX(IVC) AND T=<UDX(IVC-1) THEN LAYER(T,I,LAY)=CP(T,I,DFL):LINE(T*7+13,I*7+13)-(T*7+20,I*7+20),CP,BF:REM CP(UDX(IVC),I,DFL),BF
4720 NEXT:
4730 NEXT:PRINT "aa";XYL;STP;ISTP;BKSTP;YYL;T;I;" "
4740 GOTO *AREASC
4750 *LINEHANDLD
4760 XYL=XXL/YYL:STP=0:ISTP=0:BKSTP=0:
4770 FOR I=UDY(IVC-1) TO UDY(IVC) STEP 1:BKSTP=ISTP:STP=STP+XYL:ISTP=INT(STP)
4780 FOR T=UDX(IVC-1)+BKSTP TO UDX(IVC-1)+ISTP STEP 1:
4790 IF T>=UDX(IVC-1) AND T=<UDX(IVC) THEN LAYER(T,I,LAY)=CP(T,I,DFL):LINE(T*7+13,I*7+13)-(T*7+20,I*7+20),CP,BF:REM CP(UDX(IVC),I,DFL),BF
4800 NEXT:
4810 NEXT:PRINT "bb";XYL;STP;ISTP;BKSTP;T;I;"
4820 GOTO *AREASC
4830 *LINEHANDRU
4840 XYL=-XXL/-YYL:STP=0:ISTP=0:BKSTP=0:LOCATE 0,10:PRINT XYL;XXL;YYL," "
4850 FOR I=UDY(IVC) TO UDY(IVC-1) STEP 1:BKSTP=ISTP:STP=STP+XYL:ISTP=INT(STP)
4860 FOR T=UDX(IVC)+BKSTP TO UDX(IVC)+ISTP STEP 1:
4870 IF T>=UDX(IVC) AND T=<UDX(IVC-1) THEN LAYER(T,I,LAY)=CP(T,I,DFL):LINE(T*7+13,I*7+13)-(T*7+20,I*7+20),CP,BF:REM CP(UDX(IVC),I,DFL),BF
4880 NEXT:
4890 NEXT:PRINT "bb";XYL;STP;ISTP;BKSTP;T;I;"
4900 GOTO *AREASC
4910 *LINEHANDLU
4920 XYL=XXL/-YYL:STP=0:ISTP=0:BKSTP=0:
4930 FOR I=UDY(IVC) TO UDY(IVC-1) STEP 1:BKSTP=ISTP:STP=STP-XYL:ISTP=INT(STP):
4940 FOR T=UDX(IVC)+ISTP TO UDX(IVC)+BKSTP STEP 1:
4950 IF T>=UDX(IVC-1) AND T=<UDX(IVC) THEN LAYER(T,I,LAY)=CP(T,I,DFL):LINE(T*7+13,I*7+13)-(T*7+20,I*7+20),CP,BF:REM CP(UDX(IVC),I,DFL),BF
4960 NEXT:
4970 NEXT:PRINT "bb";XYL;STP;ISTP;BKSTP;T;I;"
4980 GOTO *AREASC
4990 *LINEUNDO
5000 REM FOR I=1 TO 64:FOR T=1 TO 64:
5010 END
5020 END
5030 END
5040 END
5050 END
5060 END
5070 END
5080 *TOOLS
5090 IF IVX(IVC)<488 THEN *FIELDCNT
5100 IF IVY(IVC)>39 AND IVY(IVC)<57 THEN *COLORPALLETE
5110 IF IVY(IVC)>58 AND IVY(IVC)<114 THEN *COLORCHANGE
5120 IF IVY(IVC)>115 AND IVY(IVC)<171 THEN *COLORLEVEL
5130 IF IVY(IVC)>172 AND IVY(IVC)<190 THEN *DITHER
5140 IF IVY(IVC)>191 AND IVY(IVC)<209 THEN *LINECARV
5150 IF IVY(IVC)>210 AND IVY(IVC)<228 THEN *PAINTPSET
5160 IF IVY(IVC)>229 AND IVY(IVC)<247 THEN *LAYERCHANGE
5170 IF IVY(IVC)>248 AND IVY(IVC)<285 THEN *PENCHANGE
5180 IF IVY(IVC)>286 AND IVY(IVC)<304 THEN *SPOITGLID
5190 IF IVY(IVC)>305 AND IVY(IVC)<323 THEN *UNDORESET
5200 IF IVY(IVC)>362 AND IVY(IVC)<380 THEN IF IVX(IVC)<MLC(77) AND IVX(IVC)>MLC(71) THEN *SEQUENTIALLOAD ELSE IF IVX(IVC)<MLC(71) THEN *SEQUENTIAL
5210 IF IVY(IVC)>362 AND IVY(IVC)<380 THEN IF IVX(IVC)<MLC(77) AND IVX(IVC)>MLC(71) THEN *SEQUENTIALLOAD ELSE IF IVX(IVC)<MLC(71) THEN *SEQUENTIAL
5220 IF IVY(IVC)>381 AND IVY(IVC)<399 THEN *FILENAME
5230 IVC=IVC-1
5240 GOTO *FIELDCNT
5250 END
5260 *COLORPALLETE
5270 FLAGCP=0
5280 FOR C=0 TO 15
5290 IF IVX(IVC)>MLCP(C+61) AND IVX(IVC)<MLCP(C+62) THEN FLAGCP=1:CP=C
5300 NEXT
5310 GOSUB *DITHERFILTERLING
5320 IF FLAGCP=1 THEN IF MOSE(2,2)<>0 THEN P=CP:BC=CP:FLAGCP=0
5330 IF BCP=CP THEN *FIELDCNT
5340 I=0:FOR C=61 TO 76:LINE (MLCP(C),MLFP(2))-(MLCP(C)+8,MLFP(3)),I,BF:I=I+1:NEXT C
5350 I=0:FOR C=61 TO 76
5360 IF CP=I THEN LINE (MLCP(C),37)-(MLCP(C+1),56),7,B
5370 I=I+1:NEXT:GOSUB *DITHERFILTERLING:GOTO *AREASC
5380 GOTO *FIELDCNT
5390 END
5400 *LINECARV
5410 IF IVX(IVC)>488 AND IVX(IVC)<520 THEN FLAGS$="LINE"
5420 IF IVX(IVC)>552 AND IVX(IVC)<584 THEN FLAGS$="CARV"
5430 IF IVC>1 THEN IVC=IVC-1 ELSE IF IVC=1 THEN IVC=99
5440 COLOR 0:LOCATE 61,23:PRINT"/ ";FLAGS$;" ":LOCATE 73,23:PRINT" "
5450 GOTO *FIELDCNT
5460 END
5470 *PAINTPSET
5480 IF IVX(IVC)>488 AND IVX(IVC)<528 THEN FLAGS$="PAINT"
5490 IF IVX(IVC)>552 AND IVX(IVC)<576 THEN FLAGS$="DOT"
5500 IF IVC>1 THEN IVC=IVC-1 ELSE IF IVC=1 THEN IVC=99
5510 COLOR 0:LOCATE 61,23:PRINT"/ ";FLAGS$;" ":LOCATE 73,23:PRINT" "
5520 GOTO *FIELDCNT
5530 END
5540 *PENCHANGE
5550 IF IVX(IVC)>520 AND IVX(IVC)<528 THEN FLAGS$="PEN":PENTYPE$="circle"
5560 IF IVX(IVC)>552 AND IVX(IVC)<560 THEN FLAGS$="PEN":PENTYPE$="box "
5570 IF IVX(IVC)>576 AND IVX(IVC)<584 THEN FLAGS$="PEN":PENS=3
5580 IF IVX(IVC)>592 AND IVX(IVC)<600 THEN FLAGS$="PEN":PENS=5
5590 IF IVC>1 THEN IVC=IVC-1 ELSE IF IVC=1 THEN IVC=99
5600 COLOR 0:LOCATE 61,23:PRINT"/ ";FLAGS$;PENS;PENTYPE$;
5610 GOTO *FIELDCNT
5620 END
5630 END
5640 END
5650 END
5660 END
5670 *FPEN
5680 IF MSX>468 THEN *TOOLS
5690 IF MSX<20 OR MSX<20 OR MSX>468 OR MSX>468 THEN *COUNTERA
5700 J=0:NULL=MOUSE(2,1):IF NULL=0 THEN *AREASC
5710 IF PENTYPE$="circle" AND PENS=5 THEN *CPENFIVE
5720 IF PENTYPE$="circle" AND PENS=3 THEN *CPENTHREE
5730 IF PENTYPE$="box " AND PENS=5 THEN *BPENL
5740 IF PENTYPE$="box " AND PENS=3 THEN *BPENS
5750 IF PENTYPE$="" OR PENS=0 THEN PENS=5:PENTYPE$="circle":GOTO *FPEN
5760 GOTO *AREASC
5770 END
5780 *CPENFIVE LOCATE 0,8:PRINT MSX;MSY,FMX;FMY
5790 GOSUB *DITHERFILTERLING:FOR T=1 TO 64:LOCATE 0,20:PRINT CP(T,1,LAY);CP(T,2,LAY);CP(T,3,LAY);CP(T,4,LAY);CP(T,5,LAY);CP(T,6,LAY);
5800 PRINT CP(T,7,LAY);CP(T,8,LAY);CP(T,9,LAY);CP(T,10,LAY);CP(T,11,LAY);CP(T,12,LAY);CP(T,13,LAY);
5810 PRINT CP(T,14,LAY);CP(T,15,LAY);CP(T,16,LAY);CP(T,17,LAY);CP(T,18,LAY);CP(T,19,LAY);CP(T,20,LAY);
5820 PRINT CP(T,21,LAY);CP(T,22,LAY);CP(T,23,LAY);CP(T,24,LAY);CP(T,25,LAY);CP(T,26,LAY);CP(T,27,LAY);
5830 PRINT CP(T,28,LAY);CP(T,29,LAY);CP(T,30,LAY);CP(T,31,LAY);CP(T,32,LAY);CP(T,33,LAY);CP(T,34,LAY);
5840 PRINT CP(T,35,LAY);CP(T,36,LAY);CP(T,37,LAY);CP(T,38,LAY);CP(T,39,LAY);CP(T,40,LAY);CP(T,41,LAY);
5850 PRINT CP(T,42,LAY);CP(T,42,LAY);CP(T,43,LAY);CP(T,44,LAY);CP(T,45,LAY);CP(T,46,LAY);CP(T,47,LAY);
5860 PRINT CP(T,48,LAY);CP(T,49,LAY);CP(T,50,LAY);CP(T,51,LAY);CP(T,52,LAY);CP(T,53,LAY);CP(T,54,LAY);
5870 PRINT CP(T,55,LAY);CP(T,56,LAY);CP(T,57,LAY);CP(T,58,LAY);CP(T,59,LAY);CP(T,60,LAY);CP(T,61,LAY);CP(T,62,LAY);CP(T,63,LAY);CP(T,64,LAY);
5880 NEXT
5890 J=0:WHILE J<1:MSX=MOUSE(0):MSY=MOUSE(1):DFL=1
5900 IF MOUSE(2,1)=0 THEN J=1
5910 FOR I=1 TO 64:FOR T=1 TO 64:
5920 IF T*7+13<MSX AND T*7+20>MSX THEN PENX=T:
5930 NEXT T:IF I*7+13<MSY AND I*7+20>MSY THEN PENY=I:
5940 NEXT I:LB=0
5950 IF PENX>0 AND PENY>0 AND PENX<65 AND PENY<65 THEN LINE(PENX*7+13,PENY*7+13)-(PENX*7+20,PENY*7+20),CP,BF:REM CP(PENX,PENY,DFL),BF:LAYER(PENX,PENY,LAY)=CP(PENX,PENY,DFL)
5960 IF PENX>1 AND PENY>2 THEN LINE(PENX*7-7+13,PENY*7-14+13)-(PENX*7-7+20,PENY*7-14+20),CP,BF:REM CP(PENX-1,PENY-2,DFL),BF:LAYER(PENX-1,PENY-2,LAY)=CP(PENX-1,PENY-2,DFL)
5970 IF PENX>2 AND PENY>1 THEN LINE(PENX*7-14+13,PENY*7-7+13)-(PENX*7-14+20,PENY*7-7+20),CP,BF:REM CP(PENX-2,PENY-1,DFL),BF:LAYER(PENX-2,PENY-1,LAY)=CP(PENX-2,PENY-1,DFL)
5980 IF PENX>2 AND PENY>0 THEN LINE(PENX*7-14+13,PENY*7+0+13)-(PENX*7-14+20,PENY*7+0+20),CP,BF:REM CP(PENX-2,PENY ,DFL),BF:LAYER(PENX-2,PENY ,LAY)=CP(PENX-2,PENX ,DFL)
5990 IF PENX>2 AND PENY<64 THEN LINE(PENX*7-14+13,PENY*7+7+13)-(PENX*7-14+20,PENY*7+7+20),CP,BF:REM CP(PENX-2,PENY+1,DFL),BF:LAYER(PENX-2,PENY+1,LAY)=CP(PENX-2,PENY+1,DFL)
6000 IF PENX>1 AND PENY<63 THEN LINE(PENX*7-7+13,PENY*7+14+13)-(PENX*7-7+20,PENY*7+14+20),CP,BF:REM CP(PENX-1,PENY+2,DFL),BF:LAYER(PENX-1,PENY+2,LAY)=CP(PENX-1,PENY+2,DFL)
6010 IF PENX>1 AND PENY>1 THEN LINE(PENX*7-7+13,PENY*7-7+13)-(PENX*7-7+20,PENY*7-7+20),CP,BF:REM CP(PENX-1,PENY-1,DFL),BF:LAYER(PENX-1,PENY-1,LAY)=CP(PENX-1,PENY-1,DFL)
6020 IF PENX>1 AND PENY>0 THEN LINE(PENX*7-7+13,PENY*7+0+13)-(PENX*7-7+20,PENY*7+0+20),CP,BF:REM CP(PENX-1,PENY ,DFL),BF:LAYER(PENX-1,PENY ,LAY)=CP(PENX-1,PENX ,DFL)
6030 IF PENX>1 AND PENY<64 THEN LINE(PENX*7-7+13,PENY*7+7+13)-(PENX*7-7+20,PENY*7+7+20),CP,BF:REM CP(PENX-1,PENY+1,DFL),BF:LAYER(PENX-1,PENY+1,LAY)=CP(PENX-1,PENY+1,DFL)
6040 IF PENX>0 AND PENY>2 THEN LINE(PENX*7-0+13,PENY*7-14+13)-(PENX*7-0+20,PENY*7-14+20),CP,BF:REM CP(PENX ,PENY-2,DFL),BF:LAYER(PENX ,PENY-2,LAY)=CP(PENX ,PENY-2,DFL)
6050 IF PENX>0 AND PENY>1 THEN LINE(PENX*7-0+13,PENY*7-7+13)-(PENX*7-0+20,PENY*7-7+20),CP,BF:REM CP(PENX ,PENY-1,DFL),BF:LAYER(PENX ,PENY-1,LAY)=CP(PENX ,PENY-1,DFL)
6060 IF PENX>0 AND PENY<64 THEN LINE(PENX*7-0+13,PENY*7+7+13)-(PENX*7-0+20,PENY*7+7+20),CP,BF:REM CP(PENX ,PENY+1,DFL),BF:LAYER(PENX ,PENY+1,LAY)=CP(PENX ,PENY+1,DFL)
6070 IF PENX>0 AND PENY<63 THEN LINE(PENX*7-0+13,PENY*7+14+13)-(PENX*7-0+20,PENY*7+14+20),CP,BF:REM CP(PENX ,PENY+2,DFL),BF:LAYER(PENX ,PENY+2,LAY)=CP(PENX ,PENY+2,DFL)
6080 IF PENX<64 AND PENY>2 THEN LINE(PENX*7+7+13,PENY*7-14+13)-(PENX*7+7+20,PENY*7-14+20),CP,BF:REM CP(PENX+1,PENY-2,DFL),BF:LAYER(PENX+1,PENY-2,LAY)=CP(PENX+1,PENY-2,DFL)
6090 IF PENX<63 AND PENY>1 THEN LINE(PENX*7+14+13,PENY*7-7+13)-(PENX*7+14+20,PENY*7-7+20),CP,BF:REM CP(PENX+2,PENY-1,DFL),BF:LAYER(PENX+2,PENY-1,LAY)=CP(PENX+2,PENY-1,DFL)
6100 IF PENX<63 AND PENY>0 THEN LINE(PENX*7+14+13,PENY*7+0+13)-(PENX*7+14+20,PENY*7+0+20),CP,BF:REM CP(PENX+2,PENY ,DFL),BF:LAYER(PENX+2,PENY ,LAY)=CP(PENX+2,PENY ,DFL)
6110 IF PENX<63 AND PENY<64 THEN LINE(PENX*7+14+13,PENY*7+7+13)-(PENX*7+14+20,PENY*7+7+20),CP,BF:REM CP(PENX+2,PENY+1,DFL),BF:LAYER(PENX+2,PENY+1,LAY)=CP(PENX+2,PENY+1,DFL)
6120 IF PENX<64 AND PENY<63 THEN LINE(PENX*7+7+13,PENY*7+14+13)-(PENX*7+7+20,PENY*7+14+20),CP,BF:REM CP(PENX+1,PENY+2,DFL),BF:LAYER(PENX+1,PENY+2,LAY)=CP(PENX+1,PENY+2,DFL)
6130 IF PENX<64 AND PENY>1 THEN LINE(PENX*7+7+13,PENY*7-7+13)-(PENX*7+7+20,PENY*7-7+20),CP,BF:REM CP(PENX+1,PENY-1,DFL),BF:LAYER(PENX+1,PENY-1,LAY)=CP(PENX+1,PENY-1,DFL)
6140 IF PENX<64 AND PENY>0 THEN LINE(PENX*7+7+13,PENY*7+0+13)-(PENX*7+7+20,PENY*7+0+20),CP,BF:REM CP(PENX+1,PENY ,DFL),BF:LAYER(PENX+1,PENY ,LAY)=CP(PENX+1,PENY ,DFL)
6150 IF PENX<64 AND PENY<64 THEN LINE(PENX*7+7+13,PENY*7+7+13)-(PENX*7+7+20,PENY*7+7+20),CP,BF:REM CP(PENX+1,PENY+1,DFL),BF:LAYER(PENX+1,PENY+1,LAY)=CP(PENX+1,PENY+1,DFL)
6160 REM LOCATE 0,22:PRINT LAY;" ";CP(PENX,PENY,LAY);CP(PENX-1,PENY-2,LAY);CP(PENX-2,PENY+1,LAY);CP(PENX-2,PENY ,LAY);CP(PENX-2,PENY+1,LAY);CP(PENX-2,PENY+1,LAY);CP(PENX-1,PENY-1,LAY);
6170 REM LOCATE 0,23:PRINT CP(PENX-1,PENY ,LAY);CP(PENX-1,PENY+1,LAY);CP(PENX ,PENY-2,LAY);CP(PENX ,PENY-1,LAY);CP(PENX ,PENY+1,LAY);CP(PENX ,PENY+2,LAY);CP(PENX+1,PENY-2,LAY);
6180 REM LOCATE 0,24:PRINT CP(PENX+2,PENY-1,LAY);CP(PENX+2,PENY ,LAY);CP(PENX+2,PENY+1,LAY);CP(PENX+1,PENY+2,LAY);CP(PENX+1,PENY ,LAY);CP(PENX+1,PENY+1,LAY);
6190 WEND
6200 GOTO *AREASC
6210 END
6220 *CPENTHREE
6230 LOCATE 0,8:PRINT MSX;MSY,FMX;FMY,CP(I,T,LAY)
6240 J="0:WHILE" J<1:MSX=MOUSE(0):MSY=MOUSE(1)
6250 IF MOUSE(2,1)=0 THEN J="1
6260" FOR I="1" TO 64:FOR T="1" TO 64:
6270 IF T*7+20<MSX AND T*7+27>MSX THEN PENX=T:
6280 NEXT T:IF I*7+20<MSY AND I*7+27>MSY THEN PENY=I:
6290 NEXT I:LB=0
6300 IF PENX>0 AND PENY>0 AND PENX<65 AND PENY<65 THEN LINE(PENX*7+13,PENY*7+13)-(PENX*7+27,PENY*7+27),CP,BF:REM CP(PENX,PENY,DFL),BF:LAYER(PENX,PENY,LAY)=CP(PENX,PENY,DFL)
6310 IF PENX>1 AND PENY>0 THEN LINE(PENX*7-7+13,PENY*7+0+13)-(PENX*7-7+20,PENY*7+0+20),CP,BF:REM CP(PENX-1,PENY ,DFL ),BF :LAYER(PENX-1,PENY ,LAY)=CP(PENX-1,PENY,DFL)
6320 IF PENX<64 AND PENY>0 THEN LINE(PENX*7+7+13,PENY*7+0+13)-(PENX*7+7+20,PENY*7+0+20),CP,BF:REM CP(PENX+1,PENY ,DFL ),BF :LAYER(PENX+1,PENY ,LAY)=CP(PENX+1,PENY,DFL)
6330 IF PENX>0 AND PENY<64 THEN LINE(PENX*7-0+13,PENY*7+7+13)-(PENX*7-0+20,PENY*7+7+20),CP,BF:REM CP(PENX ,PENY+1,DFL ),BF :LAYER(PENX ,PENY+1,LAY)=CP(PENX,PENY+1,DFL)
6340 IF PENX>0 AND PENY>1 THEN LINE(PENX*7-0+13,PENY*7-7+13)-(PENX*7-0+20,PENY*7-7+20),CP,BF:REM CP(PENX ,PENY-1,DFL ),BF :LAYER(PENX ,PENY-1,LAY)=CP(PENX,PENY-1,DFL)
6350 WEND
6360 GOTO *AREASC
6370 END
6380 *BPENL LOCATE 0,8:PRINT MSX;MSY,FMX;FMY,CP(I,T,DFL)
6390 J=0:J=0:WHILE J<1:MSX=MOUSE(0):MSY=MOUSE(1)
6400 IF MOUSE(2,1)=0 THEN J=1
6410 FOR I=1 TO 64:FOR T=1 TO 64:
6420 IF T*7+20<MSX AND T*7+27>MSX THEN PENX=T:
6430 NEXT T:IF I*7+20<MSY AND I*7+27>MSY THEN PENY=I:
6440 NEXT I:LB=0
6450 IF PENX>0 AND PENY>0 AND PENX<65 AND PENY<65 THEN LINE(PENX*7+13,PENY*7+13)-(PENX*7+20,PENY*7+20),CP,BF:REM CP(PENX,PENY,DFL),BF:LAYER(PENX,PENY,LAY)=CP(PENX,PENY,DFL)
6460 IF PENX>1 AND PENY>2 THEN LINE(PENX*7-7 +13,PENY*7-14+13)-(PENX*7 -7+20,PENY*7-14+20),CP,BF:REM CP(PENX+1,PENY-2,DFL),BF:LAYER(PENX+1,PENY-2,LAY)=CP(PENX+1,PENY-2,DFL)
6470 IF PENX>2 AND PENY>1 THEN LINE(PENX*7-14+13,PENY*7-7+13)-(PENX*7-14+20,PENY*7-7+20),CP,BF:REM CP(PENX-2,PENY-1,DFL),BF:LAYER(PENX-2,PENY-1,LAY)=CP(PENX-2,PENY-1,DFL)
6480 IF PENX>2 AND PENY>0 THEN LINE(PENX*7-14+13,PENY*7+0+13)-(PENX*7-14+20,PENY*7+0+20),CP,BF:REM CP(PENX-2,PENY ,DFL),BF:LAYER(PENX-2,PENY ,LAY)=CP(PENX-2,PENY ,DFL)
6490 IF PENX>2 AND PENY<64 THEN LINE(PENX*7-14+13,PENY*7+7+13)-(PENX*7-14+20,PENY*7+7+20),CP,BF:REM CP(PENX-2,PENY+1,DFL),BF:LAYER(PENX-2,PENY+1,LAY)=CP(PENX-2,PENY+1,DFL)
6500 IF PENX>1 AND PENY<63 THEN LINE(PENX*7-7+13,PENY*7+14+13)-(PENX*7-7+20,PENY*7+14+20),CP,BF:REM CP(PENX-1,PENY+2,DFL),BF:LAYER(PENX-1,PENY+2,LAY)=CP(PENX-1,PENY+2,DFL)
6510 IF PENX>1 AND PENY>1 THEN LINE(PENX*7-7+13,PENY*7-7+13)-(PENX*7-7+20,PENY*7-7+20),CP,BF:REM CP(PENX-1,PENY-1,DFL),BF:LAYER(PENX-1,PENY-1,LAY)=CP(PENX-1,PENY-1,DFL)
6520 IF PENX>1 AND PENY>0 THEN LINE(PENX*7-7+13,PENY*7+0+13)-(PENX*7-7+20,PENY*7+0+20),CP,BF:REM CP(PENX-1,PENY ,DFL),BF:LAYER(PENX-1,PENY ,LAY)=CP(PENX-1,PENY ,DFL)
6530 IF PENX>1 AND PENY<64 THEN LINE(PENX*7-7+13,PENY*7+7+13)-(PENX*7-7+20,PENY*7+7+20),CP,BF:REM CP(PENX ,PENY+1,DFL),BF:LAYER(PENX ,PENY+1,LAY)=CP(PENX ,PENY-2,DFL)
6540 IF PENX>0 AND PENY>2 THEN LINE(PENX*7-0+13,PENY*7-14+13)-(PENX*7-0+20,PENY*7-14+20),CP,BF:REM CP(PENX ,PENY-2,DFL),BF:LAYER(PENX ,PENY-2,LAY)=CP(PENX ,PENY-1,DFL)
6550 IF PENX>0 AND PENY>1 THEN LINE(PENX*7-0+13,PENY*7-7+13)-(PENX*7-0+20,PENY*7-7+20),CP,BF:REM CP(PENX ,PENY-1,DFL),BF:LAYER(PENX ,PENY-1,LAY)=CP(PENX ,PENY-1,DFL)
6560 IF PENX>0 AND PENY<64 THEN LINE(PENX*7-0+13,PENY*7+7+13)-(PENX*7-0+20,PENY*7+7+20),CP,BF:REM CP(PENX ,PENY+1,DFL),BF:LAYER(PENX ,PENY+1,LAY)=CP(PENX ,PENY+1,DFL)
6570 IF PENX>0 AND PENY<63 THEN LINE(PENX*7-0+13,PENY*7+14+13)-(PENX*7-0+20,PENY*7+14+20),CP,BF:REM CP(PENX ,PENY+2,DFL),BF:LAYER(PENX ,PENY+2,LAY)=CP(PENX ,PENY+2,DFL)
6580 IF PENX<64 AND PENY>2 THEN LINE(PENX*7+7+13,PENY*7-14+13)-(PENX*7+7+20,PENY*7-14+20),CP,BF:REM CP(PENX+1,PENY-2,DFL),BF:LAYER(PENX+1,PENY-2,LAY)=CP(PENX+1,PENY-2,DFL)
6590 IF PENX<63 AND PENY>1 THEN LINE(PENX*7+14+13,PENY*7-7+13)-(PENX*7+14+20,PENY*7-7+20),CP,BF:REM CP(PENX+2,PENY-1,DFL),BF:LAYER(PENX+2,PENY-1,LAY)=CP(PENX+2,PENY-1,DFL)
6600 IF PENX<63 AND PENY>0 THEN LINE(PENX*7+14+13,PENY*7+0+13)-(PENX*7+14+20,PENY*7+0+20),CP,BF:REM CP(PENX+2,PENY ,DFL),BF:LAYER(PENX+2,PENY ,LAY)=CP(PENX+2,PENY ,DFL)
6610 IF PENX<63 AND PENY<64 THEN LINE(PENX*7+14+13,PENY*7+7+13)-(PENX*7+14+20,PENY*7+7+20),CP,BF:REM CP(PENX+2,PENY+1,DFL),BF:LAYER(PENX+2,PENY+1,LAY)=CP(PENX+2,PENY+1,DFL)
6620 IF PENX<64 AND PENY<63 THEN LINE(PENX*7+7+13,PENY*7+14+13)-(PENX*7+7+20,PENY*7+14+20),CP,BF:REM CP(PENX+1,PENY+2,DFL),BF:LAYER(PENX+1,PENY+2,LAY)=CP(PENX+1,PENY+2,DFL)
6630 IF PENX<64 AND PENY>1 THEN LINE(PENX*7+7+13,PENY*7-7+13)-(PENX*7+7+20,PENY*7-7+20),CP,BF:REM CP(PENX+1,PENY-1,DFL),BF:LAYER(PENX+1,PENY-1,LAY)=CP(PENX+1,PENY-1,DFL)
6640 IF PENX<64 AND PENY>0 THEN LINE(PENX*7+7+13,PENY*7+0+13)-(PENX*7+7+20,PENY*7+0+20),CP,BF:REM CP(PENX+1,PENY ,DFL),BF:LAYER(PENX+1,PENY ,LAY)=CP(PENX+1,PENY ,DFL)
6650 IF PENX<64 AND PENY<64 THEN LINE(PENX*7+7+13,PENY*7+7+13)-(PENX*7+7+20,PENY*7+7+20),CP,BF:REM CP(PENX+1,PENY+1,DFL),BF:LAYER(PENX+1,PENY+1,LAY)=CP(PENX+1,PENY+1,DFL)
6660 IF PENX>2 AND PENY<63 THEN LINE(PENX*7-14+13,PENY*7+14+13)-(PENX*7-14+20,PENY*7+14+20),CP,BF:REM CP(PENX-2,PENY+2,DFL),BF:LAYER(PENX-2,PENY+2,LAY)=CP(PENX-2,PENY+2,DFL)
6670 IF PENX<63 AND PENY<63 THEN LINE(PENX*7+14+13,PENY*7+14+13)-(PENX*7+14+20,PENY*7+14+20),CP,BF:REM CP(PENX+2,PENY+2,DFL),BF:LAYER(PENX+2,PENY+2,LAY)=CP(PENX+2,PENY+2,DFL)
6680 IF PENX<63 AND PENY>2 THEN LINE(PENX*7+14+13,PENY*7-14+13)-(PENX*7+14+20,PENY*7-14+20),CP,BF:REM CP(PENX+2,PENY-2,DFL),BF:LAYER(PENX+2,PENY-2,LAY)=CP(PENX+2,PENY-2,DFL)
6690 IF PENX>2 AND PENY>2 THEN LINE(PENX*7-14+13,PENY*7-14+13)-(PENX*7-14+20,PENY*7-14+20),CP,BF:REM CP(PENX-2,PENY-2,DFL),BF:LAYER(PENX-2,PENY-2,LAY)=CP(PENX-2,PENY-2,DFL)
6700 WEND
6710 GOTO *AREASC
6720 END
6730 *BPENS
6740 LOCATE 0,8:PRINT MSX;MSY,FMX;FMY,CP(I,T,FL)
6750 J=0:WHILE J<1:MSX=MOUSE(0):MSY=MOUSE(1)
6760 IF MOUSE(2,1)=0 THEN J=1
6770 FOR I=1 TO 64:FOR T=1 TO 64:
6780 IF T*7+13<MSX AND T*7+20>MSX THEN PENX=T:
6790 NEXT T:IF I*7+13<MSY AND I*7+20>MSY THEN PENY=I:
6800 NEXT I:LB=0
6810 IF PENX>0 AND PENY>0 AND PENX<65 AND PENY<65 THEN LINE(PENX*7+13,PENY*7+13)-(PENX*7+20,PENY*7+20),CP,BF:REM CP(PENX,PENY,DFL),BF:LAYER(PENX,PENY,DFL)=CP(PENX,PENY,DFL)
6820 IF PENX>1 AND PENY>0 THEN LINE(PENX*7+7+13,PENY*7+0+13)-(PENX*7+7+20,PENY*7+0+20),CP,BF:REM CP(PENX+1,PENY ,DFL),BF :LAYER(PENX+1,PENY ,LAY)=CP(PENX-1,PENY ,DFL )
6830 IF PENX<64 AND PENY>0 THEN LINE(PENX*7-7+13,PENY*7+0+13)-(PENX*7-7+20,PENY*7+0+20),CP,BF:REM CP(PENX-1,PENY ,DFL),BF :LAYER(PENX-1,PENY ,LAY)=CP(PENX-1,PENY ,DFL )
6840 IF PENX>0 AND PENY<64 THEN LINE(PENX*7-0+13,PENY*7-7+13)-(PENX*7-0+20,PENY*7-7+20),CP,BF:REM CP(PENX ,PENY-1,DFL),BF :LAYER(PENX ,PENY-1,LAY)=CP(PENX ,PENY-1,DFL )
6850 IF PENX>0 AND PENY>1 THEN LINE(PENX*7-0+13,PENY*7+7+13)-(PENX*7-0+20,PENY*7+7+20),CP,BF:REM CP(PENX ,PENY+1,DFL),BF :LAYER(PENX ,PENY+1,LAY)=CP(PENX ,PENY+1,DFL )
6860 IF PENX>1 AND PENY>1 THEN LINE(PENX*7-7+13,PENY*7-7+13)-(PENX*7-7+20,PENY*7-7+20),CP,BF:REM CP(PENX-1,PENY-1,DFL),BF :LAYER(PENX-1,PENY-1,LAY)=CP(PENX-1,PENY-1,DFL )
6870 IF PENX<64 AND PENY>1 THEN LINE(PENX*7+7+13,PENY*7-7+13)-(PENX*7+7+20,PENY*7-7+20),CP,BF:REM CP(PENX+1,PENY-1,DFL),BF :LAYER(PENX-1,PENY+1,LAY)=CP(PENX-1,PENY+1,DFL )
6880 IF PENX>1 AND PENY<64 THEN LINE(PENX*7-7+13,PENY*7+7+13)-(PENX*7-7+20,PENY*7+7+20),CP,BF:REM CP(PENX-1,PENY+1,DFL),BF :LAYER(PENX-1,PENY+1,LAY)=CP(PENX-1,PENY+1,DFL )
6890 IF PENX<64 AND PENY<64 THEN LINE(PENX*7+7+13,PENY*7+7+13)-(PENX*7+7+20,PENY*7+7+20),CP,BF:REM CP(PENX+1,PRNY+1,DFL),BF :LAYER(PENX+1,PENY+1,LAY)=CP(PENX+1,PENY+1,DFL )
6900 WEND
6910 GOTO *AREASC
6920 *COLORCHANGE
6930 END IF:GOTO *AREASC

日記 N88Basic PsetEditor 完全復旧 上

2023-01-09 18:01:00 | 日記
幻聴で思ったSu事その4
2023.01.23(Mon)
福岡大

10 REM *****************************************
20 REM * Programed by Dai Fukuoka 2011.01.7 *
30 REM * copyright 2011.01.7-1.30 *
40 REM * DotPresetEditor2011β *
50 REM *****************************************7430-7680 8330
60 *START
70 WIDTH 80,25:CONSOLE 0,25,0,1:SCREEN 3,0,0,1:COLOR 0,7,0,7,2:CLS 2
80 YY$=LEFT$(DATE$,2):MM$=RIGHT$(DATE$,5):MM$=LEFT$(MM$,2):DD$=RIGHT$(DATE$,2)
90 MOUSE(2)ON:MOUSE(3)ON
100 REM ON ERROR GOTO *ERRCD
110 LET FLAGS$="LINE":LET LMP=7:LET RMP=0:CX=1:CY=1
120 LET FLX=0:LET FLY=0:LET FLS=2::D=0:C=0:CP=7:LET LAY=0
130 LET RST=0:IVC=99:DIM IVX(99):DIM IVY(99):LET LAY=0:LET BG=0:LET BC=0
140 DIM UDX(99):DIM UDY(99):DIM UDF$(99):DIM UNDO(64,64,99)
150 DIM LAYER(65,65,7):DIM DITH(64,64,4):DIM W(64,64):DIM T(64,64):
160 DIM UDXL(99):DIM UDYL(99):DIM MOVABLEMAP(8,8,5)
170 DIM Y(64,64):DIM LAYER$(65,65,7):LET LAYER$="":DIM DATAFLOOR$(64,7)
180 DIM MASK(64,64):DIM IVPENTRM(99):REM DIM IVPENX(4096,99):DIM IVPENY(4096,99)
190 DIM IVXL(64,99):DIM IVYL(64,99):DIM IVFLAGS$(99)
200 DIM RAMSAVE(64,64,7):DIM IVENTMOTION(256,8,64):DIM IMF$(256,64)
210 DIM DARKSOLID(64,64):DIM HEVYPALE(64,64):DIM HEVYHARF(64,64):DIM HARF(64,64):
220 DIM LIGHT(64,64):DIM LIGHTPALE(64,64):DIM LIGHTSOLID(64,64):DIM CP(128,128,8)
230 DIM DM$(8,8):DIM DM(64,64,8):DIM DM2(64,64,8):DIM CHECKBOX(64,64):DIM MLCLOUMN(80,25,2):DIM MLC(80):DIM MLF(25):DIM MLCP(80):DIM MLFP(25)
240 IF MOVABLEMAP(SELECTBLOCX,SELECTBLOCY,1)=8 THEN GOSUB *BLUPMASK
250 IF MOVABLEMAP(SELECTBLOCX,SELECTBLOCY,2)=4 THEN GOSUB *BLLFMASK
260 IF MOVABLEMAP(SECECTBLOCX,SELECTBLOCY,3)=6 THEN GOSUB *BLRIMASK
270 IF POINT(639,399)=POINT(639,479) THEN SHOWVIEW=1 ELSE SHOWVIEW=-1
280 *NEARDISTANCE LET X=0:LET Y=0
290 IF SHOWVIEW=-1 THEN FOR I=0 TO 79 STEP 1:MLCP(I)=I*8 :NEXT
300 IF SHOWVIEW=-1 THEN FOR I=0 TO 24 STEP 1:MLFP(I)=I*16:NEXT
310 *LONGDISTANCE LET X=0:LET Y=0
320 IF SHOWVIEW=1 THEN FOR I=0 TO 79 STEP 1:MLCP(I) =I*8 :NEXT
330 IF SHOWVIEW=1 THEN FOR I=1 TO 25 STEP 1:MLFP(I) =I*18.8#:NEXT
340 ::
350 DIM BLPASS(8,8):DIM BLSTART(8,8)
360 LET DFL=1
370 REM GOSUB *DITHERMAPPING:GOSUB *DITHERFILTERLING:GOSUB *PREDISPLAYPASS
380 *RUNNINGPROGRAM
390 GOSUB *DITHERFILTERLING
400 LINE(0,0)-(640,480),15,BF:LINE(20,20)-(468,468),0,BF
410 FOR I=20 TO 468 STEP 7:LINE (I,20)-(I,468),12:NEXT I
420 FOR T=20 TO 468 STEP 7:LINE (20,T)-(468,T),12:NEXT T
430 LINE (488,18)-(616,468),7,BF:COLOR 0:LOCATE 61,2:PRINT"COLOR PALLETE"
440 I=0:IF PE=0 THEN FOR C=61 TO 76:LINE (MLCP(C),MLFP(2))-(MLCP(C+1),MLFP(3)),I,BF:I=I+1:NEXT C:PE=1
450 GOSUB *REFRESHTXT:GOTO *SETTING
460 *REFRESHTXT
470 COLOR 0:LOCATE 61,2:PRINT"COLOR PALLETE"
480 LOCATE 61,5:PRINT"COLOR LEVEL 0":LOCATE 61,6:PRINT"000 RGB"
490 LOCATE 61,7:PRINT"0123456789ABCDEF"
500 LOCATE 61,8:PRINT"DITHER 0-7< 01 >":LOCATE 61,10:PRINT"TOOL BOX"
510 LOCATE 61,11:PRINT"LINE / CARV":LOCATE 61,12:PRINT"PAINT / DOT"
520 LOCATE 61,13:PRINT"LAYER 012345 M/C":LOCATE 61,14:PRINT"PEN C / B 3 5":LOCATE 61,15:PRINT"SPOIT / GLID"
530 LOCATE 61,16:PRINT"UNDO 00 / RESET"
540 LOCATE 61,18:PRINT"FILE COMMAND":LOCATE 61,19:PRINT"RAM SAVE LOAD":LOCATE 61,20:PRINT"DISK SAVE LOAD"
550 LOCATE 61,21:PRINT":MYPIC"+YY$+MM$+DD$+".ASC":LOCATE 61,22:PRINT"STATUS"
560 LOCATE 61,23:PRINT"MATRIX X:64 Y:64":LOCATE 61,24:PRINT"/ LINE"
570 RETURN:::::
580 *SETTING
590 FOR X=0 TO 1:FOR I=1 TO 64:FOR T=1 TO 64:LET LAYER(I,T,X)=0:NEXT T:NEXT I:NEXT X
600 P=1:LBX=4:LBY=13:GOSUB *CP
610 P=2:LBX=13:LBY=13:GOSUB *CP
620 P=3:LBX=7:LBY=7:GOSUB *CP
630 P=5:LBX=0:LBY=5:GOSUB *CP
640 P=4:LBX=5:LBY=5:GOSUB *CP
650 P=0:LBX=0:LBY=2:GOSUB *CP
660 P=6:LBX=7:LBY=2:GOSUB *CP
670 GOTO *ASKIP
680 *LOBX
690 I=61:WHILE I<76:I=I+1:IF I<>LBX THEN WEND:I=0 ELSE *LOBXA
700 *LOBXA:LINE(MLCP(LBX+61),MLFP(LBY))-(MLCP(LBX+62),MLFP(LBY+1)),P,B:RETURN
710 *CP:I=61:WHILE I<76:I=I+1:IF NOT I=LBX THEN ELSE *CPB:GOTO *LOBF
720 WEND
730 *CPB :LINE(MLCP(LBX+61),MLFP(LBY))-(MLCP(LBX+62),MLFP(LBY+1)),P,B:RETURN
740 *LOBF I=61:WHILE I<76:I=I+1:IF NOT I=LBX AND I=0 THEN ELSE *LOBFA
750 WEND
760 *LOBFA RETURN
770 *ASKIP CX=1:CY=1:X=1:Y=1:LB=0:RB=0
780 LET A=0
790 *GOMOUSE CXB=CX:CYB=CY:XB=X:YB=Y
800 *CLICKMOUSE
810 X=MOUSE(0):Y=MOUSE(1)
820 IF CX<>MOUSE(4,1) OR CY<>MOUSE(5,1) THEN IF CX<>0 AND CY<>0 THEN CX=MOUSE(4,1):CY=MOUSE(5,1)
830 RCX=MOUSE(4,2):RCY=MOUSE(5,2):IF RCX<>O OR RCY<>0 THEN RB=1
840 GOTO *MOUSEIF:
850 *GTM GOTO *GOMOUSE
860 *MOUSEIF IF CXB<>CX OR CYB<>CY OR XB<>X OR YB<>Y THEN *MENUS ELSE *GTM
870 GOTO *MENUS
880 END
890 *MENUS IF CX<469 OR X<469 THEN *AREASC ELSE IF CX>469 OR X>469 THEN *TOOLS
900 END
910 *AREASC
920 GOTO *FIELDCNT
930 COLOR 7
940 *FLAGC
950 IF FLAGS$="DOT" THEN *FDOT ELSE IF FLAGS$="LINE" THEN *FLINE ELSE IF FLAGS$="CARV" THEN *FCARV
960 IF FLAGS$="PAINT" THEN *FPAINT ELSE IF FLAGS$="PEN" THEN *FPEN ELSE *AREASC
970 END
980 *FIELDCNT: COLOR 7:XX=1:YY=1
990 IF RST<>0 THEN *SKRSFC ELSE RST=1
1000 LET MCXX=0:MCYY=0:MCXB=0:MCYB=0:MCX=0:MCY=0:MCXR=0:MCYR=0:MSX=0:MSY=0:FMX=0:FMY=0:
1010 LET MCNX=0:MCNY=0:MCLX=0:MCLY=0:MCLBX=0:MCLBY=0:
1020 LET CLY=0:CLX=0:MSX=0:MSY=0:MCCL=0:MCCR=0:MDAD=0:MDADR=0:XXL=0:YYL=0:
1030 *SKRSFC
1040 MSXB=MSX:MSYB=MSY:MCXB=MCX:MCYB=MCY:MCXRB=MCXR:MCYRB=MCYR
1050 IF IVE=1 AND IVC=1 THEN IVC=99
1060 IF MCX=0 OR MCY=0 THEN MCX=MSX:MCY=MSY
1070 MSX=MOUSE(0):MSY=MOUSE(1):MCCL=MOUSE(3,1):MCCR=MOUSE(3,2):MDAD=MOUSE(2,1):MDADR=MOUSE(2,2)
1080 IF MSX=0 OR MSY=0 THEN MSX=MOUSE(0):MSY=MOUSE(1)
1090 *COUNTERA
1100 IF IVC>1 AND UDX(IVC)=UDX(IVC-1) AND UDY(IVC)=UDY(IVC-1) AND NOT UDX(IVC)=0 AND FLAGS$="LINE" THEN *DOUBLEPROCESS
1110 IF IVC>1 AND UDX(IVC)=UDX(IVC-1) AND UDY(IVC)=UDY(IVC-1) AND NOT UDX(IVC)=0 AND FLAGS$="CARV" THEN *DOUBLEPROCESS
1120 IF IVC>1 AND IVX(IVC)+4>IVX(IVC-1) AND IVX(IVC)-4<IVX(IVC-1) AND IVY(IVC)+4>IVY(IVC-1) AND IVY(IVC)-4<IVY(IVC-1) AND NOT IVX(IVC)=0 AND FLAGS$="LINE" THEN *DOUBLEPROCESS
1130 IF IVC>1 AND IVX(IVC)+4>IVX(IVC-1) AND IVX(IVC)-4<IVX(IVC-1) AND IVY(IVC)+4>IVY(IVC-1) AND IVY(IVC)-4<IVY(IVC-1) AND NOT IVX(IVC)=0 AND FLAGS$="CARV" THEN *DOUBLEPROCESS
1140 LOCATE 0,0:PRINT " "
1150 *DSKIP
1160 CLX=0:CLY=0:RB=0:T=0:WHILE T<1
1170 IF MCCL<>MOUSE(3,1) THEN CPASS=1:MCCL=MOUSE(3,1)
1180 IF MCCR<>MOUSE(3,2) THEN RB=1:CPASS=2:MCCR=MOUSE(3,2)
1190 IF CPASS=1 THEN CPASS=0:T=1:CLX=MOUSE(4,1):CLY=MOUSE(5,1)
1200 IF CPASS=2 THEN CPASS=0:T=1:MCYR=MOUSE(5,2):MCXR=MOUSE(4,2)
1210 WEND::MSX=MOUSE(0):MSY=MOUSE(1):LOCATE 20,10:PRINT"CLICK"
1220 IF CLX<20 OR CLY<20 OR CLY>468 THEN *COUNTERA
1230 IF RB=1 THEN IF MCXR<20 OR MCYR<20 OR MCXR>468 OR MCYR>468 THEN *COUNTERA
1240 IVC=IVC+1:IF IVC=100 THEN IVC=1
1250 IF CLX>468 THEN IVX(IVC)=CLX:IVY(IVC)=CLY:GOTO *TOOLS
1260 IF CLX=0 OR CLY=0 THEN IF RB=0 THEN *COUNTERA
1270 IF CLX=MCX AND CLY=MCY AND FLAGS$="LINE" THEN IF DOUBLE=0 THEN *DOUBLEPROCESS
1280 IF CLX=MCX AND CLY=MCY AND FLAGS$="CARV" THEN IF DOUBLE=0 THEN *DOUBLEPROCESS
1290 IF CLX+5>MCX AND CLX-5<MCX AND CLY+5>MCY AND CLY-5<MCY AND FLAGS$="LINE" THEN IF DOUBLE="0" THEN *DOUBLEPROCESS
1300 IF CLX+5>MCX AND CLX-5<MCX AND CLY+5>MCY AND CLY-5<MCY AND FLAGS$="CARV" THEN IF DOUBLE="0" THEN *DOUBLEPROCESS
1310 IF MCX<>CLX OR MCY<>CLY AND CLX<>0 AND CLY<>0 THEN MCX=CLX:MCY=CLY:LOCATE 20,10:PRINT"CLICKB"
1320 IF MSX=0 OR MSY=0 THEN MSX=MOUSE(0):MSY=MOUSE(1)
1330 IF MCX=0 OR MCY=0 THEN MCX=MOUSE(4,1):MCY=MOUSE(5,1)
1340 MCX=CLX:MCY=CLY
1350 *LBBLC
1360 IF IVC=100 THEN IVC=1
1370 DOUBLE=0
1380 IF MCX>468 AND MCX<20 OR MCY>468 OR MCY<20 THEN *AREASC
1390 IF MCX=MCXM AND MCY=MCYM THEN *RBBLC
1400 MCXX=MCX:IVX(IVC)=MCX:MCYY=MCY:IVY(IVC)=MCY
1410 REM IF IVX(IVC-1)=MCX OR IVY(IVC-1)=MCY THEN DOUBLE=1
1420 FOR I=1 TO 64:FOR T=1 TO 64:
1430 IF T*7+13<MSX AND T*7+20>MSX THEN FMX=T
1440 NEXT T:IF I*7+13<MSY AND I*7+20>MSY THEN FMY=I:
1450 NEXT I:LB=0
1460 FOR I=1 TO 64:FOR T=1 TO 64:
1470 IF T*7+13<MCX AND T*7+20>MCX THEN UDX(IVC)=T
1480 NEXT T:IF I*7+13<MCY AND I*7+20>MCY THEN UDY(IVC)=I
1490 NEXT I:LB=0:
1500 LOCATE 20,20:PRINT DOUBLE
1510 *ZEROSKIP
1520 IF IVX(IVC)=0 THEN IVX(IVC)=MSX
1530 IF IVY(IVC)=0 THEN IVY(IVC)=MSY
1540 IF UDX(IVC)=0 AND IVX(IVC)<>0 THEN *MEPROCESS
1550 IF UDY(IVC)=0 AND IVY(IVC)<>0 THEN *MEPROCESS
1560 GOTO *RBBLC
1570 *MEPROCESS
1580 MCXX=MSX:IVX(IVC)=MSX:MCYY=MSY:IVY(IVC)=MSY
1590 FOR I=1 TO 64:FOR T=1 TO 64:
1600 IF T*7+20<MSX AND T*7+27>MSX THEN UDX(IVC)=T:
1610 NEXT T:IF I*7+20<MSY AND I*7+27>MSY THEN UDY(IVC)=I:
1620 NEXT I:LB=0
1630 IF UDX(IVC)=0 AND UDY(IVC)=0 THEN MSX=MOUSE(0):MSY=MOUSE(1):GOTO *MEPROCESS
1640 IF UDX(IVC)=0 THEN MSX=MOUSE(0):GOTO *MEPROCESS
1650 IF UDY(IVC)=0 THEN MSY=MOUSE(1):GOTO *MEPROCESS
1660 *RBBLC REM
1670 IF MCXR=MCXRM AND MCYR=MCYRM THEN *EMC
1680 FOR I=1 TO 64:T=1:WHILE T<65
1690 IF T*7+13<MCXR AND T*7+20>MCXR AND MCX<>0 THEN FRMX=T:
1700 IF I*7+13<MCYR AND I*7+20>MCYR AND MCX<>0 THEN FRMY=I:
1710 IF T*7+13<MCXR AND T*7+20>MCXR AND MCX<>0 THEN MCXR=T*7+13:MCXRM=T
1720 IF I*7+13<MCYR AND I*7+20>MCYR AND MCX<>0 THEN MCYR=I*7+13:MCYRM=I
1730 T=T+1:WEND:NEXT I:LOCATE 0,3:PRINT "RB" RB=0:GOTO *EMC
1740 *EMC
1750 IF MCX>468 AND MCX<20 OR MCY>468 OR MCY<20 THEN *AREASC
1760 IF IVC>1 AND UDX(IVC)<>UDX(IVC-1) THEN XXL=UDX(IVC)-UDX(IVC-1)
1770 IF IVC>1 AND UDY(IVC)<>UDY(IVC-1) THEN YYL=UDY(IVC)-UDY(IVC-1)
1780 IF IVC=100 THEN IVC=1
1790 IF IVC=1 AND UDX(1)<>UDX(99) THEN XXL=UDX(1)-UDX(99)
1800 IF IVC=1 AND UDY(1)<>UDX(99) THEN YYL=UDY(1)-UDY(99)
1810 IF IVC>1 AND XXL=UDX(IVC) THEN XXL=UDX(IVC)-UDX(IVC-1)
1820 IF IVC>1 AND YYL=UDY(IVC) THEN YYL=UDY(IVC)-UDY(IVC-1)
1830 IF IVN<>IVC THEN LOCATE 1,4:PRINT IVX(IVC);T;XXL;UDX(IVC);,IVC;"X "
1840 IF IVN<>IVC THEN LOCATE 1,5:PRINT IVY(IVC);I;YYL;UDY(IVC);"Y "
1850 UDXL(IVC)=XXL:UDYL(IVC)=YYL
1860 IXX=IVX(IVC):IYY=IVY(IVC):IVN=IVC
1870 IF SWICH=0 THEN SWICH=1:GOTO *AREASC
1880 IF DC=1 THEN *AREASC
1890 GOTO *FLAGC
1900 END
1910 *DOUBLEPROCESS
1920 LOCATE 0,0:PRINT "DOUBLE"
1930 IF FLAGS$="LINE" OR FLAGS$="CARV" THEN ELSE MCX=CLX:MCY=CLY:GOTO *LBBLC
1940 MCCL=MOUSE(3,1)
1950 DOUBLE=1:MCX=CLX:MCY=CLY:LOCATE 0,22:PRINT"dp"
1960 IF CLX>468 THEN IF IVC>1 THEN IVC=IVC-1:GOTO *TOOLS ELSE IF IVC=99 THEN IVC=1:GOTO *TOOLS
1970 T=0:WHILE T<1
1980 IF MCCL<>MOUSE(3,1) THEN CPASS=1:MCCL=MOUSE(3,1)
1990 IF MCCR<>MOUSE(3,2) THEN RB=1:CPASS=2:MCCR=MOUSE(3,2)
2000 IF CPASS=1 THEN CPASS=0:T=1:MDCX=MOUSE(4,1):MDCY=MOUSE(5,1)
2010 IF CPASS=2 THEN CPASS=0:T=1:MCYR=MOUSE(5,2):MCXR=MOUSE(4,2)
2020 WEND::MSX=MOUSE(0):MSY=MOUSE(1):LOCATE 10,10:PRINT"mdc1"
2030 IF MDCX>468 THEN IF IVC>1 THEN IVC=IVC-1:GOTO *TOOLS ELSE IF IVC=99 THEN IVC=1:GOTO *TOOLS
2040 IF MDCX<20 OR MDCY<20 OR MDCX>468 OR MDCY>468 THEN *COUNTERA
2050 IF RB=1 THEN IF MCXR<20 OR MCYR<20 OR MCXR>468 OR MCYR>468 THEN *COUNTERA
2060 MSX=MOUSE(0):MSY=MOUSE(1)
2070 IVC=IVC+1:IF IVC=100 THEN IVC=1
2080 IVX(IVC)=MDCX:IVY(IVC)=MDCY
2090 IF MDCX=0 AND MDCY=0 THEN *DOUBLEPROCESS
2100 IF IVX(IVC)<>MDCX AND IVY(IVC)<>MDCY THEN *DOUBLEPROCESS
2110 FOR I=1 TO 64:FOR T=1 TO 64:
2120 IF T*7+20<MDCX AND T*7+27>MDCX THEN UDX(IVC)=T
2130 NEXT T:IF I*7+20<MDCY AND I*7+27>MDCY THEN UDY(IVC)=I
2140 NEXT I:LB=0:
2150 MCX=MDCX:MCY=MDCY
2160 IF UDX(IVC)=0 OR UDY(IVC)=0 THEN GOSUB *SUBPROCESSDC
2170 *DPROCESSB
2180 MCCL=MOUSE(3,1)
2190 T=0:WHILE T<1
2200 IF MCCL<>MOUSE(3,1) THEN CPASS=1:MCCL=MOUSE(3,1)
2210 IF MCCR<>MOUSE(3,2) THEN RB=1:CPASS=2:MCCR=MOUSE(3,2)
2220 IF CPASS=1 THEN CPASS=0:T=1:MDCX=MOUSE(4,1):MDCY=MOUSE(5,1)
2230 IF CPASS=2 THEN CPASS=0:T=1:MCYR=MOUSE(5,2):MCXR=MOUSE(4,2)
2240 WEND::MSX=MOUSE(0):MSY=MOUSE(1):LOCATE 10,10:PRINT"mdc2"
2250 IF CLX>468 THEN *TOOLS
2260 IF MDCX<20 OR MDCY<20 OR MDCX>468 OR MDCY>468 THEN *COUNTERA
2270 IVC=IVC+1:IF IVC=100 THEN IVC=1
2280 IF RB=1 THEN IF MCXR<20 OR MCYR<20 OR MCXR>468 OR MCYR>468 THEN *COUNTERA
2290 IVX(IVC)=MDCX:IVY(IVC)=MDCY
2300 IF MDCX=0 AND MDCY=0 THEN *DPROCESSB
2310 IF IVX(IVC)<>MDCX AND IVY(IVC)<>MDCY THEN *DPROCESSB
2320 FOR I=1 TO 64:FOR T=1 TO 64:
2330 IF T*7+13<MDCX AND T*7+20>MDCX THEN UDX(IVC)=T
2340 NEXT T:IF I*7+13<MDCY AND I*7+20>MDCY THEN UDY(IVC)=I
2350 NEXT I:LB=0:
2360 MCX=MDCX:MCY=MDCY
2370 MSX=MOUSE(0):MSY=MOUSE(1)
2380 IF UDX(IVC)=0 OR UDY(IVC)=0 THEN GOSUB *SUBPROCESSDC
2390 IF IVN<>IVC THEN LOCATE 1,4:PRINT IVX(IVC);T;XXL;UDX(IVC);,IVC;"X "
2400 IF IVN<>IVC THEN LOCATE 1,5:PRINT IVY(IVC);I;YYL;UDY(IVC);"Y "
2410 *DPROCESSC
2420 MCCL=MOUSE(3,1)
2430 T=0:WHILE T<1
2440 IF MCCL<>MOUSE(3,1) THEN CPASS=1:MCCL=MOUSE(3,1)
2450 IF MCCR<>MOUSE(3,2) THEN RB=1:CPASS=2:MCCR=MOUSE(3,2)
2460 IF CPASS=1 THEN CPASS=0:T=1:MCX=MOUSE(4,1):MCY=MOUSE(5,1)
2470 IF CPASS=2 THEN CPASS=0:T=1:MCYR=MOUSE(5,2):MCXR=MOUSE(4,2)
2480 WEND::MSX=MOUSE(0):MSY=MOUSE(1):LOCATE 10,10:PRINT"mdc3"
2490 IF CLX>468 THEN *TOOLS
2500 IF MCX<20 OR MCY<20 OR MCX>468 OR MCY>468 THEN *COUNTERA
2510 IF RB=1 THEN IF MCXR<20 OR MCYR<20 OR MCXR>468 OR MCYR>468 THEN *COUNTERA
2520 MSX=MOUSE(0):MSY=MOUSE(1)
2530 IVC=IVC+1:IF IVC=100 THEN IVC=1
2540 IF MCX=0 OR MCY=0 THEN *DPROCESSC
2550 IVX(IVC)=MCX:IVY(IVC)=MCY
2560 FOR I=1 TO 64:FOR T=1 TO 64:
2570 IF (T*7)+20<MCX AND (T*7)+27>MCX THEN UDX(IVC)=T
2580 NEXT T:IF (I*7)+20<MCY AND (I*7)+27>MCY THEN UDY(IVC)=I
2590 NEXT I:LB=0:
2600 IF UDX(IVC)=0 OR UDY(IVC)=0 THEN GOSUB *SUBPROCESSDC
2610 *EMDC
2620 IF IVC>1 AND UDX(IVC)<>UDX(IVC-1) THEN XXL=UDX(IVC)-UDX(IVC-1)
2630 IF IVC>1 AND UDY(IVC)<>UDY(IVC-1) THEN YYL=UDY(IVC)-UDY(IVC-1)
2640 IF IVC=100 THEN IVC=1:RFOF=1
2650 IF IVC=1 AND UDX(1)<>UDX(99) THEN XXL=UDX(1)-UDX(99)
2660 IF IVC=1 AND UDY(1)<>UDX(99) THEN YYL=UDY(1)-UDY(99)
2670 IF IVC>1 AND XXL=UDX(IVC) THEN XXL=UDX(IVC)-UDX(IVC-1)
2680 IF IVC>1 AND YYL=UDY(IVC) THEN YYL=UDY(IVC)-UDY(IVC-1)
2690 IF IVN<>IVC THEN LOCATE 1,8:PRINT IVX(IVC);T;XXL;UDX(IVC);,IVC;"X "
2700 IF IVN<>IVC THEN LOCATE 1,9:PRINT IVY(IVC);I;YYL;UDY(IVC);"Y "
2710 UDXL(IVC)=XXL:UDYL(IVC)=YYL
2720 PRINT"AAAAAAAAAAAAAAA":DOUBLE=0:IF RFOF=1 AND IVC=1 THEN *REFRESHOF ELSE GOTO *FLAGC
2730 END
2740 *SUBPROCESSDC
2750 FOR I=1 TO 64:FOR T=1 TO 64:
2760 IF T*7+13<MSX AND T*7+20>MSX THEN UDX(IVC)=T:
2770 NEXT T:IF I*7+13<MSY AND I*7+20>MSY THEN UDY(IVC)=I:
2780 NEXT I:LB=0
2790 IF UDX(IVC)=0 AND UDY(IVC)=0 THEN MSX=MOUSE(0):MSY=MOUSE(1):GOTO *SUBPROCESSDC
2800 IF UDX(IVC)=0 THEN MSX=MOUSE(0):GOTO *SUBPROCESSDC
2810 IF UDY(IVC)=0 THEN MSY=MOUSE(1):GOTO *SUBPROCESSDC
2820 RETURN
2830 *REFRESHOF
2840 IF RFOF=1 THEN RFOF=0
2850 FOR I=2 TO 99:MIV=MIV+1:IF MIV=256 THEN MIV=0:MIVCNT=MIVCNT+1:IF MIVCNT=64 THEN MIVCNT=0:MIV=0
2860 IVENTMOTION(MIV,1,CNTMIV)=UDX(I):UDX(I)=0:IVENTMOTION(MIV,2,CNTMIV)=UDY(I):UDY(I)=0:
2870 IVENTMOTION(MIV,3,CNTMIV)=UDXL(I):UDXL(I)=0:IVENTMOTION(MIV,4,CNTMIV)=UDYL(I):UDYL(I)=0:
2880 IVENTMOTION(MIV,5,CNTMIV)=IVX(I):IVX(I)=0:IVENTMOTION(MIV,6,CNTMIV)=IVY(I):IVY(I)=0:
2890 IMF$(MIV,CNTMIV)=IVFLAGS$(I):NEXT
2900 GOTO *FLAGC
2910 END
2920 *DITHERMAPPING
2930 REM darksolid / Hevypale / Hevyharf / harf / light / lightpale / lightsolid
2940 DATA "11111111","11111111","11111111","01010101","00000000","00000000","00000000","10000001"
2950 DATA "11111111","10111011","10101010","10101010","10101010","00100010","00000000","01000010"
2960 DATA "11111111","11111111","11111111","01010101","00000000","00000000","00000000","00100100"
2970 DATA "11111111","11101110","10101010","10101010","10101010","10001000","00000000","00011000"
2980 DATA "11111111","11111111","11111111","01010101","00000000","00000000","00000000","00011000"
2990 DATA "11111111","10111011","10101010","10101010","10101010","00100010","00000000","00100100"
3000 DATA "11111111","11111111","11111111","01010101","00000000","00000000","00000000","01000010"
3010 DATA "11111111","11101110","10101010","10101010","10101010","10001000","00000000","10000001"
3020 FOR T=1 TO 8:FOR I=1 TO 8:READ DM$(T,I):NEXT I:NEXT T
3030 FOR R=1 TO 8:FOR T=1 TO 8:RN=0:FOR I=1 TO 8:RN=RN+1:DMS=VAL(RIGHT$(LEFT$(DM$(T,R),RN),1))
3040 DMS$=LEFT$(DM$(T,R),9-I):DMS$=RIGHT$(DMS$,1):DMS=VAL(DMS$)
3050 DM(I,T,R)=DMS:NEXT I:NEXT T:NEXT R
3060 TT=0:FOR T=1 TO 64:II=0:TT=TT+1:FOR I=1 TO 8:II=II+1:REM PRINT DM(II,TT,1);"+++";:
3070 IF TT>8 THEN TT=1
3080 DLG=DM(II,TT,1)
3090 DARKSOLID(I,T)=DLG:DARKSOLID(8+I,T)=DLG:DARKSOLID(16+II,T)=DLG
3100 DARKSOLID(24+II,T)=DLG:DARKSOLID(32+II,T)=DLG:DARKSOLID(40+II,T)=DLG
3110 DARKSOLID(48+II,T)=DLG:DARKSOLID(56+II,T)=DLG
3120 DLG=DM(II,TT,2)
3130 HEVYPALE(I,T)=DLG:HEVYPALE(8+II,T)=DLG:HEVYPALE(16+II,T)=DLG
3140 HEVYPALE(24+II,T)=DLG:HEVYPALE(32+II,T)=DLG:HEVYPALE(40+II,T)=DLG
3150 HEVYPALE(48+II,T)=DLG:HEVYPALE(56+II,T)=DLG
3160 DLG=DM(II,TT,3)
3170 HEVYHARF(I,T)=DLG:HEVYHARF(8+II,T)=DLG:HEVYHARF(16+II,T)=DLG
3180 HEVYHARF(24+II,T)=DLG:HEVYHARF(32+II,T)=DLG:HEVYHARF(40+II,T)=DLG
3190 HEVYHARF(48+II,T)=DLG:HEVYHARF(56+II,T)=DLG
3200 DLG=DM(II,TT,4)
3210 HARF(I,T)=DLG:HARF(8+II,T)=DLG:HARF(16+II,T)=DLG
3220 HARF(24+II,T)=DLG:HARF(32+II,T)=DLG:HARF(40+II,T)=DLG
3230 HARF(48+I,T)=DLG:HARF(56+II,T)=DLG
3240 DLG=DM(II,TT,5)
3250 LIGHT(I,T)=DLG:LIGHT(8+II,T)=DLG:LIGHT(16+II,T)=DLG
3260 LIGHT(24+II,T)=DLG:LIGHT(32+II,T)=DLG:LIGHT(40+II,T)=DLG
3270 LIGHT(48+II,T)=DLG:LIGHT(56+II,T)=DLG
3280 DLG=DM(II,TT,6)
3290 LIGHTPALE(I,T)=DLG:LIGHTPALE(8+II,T)=DLG:LIGHTPALE(16+II,T)=DLG
3300 LIGHTPALE(24+II,T)=DLG:LIGHTPALE(32+II,T)=DLG:LIGHTPALE(40+II,T)=DLG
3310 LIGHTPALE(48+II,T)=DLG:LIGHTPALE(56+II,T)=DLG
3320 DLG=DM(II,TT,7)
3330 LIGHTSOLID(I,T)=DLG:LIGHTSOLID(8+II,T)=DLG:LIGHTSOLID(16+II,T)=DLG
3340 LIGHTSOLID(24+II,T)=DLG:LIGHTSOLID(32+II,T)=DLG:LIGHTSOLID(40+II,T)=DLG
3350 LIGHTSOLID(48+II,T)=DLG:LIGHTSOLID(56+II,T)=DLG
3360 DLG=DM(II,TT,8)
3370 CHECKBOX(I,T)=DLG:CHECKBOX(8+II,T)=DLG:CHECKBOX(16+II,T)=DLG
3380 CHECKBOX(24+II,T)=DLG:CHECKBOX(32+II,T)=DLG:CHECKBOX(40+II,T)=DLG
3390 CHECKBOX(48+II,T)=DLG:CHECKBOX(56+II,T)=DLG
3400 NEXT I:NEXT T
3410 :::::::::::::::::::::: REM DM2 PROCESS
3420 FOR T=1 TO 64:FOR I=1 TO 64:DM2(I,T,1)=DARKSOLID(I,T):NEXT I:NEXT T
3430 FOR T=1 TO 64:FOR I=1 TO 64:DM2(I,T,2)=HEVYPALE(I,T):NEXT I:NEXT T
3440 FOR T=1 TO 64:FOR I=1 TO 64:DM2(I,T,3)=HEVYHARF(I,T):NEXT I:NEXT T
3450 FOR T=1 TO 64:FOR I=1 TO 64:DM2(I,T,4)=HARF(I,T):NEXT I:NEXT T
3460 FOR T=1 TO 64:FOR I=1 TO 64:DM2(I,T,5)=LIGHT(I,T):NEXT I:NEXT T
3470 FOR T=1 TO 64:FOR I=1 TO 64:DM2(I,T,6)=LIGHTPALE(I,T):NEXT I:NEXT T
3480 FOR T=1 TO 64:FOR I=1 TO 64:DM2(I,T,7)=LIGHTSOLID(I,T):NEXT I:NEXT T
3490 FOR T=1 TO 64:FOR I=1 TO 64:DM2(I,T,8)=CHECKBOX(I,T):NEXT I:NEXT T
3500 RETURN