CoolFace
Datasetpublic

hschumann2/TempleOS-Source-Code

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes838downloads
Charter.txt129 linesDownload Raw Back to Doc
1 2                                TempleOS Charter3 4Why did they make Solomon's Temple?  It was a direction to look, to focus on, a5special place for meditation, to do offerings, a community center, a home to6God's beauty, that encouraged love of God.  People cherished God's temple,7beautifying it with gold and all fine things to show love of God, as great8cathedrals were decorated with astounding, awe-striking intricate art and9gargoyles, incredible devotion to God with hours of effort, toiling and10slaving-away for the glory of God, for families with children to see11stained-glass windows and tomes with ridiculously elaborate calligraphy to show12love of God, from a people who did little else but show love toward God, lived13in dire conditions by today's standards, yet with so much difficulty14scraping-by, found the time to devote even all free-time to God!15 16 171 Kings 6:21 (King James)18 19     6:21 So Solomon overlaid the house within with pure gold: and he made20     a partition by the chains of gold before the oracle; and he overlaid21     it with gold.22 23     6:22 And the whole house he overlaid with gold, until he had finished24     all the house: also the whole altar that was by the oracle he overlaid25     with gold.26 27     6:23 And within the oracle he made two cherubims of olive tree, each28     ten cubits high.29 30 31* TempleOS is God's official temple.  Just like Solomon's temple, this is a32community focal point where offerings are made and God's oracle is consulted.33 34* God said 640x480 16 color graphics is a covenant like circumcision.  Children35will do offerings.  Think of 16 colors like the Simpson's cartoons.  In the36future, even if one GPU were universal, we would still keep 640x480 16 color and37not use GPU acceleration.  Graphics operations should be transparent, not hidden38in a GPU.39 40* God said to use a single-voice 8-bit signed MIDI-like sample for sound.  God41does not want death screams, perhaps, because God has PTSD or soldiers have42PTSD.  (Imagine wounded on battlefields.)43 44* God said His temple must be perfect.  We don't think twice about breaking45compatibility.  God said we do a seven year release cycle.  I say the PC46hardware follows a 49 year, jubilee cycle, like broadcast TV upgrades.47 48* The vision is the same usage model and niche as the Commodore 64 -- a49non-networked, simple machine where programming was the goal, not just a means50to an end.  However, it is modern, 64-bit and multi-cored.  It is special51purpose, not general purpose, so some things it will not do.  Also, it's a52kayak, not a Titanic. The priority is user developers, not 3rd party developers.53 54* We do not put any hooks for future changes.  "Perfect" means we always act as55though it is final, for all time.  Microsoft allowed the Windows BMP file format56to adapt to the future and it became grotesque.57 58* Low line count is the highest good, so it is easy to learn the whole thing.59Users should see the light at the end of the tunnel.  One file system, for60example, is better than many file systems.61 62* There is a limit of 100,000 lines of code for all time, not including63applications and demos.  Code comments count, however.  Currently, there are6482,157 lines of code.  3rd party libraries are banned because they circumvent65the intent of this limit.  The vision is a Commodore 64 ROM -- a fixed core API66that is the only dependency of applications.  Dependency on components and67libraries creates a hell that is no longer blissful.68 69* The metric for resolving all TempleOS code governance issues is how fast the70compiler compiles itself and the kernel with BootHDIns().  The HolyC language71should be changed to optimize this metric, as I did when I changed type casting72from prefix standard C to postfix HolyC, but we need a rule to prevent73degenerating into a brainfuck language.74 75* Minimal abstraction is a goal.  Sheep are fools.  They always respect a design76that is more complicated than another.  Any genius can make it complicated.77Like in physics, it takes a supra-genius to make it simple.78 79* It is for one platformc -- x86_64 desktop PC compatibles, more like80super-computers than battery efficient wimpy mobiles.81 82* All hardware access will be done through x86 IN/OUT instructions, not PCI83drivers.  A frame buffer for VGA is an exception.84 85* One driver for each class of device.  Limited exceptions are allowed.  With86divergent device capabilities, it is a nightmare for user applications and what87is gained?  A three buuton mouse is like a leg you cannot put weight on.88 89* Ring-0-only.  Everything runs in kernel mode, including user applications.90 91* Full access to everything.  All memory, I/O ports, instructions, and similar92things must never be off limits.  All functions, variables and class members93will be accessible.  There are no C++ public/private protections and all94functions, even secondary ones in the kernel, can be called.95 96* Single-address-map as though paging is not used.  Long mode requires paging,97however, so the nearest thing is keeping all memory identity-mapped.98 99* No networking, so malware is not an issue.100 101* No encryption or passwords.  Files are compressed, not encrypted.102 103* Free and public domain.104 105* 100% open source with all source included.106 107* Documents are not for printing.  They're dynamic, intended for the scrn.108 109* Just one 8x8 fixed-width font.  No Unicode, just Extended ASCII.  Other110countries can make their own versions.  The versions should be just for one111language and platform.112 113* No multimedia.  Sounds and images will be primarily calculated in real-time,114not fetched from storage.115 116 117* "Commodore 64" is a trademark owned by Polabe Holding NV.118* "The Simpsons" is a trademark owned by Fox.119* "Windows" is a trademark owned by MicroSoft Corp.120 121 122 123                              Possible Amendments124 125The compiler's parser makes RISC code which it optimizes to CISC.  I discovered126this does not matter because the CPU converts it back to RISC and schedules it,127internally.  A TempleOS zealot with more zeal than I, might say we should save128lines-of-code by removing the CISC optimizing.129