tldr: gives some more time during NMI, no freespace/ram needed
the routine at $00AE47 converts the background color so that it can be stored to the fixed color data register ($2132). unfortunately, the routine is lengthy, using loops and tables and indexes and watnot. this patch shortens the routine by both cycle count (old: 244 cycles | new: 59 cycles) and byte count (3 free bytes at end) by means of clever and extreme haxage.
included is a text file that shows just how long my routine takes, and how long the old one took.
i originally developed the routine for my homebrew but adapted it for smw
To expand the description: this patch saves almost 190 cycles in NMI, which is more than a scanline of processing. The code is very clever and certainly useful, so having SA-1 support is appreciated. Good job!