Texas Instruments TMS9900
I have never written codes for this very special processor. Though this is the first 16-bit processor available for use in personal computers. It was produced since 1976. It uses a much rarer big-endian order of bytes. This order is used only in processors of Motorola 6800 and 68000 series and in the architecture of giant IBM/370. All other processors in this review use little-endian byte order.
TMS9900 has only three 16-bit registers: the program counter, the status register and the base register for pseudo-registers. This processor uses a dedicated 32-byte memory space as 16 double-byte registers. Such a way of use of memory is somewhat like the zero page memory in the 6502 architecture. Using the base register, the TMS9900 can very quickly change the context. Processor status flags differ in originality, along with typical flags of carry, zero (equality), overflow, parity, there are two more unique flags of logical and arithmetic less. Working with the stack and subroutines resembles the RISC-processors of the incoming future. There is simply no ready to use stack, but you can do it using one of the pseudo-registers. When a subroutine is called, a new value is selected for the counter and base registers, and all three registers are stored in the pseudo-registers of the new context. Thus, calling a subroutine is more like calling a software interrupt. TMS9900 has a built-in interrupt controller, designed to work with hardware interrupts of up to 16.
|The first 16-bit home computer – it has even color sprites!|
The system of instructions looks very impressive. There are even multiplication and division. The unique X instruction allows you to execute one instruction on any memory address and move on to the next one. The execution of instructions is rather slow, еhe fastest instructions require 8 cycles, arithmetic instructions – 14, but multiplication (16*16=32) for 52 cycles and especially division (32/16=16,16) for 124 cycles were probably the fastest among processors of the 70s.
TMS9900 requires three supply voltages of -5, 5 and 12 volts and four phases of the clock signal – these are the antirecords among the processors known to me. In 1979, this processor was demonstrated to IBM specialists, who then were looking for a processor for the IBM PC prototype. The obvious drawbacks of the TMS9900 (addressability of only 64 KB of memory, lack of the necessary controllers, relative slowness) made an appropriate impression and Intel 8088 was chosen for the future leader among PCs. To deal with the lack of controllers, Texas Instruments also produced the TMS9900 with an 8-bit bus, TMS-9980, which works 33% slower.
TMS9900 is used in fairly popular in the USA computers TI99/4 and TI99/4A, which were "crushed" in the price war by the computer Commodore VIC-20 by 1983. Curiously, as a result of this war, Texas Instruments was forced to cut prices on its computer to the incredible for 1983 $49 (in 1979 the price was $1150!) and sell them with a big loss for themselves. As an example, we can mention the relatively unpopular Commodore +4 computer, which ceased to produce in 1986, but the price of which fell to the $49 only in 1989. T99/4A was ceased to be produced in 1984, when, because of the ultra-low prices, it began to gain popularity. This computer might only be conditionally called 16-bit: it has only 256 bytes (!) of RAM and all ROM memory addressable through a 16-bit bus. The rest of the memory and I/O-devices work over a slow 8-bit bus. Therefore, it is possible to more correctly consider BK0010 as the first home 16-bit computer. It is interesting that the TI99/4 and TI99/4A use a processor at a frequency of 3 MHz – exactly the same as the BK0010 uses.
In TI-99/4 and TI99/4A, a rather successful TMS9918 chip was used as a video controller, which became the basis for the very popular worldwide MSX standard, as well as for some other computers and game consoles. In the Japanese company Yamaha, this video chip was significantly improved and was subsequently used, in particular, to upgrade the TI-99/4 and TI99/4A themselves!
TI99/4 series is a rare example of computers where the processor and computer manufacturer was the same.