9 ms·
UNIX99, a UNIX-like OS for the TI-99/4A (2025)
- glimshe 7mo agoThe joy of computing still lives in the age of AI...
- Zardoz84 7mo agoWoW!
- b00ty4breakfast 7mo agomade me remember knightOS https://github.com/KnightOS/KnightOS https://github.com/KnightOS/KnightOS
- haunter 7mo agoThis is the main updated comment with the user guide and download https://forums.atariage.com/topic/380883-unix99-a-unix-like-os-for-the-ti-994a/page/5/#findComment-5713334 https://forums.atariage.com/topic/380883-unix99-a-unix-like-...
- bink 7mo agoThanks. 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?
- MBCook 7mo agoWow. 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.
- jandrese 7mo agoWhile the CPU is a better fit than the 8 bit contemporaries, the 16kb of working memory is going to be a struggle.
- MBCook 7mo agoYeah it really was an interesting choice on their part. Makes sense as a move for TI. Not the target market.
- SoftTalker 7mo agoIt'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.
- jandrese 7mo agoYep, but it lacks a MMU so memory protection and paging are going to require a lot of work. I think the only reason this is feasible at all is they're running the OS out of a ROM cartridge.
- MBCook 7mo agoDid the minicomputers of the time have MMUs? I thought UsagiElectric showed a case where his Centurion didn’t, but I may be misremembering.
- McGlockenshire 7mo agoIn fact the 9900 itself was used in an entire line of minicomputers that included a hardware memory map. The 9900 is a single chip implementation of the CPU board in the TI 990. They even created a dedicated memory mapper chip to go along with the product line, though it is significantly different than the one in the minicomputer line. (edit: the 990 was first built in the early 70s, memory mappers are quite old conceptually) (edit 2: in fact the necessity of using a memory mapper is what killed the platform, and was one of the things that made the IBM PC team decline the 9900.) Unfortunately I don't think that there is a reasonable way to perform real hardware-level memory protection with that chip alone. I'm working on a project documenting the genesis of the 99000 chips, which include a privilege bit in the status register, from the minicomputer line. Essay forthcoming, and probably an OS. Maybe a year...
- bananamogul 7mo agoImagine a Beowulf cluster of these.
- SoftTalker 7mo ago@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.
- ectospheno 7mo agoI 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.
- alienbaby 7mo agoI feel this
- hn_acc1 7mo agoSame 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..
- icedchai 7mo agoThe 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!
- raddan 7mo agoThe TI99/4A was also my first computer. I was about 5, and I didn’t really seriously try writing programs until I was about 8. Fortunately, since my father bought this for work, we had a large collection of peripherals, including the floppy disk drive. Unfortunately I learned the hard way why my father stopped using it: peripheral expansion bus devices were exquisitely sensitive to static shocks. I remember reeling in horror after watching hours of work just disappear from the disk drive. I suppose this was probably a good lesson to learn at an early age!
- buildsjets 7mo agoDoes it run PARSEC? Nice shot captain!
- nonamenoslogan 7mo agoHOLY 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.
- raphar 7mo agoIt's the first computer I ever programmed, I was twelve years old then. <3
- raddan 7mo agoBtw, 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.
- nonamenoslogan 7mo agoThanks! 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.
- raddan 7mo agohttps://www.tindie.com/products/visrealm/pico9918/ https://www.tindie.com/products/visrealm/pico9918/ There is very little documentation with this device but fortunately several YouTubers have made long videos showing every detail of the replacement. Enjoy!
- nonamenoslogan 7mo agoThis is awesome! Thank you!
- UncleOxidant 7mo agoSo 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?
- jandrese 7mo agoA 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.
- mrkstu 7mo agoYep, I have an HDMI converter box that works great I got off eBay.
- nonamenoslogan 7mo agoI'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.
- badc0ffee 7mo agoYou 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.
- hunterpayne 7mo agoI 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.
- arnonejoe 7mo agoFor some reason I was thinking it was that $99 dollar Sinclare from the 80s which had the most unusable keyboard on earth.
- shiroiuma 7mo agoThe 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').
- guptadeepak 7mo agoInteresting 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.
- einr 7mo agoThe 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.
- blackhaz 7mo agoWas that part of some kind of cost optimization? Why would anyone design such an obscurity?
- einr 7mo agoThe whole thing seems like it was designed in a parallel universe, or at least it reeks of some kind of a sunk-cost-fallacy design-by-committee thing. Supposedly what happened is that the system was originally designed to have either an 8-bit CPU, or a 16-bit CPU with an 8-bit bus (cf. 8086/8088) like TI's own TMS9985, but at some point it was decided that they should instead cram their full 16-bit TMS9900 minicomputer CPU (!) into the thing. This decision basically tanked the whole architecture. It was too late/too expensive to redesign the 8-bit support chips to 16-bit counterparts so they had to make some really out there decisions like "talk to the graphics chip and give it an address to read/write every time you want to use memory" and "software is written not in machine code, but in GPL (Graphic Programming Language), which is then interpreted by the CPU and turned into actual TMS9900 machine code" Software on ROM cartridge for the system is stored in GPL and is fetched from ROM by the CPU (but wait! The ROMs are not in memory space like they would be on a sane computer; they are SERIAL ROMs read 16 bits at a time with memory mapped I/O) and interpreted to machine code. This is slow. When you write your own software in BASIC, however, this gets worse: now you're writing BASIC, which is being interpreted and turned into GPL, stored in video RAM, and then fetched back from video RAM and turned into machine code by the CPU. THIS IS EVEN SLOWER. Needless to say, the BASIC on the TI99 is dramatically slower than the already slow implementations on other contemporary micros. It DOES have a full 16-bit CPU which is theoretically much more powerful than a 6502 or Z80 but this wild-ass implementation of... well, everything, makes the system probably the least capable machine of the era.
- tombert 7mo agoInteresting. This sort of reminds me of Lunix [1]. [1] https://lng.sourceforge.net/ https://lng.sourceforge.net/
- lioeters 7mo ago> 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.
- tombert 7mo agoI'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.
- userbinator 7mo agoWhat 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?
- Brian_K_White 7mo agoThe link goes to a project update post in a forum thread. The first post introduces the project.
- Tepix 7mo agoI'm still happy about FUZIX on the RP2040 (last discussed here two month ago https://news.ycombinator.com/item?id=46271115 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.
- lproven 7mo agoI 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/ https://dressupgeekout.com/geneve/ http://www.mainbyte.com/ti99/geneve/geneve.html http://www.mainbyte.com/ti99/geneve/geneve.html Wikipedia has a decent article: https://en.wikipedia.org/wiki/Geneve_9640 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.
- FarmerPotato 7mo agoThat's not accurate. The 99/8 was its own distinct upgrade path. Geneve 9640 was totally different. Both are available in MESS.
- lproven 7mo ago> was its own distinct upgrade path "Would have been", surely? It never existed, did it? The Geneve shipped. MESS is one thing. I am interested in something the size of a RasPi I can connect to a screen. Think of something like this: https://github.com/DonSuperfo/Xberry-Pi https://github.com/DonSuperfo/Xberry-Pi
- FarmerPotato 7mo agoOh, 350 prototypes were built. Many were incomplete. The finished ones tended to go home with engineers--TI didn't exactly watch what went out the door. I owned a 99/8 (without Pascal GROMs), so for me it was definitely real! Extended BASIC II was onboard, and showed this: > SIZE 62235 BYTES FREE The manuals and most schematics are long known and archived at ftp.whtech.com. I have/had paper copies of many of them. Sadly, TI never archived any Home Computer work from Lubbock, TX. Those employees had been laid off or transferred just as TI got interested in preserving archives (starting in 1983. Described in Ed Millis book: TI, the Transistor and Me. The TI Records are at DeGolyer Library, SMU but contain very few Home Computer folders. Conspicuously missing are the papers of CB Wilson, which turned up at an estate sale and were fortunately scanned. Wilson's office in Dallas seems to have contributed a few things to the archives. That is typical: mostly executives and Fellows were canvassed for documents. Ed Millis revived obsolete floppy formats for the cause in 1983!
- butterisgood 7mo agoI wonder if this kind of architecture would be fun to build an L4 microkernel based system with. Context switching and message passing (synchronous anyway) are the same thing when you consider how rendezvous works. BLWP instructions seem like this was “meant to be”.
- snowhale 7mo ago[dead]