<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/os8088----a-mac-style-gui-os-for-the-ibm-pc-xt-5eeukkqfl" -->

---
title: os8088 -- a Mac-style GUI OS for the IBM PC XT | daily.dev
description: os8088 is a hobby operating system for the Intel 8086/8088 (IBM PC/XT class hardware) that recreates a Macintosh System 1-style graphical desktop — entirely in...
canonical: https://daily.dev/posts/os8088----a-mac-style-gui-os-for-the-ibm-pc-xt-5eeukkqfl
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: os8088 -- a Mac-style GUI OS for the IBM PC XT | daily.dev
og:description: os8088 is a hobby operating system for the Intel 8086/8088 (IBM PC/XT class hardware) that recreates a Macintosh System 1-style graphical desktop — entirely in...
og:url: https://daily.dev/posts/os8088----a-mac-style-gui-os-for-the-ibm-pc-xt-5eeukkqfl
og:image: https://api.daily.dev/og/posts/5eEUkKQfl.png
og:image:alt: os8088 -- a Mac-style GUI OS for the IBM PC XT
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# os8088 -- a Mac-style GUI OS for the IBM PC XT

**[Hacker News](https://daily.dev/sources/hn)** · 5 min read · 0 upvotes · 0 comments

## Summary

os8088 is a hobby operating system for the Intel 8086/8088 (IBM PC/XT class hardware) that recreates a Macintosh System 1-style graphical desktop — entirely in real-mode x86 assembly, with no DOS underneath. It boots from a 512-byte floppy boot sector, loads a 52,718-byte kernel, and runs in just 256KB of RAM. Features include overlapping windows, pull-down menus, a serial mouse, loadable programs, and pre-emptive multitasking at 18.2Hz — something neither the original 1984 Macintosh nor GEM offered. The project is 66,183 lines of NASM, supports VGA/Hercules/CGA display adapters, and has been verified to run on real period hardware including a 1981 IBM 5150. It is free to download and includes a browser-based demo.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://os8088.com/>

## Questions this post answers

### How much RAM does os8088 need to run and what kernel size does it have?

os8088 runs in as little as 256KB of RAM on an Intel 8086 or 8088 processor. The kernel itself is 52,718 bytes, containing the scheduler, window manager, VGA/Hercules/CGA driver, mouse driver, sound layer, file manager, loader, Task Manager and Control Panel. The whole segment footprint, including buffers, is 59,031 bytes, leaving 6,505 bytes of headroom within the 64K segment limit.

_daily.dev surfaces deep systems-programming builds like this for developers exploring constrained, low-level OS design._

### Did GEM 1.0 from Digital Research really have overlapping windows on the IBM PC before Apple sued?

Yes, GEM 1.0 shipped for the IBM PC in February 1985 with a Macintosh-style desktop featuring overlapping windows and icons on stock XT hardware. Apple sued Digital Research, and the resulting settlement led to GEM Desktop 2.0 in 1986, which removed overlapping windows and desktop icons on the PC version, though the unaffected Atari ST version kept them.

_anyone researching GUI history on daily.dev can trace how legal disputes shaped early PC desktop design._

### How does os8088 achieve pre-emptive multitasking on an 8086 with no memory protection?

os8088 pre-empts tasks at the PC's stock timer rate of 18.2065 Hz, with every tick saving nine registers, swapping the stack pointer, and returning into a different program. It supports 12 task slots with 1,536-byte stacks each. There is no memory protection because the 8086 offers none, so every program shares one 64K segment with the kernel, which keeps context switches cheap.

_developers curious about low-level scheduling internals can follow more assembly-level OS work on daily.dev._

## Community take

How the wider developer community reacted, aggregated from 1 discussion and 55 comments across hackernews (as of 2026-09-13).

**TL;DR:** The community is genuinely impressed by the technical achievement — a preemptive multitasking Mac-style GUI running in real-mode 8086 assembly — but the dominant conversation is about the project being AI-generated while initially marketed as 'hand-written,' with the author eventually acknowledging Claude's central role and promising to update the copy.

**Sentiment:** 25% positive · 35% mixed · 40% skeptical

**The case for**

- The technical result is impressive regardless of how it was produced, demonstrating Claude's surprising competence with real-mode x86 assembly.
- Running on real period hardware with preemptive multitasking is a legitimately novel achievement for XT-class machines.
- The project sparked interesting historical discussion about early GUI OSes like Visi On and GeoWorks that actually existed for the PC.
- Some commenters found the bundled apps (fractal viewer, Solitaire, Minesweeper) delightfully unexpected.

**The pushback**

- The project was presented as 'hand-written' assembly while the GitHub contributors list Claude as a co-author, which many found dishonest.
- The AI-generated README and landing page copy contained factual errors (e.g., describing a 'dock' that wasn't in System 1, mislabeling the OS version).
- The assembly code quality was described as painful to read.
- Several people said they lost interest entirely once they confirmed the AI authorship, feeling the human investment was too low to warrant their attention.

**By community**

- hackernews (mixed): Deeply divided between admiration for the technical feat and frustration over undisclosed AI authorship, with the author eventually stepping in to acknowledge Claude's role and promise transparency.

**Hottest debate:** Whether it is acceptable — or dishonest — to present an AI-generated project as 'hand-written' and claim copyright over it, and whether the human effort of prompting constitutes meaningful authorship.

**Open questions**

- Will the project add networking support for period hardware?
- Has anyone actually booted this on real 5.25" floppy media on a physical XT?
- How many tokens and how much calendar time did it take to produce the OS?
- Could the same approach work for more complex targets like an 80286 or 68000 machine?

**Highlights**

> "Author" of os8088 here. That's unfortunate. This is a hobby, and yes, it's all written with Claude. I have a bunch of videos up showing the process. 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.
> — [jggonz on hackernews](https://news.ycombinator.com/item?id=49229159)

> From the landing page: > 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...
> — [vunderba on hackernews · 1 comments](https://news.ycombinator.com/item?id=49227984)

> I don't know why it seems reluctant to disclose AI use, because this is one of the best advertisements of Claude I've seen, and I say this as someone who has been sitting on the fence on the subject and saw a lot of slop in the past few years. If I was working in Anthropic's marketing department, this is the sort of thing I'd point to as a demo of its abilities. 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.
> — [userbinator on hackernews · 1 comments](https://news.ycombinator.com/item?id=49228491)

> To me the most interesting thing here is that AI did it, albeit with very good prompting. 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.
> — [RachelF on hackernews](https://news.ycombinator.com/item?id=49228873)

> I’ve got nothing against AI-written code 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
> — [skissane on hackernews](https://news.ycombinator.com/item?id=49228343)

**Source threads**

- [hackernews](https://news.ycombinator.com/item?id=49226923) · 128 points · 55 comments

## Similar posts on daily.dev

- [The PC OS That Would Have Blown Your Mind Back In 1984](https://daily.dev/posts/the-pc-os-that-would-have-blown-your-mind-back-in-1984-7gqt0h1rq) · Hackaday · 0 upvotes · 0 comments
- [An handheld x86 retro computer with an XT-class 8086/V30 CPU running DOS 6.22 or Windows 3.0](https://daily.dev/posts/an-handheld-x86-retro-computer-with-an-xt-class-8086-v30-cpu-running-dos-6-22-or-windows-3-0-txjqu8dhz) · Two Stop Bits · 0 upvotes · 0 comments
- [This Mac Is Open Source Hardware](https://daily.dev/posts/this-mac-is-open-source-hardware-ovxa270uj) · Hackaday · 0 upvotes · 0 comments
- [GentleOS/16 is a vintage hobby OS that runs off a 48-year-old CPU and 192KB of RAM](https://daily.dev/posts/gentleos-16-is-a-vintage-hobby-os-that-runs-off-a-48-year-old-cpu-and-192kb-of-ram-zefn2fgvx) · XDA Developers · 0 upvotes · 0 comments
- [GentleOS/16 hobby OS for vintage 16-bit PCs](https://daily.dev/posts/gentleos-16-hobby-os-for-vintage-16-bit-pcs-hooo5mzsc) · Lobsters · 0 upvotes · 0 comments

---

Tags: [#general-programming](https://daily.dev/tags/general-programming), [#assembly](https://daily.dev/tags/assembly)

[View this post on daily.dev](https://daily.dev/posts/os8088----a-mac-style-gui-os-for-the-ibm-pc-xt-5eeukkqfl)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"os8088 -- a Mac-style GUI OS for the IBM PC XT","url":"https://daily.dev/posts/os8088----a-mac-style-gui-os-for-the-ibm-pc-xt-5eeukkqfl","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/os8088----a-mac-style-gui-os-for-the-ibm-pc-xt-5eeukkqfl"},"datePublished":"2026-08-09T02:04:12.302Z","dateModified":"2026-09-13T21:45:42.442Z","description":"os8088 is a hobby operating system for the Intel 8086/8088 (IBM PC/XT class hardware) that recreates a Macintosh System 1-style graphical desktop — entirely in...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/7eb6bb7bb6540910a76189bf5753af6f?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/7eb6bb7bb6540910a76189bf5753af6f?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Hacker News","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Hacker News","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn","url":"https://daily.dev/sources/hn"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/os8088----a-mac-style-gui-os-for-the-ibm-pc-xt-5eeukkqfl","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"general-programming,assembly","timeRequired":"PT5M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Hacker News","item":"https://daily.dev/sources/hn"},{"@type":"ListItem","position":3,"name":"os8088 -- a Mac-style GUI OS for the IBM PC XT"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/os8088----a-mac-style-gui-os-for-the-ibm-pc-xt-5eeukkqfl#faq","mainEntity":[{"@type":"Question","name":"How much RAM does os8088 need to run and what kernel size does it have?","acceptedAnswer":{"@type":"Answer","text":"os8088 runs in as little as 256KB of RAM on an Intel 8086 or 8088 processor. The kernel itself is 52,718 bytes, containing the scheduler, window manager, VGA/Hercules/CGA driver, mouse driver, sound layer, file manager, loader, Task Manager and Control Panel. The whole segment footprint, including buffers, is 59,031 bytes, leaving 6,505 bytes of headroom within the 64K segment limit. daily.dev surfaces deep systems-programming builds like this for developers exploring constrained, low-level OS design."}},{"@type":"Question","name":"Did GEM 1.0 from Digital Research really have overlapping windows on the IBM PC before Apple sued?","acceptedAnswer":{"@type":"Answer","text":"Yes, GEM 1.0 shipped for the IBM PC in February 1985 with a Macintosh-style desktop featuring overlapping windows and icons on stock XT hardware. Apple sued Digital Research, and the resulting settlement led to GEM Desktop 2.0 in 1986, which removed overlapping windows and desktop icons on the PC version, though the unaffected Atari ST version kept them. anyone researching GUI history on daily.dev can trace how legal disputes shaped early PC desktop design."}},{"@type":"Question","name":"How does os8088 achieve pre-emptive multitasking on an 8086 with no memory protection?","acceptedAnswer":{"@type":"Answer","text":"os8088 pre-empts tasks at the PC's stock timer rate of 18.2065 Hz, with every tick saving nine registers, swapping the stack pointer, and returning into a different program. It supports 12 task slots with 1,536-byte stacks each. There is no memory protection because the 8086 offers none, so every program shares one 64K segment with the kernel, which keeps context switches cheap. developers curious about low-level scheduling internals can follow more assembly-level OS work on daily.dev."}}]}
```

