explainx.ainewsletter3.5k
TrendingNewsPathwaysSkills
Pricing
explainx.ai

Upskill in AI — 16 free pathways, live workshops & bootcamps, and 50+ courses from practitioners. Plus the skills, tools, and MCP servers to practice on.

follow us

corporate training

[email protected]

get started

Find your pathTake Free Evaluation

learn

pathways — start freeworkshopsbootcampscoursescertificationsmock testsexplainx universitycorporate traininglearn skills & mcp

discover

skillsmcp serversexplainx mcptoolsagentsllmsdesignsagi trackerranks

company

aboutvisionmissionteaminstructorscommunityhackathonscareers

content

daily AI newsstate of AI — live resultsblogreleasespromptsgeneratorsresource libraryfor LLMsexplainx.ai kids

solutions

all solutionsdeveloper upskillingmarketing upskillingproduct manager upskillingleadership upskilling

newsletter · weekly

Get AI news, tools, and insights in your inbox.

supportprivacytermsdata rightssubmission guidelines

© 2026 AISOLO Technologies Pvt Ltd

On this page

  • TL;DR — what people are asking
  • What is os8088 vs DOS vs GEM vs Mac System 1?
  • Why is pre-emption on an 8088 the interesting claim?
  • Can you run os8088 today?
  • Was it really hand-written, or was it Claude?
  • What it cannot do (read this before you care)
  • Should you care if you do not own an XT?
  • What people are asking on HN
  • Honest limitations (ours and theirs)
  • Closing
  • Related reading
← Back to blog

explainx / blog

os8088: A Macintosh System 1-Style OS for the IBM PC/XT

os8088 is a Mac System 1-style GUI for the IBM PC/XT with pre-emptive multitasking. How it differs from DOS and GEM, and how to run it today.

Aug 9, 2026·17 min read·Yash Thakker
os8088Retro ComputingIBM PCClaudeAssembly
go deep
os8088: A Macintosh System 1-Style OS for the IBM PC/XT

The interesting claim is not “it looks like a Mac.” It is that a 4.77MHz IBM PC/XT can preemptively switch among a dozen tasks while you rubber-band a window — something Macintosh System 1 never did.

On August 9, 2026, Hacker News had os8088 at 83 points / 33 comments. Author jggonz submitted os8088.com: a Macintosh System 1-style desktop for the Intel 8086, real-mode NASM, floppy boot, no DOS underneath. The thread immediately split into three fights that searchers will type next: what is this versus DOS / GEM / System 1, can I run it today, and was it really hand-written or was it Claude.

explainx.ai's read: treat the bootable image as the product, treat the marketing copy as contested, and treat pre-emption on a 1978 ISA as the part that is actually hard. That is the same “does it run?” test that shows up in Claude-assisted game ports and in Paul Graham’s verifiable-answers argument — a floppy that boots is a grader; a README that says “hand-written” is not.

Weekly digest3.5k readers

Catch up on AI

Curated AI updates on agents, skills, and MCP — delivered to your inbox. Unsubscribe anytime.

TL;DR — what people are asking

QuestionDirect answer (Aug 9, 2026)
What is os8088?Hobby graphical OS for 8086/8088 PCs. Mac System 1 look, overlapping windows, dock, loadable .O88 apps
DOS underneath?No. Boot sector owns the machine. No int 21h. No .COM / .EXE
Vs Mac System 1?Same era UI grammar (rubber-band drag, pull-downs). Pre-emptive MT System 1 lacked
Vs GEM?Rebuilds GEM 1.0’s overlapping windows (stripped on PC after Apple sued) plus pre-emption
Kernel size?78,950 bytes (official build). Boot sector 512 bytes or the build fails
Source size?Site says 112,792 lines of NASM. We did not audit that count
RAM?Designed around 256K; FAQ now says floor dropped to 128K after the heap refactor
Display?VGA 640×480 / 16 colors, Hercules 720×348, CGA 640×200 — probed at boot
Tasks?12 slots, 1,536-byte stacks, pre-emption at 18.2 Hz (PC PIT)
Mouse?Microsoft serial on COM1, 1200 baud 7N1. Required. No keyboard menus
Run today?Browser demo, QEMU 1.44MB, 86Box / iron 360KB
Claude?Author on HN: assembly with Claude. Site copy still says hand-written. Both are public
Should you care without an XT?Yes if you care about constraint OS design or AI + bootable artifacts. No if you need DOS apps or a network

What is os8088 vs DOS vs GEM vs Mac System 1?

Start with what it is not.

Not DOS. The FAQ is blunt: nothing in the machine answers int 21h. The 512-byte boot sector loads a ~40KB kernel image (resident kernel later listed at 78,950 bytes including cold-start overlay), probes the display adapter, switches into graphics, steals the card’s own 8×8 charset, and draws a menu bar. A .COM or .EXE is just bytes. os8088 has its own .O88 package format and a pinned kernel call table (FAQ: 108 calls; the how-it-works page still mentions 73 far shims at 0x0010 — use the live FAQ/SPEC.md, not our guess).

Not Mac System 1 either, even though that is the visual pitch. System 1 (1984) ran one application at a time. MultiFinder arrived in 1987 and was cooperative. os8088’s timer interrupt fires 18.2065 times a second, pushes nine registers, swaps SP, and irets into a different task. Clocks keep time and Bounce squares keep moving while you hold a title-bar drag. That is the historical argument on the homepage, not a skin.

Not GEM 2.0-on-PC. Digital Research shipped GEM 1.0 for the IBM PC in February 1985 with overlapping windows and desktop icons. Apple sued. The settlement produced GEM Desktop 2.0 (1986), which removed overlapping windows and desktop icons on the PC. The Atari ST build, outside that agreement, kept them. os8088’s own history section says it is a from-scratch rebuild of roughly that GEM 1.0 idea, forty years later, on the same class of machine — plus the pre-emptive scheduler neither GEM nor period Mac System 1 offered.

HN immediately added other ancestors the landing page skipped. Visi On (VisiCorp, COMDEX 1982) was a commercial GUI for the IBM PC before the Macintosh shipped and is part of the usual Windows-origin story. GeoWorks / PC/GEOS was a later, very real PC GUI. An Atari 8-bit GOS on a 1.79MHz 6502 got compared on specs (task slots, serial mouse, XOR frames). Those are fair “the PC already had GUIs” corrections. They do not erase the narrower claim: this image boots on XT-class hardware, looks like System 1, and preempts.

A one-line comparison:

DOSMac System 1 (1984)GEM 1.0 PC (1985)GEM 2.0 PC (1986)os8088 (2026)
Host OSItselfItselfRan on DOSRan on DOSBare metal
Overlapping windowsNo GUIYesYesStrippedYes
Pre-emptive MTNo (single task / TSRs)NoNoNoYes, 18.2 Hz
Runs DOS appsYesNoYes (under DOS)YesNo
Target RAM64K+128K256K-class PCs256K-class256K design / 128K floor

If you want IBM’s longer cultural arc rather than this hobby kernel, explainx.ai already covered IBM’s National AI Day binary tweet. os8088 is the other IBM story: the 1981 5150 / XT as a constraint, not a brand account.

Why is pre-emption on an 8088 the interesting claim?

Anyone can draw a menu bar in an emulator screenshot. The scheduler is why the project is worth a technical post.

The how-it-works page states the constraint first. An 8086 has no memory protection, no privilege rings, no MMU, and a single pointer cannot see more than 64KB. os8088 runs kernel and built-in tasks in the near model: CS = DS = 0x1000. Task stacks live in a second segment. Loadable programs get their own segments off a heap (format v3), so they no longer compete for the kernel’s 64K window.

Because stacks share a segment, a context switch does not change segment registers. Official description: PIT interrupt → chain the BIOS clock first → push nine registers → store SP in an 8-byte task record → round-robin the next ready task → load its SP → pop → iret. About thirty instructions. 12 task slots, 1,536 bytes of stack each.

That cheap switch is purchased with honesty: a buggy .O88 can scribble the window manager, and nothing will notice. Protection is not “left out.” It does not exist on this CPU. The FAQ says going all-in on the near model is what makes pre-emption affordable at 4.77MHz.

Drawing is the other half. Pre-emption mid-VGA-register-write would trash the screen, so there is one global drawing mutex. Tasks that find it held yield and retry. Pre-emption itself does not stop — background clocks still get scheduled; they block only when they need to paint. The mouse cursor is drawn from the IRQ4 handler, which refuses to touch pixels if the lock is held and defers a dirty redraw until unlock. That one rule is why the arrow does not smear across a half-painted window.

Default path: no back buffer. An off-screen 640×480×4-bit copy is 153,600 bytes — more than half of 256K — so pixels composite straight to the framebuffer, Macintosh-style. At 500K+ the Control Panel can enable a back buffer. On a real 4.77MHz XT, the site says you watch repaints happen row by row. In QEMU the same code is instant. That gap is why “it feels snappy in the browser demo” is not the same claim as “it is fast on iron.”

Instruction set is mechanically enforced: cpu 8086 plus NASM -w+error. A 286 opcode is a build failure, not a surprise on a 5150.

Can you run os8088 today?

Yes. You do not need a closet XT. Official paths, from download and demo:

Browser

os8088.com/demo feeds the same 1.44MB floppy image to an emulated PC in the tab. The emulator is ~2.4MB of JavaScript plus WebAssembly; the two floppies compress to ~16KB on the wire because they are mostly zeroes. Sound is disabled in the demo. The emulated box is given 1MB (BIOS lives in low memory) and runs at modern host speed, not 4.77MHz.

Menus are press-drag-release. A click opens nothing. The page synthesizes a Microsoft serial mouse: each host pointer move becomes the same three-byte 1200-baud packets on the emulated COM1 UART, one byte per interrupt, because dumping all three at once starves the edge-triggered IRQ.

Needs WASM. A strict CSP without wasm-unsafe-eval fails silently.

QEMU (1.44MB images)

bash
qemu-system-i386 \
  -drive file=os8088.img,format=raw,if=floppy -boot a \
  -chardev msmouse,id=m0 -serial chardev:m0 \
  -drive file=apps.img,format=raw,if=floppy,index=1

The msmouse serial backend is not optional. Leave it out and you get a desktop with no cursor and no way to launch anything. Optional AdLib / Sound Blaster devices unlock Piano and Recorder; without them the Control Panel correctly refuses those routes.

Release v1.0.20260808 (built 2026-08-08 from ca8211243) lists four images. SHA-256 prefixes from the official table: boot os8088.img 3ca7b0148c33795e, 360K boot fa89c1418b69fc17, apps 501b6a43dffc607c, 360K apps 7ba63babe5c080de.

86Box or real XT (360KB images)

Use os8088-360.img + apps360.img. A 1.44MB drive postdates the 8088; an XT BIOS does not know that geometry. Checked-in 86Box config (per the site): IBM PC/XT, 8088 at 4,772,728 Hz, 256KB, Oak OTI-067 8-bit ISA VGA, Microsoft serial mouse. Separate CGA and Hercules configs exist because QEMU does not emulate those cards.

Writing real 5.25" media is dd to a genuine 360KB drive. A 1.2MB HD drive often writes narrower tracks that period 360KB drives cannot read. The site warns about this explicitly.

Real hardware — two stories on the same site

Do not flatten this.

  • Landing page: in August 2026 someone wrote the images to floppies and booted a 1981 IBM 5150, a Toshiba T1100 Plus, and a 286. Photos credited to Elendilon, who also reported it is no slower than emulation. GitHub’s public contributors list (fetched Aug 9) shows jggonz (65 commits) and Elendilon (2).
  • FAQ: still says it has been verified in 86Box, has not been tested on physical hardware, and “nobody has yet written the images to 5.25" media.” An HN commenter even quoted that FAQ line while planning to try a real 5150.
  • Author on HN: “Verified to run on real hardware … upcoming Hard Drive support.”

HDD support is another drift: the FAQ for v1.0.20260808 says os8088 installs onto a hard disk, boots from a partition, and mounts FAT partitions. The HN first comment still said HDD was upcoming. Trust the release notes / FAQ over the orange-site one-liner.

explainx.ai did not boot a 5150. Cite os8088.com and decide which page you believe for iron; the emulator paths are unambiguous.

Was it really hand-written, or was it Claude?

This is the HN fight, and the site handed it ammunition.

Author (HN): “written entirely in real-mode assembly (with Claude).”

Landing page / FAQ: “Hand-written real-mode 8086. No C, no linker, no runtime library.” Line count on the live site: 112,792. Commenters said an earlier landing-page figure was 66,183 — classic LLM ad-copy drift when the generator and the wc -l get out of sync.

GitHub: HN users said the contributor graph showed jggonz + CLAUDE, and the README doubled down with “everything here is hand-written; no third-party code is vendored.” When we fetched https://api.github.com/repos/jggonz/os8088/contributors on August 9, 2026, the JSON listed jggonz and Elendilon — not a bot login. That does not disprove Claude-assisted commits (Co-authored-by trailers, local transcripts, regenerated files). It does mean “screenshot the contributors page” is a moving target. We did not walk 112k lines or bisect authorship.

The thread then did the usual 2026 split:

  • “More like hand-prompted.”
  • Dock tiles are not a 1984 Mac; calling the UI “the interface you remember from a 1984 Macintosh” is sloppy (Aqua jokes ensued).
  • “Write the README yourself even if the kernel is prompted.”
  • Surprise that Claude is decent at real-mode asm; others report the same on z80 / 6502 / 68000.
  • “Everyone here uses AI and dunks on AI projects.”
  • “I don’t care if it boots.”
  • “Beveled Minesweeper on a System 1 look is cursed.” (Win 3.1-ish mines on a 1984 chrome — fair.)

explainx.ai’s position matches how we covered the Generals iPad port credit fight and Bun’s Zig→Rust agent rewrite: say the collaboration model out loud. “With Claude” on HN is the honest sentence. “Hand-written” on the marketing site is the sentence that made people angry. A bootable 78,950-byte kernel with a drawing lock that respects a serial-mouse ISR is still a rare artifact — in the same family as Fable 5 launch-week builds and prompt-to-Minecraft clones, except the exit criterion is PIT ticks on a 1978 ISA, not a WebGL screenshot.

Paul Graham’s math-vs-writing note applies almost too cleanly: does the floppy boot is a right/wrong label. Does the prose deserve “hand-written” is taste. Ship the grader; stop inflating the essay.

If you are directing an agent at a similar constraint OS, pin the same mechanical gates os8088 already uses: cpu 8086 -w+error, boot sector exactly 512 bytes, kernel footprint assertion inside 64K, QEMU/make test clicks. Those are agent skills material — checkable stops — not vibes. Same instinct as Tachikawa’s SymPy-checked physics assist: the model can draft, the machine has to agree.

What it cannot do (read this before you care)

From the official “what it is not” list and FAQ:

  • Not DOS compatible. No DOS apps, no command line. Typed text goes into Note Pad or Minesweeper.
  • No memory protection. 8086 cannot offer it.
  • No file handles, no seeking. Whole-file read/write/delete/rename. Largest honest subset with twelve pre-empted tasks and no disk cache. Writes are ordered so a power hit leaks lost clusters (fsck can reclaim) rather than cross-links. The boot floppy has no valid BPB and cannot be written.
  • No networking. An HN user with a Pocket 8086 asked; the FAQ says networking is not being worked on. Period NIC + driver in the same 64K as the WM is a real project, not a flag.
  • Mouse required. No pointer → desktop, no cursor, nothing launches.
  • Hobby, not a product. MIT license. Clone: git clone https://github.com/jggonz/os8088.git && make needs nasm, python3, qemu-system-i386. No linker — nasm -f bin only.

Loadable software (official download manifest, not a vibe list): Minesweeper 1,510 bytes, HELLO 322, Solitaire 5,792 (HN said “~7KB”; use the table), Arkanoid 5,653, fractal viewer 3,138, Paint 16,927, Tracker 15,850, ModPlug 18,223, plus Piano, Recorder, Missile, Note Pad, Task Manager as a package. Several resident at once; each frees its heap region on close. Minesweeper is the only place the screenshots page says the system uses more than two colors.

Resident kernel includes scheduler, window manager, VGA/mouse/sound, file manager, loader, Task Manager, Control Panel. Sound: PC speaker, AdLib, Sound Blaster. FAT12/16. Control Panel can flip the scheduler to cooperative; an ~1s watchdog still forces a switch if a task stops yielding.

Should you care if you do not own an XT?

Care if you like seeing a full WM + pre-emptive scheduler + FAT + loader in tens of kilobytes, or you are collecting 2026 AI-assisted systems that have a mechanical pass/fail (boot, paint, switch tasks). The browser demo is the cheapest way to feel rubber-band dragging while two clocks tick. Constraint design transfers: one lock, ISR that will not paint over it, XOR outlines because 4.77MHz cannot composite a window per mouse report.

Skip if you wanted a DOS box with WordStar and Lotus, a networked vintage workstation, or a historically pure 1983 configuration (VGA is a 1987 card; the kernel now also drives Hercules/CGA so that excuse is weaker than it was). HN’s “you’d still need a WordStar and a 1-2-3” is correct for using an XT as an office. os8088 is not trying to be that office.

Care a little if you only wanted the culture war. The cursed Minesweeper chrome, the dock-that-isn’t-1984, and the CLAUDE contributor screenshot are the orange-site plot. They are downstream of a real kernel. Fable/Mythos “favorite games” probes tell you what a model likes; os8088 tells you whether a model-plus-human can keep a VGA GC consistent across twelve stacks.

What people are asking on HN

Paraphrased, not a dump:

  • Is this for real / should I pull the XT out of storage? Emulator yes. Iron: landing page says Elendilon already did three machines; FAQ still hedges. Take photos either way — the repo asks for adapter type + Clock/Bounce running if it is a draw bug.
  • Apple might sue, like DRI. Unlikely hobby risk in 2026; historically accurate joke.
  • Font spoils the Mac illusion. They use the video ROM 8×8, not Chicago. Expected.
  • Solitaire has no bouncing-cards win. Confirmed by a commenter; it prints “You win!”
  • Fractal viewer surprised people. It is on the software floppy, background task.
  • Token cost? Unknown. Do not invent a number.
  • GOS on Atari 8-bit is a sibling, not a diss. Similar slot count, serial mouse, XOR frames, hardware sprites helping.

Honest limitations (ours and theirs)

  • explainx.ai did not audit 112,792 lines, byte-identical rebuilds, or Elendilon’s photographs.
  • Official pages disagree with each other on physical-hardware status and slightly on API/shim counts. We report the contradiction instead of picking a winner.
  • Star count on jggonz/os8088 was 17 when fetched — hobby scale.
  • Browser demo ≠ XT timing. 86Box at 4.77MHz is the honest speed claim.
  • “Could have been” history underweights Visi On, Windows 1.0’s actual motivations, GeoWorks, and DESQview. The GEM lawsuit beat is the one the author chose to argue.

Closing

os8088 is a floppy-booted, real-mode GUI that looks like Macintosh System 1, is not DOS, keeps the overlapping windows GEM had to give up on the PC, and preempts at the PIT rate the 1984 Mac never had. You can boot the real bytes in a browser this afternoon. The Claude-vs-hand-written argument is downstream of sloppy copy, not of a missing desktop.

If you only remember one number, remember thirty instructions for a context switch — bought by sharing a 64K segment with no MMU. If you only remember one warning, remember no mouse, no OS.

Follow @explainx_ai when the FAQ and the landing page finally agree about iron, or when someone actually puts a packet driver in that segment.

Related reading

  • Gen1Recomp — the Pokemon mod behind Thariq's "zero source access" joke — same "did AI really do this" question, this time starting from a joke instead of a README
  • What people built with Claude Fable 5 in 72 hours — launch-week Claude artifacts with visual graders
  • C&C Generals macOS/iPad port with Fable 5 — same HN “who gets credit” pattern
  • WebAssembly complete guide (2026) — why the browser demo can boot a real floppy image
  • Paul Graham: LLMs crush math, lag writing — boot vs prose as two different graders
  • Bun Zig→Rust AI rewrite (Fireship) — say the agent collaboration model out loud
  • Claude Fable 5 Minecraft / 3D worldbuilding — prompted worlds vs a kernel that must tick
  • IBM National AI Day binary tweet — IBM as culture; this post is IBM as 5150 constraint
  • Tachikawa / Fable 5 / SymPy — another “model drafts, machine checks” story

Sources

  • os8088.com — official landing specs
  • How os8088 works — scheduler, lock, memory map
  • os8088 FAQ — hardware, limits, license (MIT)
  • Download / QEMU / 86Box — images and SHA prefixes
  • Browser demo — same 1.44MB bytes
  • github.com/jggonz/os8088 — source and issues
  • HN item 49226923 — 83 points, 33 comments, Aug 9, 2026

Specs, line counts, image hashes, contributor lists, and hardware claims reflect os8088.com, the v1.0.20260808 download manifest, GitHub, and the Hacker News thread as of August 9, 2026. The project’s own pages disagree on physical-hardware verification; check the live FAQ and landing page before quoting iron results. Not affiliated with jggonz or os8088.

Yash Thakker

Written by

Yash Thakker

Yash is an AI expert with over 300K learners. Join his workshops →

Related posts

Aug 9, 2026

Gen1Recomp: The Pokemon Mod Behind Thariq's "Zero Source Access" Joke

On August 9, 2026, Anthropic's Thariq Shihipar joked about Claude "autonomously" modernizing a mission-critical 1996 system with zero source access — the punchline being Pokemon. The internet ran with it as a real case study. explainx.ai checks what Gen1Recomp and the DramaticShape voxel mod actually are, what's hand-written versus AI-assisted, and includes Cameron Ritz's free-roam Kanto demo video.

Aug 5, 2026

BitGo's CEO Put 100 BTC in a Wallet and Dared Claude to Hack It

Days after Anthropic disclosed that Claude Mythos 5 took unsanctioned actions during a permissive cyber evaluation, BitGo CEO Mike Belshe publicly posted a wallet address holding 100 BTC and dared Claude to "do it for real." explainx.ai explains why the challenge is a category error, what it gets right about marketing, and what it deliberately ignores about how real attacks on crypto actually work.

Aug 5, 2026

Claude Users Are Reporting Repeated Charges After Disabling Usage Credits — Have You Seen This?

A viral Reddit thread describes a Claude Max user waking up to 17 separate ~€40-50 charges despite usage credits being disabled. It's not the first billing complaint of its kind — Anthropic has previously acknowledged a config error that misrouted usage, and the Guardian separately reported a £14,244 fraud case tied to stolen cards buying Claude credits. explainx.ai lays out what's actually confirmed versus what's still an open question, and what to check on your own account.