VOGONS

Common searches


First post, by Jepael

User metadata
Rank Oldbie
Rank
Oldbie

Hi, does anyone know games that support stereo FM with dual OPL2?

SB Pro cards had two OPL2 chips, instead of single OPL3.

I am just trying to figure out if a game that supports dual OPL2 but not OPL3 at all, can be modified to use single OPL3 instead. Some easy target would be Sierra games that have separate sound drivers.

Reply 2 of 16, by Mau1wurf1977

User metadata
Rank l33t++
Rank
l33t++

Sound Blaster wasn't the only standard around at that time. Check out the Mediavision Pro Audio Spectrum. It was a dual OPL2 card and there are quite some games that have Stereo FM music with this card but only Mono FM with a Sound Blaster. Police Quest 3 and Space Quest 4 for example. Likely there are heaps more.

HOWEVER MT-32 trumps them all and many games that support the PAS / have Stereo FM supported the MT-32 anyway. So IMO just go for the top-dog right away.

My website with reviews, demos, drivers, tutorials and more...
My YouTube channel

Reply 3 of 16, by Jepael

User metadata
Rank Oldbie
Rank
Oldbie

That is good news, I have both Police Quest and Space Quest collections I can take a look at.

Yes it seems the dual OPL2 implementation is different.

Adlib has one OPL2 at address 0x388/0x389.

Single OPL2 Soundblasters have the OPL2 at address 0x228/0x229, and for Adlib compatibility, also at address 0x388/0x389. Optional CMS chips live at address 0x220/0x221 and 0x222/0x223.

Dual OPL2 Sound Blaster has left OPL2 at 0x220/0x221 and right OPL2 at 0x222/0x223. Writing to 0x228/0x229 or 0x388/0x389 will write to both chips simultaneously, for single OPL2 compatibility with Adlib and older SBs.

OPL3 Sound Blasters have the OPL3 chip at address 0x220/0x221 for bank 0, and 0x222/0x223 for bank 1. Bank 0 is also available at 0x228/0x229 and 0x388/0x389 for OPL2 compatibility, and bank1 is available at 0x38A/0x38B. The OPL3 chip boots in OPL2 compatible mode, so only bank 0 is used and chip outputs audio on left and right channels. Software that detect and use OPL3, will have to enable OPL3 mode through bank 1 when using it, and revert to OPL2 mode when exiting to DOS, so other OPL2 software can use it. If chip is left in OPL3 mode, register data meant for OPL2 will not output any sound, because the output channel select bits are zero and audio is not output to any channel.

Dual OPL2 PAS seems to have left OPL2 at 0x388/0x389 and right OPL2 at 0x38A/0x38B. For Adlib and single OPL2 compatibility, the left OPL2 chip output is configured in the mixer to go to both left and right outputs. To use dual OPl2 on PAS, mixer has to be configured to output left OPL2 on left output only.

OPL3 PAS (PAS16?) seems to have OPL3 bank0 at 0x388/0x389 and bank1 at 0x38A/0x38B, as in OPL3 SBs.

So in theory, it would be possible to convert dual OPL2 data for OPL3 chip for stereo FM. The main problem is that for example with Sierra PAS driver, it is used for handling the whole PAS card (digital sound, FM, mixer..), not just dual OPL2 stereo FM.

Reply 4 of 16, by Mau1wurf1977

User metadata
Rank l33t++
Rank
l33t++

Yes the PAS16 comes with an OPL3. Unfortunately it isn't PAS compatible 😒

One day we might get PAS compatibility in DOSBox...

PAS cards are very very very rare. Personally I have never seen one on eBay.

Still. Any game that doesn't support MT-32 BUT does support PAS/PAS16 Stereo FM?

There can't be that many...

Reply 5 of 16, by Jolaes76

User metadata
Rank Oldbie
Rank
Oldbie

Jepael,

you might want to check this out (if not already done so):

http://queststudios.com/smf/index.php?topic=3341.0

this thread made me stocking up on CT1330As until I can. As they are not only great for OPL2 music but a good investment as well... go for stellar prices on ebay.

and yes, you need to cut some throats to get a PAS Plus 😒

BTW, for stereo tunes, check out the different versions of Cobra Mission, you will find there is only ONE which has the correct driver for a CT1330A, the drivers of other versions are some sort of OPL3 conversions - you will hear everything from left (or right) only

"Ita in vita ut in lusu alae pessima iactura arte corrigenda est."

Reply 6 of 16, by FGB

User metadata
Rank Oldbie
Rank
Oldbie

I have one of these very rare PAS cards in my collection and I must say that it is a very silent card (very little noisy) for its time. It has a way! better signal to noise ratio than the SoundBlaster cards of this period of time.

And although Maulwurf is right that MT-32 soundtracks are always superior to dual-OPL2 tunes due to its wavetable synthesis I must say that the Dual-OPL2 FM sound has its own charme.

Here's an original picture of my card:

mediavision_pro_audio_spectrum_dual_opl2-600x291.jpg

A bigger picture and some words from me can be found here:

http://www.amoretro.de/2012/03/mediavision-pr … -8-bit-isa.html

Cheers,
Fabian

Last edited by FGB on 2012-06-09, 21:16. Edited 1 time in total.

www.AmoRetro.de Visit my huge hardware gallery with many historic items from 16MHz 286 to 1000MHz Slot A. Includes more than 80 soundcards and a growing Wavetable Recording section with more than 300 recordings.

Reply 7 of 16, by Mau1wurf1977

User metadata
Rank l33t++
Rank
l33t++

Awesome website you have created there Fabian!

My website with reviews, demos, drivers, tutorials and more...
My YouTube channel

Reply 9 of 16, by FGB

User metadata
Rank Oldbie
Rank
Oldbie

thank you both very much! i try hard to keep the website growing but it is plenty of work.

btw. try the google translator, i think it does a good job, at least it's understandable:

http://translate.google.de/translate?sl=de&tl … www.amoretro.de

cheers,
Fabian

www.AmoRetro.de Visit my huge hardware gallery with many historic items from 16MHz 286 to 1000MHz Slot A. Includes more than 80 soundcards and a growing Wavetable Recording section with more than 300 recordings.

Reply 10 of 16, by boxpressed

User metadata
Rank Oldbie
Rank
Oldbie

I had a CT1330A arrive today. I noticed that both Duke Nukem 3D and Blood have these two options (among others) for Sound Blaster:

Sound Blaster Pro (old)
Sound Blaster Pro 2.0 (new)

I assume this means that the Build Engine games recognize the dual OPL2 stereo. The Duke 3D music does sound different to me, but I'll need to drop in an OPL3 card just to double check.

Reply 11 of 16, by shamino

User metadata
Rank l33t
Rank
l33t

I've had a CT1330(A?) since new, but I almost never noticed games making use of it.
I think the most fun I got out of the "Pro" features was from playing with the better PCM recording/playback abilities, not so much in games.

It seemed to me like the setup screens for many DOS games would include some "Sound Blaster Pro" options along with the plain "Sound Blaster", but in a comparison I usually wouldn't notice any actual difference between the 2 modes. In many games it seemed the "Pro" options may have just been an alias for the regular Sound Blaster mode.
In the case of the "Pro" and "Pro 2.0" options, I think usually that was just to help autoconfigure the IRQ setting which defaulted to 7 on the older Pro but was 5 on the later model.

Man, I wish I had stocked up on Sound Blasters 10-15 years ago when they were plentiful on eBay and cheap as dirt. So expensive now, I hope mine still works. I haven't powered up that card in many years. The CT1330A basically defined how I personally expect and want OPL games to sound, just because it was my first such card and I used it for so many games back then.

Reply 12 of 16, by Scali

User metadata
Rank l33t
Rank
l33t
Jepael wrote:

OPL3 PAS (PAS16?) seems to have OPL3 bank0 at 0x388/0x389 and bank1 at 0x38A/0x38B, as in OPL3 SBs.

Is that true?
On my SB Pro 2.0, I initially tried a replay routine for VGM with those addresses, and it didn't work correctly. It seems only 0x388/0x389 map to bank 0, and bank 1 was not accessible.
The code worked in DOSBox, so perhaps DOSBox is incorrect here.

When I changed it to 0x220/0x221 and 0x222/0x223, the sound played correctly on my SB Pro 2.0.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 13 of 16, by Jepael

User metadata
Rank Oldbie
Rank
Oldbie
Scali wrote:
Is that true? On my SB Pro 2.0, I initially tried a replay routine for VGM with those addresses, and it didn't work correctly. I […]
Show full quote
Jepael wrote:

OPL3 PAS (PAS16?) seems to have OPL3 bank0 at 0x388/0x389 and bank1 at 0x38A/0x38B, as in OPL3 SBs.

Is that true?
On my SB Pro 2.0, I initially tried a replay routine for VGM with those addresses, and it didn't work correctly. It seems only 0x388/0x389 map to bank 0, and bank 1 was not accessible.
The code worked in DOSBox, so perhaps DOSBox is incorrect here.

When I changed it to 0x220/0x221 and 0x222/0x223, the sound played correctly on my SB Pro 2.0.

If it does not work, I have to take that back then. It is possible that I had an Aztech OPL3 card in the PC back then and thought it was SB16, as I could have sworn I've used 0x388-0x38B for OPL3 on some rather common card. I used both Aztech and SB16 but I did not want to ruin the SB16 when soldering, oscilloscoping and logic analyzing it so I used the Aztech.

I also don't own a SB Pro 2.0 to test. I think what happens is that when the OPL3 chip is still in OPL2 mode, the writes to bank 1 fold back to bank 0, except writes to the bank 1 register that can enable OPL3 mode.

But as you said, if 0x220 works but 0x388 does not for the full OPL3 operation, then it is a pretty definitive sign of the bank 1 not being available at 0x38A, and it's not the fault of the VGM data either.

The SB programming manual says 0x38A to 0x39F are reserved for future use, for SBPRO with OPL3 and SBMCV (with OPL3). It does not say that for SB16 though.
For all these OPL3 cards (SBPRO, SBMCV, SB16), it only says the FM can be accessed through 0x388/0x389 also.
So, it might be that address decoding for the FM chip is only for 0x388 and 0x389, so for OPL3 Enhanced FM 0x220-0x223 should be used.

Adlib Gold does have bank1 at 0x38A/0x38B, but these ports can be switched between OPL bank 1 and the Gold Control chip by a special write to unused OPL3 register. What a mess, as on many occasions, OPL chip registers are sometimes blindly written all zeroes in a for loop to initialize the chip, so that must be avoided.

Definitively learnt something new from all this.

Reply 14 of 16, by Scali

User metadata
Rank l33t
Rank
l33t
Jepael wrote:

I also don't own a SB Pro 2.0 to test. I think what happens is that when the OPL3 chip is still in OPL2 mode, the writes to bank 1 fold back to bank 0, except writes to the bank 1 register that can enable OPL3 mode.

Well, I captured the OPL3 test from my TEST-SBP.EXE program that came with the card.
Assuming the capture was done correctly, it should include all the OPL3 commands, including any proper initialization if required.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 16 of 16, by Jepael

User metadata
Rank Oldbie
Rank
Oldbie
James-F wrote:

Hmmm.. a lot of excellent programmers Vogons has..
Maybe a small TSR that reroutes Dual-OPL2 to OPL3 will be a good idea?

Maybe.

One OPL3 does not have two rhythm banks like dual OPL2 has, so at least that would not work.

Some games also write register indexes to both chips, wait, and then write register data to both chips.
Blindly doing the same would not work as well, the register indexes would have to be cached, and only when original program writes register data, it would need to write both register index and data to OPL3 chip.