[HN Gopher] TI-99/4A: Leaning More on the Firmware
       ___________________________________________________________________
        
       TI-99/4A: Leaning More on the Firmware
        
       Author : ibobev
       Score  : 69 points
       Date   : 2026-01-18 23:19 UTC (4 days ago)
        
 (HTM) web link (bumbershootsoft.wordpress.com)
 (TXT) w3m dump (bumbershootsoft.wordpress.com)
        
       | zombot wrote:
       | I had to look up TI-99/4A. Are there still TV sets today you
       | could connect this to?
        
         | diputsmonro wrote:
         | 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.
        
         | fredoralive wrote:
         | 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.
        
         | myself248 wrote:
         | 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.
        
         | bregma wrote:
         | Use a balun and just hook it up to where you usually connect
         | the rabbit ears.
        
         | NoMoreNicksLeft wrote:
         | If you had the expansion bays, some guy released a limited run
         | of vga (cga?) graphics boards for it a long time ago.
        
         | timbit42 wrote:
         | You could get a RetroTink to convert it to HDMI.
        
         | badc0ffee wrote:
         | 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.
        
       | TacticalCoder wrote:
       | 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...
        
         | genewitch wrote:
         | 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.
        
           | eesmith wrote:
           | 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.
        
             | endgame wrote:
             | 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#Loadi
             | n...
        
               | eesmith wrote:
               | My 40 year old memories are indeed faulty. Thanks for the
               | correction!
               | 
               | FWIW, I probably confused it with Commodore Basic, since
               | part of me wanted to put a ",1" at the end of the load
               | command.
        
               | timbit42 wrote:
               | The reason it had the OLD command is because the original
               | version of BASIC, Dartmouth BASIC, had the OLD command.
               | 
               | Microsoft BASICS didn't have it.
        
             | 83457 wrote:
             | I believe it was also the Mini Memory cart where you could
             | save programs, backed by a replaceable battery inside.
        
         | mrandish wrote:
         | 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.
        
         | genericacct wrote:
         | It was The original brushed metal computer.
        
       | userbinator wrote:
       | _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.
        
         | bregma wrote:
         | 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.
        
       | shawn10067 wrote:
       | 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.
        
       | matthewsinclair wrote:
       | 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.
        
         | onurcel wrote:
         | I had a C64 and learned programming on it. I guess it's a
         | question of destiny at this point :)
        
         | eesmith wrote:
         | 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.
        
           | roelschroeven wrote:
           | I distinctly remember my dad too choosing for the TI-99/4A
           | over the competition because of the 16-bit CPU. Little did
           | he, let alone the little boy that I was at the time, know of
           | the limitations of its weird design.
        
           | NoMoreNicksLeft wrote:
           | >My Dad was convinced by the marketing that its 16-bit CPU
           | was the wave of the future,
           | 
           | I think my mom was convinced because of bargain bin prices
           | after it was more or less dead as a platform. But I'm not
           | sure, she's not around to ask anymore... I've read though
           | that after TI gave up on it, some department stores were
           | dumping them for well under $100, and sometimes closer to
           | $50.
           | 
           | I think I only once, ever, got it to load a saved program
           | from cassette. I don't know if I was just a moron as a kid,
           | or if they were actually that horrible for storage.
        
             | pm215 wrote:
             | Tape save and load seemed pretty reasonable on our system.
             | It does depend rather on the tape deck you're using and
             | also on getting the volume and tone settings right, though.
             | We had the official TI tape deck for it.
        
         | qmr wrote:
         | I am so, so sorry.
        
         | PeterStuer wrote:
         | 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.
        
           | eesmith wrote:
           | > used the family TV as a monitor (so no evening computing)
           | 
           | I was allowed to program during ad breaks, typing in code I
           | wrote out while the family was watching a show. :)
           | 
           | I too remember the manual as being very well written. As I
           | recall, it had tables on the back with frequencies for
           | different notes, and foreground/background colors which went
           | well (and not well) together.
        
             | butterisgood wrote:
             | I still see "INCORRECT STATEMENT" in my dreams.
        
           | Damogran6 wrote:
           | Wow...I learned UCSD/Pascal on the Amiga in High School, that
           | takes me back.
           | 
           | Edit: Hmmmm, might have been the Apple II. Not seeing the
           | Amiga in the Wiki...We started on Apples, then migrated to
           | Amigas Junior Year
        
         | emadb wrote:
         | 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.
        
           | holri wrote:
           | same story here :-)
        
         | kwanbix wrote:
         | 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.
        
           | vikingerik wrote:
           | Parsec still rocks hard. I got good enough to roll over the
           | score on it: http://dos486.com/misc/parsec.jpg
        
             | matthewsinclair wrote:
             | Parsec! And what about "Tunnels of Doom [0]" !? I spent so
             | much time on that thing.
             | 
             | [0]: https://en.wikipedia.org/wiki/Tunnels_of_Doom
        
         | butterisgood wrote:
         | Uh... brother?!
         | 
         | 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.
        
           | matthewsinclair wrote:
           | Yep. Totally. And there was this dreadful wait for a load
           | that could (randomly) fail and you'd need to go thru the
           | whole process again!
        
         | incanus77 wrote:
         | Same!
         | 
         | 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.
        
           | mrandish wrote:
           | > 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.
           | 
           | Growing up I had a retired uncle who'd collected and restored
           | a few classic cars of the 1950s to cherry condition. He kept
           | them in a separate four car garage out back where he'd work
           | on them in his spare time and then take them out for a drive
           | on Sundays. Being a nerd kid, I couldn't really relate. Those
           | old cars couldn't go very fast, weren't very comfortable and
           | didn't have important features like an 8-track tape player
           | (oh, and seat belts). Even the radio was only AM! I was more
           | interested in the latest Amiga computer, so my Uncle's deep
           | affection for these old old cars was just a quirky
           | eccentricity.
           | 
           | Starting in the late 90s I gradually began acquiring classic
           | 8 and 16-bit home computers of the 1980s when I'd hear of
           | someone throwing one away. To me, that now-useless trash was
           | still a treasure! At first I just "saved" the ones I'd
           | actually owned but once I had those, I expanding to the
           | models my teenage self had lusted over in Byte Magazine but
           | could never dream of affording. eBay and thrift stores circa
           | 2000 were overflowing with them for $5 or $10.
           | 
           | Once I had all those, I just kept going and picked up every
           | model I'd ever even _heard_ of and then a bunch of foreign
           | ones from Europe, Japan, South America, Eastern Europe and
           | Russia I 'd never heard of. And I never paid more than $25
           | for any of them. They were just so interesting, I couldn't
           | resist. Each platform was a unique evolutionary branch with
           | its own opinionated design choices, operating system and
           | vision of what 'personal' computing might be.
           | 
           | So... _now_ I can finally understand my Uncle 's fascination
           | with his weird, old, not-very-good cars. :-)
        
         | pm215 wrote:
         | 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.)
        
       | msarrel wrote:
       | The strangest thing I remember about my ti-99 was that I used to
       | run software off of cassette tape. It was a good way to get
       | games.
        
       | Dwedit wrote:
       | The MSX was basically the TI-99/4A done properly. Just use a Z80
       | instead of whatever mess they were using.
        
       | cbm-vic-20 wrote:
       | 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.
       | 
       | https://www.youtube.com/watch?v=ADigs7hlLTM&list=PLnw98JPyOb...
        
       | muziq wrote:
       | 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..
        
       ___________________________________________________________________
       (page generated 2026-01-23 23:01 UTC)