I recently had to help a friend (not in the same city) look for a way to use the composite video output from an Apple //c. New TVs and monitors don't support that input anymore, and the thrift stores were empty of old ones. What ended up working was a portable DVD player (!) as you can still buy these new, and they still have composite in for some reason.
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.
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.
This was my first computer too! I loved it - that’s where I learned LOGO. In my home country, games (and basically everything) were incredibly expensive, but my father still bought it from a friend who was selling it to upgrade to a C64.
I remember playing Parsec, and Space Invaders. I am sure I had 2 or 4 more games. But don't remember which ones.
Just kidding... That sounds like my journey as well. I had friends in the neighborhood who also had the TI-99/4a. We all had Cub Scouts and Boy's Life magazine listings to key in.
Did you have the data cassette recorder? We used to try to "load programs" from Michael Jackson's Thriller album.
My earliest memory of anything computer programming is from the early 80s, when a snow day had the two neighbor kids, whose parents were teachers in another district, over to our house with their TI-99/4a. The oldest showed me the entry and running of the sample program Mr. Bojangles. I was enthralled.
A few years later I had one of my own, though at that point it was very long in the tooth. But I still learned its limits, playing (yes) Hunt the Wumpus, Tombstone City, and others, programming, and doing things like composing the Jeopardy! theme song in BASIC.
I have one of these again, with the stuff I had as a kid, and more (like the voice synth) and it's so limited even for the era, but still iconic.
I'm pretty sure my Dad got ours because they were being sold off very cheaply after TI pulled out of the home computer market. Like you I ended up learning BASIC on it because as an abandoned system all we had was a few cartridge games, some user-group programs, and typed in BASIC. It worked out pretty well really. (Later we got an Amstrad CPC 6128, which had a much bigger commercial games market.)
But 9900 wasn't a mess. It was a very nice minicomputer-grade CPU. 99/4A problem wasn't the CPU, it was that it was designed as a game console and tried to pass up as a computer.
If you're into this, you may be into a series on the Usagi Electric YouTube channel where he's building a homebrew computer based on the TMS9900 processor from the TI-99/4A.
Commodore fanboy at heart, but maximum love to the weird uncle of home computing.. I was so jealous of Parsec on that, speech and all, in 1982, when our local nerd group used to go and stare at computers after school..
23 comments
[ 3.3 ms ] story [ 49.2 ms ] threadOr, 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.
https://commons.wikimedia.org/wiki/Category:Texas_Instrument...
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 remember playing Parsec, and Space Invaders. I am sure I had 2 or 4 more games. But don't remember which ones.
Just kidding... That sounds like my journey as well. I had friends in the neighborhood who also had the TI-99/4a. We all had Cub Scouts and Boy's Life magazine listings to key in.
Did you have the data cassette recorder? We used to try to "load programs" from Michael Jackson's Thriller album.
My earliest memory of anything computer programming is from the early 80s, when a snow day had the two neighbor kids, whose parents were teachers in another district, over to our house with their TI-99/4a. The oldest showed me the entry and running of the sample program Mr. Bojangles. I was enthralled.
A few years later I had one of my own, though at that point it was very long in the tooth. But I still learned its limits, playing (yes) Hunt the Wumpus, Tombstone City, and others, programming, and doing things like composing the Jeopardy! theme song in BASIC.
I have one of these again, with the stuff I had as a kid, and more (like the voice synth) and it's so limited even for the era, but still iconic.
https://www.youtube.com/watch?v=ADigs7hlLTM&list=PLnw98JPyOb...