diff options
| author | Peter Fors <peter.fors@mindkiller.com> | 2025-12-05 09:34:21 +0100 |
|---|---|---|
| committer | Peter Fors <peter.fors@mindkiller.com> | 2025-12-05 09:34:21 +0100 |
| commit | b35551ddc948be413d179b798a0350eb2202bba8 (patch) | |
| tree | 508499b149c4aa147311c0993c061939f5b90ab6 /mknes_apu.c | |
| parent | d1e416e8657521c77a929bab0dae819e51928088 (diff) | |
Diffstat (limited to 'mknes_apu.c')
| -rw-r--r-- | mknes_apu.c | 68 |
1 files changed, 34 insertions, 34 deletions
diff --git a/mknes_apu.c b/mknes_apu.c index f1c27a8..8b9f45b 100644 --- a/mknes_apu.c +++ b/mknes_apu.c @@ -131,38 +131,38 @@ static inline void apu_tick(struct nes_state *state) { } } - if(apu->dmc_dma_enabled && apu->dmc_bytes_remaining > 0) { - apu->dmc_sample_timer++; - if(apu->dmc_sample_timer >= dmc_rate_table[apu->dmc_freq_index]) { - apu->dmc_sample_timer = 0; - - uint8_t val = memory_read(state, apu->dmc_current_addr); - (void)val; - - apu->dmc_current_addr++; - if(apu->dmc_current_addr == 0x0000) { - apu->dmc_current_addr = 0x8000; - } - - apu->dmc_bytes_remaining--; - - if(apu->dmc_bytes_remaining == 0) { - if(apu->dmc_loop_flag) { - apu->dmc_current_addr = 0xc000 + ((uint16_t)apu->dmc_sample_addr << 6); - apu->dmc_bytes_remaining = ((uint16_t)apu->dmc_sample_len << 4); - } else { - if(apu->dmc_irq_enable) { - apu->irq_pending = 1; - state->cpu.irq_pending = 1; - } - apu->dmc_dma_enabled = 0; - } - } - - for(uint32_t i = 0; i < 4; i++) { - state->cpu.cycles++; - ppu_tick(state); - } - } - } + // if(apu->dmc_dma_enabled && apu->dmc_bytes_remaining > 0) { + // apu->dmc_sample_timer++; + // if(apu->dmc_sample_timer >= dmc_rate_table[apu->dmc_freq_index]) { + // apu->dmc_sample_timer = 0; + + // uint8_t val = memory_read(state, apu->dmc_current_addr); + // (void)val; + + // apu->dmc_current_addr++; + // if(apu->dmc_current_addr == 0x0000) { + // apu->dmc_current_addr = 0x8000; + // } + + // apu->dmc_bytes_remaining--; + + // if(apu->dmc_bytes_remaining == 0) { + // if(apu->dmc_loop_flag) { + // apu->dmc_current_addr = 0xc000 + ((uint16_t)apu->dmc_sample_addr << 6); + // apu->dmc_bytes_remaining = ((uint16_t)apu->dmc_sample_len << 4); + // } else { + // if(apu->dmc_irq_enable) { + // apu->irq_pending = 1; + // state->cpu.irq_pending = 1; + // } + // apu->dmc_dma_enabled = 0; + // } + // } + + // for(uint32_t i = 0; i < 4; i++) { + // state->cpu.cycles++; + // ppu_tick(state); + // } + // } + // } } |
