0000000002_ ๐Ÿง  VDOS Step 02 โ€“ Real Bootloader - MohammadMovi/VDOS GitHub Wiki

๐Ÿ“Œ Overview

This step introduces a real bootloader written in 16-bit assembly language that is directly executed by the BIOS during system startup.

๐ŸŽฏ What We Achieve

  • Build a 512-byte bootable image (boot.img)
  • Load it at memory address 0x7C00
  • Display a message using BIOS interrupt int 0x10
  • Halt the system

๐Ÿงฌ Technical Breakdown

  • Instruction set: x86 Real Mode
  • Org origin: ORG 0x7C00
  • Message stored in memory and printed via lodsb + int 0x10
  • Boot signature 0xAA55 added manually to make image bootable

๐Ÿงช How to Test

nasm -f bin boot.asm -o boot.img
qemu-system-x86_64 -drive format=raw,file=boot.img

You should see:

๐ŸŸข VDOS Booting Successfully!

๐Ÿ“ฆ Files

File Description
boot.asm Assembly source of the bootloader
boot.img Compiled 512-byte boot sector binary

๐Ÿ” Concepts

  • BIOS loading process

  • Boot sector memory map

  • x86 interrupts (int 0x10)

  • Text printing without OS

๐Ÿงญ Next Steps

โ†’ Add keyboard input
โ†’ Build a simple shell
โ†’ Load files from floppy (FAT12-like structure)


---
โš ๏ธ **GitHub.com Fallback** โš ๏ธ