'MAP 2BG 16X20 TO 1BG 32X40 AT A LOW PERFORMANCE COST 'R A S T E R F X ON RASTER CALL RASTERFX SUB RASTERFX SCROLL 0,0,RASTER SCROLL 1,-4,RASTER END SUB 'FILL BG CALL M_CLS(1) TOUCHSCREEN DO IF TOUCH THEN IF TAP THEN X1=TOUCH.X\4 Y1=TOUCH.Y\4 END IF X2=TOUCH.X\4 Y2=TOUCH.Y\4 CALL M_BG_TINT(X1,Y1,X2,Y2,1) 'CALL M_TINT(X2,Y2,1) END IF WAIT VBL LOOP SUB M_CLS(C) BG 1 BG FILL 0,0 TO 19,31 CHAR C BG 0 BG FILL 0,0 TO 19,31 CHAR C END SUB SUB M_CELL(X,Y,C) NXBG=X1 MOD 2 X=X1\2 BG NXBG TINT X,Y PAL P BG 0 END SUB SUB M_BG_FILL(X1,Y1,X2,Y2,C) X1B0=(X1+1)\2 X2B0=X2\2 X1B1=X1\2 X2B1=(X2-1)\2 IF X1>X2 THEN SWAP X1,X2 IF Y1>Y2 THEN SWAP Y1,Y2 BG 1 BG FILL X1B1,Y1 TO X2B1,Y2 CHAR C BG 0 BG FILL X1B0,Y1 TO X2B0,Y2 CHAR C END SUB SUB M_TINT(X1,Y,P) NXBG=X1 MOD 2 X=X1\2 BG NXBG TINT X,Y PAL P BG 0 END SUB SUB M_BG_TINT(X1A,Y1A,X2A,Y2A,P) X1=X1A X2=X2A Y1=Y1A Y2=Y2A IF X1>X2 THEN SWAP X1,X2 IF Y1>Y2 THEN SWAP Y1,Y2 X1B0=(X1+1)\2 X2B0=X2\2 X1B1=X1\2 X2B1=(X2-1)\2 BG 1 BG TINT X1B1,Y1 TO X2B1,Y2 PAL P BG 0 BG TINT X1B0,Y1 TO X2B0,Y2 PAL P END SUB SUB M_BG_COPY(F) '(X1,Y1,W,H,X2,Y2) FOR K=0 TO 1 A0=ROM(F)+K A1=$9000+$800*K FOR I=0 TO 20*16-1 COPY I*2+A0,1 TO I+A1 NEXT I NEXT K END SUB #1:MAIN PALETTES 0516010000383400002B1700003F3C00 003F2A15003F2A15003F2A15003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 E000E000E0000000100010001000F000 0000600060000000F000F000F000F000