DEV Community

AdrianBolt
AdrianBolt

Posted on

BoltOS: The new era of challenging hobby OS development. (FULL DOOM PORT AND DRIVERS!)

Building an operating system from scratch is one of the ultimate challenges for a software engineer. Recently, I came across BoltOS (hosted on GitHub at adriantips/boltossource), a fascinating 64-bit higher-half hobby operating system written entirely in C and Assembly.
Instead of just recycling legacy tutorials, BoltOS aims for a modern environment—skipping old limitations to support advanced hardware and even running Windows binaries natively.
Here is a quick breakdown of what makes this project so cool:
🚀 Technical Highlights
Dual Bootloaders: Supports both a custom legacy BIOS bootloader (entering long mode via unreal mode) and a UEFI bootloader (BOOTX64.EFI) handling GOP and memory maps, mapping the kernel to 0xFFFFFFFF80100000.
Modern Storage Stack: Features a generic block layer with functional drivers for ATA/IDE PIO, AHCI (SATA), and crucially, NVMe (featuring hardware MSI/MSI-X interrupts with polling fallback).
VFS & Persistent Storage: Includes a native RAM file system (BoltFS), read-only EXT2, and read-write FAT32 support where files and user accounts actually survive reboots.
Native PE32+ Executable Loader: One of the wilder features—the kernel can parse PE32+ headers, bind import tables against an in-kernel kernel32 shim, and run real Windows x86-64 console .exe files directly inside the OS!
GUI & TrueType Font Rasterizer: Features a custom windowed GUI powered by a from-scratch TrueType (.ttf) rasterizer that parses bezier outlines, alongside PCI display controller probing (Bochs DISPI/VBE).
Networking & Web Browsing: Packs a network stack, a custom browser engine, and a port of NetSurf.
Of Course... DOOM: It wouldn't be a proper OS project without it. BoltOS successfully runs a port of doomgeneric using a tiny in-house freestanding libc shim.
Check it out
If you are into low-level systems programming, OS dev, or just want to dig into how a hobbyist implements NVMe drivers and Windows binary translation from scratch, check out the repository:
🔗 GitHub: https://github.com/adriantips/boltossource

This OS I found, is made by very much, ME!

Top comments (0)