finalburnneo / FBNeo

FinalBurn Neo - We are Team FBNeo.
http://neo-source.com
Other
917 stars 362 forks source link

YM2612 Nuked Driver Implementation possible? #1682

Open Posey999 opened 7 months ago

Posey999 commented 7 months ago

Rules and recommendations

so, the current Mame ym2612 sound Driver Implementation is Out of Date and isn't anywhere near as good as GenGXPlus's Modern Nuked Driver, i am wondering if someone would be so kind as to express their technical code wizardry and add Nuked Support for Yamaha OPN2 Emulation

on another note, Nuked YM2612 mode plus a Low pass Filter of 55% is about 99.9% accurate to the sound of a Real Model 1 Genesis, and it capable of correctly playing back Metal Squad from Thunder Force 4

Nuked Driver Implementation in Gen Plus GX (https://github.com/nukeykt/Genesis-Plus-GX)

Nuked Driver Source Code (https://github.com/nukeykt/Nuked-OPN2)

Posey999 commented 7 months ago

https://github.com/finalburnneo/FBNeo/assets/54924151/ee7088f7-c6be-49c7-b6c5-d382f050ed9a

this is the current implementation of FB Neo's Mame driver on the latest as of today

Posey999 commented 7 months ago

https://youtu.be/ylq90xrdDrI?t=169

here is Real Hardware using a Timestamp

Posey999 commented 7 months ago

https://github.com/finalburnneo/FBNeo/assets/54924151/d4fc29e6-dde6-4f38-b3bb-e78aaca2133a

here is Genesis GX Plus using the Nuked Driver with a 55% Low Pass filter any discrepancies found in the video are not the Nuked Drivers Fault, it is an Older Build of Genesis GX Plus, with a Z80 Timing bug, will test latest version, and then update

Posey999 commented 7 months ago

here is an updated version of the audio

https://github.com/finalburnneo/FBNeo/assets/54924151/45b905fb-51e3-4311-b932-2b4f9d1bd63c

dinkc64 commented 7 months ago

yes, its a great idea

dinkc64 commented 7 months ago

well, looking into this, I really don't know what to port, maybe you can help? the nuked driver in gensplusgx seems a bit different than just the nuked driver? what one do you want - what one is the best/most preferred and why?

best regards,

barbudreadmon commented 7 months ago

Looks like the version of ym3438.c in the genplusgx repo is a tad older than the one in the library repo (header says 1.0.8 vs 1.0.12). I suppose the newer version is the preferred one ? Maybe we should ask more information from its author @nukeykt ?

dinkc64 commented 7 months ago

yes, good idea :)

dinkc64 commented 7 months ago

Hi @nukeykt, We want to add your nice & impressive FM core to our MD emu, but not sure which code we should port over. Should we use the code from:

https://github.com/nukeykt/Genesis-Plus-GX or https://github.com/nukeykt/Nuked-OPN2 ?

thanks & best regards,

nukeykt commented 7 months ago

use standaone repostory (https://github.com/nukeykt/Nuked-OPN2), it is always up to date. also, GPGX seems to use latest version? (https://github.com/ekeeke/Genesis-Plus-GX/blob/master/core/sound/ym3438.c)

rtissera commented 3 months ago

This would definitely be a great addition :+1:

dinkc64 commented 3 months ago

I didn't forget, it's just been a very busy time for me!