mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 07:17:45 -04:00
mcd, fix pcm looping (1st sample lost)
This commit is contained in:
parent
7eeb85beb6
commit
fe8611f9af
1 changed files with 3 additions and 2 deletions
|
@ -92,7 +92,7 @@ void pcd_pcm_sync(unsigned int to)
|
||||||
mul_l = (int)ch->regs[0] * (ch->regs[1] & 0xf);
|
mul_l = (int)ch->regs[0] * (ch->regs[1] & 0xf);
|
||||||
mul_r = (int)ch->regs[0] * (ch->regs[1] >> 4);
|
mul_r = (int)ch->regs[0] * (ch->regs[1] >> 4);
|
||||||
|
|
||||||
for (s = 0; s < steps; s++, addr = (addr + inc) & 0x07FFFFFF)
|
for (s = 0; s < steps; s++)
|
||||||
{
|
{
|
||||||
smp = Pico_mcd->pcm_ram[addr >> PCM_STEP_SHIFT];
|
smp = Pico_mcd->pcm_ram[addr >> PCM_STEP_SHIFT];
|
||||||
|
|
||||||
|
@ -104,7 +104,8 @@ void pcd_pcm_sync(unsigned int to)
|
||||||
addr <<= PCM_STEP_SHIFT;
|
addr <<= PCM_STEP_SHIFT;
|
||||||
if (smp == 0xff)
|
if (smp == 0xff)
|
||||||
break;
|
break;
|
||||||
}
|
} else
|
||||||
|
addr = (addr + inc) & 0x07FFFFFF;
|
||||||
|
|
||||||
if (smp & 0x80)
|
if (smp & 0x80)
|
||||||
smp = -(smp & 0x7f);
|
smp = -(smp & 0x7f);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue