Lo-tech ISA USB Adapter
The Lo-tech ISA USB Adapter is a bootable storage adapter for IBM PC, PC/XT, PC/AT and compatible hardware - essentially any PC with an ISA slot, enabling a standard USB flash drive to be used. This eliminates the dependence on ageing hard disks and floppy disks, and makes data exchange with a modern PC easy. The design is based on the CH375 USB chip and is a development of the Lo-tech ISA CompactFlash Adapter revision 2b.
The BIOS ROM on the card (currently under active development) will enable the host PC to boot from storage presented by the adapter, which appears in DOS as an ordinary fixed disk (i.e., drive C, D, etc). No DOS drivers are needed. Note that the maximum partition size under MS-DOS is 2GB, meaning a total of 8GB can be accessed. A CONFIG.SYS driver will also be available.
The PCB itself is a 4-layer, small form factor 8-bit ISA adapter. Building this PCB requires some surface-mount (SMT) components, the smallest being 0603 capacitors. Mounting holes are provided for a custom ISA slot bracket, which can be 3D printed in plastic at home, or from commercial vendors in various metals.
The design provides:
- Bootable storage adapter for 8-bit PCs
- Small form-factor, to enable use in machines with limited expansion slot space such as the Tandy 1000HX, Sinclair PC200 and Amstrad PC-20
- IBM Personal Computer XT System Board Slot 8 compatibility
- Selectable BIOS address - C800h or D800h
The BIOS is provided through an in-system re-programmable 32KB flash-based ROM, and since the BIOS is only 8KB, 24KB is available for other purposes, and is byte-programmable - the board can therefore function as a universal ROM board.
The board uses the CH375 USB interface and provides optimised transfer speed for PC/XT class machines by using shifted port mapping, so enabling 16-bit instructions. This improves the performance to about 170KB/s at 4.77MHz.
Specifications
General
- 8-bit ISA card with standard USB socket for connection of USB flash drive
- Line driver for external activity LEDs (12mA power budget)
- IBM Personal Computer XT System Board Slot 8 compatibility
- Low-cost flash memory chip for boot ROM, with 32KB usable
- Port-mapped IO; supports both 8- and 16-bit instructions (via partial address decoding)
- Resource requirements:
- IO ports 2C0-2C8h
- ROM: 32KB at C800h or D800h
Design
Use of this design is provided subject to the lo-tech.co.uk Terms and Conditions.
Bill of Materials
Part | Device | Package | Qty | Farnell | Mouser |
---|---|---|---|---|---|
IC1, IC3 | 74HCT688N | DIP-20 | 2 | 382504 | 771-74HCT688N |
IC2 | SST39SF010A-70-4C-PHE | DIP-32 | 1 | 1896595 | 804-39SF010A7CPHE |
IC4 | CH375 | SOIC-28 | 1 | - | - |
IC5 | 74HCT245N | DIP-20 | 1 | 9591931 | 595-SN74HCT245N |
C1-3, C5 | 0.1uF Ceramic Capacitor | C025-030X050 | 4 | 2112751 | 581-SR205E104MAR or 581-SR205C104KAR |
C6 | 10uF Electrolytic Capacitor | E2-5 | 1 | 8767084 | 647-UVR1C100MDD |
C7 | CAPACITOR, 0.1UF, 50V | 0805 | 2 | 1612208 | VJ0805V104MXBPW1BC |
C9 | 0.01uF Ceramic | 0603 | 1 | - | 963-UMK107B7103KAHT |
C10 | 0.1uF Ceramic | 0603 | 2 | - | 963-UMK107BJ104KAHT |
C12-13 | 15-30pF Ceramic | 0603 | 2 | 581-06035C220JAT2A | |
C14, C15 | 100uF Electrolytic Capacitor | E2-5 | 1 | - | 647-UVR1A101MDD |
IC Socket (DIP32) | - | DIL32 | 1 | 1654375 | 571-1-2199300-2 517-4832-6000-CP |
IC Socket (DIP20) | - | DIL20 | 3 | 1101349 | 571-1-2199298-6 649-DILB20P-223TLF |
JP1, JP2, JP3, LED | - | 1x2 Pin Header | 4 | 1593411 | 855-M20-9990246 653-XG8S-0231 |
JP4 | - | 2x2 Pin Header | 1 | - | 517-9612046804AR |
- | - | 2-pin jumper | 4 | 2396301 | 806-SX1100-A |
U1 | SN74LS33D | SOIC-14 | 1 | 1752958 | 595-SN74LS33D |
R1, R2, R4 | RESISTOR, 10K, 125MW | 0805 | 3 | 1612522 | 71-CRCW0805J-10K-E3 |
R3 | RESISTOR, 0.125W 1% 270R | 0805 | 1 | 1652970 | 71-CRCW0805270RJNEA |
R5 | RESISTOR, 0.125W 1% 2R | 0805 | 1 | 1652970 | 71-CRCW08052R00FKEA |
R6 | RESISTOR, 10K, 125MW | 0204/7 | 1 | 9342419 | 270-10K-RC |
X1 | HC49 Crystal, 12MHz ±0.4‰ | - | 1 | - | 774-ATS12A-E |
HD1 | USB Connectors RA USB A | - | 1 | - | 523-UE27AC5410H |
- Board design permits the use of a range of DIP-32 flash chips (1, 2 or 4Mb):
- SST39SF0x0A (SST39SF010A, SST39SF020A, SST39SF040A)
- AMIC A29010
- AMIC chips appear to have been discontinued (as as Nov-13)
- Regardless of the chip used, 32KB is presented at C800h (JP2 closed) or D800h (JP2 open and R4 fitted)
Note that when assembling SMT components, additional flux will also be needed (such as Edsyn FL22, Farnell order code 3059091).
Configuration
- JP1: ROM enable (closed = enabled)
- JP2: ROM Address Selection - closed = C800h, open (and R4 fitted) = D800h
- JP3: Slot-8/ZWS Function (closed = enabled) - requires SMT components
- JP4: Port mode
- Std - 8-bit transfers, registers mapped at 2C0h, 2C1h
- Fast - 16-bit transfers, registers mapped at 2C0h, 2C2h (not supported by alpha BIOS)
An external LED can be attached to the 2-pin LED header only if the optional components (on the rear of the PCB) are populated. Current limit for LED is 12mA.
The IO port address (2C0h - 2C8h) is fixed.
Build & Test
For additional help, please send an email.
Construction
- Find a suitable work surface with plenty of light. A car-cleaning sponge is useful to rest the PCB on since components are held nicely in place under the PCB by the soft surface, which can also be easily turned around as a whole with components not yet soldered
- Start with the SMT components, then proceed with the least tall components, so that they are held full in place with the solder side up
- When soldering IC sockets or ICs, ensure the notches are at the correct end as indicated by the PCB silkscreen
- Note the correct orientation of the polarised capacitors C6, C14 and C15.
- Wash all flux residues off once complete using isopropynol (for example with a toothbrush)
- Check closely with a magnifying glass all joints. Check especially for bridges between SMT pins
BIOS Flashing (Programming)
The following assumes JP2 is closed, providing the ROM at C800h
The flash chip is programmed with the Lo-tech XT-CF flash utility. To program the board, make a DOS boot disk (utilities have been tested on MS-DOS 2.11, 3.3 and 6.22) and add the BIOS binary file and the flash utility. Install the Lo-tech ISA CompactFlash Adapter in the machine and boot from the floppy, then flash the ROM thus:
A:\>flash xt-usb.bin c800
Errata
The silkscreen incorrectly documents the fixed IO port range as 260-26Fh; the CH375 is at 2C0h.
Downloads
- Alpha BIOS binary (note - updated BIOS and drivers are due shortly)
- CH375 datasheet