Commit Graph

145 Commits

Author SHA1 Message Date
Nero 62975f81b9 Support boot sectors that i dont want to support anymore 2023-01-01 21:44:36 +00:00
Nero 441bcbf40f chartab: migrate to com format and awk assembler 2023-01-01 21:42:02 +00:00
Nero 77b1ad7cef resume working; import awk-based assembler 2023-01-01 21:09:31 +00:00
Nero e26adff688 Workstate on disk I/O rework 2021-12-16 12:27:23 +00:00
Nero 85d0949ec7 uartctrl: Implement CP437 to DEC VT character conversion 2021-04-05 18:59:44 +00:00
Nero d7c1781d2f mbr: set up first 7 bytes of kernel PSP 2021-02-18 20:20:40 +00:00
Nero d142fb4f39 Omit printing dots from MBR 2021-02-18 19:38:42 +00:00
Nero 8131db9b29 Re-add support for booting from qemu harddisk 2021-02-18 19:04:36 +00:00
Nero 84b754551c Restructure kernel to use 1-segment COM convention 2021-02-07 16:17:31 +00:00
Nero 19f598251d Work monitor program up to usable state 2021-01-28 23:32:31 +00:00
Nero daeb3891dd Add monitor program for debugging disk i/o 2021-01-28 21:16:52 +00:00
Nero ff179a5e98 Remove rom and pxe boot related stuff
I dont intend to ever implement that
2021-01-23 17:44:18 +00:00
Nero ebd356ed8e Implement file search in directory 2021-01-23 17:32:53 +00:00
Nero 1ec84fc411 Single out PSP management 2021-01-21 22:28:57 +00:00
Nero f8799e3692 add ihex bootsector 2021-01-15 19:49:08 +00:00
Nero 440187c2a8 Harden drive.asm against unexpected DS and ES values 2021-01-13 18:32:17 +00:00
Nero 23c6223055 Relocate kernel to 0x0700 and use sections proper 2021-01-13 17:21:10 +00:00
Nero 34023678a4 Implement current drive for user programs 2021-01-04 23:29:50 +00:00
Nero 7e2e91b2b7 Reorder code and remove unused farptr components 2021-01-04 23:19:14 +00:00
Nero 0256d6ab36 Improve syscall gateway: now position-independent
Also it now keeps all register values except SS:SP on entry.
2021-01-04 23:01:14 +00:00
Nero fb4bbfc8cf Continued development on int 21h interface 2021-01-03 18:11:41 +00:00
Nero 1dbfb2f592 Implement entrypoint and table for syscalls 2021-01-02 03:45:03 +00:00
Nero 015eea2f2f Rename fndfst to open 2021-01-02 02:48:04 +00:00
Nero 9a1c4139a6 Implement searching directory for exact matches 2021-01-02 02:07:40 +00:00
Nero 2d97bb57e5 Fix mbr: DAP size was incorrectly set to zero 2020-12-26 18:46:16 +00:00
Nero c75b323d31 Add support for hard disks 2020-12-26 17:44:48 +00:00
Nero c5afc6ec61 Add printf facility for kernel to allow debug messages on phys. system 2020-12-26 16:03:15 +00:00
Nero 0a2a0e4659 Support managing floppy parameter table 2020-12-22 21:14:16 +00:00
Nero de04b5ca01 Make logging in drive a no-op if drive already logged in 2020-12-17 00:41:53 +00:00
Nero e096745c13 Implement map-like sector access for floppy drives 2020-12-15 23:29:35 +00:00
Nero c0bd238d54 New bootsect program to dump bios data area, aid for debugging hw 2020-12-15 20:16:42 +00:00
Nero c06c6ac918 fat vbr: fix incorrect addition of partition offset 2020-10-25 14:22:53 +00:00
Nero 50aa6e4eec Use uppercase non-struct constants for BPB 2020-10-25 09:15:33 +00:00
Nero dc6035fe9d Protypical implementation of DPT copying 2020-10-24 22:50:23 +00:00
Nero ca3eebd692 Remove fields from BPB that are EBPB actually
This is just a trick so i can use bpb_size in the kernel later,
omitting things that are not relevant to interfacing the FS.
2020-10-15 20:20:17 +00:00
Nero c41782c78f Build drive selection logic for FCBs 2020-10-13 20:10:23 +00:00
Nero 4e779c5a22 Lay out skeletons for FCB handling 2020-10-11 21:33:01 +00:00
Nero 31c6ef5876 boot/kernel: print banner 2020-09-27 15:45:19 +00:00
Nero 729e6790ef boot/fat: Save a byte restoring DL 2020-09-27 15:10:28 +00:00
Nero 909349a4cf boot/fat: Shave off a byte by storing final address on stack 2020-09-27 11:25:57 +00:00
Nero 386e91b4c8 boot/fat: Fix incorrect initialisation of dx 2020-09-27 10:48:05 +00:00
Nero 2dc6970721 boot/fat: Use segmentation to allow up to 64Kb fat/kernel size 2020-09-27 10:40:42 +00:00
Nero adf67d9723 Rework fat boot sector, load FAT only once instead of partial 2020-09-23 23:01:50 +00:00
Nero 31eac279c2 Revert to more sensible kernel.bs boot scheme
I think i should consider it a necessity that the kernel is accessible
as a regular file. This makes installing rdos on another blockdev
much easier.
2020-09-20 19:58:19 +02:00
Nero 8ed9fe7465 Fix hdd booting using bpb struc 2020-09-19 08:22:50 +00:00
Nero 1d64c2364d Improve build transparency (documentation and inline version number) 2020-09-17 08:59:22 +00:00
Nero 8e87cf0f75 Load kernel from reserved sectors in fatfs 2020-09-17 05:57:46 +00:00
Nero 9cd4c04c42 Make kernel and fat.bs use BPB struct 2020-09-15 21:45:29 +02:00
Nero 303b1756e0 Fuck up the kernel, i have other ideas now 2020-09-15 21:44:32 +02:00
Nero 352540bd25 kernel: First steps of calculating drive tab data from BPB 2020-08-31 20:11:05 +00:00