DiskIO V3


ECB Disk I/O V3 is a board that provides floppy and IDE interfaces.



  • ECB-compatible 8-bit interface.
  • Eurocard form factor (160 mm x 100 mm).
  • Jumper selectable I/O address area (default 20h - 3Fh). Allows connecting multiple Disk IO controllers per system.
  • Jumper selectable RESET input: N8VEM compatible (RESET is 31C) or Kontron compatible (RESET is 26C).

Floppy interface

  • Based on SMC FDC9266 floppy disk controller IC. It is fully NEC uPD765 / Intel 8272 compatible and includes an integrated data separator.
  • Supports common IBM floppy formats (720 KB, 1.44 MB, and others)
  • Polled I/O or interrupt driven I/O. DMA support is not implemented.
  • Jumper selectable interrupt output pin: Z80 ~INT, ~NMI, John's Multifunction board, and Wolfgang's ECB-ModPrn board (using Z80 CTC as the interrupt controller).
  • 34-pin floppy interface connector. Jumper configurable to either Shugart or PC pin out. Supports 4 floppy drives in Shugart configuration or 2 floppy drives in PC configuration.
  • 50-pin Shugart floppy interface (for 8“ floppy drives).
  • Optional “disk change” line read out support.

IDE interface

  • Based on Intel 8255 PPI, using PPIDE design. This provides compatibility with most IDE disk drives, including ones that were not compatible with previous Disk IO boards.
  • Supports two IDE devices (master and slave).
  • Polled I/O only.
  • Jumper for connecting IDE pin 20 to VCC.

Hardware documentation

Input/Output Ports

Note: Default I/O area (0x20-0x3F) is used in this section. Adjust according to the actual board settings of I/O address area.

20h-23h (aliases 24h-27h, 28h-2Bh, 2Ch-2Fh) - PPI / PPIDE

  • 20h - PPI port A.
    • Read/Write IDE data bus, bits 0-7
      • Set PPI control word according to the operation (read or write). See control word values below.
      • Bit 7 has a pull down register, and it will read as 0 if IDE drive is absent.
  • 21h - PPI port B. Read/Write (set PPI control word accordingly)
    • Read/Write IDE data bus, bits 8-15
      • Set PPI control word according to the operation (read or write). See control word values below.
  • 22h - PPI port C, connected to IDE control signals
    • Write - Set IDE control signals:
      • Bit 0 - IDE A0
      • Bit 1 - IDE A1
      • Bit 2 - IDE A2
      • Bit 3 - IDE /CS0 (inverted) 1 = CS0 active, 0 = CS0 inactive
      • Bit 4 - IDE /CS1 (inverted) 1 = CS1 active, 0 = CS1 inactive
      • Bit 5 - IDE /WR (inverted) 1 = Write, 0 = inactive
      • Bit 6 - IDE /RD (inverted) 1 = Read, 0 = inactive
      • Bit 7 - IDE /RESET (inverted) 1 = Reset, 0 = Normal operation
  • 23h - PPI control word.
    • Write - Set PPI control word. Use following control word values for PPIDE:
      • 92h - Read IDE data or command (Ports A and B - mode 0, input; Port C - output)
      • 80h - Write IDE data or command (Ports A and B - mode 0, output; Port C - output)
    • Read - Read current PPI control word.

30h-3Fh - FDC

  • 30h (aliases 32h, 34h, 36h) - FDC Main Status Register (N8VEM Disk I/O uses 36h)
  • 31h (aliases 33h, 35h, 37h) - FDC Data Register (N8VEM Disk I/O uses 37h)
  • 38h (aliases 39h - 3Fh)
    • Write - FDC Diginal Output Register (DOR), also known as latch.
      • Bit 0 - TC
      • Bit 1 - MOTOR (0 = Motor off, 1 = Motor on)
      • Bit 2 - MINI
      • Bit 3 - P2
      • Bit 4 - P1
      • Bit 5 - P0
      • Bit 6 - DENSEL (0 = High density, 1 = Low density)
      • Bit 7 - ~FDC_RST (0 = FDC RESET active, 1 = normal operation)
    • Read - FDC Digital Input Register (DIR)
      • Bit 0 - ~DC
      • Bits 1-7 - unused
    • N8VEM FDC compatibility notes:
      • Bit 1 is inverted, so upon system reset floppy drive motor(s) will be turned off
      • Bit 6 is inverted, but it is unlikely that it will cause any compatibility problems, as modern 3.5” drives don't use this signal
      • Bit 7 of the latch is used differently (and incorrectly) on N8VEM Disk I/O as an input to ~DC (disk change) line. In Zeta SBC this output is connected to FDC RESET input, and allows software controlled FDC reset.
      • ~DC (disk change) output from floppy drives can be read from DIR register, bit 0. It could be used by the system to detect floppy disk change. In such case CP/M should be warm rebooted.

Jumpers and Connectors

Jumper JP1 - RESET_SEL

Select reset input pin.

Jumper Position Description
1-2* N8VEM SBC. Reset is connected to ECB pin 31C.
2-3 Kontron SBC. Reset is connected to ECB pin 26C

* default

Jumper JP2 - IO_SEL

Select board I/O address area.

Jumper Position Description
1-2 00h-1Fh
3-4* 20h-3Fh
5-6 40h-5Fh
7-8 60h-7Fh
9-10 80h-9Fh
11-12 0A0h-0BFh
13-14 0C0h-0DFh
15-16 0E0h-0FFh

* default

Jumper JP3 - FDC_INT_SEL

Select FDC interrupt output pin.

Jumper Position Description
no jumper* FDC doesn't use interrupts (polling I/O mode)
1-2 Z80 /INT
3-4 Z80 /NMI
5-6 /IQ0 - Wolfgang Kabatzke's ECB-ModPrn board
7-8 /IQ1 - Wolfgang Kabatzke's ECB-ModPrn board
9-10 /IQ2 - Wolfgang Kabatzke's ECB-ModPrn board
11-12 /IRQ0 - John Coffman's Multifunction board
13-14 /IRQ1 - John Coffman's Multifunction board
15-16 /IRQ2 - John Coffman's Multifunction board
17-18 /IRQ3 - John Coffman's Multifunction board
19-20 /IRQ4 - John Coffman's Multifunction board
21-22 /IRQ5 - John Coffman's Multifunction board
23-24 /IRQ6 - John Coffman's Multifunction board
25-26 /IRQ7 - John Coffman's Multifunction board

* default

Jumper JP4 - READY/DC

Configure floppy /READY or /DC (disk change) signals connection.

Jumper Position Description
1-2,3-4* Connect /DC to DIR; Connect FDC /RDY to GND (floppy drive is always ready)
1-3,2-4 Connect /DC to GND (DIR always reads as “disk changed”); Connect FDC /RDY to the /READY signal of the floppy drive. Use with drives that provide /READY signal.

* default

Jumper JP5 - TWO SIDE

Configure /TS (two sides) FDC signal connection.

Jumper Position Description
1-2* Connect /TS to GND (so it is always true)
2-3 Connect /TS to the floppy drive. Use with 8“ floppy drives that provide “two sides” signal

* default

Jumper JP6 - DENSEL

Configure /DEN/LCT (sometimes called /DENSEL, /LCT, or “low current”) floppy drive signal connection.

Jumper Position Description
1-2* Connect Floppy drive's /DEN/LCT signal to the DOR (floopy latch) bit 6.
2-3 Connect Floppy drive's /DEN/LCT signal to FDC. FDC sets this signal for tracks >= 42. Use with 8” floppy drives.

* default

Jumper JP7 - IBM_FDC

Configure 34-pin floppy drive interface (/MOTOR and /DS* signals) to be IBM PC or Shugart compatible.

Jumper Position Description
1-2,3-4* IBM PC compatible. Pins 10 and 16 are connected to /MOTOR signal. Pin 12 is /DS2. Pin 14 is /DS1. Use with up to two PC floppy drives and a PC floppy cable with a twist.
2-3,4-5 Shugart 34 compatible. Pin 16 is /MOTOR. Pin 10 is /DS1. Pin 12 is /DS2. Pin 14 is /DS3. Pin 6 is /DS4.

* default

Jumper JP8 - IDE_VCC

Connect Vcc (+5V) to IDE pin 20.

Jumper Position Description
installed P2 pin 20 is connected to the ground. Some flash IDE modules and CF-to-IDE adapters can use pin 20 for power supply.
no jumper* P4 pin 20 is left open

* default

Bill of Materials (BOM)

BOM Notes

Disclaimer: I did my best to make sure that components listed in this BOM will be compatible with ECB Disk IO V3 board. Obviously I didn't order all of components listed here, and I was not able to actually verify that they will work. Please make sure to double check specifications on manufacturer's and seller's web site before ordering. Please let me know (or update the BOM) if you found any problems or incompatibilities.

Many components have multiple part numbers listed in BOM. There are some differences between various part numbers, such as:

  • Different manufacturer (e.g. Texas Instruments vs. National Semiconductor for IC). Usually these ICs will be 100% compatible and won't have any differences in specifications. For some other components (e.g. connectors) different manufacturer also means different quality. It for example is likely to get a better quality connector from TE (was AMP/Tyco) than from some obscure manufacturer (e.g. components sold under Jameco ValuePro brand).
  • Specification differences
    • Different IC families (LS, ALS), different technologies (TTL and CMOS). They have different specs, and you might prefer to use certain IC family.
    • Different IC speed/frequency, especially PPI.
    • Minor differences. For example: RoHS or Pb-free vs. regular components; thickness of gold plating on connectors; frequency stability of oscillators and crystals.
  • Price differences

If unsure what to order, read specifications on seller's and manufacturer's web sites. Also please read Replacement Notes below. Finally, consult people on RetroBrew Computers Forum.


Component type Reference Description Quantity Possible sources and notes
PCB ECB Disk IO PCB Version 3.0 1 Order from Andrew
Capacitor C1 - C16 0.1 uF ceramic, 5.08 mm lead spacing 16
Mouser 80-C323C104K5R

Jameco 25523
Capacitor C17,18 22 uF, 50 V electrolytic 2
Diode D1 5 mm LED indicator 1
Connector JP1, JP5, JP6 3×1 pin header 3 Jameco 109576; Mouser 649-69190-103HLF, 649-78229-103HLF
Connector JP2 8×2 pin header 1 Note: This connector is optional. Solder a wire between pins 3 and 4 for default I/O address area (020h-03Fh).
Connector JP3 13×2 pin header

Jameco 53495; Mouser 649-68602-126HLF, 649-77313-824-26LF

Note: This connector is optional. Only required if you wish to use interrupt-driven I/O.
Connector JP4 2×2 pin header 1
Connector JP7 5×1 pin header 1
Connector JP8, P5 2×1 pin header 2 Jameco 108338; Mouser 649-78229-102HLF
Connector P1 DIN 41612
right angle
1 Mouser 617-09-03-396-6921; Jameco 859561, 859430
Connector P2 20×2 pin header shrouded 1 Mouser 737-BHR-40-VUA
Connector P3 17×2 pin header shrouded 1 Jameco 68583, 753547; Mouser 737-BHR-34-VUA
Connector P4 25×2 pin header shrouded 1
Mouser 737-BHR-50-VUA

Note: This connector is optional. Only required for 50-pin Shugart interface, which is normally used by 8“ floppy drives.
Resistor R1 - R4 10 kOhm, 1/4 W 4
Jameco 691104

Mouser 291-10K-RC
Resistor R5, R6 470 Ohm, 1/4 W 2
Jameco 690785

Mouser 291-470-RC
Resistor R7 0 Ohm, or a wire 1 Note: Solder wire instead of this resistor.
Resistor Array RR1 1 kOhm, 9 pin, bussed resistor array 1
Note 1: Use 150 Ohm or 330 Ohm resistor array for older drives that have 150 Ohm or 300 Ohm terminators.

Note 2: Only 6 first resistors are used, so 7 pin or (more common) 8 pin arrays can be used instead. Make sure to align pin 1 properly. Also it is possible to use 10 pin arrays, with 10th pin cut just by the package body.
IC U1 FDC9266 FDC 1 Order from Sergey; Utsource; eBay
IC U2 8255 PPI 1
Jameco 52417

Unicorn Electronics (order 82C55); Utsource; eBay; Ask Sergey
IC U3 74LS273 1
Mouser 595-SN74ALS273N, 512-DM74ALS273N, 595-SN74LS273N, 595-SN74AHCT273N; Unicorn Electronics; Jameco 47386, 308398, 45049
IC U4 74LS245 1 Mouser 595-SN74ALS245A-1N, 595-SN74ALS245AN, 595-SN74AHCT245N; Jameco 47212
IC U5, U6 74LS241 2
Mouser 595-SN74LS241N, 595-CD74HCT241EE4, 595-CD74HCT241; Jameco 47167
IC U7 74LS240 1
Mouser 595-SN74ALS240AN, 595-SN74LS240N, 595-SN74AHCT240N; Unicorn Electronics; Jameco 47141, 308291, 45014
IC U8 74LS139 1
Mouser 595-SN74ALS139N, 595-SN74LS139AN, 595-CD74ACT139E, 512-74ACT139PC, 595-SN74AHCT139N; Unicorn Electronics; Jameco 46623, 301268, 63773, 239011
IC U9 74LS138 1
Mouser 595-SN74ALS138AN, 512-DM74ALS138N, 595-SN74LS138N, 595-SN74AHCT138N; Unicorn Electronics; Jameco 46607, 46608, 301233, 44927
IC U10 74LS125 1
Mouser 595-SN74LS125AN, 595-SN74AHCT125N; Unicorn Electronics; Jameco 46501

Note: This IC is optional. It is only used for “Disk Change” signal readout, which is not supported by the current firmware.
IC U11 74LS32 1
Mouser 595-SN74ALS32N, 512-DM74ALS32N, 595-SN74LS32N, 595-SN74AHCT32N; Unicorn Electronics; Jameco 44134, 47466, 47467, 295515
IC U12,U13 74LS14 2
Mouser 595-SN74LS14N, 595-SN74AHCT14N; Unicorn Electronics; Jameco 46640, 295460, 44935
IC U14,U15 74LS06 2
Mouser 595-SN74LS06N; Unicorn Electronics; Jameco 46359

Note: U15 is optional, and only required for 8” drives.
IC U16 8 MHz oscillator, full can 1
Mouser 815-ACO-8-EK, 520-TCF800-X

Jameco 27991
IC Socket U1, U4 - U6 40 pin 600 mil DIP socket 2
Jameco 41111

Mouser 649-DILB40P223TLF, 517-4840-6000-CP
IC Socket U7, U8 20 pin 300 mil DIP socket 5
Jameco 112248

Mouser 649-DILB20P-223TLF, 517-4820-3000-CP
IC Socket U9 - U13, U24 16 pin 300 mil DIP socket 2
Jameco 37373

Mouser 649-DILB16P-223TLF, 517-4816-3000-CP
IC Socket U14 - U20 14 pin 300 mil DIP socket 6
Jameco 37162

Mouser 649-DILB14P-223TLF, 517-4814-3000-CP
Oscillator Socket U21 - U23 4 pin 300 mil DIP full can oscillator socket 1
Jameco 133006

Mouser 535-1107741

Replacement Notes

  • 74xx logic
    • TTL logic families: 74LS, 74ALS, 74F, or TTL-compatible CMOS: 74HCT and 74AHCT could be used. Note some people reported problems when using CMOS ICs in their ECB boards for bus drivers and transmitters (74×241, 74×245). 74ACT-series have very steep (fast) switching slopes, that might cause more noise (signal reflection or ringing) on unterminated buses.
    • Plain 74LS should work with CPU frequency up to 8 MHz. But it is recommended to use higher speed and lower power 74ALS ICs.
  • 8255 PPI
    • It is recommended to use higher speed CMOS versions. For example 8 MHz Intersil / Harris CP82C55A part (note CP82C55A-5 is 5 MHz), 10 MHz Toshiba TMP82C55AP-10 or NEC D71055C-10 parts.

File List

FilenameFilesizeLast modified
disk_io_v3_-_complete_board.jpg270.3 KiB2015/11/01 18:49
disk_io_v3_-_component_side.jpg296.7 KiB2015/11/01 18:49
disk_io_v3_-_solder_side.jpg236.3 KiB2015/11/01 18:49
ecb_diskio_v3_-_board_-_color_1.0.pdf1.1 MiB2015/11/01 18:49
ecb_diskio_v3_-_gerber_-_1.0.zip279.8 KiB2015/11/01 18:49
ecb_diskio_v3_-_kicad_-_1.0.zip216.2 KiB2015/11/01 18:49
ecb_diskio_v3_-_schematics_-_color_1.0.pdf265.9 KiB2015/11/01 18:49
max_working_hard.jpg149.3 KiB2015/11/01 18:49

boards/ecb/diskio-v3/start.txt · Last modified: 2018/05/01 09:52 by b1ackmai1er
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0