Difference between revisions of "IDE8255"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Description)
(Links)
Line 38: Line 38:
  
 
[http://8bit.yarek.pl/interface/yamod.ide8255/ Home of IDE8255 at Yarek]
 
[http://8bit.yarek.pl/interface/yamod.ide8255/ Home of IDE8255 at Yarek]
 +
 +
== Software ==
 +
ROM files
  
 
[[Category:DIY]]  
 
[[Category:DIY]]  
 
[[Category:Peripherals]]
 
[[Category:Peripherals]]
 
[[Category:DATA Storage]]
 
[[Category:DATA Storage]]

Revision as of 15:05, 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 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

Links

Home of IDE8255 at Yarek

Software

ROM files