TempleOS General

  • The site is having difficulties because our bandwidth is totally overextended. Our 1Gbps line is at 100% even when there aren't 8000 people on the site. We were supposed to get a second Gbps line months ago but I'm struggling to get technicians scheduled to set it up.

CrunkLord420

not a financial adviser
Forum Staff
True & Honest Fan
kiwifarms.net
Joined
Jul 22, 2017
In honor of the 2nd anniversary of Terry Davis' death I'm working on a game for TempleOS. I want to invite others to do the same. I've had a week or so head start so let me share some advice.

VMware is basically a requirement. Virtual Box has significant performance issues and QEMU has bizarre mouse+keyboard interactions (at least on my machine). VMware also has the best PC speaker. You can transfer files on and off your TempleOS box by either mounting the VM disk image to the host (vmware-mount, kpartx, etc) or using the Mfa utility that comes with Shrine (I've only been able to get serial to work properly in QEMU, something to do with the interrupts I think). I encourage you start with the stock build of TempleOS for a true experience, I ended up rolling my own distro that I'll probably release later.

Terry did a great job documenting everything, you'll end up spending time in the F1 menu but once you get the hang of the keybinds it's really not that bad. I encourage you to look at his demo games, maybe just start by modifying an existing one. HolyC is comparable to regular C, and terry's "standard library" includes most of the things you'll want, although sometimes things are oddly named.

Terry uses mostly DOS/Windows-style keybindings, but here's some non-obvious/important ones to get your started:
Shift+ESC: Abort+Close
ESC: Save+Close
Ctrl+Alt+X: Kill Task
Ctrl+Alt+T: New Term
Ctrl+Alt+N: Next Term
Alt+H: Tile Horizontally
Alt+V: Tile Vertically
Alt+M: Maximize
Ctrl+R: Sprite Menu
Alt+A: Autocomplete
Ctrl+D: File Navigation Menu
Shift+Ctrl+F: Recursively search for strings
Shift+Alt+A: Disable Autocomplete
Shift+Ctrl+FKeys: Jump to Definition
Alt+Backspace: Undo

There's no hard date for entries into the gamejam. Terry died on August 11th and that's when I plan to release my game.

Here's some inspiration
 
Last edited:

CrunkLord420

not a financial adviser
Forum Staff
True & Honest Fan
kiwifarms.net
Joined
Jul 22, 2017
Shout out to trapexit for adding #TempleOS:matrix.kiwifarms.net to the templeos.org website. Obviously not an endorsement but it's cool to be listed on the main domain.

Also cross-link to BlazeitFgt for the sake of thread completeness: https://kiwifarms.net/threads/blazeitfgt-a-templeos-game.74700

I'm currently playing around with setting up a 6DOF camera system. It would be cool to add like a X-Wing style section to BlazeItFgt, or maybe it should be it's own thing. Whatever, I just want to learn more math.
 
Last edited:

Jeff_the_Thriller

He's going erver that cliff!
kiwifarms.net
Joined
May 21, 2020
It's not very user friendly but God drew this neato picture in the bottom of my screen to obstruct my view.
gods os.png
 

CrunkLord420

not a financial adviser
Forum Staff
True & Honest Fan
kiwifarms.net
Joined
Jul 22, 2017

CrunkLord420

not a financial adviser
Forum Staff
True & Honest Fan
kiwifarms.net
Joined
Jul 22, 2017
News Update, International Edition

Rendello made a nice tutorial, definitely useful for beginners

ZenithOS has been removed, and now re-added to GitHub for the 3rd time

Chinese person makes video about TempleOS and Terry, partial translation of Fredrick's documentary

Spanish person makes a video explaining CIA NIGGER

Vietnamese person makes short tutorial on TempleOS, featuring patriotic American wallpaper

Spanish person makes a short overview on TempleOS

I'm still working on my alternative 3D graphics implementation


=Mostly Done, but not final=
-Perspective Projection
-LookAt-based Camera for FPS rendering/controls
-Quaternion-based Camera for 6DOF (aka Descent-style) rendering/controls
-F64-based 4x4 matrix
-Model*View*Projection pipeline

=In Progress=
-New optimized drawing pipeline with
-Improved lighting system with support for pre-computed normals

=Maybe=
-SIMD (SSE2) support for math functions

Divine Justification
"I use fixed-point in Circle(), Ellipse(), Mat4x4MulXYZ(), Mat4x4MulMat4x4New() and others. God says I might want to change to float." --Terry, PersonalNotes.DD:308

"SIMD in Mat4x4MulXYZ?" --Terry, PersonalNotes.DD:306

"GrFillTri0() with both GrHLine() and GrVLine() don't match in ::/Demo/Games/CastleFrankenstein.HC causing wall spot pixels." --Terry, PersonalNotes.DD:113

"I'm a little bit unhappy with the graphics package, in terms of perfecting the Temple" --Terry, https://ia800600.us.archive.org/31/items/TerryADavis_TempleOS_Archive/videos/2018/2018-03-25T01:51:01+00:00 - Terry Davis's broadcast (X9IAVas7uzo).mp4 @ 9:36 / https://youtu.be/LTiRWN5T0Gw?t=578
 
Last edited:

CrunkLord420

not a financial adviser
Forum Staff
True & Honest Fan
kiwifarms.net
Joined
Jul 22, 2017
Everything in TempleOS is purely software-based rendering. It's part of it's appeal IMO. I don't see TempleOS or even ZenithOS ever getting hardware accelerated graphics.
 

hundredpercent

kiwifarms.net
Joined
Jun 9, 2020
Everything in TempleOS is purely software-based rendering. It's part of it's appeal IMO. I don't see TempleOS or even ZenithOS ever getting hardware accelerated graphics.
Well, if you need some atrocious 200MB monstrosity it's obviously off the table. But if you could JIT into some kind of generic GPU assembly that would be kinda cool. I don't think that's possible though.

If you want to use the really cool CPU features like AVX512 that's pretty ugly too, since you either need to add another implementation for old CPUs or just require everyone to have recent Xeons.

Any Biblical precedent for this?
 

CrunkLord420

not a financial adviser
Forum Staff
True & Honest Fan
kiwifarms.net
Joined
Jul 22, 2017
SSE2 should be universally supported on every x86-64 CPU ever made (starting with the Athlon 64). AVX was added later, so supporting it would require a run-time (or compile-time since it's JIT) CPU check and I don't know if that's supported anywhere. I don't really know the status of running TempleOS natively on a brand new system in 2020. It was written for a pre-UEFI world and I don't know what impact that's made.
 

CrunkLord420

not a financial adviser
Forum Staff
True & Honest Fan
kiwifarms.net
Joined
Jul 22, 2017

Cavalier Cipolla

Путин хуйло!
kiwifarms.net
Joined
Feb 24, 2021
Well, if you need some atrocious 200MB monstrosity it's obviously off the table. But if you could JIT into some kind of generic GPU assembly that would be kinda cool. I don't think that's possible though.

If you want to use the really cool CPU features like AVX512 that's pretty ugly too, since you either need to add another implementation for old CPUs or just require everyone to have recent Xeons.

Any Biblical precedent for this?
Well, the thing is, If I am not mistaken, much like modern CPUs have different internal instruction sets behind an x86-64 frontend, GPUs have their own instruction sets that vary from architecture to architecture. Nevertheless, hardware acceleration isn't completely off the table. You could just use VESA 2.0 features which should be supported by any GPU that's at least from around 1999. Even EGA has some basic hardware scrolling support, enough so that you don't need to deal with as much bit shifting mess as you'd normally do on CGA or Tandy. It's only with sprites that you'll need to do that. Of course, if you don't want to stick with NES or Master System tier sprite counts and sizes and go Neo Geo mode but with much less colors, there won't be much of an improvement. But something like the first two Contra games should work fine, despite what the legit DOS port might suggest. VESA 2.0 does have proper scrolling support according to Wokipedia, where you change the screen viewport, as well as hardware blitting, so you can go Neo Geo or even Super Scaler mode if you wish to do so. Did God say anything about using VESA 2.0 features directly without the OS assistance?
 

cravencrypto

kiwifarms.net
Joined
Jan 9, 2022
Hey everybody I lost the link to the chatroom, I haven't forgotten about TempleOS, I've been working and stuff. It's good to see that Crunklord420 has been doing neat things, I haven't tried out your other game yet. I've been studying Elliptic curves and have been messing around with some HolyC. I really need to setup a github and post my code there, I'm a bit boomer tech-ish these days. I want to do some more videos about the demo code in TempleOS, I've been working on Primes.HC.Z under MultiCore, but there's something about it that has me hung up.
 

cravencrypto

kiwifarms.net
Joined
Jan 9, 2022
Riddle me this. I was working on some code and decided U64 would be better than I64. One piece of code loops infinitely, one does not.
I don't know if I found a bug in HolyC, i need to login to freeshell.org and see what gcc does with it.

U0 Main() {
U64 j,p=11;
for(j=p-1; j>=0; j--) "%d\n", j;
}

U0 Main2() {
U64 j, p=11;
for(j=p-1; j>0; j--) "%d\n", j;
}