Playing with the llvm-mos 6502 assembler, and it cut the code size of this c64 demo in half. There's still a long way to go wrangling #ifdefs and inline assembly clobber lists, but it looks promising. It's still weird to use an executable the size of 311 floppy disks to compile a 1.2kb program...