Software for the TI-99/4A can be broken into three broad categories, associated with the type of distribution media. Some programs were distributed on different media types.
The preferred method of software distribution from TI was in program cartridges, also known as Command modules or Solid State Software. The TI, like many other Home Computers of that era, comes with a cartridge port where you can plug in different ROM based programs. The cartridges range from games, to education, to productivity, to programming and so on.
Cartridges can hold as much as much as 38 KiB of data without banking techniques:
- 5 GROMs of 6 KiB each
- 2 EPROMs of 4 KiB each (or one EPROM with 8 KiB).
Considering the small dimensions of the cartridge this was already pretty much, and it was achieved by GROM chips which were a proprietary hardware device developed by Texas Instruments. GROMs are serial ROMs with an internal address pointer which must be set at first, and then the GROM delivers the contents of that cell and advances the pointer on each read access. GROMs are available as 16-pin DIP. The address is set as a two-byte data transfer via the 8-bit data bus.
As GROMs are no direct random access memory, and due to their slower speed, they are not used to store machine language programs. GROMs contain data (like graphics, sound, or speech samples) or programs written in GPL, an interpreted language which resembles an 8-bit assembler language.
The first wave of TI cartridges were in a black case with a black label and orange writing. In later productions TI switched there cartridge productions to beige/cream cases with colored labels. The intent on the color scheme was to differentiate different categories of cartridges. For example, the green label with yellow writing were educational cartridges.
The beige cartridge is an example of the 1983 batch of cartridges from Texas Instruments.
Role of third-party products
Creating cartridges with GROMs required licensing from Texas Instruments which made it virtually impossible for independent software authors to create own cartridge software. This was, as it is commonly believed, a strategy of Texas Instruments to exclude competitors from the software market.
This became even more obvious in the year 1983 when the competition got harder and sales did not yield the expected amount. TI decided to modify the operating system of the console to ignore any cartridges which came with EPROMs only (which was possible before, and which was used for example for Atarisoft games). This OS version was mostly integrated in the last generation consoles which had a complete plastic case, colored beige (unlike the earlier version with black and silver look).
The Atari cartridges, as well as others like Parker Brothers, were not manufactured by TI. They essentially made a TI Compatible cartridge. Here is a cartridge of the Atarisoft Defender game with a different case shape; such cartridges were not useable on the new console anymore.
Consoles that do not support third-paty cartridges show a version number 2.2 on the master title screen. Ironically, the Atari company which was known for deliberately blocking Activision from entering the Atari market was now locked out by Texas Instruments.
And tragically, it is largely agreed that the best games were coming right from third-party manufacturers, with many ports of well-known, successful games like Donkey Kong, Pac Man and more.
There was yet another type of cartrige having a completely different look like the cartridges from Tigervision. These cartridges were plugged into the I/O port on the right side of the console, so they were actually no proper cartridges from the system concept.
A Super Cart is any cartridge that has 8K or more of Dynamic Ram that can be addressed through the 0x6000 memory location; it does not necessarily have an Editor/assembler GROM in the cartridge to access the Dynamic RAM. The Super Cart cartridge may have a battery inside it to keep whatever code that has been put into it when the TI99/4A is turned off.
Known Commercial Super Carts:
- Super Space I - E/A GROM & 8K of memory with battery backup
- Super Space II - E/A GROM & 32K of memory with battery backup
- 6000+ - E/A GROM & 8K of memory without battery backup
- Myarc XBII - 8K of memory without battery backup & without E/A GROM
User-made Super Carts:
The Super Carts with GROMs all can address the >6000 memory location through specific software that was written to be used with that particular GROM. The Super Carts without GROMs all can address the >6000 memory location through specific software that was written to be used with the Myarc FDCC and certain CorComp FDCC that has had a special Eprom installed on the card.
- Gram Kracker - 80K of Memory with battery backup
- Gramulator - 96K of memory with battery backup
- Maximem - E/A Grom, DMII GROM, & 40K of memory with battery backup
Gram Kracker, Gramulator, and Maximem are sophisticated devices that just shows the user of the potential of the TI99/4A to have hardware accessories made for it that Texas Instruments never considered could be made for the computer themselves and therefore probably never anticipated that the general public would have access to such hardware.
Value of cartridges today
Depending on availability and other factors, various cartridges are worth more than others. You can find the latest copy cartridge list maintained by this site at: http://www.ti-994a.com/wiki/pmwiki.php/TI/L001-Software
Third-party software (and some from TI) generally used one of the other types of distribution media -- cassette or 5.25 inch diskettes. Some programs required nothing more than the plain TI console to operate, but often, additional cartridges were required to run them.
The photo on the right shows a complete set of games from the Scott Adam's Adventure Series which was also available for other platforms.
Floppy support was outside of many people's budget, so these games were usually sold as cassettes. However, with some basic Assembler language skills, the cassette contents can be read from tape and saved to disk. (Technically speaking, the tape contents are just one memory image file, so this means you need to load into memory and save the same buffer to disk.) If you don't have a PEB with a Disk Drive then this is your most affordable solution.
The TI console supported simple cassette players as storage devices. Data is encoded into a sound format and recorded to a tape. During the loading process the tape is played and the sounds are decoded back into data.
There was also a TI-branded cassette player that can be connected to the TI via the cassette cable. It had no special features, so any other recorder with the input/output lines that match the TI cassette cable was okay. The remote line allows the console to control the starting and stopping of the recorder.
With the availability of affordable expansions like floppy drives, cassette-based storage became obsolete, not least because of many limitations of the cassette tape, degrading quality of the recordings, no direct access and so on. The only good reason today to use cassettes is if the data is not available on other media and has not yet been copied to floppy disk or other media. Or just for the nostalgic feeling.
When dealing with audio tapes, type and length need to be considered. High-end tapes like metal surface are not really needed; simple plain old audio tapes will do. Many users also experienced troubles with long-recording tapes which could easily get tangled. 60 min tapes proved to be a good choice.
Using cassettes in BASIC
In Basic and Extended Basic you can use the OLD command to load a program from the cassette. Prior to running the command make sure the cassette is at the beginning of the program on the tape. The TI supports up to two cassette players but typically people had only one. The following is Basic command that would be used to the load the program off of the first cassette player:
In Basic and Extended Basic you can use the SAVE command to save a program to the cassette. Prior to running the command make sure the cassette is positioned at the location you want to start recording. The following command would save the current program in memory to cassette recorder 1:
Note that you cannot provide a file name since there is no search feature for cassettes. That is, if you want to find your programs on a tape, you have to take a note of the position by using the tape recorder counter.
Using cassettes with emulators
Cassettes can be used with emulators if they have been copied into the host computer's file system. The cassette recorder must be connected to an audio input of the computer. There are two stretegies:
- Save the cassette data to an audio file (WAV file). MESS is able to read WAV files as cassette data, so you will actually get old sound back into your ears, hopefully ending in a DATA OK.
- Save the cassette data as TIFILES files. The program CS1er takes a WAV audio file of a TI Cassette Program and can save it as WAV or converts it to a TIFILES file (also known as FIAD).
Connecting other devices
The TI Cassette Cable has three connectors that allows the TI-99/4a computer to do the following with TI Cassette Recorder
- Receive audio from the recorder (Audio-In)
- Send audio to the recorder (Audio-Out)
- Control the recorder (Control)
Theoretically one could connect the Audio-In cable to the Line-Out of another device, in particular, another computer, and respectively, the Audio-Out cable to the Line-In of the device. This should make it possible to use the PC as a replacement for the cassette recorder. This topic was already discussed on the Yahoo TI-99/4A group as message #40775. One point mentioned in the discussion was:
Also, using your PC as a 'cassette recorder' also works fine. Connect TI output to PC mic input, and PC line out to TI input. (If the PC line out is not amplified, you'll need a small audio amplifier (I bought a battery-powered mono amp kit) between it and the TI. Patching into the output from a pair of amplified PC speakers I found did not work - speaker amplifier gave very low signal quality.) You will need to play with the recording and playback volume levels.
Programs available on cassette
- Tunnels of Doom came with programs on a cassette.
- The Scott Adams adventure seriers used cassettes.
- Many TI utilities were provided on cassete.
- SAMS Guides often included a cassette.
Cassette file handling quickly becomes tedious when you have to locate files on the tape. (Remember when you had to note the counter of your cassette recorder?) It becomes unfeasible when you need to read from one file and write to another in one process. Therefore, writing longer programs in assembler requires floppy support. There is a line-by-line assembler in Mini Memory, but it cannot serve for more than educational purpose.
The Editor/Assembler development environment was distributed as a cartridge plus two 5,25" disks. The typical way of using was to load the editor from Disk 1, then putting in your working disk. Load/edit/save your file, again, exchange your disk with Disk 1, load the assembler. Then exchange your disks a last time, enter the source file and the target object file and start the assembling process.
Disk 2 of the Editor/Assembler package contains the source code of Tombstone City, a game distributed on a cartridge, for educational purposes. Also, the SAVE utility is on the disk which is used to transform the relocatable object file to a memory image file.
During most of the time from the availability of the TI Floppy Disk software until the year 2000, the software was distributed on 5,25" diskettes. Actually, 3,5" drives could be used in most cases as well, since they share the same control lines as the larger drives, but it took until the appearance of controllers handling DSDD formats before they gained acceptance. The 5,25" format was the more likely format, so it made more sense to make use of that when exchanging disks with other people.
The picture shows both formats; the common 5,25" format on the left; the "modern" 3,5" disk on the right. Note that this is a double-density 3,5" disk as it does not have a "High density hole"; there is only the write-protect hole on the right of the disk. The common PC disks are usually HD disks.
Frequent questions and answers on floppy disks
Can I use 3.5", 1.44mb (HD) diskettes in either my 720k or 1.44mb drives?
Yes, but you will have to cover the HD hole so it is treated like a DSDD diskette (720k).
Can I use 5.25", 1.2mb (HD) diskettes in either my 360k or 180k drives?
No. 1.2mb diskettes require a stronger magnetic field to change them and the lower density drives cannot reliably do that.
What are differences between single/double sided and density 5.25" diskettes?
Density refers to the number of sectors a diskette has. Sided affects how many tracks a diskette has. A 5.25" disk has 40 tracks on one side and double sided means the drive can use both sides of the diskette, doubling the number of available tracks.
- Single Sided Single Density (SSSD) have 9 sectors and 40 tracks that equate to about 90K of space.
- Single Sided Double Density (SSDD) have 18 sectors and 40 tracks that equate to about 180K of space.
- Double Sided Single Density (DSSD) have 9 sectors and 80 tracks that equate about 180K of space.
- Double Sided Double Density (DSDD) have 18 sectors and 80 tracks that equate to about 360K of space.
A full article that goes into depth on this subject can be found on Mainbyte.com at the following address: http://mainbyte.com/ti99/howto/514drives.html
How do I work with and manipulate diskettes?
The most common operations for diskettes involve the use of the Disk Manager 2 cartridge. This cartridge is the utility cartridge that you can use to format, catalog, erase diskettes.
What Disk Managers are available for the TI-99/4a?
As of today we have identified 20 different Disk Managers available for the TI and created a text list of them. You can find this list on the ti-994a.com web site at the following URL: http://www.ti-994a.com/wiki/pmwiki.php/TI/L002-DiskManagers
How do I save and load data from a diskette?
The same SAVE and OLD commands that are used for the Cassette recorder are used for the floppy drive. Each drive has a number associated to it and if you have the basic PEB then that drive, the only drive, is drive 1. The basic commands would look like:
OLD DSK1.xxx SAVE DSK1.xxx
where xxx is the name of the file.