This is an old revision of the document!
The FDX68 is an add-on device to the Raspberry Pi 3B / 3B+ (and potentially newer revisions) that enables one to emulate an X68000 floppy drive on a real X68000. This wiki page was created to mirror information found on the original creator's web site. Please reference the original web site first for the most up-to-date information.
Original web site: (http://www.geocities.jp/kugimoto0715/fdx68/index.html)
The X68000, like many other devices made in the 1990's and earlier, uses ICs that communicate on 5V rails (0V = binary 0, 5V = binary 1). Modern electronics, use 3V rails (or even less). Hence, one can't connect a micro computer like a Raspberry Pi to an X68000, as the data bus voltages are not compatible.
The FDX68 is a device that plugs into the Raspberry Pi, and voltage converts between a Pi and X68000 floppy drive port (both internal and/or external). The actual emulation of the floppy drive happens in software; a very clever Linux application that runs on the Raspberry Pi. The FDX68 emulates 2 FD at the same time; external jumpers set which drives to emulate (0/1 internal, or 2/3 external). Lastly, LEDs are included on the device to show you drive activity.
The original author has great instructions found here: http://www.geocities.jp/kugimoto0715/fdx68/index.html Use google translate to get the details. The rest of this page was a result of edited google translate of original page (pulled 11/26/2018)
The following examples will not cover all possible combinations, but one should find the closest system and adjust accordingly based on connector and how they want to use the device. It is easiest to connect the FDX68 externally, but it can also be used internally (adjust drive assignment accordingly). Here are some important things to keep in mind:
The external FDD connecter is labelled “EXTERNAL FDD” on the back of the X68000. This is a very unusual port known as the “miniature delta ribbon (MDR) 40 position female connector”. In order to connect an external device to this port an MDR 40 position male connector is necessary. The FDX68 author made a cable for converting this port to a standard 34-pin ribbon cable connector. One should be able to purchase the MDR 40 position male connector at many online retail stores. You will also need to purchase matching enclosure shell for the connector.
When making your own cable to convert from MDR 40 to the 34-pin connector found on the FDX68, the following conversion table should be referenced. The pin assignment for creating the conversion cable is as follows. After soldering the pins, one should confirm they cable is soldered correctly using a voltmeter.
Here's how one connects the FDX68 externally to the X68000 using this custom cable
To use the internal FDD as the first and second boot drives (drive A: and B:) and the FDX68 emulated floppy disk drives as the third and fourth drives (drive C: and D:) do the following. Set the “INTERNAL FDD NO.” switch on the rear of the X68000 to 0,1. Next, set the FDX68 jumpers to location 2,3 for both DRV and OPT as shown below.
The X68000 can still boot a system from the FDX68 as long as no bootable floppies are found in the internal FDDs. It is also important to note that although games will boot from drives 2,3 many multi-disk games will only search for additional floppy disks in drives 0,1. This configuration is useful for booting HumanOS, or single disk games. It is also useful when the FDX68 emulator is not running but you still desire a bootable system.
To use the FDX68 emulated floppy disk drives as the first and second drives (drive A: and B:) and the internal FDD as the third and fourth disk drives (drive C: and D:) do the following. Set the “INTERNAL FDD NO.” switch on the rear of the X68000 to 2,3. Next, set the FDX68 jumpers to location 0,1 for both DRV and OPT as shown below.
This configuration will allow you to use multi-disk games using the FDX68 FDD emulator with no drive number issues. But the FDX68 must be running at startup. If drives 0,1 do not respond on boot-up (even with no disks) the X68000 will not boot (even when trying to boot to a hard drive). If you want to start your X68000 with the FDX68 disabled, change the “INTERNAL FDD NO.” switch back to 0,1.
FDX68 can emulate both XDF as well as FDX images. In this example, we will first convert an XDF image to FDX and then load it into the emulator.
Let's convert the system disk image of Human 3.02, which was released free of charge in XDF format. For image conversion, we use the fdxconv utility. If you run fdxconv with no arguments, a simple help screen will display with usage instructions. fdxconv automatically determines the conversion process to use by using file extensions of the input and output files.
pi@raspberrypi:/fdx68 $ ./fdxconv FDX68 version 1.00, Copyright (C) 2017-2018 GIMONS Floppy image convert utility Usage: ./fdxconv -i SRCFILE [-n DISKNO] -o DESTFILE SRCFILE is source image file path. DISKNO is disk number of multi image format, Default is 1. DESTFILE is destination image file path.
Here's an example of converting from XDF to FDX format. Because the original XDF image has only data sectors, it's only 1.2Mb big, but when converted to FDX format it will grow to about 5.5Mb.
pi@raspberrypi:/fdx68 $ ./fdxconv -i HUMAN302.XDF -o HUMAN302.FDX FDX68 version 1.00, Copyright (C) 2017-2018 GIMONS Floppy image convert utility Input file : HUMAN302.XDF Disk no : 1 Output file : HUMAN302.FDX
pi@raspberrypi:/fdx68 $ ls -l HUMAN302.* -rw-r--r-- 1 pi pi 5505280 8月 9 18:53 HUMAN302.FDX -rw-r ----- 1 pi pi 1261568 August 9 18:53 HUMAN302.XDF pi@raspberrypi:/fdx68 $
After successfully converting the system disk of Human 3.02 to FDX format, let's copy this to HUMAN302_A.FDX and HUMAN302_B.FDX and start the fddemu emulator with these 2 disk images in the emulated drives (This is just an exercise to show you how to use fddemu to emulate 2 disk images. You can also start the emulator with 1 or no disk images loaded by default)
pi@raspberrypi:/fdx68 $ cp HUMAN302.FDX HUMAN302_A.FDX pi@raspberrypi:/fdx68 $ cp HUMAN302.FDX HUMAN302_B.FDX pi@raspberrypi:/fdx68 $ sudo ./fddemu -0 HUMAN302_A.FDX -1 HUMAN302_B.FDX & FDX68 version 1.00, Copyright (C) 2017-2018 GIMONS Floppy disk drive emulation ----+----+----+----------------------------------- ID | WP | CL | DISK IMAGE ----+----+----+----------------------------------- 0 | -- | 00 | HUMAN302_A.FDX 1 | -- | 00 | HUMAN302_B.FDX ----+----+----------------------------------------
As you can see in the picture below, there are no floppies inserted into X68000 Compact and it is booting from the FDX68. After the system has booted, one can use the drive command to list what floppy disk drives the X68000 has detected. One can see that the X68000 recognized a 4 drive configuration and that we are able to access the 2 emulated floppy disk drives.