VOGONS


First post, by aitotat

User metadata
Rank Member
Rank
Member

I was wondering why Wolfenstein 3D stereo effects do not work on some Sound Blaster Pro clones. I just tested with Orpheus, Labway with Yamaha YMF71x and Sound Blaster AWE 64 Gold. First two do not have stereo effects but with AWE64 they are very easily noticed. I remember real Creative Sound Blaster Pro cards worked also.

So what is wrong with those two SB Pro clones? Surely they support the volume panning, or do they?

Reply 1 of 17, by Tiido

User metadata
Rank Oldbie
Rank
Oldbie

I dont' recall having issues with this on my YMF71x cards, most strange...

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 3 of 17, by Tiido

User metadata
Rank Oldbie
Rank
Oldbie

What happens if you use SETYMF instead of SETUPSA ? It is found here : http://www.tmeeco.eu/TKAYBSC/

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 4 of 17, by badmojo

User metadata
Rank l33t
Rank
l33t

The default mixer settings will be the issue on the YMF card - they work fine when it's set properly: Yamaha YMF71x SB Pro Mixer Bug Issue Fix

Life? Don't talk to me about life.

Reply 5 of 17, by aitotat

User metadata
Rank Member
Rank
Member

I've used Unisound to initialize the YMF card and never even tried the official SETUPSA. So now I tried SETYMF first and it did not help. In fact the Sound Blaster mixer settings didn't seem to do anything. I guess WSS mixer was in use. The WSS master volume did work. I did not try the other settings. But Wolf3D stereo effects did not work.

Next I tried SETUPSA and it did work if the SB volume was set to 1 as mentioned on the other thread. I tried to set it to 2 and stereo effects did seem to work somewhat but not good enough. Using DOS debug I checked that SETUPSA writes 33h to Sound Blaster Pro master volume register 22h. Using debug I set master volume to same 33h after unisound initialization and that fixed the stereo (although it is less noticeable than on AWE64 but not necessarily in bad way). Same debug trick worked for SETYMF also, as expected.

Reply 6 of 17, by Tiido

User metadata
Rank Oldbie
Rank
Oldbie

As far as SETYMF goes, doing SB test will switch mixer to SB (and doing WSS test switches it to WSS mode, something the card does automagically). Bet still, very interesting, what is the exact chip on your card ?

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 7 of 17, by aitotat

User metadata
Rank Member
Rank
Member

This is the card I've tested with. I took a quick look at the YMF715E datasheet. There is master volume at SA3 control port. I suppose this is the same as WSS master volume?

Reply 8 of 17, by Tiido

User metadata
Rank Oldbie
Rank
Oldbie

Ok, YMF71xE, made by Fujitsu. I normally use YMF715/719B and in particular Hitachi made one, as they are slightly less noisy than any E versions. Perhaps E has some other problems to it, I will have to test things at some point...

There is no Master Volume on WSS side (only DAC, ADC, Line, CD and Mono), the one in SETYMF is the YMF specific control that will always apply to everything.
SB Master Volume is sort of a range control to map the other controls into WSS registers, and if games mess with it, it can upset the LR controls and lead to problems. SETYMF doesn't expose it and sets it to a particular value where range of the controls is highest, but seems $33 setting may be the better one instead.

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 9 of 17, by aitotat

User metadata
Rank Member
Rank
Member

How can you identify the chip manufacturer? Interesting that it matters to sound quality.

I tested with Unisound some more to find out working master volume setting for it. It can be 25 at most. Next I'm going to experiment with MIDIto a bit. I want to know how well it works if I lock the SB master volume to 33h and then redirect SB master volume to the control port master volume. Should be quite easy to do.

But what about Orpheus? I'm having the same problem that stereo does not work. I'm using Orphinit for that and it does not matter if mixer is set to sb or wss mode.

Reply 10 of 17, by Tiido

User metadata
Rank Oldbie
Rank
Oldbie

Chip manufacturer is inferred from first letter of the lot code (right after date code) and physical features of the package, every manufacturer has particular features that help to identify it. Z is Fujitsu, G is Hitachi for example. There are few more manufacturers who made the actual chips for Yamaha such as Sharp, Toshiba and some other Japanese chip manufacturers. Different manufacturers have different machines and variations in the process so it makes sense to have small differences in performance of the analog part of the chip.

I don't have any idea about Orpheus or other Crystal based things...

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 11 of 17, by 640K!enough

User metadata
Rank Oldbie
Rank
Oldbie
aitotat wrote on 2021-11-21, 17:24:

But what about Orpheus? I'm having the same problem that stereo does not work. I'm using Orphinit for that and it does not matter if mixer is set to sb or wss mode.

This is likely due to a bug in the CS4237B used on Orpheus. If what you're describing is what I think it is, you will find that the mixer registers have the expected effect only if you set FMMode to "CrystalFM" or "off"; it seems to be a bug that makes itself known only when the external synthesiser is being used (when testing, make sure that you have removed the semi-colon at the beginning of the line, if you use the existing FMMode setting). When that is the case, everything else works as it should (as far as we know so far), but the PCM mixer registers are ignored, and the defaults from when the chip switches to Sound Blaster-compatibility mode are kept (maximum volume), regardless of what you try to write to the registers, or what you successfully read back.

If there is a way to get this working properly, I haven't found it yet (hint: it doesn't appear to be possible). Are you using digital output, or the analogue line out? Have you tried the same testing using the original CWDINIT and CWDMIX?

Reply 13 of 17, by 640K!enough

User metadata
Rank Oldbie
Rank
Oldbie

In this case, UNISOUND doesn't provide results more meaningful than using ORPHINIT (though you can test using UNISOUND's /xofi option, if you insist). Only CWDINIT might give you a few more clues. While I don't think it is a matter of initialisation software, you may want to try that, just to make sure that you see the same results as my testing indicated.

There is one more point worth discussing: all Crystal parts (starting with the CS4235, I think) implement automatic mode switching. This can present a few problems; in particular, if you are implementing a TSR that may periodically access Sound Blaster-mode registers. Unpleasant things have been known to happen if you access anything in Sound Blaster I/O space while a WSS-mode operation is in progress, especially DMA-mode PCM playback or recording. If you're only "trapping" port accesses and allowing/restricting access to the actual hardware when software actually performs such accesses, you shouldn't have too many problems, but if you are using a timer or some other event to trigger a read/write of register values, be very careful, as the results can be very unpleasant, especially if wearing headphones.

I suspect that similar issues are possible with YMF71x-based designs, among others, so thorough testing is clearly warranted.

Last edited by 640K!enough on 2021-11-24, 04:10. Edited 1 time in total.

Reply 14 of 17, by Tiido

User metadata
Rank Oldbie
Rank
Oldbie

YMF71x allows WSS and SB to coexist and be used at the same time, as long as playback DMA of WSS is not same as what SB uses, and whatever that does the playback is able to deal with both using same IRQ. I'm not sure what happens when both sides use same playback DMA channel though.

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 15 of 17, by 640K!enough

User metadata
Rank Oldbie
Rank
Oldbie

That's quite an interesting difference. For their part, Crystal/Cirrus had this to say about the CS4237B:

CS4237B.png
Filename
CS4237B.png
File size
18.77 KiB
Views
184 views
File comment
Mutually exclusive mode clipping
File license
Fair use/fair dealing exception

Reply 16 of 17, by aitotat

User metadata
Rank Member
Rank
Member
640K!enough wrote on 2021-11-23, 21:11:

Unpleasant things have been known to happen if you access anything in Sound Blaster I/O space while a WSS-mode operation is in progress, especially DMA-mode PCM playback or recording.

Seems to be problematic indeed. I tried to redirect SB voice volume to WSS registers I6 and I7. That worked for a short time enough to hear that it works with both internal and external FM mode. But in both cases the system just froze very soon. But the I6 and I7 affects FM volume also (both internal and external) so it would not have worked anyway.