Difference between revisions of "IDE8255"
(→Description) |
|||
(13 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
== Description == | == Description == | ||
− | IDE8255 is the simplest IDE multiplexer (8bit to 16bit) that everyone can build. And its also the fastest, the data transfer rate is 173 KB/second. | + | IDE8255 (designed by [[Yarek]]) is the simplest IDE multiplexer (8bit to 16bit) that everyone can build. And its also the fastest, the data transfer rate is 173 KB/second. It can be up to 186 KB/sec. |
− | It consists of port decoder, a [[8255 | + | It consists of port decoder, a [[8255 PPI chip]], 74LS139 chip as control gate and some diodes, resistors and capacitors. The most important is, that the 8255 can work in MODE 1 while reading. |
MODE 1 automaticly generates read signal for IDE device only by reading PA and PB of 8255, so only one IN per byte is needed. However, writing needs two OUTs per byte. | MODE 1 automaticly generates read signal for IDE device only by reading PA and PB of 8255, so only one IN per byte is needed. However, writing needs two OUTs per byte. | ||
Line 9: | Line 9: | ||
The IDE8255 for CPC is based on universal YAMOD.IDE8255. For the CPC other port addresses were selected. | The IDE8255 for CPC is based on universal YAMOD.IDE8255. For the CPC other port addresses were selected. | ||
− | The IDE8255 | + | The IDE8255 board is intended to be internal upgrade for [[CPC6128|CPC6128]], placed between keyboard and 3" drive. It also can be used as external one, as has 50pin slot for flat cable. |
− | '''Support''' | + | '''Support''' |
− | The | + | ROM for native CPC-OS |
+ | |||
+ | == I/O Ports == | ||
+ | |||
+ | Each of the I/O ports is (intentionally) mirrored to four addresses: | ||
+ | F8E6h,FAE6h,FCE6h,FEE6h PIO 8255 Port A (8bit data) ;\together | ||
+ | F9E6h,FBE6h,FDE6h,FFE6h PIO 8255 Port B (8bit data) ;/16bit | ||
+ | F8E7h,FAE7h,FCE7h,FEE7h PIO 8255 Port C | ||
+ | F9E7h,FBE7h,FDE7h,FFE7h PIO 8255 RS | ||
+ | The distance between the Port A / Port B address mirrors is 100h bytes. This allows to read 8 bytes (aka four 16bit words) at very fast speed, by using a sequence of INI opcodes (which read from I/O port address BC, and decrement B). | ||
== Images == | == Images == | ||
Line 20: | Line 29: | ||
Image:IDE8255 upper.jpg|Upper side of the PCB | Image:IDE8255 upper.jpg|Upper side of the PCB | ||
Image:IDE8255 lower.jpg|lower side of the PCB | Image:IDE8255 lower.jpg|lower side of the PCB | ||
− | </gallery> | + | </gallery> |
+ | |||
+ | == PPI Datasheet == | ||
+ | |||
+ | * [[Media:PPI M5L8255AP-5.pdf]] PPI Datasheet (Mitsubishi) | ||
== Links == | == Links == | ||
Line 26: | Line 39: | ||
[http://8bit.yarek.pl/interface/yamod.ide8255/ Home of IDE8255 at Yarek] | [http://8bit.yarek.pl/interface/yamod.ide8255/ Home of IDE8255 at Yarek] | ||
− | [[Category: | + | == Software == |
+ | ROM files [[File:IDE8255_Yarek_ROMs.dsk]] | ||
+ | |||
+ | [[Category:DIY]] | ||
+ | [[Category:Peripherals]] | ||
+ | [[Category:DATA Storage]] |
Latest revision as of 14:10, 19 December 2022
Description
IDE8255 (designed by Yarek) is the simplest IDE multiplexer (8bit to 16bit) that everyone can build. And its also the fastest, the data transfer rate is 173 KB/second. It can be up to 186 KB/sec.
It consists of port decoder, a 8255 PPI chip, 74LS139 chip as control gate and some diodes, resistors and capacitors. The most important is, that the 8255 can work in MODE 1 while reading.
MODE 1 automaticly generates read signal for IDE device only by reading PA and PB of 8255, so only one IN per byte is needed. However, writing needs two OUTs per byte.
The IDE8255 for CPC is based on universal YAMOD.IDE8255. For the CPC other port addresses were selected.
The IDE8255 board is intended to be internal upgrade for CPC6128, placed between keyboard and 3" drive. It also can be used as external one, as has 50pin slot for flat cable.
Support
ROM for native CPC-OS
I/O Ports
Each of the I/O ports is (intentionally) mirrored to four addresses:
F8E6h,FAE6h,FCE6h,FEE6h PIO 8255 Port A (8bit data) ;\together F9E6h,FBE6h,FDE6h,FFE6h PIO 8255 Port B (8bit data) ;/16bit F8E7h,FAE7h,FCE7h,FEE7h PIO 8255 Port C F9E7h,FBE7h,FDE7h,FFE7h PIO 8255 RS
The distance between the Port A / Port B address mirrors is 100h bytes. This allows to read 8 bytes (aka four 16bit words) at very fast speed, by using a sequence of INI opcodes (which read from I/O port address BC, and decrement B).
Images
PPI Datasheet
- Media:PPI M5L8255AP-5.pdf PPI Datasheet (Mitsubishi)
Links
Software
ROM files File:IDE8255 Yarek ROMs.dsk