How to use a PC 3.5" HD disk drive with your FZ-1

Recently I bought a used FZ-1 with a dead disk drive. Fortunately, the disk controller itself was alright - but the drive was broken.  Casio, however, decided to implement the standard Shugart bus instead of the (nowadays widely used) PC/AT disk bus which - at first sight - drives a normal PC disk drive useless as replacement part.
 
 

The PC/AT floppy bus

Let's first have a look at the PC/AT floppy bus (a lot of people, including me before doing some recherche work, think that it's the original Shugart bus - this is wrong) bus which is the standard interface for disk drives since the great success of the PC architecture. It's using a 34pin connector where all odd-numbered pins are grounded, only even-numbered pins carry control signals:
 
 

Pin
Direction
Name
Description
2 out /REDWC Density Select
4 -
unused
 
6 -
unused
 
8 in /INDEX Index Pulse
10 out /MOTEA Motor Enable A
12 out /DRVSB Drive Select B
14 out /DRVSA Drive Select A
16 out /MOTEB Motor Enable B
18 out /DIR Step Direction
20 out /STEP Step Pulse
22 out /WDATA Write Data
24 out /WGATE Write Enable
26 in /TRK00 Track 0
28 in /WPT Write Protect
30 in /RDATA Read Data
32 out /SIDE1 Head Select
34 out /DSKCHG Disk Change
PC/AT FDD Connector



What Casio thought to be better: The Shugart Bus

The original Shugart bus doesn't differ much from this layout but enough to make a standard PC drive pretty unusable together with the FZ-1. But there's hope, just compare the pinout (again all odd-numbered pins but without pins 1 and 3 are grounded, for some unknown reason Casio left these unconnected - grounding them does not cause any harm to drive or FZ-1):
 
 

Pin
Direction
Name
Description
2 -
unused
Head Load (not used with the FZ-1) 
4 out /BUSY drive lamp lights when low (same as /DS0)
6 out /DS3 Drive Select 3 (tied to Vcc)
8 out /INDEX Index Pulse
10 out /DS0 Drive Select 0
12 out /DS1 Drive Select 1 (tied to Vcc)
14 out /DS2 Drive Select 2 (tied to Vcc)
16 out /MOT Motor Enable
18 out /DIR Step Direction
20 out /STEP Step Pulse
22 out /WDATA Write Data
24 out /WGATE Write Enable
26 in /TRK00 Track 0
28 in /WPT Write Protect
30 in /RDATA Read Data
32 out /SIDE1 Head Select
34 in /READY low when FDD is available
Shugart Bus Connector

As you can see, only a few lines differ. Casio never planned to use up to 4 floppies in one system, thus /DS1 to /DS3 are disabled (tied to Vcc). Only /DS0 is functional and electrically identical to /BUSY so you can treat this pair as one single signal.

/READY is something unsual to the PC world - according to the service manual the FDD grounds this signal when all of the following conditions are satisfied:

To make it short: It shows that the drive is accessible. Since the uPD72065 knows about parameters like head (un)load times and seek time, there's no real need for this signal. However, the FZ-1 does not only need it but even strictly relys on it (see below).
 
 

The interface

According to the above tables the interface cable allowing to connect a PC disk drive to your Casio FZ-1 looks like this:
 

Casio FDD Connector
PC/AT FDD Connector
Description
Pin Name Pin Name
10
/DS0 14
12
/DRVSA
/DRVSB
Drive 0 Select
16
/MOT 10
16
/MOTEA
/MOTEB
Motor 0 Enable
8
/INDEX
8
/INDEX Index Pulse
18
/DIR
18
/DIR Step Direction
20
/STEP
20
/STEP Stepping Pulse
22
/WDATA
22
/WDATA Write Data
24
/WGATE
24
/WGATE Write Gate / Write Enable
26
/TRK00
26
/TRK00 Track 0 Signal
28
/WPT
28
/WPT Write Pulse
30
/RDATA
30
/RDATA Read Data
32
/SIDE1
32
/SIDE1 Side Select (0=Head 1)
odd
GND
odd
GND Ground
Casio FDD Connector Casio FDD Connector Description
Pin Name Pin Name
34
/READY
10
/DS0 Drive Ready / Disk Changed
Casio to PC/AT FDD Interface Cable

Normally, 3.5" PC drives are jumpered to be drive 1 (that's why they need that cable crossing). If you don't want to change the drive jumpering, wire /DS0 and /MOT with their "B" counterparts, otherwise "A".

What you also need to do, is connecting /READY to /DS0 as shown in the table's second half. Although it might work for other systems, the FZ-1 doesn't accept the /DSKCHG signal as /READY.

Attention: In my special case using the /MOT line for motor control resulted in a permanently spinning floppy. This may result from a defective NAND gate which drives that line - I just didn't care. Instead of using the /MOT line I wired /DS0 to /MOTEx which works perfectly for me.
 
 

Disadvantages

The FZ-1 OS unfortunately relys on the /READY signal, which during normal operation mainly shows the presence of a disk, therefore it has no error routines dealing with no disk present or a disk being removed during load/save. When operating with a faked /READY signal such as shown above the FZ-1 OS doesn't encounter any error - and keeps on performing the desired disk operation forever. All you can do in this situation is switching your FZ-1 off and on again...

As long as you take care of your disks being fed into the drive before performing any disk operation, there's no disadvantage besides the fact that usual PC disk drives are thinner than the original one resulting in a small space between drive and drive cover.