Commit Graph

89 Commits

Author SHA1 Message Date
Nero f9b180ea57 Implement file descriptor table and CON as file descriptor 2020-06-28 19:01:14 +02:00
Nero 65564b78af Start working on rom-based kernel 2020-05-29 00:32:30 +02:00
Nero 5129a5499e Implement calculation of number of clusters 2020-05-11 21:19:51 +00:00
Nero 1b42f1a480 Implement calculation for FAT position 2020-05-10 16:47:48 +00:00
Nero 2cb39a4ff1 Implement lba read 2020-05-08 20:48:23 +00:00
Nero a472c396e7 Implement reading of BPB from FAT partition 2020-05-07 22:56:37 +00:00
Nero 8d28dc9f85 Implement reading of partition offset and size 2020-05-06 20:28:30 +00:00
Nero 9377924eab Implement reading geometry info from floppy BPB 2020-05-04 19:49:26 +00:00
Nero 36f4673c91 Another attempt on disk i/o 2020-05-02 23:57:23 +02:00
Nero 6d1befb49f kernel/diskio: EBIOS access is first class citizen in kernel 2020-04-28 22:09:56 +02:00
Nero b73bfbe043 Split out kernel components in kernel/ 2020-04-27 15:56:41 +02:00
Nero 4a92c4bc1e Drop MCBs as mean to manage memory 2020-04-18 22:59:46 +02:00
Nero f7d3d5c62f Fix addressing mistake when splitting MCB 2020-04-17 23:59:57 +02:00
Nero 6d38a313c7 Implement MCB splitting 2020-04-17 23:33:42 +02:00
Nero 6c165f40c0 Create basic MCB at boot 2020-04-17 01:24:23 +02:00
Nero f81de2bfe8 Rename kernel to bdos 2019-10-27 18:59:42 +00:00
Nero da506d36ac Preserve AX on buffered input 2019-10-20 19:45:55 +00:00
Nero f3a6ae338f Move out console interfacing into separate file 2019-10-20 19:11:44 +00:00
Nero e86b1ba004 Another attempt at implementing a block layer 2019-10-20 09:56:27 +00:00
Nero e70386bcfb Mask raw directory bit when giving drive number to int13 2019-10-17 19:19:12 +00:00
Nero b3014ef8e4 Meh 2019-10-16 21:09:31 +00:00
Nero 4abfab2812 Test with easier to implement EQU syntax 2019-10-15 20:37:14 +00:00
Nero 66f54f639c WIP on fcb io 2019-10-14 17:59:48 +00:00
Nero a65f54b121 Advance on FCB disk i/o 2019-10-12 18:33:26 +00:00
Nero e07e13fd35 Add hexdump for kernel 2019-10-12 15:10:39 +00:00
Nero 7ba68e13f7 Implement CP/M basic char io 2019-10-08 19:53:41 +00:00
Nero 7877809bc1 WIP on FCB disk i/o 2019-10-08 17:54:39 +00:00
Nero 6e7a6563d5 Improve register hygiene 2019-09-29 21:33:28 +00:00
Nero a0f2a71066 WIP on loading files from disk 2019-09-29 21:25:29 +00:00
Nero 1ae3c7a0b9 Implement FCB parsing in kernel 2019-09-29 12:23:39 +00:00
Nero 56f9df5773 Throw DOS api away, re-layout memory to fit CP/M model 2019-09-29 08:52:00 +00:00
Nero cc28b42897 Factor out string token search 2019-09-28 12:37:16 +00:00
Nero df8e47803a Generate rconfig.sys from distfile
*.sys files are affected by make clean.
2019-09-25 20:49:32 +00:00
Nero 2c2720323c WIP for config.sys parsing 2019-09-25 20:45:50 +00:00
Nero 6411dc0c9c Turn CHS fields in drive table into words
CHS arithmetic will be done on 32-bit integers, the operand for division
of DX:AX is a word, so we save a conversion step.

Additionally, i might reuse these fields for pointing to a SYS driver later.
2019-09-24 08:16:22 +00:00
Nero 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
Nero 93a9c3d5e9 Make drive table data offsets available via defines 2019-09-19 20:12:35 +00:00
Nero d23bba5bdd Add attempt for drive table to kernel 2019-09-19 20:02:16 +00:00
Nero fc0dd47d48 Remove rom and serial boot methods from qemu testing 2019-09-15 18:01:48 +00:00
Nero 6cbcc3efca Experimental cache.asm not checked in yet 2019-09-10 22:03:50 +00:00
Nero 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
Nero e86bde72f8 Rework interrupt handling, realign stuff for relative jumps 2019-09-10 21:38:52 +00:00
Nero cd258ccbe4 Work on interrupt subfunctions, remove drvtab experiments 2019-09-08 15:18:37 +00:00
Nero d853b87ec7 Use COM-based format, get bootloader working 2019-09-08 01:04:01 +00:00
Nero 11b4d07dc1 Split up kernel and debug rom 2019-09-06 23:42:39 +00:00
Nero 4fa383bb2e Add basic 21h functions 2019-09-05 22:24:39 +00:00
Nero b1e9b75693 Remove unused nop area 2019-09-04 16:41:07 +00:00
Nero a0adadeaf4 Add drive table initialisation 2019-09-03 10:58:06 +00:00
Nero e6e75082e3 Register IV 1 and 3 per default 2019-09-01 14:16:47 +00:00
Nero dcbb719488 Fix broken intr_load, use LDS instruction 2019-09-01 14:15:26 +00:00