On this page...
Todo
- look through dev kernel for more changes to merge into stable kernel
- see Blog.Jerm
| Finish my SFT work. [on hold/cancelled] |
| Check on Emm386 incompatibility with Watcom 386 kernel. [fixed] |
Released kernels:
- 2035, by last official maintainer Bart Oldeman
- 2035A, by interim maintainer Jeremy Davis
- 2036, compiled 2006/07/26 or later, this one will be the FreeDOS 1.0 kernel
- 2037, the latest unstable kernel revision
These kernels have the following features:
- FreeDOS specific menu system in config file
- 8086 support (succesfully verified on PicoXT emulator)
- FAT12 and FAT16 support
- FAT32 support, may be compiled out if desired
- DOS version (faked M$-DOS version) numbering support:
- fat32: 7.10
- fat12/16: 5.00
Development kernels:
- 2035B-CVS, daily builds by Jeremy Davis. Much like 2035A
- 2035W-CVS, daily builds by Jeremy Davis
- 2037, uploaded on ibiblio
Currently has the following additional features:
- Improved support for l10n (country, NLSFUNC, MODE, CHCP)
- Windows 3.1 support
- More stuff.
Just to remember:
l10n = localization (country-specific settings such as how to represent numbers, dates, money, ...). Specific to kernel, drivers and applications that support it.
i18n = internationalization (translations), application / distribution specific instead of something kernel specific
How I do I build the kernel?
If you want to have a custom script, just make a custom.bat with below mentioned parameters and a CALL command: @CALL BUILD.BAT LIST 186 FAT32 /D WIN31SUPPORT
On Windows, it's wise to end this custom.bat file with a PAUSE command.
I build the kernel a lot (sometimes several dozen times in a row when testing), but most of the time I use the Dev kernel and the command line of:
build list 186 fat32 /D WIN31SUPPORT
- where build of course initiates the compiling and other steps to generate a working kernel (compile, link, optionally compress, statically relocate)
- list causes the assembly files to generate a listing (output file that shows original source, line #s, and generated bytes)
- 186 causes the compiler to generate code for 80186 or newer computers (slightly smaller code but still runs on my 286 based computers)
- fat32 enables support for FAT32 filesystem (all kernels have FAT12 and FAT16 support)
- /D WIN31SUPPORT enables windows 3.x to run (really need to add win option to build.bat)
What I am currently working on
- Windows 3.1 enhanced and DOS boxes support
- currently my dev kernel has fnodes removed and uses SFTs, but it has some bugs I need to work out before committing
Future plans
- create an IFS (Installable File System) kit based on RIFS
- use the IFS kit to support Lean filesystem - http://freedos-32.sourceforge.net/showdoc.php?page=leanfs
- NTFS support
- use IFS kit for general support, based on Linux NTFS project
- add boot time support - add hook to kernel so can use boot sector(s) NTFS load support to load IFS NTFS version
- resources: Linux NTFS project, Reactos NTFS (relsoft.net)
other probably non FreeDOS stuff on my todo list
- czar
- fix multiple processor support for syscall redirector
- work on syscall implementations
- AbiWord
- native win32 libs
- new msvc makefiles to avoid breaking MinGW build or change to use build
- update plugin API to use COM-like api (use pure virtual base classes and similar layout so any Win32 C++ compiler can be used to create plugins and perhaps other programming environments)
- fdos
- commit something
- finish updating ...
- atapicdd
- finish cdrom driver portion
- write ASPI over ATA / ATASPI portion
- pdtree
- rewrite so doesn't use so much memory
- win32 on DOS
- play with WDOSX and HXDOSX, see about using for Abi, etc. on DOS