VOGONS


Nuked OPL3 emulator

Topic actions

Reply 20 of 37, by nukeykt

User metadata
Rank Member
Rank
Member
Stretch wrote:

Does Nuked OPL3 emu have a rockbox port? Would it be faster than dosbox or MAME OPL on portable audio players?

No, it doesn't. And my emulator slower than DOSBox and MAME, i haven't done any big optimizations in code, because my goal is accuracy to real YMF262.

Reply 21 of 37, by Wohlstand

User metadata
Rank Newbie
Rank
Newbie

I tried to use your emulator in libADLMIDI instead of pre-used DosBox's and I played some MIDI files with DOOM banks, and I hear a some different sound of Hi-Hats in comparison with my real Sound Blaster 16 which I have at me, even I tried to play with no resampling with 49716 hz sample rate. Anyway, real SB has louder bass (in comparison to both DosBox's and your). But I think, I'll try to power on my machine with SB-16 and I'll try to record something to compare

Reply 22 of 37, by nukeykt

User metadata
Rank Member
Rank
Member

Try out git build of Chocolate Doom. It uses my Nuked OPL3 enulator and has very accurate OPL driver(i_oplmusic.c) compared to DOS Doom.

Reply 23 of 37, by Wohlstand

User metadata
Rank Newbie
Rank
Newbie

I think, yea, even in ZDoom hi-hats are sounding fine and seems need a small calibration of that thing. I will add it to be macro-switchable (I using libADLMIDI also on Android phones where optimization is very recommended to don't eat CPU and battery, I built a little player for myself to listen MIDIs without pre-rendering them into OGGs with ability to toggle banks and chip properties which I very like to do, even I editing MIDI-files and changing their instruments and producing some remakes or arranges to listen them more convenient or just improve quality of partiture itself, because previous composer was too lazy to write a good orchestra partiture with all necessary expressions)

EDIT: Thanks for the reply at GitHub (https://github.com/Wohlstand/libADLMIDI/issues/2, a fourth reply), reason was a wrong bend coefficient, so, hi-hats are sounding perfect! 😎

Reply 24 of 37, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

Just tried this via DOSBox ECE SVN r4007, and it doesn't fare any better at Wizardry 7's perverted use of the OPL2 as a DAC. Is this a DOSBox mixer limitation or an OPL emulation limitation?

Reply 25 of 37, by Jepael

User metadata
Rank Oldbie
Rank
Oldbie
HunterZ wrote:

Just tried this via DOSBox ECE SVN r4007, and it doesn't fare any better at Wizardry 7's perverted use of the OPL2 as a DAC. Is this a DOSBox mixer limitation or an OPL emulation limitation?

It's been a while since I last checked, but most likely cause is that the OPL chip emulation code is told to render several samples per call, so it's not the fault of the chip emulation itself.
Emulating PCM output would require to have the register writes to affect each output sample immediately.

Related to this, I've heard some weird sound issues on at least one Sierra game, like a sound playing for a brief moment at incorrect volume/octave/pitch or something, which only means a block of emulated sound is generated while game is in the middle of updating the chip registers. Fortunately, this is not an issue on most of the OPL stuff.

Reply 26 of 37, by NewRisingSun

User metadata
Rank Oldbie
Rank
Oldbie

DOSBox-X has the sampleaccurate option, which permits emulation of samples-via-OPL.

One of my more quixotic plans is to rewrite DOSBox' mixer using the blip_buffer library, which allows for a clean way to handle such cases, supports equalization, filters and reverb, and allows for very exact yet simple emulation of advanced PC speaker techniques. The filter support would permit emulating the SBPro's selectable filter, and equalization and reverb would provide a simple way to implement support for the Adlib Gold's surround board.

Reply 27 of 37, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

Last I checked, DOSBox-X is broken such that D-Fend Reloaded won't work with it, so I haven't messed with it.

Would love to see Adlib Gold emulation. Dune was supposedly made with it in mind.

Reply 28 of 37, by datajake1999

User metadata
Rank Newbie
Rank
Newbie

Is Nuked OPL3 1.8 the final version?

Reply 29 of 37, by nukeykt

User metadata
Rank Member
Rank
Member
datajake1999 wrote:

Is Nuked OPL3 1.8 the final version?

Possibly yes. v1.8 fixes differences that i found between v1.7 and actual YMF262 die shot.

Reply 30 of 37, by superfury

User metadata
Rank l33t++
Rank
l33t++

Just a little question, can you see in my OPL2 emulator what's going wrong with the drum instruments? Somehow(drumkit based on OPL3EMU's fmopl.c) it doesn't sound completely right, even though the normal melodic channels work 100%:
https://bitbucket.org/superfury/unipcemu/src/ … lib.c?at=master

The adlibsample function and subfunctions generate all OPL2 samples. The first part when adlibpercussion is set are the failing percussion instruments. The part immediately after(the if clause and contents) is the working melodic channel processing.

Anyone?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 31 of 37, by datajake1999

User metadata
Rank Newbie
Rank
Newbie

According to Wikipedia, the YMF262 was released in 1988,. This means that a 100% perfect OPL3 emulator was released on the YMF262's 30th anniversary. Interesting.

Reply 32 of 37, by nukeykt

User metadata
Rank Member
Rank
Member
datajake1999 wrote:

According to Wikipedia, the YMF262 was released in 1988,. This means that a 100% perfect OPL3 emulator was released on the YMF262's 30th anniversary. Interesting.

Actuially YMF262 was developed in 1990 and first released in 1991(on Sound Blaster Pro 2).

Reply 33 of 37, by datajake1999

User metadata
Rank Newbie
Rank
Newbie

Here is my WAV file writer for OPL3 emulation, as well as a VGM logger and code for writing to hardware OPL3 using inpout32.dll.
Edit: Added code for a silence generator.
Edit 2: Added code for audio processing. This is useful for basic DAC emulation and channel manipulation.

Reply 34 of 37, by AdrianRomero

User metadata
Rank Newbie
Rank
Newbie
nukeykt wrote on 2018-04-06, 09:39:

Actuially YMF262 was developed in 1990 and first released in 1991(on Sound Blaster Pro 2).

Is the output of Nuked 100.0% bit-by-bit the same as the data that is going to the YAC512? I understand that code based on the die-shot reverse engineering should produce exactly the same data, but has it for instance been verified with a logic analyzer?

I was surprised to learn about many of the things on the chip. I also was always told the OPL3 had a 1-sample delay in the feedback compared to the OPL2.

Reply 35 of 37, by sofakng

User metadata
Rank Member
Rank
Member
nukeykt wrote on 2013-12-26, 03:39:

Nuked OPL3 emulator

Are there any VGM players for Windows that feature the Nuked OPL3 emulator (and possibly the other audio chips from nukeykt?)

I think some of the DosBox forks include Nuked OPL3 but is there a "best" version/fork of DosBox?

Reply 36 of 37, by superfury

User metadata
Rank l33t++
Rank
l33t++

Can anyone see what's going wrong with my OPL2 percussion emulation? I've been trying to find out what's going wrong with it, but it just doesn't produce the correct samples for those (it does produce correct samples for the melodic channels).

https://bitbucket.org/superfury/unipcemu/src/ … ardware/adlib.c

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 37 of 37, by evgs

User metadata
Rank Newbie
Rank
Newbie

Brand new NukeYKT's low-level Yamaha FM-chips emulators:
NUKED ultra low-level Yamaha FM-chips emulators

Note:

YM3812-LLE: a new core written by the author of the Nuked cores. it features extremely accurate emulation.
this core uses a lot of CPU time. may not be suitable for playback!

YMF262-LLE: a new core written by the author of the Nuked cores. it features extremely accurate emulation.
this core uses even more CPU than YM3812-LLE. not suitable for playback or even rendering if you're impatient!