____ _ _______ _____ _____ _____ ____/ l____ ________ \_/ l____ __/_ _/ | _/ \_ _ _ Y | ! _ _ _ Y | | | | | l_____/ | | _ _j l____j | | l___j l______ __j_____ ] | | | | | | | | | _ ______ __ | | | | | | | | | | | | | | | ! | ! | ! | ! | ! | | | ! | | ___j ____j ____j__ | ____j___ |___ | l____jOol___jPrsl___joOoOol____j___joOoOoOl___joOl___j raltron by fnuque evoke 2026 Original URL: https://fnuque.dk/raltron/ In celebration of "ral"'s 30-year anniversary. ral was the first release by then new group subcult (later fnuque) in 1996. (https://www.pouet.net/prod.php?which=90627) CREDITS ----------------------- Main code, visuals, synth revival Music slide cs-jay Gfx (logo) fairart Jingler Synth Engine Blueberry ASCII, Support presence Support Kestralys TOOLS -------------- jingler mashi Zynapse shader-minifier raltron owes a lot to especially two tools: - mashi by sagacity (https://github.com/datatrash/mashi) - jingler by Blueberry (https://github.com/askeksa/Jingler) mashi is a new compression tool for 64k javascript/web intros. It compresses well and is super straightforward to use. I am grateful to sagacity for this tool. His pouet post (https://www.pouet.net/topic.php?which=12973&page=1) made me realize that javascript/web was a viable and straightforward platform for PC 64kb. His post got me thinking about the benefits of web - I had already abandoned win32 C++ because it compresses to big, and I was using a custom scheme interpreter at that time. I was thinking that javascript and scheme were not that far apart, and just going straight to js could save the interpreter. And then there is the benefit of platform independence of course. Trivial for people to run natively, which has been a bigger and bigger problem for PC intros. And then it also supported wasm of course... jingler is a synth engine. Originally intended for 4kb intros, it takes all of the infrastructure writing out of synths, gives you a tiny runtime with a new language (Zing) that you can just write your synths in. I was attracted to jingler because I really felt it had a future, where my C++/Zig attempts where not really pointing anywhere. Too big, too much infrastructure. Blueberry went to great pains to support raltrons needs over the last year. Thank you Aske. There are still some constraints in the custom language, but overall jingler has been an extremely pleasent experience. I am very happy to have a functional 64kb targeted synth again. And the wasm output just jives so well with mashi. OTHER PEOPLES CODE WE USED OR WERE INSPIRED BY ------------------------------------------------------ - Modem sound by reinder The modem sound is a port of this amazing ditty https://dittytoy.net/ditty/91185791e3 Which is again based on this original research by Oona Räisänen https://www.windytan.com/2012/11/the-sound-of-dialup-pictured.html - Power law panning by Rob Belcham https://music.columbia.edu/pipermail/music-dsp/2002-September/050872.html - Audio EQ Cookbook https://www.w3.org/TR/audio-eq-cookbook/ - Hash without Sine shadertoy by Dave Hoskins https://www.shadertoy.com/view/4djSRW - MattiasCRT shadertoy by Mattias https://www.shadertoy.com/view/Ms23DR - Stateless Fight shadertoy by IQ https://www.shadertoy.com/view/tslGz7 - Distance function reference by IQ https://iquilezles.org/articles/distfunctions/ - Smoothen your functions blog post by c0de517e https://c0de517e.blogspot.com/2014/04/smoothen-your-functions.html - Noise - Basic - 1D shadertoy by IQ https://www.shadertoy.com/view/3sd3Rs - Noise - gradient - 3D shadertoy by IQ https://www.shadertoy.com/view/Xsl3Dl - Intersectors articles by IQ https://iquilezles.org/articles/intersectors/ - GLSL rotation about an arbitrary axis by Neil Mendoza https://www.neilmendoza.com/glsl-rotation-about-an-arbitrary-axis/ Thank you!