Page 1 of 1

more than 8 programs?

Posted: Sun Jun 19, 2016 8:46 am
by MacroMachines
Has anyone found a reliable way to supply more than 8 programs?

I know the Tiptop Z-DSP used cards with little eprom chips, seems to work well, I am wondering if there are ways though to have built in additional programs.

In my dream the impossible dream, I would hack a micro controller to supply programs on the fly, possibly to one slot of eprom as a "middle man" but I was curious if this had been attempted by anyone yet?

I think it would be cool to use a wireless chip in a module to allow downloading and adding programs for the FV-1 as well as the micro controller itself, it would open up a whole world pf possibilities for interplay.

but yes, to reiterate, my main question is just if there had been any reliable ways to allow more than 8, as I am creating a pretty big library of effects with this and would love to have as many as possible.

Posted: Thu Jun 23, 2016 1:14 pm
by ice-nine
There are a number of way to add more than 8 programs, the simplest method would be to use more than one eeprom on the i2c bus this would provide multiples of 8 ie 3 eeproms =24 programs.

Another way would be to use a micro controller which has internal eeprom space which would send the selected program to the FV-1, the amount of programs available would be the maximum that the selected micro controller eeprom size can hold.

Posted: Wed Jun 29, 2016 8:37 am
by amz-fx
There are 512 bytes per program so the micro needs 4k bytes of eeprom just to hold 8 programs. The Atmega328 has 32k of flash memory and if you take off about 8k for the program and bootloader, then it could hold 6 banks of 8 programs each = 48 patches. Not too bad.

Posted: Fri Jul 08, 2016 2:51 am
by MacroMachines
Thank you :)
I am curious how to go about this, if anyone has tried or knows of some info on how I would send the data from the micro controller or how the eeprom of the fv1 gets its address read. I would assume I need to use a few digital pins of the micro i2c and find a way to have it emulate an EEPROM.

alternately I am using an external EEPROM with more memory space on another project, I wonder if I can use the micro to simply add an address offset, OR I think a decent way would be to have sockets that user can add, and use the micro to simply switch between : i guess a mix of the two ideas.

I also thought it would be pretty insane to have short parts of programs and use the micro to spit out different programs that are combinations of small programs. like a very simple delay line and filter etc that could be pieced together... that might be a bit too ambitious though and more easily done with a micro controller on its own, like the stm32.

Posted: Fri Jul 08, 2016 10:44 am
by slacker
MacroMachines wrote:Thank you :)
I am curious how to go about this, if anyone has tried or knows of some info on how I would send the data from the micro controller or how the eeprom of the fv1 gets its address read. I would assume I need to use a few digital pins of the micro i2c and find a way to have it emulate an EEPROM.
The FV-1 reads the eeprom using sequential reads, the 24LC32A datasheet explains how this works. Each program on the eeprom is 512 bytes long, the first one starts at address 0, the second at address 512, the third at address 1024 and so on.
If you have a microocontroller with a I2C slave peripheral it shouldn't be too difficult to make it emulate the eeprom using the info from the 24LC32 datasheet.

Posted: Mon Jul 11, 2016 5:08 am
by igorp
it could work normally work with AVR and PIC, but not sured about STM32.
I heard, STM have limitations for hardware i2c sequences, about 1024 bits, or so on.

Posted: Tue Jul 12, 2016 7:28 am
by amz-fx
Just saw this article on how to intercept i2c messages and rewrite the address bits to allow larger eeproms:

http://morethanuser.blogspot.de/2016/07 ... nject.html

regards, Jack

Posted: Tue Jul 12, 2016 10:03 am
by slacker
Thanks for sharing that Jack, pretty neat and looks easy enough to implement.

Posted: Wed Aug 17, 2016 10:35 am
by seancostello
Just saw that the ATMega328 is available in SMD:

http://www.mouser.com/ProductDetail/Atm ... GNmQ%3D%3D

Question: If the FV-1 ROMs were part of a program that was flashed to the ATMega328, and I2C was used to write the programs directly to the FV-1 (i.e. no intermediate 24LC32 in between), would this offer a greater degree of code security? How hard is it to read data that has been flashed onto an ATMega328?

Sean Costello

Posted: Sat Aug 20, 2016 10:10 am
by amz-fx
seancostello wrote:would this offer a greater degree of code security? How hard is it to read data that has been flashed onto an ATMega328?
Quite hard but not impossible. There is a lock bit that you can set that allows the flash code to run but does not allow it to be read from the chip. It is reasonably good security.

regards, Jack

Posted: Sat Aug 20, 2016 1:36 pm
by ice-nine
I don't think the Atmega 328 offers much eeprom space to save programs in, you would be better off going the PIC route maybe.

Posted: Sat Aug 20, 2016 2:26 pm
by gbiz
seancostello wrote: Question: If the FV-1 ROMs were part of a program that was flashed to the ATMega328, and I2C was used to write the programs directly to the FV-1 (i.e. no intermediate 24LC32 in between), would this offer a greater degree of code security? How hard is it to read data that has been flashed onto an ATMega328?
The ATMega has no way of confirming that the device issuing the read request is the FV-1. If you attach another device onto the I2C bus & issue a bunch of reads, the ATMega would have to respond to those in the same way as it would to the FV-1.

Posted: Tue Aug 23, 2016 8:45 am
by amz-fx
True. Even though the chip is locked down, you can snoop on the buss and capture the bytes being sent across it.

That's a lot more trouble than just clipping onto the pins of the 24LC32 and reading it directly, and takes more technical know-how than many hobby builders possess, but a determined person with the right gear can do it easily.

It is also possible to glitch the power rails of many micros to bypass the lock code. I've never tried it on the ATmega328 but it might be possible.

regards, Jack

Re:

Posted: Wed Mar 22, 2023 1:13 pm
by bcnx
ice-nine wrote: Thu Jun 23, 2016 1:14 pm There are a number of way to add more than 8 programs, the simplest method would be to use more than one eeprom on the i2c bus this would provide multiples of 8 ie 3 eeproms =24 programs.

Another way would be to use a micro controller which has internal eeprom space which would send the selected program to the FV-1, the amount of programs available would be the maximum that the selected micro controller eeprom size can hold.
Hi, how would you go about addressing the different EEPROMs as we are using a serial communication? How would you switch between them? By using the addressing pins on the EEPROMs? Will the FV-1 be able to read them on the fly?

Thanks!

BC