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
- A standard 34-pin Gotek floppy emulator
- FlashFloppy already installed on the Gotek
- An OLED display and rotary encoder, if using my supplied configuration without alteration
- A FlexiDrive 34-to-26-pin P1.25 adapter
- One small jumper wire with a female end, such as a common multicolored Arduino jumper wire. The other end will be snipped.
- A FAT32-formatted USB stick
- My VL1 FlashFloppy configuration and firmware package
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.

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.


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.

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:
- Format a USB stick as FAT32 if it is not already FAT32.
- Remove any older
.updfiles from the root of the USB stick. - Copy the supplied custom firmware
.updfile 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. - Turn off the Gotek by powering off the VL1.
- Insert the USB stick.
- 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.
- When the display enters the update mode, release the buttons or encoder.
- 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.

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
- Turn on the VL1 with the USB stick inserted.
- Select a valid disk image and confirm that the VL1 can read it. I have a blank image file shared along with the
FF.CFGand firmware that you can use to test. - Change to a different image using the Gotek’s encoder or buttons.
- Confirm that the VL1 recognizes the new disk without requiring a restart.
- 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.
- 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.CFGis not being loaded from an existingFFdirectory.
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.CFGis 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
.updfiles. - 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
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.



