Lo-tech ISA CompactFlash Adapter FAQ
What Does It Do?
The Lo-tech ISA CompactFlash Adapter is a bootable storage adapter for IBM PC, PC/XT, PC/AT and compatible hardware - the board acts as a fixed disk controller, able to replace an aging MFM hard drive and controller. Thanks to the XTIDE Universal BIOS, the device can provide the maximum 8GB storage that is accessible by MS-DOS from a single solid-state storage media card (either CompactFlash or SD-Card).
It's called 'ISA CompactFlash Adapter - Where's the CompactFlash Card Slot?
The Lo-tech ISA CompactFlash Adapter has been designed as a home-assembly electronics kit for the hobbyist and so uses only through-hole components for the basic functionality. The 40-pin IDE header enables the connection of low-cost and readily-available IDE to CompactFlash adapters, so avoiding the use of a fiddly surface-mount header and saving PCB space.
Can SD Cards be used?
Yes, when used with an adapter based on the 'FC1306T (GP)' chip. See blog entry for more information.
Are the Surface Mount Components Needed?
The design requires only through-hole components to work. Surface mount components on the solder side provide additional functionality:
- IBM Personal Computer XT System Board Slot 8 compatibility
- Device activity LED drive
- Selectable ROM address (rev.2b PCB)
Without these components, these functions cannot be used. The device activity signal provided by CompactFlash cards is typically too weak to power an LED directly, hence an otherwise unused gate in the optional SMT 'LS33 is used as an amplifier.
Some machines are known to be incompatible with the card select signal, including the Tandy 1000 series and the IBM PS/2 Model 30-286. In such machines:
- for rev.2 board, SMT components should not be populated
- for rev.2b board, components can be populated but JP3 should be left open
Assembly
Start with the smallest components first; a suggested soldering order is:
- SMT components, if being fitted (note IC orientation; the bevelled edge is indicated on the silk-screen)
- Capacitors C1-C5
- C8 (note orientation; C8 positive leg is closest to C3)
- Resistor network (pin 1, marked with a dot, goes nearest IC1)
- IC sockets (note orientation; the notch is printed on the silkscreen)
- 2-pin headers
- 40-pin header
- Capacitor C6
The board should be cleaned before capacitor C6 is fitted.
BIOS, Flashing and Reflashing
Is an EEPROM Programmer Needed?
No, the board ROM can be flashed in the host system from DOS using the Lo-tech XT-CF flash utility.
What BIOS does the Card Use?
The card uses the XTIDE Universal BIOS, from R566.
- Pre-configured XTIDE Universal BIOS R566 Binary File for Lo-tech ISA CompactFlash Adapter
- This is the 'standard' 8KB BIOS image, and should be used in most installations.
- There is 24KB free, meaning additional option ROMs (for other devices) can also be hosted in the ISA CompactFlash Adapter
- To add other ROM images, append the required binaries using MS-DOS "COPY /B" command, then write the entire file using the Lo-tech XT-CF flash utility
- Pre-configured BIOS based on R566 (FFh padded with BIOS at CC00h) Binary File for Lo-tech ISA CompactFlash Adapter
- This is a 24KB ROM image, with the first 16KB padded with bytes of FFh.
- This image enables the use of the adapter in machines that are hard-wired to have 8- or 16KB at C800h provided by a ROM on the system board, and as such cannot have this ROM address provided by a device in an expansion slot.
- Machines needing this version include the Tandy 1000 RL/HD
If building from source, run XTIDECFG.COM to configure the IDE_XT.BIN file, select controller XT-CF and 300h, then save the file. Then exit to DOS and use FLASH to write it to the card (see below).
How is the BIOS Programmed?
The BIOS cannot be programmed with the XT-IDE Universal BIOS XTIDECFG utility; instead the Lo-tech XT-CF flash utility should be used once the BIOS image file has been configured and saved (to disk) using XTIDECFG.
Can the Board be Re-Programmed, i.e. BIOS Upgraded?
Yes, the specified flash ROM chips can be re-programmed around 1,000 times.
First BIOS Flash Attempt Fails
- Check the jumper on JP1 is fitted.
- Check the soldering and orientation of IC2 and IC3
BIOS Re-flashing Fails
In some systems, the first flash is performed successfully but further flashing fails. This is typically caused by BIOS ROM shadowing, which later machines used to run ROM code from fast RAM instead of slower ROM chips. This can be resolved by either disabling ROM shadowing in the BIOS, if the option is provided, or by JP1:
- Remove JP1, then power on the machine
- Once completely booted, install JP1 (with the machine running). The jumper connects the ROM-CS signal generated by one of the '688's; the signal is isolated from the host system and therefore this cannot damage the host.
- Next run the flash utility, and the flash should be successfully programmed.
Initialisation Problems
For example:
- Machine hangs during POST or won't POST with ISA CompactFlash Adapter Installed
- BIOS cannot be flashed onto card, or flashing causes system lockup or hang
- BIOS flashing was successful, but the XTIDE Universal BIOS never appears in the POST
For these issues:
- Check the soldering, especially for shorts around U1
- Some machines, such as the IBM PS/2 Model 30-286, are not compatible with the CARDSEL/ZWS signal generated by U1
- Remove U1 (for example using a hot-air rework tool).
- If the XTIDE Universal BIOS never appears during the POST:
- Rev.2b: if R4 is not fitted, ensure JP2 is closed (setting the ROM to C800h)
- Rev.2b: try alternate ROM address D800h
- try alternate BIOS images:
- ensure that the system ROM is scanning for option ROMs (original IBM PC 5150 and original Tandy 1000 ROM do not scan for option ROMs, for example)
- ensure selected ROM address is available
- If another option ROM at the selected ROM address (C800h, D800h) cannot be disabled, dump that BIOS to a file (usually 4, 8 or 16KB), then append the standard BIOS image (COPY /B), then flash the new, larger file to the adapter (another machine might be needed to perform the flash operation). This will result in the on-board BIOS and flash chip on the adapter responding with the same data, and the XTIDE Universal BIOS being detected at a higher memory address (like CA00h or CC00h).
CompactFlash Cards are Not Detected
- Check the soldering and orientation of IC1, IC4, IC5 and RN1
- Check the CompactFlash card has adequate power supply. Is using an adapter connected to the board via a ribbon cable, a separate 5V supply must be provided (usually via a 3.5" floppy disk style power connector)
- Check the CompactFlash card adapter is set to 5V operation
- If using a dual CompactFlash adapter, try a single CompactFlash card configured as Master
CompactFlash Cards configured as Slave are Not Detected
Not all CompactFlash cards support a slave configuration. Try a different card.
SD Cards are Not Detected
If using an SD Card adapter, check it is built on the 'FC1306T (GP)' chip. See blog entry for more information.
Hard Disk Device is Not Detected
Only hard disks supporting ATA-2 command set can be used.
The Machine Hangs at 'Booting C'
This occurs because the boot sector written by the CompactFlash card manufacturer is not compatible with 8088 CPU in most cases. This can be resolved in one of two ways:
Method 1
Wipe the boot sector using the Lo-tech WIPEDISK utility and then start over - boot from a floppy (press A when the XTIDE Universal BIOS message appears) then run FDISK to create a primary and active partition, then reboot again from a floppy and run FORMAT /S to copy on the DOS files. Note that this method will completely erase all data on the device.
Method 2
If using MS-DOS 6.22, boot from a floppy (press A when the XTIDE Universal BIOS message appears) then run FDISK /MBR. This will re-write the executable boot-sector code, leaving the partition table and partition data intact.