Commit Graph

416 Commits

Author SHA1 Message Date
507a05949f account for .sign section in bytes_remaining calculation 2025-09-10 11:36:40 -04:00
caed66a243 don't relocate the MBR to the stage2 heap space
this will save us disk reads for patition table info
2025-09-10 11:36:10 -04:00
d5cd8d6c45 remove unused early_mem.inc 2025-09-09 18:54:28 -04:00
b0f118b139 remove unused 2025-09-09 18:54:15 -04:00
71d50cdbd8 move the bpb_offset_bx file to old fat32 2025-09-09 18:50:34 -04:00
3c654b1be0 more rtfm'ing with encoding, 25 bytes of free code space in vbr now 2025-09-09 18:37:39 -04:00
0d90b3efd6 I rtfm'ed and saw there was a push m/16 encoding
mbr now has 93 bytes free for more code
2025-09-09 18:25:24 -04:00
b08605f295 remove dep on fat32_structures 2025-09-09 17:47:17 -04:00
aa0efe5ff8 a bunch of planning for what the new FAT driver should probably look like. 2025-09-09 17:02:35 -04:00
700148a2f6 disable fat32 parts to keep the build...building 2025-09-09 17:01:44 -04:00
14ef0151ca move old fat32 system to fat32/old 2025-09-09 17:01:14 -04:00
1d696371d2 updated QEMU args to match as close as possible to bochs 2025-09-09 17:00:41 -04:00
d30abe7a27 don't need to keep these dir's 2025-09-09 17:00:12 -04:00
d6f6076d45 don't need the directory here 2025-09-09 12:09:31 -04:00
4e05efaa6b Big cleanup in Makefile to follow Makefile standards a bit better.
minor edits to create-disk.sh to work with some of the changes for now
2025-09-09 11:03:50 -04:00
7cc0b4a392 first round of refactoring for the Makefile 2025-09-09 10:06:35 -04:00
9a6fea658d bugs
All checks were successful
Daily Build and trunk tester / debian_update (push) Successful in 51s
2025-09-07 18:43:03 -04:00
891bff9509 use __CDECL16 macros and clean up a few proc calls 2025-09-07 17:38:21 -04:00
1e181bc22c remove print_string macro 2025-09-07 16:25:08 -04:00
68c8200aa4 remove invoke macro for now 2025-09-07 16:21:19 -04:00
766c67c041 first calls to use the new cdecl16 macros 2025-09-07 16:11:18 -04:00
49d82be0e8 use rotate instead of stack context in macros 2025-09-07 16:10:59 -04:00
69bd7d8f56 small clean up and use configured segment for return to real mode 2025-09-07 14:50:40 -04:00
875527aa98 output to bochs magic debug port as well 2025-09-07 14:49:21 -04:00
c0d47d4db0 re-organize bochs config, added USB 1.0/1.1/2.0 and e1000 network 2025-09-07 14:48:35 -04:00
81a3442ac5 remove magic debug from unrealmode entry 2025-09-07 13:51:23 -04:00
3ec55f5a39 change some macro names to make them more clear 2025-09-07 13:33:26 -04:00
9493aefa68 rename __CDECL16_ENTRY and EXIT 2025-09-07 13:29:24 -04:00
6f2fc627be new fancy macros to make it nicer to call functions 2025-09-07 13:16:37 -04:00
20c715fadd update notes on unreal entry 2025-09-07 13:15:40 -04:00
920c623a93 update README.md
All checks were successful
Daily Build and trunk tester / debian_update (push) Successful in 1m5s
2025-09-06 13:56:00 -04:00
af8e7d74d3 I don't plan on using mmx/sse, set the minimum cpu to a 686 2025-09-06 13:55:45 -04:00
fde7abc544 replace or opcode with test
test only updates flags
2025-09-06 08:38:16 -04:00
69223a1ad2 explaination on the power of two stuff
All checks were successful
Daily Build and trunk tester / debian_update (push) Successful in 1m21s
2025-09-05 20:54:29 -04:00
130cd22ff1 remove unreal mode stuff from cdecl16.inc 2025-09-05 20:33:00 -04:00
4e5112b45b move unreal mode hackery back to stage2.nasm 2025-09-05 20:32:19 -04:00
66e8e3c7fc prototype allocate function 2025-09-05 19:55:08 -04:00
b0bd4b27b0 🎉 simple allocator init in the code 2025-09-05 16:48:24 -04:00
cd316afdd1 basic arena allocator implementation 2025-09-05 16:42:25 -04:00
9a478aa4d4 added another __REFLAT variant 2025-09-05 16:28:01 -04:00
31d05c35e5 move __TINY_DS_ES to unreal_mode function
also some cleanup
2025-09-05 16:18:34 -04:00
534e04ef34 fix a typo 2025-09-05 15:48:43 -04:00
f58bf93507 don't exit if we are running as root
just warn
2025-09-05 15:45:33 -04:00
b5ae11f850 set ds/es to a tiny memory model after entering Unreal mode
ss/fs/gs will all be huge/flat model after
2025-09-05 15:43:22 -04:00
b9b3e92632 actually set cs to 16-bit segment for a bit in-case we want to run some pm code 2025-09-05 15:26:24 -04:00
5fac10f02c use easier to read logic 2025-09-05 14:40:44 -04:00
fa4524aa59 add macros to go from real <-> unreal 2025-09-05 14:39:16 -04:00
01ec6da0cc make unreal mode unreal again 2025-09-05 11:45:46 -04:00
2e2b4f991d add cursor manipulation via bios or crtc 2025-09-05 11:45:20 -04:00
d7b29d9113 __CDECL16_ENTRY now takes 0-1 params, if you give it a size it sets up local varible redzone 2025-09-05 11:44:30 -04:00