---CHECKSUM 511,677 WITHOUT THIS LINE-- 0 'PALETT.100 v1.1 R.W.Hess [73267,552] 4/4/88 (from CANVAS/DL6 by Seth Kaplan) 2 'using CIRCLE/DL6 & QIKDMP/DL4; See PALETT.DOC for credits and instructions 4 HM=HIMEM:A$=STR$(HM):GOSUB300:GOSUB246 6 CLS:CLEAR256,54000:LOADM"CIRCLE":LOADM"QIKDMP":ONERRORGOTO120 8 DF=1:GOSUB180:LINE(90,7)-(143,7):CALL17001:PRINT@55," PALETTE ":CALL17006 10 PRINT@166,"ew or

revious graphic?":PRINT@256,"enu":GOSUB280 12 K$=INKEY$:IFK$="N"THENGOSUB232:GOSUB176:GOSUB244:GOSUB246:GOSUB230:CLS:D=1:X=120:Y=32:GOSUB280:GOSUB250:GOSUB292:GOSUB254:GOTO20 14 IFK$="P"THENGOSUB244:GOSUB232:GOTO204 16 IFK$="M"THEN318 18 GOTO12 20 I$=INKEY$:IFI$=""THENGOSUB302:LINE(X,Y)-(X,Y),1-D:GOSUB302:LINE(X,Y)-(X,Y),D:GOTO20 22 IFI$=CHR$(11)THENGOSUB117:GOTO172 24 IFI$=CHR$(16)THENGOSUB117:GOSUB202 26 IFI$="H"THENGOSUB117:GOSUB210:GOSUB292:CALL54004 28 IFI$=CHR$(2)THENGOSUB117:DF=1-DF:GOSUB280:GOSUB180 30 IFI$=CHR$(7)THENGOSUB117:DG=1-DG:GOSUB280:GOSUB182 32 IFI$="T"THENGOSUB117:GOSUB186:GOSUB292:CALL54004 34 IFI$="K"THENGOSUB117:GOSUB186:GOSUB292:CALL54004 36 IFI$="Q"THENGOSUB117:GOSUB260 38 IFI$="P"THENGOSUB117:GOSUB250:GOSUB310:GOSUB254 40 IFI$<>CHR$(30)ANDI$<>CHR$(31)THEN50ELSEGOSUB117 42 IFI$=CHR$(30)THENS=S+2:IFS>43THENS=43:BEEP 44 IFI$=CHR$(31)THENS=S-2:IFS<1THENS=1:BEEP 46 SP=(S-1)/2 48 GOSUB250:GOSUB280:PRINT@292," Brush size:"S;:GOSUB258:GOSUB254 50 IFI$=CHR$(132)THENGOSUB117:GOTO208 52 IFI$=CHR$(24)THENGOSUB117:GOSUB250:BEEP:GOTO6 54 IFI$="W"THENX=X-1:Y=Y-1 56 IFI$="Z"THENX=X-1:Y=Y+1 58 IFI$="R"THENX=X+1:Y=Y-1 60 IFI$="C"THENX=X+1:Y=Y+1 62 IFI$="D"THENX=X+1:CX=1:CY=0 64 IFI$="E"THENY=Y-1:CY=1:CX=0 66 IFI$="S"THENX=X-1:CX=1:CY=0 68 IFI$="X"THENY=Y+1:CY=1:CX=0 70 IFI$=CHR$(20)THENGOSUB117:PRESET(X,Y):GOSUB250:GOSUB280:GOSUB152:CALL17006 72 IFI$<>"O"THEN84 74 IFB=0ANDF=0ANDL=0THENGOSUB250 76 IFY>31THENXP=10ELSEXP=290 78 GOSUB280:PRINT@XP," X"+CHR$(154);SPACE$(18);:PRINT@XP+3,;:X$=INPUT$(3):X=VAL(X$):IFX>239THENBEEP:GOTO78:ELSEPRINTX;:GOSUB280 80 PRINT" Y"+CHR$(153);:Y$=INPUT$(2):Y=VAL(Y$):IFY>63THENBEEP:GOTO78:ELSEGOSUB280:PRINTY" Y/N?";:Q$=INPUT$(1):IFQ$<>"Y"THEN78 82 GOSUB252:GOSUB117:GOSUB254 84 IFI$="I"THENGOSUB117:FORI=0TO319:PRINT@I,;:CALL17786:NEXT:D=1-D:GOSUB250:GOSUB280:GOSUB292:GOSUB254 86 IFI$="B"ANDB=1THENCALL54004:LINE(BX,BY)-(X,Y),D,BF:B=0:S=TS:GOTO282 88 IFI$="B"ANDF=0ANDL=0THENPF$=" BOX ":GOSUB134:B=1:BX=X:BY=Y:TS=S:S=1 90 IFI$="F"ANDF=1THENS=TS:IFS=1THENCALL54004:LINE(FX,FY)-(X,Y),D,B:F=0:GOTO282 92 IFI$="F"ANDF=1THENS=TS:IFS>1THENCALL54004:GOSUB304:F=0:GOTO282 94 IFI$="F"ANDB=0ANDL=0THENPF$=" FRAME ":GOSUB134:F=1:FX=X:FY=Y:TS=S:S=1 96 IFI$="L"ANDL=1THENS=TS:IFS=1THENCALL54004:LINE(LX,LY)-(X,Y),D:L=0:S=TS:GOTO282 98 IFI$="L"ANDL=1THENS=TS:IFS>1THENCALL54004:LS=(S-1)/2:FORSW=1TOS:LINE(LX,LY+LS)-(X,Y+LS),D:LINE(LX+LS,LY)-(X+LS,Y),D:LS=LS-1:NEXT:L=0:S=TS:GOTO282 100 IFI$="L"ANDB=0ANDF=0THENPF$=" LINE ":GOSUB134:L=1:LX=X:LY=Y:TS=S:S=1 102 IFI$=CHR$(9)THENGOSUB117:IFD=1THENGOSUB250:CALL17001:GOSUB280:PRINT@133," WHITE PIXELS ":CALL17006:GOSUB258:GOSUB254:D=1-D:ELSE:GOSUB250:GOSUB280:PRINT@133," BLACK PIXELS ":GOSUB258:GOSUB254:D=1-D 104 IFY>63THENY=63 106 IFY<0THENY=0 108 IFX<0THENX=0 110 IFX>238THENX=239 112 IFS<1THENS=1 114 IFSMOD2=0THENS=S+1 115 IFS=1THENLINE(X,Y)-(X,Y),D:ELSEGOSUB138 116 GOTO20 117 IFL=0ANDF=0ANDB=0THENRETURNELSEBEEP:BEEP:GOTO20 120 GOSUB250:BEEP:IFERR=52THEN318ELSEPRINT@130," OUT OF RANGE! ":GOSUB258:GOSUB254 122 IFX>239THENX=239 124 IFX<0THENX=0 126 IFY>63THENY=63 128 IFY<0THENY=0 130 L=0:B=0:F=0:S=1 132 RESUME20 134 GOSUB250:GOSUB280:IFY>31THENRL=0ELSERL=280 136 PRINT@RL,PF$;:RETURN 138 SL=SP:SB=SP:ST=SP:SR=SP 140 IFY>31ANDCX=1THENIFSP>63-YTHENSB=(63-Y):GOSUB150:RETURNELSEGOSUB150:RETURN 142 IFY<32ANDCX=1THENIFSP>YTHENST=Y:GOSUB150:RETURNELSEGOSUB150:RETURN 144 IFX>119ANDCY=1THENIFSP>239-XTHENSR=239-X:GOSUB148:RETURNELSEGOSUB148:RETURN 146 IFX<120ANDCY=1THENIFSP>XTHENSL=X:GOSUB148:RETURNELSEGOSUB148:RETURN 148 LINE(X-SL,Y)-(X+SR,Y),D:RETURN 150 LINE(X,Y-ST)-(X,Y+SB),D:RETURN 152 GOSUB312 154 IFD=0THENCALL17001 156 RE=O+40:IFRE>320THENRE=O 158 I$=INKEY$:IFI$=""THENGOSUB170:PRINT@O,CHR$(255);:GOSUB170:PRINT@O,CHR$(239);:GOTO158 160 IFI$=CHR$(20)THENX=6*(OMOD40):Y=8*(O\40)+7:GOSUB252:GOSUB254:RETURN 162 IFI$=CHR$(8)THENIFO=0THENO=0ELSEO=O-1:PRINT@O," ";:GOTO158 164 IFI$=CHR$(13)THENO=RE:GOTO156 166 IFASC(I$)>31ANDO<318THENPRINT@O,I$;:GOSUB250:O=O+1 168 GOTO158 170 FORTT=1TO75:NEXT:RETURN 172 GOSUB250:GOSUB232:GOSUB174:GOSUB244:GOSUB246:CLS:S$=ID$:GOSUB248:SAVEMS$,54245,56170 174 IFA$=""THENA$=ID$ 176 IFLEN(A$)<1THEN318ELSEIFLEN(A$)>5THENA$=LEFT$(A$,5)+"]":RETURN 178 A$=A$+SPACE$(5-LEN(A$))+"]":RETURN 180 LINE(0,0)-(239,63),DF,B:RETURN 182 FORGX=10TO230STEP10:LINE(GX,0)-(GX,0),DG:LINE(GX,63)-(GX,63),DG:NEXT:FORGY=10TO60STEP10:LINE(0,GY)-(0,GY),DG:LINE(239,GY)-(239,GY),DG:NEXT:RETURN 184 RETURN 186 GOSUB280:I3$=I$:LINE(X,Y)-(X,Y),1-D:GOSUB250:CALL17001:PRINT@280," "CHR$(254)"?";:CALL17006 188 I$=INPUT$(2):GOSUB254 190 H=VAL(I$)/2 192 IFI3$="K"THEN198 194 LINE(X-H,Y+H)-(X,Y-H),D:LINE(X+H,Y+H)-(X,Y-H),D:LINE(X-H,Y+H)-(X+H,Y+H),D 196 GOSUB284:RETURN 198 FORH3=1TOH 200 LINE(X-H3,Y+H3)-(X,Y-H3),D:LINE(X-H3,Y+H3)-(X+H3,Y+H3),D:LINE(X+H3,Y+H3)-(X,Y-H3),D:NEXTH3:GOTO196 202 GOSUB300:HM=VAL(HM$):CLEAR256,HM:CALL54053:RUN 204 IFA$=""THEN208 206 IFRIGHT$(A$,1)<>"]"THENBEEP:GOTO318ELSEGOSUB246 208 GOSUB244:L$=ID$:LOADML$:GOSUB230:CALL54004:GOSUB292:GOSUB254:GOTO20 210 GOSUB280:GOSUB250:CALL17001:PRINT@280," r?";:R$=INPUT$(2):CALL17006:IFR$=""THENRETURN 212 R=VAL(R$):GOSUB254:POKE64705,D:IFS=1THENGOSUB226ELSEGOSUB228 214 Y$=INKEY$:IFY$=""THEN:GOSUB280:GOSUB258:GOTO214 216 IFY$="N"THENGOSUB254:RETURN 218 IFY$="Y"THENGOSUB250:GOSUB254:RETURN 220 IFY$="F"THENGOSUB224:GOTO214 222 GOTO214 224 RC=R:FORT=0TORC:R=RC-T:GOSUB226:Y=Y-1:GOSUB226:Y=Y+1:NEXT:R=RC:RETURN 226 CALL64704,R,256*X+Y:RETURN 228 TR=R:YY=Y:FORR=TR-SPTOTR+SP:GOSUB226:Y=Y-1:GOSUB226:Y=Y+1:NEXT:R=TR:Y=YY:RETURN 230 DF=1-D:DG=DF:F=0:B=0:L=0:S=1:ONERRORGOTO120:X=PEEK(56166):Y=PEEK(56167):D=PEEK(56168):RETURN 232 CLS:P$="":FORN=63919TO64128STEP11 234 IFPEEK(N)ANDPEEK(N+8)=93THENFORP=3TO8:P$=P$+CHR$(PEEK(N+P)):NEXT:PRINTP$" ";:P$="" 236 NEXT:P=0:IFFRE(0)<2500THENBEEP:BEEP:CALL17001:PRINT:PRINT:PRINT" Not enough RAM for a NEW graphic file! ";:CALL17006 238 IFK$="N"THENK$="":GOTO242 240 GOSUB244:IFLEN(ID$)>0THENPRINT@257,ID$;". If OK, "; 242 GOSUB280:PRINT@243,"Graphic name";:LINEINPUT": ";A$:RETURN 244 ID$="RANDD]":ID=VARPTR(ID$):RETURN 246 FORL=1TO6:POKEPEEK(ID+1)+256*PEEK(ID+2)+L-1,ASC(MID$(A$,L,1)):NEXT:A$="":ID=0:RETURN 248 K$="RUN6"+CHR$(13):FORN=1TO5:POKE65449+2*N,ASC(MID$(K$,N,1)):POKE65450+2*N,0:NEXT:POKE65450,N:RETURN 250 CALL54000 252 POKE56166,X:POKE56167,Y:POKE56168,D:RETURN 254 CALL54004 256 X=PEEK(56166):Y=PEEK(56167):D=PEEK(56168):IFD>1THEND=1ELSED=D:RETURN 258 FORW=1TO800:NEXT:W=0:RETURN 260 GOSUB250:CLS:PRINT"E"CHR$(152)" ^K-Save ^T-Text I-Invrs !For" 262 PRINT"R"CHR$(152)"r ^G-Guide ^B-Bordr T-Trngl !F,B,L:" 264 PRINT"D"CHR$(154)" ^P-Print ^X-Menu K-"CHR$(253);" tri !press" 266 PRINT"C"CHR$(153)"r Graph/C-ReLoad Q-Query !letter,"; 268 PRINT"X"CHR$(153)" O-direct X,Y F-Frame !go to" 270 PRINT"Z"CHR$(153)"l P-Pixel pos. B-Box !new XY,"; 272 PRINT"S"CHR$(155)" "CHR$(152);CHR$(153)" Brush width L-Line !repeat" 274 PRINT"W"CHR$(152)"l TAB-B/W pixel H-Hole !letter"; 276 K$=INKEY$:IFK$<>"Q"THEN276 278 GOSUB254:RETURN 280 SOUND(1108+(VAL(RIGHT$(TIME$,1))/2*400)),1:RETURN 282 GOSUB284:GOSUB250:GOSUB292:GOSUB254:GOTO102 284 B$=INKEY$:IFB$=""THENGOSUB280:GOSUB258:GOTO284 286 IFB$="Y"THENGOSUB250:GOSUB254:RETURN 288 IFB$="N"THENGOSUB254:RETURN 290 GOTO284 292 Q=D:FORT=1TO3 294 FORBR=2TO10STEP2 296 POKE64705,Q:R=12-BR:GOSUB226 298 NEXT:Q=1-Q:NEXT:RETURN 300 HM$=" 60675":ID=VARPTR(HM$):RETURN 302 FORQ=1TO30:NEXT:RETURN 304 IFFX>XTHENDX=FX-X:FX=X:X=X+DX 306 IFFY>YTHENDY=FY-Y:FY=Y:Y=Y+DY 308 RF=(S-1)/2:FORFW=0TOS-1:LINE(FX+RF,FY+RF)-(X-RF,Y-RF),D,B:RF=RF-1:NEXT:RETURN 310 GOSUB314:GOSUB280:PRINT@CP," X"X",Y"Y:GOSUB292:GOSUB258:RETURN 312 O=(X\6)+(40*(Y\8)):IFO>317THENO=317 314 IFY>31THENCP=134ELSECP=174 316 RETURN 318 GOSUB300:HM=VAL(HM$):CLEAR256,HM:BEEP:MENU