mirror of
https://github.com/ekeeke/Genesis-Plus-GX.git
synced 2024-11-13 06:15:07 +01:00
[Core/Sound] fixed Timer B overflow handling
This commit is contained in:
parent
116b001fb2
commit
62c1d82145
@ -121,6 +121,8 @@ Genesis Plus GX 1.7.5 (xx/xx/xxxx) (Eke-Eke)
|
||||
* removed PSG boost noise feature & added optional high-quality PSG resampling
|
||||
* fixed YM2612 self-feedback regression introduced in 1.7.1
|
||||
* 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 Timer B overflow handling
|
||||
|
||||
[Gamecube/Wii]
|
||||
---------------
|
||||
|
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 3.2 MiB After Width: | Height: | Size: 3.2 MiB |
Binary file not shown.
Before Width: | Height: | Size: 3.3 MiB After Width: | Height: | Size: 3.3 MiB |
@ -26,6 +26,7 @@
|
||||
**
|
||||
** 09-04-2017 Eke-Eke (Genesis Plus GX):
|
||||
** - fixed LFO PM implementation: block & keyscale code should not be modified by LFO (verified on YM2612 die)
|
||||
** - fixed Timer B overflow handling
|
||||
**
|
||||
** 12-03-2017 Eke-Eke (Genesis Plus GX):
|
||||
** - fixed Op1 self-feedback regression introduced by previous modifications
|
||||
@ -801,10 +802,11 @@ INLINE void INTERNAL_TIMER_B(int step)
|
||||
ym2612.OPN.ST.status |= 0x02;
|
||||
|
||||
/* reload the counter */
|
||||
if (ym2612.OPN.ST.TBL)
|
||||
do
|
||||
{
|
||||
ym2612.OPN.ST.TBC += ym2612.OPN.ST.TBL;
|
||||
else
|
||||
ym2612.OPN.ST.TBC = ym2612.OPN.ST.TBL;
|
||||
}
|
||||
while (ym2612.OPN.ST.TBC <= 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1526,11 +1528,11 @@ INLINE void OPNWriteMode(int r, int v)
|
||||
ym2612.OPN.LFO_AM = 126;
|
||||
}
|
||||
break;
|
||||
case 0x24: /* timer A High 8*/
|
||||
case 0x24: /* timer A High */
|
||||
ym2612.OPN.ST.TA = (ym2612.OPN.ST.TA & 0x03)|(((int)v)<<2);
|
||||
ym2612.OPN.ST.TAL = 1024 - ym2612.OPN.ST.TA;
|
||||
break;
|
||||
case 0x25: /* timer A Low 2*/
|
||||
case 0x25: /* timer A Low */
|
||||
ym2612.OPN.ST.TA = (ym2612.OPN.ST.TA & 0x3fc)|(v&3);
|
||||
ym2612.OPN.ST.TAL = 1024 - ym2612.OPN.ST.TA;
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user