On Sun, 29 Mar 2020, Nick Westgate wrote:
> So far we have 4 programs, some of which copy parts of each other's
> styles or functions, but the code for each is quite different.
If mentioning Key-Cat, I actually wrote my own program of this ilk, which
I then ran through a cruncher to get this (you can't type it, I don't
think), which appears on some of my disks.
1 NORMAL:TEXT:HOME:PRINT:PRINT CHR$(4)"CATALOG":DIM A(24),B(24):FOR D=1 TO 24:A(D)=0:B(D)=0:NEXT D:C=0:FOR D=1 TO 24:A=SCRN(0,(D-1)*2)+16*SCRN(0,(D*2)-1):B=SCRN(1,(D-1)*2)+16*SCRN(1,(D*2)-1):IF (A=160 OR A=170) AND (B=ASC("A")+128 OR B=ASC("I")+128) THEN A(D)=1
2 IF (A=160 OR A=170) AND (B=ASC("B")+128) THEN A(D)=2
3 IF (A=160 OR A=170) AND (B=ASC("T")+128) THEN A(D)=3
4 IF A(D) THEN C=C+1:B(C)=D:VTAB D:HTAB 4:INVERSE:PRINT ":";CHR$(C+64);":";:NORMAL
5 NEXT D:VTAB 1:HTAB 1:INVERSE:PRINT " PRESS THE LETTER OF YOUR SELECTION ";:NORMAL
6 WAIT 49152,128:GET A$:IF A$="Z" THEN HOME:END
7 IF A$<"A" OR A$>CHR$(64+C) THEN 6
8 E=ASC(A$)-64:B$="":F=B(E):FOR D=7 TO 36:B$=B$+CHR$(SCRN(D,(F-1)*2)+16*SCRN(D,(F*2)-1)-128):NEXT D
9 IF RIGHT$(B$,1)=" " THEN B$=LEFT$(B$,LEN(B$)-1):GOTO 9
10 VTAB F:HTAB 8:INVERSE:PRINT B$:NORMAL:C$="RUN":IF A(F)=2 THEN C$="BRUN"
11 IF A(F)=3 THEN C$="EXEC"
12 PRINT:PRINT CHR$(4)C$;B$
Obviously it's not as good as these programs but in most cases it
suffices. I did call it "Mini Key-Cat" - and it has the same key to exit
- but there's no actual code connection, or at least should be none,
between it and the original.
-uso.