Roland S-770 Sampler Modifications

A long time ago (in a studio far, far away) I came across the Roland S-770 Sampler. An absolute beast at the time - 16 megabytes of SRAM for samples, internal hard drive, external monitor and mouse control, expandable by external SCSI drives and CD-ROMs. And some of the sounds were just sublime - and some of them still hold their own, even today.

In terms of hardware, the S-770 has not aged well. Internal hard drive is a weird bus-powered 40 pin SCSI-ST506-MSX-weirdness (good luck trying to find a replacement drive), the mouse is an MSX game port mouse (again, try to find one, I dare you) and the video output to an external monitor is either a analog RGB or composite signal (yes, there are LCD panels with composite input but that is just plain awful).

So what can we do to bring S-770 a bit closer to the modern age? Quite a lot, it seems.

Project goals are as follows:

You're just rambling incoherently, I only wanted the service manual / floppy images / links to better pages!

Here you go:

S-770 Service Manual

Roland OS 2.25 floppy disk image in HD format

linkS-Group Archive page for all Roland sampler models

linkLlamamusic synth and sampler support (a LOT of information, dig around, especially in the DIY section)

 

 

Replacing the ungrounded power input socket

For reasons only understood by Japanese engineers, Roland decided to equip the S-770 without grounded power socket. It's not like this is a expensive professional audio equipment or anything, to be used in a studio environment with a lot of expensive (and sensitive) hardware. To be fair, you usually found the S-770 in a towering rack in midst of other rack equipment (and thus the grounding problem was solved through other devices), but still.

Weird part is, the S-770 even has a marked spot on the PSU card for grounding wire. Oh well. Luckily the IEC-wannabe socket is easily enough replaced with standard IEC grounded socket (the dimensions are the the same, and even the screw holes match). One extra wire and you're done.

ground

The new IEC connector (top right) and the grounding wire (yellow/green) to the screw marked "GND".

Few words about the power supply

The S-770 has two PSU boards and a transformer. The first PSU board is a standard linear regulator design - the transformer outputs +-15 volts, and the board has a rectifier and run-of-the-mill 7815 and 7915 regulators to regulate the voltages. These voltages are used for analog parts in the S-770 - the operational amplifiers on the output boards and the like use bipolar voltages.

Second board is for digital parts - a 4 amp +5 volt switching power supply section and a 7812 linear regulator, outputting the +12 volts for the floppy disk drive. 78XX and 79XX series regulators are rated for 1 amp. There are some scattered linear regulators on the audio output board, but these are of no consequence, as they are used locally on the PCB and for very small currents.

psu

Transformer (on the left) and the PSU boards. In the middle is +-15 volts linear regulator card, one on the right is switching power supply (+5 volts) and 12V (regulator).

If you need to remove the PSU board in the middle, please note that the On/Off switch is located on it. The long black plastic arm needs to be disconnected from the switch itself before you can lift out the PCB. This is done by moving a little black collar near the switch end of the arm. Carefully move the collar towards front of the S-770 while keeping the arm itself still. When it pops out, the arm is easily removed from the switch. Assembly is reverse of removal.

While the PSU boards were accessible, I decided that 30 years old capacitors were not a good thing, especially in the switching power supply section. Low ESR caps are recommended. I ended up replacing all the caps on the boards. None of the replaced caps were leaking, so this was not absolutely necessary, but as the parts were readily available and the procedure is quite straightforward, I saw no reason why not.

power

Replacing the capacitors on the PSU boards

Powering extra equipment

I added a small extension board on the switching power supply board, just to get outputs for Arduino and GBS-8200 cards. This required some finesse (the placement of the board and the screws going through the original PCB need some attention). The board itself is single layer, so drilling is not a problem as long as you are careful not to cause shorts on the other side. Both screws in the following picture land nicely in the ground foil on the other side of the PCB.

extra

Small extra header for +5V outputs. The cable is split on the other end, so it provides power to Arduino and GBS separately.

 

 

 

Replacing the MSX mouse with PS2 mouse

The mouse used in S-series samplers is a variant of Japanese MSX system (a standardized home computer system from the 80's). The MSX mice are getting expensive and hard to find. My S-770 came with the original mouse, but I do not expect it to last forever - and as almost every other aspect of the S-770 is being upgraded, so shall we modernize the mouse hardware as well.

Original MSX mouse uses a DB9 joystick port to connect to a computer. Hosting USB Human Interface devices is not that simple on easy-to-program hardware. PS2 mice are still widely available and the protocol (and ready-made libraries for microcontroller platforms) make it quite easy to use.

The conversion has a few options. Internal or external converter? Arduino or some other microcontroller platform? DIY or Off-the-shelf?

Non-arduino solutions

There are some conflicting reports about off-the-shelf converters (for reasons which will become clear later). Availability is spotty, as ready-made converters have come and gone - ebay is your best bet if you want one.

One Japanese DIY project, which is reported working, uses the PIC16F84 microcontroller, but the PIC itself is getting quite old (and expensive), the project code is in binary form and to program the PIC, one needs either ICSP or universal programmer. For the record, the PIC converter files (with circuit diagram) can be found here.

There is a newer port of the project to a PIC16F628A (better chip availability) - the project page is in spanish but google translate works, http://www.msxpro.com/ps2_msx.html

Arduino Nano solution

Nyyrikki ( https://www.msx.org/wiki/NYYRIKKI ), a well known demo scene character and coder, has made a MSX to PS2 mouse converter based on Arduino platform. With some modifications to his original converter code it can be utilized in the S-770.

Arduino is very user-friendly platform and programming is done (these days) through USB, so one does not need expensive programmers and/or obscure software to achieve results.

Nyyrikki's code is made to support a wide variety of MSX mouse-like devices and joysticks. Since the S-770 only needs a two-button basic mouse, the code below is shortened considerably - no support for file transfers, mouse wheels and so on.

linkArduino MSX to PS2 mouse code

Note: There is a difference (but of course!) how S-770 communicates with the mouse versus how MSX in general does it. It seems that Roland queries the mouse way too often for Arduino to respond with real PS2 mouse status - and the code needs to be modifed in a way that Arduino responds with zero if there is no new mouse status available. The original code has a JoyHigh() function which reads

void JoyHigh()
{
     DDRD=(DDRD & 195);
}

This will not work. The mouse cursor in S-770 will constantly creep towards the bottom and the right of the screen. The working JoyHigh() function is

void JoyHigh()
{
     DDRD=(DDRD | 0x3C);
}

 

 

Schematic for internal installation of Arduino MSX to PS2 mouse converter

Things to note: Roland sees the Arduino as a current sink - this means that there is no voltage signalling. Roland outputs a constant voltage to the MSX pins, and "sees" if any of the pins is floating or connected to the ground (remember, the MSX port started as a Joystick port - the pins are for joystick microswitches).

The pin 5 on MSX port has +5V available, but there is a very sensitive fuse behind it. Trying to power the Arduino from the pin 5 is not recommended.

If you remove the DB9 from the front panel PCB on Roland, you can put pin headers on the PCB and connect the Arduino pins with standard Dupont cables. Removing the DB9 also leaves just enough room to put a PS2 chassis-mounted female connector on the aluminium front panel of the S-770.

While programming the Arduino, it is advisable to disconnect the power connection from S-770. When the S-770 is not powered, the resistive load from the PSU will make programming the Arduino impossible. It should be possible to power the Arduino from the S-770 and keep the USB cable connected - but just to be on the safe side, disconnect the Arduino completely from the sampler while uploading the program.

schema 

 

arduino

Arduino Nano installed on the bottom side, near front connector PCB. The grey cable goes to a front panel mounted PS2 connector, and the tied cables are connected to pin headers soldered in the holes left by the removed DB9 male connector on the front panel PCB. Arduino Nano is mounted on pin headers on the green PCB for easy removal.

 

 

RGB Video to VGA

 

Schematic from the service manual

video-schema

Please note that the orientation of the connector in the schematic is upside down when compared to a physical connector on the S-770 itself. No, it is not mirrored, just rotated 180 degrees. Also note there is +5V connected to a very sensitive fuse on the pin 1 - this is probably used only for signalling the external monitor that S-770 is on. I would not try to draw any meaningful amout of power to a external converter through it.

GBS-8200 video converter board

GBS-8200 is a general purpose (also widely available and quite affordable) video converter board, made primarily for old video game cabinets and the like. The board has a wide variety of inputs and a single VGA output. Only thing that is really missing is an old TTL level low frequency monochrome input (IBM MDA adapter comes to mind, and quite many industrial devices using small CRT monitors).

 At the time of writing this page, the ebay prices seem to hover at 15$ with free worldwide delivery. Current version of the board is 4.0. The connectors on the board are pictured below.

gbs8200

 

There is a lot of discussion on the web about the image quality and possible problems with the card. In this project, as the S-770 is not a side-scrolling shoot 'em up-game from yesteryear I personally find the quality of the picture more than palatable on a decent VGA monitor. You are free to change the capacitors on the board and employ other necessary power supply magic if you feel the need, though.

The power for the card is easily pulled from S-770s own 5V output, from the switching power supply board in the bottom section of the machine. I went as far as to add a little PCB on the side of the original PSU card and added two pin headers for attaching both the GBS-8200 and the Arduino for mouse conversion.

There is nothing inherently wrong with leeching the power from, say, floppy disk power connector - it is the same 5V, as the machine has single rail PSU. The PSU is rated for 4 amps, and as the GBS pulls quite consistently something in order of 400mA, there is more than reasonable amperage available (the original hard drive pulls quite a bit more, and I suspect that you, my dear reader, will not use the original internal hard drive since it very possibly is broken at this point in time, or will be replaced with SCSI2SD card). Also, as there is no more internal HD, the fan is quite useless and can be removed.

At this point, one has two options. Either put the GBS card in to an external case and power it separately, or find a place for it inside the S-770. I went for the latter option.

 

Connecting the GBS-8200

Some people use the GBS externally - cased, powered on its own and connected to the 8-pin SRGB output of the Roland. The pins on the DIN connector are as follows (looking into the connector from the back of the S-770):

din connector

Pin number Signal
1 + 5V (signalling purposes only, fused)
2 GND
3 Not connected
4 Horizontal sync
5 Vertical sync
6 Red
7 Green
8 Blue

 

I opted for internal installation for the GBS, so first order of business was to remove the DIN connector from the motherboard. After the removal, we're left with the holes on the PCB (looking from the top, ie. component side, bottom of the picture is the motherboard card edge on the back side of the S-770):

pcb connections

GBS comes equipped with 8-pin SRGB header connector and wires. For the Roland, one pin on the GBS side has to be moved - the sync cable is in wrong position, as S-770 outputs both the horizontal and vertical sync. The following picture shows the correct placement of the wires (the individual pin is removed by pushing carefully the exposed metal part and just pulling the pin out). The grey cable is originally in the "S"-position, so it needs to be moved to "HS".

 

GBS SRGB

As the cable has a connector and is easily removable on the GBS side, I choose to just solder the wires directly on the motherboard PCB. I also wrapped the cable with aluminum foil, covered it with electrical tape (shrink tube would probably be better) and electrically connected the aluminum shield to the motherboard ground in order to minimize interference.

Connections between the motherboard and the GBS are as obvious I can make them in the pictures above - numbers to numbers or colors to colors.

gbs1

The GBS connected straight to motherboard. The removed DIN connector can be seen on the right.

Input selection and adjusting the picture

In my setup, the GBS-8200 realized that the signal was coming from SRGB input all by itself, so there was no need to actually do anything. Picture was clear and crisp. The GBS has menu buttons on the PCB, and internet is awash with manuals (and more importantly, guides how to adjust the menu language to english), so I'm not going to repeat any of that here.

Sidenote: I would love to have the GBS boot logo changed from the chinese text to something else - say, a Roland logo or something. So far I do not know how to do this - probably you have to replace the firmware on the card with something suitably edited. Quick googling did not reveal anything relevant, so if you know how to do this, drop me a line.

picture

The user interface shown on an old Dell LCD monitor.

 

Mounting the GBS-8200

Looking inside the S-770 reveals quite a lot of extra space. The GBS-8200 is not a small device, though. After inspection it seems that there is only one really promising location for it - empty space on the hard drive / floppy drive compartment, just above the exhaust fan.

The S-770 is rated for 40 watts, which is not that much, and as it is a large device with a lot of holes and openings for air to circulate, the only function of the fan is to keep the old hard drive cool. I suspect that no-one using the S-770 today is going to keep the original hard drive (most of the HDs are probably dead by now, anyway).

Removing the fan is not required, though, as there is enough room on top of it to install the GBS PCB. I was more concerned about the possible interference from the fan, so away it goes.

The PCB needs only one hole to be cut in the chassis - the DB9/15 -sized cut to expose the VGA connector. The chassis is made out of steel and requires some force to drill / cut through, but as the plate in which the fan is mounted is removable from the rest of the chassis, this poses no real problem. Just take the plate out, drill / cut three holes, and some recreational filing later you are left with a suitable hole, as demonstrated in the next picture. 

The GBS mounted above the fan insert. The backplane of S-770 has another, removable thin panel on top of the sturdier frame, and it needs to be cut accordingly - the hole is larger on the thin panel so that the connector on the cable can reach the connector on the card.

The GBS PCB is quite light - it could be held in place with just the DB connector screws. I wanted some support for it, and first I had a plan to have two legs extending from the back holes of the card all the way to the chassis floor. This would have made the dissassembly somewhat cumbersome later, so I decided that a single support, from the back plate itself, would be enough. Result is in the next picture:

Support bracket made out of a (very old and quite stiff) PC backplane filler.

After the cable is routed from the mainboard - and the power cord installed whereever you want to take the power from - it was time to cut the outer back panel so that the VGA connector could be accessed easily (the thin outer back panel is not pressed against the chassis panel, there is a 2-3mm gap for screw heads). Next picture shows the end result: 

Finalized installation. The thinner back plate has a larger cutout so that the cable may be properly inserted. The cable from the motherboard is coated with aluminum foil and electrical tape. On the left you can see the +5V power cord coming from the PSU card.

 

 

Replace the floppy drive with Gotek USB floppy emulator

 

Floppy images

First things first - the high density floppy images, containing the 2.25 Roland Operating System for S-770 Sampler.

The ZIP file below contains two floppy images:

S770HD.zip

If you want - or need - the double density (720K) OS image for some reason, it is provided below. Please note, that for some reason the boot process on the S-770 is very much slower with this image. The standard floppy drive reads the physical disk very slowly, and even when put into USB floppy emulator the slowness persists. No .HFE image is provided, but you can create one with HxC tools.

The file inside is in SDISK program .OUT format, but this is the same as the .IMG - just rename the file for your purposes.

s770v225DD.zip

 

SDISK.EXE program for creating physical floppies in Windows or DOS

If you want to create the 3.5" floppy disks in physical formats, you can use one of the following utilities:

SDISK 1.1 for MS-DOS

SDISKW for Windows (works reportedly up to Windows 7)

Usage is fairly straightforward - the utility needs the name of the image file and then you select if you want to write the image file to a disk, or save the disk contents to a file (with the name you just provided). Careful, you might end up overwriting your existing image file with zeroes if you select the wrong function. Keep some copies of the original files.

The SDISK has some requirements - I would recommend against trying to create floppies with a USB floppy disk drive. I any case, the floppy needs to be formatted (in 720K DD format or 1.4M HD format), and most of modern USB floppy drives will not create a DD disk for you.

Formatting in itself is done with standard DOS or Windows formatting utilities.

If you want to experiment with DD (720K) disks and you have a 3.5" drive connected to a real floppy controller, but you do not have DD disks, old MS-DOS FORMAT command can format a HD disk to a DD format, given that the disk you have is prepared accordingly:

dd formatThe HD disk has two holes - one for write protection and another for HD disk detection. If the detection hole is taped over, the floppy drive will format the HD disk in DD format.

You can use either of the FORMAT commands:

FORMAT A: /F:720
FORMAT A: /T:80 /N:9

The /F:720 will not work in Windows XP or later, you need to use the tracks/sectors -parameters.

 

Note: While reprogramming the Gotek, all the guides told me - quite correctly - that the RX and TX pins should be crossed over (RX pin on the interface connected to TX pin on the Gotek and vice versa). For some reason, the Chinese manufacturer had printed the pins according to connection, not function, on the USB interface. So after wondering for a few minutes why nothing is happening, I switched the cables - RX to RX, TX to TX, and everything worked.

 

fw

Programming the Gotek with HxC firmware. A USB to 3.3V serial interface is connected to a USB hub.

 

Replacing the internal hard drive with SCSI2SD

The original hard drive in S-770 is a strange beast. At its heart is a 70MB MFM hard drive. Mounted inside the hard drive cage there is another controller card, which talks to the hard drive with almost-but-not-quite ST506 interface. On the other end of the card is a 40-pin not-really-a-standard SCSI connector. The hard drive is powered through the SCSI - there are three pins for +5V, one +12V pin and two "power grounds" - although the GND is the same as the digital GND found on other pins.

So, first of all, MFM drive availability is abysmal, as one would expect at this point in time. And even if you could find a source for MFM drives, the ST506 interface is missing one crucial signal, so you still would need one of the (at least to my knowledge) about five models which were available only during the late 80s and early 90s.

SCSI, wonderfully enough, is much more resilient standard, and 50-pin narrow SCSI-1 drives are still somewhat available, should you want one. One could even try to use SCSI-2 or ultrawide drives, given that you had a suitable adapter (and limiting jumpers on the drives).

Since you would waste a lot of modern drives capacity should you use it in S-770, there are better options available. SCSI to Compact Flash adapters do exist, as well as SCSI to SD. The de-facto standard today is SCSI2SD, an open-source SCSI to SD card hard drive emulator. The card itself is available from multiple manufacturers.

linkhttp://www.codesrc.com/mediawiki/index.php/SCSI2SD

The S-770 requires the version 5 of the hardware - version 6 has more options, but is not necessarily compatible with Roland. This might change in the future, but for now, make sure that you buy the v5.

cut

Important: When connecting the SCSI2SD to your Roland (or anywhere else), make sure that you DO NOT connect the +12V pin on the Molex connector. SCSI2SD only requires +5V to operate. So, before you do anything, if you are feeding the SCSI2SD with Molex, cut the yellow wire away from your power cable.