Lo-tech XT-CF Board
The lo-tech XT-CF Board is a bootable 8-bit ISA card with a CompactFlash header mounted so that the CF card is accessible through a custom ISA expansion slot bracket. This card has been designed for use in IBM PC/XT, PC/AT and all compatible systems.
Note: the current iteration of this card is the XT-CFv3.
Key Features:
- Replace dead MFM or RLL hard disks (and their controllers) with a cheap CompactFlash or microdrive media
- Easy to access CompactFlash card without opening the PC
- Reduce system power consumption (and hence load on the PSU) by as much as 30W
- Uses the XT-IDE Universal BIOS (adapter type 'lo-tech XT-CF')
- Increase system performance - offers 5x the throughput of an ST-412
- 32K in-system re-programmable ROM (24K free for any other ROM code)
The board is derived from the Dangerous Prototypes V2 board, and uses the same Xilinx XC9572XL CPLD.
Specifications
General
- 8-bit ISA card with header for type-I or type-II CompactFlash media
- CompactFlash header configured to operate media in true-IDE mode
- 500mA 3.3V regulator can drive microdrive or CompactFlash cards without any external power connection (330mA power budget for microdrives)
- Line driver for on-card and external activity LEDs (30mA power budget for external LED)
- Low-cost SMT Flash memory chip with 32K usable
- JTAG header for CPLD programming
Modes of Operation
- 8-bit Port-mapped IO
- 16-but Port-mapped IO (supported on most systems; provides a performance advantage with 8088 and 8086 CPUs)
Operating mode is configured in the BIOS and can be switched on-the-fly between modes using the lo-tech XT-CF Configuration Utility. The board is functionality identical to the XT-CF-lite, and with one jumper-wire fitted can also implement ISA B8 line functionality of the XT-CFv2, allowing use in IBM Personal Computer XT System Board Slot 8.
PCB
Boardhouse Requirements
- 8 mils clearances and minimum track width
- 0.4mm minimum hole size
- Can be manufactured on a 100x100mm board
- Gold fingers are preferable but not required
Assembly Notes
- Thoroughly wash the PCB before assembly with Isopropynol
- Place the CF socket, CPLD and flash chip first
- Next place the VRM, LED driver and resistor networks
- Then place LEDs, resistors and SMT capacitors
- Next thoroughly wash the board using a toothbrush to ensure flux is removed from between SMT pins
- Next add the through-hole components (DIP switch, headers and 47uF capacitor), then wash again
- Before use inspect all connections with a magnifying glass to ensure there are no shorts between pins. Inspect the CF header leads as solder can sometimes flow up the leads during assembly causing a short away from the PCB itself.
Bill Of Materials
Farnell Parts List:
Part(s) | Description | Package | Value | Qty Required | Farnell Code |
---|---|---|---|---|---|
IC1 | XC9572 72-cell 3.3v CPLD | TQFP100 | - | 1 | 1193233 |
IC2 | SST39SF0x0A Flash | TSOP32 (8x14mm) | 1, 2 or 4Mb | 1 | 1829977 |
IC3 | SCHMITT TRIG, INV GATE 74LVC1G14 | SOT-25 | - | 1 | 1893833 |
VR1 | SPX3819M5-L-3-3 - LDO, 500MA, 3.3V, LOW NOISE | SOT-23-5 | - | 1 | 1831949 |
C1 | Low-ESR Electrolytic Capacitor | Radial, 5mm pitch, 10mm max diameter | 47uF to 100uF, 10V+ | 1 | 1692338 (future: SMD 1850100) |
C2, C14 | Ceramic Capacitor (X5R or X7R) | 0805 | 10uF, 10V+ | 2 | 1833812 |
C12..13 | Ceramic Capacitor (X5R or X7R) | 0603 | 1uF, 10V+ | 2 | 1828801 |
C3..11 | Ceramic Capacitor (X5R or X7R) | 0603 | 0.1uF, 10V+ | 9 | 1414610 |
R1..2 | Resistor | 0603 | RESISTOR, 10K, 0.1W | 2 | 1469748 |
R3, R5 | Resistor | 0603 | RESISTOR, 1K, 0.1W | 2 | 2008355 or 1652848 |
R4 | Resistor | 0603 | RESISTOR, 270R, 0.1W | 1 | 2059585 |
R6 | Resistor | 0603 | RESISTOR, 5K6, 0.1W | 1 | 1739171 |
RN1, RN2 | Resistor Network | 1206 | RESISTOR NETWORK, 10K, ± 2% | 2 | 1770137 |
LED1 | Low-current LED | 0805 | LED, SMD | 1 | 1685055 |
DIP_SW | 9-way DIP switch | DIL | SWITCH, DIL, 9WAY | 1 | 1255227 |
CF1 | 3M N7E50-Q516 Compact Flash Header | - | 3M N7E50-Q516xx-x0 | 1 | 1267444 |
EXT.LED | 2-pin Header | - | HEADER, 1ROW, 2WAY | 1 | 3418285 |
JP1 | 3-pin Header | - | HEADER, 1ROW, 3WAY | 1 | 3418297 |
JTAG | 6-pin Header | - | HEADER, 2ROW, 6WAY | 1 | 3418492 |
- | Jumper for CF Card Voltage Selection | - | - | 1 | 1740370 |
Notes:
- EXT.LED and R4 can be omited if external activity LED is not required
- LED and R5 can be omited if on-board activity LED is not required
- IC3, R4, R5, LED and EXT.LED can be omited if no activity LEDs are required
ISA Bracket
- ISA Bracket Design per sketch
- To minimise production cost, design has no threaded holes (simple nut-and-bolt required)
CPLD Logic
Downloads
Programming the CPLD
See lo-tech XT-CF CPLD Programming Guide.
ROM & BIOS
ROM
- Board design permits the use of SST39SF0x0A flash chips (TSOP32, 8x14mm) of 1Mb, 2Mb or 4Mb capacity
- Regardless of the chip used, the first 32KB only will be mapped into the PC address space
- Base address configuration per DIP Switch Settings
BIOS
- XT-CF Family BIOS (configured for 300h)
- The BIOS should be configured using the (BIOS supplied) xtidecfg.com utility, then written out to the XT-CF adapter using the Lo-tech XT-CF flash utility
- For BIOS sources, see the XTIDE Universal BIOS Site
Compatibility and Interoperability
Use with Other Cards
- The IO port address set via the DIP switches must match that set in the XTIDE Universal BIOS configuration utility
- The BIOS address can be changed via the DIP switches without changing the BIOS itself
Compatibility
- All CompactFlash media can be used. Media supporting multi-sector transfers will provide a performance advantage.
- The adapter can be used in any system supporting 8-bit ISA
- 8-bit Port-mapped IO transfer mode is slowest but most compatible
- 16-bit Port-mapped IO (BIU offload mode) is not supported on some early PC/XT clones, due to system logic errors
- ROM shadowing will offer significant performance gains on newer hardware, since the flash ROM is 8-bit so BIOS instructions can be fetched much more efficiently from system RAM
DIP Switch Settings
Switch | Function | On | Off |
---|---|---|---|
1 | ROM Enable | Enabled | Disabled |
2 | ROM Base Address | C800h | D000h |
3 | IO Port Address | 300h | 320h |
4** | ISA B8 Enable | Enabled | Disabled |
5** | ISA B8 Function Type (if enabled) | PC-AT (Zero-wait-state) | PC-XT Slot 8 |
6* | Not used | - | - |
7* | ISA B8 Output** | - | - |
8* | Not used | - | - |
9 | ROM Write Enable | Enabled | Disabled (ROM cannot be written) |
*Switches 6-8 must be OFF. Switch 9 can be left ON, since the flash chip includes Software Data Protection that prevents accidental corruption or overwriting.
**To use the ISA B8 function, wire a jumper from Sw7 resistor-side to ISA B8 pad (see photo).
Default settings: ROM enabled, IO port 300h, ROM base C800h:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|
ON | ON | ON | OFF | OFF | OFF | OFF | OFF | ON |
Note that the IO base address is set within the XTIDE Universal BIOS ROM image via the Universal BIOS Configuration and Flashing utility. The IO address set within that utility must much that configured on the card. Should the IO port address be changed for any reason, the BIOS must be updated and re-flashed to the XT-CF card (using the lo-tech XT-CF flash utility).
The BIOS address is determined at boot time by the XTIDE Universal BIOS. Since the code has been designed to be relocatable, the BIOS base address can be changed without the need to reconfigure the Universal BIOS.
Known Issues
- Activity LED is lit when a CF card isn't inserted. Could be resolved by adding a 50k PU to /PDIAG.
- 47uF through-hole capacitor holes are placed too wide (spaced for ~100V capacitors).
- Switch numbers are reversed in the schematic
- ISA B8 isn't connected, hence card cannot be used in slot 8 of IBM PC/XT (see note above)