VOGONS


First post, by ynari

User metadata
Rank Member
Rank
Member

I have a malfunctioning VL Bus multi i/o card - the floppy controller does not work, and I can't disable it. I have another (ISA) adapter where it all works, but identifies a 4GB IDE SSD as being 52MB in size. This isn't very useful, and I don't want to use overlays as it'll be running DOS, OS/2 1.3, OS/2 2.1 and OpenBSD (this all just slides in under the 540MB boot limit).

Does anyone know a VL bus multi i/o card that supports disks up to 8GB or so, has *two* IDE connectors, floppy and serial? My ISA adapter is a winbond, so I'm mostly ignoring those. There's various Promise chipsets out there, like my VLBus adapter, but the ebay sales etc have poorly labelled jumpers and often only one connector. There's Prime2 chipsets as well - anyone know anything about those?

Reply 1 of 13, by alexanrs

User metadata
Rank l33t
Rank
l33t

This looks more like a BIOS limiation than the controller not supporting larger sizes, really. Try setting the drive to the maximum size the BIOS allows manually and see if it works. To go beyond that you'll have to either use an ODD, an updated BIOS (if it exists) or an add-on ROM to overcome the limitation.

Reply 2 of 13, by ynari

User metadata
Rank Member
Rank
Member

I already have - if I use the Promise VL bus controller, it correctly identifies the drive. If I use the one with a Winbond chipset, it doesn't.

I can see your point - maybe it's some sort of weird interaction between the controller and the BIOS. In which case, has anyone an idea why one works and the other doesn't?

Reply 3 of 13, by firage

User metadata
Rank Oldbie
Rank
Oldbie

The Promise controller probably has an onboard BIOS that overrides the motherboard. Mine has all the connectors you list out, it's the EIDE 2300 Plus. It's not the only choice of course, there's a million controllers out there that do the same thing.

I just got a brand new sealed Promise EIDE Pro for the ISA bus, wanting to get off the VLB bus and hoping to push the bus frequency to 50 MHz for the graphics adapter. Damn thing is dead as a doornail out of the box! 😒

My big-red-switch 486

Reply 4 of 13, by Robin4

User metadata
Rank l33t
Rank
l33t

Some VLB Controllers with BIOS will recognize large disks on the fly.. And with some other controllers without bios (those are intelligent VLB controllers) those need a driver to recognize bigger harddisks.
So no DDO is needed.

~ At least it can do black and white~

Reply 5 of 13, by ynari

User metadata
Rank Member
Rank
Member

I should have pointed out that the recognising of the disk happens inside the AMI BIOS' hard disk detection routine. If the Promise is in, the BIOS hard disk detection works. Without, it doesn't, and says the disk is only 52MB.

Still an onboard Promise BIOS, hooking INT13 and letting the main BIOS work?

Reply 6 of 13, by Caluser2000

User metadata
Rank l33t
Rank
l33t
ynari wrote:

I should have pointed out that the recognising of the disk happens inside the AMI BIOS' hard disk detection routine. If the Promise is in, the BIOS hard disk detection works. Without, it doesn't, and says the disk is only 52MB.

Still an onboard Promise BIOS, hooking INT13 and letting the main BIOS work?

Fit a nic with the AT version of the xt-ide extension on an eprom fitted in the nics boot rom socket.

There's a glitch in the matrix.
A founding member of the 286 appreciation society.
Apparently 32-bit is dead and nobody likes P4s.
Of course, as always, I'm open to correction...😉

Reply 7 of 13, by ynari

User metadata
Rank Member
Rank
Member

That's quite a solution! I have multiple 3C509s, and some reasonably useless RPL boot roms for them, so I could use the socket more usefully!

Any recommendations on a reasonably priced EPROM programmer or what to look out for? It's one piece of kit I don't have.

Reply 8 of 13, by Malvineous

User metadata
Rank Oldbie
Rank
Oldbie
ynari wrote:

That's quite a solution! I have multiple 3C509s, and some reasonably useless RPL boot roms for them, so I could use the socket more usefully!

Any recommendations on a reasonably priced EPROM programmer or what to look out for? It's one piece of kit I don't have.

You probably own a NIC already that can flash an EPROM (or at least an EEPROM), and flashrom works really well for this. It's compatible with a wide variety of hardware - have a look at their list of supported programming hardware and list of supported flash chips.

Personally I have used flashrom with both 3Com and Realtek NICs for both flashing and dumping of various electrically compatible chips (e.g. BIOS ROMs) and it works really smoothly.

Reply 9 of 13, by ynari

User metadata
Rank Member
Rank
Member

Most excellent. Off to find a 16Kb EEPROM..

Reply 10 of 13, by ynari

User metadata
Rank Member
Rank
Member

That turns out to be slightly harder than I expected. I thought finding one would be easy but it appears not. Even RS Electronics don't seem to have one below 64Kb, and that's EEPROM, not flash rom.

Any links, before I search around?

Reply 11 of 13, by Malvineous

User metadata
Rank Oldbie
Rank
Oldbie

The size doesn't matter so much, as long as you bear a few things in mind.

Smaller EEPROMs just ignore the extra address lines, so if you stick a 16kB EEPROM in something that's expecting 32kB, it will just see the same 16kB twice. Likewise if you put a 256kB EEPROM in a device that expects 16kB, the device will only be able to access the first 16kB.

This is assuming the unused address lines are tied to ground by the device or internally by the chip, otherwise it might "wander" between chunks as the unconnected address lines float. Worst case you'll have to get some wire and connect a few of the chip's pins together. Best case you won't have to do anything, just flash the first 16kB and be done.

Actually now I think about it, if you can check the largest EEPROM size that your final device can handle, then you should be fine. If it can handle up to 256kB expansion ROM for example, then all the address lines up to 256kB should be connected so this size or smaller should work perfectly well with no modification.

If your final device (the one hosting the programmed ROM in the destination PC, after it has been flashed) is a NIC, then you might have to either confirm it is hard wired for a 16kB ROM (if that's the size you want), or that you have access to the configuration program as you may need to manually set the ROM size. Otherwise you might get a larger block of memory than expected taken up by the ROM.

Generally speaking though, get something pin compatible regardless of the size and you should be fine.

Reply 12 of 13, by ynari

User metadata
Rank Member
Rank
Member

Thanks - by 'that you have access to the configuration program as you may need to manually set the ROM size' do you mean that Flashrom/the XT-IDE addon BIOS build process should be limited to use no more than 16Kb? In that case it's fine, and I can get a 256Kb EEPROM or similar from RS.

I'd most probably be programming it using a 3C900, and using it in a 3C509, as both have DIL sockets.

Reply 13 of 13, by Malvineous

User metadata
Rank Oldbie
Rank
Oldbie

No the build process is fine, but if you'll be using the final ROM in a 3C509, then you'll need some way of telling the 3C509 how large the ROM is. These things came out before there was any way to identify how large they are (that was added later and typically is only supported by programs that write to the EEPROM), so if you don't tell the 3C509 how large the ROM is yourself, it might be set to 8kB already and the PC will only see the first 8kB of your EEPROM - so only half of the 16kB you flashed. If it was set to 256kB, then you might lose a heap of UMBs because 256kB of memory is taken up when you only need 16kB, so you won't be able to LOADHIGH as many things and might then end up losing out on some conventional memory as a result. Or the ROM socket could be disabled completely so nothing will happen when you plug the ROM chip in. So if you can set the 3C509 to 16kB to exactly match the amount of data you want the system to see, then you will minimise the memory loss and everything should work well.

Many cards have a configuration program (normally included with their DOS drivers) that let you configure things like which connector to use, switch between 10/100/Auto, and for many ISA cards, which IRQ and base address to use. Typically those with bootrom sockets have additional options to set the size of the bootrom (or to disable it if there is no chip present.) I'm not sure what 3Com use, but I think many Intel cards use SOFTSET.EXE, Realtek has R8139SET.EXE, so I'm fairly sure you'll find a corresponding program if you can locate the 3C509 DOS drivers.