幻聴で思った事その4
2022.5.25(Wed)
福岡大
お絵かきソフトの再開発↓福岡大 作者 2011‐2022Copyright
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
51 *START
60 WIDTH 80,25:CONSOLE 0,25,0,1:SCREEN 3,0,0,1:COLOR 0,7,0,7,2:CLS 2
70 YY$=LEFT$(DATE$,2):MM$=RIGHT$(DATE$,5):MM$=LEFT$(MM$,2):DD$=RIGHT$(DATE$,2)
80 MOUSE(2)ON:MOUSE(3)ON
90 REM ON ERROR GOTO *ERRCD
100 LET FLAGS$="LINE":LET LMP=7:LET RMP=0:CX=1:CY=1
110 LET FLX=0:LET FLY=0:LET FLS=2::D=0:C=0:CP=7:LET LAY=0
120 LET RST=0:IVC=99:DIM IVX(99):DIM IVY(99):LET LAY=0:LET BG=0:LET BC=0
130 DIM UDX(99):DIM UDY(99):DIM UDF$(99):DIM UNDO(64,64,99)
140 DIM LAYER(65,65,7):DIM DITH(64,64,4):DIM W(64,64):DIM T(64,64):
150 DIM UDXL(99):DIM UDYL(99):DIM MOVABLEMAP(8,8,5)
160 DIM Y(64,64):DIM LAYER$(65,65,7):LET LAYER$="":DIM DATAFLOOR$(64,7)
170 DIM MASK(64,64):DIM IVPENTRM(99):REM DIM IVPENX(4096,99):DIM IVPENY(4096,99)
180 DIM IVXL(64,99):DIM IVYL(64,99):DIM IVFLAGS$(99)
190 DIM RAMSAVE(64,64,7):DIM IVENTMOTION(256,8,64):DIM IMF$(256,64)
200 DIM DARKSOLID(64,64):DIM HEVYPALE(64,64):DIM HEVYHARF(64,64):DIM HARF(64,64):
210 DIM LIGHT(64,64):DIM LIGHTPALE(64,64):DIM LIGHTSOLID(64,64):DIM CP(128,128,8)
220 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)
230 IF MOVABLEMAP(SELECTBLOCX,SELECTBLOCY,1)=8 THEN GOSUB *BLUPMASK
240 IF MOVABLEMAP(SELECTBLOCX,SELECTBLOCY,2)=4 THEN GOSUB *BLLFMASK
250 IF MOVABLEMAP(SECECTBLOCX,SELECTBLOCY,3)=6 THEN GOSUB *BLRIMASK
260 IF POINT(639,399)=POINT(639,479) THEN SHOWVIEW=1 ELSE SHOWVIEW=-1
270 *NEARDISTANCE LET X=0:LET Y=0
280 IF SHOWVIEW=-1 THEN FOR I=0 TO 79 step 1:MLC(I)=i*8 :NEXT
290 IF SHOWVIEW=-1 THEN FOR I=0 TO 24 step 1:MLF(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
350 ::
360 DIM BLPASS(8,8):DIM BLSTART(8,8)
370 LET DFL=1
380 REM GOSUB *DITHERMAPPING:GOSUB *DITHERFILTERLING:GOSUB *PREDISPLAYPASS
390 *RUNNINGPROGRAM
400 REM GOSUB *DITHERFILTERLING
410 LINE(0,0)-(640,480),15,BF:LINE(20,20)-(468,468),0,BF
420 FOR I=20 TO 468 STEP 7:LINE (I,20)-(I,468),12:NEXT I
430 FOR T=20 TO 468 STEP 7:LINE (20,T)-(468,T),12:NEXT T
440 LINE (488,18)-(616,468),7,BF:COLOR 0:LOCATE 61,2:PRINT"COLOR PALLETE"
450 I=0:FOR C=61 TO 76:LINE (MLCP(C),MLFP(2))-(MLCP(C+1),MLFP(3)),I,BF:I=I+1:NEXT C: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=11: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 ELSE *LOBXA
700 *LOBXA:LINE(MLCP(LBX),MLFP(LBY))-(MLCP(LBX+1),MLFP(LBY+1)),P,B:RETURN
710 *CP:I=61:WHILE I<76:I=I+1:IF NOT I=LBX THEN ELSE GOSUB *CPB:GOTO *LOBF
711 WEND
720 *CPB:LINE(MLCP(LBX+61),MLFP(LBY))-(MLCP(LBX+62),MLFP(LBY+1)),P,b:RETURN
730 *LOBF I=61:WHILE I<76:I=I+1:IF NOT I=LBX THEN ELSE GOSUB *LOBFA:RETURN
731 WEND
740 *LOBFA
750 *ASKIP CX=1:CY=1:X=1:Y=1:LB=0:RB=0
760 LET A=0
770 *GOMOUSE CXB=CX:CYB=CY:XB=X:YB=Y
780 *CLICKMOUSE
790 X=MOUSE(0):Y=MOUSE(1)
800 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)
810 RCX=MOUSE(4,2):RCY=MOUSE(5,2):IF RCX<>O OR RCY<>0 THEN RB=1
820 GOTO *MOUSEIF:
830 *GTM GOTO *GOMOUSE
840 *MOUSEIF IF CXB<>CX OR CYB<>CY OR XB<>X OR YB<>Y THEN *MENUS ELSE *GTM
850 GOTO *MENUS
860 END
870 *MENUS IF CX<469 OR X<469 THEN *AREASC ELSE IF CX>469 OR X>469 THEN *TOOLS
880 END
890 *AREASC
900 GOTO *FIELDCNT
910 COLOR 7
920 *FLAGC
930 IF FLAGS$="DOT" THEN *FDOT ELSE IF FLAGS$="LINE" THEN *FLINE ELSE IF FLAGS$="CARV" THEN *FCARV
940 IF FLAGS$="PAINT" THEN *FPAINT ELSE IF FLAGS$="PEN" THEN *FPEN ELSE *AREASC
950 END
960 *FIELDCNT: COLOR 7:XX=1:YY=1
970 IF RST<>0 THEN *SKRSFC ELSE RST=1
980 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:
990 LET MCNX=0:MCNY=0:MCLX=0:MCLY=0:MCLBX=0:MCLBY=0:
1000 LET CLY=0:CLX=0:MSX=0:MSY=0:MCCL=0:MCCR=0:MDAD=0:MDADR=0:XXL=0:YYL=0:
1010 *SKRSFC
1020 MSXB=MSX:MSYB=MSY:MCXB=MCX:MCYB=MCY:MCXRB=MCXR:MCYRB=MCYR
1030 IF IVE=1 AND IVC=1 THEN IVC=99
1040 IF MCX=0 OR MCY=0 THEN MCX=MSX:MCY=MSY
1050 MSX=MOUSE(0):MSY=MOUSE(1):MCCL=MOUSE(3,1):MCCR=MOUSE(3,2):MDAD=MOUSE(2,1):MDADR=MOUSE(2,2)
1060 IF MSX=0 OR MSY=0 THEN MSX=MOUSE(0):MSY=MOUSE(1)
1070 *COUNTERA
1080 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
1090 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
1100 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
1110 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
1120 LOCATE 0,0:PRINT " "
1130 *DSKIP
1140 CLX=0:CLY=0:RB=0:T=0:WHILE T<1
1150 IF MCCL<>MOUSE(3,1) THEN CPASS=1:MCCL=MOUSE(3,1)
1160 IF MCCR<>MOUSE(3,2) THEN RB=1:CPASS=2:MCCR=MOUSE(3,2)
1170 IF CPASS=1 THEN CPASS=0:T=1:CLX=MOUSE(4,1):CLY=MOUSE(5,1)
1180 IF CPASS=2 THEN CPASS=0:T=1:MCYR=MOUSE(5,2):MCXR=MOUSE(4,2)
1190 WEND::MSX=MOUSE(0):MSY=MOUSE(1):LOCATE 20,10:PRINT"CLICK"
1200 IF CLX<20 OR CLY<20 OR CLY>468 THEN *COUNTERA
1210 IF RB=1 THEN IF MCXR<20 OR MCYR<20 OR MCXR>468 OR MCYR>468 THEN *COUNTERA
1220 IVC=IVC+1:IF IVC=100 THEN IVC=1
1230 IF CLX>468 THEN IVX(IVC)=CLX:IVY(IVC)=CLY:GOTO *TOOLS
1240 IF CLX=0 OR CLY=0 THEN IF RB=0 THEN *COUNTERA
1250 IF CLX=MCX AND CLY=MCY AND FLAGS$="LINE" THEN IF DOUBLE=0 THEN *DOUBLEPROCESS
1260 IF CLX=MCX AND CLY=MCY AND FLAGS$="CARV" THEN IF DOUBLE=0 THEN *DOUBLEPROCESS
1270 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
1280 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
1290 IF MCX<>CLX OR MCY<>CLY AND CLX<>0 AND CLY<>0 THEN MCX=CLX:MCY=CLY:LOCATE 20,10:PRINT"CLICKB"
1300 IF MSX=0 OR MSY=0 THEN MSX=MOUSE(0):MSY=MOUSE(1)
1310 IF MCX=0 OR MCY=0 THEN MCX=MOUSE(4,1):MCY=MOUSE(5,1)
1320 MCX=CLX:MCY=CLY
1330 *LBBLC
1340 IF IVC=100 THEN IVC=1
1350 DOUBLE=0
1360 IF MCX>468 AND MCX<20 OR MCY>468 OR MCY<20 THEN *AREASC
1370 IF MCX=MCXM AND MCY=MCYM THEN *RBBLC
1380 MCXX=MCX:IVX(IVC)=MCX:MCYY=MCY:IVY(IVC)=MCY
1390 REM IF IVX(IVC-1)=MCX OR IVY(IVC-1)=MCY THEN DOUBLE=1
1400 FOR I=1 TO 64:FOR T=1 TO 64:
1410 IF T*7+20<MSX AND T*7+27>MSX THEN FMX=T
1420 NEXT T:IF I*7+20<MSY AND I*7+27>MSY THEN FMY=I:
1430 NEXT I:LB=0
1440 FOR I=1 TO 64:FOR T=1 TO 64:
1450 IF T*7+20<MCX AND T*7+27>MCX THEN UDX(IVC)=T
1460 NEXT T:IF I*7+20<MCY AND I*7+27>MCY THEN UDY(IVC)=I
1470 NEXT I:LB=0:
1480 LOCATE 20,20:PRINT DOUBLE
1490 *ZEROSKIP
1500 IF IVX(IVC)=0 THEN IVX(IVC)=MSX
1510 IF IVY(IVC)=0 THEN IVY(IVC)=MSY
1520 IF UDX(IVC)=0 AND IVX(IVC)<>0 THEN *MEPROCESS
1530 IF UDY(IVC)=0 AND IVY(IVC)<>0 THEN *MEPROCESS
1540 GOTO *RBBLC
1550 *MEPROCESS
1560 MCXX=MSX:IVX(IVC)=MSX:MCYY=MSY:IVY(IVC)=MSY
1570 FOR I=1 TO 64:FOR T=1 TO 64:
1580 IF T*7+20<MSX AND T*7+27>MSX THEN UDX(IVC)=T:
1590 NEXT T:IF I*7+20<MSY AND I*7+27>MSY THEN UDY(IVC)=I:
1600 NEXT I:LB=0
1610 IF UDX(IVC)=0 AND UDY(IVC)=0 THEN MSX=MOUSE(0):MSY=MOUSE(1):GOTO *MEPROCESS
1620 IF UDX(IVC)=0 THEN MSX=MOUSE(0):GOTO *MEPROCESS
1630 IF UDY(IVC)=0 THEN MSY=MOUSE(1):GOTO *MEPROCESS
1640 *RBBLC REM
1650 IF MCXR=MCXRM AND MCYR=MCYRM THEN *EMC
1660 FOR I=1 TO 64:T=1:WHILE T<65
1670 IF T*7+20<MCXR AND T*7+27>MCXR AND MCX<>0 THEN FRMX=T:
1680 IF I*7+20<MCYR AND I*7+27>MCYR AND MCX<>0 THEN FRMY=I:
1690 IF T*7+20<MCXR AND T*7+27>MCXR AND MCX<>0 THEN MCXR=T*7+20:MCXRM=T
1700 IF I*7+20<MCYR AND I*7+27>MCYR AND MCX<>0 THEN MCYR=I*7+20:MCYRM=I
1710 T=T+1:WEND:NEXT I:LOCATE 0,3:PRINT "RB" RB=0:GOTO *EMC
1720 *EMC
1730 IF MCX>468 AND MCX<20 OR MCY>468 OR MCY<20 THEN *AREASC
1740 IF IVC>1 AND UDX(IVC)<>UDX(IVC-1) THEN XXL=UDX(IVC)-UDX(IVC-1)
1750 IF IVC>1 AND UDY(IVC)<>UDY(IVC-1) THEN YYL=UDY(IVC)-UDY(IVC-1)
1760 IF IVC=100 THEN IVC=1
1770 IF IVC=1 AND UDX(1)<>UDX(99) THEN XXL=UDX(1)-UDX(99)
1780 IF IVC=1 AND UDY(1)<>UDX(99) THEN YYL=UDY(1)-UDY(99)
1790 IF IVC>1 AND XXL=UDX(IVC) THEN XXL=UDX(IVC)-UDX(IVC-1)
1800 IF IVC>1 AND YYL=UDY(IVC) THEN YYL=UDY(IVC)-UDY(IVC-1)
1810 IF IVN<>IVC THEN LOCATE 1,4:PRINT IVX(IVC);T;XXL;UDX(IVC);,IVC;"X "
1820 IF IVN<>IVC THEN LOCATE 1,5:PRINT IVY(IVC);I;YYL;UDY(IVC);"Y "
1830 UDXL(IVC)=XXL:UDYL(IVC)=YYL
1840 IXX=IVX(IVC):IYY=IVY(IVC):IVN=IVC
1850 IF SWICH=0 THEN SWICH=1:GOTO *AREASC
1860 IF DC=1 THEN *AREASC
1870 GOTO *FLAGC
1880 END
1890 *DOUBLEPROCESS
1900 LOCATE 0,0:PRINT "DOUBLE"
1910 IF FLAGS$="LINE" OR FLAGS$="CARV" THEN ELSE MCX=CLX:MCY=CLY:GOTO *LBBLC
1920 MCCL=MOUSE(3,1)
1930 DOUBLE=1:MCX=CLX:MCY=CLY:LOCATE 0,22:PRINT"dp"
1940 IF CLX>468 THEN IF IVC>1 THEN IVC=IVC-1:GOTO *TOOLS ELSE IF IVC=99 THEN IVC=1:GOTO *TOOLS
1950 T=0:WHILE T<1
1960 IF MCCL<>MOUSE(3,1) THEN CPASS=1:MCCL=MOUSE(3,1)
1970 IF MCCR<>MOUSE(3,2) THEN RB=1:CPASS=2:MCCR=MOUSE(3,2)
1980 IF CPASS=1 THEN CPASS=0:T=1:MDCX=MOUSE(4,1):MDCY=MOUSE(5,1)
1990 IF CPASS=2 THEN CPASS=0:T=1:MCYR=MOUSE(5,2):MCXR=MOUSE(4,2)
2000 WEND::MSX=MOUSE(0):MSY=MOUSE(1):LOCATE 10,10:PRINT"mdc1"
2010 IF MDCX>468 THEN IF IVC>1 THEN IVC=IVC-1:GOTO *TOOLS ELSE IF IVC=99 THEN IVC=1:GOTO *TOOLS
2020 IF MDCX<20 OR MDCY<20 OR MDCX>468 OR MDCY>468 THEN *COUNTERA
2030 IF RB=1 THEN IF MCXR<20 OR MCYR<20 OR MCXR>468 OR MCYR>468 THEN *COUNTERA
2040 MSX=MOUSE(0):MSY=MOUSE(1)
2050 IVC=IVC+1:IF IVC=100 THEN IVC=1
2060 IVX(IVC)=MDCX:IVY(IVC)=MDCY
2070 IF MDCX=0 AND MDCY=0 THEN *DOUBLEPROCESS
2080 IF IVX(IVC)<>MDCX AND IVY(IVC)<>MDCY THEN *DOUBLEPROCESS
2090 FOR I=1 TO 64:FOR T=1 TO 64:
2100 IF T*7+20<MDCX AND T*7+27>MDCX THEN UDX(IVC)=T
2110 NEXT T:IF I*7+20<MDCY AND I*7+27>MDCY THEN UDY(IVC)=I
2120 NEXT I:LB=0:
2130 MCX=MDCX:MCY=MDCY
2140 IF UDX(IVC)=0 OR UDY(IVC)=0 THEN GOSUB *SUBPROCESSDC
2150 *DPROCESSB
2160 MCCL=MOUSE(3,1)
2170 T=0:WHILE T<1
2180 IF MCCL<>MOUSE(3,1) THEN CPASS=1:MCCL=MOUSE(3,1)
2190 IF MCCR<>MOUSE(3,2) THEN RB=1:CPASS=2:MCCR=MOUSE(3,2)
2200 IF CPASS=1 THEN CPASS=0:T=1:MDCX=MOUSE(4,1):MDCY=MOUSE(5,1)
2210 IF CPASS=2 THEN CPASS=0:T=1:MCYR=MOUSE(5,2):MCXR=MOUSE(4,2)
2220 WEND::MSX=MOUSE(0):MSY=MOUSE(1):LOCATE 10,10:PRINT"mdc2"
2230 IF CLX>468 THEN *TOOLS
2240 IF MDCX<20 OR MDCY<20 OR MDCX>468 OR MDCY>468 THEN *COUNTERA
2250 IVC=IVC+1:IF IVC=100 THEN IVC=1
2260 IF RB=1 THEN IF MCXR<20 OR MCYR<20 OR MCXR>468 OR MCYR>468 THEN *COUNTERA
2270 IVX(IVC)=MDCX:IVY(IVC)=MDCY
2280 IF MDCX=0 AND MDCY=0 THEN *DPROCESSB
2290 IF IVX(IVC)<>MDCX AND IVY(IVC)<>MDCY THEN *DPROCESSB
2300 FOR I=1 TO 64:FOR T=1 TO 64:
2310 IF T*7+20<MDCX AND T*7+27>MDCX THEN UDX(IVC)=T
2320 NEXT T:IF I*7+20<MDCY AND I*7+27>MDCY THEN UDY(IVC)=I
2330 NEXT I:LB=0:
2340 MCX=MDCX:MCY=MDCY
2350 MSX=MOUSE(0):MSY=MOUSE(1)
2360 IF UDX(IVC)=0 OR UDY(IVC)=0 THEN GOSUB *SUBPROCESSDC
2370 IF IVN<>IVC THEN LOCATE 1,4:PRINT IVX(IVC);T;XXL;UDX(IVC);,IVC;"X "
2380 IF IVN<>IVC THEN LOCATE 1,5:PRINT IVY(IVC);I;YYL;UDY(IVC);"Y "
2390 *DPROCESSC
2400 MCCL=MOUSE(3,1)
2410 T=0:WHILE T<1
2420 IF MCCL<>MOUSE(3,1) THEN CPASS=1:MCCL=MOUSE(3,1)
2430 IF MCCR<>MOUSE(3,2) THEN RB=1:CPASS=2:MCCR=MOUSE(3,2)
2440 IF CPASS=1 THEN CPASS=0:T=1:MCX=MOUSE(4,1):MCY=MOUSE(5,1)
2450 IF CPASS=2 THEN CPASS=0:T=1:MCYR=MOUSE(5,2):MCXR=MOUSE(4,2)
2460 WEND::MSX=MOUSE(0):MSY=MOUSE(1):LOCATE 10,10:PRINT"mdc3"
2470 IF CLX>468 THEN *TOOLS
2480 IF MCX<20 OR MCY<20 OR MCX>468 OR MCY>468 THEN *COUNTERA
2490 IF RB=1 THEN IF MCXR<20 OR MCYR<20 OR MCXR>468 OR MCYR>468 THEN *COUNTERA
2500 MSX=MOUSE(0):MSY=MOUSE(1)
2510 IVC=IVC+1:IF IVC=100 THEN IVC=1
2520 IF MCX=0 OR MCY=0 THEN *DPROCESSC
2530 IVX(IVC)=MCX:IVY(IVC)=MCY
2540 FOR I=1 TO 64:FOR T=1 TO 64:
2550 IF (T*7)+20<MCX AND (T*7)+27>MCX THEN UDX(IVC)=T
2560 NEXT T:IF (I*7)+20<MCY AND (I*7)+27>MCY THEN UDY(IVC)=I
2570 NEXT I:LB=0:
2580 IF UDX(IVC)=0 OR UDY(IVC)=0 THEN GOSUB *SUBPROCESSDC
2590 *EMDC
2600 IF IVC>1 AND UDX(IVC)<>UDX(IVC-1) THEN XXL=UDX(IVC)-UDX(IVC-1)
2610 IF IVC>1 AND UDY(IVC)<>UDY(IVC-1) THEN YYL=UDY(IVC)-UDY(IVC-1)
2620 IF IVC=100 THEN IVC=1:RFOF=1
2630 IF IVC=1 AND UDX(1)<>UDX(99) THEN XXL=UDX(1)-UDX(99)
2640 IF IVC=1 AND UDY(1)<>UDX(99) THEN YYL=UDY(1)-UDY(99)
2650 IF IVC>1 AND XXL=UDX(IVC) THEN XXL=UDX(IVC)-UDX(IVC-1)
2660 IF IVC>1 AND YYL=UDY(IVC) THEN YYL=UDY(IVC)-UDY(IVC-1)
2670 IF IVN<>IVC THEN LOCATE 1,8:PRINT IVX(IVC);T;XXL;UDX(IVC);,IVC;"X "
2680 IF IVN<>IVC THEN LOCATE 1,9:PRINT IVY(IVC);I;YYL;UDY(IVC);"Y "
2690 UDXL(IVC)=XXL:UDYL(IVC)=YYL
2700 PRINT"AAAAAAAAAAAAAAA":DOUBLE=0:IF RFOF=1 AND IVC=1 THEN *REFRESHOF ELSE GOTO *FLAGC
2710 END
2720 *SUBPROCESSDC
2730 FOR I=1 TO 64:FOR T=1 TO 64:
2740 IF T*7+20<MSX AND T*7+27>MSX THEN UDX(IVC)=T:
2750 NEXT T:IF I*7+20<MSY AND I*7+27>MSY THEN UDY(IVC)=I:
2760 NEXT I:LB=0
2770 IF UDX(IVC)=0 AND UDY(IVC)=0 THEN MSX=MOUSE(0):MSY=MOUSE(1):GOTO *SUBPROCESSDC
2780 IF UDX(IVC)=0 THEN MSX=MOUSE(0):GOTO *SUBPROCESSDC
2790 IF UDY(IVC)=0 THEN MSY=MOUSE(1):GOTO *SUBPROCESSDC
2800 RETURN
2810 *REFRESHOF
2820 IF RFOF=1 THEN RFOF=0
2830 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
2840 IVENTMOTION(MIV,1,CNTMIV)=UDX(I):UDX(I)=0:IVENTMOTION(MIV,2,CNTMIV)=UDY(I):UDY(I)=0:
2850 IVENTMOTION(MIV,3,CNTMIV)=UDXL(I):UDXL(I)=0:IVENTMOTION(MIV,4,CNTMIV)=UDYL(I):UDYL(I)=0:
2860 IVENTMOTION(MIV,5,CNTMIV)=IVX(I):IVX(I)=0:IVENTMOTION(MIV,6,CNTMIV)=IVY(I):IVY(I)=0:
2870 IMF$(MIV,CNTMIV)=IVFLAGS$(I):NEXT
2880 GOTO *FLAGC
2890 END
2900 *DITHERMAPPING
2910 REM darksolid / Hevypale / Hevyharf / harf / light / lightpale / lightsolid
2920 DATA "11111111","11111111","11111111","01010101","00000000","00000000","00000000","10000001"
2930 DATA "11111111","10111011","10101010","10101010","10101010","00100010","00000000","01000010"
2940 DATA "11111111","11111111","11111111","01010101","00000000","00000000","00000000","00100100"
2950 DATA "11111111","11101110","10101010","10101010","10101010","10001000","00000000","00011000"
2960 DATA "11111111","11111111","11111111","01010101","00000000","00000000","00000000","00011000"
2970 DATA "11111111","10111011","10101010","10101010","10101010","00100010","00000000","00100100"
2980 DATA "11111111","11111111","11111111","01010101","00000000","00000000","00000000","01000010"
2990 DATA "11111111","11101110","10101010","10101010","10101010","10001000","00000000","10000001"
3000 FOR T=1 TO 8:FOR I=1 TO 8:READ DM$(T,I):NEXT I:NEXT T
3010 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))
3020 DMS$=LEFT$(DM$(T,R),9-I):DMS$=RIGHT$(DMS$,1):DMS=VAL(DMS$)
3030 DM(I,T,R)=DMS:NEXT I:NEXT T:NEXT R
3040 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);"+++";:
3050 IF TT>8 THEN TT=1
3060 DLG=DM(II,TT,1)
3070 DARKSOLID(I,T)=DLG:DARKSOLID(8+I,T)=DLG:DARKSOLID(16+II,T)=DLG
3080 DARKSOLID(24+II,T)=DLG:DARKSOLID(32+II,T)=DLG:DARKSOLID(40+II,T)=DLG
3090 DARKSOLID(48+II,T)=DLG:DARKSOLID(56+II,T)=DLG
3100 DLG=DM(II,TT,2)
3110 HEVYPALE(I,T)=DLG:HEVYPALE(8+II,T)=DLG:HEVYPALE(16+II,T)=DLG
3120 HEVYPALE(24+II,T)=DLG:HEVYPALE(32+II,T)=DLG:HEVYPALE(40+II,T)=DLG
3130 HEVYPALE(48+II,T)=DLG:HEVYPALE(56+II,T)=DLG
3140 DLG=DM(II,TT,3)
3150 HEVYHARF(I,T)=DLG:HEVYHARF(8+II,T)=DLG:HEVYHARF(16+II,T)=DLG
3160 HEVYHARF(24+II,T)=DLG:HEVYHARF(32+II,T)=DLG:HEVYHARF(40+II,T)=DLG
3170 HEVYHARF(48+II,T)=DLG:HEVYHARF(56+II,T)=DLG
3180 DLG=DM(II,TT,4)
3190 HARF(I,T)=DLG:HARF(8+II,T)=DLG:HARF(16+II,T)=DLG
3200 HARF(24+II,T)=DLG:HARF(32+II,T)=DLG:HARF(40+II,T)=DLG
3210 HARF(48+I,T)=DLG:HARF(56+II,T)=DLG
3220 DLG=DM(II,TT,5)
3230 LIGHT(I,T)=DLG:LIGHT(8+II,T)=DLG:LIGHT(16+II,T)=DLG
3240 LIGHT(24+II,T)=DLG:LIGHT(32+II,T)=DLG:LIGHT(40+II,T)=DLG
3250 LIGHT(48+II,T)=DLG:LIGHT(56+II,T)=DLG
3260 DLG=DM(II,TT,6)
3270 LIGHTPALE(I,T)=DLG:LIGHTPALE(8+II,T)=DLG:LIGHTPALE(16+II,T)=DLG
3280 LIGHTPALE(24+II,T)=DLG:LIGHTPALE(32+II,T)=DLG:LIGHTPALE(40+II,T)=DLG
3290 LIGHTPALE(48+II,T)=DLG:LIGHTPALE(56+II,T)=DLG
3300 DLG=DM(II,TT,7)
3310 LIGHTSOLID(I,T)=DLG:LIGHTSOLID(8+II,T)=DLG:LIGHTSOLID(16+II,T)=DLG
3320 LIGHTSOLID(24+II,T)=DLG:LIGHTSOLID(32+II,T)=DLG:LIGHTSOLID(40+II,T)=DLG
3330 LIGHTSOLID(48+II,T)=DLG:LIGHTSOLID(56+II,T)=DLG
3340 DLG=DM(II,TT,8)
3350 CHECKBOX(I,T)=DLG:CHECKBOX(8+II,T)=DLG:CHECKBOX(16+II,T)=DLG
3360 CHECKBOX(24+II,T)=DLG:CHECKBOX(32+II,T)=DLG:CHECKBOX(40+II,T)=DLG
3370 CHECKBOX(48+II,T)=DLG:CHECKBOX(56+II,T)=DLG
3380 NEXT I:NEXT T
3390 :::::::::::::::::::::: REM DM2 PROCESS
3400 FOR T=1 TO 64:FOR I=1 TO 64:DM2(I,T,1)=DARKSOLID(I,T):NEXT I:NEXT T
3410 FOR T=1 TO 64:FOR I=1 TO 64:DM2(I,T,2)=HEVYPALE(I,T):NEXT I:NEXT T
3420 FOR T=1 TO 64:FOR I=1 TO 64:DM2(I,T,3)=HEVYHARF(I,T):NEXT I:NEXT T
3430 FOR T=1 TO 64:FOR I=1 TO 64:DM2(I,T,4)=HARF(I,T):NEXT I:NEXT T
3440 FOR T=1 TO 64:FOR I=1 TO 64:DM2(I,T,5)=LIGHT(I,T):NEXT I:NEXT T
3450 FOR T=1 TO 64:FOR I=1 TO 64:DM2(I,T,6)=LIGHTPALE(I,T):NEXT I:NEXT T
3460 FOR T=1 TO 64:FOR I=1 TO 64:DM2(I,T,7)=LIGHTSOLID(I,T):NEXT I:NEXT T
3470 FOR T=1 TO 64:FOR I=1 TO 64:DM2(I,T,8)=CHECKBOX(I,T):NEXT I:NEXT T
3480 RETURN
3490 *PREDISPLAYPASS
3500 GOTO *ROOTGO
3510 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
3520 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
3530 *ROOTGO
3540 GOTO *RUNNINGPROGRAM
3550 ::
3560 *DITHERFILTERLING
3570 FOR T=1 TO 64:FOR I=1 TO 64:
3580 IF DARKSOLID(I,T)<>0 THEN CP(I,T,1)=CP
3590 IF DARKSOLID(I,T) =0 THEN CP(I,T,1)=BC
3600 NEXT I:NEXT T
3610 FOR T=1 TO 64:FOR I=1 TO 64:
3620 IF HEVYPALE(I,T)<>0 THEN CP(I,T,2)=CP
3630 IF HEVYPALE(I,T) =0 THEN CP(I,T,2)=BC
3640 NEXT I:NEXT T:
3650 FOR T=1 TO 64:FOR I=1 TO 64:
3660 IF HEVYHARF(I,T)<>0 THEN CP(I,T,3)=CP
3670 IF HEVYHARF(I,T) =0 THEN CP(I,T,3)=BC
3680 NEXT I:NEXT T:
3690 FOR T=1 TO 64:FOR I=1 TO 64:
3700 IF HARF(I,T)<>0 THEN CP(I,T,4)=CP
3710 IF HARF(I,T) =0 THEN CP(I,T,4)=BC
3720 NEXT I:NEXT T
3730 FOR T=1 TO 64:FOR I=1 TO 64:
3740 IF LIGHT(I,T)<>0 THEN CP(I,T,5)=CP
3750 IF LIGHT(I,T) =0 THEN CP(I,T,5)=BC
3760 NEXT I:NEXT T
3770 FOR T=1 TO 64:FOR I=1 TO 64:
3780 IF LIGHTPALE(I,T)<>0 THEN CP(I,T,6)=CP
3790 IF LIGHTPALE(I,T) =0 THEN CP(I,T,6)=BC
3800 NEXT I:NEXT T
3810 FOR T=1 TO 64:FOR I=1 TO 64:
3820 IF LIGHTSOLID(I,T)<>0 THEN CP(I,T,7)=CP
3830 IF LIGHTSOLID(I,T) =0 THEN CP(I,T,7)=BC
3840 NEXT I:NEXT T
3850 FOR T=1 TO 64:FOR I=1 TO 64:
3860 IF CHECKBOX(I,T)<>0 THEN CP(I,T,8)=CP
3870 IF CHECKBOX(I,T) =0 THEN CP(I,T,8)=BC
3880 NEXT I:NEXT T
3890 RETURN
3900 *SEQUENTIAL
3910 YY$=LEFT$(DATE$,2):MM$=RIGHT$(DATE$,5):MM$=LEFT$(MM$,2):DD$=RIGHT$(DATE$,2)
3920 REM ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
3930 OPEN "MYPIC"+YY$+MM$+DD$+".ASC" FOR OUTPUT AS #1
3940 FOR DLAY=0 TO 7:
3950 FOR T=1 TO 64:FOR I=1 TO 64
3960 LAYER$(I,T,DLAY)=HEX$(LAYER(I,T,DLAY)):REM PRINT LAYER$(I,T,Dlay);LAYER(I,T,lay);
3970 NEXT:PRINT:NEXT::
3980 FOR T=1 TO 64:FOR I=1 TO 64:LAYER$=LAYER$+LAYER$(I,T,DLAY):NEXT:DATAFLOOR$(T,DLAY)=LAYER$:LAYER$="":NEXT
3990 REM FOR I=1 TO 64:PRINT DATAFLOOR$(I,DLAY):NEXT
4000 NEXT
4010 FOR DLAY=0 TO 5:T=65:FOR I=1 TO 64:T=T-1:
4020 WRITE #1,DATAFLOOR$(I,DLAY),HEX$(T)+CHR$(44):NEXT:NEXT:CLOSE #1
4030 OPEN "LOGPIC.ASC" FOR OUTPUT AS #2
4040 FOR DLAY=0 TO 5:T=65:FOR I=1 TO 64:T=T-1:
4050 WRITE #2,DATAFLOOR$(I,DLAY),HEX$(T)+CHR$(44):NEXT:NEXT:WRITE #2,YY$+MM$+DD$+" DAYS END OF FILE"," ":CLOSE #2
4060 LOCATE 61,21:PRINT":MYPIC"+YY$+MM$+DD$+".ASC":LOCATE 61,22:PRINT"STATUS"
4070 LOCATE 61,23:PRINT"MATRIX X:64 Y:64":LOCATE 61,24:PRINT"/ LINE"
4080 COLOR@(0,0)-(79,24),0 :::
4090 CLS:GOSUB *REFRESHTXT:GOTO *FIELDCNT
4100 REM ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
4110 *SEQUENTIALLOAD
4120 YY$=LEFT$(DATE$,2):MM$=RIGHT$(DATE$,5):MM$=LEFT$(MM$,2):DD$=RIGHT$(DATE$,2)
4130 OPEN "MYPIC"+YY$+MM$+DD$+".ASC" FOR INPUT AS #3
4140 FOR T=1 TO 64:INPUT #3,DATAFLOOR$(T,0),CR$:NEXT
4150 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
4160 CLOSE #3:
4170 REM FOR T=1 TO 64:FOR I=1 TO 64:PRINT LAYER(I,T,0);:NEXT:PRINT:NEXT:
4180 CLS:GOSUB *REFRESHTXT:GOTO *FIELDCNT
4190 ::
4200 ::
4210 *FDOT LOCATE 0,8:PRINT MSX;MSY,FMX;FMY,CP(I,T,DFL)
4220 J=0:WHILE J<1:MSX=MOUSE(0):MSY=MOUSE(1)
4230 IF MOUSE(2,1)=0 THEN J=1
4240 *DOTHIT
4250 FOR I=1 TO 64:FOR T=1 TO 64:
4260 IF (T*7)+20<MSX AND (T*7)+27>MSX THEN DOTX=T:
4270 NEXT T:IF (I*7)+20<MSY AND (I*7)+27>MSY THEN DOTY=I:
4280 NEXT I:LB=0
4290 FOR I=1 TO 64:FOR T=1 TO 64:
4300 IF (T*7)+20<MSX AND (T*7)+27>MSX THEN DOTXB=T:
4310 NEXT T:IF (I*7)+20<MSY AND (I*7)+27>MSY THEN DOTYB=I:
4320 NEXT I:LB=0
4330 IF DOTX<>DOTXB OR DOTY<>DOTYB THEN *DOTHIT
4340 IF DOTX>0 AND DOTY>0 AND DOTX<65 AND DOTY<65 THEN LINE(DOTX*7+20,DOTY*7+20)-(DOTX*7+27,DOTY*7+27),CP(DOTX,DOTY,DFL),BF:LAYER(DOTX,DOTY,LAY)=CP(DOTX,DOTY,DFL)
4350 WEND:
4360 GOTO *FIELDCNT
4370 END
4380 *FLINE CLK="0
4390" IF SWICH="0" THEN SWICH="1:GOTO" *AREASC
4400 IF DC="1" THEN *AREASC
4410 REM IF DOUBLE="1" THEN DOUBLE="0:GOTO" *AREASC
4420 IF UDX(IVC-1)=0 OR UDY(IVC-1)=0 THEN SWICH="1:GOTO" *AREASC
4430 IF UDX(IVC)=UDX(IVC-1) AND UDY(IVC)=UDY(IVC-1) THEN *AREASC
4440 IF MCX="MOUSE(4,1)" THEN ELSE *FIELDCNT
4450 IF XXL="1" OR UDX(IVC)=UDX(IVC-1) THEN *LINEHANDUD
4460 IF YYL="1" OR UDY(IVC)=UDY(IVC-1) THEN *LINEHANDRL
4470 IF XXL<0 AND YYL>0 THEN *LINEHANDRD
4480 IF XXL>0 AND YYL>0 THEN *LINEHANDLD
4490 IF XXL<0 AND YYL<0 THEN *LINEHANDRU
4500 IF XXL>0 AND YYL<0 THEN *LINEHANDLU
4510 *LINEHANDUD
4520 IF UDY(IVC)>UDY(IVC-1) THEN LHYY=UDY(IVC-1):LHYYL=YYL
4530 IF UDY(IVC)<UDY(IVC-1) THEN LHYY=UDY(IVC) :LHYYL=-YYL
4540 FOR I=LHYY TO LHYY+LHYYL STEP 1:
4550 LAYER(UDX(IVC),I,LAY)=CP(UDX(IVC),I,DFL):LINE(UDX(IVC)*7+20,I*7+20)-(UDX(IVC)*7+27,I*7+27),CP(UDX(IVC),I,DFL),BF
4560 NEXT:PRINT "ud";YYL;LHYY,"
4570 GOTO *AREASC
4580 *LINEHANDRL
4590 IF UDX(IVC)>UDX(IVC-1) THEN LHXX=UDX(IVC-1):LHXXL=XXL
4600 IF UDX(IVC)<UDX(IVC-1) THEN LHXX=UDX(IVC):LHXXL=-XXL
4610 FOR T=LHXX TO LHXX+LHXXL STEP 1:
4620 LAYER(T,UDY(IVC),5)=CP(T,UDY(IVC),DFL):LINE(T*7+20,UDY(IVC)*7+20)-(T*7+27,UDY(IVC)*7+27),CP(T,UDY(IVC),DFL),BF
4630 NEXT:PRINT "RL";XXL;LHXX,"
4640 GOTO *AREASC
4650 *LINEHANDRD
4660 XYL=XXL/YYL:STP=0:ISTP=0:BKSTP=0:
4670 FOR I=UDY(IVC-1) TO UDY(IVC) STEP 1:BKSTP=ISTP:STP=STP+XYL:ISTP=INT(STP)
4680 FOR T=UDX(IVC-1)+ISTP TO UDX(IVC-1)+BKSTP STEP 1:
4690 IF T>=UDX(IVC) AND T=<UDX(IVC-1) THEN LAYER(T,I,LAY)=CP(T,I,DFL):LINE(T*7+20,I*7+20)-(T*7+27,I*7+27),CP(T,I,DFL),BF
4700 NEXT:
4710 NEXT:PRINT "aa";XYL;STP;ISTP;BKSTP;YYL;T;I;" "
4720 GOTO *AREASC
4730 *LINEHANDLD
4740 XYL=XXL/YYL:STP=0:ISTP=0:BKSTP=0:
4750 FOR I=UDY(IVC-1) TO UDY(IVC) STEP 1:BKSTP=ISTP:STP=STP+XYL:ISTP=INT(STP)
4760 FOR T=UDX(IVC-1)+BKSTP TO UDX(IVC-1)+ISTP STEP 1:
4770 IF T>=UDX(IVC-1) AND T=<UDX(IVC) THEN LAYER(T,I,LAY)=CP(T,I,DFL):LINE(T*7+20,I*7+20)-(T*7+27,I*7+27),CP(T,I,DFL),BF
4780 NEXT:
4790 NEXT:PRINT "bb";XYL;STP;ISTP;BKSTP;T;I;"
4800 GOTO *AREASC
4810 *LINEHANDRU
4820 XYL=-XXL/-YYL:STP=0:ISTP=0:BKSTP=0:LOCATE 0,10:PRINT XYL;XXL;YYL," "
4830 FOR I=UDY(IVC) TO UDY(IVC-1) STEP 1:BKSTP=ISTP:STP=STP+XYL:ISTP=INT(STP)
4840 FOR T=UDX(IVC)+BKSTP TO UDX(IVC)+ISTP STEP 1:
4850 IF T>=UDX(IVC) AND T=<UDX(IVC-1) THEN LAYER(T,I,LAY)=CP(T,I,DFL):LINE(T*7+20,I*7+20)-(T*7+27,I*7+27),CP(T,I,DFL),BF
4860 NEXT:
4870 NEXT:PRINT "bb";XYL;STP;ISTP;BKSTP;T;I;"
4880 GOTO *AREASC
4890 *LINEHANDLU
4900 XYL=XXL/-YYL:STP=0:ISTP=0:BKSTP=0:
4910 FOR I=UDY(IVC) TO UDY(IVC-1) STEP 1:BKSTP=ISTP:STP=STP-XYL:ISTP=INT(STP):
4920 FOR T=UDX(IVC)+ISTP TO UDX(IVC)+BKSTP STEP 1:
4930 IF T>=UDX(IVC-1) AND T=<UDX(IVC) THEN LAYER(T,I,LAY)=CP(T,I,DFL):LINE(T*7+20,I*7+20)-(T*7+27,I*7+27),CP(T,I,DFL),BF
4940 NEXT:
4950 NEXT:PRINT "bb";XYL;STP;ISTP;BKSTP;T;I;"
4960 GOTO *AREASC
4970 *LINEUNDO
4980 REM FOR I=1 TO 64:FOR T=1 TO 64:
4990 END
5000 END
5010 END
5020 END
5030 END
5040 END
5050 END
5060 *TOOLS
5070 IF IVX(IVC)<488 THEN *FIELDCNT
5080 IF IVY(IVC)>39 AND IVY(IVC)<57 THEN *COLORPALLETE
5090 IF IVY(IVC)>58 AND IVY(IVC)<114 THEN *COLORCHANGE
5100 IF IVY(IVC)>115 AND IVY(IVC)<171 THEN *COLORLEVEL
5110 IF IVY(IVC)>172 AND IVY(IVC)<190 THEN *DITHER
5120 IF IVY(IVC)>191 AND IVY(IVC)<209 THEN *LINECARV
5130 IF IVY(IVC)>210 AND IVY(IVC)<228 THEN *PAINTPSET
5140 IF IVY(IVC)>229 AND IVY(IVC)<247 THEN *LAYERCHANGE
5150 IF IVY(IVC)>248 AND IVY(IVC)<285 THEN *PENCHANGE
5160 IF IVY(IVC)>286 AND IVY(IVC)<304 THEN *SPOITGLID
5170 IF IVY(IVC)>305 AND IVY(IVC)<323 THEN *UNDORESET
5180 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
5190 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
5200 IF IVY(IVC)>381 AND IVY(IVC)<399 THEN *FILENAME
5210 IVC=IVC-1
5220 GOTO *FIELDCNT
5230 END
5240 *COLORPALLETE
5250 FLAGCP=0
5260 FOR C=0 TO 15
5270 IF IVX(IVC)>MLC(C+61) AND IVX(IVC)<MLC(C+61) THEN FLAGCP=1:CP=C
5280 NEXT
5290 GOSUB *DITHERFILTERLING
2022.5.25(Wed)
福岡大
お絵かきソフトの再開発↓福岡大 作者 2011‐2022Copyright
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
51 *START
60 WIDTH 80,25:CONSOLE 0,25,0,1:SCREEN 3,0,0,1:COLOR 0,7,0,7,2:CLS 2
70 YY$=LEFT$(DATE$,2):MM$=RIGHT$(DATE$,5):MM$=LEFT$(MM$,2):DD$=RIGHT$(DATE$,2)
80 MOUSE(2)ON:MOUSE(3)ON
90 REM ON ERROR GOTO *ERRCD
100 LET FLAGS$="LINE":LET LMP=7:LET RMP=0:CX=1:CY=1
110 LET FLX=0:LET FLY=0:LET FLS=2::D=0:C=0:CP=7:LET LAY=0
120 LET RST=0:IVC=99:DIM IVX(99):DIM IVY(99):LET LAY=0:LET BG=0:LET BC=0
130 DIM UDX(99):DIM UDY(99):DIM UDF$(99):DIM UNDO(64,64,99)
140 DIM LAYER(65,65,7):DIM DITH(64,64,4):DIM W(64,64):DIM T(64,64):
150 DIM UDXL(99):DIM UDYL(99):DIM MOVABLEMAP(8,8,5)
160 DIM Y(64,64):DIM LAYER$(65,65,7):LET LAYER$="":DIM DATAFLOOR$(64,7)
170 DIM MASK(64,64):DIM IVPENTRM(99):REM DIM IVPENX(4096,99):DIM IVPENY(4096,99)
180 DIM IVXL(64,99):DIM IVYL(64,99):DIM IVFLAGS$(99)
190 DIM RAMSAVE(64,64,7):DIM IVENTMOTION(256,8,64):DIM IMF$(256,64)
200 DIM DARKSOLID(64,64):DIM HEVYPALE(64,64):DIM HEVYHARF(64,64):DIM HARF(64,64):
210 DIM LIGHT(64,64):DIM LIGHTPALE(64,64):DIM LIGHTSOLID(64,64):DIM CP(128,128,8)
220 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)
230 IF MOVABLEMAP(SELECTBLOCX,SELECTBLOCY,1)=8 THEN GOSUB *BLUPMASK
240 IF MOVABLEMAP(SELECTBLOCX,SELECTBLOCY,2)=4 THEN GOSUB *BLLFMASK
250 IF MOVABLEMAP(SECECTBLOCX,SELECTBLOCY,3)=6 THEN GOSUB *BLRIMASK
260 IF POINT(639,399)=POINT(639,479) THEN SHOWVIEW=1 ELSE SHOWVIEW=-1
270 *NEARDISTANCE LET X=0:LET Y=0
280 IF SHOWVIEW=-1 THEN FOR I=0 TO 79 step 1:MLC(I)=i*8 :NEXT
290 IF SHOWVIEW=-1 THEN FOR I=0 TO 24 step 1:MLF(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
350 ::
360 DIM BLPASS(8,8):DIM BLSTART(8,8)
370 LET DFL=1
380 REM GOSUB *DITHERMAPPING:GOSUB *DITHERFILTERLING:GOSUB *PREDISPLAYPASS
390 *RUNNINGPROGRAM
400 REM GOSUB *DITHERFILTERLING
410 LINE(0,0)-(640,480),15,BF:LINE(20,20)-(468,468),0,BF
420 FOR I=20 TO 468 STEP 7:LINE (I,20)-(I,468),12:NEXT I
430 FOR T=20 TO 468 STEP 7:LINE (20,T)-(468,T),12:NEXT T
440 LINE (488,18)-(616,468),7,BF:COLOR 0:LOCATE 61,2:PRINT"COLOR PALLETE"
450 I=0:FOR C=61 TO 76:LINE (MLCP(C),MLFP(2))-(MLCP(C+1),MLFP(3)),I,BF:I=I+1:NEXT C: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=11: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 ELSE *LOBXA
700 *LOBXA:LINE(MLCP(LBX),MLFP(LBY))-(MLCP(LBX+1),MLFP(LBY+1)),P,B:RETURN
710 *CP:I=61:WHILE I<76:I=I+1:IF NOT I=LBX THEN ELSE GOSUB *CPB:GOTO *LOBF
711 WEND
720 *CPB:LINE(MLCP(LBX+61),MLFP(LBY))-(MLCP(LBX+62),MLFP(LBY+1)),P,b:RETURN
730 *LOBF I=61:WHILE I<76:I=I+1:IF NOT I=LBX THEN ELSE GOSUB *LOBFA:RETURN
731 WEND
740 *LOBFA
750 *ASKIP CX=1:CY=1:X=1:Y=1:LB=0:RB=0
760 LET A=0
770 *GOMOUSE CXB=CX:CYB=CY:XB=X:YB=Y
780 *CLICKMOUSE
790 X=MOUSE(0):Y=MOUSE(1)
800 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)
810 RCX=MOUSE(4,2):RCY=MOUSE(5,2):IF RCX<>O OR RCY<>0 THEN RB=1
820 GOTO *MOUSEIF:
830 *GTM GOTO *GOMOUSE
840 *MOUSEIF IF CXB<>CX OR CYB<>CY OR XB<>X OR YB<>Y THEN *MENUS ELSE *GTM
850 GOTO *MENUS
860 END
870 *MENUS IF CX<469 OR X<469 THEN *AREASC ELSE IF CX>469 OR X>469 THEN *TOOLS
880 END
890 *AREASC
900 GOTO *FIELDCNT
910 COLOR 7
920 *FLAGC
930 IF FLAGS$="DOT" THEN *FDOT ELSE IF FLAGS$="LINE" THEN *FLINE ELSE IF FLAGS$="CARV" THEN *FCARV
940 IF FLAGS$="PAINT" THEN *FPAINT ELSE IF FLAGS$="PEN" THEN *FPEN ELSE *AREASC
950 END
960 *FIELDCNT: COLOR 7:XX=1:YY=1
970 IF RST<>0 THEN *SKRSFC ELSE RST=1
980 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:
990 LET MCNX=0:MCNY=0:MCLX=0:MCLY=0:MCLBX=0:MCLBY=0:
1000 LET CLY=0:CLX=0:MSX=0:MSY=0:MCCL=0:MCCR=0:MDAD=0:MDADR=0:XXL=0:YYL=0:
1010 *SKRSFC
1020 MSXB=MSX:MSYB=MSY:MCXB=MCX:MCYB=MCY:MCXRB=MCXR:MCYRB=MCYR
1030 IF IVE=1 AND IVC=1 THEN IVC=99
1040 IF MCX=0 OR MCY=0 THEN MCX=MSX:MCY=MSY
1050 MSX=MOUSE(0):MSY=MOUSE(1):MCCL=MOUSE(3,1):MCCR=MOUSE(3,2):MDAD=MOUSE(2,1):MDADR=MOUSE(2,2)
1060 IF MSX=0 OR MSY=0 THEN MSX=MOUSE(0):MSY=MOUSE(1)
1070 *COUNTERA
1080 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
1090 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
1100 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
1110 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
1120 LOCATE 0,0:PRINT " "
1130 *DSKIP
1140 CLX=0:CLY=0:RB=0:T=0:WHILE T<1
1150 IF MCCL<>MOUSE(3,1) THEN CPASS=1:MCCL=MOUSE(3,1)
1160 IF MCCR<>MOUSE(3,2) THEN RB=1:CPASS=2:MCCR=MOUSE(3,2)
1170 IF CPASS=1 THEN CPASS=0:T=1:CLX=MOUSE(4,1):CLY=MOUSE(5,1)
1180 IF CPASS=2 THEN CPASS=0:T=1:MCYR=MOUSE(5,2):MCXR=MOUSE(4,2)
1190 WEND::MSX=MOUSE(0):MSY=MOUSE(1):LOCATE 20,10:PRINT"CLICK"
1200 IF CLX<20 OR CLY<20 OR CLY>468 THEN *COUNTERA
1210 IF RB=1 THEN IF MCXR<20 OR MCYR<20 OR MCXR>468 OR MCYR>468 THEN *COUNTERA
1220 IVC=IVC+1:IF IVC=100 THEN IVC=1
1230 IF CLX>468 THEN IVX(IVC)=CLX:IVY(IVC)=CLY:GOTO *TOOLS
1240 IF CLX=0 OR CLY=0 THEN IF RB=0 THEN *COUNTERA
1250 IF CLX=MCX AND CLY=MCY AND FLAGS$="LINE" THEN IF DOUBLE=0 THEN *DOUBLEPROCESS
1260 IF CLX=MCX AND CLY=MCY AND FLAGS$="CARV" THEN IF DOUBLE=0 THEN *DOUBLEPROCESS
1270 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
1280 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
1290 IF MCX<>CLX OR MCY<>CLY AND CLX<>0 AND CLY<>0 THEN MCX=CLX:MCY=CLY:LOCATE 20,10:PRINT"CLICKB"
1300 IF MSX=0 OR MSY=0 THEN MSX=MOUSE(0):MSY=MOUSE(1)
1310 IF MCX=0 OR MCY=0 THEN MCX=MOUSE(4,1):MCY=MOUSE(5,1)
1320 MCX=CLX:MCY=CLY
1330 *LBBLC
1340 IF IVC=100 THEN IVC=1
1350 DOUBLE=0
1360 IF MCX>468 AND MCX<20 OR MCY>468 OR MCY<20 THEN *AREASC
1370 IF MCX=MCXM AND MCY=MCYM THEN *RBBLC
1380 MCXX=MCX:IVX(IVC)=MCX:MCYY=MCY:IVY(IVC)=MCY
1390 REM IF IVX(IVC-1)=MCX OR IVY(IVC-1)=MCY THEN DOUBLE=1
1400 FOR I=1 TO 64:FOR T=1 TO 64:
1410 IF T*7+20<MSX AND T*7+27>MSX THEN FMX=T
1420 NEXT T:IF I*7+20<MSY AND I*7+27>MSY THEN FMY=I:
1430 NEXT I:LB=0
1440 FOR I=1 TO 64:FOR T=1 TO 64:
1450 IF T*7+20<MCX AND T*7+27>MCX THEN UDX(IVC)=T
1460 NEXT T:IF I*7+20<MCY AND I*7+27>MCY THEN UDY(IVC)=I
1470 NEXT I:LB=0:
1480 LOCATE 20,20:PRINT DOUBLE
1490 *ZEROSKIP
1500 IF IVX(IVC)=0 THEN IVX(IVC)=MSX
1510 IF IVY(IVC)=0 THEN IVY(IVC)=MSY
1520 IF UDX(IVC)=0 AND IVX(IVC)<>0 THEN *MEPROCESS
1530 IF UDY(IVC)=0 AND IVY(IVC)<>0 THEN *MEPROCESS
1540 GOTO *RBBLC
1550 *MEPROCESS
1560 MCXX=MSX:IVX(IVC)=MSX:MCYY=MSY:IVY(IVC)=MSY
1570 FOR I=1 TO 64:FOR T=1 TO 64:
1580 IF T*7+20<MSX AND T*7+27>MSX THEN UDX(IVC)=T:
1590 NEXT T:IF I*7+20<MSY AND I*7+27>MSY THEN UDY(IVC)=I:
1600 NEXT I:LB=0
1610 IF UDX(IVC)=0 AND UDY(IVC)=0 THEN MSX=MOUSE(0):MSY=MOUSE(1):GOTO *MEPROCESS
1620 IF UDX(IVC)=0 THEN MSX=MOUSE(0):GOTO *MEPROCESS
1630 IF UDY(IVC)=0 THEN MSY=MOUSE(1):GOTO *MEPROCESS
1640 *RBBLC REM
1650 IF MCXR=MCXRM AND MCYR=MCYRM THEN *EMC
1660 FOR I=1 TO 64:T=1:WHILE T<65
1670 IF T*7+20<MCXR AND T*7+27>MCXR AND MCX<>0 THEN FRMX=T:
1680 IF I*7+20<MCYR AND I*7+27>MCYR AND MCX<>0 THEN FRMY=I:
1690 IF T*7+20<MCXR AND T*7+27>MCXR AND MCX<>0 THEN MCXR=T*7+20:MCXRM=T
1700 IF I*7+20<MCYR AND I*7+27>MCYR AND MCX<>0 THEN MCYR=I*7+20:MCYRM=I
1710 T=T+1:WEND:NEXT I:LOCATE 0,3:PRINT "RB" RB=0:GOTO *EMC
1720 *EMC
1730 IF MCX>468 AND MCX<20 OR MCY>468 OR MCY<20 THEN *AREASC
1740 IF IVC>1 AND UDX(IVC)<>UDX(IVC-1) THEN XXL=UDX(IVC)-UDX(IVC-1)
1750 IF IVC>1 AND UDY(IVC)<>UDY(IVC-1) THEN YYL=UDY(IVC)-UDY(IVC-1)
1760 IF IVC=100 THEN IVC=1
1770 IF IVC=1 AND UDX(1)<>UDX(99) THEN XXL=UDX(1)-UDX(99)
1780 IF IVC=1 AND UDY(1)<>UDX(99) THEN YYL=UDY(1)-UDY(99)
1790 IF IVC>1 AND XXL=UDX(IVC) THEN XXL=UDX(IVC)-UDX(IVC-1)
1800 IF IVC>1 AND YYL=UDY(IVC) THEN YYL=UDY(IVC)-UDY(IVC-1)
1810 IF IVN<>IVC THEN LOCATE 1,4:PRINT IVX(IVC);T;XXL;UDX(IVC);,IVC;"X "
1820 IF IVN<>IVC THEN LOCATE 1,5:PRINT IVY(IVC);I;YYL;UDY(IVC);"Y "
1830 UDXL(IVC)=XXL:UDYL(IVC)=YYL
1840 IXX=IVX(IVC):IYY=IVY(IVC):IVN=IVC
1850 IF SWICH=0 THEN SWICH=1:GOTO *AREASC
1860 IF DC=1 THEN *AREASC
1870 GOTO *FLAGC
1880 END
1890 *DOUBLEPROCESS
1900 LOCATE 0,0:PRINT "DOUBLE"
1910 IF FLAGS$="LINE" OR FLAGS$="CARV" THEN ELSE MCX=CLX:MCY=CLY:GOTO *LBBLC
1920 MCCL=MOUSE(3,1)
1930 DOUBLE=1:MCX=CLX:MCY=CLY:LOCATE 0,22:PRINT"dp"
1940 IF CLX>468 THEN IF IVC>1 THEN IVC=IVC-1:GOTO *TOOLS ELSE IF IVC=99 THEN IVC=1:GOTO *TOOLS
1950 T=0:WHILE T<1
1960 IF MCCL<>MOUSE(3,1) THEN CPASS=1:MCCL=MOUSE(3,1)
1970 IF MCCR<>MOUSE(3,2) THEN RB=1:CPASS=2:MCCR=MOUSE(3,2)
1980 IF CPASS=1 THEN CPASS=0:T=1:MDCX=MOUSE(4,1):MDCY=MOUSE(5,1)
1990 IF CPASS=2 THEN CPASS=0:T=1:MCYR=MOUSE(5,2):MCXR=MOUSE(4,2)
2000 WEND::MSX=MOUSE(0):MSY=MOUSE(1):LOCATE 10,10:PRINT"mdc1"
2010 IF MDCX>468 THEN IF IVC>1 THEN IVC=IVC-1:GOTO *TOOLS ELSE IF IVC=99 THEN IVC=1:GOTO *TOOLS
2020 IF MDCX<20 OR MDCY<20 OR MDCX>468 OR MDCY>468 THEN *COUNTERA
2030 IF RB=1 THEN IF MCXR<20 OR MCYR<20 OR MCXR>468 OR MCYR>468 THEN *COUNTERA
2040 MSX=MOUSE(0):MSY=MOUSE(1)
2050 IVC=IVC+1:IF IVC=100 THEN IVC=1
2060 IVX(IVC)=MDCX:IVY(IVC)=MDCY
2070 IF MDCX=0 AND MDCY=0 THEN *DOUBLEPROCESS
2080 IF IVX(IVC)<>MDCX AND IVY(IVC)<>MDCY THEN *DOUBLEPROCESS
2090 FOR I=1 TO 64:FOR T=1 TO 64:
2100 IF T*7+20<MDCX AND T*7+27>MDCX THEN UDX(IVC)=T
2110 NEXT T:IF I*7+20<MDCY AND I*7+27>MDCY THEN UDY(IVC)=I
2120 NEXT I:LB=0:
2130 MCX=MDCX:MCY=MDCY
2140 IF UDX(IVC)=0 OR UDY(IVC)=0 THEN GOSUB *SUBPROCESSDC
2150 *DPROCESSB
2160 MCCL=MOUSE(3,1)
2170 T=0:WHILE T<1
2180 IF MCCL<>MOUSE(3,1) THEN CPASS=1:MCCL=MOUSE(3,1)
2190 IF MCCR<>MOUSE(3,2) THEN RB=1:CPASS=2:MCCR=MOUSE(3,2)
2200 IF CPASS=1 THEN CPASS=0:T=1:MDCX=MOUSE(4,1):MDCY=MOUSE(5,1)
2210 IF CPASS=2 THEN CPASS=0:T=1:MCYR=MOUSE(5,2):MCXR=MOUSE(4,2)
2220 WEND::MSX=MOUSE(0):MSY=MOUSE(1):LOCATE 10,10:PRINT"mdc2"
2230 IF CLX>468 THEN *TOOLS
2240 IF MDCX<20 OR MDCY<20 OR MDCX>468 OR MDCY>468 THEN *COUNTERA
2250 IVC=IVC+1:IF IVC=100 THEN IVC=1
2260 IF RB=1 THEN IF MCXR<20 OR MCYR<20 OR MCXR>468 OR MCYR>468 THEN *COUNTERA
2270 IVX(IVC)=MDCX:IVY(IVC)=MDCY
2280 IF MDCX=0 AND MDCY=0 THEN *DPROCESSB
2290 IF IVX(IVC)<>MDCX AND IVY(IVC)<>MDCY THEN *DPROCESSB
2300 FOR I=1 TO 64:FOR T=1 TO 64:
2310 IF T*7+20<MDCX AND T*7+27>MDCX THEN UDX(IVC)=T
2320 NEXT T:IF I*7+20<MDCY AND I*7+27>MDCY THEN UDY(IVC)=I
2330 NEXT I:LB=0:
2340 MCX=MDCX:MCY=MDCY
2350 MSX=MOUSE(0):MSY=MOUSE(1)
2360 IF UDX(IVC)=0 OR UDY(IVC)=0 THEN GOSUB *SUBPROCESSDC
2370 IF IVN<>IVC THEN LOCATE 1,4:PRINT IVX(IVC);T;XXL;UDX(IVC);,IVC;"X "
2380 IF IVN<>IVC THEN LOCATE 1,5:PRINT IVY(IVC);I;YYL;UDY(IVC);"Y "
2390 *DPROCESSC
2400 MCCL=MOUSE(3,1)
2410 T=0:WHILE T<1
2420 IF MCCL<>MOUSE(3,1) THEN CPASS=1:MCCL=MOUSE(3,1)
2430 IF MCCR<>MOUSE(3,2) THEN RB=1:CPASS=2:MCCR=MOUSE(3,2)
2440 IF CPASS=1 THEN CPASS=0:T=1:MCX=MOUSE(4,1):MCY=MOUSE(5,1)
2450 IF CPASS=2 THEN CPASS=0:T=1:MCYR=MOUSE(5,2):MCXR=MOUSE(4,2)
2460 WEND::MSX=MOUSE(0):MSY=MOUSE(1):LOCATE 10,10:PRINT"mdc3"
2470 IF CLX>468 THEN *TOOLS
2480 IF MCX<20 OR MCY<20 OR MCX>468 OR MCY>468 THEN *COUNTERA
2490 IF RB=1 THEN IF MCXR<20 OR MCYR<20 OR MCXR>468 OR MCYR>468 THEN *COUNTERA
2500 MSX=MOUSE(0):MSY=MOUSE(1)
2510 IVC=IVC+1:IF IVC=100 THEN IVC=1
2520 IF MCX=0 OR MCY=0 THEN *DPROCESSC
2530 IVX(IVC)=MCX:IVY(IVC)=MCY
2540 FOR I=1 TO 64:FOR T=1 TO 64:
2550 IF (T*7)+20<MCX AND (T*7)+27>MCX THEN UDX(IVC)=T
2560 NEXT T:IF (I*7)+20<MCY AND (I*7)+27>MCY THEN UDY(IVC)=I
2570 NEXT I:LB=0:
2580 IF UDX(IVC)=0 OR UDY(IVC)=0 THEN GOSUB *SUBPROCESSDC
2590 *EMDC
2600 IF IVC>1 AND UDX(IVC)<>UDX(IVC-1) THEN XXL=UDX(IVC)-UDX(IVC-1)
2610 IF IVC>1 AND UDY(IVC)<>UDY(IVC-1) THEN YYL=UDY(IVC)-UDY(IVC-1)
2620 IF IVC=100 THEN IVC=1:RFOF=1
2630 IF IVC=1 AND UDX(1)<>UDX(99) THEN XXL=UDX(1)-UDX(99)
2640 IF IVC=1 AND UDY(1)<>UDX(99) THEN YYL=UDY(1)-UDY(99)
2650 IF IVC>1 AND XXL=UDX(IVC) THEN XXL=UDX(IVC)-UDX(IVC-1)
2660 IF IVC>1 AND YYL=UDY(IVC) THEN YYL=UDY(IVC)-UDY(IVC-1)
2670 IF IVN<>IVC THEN LOCATE 1,8:PRINT IVX(IVC);T;XXL;UDX(IVC);,IVC;"X "
2680 IF IVN<>IVC THEN LOCATE 1,9:PRINT IVY(IVC);I;YYL;UDY(IVC);"Y "
2690 UDXL(IVC)=XXL:UDYL(IVC)=YYL
2700 PRINT"AAAAAAAAAAAAAAA":DOUBLE=0:IF RFOF=1 AND IVC=1 THEN *REFRESHOF ELSE GOTO *FLAGC
2710 END
2720 *SUBPROCESSDC
2730 FOR I=1 TO 64:FOR T=1 TO 64:
2740 IF T*7+20<MSX AND T*7+27>MSX THEN UDX(IVC)=T:
2750 NEXT T:IF I*7+20<MSY AND I*7+27>MSY THEN UDY(IVC)=I:
2760 NEXT I:LB=0
2770 IF UDX(IVC)=0 AND UDY(IVC)=0 THEN MSX=MOUSE(0):MSY=MOUSE(1):GOTO *SUBPROCESSDC
2780 IF UDX(IVC)=0 THEN MSX=MOUSE(0):GOTO *SUBPROCESSDC
2790 IF UDY(IVC)=0 THEN MSY=MOUSE(1):GOTO *SUBPROCESSDC
2800 RETURN
2810 *REFRESHOF
2820 IF RFOF=1 THEN RFOF=0
2830 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
2840 IVENTMOTION(MIV,1,CNTMIV)=UDX(I):UDX(I)=0:IVENTMOTION(MIV,2,CNTMIV)=UDY(I):UDY(I)=0:
2850 IVENTMOTION(MIV,3,CNTMIV)=UDXL(I):UDXL(I)=0:IVENTMOTION(MIV,4,CNTMIV)=UDYL(I):UDYL(I)=0:
2860 IVENTMOTION(MIV,5,CNTMIV)=IVX(I):IVX(I)=0:IVENTMOTION(MIV,6,CNTMIV)=IVY(I):IVY(I)=0:
2870 IMF$(MIV,CNTMIV)=IVFLAGS$(I):NEXT
2880 GOTO *FLAGC
2890 END
2900 *DITHERMAPPING
2910 REM darksolid / Hevypale / Hevyharf / harf / light / lightpale / lightsolid
2920 DATA "11111111","11111111","11111111","01010101","00000000","00000000","00000000","10000001"
2930 DATA "11111111","10111011","10101010","10101010","10101010","00100010","00000000","01000010"
2940 DATA "11111111","11111111","11111111","01010101","00000000","00000000","00000000","00100100"
2950 DATA "11111111","11101110","10101010","10101010","10101010","10001000","00000000","00011000"
2960 DATA "11111111","11111111","11111111","01010101","00000000","00000000","00000000","00011000"
2970 DATA "11111111","10111011","10101010","10101010","10101010","00100010","00000000","00100100"
2980 DATA "11111111","11111111","11111111","01010101","00000000","00000000","00000000","01000010"
2990 DATA "11111111","11101110","10101010","10101010","10101010","10001000","00000000","10000001"
3000 FOR T=1 TO 8:FOR I=1 TO 8:READ DM$(T,I):NEXT I:NEXT T
3010 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))
3020 DMS$=LEFT$(DM$(T,R),9-I):DMS$=RIGHT$(DMS$,1):DMS=VAL(DMS$)
3030 DM(I,T,R)=DMS:NEXT I:NEXT T:NEXT R
3040 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);"+++";:
3050 IF TT>8 THEN TT=1
3060 DLG=DM(II,TT,1)
3070 DARKSOLID(I,T)=DLG:DARKSOLID(8+I,T)=DLG:DARKSOLID(16+II,T)=DLG
3080 DARKSOLID(24+II,T)=DLG:DARKSOLID(32+II,T)=DLG:DARKSOLID(40+II,T)=DLG
3090 DARKSOLID(48+II,T)=DLG:DARKSOLID(56+II,T)=DLG
3100 DLG=DM(II,TT,2)
3110 HEVYPALE(I,T)=DLG:HEVYPALE(8+II,T)=DLG:HEVYPALE(16+II,T)=DLG
3120 HEVYPALE(24+II,T)=DLG:HEVYPALE(32+II,T)=DLG:HEVYPALE(40+II,T)=DLG
3130 HEVYPALE(48+II,T)=DLG:HEVYPALE(56+II,T)=DLG
3140 DLG=DM(II,TT,3)
3150 HEVYHARF(I,T)=DLG:HEVYHARF(8+II,T)=DLG:HEVYHARF(16+II,T)=DLG
3160 HEVYHARF(24+II,T)=DLG:HEVYHARF(32+II,T)=DLG:HEVYHARF(40+II,T)=DLG
3170 HEVYHARF(48+II,T)=DLG:HEVYHARF(56+II,T)=DLG
3180 DLG=DM(II,TT,4)
3190 HARF(I,T)=DLG:HARF(8+II,T)=DLG:HARF(16+II,T)=DLG
3200 HARF(24+II,T)=DLG:HARF(32+II,T)=DLG:HARF(40+II,T)=DLG
3210 HARF(48+I,T)=DLG:HARF(56+II,T)=DLG
3220 DLG=DM(II,TT,5)
3230 LIGHT(I,T)=DLG:LIGHT(8+II,T)=DLG:LIGHT(16+II,T)=DLG
3240 LIGHT(24+II,T)=DLG:LIGHT(32+II,T)=DLG:LIGHT(40+II,T)=DLG
3250 LIGHT(48+II,T)=DLG:LIGHT(56+II,T)=DLG
3260 DLG=DM(II,TT,6)
3270 LIGHTPALE(I,T)=DLG:LIGHTPALE(8+II,T)=DLG:LIGHTPALE(16+II,T)=DLG
3280 LIGHTPALE(24+II,T)=DLG:LIGHTPALE(32+II,T)=DLG:LIGHTPALE(40+II,T)=DLG
3290 LIGHTPALE(48+II,T)=DLG:LIGHTPALE(56+II,T)=DLG
3300 DLG=DM(II,TT,7)
3310 LIGHTSOLID(I,T)=DLG:LIGHTSOLID(8+II,T)=DLG:LIGHTSOLID(16+II,T)=DLG
3320 LIGHTSOLID(24+II,T)=DLG:LIGHTSOLID(32+II,T)=DLG:LIGHTSOLID(40+II,T)=DLG
3330 LIGHTSOLID(48+II,T)=DLG:LIGHTSOLID(56+II,T)=DLG
3340 DLG=DM(II,TT,8)
3350 CHECKBOX(I,T)=DLG:CHECKBOX(8+II,T)=DLG:CHECKBOX(16+II,T)=DLG
3360 CHECKBOX(24+II,T)=DLG:CHECKBOX(32+II,T)=DLG:CHECKBOX(40+II,T)=DLG
3370 CHECKBOX(48+II,T)=DLG:CHECKBOX(56+II,T)=DLG
3380 NEXT I:NEXT T
3390 :::::::::::::::::::::: REM DM2 PROCESS
3400 FOR T=1 TO 64:FOR I=1 TO 64:DM2(I,T,1)=DARKSOLID(I,T):NEXT I:NEXT T
3410 FOR T=1 TO 64:FOR I=1 TO 64:DM2(I,T,2)=HEVYPALE(I,T):NEXT I:NEXT T
3420 FOR T=1 TO 64:FOR I=1 TO 64:DM2(I,T,3)=HEVYHARF(I,T):NEXT I:NEXT T
3430 FOR T=1 TO 64:FOR I=1 TO 64:DM2(I,T,4)=HARF(I,T):NEXT I:NEXT T
3440 FOR T=1 TO 64:FOR I=1 TO 64:DM2(I,T,5)=LIGHT(I,T):NEXT I:NEXT T
3450 FOR T=1 TO 64:FOR I=1 TO 64:DM2(I,T,6)=LIGHTPALE(I,T):NEXT I:NEXT T
3460 FOR T=1 TO 64:FOR I=1 TO 64:DM2(I,T,7)=LIGHTSOLID(I,T):NEXT I:NEXT T
3470 FOR T=1 TO 64:FOR I=1 TO 64:DM2(I,T,8)=CHECKBOX(I,T):NEXT I:NEXT T
3480 RETURN
3490 *PREDISPLAYPASS
3500 GOTO *ROOTGO
3510 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
3520 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
3530 *ROOTGO
3540 GOTO *RUNNINGPROGRAM
3550 ::
3560 *DITHERFILTERLING
3570 FOR T=1 TO 64:FOR I=1 TO 64:
3580 IF DARKSOLID(I,T)<>0 THEN CP(I,T,1)=CP
3590 IF DARKSOLID(I,T) =0 THEN CP(I,T,1)=BC
3600 NEXT I:NEXT T
3610 FOR T=1 TO 64:FOR I=1 TO 64:
3620 IF HEVYPALE(I,T)<>0 THEN CP(I,T,2)=CP
3630 IF HEVYPALE(I,T) =0 THEN CP(I,T,2)=BC
3640 NEXT I:NEXT T:
3650 FOR T=1 TO 64:FOR I=1 TO 64:
3660 IF HEVYHARF(I,T)<>0 THEN CP(I,T,3)=CP
3670 IF HEVYHARF(I,T) =0 THEN CP(I,T,3)=BC
3680 NEXT I:NEXT T:
3690 FOR T=1 TO 64:FOR I=1 TO 64:
3700 IF HARF(I,T)<>0 THEN CP(I,T,4)=CP
3710 IF HARF(I,T) =0 THEN CP(I,T,4)=BC
3720 NEXT I:NEXT T
3730 FOR T=1 TO 64:FOR I=1 TO 64:
3740 IF LIGHT(I,T)<>0 THEN CP(I,T,5)=CP
3750 IF LIGHT(I,T) =0 THEN CP(I,T,5)=BC
3760 NEXT I:NEXT T
3770 FOR T=1 TO 64:FOR I=1 TO 64:
3780 IF LIGHTPALE(I,T)<>0 THEN CP(I,T,6)=CP
3790 IF LIGHTPALE(I,T) =0 THEN CP(I,T,6)=BC
3800 NEXT I:NEXT T
3810 FOR T=1 TO 64:FOR I=1 TO 64:
3820 IF LIGHTSOLID(I,T)<>0 THEN CP(I,T,7)=CP
3830 IF LIGHTSOLID(I,T) =0 THEN CP(I,T,7)=BC
3840 NEXT I:NEXT T
3850 FOR T=1 TO 64:FOR I=1 TO 64:
3860 IF CHECKBOX(I,T)<>0 THEN CP(I,T,8)=CP
3870 IF CHECKBOX(I,T) =0 THEN CP(I,T,8)=BC
3880 NEXT I:NEXT T
3890 RETURN
3900 *SEQUENTIAL
3910 YY$=LEFT$(DATE$,2):MM$=RIGHT$(DATE$,5):MM$=LEFT$(MM$,2):DD$=RIGHT$(DATE$,2)
3920 REM ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
3930 OPEN "MYPIC"+YY$+MM$+DD$+".ASC" FOR OUTPUT AS #1
3940 FOR DLAY=0 TO 7:
3950 FOR T=1 TO 64:FOR I=1 TO 64
3960 LAYER$(I,T,DLAY)=HEX$(LAYER(I,T,DLAY)):REM PRINT LAYER$(I,T,Dlay);LAYER(I,T,lay);
3970 NEXT:PRINT:NEXT::
3980 FOR T=1 TO 64:FOR I=1 TO 64:LAYER$=LAYER$+LAYER$(I,T,DLAY):NEXT:DATAFLOOR$(T,DLAY)=LAYER$:LAYER$="":NEXT
3990 REM FOR I=1 TO 64:PRINT DATAFLOOR$(I,DLAY):NEXT
4000 NEXT
4010 FOR DLAY=0 TO 5:T=65:FOR I=1 TO 64:T=T-1:
4020 WRITE #1,DATAFLOOR$(I,DLAY),HEX$(T)+CHR$(44):NEXT:NEXT:CLOSE #1
4030 OPEN "LOGPIC.ASC" FOR OUTPUT AS #2
4040 FOR DLAY=0 TO 5:T=65:FOR I=1 TO 64:T=T-1:
4050 WRITE #2,DATAFLOOR$(I,DLAY),HEX$(T)+CHR$(44):NEXT:NEXT:WRITE #2,YY$+MM$+DD$+" DAYS END OF FILE"," ":CLOSE #2
4060 LOCATE 61,21:PRINT":MYPIC"+YY$+MM$+DD$+".ASC":LOCATE 61,22:PRINT"STATUS"
4070 LOCATE 61,23:PRINT"MATRIX X:64 Y:64":LOCATE 61,24:PRINT"/ LINE"
4080 COLOR@(0,0)-(79,24),0 :::
4090 CLS:GOSUB *REFRESHTXT:GOTO *FIELDCNT
4100 REM ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
4110 *SEQUENTIALLOAD
4120 YY$=LEFT$(DATE$,2):MM$=RIGHT$(DATE$,5):MM$=LEFT$(MM$,2):DD$=RIGHT$(DATE$,2)
4130 OPEN "MYPIC"+YY$+MM$+DD$+".ASC" FOR INPUT AS #3
4140 FOR T=1 TO 64:INPUT #3,DATAFLOOR$(T,0),CR$:NEXT
4150 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
4160 CLOSE #3:
4170 REM FOR T=1 TO 64:FOR I=1 TO 64:PRINT LAYER(I,T,0);:NEXT:PRINT:NEXT:
4180 CLS:GOSUB *REFRESHTXT:GOTO *FIELDCNT
4190 ::
4200 ::
4210 *FDOT LOCATE 0,8:PRINT MSX;MSY,FMX;FMY,CP(I,T,DFL)
4220 J=0:WHILE J<1:MSX=MOUSE(0):MSY=MOUSE(1)
4230 IF MOUSE(2,1)=0 THEN J=1
4240 *DOTHIT
4250 FOR I=1 TO 64:FOR T=1 TO 64:
4260 IF (T*7)+20<MSX AND (T*7)+27>MSX THEN DOTX=T:
4270 NEXT T:IF (I*7)+20<MSY AND (I*7)+27>MSY THEN DOTY=I:
4280 NEXT I:LB=0
4290 FOR I=1 TO 64:FOR T=1 TO 64:
4300 IF (T*7)+20<MSX AND (T*7)+27>MSX THEN DOTXB=T:
4310 NEXT T:IF (I*7)+20<MSY AND (I*7)+27>MSY THEN DOTYB=I:
4320 NEXT I:LB=0
4330 IF DOTX<>DOTXB OR DOTY<>DOTYB THEN *DOTHIT
4340 IF DOTX>0 AND DOTY>0 AND DOTX<65 AND DOTY<65 THEN LINE(DOTX*7+20,DOTY*7+20)-(DOTX*7+27,DOTY*7+27),CP(DOTX,DOTY,DFL),BF:LAYER(DOTX,DOTY,LAY)=CP(DOTX,DOTY,DFL)
4350 WEND:
4360 GOTO *FIELDCNT
4370 END
4380 *FLINE CLK="0
4390" IF SWICH="0" THEN SWICH="1:GOTO" *AREASC
4400 IF DC="1" THEN *AREASC
4410 REM IF DOUBLE="1" THEN DOUBLE="0:GOTO" *AREASC
4420 IF UDX(IVC-1)=0 OR UDY(IVC-1)=0 THEN SWICH="1:GOTO" *AREASC
4430 IF UDX(IVC)=UDX(IVC-1) AND UDY(IVC)=UDY(IVC-1) THEN *AREASC
4440 IF MCX="MOUSE(4,1)" THEN ELSE *FIELDCNT
4450 IF XXL="1" OR UDX(IVC)=UDX(IVC-1) THEN *LINEHANDUD
4460 IF YYL="1" OR UDY(IVC)=UDY(IVC-1) THEN *LINEHANDRL
4470 IF XXL<0 AND YYL>0 THEN *LINEHANDRD
4480 IF XXL>0 AND YYL>0 THEN *LINEHANDLD
4490 IF XXL<0 AND YYL<0 THEN *LINEHANDRU
4500 IF XXL>0 AND YYL<0 THEN *LINEHANDLU
4510 *LINEHANDUD
4520 IF UDY(IVC)>UDY(IVC-1) THEN LHYY=UDY(IVC-1):LHYYL=YYL
4530 IF UDY(IVC)<UDY(IVC-1) THEN LHYY=UDY(IVC) :LHYYL=-YYL
4540 FOR I=LHYY TO LHYY+LHYYL STEP 1:
4550 LAYER(UDX(IVC),I,LAY)=CP(UDX(IVC),I,DFL):LINE(UDX(IVC)*7+20,I*7+20)-(UDX(IVC)*7+27,I*7+27),CP(UDX(IVC),I,DFL),BF
4560 NEXT:PRINT "ud";YYL;LHYY,"
4570 GOTO *AREASC
4580 *LINEHANDRL
4590 IF UDX(IVC)>UDX(IVC-1) THEN LHXX=UDX(IVC-1):LHXXL=XXL
4600 IF UDX(IVC)<UDX(IVC-1) THEN LHXX=UDX(IVC):LHXXL=-XXL
4610 FOR T=LHXX TO LHXX+LHXXL STEP 1:
4620 LAYER(T,UDY(IVC),5)=CP(T,UDY(IVC),DFL):LINE(T*7+20,UDY(IVC)*7+20)-(T*7+27,UDY(IVC)*7+27),CP(T,UDY(IVC),DFL),BF
4630 NEXT:PRINT "RL";XXL;LHXX,"
4640 GOTO *AREASC
4650 *LINEHANDRD
4660 XYL=XXL/YYL:STP=0:ISTP=0:BKSTP=0:
4670 FOR I=UDY(IVC-1) TO UDY(IVC) STEP 1:BKSTP=ISTP:STP=STP+XYL:ISTP=INT(STP)
4680 FOR T=UDX(IVC-1)+ISTP TO UDX(IVC-1)+BKSTP STEP 1:
4690 IF T>=UDX(IVC) AND T=<UDX(IVC-1) THEN LAYER(T,I,LAY)=CP(T,I,DFL):LINE(T*7+20,I*7+20)-(T*7+27,I*7+27),CP(T,I,DFL),BF
4700 NEXT:
4710 NEXT:PRINT "aa";XYL;STP;ISTP;BKSTP;YYL;T;I;" "
4720 GOTO *AREASC
4730 *LINEHANDLD
4740 XYL=XXL/YYL:STP=0:ISTP=0:BKSTP=0:
4750 FOR I=UDY(IVC-1) TO UDY(IVC) STEP 1:BKSTP=ISTP:STP=STP+XYL:ISTP=INT(STP)
4760 FOR T=UDX(IVC-1)+BKSTP TO UDX(IVC-1)+ISTP STEP 1:
4770 IF T>=UDX(IVC-1) AND T=<UDX(IVC) THEN LAYER(T,I,LAY)=CP(T,I,DFL):LINE(T*7+20,I*7+20)-(T*7+27,I*7+27),CP(T,I,DFL),BF
4780 NEXT:
4790 NEXT:PRINT "bb";XYL;STP;ISTP;BKSTP;T;I;"
4800 GOTO *AREASC
4810 *LINEHANDRU
4820 XYL=-XXL/-YYL:STP=0:ISTP=0:BKSTP=0:LOCATE 0,10:PRINT XYL;XXL;YYL," "
4830 FOR I=UDY(IVC) TO UDY(IVC-1) STEP 1:BKSTP=ISTP:STP=STP+XYL:ISTP=INT(STP)
4840 FOR T=UDX(IVC)+BKSTP TO UDX(IVC)+ISTP STEP 1:
4850 IF T>=UDX(IVC) AND T=<UDX(IVC-1) THEN LAYER(T,I,LAY)=CP(T,I,DFL):LINE(T*7+20,I*7+20)-(T*7+27,I*7+27),CP(T,I,DFL),BF
4860 NEXT:
4870 NEXT:PRINT "bb";XYL;STP;ISTP;BKSTP;T;I;"
4880 GOTO *AREASC
4890 *LINEHANDLU
4900 XYL=XXL/-YYL:STP=0:ISTP=0:BKSTP=0:
4910 FOR I=UDY(IVC) TO UDY(IVC-1) STEP 1:BKSTP=ISTP:STP=STP-XYL:ISTP=INT(STP):
4920 FOR T=UDX(IVC)+ISTP TO UDX(IVC)+BKSTP STEP 1:
4930 IF T>=UDX(IVC-1) AND T=<UDX(IVC) THEN LAYER(T,I,LAY)=CP(T,I,DFL):LINE(T*7+20,I*7+20)-(T*7+27,I*7+27),CP(T,I,DFL),BF
4940 NEXT:
4950 NEXT:PRINT "bb";XYL;STP;ISTP;BKSTP;T;I;"
4960 GOTO *AREASC
4970 *LINEUNDO
4980 REM FOR I=1 TO 64:FOR T=1 TO 64:
4990 END
5000 END
5010 END
5020 END
5030 END
5040 END
5050 END
5060 *TOOLS
5070 IF IVX(IVC)<488 THEN *FIELDCNT
5080 IF IVY(IVC)>39 AND IVY(IVC)<57 THEN *COLORPALLETE
5090 IF IVY(IVC)>58 AND IVY(IVC)<114 THEN *COLORCHANGE
5100 IF IVY(IVC)>115 AND IVY(IVC)<171 THEN *COLORLEVEL
5110 IF IVY(IVC)>172 AND IVY(IVC)<190 THEN *DITHER
5120 IF IVY(IVC)>191 AND IVY(IVC)<209 THEN *LINECARV
5130 IF IVY(IVC)>210 AND IVY(IVC)<228 THEN *PAINTPSET
5140 IF IVY(IVC)>229 AND IVY(IVC)<247 THEN *LAYERCHANGE
5150 IF IVY(IVC)>248 AND IVY(IVC)<285 THEN *PENCHANGE
5160 IF IVY(IVC)>286 AND IVY(IVC)<304 THEN *SPOITGLID
5170 IF IVY(IVC)>305 AND IVY(IVC)<323 THEN *UNDORESET
5180 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
5190 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
5200 IF IVY(IVC)>381 AND IVY(IVC)<399 THEN *FILENAME
5210 IVC=IVC-1
5220 GOTO *FIELDCNT
5230 END
5240 *COLORPALLETE
5250 FLAGCP=0
5260 FOR C=0 TO 15
5270 IF IVX(IVC)>MLC(C+61) AND IVX(IVC)<MLC(C+61) THEN FLAGCP=1:CP=C
5280 NEXT
5290 GOSUB *DITHERFILTERLING
※コメント投稿者のブログIDはブログ作成者のみに通知されます