Commit Graph

47 Commits

Author SHA1 Message Date
Ain
303b1756e0 Fuck up the kernel, i have other ideas now 2020-09-15 21:44:32 +02:00
f81de2bfe8 Rename kernel to bdos 2019-10-27 18:59:42 +00:00
Ain
f3a6ae338f Move out console interfacing into separate file 2019-10-20 19:11:44 +00:00
Ain
e86b1ba004 Another attempt at implementing a block layer 2019-10-20 09:56:27 +00:00
Ain
b3014ef8e4 Meh 2019-10-16 21:09:31 +00:00
Ain
4abfab2812 Test with easier to implement EQU syntax 2019-10-15 20:37:14 +00:00
Ain
66f54f639c WIP on fcb io 2019-10-14 17:59:48 +00:00
Ain
a65f54b121 Advance on FCB disk i/o 2019-10-12 18:33:26 +00:00
Ain
7ba68e13f7 Implement CP/M basic char io 2019-10-08 19:53:41 +00:00
Ain
7877809bc1 WIP on FCB disk i/o 2019-10-08 17:54:39 +00:00
Ain
a0f2a71066 WIP on loading files from disk 2019-09-29 21:25:29 +00:00
Ain
1ae3c7a0b9 Implement FCB parsing in kernel 2019-09-29 12:23:39 +00:00
Ain
56f9df5773 Throw DOS api away, re-layout memory to fit CP/M model 2019-09-29 08:52:00 +00:00
Ain
cc28b42897 Factor out string token search 2019-09-28 12:37:16 +00:00
Ain
2c2720323c WIP for config.sys parsing 2019-09-25 20:45:50 +00:00
Ain
cd7aafde09 Run kernel with from offset 0
I try to get the interrupt handlers into a offset as low as possible.
This is necessity if i want to relocate it later on its own.

For running from HMA, a minimal offset of 16 bytes would still be
necessary.
2019-09-23 22:06:29 +00:00
Ain
d23bba5bdd Add attempt for drive table to kernel 2019-09-19 20:02:16 +00:00
Ain
fc0dd47d48 Remove rom and serial boot methods from qemu testing 2019-09-15 18:01:48 +00:00
Ain
6cbcc3efca Experimental cache.asm not checked in yet 2019-09-10 22:03:50 +00:00
Ain
d5ba0f3e30 Remove intr function not in line with int 21h
If we have them, use them for setting up ourselves
2019-09-10 21:50:58 +00:00
Ain
e86bde72f8 Rework interrupt handling, realign stuff for relative jumps 2019-09-10 21:38:52 +00:00
Ain
cd258ccbe4 Work on interrupt subfunctions, remove drvtab experiments 2019-09-08 15:18:37 +00:00
Ain
d853b87ec7 Use COM-based format, get bootloader working 2019-09-08 01:04:01 +00:00
Ain
11b4d07dc1 Split up kernel and debug rom 2019-09-06 23:42:39 +00:00
Ain
4fa383bb2e Add basic 21h functions 2019-09-05 22:24:39 +00:00
Ain
b1e9b75693 Remove unused nop area 2019-09-04 16:41:07 +00:00
Ain
a0adadeaf4 Add drive table initialisation 2019-09-03 10:58:06 +00:00
Ain
e6e75082e3 Register IV 1 and 3 per default 2019-09-01 14:16:47 +00:00
Ain
809a959608 Improve register hygiene for interrupt setup 2019-09-01 13:48:28 +00:00
Ain
b5cc332a02 Remove malloc, pursue a more DOS-like MM approach 2019-09-01 13:46:48 +00:00
Ain
4e188235f9 Add malloc table dump 2019-08-30 22:18:05 +00:00
Ain
385bf15414 Add malloc 2019-08-30 17:40:47 +00:00
Ain
ff552ac242 Prevent announce from spoiling DS 2019-05-02 20:26:11 +00:00
Ain
932aa06874 Add back vendor strings 2019-05-02 20:25:50 +00:00
Ain
0622188353 Get rid of pre-tables for interrupts and kprintf 2019-05-02 20:14:31 +00:00
Ain
bc6a49c54d Implement ramdisk i/o, advance kernel printf 2019-04-28 22:01:30 +00:00
Ain
d8fe1b211c Change kernel blob format to be option rom compatible 2019-04-20 21:02:35 +00:00
Ain
0094ee6b95 Add 01h and 02h for DOSAPI 2019-04-14 19:35:55 +00:00
Ain
ac8e07d5ce intr: Ship table with first 16 ISR offsets 2019-04-09 22:38:20 +00:00
Ain
517c156c3d kernel: relocate to HMA if available 2019-03-31 22:58:19 +00:00
Ain
fa6e624604 kernel: wip 2019-03-31 20:54:51 +00:00
Ain
a46114f6bd kernel: strip down to dumb binary, expect bootloader to load into sane location and setup stack 2019-03-27 23:07:04 +00:00
Ain
8b750aabe9 kernel: Generalize startup code into main 2019-03-24 18:24:25 +00:00
Ain
8d12a42442 Make setup generic for both NBP and DOS startup 2019-03-24 17:59:45 +00:00
Ain
4489dd1b47 de-inline debug_init from main 2019-03-23 21:26:46 +00:00
Ain
d54f8ac4b9 Make relocation code not trash potentially important registers 2019-03-23 20:54:08 +00:00
Ain
1005a24c7f Split nbp up into startup code and main 2019-03-23 20:23:17 +00:00