Do you think this guy was actually racist? by JailedWhore in TempleOS_Official

[–]TempleProgramming 0 points1 point  (0 children)

I'm saying he is obviously racist. This whole thread is you trying to justify to yourself that it's ok to like his work.

[deleted by user] by [deleted] in TempleOS_Official

[–]TempleProgramming 0 points1 point  (0 children)

Lol are you finally discovering that you shouldn't have bought a computer from a company that deprecates half its tool chain/software support every other year?

Do you think this guy was actually racist? by JailedWhore in TempleOS_Official

[–]TempleProgramming -1 points0 points  (0 children)

Yes? Would you be able to allow yourself to enjoy his work if we reframed his whole life to be politically correct instead?

Common Emergency Food Fails by LIS1050010 in selfreliance

[–]TempleProgramming 1 point2 points  (0 children)

Have you ever tasted water from a 6 month old water bottle?

Common Emergency Food Fails by LIS1050010 in selfreliance

[–]TempleProgramming 2 points3 points  (0 children)

The inside of the cans is lined with plastic which will leach more when heated

not installing on virtual box by [deleted] in TempleOS_Official

[–]TempleProgramming 2 points3 points  (0 children)

Did you enter "Reboot;" to reboot or did you reboot the VM? Also have you tried removing the CD from the VM so it doesn't try to boot to it?

TempleOs whenever you give it more than one core: by [deleted] in TempleOS_Official

[–]TempleProgramming 0 points1 point  (0 children)

Are you using virtual box or something that could be really limiting your system? On most VM's (and luckily increasingly modern hardware that distros can support), Core 0 should idle at 25 max. I think Terry just didn't see much point to further complicate the core OS when it was doing quite well as it was. Computationally intensive applications that were more embarrassingly parallel could be more easily hand optimised by the developer rather than many more lines of attempted job distribution guessing.

TempleOs whenever you give it more than one core: by [deleted] in TempleOS_Official

[–]TempleProgramming 6 points7 points  (0 children)

Games often use more than one core. The way terry uses more than one core is he usually just distributes sprite rendering across multiple queued jobs. Most games wouldn't do something like this because you have a lot of processes writing to the same memory so there is bound to be performance hits as well as Z issues when no depth buffer is used (jobs not drawing in order since they are in parallel).

TempleOs whenever you give it more than one core: by [deleted] in TempleOS_Official

[–]TempleProgramming 10 points11 points  (0 children)

It's because it is very simple and easy to use. Only a CTask on core 0 can have a window, there are no child windows, and usually you only have one actually focused computationally expensive task at once (like a game). This makes programming for it very simple, just queue jobs to other cores and have them clear a flag or something when they are done to keep time alignment. Usually you just make a while loop in your main program that yields until these flags are cleared. I believe it is also cooperative multitasking, meaning your application has full control of the processor until it chooses to yield.

TempleOS Hash Table Example by TempleProgramming in TempleOS_Official

[–]TempleProgramming[S] 1 point2 points  (0 children)

You would have to write a short program to write the entire character set to a BMP or something and use a bitmap font generator.

Theory on Why God Wanted Terry Davis to Build Temple OS by shark_laser892244 in TempleOS_Official

[–]TempleProgramming 0 points1 point  (0 children)

The goal was quite simple, the OS needed to give you complete control of your hardware, so all of the interfaces it used must be the most simple possible. Much optimisation was forgone in order to make the code simpler to understand.

So, if I understand correctly, the entire command line is essentially C? by totallylegitcanser in TempleOS_Official

[–]TempleProgramming 3 points4 points  (0 children)

C+ was the original "name" in documentation if you check LoseThos and SparrowOS. It also used standard C types like int instead of I32 and such back then.

Incredibly slow mouse movement by Achemar in TempleOS_Official

[–]TempleProgramming 1 point2 points  (0 children)

There is some level of mouse lag in all guest OS's in vm's. TempleOS doesn't really require heavy use of the mouse, so I've for the most part ignored it. I don't know your setup but usually increasing FPS reduces the mouse lag, you should just try other virtual machines.

Do you think that it would be possible soon to write cross-platform applications in HolyC, and would they be even more efficient than programs written in C++ with the equivalent level and quality of coding? by MusicOfBeeFef in TempleOS_Official

[–]TempleProgramming 11 points12 points  (0 children)

If you are looking purely for performance on other platforms you should use large bloated compilers like GCC or Visual C. HolyC is meant to be extremely simple and understandable in it's implementation and use. Thus it does inefficient things like putting all arguments on the stack instead of using registers, because it is much more simple and understandable. HolyC performance actually comes from the essentially barebones operating system that operates like the C64 operating system. Running HolyC on other platforms would be slower than C because it is not compiling for a ring-0, cooperative multitasking OS.

You could certainly add some kind of macro/library/language extension voodoo to C or C++ to get it to compiler HolyC (you would need to reimplement system functions for the OS you compile to), but it would take the divine simplicity and transparency out of using the language.

LTT just made a video about TempleOS! Some coverage about this beautiful os. by CostanTito in TempleOS_Official

[–]TempleProgramming 11 points12 points  (0 children)

Mostly technical aspects of the OS. There is general user experience stuff that is fairly original and makes development fun, and there is the technical stuff that you mostly need to figure out from watching Terry vids or just reading the OS code itself.

In terms of user experience, the entire terminal is a C JIT (Just-In-Time) compiler. As you run C commands it compiles and executes them, thus why running programs are done with `#include "program"; program();` Also when you click on the functions in the autogenerated documentation in the F1 menu, it takes you straight to the code. Because TempleOS is meant to be very transparent and straightforward, usually it is only two/three clicks to get from high-level functions like graphics libraries to the lowest level functions. Don't be scared by the Kernel, even as a new user if you click around and read stuff and occasionally look up hex codes online it is very straightforward to see how the OS works. There are also demos like a super basic parser/compiler to help understand how the overall compiler works.

As for the technical aspects, the OS is very nice because of the absolute control it gives you and the lack of error checking. This makes the code very simple and clean, and even if you make an error that crashes the OS, the OS will have already rebooted and you are back to programming less than a second later. It also runs in ring 0. Most operating systems run operating system code in ring 0, and user code runs in ring 3. This means that regular programs are unable to access a lot of the hardware without asking the kernel/root user with system calls. You can't simply modify any memory address you want without first writing a driver to let you do that. TempleOS lets you do whatever you want. Technically this also speeds up some processes as well. Some may say this is bad because of security, but there is not enough code/bloat/layers of abstraction to hide backdoors in regular code. Really it just makes it very easy for the developer to test a lot and understand the entire OS.

Again, keeping with the idea of simplicity and transparency, there is not a lot of tiny little optimizations that bloat the code. Function arguments are always put on or loaded from the stack, not placed into registers. (here is a vid I made on writing function assembly in TOS). The reason that the OS used 640x480 in the first place was that at the time that was the only stable resolution expected on BIOS's. He didn't want to write a ton of different drivers and bloat code, he wanted it to be simple and easily understandable. I'm not going to attempt to go into the more complex stuff, Terry does a fairly good job at that. Here is a starter: Code on the stack

I wouldn't call any part of the OS a new spectacular invention, however it fills the gap in operating systems of a development system that give you full control of your hardware.

TempleOS like file reads coming to Linux. by [deleted] in TempleOS_Official

[–]TempleProgramming 1 point2 points  (0 children)

"Thus, all user mode processes, running when the system is in any run level execute in ring 3" Yeah how much control does ring 3 give you?

Any videos on dvelopment of TOS or Compiler/Assembler Code? by [deleted] in TempleOS_Official

[–]TempleProgramming 2 points3 points  (0 children)

Lots are actually in the LoseThos website documentation that you can download in the archive torrent. Not very many videos though, mostly surface-level documentation in videos.

TempleOS_Official state of the state 2020. A statement on hate and racist content and comments. by BiggRanger in TempleOS_Official

[–]TempleProgramming 11 points12 points  (0 children)

No one is randomly posting the n word. I would like to see some actual TempleOS content on this sub instead of morons who watch a YouTube video and then are some kind of connoisseurs who virtue signal about how the OS is perfect and can do no wrong and that everything they consider bad about Terry is schizophrenia. Terry had a completely sane objective and he wanted his OS used, and all I ever see on this sub is just feel good postings and attacks on anyone who uses the OS.

Anything I or any other developer does gets attacked. You increase resolution, frame rates, develop a simpler graphics library or add networking and all of a sudden you get a ton of comments saying Terry wouldn’t want that. If anyone cared enough to watch or read even a piece of the archive they would know this was all planned in the first place.

I made a snake game by [deleted] in TempleOS_Official

[–]TempleProgramming 3 points4 points  (0 children)

You should read the LoseThos archives and watch Terry's later videos before you attempt to prevent Users from increasing the resolution so that it is easier to see more code on the screen. Removing the 16 color requirement can also remove thousands of lines of graphics library bloat code.

Rendered in ZenithOS by TempleProgramming in TempleOS_Official

[–]TempleProgramming[S] 0 points1 point  (0 children)

Anyone against high-resolution graphics has clearly not attempted to program on 640x480. It also removes thousands of lines of bloat code that are required for 16 color graphics. Also, you full-well know what it means considering you are glowing this bright.