mirror of
https://github.com/ekeeke/Genesis-Plus-GX.git
synced 2024-11-14 14:55:12 +01:00
[Core/Sound] fixed MAME YM2612 core potential issue with SSG-EG inverted attenuation level on Key OFF
This commit is contained in:
parent
6d10dd30ff
commit
346935fdda
@ -151,6 +151,7 @@ Genesis Plus GX 1.7.5 (xx/xx/xxxx) (Eke-Eke)
|
|||||||
* fixed YM2612 one-sample extra delay on operator1 output
|
* fixed YM2612 one-sample extra delay on operator1 output
|
||||||
* fixed YM2612 LFO PM implementation: block & keyscale code should not be modified by LFO (verified on YM2612 die)
|
* fixed YM2612 LFO PM implementation: block & keyscale code should not be modified by LFO (verified on YM2612 die)
|
||||||
* fixed YM2612 Timer B overflow handling
|
* fixed YM2612 Timer B overflow handling
|
||||||
|
* fixed YM2612 potential issue with SSG-EG inverted attenuation level on Key OFF
|
||||||
* fixed YM2413 carrier/modulator phase reset after channel Key ON (fixes Japanese Master System BIOS music)
|
* fixed YM2413 carrier/modulator phase reset after channel Key ON (fixes Japanese Master System BIOS music)
|
||||||
* fixed YM2413 intruments ROM (verified on YM2413B die)
|
* fixed YM2413 intruments ROM (verified on YM2413B die)
|
||||||
|
|
||||||
|
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 3.8 MiB After Width: | Height: | Size: 3.8 MiB |
Binary file not shown.
Before Width: | Height: | Size: 4.0 MiB After Width: | Height: | Size: 4.0 MiB |
@ -20,6 +20,9 @@
|
|||||||
/*
|
/*
|
||||||
** CHANGELOG:
|
** CHANGELOG:
|
||||||
**
|
**
|
||||||
|
** 11-05-2021 Eke-Eke (Genesis Plus GX):
|
||||||
|
** - fixed potential issue with SSG-EG inverted attenuation level on Key OFF
|
||||||
|
**
|
||||||
** 03-12-2017 Eke-Eke (Genesis Plus GX):
|
** 03-12-2017 Eke-Eke (Genesis Plus GX):
|
||||||
** - improved 9-bit DAC emulation accuracy
|
** - improved 9-bit DAC emulation accuracy
|
||||||
** - added discrete YM2612 DAC distortion emulation ("ladder effect")
|
** - added discrete YM2612 DAC distortion emulation ("ladder effect")
|
||||||
@ -684,7 +687,7 @@ INLINE void FM_KEYOFF(FM_CH *CH , int s )
|
|||||||
{
|
{
|
||||||
/* convert EG attenuation level */
|
/* convert EG attenuation level */
|
||||||
if (SLOT->ssgn ^ (SLOT->ssg&0x04))
|
if (SLOT->ssgn ^ (SLOT->ssg&0x04))
|
||||||
SLOT->volume = (0x200 - SLOT->volume);
|
SLOT->volume = (0x200 - SLOT->volume) & MAX_ATT_INDEX;
|
||||||
|
|
||||||
/* force EG attenuation level */
|
/* force EG attenuation level */
|
||||||
if (SLOT->volume >= 0x200)
|
if (SLOT->volume >= 0x200)
|
||||||
@ -749,7 +752,7 @@ INLINE void FM_KEYOFF_CSM(FM_CH *CH , int s )
|
|||||||
{
|
{
|
||||||
/* convert EG attenuation level */
|
/* convert EG attenuation level */
|
||||||
if (SLOT->ssgn ^ (SLOT->ssg&0x04))
|
if (SLOT->ssgn ^ (SLOT->ssg&0x04))
|
||||||
SLOT->volume = (0x200 - SLOT->volume);
|
SLOT->volume = (0x200 - SLOT->volume) & MAX_ATT_INDEX;
|
||||||
|
|
||||||
/* force EG attenuation level */
|
/* force EG attenuation level */
|
||||||
if (SLOT->volume >= 0x200)
|
if (SLOT->volume >= 0x200)
|
||||||
|
Loading…
Reference in New Issue
Block a user