KORG DSS-1 SCSI AND MEMORY UPGRADE
Introduced in 1986, the Korg DSS-1 was Korg’s answer to the 12-bit samplers of the day, namely E-mu’s EMAX, Sequential Circuits’ Prophet 2000/2002, Akai’s S612, and a plethora of others that were jockeying to become the sampler of choice.
The DSS-1 shared some similarities with one of its earlier siblings, the DW-8000 synthesizer. The front panel layout was similar, with the parameters silkscreened on the front for easy reference. However the DSS-1 added several unique features, some of which have not been duplicated to this day. The first of these was waveform drawing. You were able to create a sample by moving the data slider up or down, as the LCD scrolled by. The second was additive synthesis, which had previously been only available on high-end instruments like the AXCEL resynthesizer and the Fairlight CMI, and the Kawai K5/K5m. Additionally, all sounds were processed through a warm, 24db/octave analog VCF.
However the DSS-1 had a couple of drawbacks. First of all, it was a very large instrument, and at the time cost $2900, which put it in the mid to upper price range of the 12 bit sampler market. It is internally quite complex, with several circuit boards and wiring harnesses, which made it much more expensive to manufacture than its competitors, like the Ensoniq instruments which typically have only one main board and a minimum of wiring. Also, due to the miniscule amont of RAM for samples (256k x 12-bit words), a feeble 8085 CPU, and very slow floppy-based storage, many musicians chose other instruments with SCSI capability and more expansion possibilities.
Korg apparently realized that the instrument had some shortcomings and attempted to address these by contracting Sound Logic, (not the same as Sound Logic USA, a manufacturer of third-party memory expansions), to design and make and upgrade board. This board, the DSS-MSRK (Memory-SCSI-Retrofit-Kit), added a faster NEC V40 CPU, a SCSI controller, 2 Megabytes of 12-bit memory, and enabled DMA for the floppy drive for faster read/write performance.
Very few of these kits were sold and installed in DSS-1’s. I’m told the number is around 250-300. Part of the problem was the extremely difficult upgrade procedure, which involved removing PC boards from the instrument, shipping them off to KORG for modification, modifying the power supply, installing new wiring harnesses, and punching a hole for a DB25 connector (for the SCSI port) on the back of the instrument. The cost of this whole procedure is uncertain. I’ve been told by one owner that it was almost $3000, which is more than the DSS-1 cost new!!! Faced with this exorbitant sum of money, I’m sure most DSS-1 owners put the instrument in the closet and bought an EMAX or S900….
For several years, any DSS-MSRK’s that appeared on the used marked were quickly snapped up. It seems like this was the end of the line for the DSS-1…until now…
Recreating the DSS-MSRK
After searching in vain for a source for the DSS-1 upgrade, I decided to take matters into my own hands. I’d had success with the OB-Mx voice board, so I decided to give it a shot.
Luckily, the schematics and modification procedure for the DSS-MSRK were readily available online, and the DSS-1 schematics were easily obtained. As I began to study them, I wondered if it might make more sense to create a completely new design, essentially merging the original KLM-780 CPU board with the design changes from the DSS-MSRK. It was a lot more work but in the end would mean a lot less hacking inside the DSS-1 and an easier installation. This was important as the goal was to offer the upgrade to DSS-1 owners who might want to install it themselves (or have their local service center do the work).
However, the first step was to make exact clones of the DSS-1 and DSS-MSRK so I could first verify the designs, and then merge the necessary parts together. I used a slightly different technique than I did for the OB-Mx, mostly because I was using the EAGLE software, and another great piece of free software called Afloat. I depopulated the PC boards, scanned them, and used them as overlays to place the components and tracks in EAGLE. I started with the schematic first, copying the originals into EAGLE, then placing and routing. Using the overlay as a guide, I was able to verify and correct any discrepancies between the PC layout and the schematic.
Once that step was completed, I began to merge the two designs together. The first thing I realized was that there were some redundant components, which were no longer necessary in the new design. One of the goals of the new design was to reduce power consumption by changing the LSTTL logic to HCTTL, and reducing chip count was another goal. I wanted to stray from the original designs as little as possible, to ease the debugging process which I knew from experience would be inevitable, especially with a project this complex. Most of the chips had HCMOS equivalents, and the DSS-MSRK was an all-HCMOS design to begin with.
I was able to eliminate the pull-up resistors necessary for LSTTL to HCMOS interfacing and rearrange some logic gate placement, which EAGLE makes very easy to do. The important thing was to have the finished board as similar electrically to the KLM780/DSS-MSRK as possible. The one major difference would be the custom gate array that KORG used to control the expanded memory. The likelihood of getting this part was slim to none, as it was custom made for the DSS-MSRK. (update-it was apparently also used in the DSM-1 and Sampling Grand, so it wasn’t DSS-MSRK specific). I did some digging and found that the part (a uPD65012C) was a gate array from NEC, that had to be mask-programmed at the factory, similar to a mask ROM.
Even if the part was still in production, I’m sure NEC would have little or no interest in doing a low-volume production run.
It seemed like the function of this chip would be pretty simple to recreate in a modern programmable logic device. I had used Xilinx’s XC9500 parts and design tools, so I decided to go with them. I also purchased an Intronix LogicPort and a 40-DIL logic probe adapter. After a few days of analysis, I decided that the custom KORG IC contained a bunch of bank select registers and a multiplexer. The registers were controlled by the main CPU, and the multiplexer was controlled by the DMA engine on the KLM-782 voice board. All I had to do was recreate these inside the Xilinx CPLD, and test…
I decided to build a board to test out my Xilinx design with the original DSS-MSRK, as not to introduce more possible problems with a new, untested design. This board would adapt the Xilinx device (an XC9572) to a 40 pin header that would plug in in place of the original uPD65012C. After a couple of false starts (love that Xilinx flash-based architecture), I had a working replacement for the KORG custom IC.
Another departure from the original design was to split the design into two boards. The first, the main CPU, would be a pure plug-in board swap for the KLM-780. The memory expansion, which in the original design involved lots of track cuts, ribbon cables, hacking of metalwork, double sided sticky-tape, etc. would be a separate board, containing the new Xilinx memory controller, and using (relatively) modern 1 Meg x 16 bit DRAM, instead of the original 256kx4 DRAM of the original DSS-MSRK design. The original, stock memory IC’s (256×1) would be removed and sockets installed, and the new board would simply plug into these sockets. The added benefit of this approach was that the DSS-1 could be returned to the ‘stock’ configuration by replacing the original KLM-780 board and the 256kx1 memory IC’s. Also replacing the expanded memory (if necessary) would be much easier.
Protyping and Debugging
Now that the ‘easy’ part was done (!), I had to build a prototype.
First, getting a PC board made. I had used a few companies in the past, including PCB-Pool, AP Circuits, Advanced Circuits, PCB Express, and Century Circuits. Both AP Circuits and Advanced circuits offered a ‘prototype’ service, which would be fine for the first run. I chose Advanced Circuits ‘Bare-Bones’ since it was inexpensive and I’d had good luck with them before. Besides, what other PC board manufacturer sends you free popcorn?
Sourcing components was not as easy. Although most of the parts were readily available, a few, like the NEC V40, and the SED9421C were very hard to find. I had used a few different component brokers in the past, and two companies, US Bid and American Microsemi were able to find the harder to get parts. EBay is also a great resource for obsolete components.
The boards and components arrived, and I built up two boards. Having boards with a ground and power planes and no soldermask meant I had to be VERY careful soldering to avoid solder bridges. I installed the first board, powered it up and….nothing. Well, this is why you build prototypes…
By using a CMOS version of the 8155 , which was used on the KLM-780 to drive the LCD, along with the changes introduced to the address decoding by the DSS-MSRK, was enough to cause the board not to work. It turns out that the propagation delay that was introduced by this change was enough to be outside of an 81C55’s timing window, but within a regular 8155’s window.
Lucklily, I had a couple of unused gates on the board and was able to use these to correct the problem.
The memory expansion was more of an unknown. Because I was using components completely different than the original, it would be more difficult to debug any problems. I got the boards made at a new manufacturer I hadn’t used before, PCB Cart, who are based in China. Their boards were very inexpensive and I needed a full solder mask and silkscreen since most of the components on the board are surface mount.
The boards arrived, I built them up, installed them and…the memory came up with an error halfway through the memory test. A quick check on the boards found that I had missed a couple of solder joints, and upon reinstalling the board, the memory checked out flawlessly.
Odds and Ends
With the prototype debugged, I ordered 25 boards from PCB Cart. I decided to get them with a red soldermask, just to be different…
I made a couple of ‘tweaks’ to the finished board. One issue is that the passive SCSI termination used in the DSS-MSRK draws current even when idling, the resistor packs actually get quite warm. As part of the low power approach, I swiched these for active SCSI terminators. I also removed a redundant bus buffer IC (not needed with the V40) and corrected the timing issue with the 81C55.
The final ‘pain in the ass’ was making a hole for the DB25 SCSI connector. I decided to forego the approach used by KORG and use a proper DB25 punch. The results look much nicer.
A common component failure in the DSS1 (besides the floppy drive) is the LCD. I installed a white LED backlit unit, which is much brighter and easier to read.
Here’s some pictures of the boards installed in a DSS-1.
New Software, New Hardware
I revealed the new upgrade kit on the DSS-1 users’ group on Yahoo! groups. The initial response was varied, ranging from ‘this is awesome, how do I get one’ to ‘what’s the point, it’s a 12-bit 20-year-old synth’ to ‘I can buy 2MB for $20 on eBay, this is a total rip-off!’ I explained the nature of the upgrade, that it wasn’t JUST 2MB of memory, it also had SCSI, faster CPU, etc.
One person who inquired about the upgrade turned out to be Jim Babb. Jim, along with Paul Kreter, were the initial designers of the DSS-MSRK. Jim kindly offered to trade me the last released version of software for the DSS-MSRK in exchange for a kit. We started talking about the history of the upgrade, how and why it was done, and Jim was actually able to dig out his source code from 20 years ago and compile new versions of the software.
Suddenly, there were many new possibilities.
First, it was relatively easy to allow the DSS-1 to see more memory banks, 64 in fact, for a total of 16M Word (24MB) of memory. I decided to redesign the memory board, using higher density DRAMs and a new memory controller.
Jim also brought to my attention a self-contained USB module by Vinculum, that he felt would be able to be added to the motherboard. After several discussions, I decided to make a plug-in daughterboard for the module (the VDIP-1). Also, the amount of RAM was increased to allow for more multisounds and programs to be in memory at once. The three original EPROMS (two 27C256 and one 27C512) were replaced with a 512K Flash ROM, to allow for more OS code and easier updating.
I did the first revision of the board in February 2009. Initially, there were a few problems with the design, mostly related to not using a solder mask and having microscopic solder bridges. Note to self: Spend the extra money and get it done right. Once Jim (finally) had a working daughterboard, he was able to get the USB module up and running. However, in order to use DMA for the fastest possible data transfer, another revision of the daughterboard needed to be done.
After several months of back-and forth debugging, software writing, (which all had to be shoehorned in between our real jobs), the USB storage was functional.
USB and More
There will only be 25 of the original rev of boards. A complete redesign is in progress, which will make more use of programmable logic, which translates to a smaller board and lower cost.
Some of the new features include:
- 16M X 12-bit (24MB) of memory (64 banks)
- USB file storage with subdirectories (FAT file system for easy PC transfer)
- more comprehensive diagnostics
- ability to assign sliders to program parameters
- ability to have all 4 systems from floppy (A-D) in memory at once
- up to 64 multisounds at once (instead of 16)
- 128 programs at once (instead of 32)
- samples stored on USB drive are in .WAV format
- Auto Portamento has been implemented
- Update from USB drive has been implemented
More features will be added. Stay tuned….
New Version Update, July 2012
A lot of changes this year….
- Newly designed CPU board. Now a daughterboard that plugs into the original CPU board. More work for the end user to install, but less expensive and easier to build. The memory board remains the same.
- SCSI is only available by request. USB has made it obsolete.
- I don’t supply the LCD and Floppy drive anymore but these are easy to obtain from any number of suppliers. I recommend the Koutech IO-FPM220 for the drive, and displays from Newhaven Display or Crystalfontz. Also have had good luck getting them from eBay. The specs for the display are: 20×2 characters, HD44780 compatible controller, 116mm x 37mm
- Price of the kit is $250.00. This includes the two boards and components needed to install them. I do the board modification for $100.00, and modifying the entire DSS-1 (board removal, modification, reinstallation and test) is $50. Shipping is extra, and I will use USPS unless you request someone else.
I highly recommend having someone with good electronics experience do the modification, it’s very easy to damage the DSS-1 boards and Korg will not sell you a new one. I also recommend finding someone local to do the modification because shipping to and from the USA (Los Angeles) can get very expensive. I have contacts in Canada, USA, UK, Germany, and Spain that can help you out.