I don't want to distribute other people's software, but this should get you going.
1. Get BOOT12.TXT from here and rename to BOOT12.ASM:
http://www.vogons.org/viewtopic.php?f=46&t=45244
2. Get PARTCOPY from here (PCOPY02.ZIP):
http://geezer.osdevbrasil.net/johnfine/index.htm#zero
3. Get NASM from here:
http://www.nasm.us/pub/nasm/releasebuilds/2.12.01/dos/nasm-2.12.01-dos.zip
4. Get XT IDE Universal BIOS from here (I used 2.0.0 beta 3):
https://code.google.com/archive/p/xtideuniversalbios/downloads or (newer) here:
http://www.mb1.co.uk/temp/XUB_r588.zip
5. Extract the NASM tools and PARTCOPY.EXE into a directory on a 386 or later running DOS 5 or later.
6. Put BOOT12.ASM in the same directory.
(For bonus points, you can also remove the "int 16h ;Wait for a key" line in BOOT12.ASM to skip the keypress requirement, and change the text of waitmsg to whatever you like.)
7. Do "NASM BOOT12.ASM -o BOOT12.BIN"
8. Extract IBM_XT.BIN and XTIDECFG.COM and BIOSDRVRS.COM from the XTIDE Universal BIOS package into the same directory.
9. Create a batch file called MAKEBOOT.BAT in the same directory, containing the following:
Code:
@echo off
echo.
echo Put a disk in drive A: - it will be formatted and prepared with XT-IDE.
pause
format a: /u
echo Working...
partcopy boot12.bin 0 3 -aA
partcopy boot12.bin 3e 1c2 -aA 3e
copy ide_xt.bin a:>nul
copy xtidecfg.* a:>nul
copy biosdrvs.* a:>nul
echo Finished. You can now reboot with the disk in drive A:
echo.
echo NB: You may need to run xtidecfg from drive A: to reconfigure the BIOS.
echo.
(At this point, the only files you actually need in the directory are: BIOSDRVS.COM, IDE_XT.BIN, XTIDECFG.COM, PARTCOPY.EXE, BOOT12.BIN and MAKEBOOT.BAT.)
10. Run makeboot.bat whenever you want to make a newly bootable XT-IDE BIOS loading floppy. The boot floppy itself will have just three files on it, plus a modified boot sector: BIOSDRVS.COM, IDE_XT.BIN, XTIDECFG.COM. BIOSDRVRS.COM isn't essential, but it's interesting if you want to see what your CF card is doing.
11. Once the files have been written, run XTIDECFG.COM from the floppy *on the target system* then load the IDE_XT.BIN file and try auto-configure. If that doesn't work you may have to tweak things manually for your controller, but it worked for mine. Remember to save the file before you close.
It's best to run the batch file on the XT you're actually going to be using, if possible. That should eliminate problems caused by drive geometry differences between machines. If you're creating the boot floppy in drive B: of a different machine, change the relevant A: entries to B: in MAKEBOOT.BAT accordingly and use -aB instead of -aA for the partcopy lines. On some machines -f0 will work for drive A: and -f1 for drive B: (instead of -aA and -aB), but that didn't work on any of my XT-class machines, only AT and later.
To reduce memory footprint to less than 12KB, change IMAGE_KB in BOOT12.ASM from 12 to 9 or 8 before compiling it. That allows the 8KB IDE_XT.BIN to fit, so only 8KB or 9KB of RAM is used. It seems to work OK, but I haven't thoroughly tested (8KB seemed too small: it loaded but XTIDECFG locked up). If the BIOS you use is a different size, modify accordingly - and perhaps leave a 1KB overhead just in case.
That should do it, I think. Please take usual precautions (backup first, test on a spare machine, etc.). This works for me but may wipe your data or reboot your universe. With much appreciation to John S. Fine and VOGONS user alexanrs, and of course the XT-IDE people. It's 1am here, so apologies for any errors. Bed time.