nukeykt / Nuked-SC55

Roland SC-55 series emulation
Other
435 stars 48 forks source link

(JV-880) is it possible to support SO-PCM1, SL-JD80 cards? #70

Open Man65535 opened 6 months ago

Man65535 commented 6 months ago

JV-880 Has (PCM CARD) and (DATA CARD) slots, will it be possible to use these slots in the future?

giulioz commented 6 months ago

Yes absolutely, but unfortunately i don’t have any card image to try with. Do you have any?

Man65535 commented 6 months ago

no unfortunately thanks for the answer

Karmeck commented 6 months ago

So if I bought a card, how would I even dump it?

giulioz commented 6 months ago

Get an Arduino Mega, solder/connect the address and data lines to the card, use the Mega to read it and print it to serial, save the output into a file. I wonder if it's even worth it though, since I believe all those cards were included into the Super Sound Set expansion anyway, which has been dumped already (https://www.synthmania.com/sr-jv80-07.htm)

retrob0t commented 6 months ago

It would still be worth implementing data card support, as it would allow for saving of custom banks and patches. This is especially useful when using the sr-jv80 addon boards, as the patch data currently needs to be manually copied into the "I" internal bank every time

Some info about these memory cards (M-128 / M-256 / M-512) can be found here: https://sagamusix.de/other/roland_memory_cards/

Including links to datasheets and hardware schematics for building physical clones of the cards.

giulioz commented 6 months ago

That's a good idea, but I think it would be easier to just save the internal NVRAM instead of actually supporting cards.

retrob0t commented 6 months ago

Persisting NVRAM is a partial solution, but it wouldn't replicate the additional functionality of the memory cards.

Data card support would allow for double the number of user patches and performances available at once. Right now only bank I is available to write to, which offers space for 16 performances and 64 patches. Adding an M-256E card would allow for an additional 16/64 in bank C (which is normally not available without a card inserted).

As an example of where this is useful, most SR-JV80 boards contain over 128 patches (many with 256), of which currently only a subset of 64 are usable at a time by manually copying into the 64 slots of the I bank. M-card emulation would up this number to 128.

It would also potentially allow for keeping several unique named memory cards (perhaps specified via command line), without having to manage a single NVRAM cache by moving/renaming.

PythonBlue commented 6 months ago

Get an Arduino Mega, solder/connect the address and data lines to the card, use the Mega to read it and print it to serial, save the output into a file. I wonder if it's even worth it though, since I believe all those cards were included into the Super Sound Set expansion anyway, which has been dumped already (https://www.synthmania.com/sr-jv80-07.htm)

Sorry I took so long to read and respond.

I already have dumped all of the SO-JD80 cards for my side project of creating an SR-JV80 ROM out of them. That being said, for those of you worried about the soldering process, it turns out that's not necessary: I personally got by insofar as the PCM cards by simply inserting 30 AWG wires into the pin holes of the card and putting the other ends into a T48 programmer (specifying a 27C080 chip for the 1 MB needed for all of the SO-JD80 series and all but two of the SO-PCM1 series (the two exceptions used 2 MB instead). Close attention to the pinout provided in the service manual is still needed, however.

Also, giulioz, you're correct that a lot of the data from the SO-PCM1 series (including the entirety of the accordion card) is represented in SR-JV80-07, but I feel this suggestion is valid since it's not literally all of the data. For context, the eight SO-PCM1 cards total up to 10 MB (6 1MB cards and 2 2MB cards), which simply won't be able to fit as is into an 8 MB SR-JV80 ROM, especially given the latter format embeds the patch data as well, and even less is accounted for in the SO-JD80 series within SR-JV80-07.