'INSTRUCTIONS, 1)ADD THIS AS A TOOL, 2)EDIT YOUR GAME WITH THIS TOOL, 3)USE SUBS FROM DISPLAYER IN YOUR GAME REM PICTURE PICTURE REM CODE ENTIRELY BY WAS8BIT DIM GLOBAL SET0(7),SET1(7) DIM GLOBAL GETPUT(7,7,1),BITBIT(7,7,1),DOBIT(7,7,1) GLOBAL XGETPUT,YGETPUT,QX,QY GLOBAL FILENUMBER FILENUMBER=12 FOR I=0 TO 7 READ SET0(I) READ SET1(I) NEXT I DATA %01111111 DATA %10000000 DATA %10111111 DATA %01000000 DATA %11011111 DATA %00100000 DATA %11101111 DATA %00010000 DATA %11110111 DATA %00001000 DATA %11111011 DATA %00000100 DATA %11111101 DATA %00000010 DATA %11111110 DATA %00000001 C1=16*3 C2=16*3+4*2 C3=16*3+4*3 C4=4*2 C5=4+3 C6=14*3+2 PALETTE 2,,63,, PALETTE 0,,C1,C2,C3 PALETTE 1,,C4,C5,C6 BG 1 PAL 2 FOR X=0 TO 3 CELL X,12,8+X CELL X+5,12,12+X CELL X,14,24+X CELL X+5,14,28+X CELL X,13,40+X CELL X+5,13,44+X NEXT X PAL 3 FOR Y=0 TO 19 CELL 10,Y,1 CELL 19,Y,1 NEXT Y FOR X=0 TO 10 CELL X,10,1 CELL X+11,9,1 CELL X+11,10,1 CELL X+11,8,1 NEXT X BG 0 CALL PUTBOX(11,9,2,32) CALL PUTBOX(14,9,2,34) CALL PUTBOX(17,9,2,36) CALL PBOX(13,12,0,1) CALL PBOX(15,12,0,2) CALL PBOX(17,12,0,3) CALL PBOX(13,14,1,1) CALL PBOX(15,14,1,2) CALL PBOX(17,14,1,3) I=55 BG 1 PAL 1 FOR IY=0 TO 9 FOR IX=0 TO 9 INC I CELL IX,IY,I NEXT IX NEXT IY BG 0 PAL 0 FOR IY=0 TO 9 FOR IX=0 TO 9 INC I CELL IX,IY,I NEXT IX NEXT IY IF ROM(12)>0 THEN LOAD FILENUMBER,$A000 COPY $A000,$1000 TO $8000 CALL READCELL(0,0) END IF TOUCHSCREEN INITIALIZE: SPRITE 0,0,0,4 SPRITE 1,13*8,12*8,5 SPRITE 1 PAL 2 SIZE 1 PALCOLOR=0 XCOLOR=13 YCOLOR=12 XCELL=0 YCELL=0 QTYPE=-1 DO IF TOUCH THEN TX=TOUCH.X\8 TY=TOUCH.Y\8 REM CELL SELECT IF TX<10 AND TY<10 THEN SPRITE 0,TX*8,TY*8, QTYPE=-1 XCELL=TX YCELL=TY QX=TX QY=TY CALL READCELL(XCELL,YCELL) END IF REM COLOR SELECT IF TX>=11 AND TY>=12 THEN TTX=(TOUCH.X+8)\16 TTY=TOUCH.Y\16 SPRITE 1,TTX*16-8,TTY*16, XCOLOR=TX YCOLOR=TY IF TTY*2>12 THEN PALCOLOR=1 ELSE PALCOLOR=0 END IF REM PIXEL DRAW IF TX>10 AND TX<19 AND TY<8 THEN SPRITE 0,-8,-8, PAL PALCOLOR BG 0 CSET=CELL.C(XCOLOR,YCOLOR) CELL TX,TY,CSET IF PALCOLOR=0 THEN CC=101 ELSE CC=1 XSET=TX-11 YSET=TY CALL PLOT(XSET,YSET,0,1+55+XCELL+(YCELL*10)) CALL PLOT(XSET,YSET,0,101+55+XCELL+(YCELL*10)) CALL PLOT(XSET,YSET,CSET,CC+55+XCELL+(YCELL*10)) END IF REM GETPUT? BUTTONS IF (TY=9 OR TY=10) AND TX>= 11 THEN REM GET IF TX=12 OR TX=11 THEN PLAY 0,50,15 PLAY 1,52,15 CALL GETGET(XCELL,YCELL) WAIT 30 END IF REM PUT IF TX=14 OR TX=15 THEN PLAY 0,49,15 PLAY 1,40,15 CALL PUTPUT(XCELL,YCELL) WAIT 30 END IF REM ? IF TX=17 OR TX=18 THEN IF QTYPE>-1 THEN ADD QTYPE,1,0 TO 7 PLAY 0,50+QTYPE,5 IF QTYPE<=0 THEN WAIT 10 PLAY 0,50+QTYPE,5 END IF CALL Q(XCELL,YCELL,QTYPE) WAIT 15 END IF END IF REM DATA BUTTONS IF TY>=10 AND TX<=10 THEN REM SAVE PERSIST IF TY=12 AND TX<=3 THEN COPY $8000,$1000 TO $E000 PLAY 0,90,90 END IF REM LOAD PERSIST IF TY=14 AND TX<=3 THEN COPY $E000,$1000 TO $8000 PLAY 0,80,90 GOTO INITIALIZE END IF REM WRITE DISK IF TY=12 AND TX>=5 AND TX<=8 THEN COPY $8000,$1000 TO $A000 COPY $FF00,$20 TO $B000 SAVE FILENUMBER,"PICPIC",$A000,$1020 PLAY 0,75,90 END IF REM READ DISK IF TY=14 AND TX>=5 AND TX<=8 THEN LOAD FILENUMBER,$A000 COPY $A000,$1000 TO $8000 PLAY 0,70,90 GOTO INITIALIZE END IF END IF END IF LOOP SUB PBOX(X,Y,P,C) PAL P CELL X,Y,C CELL X+1,Y,C CELL X,Y+1,C CELL X+1,Y+1,C END SUB SUB PUTBOX(X,Y,P,C) PAL P CELL X,Y,C CELL X+1,Y,C+1 CELL X,Y+1,C+16 CELL X+1,Y+1,C+17 END SUB SUB Q(CX,CY,IQ) IF IQ=-1 THEN PLAY 0,90,1 CALL GETBIT(CX,CY) IQ=0 END IF REM ROTATE IF IQ>=1 AND IQ<=4 THEN FOR I=0 TO 1 FOR Y=0 TO 7 FOR X=0 TO 7 DOBIT(X,Y,I)=BITBIT(Y,7-X,I) NEXT X NEXT Y NEXT I FOR I=0 TO 1 FOR Y=0 TO 7 FOR X=0 TO 7 BITBIT(X,Y,I)=DOBIT(X,Y,I) NEXT X NEXT Y NEXT I END IF REM HFLIP IF IQ=4 OR IQ=6 THEN FOR I=0 TO 1 FOR Y=0 TO 7 FOR X=0 TO 7 DOBIT(X,Y,I)=BITBIT(7-X,Y,I) NEXT X NEXT Y NEXT I FOR I=0 TO 1 FOR Y=0 TO 7 FOR X=0 TO 7 BITBIT(X,Y,I)=DOBIT(X,Y,I) NEXT X NEXT Y NEXT I END IF REM VFLIP IF IQ=5 OR IQ=7 THEN FOR I=0 TO 1 FOR Y=0 TO 7 FOR X=0 TO 7 DOBIT(X,Y,I)=BITBIT(X,7-Y,I) NEXT X NEXT Y NEXT I FOR I=0 TO 1 FOR Y=0 TO 7 FOR X=0 TO 7 BITBIT(X,Y,I)=DOBIT(X,Y,I) NEXT X NEXT Y NEXT I END IF REM DRAW TO CELLS FOR I=0 TO 1 FOR Y=0 TO 7 FOR X=0 TO 7 BB=BITBIT(X,Y,I) XCELL=QX YCELL=QY IF I=0 THEN CC=101 ELSE CC=1 IF BB=0 AND CC=1 THEN ELSE CALL PLOT(X,Y,0,1+55+XCELL+(YCELL*10)) CALL PLOT(X,Y,0,101+55+XCELL+(YCELL*10)) CALL PLOT(X,Y,BB,CC+55+XCELL+(YCELL*10)) END IF NEXT X NEXT Y WAIT 15 NEXT I CALL READCELL(QX,QY) END SUB SUB GETBIT(CX,CY) XGETPUT=CX YGETPUT=CY CELLNUM=101+55+CX+(CY*10) A=$8000+CELLNUM*16 FOR Y=0 TO 7 FOR X=0 TO 7 N1=PEEK(A+Y) AND SET1(X) N2=PEEK(A+Y+8) AND SET1(X) NUM=SGN(N1)+SGN(N2)*2 BITBIT(X,Y,0)=NUM NEXT X NEXT Y CELLNUM=1+55+CX+(CY*10) A=$8000+CELLNUM*16 FOR Y=0 TO 7 FOR X=0 TO 7 N1=PEEK(A+Y) AND SET1(X) N2=PEEK(A+Y+8) AND SET1(X) NUM=SGN(N1)+SGN(N2)*2 BITBIT(X,Y,1)=NUM NEXT X NEXT Y END SUB SUB PLOT(X,Y,C,CC) A=$8000+CC*16 IF C=0 THEN POKE A+Y,PEEK(A+Y) AND SET0(X) POKE A+Y+8,PEEK(A+Y+8) AND SET0(X) END IF IF C=1 THEN POKE A+Y,PEEK(A+Y) OR SET1(X) POKE A+Y+8,PEEK(A+Y+8) AND SET0(X) END IF IF C=2 THEN POKE A+Y,PEEK(A+Y) AND SET0(X) POKE A+Y+8,PEEK(A+Y+8) OR SET1(X) END IF IF C=3 THEN POKE A+Y,PEEK(A+Y) OR SET1(X) POKE A+Y+8,PEEK(A+Y+8) OR SET1(X) END IF END SUB SUB GETGET(CX,CY) XGETPUT=CX YGETPUT=CY CELLNUM=101+55+CX+(CY*10) A=$8000+CELLNUM*16 FOR Y=0 TO 7 FOR X=0 TO 7 N1=PEEK(A+Y) AND SET1(X) N2=PEEK(A+Y+8) AND SET1(X) NUM=SGN(N1)+SGN(N2)*2 GETPUT(X,Y,0)=NUM NEXT X NEXT Y CELLNUM=1+55+CX+(CY*10) A=$8000+CELLNUM*16 FOR Y=0 TO 7 FOR X=0 TO 7 N1=PEEK(A+Y) AND SET1(X) N2=PEEK(A+Y+8) AND SET1(X) NUM=SGN(N1)+SGN(N2)*2 GETPUT(X,Y,1)=NUM NEXT X NEXT Y END SUB SUB PUTPUT(CX,CY) GETMEM=XGETPUT+YGETPUT*10 PUTMEM=CX+CY*10 M1=$8000+(GETMEM+55)*16 M2=$8000+(PUTMEM+55)*16 COPY M1+16,16 TO M2+16 COPY M1+1616,16 TO M2+1616 PAL 0 FOR Y=0 TO 7 FOR X=0 TO 7 CELL X+11,Y,GETPUT(X,Y,0) NEXT X NEXT Y PAL 1 FOR Y=0 TO 7 FOR X=0 TO 7 NUM=GETPUT(X,Y,1) IF NUM>0 THEN CELL X+11,Y,NUM NEXT X NEXT Y END SUB SUB READCELL (CX,CY) PAL 0 CELLNUM=101+55+CX+(CY*10) A=$8000+CELLNUM*16 FOR Y=0 TO 7 FOR X=0 TO 7 N1=PEEK(A+Y) AND SET1(X) N2=PEEK(A+Y+8) AND SET1(X) NUM=SGN(N1)+SGN(N2)*2 CELL X+11,Y,NUM NEXT X NEXT Y PAL 1 CELLNUM=1+55+CX+(CY*10) A=$8000+CELLNUM*16 FOR Y=0 TO 7 FOR X=0 TO 7 N1=PEEK(A+Y) AND SET1(X) N2=PEEK(A+Y+8) AND SET1(X) NUM=SGN(N1)+SGN(N2)*2 IF NUM>0 THEN CELL X+11,Y,NUM NEXT X NEXT Y END SUB #0:NO FONTS 01010101010101010110101010100101 #1:MAIN PALETTES 0030383C00080723003F0C00002A3C00 003F2A15003F2A15003F2A15003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 FFFFFFFFFFFFFFFF0000000000000000 0000000000000000FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF818181818181FF0000000000000000 FF808080808080800000000000000000 FF010101010101010000000000000000 00000000000000000000000000000000 3F7CFBFCFFF87F3F0000000000000000 FF73EDE16DEDFFFF0000000000000000 FF7676AEAEDEFFFF0000000000000000 FC3EFF7FFF3FFEFC0000000000000000 3F6EEEEEEAF57F3F0000000000000000 FF8EB78FB7BAFFFF0000000000000000 FF207B7B7B3BFFFF0000000000000000 FC86BF8FBF87FEFC0000000000000000 00665555664545000000000000000000 006D49496D456D000000000000000000 00A52434AC24A4000000000000000000 00DC90909C849C000000000000000000 00000000000092000000000000000000 80808080808080FF0000000000000000 01010101010101FF0000000000000000 00000000000000000000000000000000 3F7BFBFBFBF87F3F0000000000000000 FFF3EDEDED73FFFF0000000000000000 FFCEB686B6B6FFFF0000000000000000 FC3EDFDFDE3FFEFC0000000000000000 3F7CFDFCFDFD7F3F0000000000000000 FF71B773B7B1FFFF0000000000000000 FFCEB686B6B6FFFF0000000000000000 FC3EDFDFDF3FFEFC0000000000000000 001F3F7F7F7F7F7F0000003D212D253D 00F8FCFEFEFEFEFE000000DC088808C8 001F3F7F7F7F7F7F0000001D151D1111 00F8FCFEFEFEFEFE0000005C484848C8 001F3F7F7F7F7F7F00001C0C14232424 00F8FCFEFEFEFEFE0000001008844444 00000000000000000000000000000000 00000000000000000000000000000000 0000332A332223000000000000000000 00006354625156000000000000000000 00004D50484458000000000000000000 0000C080808080000000000000000000 00000000000000000000000000000000 0000322A2A2A32000000000000000000 0000698A4C2AC9000000000000000000 00000000000000000000000000000000 7F7F7F7F7F3F1F000000010200000000 FEFEFEFEFEFCF8000080C0A080808000 7F7F7F7F7F3F1F000000000002010000 FEFEFEFEFEFCF80000808080A0C08000 7F7F7F7F7F3F1F002021212011080000 FEFEFEFEFEFCF8008404042830380000