TempleOS

Last updated

TempleOS
TempleOS logo.png
VirtualBox TempleOS x64 27 02 2021 20 43 48.png
TempleOS 5.03
Developer Terry A. Davis
Written in Holy C and x86 Assembly
Working stateFinished
Source model Open source
Initial release2005;19 years ago (2005) (as J Operating System)
2013;11 years ago (2013) (as TempleOS)
Latest release 5.03 / November 20, 2017;6 years ago (2017-11-20)
Platforms x64
Kernel typeMonolithic
Userland UserCmdLine using HolyC,
Adam
Default
user interface
640x480 16 Color Graphics, specifically created for TempleOS
License Public domain
Official website templeos.org

TempleOS (formerly J Operating System, LoseThos, and SparrowOS) is a biblical-themed lightweight operating system (OS) designed to be the Third Temple prophesied in the Bible. It was created by American programmer Terry A. Davis, who developed it alone over the course of a decade after a series of manic episodes that he later described as a revelation from God.

Contents

The system was characterized as a modern x86-64 Commodore 64, using an interface similar to a mixture of DOS and Turbo C. Davis proclaimed that the system's features, such as its 640x480 resolution, 16-color display, and single-voice audio, were designed according to explicit instructions from God. [1] It was programmed with an original variation of C/C++ (named HolyC) in place of BASIC, and included an original flight simulator, compiler, and kernel.

First released in 2005 as J Operating System, TempleOS was renamed in 2013 and was last updated in 2018.

Background

Terry A. Davis Terry A. Davis (cropped).jpg
Terry A. Davis

Programmer Terry A. Davis (1969–2018) began experiencing regular manic episodes in 1996, leading him to numerous stays at mental hospitals. Initially diagnosed with bipolar disorder, he was later declared schizophrenic and remained unemployed for the rest of his life. [1] He suffered from delusions of space aliens and government agents that left him briefly hospitalized for his mental health issues. [1] [2] After experiencing a self-described "revelation", he proclaimed that he was in direct communication with God, and that God told him the operating system was for God's third temple. [1]

Davis began developing TempleOS circa 2003. [3] One of its early names was the "J Operating System" before renaming it to "LoseThos", a reference to a scene from the 1986 film Platoon . [1] In 2008, Davis wrote that LoseThos was "primarily for making video games. It has no networking or Internet support. As far as I'm concerned, that would be reinventing the wheel". [4] Another name he used was "SparrowOS" before settling on "TempleOS". [5] In mid-2013, his website announced: "God's temple is finished. Now, God kills CIA until it spreads [ sic ]." [6]

Davis died after being hit by a train on August 11, 2018. [7]

System overview

TempleOS is a 64-bit, non-preemptive multi-tasking, [8] multi-cored, public domain, open source, ring-0-only, single address space, non-networked, PC operating system for recreational programming. [9] The OS runs 8-bit ASCII with graphics in source code and has a 2D and 3D graphics library, which run at 640x480 VGA with 16 colors. [5] Like most modern operating systems, it has keyboard and mouse support. It supports ISO 9660, FAT32 and RedSea file systems (the latter created by Davis) with support for file compression. [10] According to Davis, many of these specifications—such as the 640x480 resolution, 16-color display and single audio voice—were instructed to him by God. He explained that the limited resolution was to make it easier for children to draw illustrations for God. [1]

The operating system includes an original flight simulator, compiler, and kernel. [3] One bundled program, "After Egypt", is a game in which the player travels to a burning bush to use a "high-speed stopwatch". The stopwatch is meant to act as an oracle that generates pseudo-random text, something Davis likened to a Ouija board and glossolalia. [5] An example of generated text follows:

among consigned penally result perverseness checked stated held sensation reasonings skies adversity Dakota lip Suffer approached enact displacing feast Canst pearl doing alms comprehendeth nought [5]

TempleOS was written in a programming language developed by Davis as a middle ground between C and C++, originally called "C+" (C Plus), later renamed to "Holy C", possibly a reference to the Holy See. [5] It doubles as the shell language, enabling the writing and execution of entire applications from within the shell. The IDE that comes with TempleOS supports several features, such as embedding images in code. It uses a non-standard text format (known as DolDoc) which has support for hypertext links, images, and 3D meshes to be embedded into what are otherwise standard ASCII files; for example, a file can have a spinning 3D model of a tank as a comment in source code. Most code in the OS is JIT-compiled, and it is generally encouraged to use JIT compilation as opposed to creating binaries. [11] [ unreliable source? ] Davis ultimately wrote over 100,000 lines of code for the OS. [3]

Holy C

Holy C
HolyC Logo.svg
The Unofficial Logo of the programming language of Holy C
Holy C programming language.png
A screenshot of the HolyC programming language
Paradigm Imperative, Compiled
Designed by Terry A. Davis
OS TempleOS
Website Unofficial HolyC language website
Influenced by
C (programming language), C++

Holy C ( formerly C+) is a variant of the C and C++ programming Languages designed by Terry A. Davis [12] specifically for the TempleOS. It functions as both a general-purpose language for application development and a scripting language for automating tasks within TempleOS. [13]

Design and Features

Holy C shares similarities with C and C++ but incorporates distinct features:

Holy C's primary use case lies within the TempleOS ecosystem. Due to TempleOS's niche position, Holy C adoption remains limited outside of that specific operating system. [15]

However, some programmers find Holy C's unique features and its connection to TempleOS intriguing. Online resources exist for those interested in learning more about Holy C, including tutorials and a standalone compiler that facilitates experimentation independent of TempleOS. [16]

Critical reception

TempleOS received mostly "sympathetic" reviews. Tech journalist David Cassel opined that "programming websites tried to find the necessary patience and understanding to accommodate Davis". [3] TechRepublic and OSNews published positive articles on Davis's work, even though Davis was banned from the latter for hostile comments targeting its readers and staff. [3] In his review for TechRepublic, James Sanders concluded that "TempleOS is a testament to the dedication and passion of one man displaying his technological prowess. It doesn't need to be anything more." [5] OSNews editor Kroc Camen wrote that the OS "shows that computing can still be a hobby; why is everybody so serious these days? If I want to code an OS that uses interpretive dance as the input method, I should be allowed to do so, companies like Apple be damned." [3] In 2017, the OS was shown as a part of an outsider art exhibition in Bourgogne, France. [17]

Legacy

After Davis' death, OSNews editor Thom Holwerda wrote: "Davis was clearly a gifted programmer – writing an entire operating system is no small feat – and it was sad to see him affected by his mental illness". [18] One fan described Davis as a "programming legend", while another, a computer engineer, compared the development of TempleOS to a one-man-built skyscraper. [7] He added that it "actually boggles my mind that one man wrote all that" and that it was "hard for a layperson to understand what a phenomenal achievement" it is to write an entire operating system alone. [7]

TempleOS is in the public domain. Davis's family has wished for fans to donate to the National Alliance for Mental Illness and other organizations "working to ease the pain and suffering caused by mental illness". [6]

Forks

See also

Related Research Articles

<span class="mw-page-title-main">Assembly language</span> Low-level programming language

In computer programming, assembly language, often referred to simply as assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence between the instructions in the language and the architecture's machine code instructions. Assembly language usually has one statement per machine instruction (1:1), but constants, comments, assembler directives, symbolic labels of, e.g., memory locations, registers, and macros are generally also supported.

<span class="mw-page-title-main">BeOS</span> Discontinued operating system for personal computers

BeOS is a discontinued operating system for personal computers that was developed by Be Inc. It was conceived for the company's BeBox personal computer which was released in 1995. BeOS was designed for multitasking, multithreading, and a graphical user interface. The OS was later sold to OEMs, retail, and directly to users; its last version was released as freeware.

<span class="mw-page-title-main">Machine code</span> Set of instructions executed by a computer

In computer programming, machine code is computer code consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). Although decimal computers were once common, the contemporary marketplace is dominated by binary computers; for those computers, machine code is "the binary representation of a computer program which is actually read and interpreted by the computer. A program in machine code consists of a sequence of machine instructions ."

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

<span class="mw-page-title-main">Syllable Desktop</span> Operating system

Syllable Desktop is a discontinued free and open-source lightweight hobbyist operating system for Pentium and compatible processors. Its purpose was to create an easy-to-use desktop operating system for the home and small office user. It was forked and expanded AtheOS after the developer of AtheOS moved on to other projects in July 2002.

<span class="mw-page-title-main">64-bit computing</span> Computer architecture bit width

In computer architecture, 64-bit integers, memory addresses, or other data units are those that are 64 bits wide. Also, 64-bit central processing units (CPU) and arithmetic logic units (ALU) are those that are based on processor registers, address buses, or data buses of that size. A computer that uses such a processor is a 64-bit computer.

<span class="mw-page-title-main">MenuetOS</span> Operating system

MenuetOS is an operating system with a monolithic preemptive, real-time kernel written in FASM assembly language. The system also includes video drivers. It runs on 64-bit and 32-bit x86 architecture computers. Its author is Ville M. Turjanmaa. It has a graphical desktop, games, and networking abilities. One distinctive feature is that it fits on one 1.44 MB floppy disk.

In computing, protected mode, also called protected virtual address mode, is an operational mode of x86-compatible central processing units (CPUs). It allows system software to use features such as segmentation, virtual memory, paging and safe multi-tasking designed to increase an operating system's control over application software.

x86 assembly language is the name for the family of assembly languages which provide some level of backward compatibility with CPUs back to the Intel 8008 microprocessor, which was launched in April 1972. It is used to produce object code for the x86 class of processors.

The development of a hobbyist operating system is one of the more involved and technical options for a computer hobbyist. The definition of a hobby operating system can sometimes be vague. It can be from the developer's view, where the developers do it just for fun or learning; it can also be seen from the user's view, where the users are only using it as a toy; or it can be defined as an operating system which doesn't have a very big user base.

x86-64 64-bit version of x86 architecture

x86-64 is a 64-bit version of the x86 instruction set, first announced in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging mode.

A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is running. For example, a compiler that runs on a PC but generates code that runs on Android devices is a cross compiler.

<span class="mw-page-title-main">DJGPP</span> Implementation of the GNU toolchain for DOS

DJ's GNU Programming Platform (DJGPP) is a software development suite for Intel 80386-level and above, IBM PC compatibles which supports DOS operating systems. It is guided by DJ Delorie, who began the project in 1989. It is a port of the GNU Compiler Collection (GCC), and mostly GNU utilities such as Bash, find, tar, ls, GAWK, sed, and ld to DOS Protected Mode Interface (DPMI). Supported languages include C, C++, Objective-C/C++, Ada, Fortran, and Pascal.

<span class="mw-page-title-main">Haiku (operating system)</span> Computer operating system

Haiku, originally OpenBeOS, is a free and open-source operating system for personal computers. It is a community-driven continuation of BeOS and aims to be binary-compatible with it, but is largely a reimplementation with the exception of certain components like the Deskbar. The Haiku project began in 2001, supported by the nonprofit Haiku Inc., and the operating system remains in beta.

<span class="mw-page-title-main">CRUX</span> Linux distribution

CRUX is a lightweight x86-64 Linux distribution targeted at experienced Linux users and delivered by a tar.gz-based package system with BSD-style initscripts. It is not based on any other Linux distribution. It also utilizes a ports system to install and upgrade applications.

<span class="mw-page-title-main">Singularity (operating system)</span> Experimental operating system from Microsoft Research

Singularity is an experimental operating system developed by Microsoft Research between July 9, 2003, and February 7, 2015. It was designed as a high dependability OS in which the kernel, device drivers, and application software were all written in managed code. Internal security uses type safety instead of hardware memory protection.

<span class="mw-page-title-main">Watcom C/C++</span>

Watcom C/C++ is an integrated development environment (IDE) product from Watcom International Corporation for the C, C++, and Fortran programming languages. Watcom C/C++ was a commercial product until it was discontinued, then released under the Sybase Open Watcom Public License as Open Watcom C/C++. It features tools for developing and debugging code for DOS, OS/2, Windows, and Linux operating systems, which are based upon 16-bit x86, 32-bit IA-32, or 64-bit x86-64 compatible processors.

<span class="mw-page-title-main">Phantom OS</span> Orthogonally persistent managed-code general purpose operating system

Phantom OS is an orthogonally persistent managed code general-purpose operating system. It is based on a concept of persistent virtual memory, and executes bytecode in a virtual machine. It is one of a few OSes not based on classic concepts of Unix-like systems. Phantom is based on the principle that "Everything is an object", in contrast to the Unix-like approach of "Everything is a file".

BareMetal is an exokernel-based single address space operating system (OS) created by Return Infinity.

<span class="mw-page-title-main">Terry A. Davis</span> American programmer and creator of TempleOS

Terrence Andrew Davis, better known as Terry A. Davis, was an American electrical engineer and computer programmer best known for creating and designing TempleOS, an operating system in the public domain. Its development was an extremely complex, time-consuming, and unusual undertaking for one person.

References

  1. 1 2 3 4 5 6 Hicks, Jesse (November 25, 2014). "God's Lonely Programmer". VICE Motherboard . Archived from the original on May 3, 2015. Retrieved April 21, 2015.
  2. Bruet-Ferréol, Quentin (May 13, 2014). "Temple OS, un système d'exploitation pour parler à Dieu codé par un fou génial". Slate.fr (in French). Archived from the original on December 21, 2014. Retrieved April 21, 2015.
  3. 1 2 3 4 5 6 Cassel, David (September 23, 2018). "The Troubled Legacy of Terry Davis, 'God's Lonely Programmer'". The New Stack. Archived from the original on September 28, 2018. Retrieved September 28, 2018.
  4. Davis, Terry A. (2008). "The LoseThos IBM PC Operating System". LoseThos. Archived from the original on December 16, 2008. Retrieved July 18, 2021.
  5. 1 2 3 4 5 6 Sanders, James (January 21, 2014). "TempleOS: an educational tool for programming experiments". TechRepublic . Archived from the original on April 16, 2015. Retrieved April 21, 2015.
  6. 1 2 Davis, Terry A. (2013). "The Temple Operating System". TempleOS. Archived from the original on July 3, 2013. Retrieved April 22, 2015.
  7. 1 2 3 Cecil, Neita (September 7, 2018). "Man killed by train had tech following". The Dalles Chronicle. Archived from the original on November 8, 2020. Retrieved November 24, 2020.(subscription required)
  8. Davis, Terry A. (n.d.). "Scheduler". The TempleOS Source Code. Archived from the original on June 1, 2016. Retrieved June 16, 2018.
  9. Mathieu, Bruno (November 28, 2014). "TempleOS : le système d'exploitation qui parle à Dieu" [TempleOs: The operating system that talks to God]. Tom's Guide (in French). Archived from the original on July 2, 2015. Retrieved April 21, 2015.
  10. Davis, Terry A. (n.d.). "The Temple Operating System". www.templeos.org. Archived from the original on March 31, 2017. Retrieved March 30, 2017.
  11. Mitton, Richard (June 8, 2015). "A Constructive Look At TempleOS". www.codersnotes.com. Archived from the original on March 26, 2017. Retrieved March 30, 2017.
  12. "A Language Design Analysis of HolyC - Harrison Totty". harrison.totty.dev. Retrieved July 2, 2024.
  13. "HolyC Lang". holyc-lang.com. Retrieved July 2, 2024.
  14. K, Aryan (December 29, 2023). "HolyC: An Insane Hobby Project from an Insane Programmer". Ballad of SpaciousCoder78. Retrieved July 2, 2024.
  15. Gómez, Ramiro. "HolyC Programming Language Information & Resources • programminglanguages.info". programminglanguages.info. Retrieved July 2, 2024.
  16. "TempleOS". www.templeos.org. Retrieved July 2, 2024.
  17. Godin, Philippe (January 13, 2017). "la Diagonale de l'art - ART BRUT 2.0". Libération (in French). Archived from the original on March 11, 2017. Retrieved March 22, 2021.
  18. Holwerda, Thom (September 8, 2018). "Creator of TempleOS, Terry Davis, has passed away". OSNews . Archived from the original on January 17, 2019. Retrieved January 6, 2019.
  19. ZealOS, Zeal Operating System, September 23, 2023, retrieved September 24, 2023
  20. tinkeros (September 15, 2023), tinkeros/TinkerOS , retrieved September 24, 2023
  21. Shrine, April 4, 2023, retrieved September 24, 2023