Os8088: A powerful Mac-like OS for the IBM XT, 286, 386
os8088.com
os8088.com
Visi On[1] was a graphical operating system for the IBM PC that actually existed as a commercial product, though definitely not a very successful one. It was made by VisiCorp, the same company that created VisiCalc (the first spreadsheet for a personal computer).
It was demoed at COMDEX in 1982, before the Apple Lisa was released. It came out after the Lisa but slightly before the Macintosh.
Here's their promotional video from 1983: https://www.youtube.com/watch?v=kc4wFeVvKTI
Fun fact: Bill Gates saw the demo at COMDEX, and at first he was skeptical that it was really running on an IBM PC. But ultimately he was so impressed he decided[2] to start developing a product called Microsoft Windows.
---
The story seems to be more that seeing VisiOn gave MS the nudge to get into action on the GUI due to a sense of competition/urgenbcy from VisiOn rather than learning about the GUI from VisiOn.
Thanks for sharing the promotional video for Visi On. It's cool to see how many different companies gave this a shot back in the 80s.
You are the customer.
I'm curious about your goal in purchasing this project.
You don't get any peer recognition. You don't gain any special skill. You can't copyright it. You can't sell it. You can't use it for anything useful. You can't use it as a learning exercise. It can't really be built on. It can't serve as a tutorial for others to learn.
You don't get the satisfaction of a job well done (well, no more than the satisfaction you get from buying a toaster on Amazon).
Pre-LLM, something like this was a huge achievement. Now it's the equivalent of a 1st-grader showing off their finger-painting like it was the Mona Lisa.
So, what are you getting out of this?
Yes someone could spend immense amounts of time and effort, but clearly no one bothered to until AI made it easier.
yet the complainers will always complain because they don't have anything better to do with their own time...
"bugger off!" as they say.
It's hard to be impressed when someone purchases a new toaster, even if it's a bespoke toaster.
I want to know what the author thinks he got out of this.
Is that not enough?
FWIW I don't upvote submissions like this though, because it contributes to a climate of cheap superficial fame.
If you think LLM's allow you to wave a magic wand and anything gets done then you really are so anti LLM that you're now technically way way behind and just irrelevant.
Making software like this person has achieved is not just saying "do it" to an LLM and waking up in the morning.
Your anger towards LLMs has blinded you and set you back whilst everyone else moves ahead.
Honestly, I probably use 'em more than you.
> Your anger towards LLMs has blinded you and set you back whilst everyone else moves ahead.
If it makes you sleep better at night believing that, then sure, go ahead.
The reality is that most people lose any sort of status or respectability when they try to pass off difficult work as their own. This was true before LLMs, and will continue to be true, no matter how often someone shows us their equivalent of finger-painting.
It's nowhere near "a fair amount of work". It's a fraction of a percent, if that. The reason I know this is because I am using LLMs quite deeply.
For this specific project, I'd be very surprised if the prompter needed to know anything more than:
1. Assembly exists. 2. The 8088 (and later) existed. 3. The target hardware's OSes did not support preemptive processes.
For Fable (which is what they used), it can infer the rest, with the user providing "No, that's not it, change the color" type of prompts.
In practical terms it's so useless that there's no point having a person spend time creating it, but, with AI changing the tradeoffs, now you can just have it created for you.
And...I do know how to write in assembly, VHDL, and higher level languages, but I also have a life, and I much rather have an LLM write out the assembly for a hobby like this one where I wanted something in 6 days, not 6 months.
What we take exception to is how your project’s landing-page misrepresents the project by saying it’s “hand-written”, for example, and lacks any clear up-front AI-use disclosure.
I thought about having a big flashing heading about the use of AI, but at that point, I think it was becoming more of a warning to AI triggered people than anything useful.
The Haiku project (an OS based on BeOS), is a remarkable achievement. It is sad that we may never see such things again, because people want their achievements to mean something, and, increasingly, intellectual achievements are becoming (unjustly and misleadingly) trivialized by the LLM hype machine.
It feels like humanity is deliberately making itself colorblind.
More like hand-prompted...
It looks much closer to real human-written Asm than compiler output, which is itself a big win. No stupid calling conventions or obvious bloat. The unmistakably bloated inefficiency of "compiler slop" (that term wasn't used at the time, but those who lived through that Asm vs HLL era on the PC will know exactly what I'm talking about) is not present. I can always spot immediate optimisation opportunities with compiler output, but at a quick glance, not in this code.
...and now I have the idea of getting AI to decompile some existing binaries and then have it optimise/rewrite in the style of human-written Asm... run something like Windows XP or even 11 through it and see if it can be optimised down to a tiny fraction of its current resource usage.
Not to even mention that random WORDS are capitalized for some REASON as well.
Those instructions were introduced in the '186/8 but this project targets the 8086/8088.
> 66,183 lines of hand-written real-mode assembly
Goes to the github - contributers jggonz and CLAUDE. The README.md doubles down on this at the bottom with the license.
> Everything here is hand-written; no third-party code is vendored into the OS, so the whole tree is covered by that one license.
That's what happens when you let an LLM write your ad-copy...
First of all, isn't that the entire point of the Internet Archive? Sounds pretty valuable to me.
Second, doesn't the same issue effectively apply to everything written with the BSD or MIT license? I'm not sure I understand the point though, so I'm probably missing something.
The Internet Archive has lots of PD books and other works that have been scanned in. But the Internet Archive's web pages are all copyrighted. Only a small percentage of anything on the Internet is PD. All those news articles that HN bypasses paywall? Piracy of copyright.
How do you think the IA got in legal trouble during the pandemic lockdowns?
There are instances of purely PD archives: librivox.org and gutenberg.org. Their mandate means everything is PD, whether it was PD to begin, or whether it is novel work by modern creators. The archives are sustained by their donors and volunteers, who are scanning these works, fixing up the OCR, recording audiobooks, and otherwise donating their time, talent, and treasure to building the archives. Perhaps both are obsolete by now.
Everything written in BSD and MIT license is copyrighted. Copyright may be assigned, dual-license status may exist, non-exclusive rights may be assigned. None of this applies with purely PD works.
I stated no mere opinions, and I made no novel predictions, but I gave observations of current practices. The only prediction is that these two practices expand and escalate for as long as LLMs' legal status remains this way.
2. It may be valid in places where sufficient human contribution makes AI code covered by copyright.
Even if it is not covered by copyright everywhere, it has a significant effect. If something is covered by copyright in some countries but not others its cannot be globally distributed without a license.
Actually not: the copyright claim would be particularly egregious in, e.g. the UK, because if the publisher has not even acknowledged or attributed contributions to Claude, then Claude's copyright is infringed, and the publisher could be liable for fraud on top of that.
And to address your second point: if the publisher claims 100% ownership, authorship and copyright, then who can even determine the amount of LLM-authored code? Something must come out in depositions or the courtroom about how much Claude committed, and how much was by humans, because in this case in this thread, the publisher has claimed 100% human authorship.
I think you are wrong there. Claude cannot hold a copyright. Anthropic might but I think that is a misinterpretation of the law. The government thinks the person who prompted holds the copyright: "In the case of a general purpose AI which generates output in response to a user prompt, the “author” will usually be the person who inputted the prompt." :
https://www.gov.uk/government/publications/report-and-impact...
Are you saying that this is wrong and the developer of the LLM holds the copyright on all its output?
> And to address your second point: if the publisher claims 100% ownership, authorship and copyright, then who can even determine the amount of LLM-authored code?
Does it matter? Either the human author/prompter holds the copyright, or no one does. They just need to show that they have made a sufficient contribution to hold the copyright. Commits and prompt history would be a good start.
> Everything after that is the interface you remember from a 1984 Macintosh: […] and a dock along the bottom with one tile per running program.
In that case I look forward to seeing OS X’s Aqua ported to the IBM PS/2.
If this project is any indication, AI can definitely make that happen too.
But an LLM would have caught that. Signs of a human touch?
There definitely was. https://en.wikipedia.org/wiki/System_1:
“The Macintosh "System 1" is the first major release of the classic Mac OS operating system. It was developed for the Motorola 68000 microprocessor. System 1 was released on January 24, 1984, along with the Macintosh 128K, the first in the Macintosh family of personal computers. It received one update, "System 1.1" on December 29, 1984, before being succeeded by System 2”
That page doesn’t mention it but I think the original Mac shipped with a 0.97 or 0.98 version.
https://en.wikipedia.org/wiki/Classic_Mac_OS#System_1,_2,_3,...
But if people are going to post it on HN, they should consider at least writing the README / main page of their website by hand
It is nice to hear the human authorial voice, at least sometimes
Why the hedge? Why not just be honest say it was written "by" AI, since it was?
You sound like when a company pays to sponsor another company's work, and they get a "powered by" tagline, even though they contributed no actual power/effort. "The Flatulence 100 Bicycle Race powered by Zyzzyz Bank."
Claude's Opus and Fable have done a really great job helping me and another contributor shape this operating system. It's been a really interesting way to learn about the different techniques that other operating systems have used to get the performance we saw in LisaOS, MacOS, Windows, GEOS, etc... performance at 640x480 on an XT class machine is tricky! Also, the 64KB segment limitations were very interesting to overcome!
Even The Company itself thinks so, as evidenced by relevant advertisements of the not too distant past. :)
Here on HN? I don't believe that.
Can we see your results and methodology?
Meanwhile, his startup that received multi-million dollar funding and developed proprietary specialized LLMs, continues to exist being somewhat profitable.
Universal AI, however, poses an existential risk to his company. So he turns into a typical gaslighter: he tries to convince everyone that AI is a dead-end, not worth it, a total disaster. By doing so, he hopes to prolong the stream of existing profits maybe just for one extra day, but internally he already knowns that his company is toast.
Personally, I don't care as long as the end result is good, but a lot of AI software tends to be in the lower end of the quality range.
Similar strategy can help smaller local models achieve greater results too. Small steps + many guardrails.
Though, I have been finding a lot of utility in programs that support otherwise deprecated hardware, now that is some good slop.
At least take the time to hand write a description of what it is and acknowledge the tool assistance as a known fact.
Making fake claims that something is totally hand written is I think what bothers people about this.
This is never going to be a commercially viable project. It’s a wonderful idea for a hobbyist passion project. But if you’re not actually coding it yourself it feels far less interesting. I can’t really marvel at what they’ve created because I know that with a stack of tokens I could do the exact same thing myself.
I presume that there were similar movements during 1950-1980s who tried to gaslight the publics against using computers while using the computers to gain a competitive advantage over them.
I can understand some of the viewpoint around LLMs. But I don't agree with it fully and just find it too useful to be able to get all the things I wanted to do for the last 30+ years done.
And I also think that some of the people who are threatened and angry and who have really deep systems level engineering skills and knowledge actually are in a unique position to benefit most from these tools as they will actually understand and intervene better and produce higher quality. Most of these "really neat vibe coded" projects stall at a certain point where the prompter no longer understands the beast they've created. People with deep knowledge and experience will hit that wall much later.
Anyways, I think we're at a juncture where what is worth caring about and focusing on in computers is going to have to have a radical overhaul. It's tough to separate the gatekeeping/elitism from genuine critique.
I appreciate the topic, interest, and ambition, but if a human couldn’t be bothered to create and document it, I can’t be bothered to spend my time reading about it.
Now we can just do that much much faster.
Treat this like fan fiction. Nothing about it existing harms you in any way.
Also to be fair, the non-sarcastic reading of same comment would be entirely in keeping with other comments in this thread.
I'm updating the copy of the page to make it extremely clear that it's built using AI so that we can move past that point.
Sounds like a weird hobby.
To put it another way: if a thing is written by a human from scratch, and there is a lot of text (often not the case, because things like this are built iteratively, in the open, so they reach eyeballs before that point), I can pretty quickly ascertain whether the person knows their stuff and if it is worth my time to continue to try to reach understanding with them, to learn from the coherent vision that they have created and are trying to communicate.
Or, if they are the ramblings of a lunatic, I am hopefully able to ascertain that pretty quickly and move on.
In the case of agent-written text at this volume, it feels written to fool the reader into reaching the first case, without the guarantees of the coherent vision. Maybe that gets better with time, but for me, for now, it's enough to note with interest and move on for now.
This is like clicking Google reviews on an eatery and reading “1 star we went there and it was closed!!!” “1 star they don’t let dogs in so we’re never giving them our money!”
A MacOS-like desktop for the Intel 8086, written entirely in real-mode assembly (with Claude). Verified to run on real hardware, with FAT12/16 support, ported apps, games, Sound Blaster support and upcoming Hard Drive support.
Amazing.
and one wonders what could have been if there were not incompetency of microsoft etc..
Perl can do sed(1).
It’s almost as impressive as the “GOS” written for Atari 8-bit running on 6502 at 1.79 MHz. Visually it’s almost identical but has a nicer font. The specs are somewhat similar with 16 task slots, calculator app and task manager, serial mouse support (ST mouse) and Atari’s hardware sprites helping with some of the graphics. The XOR window frame is the same idea. Amazingly, Atari GOS runs in 128K of RAM! One has to admire the work and inventiveness in these projects. See description and videos here:
I believe os8088 also boots now with just 128k of RAM, but it's very limited in the type of apps you can load. There's a os8088.com/hardware page where one of the contributors to the project that has been helping optimize the operating system tested it out on a bunch of different machines.
i'm going to try an run it from free bios rom space on a NuXT similar to Basic in rom:
If I were to unleash an LLM minion on it, I guess I'd be focusing on that direction.
But, it's all rather arbitrary. We can do anything now.
> Pre-emptive multitasking on an 8086
> Twelve task slots, 1,536 bytes of stack each, and a timer interrupt that takes the CPU away from whatever is running 18.2065 times a second. No task is asked to cooperate and no task can refuse.
If you don't have protected mode, can't any program just rewrite the interrupt handler? It's not a bad system, but it sounds easy to break.
Yes? It's still possible to make it safe if you ensure that all programs are written in a memory safe language. Aside from throwing out a ton of existing code it's not as bad as it sounds. The Birth and Death of JavaScript touches on it towards the end.
https://www.destroyallsoftware.com/talks/the-birth-and-death...
Although from a security point of view it's still very bad. Every compiler / JIT has bugs, and bugs that let you write to random or arbitrary memory adresses are a rather common kind.
Doesn't really matter for a hobby project though
Before that, there was Switcher - not a multitasker, but did keep multiple (non-DA) applications in memory at the same time.
Not just rewrite the interrupt handler either, can rewrite the timer itself :)
Part of the fun of real-mode is the absolute god like power you have. Downside is the 20bit segmented memory model.
Although it was admittedly a bit rubbish compared to Amigas, STs and Acorns of the time I still really enjoyed using.
If I'd had the chance this is exactly what I would have run.
Premptive multitasking without memory protection was still useful on the original Amigas so I think it would have been a boon for 8088 too.
Sadly this sort of thing is much easier now - thanks to the tooling. I speak from personal experience, I'd written some stub 32bit os' myself (by hand, pre-ai) and it is very fun. But you quickly run into walls that stop further development that aren't fun. I enjoyed poking at VGA registers, the 512 byte boot sector into real mode into protected mode dance. Setting up the global descriptor tables/page tables and the PIC/8042 controller.
But...then you get into protected mode you get a prompt up some very basic memory management and then TERMIOS...boring. Boring. Defining all the posix syscalls, boring. Building test harnesses ... boring.
Oh I need a DMA controller now because PIO is slow, FUN!!!
I've taken my toy os to basically Linux 2.0 level in a few weekends by throwing tokens at boring things and when I got to the end it was a little bit empty because although the kernel of the system was all me, and it very much was built on the skeleton I arranged I didn't understand bits now that while boring were important. And the magic ... was lost.
I'm working on a new version now where my rule is I hand type every line of code and I co-plan with the AI and write from my head. It's so slow going but the fun is in the problem solving and the design and by hand writing you keep enough of it in hand it feels yours and real.
Anyway this is a cool project, I hope the author enjoyed it and learned something, but this is the new normal now, powerful tooling means things that were novel are tokens away and so they lose some of the magic accordingly.
Even though I've relied on AI to hammer out the assembly, it has been very educational iterating on it. You end up learning the techniques that other operating systems used to get applications to perform well on slow machines.
THAT is part of the issue with it though, those length debugging sessions where you prod and poke and have to hold complex interactive segments in your head is what gives you that deep understanding of a piece of software. You do lose that when you throw the AI at it. This is part of my motivation for handwriting 'offline' all my code for these types of project. Have a doc to work from but otherwise wetware is doing the heavy lifting.
This isn't efficient use of time at all and professionally a dead end. But as a pasttime/hobby for an enthusiast it opens a door that would be closed (project like yours and indeed mine) while still having it grounded in our own work.
No? It's the exact opposite for me. This is a great demo of how AI can do efficient software if you prompt it the right way.
Interesting, it currently says, 'Nobody has yet written the images to 5.25" media and booted an actual XT with them.'
That's no longer the case. Someone that is contributing to the project is using real hardware to validate the changes. You can check out some of the systems he tested it with here: https://www.os8088.com/hardware
The system does currently run with 256KB of RAM, and you can use some of the basic apps, but not all of them.
I think someone vibecoded a bad System 7 replacement that had at least some QuickDraw in it.
In this case, actually doing those things would probably make it insufferably slow on a real PC though at least at vibe-coding quality.
The real implications here (also looking at the WinWord port to win64, which I suspect had some AI involvement as well) is that current agentic AI completely changes what a hobbiest can do over a weekend, as long as AI slop code is acceptable to meet one's project goals.
---
It's certainly affecting things I've worked on... there'll be a much better version of ld-decode soon using Claude Fable which is faster and has better filtering (and an audio noise-reduction post-processor that actually works) and I'm pretty sure you could get much of ELKS working from scratch in one weekend at this point. whispers something about doing a UNIX-like on a pi pico 2 (or two), since he can't do it because reasons...
I have a Pocket 8086 - I would love to give this a try next weekend.
That said, it's not like something of this nature was thought impossible; many embedded OSes running on even slower and more limited machines (e.g. 8051) had preemptive multitasking and a primitive GUI. It just took several decades for someone with the idea, tokens, and motivation to actually do it.
Claude AI just created something in a few hours, perhaps, that teams of intelligent developers at the time struggled to do in years of effort.
VGA adapter means you have to wait until 1987 to run this, otherwise you'd deal with CGA's non-square pixels. EGA support would only be possible in Oct 1984.
How are we supposed to trust that photo, when you've already demonstrated that you're happy to use AI and call it "hand-written."
Anyone can validate the performance on a real PC of the era? If it's confirmed, LLMs may be one of the ways of creating highly optimizing compilers in the future.
Take the irow loop in vga12.inc[1] (of course I'm going to look at the graphics code). Each iteration does push di; rep stosb; pop di; add di, ROW_BYTES (and some other stuff). Why not save the push/pop and add (ROW_BYTES - count), which could be stored in a register (dx is free here)? Just the push+pop is 15+12 cycles.
[1]: https://github.com/jggonz/os8088/blob/1f2fae44180fadaf85368c...
It's a weird world we live in now.
Many still haven't understood that dynamic compilers, and machine learning based optimisations are equally not deterministic, which is why benchmarks are hard to implement properly.
It's been a long time since I've worked on a machine I could describe as "understandable."
Aside: One of the niceties of using agentic LLMs to do optimization work is letting them do the drudgery of creating a pile of microbenchmarks for different scenarios (scalar popcount on a this-shaped vector, or SIMD on another? which wins? sometimes the answer is surprising!). I've built all sorts of bespoke tools / harnesses for forcing them to evaluate their findings empirically, and it's amazing what can be done that would take me weeks by hand.
[0] http://runtimeterror.com/pages/iv/images/b869a0cf44a7e7cbc40...
That 20px title bar is way too thick for the font. Make it 16 pixels at most.
Technically better software was rarely the primary factor in how the early microcomputer wars played out.