>>910Isn't there enough documentation inside?
* TempleOS is God's official temple. Just like Solomon's temple, this is a
community focal point where offerings are made and God's oracle is consulted.
* God said 640x480 16 color graphics is a covenant like circumcision. Children
will do offerings. Think of 16 colors like the Simpson's cartoons. In the
future, even if one GPU were universal, we would keep 640x480 16 color and not
use GPU acceleration. Graphics operations should be transparent, not hidden in
a GPU.
* God said to use a single audio voice – a single frequency with waveforms.
* God said His temple must be perfect. We don't think twice about breaking
compatibility. God said we do a seven year release cycle. I say the PC
hardware follows a 49 year, jubilee cycle, like broadcast TV upgrades.
* The vision is the same usage model and niche as the Commodore 64 – a
non-networked, simple machine where programming was the goal, not just a means
to an end. However, it is modern, 64-bit and multi-cored. It is special
purpose, not general purpose, so some things it will not do. Also, it's a
kayak, not a Titanic. The priority is user developers, not 3rd party developers.
* We do not put any hooks for future changes. "Perfect" means we always act as
though it is final, for all time. Microsoft allowed the Windows BMP file format
to adapt to the future and it became grotesque.
* Low line count is the highest good, so it is easy to learn the whole thing.
Users should see the light at the end of the tunnel. One file system, for
example, is better than many file systems.
* There is a limit of 100,000 lines of code for all time, not including
applications and demos. Code comments count, however. 3rd party libraries are
banned because they circumvent the intent of this limit. The vision is a
Commodore 64 ROM – a fixed core API that is the only dependency of
applications. Currently, there are 79,959 lines of code.
* Minimal abstraction is a goal. Sheep are fools. They always respect a design
that is more complicated than another. Any genius can make it complicated.
Like in physics, it takes a supra-genius to make it simple.
* One platform. x86_64 PC compatibles. Desk-tops are all we design for, but
lap-tops can tag-along.
* One driver for each class of device. Limited exceptions are allowed. With
divergent device capabilities, it is a nightmare for user applications and what
is gained? A three button mouse is like a leg you cannot put weight on.
* Ring-0-only. Everything runs in kernel mode, including user applications.
* Full access to everything. All memory, I/O ports, instructions, and similar
things must never be off-limits. All functions, variables and class members
will be accessible. There are no C++ public/private protections and all
functions, even secondary ones in the kernel, can be called.
* Single-address-map as though paging is not used. Long mode requires paging,
however, so the nearest thing is keeping all memory identity-mapped.
* No networking, so malware is not an issue.
* No encryption or passwords. Files are compressed, not encrypted.
* Free and public domain.
* 100% open source with all source included.
* Documents are not for printing. They're dynamic, intended for the screen.
* Just one 8x8 fixed-width font. No Unicode, just Extended ASCII. Other
countries can make their own versions. The versions should be just for one
language and platform.
* No multimedia. Sounds and images will be primarily calculated in real-time,
not fetched from storage.