mirror of
https://github.com/ekeeke/Genesis-Plus-GX.git
synced 2024-11-10 21:05:12 +01:00
[Core/Sound] Nuked OPN2: fix envelope generator increment calculation
This commit is contained in:
parent
2345d98b69
commit
64356591d6
@ -39,7 +39,7 @@
|
||||
* OPLx decapsulated(Matthew Gambrell, Olli Niemitalo):
|
||||
* OPL2 ROMs.
|
||||
*
|
||||
* version: 1.0.6
|
||||
* version: 1.0.7
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
@ -741,28 +741,24 @@ void OPN2_EnvelopePrepare(ym3438_t *chip)
|
||||
rate = 0x3f;
|
||||
}
|
||||
|
||||
sum = (rate >> 2) + chip->eg_shift_lock;
|
||||
sum = ((rate >> 2) + chip->eg_shift_lock) & 0x0f;
|
||||
if (chip->eg_rate != 0 && chip->eg_quotient == 2)
|
||||
{
|
||||
if (rate < 48)
|
||||
{
|
||||
if ((sum & 0x0c) == 0x0c)
|
||||
switch (sum)
|
||||
{
|
||||
if ((sum & 0x03) == 0)
|
||||
{
|
||||
inc = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (sum & 0x01)
|
||||
{
|
||||
inc |= (rate >> 1) & 0x01;
|
||||
}
|
||||
if (sum & 0x02)
|
||||
{
|
||||
inc |= rate & 0x01;
|
||||
}
|
||||
}
|
||||
case 12:
|
||||
inc = 1;
|
||||
break;
|
||||
case 13:
|
||||
inc = (rate >> 1) & 0x01;
|
||||
break;
|
||||
case 14:
|
||||
inc = rate & 0x01;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -39,7 +39,7 @@
|
||||
* OPLx decapsulated(Matthew Gambrell, Olli Niemitalo):
|
||||
* OPL2 ROMs.
|
||||
*
|
||||
* version: 1.0.6
|
||||
* version: 1.0.7
|
||||
*/
|
||||
|
||||
#ifndef YM3438_H
|
||||
|
Loading…
Reference in New Issue
Block a user