Commit Graph

278 Commits

Author SHA1 Message Date
Ain
da506d36ac Preserve AX on buffered input 2019-10-20 19:45:55 +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
6f7fc05171 log2: implement using left rotate through carry 2019-10-19 12:51:11 +00:00
Ain
6c23ec2fed Fix boot order for floppy test 2019-10-19 12:47:23 +00:00
Ain
7d99526b55 debug.rom: show banner when loaded 2019-10-18 21:48:29 +00:00
Ain
ec4bdf649d Rename programs/ to com/ 2019-10-18 14:43:28 +00:00
Ain
50e58765b1 Improve debug rom to catch common exception conditions 2019-10-18 13:50:42 +00:00
Ain
e70386bcfb Mask raw directory bit when giving drive number to int13 2019-10-17 19:19:12 +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
7dec8b6c81 Use nasm compat file to allow custom asm variant
(I dont want to re-implement all those nasm features later)
2019-10-14 21:04:42 +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
e07e13fd35 Add hexdump for kernel 2019-10-12 15:10:39 +00:00
Ain
f6b8df0598 Remove misplaced data 2019-10-12 15:10:19 +00:00
Ain
b641b5b441 Cosmetic fixes for emulator 2019-10-08 19:54:13 +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
58a95932b5 Cosmetic changes for README 2019-10-08 10:24:36 +00:00
Ain
695a28cb0a Fix table in readme 2019-10-08 10:23:28 +00:00
Ain
7e8483053c Write down some ideas in README 2019-10-08 10:22:31 +00:00
Ain
9bce345a3b Add string prefixes and inc/dec to emulator 2019-10-04 22:54:37 +00:00
Ain
569e11aceb Advance work on emulator/assembler combo 2019-10-04 21:54:10 +00:00
Ain
2d7707598a Ignore emul binary in the future 2019-10-03 17:01:42 +00:00
Ain
55db78a15d Clean up code for conditional jumps
Amended: A binary file got in there
2019-10-03 17:00:00 +00:00
Ain
305663c110 Improve flag handling for emulator 2019-10-02 19:14:18 +00:00
Ain
a30f4f3287 Advance on 8086 emulator 2019-10-01 21:35:01 +00:00
Ain
6e7a6563d5 Improve register hygiene 2019-09-29 21:33:28 +00:00
Ain
d1dab01633 Rename rdos.sys to rdos.bin
*.sys is meant for DOS-like driver binaries. I actually have a flat
binary with a specific load offset.
2019-09-29 21:26:59 +00:00
Ain
a0f2a71066 WIP on loading files from disk 2019-09-29 21:25:29 +00:00
Ain
0896c77ae6 Remove config.sys 2019-09-29 21:21:24 +00:00
Ain
bedceb28a4 Add some arithmetics to emulator 2019-09-29 12:23:59 +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
2935d7ee6c Improve emulator 2019-09-28 20:38:35 +00:00
Ain
fcb4db25ad Add emulator to run 8086 native assembler on linux 2019-09-28 19:09:51 +00:00
Ain
59f0720934 Rename scripts to utils 2019-09-28 19:07:40 +00:00
Ain
f75cc3b620 Generate lst files for every binary when in debug mode 2019-09-28 13:38:29 +00:00
Ain
cc28b42897 Factor out string token search 2019-09-28 12:37:16 +00:00
Ain
7f9820bace Add lib function for MCB allocation from bootsectors 2019-09-26 14:57:20 +00:00
Ain
e878ad0880 Remove DOS lineendings 2019-09-26 14:55:46 +00:00
Ain
62a15d52bb Save some bytes on printing hexnumbers 2019-09-26 14:53:50 +00:00
Ain
df8e47803a Generate rconfig.sys from distfile
*.sys files are affected by make clean.
2019-09-25 20:49:32 +00:00
Ain
2c2720323c WIP for config.sys parsing 2019-09-25 20:45:50 +00:00
Ain
80a7b03ddc Provide config file via CX (len) and BX (ptr) to kernel entry 2019-09-24 21:33:04 +00:00
Ain
a4e6a943b0 Make bootloader load both kernel and kernel config 2019-09-24 21:14:29 +00:00
Ain
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
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
df4d3a90e3 Use SYS extension for kernel 2019-09-23 22:05:01 +00:00