Files
TempleOS-Rijn/TempleOS/Doc/Charter.TXT
T
2018-09-08 21:45:45 +02:00

30 lines
2.2 KiB
Plaintext

$FG,5$$WW,1$$TX+CX,"TempleOS Charter"$$FG$
TempleOS is God's official temple. God said to use 640x480 16 color graphics and God said to have a single audio voice. That is just like how He specified cubits in the Bible!
1) TempleOS is $FG,2$ring-0-only$FG$, running everything in kernel mode including applications. You have full access to memory, I/O ports, instructions, etc. at all times, because that's fun.
2) TempleOS will always $FG,2$identity-map$FG$ memory in a $FG,2$single-address-map$FG$ configuration. (Virtual addresses are always kept equal to physical addresses with a single map for all tasks on all cores.) It's as though paging is not used.
3) TempleOS will always be for one platform -- $FG,4$$TX+HTML,"x86_64","http://en.wikipedia.org/wiki/Amd64#AMD64"$$FG$ PC compatibles.
4) TempleOS will never have networking, so malware is less of an issue.
5) TempleOS will always have one video mode, $FG,2$640x480$FG$ by 16 colors, unless that mode becomes unavailable on computers in the future.
6) TempleOS will always just have PC Speaker sound.
7) TempleOS will always be $FG,2$free$FG$. I might sell applications, support, or, possibly, do adware.
8) TempleOS will always be $FG,2$100% open source$FG$ with all source included, unless device drivers or something can only be included with non-disclosure agreements.
9) All function args and returns will be 64-bit. No plans for C++.
10) TempleOS documents are not for printing. They're dynamic and intended for the screen. There will always be just one font, a fixed-width font. No Unicode, just ASCII.
11) TempleOS is not for multimedia. Games will be created by programmers, not artists. Sounds and images will be, primarily, calculated in real-time, not fetched.
12) All functions, variables and class members will be accessible. There are no C++ $FG,2$public$FG$/$FG,2$private$FG$ protections and all functions, even secondary ones in the kernel, can be called.
13) $FG,4$$BK,1$Backward compatibility is NOT guaranteed.$FG$$BK,0$ You are safest working with $FG,2$JIT$FG$ compilation instead of $FG,2$AOT$FG$ binaries because I can add members to classes, reorder members in classes, add default args to existing functions, change $FG,2$#define$FG$ values, etc. all without breaking compatibility.