Ensoniq VFX cart adapter

Not my VPC102.

Recently found a lightly damaged Ensoniq VFX and a VPC-102 cartridge in the dumpster. Surprisingly, it turned out a working one! Yay for that \o/

Whilst repairing the synth, I couldn’t resist the temptation to also tear apart the cart and see how it works: This turned out to use a bog-standard 27C256 EPROM circuit. Less surprisingly, in no time I found myself thinking about a ROM adapter.. Yep, let’s haxx0r!

My cart mod is based on Steve Wahl’s cart conversion, but I wanted to make the ROM chips easily replaceable. So, instead of having the chip on the board I decided to install a ZIF-socket in a 90° angle and have it resting on top of the VFX panel. Additionally, I replaced the two (zero ohm) bridging resistors with DIP-switches to allow using both EPROM and EEPROM chips.

The wire connections..

..and a small perfboard to cover up the pins. The piece of gasket provides support against the VFX panel.

Despite the combination might look like very easy to break, it is actually very solid. It’s the combination of several little things that contribute to this. First, I cut a groove to the bottom of the socket to which the board slots in a little. Second, I used the four topmost pin rows to “anchor down” the socket by either direct solder connection to the board or by using component feet surplus in-between. Additionally, pin pairs 1 and 28 rest against the bottom of the board whereas pins 2 and 27 are on top. Third, I hotglued a L-bracket between the bottom side of PCB and socket. This helps to counter the weight applied when ZIF locking lever is operated. Fourth, once the case is assembled the combination rests against it too. And fifth, the gasket provides additional support once the cart is installed.

Completed adapter.

When put to use, the adapter adds a flavor of nerdy computer/hardware porn :)

The DIP-switches select between ROM and EEPROM, 1+4 for the former and 2+3 for the latter. It is supported by a dab of hot glue and the component feet surplus. I also relocated the 100nF decoupling capacitor as relying entirely on the wire-wrap connection felt a bit unsecure.

Next up, time to locate some EEPROM chips to test how writing sounds works! Seeing that there are plenty of (SYSEX) presets available on the net, it might not be a bad idea to browse through these and make a ROM set of “something usable”. I also have a spare PLCC-to-DIP adapter, and I plan to test this with some 28C256 PLCCs. Should contribute increasingly nerdy flavor to the appearance.. ;)

If you have any VPC (or other) VFX rom dumps to share, I’d appreciate a download link!


Tags: , , , , , , ,

12 responses to “Ensoniq VFX cart adapter”

  1. Ben says :

    Very cool indeed!

  2. Pedro says :

    Great idea…Could you publish the schematics of the cartridge?….It looks like very simple : the memory chip, 2 resistors, 2 resistors network, 2 jumpers and 1 decoupling cap!
    My idea is to make a generic PCB and build a cartridge with a larger mermory chip. Thanks a lot!

    • Arto says :

      Could you publish the schematics of the cartridge?

      Sorry but no, don’t have schematics for the cart. However take a look at main_digital_UL.tif from the VFX schematics package available here https://db.tt/oYQBzHZf. It lists the pin connections of the cartridge port, those might help you to get started.

      Using a larger memory chip also means that your board needs to have some additional control logic for selecting which bank to serve to the VFX. Cartridge port has only 15 address lines so 32kb (as in, eg. a 27C256 chip) is the maximum size what the VFX can handle at a time.

  3. Phillip Jordan says :

    I am in need of a rom cart to do some reverse engineering of an SD-1 with the help of a Logic analyzer.

    Would it be possible for you to scan the TOP & BOTTOM side of the bare rom cartridge board, I would like to do a reverse engineer of a Standard cart to get some more insight into the inner working of the rom storage of the sd-1.

    wishfull hoping, perhaps you had thought of doing that before you modded the Cartridge in anticipation of duping the boards ;-) at a later date.

    I have a dream is modding my 2 Ensoniq SD-1 Synths into a new beasts by replaceing the internal rom samples & internal onboard program patches with my own and making a more ambient electronica type instrument out of my SD-1.

    I need to start with some reverse engineer of the carts, If you could help me out that or point me to a source for the ensoniq carts or sd-1 schematics, It would be much appreciated, and a good starting point.


    • Arto says :

      Hi, sorry for the way overdue reply. I moved your comment to this post as I felt it was more to the point here.

      Yeah indeed I did scan the VPC-102 cartridge pcb :). You can download them here https://dl.dropboxusercontent.com/u/3753457/diyblog/vfx-cartridge-pcb.zip

    • Steve Wahl says :

      I feel I should let you know that the cartridge contains only synth programming data, not new audio samples. Cartridge programs still use the internal waves.

      I don’t believe you can get much further toward your described dream by reverse engineering the cartridge. You can’t put new samples in a cart; even if you could, the 32K limit on size would mean only 1 second or so of sample data anyway. Programs and presets, yes; but you can already do those with the INT bank; the cartridge just gives you more programs available instantly.

      With the exception of possibly being able to play a sequence on the vanilla VFX (which had no sequencer, but had store demonstration cartridges that played some kind of sequence), I don’t think you can get at anything in the VFX (or VFX-SD or SD-1) through the cartridge port that you can’t reach through MIDI sys-ex messages.

      To replace the samples in the VFX would require decoding and reverse engineering the ROM on the motherboard. Nobody has done this that I know of, probably because it’s cheaper to buy something else capable of loading samples. (Likely cheaper even if your reverse engineering time was only worth minimum wage.)

      I don’t mean to discourage you, but the number of projects that I’ve started and wasted time on, rather than spending time actually making music… Well, I’ll just say make sure you know what you’re getting into and whether that will be the happiest way to use your time.

  4. phillip jordan says :

    A totally awsome Thank you Arto: your help is appreciated.

    • phillip Jordan says :

      can i ask one more favoour of you Arto:

      can you please measure the width of the cartridge at connector in MM as well of the the lentgh of the cartridge PCB.

      I would like to make a direct etching mask of the board to proper scale in photoshop

      thanks again. for your help

  5. Steve Wahl says :

    Hey, can you correct the URL to my page? The tilde now seems to be causing problems with my ISP. http://members.pro-ns.net/steve/vfxcart.html should work. (I believe this is totally my fault, I sent out the URL with the tilde originally).

    Have you made any attempt to compare the rom contents with a sysex dump of the same programs, to determine the ROM format? 60 program sys-ex dumps are almost 64k, and since Ensoniq syx-ex format encodes a single internal byte into two MIDI bytes, that’s ~32k of ROM storage. Looking back on my exploration a long time ago, the first portion of the rom (0 – 0x7c37) matches the raw portion of the sys-ex dump of 60 programs (the nibblized portion), and 7c38 through 7ff0 match the sys-ex dump of 20 presets (the mibblized portion), and there are 8 bytes left at the end: on a VPC 100, FFFF FFFF FFFF 0501 are the lst 8 bytes.

    There was a demo cartridge or two available that actually had sequences in them that would play on a vanilla (non -SD) vfx. I’ve been real curious about what’s in them, and how the sequencing is accomplished. Is there sequence playback code in the VFX, or did the cartridge include both the sequence and the code to play it?

    • Arto says :

      Hi Steve! No problem with the URL, should be fixed now. Thanks for letting me know! There are just so many posts on this blog that I can’t actively track for broken links etc :)

      As for the ROM, no I haven’t looked into details. Some time after I got into testing some EEPROM chips I ran into crashing issues with my VFX, basically the display getting garbled up and the synth needing a reboot. I suspect that this might be due to some iffy connections with the adapter (or the wire runs), because basically the crashing started when I tried accessing the EEPROM for read/write. Since I don’t have a signal analyzer or such to track bus signals, I figured the next best thing might be to put together a testing setup by adding a ZIF socket inside the VFX using as short connections as possible. You know, as quick means to proof that the EEPROM access is stable.

      About sequencing, I haven’t got any other carts than the VPC102 so what little VFX sequencing I know of are the programs in internal ROM. There are at least a few there, which sound as if they would have a single percussion shot triggered by LFO. Come to think of it, I could check how those are programmed.. :)

      How were those demo cart sequences you tried, were they more complex than simply LFO triggering a percussion? Like were there some melodic sequences or such?

      • Steve Wahl says :

        The demo sequence cart(s) — I think there were more than 1 — played a sequence much like the demo sequences on the VFX-SD’s Sequencer OS floppy; in other words, a full song. I believe they only functioned on the VFX, not the VFX-SD. I have both a VFX and a VFX-SD, but I keep the VFX at church. So I never got to far experimenting with that cartridge before I made a EEPROM cart out of it. I’m sure I still have the ROM somewhere. I have a VPC-100 image, but I don’t have an image of the demo cartridge. I probably got the demo cartridge after I no longer had easy access to an eeprom reader / programmer.

        Ah, here’s a sighting of the beast in the wild:


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: