• Please review our updated Terms and Rules here

XT-CF-lite v4.1 on 5155 not booting BIOS

DutchMaker

Member
Joined
Mar 22, 2021
Messages
43
Location
's-Hertogenbosch, The Netherlands
I have put a freshly purchased XT-CF-lite v4.1 in my IBM 5155.
The CF card I'm using is a 512 MB Sandisk that has been formatted for FAT.
I uploaded the latest version of the XT IDE universal BIOS (tried both the XT and XTL build) to the 28C64 ROM (with a MiniPro) and set the ROM address jumpers to D0000 as I gather from the description that's the default address configured in the ROM code.
Based on some articles I found, I also tried setting it to C0000 and CA000, all with the same result:

When the machine passed the RAM check, it shows on screen a message with the address that is selected with the jumpers and then "ERROR" and I need to press F1 to continue.
Then it continues to boot from floppy.
It does not show anything from XT IDE universal bios and I also cannot access the card.

I've taken out all the logic chips one by one and tested them with a chip tester, just to make sure that is not the problem.
The ROM can also be read from and written to with a MiniPro, so that doesn't seem to be the problem either.

Does anyone know what is going wrong?
 
Can you boot to DOS and view the contents of that memory location with DEBUG? I'd look for bits that aren't set, or memory that repeats itself.

Also, if you are creating your own rom image, make sure the checksum in the ROM image is updated.
 
Is there another hard disk controller in the 5155? I've only seen this kind of behavior when there is an I/O address conflict. The XT-IDE card needs to be sitting at a higher address than the ROM in the of the XT Hard Disk Controller. If it's lower it acts wonky.
 
I tested with all cards removed except for the floppy disk controller and the hercules graphics. I will also test without those.

SomeGuy, do I need to do anything for that checksum or is this handle by the MiniPro (TL866) software?
Just to be clear, I didnt create my own image but downloaded a build from the website.
 
You did configure the bios properly using XTIDECFG.COM FIRST before writing to EEprom ??, The XTL won't fit in a 8k rom.
 
Eprom writing tools don't change or even know anything about the checksum used by IBM PC BIOSs. This is supposed to be set by whatever tools are used to build and configure the XT-IDE ROM binary image.
 
You did configure the bios properly using XTIDECFG.COM FIRST before writing to EEprom ??, The XTL won't fit in a 8k rom.

I was going to ask this same question. I'm pretty sure the files you download straight from the web repository will just make you sad if you flash them straight onto a ROM.

If absolutely necessary you can run the configurator inside of an emulator like DOSBOX, just use the menu option to write the configured image back to the BIOS file you started with. (As I recall a giveaway if you've configured it correctly is the "odd-sized" image you started with will be written back as being exactly 8k or whatever.) Then write that file with your programmer.

Re this:

and set the ROM address jumpers to D0000 as I gather from the description that's the default address configured in the ROM code

FWIW, the BIOS code is position-independent, you don't need to reconfigure the image for the starting address of the ROM. You *do* need to reconfigure it if you change the port address you map the IDE/CF interface to.
 
* In an IBM 5155, do not put the XT-IDE card into slot 8. Slot 8 is 'special'.

* The settings of {base address = D0000 and I/O base = 300} are expected to work in an IBM 5155 that only has the IBM CGA card and IBM 5.25" Diskette Drive Adapter fitted.

* At [here], see the note regarding XTIDECFG.COM. Use of XTIDECFG is the normal way to both suitably configure the XUB and then write it to the EEPROM on the XT-IDE card. XTIDECFG also creates the required 8-bit checksum (so you don't get a 'D0000 ROM' error at boot). You can put XTIDECFG.COM (a DOS program) onto a DOS boot floppy, executing it from A:

* At [here], see the note regarding the downloaded XUB not necessarily being suitable out-of-the-box.

* It is preferable to the partitioning and formatting of the CF card on the 5155.

* Be aware of the 'non-standard master boot code' issue described at [here].
 
I'm trying to go for the approach in which I load the BIOS file into a DOS emulator, run the configuration utility and then write back the BIOS to the image.
Does anyone know what emulator can do that?
It seems DOSBox cannot do this and I also can't get the BIOS to load in DOSBox-X and even if I did, I don't know if you can write to it.

I'm not able to write the utility to a floppy disk. That's exactly why I got this CompactFlash solution in the first place :)
 
I'm trying to go for the approach in which I load the BIOS file into a DOS emulator, run the configuration utility and then write back the BIOS to the image.
Does anyone know what emulator can do that?
It seems DOSBox cannot do this and I also can't get the BIOS to load in DOSBox-X and even if I did, I don't know if you can write to it.
I have never tried using XTIDECFG in DOSBOX myself. I see that others have:
Post #6 at [here].
Post #13 at [here].

Presumably:
1. Run XTIDECFG
2. XTIDECFG: Read in downloaded-XUB-from-website BIN file
3. XTIDECFG: Configure the XUB
4. XTIDECFG: Export configured XUB to a BIN file
5. Use EPROM programmer to program new BIN file to EEPROM

I'm not able to write the utility to a floppy disk. That's exactly why I got this CompactFlash solution in the first place :)
In case of use to you, at [here] is a BIN file of the 2013-04-03 version of v2.0.0B3 from my XT-CF-LITE Version 4.1
Configured for the base I/O address of 300h (0x300).
Created direct from the EEPROM (AT28C64B) using my EPROM programmer.
 
Thanks modem7,

I thought I had to somehow load the bios in the emulator and didn't realise the config util can just open and write the bin file.
After doing that, the BIOS shows up when booting my IBM 5155!

It now tries to boot from C (the CF card) which has no files on it yet, but at least I'm a bit further now. :D
 
I thought I had to somehow load the bios in the emulator and didn't realise the config util can just open and write the bin file.
After doing that, the BIOS shows up when booting my IBM 5155!

Hah! Yeah, sorry if I wasn't clear. Obviously when you run it in DosBox or whatever the limited "auto config" functions don't work because there's no hardware or BIOS to probe (unless, I guess, you've made your own emulator that actually emulates an XTIDE) but the "read a bios file, manually config it, write it back to the file" loop works fine and gives you a usable BIOS.
 
Back
Top