Hi,
Finally having a moment to look at this and I think the milestones are a bit out of sync, especially given that the project is protected mode in nature. I would propose the following:
Milestone 1:
- boots (done)
- enters protected mode (done)
- can read and write disk sectors (done)
- can manage basic hardware (timer, keyboard, etc.) interrupts (done)
- functional paged memory manager (in progress)
- interfaces to essential (keyboard, mouse, text mode video, etc.) hardware (in progress) (core drivers)
Milestone 2
- full interrupt/exception handling ability
- can enter v86 mode
- can load simple .com programs from disk
- can multitask at least two .com programs simultaneously
- beginning of kernel API
Milestone 3:
- fleshed out multitasking ability (can handle as many tasks as memory allows)
- add .exe support
- PCI bus scanning
- device driver loading system based on PCI bus scan
You will find that in order to handle multiple processes, NightDOS is going to need interrupt/exception handling functions in place. Once in 32-bit protected mode, there will int/exception switches to jump to V86 mode, perhaps even real mode. I think .COM and .EXE files can be handled simultaneously, but I won't press that issue, of course which flavors of EXE files are you referring to? DOS .EXE, OS/2 PM .EXE, Win16 .EXE, Win32 .EXE? Win32 console apps may be the easiest, but may require either trying to figure out the Windows API, or determining the license constraints of HXDOS and including the portions we would need into NightDOS.
Once again, I'm sorry for the lateness on this, just my quarter of a cent.
-T