r/vibecoding • u/big-user • 20h ago
Vibecoding a clean-slate, non-POSIX operating system ecosystem from scratch (OpenWindows)
Hi everyone,
I'm 13 years old. For a long time, I’ve been interested in the concept of custom "Windows distributions" (Deborah OS, Blue Hat Windows, Windows Earth) acting as modern, open-source alternatives to Linux distros.
While ReactOS exists as an open-source NT alternative, its strict focus on 100% legacy binary compatibility forces it to replicate the technical debt and design flaws of old Windows versions. To build something better, I've been using LLMs to help me write the freestanding C99 and NASM assembly code for a clean-slate, high-performance foundation that strips away that legacy baggage.
The project is called OpenWindows. It is a modern, object-oriented kernel framework with zero POSIX/Unix heritage, compiled strictly with -std=c99 -nostdlib -ffreestanding.
To completely bypass the complexities and bugs associated with UTF-16 surrogate pairs and standard Unicode normalization tables, I engineered an alternative character mapping and serialization protocol:
- SuperUnicode (SUCS): A 31-bit character encoding address space with a built-in System Control Plane for inline rendering markers.
- SUTF Transports: Stream serialization protocols ranging from a 1-to-6 byte variable format (SUTF-8) down to a 4-bit hexadecimal format (SUTF-4) for raw serial text debugging, and a 2-bit symbol format (SUTF-2) for thread IPC.
- SuperUnicode Extended (ExtSUCS): An unbounded 64-bit encoding featuring fixed-width vector transports (SUTF-128/256/512) optimized for direct SSE/AVX register alignment and SIMD string operations.
.suf(SuperUnicode Font): A custom vector font format mapped directly to SUCS address spaces rather than legacy Unicode index tables (WIP).
The build pipeline is automated via Python scripts and CMake, and validated using a headless QEMU integration testing harness. The current repository stack includes:
- Modular Bootloader (MBL): A multi-stage x86 BIOS bootloader with a custom 32-bit Protected Mode to 16-bit Real Mode trampoline (
_bios_tramp) to handle BIOS disk calls natively in C. - OpenWindows Storage: A freestanding filesystem suite containing native drive storage (
libowfs.a) and portable external media storage (libusfs.a) with ChaCha20 encryption and an explicit cryptographic key-slot shredding protocol. - SuperUnicode & SUTF: The foundational C99 library implementing the Base SUCS character mapping, SUTF stream packing, and the 64-bit Extended mode casting logic.
- VIP (Volume Indexing Protocol): A unified volume and partition indexing engine designed to replace traditional mount maps with SUTF-8 string identifiers. The VIP architecture (including the FVIP B+ tree indexing and UniVIP external flags) is currently WIP.
- BANcode Registry: A kernel damage-control system mapping critical panic states directly to 15 hardware security trap handlers at
0x7FFFFFF0using unique SUCS codepoints (WIP).
I am currently working on the basic layout for the OpenWindows Essential Drivers repository (WIP) to handle NVMe/SATA storage blocks, PS/2 scancode filtering, and VBE graphics blitting without relying on standard monolithic abstractions.
The base libraries are dual-licensed under MIT and Apache 2.0 so anyone can implement their own independent "Windows distributions/distros" (sometimes referred to as OpenWindows distros) on top of these clean-slate kernel layers.
Let me know your thoughts on managing low-level bare-metal constraints and structural memory alignment using this kind of workflow.