From SizeCoding
Revision as of 16:42, 12 August 2016 by HellMood (talk | contribs) (added OSWIKI PC speaker link)

Jump to: navigation, search


Pouet's Tiny Intro Toolbox Thread was one of's main inspirations.


The Hugi demoscene diskmag has been kind to the sizecoding movement. They included many programming articles since it started in 1996. Additionally, the Hugi Size Coding Competition Series is the gold standard for learning how to sizecode: Each competition was given a specific task, then participants submitted their results. (All of the entries with their source code are available, as are the rules for each challenge.) Hugi #35 also provided a 256b intros round-table between Baze, Digimind, Rrrola, Pirx, Optimus, and Seven. has an extensive list of DOS .COM register starting values. If your environment isn't listed, a program is also available that can print out all of the starting register values.

The Sparks And Flames x86 Instruction Chart is awesome, once you can "read" it. Find out what the bright green (1-byte) commands do, and use them. For the extreme sizecoding (<=32 bytes) it's also very useful to have the HEX value in sight.

The Geek Edition x86asm-ref is comprehensive and dense. It might be the only reference you'll need. The last part covers modr/m bytes, which is useful.

Rene Jeschke's preservation of's x86 Documentation is one of the most compact and understandable references to the x86 instruction set you'll ever see.

Robert Collins' Undocumented Opcodes page has some gems you can exploit depending on your target environment.

PC Speaker Basics For everything from simple bleeps to sophisticated synthesizers. Program Segment Prefix : whats in front of our code, and why.

Never underestimate The Hidden Power of BCD Instructions.

Programmable Interval Timer : timing is everything.


Tinyprogs are so small that you sometimes don't need the source code to understand them: Just pop them into a disassembler (like IDA) or a debugger and look at them. If you want to grab specimens for study, here are some places to start.

Pouet can be searched for the latest tinyprogs: 256b, 128b, 64b, and even 32b and smaller.

HardCode is a repository of 7800 64KB and smaller intros. used to be a website dedicated to 256b releases, but has been down since 2009. A mangled archive is available at