hschumann2/TempleOS-Source-Code
0838
1 2 The Temple Operating System3Downloads App Store4 5Terry's Linux Bash Scripts6 General7 QEMU8 VirtualBox9 VMware10 11Screen Shots Instructional Videos12 13Introduction F.A.Q.14 15Features The Charter16 17Source Code By File Source Code (Raw)18 19Source Code By Sym Source Code By Address20 21TempleOS Credits History of TempleOS22 23Change Log Why 640x480?24 25 26 27TempleOS is a free, public domain, open source, x86_64, non-preemptive28multi-tasking, multi-cored, ring-0-only, single-address-map (identity-mapped),29non-networked, PC operating system. Paging is, basically, not used.30 31The CIA encourages code obsfucation. They make it more complicated than32necessary. TempleOS is, literally, more simple than necessary. It is33obnoxiously simple... to the point it hurts.34 35This "Hello World" joke, the BMP file format and the WAV file format show that36the industry is really screwed-up! That's what TempleOS fixes. I capped the37line-of-code count at 100,000 and God said it must be perfect, so it will never38be an ugly monstrocity. It is currently 82,157 lines of unblemished code.39Backward compatibility is not promised.40 41Normally, failure is not an option, but since TempleOS accompanies Windows or42Linux, we exclude certain uses. There is no reason to duplicate browsing,43multimedia, desktop publishing, etc. Linux wants to be a secure, multi-user44mainframe. That's why it has file permissions. The vision for TempleOS,45however, is a modern, 64-bit Commodore 64. The C64 was a non-networked, home46computer mostly used for games. It trained my generation how to program because47it was wide open, completely hackable. The games were not multimedia works of48art, but generated by non-artist.49 50A troll might ask, "Why not just use DOS? It was ring-0-only and51single-address-map." DOS was 16-bit, with segmentation -- awful! TempleOS is5264-bit, flat, non-segmented and multi-cored. It has a C64-like shell with53HolyC, a dialect of C/C++, instead of BASIC. It was written from scratch, and54not even ASCII was sacred -- it has 8-bit unsigned char source code to support55European languages. Also, the source code supports binary sprite graphics.56 57A troll might say, "It can crash!" We used DOS for years and loved it.58Computers even had a reset switch! Just think of the power of ring-0, muhahaha!59Think of the speed and simplicity of ring-0-only and identity-mapping. It can60change tasks in half a microsecond because it doesn't mess with page tables or61privilege levels. Inter-process communication is effortless because every task62can access every other task's memory.63 64It's fun having access to everything. When I was a teenager, I had a book,65Mapping the Commodore 64, that told what every location in memory did. I liked66copying the ROM to RAM and poking around at the ROM BASIC's variables.67Everybody directly poked the hardware ports.68 69TempleOS is simpler than Linux and you can have hours of fun tinkering because70all memory and ports are accessible. Memory is identity-mapped at all times, so71you can modify any task's memory from any other task. You can access all disk72blocks, too. I had a blast using a C64 disk block editor to modify directories73to un-delete files, when I was a kid. Maybe, you want to play with a raw-block74database, or make your own file system?75 76 77 78 79 80I wrote all 120,933 lines of TempleOS over the last 13.8 years, full-time,81including the 64-bit compiler. It was called, at various times, "Hoppy", "82The J Operating System", "LoseThos" and "SparrowOS". Here are my83college transcripts. I've been a professional operating system developer since841990 when I was hired to work on Ticketmaster's VAX OS.85 86 87* "Commodore 64" is a trademark owned by Polabe Holding NV.88* "Linux" is a trademark owned by Linus Torvalds.89* "Windows" and "DOS" are trademarks owned by MicroSoft Corp.90 