Media

From Ninerpedia
Jump to navigation Jump to search

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.

Cartridges

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.

Cartridge types

Classical cartridge style (1979-1981)

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.

1982 cartridge style

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.

1983 cartridge style

We have some more information on cartridge internals.

List of cartridges released by TI

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. Also on genuine consoles some Atarisoft games had illegible characters (eg for the score) as they used the console's built in large character set by directly addressing it instead of looking up the location, and some consoles had a small offset.

Third-party cartridge

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.

Funware also released third party cartridges.

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.

Super Carts

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.

SuperCart-like devices:

  • 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.

Cassettes

Cassettes01a.jpg

Third-party software (and some from TI) generally used cassette or 5.25 inch diskettes. Some programs required nothing more than the plain TI console to operate, but additional cartridges were sometimes 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. Cassette programs could usually be saved to disk. In both cases the file is usually a memory image file. If you don't have a PEB with a Disk Drive then using a cassette is your most affordable solution.

Using cassettes

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.

See main article Cassette

Using cassettes in BASIC

See main article Cassette

Also to use cassette storage for data other than programs see article Storing Data on Cassette

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

  1. Receive audio from the recorder (Audio-In)
  2. Send audio to the recorder (Audio-Out)
  3. 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

  1. Tunnels of Doom came with programs on a cassette.
  2. The Scott Adams adventure seriers used cassettes.
  3. Many TI utilities were provided on cassete.
  4. SAMS Guides often included a cassette.
  5. The majority of early games software from third parties was supplied on cassette

Diskettes

Edass dsk.jpg

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.

Disks fmt.jpg

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.

To avoid having to swap modules many users preferred to use disk based Disk Manager programs which loaded with the Extended Basic module. The foremost and earliest was DM1000, later joined by many utilities which gave disk manager commands from the Extended Basic command line or at any time through FCTN key 7. Other disk manager programs included Disk Review within the Funlweb program set.

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.