## Disclaimer ----------------------- For now, assumes that A20 is already enabled on your device by BIOS. ## Why Bash? ----------------------- I like it more, and feels more customizable than makefile. This project is not going to be permanent anyways, just some bootloader. ## Disk Mapping ----------------------- 0x0 - 0x200 -> Master Boot Record (MBR) 0x200 - 0x9ff -> Stage 1 * - * -> Stage 2 ## Memory Mapping ----------------------- 0x7c00 - 0x7e00 -> BIOS MBR 0x7e00 - 0x9200 -> stage 1 ## Stages ----------------------- - early stage 1 (MBR) The only duty of this stage is to load the stage 1 bootloader. - stage 1 1. Detects available video memory, and RAM memory. 2. Switches to 32-bit execution and protected mode. - stage 2 1. Switches to 64-bit execution (long mode). 2. Implements a FAT driver to load a kernel (or OS) file from disk.