Skip to content
forked from FDOS/kernel

Modified FreeDOS kernel - implements DOSKRNL for osFree MVM

License

Notifications You must be signed in to change notification settings

osfree-project/doskrnl

 
 

Repository files navigation

DOSKRNL

osFree DOS Kernel (DOSKRNL) based on FreeDOS kernel.

The DOSKRNL implements the core MS/PC-DOS (R) compatible functions for Multiple Virtual Machine. It is derived from The FreeDOS kernel which, in turn, is derived from Pat Villani's DOS-C kernel and released under the GPL v2.

Memory model

Unlike FreeDOS kernel DOSKRNL uses RAW file and two group model. Whole image consist of DGROUP and I_GROUP. I_GROUP moved to hight conventional memory on init. HMA_* segments moved HMA if XMS initialization was ok. If not, then HMA resides at low addresses.

Main targets/To Do

  • Integrate to osFree build system
  • Remove CONFIG structure (We don't need it for DOSKRNL, may be LBA only)
  • Rework initialization (use DOSKRNL init structure, XMS VDD initialization
  • Remove XMS handling from CONFIG.SYS) and HMA relocation
  • Use stack, passed in on init, not init_tos stack
  • Remove CONFIG.SYS parsing (DOSKRNL uses settings from properties) as well as device driver loading from settings
  • Implement virtual device driver init via init structure
  • Implement DOS device driver loading via init structure
  • Implement DOS Properties/Settings support
  • Replace FAT FS by calls to OS/2 host (Seems SVC must be used here)
  • Implement MVDM extensions to API (see RBIL for more information)
  • Drop-in replacement of DOSKRNL

Packages

 
 
 

Languages

  • C 57.8%
  • Assembly 35.7%
  • C++ 1.8%
  • Makefile 1.4%
  • Shell 1.4%
  • Batchfile 0.8%
  • Other 1.1%