#Turing Doomplet (kill me please)

174 messages Β· Page 1 of 1 (latest)

empty gulch
#

my god, poor backend, I spent days, even weeks understanding the backend and reworking the code in assembly, all in one and only one thing
have the simulation running at around 100,000hz

minimum!!!

all the 3D is done in software and via many elements in the ALU, notably the MLU coupled with the BLU, I did not render the lights and shadows, it required too much work for the MCPU

I leave this as an idea for a big prototype, I'm waiting to see the future official update of the game by @sturdy peak (hello to this guy πŸ™‚ )

if Stuffe does a rework of the backend, it is possible to have a speed which reaches around 1Mhz on average
other program comes running with 10Mhz, why not Turing Doomplete, oops, sorry, I meant Turing Complete
I thank a lot of people for helping me on a lot of points so people on the server for helping me with sine and cosine functions from this thread https://discord.com/channels/828292123936948244/1204926001226850365

#

total record attempt to have the video in sync with the music, ||Not_A_Number or too big||

cosmic pivot
#

im blown away

empty gulch
#

but limited by the backend

#

that's why I took a lot of time to scrutinize, look at, modify, change, remove, add, recompile, tons of assembly line

#

just for the backend

late turret
#

Definitely looking forward to the patch, as Stufe seems to say it should perform similar?

empty gulch
late turret
#

Yeah. Hopefully we get something similar… even half as much would be amazing.

empty gulch
#

I don't know what he really did for the backend, because he has a lot to rework

late turret
#

It’s basically a complete rewrite (into a compiled binary) and better optimized.

empty gulch
#

with the original backend, this demo run with only 4KHz

#

BILLION !!!!

#

with nothing
EDIT: the word billion under small time for see the letter B

#

no componnent, no wire, nothing of nothing
63MF||U##||hz

late turret
empty gulch
#

it's special SI prefix

junior scarab
#

Woah

empty gulch
#

with only 2 component and 2 wire

#

poor NOT and DELAY

#

flipped 59 000 000 time per seconde

random frost
#

for a sec i thought that you made a gui in turing complete lol

empty gulch
random frost
#

this one

empty gulch
#

ah ah ah ah

random frost
#

its actually your obs or something right?

empty gulch
#

it's my OBS

#

extreme OLD version of software

random frost
#

ah ok

empty gulch
#

with old skin on my system

#

yes, my computer use old skin like win98 πŸ™‚

#

i don't love the new visual of last version of windows 11 and 10 🀬

empty gulch
#

this version can work with twitch streaming, no joke, idk how but it's work

random frost
#

its actually obs?

#

wow

empty gulch
#

the last version of OBS have nice visual and more feature for everyone, but he have lot of problem in random time with audio or something else after every update
minimal and simple

empty gulch
#

so now, it's over for punish the backend of this game XD
i can now, return edit and finish the MLU

sturdy peak
#

This is extremely cool

#

And nice to see you can do this at 100k tps

#

I guess you swapped out the .dll?

#

or patched it

#

are you still using an interpreter and looping over each component?

empty gulch
#

all files with a modification had a backup, the game thinks that the files are normal because your game does not include verification file game
what makes it easier for me to work

but the hardest part was finding the sections of code and putting a name on each CALL in assembler

I found a lot of unused code

empty gulch
sturdy peak
#

So the only thing you did was just to NOP out some useless stuff? It is not optimized at all in the current version, but I am still surprised you got 10x out of that

outer siren
#

@empty gulch
Will your DLL work for everything in the game?
e.g. campaign, sandbox, all the components etc. ?
If yes - would you post it?
I think we all would like to have some fun with the "pre-optimized" version

sturdy peak
#

Just don't bother me with crashes in that case!

outer siren
#

(That is, if Stuffe agrees to sharing a modified version of his game lol)

sturdy peak
#

yeah its fine

#

I wouldn't be surprised if something random doesn't work though, like the audio or networking

empty gulch
#

the keyboard ingame, no give result

#

pin event give nothing

#

value give nothing

#

6x8 dot matrix display game crached

#

then sprite display can place but if any action on the pin, game crached

#

Configurable delay, don't work

#

campaign broken if run simulation

#

half component, worked but if message edited, game crached

#

-.-*

corrupted save game now by LAB 😦

#

ROM component, write not possible forever, only with the file now

#

latency memory work like latency, just pin busy have random value with or no action, (i forgot replace one instruction for keep work)

#

HDD can't save data on the file, write it's possible and can read if you no switch to other save game

#

all probes work fine

empty gulch
# outer siren <@277044140238176256> Will your DLL work for everything in the game? e.g. campa...

and for finish this list of component with common component without IO type

list of 64bit component

all work fine (my priority)

list of 32bit component

counter  = no value
delay    = no value
registre = no value
mux      = no value
switch   = no value
splitter = work
maker    = work
constant = work
MATH folder  = all no value, (note: div no give error if zero)
LOGIC folder = all no value

list of 16bit component

counter  = work
delay    = no value
registre = work
mux      = work
switch   = work
splitter = work
maker    = work
constant = work
MATH folder = 
\
 |_ less (signed) = no value
 |_ less (unsigned) = no value
 |_ equal           = work
 |_ div             = no value (note: no error if 0)
 |_ mul             = no value
 |_ add             = work
 |_ neg             = work
 \_ ashr            = no value
LOGIC folder = all no value

list of 8bit component

counter  = work
delay    = work
registre = work
mux      = work
switch   = work
splitter = work
maker    = work
constant = work
MATH folder = all work
LOGIC folder = all work

list of 1bit component

delay        = work
memory       = work
3bit decoder = work (pin disable no have effect)
3bit decoder = work
1bit decoder = no value
full adder   = no value
xnor         = work
xor          = work
nor          = work
nand         = work
3 pin or     = work 
or           = work
3 pin and    = work
and          = work
switch       = work
not          = work 
on           = work for sure
off          = no value (because it's OFF ;) )

list of 0.5bit component

not tested yet

list of 0bit component

undefined quantum state, check damaged brain joke or read manual or contact your administator system
#

extra note: i can place all component and give value on input but no result, no value

#

i have custom component stopped work

#

specialty for ...

#

my f||u##|| bootloader for quick load and add support code executed from ram component

#

i just fixed all other extended instruction (component replaced with 64 bit and rewiring, maybe cost more gate, but less component used, better πŸ™‚ )

#

I just wanted to see if in theory it was possible, but I need elements like ROM and HDD, I use 6x8 DOT display in other save

empty gulch
#

EDIT: so I think and I am sure that STUFFE will be able to produce an equal result, or it will be superior because it has the original source code, not me, I only had bytes and assembler in front of my eyes

it's up to him because he has all the cards in hand
list of CARDbit component

original source code = work
compiler             = partial work
Godot engine         = work (note: visual rework soon)
hand                 = work
stuffe computer      = work with maybe RGB ?
RAM folder =
\
 |_ predictor       = work
 |_ organic support = work
 \_ log writer/read = work
IO folder =
\
 |_ camera = work
 |_ arm    = work
 |_ angry  = no value
 |_ screen = work
 \_ defeat = work (note: from campaign)
SANDBOX folder = 
\
 |_ happy face screen   = work
 |_ joke                = not tested yet
 |_ love content        = work ;)
 |_ classic card game   = work but only with hand
 \_ end of this joke    = work
empty gulch
#

well, light computing it's extreme hard with too many element

#

with 100KHz, the code need 6 to 7 seconde for single frame
rework code render required

vapid pebble
#

wait, so you were able to run obs in turing complete

#

cool

torpid kiln
empty gulch
#

the game with the speed at 100KHz

#

my MCPU (ingame), need for render single frame with light effect, 6 to 7 seconde

#

the game Turing complete can run without problem

empty gulch
# empty gulch

this thing, it's the MCPU i build
and
the MCPU with the code for him need lot of time for computing the light effect

torpid kiln
#

I see, that makes sense, thanks.

empty gulch
#

the code writed for my MCPU need more time for light effect
my other demo have only 1 flat element for the light and my MCPU need lot of time with only 4KHz

#

the MCPU take 3 sec for render 1 frame πŸ™‚

#

1 flat element for light

#

and yes, i re-use same element, texture

empty gulch
#

simple and quick for use with the function i want πŸ™‚

restive solar
#

What did you consider when deciding whether to use consoles or matrix displays?

empty gulch
#

8*6 pixel VS 40*24 (1 consol, and with 4 consol i can up to 96*40 with 3 more component)

#

with 1 common RAM

#

minimal wire

restive solar
#

I see, just minimizing components

empty gulch
#

better for TPS speed

#

less compoment, MORE speed

#

write to RAM
address to RAM
data to RAM
3 constant with 3 wire connected per consol (not the first)

so with ...

#

i have only 6 wire and 8 component

#

with dot display, i have only 6*8 pixel, so for cover the size i want

#

with 1 wire per line and colume dot display (not inclu the driver colume and line) near the dot display area

restive solar
#

Yea, I gotcha, makes sense

empty gulch
#

total compoment it's too big for same size

#

i trying create big screen for understand how the dot display work, but after i see the consol and tested, i see color support, so i use this component now

#

i can show string and color in same time

#

so all compoment required for dot display

#

it's too big for me

#

with only 1 ram and 1 consol, i have large screen with 2 component and can use with 3 wire

#

and 5 wire i i want read

#

and with dedicated logic i can write to any location without error RAM size and with X and Y value and flip buffer

#

for write string, i just need connect one poor wire

#

for cover 2 ascii per pixel

#

for read color, i have dedicated wire with color only

#

for read the ascii, i have dedicated wire too for read 2 ascii per 2

#

if i want, i can mixe mode for flip and direct show for write idiot string on the consol after what i want

#

total component inside it's small compared with total component required for same result with dot display

#

during the demo "Turing Doomplete" i no used all function
but the other demo, use more function, specdialty for write string after fill and flip the buffer for print message

empty gulch
#

so in theorycal i have 2x 4 console screen buffer

#

if i use direct show pin and flip buffer pin in same time, i can cover all X and Y location

#

first consol no need constant

#

for N new consol screen you need 1 wire with 1 constant
ram it's shared with all console
so i can in theory, make a ultra wide screen with 24 new colume per console with 1 wire and 1 constant per N new console

with function for write and read the pixel or if i want make something like book with dual page

edgy mesa
#

omg lol 100 khz ? how many frames per seconds do you get with this ? It looks so smooth ! My very simple raycaster is running at something like 5 fps XD

random frost
#

so,sanity check first:go into your assembly thing and get the clock run at 100Mhz

#

if you run it at the default framerate I'd be surprised that your raycaster runs at 5 fps because it might be hard to use like only 12 instructions lmao

edgy mesa
#

my thing runs at 30 khz

#

it can't run any faster

tight otter
grand bison
#

Stating your performance in seconds per frame is like having a car best measured in "gallons per mile"

edgy mesa
#

lol oh i see, the video is sped up then I guess

empty gulch
#

no, the video no have speed up

#

i trying rework the backend for get more speed ingame

#

sacrified lot of thing

#

and i no just use classic instruction

#

i have other and complexe instruction for execute multi instruction under same tick

#

but now i'm sure now for one thing, i can execute multi instruction with multi data, specialty for array and vector value with my new MLU version 2

#

5 part
on left side = splitter and shifter data
top to bottom per column =

header unite for control instruction and decoder with bank selector for multi instant of logic without reload all header unite (256 preset can be saved), write individual or batch with reserved ID column (max 255 column, only 16 in this screenshot)

then 

selector of line data with injector data by the header, it's just lot of logic with wire

then

logic unite can hold 256 classic instruction (only 35 actually for this prototype V2, no extended instruction inside yet)

and on right side =
basic 64bit mux for 16 line (8 per module, can up to 256 line)

#

There are many more components but also many more functions than the other version used in the video of Turing Doomplete

#

the game speed is greatly affected, even my custom optimization on backend, cannot hold 100KHz now 😦

empty gulch
#

Mmmmmh, after several test the gain with the new MLU it's small

#

and with extended instruction i lost speed TPS

#

dropped to 60KHz with the MLU v2

#

and i have other problem now
game have freeze with any action
create 1 wire or add or remove something, freeze during half seconde on the main save

#

game crached by out of memory systeme (eat 50G of ram)

#

tip for me, never clic on the button RUN
only the button FAST_RUN can work without eat all memory of my computer

#

tested with official backend and optimised version
something on official game with my save, create leak memory very fast

#

0.3 to 0.4Gbyte eat per frame game Turing Complete
-# searching in progress for know the origine of problem

empty gulch
#

protected mode with possbility for set private modular component or shared, with cascade or no per element, linked per thread core from PC_GEN_CLK

#

with only 8 byte under the control line
byte 0 = WRITE location
byte 1 = READ bus A location
byte 2 = READ bus B location
byte 3 = unused
byte 4 = backup cascade control
byte 5 = copy of control action no modified
byte 6 = protect ID groupe
byte 7 = control action linked with protect ID

#

thank 64bit splitter and maker

#

Turing Doomplete 2

my MCPU have new function for protect mode for future kernel and for debugging in real time

amber hearth
#

are you still working on it

empty gulch
# amber hearth are you still working on it

i trying convert my MCPU to new version of game, but i can't without crash or limited function component editor and other problem like the max speed backend compared with my custom version with old version of game
so i keep with old version but only with my free time for improved my MCPU

#

but i wait @sturdy peak about something for Turing Complete if true or false, i can't explain here, because it's a private topic for him and me first πŸ™‚

hello stuffe, how are you today ?

sturdy peak
#

What are you talking about?

empty gulch
#

we talked about it a long time ago now, (it was around summer 2024)

#

this targets several points, godot, the backend optimization, new feature ingame for interact with real hardward and support more function/component and other points, all this in a reliable and safe way for every player πŸ™‚

especially if the players want to use for example a video game console controller with Turing complete for made .... idk, video game inside Turing complete video game

or maybe real hardware stuff, like arduino with pinout ingame for read or write pin or for dial with arduino board and other function for audio component with more option and advanced for made .... in random idea, real synthesizer/sampler

harsh lantern
#

how...