What has been built so far
-
VGA text mode driverWrites directly to video memory at 0xB8000. 80 by 25 character grid, 16 colour palette, scrolling handled by hand.
-
CMFS, a custom on-disk filesystemBacked by a hand written ATA PIO disk driver. Files and directories persist across reboots.
-
Seven keyboard layoutsUK and US QWERTY, Dvorak, Colemak, Swedish, German (QWERTZ), and French (AZERTY). Switchable at runtime.
-
In-kernel text editorA full screen editor with save and quit shortcuts, writing straight to the filesystem.
-
PC speaker driverPrograms the 8253 PIT directly for tones: boot jingle, error sounds, and a manual play command.
-
Five colour themesClassic, Amber, Ice, Hacker, and Rose, switchable live from the shell.
-
Power managementShutdown and reboot, using QEMU's ACPI shutdown ports and the classic keyboard controller reset trick.
-
Command history and scrollback recallUp and down arrows cycle through the last ten commands typed.
Shell preview
claudimon> theme
Available themes:
0 - classic
1 - amber
2 - ice
3 - hacker
4 - rose
claudimon> keyboard
Available keyboard layouts:
0 - UK QWERTY
1 - US QWERTY
2 - Dvorak
3 - Colemak
4 - Swedish
5 - German (QWERTZ)
6 - French (AZERTY)
claudimon> edit notes.txt
[Opens the full screen text editor]
Known limitations
Claudimon is honest about what it does not do. There is no memory protection, so a bug can write to any address including kernel memory itself. There is no user or permission system. Multitasking is not implemented, the shell runs one command at a time. There is no network stack. Disk access uses a single hand rolled filesystem with no journaling, so a power cut mid write can corrupt a file.
See the About page for more on the project's scope and intent.