소스 검색

Fix APU frame interrupt

master
Nathaniel Walizer 11 달 전
부모
커밋
b46ef63919
1개의 변경된 파일8개의 추가작업 그리고 4개의 파일을 삭제
  1. +8
    -4
      src/apu.c

+ 8
- 4
src/apu.c 파일 보기

@@ -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;


불러오는 중...
취소
저장