I have just written a new version of the software that is used to convert a .CSV file into a Sysex file that the PU-2 can process. This version uses the SD card.
Preleminary tests show that 2000 midi commands require about 16KB of storage. So, my (very) old 16Meg SD card can store approximately 2,000,000 midi commands.
Actually, now that I’m using an SD card, the PU-2 can also display comments or command descriptions on the display. So the space on the SD card will be shared between the Sysex file and the Command Description file. I guess I’ll have to use a bigger SD card! Maybe even my (old) 256Meg card!
I now have to work on the Arduino side to process the commands from the SD card. The read speed is slow enough to introduce some latency when I do a bank switch. Also, as long as a bank (values for the 16 switches) contains less than approximately 4000 commands, I can store the command array in EEPROM. But if a bank contains more than 4000 commands, the PU-2 will have to perform direct SD reads to access the data. I could add more EEPROM. I have a batch of 128KB chips on hand. This chip could store up to 32000 commands per bank (128000 commands for a 512KB EEPROM card!). But I will test the preemptive reading of banks first. I will post the test results here.