Go back

TempleOS - An operating system for recreational programming

Date published: 2022-06-23 12:02:21 — Categories: Tech,Gaming

TempleOS is a 64-bit operating system created by Terry A. Davis. Terry wanted to create an operating system similar to one of the Commodore 64's, using an interface similar to Turbo C. It features a 640x480 16-color display driver, single voice audio (pcspkr), being explicitly instructed by God.

What makes TempleOS so impressive is that it's the work of one man. There is a ton of content that comes with the operating system, everything from the compiler to the system libraries being in less than 100,000 lines!

The terminal is fed straight into the HolyC complier (yes, he created both a compiler and assembler), which also supports DolDoc. DolDoc is a file format developed by Terry similar to that of Word. It allows everything from simple colored text to 3D graphics. This results in very easy software and game development, as you can put sprites in a single file along the source code.

There are no processes or threads, there are only Tasks. Tasks hold a table of functions and variables. There is also no paging. This way, code may seem more complicated, but in reality allows full control of the hardware through a very simple interface. I wrote a serial driver recently for the operating system, after a bit of fiddling around, I eventually got it to work.

There are also quite a bit of community creations from a Wordle re-creation (shameless plug), space-shooting game (BlazeItFgt) to a WinAmp re-creation by Alec.

I highly recommend downloading it and installing it inside a VM: https://templeos.org. There are also some Discord servers that may provide you with assistance around the user interface, but it's pretty self-explanatory. There are also forks of it, my personal favorites being ZealOS and TinkerOS. ZealOS modifies a bunch of the inner workings of TempleOS and TinkerOS focuses on being as close to the original as possible. Although, both of them feature SATA support and VBE support making it possible to run the operating system at higher resolutions. The resolutions available may differ from computer to computer.

Have fun!