I optimized senquack's/A_SN's 32bpp to 16bpp asm code yesterday, but it uses R0-R14, so I need to save sp (R13). However, apparently I must first make the asm section writable, since I can't even call an asm routine that stores any register in a declared word in the asm source!

Storing it in any of the areas mmapped in the c startup code doesn't help me, since if I pass the pointer to where to store to the blitter routine, it gets clobbered, and ofc I can't store it temporarily as per above. Being devious and trying to store it "after the pixels" in the physical framebuffer range doesn't help either, since it's the mmapped range that has write permissions I guess...

I'm looking at some clues, will probably have something nice this evening.