Commit Graph

119 Commits

Author SHA1 Message Date
c5afc6ec61 Add printf facility for kernel to allow debug messages on phys. system 2020-12-26 16:03:15 +00:00
0a2a0e4659 Support managing floppy parameter table 2020-12-22 21:14:16 +00:00
de04b5ca01 Make logging in drive a no-op if drive already logged in 2020-12-17 00:41:53 +00:00
e096745c13 Implement map-like sector access for floppy drives 2020-12-15 23:29:35 +00:00
c0bd238d54 New bootsect program to dump bios data area, aid for debugging hw 2020-12-15 20:16:42 +00:00
c06c6ac918 fat vbr: fix incorrect addition of partition offset 2020-10-25 14:22:53 +00:00
50aa6e4eec Use uppercase non-struct constants for BPB 2020-10-25 09:15:33 +00:00
dc6035fe9d Protypical implementation of DPT copying 2020-10-24 22:50:23 +00:00
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
c41782c78f Build drive selection logic for FCBs 2020-10-13 20:10:23 +00:00
4e779c5a22 Lay out skeletons for FCB handling 2020-10-11 21:33:01 +00:00
31c6ef5876 boot/kernel: print banner 2020-09-27 15:45:19 +00:00
729e6790ef boot/fat: Save a byte restoring DL 2020-09-27 15:10:28 +00:00
909349a4cf boot/fat: Shave off a byte by storing final address on stack 2020-09-27 11:25:57 +00:00
386e91b4c8 boot/fat: Fix incorrect initialisation of dx 2020-09-27 10:48:05 +00:00
2dc6970721 boot/fat: Use segmentation to allow up to 64Kb fat/kernel size 2020-09-27 10:40:42 +00:00
adf67d9723 Rework fat boot sector, load FAT only once instead of partial 2020-09-23 23:01:50 +00:00
Ain
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
8ed9fe7465 Fix hdd booting using bpb struc 2020-09-19 08:22:50 +00:00
1d64c2364d Improve build transparency (documentation and inline version number) 2020-09-17 08:59:22 +00:00
8e87cf0f75 Load kernel from reserved sectors in fatfs 2020-09-17 05:57:46 +00:00
Ain
9cd4c04c42 Make kernel and fat.bs use BPB struct 2020-09-15 21:45:29 +02:00
Ain
303b1756e0 Fuck up the kernel, i have other ideas now 2020-09-15 21:44:32 +02:00
352540bd25 kernel: First steps of calculating drive tab data from BPB 2020-08-31 20:11:05 +00:00
cc3fe6c4ee kernel: fix banner printing 2020-08-27 21:01:41 +00:00
f0a000b7d1 kernel: implement diskio using drive table 2020-08-27 20:52:16 +00:00
fde87d651c kernel: read A: geometry from BIOS 2020-08-15 21:15:31 +00:00
626b7e5624 Add struc for disk parameter table 2020-08-15 18:30:17 +00:00
Ain
5382edc2ae Improve ordering of binary data in kernel 2020-07-04 10:35:38 +02:00
Ain
f9b180ea57 Implement file descriptor table and CON as file descriptor 2020-06-28 19:01:14 +02:00
1b42f1a480 Implement calculation for FAT position 2020-05-10 16:47:48 +00:00
Ain
36f4673c91 Another attempt on disk i/o 2020-05-02 23:57:23 +02:00
Ain
404825387b mbr: make use of BPB includes 2020-04-30 20:22:14 +02:00
Ain
b73bfbe043 Split out kernel components in kernel/ 2020-04-27 15:56:41 +02:00
Ain
2d949a01f8 Implement whacky first version for 25h disk read 2020-04-26 23:14:34 +02:00
Ain
43e5cd6379 Direct console input: Dont return non-ascii keypresses 2020-04-25 21:54:15 +02:00
Ain
da41f6b0e2 Rework early startup and fix bss memory reservation 2020-04-23 21:49:10 +02:00
Ain
4804bf28ea Place variables into area after binary 2020-04-23 21:36:20 +02:00
Ain
3619a20703 Implement some console i/o 2020-04-23 21:35:28 +02:00
Ain
035b69db10 fat.bs: Implement correctly for FAT12 2020-04-22 21:45:40 +02:00
Ain
34ef468aa9 fat.bs: Smaller BPB size when not FAT32 2020-04-22 21:45:06 +02:00
Ain
abc7b563cd Revamp MBR
New features:
- ES:DI (potential PnP structure) is preserved
- FAT detection now works by checking for BPB values
- Uses booterr procedure
2020-04-21 23:27:00 +02:00
Ain
bbfcd42f61 Set up interrupt table at startup directly (less code), not calling setint 2020-04-21 20:22:42 +02:00
Ain
f8788720f5 Implement int 28h: Idle callout 2020-04-20 19:21:02 +02:00
Ain
40065266f3 Implement int 29h: Fast console output 2020-04-20 19:20:43 +02:00
Ain
c5088789f9 Proof kernel against being invoked via 0x7C0:0 2020-04-19 15:14:10 +02:00
Ain
97f26c1f89 Remove stack switching, implement some syscalls 2020-04-19 00:35:31 +02:00
Ain
c1c012c5fc Make getint and setint reuse cs segment 2020-04-18 23:44:16 +02:00
Ain
4a92c4bc1e Drop MCBs as mean to manage memory 2020-04-18 22:59:46 +02:00
Ain
6c165f40c0 Create basic MCB at boot 2020-04-17 01:24:23 +02:00