Commit Graph

69 Commits

Author SHA1 Message Date
Ain
70a675442a Reorder disk access and fix missing si setting 2020-04-16 23:04:06 +02:00
Ain
27e4dec580 Implement loading BPB from media 2020-04-15 23:51:07 +02:00
Ain
23ddd6b41a Implement some PoC of reading from disk 2020-04-15 00:17:58 +02:00
Ain
6b49a20865 Implement syscall subfunction jump table 2020-04-13 18:03:54 +02:00
39ef1f9a3e Implement some syscall handling 2020-04-13 13:53:21 +00:00
6ba3e0c071 Implement stack switching for dos syscall entry point 2020-04-10 15:00:26 +00:00
f46871502c Pave way for supporting FAT16 and FAT12 2020-04-06 19:20:15 +00:00
e34accfcff Improve support for auto-selecting LBA addressing 2020-04-04 21:05:44 +00:00
3b438074ef Reorder fat32 bootsector to reduce number of calls/rets 2020-04-04 16:03:02 +00:00
1e99086fc6 Add CHS+LBA dual support for boot sector 2020-04-04 14:29:33 +00:00
3da473a00c Use optimized error handling for boot sector 2020-04-03 17:38:33 +00:00
cb48e628db kernel stub: force large size to make sure cluster chaining works 2020-04-01 13:09:01 +00:00
1981a8efba fat32 bs: use BPB include header and base off BP
We now set BP once at the start to point to the beginning of the BPB.
Encoding an direct address access can then be done relative to BP, which
saves an immediate byte per access.
2020-03-31 20:03:05 +00:00
9044e3948c Remove BASE macro and companions 2020-03-31 19:46:59 +00:00
eabb1d9fa9 Properly set up registers when chainloading from boot sector 2020-03-30 20:41:32 +00:00
bc096f41d3 Compact bootloader code 2020-03-30 19:43:07 +00:00
0b2a7e7b64 fat32 bootloader: implement directory recursing and kernel load
this is actually working now.
2020-03-30 18:50:17 +00:00
bbe006c9bc Improve FAT offset calculation 2020-03-30 15:23:51 +00:00
955acdacba Split code up into directories for bs and com binaries 2020-03-30 12:14:47 +00:00
bc238a3bf9 i still dont know what im doing 2020-03-01 16:45:16 +00:00
4847eb4d88 Revert "Throw out previous x86 stuff"
This reverts commit 807db4a592.
2020-03-01 12:03:35 +00:00
Ain
807db4a592 Throw out previous x86 stuff 2019-12-22 02:52:40 +01:00
Ain
eb67071ffb Ubuntu needs stdint.h for uint8_t 2019-11-24 11:28:39 +00:00
af61db5e40 Improve memory position handling 2019-10-28 10:49:42 +00:00
47630b2c03 Implement boot based on reserved sectors 2019-10-28 10:38:18 +00:00
f81de2bfe8 Rename kernel to bdos 2019-10-27 18:59:42 +00:00
Ain
f6b8df0598 Remove misplaced data 2019-10-12 15:10:19 +00:00
Ain
d1dab01633 Rename rdos.sys to rdos.bin
*.sys is meant for DOS-like driver binaries. I actually have a flat
binary with a specific load offset.
2019-09-29 21:26:59 +00:00
Ain
56f9df5773 Throw DOS api away, re-layout memory to fit CP/M model 2019-09-29 08:52:00 +00:00
Ain
80a7b03ddc Provide config file via CX (len) and BX (ptr) to kernel entry 2019-09-24 21:33:04 +00:00
Ain
a4e6a943b0 Make bootloader load both kernel and kernel config 2019-09-24 21:14:29 +00:00
Ain
cd7aafde09 Run kernel with from offset 0
I try to get the interrupt handlers into a offset as low as possible.
This is necessity if i want to relocate it later on its own.

For running from HMA, a minimal offset of 16 bytes would still be
necessary.
2019-09-23 22:06:29 +00:00
Ain
df4d3a90e3 Use SYS extension for kernel 2019-09-23 22:05:01 +00:00
Ain
0b7d141af7 Add warning about mformat overwriting bootsector code 2019-09-23 21:19:12 +00:00
Ain
705cd5c725 Remove command line parsing from bootloader 2019-09-23 20:25:39 +00:00
Ain
54149839a3 Rename fatvbr -> fat, generalize makefile 2019-09-21 18:05:41 +00:00
Ain
c70f388548 Get MBR ready, add hdimage target 2019-09-17 22:41:39 +00:00
Ain
7c4a618385 Add first attempt of a MBR 2019-09-17 21:53:10 +00:00
Ain
da03aa1481 Relocate boot sector to 0x600 2019-09-16 12:05:15 +00:00
Ain
fe42e9145a fatvbr: correctly setup segment registers 2019-09-15 19:49:58 +00:00
Ain
bfb5b227b6 Fix cmdline setup in fatvbr 2019-09-15 17:51:44 +00:00
Ain
e143159a7a Rename floppy bootsec into fatvbr, thats more accurate 2019-09-15 17:33:01 +00:00
Ain
567e09f7e9 Bootloader: parse cmdline field 2019-09-15 17:26:09 +00:00
Ain
4c9086e365 Rework bootloader to have adjustable memory layout 2019-09-14 13:18:23 +00:00
Ain
05c7e905d0 Fix copying of kernel arguments 2019-09-08 11:00:19 +00:00
Ain
b6972dcc69 Fix floppy VBR: wrong stack location 2019-09-08 10:03:00 +00:00
Ain
e7108f6622 Fix max argument length 126 -> 127 2019-09-08 01:05:32 +00:00
Ain
d853b87ec7 Use COM-based format, get bootloader working 2019-09-08 01:04:01 +00:00
6b424844e9 Optimize fix_chs code 2019-06-24 17:05:57 +00:00
78d5b6aa28 Add prototype for serial bootloader 2019-06-24 16:47:31 +00:00