Commit Graph

408 Commits

Author SHA1 Message Date
Nero d9affa3cae Kernel: Fix segmenting bugs 2021-04-20 16:27:10 +00:00
Nero 39a1ed085c Implement reading/writing a DTA full from a cluster without ptr advance 2021-04-05 23:05:08 +00:00
Nero 85d0949ec7 uartctrl: Implement CP437 to DEC VT character conversion 2021-04-05 18:59:44 +00:00
Nero 963aebd948 Add uartctrl.rom: Control PC via COM1 attached terminal 2021-04-04 21:41:22 +00:00
Nero b617709684 Fix rootdir.asm re-using potentially wrong DS 2021-03-19 19:26:38 +00:00
Nero 5e3ae0aa08 Put rootdir and cluster access into separate files 2021-03-19 19:01:38 +00:00
Nero fbab632616 Implement file open 2021-03-19 18:50:50 +00:00
Nero f702006582 implement fcb search with more efficient segmenting and dta use 2021-02-25 00:45:56 +00:00
Nero 7c4b84ecb3 word-align disk buffer 2021-02-19 19:41:34 +00:00
Nero ec205407a7 fix conout using stray DS 2021-02-19 19:41:24 +00:00
Nero a91fb3de0d Implement common char i/o functions 2021-02-19 08:57:21 +00:00
Nero d7c1781d2f mbr: set up first 7 bytes of kernel PSP 2021-02-18 20:20:40 +00:00
Nero 78233db88d fix nasm orphaned labels warnings 2021-02-18 20:20:14 +00:00
Nero 0b7e4cb3a4 Make boot file name configurable 2021-02-18 19:38:56 +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 71c89387fc New bootloader concept: sys-like util to generate a boot sector
Right now only floppies are supported
2021-02-03 00:27:44 +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 4530866130 fix psp/setdta corrupting DS 2021-01-21 22:30:35 +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 3056d659fa fix syscall gateway not preserving DS on entry 2021-01-13 18:36:12 +00:00
Nero 440187c2a8 Harden drive.asm against unexpected DS and ES values 2021-01-13 18:32:17 +00:00
Nero df243e668e Remove PIC functionality from syscall.asm
Makes things easier
2021-01-13 17:38:22 +00:00
Nero 23c6223055 Relocate kernel to 0x0700 and use sections proper 2021-01-13 17:21:10 +00:00
Nero 4046dd7d6c Improve syscall entrypoint 2021-01-13 17:20:49 +00:00
Nero 750bfbdc60 Remove outdated comments 2021-01-05 00:15:36 +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 3f8cfaac42 Remove debugging output 2021-01-03 18:10:54 +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 7754312609 remove unused kernel/main 2020-12-27 00:25:30 +00:00
Nero 2bb40e315c Fix ebios dap packet: wrong size 2020-12-26 20:58:51 +00:00
Nero af5df85c16 Use ebios extensions if enabled 2020-12-26 20:54:39 +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 b8b56e1f45 make logdrv also use int13 stub 2020-12-26 16:43:04 +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 424e174523 drive i/o: improvements regarding reset and stack usage
- read and write now run in the same function, less branching
- implemented on-demand controller reset
- set up a function stub for int 0x13 for later stack switching
2020-12-26 14:40:43 +00:00
Nero 0a2a0e4659 Support managing floppy parameter table 2020-12-22 21:14:16 +00:00
Nero f10fa026cf Add support for floppy types with other geometry than 18/2/80 2020-12-18 18:29:26 +00:00
Nero de04b5ca01 Make logging in drive a no-op if drive already logged in 2020-12-17 00:41:53 +00:00