The stage 2 bootloader for My Operating System (MOS)
Marcel Sondaar
Educational purposes
stage2_ia32_pc.asm | The stage 2 bootloader for My Operating System (MOS) |
Todo’s | |
Brendan Bug #1 - no kernel found error on P4 with less-than-perfect FDD | |
Functions | |
DoneLoad | prepare to boot mos86 |
GetDirCluster | DX = directory entry |
GetNextCluster | Gets the next cluster value from the FAT table |
LoadCluster | Loads a FAT cluster to RAM |
LoadSector | Loads a sector (linear) from floppy to RAM |
InitTextPos | Prepares the screen for addressing |
InitA20 | Enables A20 gate |
InitA20test | Sets carry if A20 is enabled |
InitGDT | Builds the bootstrap GDT |
InitMemMap | builds the memory map of this computer |
Todo’s | |
try alternative methods than E820 |
Gets the next cluster value from the FAT table
ES AX BX CX
Loads a FAT cluster to RAM
none
ES AX BX CX SI DI