6 extern set_up_page_directory
9 %include "../fat32/fat32-structs.s"
18 extern __STACK_BOTTOM__
22 mov sp, __STACK_BOTTOM__
37 call read_cluster_chain
44 cmp byte [es:di], 0 ; end of root directory
46 cmp byte [es:di], 0xe5 ; unused entry
66 mov ax, [es:di+dir_entry.firstclushi]
68 mov ax, [es:di+(dir_entry.firstcluslo)]
72 call read_clus_chain_unreal ; load kernel
99 ; edi - address to load to
100 read_clus_chain_unreal:
121 movzx eax, word BPB_BytsPerSec
122 movzx bx, byte BPB_SecPerClus
140 ; ecx - bytes to copy
165 %include "../fat32/fat32.s"
208 call set_up_page_directory
214 mov dword [0xb8000], 0xcf28cf3a
220 kernel_name: db "KERNEL BIN"
221 begin: db "Nameless Bootloader revision ", GIT_REVISION, 0xd, 0xa, 0
222 a20_enabled: db "A20 has been enabled", 0xd, 0xa, "Searching for kernel...", 0xd, 0xa, 0
223 a20_fail: db "Failed to enable A20, giving up!", 0xd, 0xa, 0
224 crit_err: db "A critical error occurred, dumping registers now: ", 0xd, 0xa, 0
225 kernel_found: db "Found kernel at cluster ", 0
226 kernel_loading: db 0xd, 0xa, "Loading kernel...", 0xd, 0xa, 0
227 kernel_loaded: db "Kernel successfully loaded.", 0xd, 0xa, "Setting up kernel environment and running kernel...", 0xd, 0xa, 0
228 missing_kernel: db "Could not find KERNEL.BIN", 0xd, 0xa, 0
241 newline: db 0xd, 0xa, 0