Commit Graph

52 Commits

Author SHA1 Message Date
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
cd833184da use bx addressing in read_disk_raw 2024-10-13 20:51:16 -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
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
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
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
5a74cd86ad moved stuff that is only referenced in Stage2 to stage2 bss 2024-10-12 12:55:29 -04:00
9cde0333e6 remove PRINT_FUNC macro...this isn't it chief 2024-10-12 11:27:55 -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
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
d88b1bcb70 use gs for vesa framebuffer (was fs) 2024-10-08 20:23:16 -04:00
09d33086a0 converted error handler to a 16bit far jump
optimized the early error printer a bit to save some bytes
removed DEBUG_HCF macro
2024-10-08 08:53:30 -04:00
8e05e071e8 renamed files to show code vs defs
files that actually include code should be in .nasm files
defines/macros/non-code should be in .inc files
2024-10-07 20:41:15 -04:00
4c4c3b0e27 fixed read_disk_raw in ReadFATCluster
boot_drive and partition_offset are global pointers now
removed an extra error from mbr disk read
and some general formating and cleanup 😅
2024-10-05 20:14:00 -04:00
f5f5a330cd tons more work on modularizing the code 2024-10-05 18:55:00 -04:00
446dd451be more modularization and updating date in MIT licence header 2024-10-05 13:35:39 -04:00
64f2453d61 typo fix 2024-10-05 12:16:31 -04:00
867232890e Move fat32 and BIOS functions to their own files 2024-10-05 12:04:40 -04:00
a0df1cb100 remove the dword stack macros and just use the 32bit override 2024-10-05 10:13:18 -04:00
6b2b1d2fc9 change test kernel stage name
also pointed up a bug in memory.inc
2024-10-04 22:17:35 -04:00
aae0d6b5b3 increased disk size and moved bpb/ebpb a bit 2024-10-04 14:26:10 -04:00
c1c6b25e6e remove old kmem functions 2024-10-04 09:57:32 -04:00
438b784f2d kmemset and kmemcpy cdecl16 versions 2024-10-04 09:53:01 -04:00
abd8cba080 seperate error code for reading disk in mbr vs vbr vs stage2 2024-10-04 09:52:24 -04:00
d0635f4f3a add macros to prevent __CDECL16 stuff from being defined multiple times 2024-10-04 09:51:44 -04:00
d16323bac1 remove this and add it back to vbr.nasm 2024-10-03 20:59:25 -04:00
339216f6a2 add forked functions and remove from memory.inc for kmem* 2024-10-03 19:53:11 -04:00
f8585889f1 forking kmemset functions for stage2 usage 2024-10-03 19:52:24 -04:00
51d77eda6f forking kmemset functions to be updated later for mbr/vbr 2024-10-03 19:52:00 -04:00
91c37df3d0 update some of the dword stack macros 2024-10-03 19:33:07 -04:00
3f72d5ad31 move E820 function desc to memory.inc 2024-10-03 18:14:04 -04:00
0c36f9f1fd added entry & exit macros 2024-10-03 14:46:47 -04:00
f3de54fa9d moved reservation for bpb to a include 2024-10-02 10:25:59 -04:00
8a3b12774f small optimization to error printer
saves us 5 bytes of code (15 overall)
2024-09-21 13:45:15 -04:00
60a10e41e0 added debuging 'errors'
also there is special handling for them in error.inc
2024-09-21 13:28:52 -04:00
d7bd565279 MIT license applied to all project files 2023-08-22 16:03:46 -04:00