I don’t want to demotivate you, in fact I also already thought about the use of an ARM based core for MIDIbox projects (see also http://www.midibox.org/forum/index.php?topic=3305.msg22398#msg22398). Based on the experiences I made with this processor so far (I attented a programming course some time ago, but I’m mainly working with TriCore), I can only say, that MIPS are not everything. If the PIC CPU (or AVR, this doesn’t matter here) is clocked with the same frequency like a ARM core, you will notice, that PIC/AVR perform better on special tasks, especially on bit manipulations and IO transactions, because they provide special instructions for such operations. Also the interrupt handling of ARM is really ugly, the interrupt latency is higher, task switching is slow. Ok, this has been optimized with ARM 9 core…
GCC compiler: nice solution, but not as good as the original ARM compiler (from ARM). Propably you have to write a lot of routines in assembler, in order to achive a performance to handle more than two SIDs. ARM assembler doesn’t make fun (due to RISC architecture)
Keep also in mind that the IO requires some additional hardware, since the chip is supplied with 1.8V and/or 3.3V - at least for the LCD an external IO tristate driver will be required, and for the SIDs of course
So, I guess that you won’t be happy with an ARM7 derivative, especially when you are planning to program in C, and if you want to use Linux as the operating system (or do you really favor unstable synth timings before an operating system, which loads a little ARM7 more than really required?)
I guess that with an ARM9 based derivate, clocked with 150 MHz and higher, you will be able to do much more than with dedicated PIC cores for each SIDs
Just my thoughts - I could be wrong, but I just want to express, that an ARM doesn’t really satisfy me yet. It’s not a real microcontroller, it’s more a computing engine.
Best Regards, Thorsten.
P.S.: when I’m speaking of the handling of SIDs, I don’t only mean to access them via MIDI, but also to provide the same software implemented sound engine capabilities like the real MBSID.
Ok, so long you only forward incoming notes the SID registers, and access sound parameters via CC, and if you only provide some simple modulation capabilities, then you are propably able to handle 8 SIDs and more… but you just don’t get enough out of the SIDs, just some cheap sounds
Compare this with “HardSID” (the PC based solution), which provides a slower update cycle than MIDIbox SID, even it’s running on pentium processors 