Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Crinkler
Crinkler is an executable file compressor (or rather, a compressing linker) for compressing small 32-bit Windows demoscene executables. As of 2020, it is the most widely used tool for compressing 1k/4k/8k intros.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
I had a deeper look at 4klang, it looks like it's not really taking care of sound output, it's "only" creating the sounds and filling a buffer (I might be wrong, that level of assembly is soooooo over my head. still damn interesting to read, tho)
Then I compressed it with upx, cp small.exe smallUpx.exe && upx --brute smallUpx.exe, got a 10752 bytes executable, half the size, but still pretty large
I also tried crinkler, got it to link but the executable does apparently nothing.
Or look at more general 4k templates to learn about size optimization. https://github.com/lunasorcery/Blossom
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)