Skip to content

Instantly share code, notes, and snippets.

@lastforkbender
Created January 28, 2026 05:13
Show Gist options
  • Select an option

  • Save lastforkbender/65de618ed9352b4f7c51a8a64b0a612d to your computer and use it in GitHub Desktop.

Select an option

Save lastforkbender/65de618ed9352b4f7c51a8a64b0a612d to your computer and use it in GitHub Desktop.
GRETA RTSC2D MODAL SYS - MASM32
GRETA RTSC2D MODAL SYS / MASM32 SDK
_____________________________________________________________________________________________________________________
_____________________________________________________________________________________________________________________
_____________________________________________________________________________________________________________________
_____________________________________________________________________________________________________________________
For each ending node of a xyz cube:
Z1 = ◒⇽◭zHt
Z2 = ◓⇽◮zHT
Y1 = ◐⇿◮yTX
Y2 = ◑⇿◭yTH
X1 = ◒⌲◐ xTH
X2 = ◓⌲◑ xHt
Whereas couplets to tri-motion signature constants----arrive as elliptical timestrands merged to Z* and Y*, X*
as mapped conditionals to curvature of both. Of this also, each expansions of Z1 or Z2 is topological to @ X*
however with Y1. This is called residual timestrands coiling, or loop openness signal trace to a position within
a time-gap as set to a rotational particles structure not bound to a certain envelope in the xHt relapse expansion.
X2 rotational variable emphasis is of the expansion qualifies neutral/static ⌲, whereof we can write:
◓⌲◑ xHt < 《◮yTX~⍜ⅆ》+ ◓ᵐ
Of which determines a framed timestrand having properties to a like mass cluster end-to-end time merge as neutral ~⍜
extended. Yet only satisfying a Y1 achievable acceleration @ the original/hidden X1 to a initial phase-fold extension
in Y* further.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
File: greta_sim_core.asm
.686
.model flat, stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\kernel32.lib
.code
start:
push ebp
mov ebp, esp
call InitState
mov eax, 10000
push eax
call MainLoop
add esp, 4
push 0
call ExitProcess
.data
IDX_X1 dd 0
IDX_X2 dd 1
IDX_Y1 dd 2
IDX_Y2 dd 3
IDX_Z1 dd 4
IDX_Z2 dd 5
N_ENDPTS dd 6
Q_ONE dq 0x0000000100000000
DT dq 0x0000000100000000
EPS_LOOP dq 0x0000000008000000
K_PAIR dq 0x0000000100000000
K_PAIR_ROT dq 0x0000000080000000
K_ZX dq 0x0000000055555555
ALPHA dq 0x0000000100000000
BETA dq 0x000000000CCCCCCD
GAMMA_COIL dq 0x000000001999999A
M_DEFAULT dq 0x0000000100000000
I_DEFAULT dq 0x0000000001999999A
SIG_GROWTH dq 0x000000000028F5C29
TAU_DECAY dq 0x0000000A00000000
NOISE_SCALE dq 0x0000000000000064
A_Y1 dq 0x0000000080000000
A_Y1_ROT dq 0x0000000003000000
T_DRIVE dq 0x0000000100000000
RHO_MIN dq 0x0000000000000000
RHO_MAX dq 0x0000000500000000
RNG_STATE dq 0
LCG_A dq 6364136223846793005
LCG_C dq 1442695040888963407
CRC_TABLE dd 0
hLogFile dd 0
logBuf dd 0
logBufSize dd 0
time_q dq 0
sample_index dd 0
posX dq 0,0,0,0,0,0
posY dq 0,0,0,0,0,0
theta dq 0,0,0,0,0,0
rho dq 0,0,0,0,0,0
velX dq 0,0,0,0,0,0
velY dq 0,0,0,0,0,0
omega dq 0,0,0,0,0,0
phi_res dq 0,0,0,0,0,0
mass dq 0,0,0,0,0,0
inertia dq 0,0,0,0,0,0
flags dq 0,0,0,0,0,0
agg_posX dq 0
agg_posY dq 0
agg_theta dq 0
agg_rho dq 0
recordBuf dd 0
public InitState
public MainLoop
public Qmul
public Qdiv
public ReciprocalNewton
public SinCosInterp
public ExpPade
public RNG_Next
public CRC32_InitTable
public CRC32_Process
public LogRecord
.code
InitState proc
push ebp
mov ebp, esp
sub esp, 64
mov rax, 0x0123456789ABCDEF
mov [RNG_STATE], rax
lea rdi, mass
mov rcx, 6
mov rax, Q_ONE
init_mass_loop:
mov [rdi], rax
add rdi, 8
loop init_mass_loop
lea rdi, inertia
mov rcx, 6
mov rax, I_DEFAULT
init_inertia_loop:
mov [rdi], rax
add rdi, 8
loop init_inertia_loop
mov rax, Q_ONE
mov [posX + 0*8], rax
mov rax, 0
mov [posY + 0*8], rax
mov rax, 0x0000000200000000
mov [posX + 1*8], rax
mov rax, 0
mov [posY + 1*8], rax
mov rax, 0
mov [posX + 2*8], rax
mov rax, Q_ONE
mov [posY + 2*8], rax
mov rax, 0
mov [posX + 3*8], rax
mov rax, 0x0000000200000000
mov [posY + 3*8], rax
mov rax, Q_ONE
mov [posX + 4*8], rax
mov rax, Q_ONE
mov [posY + 4*8], rax
mov rax, 0x0000000200000000
mov [posX + 5*8], rax
mov rax, 0x0000000200000000
mov [posY + 5*8], rax
lea rdi, theta
mov rcx, 6
theta_init_loop:
call RNG_Next
mov rdx, rax
shr rdx, 32
mov eax, edx
shl rdx, 32
mov rbx, SIG_GROWTH
push rdx
push rbx
call Qmul
add esp, 16
mov [rdi], rax
add rdi, 8
loop theta_init_loop
mov rax, 0x000000000199999A
lea rdi, rho
mov rcx, 6
rho_init_loop:
mov [rdi], rax
add rdi, 8
loop rho_init_loop
mov rax, 0x0000000003333333
mov [rho + 1*8], rax
mov qword ptr [flags + 1*8], 1
lea rdi, velX
mov rcx, 6
zero_loop1:
mov qword ptr [rdi], 0
add rdi, 8
loop zero_loop1
lea rdi, velY
mov rcx, 6
zero_loop2:
mov qword ptr [rdi], 0
add rdi, 8
loop zero_loop2
lea rdi, omega
mov rcx, 6
zero_loop3:
mov qword ptr [rdi], 0
add rdi, 8
loop zero_loop3
lea rdi, phi_res
mov rcx, 6
zero_loop4:
mov qword ptr [rdi], 0
add rdi, 8
loop zero_loop4
mov qword ptr [time_q], 0
mov dword ptr [sample_index], 0
call CRC32_InitTable
lea rcx, SZ_FILENAME
push 0
push 0
push FILE_ATTRIBUTE_NORMAL
push CREATE_ALWAYS
push FILE_SHARE_READ
push GENERIC_WRITE
push rcx
call CreateFileA
mov [hLogFile], rax
mov rcx, 4096
call GetProcessHeap
mov rcx, rax
mov rdx, 4096
push rdx
push rcx
call HeapAlloc
mov [recordBuf], rax
mov dword ptr [logBufSize], 4096
mov eax, 0
mov esp, ebp
pop ebp
ret
InitState endp
.data?
SZ_FILENAME db "greta_sim_log.bin", 0
MainLoop proc
push rbp
mov rbp, rsp
sub rsp, 32
mov ecx, dword ptr [rbp+16]
cmp ecx, 0
jle .done
.loop_start:
mov rax, [posX + 0*8]
add rax, [posX + 1*8]
shr rax, 1
mov [agg_posX], rax
mov rax, [posY + 0*8]
add rax, [posY + 1*8]
shr rax, 1
mov [agg_posY], rax
mov rax, [theta + 0*8]
add rax, [theta + 1*8]
shr rax, 1
mov [agg_theta], rax
mov rax, [rho + 0*8]
add rax, [rho + 1*8]
shr rax, 1
mov [agg_rho], rax
mov rbx, [posX + 2*8]
add rbx, [posX + 3*8]
shr rbx, 1
mov qword ptr [posX + 6*8], rbx
mov rsi, 0
.p_loop:
cmp rsi, 6
jae .after_ploop
mov rax, rsi
xor rax, 1
mov rcx, [posX + rsi*8]
mov rdx, [posX + rax*8]
sub rdx, rcx
push rdx
push K_PAIR
call Qmul
add esp, 16
inc rsi
jmp .p_loop
.after_ploop:
mov rax, [time_q]
add rax, DT
mov [time_q], rax
mov eax, [sample_index]
inc eax
mov [sample_index], eax
mov rcx, [recordBuf]
mov rdx, [logBufSize]
push rcx
push rdx
call LogRecord
add esp, 16
dec ecx
jnz .loop_start
.done:
mov rsp, rbp
pop rbp
ret
MainLoop endp
Qmul proc
ret
Qmul endp
Qdiv proc
ret
Qdiv endp
ReciprocalNewton proc
ret
ReciprocalNewton endp
SinCosInterp proc
ret
SinCosInterp endp
ExpPade proc
ret
ExpPade endp
RNG_Next proc
mov rax, [RNG_STATE]
mov rdx, [LCG_A]
mov rcx, [LCG_C]
mul rdx
add rax, rcx
mov [RNG_STATE], rax
ret
RNG_Next endp
CRC32_InitTable proc
ret
CRC32_InitTable endp
CRC32_Process proc
ret
CRC32_Process endp
LogRecord proc
ret
LogRecord endp
end start
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
File: greta_sim_math_luts.asm
.686
.model flat, stdcall
option casemap:none
.data
Q_SHIFT equ 32
PI_Q32 dq 0x00000003_243F6A88
TWO_PI_Q dq 0x00000006_486E1A10
LUT_SIZE dd 16384
SinLUT dq 0x0000000000000000, 0x0000000000000192, 0x0000000000000325, 0x00000000000004B7
dq 0x000000000000064A, 0x00000000000007DC, 0x000000000000096E, 0x0000000000000B00
dq 0x0000000000000C92, 0x0000000000000E24, 0x0000000000000F B6, 0x0000000000001110
dq 0x00000000000012A2, 0x0000000000001434, 0x00000000000015C6, 0x0000000000001758
CRC32Table dd 0x00000000,0x77073096,0xEE0E612C,0x990951BA,0x076DC419,0x706AF48F,0xE963A535,0x9E6495A3
.code
Qmul proc
push rbp
mov rbp, rsp
pop rbx
pop rax
pop rdx
mov rax, [rbp+16]
mov rbx, [rbp+24]
imul rax, rbx
mul rbx
mov rcx, rdx
shrd rax, rdx, 32
ret
Qmul endp
ReciprocalNewton proc
push rbp
mov rbp, rsp
mov rbx, [rbp+16]
test rbx, rbx
jz .zero
mov rax, rbx
sar rax, 32
test rax, rax
jz .smallb
mov rdx, 0
mov rcx, 0x0000000100000000
mov rdi, rax
mov rax, rcx
cqo
idiv rdi
jmp .refine
.smallb:
mov rax, 0x7FFFFFFFFFFFFFFF
jmp .refine
.zero:
mov rax, 0
jmp .ret
.refine:
push rax
push rbx
call Qmul
add rsp, 16
mov rcx, 0x0000000200000000
sub rcx, rax
mov rdx, [rbp+16]
pop rax
push rax
push rcx
call Qmul
add rsp, 16
push rax
push rbx
call Qmul
add rsp, 16
mov rcx, 0x0000000200000000
sub rcx, rax
pop rax
push rax
push rcx
call Qmul
add rsp, 16
.ret:
mov rsp, rbp
pop rbp
ret
ReciprocalNewton endp
Qdiv proc
push rbp
mov rbp, rsp
mov rdx, [rbp+24]
mov rax, [rbp+16]
push rdx
call ReciprocalNewton
push rax
push rax
push rax
push rax
push rax
push rax
call Qmul
add esp, 16
mov rsp, rbp
pop rbp
ret
Qdiv endp
Qabs proc
cmp rax, 0
jge .ret
neg rax
.ret:
ret
Qabs endp
ExpPade proc
push rbp
mov rbp, rsp
mov rax, [rbp+16]
push rax
push rax
call Qmul
add rsp, 16
mov rbx, rax
mov rcx, 0x0000000080000000
push rax
push rcx
call Qmul
add rsp, 16
mov rdx, rax
mov rcx, 0x0000000001111111
push rbx
push rcx
call Qmul
add rsp, 16
mov r8, rax
mov rax, 0x0000000100000000
add rax, rdx
add rax, r8
mov r9, 0x0000000100000000
sub r9, rdx
add r9, r8
push r9
push rax
call Qdiv
add rsp, 16
mov rsp, rbp
pop rbp
ret
ExpPade endp
SinCosInterp proc
push rbp
mov rbp, rsp
mov rax, rdi
mov rax, 0
mov rbx, Q_ONE
pop rbp
ret
SinCosInterp endp
RNG_Next proc
push rbp
mov rbp, rsp
mov rax, [RNG_STATE]
mov rdx, [LCG_A]
mul rdx
add rax, [LCG_C]
mov [RNG_STATE], rax
mov rsp, rbp
pop rbp
ret
RNG_Next endp
CRC32_InitTable proc
push rbp
mov rbp, rsp
mov rcx, 0
.crc_loop:
mov raxd, ecx
mov rdx, 0
mov ebx, 32
mov edi, 0
mov edx, ecx
mov esi, 8
mov eax, edx
mov ebx, 0
inc rcx
cmp rcx, 8
jl .crc_loop
mov rsp, rbp
pop rbp
ret
CRC32_InitTable endp
CRC32_Process proc
push rbp
mov rbp, rsp
xor rax, rax
mov rsp, rbp
pop rbp
ret
CRC32_Process endp
LogRecord proc
push rbp
mov rbp, rsp
sub rsp, 64
mov rdi, rcx
mov eax, [sample_index]
mov dword ptr [rdi], eax
add rdi, 4
mov dword ptr [rdi], 0
add rdi, 4
mov rax, [time_q]
mov qword ptr [rdi], rax
add rdi, 8
mov rcx, 0
.pack_loop:
cmp rcx, 6
jae .pack_done
mov rax, [posX + rcx*8]
mov qword ptr [rdi], rax
add rdi, 8
mov rax, [posY + rcx*8]
mov qword ptr [rdi], rax
add rdi, 8
mov rax, [theta + rcx*8]
add rax, [phi_res + rcx*8]
mov qword ptr [rdi], rax
add rdi, 8
mov rax, [rho + rcx*8]
mov qword ptr [rdi], rax
add rdi, 8
mov rax, [phi_res + rcx*8]
mov qword ptr [rdi], rax
add rdi, 8
inc rcx
jmp .pack_loop
.pack_done:
mov r8, rcx
mov rax, rdi
mov rbx, rcx
mov r9, rcx
mov r10, rcx
mov rax, rdi
sub rax, rcx
mov rsi, [rbp+16]
mov rdx, rdi
sub rdx, rsi
mov rcx, rsi
mov r8, rdx
push rcx
push r8
call CRC32_Process
add esp, 16
mov dword ptr [rdi], eax
add rdi, 4
mov dword ptr [rdi], 0
add rdi, 4
mov rax, rdi
sub rax, rcx
mov rbx, [recordBuf]
mov rax, rdi
sub rax, rbx
mov rcx, [hLogFile]
mov rdx, rbx
mov r8, rax
lea r9, [rsp+32]
mov qword ptr [rsp+32], 0
push 0
push r9
push r8
push rdx
push rcx
call WriteFile
add rsp, 64
mov rsp, rbp
pop rbp
ret
LogRecord endp
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
File: greta_sim_validator.py
import argparse
import struct
import zlib
import math
import sys
RECORD_HEADER_FMT = "<I I Q"
RECORD_HEADER_SIZE = struct.calcsize(RECORD_HEADER_FMT)
ENDPT_PAYLOAD_SIZE = 5 * 8
N_ENDPTS = 6
CRC_SIZE = 4
def q32_to_float(i):
if i & (1 << 63): i = -((~i + 1) & ((1<<64)-1))
return i / (1<<32)
def read_records(path):
recs = []
with open(path, "rb") as f: b = f.read()
off = 0
n = len(b)
while off + RECORD_HEADER_SIZE + N_ENDPTS*ENDPT_PAYLOAD_SIZE + CRC_SIZE <= n:
header = struct.unpack_from(RECORD_HEADER_FMT, b, off)
sample_index, pad, timestamp = header
off += RECORD_HEADER_SIZE
endpoints = []
for p in range(N_ENDPTS):
vals = struct.unpack_from("<qqqqq", b, off)
off += ENDPT_PAYLOAD_SIZE
endpoints.append(vals)
crc_stored = struct.unpack_from("<I", b, off)[0]
off += CRC_SIZE
rec_start = off - (RECORD_HEADER_SIZE + N_ENDPTS*ENDPT_PAYLOAD_SIZE + CRC_SIZE)
rec_end = off - CRC_SIZE
calc = zlib.crc32(b[rec_start:rec_end]) & 0xFFFFFFFF
ok = (calc == crc_stored)
recs.append({"sample_index": sample_index, "timestamp_q": timestamp, "endpoints": endpoints,
"crc_ok": ok, "crc_stored": crc_stored, "crc_calc": calc})
return recs
def summarize(recs):
print("Records:", len(recs))
bad = [r for r in recs if not r["crc_ok"]]
print("CRC failures:", len(bad))
if len(recs)==0:
return
last = recs[-1]
means = []
for p in range(N_ENDPTS):
rho_q = last["endpoints"][p][3]
means.append(q32_to_float(rho_q))
for p, m in enumerate(means):
print(f"Endpoint {p} rho (last): {m:.9f}")
def main():
p = argparse.ArgumentParser()
p.add_argument("logfile", nargs="?", default="greta_sim_log.bin")
args = p.parse_args()
recs = read_records(args.logfile)
summarize(recs)
if recs:
r0 = recs[0]
print("First record sample_index:", r0["sample_index"], "crc_ok:", r0["crc_ok"])
for p, ep in enumerate(r0["endpoints"]):
posx, posy, theta_eff, rho, phi = ep
print(f"P{p}: pos=({q32_to_float(posx):.6f},{q32_to_float(posy):.6f}) theta={q32_to_float(theta_eff):.6f} rho={q32_to_float(rho):.6f} phi={q32_to_float(phi):.6f}")
if __name__ == "__main__":
main()
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
File: greta_gen_tables.py
import zlib
import math
LUT_SIZE, Q = 16384, 1<<32
def gen_sin_lut():
vals = []
for i in range(LUT_SIZE):
theta = (i / (LUT_SIZE - 1)) * (math.pi/2)
s = math.sin(theta); q = int(round(s * Q)) & ((1<<64)-1); vals.append(q)
return vals
def fmt_dq(values, per_line=4):
out = []
for i in range(0, len(values), per_line):
chunk = values[i:i+per_line]
line = " dq " + ", ".join(f"0x{v:016X}" for v in chunk)
out.append(line)
return "\n".join(out)
def gen_crc_table():
tbl = []
for i in range(256):
crc = i
for j in range(8):
if crc & 1: crc = (crc >> 1) ^ 0xEDB88320
else: crc >>= 1
tbl.append(crc & 0xFFFFFFFF)
return tbl
def fmt_dd(values, per_line=8):
out = []
for i in range(0, len(values), per_line):
chunk = values[i:i+per_line]
line = "CRC32Table dd " + ", ".join(f"0x{v:08X}" for v in chunk)
out.append(line)
return "\n".join(out)
if __name__ == "__main__":
lut = gen_sin_lut()
with open("sinlut.asm", "w") as f:
f.write("; Generated SinLUT (Q32.32) quarter-wave\n")
f.write(fmt_dq(lut, per_line=4))
crc = gen_crc_table()
with open("crc_table.inc", "w") as f:
f.write("; Generated CRC32 table\n")
f.write(fmt_dd(crc, per_line=8))
print("Wrote sinlut.asm and crc_table.inc")
@lastforkbender
Copy link
Author

Begins not with men that think they keep the law, that ignorance is explained in the most printed red letters. Is when men believe those words in red letters only apply to believers and justifications of new law beliefs arrive for benefits of vanity in expectancy of outweighing truth. So you get what happened last time repeated in insanity with Bully Capitalism or any other government by mere men, another compromise in some how this world will love them while wants in greed destroying it. Is the same ignorance as before, not new.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment