Commit Graph

169 Commits

Author SHA1 Message Date
4535b89eaf clarify clobbers 2024-10-19 11:17:04 -04:00
ee9fd9b684 corrected a few instances of accessing boot_drive incorrectly after the location change 2024-10-19 11:08:19 -04:00
6ff9a2307f clear Next cluster data in bss on every NextCluster call 2024-10-19 10:54:58 -04:00
d98786072c use movzx instead of goofy mov word and and mask the upper bits 2024-10-18 07:58:40 -04:00
b7e2a8e886 use bx rel addressing for fat32_state in SearchFATDIR 2024-10-18 07:58:09 -04:00
94c2a1626d correct some field sizes 2024-10-18 07:57:42 -04:00
48f0de8f7b clean up 2024-10-18 07:30:23 -04:00
b606e28958 clean up of comments 2024-10-18 07:30:14 -04:00
45aeb9b3d0 ClusterToLBA to fastcall
cleanup of NextCluster
2024-10-17 20:36:05 -04:00
046821ff7a add fastcall-ish macro for light functions
only does a stack frame setup with no locals space
2024-10-17 20:35:12 -04:00
520f877b05 make space in bss directly for boot_drive and partition offsets 2024-10-17 20:33:44 -04:00
508bf1aa55 update a few missed fields and correct ALIGN on FSInfoPrinter
disable bad cluster jmp for now
2024-10-17 14:34:23 -04:00
ccf846909a update field name 2024-10-17 14:33:42 -04:00
4708c78d54 correction 2024-10-17 14:33:32 -04:00
6942c4dbb4 bit smaller of an instruction 2024-10-17 14:33:22 -04:00
9d4479bd86 clear dh and al 2024-10-17 14:17:15 -04:00
496a389ba4 remove newline and fix stack at end 2024-10-17 14:16:14 -04:00
2b3ab1dc3a changed informational strings 2024-10-17 14:15:49 -04:00
85a8f0da1c rewrite InitFATDriver to use si/di/bx relative addresses 2024-10-17 10:34:32 -04:00
b5cc1c9ec1 move fsinfo just for my easy reading 2024-10-17 10:33:52 -04:00
e12ea89fda changing names of values to match spec more
also added prototype for FS info printer that will print some basic santity check type info.
2024-10-17 07:50:37 -04:00
e33f010f73 added carry and divz checks across the fat32 code
also use the pointers we have in bss to our saved data
2024-10-16 11:58:57 -04:00
c9f4b18d2b some debuging text for fat32 stuff 2024-10-15 20:37:49 -04:00
e680620148 remove some redundant reloads of si
use xchg to swap si/di instead of the stack
uninline ClusterToLBA call
2024-10-15 20:01:24 -04:00
fb54c65caf remove jmp short init at the start of stage2
also correct total size output as combined .data + .text
2024-10-15 18:33:57 -04:00
7f6436297e align to 16 byte bounds and add git info to build 2024-10-15 18:28:06 -04:00
5159ef8a7c correct size of operand in PrintDWORD
added some magic debug points for stuff that isn't working as well.
2024-10-15 13:32:36 -04:00
56e8081118 magic debug before touching anything in error printer 2024-10-15 13:31:51 -04:00
50b08f6b72 turn off magic debug in mbr/vbr stages 2024-10-15 13:31:32 -04:00
a97e3bea9b removed bpb_offset_bx dep
reworked init: process
512 byte stack...should be more than enough for the vbr
2024-10-15 12:57:54 -04:00
aa8c7b67ab moved stack to end of bss & reduced size for now.
removed redzone label
reordered sp/bp setup and bss zeroing in init:
fixed kmemcpy call stack usage
2024-10-15 12:56:12 -04:00
b4621a7fb8 reduced stack size in mbr stage
removed some unused data in bss
reordered how/when in init we set sp/bp and zero bss
we now push the top of the stack pointer/bp at the top of the stack, which makes the stack frame more 'normal'
also use movsb instead of movsw
2024-10-15 12:53:22 -04:00
5f9567d44e include disk signature and reserved bytes in part table struct 2024-10-15 12:51:34 -04:00
2020408e8d ha ha ha, again! 2024-10-15 12:51:02 -04:00
405a5ff20e I guess wx work again on Debian Trixie? 2024-10-15 12:50:51 -04:00
4660882edb change entry points (again) 2024-10-14 17:58:43 -04:00
f683b8fd17 16 KiB stage2 2024-10-14 17:58:30 -04:00
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