Derrick was a hybrid monolithic 16/32-bit kernel which I wrote in FASM in 2008, to learn myself low-level Intel x86 assembly along the way. Derrick can be executed on a machine equipped with at least an 80386 CPU, runs from a floppy disk and will execute everything in ring 0 to be as fast as possible (kernel mode). Derrick was made from boredom and was more like an experiment – there was no main idea and no target goal – I have planned it to be a single-tasking single-purpose kernel, however I knew this design would not catch up so the development was stopped after something over 3 months. Well, at least I have learned myself some x86 assembly language during the process 🙂
The last version, 0.0.2, ran in 32-bit protected mode and had an option to switch occasionally to 16-bit real mode to do legacy disk reading methods. The shell ran in two, user configurable text modes: 80×25 or 80×50, and supported the archaic Czechoslovak ASCII Kamenický encoding (code page) to display locale; up to 3 text-mode fonts in this codepage could be set by the user. After boot-up, it played the classic “chimes.wav” Windows sound through the internal PC speaker before displaying the command line. And the shell itself was pretty self explanatory and contained a variety of odd functions; from listing the root directory of a floppy disk through rebooting in three different ways: through a purposely invoked CPU triple fault, through the BIOS JMP FAR method or the keyboard controller port 0x60.. It also had a hardcoded application which drew a 256-color VGA “spiral” on the screen; this was compiled in FreePascal outside the kernel and raw copied to the kernel executable afterwards before “distribution”. The offset address of this “application” was also hard-coded to the shell.
Unfortunately, kernel development had been stopped before any support to load external applications could be implemented. And, the source code has yet to be discovered in the “cemetery parts” of my hard drive… So, I am listing this here just out of pure curiosity.
Derrick Operating System homepage: click here