VOGONS


Speed Affected Sound Blasters

Topic actions

Reply 20 of 29, by TrashPanda

User metadata
Rank l33t
Rank
l33t
Jo22 wrote on 2022-08-03, 09:06:
Does this affect the PAS16, too? I'm asking, because.. […]
Show full quote

Does this affect the PAS16, too?
I'm asking, because..

a) I used my PAS16 in several Windows 98 PCs, Pentium 75 and higher, but don't remember any OPL3 issues.

b) The PAS16 used the OPL3 address 388/89h as control port for itself, so it's a bit special.

I get the impression that it was more to do with how creative implemented OPL2/3 on their cards where they took a few short cuts to save costs or simply believed the dirty implementation would be all thats needed, since creative was so huge it stands to reason that quite a few clones also copied these short cuts since there are also a lot of Aztech cards that exhibit the very same OPL3 issues.

PAS was a rather high end brand of cards who did their own thing so if you cant find any issues it may be they followed the correct implementation of OPL3.

Reply 21 of 29, by appiah4

User metadata
Rank l33t++
Rank
l33t++
Jo22 wrote on 2022-07-31, 18:39:
Ah yes, the annoying ~14.4 MHz OSC clock signal.. […]
Show full quote

Ah yes, the annoying ~14.4 MHz OSC clock signal..

http://www.os2museum.com/wp/the-isa-osc-mystery/

The cheap CGA used it, too, to get its timings.
It was never reliable, sadly. And it was noisy. 😔

Edit: Since we already have the these cheaply made -5v voltage regulator boards (ISA) for ATX PSU owners..:

What about making a little ISA card with a PLL or DDS driven oscillator that provides a clean OSC signal to the ISA bus?
Or alternatively, use a real crystal oscillator with a crystal oven and a buffer?
Someone just needs to cut the real OSC on the mainboard to make this work. 😀

Edit: Good news. 14.31818 MHz crystals and crystal oscillators still exist.
One question remains, however: Sine or square? What is the OSC pin supposed to carry?
If it's meant as a source for another oscillator, wouldn't sine be favorable?
But if it's meant as a source for a frequency divider, wouldn't square be favorable?

Edit: Txpo fixed.

Not just cheap CGA but a lot of cheap ISA VGA cards also used the signal from the ISA bus and I have a few such cards that refuse to work in later motherboards..

Reply 22 of 29, by rasz_pl

User metadata
Rank l33t
Rank
l33t
TrashPanda wrote on 2022-08-03, 09:22:

I get the impression that it was more to do with how creative implemented OPL2/3 on their cards where they took a few short cuts to save costs or simply believed the dirty implementation would be all thats needed, since creative was so huge it stands to reason that quite a few clones also copied these short cuts since there are also a lot of Aztech cards that exhibit the very same OPL3 issues.

PAS was a rather high end brand of cards who did their own thing so if you cant find any issues it may be they followed the correct implementation of OPL3.

From I can gather Media Vision engineering was solid, but executive branch was crooked and decided fraud would make more money in the short term 🙁
https://www.sfgate.com/bayarea/article/Media- … ges-2991587.php

It would take someone with a logic analyzer and PAS16 to check if the card does in fact takes care of timing specification of OPL3. I quickly came up with three ways you can go about it:
- insert 1 ISA bus wait state on all data register writes
- Optimized1: internal timer counting to >0.28 us, if there is another data register access before timer triggered you generate optional wait state.
- Optimized2: data register write FIFO running on internal clock < 3.5MHz. Generate 1 wait state on data register writes when FIFO full.

Grzyb wrote on 2022-08-03, 08:29:
CPU: Pentium MMX 166 card: Mozart-16 with YMF262-M software: Tunnels of Armageddon […]
Show full quote

CPU: Pentium MMX 166
card: Mozart-16 with YMF262-M
software: Tunnels of Armageddon

The game usually fails to detect Adlib

https://bochs.sourceforge.io/techspec/adlib_sb.txt wrote:
According to the AdLib manual, the 'official' method of checking for a | sound card is as follows: | | 1) Reset both […]
Show full quote

According to the AdLib manual, the 'official' method of checking for a
| sound card is as follows:
|
| 1) Reset both timers by writing 60h to register 4.
| 2) Enable the interrupts by writing 80h to register 4. NOTE: this
| must be a separate step from number 1.
| 3) Read the status register (port 388h). Store the result

so right there we have a situation where official specification asks you to do two consecutive writes to same data register, something that has a chance of failing on OPL3 if ISA clock is >7MHz and transactions take 2 cycles.

https://github.com/raszpl/FIC-486-GAC-2-Cache-Module for AT&T Globalyst
https://github.com/raszpl/386RC-16 memory board
https://github.com/raszpl/440BX Reference Design adapted to Kicad
https://github.com/raszpl/Zenith_ZBIOS MFM-300 Monitor

Reply 23 of 29, by bloodem

User metadata
Rank Oldbie
Rank
Oldbie
TrashPanda wrote on 2022-07-30, 12:22:

Is there a list of which Sound Blaster cards are affected by the speed of the machine eg which ones are best used for pre Pentium CPUs and which are good for Pentium and above?

Asking this mostly out of curiosity and wondering if this speed issue affects AWE32/64 Gold cards or if Creative got their shit together and fixed this issue after a certain model.

I got curious about this mainly because I have a SB16 2230 with both DAC chips 1748A 1745A (I think they are DACS) and thought that it would be interesting to put this into a P2 rig ..then I remember this issue and I have yet to find a list of cards that suffer from it.

Well, this is a VERY complex question and based on my experience, there's no correct answer.

As Joseph_Joestar said, a card like the Yamaha YMF724/744/754 tends to work fine on some fast platforms (but, not all!).
It does behave very well on newer VIA chipsets (or at least on some motherboards with newer VIA chipsets, even with very fast Athlon XP CPUs), but funnily enough, I've had issues with it on some Pentium 3 / 440BX platforms, even though I was using it with SBLink or DDMA (and had no resource conflicts).
The issue was the usual "total silence instead of FM music" or "noise that wakes up the dead" and it was only occurring in certain games like Prince of Persia/Dyna Blaster with the CPU running at full speed. Disabling the L1 cache (which, on a P3 @ 1 GHz or below, translates to slow 386 or even 286 performance) completely fixes the problem. Even weirder is that it doesn't actually happen on all 440BX motherboards, just some random ones. So simply saying that "YMF7x4 cards have speed sensitivity issues on 440BX" would not be accurate, because on others (off the top of my head: Gigabyte GA-BX2000+ and MSI MS-6163, which I specifically remember) the card works perfectly in all games (of course, if the game itself is not speed sensitive).

When it comes to all old Creative cards (SB 2.0, SB Pro 2, SB16), these are some of the most speed sensitive cards out there. Going with anything faster than a 486 DX2-66 is a hit & miss (mostly a miss). But even these cards have many revisions, some might be better in this regard than others (especially SB16 cards). And the platform might again play an important role as well...

The only cards that, overall, I can honestly say are VERY permissive when it comes to the CPU (i.e.: they usually work fine with higher CPU speeds) are the ESS Audio Drives ES1688 / ES1868. But take it with a grain of salt, since this "conclusion" is based on the cards that I have (and I do have more than 10 ESS cards at this point). As with the others, there might be certain cards / revisions that have issues in some situations/on certain platforms.

My advice? Build a system, pick a card, see how well it works with that specific configuration. If it doesn't, move on to the next card. 😀

2 x PLCC-68 / 4 x PGA132 / 5 x Skt 3 / 1 x Skt 4 / 9 x Skt 7 / 12 x SS7 / 1 x Skt 8 / 14 x Slot 1 / 6 x Slot A
5 x Skt 370 / 8 x Skt A / 2 x Skt 478 / 2 x Skt 754 / 3 x Skt 939 / 7 x LGA775 / 1 x LGA1155
Current PC: Ryzen 7 9800X3D
Backup: Ryzen 7 5800X3D

Reply 24 of 29, by TrashPanda

User metadata
Rank l33t
Rank
l33t
bloodem wrote on 2022-08-03, 11:38:
Well, this is a VERY complex question and based on my experience, there's no correct answer. […]
Show full quote
TrashPanda wrote on 2022-07-30, 12:22:

Is there a list of which Sound Blaster cards are affected by the speed of the machine eg which ones are best used for pre Pentium CPUs and which are good for Pentium and above?

Asking this mostly out of curiosity and wondering if this speed issue affects AWE32/64 Gold cards or if Creative got their shit together and fixed this issue after a certain model.

I got curious about this mainly because I have a SB16 2230 with both DAC chips 1748A 1745A (I think they are DACS) and thought that it would be interesting to put this into a P2 rig ..then I remember this issue and I have yet to find a list of cards that suffer from it.

Well, this is a VERY complex question and based on my experience, there's no correct answer.

As Joseph_Joestar said, a card like the Yamaha YMF724/744/754 tends to work fine on some fast platforms (but, not all!).
It does behave very well on newer VIA chipsets (or at least on some motherboards with newer VIA chipsets), but funnily enough, I've had issues with it on some Pentium 3 / 440BX platforms, even though I was using it with SBLink or DDMA (and had no resource conflicts).
The issue was the usual "total silence instead of FM music" or "noise that wakes up the dead" and it was only occurring in certain games like Prince of Persia/Dyna Blaster with the CPU running at full speed. Disabling the L1 cache (which, on a P3 @ 1 GHz or below, translates to slow 386 or even 286 performance) completely fixes the problem. Even weirder is that it doesn't actually happen on all 440BX motherboards, just some random ones. So simply saying that "YMF7x4 cards have speed sensitivity issues on 440BX" would not be accurate, because on others (off the top of my head: Gigabyte GA-BX2000+ and MSI MS-6163, which I specifically remember) the card works perfectly in all games (of course, if the game itself is not speed sensitive).

When it comes to all old Creative cards (SB 2.0, SB Pro 2, SB16), these are some of the most speed sensitive cards out there. Going with anything faster than a 486 DX2-66 is a hit & miss (mostly a miss). But even these cards have many revisions, some might be better in this regard than others (especially SB16 cards). And the platform might again play an important role as well...

The only cards that, overall, I can honestly say are VERY permissive when it comes to the CPU (i.e.: they usually work fine with higher CPU speeds) are the ESS Audio Drives ES1688 / ES1868. But take it with a grain of salt, since this "conclusion" is based on the cards that I have (and I do have more than 10 ESS cards at this point). As with the others, there might be certain cards / revisions that have issues in some situations/on certain platforms.

My advice? Build a system, pick a card, see how well it works with that specific configuration. If it doesn't, move on to the next card. 😀

Ahhh . .I too have pretty much every major ESS sound card I could find . .and even a few different revisions of the 1688, the only one I have yet to locate is the ESS card with OLP3 on it, just recently got a lovely Terratec DMX with the Canyon 3D on it. (Also missing the ESS with the Wavetable built into it, I forget the IC number)

One just popped up in my area . .so I guess I now have a 688 with OPL3 on it ! (Yes I keep watch 🤣)

Reply 25 of 29, by bloodem

User metadata
Rank Oldbie
Rank
Oldbie
TrashPanda wrote on 2022-08-03, 11:48:

Ahhh . .I too have pretty much every major ESS sound card I could find . .and even a few different revisions of the 1688, the only one I have yet to locate is the ESS card with OLP3 on it, just recently got a lovely Terratec DMX with the Canyon 3D on it. (Also missing the ESS with the Wavetable built into it, I forget the IC number)

One just popped up in my area . .so I guess I now have a 688 with OPL3 on it ! (Yes I keep watch 🤣)

I have two ES688 cards (the non-PnP versions) that have a real OPL3 chip and I think I also have another ES688 card with the LS-212/LS-215 pair (which are 100% identical OPL3/YAC512 copies). I think that one had a faulty amplifier that I still need to fix 😅
Haven't played with these ESS/OPL3 cards in a while, but as far as I remember, I liked them a lot and they were also pretty permissive when it came to CPU speed (though not as permissive as the ES1688/1868).

The ES1688 (also non-PnP version) is usually my go-to card for any newer board that still has ISA slots. These cards never let me down, and I absolutely love their sound quality (and I also like ESFM just as much as I like OPL3). As a side note, I've never seen an ES1688 card with a real OPL3 chip, I don't think they exist...
The ES1868 were usually built very cheaply and higher quality cards with this chip are usually harder to find (but they do exist).

2 x PLCC-68 / 4 x PGA132 / 5 x Skt 3 / 1 x Skt 4 / 9 x Skt 7 / 12 x SS7 / 1 x Skt 8 / 14 x Slot 1 / 6 x Slot A
5 x Skt 370 / 8 x Skt A / 2 x Skt 478 / 2 x Skt 754 / 3 x Skt 939 / 7 x LGA775 / 1 x LGA1155
Current PC: Ryzen 7 9800X3D
Backup: Ryzen 7 5800X3D

Reply 26 of 29, by rasz_pl

User metadata
Rank l33t
Rank
l33t
bloodem wrote on 2022-08-03, 11:38:

It does behave very well on newer VIA chipsets (or at least on some motherboards with newer VIA chipsets, even with very fast Athlon XP CPUs), but funnily enough, I've had issues with it on some Pentium 3 / 440BX platforms, even though I was using it with SBLink or DDMA (and had no resource conflicts).

newer chipsets usually run slower ISA. I dont just mean clock, they inject artificial waitstates/pauses between transactions.

bloodem wrote on 2022-08-03, 11:38:

When it comes to all old Creative cards (SB 2.0, SB Pro 2, SB16), these are some of the most speed sensitive cards out there.

afaik anything creative up to sb16 just address decoded raw OPL chip to isa address space

https://github.com/raszpl/FIC-486-GAC-2-Cache-Module for AT&T Globalyst
https://github.com/raszpl/386RC-16 memory board
https://github.com/raszpl/440BX Reference Design adapted to Kicad
https://github.com/raszpl/Zenith_ZBIOS MFM-300 Monitor

Reply 27 of 29, by bloodem

User metadata
Rank Oldbie
Rank
Oldbie
rasz_pl wrote on 2022-08-03, 12:37:

newer chipsets usually run slower ISA. I dont just mean clock, they inject artificial waitstates/pauses between transactions.

OK... but the Yamaha YMF7x4 are PCI cards and I was referring to newer VIA chipsets (like the KT266A/KT333 / KT400 / KT600 / KT880) that don't even support ISA.

On these boards, a TSR is required for legacy SB compatibility. One might assume that it's this TSR that makes the card "less speed sensitive" in DOS, however I also tried the same TSR on earlier problematic 440BX motherboards and the behavior was pretty much identical to that when using DDMA/SB-Link. And messing with the "PCI Delayed Transaction" setting didn't help either.

Anyway, bottom line, as we already knew, there's no perfect DOS card. 😀
They all have their quirks and in the end it all comes down to trial and error for your specific build.

2 x PLCC-68 / 4 x PGA132 / 5 x Skt 3 / 1 x Skt 4 / 9 x Skt 7 / 12 x SS7 / 1 x Skt 8 / 14 x Slot 1 / 6 x Slot A
5 x Skt 370 / 8 x Skt A / 2 x Skt 478 / 2 x Skt 754 / 3 x Skt 939 / 7 x LGA775 / 1 x LGA1155
Current PC: Ryzen 7 9800X3D
Backup: Ryzen 7 5800X3D

Reply 28 of 29, by rasz_pl

User metadata
Rank l33t
Rank
l33t
bloodem wrote on 2022-08-03, 14:18:
rasz_pl wrote on 2022-08-03, 12:37:

newer chipsets usually run slower ISA. I dont just mean clock, they inject artificial waitstates/pauses between transactions.

OK... but the Yamaha YMF7x4 are PCI cards and I was referring to newer VIA chipsets (like the KT266A/KT333 / KT400 / KT600 / KT880) that don't even support ISA.

ah, it was about "Yamaha YMF724/744/754". Those should not have speed issues because they contain ASIC reimplementations of OPL, not to mention are manufactured at entirely different geometries. The no sound/garbage seems like incompatibility issues instead.

bloodem wrote on 2022-08-03, 14:18:

On these boards, a TSR is required for legacy SB compatibility. One might assume that it's this TSR that makes the card "less speed sensitive" in DOS, however I also tried the same TSR on earlier problematic 440BX motherboards and the behavior was pretty much identical to that when using DDMA/SB-Link. And messing with the "PCI Delayed Transaction" setting didn't help either.

[/quote]

are we talking about OPL/Adlib issues or SB emulation issues now? 😀 is that TSR required for simple ADLIB port redirection? afaik its all about DMA.

https://github.com/raszpl/FIC-486-GAC-2-Cache-Module for AT&T Globalyst
https://github.com/raszpl/386RC-16 memory board
https://github.com/raszpl/440BX Reference Design adapted to Kicad
https://github.com/raszpl/Zenith_ZBIOS MFM-300 Monitor

Reply 29 of 29, by bloodem

User metadata
Rank Oldbie
Rank
Oldbie
rasz_pl wrote on 2022-08-03, 16:17:

ah, it was about "Yamaha YMF724/744/754". Those should not have speed issues because they contain ASIC reimplementations of OPL, not to mention are manufactured at entirely different geometries. The no sound/garbage seems like incompatibility issues instead.

Yeah, that's exactly what I first thought as well. But an incompatibility would not explain why disabling the L1 cache completely fixes the problem every single time.
The cards themselves are not inherently speed sensitive, they definitely work on many of the newer platforms, even with 2.3 GHz Bartons. Still, for some reason, they behave differently on certain motherboards, and that behavior is fixed by heavily decreasing the CPU speed.

rasz_pl wrote on 2022-08-03, 16:17:

are we talking about OPL/Adlib issues or SB emulation issues now? 😀 is that TSR required for simple ADLIB port redirection? afaik its all about DMA.

Ugh, you're right here, I was talking out of my ass. Paying attention to both work & vogons at the same time is not a good combo 😅
Fortunately I still have my priorities straight and the work (still) has... higher priority. 😁
So, no, obviously FM synth doesn't need any TSR to work.

2 x PLCC-68 / 4 x PGA132 / 5 x Skt 3 / 1 x Skt 4 / 9 x Skt 7 / 12 x SS7 / 1 x Skt 8 / 14 x Slot 1 / 6 x Slot A
5 x Skt 370 / 8 x Skt A / 2 x Skt 478 / 2 x Skt 754 / 3 x Skt 939 / 7 x LGA775 / 1 x LGA1155
Current PC: Ryzen 7 9800X3D
Backup: Ryzen 7 5800X3D