summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md32
1 files changed, 32 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..87e6b93
--- /dev/null
+++ b/README.md
@@ -0,0 +1,32 @@
+## 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.