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
Nero
cc3fe6c4ee
kernel: fix banner printing
2020-08-27 21:01:41 +00:00
Nero
f0a000b7d1
kernel: implement diskio using drive table
2020-08-27 20:52:16 +00:00
Nero
fde87d651c
kernel: read A: geometry from BIOS
2020-08-15 21:15:31 +00:00
Nero
626b7e5624
Add struc for disk parameter table
2020-08-15 18:30:17 +00:00
Nero
5382edc2ae
Improve ordering of binary data in kernel
2020-07-04 10:35:38 +02:00
Nero
f9b180ea57
Implement file descriptor table and CON as file descriptor
2020-06-28 19:01:14 +02:00
Nero
1b42f1a480
Implement calculation for FAT position
2020-05-10 16:47:48 +00:00
Nero
36f4673c91
Another attempt on disk i/o
2020-05-02 23:57:23 +02:00
Nero
404825387b
mbr: make use of BPB includes
2020-04-30 20:22:14 +02:00
Nero
b73bfbe043
Split out kernel components in kernel/
2020-04-27 15:56:41 +02:00
Nero
2d949a01f8
Implement whacky first version for 25h disk read
2020-04-26 23:14:34 +02:00
Nero
43e5cd6379
Direct console input: Dont return non-ascii keypresses
2020-04-25 21:54:15 +02:00
Nero
da41f6b0e2
Rework early startup and fix bss memory reservation
2020-04-23 21:49:10 +02:00
Nero
4804bf28ea
Place variables into area after binary
2020-04-23 21:36:20 +02:00
Nero
3619a20703
Implement some console i/o
2020-04-23 21:35:28 +02:00
Nero
035b69db10
fat.bs: Implement correctly for FAT12
2020-04-22 21:45:40 +02:00
Nero
34ef468aa9
fat.bs: Smaller BPB size when not FAT32
2020-04-22 21:45:06 +02:00
Nero
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
Nero
bbfcd42f61
Set up interrupt table at startup directly (less code), not calling setint
2020-04-21 20:22:42 +02:00
Nero
f8788720f5
Implement int 28h: Idle callout
2020-04-20 19:21:02 +02:00
Nero
40065266f3
Implement int 29h: Fast console output
2020-04-20 19:20:43 +02:00
Nero
c5088789f9
Proof kernel against being invoked via 0x7C0:0
2020-04-19 15:14:10 +02:00
Nero
97f26c1f89
Remove stack switching, implement some syscalls
2020-04-19 00:35:31 +02:00
Nero
c1c012c5fc
Make getint and setint reuse cs segment
2020-04-18 23:44:16 +02:00
Nero
4a92c4bc1e
Drop MCBs as mean to manage memory
2020-04-18 22:59:46 +02:00
Nero
6c165f40c0
Create basic MCB at boot
2020-04-17 01:24:23 +02:00
Nero
70a675442a
Reorder disk access and fix missing si setting
2020-04-16 23:04:06 +02:00
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
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
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
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
955acdacba
Split code up into directories for bs and com binaries
2020-03-30 12:14:47 +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
807db4a592
Throw out previous x86 stuff
2019-12-22 02:52:40 +01:00