VOGONS


First post, by Player X

User metadata
Rank Newbie
Rank
Newbie

Hi, I'm new here.
Sorry, my english is bad, but I have something very important to say.

We need a new oplemu for DOSBox. "default", "fast" and "compat" don't work properly with "opl3" (By "old" I do not know it because that does not work.).
With "default" and "fast" the 4OP-instruments of "Adlib Tracker II" doesn't work correct, the music and a few sound effects of "Cybersphere" doesn't sound right or you don't hear some of it and at "Supaplex" (a game with OPL2-sound) an instrument sounds so as with "opl2" and not as with "dualopl2" (one octave too low).
With "compat" it all works, but the waveform "Derived Square" from "Adlib Tracker II" sounds wrong.

Reply 2 of 18, by leileilol

User metadata
Rank l33t++
Rank
l33t++

You sound over-entitled. I wonder where your specialties and sources lie. Are you comparing with a vibra/awe or ESS card? Are you using 49716 for oplrate and mixer rate? And if that still 'sucks', are YOU writing a new oplemu and submitting a patch?

apsosig.png
long live PCem

Reply 4 of 18, by Harekiet

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The current dosbox emulator was written mostly with speed in mind while sounding accurate enough. It's in no way bit for bit accurate, I'd guess the original MAME implementation we used was more accurate but that had licensing issues and it was generally slower. But then you'd still run into sample rate issues since they affect internal feedback.

Reply 5 of 18, by Player X

User metadata
Rank Newbie
Rank
Newbie

Sorry, but I don't understand you because my english is bad. Normally I've 48000 Hz and now I made 49716 Hz but with compat the 8th wave form (Derived Square) sounds equally wrong.
And sorry, but I can't write something for some program.

I've a Soundcard with a real OPTi-Chip. I posted it also for comparing. Here you can hear the difference.

X00 (Channel 4)
default
compat
real OPL3
modulator
carrier

And at the song "The absence of Julia" I heared, that one instrument with default at some pitches makes undesirable high noise what doesn't happen with compat, but there is a problem. I've a Soundcard with a real OPTi-Chip and I heared, that normally this high noise comes only sometimes (not ever and not never). Which of both is right? I think nothing (or possibly the sound of default).

The absence of Julia (Channel 1)
default
compat
real OPL3
modulator
carrier

I'm not sure, but if here are 4OP-instruments you can hear how default works wrong with it and with errors nobody can wokrs correctly with Adlib Tracker II if he want to have 4OP-instruments in the song.

Cybersphere BGM 1
default (wrong)
compat (right)

If you play a song with 4OP-instruments with ADT2PLAY and default, after 1st playing the oplemu will lose the connection of both instruments if you don't start new the oplemu (with "oplemu=..." or "oplmode=...".

4OP-TEST with default
1st start
2nd start
modulator #1
carrier #1
modulator #2
carrier #2

And now the last problem which I know. With OPL2 some OPL2-songs can will played with the 1st wave form (Sine) only, even though other wave forms are choosed. Only with DualOPL2 and OPL3 all OPL2-songs can will played with other wave forms. I don't know why but it's so.
The problem is that default with OPL3 is like as OPL2. Some OPL2-songs can will played with the 1st wave form only. In this example one instrument is carrier = 4th wave form (Pulse-Sine) and modulator = 3rd wave form (Abs-Sine) and if it will played with OPL2 it sounds as would be both 1st wave form (Sine).

SUPAPLEX with OPL3
default (as OPL2)
compat (as DualOPL2)

Sorry, but I can't explain it better.

Last edited by Player X on 2014-10-12, 21:46. Edited 12 times in total.

Reply 6 of 18, by truth_deleted

User metadata
Player X wrote:

Sorry, but I don't understand you because my english is bad.

Please try google translate to convert the above posts to another language: http://translate.google.com. I believe this clearly written post is a starting point:

leileilol wrote:

You sound over-entitled. I wonder where your specialties and sources lie. Are you comparing with a vibra/awe or ESS card? Are you using 49716 for oplrate and mixer rate? And if that still 'sucks', are YOU writing a new oplemu and submitting a patch?

And here is a link to compiling dosbox: http://www.dosbox.com/wiki/BuildingDOSBox.

Reply 7 of 18, by Player X

User metadata
Rank Newbie
Rank
Newbie

I use Google translate all the time and sorry, but I can't make this.

1. I don't know how to make this.
2. I have no time for this.

For this post I needed the full day and you say I should make it self. Why?
I don't know how to make this. Because this I collected so many informations as i could.
With this 2 oplemus I can't work correctly with Adlib Tracker II.

Reply 8 of 18, by Targaff

User metadata
Rank Member
Rank
Member

To put it a bit more simply: the limitations of the current oplemu are known, and it is like this for a reason. If you want to improve it, you will have to write it. Why? Because you're the one who wants it.

Intel CC820 | PIII 667 | 2x128MB SDRAM | 3Dfx Voodoo 5 5500 @ Dell P790 | Creative SB PCI128 | Fujitsu MPC3064AT 6GB + QUANTUM FIREBALLlct10 10 GB | SAMSUNG DVD-ROM SD-608 | IOMEGA ZIP 100 | Realtek RTL8139C | Agere Win Modem

Reply 9 of 18, by NewRisingSun

User metadata
Rank Oldbie
Rank
Oldbie

I find that most of the people who complain about DosBox' OPL emulation have not set up the correct sampling rate (of both the OPL and the overall sound output). I use the "compat" core for almost everything and find it highly satisfactory for most applications, much better than AdPlug, and even MAME/MESS in quite a number of cases. Don't even get me started on ScummVM.

The problem I see is rather: suppose i know the MAME core gets one particular aspect right, and I just replicate that aspect in the DosBox source without taking over C/C++ language code directly from MAME, would that bar it from being included in DosBox, license-wise? That's what I've been wondering on several occasions.

Reply 10 of 18, by Great Hierophant

User metadata
Rank l33t
Rank
l33t
NewRisingSun wrote:

I find that most of the people who complain about DosBox' OPL emulation have not set up the correct sampling rate (of both the OPL and the overall sound output). I use the "compat" core for almost everything and find it highly satisfactory for most applications, much better than AdPlug, and even MAME/MESS in quite a number of cases. Don't even get me started on ScummVM.

The problem I see is rather: suppose i know the MAME core gets one particular aspect right, and I just replicate that aspect in the DosBox source without taking over C/C++ language code directly from MAME, would that bar it from being included in DosBox, license-wise? That's what I've been wondering on several occasions.

As I see it, you are kind of in the middle. You aren't copying and pasting MAME code, which would violate its license, but you aren't using "clean room procedures" where you have one programmer who is looking at the code describe exactly what the code is doing and have another programmer, who has never seen the code, implement the described functionality. Even clean room code is likely to have many similarities to the original code, and MAME cannot have a monopoly on accurate emulation of anything.

Trixter made an interesting blog post about how he determined how one modplayer substantially used chunks of another modplayer's code : http://trixter.oldskool.org/2012/11/08/re-old … wound/#more-774 I thought of it when I read your post.

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 11 of 18, by jal

User metadata
Rank Oldbie
Rank
Oldbie
Player X wrote:

And now the last problem which I know. With OPL2 some OPL2-songs can will played with the 1st wave form (Sine) only, even though other wave forms are choosed. Only with DualOPL2 and OPL3 all OPL2-songs can will played with other wave forms. I don't know why but it's so.

If my memory serves me right (I haven't coded for the OPL in almost 20 years or so), there's a bit in some status register that selects whether the other wave forms are available. This is due to compatability with an older chip (OPL1?).

JAL

Reply 12 of 18, by NewRisingSun

User metadata
Rank Oldbie
Rank
Oldbie

Register 0x01 bit 5 (bit value 0x20) is named "WAVE SELECT ENABLE". When set to 0, the YM3812 (OPLII) behaves like the YM3526 (OPL), ignoring registers 0xE0..0xF6, always using the sine waveform. When set to 1, registers 0xE0..0xF6 select one of four waveforms. This applies to 2xYM3812 setups as well as the YMF262 (OPL3).

Reply 14 of 18, by Player X

User metadata
Rank Newbie
Rank
Newbie

Hi,
sorry but I said I can't write it because I'm no programmer.
By the way, if you write it, please don't forget normal4x, normal5x and normal6x but there "ipx" is missing. So it must be inserted too.

Last edited by Player X on 2014-10-12, 21:00. Edited 1 time in total.

Reply 16 of 18, by ovvldc

User metadata
Rank Newbie
Rank
Newbie
Player X wrote:

sorry but I said I can't write it because I'm no programmer.
By the way, if you write it, please don't forget normal4x, normal5x and normal6x but there is "ipx" missing. So it must insert too.

They 'must' not do anything. The point about entitlement is that DOSBox is free and open source. That means that you don't pay for it, it comes with no guarantees that it does what you need it for. It also means that if you want it fixed you can actually get the code and fix it yourself. Don't expect people who do this for their own fun to work on stuff simply because you tell them it is important - they can decide for themselves pretty well what is important and what is not.

Whining is especially counterproductive. If you want a feature and you cannot do it yourself, try asking politely, with sound reasoning why it is a must-have, and point towards resources they might use to implement it.

Reply 17 of 18, by Player X

User metadata
Rank Newbie
Rank
Newbie

Hi,
sorry that I answer only now but I didn't have enough time for here.

ovvldc wrote:

try asking politely

Sorry but I'm politely and I don't know what else to say.

ovvldc wrote:

with sound reasoning why it is a must-have

Didn't say I what's the reason? I create songs with Adlib Tracker II (ver. 2.3.38) and with the actually oplemus I can't work correctly.
"default" doesn't work correctly ("dualopl2" doesn't sound in stereo (anyway with "DOSBox SVN") and "opl3" works as "opl2" ("opl2" sometimes sounds only with the 1st waveform (Sine)) and not as "dualopl2" for programs which needs OPL2 or DualOPL2 and doesn't work correctly with 4-op instruments) and while "compat" works correctly but some waveforms (particularly the 8th waveform (Derived square)) sounds wrong (although also "default" doesn't sound correctly but it's better than "compat").
If you want you can look at my 3rd post again.
Btw if a program needs DualOPL2 although OPL3 works as DualOPL2 for programs which needs DualOPL2 it sounds in mono with OPL3.

ovvldc wrote:

and point towards resources they might use to implement it.

???

Reply 18 of 18, by Lo Wang

User metadata
Rank Member
Rank
Member

Nevermind DosBox's OPL emulation not being bit-perfect as stated above, what really does the damage is the distortion introduced by resampling, which will inevitably occur at some point, be it at driver level, at hardware level or what have you.

The other thing is the lack of filtering, and every card had it's own built in. I think it was the CT's that outputted those amazing, vibrant, punchy, super clear sounds, but then again, that had nothing to do with there OPL capabilities.

"That if thou shalt confess with thy mouth the Lord Jesus, and shalt believe in thine heart that God hath raised him from the dead, thou shalt be saved" - Romans 10:9