What is it?
It’s powered directly from the ISA slot and uses fast and cheap Compact Flash cards for storage, accessible through the custom-made ISA slot bracket, making file exchange between machines easy and without the need to open the machine.
As an answer to the sea of dying MFM and RLL hard disks, vcforum members developed the original XT/IDE project in 2008 – a home-assembly IDE interface built on through-hole 7400 series logic. It was (and still is) a roaring success amongst vintage computing hobbyists, and inspired me to create the XT-CF and hence the XT-CFv2.
My project goals were to build a board fast enough for Trixter’s incredible 8088-Corruption to play 30fps video on a PC/XT without re-buffering pauses, and to replace the by now themselves ageing IDE disks with smaller, cheaper and more portable compact flash (or microdrive) media.
Basically, because it’s easy. Compact-flash cards can be made to behave like IDE hard drives so making possible the use of the well established XTIDE Universal BIOS, and they also support 8-bit transfers – ideal for this application. And besides, whilst compact-flash has been around for years, it’s still the media of choice for professional photography and embedded applications, so hopefully will last a while longer yet.
CF cards are also cheap; 8GB cards (as big as any version of DOS can handle) can be found for under a tenner and adapters are available for those that prefer SD cards.
How was it Developed?
As a development of the Dangerous Prototypes XT/IDE design, the board is based on a programmable logic (CPLD) chip, so the logic making it work is literally drawn out in software and then programmed into the CPLD chip – and this can be done over-and-over.
So with an electrically sound board, thanks to the work by Dangerous Prototypes, a novice like me is free to try and re-try ideas, and hopefully eventually come up a working design.
With countless hours researching, pondering, testing and tweaking – and the kind help of many vcforum members – slowly the logic and BIOS modifications have come together. XTIDE Universal BIOS project lead Tomi is very kindly adding code specific to this board under adapter type ‘Lo-tech XT-CF’.
The primary goal was speed. There are several ways to transfer data in the PC, and this board offers three alternatives. For best compatibility, it defaults to 8-bit port-mapped IO that, in a PC/XT, does about 150KB/s.
Once DOS is running, 16-bit memory-mapped IO can be enabled with a simple utility, providing 240-300KB/s – similar to the fastest 8-bit controllers in the 1980s. And for PC/AT systems, that can be improved further with reduced wait-states (to about 1MB/s, in a 12MHz 80286).
With port-mapped and memory-mapped modes, the XT-CFv2 can be used in the PC/XTs ‘slot 8’, a slot usually seen as wasted because not many cards work in it, and can also co-exist with MFM or RLL drives if required.
But the XT-CFv2’s stand-out feature is its DMA mode – although there’s nothing unusal about an 8-bit disk controller using DMA, this works differently. Instead of using IRQs and single byte transfer mode, with the XT-CFv2 the CPU actively controls the transfer by repeatedly instructing the XT-CFv2 to call the DMA controller to transfer 16 bytes at a time (as much as can be done before needing to pause to allow the DMA controller to refresh system RAM). The result is file system throughput way beyond what a 4.77MHz 8088 can achieve on its own; up to 530KB/s. As far I can tell, this makes it the fastest ever PC/XT disk controller – and by some margin 🙂
Many would-be home assemblers are unfortunately put off by the surface-mount components, but it is perfectly possible to assemble one at home with some basic tools. PCBs are available for anyone wanting the satisfaction of building their own, and the cost of components is minimal. The wiki includes assembly notes and a CPLD programming guide.
Separately, I’m organising a batch of about 20 assembled boards as a kind of public Beta over the next few weeks; watch this space! After that, feedback depending hopefully things will move on to a run of about 100 boards.
XT-CFv2 Wiki page (product manual and technical reference guide)
XTIDE Universal BIOS (maintained by Tomi Tilli)
Social tagging: XT-IDE