UnoDOS is a graphical operating system written from scratch, running on everything from a Commodore 64 to a modern UEFI PC. Every platform below is a download. Load one in an emulator and check for yourself.
One codebase, built fresh for each machine rather than ported through a compatibility layer. The same desktop, window manager and applications appear on an 8-bit console with 2 KB of RAM and on a modern 64-bit PC, because everything above the hardware is generated from or checked against a single machine-readable contract.
On the x86-64 build it carries its own storage, input, network and audio drivers, its own TCP/IP stack, a web browser, an office suite that reads and writes the real Microsoft formats, and a C compiler that runs on the operating system it compiles for. The whole image is about four megabytes.
The full source is on GitHub under the Mozilla Public License 2.0. Per-port status, including what has been verified on real hardware and what has not, is in PLATFORMS.md.
Release v3.32.0. Every file below is built from the same source tree. Pick a machine, load the file in the emulator named beside it, and you are running UnoDOS in about a minute.
| Machine | File | Size |
|---|---|---|
| IBM PC / XT (8088) | unodos-144.img1.44 MB floppy image · QEMU, 86Box, PCem, or a real PC with a floppy drive | 1.4 MB |
| Modern PC (x86-64 / UEFI) | unodos-pc64.isohybrid UEFI ISO · Attach to a VM's CD-ROM: QEMU with OVMF, VirtualBox, VMware | 59.8 MB |
| Modern PC (BIOS or UEFI) | unodos-pc64-hybrid.img.gz96 MiB disk image, gzipped · Decompress and write to USB with dd or Rufus. Boots legacy BIOS and UEFI alike, on any PC from roughly 2007 on | 13.8 MB |
| Commodore 64 | unodos_c64.d64D64 disk image · VICE (x64sc), or write to a real disk / SD2IEC | 171 KB |
| Commodore VIC-20 | unodos_vic20.prgPRG program · VICE (xvic) | 5 KB |
| Nintendo NES / Famicom | unodos.nesiNES ROM (NROM-256) · Mesen, FCEUX, or a real console via EverDriveHardware run covered the base apps plus Dostris; the four later parity apps are emulator-verified only. | 40 KB |
| Super Nintendo | unodos.sfcSFC ROM (LoROM) · Snes9x, bsnes, or an SD2SNES / FXPakOn real hardware, tested only on a SupaBoy clone with an FXPak Pro: boots and is navigable, but icons render text-only and there is no audio. | 32 KB |
| Game Boy / Game Boy Color | unodos.gbGB ROM (CGB-compatible) · SameBoy, BGB, mGBA, or an EverDrive GB | 32 KB |
| Game Boy Advance | unodos.gbaGBA ROM · mGBA, or an EZ-Flash / EverDrive GBA | 20 KB |
| Sega Master System | unodos.smsSMS ROM · Emulicious, MAME, or an Everdrive MD/SMS | 32 KB |
| Sega Game Gear | unodos.ggGG ROM · Emulicious, MAME | 32 KB |
| Sega Genesis / Mega Drive | unodos.genGenesis ROM · BlastEm, Kega Fusion, or a Mega EverDriveBoots from a flashcart. The PS/2, tape and Sega CD adapters are emulator-only. | 64 KB |
| Sega Dreamcast | unodos-dc-uui.isoselfboot CD image · Flycast, redream, or burn to CD-R for real hardware | 658 KB |
| NEC PC Engine / TurboGrafx-16 | unodos.pcePCE ROM · Mednafen, Ootake, or a Turbo EverDriveBoots on a Turbo EverDrive v2.5 under TEOS only; the stock Krikzz v2 OS rejects the ROM. | 48 KB |
| Bandai WonderSwan | unodos.wsWS ROM · Mednafen | 64 KB |
| Sony PlayStation 2 | unodos-ps2.elfEE ELF executable · PCSX2, or a real PS2 via uLaunchELF | 2.1 MB |
| Commodore Amiga (68K) | unodos68k.adfADF disk image · WinUAE or FS-UAE. Attach unodos-data.adf as DF1 for the app disk | 880 KB |
| Apple II | unodos_apple2.dskDSK disk image (.woz also provided) · AppleWin, MAME, or a real II via a Floppy Emu | 140 KB |
| Apple IIgs | unodos_iigs.poProDOS 800K image · GSplus, MAME | 800 KB |
| Macintosh Plus | unodos_macplus.dsk800K disk image · Mini vMac | 800 KB |
| PowerPC Macintosh | unodos_ppcmac.binOpen Firmware binary · QEMU (qemu-system-ppc) | 23 KB |
| Raspberry Pi (AArch64) | kernel8.imgbare-metal kernel image · Copy to the boot partition of an SD card, or QEMU (qemu-system-aarch64)Boots to the desktop on a real Pi 3, with two known faults: the background renders brown (pixel-order swap) and input is serial-only, no USB HID. | 27 KB |
| PinePhone (Allwinner A64) | unodos_pinephone.binbare-metal image · Emulator and instruction-level harness onlyEmulator-verified only. Confirmed NOT to boot on a real PinePhone; treat the hardware path as untested. | 26 KB |
Wi-Fi firmware is not included. The x86-64 build drives Intel wireless adapters, but that firmware belongs to Intel and is not ours to redistribute, so published images ship without it. Everything else, including wired Ethernet, works out of the box.
You only need this on real hardware: a virtual machine's emulated network card works without it. Write the image to a USB stick, then run unodos-wifi-firmware-tool.zip, which fetches the blob for your card and puts it on the stick under the name the driver expects. It double-clicks on Windows and macOS and needs nothing installed beyond Python.
Macintosh (System 1-7) is not in this release. The Retro68 cross-toolchain on the build machine is incomplete, so this port has no current binary. The source is in the repository and builds once Retro68 is installed.
Nothing here needs a special environment. Clone the repository, pick a port, run its build script.
git clone https://github.com/hmofet/unodos
cd unodos/c64 && ./build.sh # -> build/unodos_c64.d64
Each port's build script names the assembler or cross-compiler it needs and stops with a clear message if it is missing. The per-port audit documents in the repository root record what has been tested and where.