VOGONS


First post, by raaboof

User metadata
Rank Newbie
Rank
Newbie

Hi Vogons,

I'm new to the community, and not entirely sure if this topic should go into the sound cards section or not... sorry if it's in the wrong place.

Anyway, I've got a Sound Blaster Vibra 16, model CT2800; exaclty like the one here: download/file.php?id=9469

I have instelled drivers hosted at Phil's Computers lab: https://www.philscomputerlab.com/creative-labs-drivers.html. With that, sound works perfectly, DIAGNOSE runs etc. so no problems there. However, I'd like to leverage also the IDE interface of the card, to plug in an additional hard disk (preferably, a CF card with IDE adapter). I have it plugged in at the moment, but the system fails to recognize it in any way -- it's not visible in fdisk, nor in Norton utilities' sysinfo.

Can anyone here shed some light on a few fundamental quesetions I have struggled to find definitive answers for:

1. Is the card and its IDE interface supposed to support standard IDE hard disks?
2. Do I need to install any kind of driver, or should it work without any additional .sys files in config.sys?
3. If a driver is needed, where to get it? I have checked several SB 16 -related drivers packages e.g. from Vogons drivers, but those do not seem to contain anything related to the IDE interface.

Troubleshooting steps taken this far: not much to be honest, as I'm not sure where to start. I have checked BIOS settings (AST BIOS 2.0, system is AST Bravo LC2 4/25s with an add-on 80486 DX33), but there is nothing in there. I have also tried to change IDE IRQ using jumpers, and ensured jumper settings are such that IDE interface should be enabled.

Thanks for any help this! And in general, thanks alredy to the whole Vogons community for the wealth information gathered in here, it has been invaluable in setting up my 486 this far!

Reply 1 of 6, by aitotat

User metadata
Rank Member
Rank
Member

IDE hard disks do work with that card. It is a non PnP card so the IDE is enabled with jumpers and not by software. That is a good thing.

But the problem is that BIOS needs to support the IDE address and since you have 486DX-33 it is very likely limited to only support primary IDE (at address 1F0h). That sound card, however, does only support secondary (170h), tertiary (1E8h) and quaternary (168h) IDE ports but not the primary. That is very typical since multi-I/O-cards have the primary IDE so having it also on sound card would only create conflict.

What you need is a BIOS that supports those other IDE addresses. XTIDE Universal BIOS does support all of them but you need a network card or some other card where to install the ROM. Another alternative is some ontrack solution that is installed to hard disk boot sector (bootable hard disk on primary IDE) and it replaces motherboard IDE bios when loaded. It should also provide support for at least the secondary IDE. No other driver is needed, just BIOS support.

Reply 2 of 6, by raaboof

User metadata
Rank Newbie
Rank
Newbie

Thanks for the insight -- it all makes sense now. XTIDE and/or replacing BIOS at run-time sounds like an interesting project for the future. In the meanwhile, I decided to test it with the CD drive, and with that it worked with the first try (merely had to add the /P parameter for the existing mtmcdai.sys to point it to correct IO/IRQ). With CD ROM no longer occupying a slot on the primary, on-board IDE, I can in fact now have two hard drives plugged in.

Anyway, thanks for confirming it all -- saved me probably hours of troubleshooting something which is not even intended to work as such.

Reply 3 of 6, by raaboof

User metadata
Rank Newbie
Rank
Newbie

Hi, getting back to this after some experiments. I have spent some time with XTIDE, flashing ROMs for it, learning to configure it, write the EEPROMs, etc. I can now reliably boot with XTIDE (using my 3Com network adapter boot rom to host it). In addition, XTIDE detects IDE devices on both the primary on-board ide, and on the secondary IDE which is hosted by the SoundBlaster CT2800.

However, my problem is that immediately after detecting the drives during boot process, the system completely freezes. It happens whenever I have any kind of IDE devices attached to the CT2800. If I unplug the devices, the system boots just fine, so XTIDE is fine. I have tried with all kinds of XTIDE configuration: with and without IRQ set for secondary IDE, with 8k and 32k versions of the ROM and so on. I have used 170h as the IO port and ensured it matches with the jumper settings on the card. But nothing seems to help. Somehow I think it fails immediately it tries to do any real I/O with the device, which makes me think it could have something to do with the Control block address defined in XTIDE config. By default, it suggests base address +200h -> 370h. However, on some articles out there I have found some indication what Sound Blaster could actually use 376h or 377h. I tested also with 376h, but no difference.:

IMG_1850.jpg
Filename
IMG_1850.jpg
File size
49.42 KiB
Views
933 views
File license
Public domain

Sometimes I have got a little bit of variance: once it reported there is no bootable disk in the system, and once I got all sorts of beeps from the PC speaker together with a blank screen -> probably an indication of some sort of HW conflict.

Otherwise I would have given up with this already, but I have a strong feeling that during my first experiments with XTIDE it actually did work at some point with devices attached to both primary (onboard) and secondary (Sound Blaster) IDE. Makes it very difficult to give up anymore 😀 But maybe it's easier to just find a generic ISA IDE adapter and go with that...

Reply 4 of 6, by aitotat

User metadata
Rank Member
Rank
Member

So HDD detection works for the drive connected to CT2800 but after that it fails? Could be interrupt related since IRQ is not used for drive detection. When you disabled IRQ did you disable it from XTIDE Universal BIOS and from CT2800. Both needs to be disabled. And if you enable it, both needs to be configured to use the same IRQ.

Reply 5 of 6, by aitotat

User metadata
Rank Member
Rank
Member

Control block address is indeed another thing to suspect since there is Device Control Register at control block base + 6h. It is used for controller reset and enabling/disabling IRQ so it could also explain IRQ related issues. If, for some reason, control block is not at IDE base + 200h on this card you could try IDE base +8h or +10h. But I'm pretty sure it was at +200h on the Sound Blasters I've tested.

Reply 6 of 6, by raaboof

User metadata
Rank Newbie
Rank
Newbie

Well -- it works now! What I did, based on your thoughts:

- Just for the heck of it, changed the SB IDE IRQ jumper setting from 10 -> 11. And configured the same for XUB.
- Changed the IO base address from 170h -> 1E8h (from secondary to tertiary) in SB jumper settings. And configured the same for XUB.
- Set Control Block Address to 1E8h + 200h = 3e8h in XUB config.

I have no idea why this fixed it, because there is nothing on IRQ10 to my knowledge (the only other card in addition to the Sound Blaster is 3Com, and it's using IRQ7). In addition, I'm 100% sure I have tested the combination of 170h & 370h for IO Base address and Control Block address. Weird stuff, but thanks again for your ideas, those helped me to search from the right direction!