Commit Graph

293 Commits

Author SHA1 Message Date
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
Ain
0b7d141af7 Add warning about mformat overwriting bootsector code 2019-09-23 21:19:12 +00:00
Ain
705cd5c725 Remove command line parsing from bootloader 2019-09-23 20:25:39 +00:00
Ain
e94059c625 Fix wrong filename for VBR 2019-09-22 22:11:41 +00:00
Ain
d19ba03cfd Fix make clean 2019-09-21 18:18:20 +00:00
Ain
54149839a3 Rename fatvbr -> fat, generalize makefile 2019-09-21 18:05:41 +00:00
Ain
e9b19ce989 Fix makefile dependencies 2019-09-21 15:26:03 +00:00
Ain
7514bd27c3 Rename printf file for more consistent naming 2019-09-20 23:39:57 +00:00
Ain
93a9c3d5e9 Make drive table data offsets available via defines 2019-09-19 20:12:35 +00:00
Ain
d23bba5bdd Add attempt for drive table to kernel 2019-09-19 20:02:16 +00:00
Ain
7d7b4a89e6 Make mechanism for using qemu with option roms generic 2019-09-18 11:03:21 +00:00
Ain
c70f388548 Get MBR ready, add hdimage target 2019-09-17 22:41:39 +00:00
Ain
7c4a618385 Add first attempt of a MBR 2019-09-17 21:53:10 +00:00
Ain
da03aa1481 Relocate boot sector to 0x600 2019-09-16 12:05:15 +00:00
Ain
cff186a1bb Make better use of mformat features 2019-09-16 10:26:48 +00:00
Ain
fe42e9145a fatvbr: correctly setup segment registers 2019-09-15 19:49:58 +00:00
Ain
956df75dae Add mechanism for additional files on floppy 2019-09-15 19:03:08 +00:00
Ain
fc0dd47d48 Remove rom and serial boot methods from qemu testing 2019-09-15 18:01:48 +00:00
Ain
bfb5b227b6 Fix cmdline setup in fatvbr 2019-09-15 17:51:44 +00:00
Ain
e143159a7a Rename floppy bootsec into fatvbr, thats more accurate 2019-09-15 17:33:01 +00:00
Ain
567e09f7e9 Bootloader: parse cmdline field 2019-09-15 17:26:09 +00:00
Ain
4c9086e365 Rework bootloader to have adjustable memory layout 2019-09-14 13:18:23 +00:00
Ain
83d6b76ed5 Remove isacon debug and stdio serial, use terminal via curses instead 2019-09-11 19:32:40 +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
e4dec4b14c Oi vey, sar is sign-extending, which is not what we want 2019-09-10 13:44:44 +00:00
Ain
cd258ccbe4 Work on interrupt subfunctions, remove drvtab experiments 2019-09-08 15:18:37 +00:00
Ain
05c7e905d0 Fix copying of kernel arguments 2019-09-08 11:00:19 +00:00
Ain
b6972dcc69 Fix floppy VBR: wrong stack location 2019-09-08 10:03:00 +00:00
Ain
e7108f6622 Fix max argument length 126 -> 127 2019-09-08 01:05:32 +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
40bd6f5d12 qemu: Dont try to use display if there is none 2019-09-04 13:38:32 +00:00