145e9fbaa9
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
8f95c8f267
tons more work on modularizing the code
2024-10-05 18:55:00 -04:00
5440a1ae61
more modularization and updating date in MIT licence header
2024-10-05 13:35:39 -04:00
d6af15a7a6
typo fix
2024-10-05 12:16:31 -04:00
a4fa48949c
Move fat32 and BIOS functions to their own files
2024-10-05 12:04:40 -04:00
0a1123c5b5
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
e162e268c4
remove the dword stack macros and just use the 32bit override
2024-10-05 10:13:18 -04:00
62f036b645
change test kernel stage name
...
also pointed up a bug in memory.inc
2024-10-04 22:17:35 -04:00
fdbfd811d5
increased disk size and moved bpb/ebpb a bit
2024-10-04 14:26:10 -04:00
d93236d298
some bpb/ebpb tweaks
2024-10-04 11:48:25 -04:00
86fd76e909
remove old kmem functions
2024-10-04 09:57:32 -04:00
3f029e6b4c
vbr cdecl overhaul
...
refactored read_disk_raw to read_stage2_raw
switched to new kmem functions
2024-10-04 09:56:41 -04:00
30c4f1b82c
move cdecl macros to nearly the top so early functions can use them
2024-10-04 09:55:45 -04:00
597132df9f
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
63e6f1fac8
kmemset and kmemcpy cdecl16 versions
2024-10-04 09:53:01 -04:00
4ee766304b
seperate error code for reading disk in mbr vs vbr vs stage2
2024-10-04 09:52:24 -04:00
d5aa70daf3
add macros to prevent __CDECL16 stuff from being defined multiple times
2024-10-04 09:51:44 -04:00
ec1f40c305
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
36e3bd968a
change FAT partition type to 0Ch from 0Bh (W95 FAT32 LBA was CHS/LBA)
2024-10-03 21:00:49 -04:00
36b8869140
add bpb and ebpb reserve area back to vbr.nasm
2024-10-03 21:00:02 -04:00
41b9bf5134
remove this and add it back to vbr.nasm
2024-10-03 20:59:25 -04:00
b96f587921
add forked functions and remove from memory.inc for kmem*
2024-10-03 19:53:11 -04:00
89ebe30ad8
forking kmemset functions for stage2 usage
2024-10-03 19:52:24 -04:00
e98cc41403
forking kmemset functions to be updated later for mbr/vbr
2024-10-03 19:52:00 -04:00
27c41c8b0a
update some of the dword stack macros
2024-10-03 19:33:07 -04:00
015def8d52
rough pass on fixing the stack across the board
2024-10-03 19:02:47 -04:00
8157dd301c
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
4d05d2ae4c
move E820 function desc to memory.inc
2024-10-03 18:14:04 -04:00
de5b0ddc5d
cdecl16 update for EnterUnrealMode
2024-10-03 17:59:29 -04:00
2cfe86efac
refactored and validated MemoryMap funciton
2024-10-03 17:41:48 -04:00
c8ca94d7ba
some general cleanup & moving the halt to the next point in main()
2024-10-03 16:43:10 -04:00
ac6110aa40
cdecl16 work and cleanup in MemoryMap
2024-10-03 16:34:27 -04:00
46717935a1
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
f691000a31
cdecl16 for EnableA20 ver.1
2024-10-03 15:10:22 -04:00
c524d8801d
replace prologs and epilogs in cdecl functions so far
2024-10-03 14:51:43 -04:00
0084747765
added entry & exit macros
2024-10-03 14:46:47 -04:00
929962eaca
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
054f4320ba
fixing how the stack works stage1 😳
2024-10-02 12:37:21 -04:00
2f6bd2e2d8
remove comment about CC, see docs/
2024-10-02 11:59:34 -04:00
7c446ef3b2
load our base headers in the same order as the mbr
2024-10-02 10:26:36 -04:00
2bbfa0931b
moved reservation for bpb to a include
2024-10-02 10:25:59 -04:00
8e595e8eba
added some clarification on cdecl16
2024-10-02 10:13:45 -04:00
5e4e40f7de
removed ata1 from windows bochsrc
2024-10-02 10:13:00 -04:00
6db97e3258
added bxrc config to launch on windows hosts
2024-09-21 14:09:52 -04:00
d42ee1df60
small optimization to error printer
...
saves us 5 bytes of code (15 overall)
2024-09-21 13:45:15 -04:00
96a8103e11
added debuging 'errors'
...
also there is special handling for them in error.inc
2024-09-21 13:28:52 -04:00
a5702bd92e
partially revert change, sti is still in init
2024-09-21 12:32:49 -04:00
bdc1fc5bf0
added -P option to losetup
...
this fixes an issue that appeared on WSL2 recently(ish)
2024-09-21 12:04:05 -04:00
1c27b665b0
ignore vscode personal configs
2024-09-21 11:46:36 -04:00
abc79adeb7
remove reallocation in mbr init
...
also reenable interupts in the init block
2024-09-21 11:45:22 -04:00