• SoftTalker 10 hours 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.

    • sixdimensional 3 hours ago

      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?

      • ectospheno 10 hours ago

        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.

        • alienbaby 7 hours ago

          I feel this

        • hn_acc1 10 hours ago

          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..

          • icedchai 10 hours ago

            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!

            • raddan 10 hours ago

              The 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!

          • mikestaas 9 hours ago

            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.

            • mrkstu 8 hours ago

              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.

              • davepeck 9 hours ago

                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.

                • sunanda35 10 hours ago

                  Can you drop this yt channel name?

                  • Brian_K_White 10 hours ago

                    you only get 3 guesses

                • haunter 11 hours ago

                  This is the main updated comment with the user guide and download

                  https://forums.atariage.com/topic/380883-unix99-a-unix-like-...

                  • bink 10 hours ago

                    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?

                  • guptadeepak 7 hours ago

                    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.

                    • einr 15 minutes ago

                      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.

                    • nonamenoslogan 10 hours ago

                      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.

                      • raddan 10 hours ago

                        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.

                        • nonamenoslogan 9 hours ago

                          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.

                      • raphar 10 hours ago

                        It's the first computer I ever programmed, I was twelve years old then. <3

                      • MBCook 11 hours ago

                        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.

                        • jandrese 11 hours ago

                          While the CPU is a better fit than the 8 bit contemporaries, the 16kb of working memory is going to be a struggle.

                          • SoftTalker 10 hours ago

                            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.

                            • brucehoult 8 hours ago

                              It's not all that slow as a concept at that time when RAM speeds were as fast as CPU speeds. I think it's just that TI's implementation of the concept in that particular cost-optimised home computer was pretty bad -- the actual registers were in 256 bytes of fast static RAM, but the rest of the system memory (both ROM and RAM) was accessed very inefficiently, not only 1 bytes at a time on a 16 bit machine, but also with something like 4 wait states for every byte.

                              The 6502 is not very different with a very small number of registers and Zero Page being used for most of what a modern machine would use registers for. For example (unlike the Z80) there is no register-to-register add or subtract or compare -- you can only add/sub/cmp/and/or/xor a memory location to the accumulator. Also, pointers can only be done using a pair of adjacent Zero Page locations.

                              As long as you were using data in those in-RAM registers the TI-99/4 was around four times faster than a 1 MHz 6502 for 16 bit arithmetic -- and with a single 2-byte instruction doing what needed 7 instructions and 13 bytes of code on 6502 -- and it was also twice as fast on 8 bit arithmetic.

                              It was just the cheap-ass main memory (and I/O) implementation that crippled it.

                              • PaulHoule 9 hours ago

                                Well, it has 256 bytes of RAM which is basically a really big register file, and everything else goes in the 16kb of "video RAM" which you can read and write by poking at I/O registers. So it is not easy to program.

                                It's arguably the only 8-bit computer which has a really different architecture from the others. You could otherwise imagine pulling the SID chip off a C-64 and putting it on a TRS-80 Color Computer etc.

                                Sharing the main RAM with video was a weak point in computers of that time period because the video system stole many of the memory access cycles. Some recent retrocomputers that revisit that period like

                                https://www.c64-wiki.com/wiki/Commander_X16

                                have a full-size memory bank and a video RAM memory bank which is accessed through a port which can be pretty efficient because you can auto-incremement the address register and just write 1 byte to the port to write 1 byte to video RAM and repeat.

                                • HappMacDonald 8 hours ago

                                  Well I mean it fits in with the 8-bit era machines as far as performance but that CPU was absolutely 16 bit.

                                  • PaulHoule 7 hours ago

                                    16-bit registers, operations, etc. yeah. A bigger machine of the TM9 series would be more like a PDP-11.

                              • jandrese 10 hours ago

                                Yep, 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.

                                • jandrese 10 hours ago

                                  The PDP machines that Unix was developed on had MMUs, which they needed because the 16 bit processors couldn't address the multi-megabyte address space the hardware supported.

                                  I'm pretty sure the Centurion doesn't run Unix.

                                  • PaulHoule 9 hours ago

                                    The PDP-10 had an MMU similar to a modern MMU with page tables and such, the PDP-11 had an 8-segment-of-8kb MMU like what the TRS-80 Color Computer 3 had except the PDP-11 had a real supervisor mode and if a user mode program tried to change the MMU configuration it would fault.

                                  • MBCook 10 hours ago

                                    Did the minicomputers of the time have MMUs?

                                    I thought UsagiElectric showed a case where his Centurion didn’t, but I may be misremembering.

                                    • McGlockenshire 9 hours ago

                                      In 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...

                                      • jecel 9 hours ago

                                        One chip that could be used as a memory mapper for the 9900 (but wasn't in the TI99/4A) was the 74LS670, which was used in the IBM 5150 PC to allow the 8237 DMA chip to access more than 64KB (a limit that wasn't a problem when used in a 8080 system).

                                • MBCook 10 hours ago

                                  Yeah it really was an interesting choice on their part. Makes sense as a move for TI. Not the target market.

                              • userbinator 2 hours ago

                                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?

                                • arnonejoe 9 hours ago

                                  For some reason I was thinking it was that $99 dollar Sinclare from the 80s which had the most unusable keyboard on earth.

                                  • shiroiuma 7 hours ago

                                    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').

                                  • glimshe 11 hours ago

                                    The joy of computing still lives in the age of AI...

                                    • hunterpayne 10 hours ago

                                      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.

                                      • tombert 7 hours ago

                                        Interesting. This sort of reminds me of Lunix [1].

                                        [1] https://lng.sourceforge.net/

                                        • lioeters 6 hours 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 6 hours ago

                                            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.

                                        • UncleOxidant 10 hours ago

                                          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?

                                          • badc0ffee 6 hours ago

                                            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.

                                            • jandrese 10 hours ago

                                              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.

                                              • mrkstu 8 hours ago

                                                Yep, I have an HDMI converter box that works great I got off eBay.

                                              • nonamenoslogan 9 hours ago

                                                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.

                                              • b00ty4breakfast 11 hours ago

                                                made me remember knightOS

                                                https://github.com/KnightOS/KnightOS

                                                • buildsjets 10 hours ago

                                                  Does it run PARSEC? Nice shot captain!

                                                  • bananamogul 11 hours ago

                                                    Imagine a Beowulf cluster of these.

                                                    • Zardoz84 11 hours ago

                                                      WoW!