This completely ignored the effects of synergy, that positive feedback cycle in the emerging microcomputer market that drove creativity and new products at a rapid pace, to places that perhaps had not been planned up front. TI got none of that.
So, the architecture of the machine TI designed (was allowed to design?) and put forth in the new market was... interesting. Limited. Flawed.
There was nothing wrong with either the 9900 or the 9918, but there was plenty wrong with the way that TI put them together in that machine. But, it was guaranteed to never be a threat to those smug bastards in TI's minicomputer division, so there's that.
To control costs and cap the performance TI limited the amount, and configuration, of the memory in the machine. The 9900 had only 8KB of native 16-bit ROM containing a GPL (virtual machine) interpreter, and 256 bytes (!) of RAM for use by the GPL interpreter and the CPU itself. That's it, and this central core, the computer itself by most metrics, was essentially non-expandable.
To this core was attached 16KB of 8-bit RAM, indirectly through the 9918 video display chip, and 24KB of 8-bit embedded expansion GROM containing BASIC and other GPL system software, indirectly through a bus multiplexer. GROM was not random-addressible. Instead, it was more like a sectored floppy disk, but with the data burned into silicon. GROM usually contained GPL virtual machine code. By GROM not being random-addressible the 64KB address space limit of the 9900 was relieved considerably, but at a performance cost of everything being interpreted GPL.
Applications were supplied to the machine via the 8-bit cartridge port, either GPL code in GROM or up to 8KB in regular ROM. Because the bus was narrow, fetching data from it was slower.
You, as an application author, wrote GPL code for your application, not 9900 machine code. Your GPL application only had access to read/write storage that was located out in the video subsystem, itself also indirectly accessed. This all exacted quite a performance penalty.
The medium-speed 9900 was thrashing about like a one-armed paper hanger, running a GPL interpreter that indirectly procured a little of your application's GPL code from narrow GROM into a sliver of the 256-byte RAM, interpreting it, accessing the application's variables out in the video RAM, indirectly using the 9918 command set, and then maybe did a little drawing on the video, also indirectly using the 9918 command set. Layers upon layers upon layers. Once done, go back around to the GROM to get the next tiny snippet of GPL code, and repeat forever.
It'd be a bit like trying to write a book by hand, with the constraint that you can only work with one sheet of paper at a time. All other sheets are stored elsewhere via pneumatic tube, like banks used to use, and available only upon request. (And only after you first put away the sheet you had been working with, via tube.) And, to top it off, you can only use French for anything that gets put in a tube even though this is to be an English book, so you're continually translating too.
Yeah, that could work, but it'd never be fast!
TI was essentially entering the microcomputer market with what I might characterize as a souped-up desktop calculator, rather than a computer. It aimed at a lot of functionality, but in a performance-irrelevant, cheap package. And... it showed.
Interference problems were difficult to solve, the regulatory agencies were diligent, and the physical switch was very difficult to build with sufficient isolation so that other televisions in the vicinity were not impacted by your tiny little TV transmitter.
These problems were so difficult that the initial machine had to be packaged with a reduced-functionality color TV that lacked a tuner and thus could only receive video from the computer. That was not cheap, and kind of violated the whole premise of the machine to begin with. But TI really wanted in that market!
The 99/4 had a chiclet keyboard, and only did uppercase letters. These both turned out to be intensely irritating to customers. Especially since what had been envisioned as a relatively inexpensive device was considerably more expensive, due to the matching TV, but still felt 'cheap'. The 99/4A addressed these three problems and was subsequently released at a reduced price, without the TV. Basically what the machine should have been in the first place, disregarding the baked-in Greed and Stupidity issues.
Eventually they ended up selling the machines at a loss. Down to $100, and even $50 each at the end. You know you're in trouble if your spokesman, a popular and successful actor and comedian, starts making quips about customers being paid to take one of the machines!
TI also disappeared from the minicomputer business because, well, minicomputers. Those all went away. So much for the presumed reason for crippling the 99/4 in the first place. I'd love to be able to time-travel to TI's boardroom when they made the decision to cripple the 99/4. "Within about five years the market for minicomputers, at least low-end ones, will be gone, replaced by evolved microcomputers—and none of them made by existing computer manufacturers. Would you like them to be yours, instead?"
Well, I guess TI does still make calculators. Yay.
One of the big jobs of home computers in those days was to convince the consumer that they needed computers, when prior to that they did not, and so an attractively-priced toy was a great 'starter' system.
But like an automaker trying to wean the public off horses with something less expensive than a car, they'd have better results with a cheap motorcycle than a bicycle. The motorcycle buyer could easily see a successor being a bit faster and with a bigger motor, maybe with more wheels and seats, and an enclosure to lust after... The bicycle buyer? Not so much. In the public's mind a bicycle remained... a bicycle.
And TI had introduced a bicycle2 to the market.
TI's GROM orientation feels a little like the original Mac OS's loadable code segments. Lots of code available, on a medium that is larger than is directly addressable by the machine, but you have to go through another software layer to get access to it, pulling little chunks into its real RAM to run there.
TI could, using a more traditional architecture, have paged in native applications in chunks from GROM, just like the Mac OS did from floppy. And, being ROM, it would have been lightning fast in comparison to floppy. There's a good chance that, if done well, you wouldn't even notice the segment paging. They would have needed a segment loader subsystem in the base ROM, but larger applications, collectively larger than the system's RAM, or even the 64KB address space, could have been paged in and out of that RAM, and very successfully. (The Macintosh proved this, much later.)
Basically dump the GPL virtual machine, and replace it with a native-code segment loader. (You could still have a GPL virtual machine, for use on more compacted applications, or parts thereof, where speed truly was not an issue, just not at the heart of the system.) Yes, segments would be a bit of a pain to manage, but no more painful than writing GPL applications actually was on the 99/4, and one hell of a lot better performing!
Too bad, so sad, TI!
| 1 |
Toy-like aspects of early (1970's)
home
computers in the USA:
All shared low video resolution, appropriate for television-set displays, and (slow) audio cassette program storage. (The ZX80 actually appeared just after my arbitrary cutoff of the 70's, but it was such a toy, embodying all the sins of the class, that I just had to include it! Even as 'bad' as it was, it was not slow.) If you look closely at this 'toy' table, you may notice the absence of the Atari 400's partner: the 800. It wasn't a toy, it didn't have any of these weaknesses! | ||||||||||||||||||||||
| 2 |
I went through exactly this decision process myself after I'd
spent some time with my very first computer:
a sluggish, and inexpensive,
1802-based
Elf. (The
$120-odd investment in my slightly-expanded Elf represented a
significant investment to me, at a time when my earning potential was
about $1/hour working summers on the farm.) I was preparing to pump
some money into it to get a real keyboard and more memory, and maybe
even a character video display... getting out of the toy zone. (And,
as a student, money was in very short supply at that time, and not
something to waste. I was selling my motorcycle to fund the
expansion.) I'd even gone so far as to build wooden cases for it to
hold these planned enhancements. Then it finally hit me: Even after
all this it would still be extremely slow, and there was
nothing that could be done about that.
So I instead took that expansion money and bought an inexpensive
toy-adjacent 2 MHz (after a simple modification)
6502-based
system, one that was faster than just about anything else
at that time and had some form of all my desired enhancements included
already, with room for further expansion, and proceeded from there.
(Notably: not an equally-slow TI-99/4!) And I never looked
back. I used, and expanded significantly myself, that 6502 system
for years, through school and beyond. It, and the experience
I gained from it down in its guts and closer to the leading edge of
performance, got me my first job out of school, my dream job really:
designing computers. Sticking with the |