Commit Graph

55 Commits

Author SHA1 Message Date
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
Nero de90b9cfd1 Routine for loading far ptr from IVT 2019-09-01 14:05:40 +00:00
Nero 809a959608 Improve register hygiene for interrupt setup 2019-09-01 13:48:28 +00:00
Nero b5cc332a02 Remove malloc, pursue a more DOS-like MM approach 2019-09-01 13:46:48 +00:00
Nero abe7d1c5f4 Add free_sector 2019-08-31 12:00:33 +00:00
Nero ffe6eb0904 Add malloc_sector 2019-08-31 11:57:15 +00:00
Nero 126e3aae74 implement malloc and free for default 16 byte paragraphs 2019-08-30 23:15:20 +00:00
Nero 4e188235f9 Add malloc table dump 2019-08-30 22:18:05 +00:00
Nero aec0218ccf Mark reserved memory ranges as allocated on start 2019-08-30 21:48:39 +00:00
Nero 9443996f56 Notes on malloc functions 2019-08-30 17:43:46 +00:00
Nero 385bf15414 Add malloc 2019-08-30 17:40:47 +00:00
Nero a0ea232b7c Remove attempt of ramdisk layer 2019-06-24 16:50:51 +00:00
Nero 4b35c68345 debugger: Use opcode order for arithmetic register display 2019-06-24 16:49:36 +00:00
Nero 8aafa98c6a Revamp debugger, including support for printing padded numbers 2019-05-05 11:18:55 +00:00
Nero dab565ee41 debug ISR: display flags 2019-05-02 21:06:02 +00:00
Nero ff552ac242 Prevent announce from spoiling DS 2019-05-02 20:26:11 +00:00
Nero 932aa06874 Add back vendor strings 2019-05-02 20:25:50 +00:00
Nero e47d107b5f Remove dosapi stub, not intended to implement 2019-05-02 20:21:31 +00:00
Nero 90c6b3dcca Remove unused hma and heap code 2019-05-02 20:16:37 +00:00
Nero 0622188353 Get rid of pre-tables for interrupts and kprintf 2019-05-02 20:14:31 +00:00
Nero 49ae13c73a debug: use printf instead of kprintf 2019-05-02 20:12:45 +00:00
Nero bc6a49c54d Implement ramdisk i/o, advance kernel printf 2019-04-28 22:01:30 +00:00
Nero d8fe1b211c Change kernel blob format to be option rom compatible 2019-04-20 21:02:35 +00:00
Nero 3b3fa349d4 Make interrupt landing pads safe against external DS values 2019-04-16 07:23:22 +00:00
Nero 0094ee6b95 Add 01h and 02h for DOSAPI 2019-04-14 19:35:55 +00:00
Nero 4b9d6da85c Clarify comment 2019-04-14 15:30:29 +00:00
Nero ac8e07d5ce intr: Ship table with first 16 ISR offsets 2019-04-09 22:38:20 +00:00
Nero 517c156c3d kernel: relocate to HMA if available 2019-03-31 22:58:19 +00:00
Nero fa6e624604 kernel: wip 2019-03-31 20:54:51 +00:00
Nero 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
Nero 414f35a1ce Trying to figure out best directory structure... 2019-03-24 18:30:49 +00:00
Nero 8b750aabe9 kernel: Generalize startup code into main 2019-03-24 18:24:25 +00:00
Nero 8d12a42442 Make setup generic for both NBP and DOS startup 2019-03-24 17:59:45 +00:00
Nero bcff1efe59 Add routine to backup IVT 2019-03-24 17:59:03 +00:00
Nero 0414af640a Implement block-based heap 2019-03-24 14:45:53 +00:00