KnightOS is a Unix-like operating system written in handwritten z80 assembly for Texas Instruments calculators, built under extreme hardware constraints: 64 KiB RAM, 512 KiB to 4 MiB NOR Flash storage, and no MMU. The kernel fit its entire state in 1024 bytes of statically allocated RAM, used a custom NOR Flash filesystem that only reset bits during normal operations, and employed self-modifying code to execute Flash writes from RAM. Despite these limitations, it supported preemptive multiprocessing, multithreading, a filesystem, C and assembly programming environments, basic networking via bitbanged I/O, and booted faster than a finger can lift off the power button.

4m read timeFrom drewdevault.com
Post cover image

Sort: