There is very little documentation with this device but fortunately several YouTubers have made long videos showing every detail of the replacement. Enjoy!
The TI-99/4A was the first computer I owned as a teenager. I had used TRS-80s and Apple ][ at school. I eventually bought the expansion box and a couple of accessory cards (floppy disk drive, memory and RS232). It all went in the e-waste dumpster about 20 years ago during a move.
Replaced it with a C128-D. Didn’t get my first intel until I bought a 386 after graduating high school. Good times.
My sister and I used to co-type programs from "Compute!". The times were so much simpler then..
Anyone up for a rousing game of Pole Position?
The lack of dedicated registers meant a lot of memory access, which slowed things down considerably. This is probably why it never gained the same traction as the 6502-based systems like the Apple II or Atari.
I'm curious to see how this UNIX-like OS addresses those limitations. It's a pretty neat accomplishment if it can provide a usable environment on that hardware.
It gets worse because the TI99 only has 256 bytes of RAM directly addressable on its 16-bit bus. All the other memory in the system is video RAM and is accessed 8 bits at a time through the video display processor. Oh, and you can only do this when the VDP is not accessing the memory. This is incredibly slow and severely hobbles the potential performance of the CPU.
Supposedly what happened is that the system was originally designed to have either an 8-bit CPU, or a 16-bit CPU with an 8-bit bus (cf. 8086/8088) like TI's own TMS9985, but at some point it was decided that they should instead cram their full 16-bit TMS9900 minicomputer CPU (!) into the thing. This decision basically tanked the whole architecture.
It was too late/too expensive to redesign the 8-bit support chips to 16-bit counterparts so they had to make some really out there decisions like "talk to the graphics chip and give it an address to read/write every time you want to use memory" and "software is written not in machine code, but in GPL (Graphic Programming Language), which is then interpreted by the CPU and turned into actual TMS9900 machine code"
Software on ROM cartridge for the system is stored in GPL and is fetched from ROM by the CPU (but wait! The ROMs are not in memory space like they would be on a sane computer; they are SERIAL ROMs read 16 bits at a time with memory mapped I/O) and interpreted to machine code. This is slow. When you write your own software in BASIC, however, this gets worse: now you're writing BASIC, which is being interpreted and turned into GPL, stored in video RAM, and then fetched back from video RAM and turned into machine code by the CPU. THIS IS EVEN SLOWER.
Needless to say, the BASIC on the TI99 is dramatically slower than the already slow implementations on other contemporary micros.
It DOES have a full 16-bit CPU which is theoretically much more powerful than a 6502 or Z80 but this wild-ass implementation of... well, everything, makes the system probably the least capable machine of the era.
Then again, what was this machine's target market?
Both true, which makes this an even more baffling choice -- why pick the more expensive, state of the art 16-bit CPU* that you're getting little or no benefit from + 16K of extremely slow-to-access combined video and system RAM? You could have used a cheaper 8-bit CPU and maybe for the same budget have fit 4K or 8K of system RAM on the bus + some amount of dedicated video RAM for the VDP. This would have been faster and more useful in nearly all real world applications, make for a much cleaner board design, easier development, and probably cheaper. That's what everyone else did.
Then again, what was this machine's target market?
Home computing, so yeah.
http://www.vintagecomputing.com/wp-content/images/retroscan/...
* The reason is probably that TI wanted to show off their state-of-the-art CPU tech and be able to point to the spec sheet and say "look, it's 16 bit! All our competitors are only 8 bits -- that's half as many bits!"
------------------------------
From 1977 they expected a 9985 to succceed the cheap 40-pin 9981, both having an 8-bit external bus (1). It would have 256 bytes of RAM onboard. I speculate it would have the 9900 microcode optimizations seen in the military SBP9989.
Anecdotally, the 9985 failed seven tape-outs. It was killed. The Bedford UK team was tasked with starting over: eventually this produced the 9995.
But the Home Computer had been prototyped using a 9900 board. So that was forced into the 99/4 (not A) with some external 256 byte SRAM.
Memory was expensive. The 9918 VDP, made by a team in 1975 with junior engineer Karl Guttag, was the cheapest way to interface 4Ks DRAM which TI made and sold to itself. By the time it reached market, 16k in 8x 4116s was optimal.
Various efforts to cost-reduce and upgrade the 99/4A ran into the '82 price-war with Commodore.
Every design iteration that added more RAM (2 or 8 or 16K directly accessible from the CPU) was "paid for" by reducing the cost elsewhere (PALs for instance.) BOM was around $105. [3]
But in the price war, engineers were told to deploy the cost-savings without any new features: this was the 99/4A 2.2 or QI for quality improved. [3] The 99/4A was already a loss leader by Q4 1982 [5].
In 1981, Karl Guttag's new 9995 passed first silicon [2]. It used the new optimized 99000 CPU core which also famously passed on first tape-out. The 9995 was available in quantity in 1982 [3] when new consoles were started around it: 99/2, 99/8.
The 99/2 was supposed to be cheap enough to compete with Sinclair. [6]
The 99/8 was a technical beast for the high-end, having 64K of directly accessible RAM. Its fancy memory mapper drove 24 bit external addresses. It supported 512K off board, which the P-Box had been designed for. It had Pascal built-in. Yet there was no Advanced VDP for it: stuck with the same 9918A.
In early 1983, TI assembled a team of two dozen engineers to write software for it: Pascal applications, new LOGO, a database, new word processor, TI FORTH, and complete accounting package, and a rumored superior easy-to-use interface. Pascal was supposed to deliver many benefits. It would be a small business machine. (4)
Of course, in November 1983, all efforts ceased as Home Computer was cancelled--just as the consoles were to be unveiled at Winter CES.
-----------
(1) An 8-bit bus was always going to be optimal--even the IBM PC 8088 saw that. 16-bit peripheral chips were never going to be made: the package size would prohibit that.
(2) Electronics Magazine and EE Times articles
(3) Internal memos of Don Bynum, program manager
(4) TI Records, DeGolyer Library, SMU : Armadillo and Pegasus
(5) "Death of a Computer", Texas Monthly, end of 1983?
(6) BYTE Magazine June 1982-ish
Based on research for my book: _Legacy: the TI Home Computer_.
From memory...
All due to TI’s desire to use the same chip standards across all their machines big and small, IIRC.
UNIX99 uses an after market card with 1Mbyte of RAM on an 8bit external buss used for peripherals. This card replaces the old 32K RAM card made by TI in the 1980s.
The 6502 is not very different with a very small number of registers and Zero Page being used for most of what a modern machine would use registers for. For example (unlike the Z80) there is no register-to-register add or subtract or compare -- you can only add/sub/cmp/and/or/xor a memory location to the accumulator. Also, pointers can only be done using a pair of adjacent Zero Page locations.
As long as you were using data in those in-RAM registers the TI-99/4 was around four times faster than a 1 MHz 6502 for 16 bit arithmetic -- and with a single 2-byte instruction doing what needed 7 instructions and 13 bytes of code on 6502 -- and it was also twice as fast on 8 bit arithmetic.
It was just the cheap-ass main memory (and I/O) implementation that crippled it.
It's arguably the only 8-bit computer which has a really different architecture from the others. You could otherwise imagine pulling the SID chip off a C-64 and putting it on a TRS-80 Color Computer etc.
Sharing the main RAM with video was a weak point in computers of that time period because the video system stole many of the memory access cycles. Some recent retrocomputers that revisit that period like
https://www.c64-wiki.com/wiki/Commander_X16
have a full-size memory bank and a video RAM memory bank which is accessed through a port which can be pretty efficient because you can auto-incremement the address register and just write 1 byte to the port to write 1 byte to video RAM and repeat.
The 990 series of minicomputers were competing with PDP-11s (Though DEC had highest market share, I believe 33% of the whole mini market?)
The 9900 was condensed in 1975 and went into the low-end 990/4. The higher end 990/9 and 990/10 were always going to be discrete TTL as the 9900 didn't support memory protection or mapping to the 2MByte total address space.
TI was always conscious of not challenging IBM head-to-head in minicomputers. Internal memos always projected TI's plan for its minis to occupy a space well below the latest IBM mainframes. From 1980, the planned 990/12 would arrive just as IBM delivered more compute power in their low-end... this was intentional, supposedly because IBM was the chief driver of TI's transistor business!
I'm pretty sure the Centurion doesn't run Unix.
I thought UsagiElectric showed a case where his Centurion didn’t, but I may be misremembering.
The 9900 is a single chip implementation of the CPU board in the TI 990. They even created a dedicated memory mapper chip to go along with the product line, though it is significantly different than the one in the minicomputer line.
(edit: the 990 was first built in the early 70s, memory mappers are quite old conceptually)
(edit 2: in fact the necessity of using a memory mapper is what killed the platform, and was one of the things that made the IBM PC team decline the 9900.)
Unfortunately I don't think that there is a reasonable way to perform real hardware-level memory protection with that chip alone. I'm working on a project documenting the genesis of the 99000 chips, which include a privilege bit in the status register, from the minicomputer line.
Essay forthcoming, and probably an OS. Maybe a year...
Context switching and message passing (synchronous anyway) are the same thing when you consider how rendezvous works.
BLWP instructions seem like this was “meant to be”.
That is old-school cool.
It's extremely slow, which isn't surprising, but I still think it's pretty neat.
Other than that, you can buy relatively inexpensive converter boxes that take composite video and analog audio, and output HDMI.
https://forums.atariage.com/topic/380883-unix99-a-unix-like-...
It was called the Geneve 9640 from Myarc:
https://dressupgeekout.com/geneve/
http://www.mainbyte.com/ti99/geneve/geneve.html
Wikipedia has a decent article:
https://en.wikipedia.org/wiki/Geneve_9640
12 MHz un-crippled 16-bit CPU, 80 column text, 256 colour graphics, up to 2 MB of RAM.
That would be much more promising for a Unix-like OS!
They are extremely rare these days, but a cheapo emulation would be great fun -- it's able to run most software for the 99/4A.
Both are available in MESS.