15 comments

  • SoftTalker12 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&#x2F;4A system.<p>The TI-99&#x2F;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.
    • ectospheno12 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.<p>Replaced it with a C128-D. Didn’t get my first intel until I bought a 386 after graduating high school. Good times.
    • sixdimensional5 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!).<p>Anyone up for a rousing game of Pole Position?
    • hn_acc112 hours ago
      Same here - parents bought one for me in 1982, IIRC. By 1984 I had moved to Atari XL, but I&#x27;ll always have a soft spot for the TI-99&#x2F;4A, Extended Basic cartridge, speech synthesizer, cassette drive, etc.<p>My sister and I used to co-type programs from &quot;Compute!&quot;. The times were so much simpler then..
      • icedchai12 hours ago
        The TI99&#x2F;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!
        • raddan12 hours ago
          The TI99&#x2F;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!
    • mikestaas11 hours ago
      TI-99&#x2F;4A was my first computer as well. I still have two of them, and they still work as well as they did in the &#x27;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.
    • mrkstu10 hours ago
      Same, though I bought one off Facebook marketplace recently- minus the expansion box. Lots of memories learning programming and the explosively better &#x27;Extended Basic&#x27; vs the built in version.
    • davepeck11 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.
    • sunanda3512 hours ago
      Can you drop this yt channel name?
  • haunter13 hours ago
    This is the main updated comment with the user guide and download<p><a href="https:&#x2F;&#x2F;forums.atariage.com&#x2F;topic&#x2F;380883-unix99-a-unix-like-os-for-the-ti-994a&#x2F;page&#x2F;5&#x2F;#findComment-5713334" rel="nofollow">https:&#x2F;&#x2F;forums.atariage.com&#x2F;topic&#x2F;380883-unix99-a-unix-like-...</a>
    • bink12 hours ago
      Thanks. I wasn&#x27;t looking forward to browsing all those pages in the hopes of finding the source. Did they never put it up on GitHub?
  • nonamenoslogan12 hours ago
    HOLY COW. Thank you for this. I LOVE the Ti99&#x2F;4a, its one of the first computers I ever used. I&#x27;ve got one up and running at home now currently and can&#x27;t wait to try this.
    • raddan12 hours ago
      Btw, there is a lovely third party replacement for the TI99&#x2F;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.
      • nonamenoslogan11 hours ago
        Thanks! I&#x27;ve got mine running in to a 9&quot; Pelco PVM and it works well but yea, its tiny. I&#x27;d love to plumb in VGA and use a 15&quot; flat panel. Would love a link.
        • raddan7 hours ago
          <a href="https:&#x2F;&#x2F;www.tindie.com&#x2F;products&#x2F;visrealm&#x2F;pico9918&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.tindie.com&#x2F;products&#x2F;visrealm&#x2F;pico9918&#x2F;</a><p>There is very little documentation with this device but fortunately several YouTubers have made long videos showing every detail of the replacement. Enjoy!
    • raphar12 hours ago
      It&#x27;s the first computer I ever programmed, I was twelve years old then. &lt;3
  • guptadeepak9 hours ago
    Interesting project. IIRC, one of the biggest challenges with the TI-99&#x2F;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.<p>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.<p>I&#x27;m curious to see how this UNIX-like OS addresses those limitations. It&#x27;s a pretty neat accomplishment if it can provide a usable environment on that hardware.
    • einr2 hours ago
      <i>The lack of dedicated registers meant a lot of memory access, which slowed things down considerably.</i><p>It gets worse because the TI99 only has <i>256 bytes</i> 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 <i>through the video display processor.</i> 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.
  • MBCook13 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.<p>All due to TI’s desire to use the same chip standards across all their machines big and small, IIRC.
    • jandrese13 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.
      • SoftTalker12 hours ago
        It&#x27;s cool because the registers are all in RAM, with a &quot;workspace pointer&quot; on the CPU pointing at where they are. This is slow, but a context switch is just changing that pointer.
        • brucehoult10 hours ago
          It&#x27;s not all that slow as a concept at that time when RAM speeds were as fast as CPU speeds. I think it&#x27;s just that TI&#x27;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.<p>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&#x2F;sub&#x2F;cmp&#x2F;and&#x2F;or&#x2F;xor a memory location to the accumulator. Also, pointers can only be done using a pair of adjacent Zero Page locations.<p>As long as you were using data in those in-RAM registers the TI-99&#x2F;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.<p>It was just the cheap-ass main memory (and I&#x2F;O) implementation that crippled it.
        • PaulHoule11 hours ago
          Well, it has 256 <i>bytes</i> of RAM which is basically a really big register file, and everything else goes in the 16kb of &quot;video RAM&quot; which you can read and write by poking at I&#x2F;O registers. So it is not easy to program.<p>It&#x27;s arguably the only 8-bit computer which has a <i>really</i> 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.<p>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<p><a href="https:&#x2F;&#x2F;www.c64-wiki.com&#x2F;wiki&#x2F;Commander_X16" rel="nofollow">https:&#x2F;&#x2F;www.c64-wiki.com&#x2F;wiki&#x2F;Commander_X16</a><p>have a full-size memory bank <i>and</i> 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.
          • HappMacDonald10 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.
            • PaulHoule9 hours ago
              16-bit registers, operations, etc. yeah. A bigger machine of the TM9 series would be more like a PDP-11.
              • badc0ffee8 hours ago
                In fact it was a miniaturized TI-990 minicomputer: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;TI-990" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;TI-990</a>
        • jandrese12 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&#x27;re running the OS out of a ROM cartridge.
          • jandrese12 hours ago
            The PDP machines that Unix was developed on had MMUs, which they needed because the 16 bit processors couldn&#x27;t address the multi-megabyte address space the hardware supported.<p>I&#x27;m pretty sure the Centurion doesn&#x27;t run Unix.
            • PaulHoule11 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.
          • MBCook12 hours ago
            Did the minicomputers of the time have MMUs?<p>I thought UsagiElectric showed a case where his Centurion didn’t, but I may be misremembering.
            • McGlockenshire11 hours ago
              In fact the 9900 itself was used in an entire line of minicomputers that included a hardware memory map.<p>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.<p>(edit: the 990 was first built in the early 70s, memory mappers are quite old conceptually)<p>(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.)<p>Unfortunately I don&#x27;t think that there is a reasonable way to perform real hardware-level memory protection with that chip alone. I&#x27;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.<p>Essay forthcoming, and probably an OS. Maybe a year...
              • jecel10 hours ago
                One chip that could be used as a memory mapper for the 9900 (but wasn&#x27;t in the TI99&#x2F;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&#x27;t a problem when used in a 8080 system).
      • MBCook12 hours ago
        Yeah it really was an interesting choice on their part. Makes sense as a move for TI. Not the target market.
  • userbinator4 hours ago
    What features does one specifically mean by &quot;UNIX-like&quot;? Unified filesystem with a single root? A CLI shell with the classic abbreviated comands? Preemptive multitasking? Multiuser-oriented permissions?
  • arnonejoe11 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.
    • shiroiuma9 hours ago
      The TI&#x27;s keyboard wasn&#x27;t great either, but it was a lot better than the keyboard on its predecessor, the TI-99&#x2F;4 (no &#x27;A&#x27;).
  • glimshe13 hours ago
    The joy of computing still lives in the age of AI...
  • hunterpayne12 hours ago
    I learned to program on this exact hardware in the early 80s as a small child. It uses BASIC. It&#x27;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.
  • tombert9 hours ago
    Interesting. This sort of reminds me of Lunix [1].<p>[1] <a href="https:&#x2F;&#x2F;lng.sourceforge.net&#x2F;" rel="nofollow">https:&#x2F;&#x2F;lng.sourceforge.net&#x2F;</a>
    • lioeters8 hours ago
      &gt; 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&#x2F;6510 driven 8Bit Computers are possible but not yet started. LUnix started in 1993 and reached the internet in 1994.<p>That is old-school cool.
      • tombert8 hours ago
        I&#x27;m not sure how practical it actually is, but I did play with it in an emulator and it&#x27;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.<p>It&#x27;s extremely slow, which isn&#x27;t surprising, but I still think it&#x27;s pretty neat.
  • UncleOxidant12 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?
    • badc0ffee8 hours ago
      You can still buy portable DVD players with a laptop-sized screen, with composite in.<p>Other than that, you can buy relatively inexpensive converter boxes that take composite video and analog audio, and output HDMI.
    • jandrese12 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.
      • mrkstu10 hours ago
        Yep, I have an HDMI converter box that works great I got off eBay.
    • nonamenoslogan11 hours ago
      I&#x27;m using a Pelco 9&quot; PVM that had a former life as a security camera monitor. Suprisingly good video for composite, but alas its not very large.
  • b00ty4breakfast13 hours ago
    made me remember knightOS<p><a href="https:&#x2F;&#x2F;github.com&#x2F;KnightOS&#x2F;KnightOS" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;KnightOS&#x2F;KnightOS</a>
  • buildsjets12 hours ago
    Does it run PARSEC? Nice shot captain!
  • bananamogul12 hours ago
    Imagine a Beowulf cluster of these.
  • Zardoz8413 hours ago
    WoW!