VOGONS


Reply 1260 of 1316, by polpo

User metadata
Rank Member
Rank
Member
Eivind wrote on 2024-12-09, 18:52:

Congrats, what an awesome release! 👍
Seeing as DOS gaming is incredibly well served by the GUS mode already - the SB16 mode is most exciting for me personally for Win98 usage, and the lack of OPL3 there isn't a concern at all.
However, circling back to our chat about Win98 and the possibility of a WSS mode - how would WSS stack up against SB16 as you see it, both in terms of ease of implementation as well as capability, compatibility and sound quality? 😀 Thx!

I feel that DOS gaming would also really benefit from an SB16 lite mode - it's perfect for high quality stereo sound effects + MIDI music with the highest range of compatibility across titles. I added MPU simultaneous with GUS mode because people asked for it so they could have 16-bit SFX with MIDI music, but it really feels wrong to me due to the hacky nature of outputting streaming audio on the GUS. Back in the day with a real GUS, I encountered hitching, glitching audio in several games, so SB16 would really improve that experience. I'd love to also remove MPU support from the GUS mode because I've seen a couple reports of regressions after I added it. Also SB16 would have greater ease of implementation – architecturally it's a pretty straightforward evolution on top of the already existing SB 2.0 emulation.

However... I haven't written off WSS entirely, for one reason that makes it interesting to me: the unholy hybrid of SB16 DSP + OPL2 FM never existed in real life, but several laptops had WSS codecs but not FM synth (see this neat page of 486 laptops with onboard sound: https://macdat.net/laptops/486sound.html). This may mean it could be easier to adapt an existing Windows 9x driver .inf file for WSS without FM (or maybe with OPL2) vs. doing the same for SB16. We'll see, but I'll probably still start with SB16 support. Sound quality would be the same between the two, and SB16 has the compatibility edge on the DOS side.

Reply 1261 of 1316, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
polpo wrote on 2024-12-10, 03:27:

However... I haven't written off WSS entirely, for one reason that makes it interesting to me: the unholy hybrid of SB16 DSP + OPL2 FM never existed in real life, but several laptops had WSS codecs but not FM synth (see this neat page of 486 laptops with onboard sound: https://macdat.net/laptops/486sound.html). This may mean it could be easier to adapt an existing Windows 9x driver .inf file for WSS without FM (or maybe with OPL2) vs. doing the same for SB16. We'll see, but I'll probably still start with SB16 support. Sound quality would be the same between the two, and SB16 has the compatibility edge on the DOS side.

I'm still not sure about WSS in general. Was it something more software than hardware, kind of like the AC'97 or HDA of the ISA era?

I've some sound cards supposedly had WSS capability but so far I never succeeded in getting any to operate in WSS mode. Only SBPro mode worked. There were some conflicting and confusing information regarding WSS compatibility, like AD1815's "Windows Sound System software audio compatibility" may not be real WSS support (so far I could only configure its SBPro part via UNISOUND).

On the other hand, I've no idea of the official WSS drivers mentioned in the Wikipedia article, as those WSS-capable cards usually have their own utilities compared to the original WSS (which itself used AD1848).

It appears the official WSS drivers had a translator/emulator (WSSXLAT) that allowed original WSS to work as a Sound Blaster (SB16 with WSS 2.0) for games that only supported Sound Blaster, but I haven't looked into it yet, so I'm not sure whether this is entirely software or it relied on something from AD1848. The emulator only covered digital audio part and not others (e.g. FM synth), though emulation may not be required for those as real components (e.g. YMF262) were included on the card per the picture of the original WSS from Wikipedia article.

BTW: I have a game that explicitly asked for Win3.x system/driver file when configuring to use WSS, but other games don't appear to ask. I don't know about the exact prerequisite for using WSS. I did find some info about an environment variable called "ULTRA16", though.

Reply 1262 of 1316, by myne

User metadata
Rank Oldbie
Rank
Oldbie

Best guess: it was an api, that also called for hardware standards, and made many existing things fit into the model.
Like directx. Directx talks to hardware, via drivers, and supports levels of capability, and if they don't exist, it can (but usually doesn't) offer a software alternative.
The benefit for hardware makers is theoretically, easier driver development - many Windows drivers are a small more or less configuration setting to use a generic driver class. There aren't millions of sata drivers. There's one that works with basically all of them, and additional settings applied.

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11 auto-install iso template (for vmware)
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 1263 of 1316, by SScorpio

User metadata
Rank Oldbie
Rank
Oldbie
LSS10999 wrote on 2024-12-10, 08:02:

I've some sound cards supposedly had WSS capability but so far I never succeeded in getting any to operate in WSS mode. Only SBPro mode worked. There were some conflicting and confusing information regarding WSS compatibility, like AD1815's "Windows Sound System software audio compatibility" may not be real WSS support (so far I could only configure its SBPro part via UNISOUND).

I started a few games with it from an YMF719. I just needed a proper SET BLASTER configuration and then kicking off UNISOUND. It's possible I was using later games that had full native support, where the one you tried that asked about the win3.1 directory needed to utilize some of the utilities to make it work.

In the brief research I did, there didn't seem to be many games that supported SB16, but didn't also include WSS support. It possible things change when you look at the Windows side of things and dig into drivers. But in DOS many cards had SBPro support, but much less had SB16 support. And as mentioned in the Wikipedia article, it just covered 16bit digital sound. FM synth was just handled with the onboard OPL3 chip. But since it wasn't in the spec an OPL2 could be swapped in just as easily. Though personally, if it's a title that has 16 bit digital audio, I'm likely going MIDI for the music as that's well into the era of GM MIDI support.

Reply 1264 of 1316, by digger

User metadata
Rank Oldbie
Rank
Oldbie

There was definitely also a hardware standard called WSS in many DOS games. It did not support some kind of high level API. I wish it did, because that would make such games much easier to support on newer hardware, without having to resort to emulation. It's a standard that used I/O Port 530h by default, also had an IRQ and a DMA channel and supported 16-bit audio playback and 48kHz sample rates, even on 8-bit ISA cards.

If I'm not mistaken, there were a couple of games that did not yet support the SB16, but did support WSS and sounded the best in that mode. I believe Turrican II was such a game. See this Vogons thread for more info of the advantages and peculiarities of the WSS (hardware) standard in DOS games.

Reply 1265 of 1316, by myne

User metadata
Rank Oldbie
Rank
Oldbie

Ok...
I've always wondered.
Wtf is an fm synth, and what does it do?
I get midi. It plays small samples like a fancy keyboard.

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11 auto-install iso template (for vmware)
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 1266 of 1316, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie
myne wrote on 2024-12-10, 13:27:
Ok... I've always wondered. Wtf is an fm synth, and what does it do? I get midi. It plays small samples like a fancy keyboard. […]
Show full quote

Ok...
I've always wondered.
Wtf is an fm synth, and what does it do?
I get midi. It plays small samples like a fancy keyboard.

An FM synth generates all sounds from scratch - start off with something like a sine wave and apply a bunch of different filtering (specific to the hardware capabilities) to turn it into a new noise.

MIDI hardware doesn't necessarily play samples - that's wavetable synthesis (where each note of an instrument is approximated from recorded samples). Technically MIDI is just a transport/storage medium for music, like a computerized version of sheet music.

Reply 1267 of 1316, by appiah4

User metadata
Rank l33t++
Rank
l33t++

FM synthesis is the generation of music through frequency modulation, ie. generating sounds that mimic instruments by generating a variety of waveforms. This in contrast to wavetable synthesizers that use banks of instrument samples to play back music. Sometimes people (including myself) refer to "MIDI" and actually mean wavetable synthesis, but this is technically wrong: MIDI is only a music notation format. You can play back music encoded in the MIDI format through FM synthesis as well. You will probably eventually run into tracker music (generated by cards like the Gravis Ultrasound and systems like the Amiga) that load PCM waveforms into memory and manipulate/mix/playback these samples. They all sound distinctly different, and are different technologies.

Last edited by appiah4 on 2024-12-10, 17:49. Edited 1 time in total.

Reply 1268 of 1316, by SScorpio

User metadata
Rank Oldbie
Rank
Oldbie
myne wrote on 2024-12-10, 13:27:
Ok... I've always wondered. Wtf is an fm synth, and what does it do? I get midi. It plays small samples like a fancy keyboard. […]
Show full quote

Ok...
I've always wondered.
Wtf is an fm synth, and what does it do?
I get midi. It plays small samples like a fancy keyboard.

There are two types of sound from a PC digital and FM synth.

Digital you can think of the soundblaster side which is a recorded sound being played back. So a sound effect or someone talking in a game.

FM synth is tweaking wave forms to make music. On a soundcard this is the Adlib OPL2/3 side of things. It's much more complex than that, but when configuring a game the sound option is digital, while the music is generally FM if you aren't choosing MIDI or GUS options.

From there MIDI a standard for playing back musical notes. Some MIDI modules use FM synth, others like MT32 use PCM digital samples are attenuated with synthesis. And then there are ones that are mainly PCM sample based which play back a sound for a specific note.

Reply 1269 of 1316, by Shponglefan

User metadata
Rank l33t
Rank
l33t
jmarsh wrote on 2024-12-10, 13:38:

An FM synth generates all sounds from scratch - start off with something like a sine wave and apply a bunch of different filtering (specific to the hardware capabilities) to turn it into a new noise.

Applying filters to a waveform is more aptly describing subtractive synthesis, not FM.

FM (frequency modulation) is about modulating a waveform's frequency. In the case of FM synthesis via these Yamaha chips, I believe they use 2 or 4 operator FM synthesis. In 2 operator FM synthesis, one waveform modulates the frequency of the other waveform.

Pentium 4 Multi-OS Build
486 DX4-100 with 6 sound cards
486 DX-33 with 5 sound cards

Reply 1270 of 1316, by Shponglefan

User metadata
Rank l33t
Rank
l33t
SScorpio wrote on 2024-12-10, 16:35:

There are two types of sound from a PC digital and FM synth.

Digital you can think of the soundblaster side which is a recorded sound being played back. So a sound effect or someone talking in a game.

Strictly speaking, FM synthesis is also digital in the sense it generates a digital output which then is converted to analog via a DAC.

The distinction here is between PCM (pulse-code modulation) which are typically pre-recorded waveforms versus FM synthesis which is generative.

Pentium 4 Multi-OS Build
486 DX4-100 with 6 sound cards
486 DX-33 with 5 sound cards

Reply 1272 of 1316, by digger

User metadata
Rank Oldbie
Rank
Oldbie

About these earlier quotes:

polpo wrote on 2023-06-07, 09:21:

I've tested several OPL3 emulators including Nuked and they are all far too slow to run on the Pico as-is. Getting one running fast enough would take an optimization effort similar to the heroic job Graham Sanderson performed on the emu8950 OPL2 emulator for rp2040-doom. I've hacked on ymfm the most because its source code is the most understandable to me but it still uses 200-300% of one core to play music of any complexity. Someone smarter than me would have to be up to the task of optimizing OPL3 emulation to be fast enough. I have a feeling it's possible, but I'm not up to the job.

polpo wrote on 2024-08-09, 13:16:

- The RP2350 is almost fast enough to run nuked-opl3. It's tantalizingly close and with some optimization could probably run. This would open up the ability to emulate SBPro, SB16, WSS, etc.

Even if Nuked-OPL3 can't be optimized enough to run at full speed on an RP2350, this new chip should still be fast enough to handle ymfm, right? From what I've understood, ymfm's OPL3 emulation is quite good and close enough to the real thing as to be indistinguishable for most human beings. It would still be a very nice improvement over just having OPL2.

Regardless, thanks for your continued work on this!

Reply 1273 of 1316, by digger

User metadata
Rank Oldbie
Rank
Oldbie

Hmmmm, according to these notes from the developers of the Furnace chiptune tracker, the OPL3 core of ymfm isn't actually less CPU-intensive than Nuked-OPL3. Quoting the relevant part below:

  • ymfm: this core is supposed to use less CPU than Nuked-OPL3, but for some reason it actually doesn't.

But maybe this could change as people try to optimize both projects further.

Reply 1274 of 1316, by okki

User metadata
Rank Newbie
Rank
Newbie

Hi, I'm currently waiting on a picogus 2.0 that I've bought from a builder here in New Zealand. I'm very excited as I've not been able to get my soundblaster card working and as nostalgic as the PC speaker sounds are I'm doing to get some sweet soundblaster/GUS action.
Just had a question as to why there is no audio input on the card and if this is something that might be added in the future?

Reply 1275 of 1316, by Shreddoc

User metadata
Rank Oldbie
Rank
Oldbie
okki wrote on 2024-12-25, 06:40:

Hi, I'm currently waiting on a picogus 2.0 that I've bought from a builder here in New Zealand. I'm very excited as I've not been able to get my soundblaster card working and as nostalgic as the PC speaker sounds are I'm doing to get some sweet soundblaster/GUS action.
Just had a question as to why there is no audio input on the card and if this is something that might be added in the future?

Hey there. That builder is probably me. Look forward to getting some great sounds into your retro PC. 😀 To your question, an input wasn't included because it wasn't given a high priority in the designs so far, and with the current hardware, the card's available resources and connections are already stretched quite full. The matter has been raised in the past, and I believe it's the intention for any future design to try including some form of input.

Supporter of PicoGUS, PicoMEM, mt32-pi, WavetablePi, Throttle Blaster, Voltage Blaster, GBS-Control, GP2040-CE, RetroNAS.

Reply 1277 of 1316, by appiah4

User metadata
Rank l33t++
Rank
l33t++

An Aux/LI header would be nice. I'd really appreciate it if polpo would add that (and the wavetable header) to the 1.x pcbs as well, at some point.. It's not practical for me to buy and import the card from overseas, but I enjoy building my own..

Reply 1278 of 1316, by Delphius

User metadata
Rank Member
Rank
Member

I have started designing a sort of companion card that will help fill in the gap for some things not included with the PicoGus, like the ability to mix multiple internal inputs like CD-Rom and a wavetable header for those who built PicoGus v1.2. It also will include a few other features that will be nice to have when using another ISA slot. I have the main design sorted and should have a prototype soon for testing. No dates yet for when this will be released but I will keep in touch on my progress.

Reply 1279 of 1316, by digger

User metadata
Rank Oldbie
Rank
Oldbie
Hayko wrote on 2024-12-26, 12:03:

I have been testing dune2 but i dont get the "speaking sounds" to work. What im doing wrong? 😀
picogus + S2 midi.

Just to check: have you enabled the use of extended memory (XMS) in the install/setup program? Speech in Dune II only works with XMS available. And you need at least a certain amount of it, I believe 1MB or more. (Not sure about the exact minimum amount, though.)

Make sure you have an XMS manager such as HIMEM loaded. Some EMM managers also have an integrated XMS manager, so those should work too.

You can run the DOS utility "mem", to see if XMS memory is currently available in your environment.