.lm10;rm70;pl60;fi;ad .SP8;CE @RAG^SOFTWARE .SP3;ce @G^U^M^S .sp3;ce @GRAM^User^Menu^System .sp10;ce CONTENTS .SP;IN+13 INTRODUCTION ................^^1 FAIRWARE ....................^^1 GUMS OPERATION ..............^^1 DISK CONTENTS ...............^^2 GETTING STARTED .............^^3 GUMS MENUS ..................^^4 GUMS DATA ENTRY .............^^4 TAILORING GUMS ..............^^5 FILE AND DISK MAINTENANCE ...^^7 PROGRAMMING NOTES ...........^^8 .IN+0;SP12 (c) Copyright 1991, R.^A.^Green. .HE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-%- .PA1;BP @INTRODUCTION The RAG Software GRAM User Menu System, GUMS, extends the cartridge menu concept of the TI 99/4A to provide a user built menu of disk based programs. GUMS provides you with fast menu access to all your favorite programs on disk, and provides you with a convenient menu driven file and disk maintenance package. You must have a fully expanded system including a GRAM device. GUMS was built and tested on: .sp;in+5 PGRAM+ Card from Horizon, GRAM KRACKER from Miller's Graphics, .sp;in+0 it should also work on: .SP;IN+5 PGRAM Card from Horizon, GRAMULATOR from CaDD Electronics. .sp;in+0 These devices have one feature in common, that is, each GRAM block is 8K bytes. All TI cartridges use only 6K GROMS. This leaves 2K bytes in each GRAM block unused, for a total of 10K bytes of unused GRAM. GUMS uses these 2K blocks. This means that GUMS can share your GRAM device with almost any other cartridge. GUMS has some special features when it is sharing the GRAMS with TI Extended BASIC. It also has special features for the multi level GRAMS of the PGRAM+ Card. .sp2;cp5 @FAIRWARE This package is a FAIRWARE release, please feel free to copy it and distribute it to your friends. Make sure each copy you make is complete. Fairware contributions of $10 can be made to: .sp;in+15 R.^A.^Green 1032 Chantenay Dr. Gloucester, ONT. CANADA K1C 2K9 .in+0;sp2;cp5 @GUMS^OPERATION GUMS makes use of the builtin capabilities of the TI 99/4A GROM Operating System to take control of the system on power up or reset. GUMS bypasses the usual colour bar screen and presents its main selection menu immediately. The GUMS menu has four selections of its own plus all the usual entries for the cartridge that GUMS is sharing the GRAM device with. For example, if GUMS is loaded with Extended BASIC, the main menu would be as shown below. .sp;in+5 A^^PROGRAM LIBRARY B^^UTILITY LIBRARY C^^FILE MAINTENANCE D^^DISK MAINTENANCE E^^TI BASIC F^^TI EXTENDED BASIC .SP;IN+0 If your GRAM device is a PGRAM+ Card the main menu will have entries for all the cartridges loaded into all four levels of GRAM. The "Program Library" and "Utility Library" are the items that provide you with easy access to your disk based programs. Selecting either of these entries will present you with another selection menu of up to 13 of your programs. Building these menus is described later. You provide the text to be displayed on the menu and the device/filename of the program to be loaded and run when the item is selected. Your programs may be E/A Option 5 type programs or may be TI Extended BASIC programs. If the program is XB then GUMS must be sharing the GRAM device with XB. The "File Maintenance" and "Disk Maintenance" items provide you with a convenient disk manager that uses only operations defined by the disk ROM. It should work for all compatible disk controller cards and for most RAM disks. Each of these four sub-menus have the following selections displayed at the bottom of the screen. .sp;in+5 1^^RUN E/A OPTION 5 2^^RUN E/A OPTION 5 (XB ENV) 3^^RUN XB PROGRAM .SP;IN+0 Selecting one of these will cause GUMS to prompt you for the filename of the program to be run. Item 2 is the same as item 1 except for the VDP setup. Item 2 is provided because some popular E/A programs are designed to be run from the Extended BASIC environment. .SP2;CP5 @DISK^CONTENTS The GUMS distribution disk contains the following files. .sp;in+5 1ST/README^^^^Getting started file EDITA1^^^^^^^^TIW Editor Segment 1 EDITA2^^^^^^^^TIW Editor Segment 2 FORMA1^^^^^^^^TIW Formatter GUMS^^^^^^^^^^GUMS Segment 1 GUMS1^^^^^^^^^GUMS Segment 2 GUMS2^^^^^^^^^GUMS Segment 3 GUMS3^^^^^^^^^GUMS Segment 4 GUMS4^^^^^^^^^GUMS Segment 5 GUMS5^^^^^^^^^GUMS Segment 6 GUMS/DOC^^^^^^GUMS Documentation GUMS/GK^^^^^^^GUMS GRAM KRACKER Overlay GUMS/PG^^^^^^^GUMS PGRAM Card Overlay GUMS/STD^^^^^^Patch file for tailoring GUMS/XB^^^^^^^GUMS XBASIC Overlay Segment 1 GUMS/XB1^^^^^^GUMS XBASIC Overlay Segment 2 Z-PATCHDOC^^^^Documentation for RAGPATCH Z-RAGPATCH^^^^Patch program Z-XBPATCH^^^^^XB loader for RAGPATCH .IN+0;SP;CP5 @GETTING^STARTED First, make a working copy of the GUMS distribution disk. Make sure the distribution disk has a write protect tab and use it &only to make working copies. In this manual it is assumed that you know how to use your GRAM device and the software provided with it. If your GRAM device is the PGRAM+ Card, you must load GUMS into page 1. The use of GUMS is quite intuitive, so at this point you might like to load it all up and try it out. Just follow the steps below. .sp;lm+5;in-3 1.^Load your favorite saved cartridge into the GRAM device. 2.^Load file "GUMS" into the GRAM device on top of your cartridge. 3.^If the saved cartridge you loaded in step 1 was TI Extended BASIC, then load file "GUMS/XB" on top of all the previous stuff. 4.^Now load the GRAM device dependent code: file "GUMS/PG" for the PGRAM or PGRAM+ Card, or "GUMS/GK" for the GRAM KRACKER. This code gives you entry A on the Utilities Menu. 5.^Try it out by restarting the system. 6.^Save the GRAM device to disk, this is your GUMS saved cartridge. .SP;LM-5;IN+0 Now, if you had fun in step 5 above, you can study the rest of this manual, especially the section on how to add your programs to the Program and Utility menus, and to tailor other values in GUMS to your configuration. .sp2;cp5 @GUMS^MENUS All of the menus presented by GUMS are similar and follow the usual TI programming standards. The items in the menus have letters rather than numbers because there may be more than nine entries. A menu item is selected by touching the corresponding key with Alpha Lock either on or off. Pressing BACK (FCTN 9) takes you to the previous level menu. Pressing QUIT (FCTN =) resets the system and begins again with the main menu. Note that if, during a system reset, the space bar is pressed and held, GUMS will exit to the normal TI colour bar and first level menu. .sp2;cp5 @GUMS^DATA^ENTRY During input to any of the GUMS provided routines, the function keys all work in their usual way. In particular, .sp;lm+25;in-20 FCTN 1 ^INS^^^^^^^^^Insert Character FCTN 2 ^DEL^^^^^^^^^Delete Character FCTN 3 ^ERASE^^^^^^^Erase to end of field FCTN 4 ^CLEAR^^^^^^^Erace entire field FCTN 5 ^BEGIN^^^^^^^Begin again at first field FCTN 6 ^PROC'D^^^^^^Begin execution with all data as is FCTN 7 ^AID^^^^^^^^^*** FCTN 8 ^REDO^^^^^^^^Same as BEGIN FCTN 9 ^BACK^^^^^^^^Go back to previous level menu FCTN = ^QUIT^^^^^^^^Reset system ^^^^^^^^ENTER^^^^^^^Enter data for this field and continue with next field, or if this was the last field, execute function FCTN S ^Left^Arrow^^Move cursor left FCTN D ^Right^Arrow^Move cursor right FCTN X ^Down^Arrow^^Same as ENTER FCTN E ^Up^Arrow^^^^Go to previous field .lm-25;in+0;sp When single character inputs, such as "menu selections", "disk numbers" or "Yes/No" are expected then touching the single key is sufficient and ENTER need not be pressed. Where possible, previous inputs are retained and are presented for modification when a similar input is required. This is especially true in the file and disk maintenance sections. You can move between the four GUMS selection menus, Program Library, Utility Library, File Maintenance and Disk Maintenance, by pressing Up or Down Arrow. This is especially useful between the File and Disk Maintenance menus as inputs will be retained between menus using this method. .sp2;cp5 @TAILORING^GUMS There are four areas of GUMS that must be tailored to your environment. .sp;in+3 1.^The Library and Utility Menus 2.^The printer filename 3.^The printer setup values 4.^The file/disk values .sp;in+0 You can make your modifications using either program RAGPATCH (on the distribution disk) or using the GRAM memory editor supplied with your GRAM device. The advantage of using RAGPATCH is that you have a record of your modifications in a file and can easily change and reapply them. A patch file, GUMS/STD, is supplied on the distribution disk which you can modify to suit your needs. The values in GUMS/STD are those which are already in the distributed version of GUMS. &Tailoring^GUMS^Menus There are two identical GUMS menus in GRAM: the Program Library menu beginning at GRAM address >9814, and the Utility Library menu beginning at GRAM address >9A30. Remember that the first entry in the Utility Library may already be used if you have loaded GUMS/PG or GUMS/GK. Each menu entry is 40 bytes (hex >28) long. The entry contains: .sp;in+5 ^1 byte^^-^entry type 19 bytes^-^menu text 20 bytes^-^filename of program .sp;in+0 The types of entries are: .sp;in+5 blank^-^unused entry ^^E^^^-^E/A Option 5 program, VDP as per E/A ^^X^^^-^E/A Option 5 program, VDP as per XB ^^G^^^-^E/A Option 5 program, VDP as per GPL ^^B^^^-^Extended BASIC program ^^I^^^-^Internal GPL program .sp;in+0 The type for an E/A Option 5 program can be selected by trying E, X or G and see how the program reacts. A garbled screen is an indication that the program wants a different type. For a type I entry, the filename area contains a 2 byte GRAM address of the GPL program and a 2 byte "GRAM read data address". The "GRAM read data addresses" are >9800, >9804, >9808 and >980C for the four pages of GRAM in the PGRAM+ Card. The other GRAM devices have only one page of GRAM with "read data address" of >9800. Below is a map of both menus. .lm+5;sp;ai Menu Program Menu Utility Menu Item Address Address ----- -------------- -------------- A >9814 >9A30 B >983C >9A58 C >9864 >9A80 D >988C >9AA8 E >98B4 >9AD0 F >98DC >9AF8 G >9904 >9B20 H >992C >9B48 I >9954 >9B70 J >997C >9B98 K >99A4 >9BC0 L >99CC >9BE8 M >99F4 >9C10 .FI;LM-5;SP &Printer^Name The printer name begins at GRAM address >7809. Its format is: .sp;in+5 ^1^byte^^-^name length 28^bytes^-^printer name .sp;in+0;sp &Printer^Setup^Values The printer setup values, used by "Printer Setup" of the "File Maintenance" menu are located beginning at GRAM address >F800. Each entry is 3 bytes. Entries shorter than 3 bytes should be padded with >00. The entries are in the same order as the menu items. .sp;in+5 >F800^^Select Elite Mode >F803^^Select Pica Mode >F806^^Condensed Printing On >F809^^Condensed Printing Off >F80C^^Expanded Printing On >F80F^^Expanded Printing Off >F812^^Emphasized Printing On >F815^^Emphasized Printing Off >F818^^Double Strike On >F81B^^Double Strike Off >F81E^^Select 8 lines per inch >F821^^Select 6 lines per inch >F824^^Select Skip over Perforation >F827^^Form Feed .sp;in+0 The printer setup values in the distributed system are for a STAR NX1000 printer. &File/Disk^Values The values for file and disk maintenance are located beginning at GRAM address >F82A (immediately following the printer setup values). The values are: .sp;lm+5;ai Address Length Function ------- ------ --------------- >F82A 15 FROM default >F839 15 TO default >F848 1 Sides on disk, S=single, D=double >F849 1 Disk density, S=single, D=double >F84A 3 Print margin >F84D 3 Print lines per page >F850 1 Print line numbers, Y=yes, N=no .fi;lm-5;sp2;cp5 @FILE^AND^DISK^MAINTENANCE Most of the file/disk maintenance operations are fairly obvious, only a few items need extra explaination. In "Copy File" a "to" filename of asterisk means use the "from" filename. In "Selective Copy" and "Selective Delete" the entire disk catalog is read at the beginning. As the file names are presented, .sp;in+5 ENTER^^^^^^-^means do the operation Up^Arrow^^^-^means go back to the previous file Down^Arrow^-^means skip to the next file .in+0;sp "Box Format" assigns disk names in sequence. It reads the "Sides" and the "Density" and then it loops awaiting entry of a disk number. You can flip from disk to disk, using all your drives. This allows getting one drive ready while another is formatting. .sp2;cp5 @PROGRAMMING^NOTES TI Extended BASIC does not use the GRAM block at >E000. GUMS uses the 2K beginning at >F800. This leaves 6K of GRAM that could be used by some other GPL program. For those interested in programming in GPL, RAG Software produces two fairware products to help you. A GPL Macro Assembler and a GPL Disassembler. Both of these packages come with a GPL Language Manual on disk. €†€­†ÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕ€†