• Please review our updated Terms and Rules here

ROM stuff...XT-IDE Unversal BIOS on various NICs

kishy

Veteran Member
Joined
Aug 22, 2009
Messages
1,065
Location
Windsor, ON Canada
Hey folks,
Since I ordered 4 AT28C64 EEPROMs in the wake of destroying one on my XT-IDE, but only needed two of them, I've been experimenting with putting them on various NICs as the boot ROM and have made some findings that have led to some questions. The EEPROMs were all programmed with the XT-IDE card itself, using the AT version for the following tests.

I was able to find all of the driver disks on DriverGuide, and they all included the setup/diag/etc utilities to configure the cards...just FYI.

D-Link DE-528CT, PCI, 28-pin socket. ROM socket disabled initially, I turned it on with the setup utility. It gave 8 or 16k choices, I picked 16. XUB worked as expected.

D-Link DFE-538TX, PCI, 28-pin socket. ROM socket disabled initially, I turned it on with the diag utility. Choices of 8 through 128k ROM, which I set at 64. XUB worked as expected.

Cogent EM110 (eMaster 110) TX/T4 PCI, 32-pin socket. Boot ROM appears to be automatic. EMDIAG.EXE from the driver disk does not give options to turn off or on the boot ROM functionality, and it "just worked" when I inserted the EEPROM, no config required. XUB worked as expected.

Cogent eMaster+ ATS, ISA, 28-pin socket. This card is configured with jumpers. PROM SIZE options are 8 or 16K; I used 16K. PROM BASE jumper had to be changed from NO PROM to a valid value; I used D800H. XUB worked as expected.

Intel 8/16, ISA, 32-pin socket. This card already had an Intel boot ROM installed; I just swapped it out for the XT-IDE EEPROM with no config changes and it worked. The setup utility, I think softset2? Reflected that it was configured for a 16K ROM.

So that's all fine and good...but here are the cards that I had issues with:

Linksys Ether16, ISA, 28-pin socket. Used setup utility to set ROM address (I picked D8000H) and size (8 or 16K, I used 16). After saving and rebooting, XUB was active but seemed to try to load itself twice (once from D800H, again from DA00H, followed by the system hanging). This behaviour is described here: http://www.vcfed.org/forum/showthread.php?27489-XTIDE-Universal-BIOS-success-with-other-cards

3Com Etherlink III 3C509-Combo, ISA, 28-pin socket. I used 3c5x9cfg.exe to tell it it has a 32K ROM installed, and this card did the same as the Linksys above.

D-Link DE220PT (aka PCT), ISA, 28-pin socket. I used the setup utility to enable the boot ROM; it only allows choosing 16K. The machine upon reboot did not give me any indication of XUB being active at all, but otherwise still POSTs.

I suppose my questions stem from unfamiliarity with how ROMs are read by the devices they're inserted into, and the compatibility of various ROMs with each other.

Why is it that some (most) of my cards that support a max of, say, 16K will work with the 64K EEPROM just fine, but a couple of them do the double-loading thing where they try to read the chip a second time?

Any thoughts on what's up with the D-Link at the end?

Thanks!
 
Last edited:
Your AT28C64 chips are 64K bits, not bytes. So you should be selecting 8K ROM on the NICs.
 
Your AT28C64 chips are 64K bits, not bytes. So you should be selecting 8K ROM on the NICs.

Oh, is that how that works?
I know the AT28C64 is 8K x 8, so 64 kilobits...but I had figured the settings for these cards were also in kilobits, thus the setting I need/want to pick is "64K as in kilobits" (but most of them do not offer settings above 16K, so just picking the largest option available...)

So by specifying, say, 16K, the card is expecting to see "twice as much ROM" as this chip contains, correct?

I'll give that a try with the problem cards, except the DE220PT, which only lets you pick 16K and nothing else. Seems as if that card may be a lost cause for this purpose.

Why is it that most of the cards behaved though, even though all of them were set higher than 8K?

Edit: further confusing things, I might be mixing up "kilo" and "kibi", so there is more onion to unravel here.
 
Last edited:
I'm thinking about using my 3Com EtherLink III 3C509B-TP with the XTIDE Universal BIOS, but is there a way to program an EEPROM chip within MS-DOS or something similar?
 
Correct, which is why the data is duplicated. Because the high address pins are ignored by your smaller EEPROM. Some cards may be working because they can detect these pins are floating. Not sure.

If you get a 16K or larger EEPROM (like the AT28C256) it should work in your DE220PT. You may need to duplicate the ROM image to fill the chip if A14 isn't connected on the card.
 
I'm thinking about using my 3Com EtherLink III 3C509B-TP with the XTIDE Universal BIOS, but is there a way to program an EEPROM chip within MS-DOS or something similar?

If you have an actual XT-IDE card, you can program the EEPROM using IDECFG (on the same page as where to download the BIOS itself from) from an MS-DOS boot floppy, such as a Win98 boot disk.

My understanding is that programming probably won't work in some (most? few? not sure) NICs due to some pins not being connected.

If you do not have the actual card, since "SE MI" is pretty much where I live, I could probably program one for you. The machine I've been using to do this is a luggable/lunchbox, so I could lug it right along with me and meet up at a coffee shop to get people giving us weird looks. Waiting on my passport renewal currently though, and if it was somehow programmed incorrectly (IO not matching up for your IDE controller, being the big possible issue) you'd still be stuck unable to program it yourself.

Correct, which is why the data is duplicated. Because the high address pins are ignored by your smaller EEPROM. Some cards may be working because they can detect these pins are floating. Not sure.

If you get a 16K or larger EEPROM (like the AT28C256) it should work in your DE220PT. You may need to duplicate the ROM image to fill the chip if A14 isn't connected on the card.

Cool...that helps, thanks!
I have no specific attachment to the DE220PT so it's not a priority on its own, especially not when surrounded by a huge assortment of other NICs that work, but I like to understand why something does or doesn't work.
 
Last edited:
Tested and validated with the 3C509-TP card set to 8K ROM and addr set to the appropriate one, and it works flawlessly. Had to shut the HDD auto-detect off on my Packard Bell Pack-Mate 28 Plus BIOS since it would freeze after detecting the CF card. Going to test a 10GB Western Digital, 3.2GB Quantum Fireball, and 60GB Maxtor HDDs and see which ones work. Just so you know, the xtideuniversalbios.org site isn't responding.
 
Back
Top