VOGONS


First post, by hestermofet

User metadata
Rank Newbie
Rank
Newbie

I've been building a small graphical OS from scratch and the retro half of it is probably more at home here than anywhere else, so here it is.

The XT build. 8086 real-mode assembly, boots from a single 1.44 MB floppy or from a CF card on an XT-IDE (FAT12 and FAT16, read and write). CGA 320x200 four-colour desktop with a mouse, overlapping windows and cooperative multitasking, and a VGA mode where the card allows it. It ships with Sys Info, a file manager, Notepad, Paint, a four-channel tracker, a music player, Clock, Settings, a Tetris (Dostris), a Pac-Man, and OutLast. No FPU needed, no EMS, no DOS underneath: it owns the machine from the boot sector up.

Tested on real hardware across 8088 to 486, including a PS/2 L40 and, at the other end, an Eee PC. The cycle-accurate 8088 build has so far only run under MartyPC with GLaBIOS and the XT-IDE universal BIOS, never on a physical 5150/5160. Which is my ask: if you have a real XT, a 286 or an odd 386/486 chipset, I would love a boot report, good or bad. The floppy image is unodos-144.img on the release page.

01-xt-desktop-cga.png
06-xt-glabios-xtide-martypc.png

The modern build.
The same OS family, forty years of hardware later: an x86-64 build that boots BIOS or UEFI from one hybrid image on most PCs made since about 2007, with its own AHCI/NVMe/USB/network drivers, a TCP/IP stack, a browser, an Office 97-style suite that opens real .doc and .xls files, and UnoAmp, a Winamp 2 clone that loads classic skins. It has a Windows 3.1 theme, which felt mandatory. Secure Boot has to be off. Other ports of the same tree run on the Amiga, C64, Mac Plus (on a real SE), NES, Genesis and a few more. I've tested NES, SNES, and a few other unusual systems you wouldn't expect to be able to run a graphical OS, using real hardware. Would love reports of this running on real hardware, as currently many other platforms have only been tested on emulators so far.

12-pc64-theme-win31.png
10-pc64-modern-desktop.png
07-amiga-68k-winuae.png

Links: the 8088 build booting on real hardware a year ago:
https://www.youtube.com/watch?v=QjB2LECJLTE
the modern build, 8-minute tour: https://youtu.be/OCIYLjtTpu8
boot the modern one in a browser tab to try it yourself (without having to write an image to disk): https://unodos.arinbakht.com/try/

Source and all the images (MPL 2.0):
https://github.com/hmofet/unodos/releases/tag/v3.35.0 ·

What runs where:
https://github.com/hmofet/unodos/blob/master/PLATFORMS.md

I built this by directing AI coding agents, and I did not handwrite the code. I know how many of you feel about that. The source and the unsquashed commit history are public, so judge the results and not just the process. I am happy to answer anything about how it was done, including the many, many things that went terribly wrong before I finally got something right.

Reply 1 of 3, by wbahnassi

User metadata
Rank Oldbie
Rank
Oldbie

Standard XTs don't support 1.44MB disks to my knowledge.. it's better to make a 720KB image in order to support the wider range of XTs instead of only ones modded for high-density drives.

Turbo XT 12MHz, EGA, MFM HDD
Intel 386 DX-33, Speedstar 24X, SB 1.5, FDDx3
Intel 486 DX2-66, CL5428 VLB, SBPro 2, 2x CD
IBM BlueLightning 100MHz, CL5428, SB16, 4x CD
Intel Pentium 90, Matrox Millenium 2, SB16, 4x CD
HP Z400, Xeon 3.46GHz, YMF-744, RTX2060

Reply 2 of 3, by BinaryDemon

User metadata
Rank Oldbie
Rank
Oldbie

Damn AI does amazing things.

Reply 3 of 3, by hestermofet

User metadata
Rank Newbie
Rank
Newbie
wbahnassi wrote on 2026-10-09, 23:18:

Standard XTs don't support 1.44MB disks to my knowledge.. it's better to make a 720KB image in order to support the wider range of XTs instead of only ones modded for high-density drives.

Excellent idea, great feedback. The other 720KB isn't really necessary, so a 720KB disk image would be a lot more usable. Right now, there is a .img file that will work in an XT-IDE, but I should definitely provide a native 720KB image as well.

I forgot I filmed this footage, this was way back in February, after about a month of development. It's booting on an IBM PS/2 L40 SX laptop.... OS has come a LONG way since then, but thought this crowd would appreciate a brand new operating system booting on 40 year old hardware. 😁
https://youtu.be/hyuzrv9pGz0

I think what's very different for UnoDOS compared to any period-correct IBM compatible OS is that it's written to be entirely graphical. There is no text mode at all, it's written to rely entirely on IBM BIOS' CGA modes. It simply doesn't support MDA or any text modes at all. As a result, it won't work on computers like the HP 95LX. It should work on the 100LX and 200LX though. I do actually have a couple 200LXs, I should dig them up and test. Without a mouse attached, it would be a bit difficult to do anything though.