X(C) J.G.HARSTON Mar 1986 Character Defining program v1.11 - with command entry  49999O START=64512 CH=(START/256)-1 23676|\,CH+4 Za(x)=(start-256)+(x+127*(x<1))*8+q-40(*(x>138) 81:1:1:7:0:0: %C$(20,4):C(20): &Z=120:C$(Z),C(Z),H$:Z "CAT",1100L,"","DEFINE",4200h,"","DRIVE",1110V,"","EDIT",440,"","ENTER",800 ,"","HELP",1900l,"","INVERT",3000 ,"" "LOAD",4010,"(d:)","MIRROR",2810 ,"","QUIT",3400H ,"","RESET",1200,"","SAVE",4000,"(d:)","SCROLL",3800,"(L)(R)(U)(D)()" "SPIN",3900<,"(/)(\)","START",1250,"","SUPERIMPOSE",3600,"(X)(O)","TEST",4100,"","FLIP",2900T ,"","VIEW",1400x,"","",0,"" `drv="0"+23766\:int1=0:0:23734\244int1=1 0drv<"1"drv>"8"int1=0drv="T" -int123769\=66Bdrv="S" !Pint1#:9 ;"b":23769\,drive-17:23766\,drive-"0" (q=23300[23343/[ - po:q,po:q 2195,10 ,91[,195,23,91[,33!,0,61=,237,91[,0,91[,1,0,3,237,176,201 3221,33!,239,91[,17,17,0,175,557,205,86V,5,1,0,10 ,33!,240,91[,208,126~,215,35#,16,251,201 4Goff=1700 7Gon=1710 9Gext=1720 FCoff=1600@ ICon=1610J KGoff Mq="a"-8"a"-2 Oq,128:q:q,255 Pa=32 :d=0:b=a Ux=1:y=8 Z 900 dCon:Goff:0,0;" !""#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~";127;""; nGext:"":Gon:Coff x/DFLG=118,0;"Character =" Goff  100d %8,112p:64@,0 0,-64@ Gon n=07 m=07 ^n+8,m+1;2;(""Ʃ(96`+m,31-n));(""é(96`+m,31-n)) m:n  "300,:erfg #Oa>128a<144P$=8+"This is un-redefinable":erfg=1: ' ,erfg=0:Q$=R$ E#Q$>3q$=""erfg=1: Yq$=1a=q$: [>flag=0:q$(1)="-"flag=1:q$(1)="0" ^Qq$(1)<"0"q$(1)>"9"q$(2)<"0"q$(2)>"9"ERFG=1: h>q$=3q$(3)<"0"q$(3)>"9"ERFG=1: ra=q$ wflag=1a=-a:390 |#a<32 a>164320@ a<-9 320@   23658j\,8:Caps Lock E21,0;">";W$,:0,0;">";(P$)'">";P$:W$=P$ P$<3410 R$=(P$+" ")(4) Z=120 R$=C$(Z)420 Z 6line=Z:Z=21P$=8+"Pardon?":400 R$="":P$<5 &Z=520:Z>P$425 P$(Z)=" "425 Z R$=P$(Z+1)   Loop Start 1dflg=1:(8,2)=" "160 Loop eflg=0:500 'eflg=1DFLG=0:988  150  445 @COFF:#0;1,6;127;"1985 J.G.HARSTON"; +2;y,x;1;"+":0:Q$= 2;y,x;1;"+" B(q$>"4"q$<"9")(q$>7q$<12 )700:500 Q$=13 EFLG=1:  500 .Gon:2;y,x;(""q$<" ");(""q$>" ") !(q$>" ");95_+x,39'-y 7x=x+((q$="8")(q$=9 ))-((q$="5")(q$=8)) 9y=y+((q$="6")(q$=10 ))-((q$="7")(q$=11 )) x>8x=1 x<1x=8 y>15y=8 y<8y=15  Goff   290" 4erfg=01800 >x=1:y=8 H100d:988 zW$=8+" ":P$=W$: '890z:dflg=0::1000  160 W$=8+" ": P$=8+"Error":  100d U5,4;"Start of charcters=";start;6,8;"Current drive=";drv  400 P$;"#";R$;"#" 9C(line)=0P$=8+"Not done yet":1010  C(line)  1000 LM890z::"Catalog of drive ";drv:drv>"0"drv<"9"ϰdrv:1107S MHdrv="S":#9 ;"C"'a$:1,0;a$(2):1107S N q=0 OIbc=23303[:bc=0q=(q+1)(q<2):q0" "; Rq$=:q$=""1103O R S""1107S T;1:#0;"Press SPACE to continue":0:;: V*r$(1)>"`"r$=(r$(1)-" ") `,r$(1)<"1"r$(1)>"Z"989 jdrv=r$(1) t 988 0,0 8"Do you really want to reset the character set?",q$  988  q$="" q$(1)"Y" G23297[,start/256:23296[,start-256*23297[ call=23300[: R$=""989 ]ST=0:Z=1̱R$:ST=ST*10 +(R$(Z)-480):R$(Z)<"0"R$(Z)>"9"989 Z @st<510008st>64600XP$=8+"Out of range!!!": ch=(st/256)-1 start=(1+ch)*256  23676|\,ch+4  :Q="A"-8"A"-2:Q,128:Q:Q,255  988 x$300,:ERFG=1989 }CON:Goff:300, 1500: <dflg=0Coff:18,1;"Char = ";a;"":Con  160  988 Print a character at 18,12 18,12 ; *Print a character at last print position a>30a;: Gext (143-a); Goff  @#236077\,60<::Chars off J236077\,ch::Chars on &23675{\,88X::Graphics off %23675{\,80P::Graphics on *23675{\,0::Graphics extended q=07 "a(a),(20556LP+q*256) &q 0 l890z::Coff m"Commands Availiable:" n v:z$,QPO,H$:z=124:" ";z$;" ";H$:z$,QPO,H$ wz$=""z=30 {Z ;"All commands can be shortened tothe first four letters." 0::Con: 3******Save******** 42250:f$="" >!f$(2)":"f$=drv+":"+f$ C 21,0;"Saving ";f$ HTf$(1)>"0"f$(1)<"9"*"m";f$(1);f$(3)start,1024: M2f$(1)"S"f$(3)start,1024: Rint1=0 WB#9 ;"S";(f$(3))'a$;#2;(a$(2))':a$"" \*"b"start,1024: ******Load******** 2250:f$="" !f$(2)":"f$=drv+":"+f$ !21,0;"Loading ";f$ If$(1)>"0"f$(1)<"9"*"m";f$(1);f$(3)start: 'f$(1)"S"f$(3)start: int1=0 B#9 ;"L";(f$(3))'a$;#2;(a$(2))':a$"" *"b"start: *****Get file name******* f$=R$  ******R-Scroll******** 9q=70-1:dog=(103g,31-q) w=60-1 2é(w+96`,31-q);w+97a,31-q w:dog;96`,31-q $q 8 _******L-Scroll******** e/q=07:dog=(96`,31-q) jw=17 t2é(96`+w,31-q);95_+w,31-q ~w:dog;103g,31-q q  ******U-Scroll******** /q=07:dog=(q+96`,31) w=17 2é(q+96`,31-w);q+96`,32 -w w:dog;96`+q,24 q  '******D-Scroll******** -/q=07:dog=(q+96`,24) 2w=60-1 <2é(q+96`,31-w);q+96`,30-w Fw:dog;96`+q,31 Pq d ******Spin /******** (q=17:w=q-17 Pdog=(95_+q,25+w):é(97a+w,23+q);95_+q,25+w dog;97a+w,23+q w:q  ******Mirror******** &q=03:w=07 Qdog=(96`+q,24+w):é(103g-q,w+24);96`+q,24+w dog;103g-q,w+24 w:q , 980 S****** Tip ****** T+z=a:a=137:1800:SCREEN$mem ^q=07 h<20556LP+256*q,(a(a+1)-2*q-1) rq wa=z 980 ******Inverse****** q=07 >20556LP+256*q,255-(20556LP+256*q) q 160:988 G****** Quit ****** HJ0,0:"Are you sure you want to quit?"'q$:q$=""988 I/(q$(1)="y"q$(1)="Y")988 RX:" This program will self-destructbut the characters will remain intact in memeory." \''" To turn the characters on, you use"'2'" POKE23606,0:POKE23607,";ch;" "'" POKE23676,";CH+4;":POKE23675,88", fR'" To turn the characters off, youuse"'2'" POKE23606,0:POKE23607,60 " pC''" Press a key, and this program will";1;"NEW" z'" Bye!!" 0:0:0  ********Spin \******** (q=06:w=06-q Qdog=(96`+q,24+w):é(103g-w,31-q);96`+q,24+w dog;103g-w,31-q w:q  *****Superimpose***** R$<2890z !Z$=R$(1):R$=R$(2) Z$"X"Z$"O"989 300,:ERFG890z $Z$="O"3660L 1******** XOR ********* 81:1500:0 =30:3770 A***************** L!18,13 ;:1505 V&Q=07:W=07 `N((96`+W,24+Q)ũ(104h+W,24+Q));96`+W,24+Q jW:Q t18,13 ;" "  980 R$=""989 ?Z1=1:R$>1Z1=R$(2)-480 LR$(1)"R"R$(1)"L"R$(1)"U"R$(1)"D"989 C=1Z1 u2400` *(R$(1)="L")+2300*(R$(1)="R")+2500 *(R$(1)="U")+2600( *(R$(1)="D")  C  980 <R$=""989 F,R$(1)"/"R$(1)"\"989 P;3500 *(R$(1)="\")+2700 *(R$(1)="/") Z 980 21004:890z 2200:890z  Con:Goff q$ q$""4110 "Coff:988 h300,:ERFG989 r1405}:440 | 988