• Please review our updated Terms and Rules here

XTIDE project

Erik

Site Administrator
Staff member
Joined
Apr 27, 2003
Messages
3,588
Location
San Jose, CA
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.
Test results can be found here: Test results
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.
[h="2"] Current status [/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: ===
  • 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)
[h="3"] Revision 2 [/h]
(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="2"]Supported hardware[/h]
[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.
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)
* 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]
 
hi Erik, thanks for your time. can you tell me if the order of 16-bit writes on 8088 is higher, then lower? reverse order than reads? just puzzeled on writes on your diagram.
 
Back
Top