Roland Mc-50 & Gotek floppy Emulator

A few years ago, I have bought a Roland MC-50 (a midi sequencer released in 1990) on a flea market.

It was only 15 Euros (without PSU) but no guarantee that it was going to operate properly. Unfortunately, it was booting but I was not able to use the floppy drive which is very annoying. This was making it useless (impossible to save songs or settings).

After some years and a quick research, I decided that it was time to get this baby back to life. I bought a SFR1M44-U100K Gotek floppy emulator. Why ? Because it was not expensive, black and listed as being compatible with FlashFloppy. I was really happy to discover this alternate open-source firmware ! As you will see later, It was definitely a good move !

This page was written as a documentation for myself but could, maybe, be useful for others. Especially Linux users that are fighting with such a piece of hardware. I particularly like the DIY concept, especially when it comes to saving old iconic gear.

Once the Gotek was received, I decided to keep it simple and try the beast with the stock firmware. It was delivered without documentation or software… Very handy !

  • I was able to format the USB stick by pressing the 2 buttons on the Gotek at the same time
  • The MC-50 was then outputting an error message : “Attn ! NO DISK Press STOP”
  • I then tried to copy an empty MF2-DD (720K) virtual floppy on the USB stick. The MC-50 was complaining differently : “Error22 DISK I/O See owner’s manual”. This model is the SFR1M44-U100K and does not seem to be able to read 720K floppies (the picture below is a capture from the owner’s manual).

Let’s go the open-source way ! This limitation seems to be irrelevant with the FlashFloppy firmware ! Yummy !

The first FlashFloppy installation has to be done either by serial or USB link to a PC host (as explain on this wiki page). As I don’t have an USB-TTL adapter, I had do do it over USB.

The Gotek seems to be often delivered without some of the required pins, so you might have to remove the board from its shell and had some. For information, the reference SFRC922D is printed on the board.

What is needed :

  • Some basic soldering skills or some fun/luck with paperclips
  • A female/female Dupont cable and some jumpers
  • A USB-A to USB-A cable
  • A USB stick (4GB or less)

Once, the extra pins have been added, you will have to set them up :

  • Put a jumper on J3 (like the yellow one) and a Dupont female-female (like the orange one). These 2 connections will have to be removed once the firmware has been flashed.
  • Put a jumper on S0 on the other group of jumper over the floppy connector. This one will have to stay in place once the firmware has been flashed.

Remove the temporary pinout and can connect the Gotek to your PC with the USB-A to USB-A cable.

Some logs when the gotek is plugged to the PC host :
usb 1-1: new full-speed USB device number 66 using xhci_hcd
usb 1-1: New USB device found, idVendor=0483, idProduct=df11, bcdDevice=22.00
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1: Product: STM32 0x418 DFU Bootloader
usb 1-1: Manufacturer: STMicroelectronics
usb 1-1: SerialNumber: STM32

lsusb  | grep STM
Bus 001 Device 066: ID 0483:df11 STMicroelectronics STM Device in DFU Mode

You will then have to :

  • download the latest release of the FlashFloppy, unzip it and locate the dfu file (FF_Gotek-v3.22.dfu at the time of writing).
  • install dfu-util (“apt-get install dfu-util” if you are using Debian or derivative distribution). This utility will upload the FlashFloppy firmware to the Gotek (follow the 2 steps below)

This command will unprotect the Gotek device :

# dfu-util -a 0 -s :unprotect:force -D FF_Gotek-v3.22.dfu
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Match vendor ID from file: 0483
Match product ID from file: df11
Opening DFU capable USB device...
ID 0483:df11
Run-time device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuERROR, status = 10
dfuERROR, clearing status
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 2048
DfuSe interface name: "Internal Flash  "
Device disconnects, erases flash and resets now

This command will upload the FlashFloppy firmware to the Gotek device :

# dfu-util -a 0 -D FF_Gotek-v3.22.dfu 
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Match vendor ID from file: 0483
Match product ID from file: df11
Opening DFU capable USB device...
ID 0483:df11
Run-time device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuERROR, status = 10
dfuERROR, clearing status
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 2048
DfuSe interface name: "Internal Flash  "
file contains 1 DFU images
parsing DFU image 1
image for alternate setting 0, (2 elements, total size = 112612)
parsing element 1, address = 0x08000000, size = 30328
Download	[=========================] 100%        30328 bytes
Download done.
parsing element 2, address = 0x08008000, size = 82268
Download	[=========================] 100%        82268 bytes
Download done.
done parsing DfuSe file

Now, it’s time to put the Gotek inside the MC-50 (but you should definitely test that things are working properly before screwing everything back in place).

The next step is to deal with the USB stick that could contain a HUGE amount of floppies ! You will have to create and format a fat32 partition (this can easily done with Gparted).

the 4GB USB stick and the fat32 FS

Once the USB stick has been formatted, you need to put some empty MF2-DD (720K) floppies on it.

# /sbin/mkdosfs -C floppy_0.img 720

# file floppy_0.img
empty.img: DOS/MBR boot sector, code offset 0x3c+2, OEM-ID "mkfs.fat", sectors/cluster 2, root entries 112, sectors 1440 (volumes 32 MB), Media descriptor 0xf9, sectors/FAT 3, sectors/track 9, serial number 0x5cb06074, unlabeled, FAT (12 bit), followed by FAT

You can then duplicate this file (“cp floppy_0.img floppy_1.img”) and copy the *.img to the USB stick. Each file will become a floppy that can be selected with the Gotek buttons and operated from the MC-50 (ex: INITIALIZE [DISK], SAVE [SONG FILE] and so on).

You can even loop mount the floppy image and have a look at what has been done by the MC-50 !

# mount -o loop floppy_0.img /media/floppy
# cd /media/floppy/
# ls 
CONFIG2.MRP  CONFIG.TNB  DUMMY	MC500DIR.TNB  TNB00000.SNG
# cd ~
# umount /media/floppy/

The show must go on !

Thanks and further readings :

8 Comments

  1. Ivar Römer
    December 26, 2020
    Reply

    Hi,
    Thanks for this manual! It was very helpfull to implement my Gotek drive in my roland Mc-50!
    Thanks again!
    Ivar

    • erwan
      December 26, 2020
      Reply

      Hello ! Really happy to hear that it was useful for someone 😁 cheers !

  2. Mike Forster
    February 22, 2022
    Reply

    This was very helpful but i do have a question. Is there a way to edit the .img file to add old saved MC-50 song files that i have on stacks of old floppies. I also have a MKII version so i frequently load .mid files to be converted to MC-50 file format. Thanks again.

    • erwan
      February 22, 2022
      Reply

      Dear Mike, glad to hear that this documentation was useful to you ! I have no clue if what you are asking is possible or not. I would try to raw dump the content of a floppy, try to mount it and copy it to the USB key. I don’t have the MC-50 anymore so I won’t be able to help you precisely.

  3. Mike Forster
    February 25, 2022
    Reply

    Thanks. Simply created an image file from the floppy. Worked great. Thanks again.

    • erwan
      February 25, 2022
      Reply

      This is great ! Happy to hear that you’ve managed to achieve this !

  4. Bölcsföldi Ferenc
    June 20, 2023
    Reply

    A Roland MC-50 készülékemet ma is szívesen használom. A floppy-meghajtóját USB emulátorra cseréltem. Az MRP kiterjesztésű dalfájlokat tartalmazó floppy lemezeim tartalmát be is tudom tölteni az emulátoron keresztül.

    A problémám a következő:
    Az MRM-500 nevű MIDI fájl konvertáló programot tartalmazó floppy disk tartalmát nem tudom betölteni a “GOTEK_SFRM72-FU-DL” emulátor flash memóriáján át az MC-50-be.

    Eddigi tapasztalataim:
    – Az MRM-500 program-floppy fájlrendszere RAW, (az MRP daloké FAT).
    – Próbálkoztam volna a lemezképfájl betöltésével, de a RAW rendszerű floppy-ról lemezképfájlt sem sikerült készítenem, sőt a tartalmát sem tudtam megjeleníteni számítógépen. Azt remélem, ha a Roland által – bár régen – gyártott MRM-500 v 1.00 (c) 1990 Roland Corp. floppy (ez rendelkezésemre áll) lemezképfájl-jához hozzá jutnék, sikerülne megoldanom a problémámat.

    Várom szíves válaszukat.
    Köszönettel és üdvözlettel:
    Bölcsföldi Ferenc

    • erwan
      June 20, 2023
      Reply

      Dear Ferenc,

      Sorry I don’t know anything about the programm MRM-500 and most of all, I don’t own this device anymore.

      Cheers
      Erwan

Leave a Reply

Your email address will not be published. Required fields are marked *