The XT-IDE project is a Vintage Computer forum driven project to develop and manufacture 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.
The project is entirely open source, from the design, schematic, layout, bill of materials, BIOS, drivers and any utilities created.
This project was inspired by Scott A. Christensen's XTIDE linux project (archive.org link). Many thanks to Scott for his original design.
This page will provide links to all the resources utilized in the project.
Assembly instructions can be found here: XTIDE Rev1 build instructins
[h="2"] Downloads [/h]
===BIOS===
Latest version of Aitotat's BIOS (with utilities and source code):
XTIDE Universal BIOS
XT-IDE Universal BIOS discussion
Latest version of Hargle's BIOS: Version 0.11. Last updated on the 12th of October 2009 (no longer in development).
Utilities for Hargle's BIOS (SetCard, Flasher, Setup and FindCard): XtIdeUtl.zip. Last updated on the 22th of October 2009.
[h="3"]PCB/Schematic[/h]
The XT IDE schematic and PCB layout for KiCAD may be found on the N8VEM wiki in the XT-IDE and KiCAD folders.
Ian, over at Dangerous Prototypes has taken the XTIDE controller to the next level by using CPLD's instead of 74xx ICs.
[h="3"]Debugging utilities[/h]
---January 2011---
Rev1 XTIDE's are no longer being produced, however many new variants have sprung up - take a look here:
http://www.vintage-computer.com/vcforum/showthread.php?36816
[h="3"] Current To Do List [/h]
Please use the [wiki="XTIDE_project_debug_log"]debug log[/wiki] to track todo items.
[h="2"] PCB Design Revisions [/h]
=== Prototype: ===
=== Revision 1: ===
These items have been implemented in the new design
(no timeline for completion)
This revision is still in the briefing stages and this is merely a place to list suggested changes.
[h="3"] Supported Systems [/h]
The card works in just about any PC and compatible system that has an open 8 or 16 bit ISA slot. The card has been tested and is known to work on IBM PC/XT, XT clones and Tandy 1000 series of computers including the HX. There are no known compatibility issues on any reasonably IBM compatible architecture.
[h="3"] PATA Hard Drive Support [/h]
Most PATA hard drives work just fine with the card, but there is an occasional odd drive that just doesn't work for some reason. Essentially, if you can't find a drive that works, you aren't trying very hard.
Best results are from 8-10G drives from the 2001 era.
See this chart for known working drives (incomplete!) [wiki]XTIDE_TestResults[/wiki] It would be really, really nice if you tested a few and added your results here. Compact Flash devices attached with a CF-IDE converter also work, although there seem to be incompatibilities with CF overall.
[h="3"] ATAPI Support [/h]
ATAPI/CD-ROM support is in progress. No ETA.
[h="2"] Hardware Settings [/h]
[h="3"] SW1 Settings [/h]
align="center" border="1" cellpadding="10" cellspacing="0" Width="75%"
|
-
| 1234 || I/O address || 5678 || BIOS memory address
|
-
| 1111 || 200h - 20Fh || 1111 || C0000 - C1FFF
|
-
| 1110 || 220h - 22Fh || 1110 || C4000 - C5FFF
|
-
| 1101 || 240h - 24Fh || 1101 || C8000 - C9FFF
|
-
| 1100 || 260h - 26Fh || 1100 || CC000 - CDFFF
|
-
| 1011 || 280h - 28Fh || 1011 || D0000 - D1FFF <b>(Default)</b>
|
-
| 1010 || 2A0h - 2AFh || 1010 || D4000 - D5FFF
|
-
| 1001 || 2C0h - 2CFh || 1001 || D8000 - D9FFF
|
-
| 1000 || 2E0h - 2EFh || 1000 || DC000 - DDFFF
|
-
| 0111 || 300h - 30Fh <b>(Default)</b>, warning: also common default for ethernet cards || 0111 || E0000 - E1FFF
|
-
| 0110 || 320h - 32Fh || 0110 || E4000 - E5FFF
|
-
| 0101 || 340h - 34Fh || 0101 || E8000 - E9FFF
|
-
| 0100 || 360h - 36Fh || 0100 || EC000 - EDFFF
|
-
| 0011 || 380h - 38Fh || 0011 || F0000 - F1FFF
|
-
| 0010 || 3A0h - 3AFh || 0010 || F4000 - F5FFF
|
-
| 0001 || 3C0h - 3CFh || 0001 || F8000 - F9FFF
|
-
| 0000 || 3E0h - 3EFh || 0000 || FC000 - FDFFF
|
-
| colspan=4 align="center" | 0 Represents an Off position and 1 represents an On position.
|
-
| colspan=4 align="center" | Warning: after changing I/O address range it's necessary to re-flash the BIOS
|
-
[h="3"] JP Settings [/h]
align="center" border="1" cellpadding="10" cellspacing="0" Width="75%"
|
-
| JP1 || On || <b>(Default)</b> Enables the onboard ROM || Off || Disables the onboard ROM
|
-
| JP2 || On || <b>(Default)</b> Enables the writing to the ROM || Off || Disables writing to the ROM, not necessary with EEPROMs supporting Software Data Protection, eg. AT28C64B
|
-
[h="3"] K1 Settings [/h]
align="center" border="1" cellpadding="10" cellspacing="0" Width="75%"
|
-
| L || <b>(Default)</b> Sets CSEL to Ground || H || Sets CSEL to VCC
|
-
[h="3"] IRQ Select Settings [/h]
Not fully implemented in software yet, however a jumper is present for this setting on the board.
[h="2"] Bill of Materials [/h]
Current list of parts required for creating your own XT-IDE controller card.
Parts sourced from Jameco Electronics. Others, such as Mouser also supply suitable parts.
* For local availability of the Keystone brackets, enter "9202" on the form on Keystone\'s webs site.
In the UK, parts can be sourced from Farnell (http://uk.farnell.com) or CPC. Note that Farnell's DIL sockets are expensive (doubling the component cost), but the chips can be soldered directly to the board (or sockets can be sourced cheaply from eBay). The below parts list will cost around £15.
Qty Req'd Min Order Farnell # Item
10 5 1469310 CAPACITOR, 100NF, 50V; Dielectric Charac
1 5 1144626 CAPACITOR, 47UF, 35V; Capacitor Dielectr
3 1 1013901 74F FAST TTL, 74F573, DIP20, 5.5V; Logic
1 1 1013896 74F FAST TTL, 74F245, DIP20, 5.5V; No. o
1 1 1740030 LOGIC, QUAD 2-INPUT OR GATE, 14DIP; No.
1 1 1739824 LOGIC, 3-8 LINE DECODER/DEMUX, 16DIP; No
1 1 1106072 74LS, 74LS04, DIP14, 5.25V; Logic IC Cas
2 1 382504 74HCT CMOS, 74HCT688, DIP20, 5V; Compara
1 1 1390720 EEPROM PARALLEL 64K, DIP28; Memory Confi
3 10 1740370 JUMPER, WHITE, GOLD, 2WAY; Connector Typ
1 50 9339175 RESISTOR, 0.25W 5% 150R; Resistance:150o
6 50 9339060 RESISTOR, 0.25W 5% 10K; Resistance:10koh
2 1 1612533 RESISTOR NETWORK, 10KR; Resistance:10koh
1 5 1581182 LED, 5MM, 16°, SUPER-GREEN; LED Type:Sta
1 1 9479180 ROCKER SWITCH, DIL, 8WAY; Switch Type: DI
1 1 3418546 HEADER, 2ROW, 16WAY; Connector Type:Wire
1 1 8395977 HEADER, BOX, STRAIGHT, 40WAY; Connector
1 1 3417657 HEADER, 1ROW, 3WAY; Connector Type:Wire-
[h="2"] INT 13 Reference [/h]
See a separate page: [wiki]INT 13 Reference[/wiki]
[wiki]Category:ISA cards[/wiki]
The project is entirely open source, from the design, schematic, layout, bill of materials, BIOS, drivers and any utilities created.
This project was inspired by Scott A. Christensen's XTIDE linux project (archive.org link). Many thanks to Scott for his original design.
This page will provide links to all the resources utilized in the project.
- Technical support thread
- Main project thread (huge!)
- [wiki="XTIDE development thread index "] Index of project thread[/wiki]
- For the Rev 2 cards (the one with the onboard UART) click here
Assembly instructions can be found here: XTIDE Rev1 build instructins
[h="2"] Downloads [/h]
===BIOS===
Latest version of Aitotat's BIOS (with utilities and source code):
XTIDE Universal BIOS
XT-IDE Universal BIOS discussion
Latest version of Hargle's BIOS: Version 0.11. Last updated on the 12th of October 2009 (no longer in development).
Utilities for Hargle's BIOS (SetCard, Flasher, Setup and FindCard): XtIdeUtl.zip. Last updated on the 22th of October 2009.
[h="3"]PCB/Schematic[/h]
The XT IDE schematic and PCB layout for KiCAD may be found on the N8VEM wiki in the XT-IDE and KiCAD folders.
Ian, over at Dangerous Prototypes has taken the XTIDE controller to the next level by using CPLD's instead of 74xx ICs.
[h="3"]Debugging utilities[/h]
- HellTest data verification program xt_hell.zip
- INT 13 Monitor debugger.zip A monitor program for manually calling most Int 13h functions with the registers/buffer set to whatever you'd like.
- IDentify Device utility id_dump.zip Displays ID data to the screen. Works only on first revision XTIDE cards (cards without the Chuck mod) or revision 2 cards in compatibility mode.
- INT 13 Display test int13test.zip Dumps INT 13 Fn 8 and 48 data to the screen.
---January 2011---
Rev1 XTIDE's are no longer being produced, however many new variants have sprung up - take a look here:
http://www.vintage-computer.com/vcforum/showthread.php?36816
[h="3"] Current To Do List [/h]
Please use the [wiki="XTIDE_project_debug_log"]debug log[/wiki] to track todo items.
[h="2"] PCB Design Revisions [/h]
=== Prototype: ===
- Original design
- Added a Rom Enabled jumper
=== Revision 1: ===
These items have been implemented in the new design
- Added a header for an external hard-drive LED
- Added a write protect jumper
- Added an Int Select jumper allowing for it to be set to 2, 3, 4, 5 or 7
- Added a CSEL 3 position jumper.
- Shifted all the components over to make a 1/2" dead area on the left hand side of the card, and added a small skirt. This will allow for attachment of a wide variety of mounting brackets.
- Removed some unused gold teeth on the ISA connector.
- Added Silk screening on the back of the card to outline the dip settings and usage.
- Scale down the IO and ROM Memory range settings to 4 places instead of 8 (16 possibilities each)
(no timeline for completion)
This revision is still in the briefing stages and this is merely a place to list suggested changes.
- Adding DMA support, or
- Switching to memory mapped IO, which would allow for 16bit data transfers on the system bus.
- Replace the DIP switches with jumpers
- Add power header onto the card for the PS/2 Mod. 25 & 30 folk
[h="3"] Supported Systems [/h]
The card works in just about any PC and compatible system that has an open 8 or 16 bit ISA slot. The card has been tested and is known to work on IBM PC/XT, XT clones and Tandy 1000 series of computers including the HX. There are no known compatibility issues on any reasonably IBM compatible architecture.
[h="3"] PATA Hard Drive Support [/h]
Most PATA hard drives work just fine with the card, but there is an occasional odd drive that just doesn't work for some reason. Essentially, if you can't find a drive that works, you aren't trying very hard.
Best results are from 8-10G drives from the 2001 era.
See this chart for known working drives (incomplete!) [wiki]XTIDE_TestResults[/wiki] It would be really, really nice if you tested a few and added your results here. Compact Flash devices attached with a CF-IDE converter also work, although there seem to be incompatibilities with CF overall.
[h="3"] ATAPI Support [/h]
ATAPI/CD-ROM support is in progress. No ETA.
[h="2"] Hardware Settings [/h]
[h="3"] SW1 Settings [/h]
|
-
| 1234 || I/O address || 5678 || BIOS memory address
|
-
| 1111 || 200h - 20Fh || 1111 || C0000 - C1FFF
|
-
| 1110 || 220h - 22Fh || 1110 || C4000 - C5FFF
|
-
| 1101 || 240h - 24Fh || 1101 || C8000 - C9FFF
|
-
| 1100 || 260h - 26Fh || 1100 || CC000 - CDFFF
|
-
| 1011 || 280h - 28Fh || 1011 || D0000 - D1FFF <b>(Default)</b>
|
-
| 1010 || 2A0h - 2AFh || 1010 || D4000 - D5FFF
|
-
| 1001 || 2C0h - 2CFh || 1001 || D8000 - D9FFF
|
-
| 1000 || 2E0h - 2EFh || 1000 || DC000 - DDFFF
|
-
| 0111 || 300h - 30Fh <b>(Default)</b>, warning: also common default for ethernet cards || 0111 || E0000 - E1FFF
|
-
| 0110 || 320h - 32Fh || 0110 || E4000 - E5FFF
|
-
| 0101 || 340h - 34Fh || 0101 || E8000 - E9FFF
|
-
| 0100 || 360h - 36Fh || 0100 || EC000 - EDFFF
|
-
| 0011 || 380h - 38Fh || 0011 || F0000 - F1FFF
|
-
| 0010 || 3A0h - 3AFh || 0010 || F4000 - F5FFF
|
-
| 0001 || 3C0h - 3CFh || 0001 || F8000 - F9FFF
|
-
| 0000 || 3E0h - 3EFh || 0000 || FC000 - FDFFF
|
-
| colspan=4 align="center" | 0 Represents an Off position and 1 represents an On position.
|
-
| colspan=4 align="center" | Warning: after changing I/O address range it's necessary to re-flash the BIOS
|
-
|
-
| JP1 || On || <b>(Default)</b> Enables the onboard ROM || Off || Disables the onboard ROM
|
-
| JP2 || On || <b>(Default)</b> Enables the writing to the ROM || Off || Disables writing to the ROM, not necessary with EEPROMs supporting Software Data Protection, eg. AT28C64B
|
-
|
-
| L || <b>(Default)</b> Sets CSEL to Ground || H || Sets CSEL to VCC
|
-
Not fully implemented in software yet, however a jumper is present for this setting on the board.
[h="2"] Bill of Materials [/h]
Current list of parts required for creating your own XT-IDE controller card.
Parts sourced from Jameco Electronics. Others, such as Mouser also supply suitable parts.
Code:
Qty Jameco # Item
1 XT-IDE PCB (get this from Andrew Lynch)
10 25523 CAP,MONO,.1uF,50V,20%
1 1945428 CAP,RADIAL,47uF,35V
2 45129 IC,74HCT688
1 46316 IC,74LS04
1 46607 IC,74LS138
1 47466 IC,74LS32
1 287144 IC,74F245,DIP-20
3 287195 IC,74F573,DIP-20 (part code discontinued, use 282642)
1 74827 Atmel EEPROM IC, 28C64 (get it from mouser, or CALL Jameco to verify they will supply Atmel, not SEEQ or Samsung EEPROMs!)
2 112214 SOCKET,IC,14PIN,DUAL WIPE
6 112248 SOCKET,IC,DUAL WIPE,20PIN
1 112272 SOCKET,IC,DUAL WIPE,28PIN
1 526205 SOCKET,IC,16 PIN,390261-4
3 112432 SOCKET,SHORTNG BLKS,RED,CLSE (jumpers)
1 690662 RES,CF,150 OHM,1/4 WATT,5%
6 691104 RES,CF,10K OHM,1/4 WATT,5%
2 857080 MOLDED SIP,9PIN,BUSSED,10K,2%
1 333949 LED,GREEN,572NM,T-1 3/4
1 1939562 SWITCH,DIP,SPST,8-POS,16-PIN
1 53604 HEADER,RT MALE,2RW,40 CONT
1 109568 HEADER,.1 ST MALE,2RW,16PIN (break off 1 row for use on external LED)
1 109576 HEADER,.1 ST MALE,1RW,3PIN
2 2094389 SCREW,PAN HEAD,PPN4-40X1/4 (only available in bags of 100-steal some from another ISA card or go to home depot and get some #4-40 1/4in screws)
1 Keystone 9202 ISA bracket with 2 PCB mounting tabs* (mouser has them in stock currently)
In the UK, parts can be sourced from Farnell (http://uk.farnell.com) or CPC. Note that Farnell's DIL sockets are expensive (doubling the component cost), but the chips can be soldered directly to the board (or sockets can be sourced cheaply from eBay). The below parts list will cost around £15.
Qty Req'd Min Order Farnell # Item
10 5 1469310 CAPACITOR, 100NF, 50V; Dielectric Charac
1 5 1144626 CAPACITOR, 47UF, 35V; Capacitor Dielectr
3 1 1013901 74F FAST TTL, 74F573, DIP20, 5.5V; Logic
1 1 1013896 74F FAST TTL, 74F245, DIP20, 5.5V; No. o
1 1 1740030 LOGIC, QUAD 2-INPUT OR GATE, 14DIP; No.
1 1 1739824 LOGIC, 3-8 LINE DECODER/DEMUX, 16DIP; No
1 1 1106072 74LS, 74LS04, DIP14, 5.25V; Logic IC Cas
2 1 382504 74HCT CMOS, 74HCT688, DIP20, 5V; Compara
1 1 1390720 EEPROM PARALLEL 64K, DIP28; Memory Confi
3 10 1740370 JUMPER, WHITE, GOLD, 2WAY; Connector Typ
1 50 9339175 RESISTOR, 0.25W 5% 150R; Resistance:150o
6 50 9339060 RESISTOR, 0.25W 5% 10K; Resistance:10koh
2 1 1612533 RESISTOR NETWORK, 10KR; Resistance:10koh
1 5 1581182 LED, 5MM, 16°, SUPER-GREEN; LED Type:Sta
1 1 9479180 ROCKER SWITCH, DIL, 8WAY; Switch Type: DI
1 1 3418546 HEADER, 2ROW, 16WAY; Connector Type:Wire
1 1 8395977 HEADER, BOX, STRAIGHT, 40WAY; Connector
1 1 3417657 HEADER, 1ROW, 3WAY; Connector Type:Wire-
[h="2"] INT 13 Reference [/h]
See a separate page: [wiki]INT 13 Reference[/wiki]
[wiki]Category:ISA cards[/wiki]