Crinkler
64klang
Crinkler | 64klang | |
---|---|---|
7 | 2 | |
1,018 | 252 | |
- | - | |
0.0 | 10.0 | |
over 1 year ago | almost 2 years ago | |
C++ | C++ | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Crinkler
-
help packing sound in <4k
I also tried crinkler, got it to link but the executable does apparently nothing.
-
C vs. ASM: Making the Smallest Windows App
Crinkler - https://github.com/runestubbe/Crinkler
-
Show HN: Micro LZMA decoder (x86 assembly code golf)
Crinkler [1] is a popular compressor-linker for 1--8 KB demos and its decompressor (partially embedded in a PE header) is probably around 1--200 bytes. Later efforts like oneKpaq [2] also have a comparable decompressor size.
If you don't mind a shameless plug and a slightly larger decompressor (about 500 bytes in JS) for better compression, my Roadroller [3] might fit the bill as well.
[1] https://github.com/runestubbe/Crinkler
[2] https://github.com/temisu/oneKpaq
[3] https://lifthrasiir.github.io/roadroller/
-
Source code for 4kb demoscene production “Elevated” released (2016)
Crinkler, the compressing linker, is really interesting. This link inadvertently shows the file_id.diz for Crinkler rather than anything relevant to the rest of Elevated; but honestly I always found the Crinkler stuff to be fascinating.
The project lives on today: https://github.com/runestubbe/Crinkler and http://crinkler.net/
-
Making our own executable packer (using Rust)
A somewhat similar project is Crinkler, a compressing linker.
-
UPX anti-unpacking techniques in IoT malware
Crinkler is designed to help make extremely small EXE files (such as around 4K in size), and replaces the Link step in building a program. It uses otherwise unused space in the EXE header, and uses a different method than the typical way to import DLL functions.
64klang
-
help packing sound in <4k
Gopher also made 64klang, and in the examples here they're using mmsystem to push samples to the soundcard, so I'd be inclined to think that's a pretty good way to do it (if not the best way)
-
Procedural 3D mesh generation in a 64kB intro
The intro was released in 2017. We published the first part of the making off in 2018 (was discussed on HackerNews here: https://news.ycombinator.com/item?id=16842576). A few days ago, I remembered I had an unpublished draft and decided to finalize it.
We use OpenGL for rendering and the code is written in C++. We published the source code of other intros of GitHub. For example, this one should give you a good idea of how we do it (also we modernized our engine since that): https://github.com/laurentlb/Ctrl-Alt-Test/tree/master/F
For audio, we used the synth 64klang - https://github.com/hzdgopher/64klang
What are some alternatives?
tinyrenderer - A brief computer graphics / rendering course
aeolus_plugin - Pipe organ synthesizer (VST plugin)
oneKpaq - PPM compressor with a 128 bytes short decompressor
Ctrl-Alt-Test - ctrl-alt-test.fr
micro-lzmadec - Micro LZMA decoder
BezierCurveDemo1997 - Utah Teapot and Mystify Screensaver, 16-Bit DOS, Personal Project 1997 https://files.scene.org/view/mirrors/hornet/code/tutors/math/azr_bcrv.zip
upx - UPX - the Ultimate Packer for eXecutables
4klang - Official 4klang repository
RegPack - Self-contained packer for size-constrained JS code
fr_public - Farbrausch demo tools 2001-2011
Blossom - 4K Executable Graphics framework