Commit Graph

132 Commits

Author SHA1 Message Date
56c18d8457 correct drive_num argument on read_disk_raw 2024-10-14 13:18:41 -04:00
cfda93048b replace text documentation with markdown 2024-10-14 10:44:44 -04:00
c49de28a15 use bochs magic breakpoints in the error printer
makes it easier to get a good state to do some investigating before reseting.
2024-10-13 20:53:13 -04:00
4a013b4a59 enable magic in the normal bochsrc.txt 2024-10-13 20:51:34 -04:00
cd833184da use bx addressing in read_disk_raw 2024-10-13 20:51:16 -04:00
7617b11199 Merge pull request #3 from Nivirx/bss-setup
convert MBR, VBR, & Stage2 to use a BSS section.
2024-10-13 18:05:19 -04:00
86564b2356 added partition_table and fat32_bpb params to stage2
also the partition table and fat32_bpb and passed/copied from the mbr/vbr now
2024-10-13 17:54:06 -04:00
5ba7801926 bss for vbr stage 2024-10-13 17:52:28 -04:00
35e9aec059 fixed bss init in mbr 2024-10-13 17:52:09 -04:00
736aad85e5 pass location of partition_table structure to vbr 2024-10-13 16:41:39 -04:00
f51d8b4142 initial work on a macro to call read_disk_raw 2024-10-13 16:37:52 -04:00
3693eca940 add reserved space for jmp short init at the start, technically this is part of the bpb anyways 2024-10-13 16:37:29 -04:00
a383f7cfb4 remove defs for memory locations (moving to bss) 2024-10-13 16:36:55 -04:00
c1a9d449df bss convertion for mbr stage 2024-10-13 16:36:11 -04:00
ce6240249a turns out huge unreal mode isn't supported in bochs
huge unreal mode is 4GiB code in 16bit mode + 4GiB data
we will just use the regular big flat model instead (64KiB code/4GiB data)
2024-10-13 14:50:49 -04:00
963dec5281 unreal gdt tweaks & fixes 2024-10-13 13:22:01 -04:00
3d1877d7fe remove map files as well 2024-10-12 22:16:17 -04:00
eb97aac673 relocate code sections to end up with stage2 starting at 0x500 2024-10-12 22:14:47 -04:00
c60bad1066 reduced stage2 to 24KiB 2024-10-12 22:13:12 -04:00
050f90517a follow standard proceedure and reallocate the mbr to 0x600 2024-10-12 21:21:43 -04:00
555cf1271b partially roll back changing the segment to 0x07E0 2024-10-12 20:25:04 -04:00
8fea1f0a06 big step...and also its completely broken right now
we are going to use 0x07E0 as our base segment so we have a bit
more memory to work with until we are fully in 32bit protected mode.

this commit is broken but is just one step towards a working release.
2024-10-12 15:41:39 -04:00
b49b2bae68 correct typo 2024-10-12 15:39:16 -04:00
5abbfa4d15 definition corrections in part table stuff 2024-10-12 15:39:04 -04:00
83aa7d1147 use early_mem.inc 2024-10-12 15:38:47 -04:00
ac6ad77249 renamed mem.inc and removed unused items 2024-10-12 15:38:24 -04:00
bc89850c00 first version of kmemcpy5/kmemset4 2024-10-12 14:48:26 -04:00
12fc8a1e37 use NASM defined size value from structure macro 2024-10-12 12:58:32 -04:00
baa146bef5 BIOSMemoryMap is a location in bss now, use lea 2024-10-12 12:58:16 -04:00
d1217182d4 minor cleanup related to memory refactor 2024-10-12 12:57:56 -04:00
5a74cd86ad moved stuff that is only referenced in Stage2 to stage2 bss 2024-10-12 12:55:29 -04:00
69c068f6be stage2 is now a multisection binary file
also preparing to move memory globals to bss section.
2024-10-12 11:29:20 -04:00
63421661a7 output symbol maps to ease debuging 2024-10-12 11:28:25 -04:00
9cde0333e6 remove PRINT_FUNC macro...this isn't it chief 2024-10-12 11:27:55 -04:00
6ff96deabc ignore nasm symbol map files 2024-10-12 11:27:20 -04:00
96de8cd9c7 move far jump setup in EnterUnrealMode to right after we save CS 2024-10-11 21:51:07 -04:00
daa6337285 added debug config for bochs 2024-10-11 21:49:15 -04:00
d73a4eea6c move macro definition super early
fix a few mistakes in macro defs
2024-10-11 19:31:31 -04:00
5703bad704 added macros to define cstr and str
aligned all the entry points for proceedures to 4 bytes
added a PrintString wraper macro
2024-10-11 19:05:15 -04:00
a3f0684c85 added bochs debug wrappers 2024-10-11 19:03:27 -04:00
a8da6eef72 split e820 bios call documentation to its own file under docs/ 2024-10-11 17:20:53 -04:00
d9e46f5571 correct src size in op 2024-10-11 16:52:57 -04:00
0250d9351d inlined ClusterToLBA
removed caller save kludge for now
init first_root_dir_sector from ebpb data
2024-10-11 15:55:24 -04:00
e8fb22c826 somewhat of a cludge, but added a macro to save all caller saved regs 2024-10-11 14:25:01 -04:00
df3b8dfc0c fix passing stage2 wrong data for boot drive 2024-10-11 13:09:17 -04:00
3a819a685a use kmemset to 0 out fat32_state in InitFATDriver 2024-10-11 13:00:45 -04:00
5ccd2fb12f reduce proceedure local storage to 16 bytes 2024-10-11 12:59:36 -04:00
ccb82f29fc rename file to BOOT.BIN
K.I.S.S.
2024-10-11 12:16:01 -04:00
f665d7fcaa more comments to seperate setups 2024-10-11 12:08:09 -04:00
94034eb7bf force 1-1 logical to physical sectors
copy our VBR code to backup VBR
2024-10-11 12:04:44 -04:00