I've actually done exactly that - added HD floppy support to a XT clone. It's easier than you think.
There are 2 parts: the hardware, and the software.
1. The hardware: many, if not most 16-bit IDE+floppy cards work just as well when plugged in a 8-bit XT slot. The floppy controller will then work in DD mode (because that's all that the XT BIOS supports), and the IDE will not work at all (because the XT BIOS has no support for it) if that is all that you do. To make the FDD work in HD mode, and the IDE to work at all, you need #2
2. The software: as I said above, the native support is very limited. You can make the hardware work by adding software as BIOS extensions.
For the FDD, use a BIOS from a HD FDD card such as http://minuszerodegrees.net/rom/bin/Kouwell%2 … %20-%201987.bin
For the IDE, use the XTIDE universal bios https://code.google.com/archive/p/xtideuniversalbios/ configured for a 16-bit IDE controller in 8-bit mode. Yes it will be slower, but with the XT 8-bit bus that's all you can hope for.
What to do with the BIOS extensions? Write them to an EPROM and place the EPROM somewhere where it will be scanned by the startup code of the BIOS (any startup address on a 8kB boundary between C000 and F400 will work). See my thread at http://www.vcfed.org/forum/showthread.php?484 … omponents/page5 where I detailed how I did exactly that.
I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O