HOLY COW. Thank you for this. I LOVE the Ti99/4a, its one of the first computers I ever used. I've got one up and running at home now currently and can't wait to try this.
Btw, there is a lovely third party replacement for the TI99/4a video chip that lets you output VGA. It’s a major life improvement if you are seriously using it. I Dremeled my case but you can route the ribbon cable to avoid it if you’d prefer not to modify anything. Happy to send you a link if you don’t already know about it.
Thanks! I've got mine running in to a 9" Pelco PVM and it works well but yea, its tiny. I'd love to plumb in VGA and use a 15" flat panel. Would love a link.
Interesting project. IIRC, one of the biggest challenges with the TI-99/4A was its TMS9900 processor. It was a 16-bit CPU, but had a really awkward memory architecture that made it difficult to write efficient code.
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.
The lack of dedicated registers meant a lot of memory access, which slowed things down considerably.
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.
@UsagiElectric on YouTube has a series of videos on building a homebrew around the TMS9900 processor. Would be cool if a unix-like OS could be used on something like that, though sounds like this project is specifically targeting the TI-99/4A system.
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.
I had one in grade school. Taught me the value of backups early in life. Spent all night typing in a game from a magazine. Started it without saving to tape first. It was so loud! Panicked and restarted the machine. Sadness ensued.
Replaced it with a C128-D. Didn’t get my first intel until I bought a 386 after graduating high school. Good times.
Same here - parents bought one for me in 1982, IIRC. By 1984 I had moved to Atari XL, but I'll always have a soft spot for the TI-99/4A, Extended Basic cartridge, speech synthesizer, cassette drive, etc.
My sister and I used to co-type programs from "Compute!". The times were so much simpler then..
I have a bunch of TI-99 hardware in storage, have been thinking to donate it to a computer museum potentially. I had one in my hand when I was 5 thanks to my grandpa (it made me what I am today!).
TI-99/4A was my first computer as well. I still have two of them, and they still work as well as they did in the '80s. I graduated to an Apple ][GS which I still have as well, although it needs some TLC before attempting to boot it so as not to let out the magic smoke.
Same, though I bought one off Facebook marketplace recently- minus the expansion box. Lots of memories learning programming and the explosively better 'Extended Basic' vs the built in version.
My parents bought one for the house when I was in elementary school. I still remember the sound of the Speech Synthesizer, discovering 20 GOTO 10, and playing Hunt the Wumpus.
What features does one specifically mean by "UNIX-like"? Unified filesystem with a single root? A CLI shell with the classic abbreviated comands? Preemptive multitasking? Multiuser-oriented permissions?
I'm still happy about FUZIX on the RP2040 (last discussed here two month ago https://news.ycombinator.com/item?id=46271115 ). A capable SoC that costs around $1.
Only via (USB) serial so far, but that works for me.
It's cool because the registers are all in RAM, with a "workspace pointer" on the CPU pointing at where they are. This is slow, but a context switch is just changing that pointer.
I learned to program on this exact hardware in the early 80s as a small child. It uses BASIC. It's hard drive was modem tones recorded to an analog audio tape. Its monitor was an analog TV. There was no mouse. The keyboard was built into the computer itself.
> LNG is an operationg system primarly for the good old Commodore64 home-computer. There also is a native version for the successor Commodore128. Ports to other 6502/6510 driven 8Bit Computers are possible but not yet started. LUnix started in 1993 and reached the internet in 1994.
I'm not sure how practical it actually is, but I did play with it in an emulator and it's pretty impressive for what it is. I mean, the C64 really should not be capable of preemptive multitasking, but they somehow pulled it off.
It's extremely slow, which isn't surprising, but I still think it's pretty neat.
A USB video capture device or a converter box. There are devices sold specifically to interface these old machines with modern displays. One of the more famous ones is the RetroTINK.
I wish there were some cheap FPGA version of the 3rd party implementation of the planned successor, the TI-99/8.
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.
HOLY COW. Thank you for this. I LOVE the Ti99/4a, its one of the first computers I ever used. I've got one up and running at home now currently and can't wait to try this.
Btw, there is a lovely third party replacement for the TI99/4a video chip that lets you output VGA. It’s a major life improvement if you are seriously using it. I Dremeled my case but you can route the ribbon cable to avoid it if you’d prefer not to modify anything. Happy to send you a link if you don’t already know about it.
Thanks! I've got mine running in to a 9" Pelco PVM and it works well but yea, its tiny. I'd love to plumb in VGA and use a 15" flat panel. Would love a link.
1 reply →
It's the first computer I ever programmed, I was twelve years old then. <3
Interesting project. IIRC, one of the biggest challenges with the TI-99/4A was its TMS9900 processor. It was a 16-bit CPU, but had a really awkward memory architecture that made it difficult to write efficient code.
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.
The lack of dedicated registers meant a lot of memory access, which slowed things down considerably.
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.
Was that part of some kind of cost optimization? Why would anyone design such an obscurity?
3 replies →
@UsagiElectric on YouTube has a series of videos on building a homebrew around the TMS9900 processor. Would be cool if a unix-like OS could be used on something like that, though sounds like this project is specifically targeting the TI-99/4A system.
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.
I had one in grade school. Taught me the value of backups early in life. Spent all night typing in a game from a magazine. Started it without saving to tape first. It was so loud! Panicked and restarted the machine. Sadness ensued.
Replaced it with a C128-D. Didn’t get my first intel until I bought a 386 after graduating high school. Good times.
I feel this
Same here - parents bought one for me in 1982, IIRC. By 1984 I had moved to Atari XL, but I'll always have a soft spot for the TI-99/4A, Extended Basic cartridge, speech synthesizer, cassette drive, etc.
My sister and I used to co-type programs from "Compute!". The times were so much simpler then..
The TI99/4A was my first computer when I was 7 or 8. Unfortunately, no cassette drive. As soon as I shut it off, my basic program was gone!
1 reply →
I have a bunch of TI-99 hardware in storage, have been thinking to donate it to a computer museum potentially. I had one in my hand when I was 5 thanks to my grandpa (it made me what I am today!).
Anyone up for a rousing game of Pole Position?
TI-99/4A was my first computer as well. I still have two of them, and they still work as well as they did in the '80s. I graduated to an Apple ][GS which I still have as well, although it needs some TLC before attempting to boot it so as not to let out the magic smoke.
Same, though I bought one off Facebook marketplace recently- minus the expansion box. Lots of memories learning programming and the explosively better 'Extended Basic' vs the built in version.
My parents bought one for the house when I was in elementary school. I still remember the sound of the Speech Synthesizer, discovering 20 GOTO 10, and playing Hunt the Wumpus.
Can you drop this yt channel name?
you only get 3 guesses
What features does one specifically mean by "UNIX-like"? Unified filesystem with a single root? A CLI shell with the classic abbreviated comands? Preemptive multitasking? Multiuser-oriented permissions?
I'm still happy about FUZIX on the RP2040 (last discussed here two month ago https://news.ycombinator.com/item?id=46271115 ). A capable SoC that costs around $1. Only via (USB) serial so far, but that works for me.
Wow. The TI-99 is such a perfect fit for this too given the chip was designed for multi-user computing in a way other home computer chips weren’t.
All due to TI’s desire to use the same chip standards across all their machines big and small, IIRC.
While the CPU is a better fit than the 8 bit contemporaries, the 16kb of working memory is going to be a struggle.
It's cool because the registers are all in RAM, with a "workspace pointer" on the CPU pointing at where they are. This is slow, but a context switch is just changing that pointer.
11 replies →
Yeah it really was an interesting choice on their part. Makes sense as a move for TI. Not the target market.
For some reason I was thinking it was that $99 dollar Sinclare from the 80s which had the most unusable keyboard on earth.
The TI's keyboard wasn't great either, but it was a lot better than the keyboard on its predecessor, the TI-99/4 (no 'A').
The joy of computing still lives in the age of AI...
I learned to program on this exact hardware in the early 80s as a small child. It uses BASIC. It's hard drive was modem tones recorded to an analog audio tape. Its monitor was an analog TV. There was no mouse. The keyboard was built into the computer itself.
Interesting. This sort of reminds me of Lunix [1].
[1] https://lng.sourceforge.net/
> LNG is an operationg system primarly for the good old Commodore64 home-computer. There also is a native version for the successor Commodore128. Ports to other 6502/6510 driven 8Bit Computers are possible but not yet started. LUnix started in 1993 and reached the internet in 1994.
That is old-school cool.
I'm not sure how practical it actually is, but I did play with it in an emulator and it's pretty impressive for what it is. I mean, the C64 really should not be capable of preemptive multitasking, but they somehow pulled it off.
It's extremely slow, which isn't surprising, but I still think it's pretty neat.
made me remember knightOS
https://github.com/KnightOS/KnightOS
So assuming one wanted to buy a used one of these (I had timex sinclairs around this time) how would one display the composite video nowdays?
You can still buy portable DVD players with a laptop-sized screen, with composite in.
Other than that, you can buy relatively inexpensive converter boxes that take composite video and analog audio, and output HDMI.
A USB video capture device or a converter box. There are devices sold specifically to interface these old machines with modern displays. One of the more famous ones is the RetroTINK.
Yep, I have an HDMI converter box that works great I got off eBay.
I'm using a Pelco 9" PVM that had a former life as a security camera monitor. Suprisingly good video for composite, but alas its not very large.
Does it run PARSEC? Nice shot captain!
Imagine a Beowulf cluster of these.
WoW!
This is the main updated comment with the user guide and download
https://forums.atariage.com/topic/380883-unix99-a-unix-like-...
Thanks. I wasn't looking forward to browsing all those pages in the hopes of finding the source. Did they never put it up on GitHub?