diff options
| -rw-r--r-- | sys/src/games/nes/apu.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/src/games/nes/apu.c b/sys/src/games/nes/apu.c index afaa1cfd6..e67667495 100644 --- a/sys/src/games/nes/apu.c +++ b/sys/src/games/nes/apu.c @@ -94,11 +94,12 @@ doenv(void) (*a)--; } a = apuctr + TRILIN; - if((apuctr[RELOAD] & (1<<2)) != 0){ - *a = mem[0x4008]; - apuctr[RELOAD] &= ~(1<<2); - }else if(*a != 0) + if((apuctr[RELOAD] & (1<<2)) != 0) + *a = mem[0x4008] & 0x7f; + else if(*a != 0) (*a)--; + if((mem[0x4008] & 0x80) == 0) + apuctr[RELOAD] &= ~(1<<2); } void |
