ORIGINALLY PUBLISHED IN LIMA NEWSLETTER SEPTEMBER 1988. THIS SOFTWARE IS AVAILABLE FROM THE LIMA UG TI-KEYS A "HOT KEYS" PROGRAM WITH SIGNIFICANT ^^^^^^^^^^^^^^^HIDDEN POTENTIAL ^^^^^^^^^^^A review by Charles Good A "hot-keys" program, once loaded, allows you to execute commands with just a single keypress. For example, you might press CTRL/R and have RUN "DSK1. appear on the screen waiting for you to type the rest of the file name and then . Such one keypress (hot key) text strings are called macros. For the TI there are three hot key programs that I know about. EZ-KEYS is a commercial offering from Asgard Software. I havn't had much opprtunity to use EZ-Keys, but it has received excellent reviews in Micropendium (January 1988) and in the newsletters. Apparently EZ KEYS is much more than just a "hot keys" program and can best be described as an XBASIC programming environment. I have had the opportunity to play with the commercial program SOFT-KEYS from Quality 99 software. SOFT-KEYS only allows you to configure the number keys as hot keys via CTRL/n. Because of the limited number of configurable keys I consider SOFT-KEYS to be inferior to both EZ-KEYS and the third "hot keys" program TI-KEYS. TI-KEYS is fairware and can be found in most user group libraries. The requested fee of $10 is less than the cost of EZ-KEYS and about the same as SOFT-KEYS. Unfortunately I havn't been able to pay the TI-KEYS author Wes Johnston. He has moved from the address listed in the docs (404 Furman Lane, Ladson NC) and my check was returned by the post office with the notation "Forwarding time expired". Wes, if you read this, write me in care of the Lima UG and let me know your current address. When booted from a ramdisk and used in conjunction with FUNNELWEB, TI-KEYS adds some really useful capabilities to the 99/4A. You boot TI-KEYS as LOAD or as a CALL LOAD from XBASIC. A set of predefined macros is loaded which is accessed by pressing CTRL and another key. These predefined macros are show below, and are accessable from XBASIC command mode or within an XBASIC program. .NF A - ACCEPT S - SAVE "DSK B - BEEP T - TAB( C - CALL U - U D - DELETE "DSK V - VCHAR( E - END W - CALL INIT F - FOR X - CALL LOAD("DSK G - GOSUB Y - CALL LOAD(- H - HCHAR( Z - CALL LINK(" I - IF 1 - RUN J - JOYST( 2 - \ K - KEY( 3 - | L - LINPUT 4 - | M - MERGE "DSK 5 - \NO PREDEFINED N - NEXT 6 - / VALUE O - OPEN 7 - | P - PRINT 8 - | Q - Q 9 - | R - RUN "DSK 0 - / .FI You can redefine any of these keys from XBASIC command mode. Letter keys can be redefined as a macro of up to 16 characters long and number keys up to 31 characters. You can also save a disk file of your redefined keys and later load this key redefinition file into TI-KEYS after TI-KEYS has booted. AUTOMATIC BOOTING OF YOUR OWN CUSTOM MACROS: So far so good. But what if you don't like the above standard set of macros that is immediately available when TI-KEYS is loaded? Wouldn't it be nice if you make TI-KEYS automatically set up your own custom CTRL/- macros each time TI-KEYS is loaded, without having to first load TI-KEYS and then load the file that contains your customized macros? EZ-KEYS has this ability. The TI-KEYS doc makes no mention of this possibility, but I have discovered how to do this with TI-KEYS using a sector editor. Use a sector editor that shows the byte number in hex, such as FUNNELWEB's Disk Patch or DISK UTILITIES. The first three sectors of the TI-KEYS LOAD program (sometimes called KEYLOAD, and not to be confused with the D/F80 version of TI-KEYS) contain the ASCII text that is displayed with each CTRL/- keypress. The text for CTRL/A starts at byte >D8 of the first sector, the text for CTRL/B at byte >E8, etc. Examine each of these first three sectors in ASCII and type over any text already there with whatever text you want displayed when you press CTRL/-. Remember, the first 26 macros (letters A-Z) can have 16 characters and the last 10 (digits 1-9,0) can have up to 31 characters. Next move the cursor to the period immediately in front of the ASCII text you just altered (in the first sector byte >D7 for A, byte >E7 for B, etc) and switch the display to Hex (press CTRL/H). Change this two digit hex number to the number of characters in your rewritten text. For example, you might want to change the CTRL/A macro from the original "ACCEPT" (6 characters long) to "ACCEPT AT(" (10 characters long). After changing ACCEPT to ACCEPT AT( in the first sector, move the cursor to byte D7, switch to hex display (CTRL/H) and change the "06" to "0A". When you have finished editing a sector, be sure to write this new data to the disk with CTRL/W. Then move on to the other two sectors. The second sector of LOAD (or KEYLOAD) is shown below. It contains text for the macros displayed by CTRL/D thru CTRL/S. You can see that there is plenty of blank space for you to expand or alter these macros. The vertical row of dots is where the hex number is changed. .NF;NA File Editor EDIT ======================================== ^. D E L E T E " D S K . E N D ^. F O R ^. G O S U B ^. H C H A R ( ^. I F ^. J O Y S T ( ^. K E Y ( ^. L I N P U T ^. M E R G E " D S K . N E X T ^. O P E N ^. P R I N T ^. Q ^. R U N " D S K ^. S A V E " D S .FI;AD I have TI-KEYS on my ramdisk as file LOAD. It boots automatically every time I select XBASIC and provides me with the following list of custom macros. Some of these, such as CTRL/4- CALL CAT("DSK1.") are only useful to users of GK-EXTENDED BASIC or the SUPER EXTENDED BASIC (v130) module. Most of the changes from the original predefined macros listed above are usable with any version of XBASIC and are, I believe, real improvements. .NF A - ACCEPT AT( S - SAVE "DSK B - BEEP T - TAB( C - CALL U - CALL DM D - DELETE "DSK V - CALL VCHAR( E - END W - CALL INIT F - FOR X - CALL LOAD("DSK G - GOSUB Y - CALL LOAD(- H - CALL HCHAR( Z - CALL LINK(" I - IF 1 - RUN J - CALL JOYST( 2 - OPEN #1:"PIO" :: PRINT #1: K - CALL KEY( 3 - OPEN #1: L - LIST 4 - CALL CAT("DSK1.") M - MERGE "DSK 5 - LIST "PIO":28: N - NEXT 6 - LIST "PIO" O - OPEN 7 - OLD DSK1. P - PRINT 8 - RUN "DSK1.LOAD" Q - RUN "DSK4.LOAD" 9 - PRINT #1: R - RUN "DSK1. 0 - .FI COMBINING TI-KEYS WITH FUNNELWEB: I mentioned earlier that special possibilities are available if you use TI-KEYS and FUNNELWEB together from a ramdisk. Here is what you can do all automatically just by selecting extended basic from the powerup menu. When you boot TI-KEYS as LOAD from the ramdisk, you can have TI-KEYS automatically boot FUNNELWEB. Many of the TI-KEYS macros are not overwritten by the loading of FWB and are available for use from the FWB XBASIC user list. This means that any XBASIC program you boot from the FWB XBASIC user list can make use of TI-KEYS macros from within the program. Also, from the FWB XBASIC user list you can enter XBASIC command mode by pressing 3 (XB RETURN) and have the macros available. Neat! This works with FWB v4.0, v4.1, and v4.11. I havn't tried it with earlier versions. When FWB automatically loads after after TI-KEYS the macros for CTRL/A through CTRL/P are overwritten and no longer available. The remaining macros for CTRL/Q through CTRL/Z and CTRL/1 through CTRL/0 remain available. That is why I have my most used customized macros within these ranges. Here is how to do this. OLD the TI-KEYS LOAD program and list it. There are only 2 lines of XBASIC code embeded in some assembly code. With many hybrid assembly/XBASIC programs you can't alter the XBASIC code and resave the program because doing so messes up the assembly code. TI-KEYS will tolerate slight modifications of its XBASIC code. Change line 20 from CALL LINK("MACRO):: CALL LOAD(-31952,255,231,255,231) to RUN "DSK1.LOADFW" and save this altered TI-KEYS to your DSK1 configured ramdisk as file name LOAD. Now put FWB's LOAD program on your ramdisk as file name LOADFW. Just select extended basic, and everything boots automatically! You can't successfully use FWB in automatic combination directly upon selection of XBASIC from the powerup menu with either of the other two "hot keys" programs. If you boot EZ-KEYS or SOFT KEYS and then load FWB, the "hot keys" program won't work. There is some software that won't load from the TI-KEYS/FWB combination. Some (but not all) XBASIC programs that contain a CALL INIT will lock up the computer if TI-KEYS is already in memory (with or without FWB). These cannot be loaded from the FWB XBASIC user list. An example is the CALL LOAD version of WORD COUNT that was published in Micropendium. To load such programs you first have to turn off TI-KEYS from XBASIC command mode by pressing CTRL/=. Fortunately, there are only a few programs that are incompatible with TI-KEYS. With the TI-KEYS/FWB combination, you can use the XBASIC user list to boot any assembly D/F80 (EA#3) or PROGRAM (EA#5) files, any XBASIC program that doesn't use CALL INIT, and some XBASIC programs that do have a CALL INIT. TI-KEYS only affects the FWB XBASC user list. All other parts of FWB, including the other user lists, work normally with the TI-KEYS/FWB combination just as if TI-KEYS was never present. User groups (not individuals) can obtain a copy of TI-KEYS from the Lima User Group by sending a disk and paid return mailer to Box 647, Venedocia OH 45894. .PL 1