I am deeply sorry about that. With all the new features, I am so close to the maximum size limit that the version of the compiler generating the code does matter.
Option 0 is to check an earlier branch (v0.95) which is smaller.
Option 1 is to trim into the code until a better solution is found. Locate bits of code and comment them (for example in oscillator.h, replace some entries in fn_table_ by RenderSilence).
Option 2 is to use avr-gcc-4.3.3 – which is the version I use and which seems to generate more compact code than the newer versions.
ATMega1284p is not an option since it would require a modification of the control board.
I have thought about this and there might be a solution to get 3 or 4k. This would drastically change the architecture of the code and require a lot of testing.
I will try to work on it on my “spare cycles”, but I hope you’ll understand it would be extremely risky for me to throw away “battle-tested” code. Maybe call it a “developer branch”?
A very rough check gives me a hint that my idea might work and yield a code size reduction of 2.5k. I’ll continue digging and post a preview. Firmware development on the main branch is frozen until then.
I have pushed the change to the current master. I’ve browsed through 140 presets and they seemed to be unaffected by the change.
It looks like you're new here. If you want to get involved, click one of these buttons!