Hi,
Thanks for the nice words. That's always great to read people like their preenfm
If you want to work on the preenfm3 firmware, the easier way is to use the stm dedicated IDE:
https://www.st.com/en/development-tools/stm32cubeide.htmlI use version 1.5.1, so i don't know if that will work with newer version. But i think you can download older ones.
This IDE will take care of the editing and compilation of the new firmware.
It can also flash it on the preenfm3 but for that you need a ST-LINK board connected to the SWD connector on the main pfm3 board.
If you don't have a STlink, compile the firmware from the IDE.
And use the script here to create the bin file.
https://github.com/Ixox/preenfm3/tree/master/scriptsThen copy the bin on you SD card and flash it.
If you have to make many tests and many iterations of you change, the STLINK board is the way to go
The area you want to modify (voice allocation) is not straightforward as it has to work with Mono, multi, glide, unisound....
And also because to use a busy voice, the preenfm does not stop immediatly the note to avoid "click", it quickly fade out previous note and then play the new one (that's the isNewNotePending stuff).
Yes the code you modified is the correct one.
Don't hesitate to ask any questions, sorry for the delay on this first reply.
I'll really do my best to help people to customize the firmware
Xavier