- Atul for Marketing
- Topics
- OS

Writing a Minimal OS Loader That Boots into 32-Bit Mode
In this week’s Project52 build, I wrote a 512-byte boot sector that does far more than just boot — it switches the CPU into 32-bit Protected Mode, clears the screen, and prints a message without relying on BIOS or any operating system. This project builds directly on last week’s real-mode bootloader by going deeper into how modern systems actually start up. Instead of using BIOS interrupts like int 0x10, it sets up its own Global Descriptor Table (GDT), flips the protection bit in the CPU’s control register, and writes directly to VGA memory at 0xB8000. It’s a foundational leap from "printing in real mode" to "owning the machine in protected mode."


Writing a 512-Byte Boot Sector OS in x86 Assembly from Scratch
In Week 12 of Project52, I challenged myself to build an operating system from the most fundamental entry point possible: the boot sector. This 512-byte region at the start of a disk is the first code executed by the CPU after power-on, loaded directly into memory by the BIOS. Without relying on GRUB, Linux, or even a file system, I wrote hand-crafted x86 Assembly that runs in 16-bit real mode, interacts with BIOS interrupts, and produces output directly to the screen. This project was an exercise in minimalism, precision, and understanding the bare-metal mechanics of how all modern computing systems begin.
