<aname="l3"></a>* The vision is the same usage model and niche as the Commodore 64 -- a simple machine where programming was the goal, not just
<aname="l4"></a>a means to an end. However, it is modern, 64-bit and </span><spanclass=cF2>multi-cored</span><spanclass=cF0>. It is special purpose, not general purpose, so some things
<aname="l5"></a>it will not do. Also, it's a kayak, not a Titanic. The priority is </span><spanclass=cF2>user developers</span><spanclass=cF0>, not </span><spanclass=cF2>3rd party developers</span><spanclass=cF0>.
<aname="l6"></a>
<aname="l7"></a>* </span><spanclass=cF4>We don't think twice about breaking compatibility. </span><spanclass=cF0> We do not put any hooks for future changes. "Perfect" means we always act
<aname="l8"></a>as though it is final, for all time. Microsoft allowed the </span><ahref="http://en.wikipedia.org/wiki/BMP_file"><spanclass=cF2>Windows BMP</span></a><spanclass=cF0> file format to adapt to the future and it became
<aname="l9"></a>grotesque.
<aname="l10"></a>
<aname="l11"></a>* Low line count and code complexity is the highest good, so it is easy to learn the whole thing. Users should see the light at
<aname="l12"></a>the end of the tunnel. One file system, for example, is better than many file systems.
<aname="l13"></a>
<aname="l14"></a>* There is a limit of 100,000 lines of code for all time, not including applications and demos. Currently, there are 80,849
<aname="l15"></a>lines of code. </span><spanclass=cF4>3rd party libraries are banned</span><spanclass=cF0> because they circumvent the intent of this limit. The vision is a Commodore 64
<aname="l16"></a>ROM -- a fixed core API that is the only dependency of applications. Dependency on components and libraries creates a hell that
<aname="l17"></a>is no longer blissful.
<aname="l18"></a>
<aname="l19"></a>* The metric for resolving all ZealOS code governance issues is how fast the compiler compiles itself and the kernel with </span><spanclass=cF4>
<aname="l20"></a></span><ahref="https://tomawezome.github.io/ZealOS/System/Boot/BootHDIns.CC.html#l24"><spanclass=cF4>BootHDIns</span></a><spanclass=cF0>(). The </span><ahref="https://tomawezome.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><spanclass=cF4>CosmiC</span></a><spanclass=cF0> language should be changed to optimize this metric, as Terry Davis did when he changed type casting from
<aname="l21"></a>prefix standard C to postfix </span><ahref="https://tomawezome.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><spanclass=cF4>CosmiC</span></a><spanclass=cF0>, but we need a rule to prevent degenerating into a brainfuck language.
<aname="l23"></a>* Minimal abstraction is a goal. Sheep are fools. They always respect a design that is more complicated than another. Any
<aname="l24"></a>genius can make it complicated. Like in physics, it takes a supra-genius to make it simple.
<aname="l25"></a>
<aname="l26"></a>* It is for one platform -- </span><ahref="http://en.wikipedia.org/wiki/Amd64#AMD64"><spanclass=cF4>x86_64</span></a><spanclass=cF0> desktop PC compatibles, more like super-computers than battery efficient wimpy mobiles.
<aname="l27"></a>
<aname="l28"></a>* One driver for each class of device. Limited exceptions are allowed. With divergent device capabilities, it is a nightmare for
<aname="l29"></a>user applications and what is gained?
<aname="l30"></a>
<aname="l31"></a>* </span><spanclass=cF2>Ring-0-only</span><spanclass=cF0>. Everything runs in kernel mode, including user applications.
<aname="l32"></a>
<aname="l33"></a>* </span><spanclass=cF4>No wireless</span><spanclass=cF0> communications. Only wired communications like Ethernet and Serial IO will be used.
<aname="l34"></a>
<aname="l35"></a>* </span><spanclass=cF4>No GPU</span><spanclass=cF0>. We want one processing platform, the CPU, for everything.
<aname="l36"></a>
<aname="l37"></a>* Full access to everything. All memory, I/O ports, instructions, and similar things must never be off limits. All
<aname="l38"></a>functions, variables and class members will be accessible. There are no C++ </span><spanclass=cF2>public</span><spanclass=cF0>/</span><spanclass=cF2>private</span><spanclass=cF0> protections and all functions, even
<aname="l39"></a>secondary ones in the kernel, can be called.
<aname="l41"></a>* </span><spanclass=cF2>Single-address-map</span><spanclass=cF0> as though paging is not used. Long mode requires paging, however, so the nearest thing is keeping all
<aname="l44"></a>* </span><spanclass=cF2>Free</span><spanclass=cF0> and </span><spanclass=cF2>public domain</span><spanclass=cF0>.
<aname="l45"></a>
<aname="l46"></a>* </span><spanclass=cF2>100% open source</span><spanclass=cF0> with all source included.
<aname="l47"></a>
<aname="l48"></a>* Documents are not for printing. They're dynamic, intended for the screen.
<aname="l49"></a>
<aname="l50"></a>* Just one 8x8 fixed-width font. </span><spanclass=cF4>No Unicode, just Extended ASCII</span><spanclass=cF0>. Other countries can make their own versions. The versions
<aname="l51"></a>should be just for one language and platform.
<aname="l52"></a>
<aname="l53"></a>* </span><spanclass=cF4>No multimedia</span><spanclass=cF0>. Sounds and images will be primarily calculated in real-time, not fetched from storage.
<aname="l54"></a>
<aname="l55"></a></span><spanclass=cF8>
<aname="l56"></a>* "Commodore 64" is a trademark owned by Polabe Holding NV.
<aname="l57"></a>* "The Simpsons" is a trademark owned by Fox.
<aname="l58"></a>* "Windows" is a trademark owned by MicroSoft Corp.
<aname="l59"></a></span><spanclass=cF0>
<aname="l60"></a>
<aname="l61"></a></span><spanclass=cF5> Possible Amendments</span><spanclass=cF0>
<aname="l62"></a>
<aname="l63"></a>The compiler's parser makes RISC code which it optimizes to CISC. Terry Davis discovered this does not matter because the CPU
<aname="l64"></a>converts it back to RISC and schedules it, internally. A ZealOS zealot with more zeal might say we should save lines-of-code by