The 688 release is ready: (Many thanks Mark, i'm true?)
The ZX81 FDC FLOPPY CONTROLLER [Kicad]
Re: The ZX81 FDC FLOPPY CONTROLLER [Kicad]
Xavier ...on the Facebook groupe : "Zx81 France"(fr)
Re: The ZX81 FDC FLOPPY CONTROLLER [Kicad]
HI,
The sockets PCB...
Schematic diagram:
The sockets PCB...
Schematic diagram:
Xavier ...on the Facebook groupe : "Zx81 France"(fr)
- 1024MAK
- Posts: 5527
- Joined: Mon Sep 26, 2011 10:56 am
- Location: Looking forward to summer in Somerset, UK...
- Contact:
Re: The ZX81 FDC FLOPPY CONTROLLER [Kicad]
Because the outputs from the ‘688 chips are being combined, you can feed /MREQ directly to pin 1 of one of them and /WR directly to pin 1 of the other one. There is no need to use a NOR gate and an inverter gate for /MREQ and /WR.
Also, I would use a smaller flip-flop / latch chip and have the two data bus lines go to this directly. Then from this, feed it’s outputs to the 2 to 4 line decoder (‘139).
The four drive select lines should really be driven by open collector drivers (‘38).
Having said all that, the main board looks like it supports two drives anyway, as it has two drive select lines. And if re-designing it, it makes more sense to change it so that it can support four drives rather than have an expansion board. However, that may then require a modification to the software for the system. But see below.
The normal Shugart Associates floppy disk drive interface ‘standard’ can have up to four drives or devices (at one time tape back-up systems were available that connected to this interface). The drives/devices are connected via a single ribbon cable that has multiple connectors on it so that the drives are ‘daisy chained’ together.
There are individual drive (device) select lines for each. But one single common motor on / load head control line. Depending on the internal logic of the disk drive controller board (part of the drive), either it’s motor would spin when the single common motor on / load head control line was active or only if it was active AND the drive was selected.
So for some drives, if you had more than one, all of them may spin up when any one of them was required to be used by the computer.
This expansion board design however, has four individual drive connectors and uses logic so that each drive has an individual motor on / load head control line (which is combined to also feed the drive select line for the drive). I don’t know why this was done. Maybe so that a lower cost, lower power PSU could be used?
In both the main board and this expansion, I’m not sure why pull-up resistors (to the +5V/VCC rail) are being used. The floppy disk drives if designed to be compatible with the Shugart Associates floppy disk drive interface ‘standard’ should be fitted with pull-up resistors. More specifically, if 5¼ inch drives are used, the pull-up resistors should only be fitted to the last drive on the bus. 3½ inch drives typically all have pull-up resistor fitted as standard, but use a different value pull-up resistor compared with 5¼ inch drives.
Note that I’ve not yet had time to read through and look at the existing details. But wanted to post my thoughts now.
Mark
Also, I would use a smaller flip-flop / latch chip and have the two data bus lines go to this directly. Then from this, feed it’s outputs to the 2 to 4 line decoder (‘139).
The four drive select lines should really be driven by open collector drivers (‘38).
Having said all that, the main board looks like it supports two drives anyway, as it has two drive select lines. And if re-designing it, it makes more sense to change it so that it can support four drives rather than have an expansion board. However, that may then require a modification to the software for the system. But see below.
The normal Shugart Associates floppy disk drive interface ‘standard’ can have up to four drives or devices (at one time tape back-up systems were available that connected to this interface). The drives/devices are connected via a single ribbon cable that has multiple connectors on it so that the drives are ‘daisy chained’ together.
There are individual drive (device) select lines for each. But one single common motor on / load head control line. Depending on the internal logic of the disk drive controller board (part of the drive), either it’s motor would spin when the single common motor on / load head control line was active or only if it was active AND the drive was selected.
So for some drives, if you had more than one, all of them may spin up when any one of them was required to be used by the computer.
This expansion board design however, has four individual drive connectors and uses logic so that each drive has an individual motor on / load head control line (which is combined to also feed the drive select line for the drive). I don’t know why this was done. Maybe so that a lower cost, lower power PSU could be used?
In both the main board and this expansion, I’m not sure why pull-up resistors (to the +5V/VCC rail) are being used. The floppy disk drives if designed to be compatible with the Shugart Associates floppy disk drive interface ‘standard’ should be fitted with pull-up resistors. More specifically, if 5¼ inch drives are used, the pull-up resistors should only be fitted to the last drive on the bus. 3½ inch drives typically all have pull-up resistor fitted as standard, but use a different value pull-up resistor compared with 5¼ inch drives.
Note that I’ve not yet had time to read through and look at the existing details. But wanted to post my thoughts now.
Mark
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Amp
Standby alert 
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb
Spring approaching...
ZX81 Chip Pin-outs
ZX81 Video Transistor Amp


There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb

Spring approaching...
Re: The ZX81 FDC FLOPPY CONTROLLER [Kicad]

terribly clever !Because the outputs from the ‘688 chips are being combined, you can feed /MREQ directly to pin 1 of one of them and /WR directly to pin 1 of the other one. There is no need to use a NOR gate and an inverter gate for /MREQ and /WR.
On the 74LS688, if the Pin 1=/G=TRUE, output =TRUE.
Perhaps to prevent a disk drive on a CMOS technology.I’m not sure why pull-up resistors (to the +5V/VCC rail) are being used.
Many thanks Mark for precious help.
Note: the 74LS04 and 139 are open-collector device. (checked !)
The updated diagram:
Xavier ...on the Facebook groupe : "Zx81 France"(fr)
Re: The ZX81 FDC FLOPPY CONTROLLER [Kicad]
Hi,
This project is ready, the main card is the original replica board.
The daughter board use the POKE 8,x to select the target drive.
Project not tested and available as is.
Diagrams: (...)
This project is ready, the main card is the original replica board.
The daughter board use the POKE 8,x to select the target drive.
Project not tested and available as is.
Diagrams: (...)
Last edited by XavSnap on Tue Feb 11, 2025 9:49 am, edited 1 time in total.
Xavier ...on the Facebook groupe : "Zx81 France"(fr)
Re: The ZX81 FDC FLOPPY CONTROLLER [Kicad]
Kicad project & Gerbers (3 cards): revision 1.1 updated.
More informations (ZX Team project):
http://zx81.ordi5.free.fr/brico/FDC_Controller/
Last edited by XavSnap on Mon Feb 17, 2025 2:38 am, edited 1 time in total.
Xavier ...on the Facebook groupe : "Zx81 France"(fr)
Re: The ZX81 FDC FLOPPY CONTROLLER [Kicad]
I forgot to thank Paul for his documentation and advice...
Thanks Paul.
Thanks Paul.
Xavier ...on the Facebook groupe : "Zx81 France"(fr)
Re: The ZX81 FDC FLOPPY CONTROLLER [Kicad]
Revision:1.2
Schematic: Kicad project:
Schematic: Kicad project:
Xavier ...on the Facebook groupe : "Zx81 France"(fr)