VOGONS


First post, by Malvineous

User metadata
Rank Oldbie
Rank
Oldbie

Hi all,

I've got a 286 motherboard I'm experimenting with, and when I first got it up and running I put in an SB16 (PnP, CT2230) which despite being a PnP card with no config manager, worked perfectly on all the default settings (A220 I5 D1 H5).

However after getting the XTIDE BIOS running, the card no longer works in this board.

Removing the XTIDE BIOS doesn't change anything, and replacing it with an older card configured via jumpers (an SB Pro 2, CT1600) only half works - the Creative DIAGNOSE.EXE says the base address is invalid, yet some (but not all) games can use it. Some start with music but then lock up when digitised sound is played, others can play digitised sound OK.

I'm not really sure what the problem could be. Taking the board back to basics - VGA card, floppy controller, and sound card, then booting from the floppy, it still doesn't recognise the card. It did originally, when I first got the motherboard going, but nothing has changed compared to this bare-bones configuration.

I don't think trying different ISA slots matters because they are all wired the same, but I've tried this anyway and no sound card works in any slot - even tried the 8-bit slot. The BIOS is pretty basic, but I've changed what I can: amount of EMS, zero wait state on/off, shadow ROM on/off. Nothing made any difference.

Has anyone seen this before? Any idea where to start looking? I find it really weird that with the SBPro2, Creative's DIAGNOSE.EXE utility can't see the card yet some games can.

Thanks for any suggestions!

Reply 1 of 11, by PCBONEZ

User metadata
Rank Oldbie
Rank
Oldbie

Just guessing..
It sounds like the IRQ got moved or stolen by the XTIDE BIOS.
The games that partially work probably are because they are sending to the Audio I/O address without having any idea what the card is.
.

GRUMPY OLD FART - On Hiatus, sort'a
Mann-Made Global Warming. - We should be more concerned about the Intellectual Climate.
You can teach a man to fish and feed him for life, but if he can't handle sushi you must also teach him to cook.

Reply 2 of 11, by Malvineous

User metadata
Rank Oldbie
Rank
Oldbie

So how come none of the cards work when the XTIDE BIOS + NIC it's sitting in are removed again? It shouldn't steal an IRQ if it's not present. Plus DIAGNOSE.EXE complains about the base I/O address, before it asks me for the IRQ, so I don't think anything has gotten far enough to use the IRQ yet?

I was thinking maybe DMA because of the audio side of things, but again, DIAGNOSE.EXE should accept the base address and only complain when checking the IRQ/DMA.

Very weird.

Reply 3 of 11, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Did you try a different base address(240h)? A 286 could theoretically have hardware EMS ports conflicting at some addresses. Now this little tool that scans I/O port addresses would come in handy...

1+1=10

Reply 4 of 11, by PCBONEZ

User metadata
Rank Oldbie
Rank
Oldbie

I was thinking it got moved when XTIDE went in but did not move back when XTIDE was removed.

It's been a very long time since I messed with IRQ or DMA manually which is why I said "just guessing".
I also thought/hoped bringing it up might spur someone else's memory.

Last edited by PCBONEZ on 2015-12-04, 01:27. Edited 1 time in total.

GRUMPY OLD FART - On Hiatus, sort'a
Mann-Made Global Warming. - We should be more concerned about the Intellectual Climate.
You can teach a man to fish and feed him for life, but if he can't handle sushi you must also teach him to cook.

Reply 5 of 11, by alexanrs

User metadata
Rank l33t
Rank
l33t

I don't think a 286 would be smart enough to move ports by itself (non PnP), but I could be wrong. Anyway, the standard way of diagnosing things like that is to test all possible jumpered configs on your SBPro: Change base addresses, IRQs, etc. until you find a good combination.

Reply 7 of 11, by tayyare

User metadata
Rank Oldbie
Rank
Oldbie
Anonymous Coward wrote:

Is CT2230 PNP? This was my first 16 bit soundcard, and I remember it being a non-PNP card.

As afr as I know, CT2230, like most non-Vibra SB16s, is not a PnP card, it is just a "software configurable" card. Actually not even complete in that, since It still has jumpers, according to the source below:

http://www.urr.ca/dosdrivers/sb16-32-64/ct2230ct2239.txt

So you probably need to adjust IRQ and DMA with software (diagnose.exe or sbconfig.exe) and before that, base address by using the jumpers on the board.

GA-6VTXE PIII 1.4+512MB
Geforce4 Ti 4200 64MB
Diamond Monster 3D 12MB SLI
SB AWE64 PNP+32MB
120GB IDE Samsung/80GB IDE Seagate/146GB SCSI Compaq/73GB SCSI IBM
Adaptec AHA29160
3com 3C905B-TX
Gotek+CF Reader
MSDOS 6.22+Win 3.11/95 OSR2.1/98SE/ME/2000

Reply 8 of 11, by Malvineous

User metadata
Rank Oldbie
Rank
Oldbie

Oh you're right, it's not a PNP card. I assumed it was from the lack of jumpers for IO/IRQ/etc. Looks like it has jumpers for I/O address only, and the rest is set by some other method.

The machine does have hardware EMS emulation (good thinking h-a-l-9000) but switching it on or off doesn't change anything.

I tried changing the base address (for both the SB16 and the SBPro2) from 220 to 240, but it doesn't make a difference. DIAGNOSE.EXE takes about one second longer before displaying the error message when you choose the correct I/O address (220 or 240), but if you choose an I/O address that is incorrect then you get the (same) error message immediately, with no delay.

This delayed error also happens when I choose base address 280, which is what the NIC is configured to. Of course I only get the delay when the NIC is in the system. But if the card is set to 240 and I choose base address 220 the error message appears with no delay, which suggests to me that there is definitely nothing sitting at I/O address 220.

With the SB16, games don't even detect the Adlib at the fixed port 388, which is very odd because that port is not normally changed.

According to "diagnose /?" you can use "diagnose /s" to set the hardware configuration "for non plug and play devices" based on the BLASTER environment variable, so I guess this is where the IRQ and DMA are set. Doing this with BLASTER=A220 produces an error very quickly (when the card is set to A240), and setting BLASTER=A240 makes it have a bit of a think before producing the same error telling me the BLASTER environment settings are invalid.

It very much seems like the host machine is unable to properly communicate with the card via the I/O address.

The ISA slots must be ok because the XTIDE BIOS is able to communicate with the IDE controller, and the VGA card works fine. And the SBPro2 does at least work with most games, despite DIAGNOSE.EXE telling me the I/O address is invalid.

Any other ideas I could try?

Reply 9 of 11, by Malvineous

User metadata
Rank Oldbie
Rank
Oldbie

Ok done a bit more testing and looks like it's not the 286 motherboard at fault:

  • In DOSBox, DIAGNOSE.EXE 4.04 works with an SB16, but fails with an SBPro2. So the fact that it fails on my real SBPro2 is probably not a hardware fault.
  • I moved the SB16 to another PC and it doesn't work there either, so it looks like the card must have died at some point between the first time I used it and now. Very odd as I'm careful to avoid static damage, but then the card did come from a sawdust-covered pile of "old computer cards" so it may well have been borderline to begin with. It probably didn't take much to push it over the edge.

I will do a bit more testing to see if I can glean any more information about this, but it looks like you must need a specific version of DIAGNOSE.EXE to match your sound card. I tried setting DOSBox to emulate an SB2.0 as this was my first sound card so I still have the utilities for it, and the SB16 DIAGNOSE.EXE (v4.04) didn't find that card, but the SB2.0 DIAGNOSE.EXE (v1.00) did find it. The reverse was true too, only the SB16 version could find an SB16 card, the SB2.0 DIAGNOSE couldn't see the SB16.

@h-a-l-9000: What were you saying about a utility that could scan port addresses and identify hardware...? 😉

Reply 10 of 11, by idspispopd

User metadata
Rank Oldbie
Rank
Oldbie

Using the correct version of testing programs sounds good.
Also, you could try to set the BLASTER variable to the correct value. SB Pro 2 should use T4, any SB16 or higher T6. Also, SB Pro can't do 16 bit DMA so I'd leave the H out for that card.

Reply 11 of 11, by Malvineous

User metadata
Rank Oldbie
Rank
Oldbie

Oh good - I was doing just that with BLASTER but only guessing, good to know it was correct! DIAGNOSE.EXE is the one program from Creative that can ignore BLASTER though, and probe the hardware directly. Only time it seems to be needed is with the jumperless cards, where you can set BLASTER first then run DIAGNOSE /S to set the card up to match what BLASTER says.