Yamaha VL1 Gotek Upgrade: Preserve Disk Change and 1.44 MB Density Select

A Gotek USB floppy emulator is an excellent replacement for the aging floppy drive in a Yamaha VL1. Unfortunately, a conventional Gotek installation in the VL1 often uses a workaround that sacrifices density select in order to preserve disk-change detection.

After some experimentation, I found a straightforward solution. By running one additional jumper wire from the Gotek’s JC signal pad to the 26-pin adapter and installing a small custom modification to the FlashFloppy firmware, the VL1 can retain both disk-change detection and density select.

Important: This modification is specifically documented for the Yamaha VL1 and VL1-m using the 34-to-26-pin adapter described below. I can’t guarantee this will work on other similar 26-pin Yamaha devices.

The Problem With a Standard Gotek Installation

The Yamaha VL1’s original floppy drive uses a 26-pin interface. In addition to the usual floppy-drive signals, the VL1 expects separate signals for drive readiness, disk change, and media density.

FlashFloppy normally handles configurable output signals through pins 2 and 34. These are easily configurable through modifications to FF.CFG. In this particular application, however, those connections are used to preserve disk readiness and media density.

The practical result is a Gotek that may initially read a disk image but does not tell the VL1 when another image has been selected. The keyboard continues behaving as though the previous disk were inserted. Alternatively, a configuration that restores disk change may lose proper selection between double-density and high-density media.

Some enterprising users have taken the customizable pin 2, which is normally used for density signals, and physically connected it to pin 6 of the 26-pin header. In other words, they sacrificed the density-select output so that disk-change detection would work correctly.

The solution is to use the Gotek’s otherwise-unused JC signal pad as an additional disk-change output. The custom FlashFloppy branch linked below adds exactly that behavior.

What You Will Need

The FlexiDrive adapter is sold as a general 34-to-26-pin floppy adapter, and its compatibility list specifically includes the Yamaha VL1 and VL1-m. It also provides a conveniently accessible 26-pin header for the additional disk-change connection. Because it does not require the extra cabling used by some adapters, it is slim and well suited to this installation.

Closeup of Gotek, FlexiDrive adapter, and jumper cable.
Closeup of the rear of the Gotek, with FlexiDrive 34-to-26-pin P1.25 adapter and jumper cables installed and connected.

Before Beginning

  • Turn off and unplug the VL1 before opening it or changing any connections.
  • Confirm the orientation and numbering of the 26-pin connector before attaching the jumper.
  • Do not place a conventional shorting jumper across both JC pads.
  • Connect only the JC signal side to the appropriate adapter pin.
  • Secure the jumper so that it cannot move, contact another pin, or become trapped during reassembly.

Pin numbering is particularly easy to reverse when a connector is viewed from the cable side rather than the pin side. Use the photographs as an orientation guide, but verify the numbering on your own adapter before applying power.

Step 1: Add the JC Disk-Change Jumper

Locate the position marked JC on the Gotek circuit board. JC is normally associated with selecting an IBM PC-style floppy interface, but the custom firmware repurposes its microcontroller signal pad as an active-low disk-change output.

Attach one end of a single jumper wire to the JC signal pad only. Do not short the two JC pads together.

Connect the other end of the jumper to pin 6 on the 26-pin header of the FlexiDrive adapter.

Pin-number clarification: The firmware source refers to the disk-change connection as pin 4 on the Gotek-side floppy header. With the FlexiDrive adapter used here, the convenient connection point is pin 6 on the adapter’s 26-pin header. These instructions assume this particular adapter and wiring arrangement.

I used an ordinary female Arduino jumper wire. I cut and stripped the wire on the other end, and soldered it to pin 6 on the 26-pin header. Once connected, route and secure the wire so that it cannot fall off or contact adjacent pins.

Closeup of FlexiDrive adapter and Gotek with jumper visible.
The FlexiDrive 34-to-26-pin P1.25 adapter attached to the back of a Gotek. My green jumper wire running between the JC signal pin and the header.
Close-up of FlexiDrive adapter with jumper soldered to pin 6.
Close-up of green jumper wire soldered to pin 6 of the adapter. This is a delicate operation. Make sure the wire is secured from accidental pulling. I used a zip tie and silicone adhesive. In the picture, you can see the wire is secured with DOWSIL 3145 RTV Silicone Adhesive/Sealant.

Step 2: Install the Gotek and Adapter

Connect the Gotek’s standard 34-pin floppy header to the FlexiDrive adapter. Connect the VL1’s original 26-pin ribbon cable to the adapter’s 26-pin P1.25 connector.

Also connect power to the Gotek using the power connector included with your adapter. Before mounting everything permanently, make sure that the adapter and cables are oriented correctly and that no exposed contacts can touch the VL1 chassis.

Gotek installed in VL1-m.
The Gotek installs with a slight recess in both the VL1 and VL1-m. Here it is pictured installed in a VL1-m.

Step 3: Install the Custom FlashFloppy Firmware

The additional wire will not do anything with ordinary FlashFloppy firmware. The Gotek must also be running the custom branch that outputs the disk-change signal through JC.

If your Gotek already has FlashFloppy installed, installing the modified build is a normal USB firmware update:

  1. Format a USB stick as FAT32 if it is not already FAT32.
  2. Remove any older .upd files from the root of the USB stick.
  3. Copy the supplied custom firmware .upd file to the root of the USB stick. You can download the latest version I compiled from my shared folder, or you can download it from my fork on GitHub here.
  4. Turn off the Gotek by powering off the VL1.
  5. Insert the USB stick.
  6. Hold both Gotek navigation buttons while turning the VL1 back on. With an enhanced Gotek, pressing and holding the rotary encoder can be used instead.
  7. When the display enters the update mode, release the buttons or encoder.
  8. The firmware should install automatically, after which the Gotek will restart.

A Gotek that already has FlashFloppy is strongly recommended because its bootloader makes this update straightforward. A new Gotek still running factory firmware must first be programmed with FlashFloppy using the normal initial-installation procedure.

This firmware is an unofficial branch of FlashFloppy created specifically for this application. Its source is publicly available in the flashfloppy-vl1-jc-diskchange GitHub repository.

Picture of Gotek installed in VL1.
The Gotek installed in a VL1. The slight recess provides a bit of protection for USB drives, but the dial does stick out a bit. Keep this in mind if you decide to pursue the OLED version of the Gotek.

Step 4: Install FF.CFG and the Disk Images

After updating the firmware, remove the firmware update file from the USB stick and copy the supplied FF.CFG file to it.

The configuration I provide assumes a Gotek equipped with an OLED display and a rotary encoder. If you have a standard three-digit display and two-button Gotek, you will need to adjust the display and navigation portions of FF.CFG. The underlying interface and signal configuration should remain the same.

FlashFloppy accepts FF.CFG either in the root of the USB stick or in an FF directory. If an FF directory already exists, place the configuration file there, since FlashFloppy will look in that directory instead of the root.

The download package also includes a blank 1.44 MB disk image and a blank 720 KB disk image. These can be copied to the USB stick and used like blank high-density and double-density floppy disks, respectively. Add or rename images as necessary for your own library.

Step 5: Test the Installation

  1. Turn on the VL1 with the USB stick inserted.
  2. Select a valid disk image and confirm that the VL1 can read it. I have a blank image file shared along with the FF.CFG and firmware that you can use to test.
  3. Change to a different image using the Gotek’s encoder or buttons.
  4. Confirm that the VL1 recognizes the new disk without requiring a restart.
  5. If available, also test a 720 KB image to confirm that both densities are selected correctly. I have one of those in my shared folder as well.
  6. Save and reload a small file to verify both read and write operations.

When everything is working correctly, selecting another disk image should behave much like physically ejecting one floppy disk and inserting another. The VL1 should recognize the change, while density select should allow both double-density and high-density images to operate correctly.

Troubleshooting

The Gotek reads the first image but does not recognize disk changes

  • Confirm that the modified firmware was actually installed.
  • Confirm that the wire is attached to the JC signal pad rather than the ground side.
  • Verify the connection to pin 6 on the adapter’s 26-pin header.
  • Check that the jumper has not slipped off either connection.
  • Make sure an older FF.CFG is not being loaded from an existing FF directory.

The VL1 reports a bad disk or will only use one disk density

  • Use one of the known-good blank images supplied in the download package.
  • Confirm that the supplied FF.CFG is present and being loaded.
  • Verify that the image really is the expected 720 KB or 1.44 MB size.
  • Recheck the adapter and ribbon-cable orientation.

The firmware update does not start

  • Make sure the USB stick is formatted as FAT32.
  • Place the firmware file in the root directory.
  • Remove unrelated or older .upd files.
  • Hold both buttons, or the encoder, while power is first applied.
  • Confirm that the Gotek already has a FlashFloppy bootloader.

Downloads and Source Code

Download Firmware, FF.CFG, and Blank Images

View the Modified Source on GitHub

View the 34-to-26-Pin Adapter

The download package includes the custom firmware update, the matching FF.CFG, blank 1.44 MB and 720 KB disk images. The configuration assumes an OLED display and rotary encoder, although the display and control settings can be adjusted for other Gotek hardware.

Leave a Comment