Commit Graph

74 Commits

Author SHA1 Message Date
ca195e6048 force the first jump to init in all stages to be the rel8 version 2024-10-07 20:39:39 -04:00
db45a5cf8b jmp imm32 vs jmp rel8 (5 bytes vs 2 bytes) 2024-10-06 21:46:32 -04:00
aac964c378 cutting out everything from miniboot
this file has always just been a place holder to get some code to load from the disk
I wanted to cut out all the extra stuff in it just to simplify things down.
2024-10-06 18:52:20 -04:00
3c40190f23 surpress some of the relocation warnings for mbr, vbr & stage2 2024-10-06 18:50:32 -04:00
39e977ea2c make the Linux bochs run more inline with the Windows one 2024-10-06 15:37:19 -04:00
7e0cd2a931 Merge pull request #2 from Nivirx/FAT_Refactor
Full refactor for modularization
2024-10-05 20:19:51 -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
bcb9fc2176 removed extra part probe and added sleep before removing disk
also back to putting the test 32bit mode code on the root of the volume
2024-10-05 10:14:02 -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
db1d0295c5 some bpb/ebpb tweaks 2024-10-04 11:48:25 -04:00
c1c6b25e6e remove old kmem functions 2024-10-04 09:57:32 -04:00
ecd858f030 vbr cdecl overhaul
refactored read_disk_raw to read_stage2_raw
switched to new kmem functions
2024-10-04 09:56:41 -04:00
e45f1cb27d move cdecl macros to nearly the top so early functions can use them 2024-10-04 09:55:45 -04:00
a6a774484f cdecl16 overhaul for mbr code
switch to cdecl kmem* functions
refactored read_disk_raw to read_vbr_raw
fixed a small issue where the mbr wasn't checking its signature
2024-10-04 09:55:19 -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
4e7a9e00d7 added isoz stage to make a compressed disk image
also included a work around for a WSL bug in create-disk.sh
2024-10-04 07:57:56 -04:00
e3f0d34336 change FAT partition type to 0Ch from 0Bh (W95 FAT32 LBA was CHS/LBA) 2024-10-03 21:00:49 -04:00
60ad0d71e0 add bpb and ebpb reserve area back to vbr.nasm 2024-10-03 21:00:02 -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
e03322b129 rough pass on fixing the stack across the board 2024-10-03 19:02:47 -04:00
7fbb9b13e2 swap order of entering Unreal mode and getting an E820
also InitFATDriver should be ok to add to the start process again.
2024-10-03 18:15:18 -04:00
3f72d5ad31 move E820 function desc to memory.inc 2024-10-03 18:14:04 -04:00
09366afbdf cdecl16 update for EnterUnrealMode 2024-10-03 17:59:29 -04:00
269e90a122 refactored and validated MemoryMap funciton 2024-10-03 17:41:48 -04:00
768260540f some general cleanup & moving the halt to the next point in main() 2024-10-03 16:43:10 -04:00
d2194ab835 cdecl16 work and cleanup in MemoryMap 2024-10-03 16:34:27 -04:00
94ed76be82 src/stage2/stage2.nasm:573: warning: label alone on a line without a colon might be in error [-w+label-orphan] 2024-10-03 15:28:44 -04:00
9080533175 cdecl16 for EnableA20 ver.1 2024-10-03 15:10:22 -04:00
a3af2a5825 replace prologs and epilogs in cdecl functions so far 2024-10-03 14:51:43 -04:00
0c36f9f1fd added entry & exit macros 2024-10-03 14:46:47 -04:00
3804f1c4be bunch of changes mostly to do with cdecl16 conformity
moved top of stack marker to init
SetTextMode and Cursor done before hello msg
corrected CC/Stack usage to conform with cdecl16 for PrintString
corrected CC/Stack usage to conform with cdecl16 for PrintChar
corrected stack usage to conform with cdecl16 for SetTextMode
corrected stack usage to conform with cdecl16 for disable_cursor
2024-10-03 13:49:44 -04:00
a6835df63e fixing how the stack works stage1 😳 2024-10-02 12:37:21 -04:00
18bb9a5691 remove comment about CC, see docs/ 2024-10-02 11:59:34 -04:00
cbd7244e87 load our base headers in the same order as the mbr 2024-10-02 10:26:36 -04:00
f3de54fa9d moved reservation for bpb to a include 2024-10-02 10:25:59 -04:00
e057dbdbe3 added some clarification on cdecl16 2024-10-02 10:13:45 -04:00
b654e900ed removed ata1 from windows bochsrc 2024-10-02 10:13:00 -04:00
d813b03de9 added bxrc config to launch on windows hosts 2024-09-21 14:09:52 -04:00