REM MCPEPIC DIM GLOBAL SCREEN(39,31) GLOBAL DRAW_X, DRAW_Y, DRAW_COLOR ON RASTER CALL ALLIGN C=0 TOUCHSCREEN DO FOR I=0 TO 24 X=I*2 MOD 40 Y=I*2 \ 40 * 2 CALL SET_PEN(X,Y,I) CALL RECT(1,1) IF TAP THEN MX=TOUCH.X\4 MY=TOUCH.Y\4 IF MX\2=X\2 AND MY\2=Y\2 THEN C=I END IF NEXT I IF DRAW_COLOR=0 THEN PP=0 CC=0 ELSE DC=C-1 PP=DC\3 CC=DC MOD 3+1 END IF BYTE=COLOR(PP,CC) FOR I=0 TO 5 XX=3*I+22 YY=3 CALL SET_PEN(XX,YY,(BYTE\2^(5-I) AND 1)+1) CALL RECT(1,1) IF TAP THEN CALL SET_PEN(0,0,C) MX=TOUCH.X\4 MY=TOUCH.Y\4 IF MX>=XX AND MX=YY AND MYDRAW_COLOR THEN CALL CLIP NEXT XX NEXT YY DRAW_X=X DRAW_Y=Y END SUB SUB LINE(X2,Y2) DX=X2-DRAW_X DY=Y2-DRAW_Y STEPS=MAX(ABS(DX),ABS(DY)) XINC=DX/STEPS YINC=DY/STEPS FOR I=0 TO STEPS CALL CLIP ADD DRAW_X,XINC ADD DRAW_Y,YINC NEXT I END SUB SUB DRAWCHAR(CC,PP) XX=DRAW_X YY=DRAW_Y LA=16*CC+$8000 HA=LA+8 FOR Y=0 TO 7 FOR X=7 TO 0 STEP -1 LB=PEEK(LA+Y)\2^X AND 1 HB=PEEK(HA+Y)\2^X AND 1 BB=2*HB+LB IF BB THEN IX=7-X CALL SET_PEN(XX+IX,YY+Y,3*PP+BB) CALL CLIP END IF NEXT X NEXT Y END SUB SUB DRAWTEXT(T$,PP) X=DRAW_X Y=DRAW_Y FOR I=1 TO LEN(T$) CALL SET_PEN(X,Y,DRAW_COLOR) CALL DRAWCHAR(ASC(MID$(T$,I,1))-65+225,PP) ADD X,4 NEXT I END SUB 'RESTORE LABEL FIRST SUB IMAGE X=DRAW_X Y=DRAW_Y LN=0 REPEAT READ L$ FOR I=1 TO LEN(L$) C=VAL(MID$(L$,I,1)) IF C THEN CALL SET_PEN(X+I,Y+LN,C) CALL CLIP END IF NEXT I INC LN UNTIL L$="" END SUB SUB SET_PEN(X,Y,C) DRAW_X=X DRAW_Y=Y DRAW_COLOR=C END SUB SUB SET_INK(R,G,B) C=16*R + 4*G + B IF DRAW_COLOR=0 THEN PALETTE 0,C,,, ELSE DC=DRAW_COLOR-1 PP=DC\3 SS=DC MOD 3+1 IF SS=1 THEN PALETTE PP,,C,, ELSE IF SS=2 THEN PALETTE PP,,,C, ELSE PALETTE PP,,,,C END IF END SUB SUB INBOUNDS(X,Y,O) O= X>=0 AND X<40 AND Y>=0 AND Y<32 END SUB SUB CLEAR CALL SET_PEN(0,0,0) CALL RECT(39,31) END SUB SUB CLIP IB=0 CALL INBOUNDS(DRAW_X,DRAW_Y,IB) IF IB THEN CALL DRAW END SUB SUB DRAW SCREEN(DRAW_X,DRAW_Y)=DRAW_COLOR CALL UPD_PIX END SUB SUB UPD_PIX BG DRAW_X MOD 2 S=SCREEN(DRAW_X,DRAW_Y) IF S=0 THEN PAL 0 CELL DRAW_X\2,DRAW_Y,0 ELSE PAL (S-1)\3 CELL DRAW_X\2,DRAW_Y,(S-1) MOD 3+1 END IF END SUB '0..3:0 '4..7:4 '8..11:8 SUB ALLIGN SY=RASTER\4*4 SCROLL 0, 0,SY SCROLL 1,-4,SY END SUB CAT_DATA: DATA "" #2:MAIN CHARACTERS 00000000000000000000000000000000 F0F0F0F0000000000000000000000000 0000000000000000F0F0F0F000000000 F0F0F0F000000000F0F0F0F000000000 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 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 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 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 E0A0A0A0E0000000E0A0A0A0E0000000 40404040400000004040404040000000 E020E080E0000000E020E080E0000000 E020E020E0000000E020E020E0000000 A0A0E02020000000A0A0E02020000000 E080E020E0000000E080E020E0000000 E080E0A0E0000000E080E0A0E0000000 E020202020000000E020202020000000 E0A0E0A0E0000000E0A0E0A0E0000000 E0A0E020E0000000E0A0E020E0000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 E0A0E0A0A0000000E0A0E0A0A0000000 C0A0C0A0E0000000C0A0C0A0E0000000 E0808080E0000000E0808080E0000000 C0A0A0A0C0000000C0A0A0A0C0000000 E080C080E0000000E080C080E0000000 E080C08080000000E080C08080000000 E080A0A0E0000000E080A0A0E0000000 A0A0E0A0A0000000A0A0E0A0A0000000 E0404040E0000000E0404040E0000000 E02020A0E0000000E02020A0E0000000 A0A0C0A0A0000000A0A0C0A0A0000000 80808080E000000080808080E0000000 A0E0A0A0A0000000A0E0E0A0A0000000 20A0E0A080000000A0E0E0E0A0000000 E0A0A0A0E0000000E0A0A0A0E0000000 E0A0E08080000000E0A0E08080000000 E0A0A0E040000000E0A0A0E040000000 E0A0C0A0A0000000E0A0C0A0A0000000 E080E020E0000000E080E020E0000000 E040404040000000E040404040000000 A0A0A0A0E0000000A0A0A0A0E0000000 A0A0A0A040000000A0A0A0A040000000 A0A0A0E0A0000000A0A0E0E0A0000000 A0A040A0A0000000A0A040A0A0000000 A0A0404040000000A0A0404040000000 E0204080E0000000E0204080E0000000