• Please review our updated Terms and Rules here

5170 and XTIDE, strange data corruption issue

bassbos699

New Member
Joined
Jan 2, 2016
Messages
7
Location
Cambridge, MA
Hi everyone - new to this forum but have been browsing it for a while.

I picked up an old 5170 on ebay a few weeks ago. Came with two original Seagate disks and a non-ibm controller, two serial/parallel cards, and a CGA card. POST OK but both disks sounded terrible, and after one successful boot would not boot again.

I've since removed all the cards and installed an OAK OTI-077 VGA card, a DFI MIO-400 16-bit multifunction card, and two ugly homemade expansion ROM cards (SST39SF010As hardwired to D000 and D800 base addresses)

I flashed Sergey's floppy bios and XTIDE build 580 to the two EEPROM cards using a 720k boot floppy in a 1.44M drive, and connected a quantum bigfoot TX12.0AT 12GB HDD to the multifunction card. I used (James Pearce's?) flash utility from the lo-tech website, which seems to execute with no problem, detecting and writing the SST EEPROMs.

I can boot to a 1.44M DOS 6.22 floppy, make a 2GB partition on the HDD with fdisk and format, and install DOS from disk using the built in setup program. XTIDE appears to correctly identify the HDD.

When the machine is power cycled, it boots to DOS.. but most of the files on the HDD are missing or corrupt. I am unable to execute those that remain (e.g. invoking EDIT.COM causes the system to hang at the prompt with no further output) though directory listing works. Copying files from floppy to HDD executes, but many of the copied files then do not show up in directory listings.

I've tried a number of variations of the parameters of XT-IDE using xtidecfg, and reinstalled both DOS 6.0 and 6.22 repeatedly, but nothing changes this behavior in any noticeable manner. Removing the floppy BIOS EEPROM card makes no difference. Flashing the XTIDE bios to the other card makes no difference.

Can anyone suggest a potential cause or new line of investigation?

Thank you!
 
Welcome to these forums.

Can anyone suggest a potential cause or new line of investigation?
If by "XTIDE bios" you mean the XT Universal BIOS, then the symptom sounds like a known problem: the combination of the XT Universal BIOS and the 5170 motherboard's IBM BIOS ROMs.

* The result is corrupted reads of files (as evidenced by CRC comparisons).
* The degree/frequency of corruption is related the revision of the motherboard BIOS. There were three revisions. The more modern the revision, the less corruption.
* The symptom disappears entirely if the IBM BIOS is swapped out for a non-IBM one.
 
If by "XTIDE bios" you mean the XT Universal BIOS, then the symptom sounds like a known problem: the combination of the XT Universal BIOS and the 5170 motherboard's IBM BIOS ROMs.

* The result is corrupted reads of files (as evidenced by CRC comparisons).
* The degree/frequency of corruption is related the revision of the motherboard BIOS. There were three revisions. The more modern the revision, the less corruption.
* The symptom disappears entirely if the IBM BIOS is swapped out for a non-IBM one.

Thank you for the reply - yes, I did mean the XT Universal BIOS. The earlier posts on this issue escaped me.

I will try using the AMI BIOS. Since I have only a single EEPROM, but most BIOS dumps are divided into odd and even binaries, can I simply interleave bytes from two files to create an image suitable for programming a single EEPROM? I hope to be able to program the image, then power down, change the EEPROM address to F000, and pull the original BIOS ROMs.
 
I experienced similar symptoms with and XT-IDE card on my 5160 XT. Changing the drive for a disk-on-module (flash memory that plugs directly into the IDE connector) made it go away.
 
Thank you for the reply - yes, I did mean the XT Universal BIOS.
And I meant the "XTIDE Universal BIOS" (XT ---> XTIDE). That is the second time that I have got it wrong.

I will try using the AMI BIOS. Since I have only a single EEPROM, but most BIOS dumps are divided into odd and even binaries, can I simply

interleave bytes from two files to create an image suitable for programming a single EEPROM?
Yes (but see following).

I hope to be able to program the image, then power down, change the EEPROM address to F000, and pull the original BIOS ROMs.
The problem with that is that, on the 5170 motherboard, between the BIOS ROM sockets and the data bus are driver chips. So, even with the motherboard BIOS ROMs removed, the data bus is still being driven by chips when the BIOS ROM sockets are addressed.

In fitting your EEPROM card (addressed at F0000 to FFFFF), you would end up with data bus contention; two 'devices' trying to drive the data bus simultaneously when the CPU addresses F0000 to FFFFF.

You could try it and see what happens. Maybe your EEPROM card will win the 'bus contention battle', but the situation is undesirable, and maybe the 'battle' will not be won all of the time.
 
Other than the large partition support, is there any practical reason for using an XTIDE in a 5170? A bog-standard ISA IDE controller should work just fine.

Forgive the silly question.
 
A bog-standard ISA IDE controller should work just fine.

AFAICT, that's exactly what the OP is using, a DFI MIO-400 16-bit multifunction card.

Regarding this incompatibility with the 5170 BIOSes, are there BIOS listings available somewhere? I'd like to know if it's something that can be easily fixed in XUB (or perhaps with a patch to the system BIOSes). Or maybe people prefer to use 3rd party BIOSes anyway for other reasons and this would all be a waste of time?
 
AFAICT, that's exactly what the OP is using, a DFI MIO-400 16-bit multifunction card.

Regarding this incompatibility with the 5170 BIOSes, are there BIOS listings available somewhere? I'd like to know if it's something that can be easily fixed in XUB (or perhaps with a patch to the system BIOSes). Or maybe people prefer to use 3rd party BIOSes anyway for other reasons and this would all be a waste of time?

I was mislead by the thread title--it has nothing to do with the XTIDE, but rather Sergey's BIOS operating in 16-bit mode, which the XTIDE doesn't.

Personally, I'd probably just use a DDO or patch the existing BIOS. That's certainly been done before.
 
Regarding this incompatibility with the 5170 BIOSes, are there BIOS listings available somewhere?
In the IBM 5170 technical references at [here].

I'd like to know if it's something that can be easily fixed in XUB (or perhaps with a patch to the system BIOSes). Or maybe people prefer to use 3rd party BIOSes anyway for other reasons and this would all be a waste of time?
Or maybe a change to the XTIDE Universal BIOS.
 
Thanks everyone for the replies.

As modem7 said, my plan to use a ROM card addressed at F000 to run a non IBM bios is a nonstarter, the X-bus transceivers will cause bus contention. It's not immediately obvious to me that /MEMR etc. are even driven when the BIOS addresses are read.

I pulled out the BIOS and replaced it with a phoenix bios (Phoenix 286 BIOS 3.07) from a 12MHz NEC PowerMate I. Everything now runs perfectly, data corruption is gone.

I'd like to give the NEC its ICs back at some point, so I am thinking of building some 28-DIP size PCB, with AT28C256 EEPROM in TSOP package between the rows of pins, and a couple of switches to make the board compatible with either the standard 28-DIP EEPROM pinout for easy reprogramming, or the pinout expected by the 5170 board. In the past I've seen DIP adapter boards that use special pins that won't damage DIP sockets, but can't seem to locate any right now. I think the standard 0.1" pin headers are probably too wide to insert into a socket without permanently deforming the socket contacts.
 
Back
Top