0 'last update 2/17/91 5 'SKT200.BA (c)89,90,91 by R.H.Pigford 10 'min. size, uses GRF200.CO 15 PRINT"Wait...":GOSUB525:GOTO260 20 A$=INKEY$:IFA$=""THEN20ELSERETURN 25 CLS 30 D=1 35 A$=INKEY$ 40 IFA$=>"a"THENIFA$<="z"THENA$=CHR$(ASC(A$)AND223) 45 IFA$=CHR$(32)THEND=1-D:GOTO160 50 IFA$=CHR$(85)THENX=X-1:GOTO160 55 IFA$=CHR$(1)THENX=X-12:GOTO160 60 IFA$=CHR$(79)THENX=X+1:GOTO160 65 IFA$=CHR$(6)THENX=X+12:GOTO160 70 IFA$=CHR$(56)THENY=Y-1:GOTO160 75 IFA$=CHR$(20)THENY=Y-16:GOTO160 80 IFA$=CHR$(75)THENY=Y+1:GOTO160 85 IFA$=CHR$(2)THENY=Y+16:GOTO160 90 IFA$=CHR$(55)THENX=X-1:Y=Y-1:GOTO160 95 IFA$=CHR$(57)THENX=X+1:Y=Y-1:GOTO160 100 IFA$=CHR$(74)THENX=X-1:Y=Y+1:GOTO160 105 IFA$=CHR$(76)THENX=X+1:Y=Y+1:GOTO160 110 IFA$=CHR$(17)THENX=0:GOTO160 115 IFA$=CHR$(18)THENX=239:GOTO160 120 IFA$=CHR$(23)THENY=0:GOTO160 125 IFA$=CHR$(26)THENY=127:GOTO160 130 IFA$="T"ORA$="t"THENSOUND1000,2:GOTO190 135 IFA$="D"THEN495 140 IFFD=1THENGOSUB515 145 IFA$=CHR$(4)THENSOUND15000,2:FD=0 150 IFA$="/"THEN245 155 IFA$=CHR$(27)THEN310 160 IFX<0THENX=0 165 IFX>239THENX=239 170 IFY<0THENY=0 175 IFY>127THENY=127 180 IFD=1THENPSET(X,Y)ELSEPRESET(X,Y) 185 GOTO 35 190 C=INT(X/6):R=INT(Y/8):L=(R*40)+C 195 L1=L 200 L$=INKEY$:IFL$=""THEN200 205 IFL$=CHR$(13)THENSOUND5000,2:GOTO35 210 IFL$<>CHR$(8)THEN230 215 IFL>639THENL=639:GOTO225 220 L=L-1:IFL639THEN200 235 PRINT@L,L$;:L=L+1:GOTO200 240 GOTO200 245 CALL GF 250 IFPEEK(PF)=0THEN410 255 GOTO 35 260 SI$="GRF200":GOSUB600:CLEAR100,GF 265 SI$="GRF200":E$=CHR$(27):CLS 270 GOSUB600:GOSUB530 275 PRINT@125," "E$"pENTER"E$"q key to continue or..." 280 PRINT@205," "E$"pQ"E$"quit" 285 GOSUB20:IF A$="Q"ORA$="q"THEN350 290 IFA$<>CHR$(13)THEN285 295 ONERRORGOTO305:LOADMSI$:GOSUB600 300 E$=CHR$(27):GOTO 310 305 CLS:BEEP:PRINT"Could NOT loadm "E$"p GRF200.CO "E$"q!":PRINT"Hit <"E$"pANY"E$"q> key to BAILOUT!";:GOSUB20:MENU 310 PRINTE$;"W"; 315 CLS:GOSUB535:PRINT@40,"uit" 320 PRINT@80,"ew Sketch":PRINT@95,"dit EXIST.CO file." 325 PRINT@161,E$"p/"E$"q Screen SAVE + Multiple PRINT Functs." 330 PRINT@201,E$"pT"E$"q Type TEXT at dot then "E$"pENTER"E$"q" 335 PRINT@241,E$"pD"E$"q Set 1st dot, "E$"pD"E$"q DRAW LINE to 2nd dot." 340 PRINT@281,E$"pESC"E$"q Erase picture and return here."; 345 A$="":GOSUB20:A=INSTR("QqNnEe",A$):IFA<1ORA>6THEN345ELSEON(A+1)/2GOTO350,355,360 350 HM=256*PEEK(61748)+PEEK(61747):CLEAR256,HM:MENU' or CLEAR256,MAXRAM:MENU 355 PRINTE$;"V";:GOTO 25 360 PRINTE$;"V"; 365 SI$="":CLS:FILES:PRINT"Need 3840 bytes for new PIX.CO files.":PRINT"Have"FRE(0)"now.":PRINT"Enter your existing PIX.CO ":PRINT"filename (w/o ext.).":INPUTSI$:IFLEN(SI$)=0THENBEEP:GOTO310 370 L=LEN(SI$):IFL>6THENBEEP:GOTO310 375 N$=SI$:GOSUB465:SI$=N$ 380 PRINTE$+CHR$(M):SI$=SI$+".CO" 385 PRINTSI$+" Correct? " 390 GOSUB20:IFA$="N"ORA$="n"THEN365 395 GOSUB700:IF NF=1THEN310 400 CALL FZ,,DS 405 GOTO 30 410 CLS:PRINT"<1> Save Buffer to RAM File." 415 PRINT"<2> Return to EDITING Sketch." 420 PRINT"<3> Go to Main MENU (lose this sketch)." 425 GOSUB20:A=VAL(A$):IFA<1ORA>3THENBEEP:GOTO425ELSEONAGOTO435,430,310 430 CALL FZ,,BS:PRINTE$;"V";:GOTO30 435 CLS:FILES:PRINT"Free RAM = "FRE(0):PRINT"Save Sketch File";:INPUTSN$:N$=SN$:GOSUB465 440 SN$=A$:PRINTSN$+".CO"; 445 PRINT" Correct? ":GOSUB20:IFA$="N"ORA$="n"THEN435 450 SX$=SN$:T=0:T=INSTR(SX$,"."):IFTTHENSN$=LEFT$(SX$,T-1) 455 ON ERROR GOTO265 460 SAVEMSN$,BS,BE-1,0 465 A$="":B$="" 470 FOR W=1TOLEN(N$):B$=MID$(N$,W,1) 475 B=ASC(B$) 480 IFB>96 AND B<122 THEN B$=CHR$(ASC(B$) AND 223) 485 A$=A$+B$ 490 NEXTW:N$=A$:RETURN 495 IFFD=0THENX1=X:Y1=Y:FD=1:SOUND1047,2:GOTO35 500 X2=X:Y2=Y 505 IFD=1THENLINE(X1,Y1)-(X2,Y2),1ELSELINE(X1,Y1)-(X2,Y2),0 510 FD=0:FB=0:SOUND1760,2:GOTO35 515 IFZ=0THENPRESET(X1,Y1)ELSEPSET(X1,Y1) 520 Z=1-Z:RETURN 525 HM=HIMEM:HH=INT(HM/256):POKE 61748,HH:HL=HM-(256*HH):POKE 61747,HL:RETURN'behind F4 530 PRINT@41,"Newark, DEL. Uses Himem"GF"to"BE; 535 PRINT@0," "E$"pSKT200.BA"E$"q & "E$"pGRF200.CO"E$"q "CHR$(171)"1989 R.H.Pigford" 540 RETURN 600 GOSUB700 605 IF NF=1THENEND 610 GF=PEEK(DS+3)+256*PEEK(DS+4) 615 PF=PEEK(DS+5)+256*PEEK(DS+6) 620 BS=PEEK(DS+7)+256*PEEK(DS+8) 625 BE=PEEK(DS+9)+256*PEEK(DS+10) 630 FZ=PEEK(DS+11)+256*PEEK(DS+12) 635 RETURN 700 SS$=" " 705 SP$=SI$:T=INSTR(SP$,"."):IFTTHENSP$=LEFT$(SP$,T-1) 710 SP$=LEFT$(SP$+SS$,6):FORD=62133TO62628STEP11:T=PEEK(D) 715 IFT=160ANDPEEK(D+3)=ASC(SP$)THENFORI=2TO6:IFPEEK(D+2+I)=ASC(MID$(SP$,I))THENNEXTI:DS=256*PEEK(D+2)+PEEK(D+1):SP$=SP$+".CO":NF=0:GOTO725 720 NEXTD:SP$=SP$+".CO":PRINTSP$+" NOT FOUND!";:BEEP:FORT=1TO300:NEXTT:NF=1:GOTO730 725 DS=DS+6 730 RETURN