Compiled By Dan H. Eicher

Updated on 8/8/98 by Tom Wills
Please send questions comments or concerns to Eicher@Delphi.com

This document is the work of many, who have given of their time To help others learn about the TI-99/4A. If this document helps you, won't you consider adding a section?



By Dan H. Eicher..............................................TIFAQ001

By John Bull..................................................TIFAQ002

By John Bull..................................................TIFAQ003

What are TOKENS?
By Jacques Groslouis..........................................TIFAQ004

What are they (tokens)?
By Jacques Groslouis..........................................TIFAQ005

How can I use Graphics for other machine on my TI?
By Deanna Sheridan............................................TIFAQ006

What is a TIFILES header?
By Steven A. Reynolds.........................................TIFAQ007
Technical Update by Jeff Brown

What is V9T9
By Steve A. Reynolds..........................................TIFAQ008

What is the TI List Server
From The SouthWest Ninety Niners Web Page.....................TIFAQ009

What is a RAMDISK
By Bob Carmany................................................TIFAQ010

Is there a Forth compiler for the TI and Geneve?
By John Carver................................................TIFAQ011

Can I use 720 and 1.44 Meg floppies on my Geneve
By Ken........................................................TIFAQ012

How do I set up a system and what are my expansion options?
By Andy Frueh.................................................TIFAQ013

What is Funnelweb
By Andy Frueh.................................................TIFAQ014

Can I get on to the Internet with My TI-99/4a
By John Bull..................................................TIFAQ015

What is PC99
By Mike Wright for Cadd Electronics...........................TIFAQ016

Can I use my TI 99/4A on the internet?
By Lew King...................................................TIFAQ017

Return to TI FAQs Page
Return to SouthWest Ninety Niners Home Page



By Dan H. Eicher

AVPC - Advanced Video Display Processor, produced by Digit Systems (Tom Spilane) - This PBOX card use an 9938.

c - Small C by Clint Pulley for the 99/4a.

E/A - Editor Assembler.

FDC  - Floppy Disk Controller.

FWEB - Funnel Web.

GRAMULATOR - Graphics Ram Module produced by Cadd Electronics allows the user to load/modify and run Cartridges. Unlike the GramKracker produced by Millers Graphics with modifications, this unit could also run MBX modules.

GRAM KRACKER - See Gramulator.

Grand Ram - A ramdisk produced by DataBiotics. Unique in that it both battery backed up like a Horizon Ramdisk and provided print spooler software (like the Myarc 512K) card. It also included connectors on board to connect to emulate the PBOX bus and cartridge port.

GROM - Graphic ROM, Rom Memory developed by TI that automatically increments.

HFDC - Myarc Hard Floppy Disk Controller.

MBP - Eight port analog to digital card with real time clock.

MBX - Milton Bradley Expansion Unit (yes the toy maker) allowed the 99/4a to use voice directed games.

PBOX - Peripheral Expansion Box also known as PEB.

PC99 - A software package for MSDOS PC's (486-50 or faster) that emulate a TI99/4A. This is commercial software and well supported.

PGRAM - Like the GramKracker, but on a PBOX card.

PIO - Parrallel/Printer Port.

POP-CART - Cartridge produced by OPA that up to 512K of grom code and any number of cartridges could be placed.

SOB - Son Of a Board. This board also plugs into the console, in the GROM1 socket. It adds an enhanced menu upon power up and fixes some video initialization problems that are transparent, unless you are using a 9938 or 9958 video controller chip in your system.

TIM - TI Image Maker. This is a an 80-column board produced by OPA. It had a Yamaha 9958 chip and came bundled with the SOB. It mounts inside the TI console in the TMS9918 socket.

V9t9 - A software package for MSDOS PC's (386-25 or faster) that emulates a TI99/4A. This is freeware (produced by Ed. Swartz) and no support from the author is available, but the source code is.

XB  - Extended Basic.

Table of Contents



By John Bull

You will need -

Hardware: TI-99/4a with 32K Memory Expansion and at least one floppy drive.

Software: The Editor/Assembler cartridge and the two floppies that come with it.  However, FunnelWeb includes all of the essential software and is perhaps more convenient.

Texts: The Editor/Assembler User's Manual. This is an absolutely necessary reference but is not a beginner's guide for learning to program.

Also, an Introduction to Assembly Language that guides you through the process of writing A/L programs. One is by Ralph Molesworth and there are several others, equally good.

You use the Editor program to write A/L SOURCE code, save it to disk as a D/V80 file, and then use the Assembler program  to assemble it into A/L OBJECT code which is in machine language. This is a D/F80 file, ready to run with the E/A Loader or from Extended Basic if you wrote it for that.

There are four Modes for A/L programming and you choose the one that suits your purpose. The Graphics mode is the simplest, most generally useful mode and the one that is at hand when you start. Bit-map and Multicolor mode is for detailed screen graphics. Text mode is for text only, as in word processing.

Writing A/L programs is laborious and not easy to learn but the results are worth the effort. They are VERY fast and can do many things that are not practical with other languages.

John Bull

Table of Contents



By John Bull.

To run from Extended Basic, an Assembly Language program must be written for that purpose or modified.  X/B cannot use files created by the C (compressed) option of the Assembler. X/B does not handle DEF's but the address of utilities must be EQUated.  For instance, a program written for the Editor/Assembler loaders might begin:

For X/B this should be: The list of EQUates for X/B is on pages 415 and 416 of the Editor/Assembler Manual. Modifying an E/A program to run from X/B is sometimes as simple as the above. Please note, the E/A manual has a typo. Page 416 should read NUMREF EQU >200C

Two ways you can run an A/L program from X/B: One is to put at the beginning of your X/B program:

Now the program is in memory and can be run with CALL LINK("START"), where START is the entry point as defined in the program.

Another way, more work but often more convenient, is to imbed the A/L program in your X/B program, where it will stay, ready to run, whenever you load the X/B program. There are two programs available to do the imbedding: Harry Wilhelm's HML, High Memory Loader and Scott Kaplan's ALSAVE, which loads into low memory.  HML is easier to use but will not work with very large X/B programs.

Whatever way you load the A/L program, it remains in memory until you do CALL INIT, or BYE and so it is available in other X/B programs that you RUN from the first one.

NOTE: Issuing a new from X/B will leave your A/L program in memory.

John Bull

Table of Contents


What are TOKENS?

By Jacques Groslouis

Tokens are used to aid in the parsing of Commands, Functions, and Statements in BASIC programs.  When run BASIC programs are usually interpreted as opposed to being compiled.  Upon running an interpreted program the contents of each program line is translated to its required functions as the program runs. On the other hand a compiled program is first converted to an assembly language program, and then is run as an A/L program.  A compiled program will run faster than an interpreted

A TI BASIC program is interpreted twice which explains why certain functions in TI BASIC run slower than the same function on other computers. This additional interpretation is required because of the basic structure of the TI computer.  Instead of using an operating system which must be booted and requiring the loading of a BASIC interpreter program, a TI has much of this already available when the TI is turned on. These preloaded programs are included in the GROM modules in the TI console. Additional GROM modules are also included in the various cartridges which can be plugged into a TI console. The program instructions contained in these GROM modules are written in Graphic Programming Language (GPL) a special language written by Texas Instruments. This is the second language which must be interpreted when a TI BASIC or Extended Basic program is run.

A TI BASIC or XBASIC program consists of a series of numbered program lines containing various Commands, Functions and/or Statements which in GPL are abbreviated to one byte tokens. These abbreviations are listed in TIFAQ005. For example the token for the PRINT command is represented by character 156 (>9C) and the GOSUB command is represented by character 135 (>87). An example of a program line in usual LIST (DV80) format compared to MERGE (DV163) format is as follows:

XBASIC programs have been written which can be used to write Extended Basic programs or to convert DV80 listings of extended basic programs into DV163 (merge format) programs using knowledge of the token abbreviations.

More information concerning the use of GPL may be obtained by consulting the "Texas Instruments Graphics Programming Language User's Guide" June 1,1979 (Revised December 3,1979) or "The Graphics Programming Language" Copyright 1990, R. A. Green. GPL assemblers and disassemblers also exist but a GRAM device is required to load and change GPL programs.

September 20,1997

Jacques Groslouis
1747 Riverbank Drive
Bathurst New Brunswick E2A 4L1

Table of Contents


TI99: TI tokens

By Jacques Groslouis

    Tokens which appear in a            205 COS
    Basic Program                       206 EXP
    0   end of line marker              207 INT
    129 ELSE                            208 LOG
    132 IF                              209 SGN
    133 GO                              210 SIN
    134 GOTO                            211 SQR
    135 GOSUB                           212 TAN
    136 RETURN                          213 LEN
    137 DEF                             214 CHR$
    138 DIM                             215 RND
    139 END                             216 SEG$
    140 FOR                             217 POS
    141 LET                             218 VAL
    142 BREAK                           219 STR$
    143 UNBREAK                         220 ASC
    144 TRACE                           222 REC
    145 UNTRACE                         241 BASE
    146 INPUT                           243 VARIABLE
    147 DATA                            244 RELATIVE
    148 RESTORE                         245 INTERNAL
    149 RANDOMIZE                       246 SEQUENTIAL
    150 NEXT                            247 OUTPUT
    151 READ                            248 UPDATE
    152 STOP                            249 APPEND
    153 DELETE                          250 FIXED
    154 REM                             251 PERMANENT
    155 ON                              252 TAB
    156 PRINT                           253 # (files)
    157 CALL                            255 end of file marker
    158 OPTION              Tokens used only in Extended
    159 OPEN                Basic Programs
    160 CLOSE               130 ::
    161 SUB                 131 !
    162 DISPLAY             163 IMAGE
    164 ACCEPT              165 ERROR
    169 RUN                 166 WARNING
    176 THEN                167 SUBEXIT
    177 TO                  168 SUBEND
    178 STEP                170 LINPUT
    179 , (comma)           186 OR
    180 ; (semi)            187 AND
    181 : (colon)           188 XOR
    182 )                   189 NOT
    183 (                   221 PI
    184 &                   223 MAX
    190 =                   224 MIN
    191 <                   225 RPT$
    192 >                   232 NUMERIC
    193 +                   233 DIGIT
    194 -                   234 UALPHA
    195 *                   235 SIZE
    196 /                   236 ALL
    197 ^                   237 USING
    199 "string"            238 BEEP
    200 string              239 ERASE
    201 Stmt #              240 AT
    202 EOF                 254 VALIDATE
    203 ABS
    204 ATN

My favorite article on tokens is by Jerry Stern and appeared in the April 1991 issue of MICROpendium. This article also included a program which displayed both tokens and a program listing so that you could compare the two formats on a line by line basis. I understand that Bob Carmany gave a talk on using tokens to write a program at the recent Lima conference. Iintend to order the video tapes.

Jacques Groslouis
1747 Riverbank Drive
Bathurst New Brunswick E2A 4L1

This addition came later, here is how you can enter them from the keyboard!

The tokens which can be entered from the keyboard are tokens 129 to 159, 176 to 183 and 187. These 40 tokens can be entered into a program by pressing CTRL and the applicable key after a line number. Whether entered as  upper or lower case does not matter. Initially nothing appears but the statement or command appears when the line is listed. This is not the full range of tokens but the others cannot be accessed from the keyboard. They would require using a combination of shift and/or FCTN keys which seem to override the CTRL key. There is a token associated to each key on the TI keyboard except for the ENTER key, the space, CTRL and FCTN keys and one other being CTRL , (comma) which produces character 128. This key seems to
produce a token but not one which I recognize or can use. FCTN V will also produce a token which is blank being character 127 or DEL.

A listing of these tokens is as follows:

#  Token              Ctrl
129 ELSE                 A
130 ::                   B
131 !                    C
132 IF                   D
133 GO                   E
134 GOTO                 F
135 GOSUB                G
136 RETURN               H
137 DEF                  I
138 DIM                  J
139 END                  K
140 FOR                  L
141 LET                  M
142 BREAK                N
143 UNBREAK              O
144 TRACE                P
145 UNTRACE              Q
146 INPUT                R
147 DATA                 S
148 RESTORE              T
149 RANDOMIZE            U
150 NEXT                 V
151 READ                 W
152 STOP                 X
153 DELETE               Y
154 REM                  Z
155 ON                   .
156 PRINT                ;
157 CALL                 =
158 OPTION               8
159 OPEN                 9
176 THEN                 0
177 TO                   1
178 STEP                 2
179 ,                    3
180 ;                    4
181 :                    5
182 )                    6
183 (                    7
187 AND                  /

Jacques Groslouis
1747 Riverbank Drive
Bathurst New Brunswick E2A 4L1

Table of Contents


How can I use Graphics for other machine on my TI?

By Deanna Sheridan

The following is excerpted from the Cleveland Area User Groups Newsletter in January, 1995.

A couple of months ago, I gave a demonstration at TI-CHIPS on converting DOS graphics to the TI. It was asked at that time if we can also convert TI graphics for use in the DOS world, and you can. I am sure a lot of us have favorite Artist Instances we would like to continue using, and it's not any more difficult than transferring from the DOS format to the TI.

Briefly, the common DOS formats that the TI can utilize are RLE, GIF and MACPAINT.

To transfer programs either way, you need a program on each machine that will convert to or read these formats.

I have always used the MACPAINT format.  I use the version of MACFLIX which includes MACFLIX TOOLS so that I can convert Artist pictures to MACPAINT.

Since I have PC TRANSFER I use that method to transfer the pictures from my TI to my PC.  Without that program, I also have used my RS232 port and since I have an external modem, I have cables on both machines and insert a null modem between the two.  I then use a terminal emulator program on each side and send them over via Xmodem.

(The article was written in Word Perfect and included several pictures transferred from the TI).

Hope this helps.


Table of Contents


What is a TIFILES header?

By Steven A. Reynolds

In order to preserve attributes associated with TI files, such as file type, protected status, and the 10 character filename allowable on the TI, files transferred from the TI to another computer have a 128 byte header preprended to every file to keep this information.

This process is built into the TI's Xmodem protocol and occurs transparently. In fact, if you transfer a file without a TIFILES header from an IBM to your TI using Xmodem you will have problems with the file.

Generally, you can ignore the TIFILES header but it's important to be able to recognize it so you know if you should use Xmodem or a different file transfer protocol which does not expect a TIFILES header before transferring the file.

If you look at the beginning of a TIFILES header you will see the string TIFILES appear in it. That's usually the easiest way of telling, not to mention the file will be 128 bytes larger than it is on the TI.

The format is:
  Byte                   Meaning
-------  --------------------------------------------
0       string length 07
1-7     "TIFILES" string

8-9     # of sectors allocated to file
10      status flags
11      # of records per sector
12      EOF offset (# of bytes used in last sector)
13      logical record size
14-15   # of level 3 records allocated
16-17   MS bytes of total # of sector and # of level 3 records

Does someone want to explain what all these fields mean?

[by Jeff Brown <kludge@magma.ca>]

>This process is built into the TI's Xmodem protocol and occurs
>transparently. In fact, if you transfer a file without a TIFILES
>header from an IBM to your TI using Xmodem you will have problems
>with the file.

Not really... an unknown file will generally be imported as IF128 format if I recall correctly. (Geez, I wrote an X/YModem protocol, I should know this!
argh... I'll have to pull out some old sources)

>The format is:
>  Byte                   Meaning
>-------  --------------------------------------------
> 0       string length 07
> 1-7     "TIFILES" string
> 8-9     # of sectors allocated to file
> 10      status flags
> 11      # of records per sector
> 12      EOF offset (# of bytes used in last sector)
> 13      logical record size
> 14-15   # of level 3 records allocated
> 16-17   MS bytes of total # of sector and # of level 3 records
>Does someone want to explain what all these fields mean?

Sure!! Same fields you'll find in the Low-Level DSR functions "transfer direct input file" and "transfer direct output file" TDIF/TDOF for short... and same fields as in the file's FDR. (file descriptor record)

Offset  8 -- # sectors multiply by 256 to get actual bytes

Offset 10 -- Status flags:
  Bit#  Description
   0    0 = Data file
        1 = Program (memory image) file
   1    0 = Display
        1 = Internal
   2        Reserved (0)
   3    0 = Unprotected
        1 = Protected
  4-6       Reserved (0)
   7    0 = Variable-length recs
        1 = Fixed-length records

Offset 11 -- # recs per sector

Divide 256 by logical record size.  Only valid for FIXED LENGTH records. I'm pretty sure the field is meaningless for VARIABLE LENGTH records.  A DF80 file has 3 records per sector...  an IF128 has 2.  DV80 will probably tell you 3, but since its sectors may have more than 3 records, it's meaningless.

Offset 12 -- EOF offset

You're quite correct... number of bytes used in last sector. In DV80 files, points to an >FF if I recall correctly.

Offset 13 -- Logical record size

Well...  maximum number of chars per record...  thus 80 in DV80, 163 in DV163, etc...  Note that for variable-length records, the actual record length can be up to n+1 (1byte for size storage)

Offset 14 -- # of lev 3 records = total # of records allocated

You went and found an obtuse definition. Corresponds to offset 8 in extra params block of TDIF/TDOF. Simply put, how many records are in this file???

Offset 16 -- no clue! I'll have to check my old sources for this.

Table of Contents


What is V9T9?

By Steven A. Reynolds

V9T9 is a very good TI-99/4A emulator which runs on an IBM 286 or better and is freeware. The author discontinued support of it and released the complete source code, which is mostly 808x assembly language and C for some support utility programs. It is not a perfect emulator, but it does a very good job on the majority of TI software and modules. The alternative is to buy PC-99.

V9T9 can run on a 286, but it runs best on a fast 486 or Pentium. You have to do the fine tuning yourself through the menu system or by editing the V9T9.CNF file. V9T9 has many configurable options and is flexible, although it is not user-friendly. An archive called
TIMRADx.ZIP has been uploaded to at least one FTP site and contains sample configuration files, modules, and ROMs to get you started with the TI.

The problem is that V9T9 doesn't come with any of the TI ROMs because they are TI's property. A utility using Forth is provided to transfer a ROM dump utility to your TI which can be used to
extract your TI's ROMs. Unfortunately very few people have had success getting this process to work for whatever unknown reason.

Basically, to get V9T9 up and running you really have to first locate the TI ROM files and an image of the Extended Basic module. These files, as well as better explanations on what to do, are found in the TIMRAD archive.

Once you can run Extended Basic on V9T9, have a working serial connection between your TI and IBM, and are in TI Extended Basic on your TI, you are ready to go. By the way, remember that the serial cable between your TI and IBM is a straight through cable like would go to your modem instead of a real null modem cable.

For some reason, TI decided to make the TI's serial port a DCE instead of a DTE like most other computers.

Topic: How do I get the TRANS program over to the TI since the Forth program won't work?

Here is the clever solution by Brian Williams, edited by me:

1. Get V9T9 set up so that you can load a comm program (such as Procomm) on your IBM and talk to a comm program on your TI (such as Telco) over your serial cable, with your baud rate,
data bits, stop bits, and parIty bits set the same on each end (such as 4800 baud, 8 data bits, 1 stop bit, no parity). If you can type characters on each computer and they show up
correctly on the other side, your connection is working.

2. Consult the documentation for V9T9 and type in the RECEIVE program on the TI in Extended Basic as described. Here it is below:

3. Make sure V9T9 is configured in your .CNF file to use DSK3 as a FIAD (this is the default). After installing V9T9 the file TRANS should already be located in your DISK subdirectory.

4. Go into Extended Basic on your IBM in V9T9 and type in the following program:

Save this program in V9T9 as using "SAVE DSK3.TRANSMIT" (creates a FIAD).

5. Run both programs on the TI and IBM. Enter the baud rate on both programs as 4800 or 9600. Press ENTER on your TI first. Due to the poor handshaking of these 2 programs, if you start
the IBM first nothing will happen. If you do it in the wrong order, FN-BREAK and RUN again.

6. You will see a period for every record that is transferred and saved on the TI. After a while, the periods will stop printing and there will be quite a bit of disk activity on the TI. After about a minute the transfer program will appear. If you wish, you can omit lines 220-240 on the TI and when the TRANS program has been saved on your TI disk you will return to BASIC. To load the TRANS program each time you must execute lines 220-240. For faster loading use
the Editor/Assembler's LOAD AND RUN option. Enter DSK1.TRANS and then TRANS.

Once TRANS is running on the TI, you need to exit V9T9 on the IBM and then type RECV to run the RECV utility. Enter the correct parameters for baud rate, your serial port, and its interrupt.
Do not just hit return! You must type a value. If you don't know your serial port's interrupt, use a utility like Norton Sysinfo to find out. V9T9's suggested values seem to be correct.

Topic: Why don't the DOAD utilities like TIDIR or TICOPY work?

Many people have trouble using the utilities provided to manipulated DOAD files, depending on which OS you use. The utilities were written using Dr. DOS 5.0 which may explain the incompatibilities. It is recommended that you use FIADs to acess IBM DOS files using V9T9.

Using Disk Manager or any other file manager of your choice under V9T9 you can copy the FIADs
from a FIAD drive to a DOAD on another drive. When V9T9 creates and manipulates the DOADs, it does it correctly. The utilities generally do it wrong. Refer to V9T9 and TIMRAD help files for
descriptions of DOADs and FIADs and how to configure V9T9 to use both.

Topic: How do I use a file I downloaded on my IBM with V9T9?

V9T9 uses its own custom headers which are different for FIADs and DOADs. You cannot take a raw DOS file or files with a TIFILES header and have it work properly with V9T9. You must convert the file(s) to V9T9 format first.

There are several formats you might find a TI file in, but once a TI file has been transferred to another machine it should be in TIFILES format unless the transferer was thoughtless. Without a TIFILES header important TI directory information was thrown away which makes the file more difficult to use.

The easiest way to find out is to use the TYPE command on the file. If you see the string TIFILES, it's in TIFILES format. If you see something that looks very similar to the file's name, it's probably V9T9 FIAD format. If you see raw data with no apparent header, it's
probably headerless. While there are other formats, you are unlikely to see any of them because they are not common. You won't find files in V9T9 FIAD or DOAD format except in archives meant to be used with V9T9.

Files with the ARK/ARC extension created by Barry Boone's archiver  are made on the TI and usually transferred to the PC via Xmodem. Therefore, you would expect a TIFILES header on them.
If your file is of the TIFILES type, then run the XMDM2TI utility in the UTILS subdirectory giving the source filename and destination path. The utility seems to fail (and kill your original file) if the source and destination are in the same directory. Therefore, it's
advised that you make a SOURCE subdirectory under V9T9, copy your files to be converted in there, change to the SOURCE subdirectory, then run XMDM2TI <source file> ..\DISK. This will convert your file to FIAD format and dump it in the proper directory. Obviously your path needs to be set to find the XMDM2TI utility in the UTILS  subdirectory.

If you feel like checking your result file, make sure it is the same file size as the original and use the TYPE command to make sure that instead of TIFILES you see something that looks like the filename. This is V9T9's custom format.

At this point you may enter V9T9 and access the file through DSK3 - DSK5 depending on what your V9T9 configuration file specifies. If your file is headerless, then V9T9 won't be able to access or convert it properly since it requires its custom FIAD or DOAD formats.

In general, the only way I've been able to work with these files is to transfer them to the TI using a comm program using a non-Xmodem protocol which doesn't expect a TIFILES header. The result will be a DIS/FIX 128 file. You can then write a conversion utility or sector
edit the file's descriptor bytes on the TI to change the file to the right type. Then send the file back to the IBM with Xmodem. I'm sure there must be an easier way, but I don't know it.

Topic: V9T9 module images

One big advantage of V9T9 is that it runs images of modules fairly well. There are clearly some incompatibilities, partly due to speed. For instance, several Atarisoft modules run too slow to play on a fast Pentium with V9T9.

Some Funware cartridges play too fast, even if you adjust V9T9's speed to as slow as possible.
Overall, most work great and with a fast system you can run Extended Basic or compile assembly programs faster than you ever could on a real TI. The supplied TRANS program makes raw,
unmodified data dumps of the ROM and GROM banks in the module in the TI's port. These module image files are a few steps away from the format used by the Gram Kracker, which is a device used on the TI to make and run module backups off disk. If you have a V9T9 image, you can make a Gram Kracker one or vice-versa with little trouble. V9T9 comes with a GRAM2TI conversion utility, but not the reverse direction.

Additionally, V9T9's raw module dumps, if broken down into their separate banks, are in the same format that a "hacked" GPL interpreter and loader program can use to run the module on your
TI without a Gram device in your TI. The trick is knowing how to modify the module banks and make them work with a hacked GPL interpreter. A hacked GPL interpreter is one which redirects
all of its GROM and ROM calls into the TI's 32K memory expansion unit where you can load the module dumps... if you know how.

Simply said, there are up to 5 banks of GROM and 8K each and up to 2 banks of GROM at 8K each. Module images created by V9T9's RECV will contain 1 to 3 files. A "G" filename suffix indicates
GROM, a "C" indicates ROM bank 1, and "D" indicates ROM bank 2. All of the GROM banks are concatenated linearly; in other words, if the first and last GROM banks are used you will end up with a 40K file with the first and last 8K containing data and 0's in
between for the other 3 banks.

Send comments and corrections regarding this unfinished portion to steven@rain.org

Table of Contents


What is the TI List Server?

The following are the discussion of the TI99 List Server and directions on how to subscribe to it. This text has been copied directly from the Web Page of the SouthWest Ninety Niners User Group which is located at http://www.theriver.com/Public/sw99ug/.

TI99 and TI99-Digest E-mail List Server

The TI99 E-mail List Server and its Digest, the TI99-Digest, are an extension of the SouthWest Ninety Niners User Group and are provided as a service to the TI Community. This was done as a means of keeping open the most dynamic means of communication to happen to the computer world. Via the Internet, we are now able to send messages to anyplace in the world at the speed of light. A List Server helps in the decimation of information to those who have subscribed to it. By sending a message to one address, TI99@TheRiver.Com, that message will be forwarded to all the TIers who have subscribed to the service.

The List Server is a means by which one E-mail message is sent to all the people who have subscribed to the List Server. To subscribe to the TI99 E-mail List Server, follow the directions below: Those messages are sent as soon as they are received by the List Server.

The TI99-Digest, on the other hand, compiles all the messages that have been sent during the day and copies all those message into one E-mail which is forwarded to all the TI99-Digest subscribers just after midnight, Mountain Standard Time. The advantage of the Digest is for those who get charged by the number of messages they receive and those who only have an allotted amount of space for their messages. The disadvantage of the Digest is the messages contained in it may be well over 24 hours old by the time you receive them. It is recommended that a TI99 subscriber unsubscribe from the List Server and to the TI99-Digest when going on vacation or when they will be away from the computer for an extended period of time.

To subscribe to the TI99 E-mail list server, do as follows:
1) Address your email request to majordomo@TheRiver.Com
2) Leave the subject blank (Majordomo ignores this line anyway)
3A) To subscribe to the server, simply put SUBSCRIBE TI99 as the E-mail message.
3B) To unsubscribe from the server, simply put UNSUBSCRIBE TI99 as the E-mail message.
4) Send your E-mail message from the account that you wish the messages to be sent to, or the account to be from which you wish to unsubscribe from.

That's all there is to it. If you have any problems in either subscribing to or unsubscribing from the TI99 E-mail list server, please send an email to TWills@TheRiver.Com.

To subscribe to the TI99-Digest, do as follows:
1) Address your email request to majordomo@TheRiver.Com
2) Leave the subject blank
3A) To subscribe to the server, simply put SUBSCRIBE TI99-Digest as the E-mail message.
3B) To unsubscribe from the server, simply put UNSUBSCRIBE TI99-Digest as the E-mail message.
4) Send your email message from the account that you wish the messages to be sent to, or the account to be from which you wish to unsubscribe from.

That's all there is to it. If you have any problems in either subscribing to or unsubscribing from the TI99-Digest, please send an email to TWills@TheRiver.Com.

Please note that the TI99 List Server is a closed E-Mail server. That means only those who subscribe to it can post messages to the list server. This keeps spam messages or totally unwanted messages from being posted.

Table of Contents


What is a RAMDISK?

By Bob Carmany

A RAMdisk in the functional equivalent of a physical disk drive without the moving parts.  A physical disk drive system stores data on a mylar disk with a coating of iron oxide.  The data is retrieved by a read/write head that is controlled by a stepping motor as the disk spins in its protective cover.

A RAMdisk stores data on a series of static RAM chips that have been divided into sectors similar to the arrangement on a physical disk. However, since there are no moving parts, the RAMdisk is much faster than a physical disk drive and the data is available almost instantaneously.

Loading a RAMdisk
The two surviving modern RAMdisks (QUEST and HORIZON) are battery-backed to ensure that the data is maintained even after the computer and P-Box are turned off.  Each is powered by three 1.25V  NI-CAD batteries that charge whenever the computer and P-Box are turned on.

Both come with a software package that allows the user to initialize, partition and assign drive numbers to the RAMdisk.  The first step is to load the generic DSR (Device Service Routine) into the RAMdisk. This allows the computer to find the RAMdisk.  Each of the configuration program is menu-driven and very easy to follow.  The only limitation is that a single disk drive cannot exceed the maximum size of 1600 sectors (ie. 400K).  Let's assume that we have a 512K RAMdisk installed in a system with a TI Disk Controller.

Once the RAMdisk has been initialized, the configuration program will ask for a drive number and size.  It is wise to assign a drive number greater than the maximum number of drives that your physical controller can handle (ie. 4-9 for a TI Controller and 5-9 for a Corcomp Controller) to avoid any conflicts.

We can designate part of our RAMdisk as DSK4 (1600 sectors) and the other part as DSK5 (448 sectors) which fill up the entire 512K (512*1024/4 sectors per kilobyte = 2048 sectors).

Each of the RAMdisks come with a menu-type program (MENU for HORIZON and AUTO for QUEST) that are variants of the John Johnson BOOT program. These can be configured to allow for the loading of both XB and A/L programs available when the system first boots.  In each case the menu program intercepts the TI startup routine and slaps the user-defined menu in place of the title screen. They come with full instructions.

In addition, there are user defined CALLs that can be invoked to either directly load A/L programs from the command mode or CALL them from a running program.  There are simple instructions for there use as well.

When you are through, the generic DSR has been modified to the users configuration and installed into the RAMdisk.  It should now be saved to disk under a different name than the original.

At this point, you are ready to load whatever programs you wish into your RAMdisk.  This can be done with ANY disk manager program. Oh yes, you can write protect either or both parts of the partitioned RAMdisk and enable or disable the MENU/AUTO program.

Common problems
There are two problems that arise with RAMdisks that can be perplexing at times. They are easily curable.

If the RAMdisk will not load programs and a check with a disk manager indicated that the RAMdisk is "not there", the DSR has been corrupted. The easiest cure is to go back to the configuration program a reload the saved version of your customized DSR.

If the RAMdisk will not hold programs in memory, the problem is with  the battery circuit.  This can be a loose battery or a cold solder joint.  The easiest way to check to with a voltmeter.  Check voltage and continuity.

You can reach me at: 1504 Larson St., Greensboro, NC  27407

Table of Contents



By John Carver

Yes.  In 1983, Texas Instruments released to every registered Users Group a copy of the Forth program diskette and manual.  This was an unfinished product that TI decided to "dump" on the users.  Due to the unique nature of the Forth language, some users believe that this is the
best thing TI ever did for them.

Forth is a very flexible language that lends itself well to customizing and extension to suit the individual programmer.

The version of Forth that TI had been working on was a "FIG" Forth, based on the standard developed by the Forth Interest Group.  Since the product wasn't finished, there were several features that didn't work and a full compliment of bugs.  For the first year or two after its release, user group newsletters were full of bug fixes and corrected code.

Although there were and still are several diehard Forth users, Forth in general never caught on with the average user.  Part of the reason is the unusual syntax and programming style of Forth and part of the reason is that TI released an unfinished product.  Forth's greatest virtue, its easy customization and extendibility, was also its downfall.  Most of the people who worked with Forth for any length of time came up with their own bug fixes and extensions.  There were no standards to cover this sort of thing and the end product was quite a few applications that would run only on the author's compiler.  Forth code had ceased to be portable.  Forth programmers had essentially created their own "Tower of Babel".

At about the same time that this was all going on, a Canadian firm released a commercial version of FIG Forth called Wycove Forth.  There were enough differences between the two versions that not all code was portable.  These were minor differences and dedicated Forth programmers were able to overcome this problem.  Wycove used a different editor than TI-Forth and the Forth Screens were laid out a little differently.  They both accessed a diskette differently also.  Wycove's main claim to fame was that for the first couple of releases of the compiler they had a version on cassette for users that didn't have a PEB.  Lack of interest and a initially hefty price doomed Wycove to the same oblivion as TI-Forth.

Minimum system requirements for TI-Forth were 32K memory, disk system, Editor/Assembler cartridge.  Some versions were patched to load from Extended Basic.  Funnelweb has always had a Forth loader in it and it could be used to run Forth.  Except for the early cassette versions, Wycove had the same requirements.

During the early years of TI-Forth, there was one users group that tried to lead us away from the "Tower of Babel" that we had built.  Gene Hitz and the Milwaukee Users's Group formed the "Forth Clearing House". For the cost of diskette, mailer and postage they would send you Forth
programs that otherwise you wouldn't have access to.  At that time Forth disks could only be copied with Forth itself.  This was before disk managers had a sector copy feature.  At that time Forth disks couldn't be transferred over BBS systems unless they had been packed with a utility from TI called D-Copy.

So the Forth Clearing House performed a great service for TI-Forth users, giving them access to programs and applications that they would never normally come across.

When Barry Traver wrote the first compression program for the TI, we found out that Forth disks couldn't be compressed.  Compression didn't work with Barry Boone's archiver either.  They both scrambled the sectors and the disk was unusable.  TI-Forth access a diskette sector by sector. If a sector gets moved, then the compiler can't find the information it needs. I don't know who came up with the idea, but the solution was to pack the Forth disk with D-Copy and then run the archive on it.  The person on the other end would de-ark the disk and then run D-Copy on it.  A real pain, but at least we could then easily transfer disks online.

When CorComp released their DSDD controller, the Forth community was faced with a new task, figuring out how to get TI-Forth to access the extra disk space.  Forth was set up for SSSD access and it seemed a shame to have the access to larger diskettes and not be able to use the space for Forth. Jim Vincett was the first one to figure that one out.  First he came up
with code for DSSD and then a few months later revised it for DSDD use.  It took the average Forth user probably about thirty minutes to type in the screens, check them, save them and then recompile so that they could take advantage of the larger disk space.

That's one of the things I like about Forth.  It's so easy and quick to modify the compiler and make it do whatever you want it to do. After the first four or five years, only die hard Forth enthusiasts were using the package.  Mike DeFrank from Florida released his Forth Utilities

This was essentially his customized version of the TI-Forth package with several interesting features.

Information about Forth was scarce in the early years.  Unless one subscribed to a lot of user group newsletters, the only information readily available on BBS systems were two series of tutorials.  One written by Lutz Winkler and one by George Symthe.  A lot of people read STARTING FORTH by Leo Brodie, but it was written for a different dialect of Forth.  The only book that I can remember that was actually written about TI-Forth was GETTING STARTED WITH TI-FORTH by Richard Schneider of TSS Software.   It contained about the same information as the tutorials by Winkler and Symthe.  There was a video tape made about using Forth, but I never saw it and have never found a copy.  The early issues of THE SMART PROGRAMMER from Miller's Graphics had a lot of Forth articles, but they dispensed a lot of misinformation too.

The Hoosier User Group had a lot of Forth people in the early years and published some fine articles in their newsletter.  If I remember correctly, they had one gentleman who was actually accessing the DSR's on the PEB cards and modifying them with Forth.  A member of the HUGGER's also wrote one of the three most memorable programs of the early Forth years.  It was a graphics program and I believe it was called Kibbet.  The other two programs were a graphics program called JP Drawing and Rene LeBlanc's Universal Disassembler.

As the years wore on and the number of Forth users began to slip, the applications that were released became fewer and fewer, but were actually fantastic programs.

Glen Davis wrote a series of articles for Computer Shopper that were nothing short of amazing.  He modified the Forth kernal so that it could be loaded into a supercart.  By modifying the kernal and sticking it in the supercart he was able to free up five or six K of RAM and give us more room to work.  He also added a set of Forth83 compatibility screens which allowed us to port over some software from other platforms.

Edgar Dohman and DataBiotics picked up the torch from Glenn and developed SuperForth which also loaded into a supercart but added several new features such as hard drive support.

Bytemaster Computer Services started publishing Super 99 Monthly and always supported Forth in almost every issue.  After the merger between Super 99 Monthly and Smart Programmer took place they added a regular Forth column which soon became the best Forth column in publication.  Second best was probably the series that the LA99'ers ran by Howie Rosenberg and Chick Dimarti.  Lutz Winkler continued to have an occasional Forth article in MICROpendiumMICROpendium has always had high standards for Forth articles, and they've all been good, but due to the dwindling number of Forth programmers there haven't been a lot of articles there. That covers the highlights of the TI and Wycove Forth years.


When I first purchased a Geneve, I was forced to use it as a doorstop for the first eight months I had it as it had no OS.  When I finally got an OS it was pretty much GPL mode only.  Native mode still wasn't working very well.  As I went through my collection of TI software, seeing which would work and which wouldn't, I was very surprised to find out that TI-Forth would not run on the Geneve.  No one knew why.  I talked to Paul Charlton about it and as he was working on a Forth package for the Geneve, he was reluctant to give me any help in the matter.  He did give me a couple of hints of places to look in the source code, but he wouldn't tell me what I
was looking for.

After literally weeks of staring at the printouts of source code, I found the problem, patched it and promptly posted the patch on the commercial services.

Probably my only claim to fame, but at least we could use Forth on the Geneve. About this time Lutz Winkler was working on an eighty column Forth for the Digit AVPC eighty column card.  Since it too used a 9938, he had the same problem with the original port.  By the time I got together with him, he had figured out the patch on his own and was working on the eighty column editor.

We decided that since both systems used a 9938, his Forth should work on a Geneve, so I became a beta tester for eighty column Forth.  The package would run on the Geneve, but messed up everything on exit which meant that one had to reboot the machine to use it for anything else.  We put our heads together and worked on that one for awhile until we came up with a fix.  Following his suggestions about where the problem might be, I was able to write three or four lines of Forth code and insert them into an empty space on screen three which solved the problem and allowed one to exit Forth without having to reboot.  I promptly uploaded this version to
the commercial services and we had an eighty column Forth for the Geneve. My second claim to fame.

Mike McCann wanted to port his Forth software to the Geneve and asked me if I knew of any compiler for the Geneve.  I recommended Lutz Winkler's package, but he wanted something that would run in native mode and not GPL. I put him together with Paul Charlton, but they couldn't come to terms on royalties.

Mike ended up writing his own Forth package called 9640 Forth.  After he had ported his own software, he offered the package for sale and I bought as soon as it was available.

I used 9640 Forth exclusively until I started noticing messages on Delphi from Bill Sullivan.  It seemed that he was writing a Forth compiler for the Geneve. It was called MMS Forth for Memory Management System.  I got a copy from Bill as soon as I could and have been using it for sometime now.  I have a couple of big applications that I've been working on for years, and
if I live long enough they might get finished.

Bill has revised his package a couple of times and it is now called Forth+. It is without a doubt, hands down, the most total programming environment that the Geneve has ever seen.  It is probably also the last major Forth effort that the Geneve world will ever see.

So, yes, there is a Forth compiler for the TI and Geneve.

Table of Contents


Can I user 720K and 1.4Meg Floppy's on my Geneve?

By Ken Hastings

[The following is a post left in response to a question. Ken gave permission for the selection to be included]

> On Thu, 5 Mar 1998 18:25:24 +0000 Richard Twyning
> <007@r-twyning.demon.co.uk> writes:
>HELP!  I haven't tried this, and it's always seemed like it was
>impossible but...
>Will the GENEVE in a particular version of MDOS support 720K floppies
>on the MYARC HFDCC?  And which version of MDOS do I need?
>Will 5 do it?  And what CRU would I need it on?
>Richard Twyning


The Myarc HFDC will support the use of 720K floppy drives with the Geneve (it doesn't matter which version of M-DOS), AND it also works with the TI!  The 720K support is in the HFDC EPROM (you should have version H11).  However, M-DOS 2.00 and later supports 1.44MB floppy drives.  Since the 1.44MB support is ONLY a feature of M-DOS (unfortunately), you would not be able to use the 1.44MB floppies with the HFDC on a TI, nor can you use it when you have used "ROMPAGE*" or the "/R*" command in EXEC, on the Geneve.  If someone EVER writes the 1.44MB support code for the HFDC EPROM, then you would have the 1.44MB support on all platforms.

Just to reiterate, ALL versions of M-DOS after 2.00, support 1.44MB floppies!  As far as the CRU goes, I believe the HFDC _has_ to be at CRU 1100.  If you ARE using the HFDC, there should be no reason the HFDC is not at CRU 1100 - unless you are still using a separate disk controller for floppy access.  The HFDC - with the H11 version of the EPROM - has full floppy support, so there is no reason not to use it. There are only a few (VERY FEW) programs that won't work with the HFDC, but those few programs (to me) are not reason enough to NOT have 1.44MB support.

Incidentally, on the 8-position DIP switch on the HFDC, all the odd numbered switches (1, 3, 5, 7) should be in the up/on position.  This sets the HFDC floppy head-step rate to the faster setting (8 ms) and also allows the program, CYA** (by Tim Tesch) to set the head-step rate even
faster (as your particular brand of floppy drive will allow).  The even numbered switches are for selecting 40-track (off) or 80-track (on) floppy drives.

NOTE!  The HFDC will NOT support the use of 1.2MB floppy drives.  So don't bother trying to use a dual (1.44/1.2MB) floppy drive, either... it doesn't work.  I've tried it!  The 1.44MB portion MAY work, but not the 1.2MB part.

* ROMPAGE & /R "pages-in" the code from the HFDC EPROM and negates the support of 1.44MB floppies, until you:  quit the program that loaded the ROM code, press "Ctrl-Shift-Shift" in GPL, or return to M-DOS... whichever the case may be.

** CYA stands for, "Configure-Your-Autoexec".

I hope this helps (everyone) out!

Table of Contents


How do I set up a system and what are my expansion options?

By Andy Frueh

First, it is necessary to stress that no FAQ can anticipate all questions or all possibilities.  For that reason, consider the information given here to be a generalization.  Specific hardware
installation instructions have filled entire books.  If you have a specific question or unusual difficulty, just refer your question to ***newgroup/email list/address...maybe a few different places to go for help by internet, email, phone, and letter?

Setting up a TI-99/4A can be very simple or somewhat complicated, depending on the accessories and options that came with your unit.  To make things as simple as possible, we will begin by describing some of the accessories you may have.

Console - the 4A console is contains the "brains" of your computer. All other accessories plug into the console either directly or (as we'll see later) indirectly.  The console has a keyboard, power switch, the cartridge slot, and many jacks or ports.  It may be black and
silver or beige depending on the age of the unit.  The beige model was made nearest to the end of the 4A's production run, but both are (for all practical purposes) identical on the inside.

SPECIAL NOTE:  When the computer is all connected and you turn it on, the first thing you see on your television or monitor (the 4A can be connected to either), the first thing you will see is the "Master Title Screen."  If this title screen has a 1983 copyright date and says
"V2.2" in the lower right corner, some cartridges from third-party manufacturers may not run.  CorComp made an accessory for this console to allow these cartridges to run.

To begin using your 4A, you need the following equipment:  the console, power cord (you can't use just any cord...the 4A requires a special AC adapter made by TI) and either a television or a monitor.  Any television will work, but you need a 4A compatible RF Modulator.  The modulator is a device similar to those that come with many other 1970's-1980's home computers, and almost all home video game consoles. These devices connect the computer or video game to the television.  A sliding switch allows you to select either normal television operation, or allows the computer/game to use the TV.  If you are using a monitor, it must be composite.  Apple II/Iie-compatible composite monitors work, as do some Commodore monitors.  TI made a 9" monitor especially for the TI-99 series.  If you use a monitor, you will also need a TI monitor cable (instead of the RF modulator).

So you have the computer itself, your display and the necessary cables to connect the computer to that display, and the power cord.  Now what? The AC adapter has a plug on the end with 4 small holes.  This plug fits into a jack on the back of the computer.  It only fits one way, so
you don't have to worry about plugging it in the wrong way.  Plug the AC adapter into a working wall power jack.

Next, connect the display.  Whether you use a monitor or TV/RF Modulator combination, one end of your connecting cable will be round with 5 pins.  That plug connects to a round 5-pin jack on the back of the computer.  There's a notch in the plug and the jack to help you connect it.  Make sure the notches line up and insert the cable.

If you have a monitor, the other end of the cable is split into a Y. One end of the Y has an RCA-type connector.  This goes in the "Video IN" on the back of your monitor.  The other half of the Y has an 1/8" mini  connector (like a pair of headphones).  This connector plugs into the "Audio IN" on the monitor.  Some monitors may not support audio. If this is the case, you can still get sound.  You will need a pair of computer speakers (the powered ones with volume control would be best). If the speakers don't have an 1/8" jack to plug the 1/8" end of the monitor cable into, you can buy an adapter from almost any store that sells personal stereo/walkman accessories.  The adapter will have two 1/8" jacks.  You plug the monitor cable into one of them and the speakers plug into the other jack on the adapter.

If you are using a television, the round 5-pin cable has the RF modulator attached.  The modulator has a short cable attached with two metal ends.  These ends plug into the two antenna terminals on the back of your television.  If you do not have these terminals, you may need a "300-to-75 ohm" adapter.  The easiest thing to do in this case is to take the modulator to your local electronic parts store and tell them you need to plug the modulator into your television, but that you need an adapter to make it fit.  They should be able to help you.  If you DO have the right terminals, unscrew each of them, slip one of the c-shaped ends from the modulator between the terminal and the screw, then tighten the screws.  If you have an antenna or cable running to your TV, the modulator has a place to connect that.

You should be ready to get started!  Turn on the television and slide the switch on the modulator toward the word "computer" that is printed on the face of the modulator.  If you are using a monitor, just turn it on.  Next, turn on your computer.  For black and silver consoles, the power switch is on the right side of the front of the case, to the right of the space bar.  There is a little red light beside it.  If that light is on and your telelvision/monitor are properly connected, you should see the Master Title Screen.  On beige consoles, the power switch is almost in the same location.  It's a small sliding switch, but there is no power light.  Instead, an orange or blue band appears. That band is your "on indicator."

If you don't see anything, there are many things that may be wrong. First, check all of your connections.  You might want to plug a lamp into the wall outlet that you plugged the computer into, to make sure that it's "live."  Check your monitor or RF modulator connections. They may easily work loose.  RF modulators and AC adapters are fairly common components, so you may want to see if you can find replacements. Check other parts of the TI FAQ for information on vendors and suppliers.

You may have other devices that came with your system.  Three fairly common ones are the cassette recorder, speech synthesizer, and joysticks.

The cassette recorder allows you to store and retrieve data and programs from audio cassette tape.  While this device was very popular early on, they have largely been discarded in favor of disk drives.  To connect the cassette recorder to your 4A, you will need the 4A-compatible cassette cable.  The cable has a 9-hole plug on one end, and three small plugs on the other.  On an original TI-made cassette recorder, the jacks that each of these three small plugs connect to are color-coded.  Simply match the color of the cable with the color of the jack.  If you don't *** ___________red =3D?  White=3D?  and black goes into the remote jack.  Not all cassette recorders have a remote jack. It's a nice feature to have, since it allows the computer to control the motor on the recorder.  If your recorder doesn't support this, you will need to manually stop/pause the tape when needed.  The other end of the cable plugs into a 9-pin jack on the back of the computer. There is a similar jack on the left side of the computer, but they aren't interchangeable.  Using a cassette recorder is beyond the scope of this portion of the FAQ.

The jack on the left side of the console is for joysticks.  You must use joysticks made by TI, or you will need a special adapter.  The joysticks simply plug into the side of the console.

If you have a speech synthesizer, some programs may allow the computer o speak to you.  The synthesizer plugs into a special port on the right side of the computer.  On black and silver consoles, this port is protected by a sliding plastic door.  Beige models do not have this cover.  Gently slide the synthesizer into this port.  Some modules that support speech are:  Alpiner and Parsec game cartridges, TI Extended BASIC and Terminal Emulator II (requires programming), and educational modules by Scott, Foresman.

One hardware accessory that doesn't seem to fit into any other category is the Cartridge Expander.  Made by Navarone and also known as a "Widgit," this expander allows you to keep three cartridges plugged into the computer at once.  You can only USE one at time, however.  A rotary or sliding switch allows you to select which cartridge is active.  Most users plug the Extended BASIC, Editor/Assembler, and Disk Manager cartridges into their expanders.  This gives them access to most software, since 90% of all 4A software can be run from either the Extended BASIC or Editor/Assembler cartridges.  Having the Disk Manager is just plain convenient (even though there are better disk-based disk managers such as DM-1000, DISKU, and Funnelweb's Disk Review).

There are several other devices that may be attached to your computer. The first peripherals that TI made plugged into the same side port as the speech synthesizer.  These included a 32K memory expansion (making the system total 48K), a disk drive controller that could control 3 single-sided and single-density external drives (drives sold separately!), an RS232 device (to control modems and printers).  For the most part, these devices require no external power supply.  The port on the computer that they plug into also carries both data AND the necessary power for the entire chain of devices.  Of course, the major disadvantage with such an expansion scheme is that you could very easily wind up with a computer that's over 4 feet wide!  Rumor has it that if you plug in all of the devices that TI made to attach to this side port at the same time, you would have a 5-foot wide 4A!  These devices are somewhat rare, as they were replaced with a new method of expansion well before their prices came within the reach of most consumers. ***(INSERT OUTRAGE PRICE EXAMPLE HERE)

In the early 1980's these daisy-chained devices were replaced by a new method of system expansion, the Peripheral Expansion Box.  The PE Box is a large and heavy metal box with a large, flat, black cable.  This large cable plugs into the port on the right side of your console. Expansion cards (very similar to those used in modern personal computers) plugged into the box.  This system was MUCH neater, and is shown in most of TI's advertising with Bill Cosby (TI's spokesman at the time).  This device is usually featured placed behind the console with a monitor sitting on top.  What this pictures doesn't show is that when the PE Box is placed directly behind the 4A console, you can't get to the disk drives!  The console itself blocks the drive door, so you have to make sure the PE Box is far enough behind the console to give
your disks room to slide in and out.

The PE Box is best described as beastly elegance.  It's considered a beast because it's made of ***STEEL/ALUMINIUM and is quite heavy (and rugged).  It's also very noisy because of it's internal fan (which some users replace...check ***WHERE? for more info) and quite large
***DIMENSIONS HERE.  And of course, there's the "fire house" cable that plugs the PE Box into the console.  It's elegance comes in its flexibility.  All of your expansion cards slide right into it - a much neater option than chaining a bunch of text-book sized devices off the
side of your computer!

There is space in the PE Box for one full-height or two half-height disk drives.  Cards were either enclosed in a metal "clamshell" or left bare or "PC style."  There are ***HOW MANY? slots inside the box, and it doesn't matter which cards go in which slots.  The only exception to this rule is the disk controller, which most users place in the last or next to last slot.  The disk controller card has a cable coming off of it that plugs into the drive or drives in the bay integrated into the PE Box itself.  To make connecting this cable easier, and to keep the cable from interfering with other cards, put the controller in slots ***7 or 8.

What cards are/were available?  The short list reads something like this:

Flex interface - this is required to attach the computer to the box. This card usually occupies slot #1.

32K memory expansion - This card adds an additional 32K, bringing the console up to the (mostly theoretical and proven untrue) maximum of 48K

RS232 - used to control printers and modems.  If you want to use a modem, it's usually best to keep it at around 4800 baud.  9600 may work, but are usually too fast for the computer to keep up with.  Any Hayes-compatible 1200, 2400, or 4800 modem should be fine.  You will need a special cable (of course).  For printers, you should try to find a 9 or 24-pin Epson compatible dot matrix printer.  Most software was written to be Epson compatible, since the TI Impact Printer was an Epson  ***MX-80? with TI's label on it.  And yes, you need a special cable.

Disk Controller - TI's disk controller gives you access to anywhere from one to three double-sided, single-density drives, which will hold about 180K worth of information each.  They usually come with the Disk Manager or Disk Manager 2 cartridge.

USCD Pascal card - This card is essentially a replacement for the TI operating system which is inside the console.  The Pascal card gives the user access to programs written in USCD Pascal.  There isn't a huge library of this software available, however, although the history of USCD Pascal and this card is interesting (and a subject unto itself!)

Other manufacturers have also made a wide range of cards for the PE Box.  Some examples of the more common ones (and a few rare ones worth mentioning) include:

CorComp and Myarc both made a series of cards that were direct replacements for the TI cards.  These include 32K memory expansions, RS232, and disk controllers.  The disk controllers of both Myarc and CorComp expand on the features provided by the TI card.  They both give you access to 4 drives instead of three, support double-side double-density disks (360K), and are usually faster than the TI card.

CorComp Triple Tech - This card provided a real-time clock/calendar (with external power supply), 64K print buffer, and a place to install your speech synthesizer if you wanted to remove it from the side of your console.  While there is little software to take advantage of the clock, the print buffer and speech connection can both be used by any software designed to print or speak.

256/512K cards from CorComp and Myarc - These cards are early examples of the RAM disk.  A RAM disk acts like a regular disk drive, but instead of storing data on flexible media, it stores the data on memory chips.  This gives you MUCH greater speed than an ordinary disk, but
are more prone to corrupting data or wiping it completely, so always back it up!  Both companies made 256K and 512K RAM disks.  CorComp's would work IN ADDITION to the 32K card, which is unusual.  Print spooling software was usually included as well, so you could split the RAM disk into a disk and a spooler.

Foundation RAM cards - Avoid these.  They are generally inflexible and you may spend a lot of time trying to get them to work as a normal RAM disk.  ***Anything else to say about them?

Horizon RAM disks - If you want a RAM disk, THESE are the ones to try and find.  ***No experience with these.  History/various models/current status

Geneve - This is another topic as well.  The Geneve is a "computer on a card" that completely replaces the 4A console.  It uses the PE Box and the cards that it contains to do its work.  It comes with a mouse and larger keyboard, and has a faster processor and better graphics.  It can also access more memory.  Most 4A software will run on the Geneve, and there is lots of Geneve-specific software, giving it quite an extensive library.  ***REFER TO ANOTHER PART OF THIS FAQ?

Mechatronic Mouse/Asgard Mouse - These mouse interfaces could have been most useful.  However, so much software made use of the keyboard instead of a mouse that they never really caught on.  You may find a few pieces of software that take advantage of them, but most software just uses the keyboard (which, as we shall see, can also be upgraded).

Dijit AVPC/Mechatronic 80 Column Card - These cards give the 4A access to an 80-column, high-resolution display.  Normally, the 4A is limited to a 40-column text mode and what could best be described as medium resolution graphics.  Adding either of these with an RGB monitor (normally, the TI uses a composite monitor) gives a really great screen display, with a quality similar to ***640x480x256 VGA.

FORTI music card - ***Don't have any details handy

RAMBO - ***

AMS/SuperAMS - These are memory cards that go well beyond 32K.  With these cards and software specially adapted for use with them, it is possible for the TI to address up to ***K of RAM!  The cards are easily upgradeable.  Some examples of software that use the card are ***.

How about third-party "side port" devices that do NOT plug into the PE Box?

There are several third-party devices that plug into the side of your computer.  These include:

CorComp devices - CorComp made 32K, RS232, and Clock enhancements that daisy-chained to the side of your console.  These devices functioned just like their TI made counterparts, but were MUCH smaller.

CorComp Micro Expansion System - This device was like a little brother to the PE Box.  It attached to the side of the console without a cable, and was compact ***DIMENSIONS?  This little box contained the 32K, RS232, and CorComp disk controller all integrated into one unit.  Disk drives could be attached to the back of the expansion system.  There was no noisy fan and the box ran quite cool.  You could buy the MES with just the RS232 interface and add the 32K and disk controller options to it later.  The CorComp clock/calendar was not a part of this package, and was available only as a standalone device about the size of the speech synthesizer, or as part of the Triple Tech card described earlier.  The MES is somewhat rare.  PE Boxes are much more expandable. If you have the MES, you are limited to the devices it contains. There is no way to add new features to the MES once it includes the disk controller, RS232, and 32K.

MBX Expansion System - Milton Bradley released this expansion system shortly before TI pulled the plug on the 4A.  It includes a headset with microphone, large keypad, and a 360 degree joystick!  Designed to be the ultimate gamer's system, the MBX let you control the computer by speaking into the microphone.  The keypad was used with overlays that came with certain cartridges.  You could control the cartridge by pressing key on the keypad which were marked on the overlay.  The 360 degree joystick would work as a regular joystick, but had a knob to give you true 360 degree control.  This system plugged into the joystick port on the left side of the computer.  Only cartridges designed for the MBX system took advantage of the system's special

CorComp Load Interrupt Switch - A fancy name for a rather simple device.  This gadget with a button on it lets you take screen dumps of cartridge programs.  Get to the screen you want, press the switch, and you then load your screen dump program.

CorComp '83 Module Adapter - As stated earlier, some 1983 consoles (that say "v2.2" on their title screens) won't let you run a lot of third-party cartridges.  This side-port device takes care of that problem.  It plugs into the side of your 4A console, then you plug the third-party cartridge into this device.

"In the console" options include:

Son-of-a-Board - This device, made by OPA, replaces the operating system.  It is installed inside the console itself.  ***brief install procedures, what it really does

TIM - The TIM was another OPA device that you installed inside the console.  This is an 80-column/high-res graphics device.

32K/Speech/Extended BASIC in the console - It is possible to install 32K of additional RAM inside the console.  Of course, it isn't possible to use any other 32K expansion when you take this route.  The advantage is that the computer can access the memory much faster, so programs move quicker.  The disadvantage is that the procedure requires some delicate soldering and is permanent.  You can also install the speech synthesizer and Extended BASIC cartridge inside the console, with the same restrictions (hard to remove later, unable to change your mind, and so on).  Normally, it's possible to install just one of these options inside the console.  The RAM in the console may make the computer too fast if your main interests in computing includes gaming or music.  The synthesizer is quite small, so there's not much point to putting it in the console (you could get the Triple Tech card anyway). There are many articles that describe how to perform these tasks.

RAVE99 Keyboard - One of the biggest complaints about the 4A is it's small keyboard.  Rave came out with a keyboard upgrade.  You removed your old keyboard and plugged an adapter in its place.  Rave's keyboard plugs into the adapter and is similar to 101 key IBM PC/XT keyboards.


Table of Contents


What is Funnelweb?

By Andy Frueh

Funnelweb began as FunnelWriter, a replacement for TI-Writer. TI-Writer, published by Texas Instruments, was released in the public domain when TI pulled out of the market.  TI released what was to be version 2 of the word processor to user groups.  Many individuals made modifications to the program, but FunnelWriter caught on because it offered several unique features.

Over time, it grew to become a complete operating environment.  It has the ability to load Extended BASIC programs (if it is itself loaded from the Extended BASIC cartridge.  Just insert the cartridge, insert the disk, press any key at the master title screen, then press 2 for Extended BASIC and Funnelweb loads).  It can also run its version of TI-Writer, the TI-Writer formatter (used to get special print features such as centering, bold, justification, and so on) and almost any Assembly language program.  Most good disk utilities and games were written in Assembly, and you had to have the Editor/Assembler cartridge to run them.  It also includes a great disk manager in its DiskReview program.  It's goal seems to be to run the greatest number of programs from the least hardware possible.  All that's required is a console, 32K, disk system, and either the Extended BASIC cartridge (strongly suggested) or the Editor/Assembler cartridge.  It can take advantage of other devices including the RS232 (for telecommunications programs or for printing) and most 80-column devices including the Geneve computer.
The package includes documentation on disk.  The docs only describe using those features created especially for Funnelweb.  There is no TI-Writer manual, but you can find that manual many places, often for just the cost of shipping.

This is a highly customizable piece of software.  You can create your own menus of programs, set screen colors, set a default "program" disk drive and "work files/documents" disk drive, and set other options. These options are described in the documentation.

Funnelweb is shareware from Australia, and users are asked to send a donation to the authors, Tony and Will McGovern.  This program has evolved greatly over many, many years, and is one of the finest examples of programming on a TI-99/4A.

***Maybe mention the SuperAMS support which may be coming?  Any other earth-shattering features I've left out?

Table of Contents


Can I get on the Internet with My 99/4a?

By John Bull

Yes, if you are content to transmit and receive text only - no graphics - plus file uploads and downloads.  You can handle email, lists, and usenet.  WWW sites are not pretty - no pictures - but you get the text. You will be *very* slow by internet standards and it is awkward to view 80 column text by windowing a 40 column screen - but the net is the net and it is worth it.

What you need:

Hardware: Console, PEBox with 32K memory expansion, disk controller and floppy drive, RS232 card, and 2400 baud modem. A ramdisk, two drives, and a printer are *very* handy.

Software: Telco is excellent, FastTerm is unfamiliar to me but some like it, Jeff Brown's Term80 has advantages - 80 columns - but inconveniences - no log function. Also, TIWriter or FunlWeb.

Internet Service Provider (ISP) that is accessible by local phone. Delphi provides ASCII text access for $12.95 for 6 hours a month, $19.95 for 20 hours. AOL and Compuserve are exclusively GUI, Graphic User Interface which we cannot handle.  Shop around locally; there are freenets and many others that can serve well but remember that you need ASCII service.
How to proceed:
Load communication program. Telco loads on power-up of Extended Basic, else load and run the file TELCO with Load and Run in the Load function of FunlWeb, TIWriter, or Editor/Assembler.  Easiest and quickest is from a ramdisk.

Configure the program. For this you need to read and reread your software manual. You will need VT100 emulation for most ISP's, 40 columns, cr in and out, line wrap, screen scroll, full duplex, baud rate 2400, and parity 8N1.  Also load the ISP phone number into the autodialer.

Connect the modem to power, phone line, and RS232 card. A two-way switch from Radio Shack may be handy for the phone.  The modem cable will have to be modified for the TI RS232 card. You may need expert help with this - I did.

Dial your ISP access phone number and use the logon routine specified by the ISP, then your username and password.  The password does not appear on the screen. Choose mail or other service of the ISP and you are on the net.

You will receive 80 column text on your 40 column screen and will have to window to view the full text. With Telco this is done with <f>5 and <f>3.  It helps if you can tell your ISP to pause at the end of each screen.

I find it helpful to use Telco's LOG function to save everything to disk.  After logging off you can then read at leisure, edit, print, or delete.  Except for brief responses, composing a message "live" on the screen is clumsy unless you are are a more precise typist than me. I use FunlWeb to compose messages in advance, edit, and save to disk.

Then, on the net, upload in ASCII.

To subscribe to Tom Wills' TI99 list server, send an email to majordomo@theriver.com, leave the subject line blank, and in the body of your msg write - subscribe ti99 - and nothing else. There are about 150 of us on it and it is right lively - also some folks who know the TI inside out.

Have fun!

Table of Contents


What is PC99?

By Mike Wright for Cadd Electronics

PC99 Stage 5 product description                           980201

PC99 is a program that emulates the Texas Instruments TI-99/4A Home Computer and selected peripherals. PC99 runs in protected mode under DOS, or in a Windows 95 DOS box, on an IBM or compatible 386 (or higher) PC.

PC99 features include:

TMS9900 16-bit processor: Fully emulated.

TMS9918A Video Display Processor: Fully emulated. TMS9901 Programmable Systems Interface: TMS9919 Sound Processor: Joystick port: Command module port: Fully emulated. TI 32K memory expansion card: Fully emulated. Myarc 512K memory expansion card: Full emulated. AMS memory card: Fully emulated. TI disk controller: Fully emulated. Myarc disk controller: Fully emulated. TI RS232 primary card: Fully emulated, if the PC has up to two COMM ports and one parallel port. TI p-Code card: Fully emulated. TI Speech Synthesizer: Partially emulated. PC99 "card": PC99 debugger: Command modules: Documentation: Transfer Utilities: Standard Utilities: There are two PC99 products available: Full and Light. The following table shows the difference in features between each product.

                            --- PC99 Full ------  PC99 Light
Program name                PC99.EXE  PC99A.EXE  PC99L.EXE
p-System (p-Code card)      Yes       Yes        No
16 GROM banks               Yes       Yes        No
PC99 Mini-Screen debugger   Yes       No         No

With either PC99 product you can run TI-99/4A Command Modules and disk-based programs with few limitations. Each product includes files containing all necessary ROMs and GROMs.

CaDD is either licensed or has permission from the owners to distribute this copyrighted code.

The minimum recommended machine to run PC99 is a 486 66MHz.

Full product. . . . . . . . . . . . . . . . . . . . . . .$94
Light product . . . . . . . . . . . . . . . . . . . . . .$47

Price includes shipping and handling anywhere in the world.

PC99 is supplied on three 3.5" 1.44Mb PC diskettes, and a 5.25" TI diskette.

WARNING: There is no guarantee that any further development will take place after Stage 5. Please understand this before placing an order.

CaDD Electronics
45 Centerville Drive,
Salem, NH 03079-2674
603-895-0119, 603-893-1450
Table of Contents


Can I use my TI 99/4A on the internet?

By Lew King

Q:   Can I use my TI 99/4A on the internet?

A:   Yes and no!  At this time, there is no software that will allow a direct PPP (Point to Point Protocol) connection.  However the TI works very well on a text based Unix shell account.

Q:   Does this mean that I will have to learn Unix to use the TI on the net?

A:   Again, yes and no.  Some internet service providers have a menu driven interface, that is familiar to all TI users.  Other service providers put you directly at a  Unix prompt after login.  But, half a dozen simple commands are all that is needed to get started.

Q:   What equipment do I need?

A:   Of course a TI 99/4A console, 32k expansion memory, at least one disk drive, an RS232 port, a modem, and connecting cable.  The memory, disk drive, and RS232 can either be in the PE Box, or as separate peripherals. Also, a terminal emulator program is needed.  There are several to choose from.

Q:   My modem is an older 1200 baud model.  Will it work?

A:   Yes, if you're not in a hurry.  The slow speed could be a problem if your ISP (internet service provider) imposes a time limit, as some do.

Q:   I don't have a modem.  The new ones available are all 33.6k or 56k models. Will they work?

A:   The 33.6k modems will definitely work, in fact much better than the older ones.  Some 56k modems will only go down to 32,000 baud, which is too fast for the TI, and won't work.  Check the specs before you buy one.

Q:   What type of cable will I need to connect the modem to the RS232 port?

A:   There are many different types of cable configurations that can be used. The simplest one with just three wires works well.  2 to 3, 3 to 2, and 7 to 7.  Since the only type of flow control on the TI at this time is with the software X-ON and X-OFF, additional connections are not needed.

Q:   I have every thing connected properly, but when I type an AT command, a bunch of garbage is echoed to the screen.
A:   When a modem first powers up, it is set to factory defaults.  On the newer high speed modems, this is not compatible with the TI.  These values can be changed with various AT commands.  Refer to your modem manual.  In general, you will want to enable XON/XOFF (AT&K5), set the speed to a slower value such as 9600 (ATS37=9), disable data compression (AT%C0), etc.  These values can be put in an initialization string to be automatically sent to the modem each time the terminal program is booted.

Or, after typing these in, issue the command ATW1.  This will store every thing in NV RAM in the modem as user profile #1.  Then the initialization string only needs to be ATZ1, to recall the stored profile.  As commands will vary some from modem to modem, again refer to the manual.

Q:   Now that I have everything working OK, where do I find a Internet Service Provider that will work with the TI.

A:   Many commercial services provide a text based Unix shell account, as well as a PPP connection.  Check with your friends, neighbors, and co-workers to see what service they use.  Also newspapers usually have ads for local service providers.  Compare the prices and services, as they do vary.

There are many free nets through out the world.  Try ofcn.org for a list of some of the free nets.  They are by country, and further broken down by province, state, or territory.  Not all free nets are listed here, and some are hard to find.  So check with your local library, and county or local school district to see if one is available.  Not all free nets are free. Some charge a nominal fee depending on the amount of connect time, available disk space for your files and web page etc.

Q:   After logging in to my account, all I get is " % or $ ".  Now what?

A:   The percent sign or the dollar sign is the Unix command prompt.  At this point, you basically have the world at your fingertips.  Most users will want to do at least two things.  Access the internet, and use e-mail.  The text based browser to use the internet is "lynx". There are several e-mail programs.  The easiest one to use is "pine". It is full featured and menu driven, very easy to use.

Q:   How do I use lynx?

A:   At the prompt type "lynx", a space, and the site you want to visit. Example: lynx geocities.com/Heartland/Hills/2761/mug1998.html , will connect you to the web site for the 1998 MUG Conference at Lima. When you reach a web site, the space bar takes you forward a page, and the hyphen -, back a page. The left arrow (fctn s)goes back a link.  The right arrow (fctn d), or enter, acts upon whatever the cursor is on at that time.  If the cursor is on a file name, that file will be displayed.  Not too useful for a binary file.  If the cursor is on a link, you will be connected to that link.  At any time in lynx, hitting the delete or backspace (fctn1,fctn9, or ^h), will bring up a history list of the links you have been to.  Just choose one of them to go back to that link.
Q:   I found several sites that I want to go back to, but don't like to write down all those cryptic addresses.  Is there an easier way?

A:   Yes, much easier.  When the cursor is on any link, type "a" then "l", this will save that link to a book mark file.  At any time in lynx then hit "v" to bring up the book mark list to choose from.  Or. start lynx with "lynx -book.  This again will present the book mark file to choose from.

Q:   How can I download files?

A:   When the cursor is on a file name, hit "d".  This will bring up a menu which may include "save to disk","kermit download" or "zmodem download". Save to disk will transfer the file to your home directory, the quickest method.  Kermit won't work.  Zmodem calls up "sz" which supports x,y, and z modem transfers.  On most terminal programs xmodem is your only choice.

If using term-80, choose option F from the menu.  Then only select the disk drive you want the file on.  The rest is automatic.  File names longer than ten characters will be truncated.  Periods will be changed to the underbar _.  To transfer a file from your home directory to your TI, use "sz filename"  For a text file use "sz -a filename". This changes the Unix NL (new line) to cr lf which is more usable on he TI.  Again using "sz" with option F on the term-80 download menu, as many files as will fit on one disk can be put on the command line for automatic downloading.

Q:   Can lynx do any more?

A:   Yes, much more.  At any time while using lynx, hit "? or h".  This will bring up an online help screen.  As with most other Unix commands, type "man command".  This will give you the online manual. Most manual pages are longer than one screen, so part of it will scroll past before it can be read.  In this case, type "man lynx >>lynxhelp".  This will send the output of man to the file "lynxhelp". Then type "more lynxhelp" to view the file one screen at a time.  You can also use "sz -a lynxhelp" to save the file on your home computer.

Q:   FTP just won't work.  How do I get to a ftp site?

A:   Just type "lynx ftp.sitename"  For example: "lynx ftp.whtech.com" will connect you to the WHT ftp site, ready to download any of the latest scsi files.

Q:   Pine not only doesn't work, but it insults me.  I get the error message "Your terminal of type dumb lacks functions needed for pine". How can I correct this?

A:   Pine and other programs need to know what type of terminal you are using. After login, type "set term=vt100", or an equivalent string depending on the shell you are using.  Also typing "echo set term=vt100 >> .login" appends this string to the ".login" file for automatic execution on every login.  Again the exact string and file name will depend on the shell used.  This example is for the popular "C" shell.

Q:   I want to save my e-mail messages to a disk file.  Can this be done with pine?

A:   Yes, use the letter "e" for export while reading a message, or with the cursor on any message when in the index list.  You will be prompted for a file name.  This file will be in your home directory, then can be downloaded using "sz".  If there are a lot of e-mail messages, say 30 or 40, it may be easier to export each one as they are numbered in the list.  Such as 1,2,3, etc.  These can be downloaded separately, or added together with the "cat" command.

Cat 1 2 3 ...>>bigfile.  This will conCATenate all the files into "bigfile" which can be downloaded quickly. Don't forget to "rm" remove all the numbered files.  Otherwise you will get the error message "file already exists" the next time you try this.

Q:   Are there any more pine commands?

A:   Yes, but they are all from a menu, and no explanation is needed.

Q:   I downloaded a 350kb text file to my home directory.  This is too large to fit on one DSSD disk.  How can I get this on my TI?
A:   Easy, use the Unix split command, "split filename".  This will split a large file into smaller parts.  Each new file will have the original file name with a,b,c, etc. appended to it.  Make sure the new files don't go over the TI ten character limit.  If necessary, rename the file to a shorter name with the "mv" command before splitting.  Use "man split" to get the exact syntax for your system.

Q:   All the text files I downloaded are in the DF/128 format.  Can this be changed to DV/80 to use in a editor?

A:   Yes, Bruce Harrison has come to the rescue again with a EA/5 utility called "CONV128".  This will quickly convert any size DF/128 file to DV/80.

Q:   Is there anything else that I should know?

A:   Yes, at this point the serious user will want to get two good books. One on the internet use, and another on Unix.

Q:   I have a new PC with the latest everything.  Why would I even want to use the old TI 99/4A on the internet.

A:   You may not want to.  However if you are bored with the "point an click" routine, adventurous, and like a challenge, then the TI is the way to go. There is also a certain amount of satisfaction in pushing older hardware to the limit in a high tech world, and being one of only a few persons that can do so.  This also presents an opportunity to learn more about the internet, than would be otherwise possible.

This FAQ was produced on a Texas Instruments 99/4A computer using FunnelWeb 5.01, 4.40HD editor.  Upload to the internet was by way of Term-80 at 9600 baud using Y-modem protocol.

Any questions can be directed to Lew King, kingt@rams1.rasd.k12.pa.us  .

Table of Contents