Introducing… the Lo-tech XT-CFv2!

What is it?

The XT-CTv2 is an 8-bit ISA card that works like a hard-card – a self contained, bootable hard disk for any PC with an ISA slot, right back to the original IBM PC 5150.

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.

Erm… Why?

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.

Why Compact-Flash?

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’.

How Fast?

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 🙂

Availability

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.

Links

XT-CFv2 Wiki page (product manual and technical reference guide)

XTIDE Universal BIOS (maintained by Tomi Tilli)

 

Social tagging:

18 Responses to Introducing… the Lo-tech XT-CFv2!

  1. hargle says:

    beautiful! as one of the founding fathers of the original XTIDE project, i am incredibly pleased to see additional projects born. retro computing will never be the same.

  2. Gib says:

    I’ve been running a prototype XT-CFv2 board for a few weeks, and I am impressed by its thoughtful design and flawless execution. It just works. No hassles, no fussing with it. One less thing to worry about in a vintage computer. Well done, James.

  3. Janus says:

    This is really neat – It is getting harder and harder to replace failing harddrives in my old machines. Will this be usable in an old 386 with AMI BIOS ? Or do you have to use a modified BIOS ? How do you go about defining the drive geometry in the host computer ?

    BR
    Janus

    • james says:

      Hi, yes it will work in a 386, but a 16-bit ISA IDE controller will probably be faster if there’s not already one in the machine. My card uses the ‘XTIDE Universal BIOS’ so auto-detects drive parameters and has no capacity limits (that could bother DOS, anyway). Thanks!

  4. Jake says:

    This is awesome! Put me on the list of people who will buy one of the 100 pre-assembled ones when they are out. Will you post on your blog when they are ready?

  5. Put me on the list too of one of the ones who will definitely buy one or more of the assembled versions! Thanks!

  6. Retrocosm says:

    Fantastic piece of kit! I’d love one, would you be willing to ship to the UK?

  7. Retrocosm says:

    Just realised you are in the UK! Doh!

  8. bombidragon says:

    Can’t wait till these get done, throw me on the list!

  9. CharlesB says:

    Put me on the list too. I have an old XT with a failing hard drive that I would love to get back to working.

  10. Jack says:

    This is great! Please put me on the list for an assembled version. With this board, my IBM 5150 PC may yet run something other than BASIC…. Shot floppy and hard drive systems.

  11. Sascha says:

    It’s perfect for my 5155. Could you put me on the list for the assembled version?

  12. I’d love to get one of these too.

  13. takis says:

    Yeah!!! Is incredible, fabulous, absolutely marvelous!!! Pleeeeeease put me on the list of people who will buy it!!!

  14. Henry Huang says:

    Hi James

    I would like to buy 2 card for my PC-XT, tell me how can get it?

    Thanks

    Henry Huang

  15. Joerg Elsner says:

    I like this projcct very much. Depending on the Price I would need three(3!) of them just as I know now. I´m just wondering what´s about the 32 MB limit of 8-bit machines with DOS 3.2? Does the BIOS crack this limit?
    I just tried a lot with old Amstrad IDE controllers and some versions of IDE to cf Adapters, it did not work. And I do not know how long my old MFM drive keeps spinning.

    • james says:

      Hi, the v2 has been superceded by the XT-CFv3 board which is currently being tested. In the mean time there is the ISA CompactFlash Board, which is available right now 🙂

      As for BIOS limits, the XTIDE Universal BIOS will support up to the max 8GB possible with later versions of DOS (4x 2GB partitions); for DOS 3.2 there is a 32MB per partition limit as you mention. This was increased in DOS 3.31 and 4 I believe.

Trackbacks/Pingbacks

  1. Internet Detox: Results « Oldskooler Ramblings
  2. Throwback Network | RCR Episode #39

Leave a Reply