I tried using RayeR's ymf7xx.exe tool to enable the digital audio output in DOS (i am using Phil's restart in DOS pif menu) but it doesn't work. It's working fine with analogue out -loud, clea and really good compatibility thanks to the SB-link cable. Optical digital 48khz works absolutely fine in Windows 98se. I have it set to the digital out + analogue muted.
I encountered a similar issue with my own YMF744 card a while back.
For me, the only reliable way to get SPDIF output in pure DOS was to boot into Windows normally, which initializes the card, and then select Start > Shutdown > Restart in MS-DOS mode. And I mean that option specifically, not using a custom PIF file and such. No other way worked for me.
Last edited by Joseph_Joestar on 2024-01-10, 03:22. Edited 1 time in total.
I tried that too, and i'm not sure if this option is configurable, but when I hit start>shutdown>restart in ms-dos mode my PC will do a complete hard reboot. VGA bios shows, POST and cmos runs etc, then loads Dos 7. W98se won't just quit to dos prompt, which I think is the desired behaviour.
I tried the other .pif options in the c:\windows directory like "restart in msdos for games with ems/xms" and "restart in msdos for games"
I'll test and try again tonight. Maybe I've missed a step or 2.
I tried that too, and i'm not sure if this option is configurable, but when I hit start>shutdown>restart in ms-dos mode my PC will do a complete hard reboot. VGA bios shows, POST and cmos runs etc, then loads Dos 7. W98se won't just quit to dos prompt, which I think is the desired behaviour.
On a clean Win98SE install, Restart in MS-DOS mode should work normally, without forcing a full system reboot.
Is it possible that some of Phil's DOS scripts somehow affected it? I never use them as they seem unnecessarily convoluted for my needs.
I tried that too, and i'm not sure if this option is configurable, but when I hit start>shutdown>restart in ms-dos mode my PC will do a complete hard reboot. VGA bios shows, POST and cmos runs etc, then loads Dos 7. W98se won't just quit to dos prompt, which I think is the desired behaviour.
On a clean Win98SE install, Restart in MS-DOS mode should work normally, without forcing a full system reboot.
Is it possible that some of Phil's DOS scripts somehow affected it? I never use them as they seem unnecessarily convoluted for my needs.
yeah i definitely need to compare some settings in my setup vs a fresh one by the look of things.
do you use the ymf7xx.exe tool to initialise digital or do you just let Win98 initialise the digital and reboot?
do you use the ymf7xx.exe tool to initialise digital or do you just let Win98 initialise the digital and reboot?
Just Windows, no other tools. After restarting in MS-DOS mode, SPDIF output remains active. For reference, this is my card and I have the following drivers installed:
Uhh , it's a loong time ago I wrote the tool... I don't remember much (I don't use SPDIF personally)
Try to run the tool with /r to dump config registers and then again after soft-reboot from your Win9x when the sound is working. So we can see the differences...
UPDATE: did you used ymf7xx with reccomended settings as described here? Re: Yamaha YMF7x4 Guide
RayeRwrote on 2024-01-23, 17:19:Uhh , it's a loong time ago I wrote the tool... I don't remember much (I don't use SPDIF personally)
Try to run the tool with /r […] Show full quote
Uhh , it's a loong time ago I wrote the tool... I don't remember much (I don't use SPDIF personally)
Try to run the tool with /r to dump config registers and then again after soft-reboot from your Win9x when the sound is working. So we can see the differences...
UPDATE: did you used ymf7xx with reccomended settings as described here? Re: Yamaha YMF7x4 Guide
Hi RayeR
Thanks for the response. Really appreciate all you've done, you're a wizard in my eyes.
I did not change anything other than running the option to enable SPDIF.
How do I go about changing these volume settings? Is it via command line or should I find a tool to do this? I am not experienced in this kind of thing.
I'll run the /r switch when I'm home tonight/tomorrow and show you another screen cap.
There's option to set register value, just run YMF7XX.EXE /? for help
/w - write MMIO DSP register Byte or Word value at MMIO base + index
Try to set values that user tpowell.ca did, it may work for your soundcard too.
I would need more feedback from other users to see if different cards use same routing and mixer volume setting for SPIDIF, then I could include necessary settind under /e option...
just no sound at all. the output when using ymf7xx.exe /e shows that the volume levels are 0 - is this normal? do I still need a mixer to unmute the sources?
If you run the attached ysbemu.exe, it should unmute pretty much everything and enable S/PDIF output, with the copyright bit set to OFF.
You need jemmex.exe or himemx.exe + jemm386.exe
You need to use them in place of himem.sys and emm386.exe, by editing config.sys
Also you need CWSDPMI.EXE
If you need help with that just ask or find a guide on how to setup SBEMU
EDIT: I changed it so that you don't need HDPMI32i, and so that it doesn't interfere with the yamaha drivers.
Please redownload ysbemu.exe
Once you do that, run ysbemu, redirecting the output to a file:
ysbemu >ysb.txt
Btw from where ysbemu.exe came from? Never heard about it yet. Some fork/mod of sbemu?
I made an SBEMU driver for YMF7xx cards. It should be merged into crazii's main version on github soon.
For this ysbemu, it is just SBEMU with most parts disabled. The source is here: https://github.com/jiyunomegami/SBEMU
To build this ysbemu use make YSBEMU_CONFIG_UTIL=1
Other than the FM Legacy volume, I think the actual volumes are set using the AC97 registers 0x62(command)/0x60(data).
The FM volume is set to maximum, since it is so low.
In the SBEMU driver I set the SFX volume (DAC playback volume in your ymf7xx utility) to 1118 out of 16383, for a good balance. This ysbemu utility won't set the SFX volume.
The one I posted last night might interfere with the Yamaha drivers (DSDMA), but I changed it so that it should only touch the volume/spdif config registers.
I verified that it works after starting DSDMA using LOADTSR.
Aha, I though if it's not a complette replacement of DSDMA TSR, the name ysbemu is a bit confusing...
I tried to run it and then I also dumped regs with my tool YMF7XX /r and it seems I have some bug there that registers over 100h are readed as 0 but with your tool there are some nonzero too so I have to check what I did wrong... (I can't see, I just map 32kB physical memory block at base read from PCI regs and then simply r/w from/to it, should I switch some reg. bank or so?)
Yes, if you read them one byte at a time, you get 0.
You need to read them as 32-bit long words.
16-bit might work, but that dump is using 32-bit reads.
From offset 0x168 there are no registers that I know of, so the last 8 bytes of the dump are just random junk.
The firmware starts at 0x1000.
Apologies if this has been explained even in the guide itself, but something I was recently amazed by was that for CD-AUDIO output (and by extension I assume for mixing and output of any input channels?) the only thing required in DOS is initialization of the sound chip with SETUPDS.EXE. Not even SoundBlaster emualtion nor a TSR (DSDMA) running are required.
Apologies if this has been explained even in the guide itself, but something I was recently amazed by was that for CD-AUDIO output (and by extension I assume for mixing and output of any input channels?) the only thing required in DOS is initialization of the sound chip with SETUPDS.EXE. Not even SoundBlaster emualtion nor a TSR (DSDMA) running are required.
If your motherboard's chipset supports DDMA or you are using PC/PCI (SB-Link) then you don't need the TSR 😄
Sometimes you need a patched SETUPDS.EXE for certain chipsets.
In my experience, compatibility increases if you don't use the TSR.
Check out the list of compatible chipsets and more about it here
Very intresting thread, I've been getting a lot into XG, and have started with the FF7 XG track via the SG-1000 soft synth, and even the DOOM soundtracks via MidiPlayer Yamaha VST.
I'm currently looking for a genuine Yamaha card, and unfortunately a decent priced Slot 1 mobo has an XG chip, but is typically a Dell board with their PSU layout, so a no-go, but came across this dard here (attached), I know that from the "Fake" part of the guide it's hgard to say based on looks, but would this look genuine in anyones opinion?
I had experience once with buying (cheap) a card with a huge Yamaha labled chip, which turned out to be a Crystal. 😀 I understand the that wthout a foto of the fake this response is not so useful, but my impression is that it's quite easy to come by a fake card, and it would look quite legitimate on the first glance. Would sharing a photo of that card be of any help by the way?