|
|
|
@@ -289,8 +289,6 @@ nes_apu_Result nes_apu_run(nes_apu* apu, int cycles) { |
|
|
|
|
|
|
|
if (1 == apu->frame) { |
|
|
|
half_clock = 1; |
|
|
|
} else if (0 == apu->frame && 0 == apu->frame_reg) { |
|
|
|
apu->status |= apu_Status_Frame_Int; |
|
|
|
} |
|
|
|
|
|
|
|
if (apu->frame_reg & apu_Frame_Mode) { |
|
|
|
@@ -328,8 +326,14 @@ nes_apu_Result nes_apu_run(nes_apu* apu, int cycles) { |
|
|
|
*/ |
|
|
|
} |
|
|
|
|
|
|
|
if (end) apu->frame = 0; |
|
|
|
else apu->frame++; |
|
|
|
if (end) { |
|
|
|
apu->frame = 0; |
|
|
|
if (0 == apu->frame_reg) { |
|
|
|
apu->status |= apu_Status_Frame_Int; |
|
|
|
} |
|
|
|
} else { |
|
|
|
apu->frame++; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
cycles -= run; |
|
|
|
|