RANDOMIZE TIMER REM WAS8BIT DIM GLOBAL DAT(6,6),CUB(6,6),CHR(6),FRAME(7) FOR Y=1 TO 6 FOR X=1 TO 6 READ DAT(X,Y) NEXT X NEXT Y DATA 1,2,3,4,5,6 DATA 4,5,1,6,3,2 DATA 6,3,2,5,4,1 DATA 2,1,4,3,6,5 DATA 3,6,5,1,2,4 DATA 5,4,6,2,1,3 FOR I=1 TO 6 READ CHR(I) NEXT I DATA 9,11,13,41,43,45 FOR I=0 TO 7 READ FRAME(I) NEXT I DATA 16,32,48,15,31,47,63,64 GLOBAL CHRMIX,IMIX,TWAIT CHRMIX=RND(5)+1 IMIX=1 TWAIT=0 XSTART=RND(2)*2+1 XSTEP=RND(1)*2-1 IF XSTEP>0 THEN ADD XSTART,1,1 TO 6 YSTART=RND(2)*2+1 YSTEP=RND(1)*2-1 IF YSTEP>0 THEN ADD YSTART,1,1 TO 6 IX=XSTART FOR X=1 TO 6 ADD IX,XSTEP,1 TO 6 IY=YSTART FOR Y=1 TO 6 ADD IY,YSTEP,1 TO 6 CUB(IX,IY)=DAT(X,Y) NEXT Y NEXT X GAMEPAD 1 SPRITE 0,200,200,1 SPRITE 0 SIZE 3 PCUR=0 XCUR=0 YCUR=0 BG 1 BG COPY 0,0,20,16 TO 0,0 BG 0 BG COPY 0,0,20,16 TO 0,0 CALL PUTCUB WAIT 30 FOR I=1 TO 100 X=RND(2) Y=RND(2) R=RND(1) IF R=0 THEN CALL SWIRL(X,Y) ELSE CALL FLIPIT(X,Y,RND(3)) WAIT 2 PLAY 0,30,1 NEXT I CALL MOVECURSOR(XCUR,YCUR,0,0) IMIX=0 ICOLOR=63 IFRAME=0 DO IF TWAIT=0 THEN IF BUTTON(0,1) THEN CALL SWIRL(XCUR,YCUR) L=LEFT(0) R=RIGHT(0) U=UP(0) D=DOWN(0) ARROWS=L OR R OR U OR D IF BUTTON(0,0) THEN IF U THEN CALL FLIPIT(XCUR,YCUR,0) IF R THEN CALL FLIPIT(XCUR,YCUR,1) IF D THEN CALL FLIPIT(XCUR,YCUR,2) IF L THEN CALL FLIPIT(XCUR,YCUR,3) ELSE IF LEFT(0) THEN CALL MOVECURSOR(XCUR,YCUR,-1,0) IF RIGHT(0) THEN CALL MOVECURSOR(XCUR,YCUR,+1,0) IF UP(0) THEN CALL MOVECURSOR(XCUR,YCUR,0,-1) IF DOWN(0) THEN CALL MOVECURSOR(XCUR,YCUR,0,+1) END IF ' ANIMATE CURSOR ICUR=(ICUR+1) MOD 5 IF ICUR=0 THEN ADD PCUR,1,0 TO 2 SPRITE 0 PAL PCUR END IF ELSE DEC TWAIT END IF ' ANIMATE BACKGROUND IFR=(IFR+1) MOD 15 IF IFR=0 THEN ADD IFRAME,1,0 TO 7 F=FRAME(IFRAME) COPY $8000+F*16,16 TO $8000 IF IFRAME=0 THEN ADD ICOLOR,1,1 TO 63 PALETTE 5,,ICOLOR,, END IF END IF WAIT VBL LOOP SUB FLIPIT(X,Y,Z) XX=X*2+1 YY=Y*2+1 C11=CUB(XX,YY) C21=CUB(XX+1,YY) C12=CUB(XX,YY+1) C22=CUB(XX+1,YY+1) IF Z=0 THEN CUB(XX,YY)=C21 CUB(XX+1,YY)=C11 ELSE IF Z=1 THEN CUB(XX+1,YY)=C22 CUB(XX+1,YY+1)=C21 ELSE IF Z=2 THEN CUB(XX,YY+1)=C22 CUB(XX+1,YY+1)=C12 ELSE IF Z=3 THEN CUB(XX,YY)=C12 CUB(XX,YY+1)=C11 END IF CALL PUTCUB IF IMIX=0 THEN PLAY 0,60,1 TWAIT=15 END IF END SUB SUB SWIRL(X,Y) XX=X*2+1 YY=Y*2+1 C11=CUB(XX,YY) C21=CUB(XX+1,YY) C12=CUB(XX,YY+1) C22=CUB(XX+1,YY+1) CUB(XX,YY)=C12 CUB(XX+1,YY)=C11 CUB(XX,YY+1)=C22 CUB(XX+1,YY+1)=C21 CALL PUTCUB IF IMIX=0 THEN PLAY 0,60,1 TWAIT=15 END IF END SUB SUB PUTCUB BG 0 FOR Y=1 TO 6 FOR X=1 TO 6 CC=CUB(X,Y) C=((CC+CHRMIX) MOD 6)+1 IF C<=3 THEN PAL 3 ELSE PAL 4 FOR IX=0 TO 1 FOR IY=0 TO 1 CELL X*2+IX+2,Y*2+IY,CHR(C)+IX+IY*16 NEXT IY NEXT IX NEXT X NEXT Y END SUB SUB MOVECURSOR(X,Y,DX,DY) ADD X,DX,0 TO 2 ADD Y,DY,0 TO 2 SPRITE 0,(X*4+4)*8,(Y*4+2)*8, PLAY 0,50,1 TWAIT=15 END SUB #1:MAIN PALETTES 003F2A15002A153F00153F2A00303C38 000C0B23373F2A15003F2A15003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 5B9B00C0C000C0C0ED2DC0C000C0C000 6D6D000000000000B6B6000000000000 B6B6000000000000DBDB000000000000 DAD90003030003036D6D030003030003 FF80808080808080007F7F7F7F7F7F7F FF0000000000000000FFFFFFFFFFFFFF FF0000000000000000FFFFFFFFFFFFFF FF0101010101010100FFFFFFFFFFFFFF 00183C7E7F7F7F7F0000000000000000 00183C7EFEFEFEFE0000000000000000 000000000000000000030F1F1F3F3F3F 000000000000000000F0FCE0C0800000 00000101033F1F0F00000101033F1F0F 0080C0C0E0FEFCF80080C0C0E0FEFCF8 00000205225020000000000000000000 00205020000205020000000000000000 00C0C000C0C000C0C0C000C0C000C0C0 00000000000000000000000000000000 00000000000000000000000000000000 00030300030300030300030300030300 80808080808080807F7F7F7F7F7F7F7F 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF 0101010101010101FFFFFFFFFFFFFFFF 7F3F1F0F070301000000000000000000 FEFCF8F0E0C080000000000000000000 00000000000000003F3F3F1F1F0F0300 0000000000000000000080C0E0FCF000 07070F0F1E38000007070F0F1E380000 F0F0F8F83C0E0000F0F0F8F83C0E0000 00020502002050200000000000000000 00002050220502000000000000000000 C000C0C000C0C00000C0C000C0C000C0 00000000000000000000000000000000 00000000000000000000000000000000 03000303000303000303000303000303 80808080808080807F7F7F7F7F7F7F7F 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF 0101010101010101FFFFFFFFFFFFFFFF 00183C7E7E3F1F070000000000000000 00183C7E7EFCF8E00000000000000000 0000000000000000000103070F1F3F7F 00000000000000000080C0E0F0F8FCFE 00001C3C3878707000001C3C38787070 0000383C1C1E0E0E0000383C1C1E0E0E 22050200000020500000000000000000 00000022552200000000000000000000 C0C000C0C0009B5BC000C0C000C0B6B6 0000000000006D6D000000000000DBDB 000000000000B6B60000000000006D6D 030300030300D9DA000303000303B4B7 80808080808080FF7F7F7F7F7F7F7FFF 00000000000000FFFFFFFFFFFFFFFFFF 00000000000000FFFFFFFFFFFFFFFFFF 01010101010101FFFFFFFFFFFFFFFFFF 071F3F7F7F3D19000000000000000000 E0F8FCFEFEBC98000000000000000000 00000000000000007F3F1F0F07030100 0000000000000000FEFCF8F0E0C08000 7070783C3F1F07007070783C3F1F0700 0E0E1E3CFCF8E0000E0E1E3CFCF8E000 55220000000000220000000000000000 22502000000002050000000000000000 #3:MAIN BG 00001410000500050005000500050005 00050005000500050005000500050005 00050005000500050005000500050005 00050005000500050005000500050005 00050005000500050005000500050005 00050005000500050005000505000600 07000800050006000700080005000600 07000800000500050005000500050005 00050005150016001700180015001600 17001800150016001700180000050005 00050005000500050005000525002600 27002800250026002700280025002600 27002800000500050005000500050005 00050005350036003700380035003600 37003800350036003700380000050005 00050005000500050005000505000600 07000800050006000700080005000600 07000800000500050005000500050005 00050005150016001700180015001600 17001800150016001700180000050005 00050005000500050005000525002600 27002800250026002700280025002600 27002800000500050005000500050005 00050005350036003700380035003600 37003800350036003700380000050005 00050005000500050005000505000600 07000800050006000700080005000600 07000800000500050005000500050005 00050005150016001700180015001600 17001800150016001700180000050005 00050005000500050005000525002600 27002800250026002700280025002600 27002800000500050005000500050005 00050005350036003700380035003600 37003800350036003700380000050005 00050005000500050005000500050005 00050005000500050005000500050005 00050005000500050005000500050005 00050005000500050005000500050005 00050005000500050005000500050005 00050005