1979 TI-99/4 with RF modulator, optional Speech Synthesizer, keyboard overlays, and a cartridge. Note orange shift keys. |
|
Release date | June, 1981 (99/4 in June, 1979) |
---|---|
Discontinued | October, 1983 |
Operating system | TI BASIC |
CPU | TI TMS9900 @ 3.0 MHz |
Memory | 256 bytes "scratchpad" RAM + 16 KB VDP (graphics RAM) |
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, which was released in late 1979 at a price of $1,150. The TI-99/4A added an additional graphics mode, "lowercase" characters consisting of small capitals, and a full travel keyboard. Its predecessor, the TI-99/4, featured a calculator-style chiclet keyboard and a character set that lacked lowercase text.
Contents |
The TI-99/4A's CPU, motherboard, and cartridge ("Solid State Software") slot were built into a single console, along with the keyboard. The power regulator board is housed below and in front of the cartridge slot under the sloped area to the right of the keyboard. This area gets very hot so users commonly refer to it as the "coffee cup warmer". The external power supply which was different according to the country of sale was merely a step-down transformer.
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) as Texas Instruments could not 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 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.
The TI-99/4A's original expansion concept 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 a system based on expansion cards. Encased in silver plastic but made from sheet steel, these plugged into the bulky "Peripheral Expansion System" (usually known among TI owners as the Peripheral Expansion Box or "PEB"), an eight slot chassis, containing its own linear power supply and a full-height 5¼" floppy bay.[1] Each card also had its own "access light", a LED which would blink or flicker when the card was being used by software. As on the earlier S-100 bus, 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 to, and loading from 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 YUV signal which is also modulated to UHF 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 is 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. The TMS 9900 also implemented the EXECUTE instruction, previously found on the IBM System/370, where the CPU would execute an instruction that was at an address specified as the operand of the instruction.
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. For CPU RAM, the machine had only 256 bytes of "scratchpad" memory to support the storage of workspaces. This memory was placed directly on the 16-bit bus with zero wait states, making it much faster than any other memory available to the system.
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 4-cycle 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. Applications previously running entirely in 8-bit RAM (both code and registers) could speed up by a factor of two. 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 affect any peripherals.
By decoding some unused I/O-bits in the console, it was also possible to use the full address range of 64 K RAM in the machine, by overlaying other memory and/or ports, under I/O (CRU) control. Thus the console ROM could be copied into RAM, and thus things like interrupt vectors and such could be modified. However, such modifications were not frequent enough to make anyone but the particular modifier himself write any software to use it.
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 had an impact on 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. The CRU (Communications Register Unit) can address 4096 devices, however, each TI card ran at a hard-wired address on the CRU 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. [2] Prototype DSDD disk controllers and Video controllers were also made.[2] A 4-color Printer-Plotter, a 300-Baud Modem, RS-232 Interface, an 80 column thermal/ink printer, and a 2.8" "Quick Disk" drive were the only peripherals 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.
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 80s, TI only gave the machines 256 bytes of fast "scratch pad" RAM where register workspaces could be stored.
The original design for the intended CPU had this 256 bytes internal to the CPU itself, but the 9900 required registers to be in external memory. Placing this small amount of memory on the 16-bit bus nevertheless helps the performance of the machine (as compared to having registers in 8-bit RAM with a 4-cycle penalty for every access). Some programs, such as Parsec, copied short loops of code to this memory to take advanatage of the performance.
Texas Instruments engineers afforded 16K of VDP ("Video Display Processor") RAM to the TI99/4A's graphics coprocessor, a TMS9918A. The VDP RAM was DRAM, with the VDP handling refresh.
VDP RAM was also used for storing variables and code for 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. Users who installed memory expansion would still need to upgrade to the Extended BASIC cartridge to use it instead of VDP RAM.
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 the replacement VDP and replacement VPD RAM (usually 128K) was required. In addition, although the chips were largely software-compatible, certain bugs in the ROMs caused compatibility issues with the new chips. One board, the Mechatronic 80-column card featuring the 9938 required that the user press a button when entering TI BASIC. These "80-column" cards were extremely popular.
Graphics Read-Only Memory was another set of memory accessed a single byte at a time through a dedicated memory port, and were auto-incrementing read-only devices. (There is also support in the console for 'GRAM', simulators for which were created by third parties later.) The vast majority of TI cartridges (Disk Manager 2, Editor/Assembler, TI Writer, most games) used this system, as did the console's TI-BASIC. (Swapping the TI-BASIC GROM with a GROM removed from a favorite cartridge was a popular modification, as was installing several GROMs into one cartridge allowing a "multicart", with all included GROMs being available in the boot menu.)
Since the standard machine didn't allow third party machine language support, programmers found their markets decidedly limited to those users who actually added more RAM to their systems. This unfortunate limitation was alleviated as the price of 32 KB expansion card and a 4 KB "Mini Memory" module eventually came down, but by then the market had moved over to other computers.
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. Exceltec also released two similar side cartridges, Arcturus, and Killer Caterpillar.
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.
Some of the most popular TI-99/4A games included Parsec, TI Invaders, Munch Man, Alpiner, Tombstone City: 21st Century, Hunt The Wumpus and Car Wars.
Many TI-developed video games, especially those developed by John Phillips, 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, the player can select which mountain to climb. 838 (with or without SHIFT) in Star Trek gives a random but high level of torpedoes, shields, and warp drive energy.
Initially, the TI-99/4A was reasonably successful, and it has been estimated that it had about 35% of the home computer market at its peak. However, TI quickly found itself engaged in a price war, particularly with Commodore International, and was forced to lower the computer's price in order to compete. By August 1982, the computer was still losing shelf space. TI offered a $100 rebate, which caused spokesman Bill Cosby to quip about how easy it was to sell a computer if you paid people $100 to buy one.
The TI-99/4A found itself selling for around the same price as the Commodore VIC-20, even though it was much more expensive to manufacture. Although Texas Instruments and Commodore each owned their own IC fabrication facilities, Commodore used theirs to create custom ICs to reduce the cost of their computers, 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.[3] 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.
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 more advanced computer than the VIC-20, offering more memory and more advanced graphics capabilities that in many respects rivalled the Commodore 64. 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 contrast, the VIC-20's hardware and software development was completely open. Commodore even included schematics in the owner's manual and published a complete programmer's reference book series, allowing anyone to build hardware for the machine and write software that could reliably access the lowest levels of the computer's architecture. The VIC eventually had a software library of more than 700 titles.
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).
At the time they left the home computer market, TI had been actively developing two successors to the TI-99/4A. Neither actually entered production, though several prototypes of each are in the hands of TI-99/4A collectors. Both machines were to feature the TMS9995 CPU and would therefore have been substantially faster than the original TI-99/4A, and both were to use TI's "HexBUS" serial interface (which was available as an option on the TI-99/4A and could be viewed as a prototype for today's ubiquitous USB - the link for the TI-99/8 includes some images of HexBUS peripherals).
The TI-99's controller was ranked the sixth worst video game controller by IGN editor Craig Harris (in 2006, some 23 years after it was discontinued).[4]
The TI-99/4A enjoys an active after-life in the retro computing enthusiasts world. There are currently three very active mailing lists where TI-99/4A owners correspond with each other, from matters concerning hardware setup and interfacing equipment to the machine, to advanced software techniques.
In addition, the TI-99/4A enjoys extensive support from a very enthusiastic group of 4A users on the AtariAge website forums.
There has been a resurgence in new hardware projects in recent years. Recently, a range of plug in cartridge boards have been developed, allowing enthusiasts to distribute their software projects on cartridge for the first time in many years. Additionally, an audio card has been developed featuring the SID chip found in Commodore 64 computers, with a SID player/tracker software application in active development.
Even more recently, a prototype Linux system on a plug in cartridge has been demonstrated at the recent 2010 Chicago Faire in America, although the intended feature set has not yet been announced.
A new TMS9918 compatible graphics chip, based on an FPGA is also in active development and nearing completion. The chip, called the F18A is a drop in replacement for the original 9918 VDP, but features true VGA output, bypassic ageing analogue RGB systems entirely, and contains other enhanced features, such as (for example) removing the 4 sprites on a scan line restriction of the original 9918.