Software

Index of software projects.


Operating Systems

XtOS/S

XtOS/S is my first real operating system. The kernel is written in C and Assembly. The userspace is written in Scheme which is interpreted at runtime. All code is run in ring 0 and the operating system does not use paging or any other form of memory protection. It is graphical and uses a heavily modified version of the MeME window manager. It has keyboard and mouse support and runs on most IA-32 computers.

XtOS/W

XtOS/W is a multitasking operating system written in C with a driver stack and a hybrid kernel. It contains a primitive GDI similar to the Win32 GDI. Drivers are dynamically linked into the kernel at boot allowing for drivers to be added without recompiling the kernel as well as increased stability.

DOOPS

DOOPS is a short lived 64-bit object oriented operating system written in C++. Its object manager (known as the Thing Manager) serves as the basis for the object manager used in XtOS/W.

EchidnaOS

EchidnaOS Screenshot

echidnaOS is an attempt at creating an operating system from scratch. The kernel is written primarily in C, with some assembly here and there. It utilizes segmentation for memory protection. It supports the mlibc standard C library allowing it to run everything from Javascript to Zork. It is co-developed with Mintsuki.

Bootloaders

Limine

Limine Screenshot

x86/x86_64 BIOS Bootloader.

Bootable Keyboard Tester

Bootable Keyboard Tester

A bootable keyboard tester for IBM PC-compatibles. It fits in the bootsector of a hard disk or floppy disk. It can be used when trying to diagnose stuck or dead keys. When a key is pressed, the background of the corresponding on-screen character turns white and the foreground turns black, when it is released the character's background will return to black. However, the character's foreground will remain white to indicate that it has been pressed in the past.

Serial Bootloader

Serial Bootloader

Serial Bootloader (serboot) is a bootloader for x86 computers. It can be installed in the bootsector of a floppy disk, hard drive, flash drive, CD-R, etc. Unlike a regular bootsector, serboot does not boot an operating system installed on the boot medium, instead it receives a kernel over the serial port, loads it into memory, then executes it. This makes serboot perfect for OSDev. Instead of having to go through the time consuming process of writing a disk image to a USB drive, then unplugging the USB drive and plugging it into the target computer, then powering up said computer, finding an issue, unplugging the USB, plugging the USB back into the development computer, etc. you can just write serboot to the bootsector of a disk, boot from that disk, and send the kernel over a serial cable. No repeated removal and insertion of USB drives necessary!

Communications

DorpWiki

A lightweight, flatfile PHP wiki.

Dch

Dch - Thread Form

Imageboard and comment system written in Python and Flask.

Tools

Easter Date Calculator

Easter Date Calculator

Find what day Easter falls on for any year.

Good Friday Date Calculator

Good Friday Date Calculator

Find what day Good Friday falls on for any year.

Games

TSFTC2

A platformer I made back in 2012.

Fun

DogeBoot

DogeBoot

Bad Meme.