jotego / jt12

FM sound source written in Verilog, fully compatible with YM2612, YM3438 (JT12), YM2203 (JT03) and YM2610 (JT10)
GNU General Public License v3.0
120 stars 22 forks source link

Sonic and Knuckles - sound effect BD distortion #36

Closed James-F2 closed 4 years ago

James-F2 commented 5 years ago

There is a problem with a certain sound effect in Sonic & Knuckles that sounds like distortion.

Information, samples, and guide how to recreate here: http://www.atari-forum.com/viewtopic.php?f=115&t=31029&p=375808#p375807

Also reported here: https://github.com/MiSTer-devel/Genesis_MiSTer/issues/28

James-F2 commented 5 years ago

It has been confirmed and present on the MiST too.

jotego commented 5 years ago

I'll look into it when I'm done working with the Popeye core.

James-F2 commented 5 years ago

This is the most accurate YM2612 in c: https://github.com/nukeykt/Nuked-OPN2 He also has PSG.

His work is used in DOSBox, Genesis Plus GX and more. MAME YM2612 is less accurate than Nuked-OPN2.

jotego commented 5 years ago

Yes, I know.

El El sáb, 15 jun 2019 a las 19:00, James-F2 notifications@github.com escribió:

This is the most accurate YM2612 in c: https://github.com/nukeykt/Nuked-OPN2 He also has PSG.

His work is used in DOSBox, Genesis Plus GX and more.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/jotego/jt12/issues/36?email_source=notifications&email_token=AAOG27BSNXOZUGSBYYFISS3P2UNZFA5CNFSM4HWG3YO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXY4BFY#issuecomment-502382743, or mute the thread https://github.com/notifications/unsubscribe-auth/AAOG27E4DKL75KSLB3XJT73P2UNZFANCNFSM4HWG3YOQ .

greyrogue commented 5 years ago

Just a couple of comments related to the change I made in MiSTer: I hadn't intended it to be the final solution. It was just a stopgap, with comments so you could fix it how you think is best, then MiSTer could merge to your latest. The issues I saw: https://github.com/jotego/jt12/blob/master/hdl/jt12_acc.v#L103

I'll try to keep updated info on your repository if I find anything else.

Thanks for these modules. They are great.

jotego commented 5 years ago

Hi, Yes, that was a typo in the accumulator. I have corrected it. Thank you. The real hardware operated on the channel, thus the limiter will apply to each channel. The current version of the accumulator works on the operators. This leads to a neat implementation but the overflow/clipping behaviour is different. In the repository, there are older versions of the accumulator that work on the channel. I don't remember what was the reason to change it, so they may not be bug free. However, you can dig for them and try if that fixes the problem. I am sorry I am distracted now with other cores. You are welcome to submit pull requests. Apologies if I sounded too harsh about commits on the MiSTer FPGAgen copy. I understand now that it is a good place to try things. I am just worried about loosing track of an important change that may affect other JT12 users.