The PC OS That Would Have Blown Your Mind Back In 1984

As far as desktop microcomputers for mere mortals went in the first half of the 1980s, there was a sharp distinction between home computers such as the many 8-bit machines we regularly see here, and what you might call professional computers such as a CP/M word-processor or the earliest IBM PCs. These were conservative machines, boring even, with command line interfaces and mostly text-mode software.

When the middle of the decade saw the arrival of mass-market machines such as the Macintosh or the Amiga with their beautiful GUIs, a PC with DOS couldn’t yet compete. [Jggonz] then is over four decades late with the beautiful os8088, a fully-functional OS for 8088 IBM PCs and clones, with a very slick Mac-style GUI.

os8088 is a single-floppy OS that provides preemptive multitasking and fully loadable software alongside that GUI, unlike other similar projects we’ve seen it’s not an all-in-one compiled application that just looks like an OS. There’s a second floppy with a suite of software that would have been seriously impressive back in the day, with games, graphics, and demos. It’s a shame that this thing appeared in 2026 when there is little need of it.

You can try it for yourself either on real hardware, your own emulator, or even in an in-browser emulator. Sadly it’s not OS enough to fulfill the requirements for a Daily Drivers test drive, but it’s definitely fun to play with. Bonus, if you run it on a Book8088.

55 thoughts on “The PC OS That Would Have Blown Your Mind Back In 1984

  1. Is it possible to stop covering vide-coded OS please? It’s getting tired.

    The main purpose for playing/coding for retro machines is to learn to work/play with constraints and to learn old machines idiosyncrasies. A running app is merely a side effect/bonus.

    Vibe coding with retrocomputer defeats this purpose and is totally missing the point.

    The destination is not the goal, it’s the journey

    1. “Essentially all of the code, and these docs, were produced by coding agents (Claude Code and Codex)”

      How do we even know it actually works or does what it says, since the documentation is done by AI as well? Has anyone actually reviewed it, or are they (or Claude) just saying they did?

      1. I read a bit of the code, having done quite a bit of assembly for the 286 and always curious, I can tell you the comments are funny. Maybe there is a “vocabulary” somewhere to understand the concepts. They are kind of wordy on the wrong way. I saw just today a video by action retro where he plays with claude too and with some code it generated, also an os… kind of coincidence.

        1. The trouble with AI is that it’s prone to making “Potemkin Village” code and comments. It’s something that looks the part and acts the part, but only from a certain angle and seen from a distance, as it is reported inaccurately to audiences who don’t know better.

          Who checked it, or did they just read whatever Claude claims and reported it to us verbatim?

          Making articles about vibe coded projects carries the responsibility that the authors of the project didn’t bother to take.

          1. this really speaks to the limits of your understanding of how to leverage machine learning, transformer models are weighted averages, and thus if all you ever see is “potemkin villages” i’d wager you don’t know how to use them/only have tried free tiers that don’t actually have enough parameters to approximate with any level of accuracy.

            the way you leverage them is the same way you do with a team of developers, you write comprehensive test suites, maintain style guides, clear architectural documents, and have hard gates to verify fit for purpose code before acceptance.

            then if you detect repeated wrong behaviours, you analyze the causal chain and enhance the gates/documentation/refine the models.

            the harness is just as important as the weights and is ultimately what makes any model a viable developer

          2. if all you ever see is “potemkin villages” i’d wager you don’t know how to use them

            This is not about what I know or do, or how AI models could be used, but about verifying what the author of this project has actually done – or left undone.

          3. Also, “you don’t know how to use them/only have tried free tiers that don’t actually have enough parameters”, is a classic crank argument.

            “You say my research doesn’t replicate? You’re doing it wrong!”.

          4. the harness is just as important as the weights and is ultimately what makes any model a viable developer

            Ok. Still not you who coded or even understood it, so you can’t say you did it and neither can you take responsibility or even license it. A team of developers, can.

        1. Essentially everyone here is complaining that someone decided to do something that was interesting to them, but because they didn’t do it the right way everyone is up in arms over something that at the end of the day is for that persons enjoyment.

          1. @DanielF & @kgsws, they didn’t hide the fact that AI was used. Blanket assumptions that there is nothing that can be learned from it are false, and I am certain that they learned something from the process of creating it. AI not in anything close to a state where it can create substantial things without a significant level of guidance.

    2. seconded. for me, it is off-putting because it blurs the line between waking and sleep. this is a dream of an OS…it has neither user nor developer. i know in fact it is an ad revenue generator but i don’t hardly see that aspect, all i see is the wisp of nothing. a mirage.

      i think as a counter-proposal, instead of distributing slop or glossing slop or advertising slop or whatever it is we do with slop today. we should share the prompts. imagine if this project was just a couple page fulls of prompts and nothing else, no responses, no code, no product, no video.

      then it would be what it is. then it would be something.

      1. Then in probably wouldn’t replicate, because pressing the “make it” button all over again would result in subtly different responses from the LLM. The fact that it did do something the first time over is rather lucky, or buggy as it were.

        1. yeah exactly! the end product is valueless, vaporous, in a liminal space between existing and not-existing anyways. i don’t want the end product, you don’t want it, the influencer that ‘made’ it doesn’t want it! no one wants it! let it not exist.

          but the prompts are real. they won’t re-produce the product. but they are real. they are a product.

    3. I dunno, on this one it sort of works. This is a kind of “what if” scenario: using all the knowledge we have gained since the 5150 came out, what could have been, now that we know what we know?

      LLMs are pretty good at taking a large set of knowledge and extracting useful information. The fact that Claude was able to build this, when no human had done so before (remember, the target machine is over 40 years old at this point) maybe points to a gap in the knowledge a single human contains. Or at least points to a gap in the human(s) who would like to build this type of system.

      In other words, those who potentially had the knowledge to do this…didn’t. They had 40 years to do so, and they didn’t.

      The person who wanted to do this didn’t have the knowledge and/or skill set. Is that person supposed to just wistfully daydream about the project, ne’er to behold it in the flesh? No, they should (and did) use the tools available to them to bring the project to fruition.

      And I think the results are pretty interesting.

        1. “You can try it for yourself either on real hardware, your own emulator, or even in an in-browser emulator.” – you can run it and/or review the code yourself.

          Your ignorance is solvable, you can choose to be better informed or not, but it’s not inherent ignorance caused by the project.

          1. but it’s not inherent ignorance caused by the project.

            On the contrary. Knowing that the project is both coded and documented by AI, I cannot consider it more than unreliable slop until a person takes responsibility and confirms that the information is accurate and true.

            That person could be myself, but I don’t have the burden of proof on someone else’s project or article. They should prove themselves to me. That’s why my ignorance is basically their fault.

            The reverse case is a common internet crank tactic to make outrageous claims and then demand the audience to prove them wrong, in the knowledge that few will bother and those who do will be locked in endless debates about what went wrong.

          2. Another problem is that we can’t tell whether the author of a vibe-coded project even understands their “own” code, because they aren’t the author of that code, so we can’t trust them either when they say that it does what it does.

            In the worst cases they’ve let the AI write the unit tests as well, so they don’t directly understand how or what is being tested, so they’re in no position to say anything.

            In other words, we need an independent expert.

    4. I dont really care if its AI. AI is a tool and if it solves the problem then fine.
      I’ve already done my fair share of coding on retros.

      What AI should not be used for are all those fake pet reels on Facebook and Tiktok.

      1. they will understand one day, same way as when craftsman turn to CNC for a lot of guys it is cheating, what they do not see is gaining free time for actual life. Lot of these project are useless but also memorials to ones dream which one can not have time to do.

    1. Considering that the author says that on a 4.77 MHz PC of the era you could see the windows paint, and the need for 1 MByte memory I suppose we could consider it a glorified demo for modern computers and you can absolutely forget to have it running on the portfolio (unless you don’t mind sleeping between keystrokes, that’s it)

  2. About boring DOS PCs..

    The Amstrad/Schneider PC1512 was available in 1986
    and was bundled with DOS Plus 1.x, MS-DOS 3.20 and GEM.
    https://en.wikipedia.org/wiki/Amstrad_PC1512#Supplied_software

    DOS Plus and GEM were also bundled with BBC Master 512 in 1986.
    https://en.wikipedia.org/wiki/BBC_Master#Models

    In W-Germany, the Siemens PC-D ran DOS and had a port of Windows 1.0 (and GEM), while te PC-X had an MMU and ran Sinix.
    That was not too different to the Nimbus PC-186 in UK.
    It too ran on an 80186 architecture and ran Windows 1.0 and some custom Windows software.

    There’s a news report from BBC in 1986 (Windows vs GEM):
    https://www.youtube.com/watch?v=Q2PNLsvDxqw

    Over the big pond, the Tandy 1000 came with Deskmate GUI in late 1984.

  3. The interesting thing is that a 1982 IBM PC not seldomly had better graphics and more RAM than a 1984 Macintosh.

    The Hercules card (1982) was 720×348 vs Mac’s 512×342 pixels resolution.
    A 1982/1983 PC running DOS 1.25/2.0 had 256 KB of RAM (full expansion) vs the 1984 Mac’s 128 KB.

    Since the Mac’s system ROM was still small (64KB),
    it would have fully fit into an 8086 segment (64KB).

    By using bankswitching, the 8086 could have switched between the Mac’s firmware in one 64KB segment and “System” in another one (or two).

    So in theory, a the IBM PC was able to run the 1984 Mac software in quick&&dirty software emulation (like CP/M emulators).

    And if someone had made an PC-bus card or CPU interposer card with sockets for an 68000 and a 64 KB Mac Toolbox ROM,
    the IBM PC would have been a better Mac than the real Mac, even.

    The main challenge would have been to “bent” the Mac system addresses to match the PC’s architecture.
    Either by translating Toolbox calls to PC BIOS, DOS int21h or by simply writing an 68k PC BIOS that would do the job.
    Or by porting the Mac Toolbox, simply.

    In principle, that’s what the PC emulator boards for Atari ST/Amiga did in late 80s.
    They used an NEC V30 to sit on the 68000 CPU. Because the NECs can do tri-state their pins.

    In reverse, an NEC V20 (popular 8088 CPU upgrade) in an 8088 PC could co-exist with an 68000, too.

    The adress range of the 68000 is much larger, though, so that a mapper
    or
    MMU circuit would have been needed to make the PC motherboard see the whole 16 MB address range of the 68000 (if needed).

    Without a mapper/MMU, both could still use an 1 MB (20-Bit) address range.
    Which was enough for the era of the cubical Macs.
    The 8088 (V20) would just have switched the active 64 KB segment each time to run through the address space in a clean way (in 64 KB steps).

    Because for early Macintosh software (64 KB firmware, 128 KB of total RAM to software) everything could have been divided in 64 KB blocks.
    No complex addressing would been needed yet.

    1. “By using bankswitching, the 8086 could have switched between the Mac’s firmware in one 64KB segment and “System” in another one (or two).”

      Just in case: That’s not how the PC banks work(ed). You have no bank swiching really. It’s a 16bit address + (segment address << 4).
      Like a 1MB address space, where you can slide a 64k window over it, in 16 byte steps.

      1. Hi, I think you can do segment+offset to get any address, but you can also switch active segment block.
        QB45 did allow that, I vaguely remember. To overcome code/data limits.
        The whole PC memory region had been categorized intp 64 KB segements, I recall.
        A segement, B segment and so on..

  4. I think a more tolerable scenario for HaD audience would be to write single functions using LLM when stumped, but a human writing and designing an entire OS. Even Torvalds admits, generating code has acceptable use cases, but submitting generated code to a code base is not one of them.

    1. LLMs are great programming reference sources, although they can sometimes lie and omit important details.

      If a person is programming by copy/pasting from an LLM without understanding what each line of code does and why, it’s no better than if the person hadn’t written the program at all. They can’t take responsibility of the code. It doesn’t really matter if they’re doing it one function at a time, or just letting the LLM run amok on the whole code base – if you’re just following the LLM then it’s the same thing anyhow.

      The point is that a human should understand the code, because if nobody knows what it’s doing then it could be doing literally anything and everything.

  5. PS: There are quite some OSes/GUIs that can run on an maxed out IBM PC.
    The Beta of Windows 3.1 still runs on an 4,77 MHz PC with 640 KB of RAM.
    Windows 3.0 still has full EMS support in Real-Mode (though big EMS page frame is needed for meaningful use).
    Windows 2.0 software has good IBM PC support, but each Windows application has to support EMS itself (LIM 4 memory manager with older EMS 3.2 hardware is sufficient).
    The latest Breadbox Ensemble (PC GEOS) on an IBM PC supports Sound Blaster, EMS, swap file
    and up to 256 colors in 1024×768 pixels using VESA or vintage SVGA cards).

  6. I’m all for this. It’s just another compiler. “Let the computer hack itself.” Churn through assembly; identify the tricks. We guide it, with style, and clean APIs. When it vomits 1000+ lines, when 240 lines will do, we redo the prompt or model. Old hands may remember the same arguments, when we moved from assembly to C, and when we moved from rubylith to standard cells.

  7. I only tried the browser version, but it’s a very odd sensation. Seeing all these apps and features, that where developed over many years, in one place. This would have been epic had it released all at once.

    Many app features are functionally incomplete, in strange ways, but nothing is crashing. Hand written 8086 would probably blow up more.

    1. The Mac GUI had been mimicked early on in the first DOS paint programs.
      Or rather, Mac Paint had been mimicked early on.
      PC Paint, for example.
      https://en.wikipedia.org/wiki/PCPaint

      So maybe there were Mac-like DOS programs with built-in utilities (text mode: Sidekick, Topview, Desqview)..
      I know of PC Tools Desktop 7 from early 90s which included a
      Desktop, a notepad, calculator, terminal program, ASCII chart etc.

      Games like SimCity (a Maxis game) had a Mac-like GUI, too.

      On the Schneider Joyce (Amstrad PCW), there was AMX Desktop in late 80s.
      There also was an AMX Mouse and some DTP program.
      https://www.youtube.com/watch?v=hBK1hj_xS98
      https://www.computinghistory.org.uk/det/32573/The-Desktop-Publisher/

      The Joyce basically was an all-in-one IBM PC counterpart on Z80 basis with 3″ floppy drives.
      The monochrome resolution was comparable to PC’s Hercules graphics (aka MGA).

  8. Digital Research Gem 1.0 was probably one of the better GUIs which was small enough to fit on floppies if it had to and layer on top of MS-DOS. Gem was hobbled after the fight over the trash can and the early version actually looked better. There was also a Smalltalk environment thst looked pretty nice if you had a Hercules compatible hi-res graphics card or an AT&T/Xerox/Olivetti PC with hi-res monochrome. So yes, there were some not bad looking and interesting X86 based graphic environments back in the day. Even the original Windows 1.03, the first retail edition, could run on two 360K 5.35 inch floppies, though Imwould not consider it good enough to be “not bad.”

  9. “It’s a shame that this thing appeared in 2026 when there is little need of it.”

    Maybe we’ll be grateful for this once AI Datacenters have driven up the price of RAM and CPUs and all we’re left with is old tech :)

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.