back to buchty.net
Casiorama
back to main page

How to use a PC 3.5" HD disk drive with your FZ-1
Trying to reach me?
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. Sad but true... These days one really calls for spam when publishing an email address on a website. But what the heck.

rainer@buchty.net

If you expect an answer please send plain text emails. HTML-formatted mails will be dumped automatically.

Floppy mysteries part 1: Japan spins faster...
For some kind of reason (there must be one...) the so-called Japanese 3.5" floppies spin with 360rpm like the old 5.25" drives instead of 300rpm as the rest of the world does.

Unfortunately, almost no floppy I've seen so far has a "speed select" switch although the commonly used motor controllers have such an input which put me instantly in hunting mode when opening a TEAC FD-235 (of which I got a few so an eventually killed drive wouldn't be that big issue here). Having done so, I played around with a Mitsumi/Newtronics D359.

In case you did the same with other drives, just let me know and I'll include it in the below table.

Drive ModelDrive ControllerModification
TEAC
FD-235/HF
BA6478HF
(Rohm)
Remove W61, attach a switch to W61's pads; solder W61 between two poles of the switch to allow either W61 to be present (300rpm) or not (360rpm)
Mitsumi/Newtronics
D359T3
LB1810
(Sanyo)
see BA6478HF, but use pin 12 of LB1810; notice that 360rpm will be selected by applying Vcc, 300rpm by GND.
generic BA6478HF
(Rohm)
Desolder and isolate pin 3 of controller; attach a switch to pin 3 which allows pulling that pin to GND (300rpm) or Vcc (360rpm).
generic BA6492BFS
(Rohm)
see BA6478HF, but use pin 29 instead of pin 3
generic LB1810
(Sanyo)
see Mitsumi/Newtronics D359/T3
Drive modifications for switching between 300 and 360rpm

See here if and how your disk drive's pin 34 behaviour can be changed from disk change to disk ready as needed for proper FZ-1 operation.
 

Floppy mysteries part 2: 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's the real standard: 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

Hackware
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:

  • all the voltages are supplied
  • the floppy disk's rotation is over 84% of the normal rotation speed
  • a floppy disk is loaded
  • /DIR is set to 0
  • head is on track 0 at power on
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.

See this website from Frank Durda IV to check if your drive can easily be converted from disk change to disk ready behaviour on pin 34.