pokemid
pokemid copied to clipboard
Consistently emit code no larger than the original assembly
Taking an assembly file and doing a roundtrip to MIDI and back to assembly should produce code no larger than the original. Otherwise make will probably fail because the ROM is too big. This is already satisfied for most files (they are often shorter than the originals!) but not all.
May require some combination of:
- better cleaning of redundant/useless commands
- using
loopchannelto make small subloops (can be used inside subroutines as well) - more thorough investigation of possible subroutines (currently just picks the best one at each step, can get stuck on a nonoptimal local maximum)