Memory Expansion Cards

From Ninerpedia
Jump to navigation Jump to search

The TI console has only 256 bytes of 16-bit CPU RAM directly connected to the address and data buses. This small amount of RAM provides register space to the CPU and is used to support the GPL interpreter when executing its code from a specialized type of memory called Graphics Read Only Memory (GROM). GROMs are typically 6 KB in size and have their own auto-incrementing address bus. Instructions are placed on the data bus and read by the CPU. Each GROM chip is accessed as a parallel device. User programs - usually BASIC programs - have to be stored in the video RAM. The strategy was as follows:

  • For normal BASIC programming, only simple video functions are necessary. So there is a (comparable) lot of free space which can be used for user programs.
  • If more complex video functions are necessary, the programs may be stored in GROMs or ROMs in cartridges.
  • If people still want to write own programs and have nice video output, they should purchase a memory expansion.

Original TI Memory Expansion


The picture shows the 32K Memory Expansion card, which placed RAM in memory locations >20001 - >3FFF and >A000 - >FFFF. Using this RAM opened up the world of assembly programming on the TI, and from there, other languages became available over time (like FORTH, PASCAL, C). In addition, independent software authors could finally create complex programs without the need to burn them into cartridges.

1Hexadecimal notation in the TI world was marked with a greater-than sign, i.e. >2000 is 0x2000.

128K SuperRAM Memory Expansion

This card was considered vapor-ware for many years. At least one survived, however, though it was only partially assembled.


This card was developed at the TI laboratory in Almelo, Holland, apparently as an alternative to the external GROM device developed in the US. It was completely unknown to users until after TI withdrew from the home computer market and served as a proof-of-concept template from which the Mechatronics GRAM Karte was eventually developed. Only four examples of the card survive, all of them rescued from a dumpster by a sharp-eyed TI enthusiast who once worked at the Almelo labs.

The card uses the same GRAM header format as the Mechatronics GRAM Karte. It has a special cartridge board attached to a cable on the card which must be inserted into the computer's cartridge port to make the programs stored in the card available to the computer. They will then appear normally on the menu screen and start when selected. Unlike the Miller's Graphics GRAM Kracker, this card does not simulate GROMs 0, 1, and 2. Only the cartridge port GROMs and ROMs are simulated.

Atronics 32K Memory Expansion


Captain's Wheel 32K Memory Expansion

This rare card duplicated the functionality of the TI 32K Memory Expansion card. It did not come with a clam shell case. Only a dozen or so of these cards are known to survive.

CorComp 32K Memory Interface


CorComp 512K Memory Card


DataBioTics Grand RAM


Foundation 32K/128K Memory Card

This card duplicated the functionality of the TI 32K Memory Expansion card in its basic configuration, but added a 96K RAM Disk when purchased in the expanded, 128K version. The larger card required a DSR to utilize it to its fullest extent, which was sold initially as an option but was automatically included on later sales. Several utility programs were written to take advantage of the card's additional storage capabilities, including Mass Copy by Steve Lawless.

Later users devised a modified DSR to allow it to use the Myarc 128K OS--and Myarc Extended BASIC 2.11. Similar modifications exist to allow the card to be expanded to 512K.

Horizon Ramdisk 1000/2000/3000/4000 Series


Horizon P-GRAM Card


ICS 32K Memory Expansion

This rare card duplicated the functionality of the TI 32K Memory Expansion card. It did not come with a clam shell case. Only a dozen or so of these cards are known to survive.

Mechatronics GRAM Karte


Morning Star 128K Memory Expansion

This card was intended to provide additional memory to the TI-99/4A, in a fashion similar to the 128K Memory Expansion from Foundation. It never lived up to this promise because the DSR for the card was never released. It existed, but the programmer refused to turn it over to Morning Star until he was paid for his work. The card only works as a standard 32K Memory Expansion when inserted into the PEB as a result of the missing DSR. Very few of these cards were sold, with less than 20 known to exist today.

Myarc 32K/128K/512K Memory Expansion


SNUG High-Speed GPL (HSGPL) Card

Please refer to main article on the HSGPL card

SNUG High-Speed RAM Disk-16 (HRD-16)

Please refer to SNUG High Speed Ram Disk

South-West 99ers SAMS Memory Card

The earliest versions of this card were developed for Asgard Software, and were called the Asgard Memory System. Only a small run of the Asgard card was produced, with most of them going to developers in exchange for promises to write software that used the card. The South-West 99ers carried the design much further, increasing the possible memory size from 128K to 256K and eventually up to 1MB. A full suite of development software that uses the capabilities of the card was developed to allow programmers to easily harness it, but it (hardware and software) reached production readiness too late in the life cycle of the TI-99/4A to get widespread support. This is unfortunate, as it is easily one of the ten best expansion items ever developed for the machine. The card is in production again as a kit (summer 2007), giving the possibility of exciting new software for it if it gains sufficient acceptance within the TI community.


Do It Yourself 32k Memory

There are several available designs for internal memory expansion inside a TI-99/4A console.

Thierry Nouspikel details a proposed schematic for a PEB expansion card (labeled as untested). The Jedimatt42 sideport prototype design confirmed 95% of this circuit, except control of RDBENA (the flex cable bus transceiver). The sideport expansion was then refined to remove some of the bus buffers in the final version.