XT IDE disk controller
(Added DIP switch settings)
|Line 16:||Line 16:|
Revision as of 08:35, 13 February 2012
- "The XT-IDE project is a Vintage Computer forum driven project to develop and manufacturer an 8-bit ISA IDE controller. It allows any PC/XT class machine to use modern IDE hard drives or Compact Flash devices for long term storage." (From the XTIDE project wiki)
Our version of the XTIDE controller replaces the 7400-series logic chips with a CPLD, a chip that can be programmed to replace dozens of individual logic chips. The logic is designed in software by drawing a schematic, and then uploaded to the CPLD. New logic circuits can be designed and tested without making new hardware each time.
This project is currently stalled. We had planned to test this in the lab, but we vastly underestimated the difficulty of finding a vintage XT PC.
The PCB and CPLD implementation are complete and available in SVN. We've sent out a few boards, but to our knowledge nobody has tested it yet. It's waiting for the right vintage computer enthusiast to give it life.
UPDATE: V1a has been built and tested, it works! Thanks Pietja!
- XTIDE project. Original design, bios, drivers, etc
- Our project files. XTIDE with CPLD, CPLD logic implementation
V1 and v2 have been tested and work!
Version 1a has been tested. It works with a few minor modifications.
- V1a is the only version cut correctly. It uses 3.3volt CPLD
- V1a build thread
Version 1a bugs:
- In both PCB's (v1 and v1a) the "8bit<->16bit IDE mux" is not connected to the CPLD. 5 jumper wires are needed.
Programming and testing
Here are the links to the SVN to program the CPLD with an Bus Pirate:
The "Chuck mod" performance enhancement can be done just by programming new logic into the CPLD with the flowing files:
DIP switch settings
DIP SW 1:4
DIP SW 5:8
|1111 = 200h||1111 = C0000 - C1FFF|
|1110 = 220h||1110 = C4000 - C5FFF|
|1101 = 240h||1101 = C8000 - C9FFF|
|1100 = 260h||1100 = CC000 - CDFFF|
|1011 = 280h||1011 = D0000 - D1FFF*|
|1010 = 2A0h||1010 = D4000 - D5FFF|
|1001 = 2C0h||1001 = D8000 - D9FFF|
|1000 = 2E0h||1000 = DC000 - DDFFF|
|0111 = 300h*||0111 = E0000 - E1FFF|
|0110 = 320h||0110 = E4000 - E5FFF|
|0101 = 340h||0101 = E8000 - E9FFF|
|0100 = 360h||0100 = EC000 - EDFFF|
|0011 = 380h||0011 = F0000 - F1FFF|
|0010 = 3A0h||0010 = F4000 - F5FFF|
|0001 = 3C0h||0001 = F8000 - F9FFF|
|0000 = 3E0h||0000 = FC000 - FDFFF|
0 = OFF 1 = ON *Default Setting
- V1a (PCB cut correctly, uses 3.3volt CPLD
- V1 (PCB not cut for XT slot, uses 3.3volt CPLD)
- VX Not shown, but files are in SVN (PCB not cut, uses 5.0volt CPLD)
Click for a full size placement image.
- See our partlist for sources.
- (*) The CPLD logic will fit in a XC9536XL or a XC9572XL. The 36 has fewer resources and cheaper.
- XTIDE drive logic implemented in the CPLD
- Software is free ISE Webpack