Commit Graph

409 Commits

Author SHA1 Message Date
Nero 27e4dec580 Implement loading BPB from media 2020-04-15 23:51:07 +02:00
Nero 23ddd6b41a Implement some PoC of reading from disk 2020-04-15 00:17:58 +02:00
Nero 6b49a20865 Implement syscall subfunction jump table 2020-04-13 18:03:54 +02:00
Nero 39ef1f9a3e Implement some syscall handling 2020-04-13 13:53:21 +00:00
Nero 6ba3e0c071 Implement stack switching for dos syscall entry point 2020-04-10 15:00:26 +00:00
Nero f46871502c Pave way for supporting FAT16 and FAT12 2020-04-06 19:20:15 +00:00
Nero e34accfcff Improve support for auto-selecting LBA addressing 2020-04-04 21:05:44 +00:00
Nero 1c6268798c Fix rom builds 2020-04-04 21:04:36 +00:00
Nero 3b438074ef Reorder fat32 bootsector to reduce number of calls/rets 2020-04-04 16:03:02 +00:00
Nero 1e99086fc6 Add CHS+LBA dual support for boot sector 2020-04-04 14:29:33 +00:00
Nero dc5e437c2d Revert "Remove unused stuff"
debug rom still uses printf

This reverts commit a9fa3d355e.
2020-04-04 11:41:01 +00:00
Nero a9fa3d355e Remove unused stuff 2020-04-04 09:27:33 +00:00
Nero 91cad67415 Reboot after keypress instead of halting on boot failure 2020-04-03 19:45:49 +00:00
Nero 6eca218f8e Explain the booterr code a bit 2020-04-03 19:43:10 +00:00
Nero 3da473a00c Use optimized error handling for boot sector 2020-04-03 17:38:33 +00:00
Nero cb48e628db kernel stub: force large size to make sure cluster chaining works 2020-04-01 13:09:01 +00:00
Nero 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
Nero 9044e3948c Remove BASE macro and companions 2020-03-31 19:46:59 +00:00
Nero c67894551b Use directory path for includes, make them use *.asm as extension 2020-03-31 18:43:38 +00:00
Nero 73fb2b1e81 Add include file for BPB data 2020-03-31 13:04:13 +00:00
Nero eabb1d9fa9 Properly set up registers when chainloading from boot sector 2020-03-30 20:41:32 +00:00
Nero bc096f41d3 Compact bootloader code 2020-03-30 19:43:07 +00:00
Nero 0b2a7e7b64 fat32 bootloader: implement directory recursing and kernel load
this is actually working now.
2020-03-30 18:50:17 +00:00
Nero bbe006c9bc Improve FAT offset calculation 2020-03-30 15:23:51 +00:00
Nero d718777ef6 Mark path to kernel file with +s
This is actually a much easier way to find the kernel file than comparing
filenames and helps reducing the size of the bootsector.
2020-03-30 12:35:59 +00:00
Nero 955acdacba Split code up into directories for bs and com binaries 2020-03-30 12:14:47 +00:00
Nero 5a24ceb9b8 Implement cluster chaining for FAT 2020-03-28 17:36:52 +00:00
Nero 76880e9275 Advance on bootloader: load cluster data 2020-03-25 21:19:40 +00:00
Nero c51dca9949 add kernel stub to distfiles
this way i can test if the bootloader works as intended
2020-03-25 20:56:00 +00:00
Nero 398395371b Improve inline commenting 2020-03-23 19:01:23 +00:00
Nero 660944e70f Start working on FAT32 bootloader 2020-03-16 17:24:39 +00:00
Nero 65be1051b3 bmp2font: explain 2020-03-16 17:24:16 +00:00
Nero 764950b2a1 rename pxe: make clear its a bootloader 2020-03-16 17:23:59 +00:00
Nero b3ae58175c remove unused file 2020-03-02 22:31:13 +00:00
Nero 5eedddd0c9 Improve error handling in fat bs 2020-03-02 22:15:46 +00:00
Nero 59dd979feb Fix missing org for hello.com 2020-03-02 20:45:18 +00:00
Nero 7143112a5b fat: add fread 2020-03-02 20:45:06 +00:00
Nero 9288ad46a4 fat: rework bootloader 2020-03-02 19:44:37 +00:00
Nero 598a2c0fdf random fixes 2020-03-02 12:10:21 +00:00
Nero 7cfd87b6b4 Add normal hello world program for testing 2020-03-02 11:57:43 +00:00
Nero 0f833da221 Boot signature via include 2020-03-01 17:20:03 +00:00
Nero 79bedd9013 Fixes for makefile 2020-03-01 17:08:25 +00:00
Nero bc238a3bf9 i still dont know what im doing 2020-03-01 16:45:16 +00:00
Nero 4847eb4d88 Revert "Throw out previous x86 stuff"
This reverts commit 807db4a592.
2020-03-01 12:03:35 +00:00
Nero 30ae244ef1 sigh. i dont know 2020-02-28 19:55:00 +00:00
Nero f4f89e8e48 Fix broken argument handling 2020-01-13 00:50:43 +01:00
Nero cd3da4faab WIP on superzazu-based emulator 2019-12-22 12:57:53 +01:00
Nero 23c881edbf Remove section in bios interface 2019-12-22 03:01:29 +01:00
Nero f3612ddb95 Add 8080 emulator as submodule 2019-12-22 02:59:52 +01:00
Nero 807db4a592 Throw out previous x86 stuff 2019-12-22 02:52:40 +01:00