TempleOS

Last updated

TempleOS
TempleOS.jpg
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;7 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 2017.

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 Holy C
Paradigm Imperative, Compiled
Designed by Terry A. Davis
OS TempleOS
Website Unofficial HolyC language website
Influenced by
C, 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' 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">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">Executable and Linkable Format</span> Standard file format for executables, object code, shared libraries, and core dumps.

In computing, the Executable and Linkable Format is a common standard file format for executable files, object code, shared libraries, and core dumps. First published in the specification for the application binary interface (ABI) of the Unix operating system version named System V Release 4 (SVR4), and later in the Tool Interface Standard, it was quickly accepted among different vendors of Unix systems. In 1999, it was chosen as the standard binary file format for Unix and Unix-like systems on x86 processors by the 86open project.

<span class="mw-page-title-main">Machine code</span> Lowest level 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). For conventional binary 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.

<span class="mw-page-title-main">OpenVMS</span> Computer operating system

OpenVMS, often referred to as just VMS, is a multi-user, multiprocessing and virtual memory-based operating system. It is designed to support time-sharing, batch processing, transaction processing and workstation applications. Customers using OpenVMS include banks and financial services, hospitals and healthcare, telecommunications operators, network information services, and industrial manufacturers. During the 1990s and 2000s, there were approximately half a million VMS systems in operation worldwide.

<span class="mw-page-title-main">Application binary interface</span> Binary interface between two program units

In computer software, an application binary interface (ABI) is an interface between two binary program modules. Often, one of these modules is a library or operating system facility, and the other is a program that is being run by a user.

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. Its development began in 2002 as a fork of AtheOS Another version of Syllable OS is the Syllable Server, which is based on Linux core.

<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.

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.

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. It was originally called DJGCC, and was later renamed from DJGCC to DJGPP when C++ support was added, though the "PP" was said to stand for "Programming Platform" rather than "Plus Plus".

<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.

PearPC is a PowerPC platform emulator capable of running many PowerPC operating systems, including pre-Intel versions of Mac OS X, Darwin, and Linux on x86 hardware. It is released under the GNU General Public License (GPL). It can be used on Windows, Linux, FreeBSD and other systems based on POSIX-X11. The first official release was made on May 10, 2004. The software was often used to run early versions of OS X on Windows XP computers.

<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.

The IBM Basic assembly language and successors is a series of assembly languages and assemblers made for the IBM System/360 mainframe system and its successors through the IBM Z.

<span class="mw-page-title-main">Minix 3</span> Unix-like operating system

Minix 3 is a small, Unix-like operating system. It is published under a BSD-3-Clause license and is a successor project to the earlier versions, Minix 1 and 2.

<span class="mw-page-title-main">AROS Research Operating System</span> Operating system

AROS Research Operating System is a free and open-source multi media centric implementation of the AmigaOS 3.1 application programming interface (API) which is designed to be portable and flexible. As of 2021, ports are available for personal computers (PCs) based on x86 and PowerPC, in native and hosted flavors, with other architectures in development. In a show of full circle development, AROS has been ported to the Motorola 68000 series (m68k) based Amiga 1200, and there is also an ARM port for the Raspberry Pi series.

<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 the 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".

<span class="mw-page-title-main">Red (programming language)</span> Computer programming language released in 2011

Red is a programming language designed to overcome the limitations of the programming language Rebol. Red was introduced in 2011 by Nenad Rakočević, and is both an imperative and functional programming language. Its syntax and general usage overlaps that of the interpreted Rebol language.

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

Terrence Andrew Davis was an American electrical engineer and computer programmer best known for creating and designing TempleOS, an operating system in the public domain, by himself. 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. 1 2 "Zeal-Operating-System/ZealOS". github.com. October 6, 2024. Retrieved October 7, 2024.
  20. tinkeros (September 27, 2024). "tinkeros/TinkerOS". github.com. Retrieved October 7, 2024.
  21. "minexew/Shrine". github.com. September 30, 2024. Retrieved October 7, 2024.