You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The last bleep in the BIOS intro sounds distorted / metallic. This can be fixed by splitting the long arm.run(960) into smaller 100 cycle chunks (see #14). The sound is provided by the FIFO so it's most likely a timer issue.
The bug is caused by the current layout of the tick function.
voidArm::tick(int cycles)
{
this->cycles -= cycles;
if (state & kStateTimer)
timer.run(cycles);
if (irq.delaying)
{
irq.delay -= cycles;
if (irq.delay < 0)
irq.delay = 0;
}
apu.run(cycles);
}
Running the timer first with large values skipped some samples and caused the metallic sound. Running 100 cycles max each step reduced that probability and mitigated the bug. Another way to do this is switching the timer.run and apu.run positions. I will solve this bug with the upcoming scheduler.
The text was updated successfully, but these errors were encountered:
The last bleep in the BIOS intro sounds distorted / metallic. This can be fixed by splitting the long
arm.run(960)
into smaller 100 cycle chunks (see #14). The sound is provided by the FIFO so it's most likely a timer issue.The bug is caused by the current layout of the
tick
function.Running the timer first with large values skipped some samples and caused the metallic sound. Running 100 cycles max each step reduced that probability and mitigated the bug. Another way to do this is switching the
timer.run
andapu.run
positions. I will solve this bug with the upcoming scheduler.The text was updated successfully, but these errors were encountered: