a hobby operating system made from scratch.

Download ZeaxOS v1.5

a 2 MB ISO that boots from a CD or a disk image — QEMU and VirtualBox supported

About

ZeaxOS is a small operating system I'm making to see how much of a computer I can build myself.

It has its own bootloader and a 64-bit kernel written mostly in C and assembly, with a graphical console, keyboard and mouse, IDE/SATA storage, an in-memory filesystem, user accounts and a shell.

It also comes with ZAP, a small scripting language that can build real graphical apps, and a few bundled programs like a text editor, games and a paint tool.

There are some example ZAP apps on the zap page — a calculator and a file browser.

There's a bit of networking now too: it can ping, resolve names and download files over HTTP.

It's still being worked on, so things will probably break from time to time.

Updates
v1.5

Shell and ZAP fixes

The terminal now wraps long command lines properly — editing, the cursor and Up/Down history all work across wrapped rows, where before they only handled a single line.

ZAP's sleep() now refreshes the execution budget, so interactive scripts that yield each frame can run indefinitely. A tight loop that never sleeps is still stopped.

Added two example ZAP apps on the zap page: a calculator and a file browser.

by Yzedeka 21 September 2026
v1.4

Networking

Added network drivers for the Intel e1000 and the AMD PCnet, so ZeaxOS is online in both QEMU and VirtualBox.

ARP and IPv4 with gateway routing, so addresses outside the local network work too.

ICMP ping, and you can ping names as well as addresses (there's now a small DNS client).

A basic TCP client and an HTTP client on top of it.

New commands: ping <ip|host> and zx -i http://host/file, which downloads a file straight onto the OS.

Only plain http:// for now - no HTTPS yet.

by Yzedeka 21 September 2026
v1.3

zeatch

zeatch - a fastfetch-style summary of the machine with the ZeaxOS logo. It prints at boot and you can run it any time.

Small fixes to the status bar and the console so coloured text keeps its colour after a full-screen app.

by Yzedeka 21 September 2026
v1.2

More scripting

The scripting language got a lot bigger: booleans, nil, arrays and dictionaries.

Functions with parameters, return values and recursion, plus anonymous functions and closures.

More control flow: while, do-while, for, for-in, switch, break/continue and ternary expressions.

Error handling with try / catch / throw.

A graphics and GUI toolkit (windows, buttons, labels, text boxes, menus), so ZAP can build real apps instead of just terminal programs.

Filesystem access, a small standard library (strings, maths, random, time) and import for splitting code into modules.

by Yzedeka 20 September 2026
v1.1

Zap Coding

ZAP - a small scripting language for ZeaxOS: variables, arithmetic, strings, if/else and comments. Run scripts with run file.zap.

Editor: zoom in and out, horizontal scrolling, Ctrl+Backspace to delete a word, and Ctrl+Esc to exit.

Paint: a 40-colour palette and undo/redo.

Shell: move the cursor around a command with the arrow keys while typing.

by Yzedeka 20 September 2026
v1.0

First release

A bootloader written from scratch, booting from CD or disk on a BIOS PC.

A 64-bit kernel with a framebuffer console, keyboard and mouse support and a status bar.

Storage support (IDE and SATA) with a small in-memory filesystem.

User accounts with hashed passwords and persisted settings.

A shell with a pile of commands, and a few apps: text editor, snake, tetris, clock and paint.

by Yzedeka 20 September 2026