Ah, the TI-99/4A. My first computer. What a mercurial beast of thing that was. I desperately wanted a C64 for Xmas but my Dad was somehow convinced to buy one of these. It had about 4 games (including “Hunt the Wumpus”) and so instead of playing the myriad C64 games that all my mates were playing, I was forced to learn BASIC and try to write my own! 45 years later, I’m still programming.
The TI-99/4A was the first computer around here that was affordable (wanted the Apple II but that was priced way out of my league). I never got any cartridges, used the family TV as a monitor (so no evening computing) and for the first month or so had no tape deck (so programming on paper and retying at every session).
The included manual for programming BASIC was extremely well written, and it's sprites made it very easy to write your own games. I remember starting with a multi-player 'snakes' variant, a 'defender' clone, an unfinished chess game (ran out of memory), and top down microcar racing game.
I also remember longing for the UCSD/Pascal cartridge as all (library) books I read used Pascal in their coding examples, but it was too expensive.
I later switched to the ZX Spectrum for which I had HiSoft Pascal, and a burnt in bare black&white monitor sold for scrap from an old arcade game.
My Dad was convinced by the marketing that its 16-bit CPU was the wave of the future, unlike those old-fashioned 8-bit CPUs.
It had a smidge more than 4 games. I broke several joysticks playing TI Invaders, and my favorite was Parsec, which was also one of the games which supported the optional speech synthesizer. I also had Tunnels of Doom, Car Wars, and Tombstone City, and remember playing Alpiner.
That's 6 games right there, ... or in other words, a drop in the bucket compared to my friend's Apple ][. Alas. And he could use a floppy disk, while I only had cassette tape or cartridges.
One of my game cartridges was Extended Basic. That probably got the most use.
an ordinary part that mapped into 8KB at location >6000->7FFF (the ROM) and another part, that normally held Graphics Programming Language bytecode, mapped into a completely separate “Graphics ROM” address space from >6000->F7FF (the “GROM”).
This reminds me of the NES, which has separate PRG and CHR address spaces, the latter being exclusively for the PPU to display its graphics.
The TI-99/4 has 4k of scratchpad RAM accessible to the CPU. The CPU architecture had no general-purpose registers and had basically only 3 onboad registsrs: the status register, the program counter, and the workspace pointer. The WP pointer to a 32-byte range of RAM that worked like a set of 16 16-bit registers and a subroutine call was a matter of storing the current PC and WP and loading a new pair (a whole new set of registers). The 4k RAM was the equivalent of "the stack" on a modern x86 or Arm CPU.
Programs were stored as bytecode in memory addressable only by the graphics processors (note: not a GPU). Executing a program meant the CPU would write the GROM address to a register on the graphics chips followed by a request to fetch and would then read the byte from another register. It then had to interpret that byte through the ROM.
There were true separate address spaces, not different ranges in the same flat address space like on the NES. The CPU could not address the GROM directly.
I had the Minimem cart that had a line-by-line assembler that let me dump the ROMS. Many hours were spent hand-disassembling the OS for my TI-99/4A.
I love reading about classic machines like the TI 99/4A. Leaning on firmware to squeeze out more capability is such a clever way to extend hardware from that era.
New TVs often don’t have analogue inputs, so you’d need some sort of analogue to HDMI scaler, which range from aliexpress tat to expensive enthusiast stuff like Retrotinks, with various hobbyist stuff like OSSC in between as well. Some really old stuff is RF only, so you might need a tuner as well (or an old VCR) to go from RF to baseband composite.
Older LCDs will probably have RCA inputs though they might not work with all retro computing stuff as the signals are sometimes rather “non standard” (not sure about this particular case).
CRT TV should be fine, as they’re from the right era and a bit less fussy about signals.
IIRC it just outputs video as a composite signal over RCA, so any TV with composite inputs (yellow/red/white) should be able to display it. Those are getting rarer I suppose but are generally still around, and most CRTs have them.
I convinced my grandfather to give me $30 to buy one at a garage sale while i was house sitting with him (he had emphysema and was 82 at the time) back in the early 90s. he lived as an adult through the depression, so it was a point of contention between him, me, and my mom. It only came with 1 cartridge iirc, and a brochure showing all the accoutrements you could add to it, speech module, joystick, and i forget what else.
turning it on and getting a BASIC prompt was real cool. never could save anything, though. I traded it in 1999 or so for an Apple IIc with monitor, with which i could save data.
coincidentally, i just mentioned owning a ti-99/4a to a friend yesterday, we were comparing notes about the first computers we actually owned, and that was it, for me. We had an atari (the wood paneled console one, carts, with keyboard built in, BASIC interpreter on ROM) in '87ish i guess, but i only had it for a couple of weeks before i accidentally blew it up with a cable trying to save something to a tape recorder. the tape recorder had a cable in the back that had a 1/8" TS plug, which apparently was a radio shack "universal power supply" and i guess i put 9VDC into the speaker port.
To save you either needed a cassette recorder, plugged into the machine with a special cable, then "SAVE CS1" and follow the instructions. (Start recording, the TI plays sound to the output port, which gets stored on tape. Use "LOAD CS1" to load from cassette, after rewinding to the start of the program.)
Or you needed an expansion box, with a floppy drive, in which case you could do "SAVE DSK1,PROGNAME" to save to "PROGNAME" on the first disk. I didn't have an expansion box.
There was also a beige version released later (http://www.mainbyte.com/ti99/computers/ti99beige.html). I have both variants in my collection and they're both attractive machines, especially by the standards of the early 80s. The best part of the design was that it had a decent keyboard (unlike its predecessor the TI-99/4, which is much more rare - and for good reason). It also was the first home computer to have hardware graphics support in the form of TI's home-grown TMS9918 VDP chip which outlived the computer it was made for by many years. It was used in dozens of different 8-bit computer models from manufacturers around the world and spawned several improved variants, including the graphics chip in the Sega Master System console!
Unfortunately, the 99/4a was brutally hobbled by some bizarre design choices that nerfed its performance including forcing the 16-bit CPU onto an 8-bit system bus which halted the CPU to spread each 16-bit read/write into two sequential operations. This was made worse by the fact the CPU used a memory-to-memory architecture (even for most of its own registers) and all the memory was behind that '8-bit wall' - except for 256 bytes of 'fast scratchpad' (aka just 'normal memory' on other 8-bits). Plus the GROM was on PROM chips that were even slower than RAM, introducing more latency.
The whole GROM thing could have been a nice idea if it weren't for the 8-bit bus and slow PROM chip speed. Unfortunately, TI execs were more interested in finding a home for excess PROM chip inventory than making their home computer the best it could be. So, it was hard to extract high-performance game graphics from the system, requiring significant ingenuity from developers.
Ah, the TI-99/4A. My first computer. What a mercurial beast of thing that was. I desperately wanted a C64 for Xmas but my Dad was somehow convinced to buy one of these. It had about 4 games (including “Hunt the Wumpus”) and so instead of playing the myriad C64 games that all my mates were playing, I was forced to learn BASIC and try to write my own! 45 years later, I’m still programming.
The TI-99/4A was the first computer around here that was affordable (wanted the Apple II but that was priced way out of my league). I never got any cartridges, used the family TV as a monitor (so no evening computing) and for the first month or so had no tape deck (so programming on paper and retying at every session).
The included manual for programming BASIC was extremely well written, and it's sprites made it very easy to write your own games. I remember starting with a multi-player 'snakes' variant, a 'defender' clone, an unfinished chess game (ran out of memory), and top down microcar racing game.
I also remember longing for the UCSD/Pascal cartridge as all (library) books I read used Pascal in their coding examples, but it was too expensive.
I later switched to the ZX Spectrum for which I had HiSoft Pascal, and a burnt in bare black&white monitor sold for scrap from an old arcade game.
I had the same exact story. My dad chose the TI instead of the C64 and the lack of games forced me to learn programming.
same story here :-)
I had a C64 and learned programming on it. I guess it's a question of destiny at this point :)
I am so, so sorry.
My Dad was convinced by the marketing that its 16-bit CPU was the wave of the future, unlike those old-fashioned 8-bit CPUs.
It had a smidge more than 4 games. I broke several joysticks playing TI Invaders, and my favorite was Parsec, which was also one of the games which supported the optional speech synthesizer. I also had Tunnels of Doom, Car Wars, and Tombstone City, and remember playing Alpiner.
That's 6 games right there, ... or in other words, a drop in the bucket compared to my friend's Apple ][. Alas. And he could use a floppy disk, while I only had cassette tape or cartridges.
One of my game cartridges was Extended Basic. That probably got the most use.
an ordinary part that mapped into 8KB at location >6000->7FFF (the ROM) and another part, that normally held Graphics Programming Language bytecode, mapped into a completely separate “Graphics ROM” address space from >6000->F7FF (the “GROM”).
This reminds me of the NES, which has separate PRG and CHR address spaces, the latter being exclusively for the PPU to display its graphics.
It's not quite the same.
The TI-99/4 has 4k of scratchpad RAM accessible to the CPU. The CPU architecture had no general-purpose registers and had basically only 3 onboad registsrs: the status register, the program counter, and the workspace pointer. The WP pointer to a 32-byte range of RAM that worked like a set of 16 16-bit registers and a subroutine call was a matter of storing the current PC and WP and loading a new pair (a whole new set of registers). The 4k RAM was the equivalent of "the stack" on a modern x86 or Arm CPU.
Programs were stored as bytecode in memory addressable only by the graphics processors (note: not a GPU). Executing a program meant the CPU would write the GROM address to a register on the graphics chips followed by a request to fetch and would then read the byte from another register. It then had to interpret that byte through the ROM.
There were true separate address spaces, not different ranges in the same flat address space like on the NES. The CPU could not address the GROM directly.
I had the Minimem cart that had a line-by-line assembler that let me dump the ROMS. Many hours were spent hand-disassembling the OS for my TI-99/4A.
I love reading about classic machines like the TI 99/4A. Leaning on firmware to squeeze out more capability is such a clever way to extend hardware from that era.
I had to look up TI-99/4A. Are there still TV sets today you could connect this to?
The computer includes an RF modulator, so you need a TV that can tune NTSC channel 3 or 4.
Or, buy a DIN plug and make a cable that brings out the composite signal: https://99er.net/TIvideoadapter.htm
I haven't bought a new TV recently, but there seems to be no shortage of composite inputs on the sets I've been using.
New TVs often don’t have analogue inputs, so you’d need some sort of analogue to HDMI scaler, which range from aliexpress tat to expensive enthusiast stuff like Retrotinks, with various hobbyist stuff like OSSC in between as well. Some really old stuff is RF only, so you might need a tuner as well (or an old VCR) to go from RF to baseband composite.
Older LCDs will probably have RCA inputs though they might not work with all retro computing stuff as the signals are sometimes rather “non standard” (not sure about this particular case).
CRT TV should be fine, as they’re from the right era and a bit less fussy about signals.
Use a balun and just hook it up to where you usually connect the rabbit ears.
IIRC it just outputs video as a composite signal over RCA, so any TV with composite inputs (yellow/red/white) should be able to display it. Those are getting rarer I suppose but are generally still around, and most CRTs have them.
TFA lacks a picture of the TI-99/4a. I've got one and it's such a beautiful machine:
https://commons.wikimedia.org/wiki/Category:Texas_Instrument...
I convinced my grandfather to give me $30 to buy one at a garage sale while i was house sitting with him (he had emphysema and was 82 at the time) back in the early 90s. he lived as an adult through the depression, so it was a point of contention between him, me, and my mom. It only came with 1 cartridge iirc, and a brochure showing all the accoutrements you could add to it, speech module, joystick, and i forget what else.
turning it on and getting a BASIC prompt was real cool. never could save anything, though. I traded it in 1999 or so for an Apple IIc with monitor, with which i could save data.
coincidentally, i just mentioned owning a ti-99/4a to a friend yesterday, we were comparing notes about the first computers we actually owned, and that was it, for me. We had an atari (the wood paneled console one, carts, with keyboard built in, BASIC interpreter on ROM) in '87ish i guess, but i only had it for a couple of weeks before i accidentally blew it up with a cable trying to save something to a tape recorder. the tape recorder had a cable in the back that had a 1/8" TS plug, which apparently was a radio shack "universal power supply" and i guess i put 9VDC into the speaker port.
To save you either needed a cassette recorder, plugged into the machine with a special cable, then "SAVE CS1" and follow the instructions. (Start recording, the TI plays sound to the output port, which gets stored on tape. Use "LOAD CS1" to load from cassette, after rewinding to the start of the program.)
Or you needed an expansion box, with a floppy drive, in which case you could do "SAVE DSK1,PROGNAME" to save to "PROGNAME" on the first disk. I didn't have an expansion box.
Neither would have come with the base computer.
The command to load a program in TI BASIC was actually "OLD <DEVICE>". Probably because they already had "NEW".
https://www.ninerpedia.org/wiki/TI-99/4A_system_usage#Loadin...
There was also a beige version released later (http://www.mainbyte.com/ti99/computers/ti99beige.html). I have both variants in my collection and they're both attractive machines, especially by the standards of the early 80s. The best part of the design was that it had a decent keyboard (unlike its predecessor the TI-99/4, which is much more rare - and for good reason). It also was the first home computer to have hardware graphics support in the form of TI's home-grown TMS9918 VDP chip which outlived the computer it was made for by many years. It was used in dozens of different 8-bit computer models from manufacturers around the world and spawned several improved variants, including the graphics chip in the Sega Master System console!
Unfortunately, the 99/4a was brutally hobbled by some bizarre design choices that nerfed its performance including forcing the 16-bit CPU onto an 8-bit system bus which halted the CPU to spread each 16-bit read/write into two sequential operations. This was made worse by the fact the CPU used a memory-to-memory architecture (even for most of its own registers) and all the memory was behind that '8-bit wall' - except for 256 bytes of 'fast scratchpad' (aka just 'normal memory' on other 8-bits). Plus the GROM was on PROM chips that were even slower than RAM, introducing more latency.
The whole GROM thing could have been a nice idea if it weren't for the 8-bit bus and slow PROM chip speed. Unfortunately, TI execs were more interested in finding a home for excess PROM chip inventory than making their home computer the best it could be. So, it was hard to extract high-performance game graphics from the system, requiring significant ingenuity from developers.
It was The original brushed metal computer.