Yes, I'm old now and have learned all the foundational computer and hardware engineering topics the hard way over 30 years. I've earned my AI tokens of freedom. :)
os8088 is an operating system written with AI tools in x86 16-bit assembly with an optional C/C++ app porting toolchain.
It runs on anything with an x86 processor from the early 8088/8086 CPUs up to the latest CPUs. It supports CGA/Hercules + VGA. Sound Blaster, NE2000 network and MFM hard drive support is now available.
We've also ported many cool apps: MOD trackers, TexPad, MS Word 1.1a (in ASM and C), CP/M 2.2 emulator with a ton of apps and games, and several ported games from the early arcade days.
So essentially like the original Mac in 1984. ;) 128KB of RAM is just too little to run the OS and applications at the same time with any kind of performance. But once the 512KB model came along, then things started to really swing.
Since you're here let me ask a question i had the last time i saw this project: how does your AI handle the ginormous SPEC.md file?[0] (last time i saw it Github was still able to display it :-P).
Are you feeding the entirety of it to Claude (i guess)? Doesn't that eat pretty much all context - and considering that (AFAIK) the spec file has everything about the OS, doesn't available context space put some sort of "hard ceiling" to what you can add to the OS?
This SPEC.md is more of a memory dump that it chooses to use on some tasks. I was recently thinking of either:
a. splitting it into sub-spec files that can be referenced.
b. getting rid of it completely to prevent the LLM from hallucinating with potentially stale information.
I am not sure I will ever get this to protected mode... The goal was to have something running on slower, older hardware, and once protected mode comes into play, we're letting go many of the constraints that make this an interesting experiment.
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.
Yeah, I think the ability to move at pace helps and especially when you get stuck at some sort of intractable bug, in realmode especially, claude/gpt is unbelievably good at identifying and proposing the fix.
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.
Thank you for the idea! I was going to add a basic interpreter I've been working on in another project, but I think a port of Frotz is coming first now given how many resources are already available.
I agree. We've just been spending more time on the operating system than the homepage. I'm making some updates, but it's still all going to be written "through" AI for now.
but it's still all going to be written "through" AI for now.
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."
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.
Chris Hinsley started TaOS toward the end of the 80's .. Him sick of being asked by games industry managers to "do it again but for PC". By 1991 there was a start up, and by 1993 there were awards for his endian-independent VpAsm OS. I mention cos the tubling cube demo (two windows) would allow one to be dragged over the other without cubes slowing in their tumble at all, and without the envelope-drag-letGo-repaint effect. No stammering for the window manager. This tech was legendary and the multi-tasking was an order better than WinNT later which itself was an order better than Mac's cooperative-task-thunking. Lots of the videos of that time lost sadly, and all the source code. Chris is doing it all again, but making it harder for himself -> https://github.com/vygr/ChrysaLisp - while also using LLMs for lots of it.
We have built in driver support now, so we will be adding network driver support soon. We just added hard drive support that is potentially a bit buggy...
reply