From Wikipedia, the free encyclopedia
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.
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) 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.
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 the now-familiar expansion card. 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 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. 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.
First domestic computer with a 16-bit processor
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.
“Plug and Play” hardware support
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.  Prototype DSDD disk controllers and Video controllers were also made. 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.
CPU RAM and Scratchpad
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.
VDP RAM and GPL
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
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, phaser power, 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.
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, offering more memory and more advanced graphics capabilities than the Commodore VIC-20 and in many regards rivaling 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 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).
Successors and clones
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).
- TI-99/2, a low-cost black-and-white only machine with no sound, reminiscent of the ZX81, TS1000 and TRS-80 MC-10 given its 16-bit processor. Designed by Texas Instruments but fairly rare.
- TI-99/8, a premium successor for the TI-99/4A, with a large keyboard, 64 KB of RAM expandable to 15 megabytes, built-in speech synthesis, built-in Pascal operating environment with UCSD Pascal and the full 16-bit data bus available on the expansion port. Designed by Texas Instruments, but abandoned in the Prototype stage. Some prototypes are known to exist and are worth a fair bit of money to collectors. In addition, the emulator MESS is capable of running what are believed to be the system’s ROMs.
- Myarc Geneve 9640, an enhanced TI-99/4A clone which was built by Myarc as a card to fit into the TI Peripheral Expansion System and used an IBM PC/XT detached keyboard. Released in 1987, it was in many ways similar to the earlier TI-99/8 which was in prototype form in early 1983. Included a faster processor (12 MHz TMS9995), enhanced graphics with 80 column text mode (via 9938), 16-bit wide RAM, MDOS, and was compatible with nearly all TI software and slot-mounted hardware (an adapter was available to allow the sidecar-only Speech Synthesizer to be installed inside the PEB). A toggle switch was mounted to the side of the PEB to allow insertion of wait states to bring the computer down to the same speed as the original console, allowing compatibility for games and other timing-critical software.
- SGCPU, the Second Generation CPU card was released by the System 99 User Group in 1996 as a card to be installed in the PEB. It was also known as the TI99/4P, and included standard 9900 CPU, ROMs, and up to 1 MiB of 16-bit RAM using the ‘AMS’ memory expansion scheme. This card required the HSGPL card, which provided the GROM emulation needed to run the system, and the EVPC, which included the 9938 video processor for display.
- The Tomy Tutor and its sibling systems were Japanese computers very similar in architecture and firmware to the 99/8. Unlike the 99/8, it was released commercially, but sold very poorly outside of Japan. Portions of the operating system and BASIC code are similar to the 99/8. According to Barry Boone (a well known programmer for the TI-99/4A), the Tutor’s built-in BASIC uses the same internal one byte tokens as does TI’s Extended BASIC, and many of the memory scratchpad locations are placed at the same relative locations as the TI-99/4A and TI-99/8. For instance, keyscan values are returned at offset >75 and floating point is stored at >4A.
- The Phoenix G2 Designed in 2010 by Gary Smith a member of TI-User Group UK. This machine uses two FPGA’s to emulate the entire architecture of the Myarc GENEVE and the TMS9995 Microprocessor and therefore eliminating the reliance on obsolete silicon devices. Of course it incorporates the latest advances in technology like SD card readers, ethernet, full VGA output, and now 64Megabytes of RAM.
- CPU: TI TMS9900, 3.0 MHz, 16-bit
- Memory: 16KB VDP RAM (Video Display Processor RAM) (expandable to 192 KB with the use of YAMAHA V9938 – this was not a standard upgrade option but was a user-designed modification), 256 bytes CPU fast “scratchpad RAM” intended for the TMS9900 processor to maintain register “workspaces”. It was also possible to add an 8K “supercart” or 32K “superspace” cartridge via the cartridge slot which also included the Editor/Assember GROM. This used the cartridge ROM space.
- Video: TI TMS9918A VDP (TMS9918 in the earlier 99/4, TMS9929/9929A in PAL versions. Distinct in being the only chip on the TI motherboard which had a heat sink on all models. Early models also had a heat sink on the clock generator, the TMS9904.)
- 32 single-color sprites in defined layers allowing higher-numbered sprites to transparently flow over lower-numbered sprites. Sprites were available at 8×8 pixels or 16×16 pixels, with a ‘magnify’ bit that doubled all sprites’ size but not their resolution. A single bit was available in hardware for coincidence (collision detection), and the console supported automatic movement via an interrupt routine in the ROM. There could be no more than 4 sprites per horizontal scanline.
- 16 fixed colors (15 visible, one color reserved for ‘transparent’ which merely showed the background color. Transparent was intended for the 9918’s genlock functionality used in conjunction with TI’s Video Controller Card. This feature was demonstrated in October 1999 at an international TI meeting near Stuttgart, Germany. (This would have required a hardware modification to the console itself, as the video input line is not routed on the motherboard.)
- Text mode: 40×24 characters (256 6×8 user-definable characters, no sprites, foreground and background color only, not accessible in BASIC)
- Graphics mode: 32×24 characters (256 8×8 user-definable characters, full 15 color palette + transparent (available in groups of 8 through the character table) and 32 sprites (The only mode available in BASIC. Extended BASIC is required for sprites, and can only access 28 of them.)
- Bitmap mode: 256×192 pixels (no more than two colors in an eight pixel row, full 15 color palette + transparent, all 32 sprites available but interrupt-based motion through the ROM routine is not due to the memory layout, not available to BASIC or the original 9918). Bitmap mode could be arranged in such a way as to use less memory but still provide improved color or improved pattern layout, leading to the popularity of so-called “half-bitmap” modes. In fact these modes were not undocumented modes of the VDP (which fully documented this masking) but simply clever layout of Bitmap mode.
- Multicolor mode: 64×48 pixels (each pixel may be any color, all 32 sprites are available)
- All of the above comprise 36 “layers” starting with the video overlay input, then the background color, then two graphics mode layers, then a layer for each of the 32 sprites. A higher layer would obscure a lower layer in hardware, unless that higher layer was transparent.
- Sound: TI TMS9919, later SN94624, identical to the SN76489 used in many other systems
- 3 voices, 1 noise (white or periodic)
- Voices generate square waves from 110 Hz to approximately 115 kHz
- Console ROM includes interrupt-driven music list playback
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).
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.
- TI-99/4A Online User Group (OLUG) – A very active mailing list, with general day to day chat on all things TI.
- TI-99/4A and Compatibles Discussion Group – A more technically oriented mailing list, where people will often post technical questions or software routines to try out
- SWPB Assembly Programmers Mailing List – The SWPB list is a mailing list dedicated to discussing machine code/assembly language programming on the TMS9900 CPU (SWPB is an assembly instruction, meaning “swap bytes” in TMS9900 Assembly Language).
In addition, the TI-99/4A enjoys extensive support from a very enthusiastic group of 4A users on the AtariAge website forums.
Modern hardware developments
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.