Commit Graph

106 Commits

Author SHA1 Message Date
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
Ain
1259fe14fe Rework VBR 2019-05-19 20:07:08 +00:00
Ain
c288bbffb9 Fix alignment fuckup in VBR 2019-05-07 17:50:07 +00:00
Ain
9b1c54f5d3 Disable interrupts during boot 2019-05-02 20:51:20 +00:00
Ain
d8fe1b211c Change kernel blob format to be option rom compatible 2019-04-20 21:02:35 +00:00
Ain
8cdc21b596 Relocate kernel to 0x01000 per convention 2019-04-16 07:22:53 +00:00
Ain
9a6ecabfd7 vbr: now able to load first cluster 2019-03-31 20:53:14 +00:00
Ain
dad80532ab Allow arbitrary floppy sizes 2019-03-31 13:22:24 +00:00
Ain
208b2f95b5 vbr: Reorder code, improve error behavior 2019-03-31 13:08:39 +00:00
Ain
6e209d9e55 vbr: reduce size for error reporting 2019-03-31 12:44:50 +00:00
Ain
9aa032a90c Rename vbr to fat12vbr 2019-03-30 12:39:53 +00:00
Ain
97fe07a210 vbr: implement file searching in rootdir 2019-03-29 23:48:18 +00:00
Ain
cb3c977286 vbr: bail out on disk read error 2019-03-29 22:32:50 +00:00
Ain
f70242dfa2 vbr: display drive geometry 2019-03-29 21:40:44 +00:00
Ain
6bfb0dd21e vbr: read root directory into memory 2019-03-27 23:06:13 +00:00
Ain
7492e99c3f vbr: relocate to 0x00500 2019-03-27 23:05:46 +00:00
Ain
c88395c12d vbr: work in progress on block reading 2019-03-27 22:05:00 +00:00
Ain
391a1aa7d5 vbr: CHS reading seems to work so far 2019-03-26 20:46:40 +00:00
Ain
96234c2a40 vbr: Parse CHS from BIOS to optionally overwrite hardcoded CHS data 2019-03-25 22:00:07 +00:00
Ain
2229c319b6 Add first steps for VBR bootloader 2019-03-25 08:51:37 +00:00