The Texas Instruments TI-99/4A was an early home computer, released in June 1981, originally at a price of USD $525. It was an enhanced version of the less-successful - and quite rare - TI-99/4 model released in late 1979 at a price of $1,150. The TI-99/4A added an additional graphics mode, "lowercase" characters comprised of small capitals, and a full travel keyboard. Its predecessor, the TI-99/4, featured a calculator-style chiclet keyboard and lacked any provision for lowercase text.
Available peripherals included a 5¼" floppy disk drive and controller, an RS-232 card comprising two serial ports and one parallel port, a P-Code card for PASCAL support, a thermal printer, an acoustic coupler, a tape drive using standard audio cassettes as media, and a 32 KB memory expansion card the TI-99/4 was sold with both the Computer and a Monitor (which was a modified 13" Zenith Color TV) because Texas Instruments Couldn't get their RF Adapter FCC approved.
In the early 1980s, TI was known as a pioneer in speech synthesis, and a highly popular plug-in speech synthesizer module was available for the TI-99/4 and 4A. Speech synthesizers were offered free with the purchase of a number of cartridges and were used by many TI-written video games (notable titles offered with speech during this promotion were Alpiner and Parsec). The synthesizer used a variant of linear predictive coding and had a small in-built vocabulary. The original intent was to release small cartridges that plugged directly into the synthesizer unit, which would increase the device's built in vocabulary. However, the success of software text-to-speech in the Terminal Emulator II cartridge cancelled that plan. (Most speech synthesizers were still shipped with the intriguing door that opened on the top, although very few had the connector inside. There are no known speech modules in existence for those few units with the connector.) In many games (mostly those produced by TI), the speech synthesizer had relatively realistic voices. As an example, Alpiner's speech included male and female voices and could be quite sarcastic when the player made a bad move.
In terms of expansion, initially the idea behind the TI-99/4 was that peripherals would be connected serially to the console and each other, in a 'daisy-chain' fashion. The 'sidecar' expansion units could be connected together in a continuing chain, but could rapidly occupy an entire desktop and cause crashes and lockups due to the large numbers of connectors on the system bus.
This original idea was soon replaced by the now-familiar expansion card. Encased in cast aluminum, these plugged into the bulky "Peripheral Expansion System" (usually known among TI owners as the Peripheral Expansion Box or "PEB"), an eight slot chassis made of two plies of thick-gauge steel, containing its own linear power supply and a full-height 5¼" floppy bay. Each card also had its own "access light", a LED which would blink or flicker when the card was being used by software. Another unique feature of the Peripheral Expansion System was that the section of the power supply that powered the card slots was unregulated - each card had on-board regulators for its own requirements, thus reducing power consumption on a partially-loaded PEB and allowing for future expansion cards which might have unusual voltage requirements.
Even more unusual was an analog sound input on the expansion bus. This allowed the TI Speech Synthesizer's audio to be carried through the console to the monitor. The audio was also carried through the ribbon cable ("firehose", as TI users often call it) to the Peripheral Expansion System, both allowing the relocation of the Speech Synthesizer to the Expansion box and allowing for the possibility of audio cards offering more features than the console's built-in sound.
Early models (the TI-99/4, identified by its keyboard and "(C)1979 TEXAS INSTRUMENTS" on the title page) included a built-in equation calculator, but in the 99/4A ("(C)1981 TEXAS INSTRUMENTS") this feature was discontinued. All consoles included TI BASIC, a strict ANSI-compliant BASIC programming language interpreter which was largely incompatible with the more popular Microsoft BASIC. Later consoles, identified by "(C)1983 TEXAS INSTRUMENTS V2.2" on the title page, also removed the ability for the system to execute unlicensed ROM-based cartridges, locking out third-party manufacturers such as Atarisoft.
The system also supported saving and loading to two cassette drives through a dedicated port, and had a joystick port that supported two digital joysticks, which TI referred to as "wired remote controllers". The two joysticks were connected through a single nine pin port, which therefore supported only TI joysticks directly. Aftermarket adapters were available which allowed the use of two Atari-compatible joysticks. Composite video and audio were output through another port on NTSC-based machines, and combined by an external RF Modulator for use with a television. PAL-based machines output a more complex component-like signal which is also modulated externally.
The TI-99/4 series holds the distinction of being the first 16-bit personal computer. The TI-99/4A had a 16-bit TMS9900 CPU running at 3.0 MHz. The TMS9900 was based on TI's range of TI-990 mini computers. There's some discussion about whether it should be recognized as an early RISC processor, but in truth it had very few of the features traditionally associated with RISC - it had a rich instruction set, a complex fetch/decode/process/store architecture (which required external support from the clock), extremely variable instruction timing and size, and a rich selection of addressing modes. Using the more modern differentiator of register-based or memory-based architecture, the 9900 clearly falls into the memory-base.
One feature that some have looked at as either being inspired by, or alternately inspiring, RISC processors was the concept of 'Workspaces'. Only the Program Counter, Status Register, and Workspace Pointer registers were on the chip, all work registers were kept in RAM at an address indicated by the Workspace Pointer. 16 registers were available at any given time, and a context switch instruction which changed to another workspace automatically allowed fast context switches compared to other processors which may have had to store and restore the registers. To support this requirement on a machine which only had video RAM available, a 256-byte block of RAM called the "scratchpad" was included. This memory was placed directly on the 16-bit bus with no wait states and is the fastest RAM in the machine.
Although the CPU was a full 16-bit processor, only the system ROMs and 256 bytes of scratchpad RAM was available on the 16-bit bus. All other memory and peripherals were connected to the CPU through a 16-to-8-bit multiplexer, requiring twice the cycles for any access and introducing an additional wait state. (This is reportedly due to the failure of a new 8-bit processor being designed by TI for this system, the 9900 processor was already in production and proven.) A popular user modification in later years involved "piggybacking" static RAM chips onto the console's 16-bit ROM chips, allowing a standard 32K RAM expansion without the wait state and approximately a 30% speed increase for many applications. Most hardware was based on the system clock, not the program execution speed, and the hardware access still ran through the 8-bit bus with the wait states intact, so this particular modification was not known to impact any peripherals.
Like most machines of the day, the TI-99 series incorporated a Video Display Processor to handle the generation of its display. The Video Display processor in the 99/4 was a TMS9918. It lacked a bitmap mode, which was added in the 99/4A. The VDP in the American 99/4A was the TMS9918A (which gives the machine the A in its name). In the European PAL consoles this was replaced with the TMS9929A which also powered MSX machines.
A unique feature of these VDP chips is that they contained hardware support for super-imposing on-screen graphics over other video signals. Although TI announced a Peripheral card called the Video Controller Card which allowed the control of select Laser Disk players, which could switch between the TI's display and the Laserdisc player, the 'genlock' capability of the 9918 was disabled in the design of the 99/4A and would require hardware modifications to use.
All accesses to the VDP system were executed 8 bits at a time. Although this impacted performance, it made it somewhat easier to upgrade the VDP when newer, relatively compatible chips were released by Yamaha. Peripherals from Mechatronics, and Michael Becker, simply called "80-column cards" included the Yamaha V9938 VDP which gives the 99/4A a top resolution of 512×424 in 16 colours or 256×424 in 256 colours. This also increased the VDP memory from 16K to a maximum of 192K, although only software explicitly written for the 9938 could take advantage of it.
The unusual architecture of the 99/4 series is documented to be due to the failure of the 9985, an 8-bit processor which was being created especially for the machine. When it was abandoned, the 16-bit 9900 was selected to replace it, and a great deal of 'glue logic' had to be added to fit the processor into the existing design, while no changes were made to take advantage of the 9900's strengths.
All TI-99 models, from the earliest TI-99/4 to the unreleased TI-99/2 and TI-99/8, included "plug and play" support for all peripherals. Device drivers (called "Device Service Routines", or DSRs) were built into ROMs in the hardware; when a new card was inserted, it was immediately available for any software which needed or wanted to use it. All device access utilized a generic file-based I/O mechanism, allowing new devices to be added without updating software to use it. However, each card ran at a hard-wired address on the CRU (Communications Register Unit) bus, and so multiple cards of the same type could not be supported without modification. The only official card known to be modifiable was the RS232 card, which supported two different base addresses. This allowed the system to support four RS232 ports and two parallel printer ports. 4-line BBSes were being run, using properly jumpered serial cards, on TI-99/4A systems as recently as the mid 1990s.
Most hobbyist-created cards released after TI's exit from the hardware business included switches to set the base CRU address.
The HexBus Interface was designed in 1982 and intended for commercial release in late 1983. It connected the console to peripherals via a high-speed serial link. Though it was prototypical to today's USB (plug and play, hot-swappable, etc.), it was never released, with only a small number of prototypes appearing in collector hands after TI pulled out of the market. Several HexBus peripherals were planned or produced. A WaferTape drive never made it past the prototype stage due to reliability issues with the tapes. The 5.25-inch Floppy drive also never made it past the prototype stage, even though it worked. A 4-color Printer-Plotter, a 300-Baud Modem, and an RS-232 Interface were released in quantity, mostly for use with the TI CC-40. All HexBus peripherals could be used with a TI-99/4A when connected through the HexBus Interface, through direct connection to the TI-99/8, or through direct connection to the Texas Instruments Compact Computer 40.
VDP RAM was also used for temporarily storing users' BASIC programs. BASIC was implemented on the TI-99 series using a second interpreted language called Graphics Programming Language, or GPL. The GPL interpreter resided in the ROMs and took control of the machine at power-up, and was very close to the native 9900 machine code, adding instructions to transparently access the different types of memory in the machine and perform higher level functions such as memory copy and formatted display.
The TI minicomputer-inspired architecture of the TMS9900 series meant that the "Workspace" of registers currently in use were stored in main memory. Because static RAM was also very expensive in the early 80's, TI only gave the machines 256 bytes of fast "scratch pad" RAM where register workspaces could be stored.
The same VDP was used in the MSX and ColecoVision machines. Further upgrade chips, the 9938 and 9958, were produced by Yamaha based on TI's design. Boards were created that took advantage of these new chips to upgrade the graphics capabilities of the TI-99/4A. The 9938, the more common of the two upgrades, allowed 512 * 424 pixels at 16 colours, or 256 * 424 at 256 colours. These upgrades were not a simple drop-in and replace, however - a small board including additional RAM (at a minimum) was required. In addition, although the chips were largely software-compatible, certain bugs in the ROMs caused compatibility issues with the new chips. However, these were all worked around and the upgrade boards were very popular with those who obtained them.
As there was no realistic amount of RAM addressable by the CPU, machine code programs could not be loaded unless more RAM was added in the form of either the 32 KB expansion card or the 4 KB "Mini Memory" module.
Some sophisticated cartridges (for example Parsec, Alpiner, TI LOGO, TI Extended BASIC) included memory addressable ROM which was available for machine code, primarily for games or applications which demanded the speed of machine code. None of this memory was available to the user. In general, ROM-equipped cartridges may be identified by having 28-pin IC's on the board, while the GROM IC's have 14 pins. A small number of cartridges also included a small amount of RAM (notably those games produced for the Milton Bradley MBX expansion system).
Tigervision developed a unique solution to the memory limitation of the standard cartridge slot. They had a 24K cartridge that attached to the side expansion interface, emulating an expansion device. This allowed them to implement a larger game completely in machine code. Tigervision cartridges using the expansion port included Espial and Miner 2049'er. A third cartridge, Sprinter, is listed in their 1984 catalog but was not released.
Because of the speed bottlenecks (8-16 bus multiplexer) and the doubly-interpreted BASIC, the TI-99 series gained a reputation for being quirky and eccentric, which endeared it to some and maddened others. Many people who had only experienced TI BASIC also considered it very slow, although assembly programs actually managed fairly good speed despite the hardware issues to overcome.
Many TI-developed video games, especially those developed by John Pillips, may be forced into "cheat mode" by holding the shift key and pressing 838. Terse messages often appear, which may allow the user to move to a different round of the game. In Munch Man, the top screen and top round includes invisible Hoonoos ("ghosts" in this blatant Pac-Man derivative) which travel several times faster than Munch Man. In Alpiner, you can select which mountain to climb. 838 (with or without SHIFT) in Star Trek gives you a random but high level of torpedoes, phaser power, and warp drive energy.
In February 1983, TI lowered the price to $150 and was selling the computers at a loss. And in June 1983, TI released a redesigned beige cost-reduced version that it sold, also at a loss, for $99. TI lost $100 million in the second quarter of 1983 and $330 million in the third quarter. In October 1983, TI announced it was exiting the home computer business. The 99/4A became the first in a series of home computers to be 'orphaned' by their manufacturer over the next few years, along with the Coleco Adam, Mattel Aquarius, Timex Sinclair 1000 and IBM PCjr.
A total of 2.8 million units were shipped before the TI-99/4A was discontinued in March 1984.
The TI-99/4A was technologically a competitive computer, offering more memory and more advanced graphics capabilities than the Commodore VIC-20 and in some regards rivaling the Commodore 64, which was aimed at a higher point in the market. However, a number of elements of its design attracted criticism: All peripherals plugged directly into the right-hand side of the unit (unless the user purchased the expensive and heavy Peripheral Expansion Box), which caused the computer to not fit well on top of a desk if a user added many peripherals besides a tape drive and a printer. In addition, the 48-key keyboard layout didn't match that of a typewriter very closely, and there was (at the time) no option for an 80-column display. The keyboard and display limitations made it unpopular for word processing.
However, the 99/4A's biggest drawback was its limited software library. TI closely controlled both hardware and software production for the machine, which resulted in a software library of around 300 titles and few of the big-name hits available for other computers of its day. No official technical documentation was released until the "Editor/Assembler" assembly language development suite was released in 1981; no system schematics were ever released to the public until after TI had discontinued the computer. By comparison, the VIC-20, whose history paralleled the TI-99/4 series except its hardware and software development was completely open (Commodore even included schematics in the owner's manual, allowing anyone to build hardware for the machine), had a library of more than 700 titles.
As a result, the TI-99/4A found itself selling for around the same price as the VIC-20, even though it was much more expensive to manufacture. It is worth noting that Texas Instruments and Commodore each owned their own IC fabrication facilities, allowing creation of custom ICs to combine functions of smaller ICs. Commodore used this aggressively to reduce the cost of their consoles, while TI continued to use off the shelf components and making only relatively small revisions to their motherboards. Commodore also made other cost-cutting changes including using aluminized cardboard to build RF shields for some of their systems. Texas Instruments never followed suit, electing instead to continue to use the highest quality components and materials with the unfulfilled hope that the marketplace would recognize it.
The TI-99/4A maintained a cult following for years after its death in the marketplace, in part because of its eccentricities, and in part because TI had actively supported a network of user groups during the production of the machine. There is still some life: several of these user groups still exist with histories of first supporting a state-of-the-art machine, then die-hards discussing their obsolete machine, and now enjoying today's "retro computing" resurgence. In 2004 a Universal Serial Bus (USB) card and Advanced Technology Attachment controller for IDE hard disks for the PEB were released, and there is still an annual Chicago TI Fair where people congregate to celebrate the historic TI-99 family of computers. Third party devices such as expanded memory cards, improved floppy controllers, and hardware ramdisks are very stable and popular additions to the machine, although there are no current known sources for these devices. In the early 1980s, a Bulletin Board System (TIBBS), developed by Ralph Fowler of Marietta, GA, running on the 99/4A became very popular and brought many users together. Also, a number of emulators for the TI-99 exist today for PC-based systems.
There was also a portable sibling to the TI-99/4A. Dubbed the CC40 (Compact Computer 40), it was a battery-powered compact with an LCD display and a version of TI BASIC. It also pioneered TI's HexBUS interface, a high speed serial expansion port similar in concept to USB. The HexBUS peripherals were compatible with all members of the TI-99 family; CC40 cartridges were not.
In 1987, the "Turbo XT" was introduced by Triton. Though rare, it allowed a TI-99/4A and an IBM PC XT to share the same desktop space, though without sharing such things as memory or disk drives. Pictures of this unusual peripheral are available here The Turbo XT had at least two serious failings - first, it extended the use of the TI's already marginal keyboard to the XT whereas the reverse would have probably been far more marketable; second, it did not allow the TI to share or use resources with the XT (custom BIOS might have allowed the XT to serve as ramdisk, diskette controller/drives and serial ports).