Zappy wrote:We definitely used those, especially in "Choice of Gods" where the generated code was interleaved with fullscreen switches.
I remember M-Coder talking about your "compiled sprites" ("sprites en code généré", as we said). He had a bunch of stories about how he used exotic instructions like TAS in them, to save some bytes. I'm pretty sure a bunch of Overlanders / Legacy demos used this too.
Yes, I used this term, since I was perhaps the first to use this technique on ST.
In fact, this technique had been invented on Amstrad CPC by one of my friends (Philippe Pamart, the author of Titan, and I shamelessly stole his idea) before 1990 !
If you try to generate efficient code for this kind of sprites, you'll discover that it is a very interesting work. It's like writing a compiler.
For example, since you have only 8 Dn registers, you have to store the most frequent values of your sprite in your registers (not forgetting about using the 8 and 16 bits parts !!!).
Also, you have to reassign dynamically them.
A lot of people took the challenge to write good sprite compilers.
One of the best routine I saw was from Alain Boisramé.
Finally, I have to add that most of my demos were generated at run time !
In other words, the code was a generator that produced code.
This is especially efficient on full screens, where you have to count cycles.
You can also put a version of your generator, this way you get a screen in very few bytes, compared to some screens I remember that included megabytes of generated code.