DIM GLOBAL LAYER(3,31,31) DIM GLOBAL GETCHAR(7,7) C=0 SPRITE 1,0,0,100 SPRITE 2,0,8,68 SPRITE.A 2,(,,,,1) SPRITE 3,0,24,64 SPRITE.A 3,(,,,,3) CALL READCHAR(100) FOR Y=0 TO 7 FOR X=0 TO 7 LAYER(1,X,Y)=GETCHAR(X,Y) NEXT X NEXT Y REM SCALE 1 TO 2 FOR Y=0 TO 7 FOR X=0 TO 7 C=LAYER(1,X,Y) PX=X*2 PY=Y*2 IF C=3 THEN CALL DOLINE3(2,PX,PY) IF C=2 THEN CALL DOLINE2(2,PX,PY) NEXT X NEXT Y FOR Y=0 TO 7 FOR X=0 TO 7 C=LAYER(1,X,Y) PX=X*2 PY=Y*2 IF C>0 THEN CALL DOBAR1(2,PX,PY) NEXT X NEXT Y CALL DOCOPY(0,0,2) CALL WRITECHAR(68) CALL DOCOPY(8,0,2) CALL WRITECHAR(69) CALL DOCOPY(0,8,2) CALL WRITECHAR(84) CALL DOCOPY(8,8,2) CALL WRITECHAR(85) REM SCALE 2 TO 3 FOR Y=0 TO 15 FOR X=0 TO 15 C=LAYER(2,X,Y) PX=X*2 PY=Y*2 IF C=3 THEN CALL DOLINE3(3,PX,PY) IF C=2 THEN CALL DOLINE2(3,PX,PY) NEXT X NEXT Y FOR Y=0 TO 15 FOR X=0 TO 15 C=LAYER(2,X,Y) PX=X*2 PY=Y*2 IF C>0 THEN CALL DOBAR1(3,PX,PY) NEXT X NEXT Y CALL DOCOPY(0,0,3) CALL WRITECHAR(64) CALL DOCOPY(8,0,3) CALL WRITECHAR(65) CALL DOCOPY(16,0,3) CALL WRITECHAR(66) CALL DOCOPY(24,0,3) CALL WRITECHAR(67) CALL DOCOPY(0,8,3) CALL WRITECHAR(80) CALL DOCOPY(8,8,3) CALL WRITECHAR(81) CALL DOCOPY(16,8,3) CALL WRITECHAR(82) CALL DOCOPY(24,8,3) CALL WRITECHAR(83) CALL DOCOPY(0,16,3) CALL WRITECHAR(96) CALL DOCOPY(8,16,3) CALL WRITECHAR(97) CALL DOCOPY(16,16,3) CALL WRITECHAR(98) CALL DOCOPY(24,16,3) CALL WRITECHAR(99) CALL DOCOPY(0,24,3) CALL WRITECHAR(112) CALL DOCOPY(8,24,3) CALL WRITECHAR(113) CALL DOCOPY(16,24,3) CALL WRITECHAR(114) CALL DOCOPY(24,24,3) CALL WRITECHAR(115) SUB DOCOPY(DX,DY,M) FOR Y=0 TO 7 FOR X=0 TO 7 GETCHAR(X,Y)=LAYER(M,X+DX,Y+DY) NEXT X NEXT Y END SUB SUB READCHAR(ICHAR) SELCHAR=ICHAR AD=$8000+SELCHAR*16 FOR PY=0 TO 7 FOR PX=0 TO 7 BV=2^(7-PX) PV=0 IF PEEK(AD) AND BV THEN PV=1 IF PEEK(AD+8) AND BV THEN PV=PV+2 GETCHAR(PX,PY)=PV NEXT PX AD=AD+1 NEXT PY END SUB SUB WRITECHAR(ICHAR) SELCHAR=ICHAR AD=$8000+SELCHAR*16 FOR BI=1 TO 2 FOR PY=0 TO 7 V=0 FOR PX=0 TO 7 BV=2^(7-PX) IF GETCHAR(PX,PY) AND BI THEN V=V OR BV NEXT PX TRACE " ",V WAIT 1 POKE AD,V AD=AD+1 NEXT PY NEXT BI END SUB SUB DOBAR1(L,X,Y) LAYER(L,X,Y)=1 LAYER(L,X+1,Y)=1 LAYER(L,X,Y+1)=1 LAYER(L,X+1,Y+1)=1 END SUB SUB DOLINE2(L,X,Y) LAYER(L,X,Y+2)=2 LAYER(L,X+2,Y)=2 LAYER(L,X-1,Y+1)=2 LAYER(L,X+1,Y-1)=2 END SUB SUB DOLINE3(L,X,Y) LAYER(L,X,Y-1)=3 LAYER(L,X-1,Y)=3 LAYER(L,X+2,Y+1)=3 LAYER(L,X+1,Y+2)=3 END SUB #1:MAIN PALETTES 053F3F3F00383400003C0C00003F3C00 003F2A15003F2A15003F2A15003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 FFFFFFFFFFFFFFFF0000000000000000 0000000000000000FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000001030206040000000000000000 6060F090101010100000000000000000 00000000000000000000000000000000 00000103020604070000000000000000 0000E020301010F00000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 08080808080808180000000000000000 080808080C04060E0000000000000000 00000000000000000000000000000000 04080818101000000000000000000000 10101010101000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 1F181030206040800000000000000000 FE020301010100000000000000000000 00000000008080C00000000000000000 00180C667E66660000003C0000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 01010302060408380000000000000000 80000000000000000000000000000000 00000000000000000000000000000000 40404040602020380000000000000000