summaryrefslogtreecommitdiff
path: root/mknes.h
diff options
context:
space:
mode:
Diffstat (limited to 'mknes.h')
-rw-r--r--mknes.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/mknes.h b/mknes.h
index 8d12e95..0ae37f4 100644
--- a/mknes.h
+++ b/mknes.h
@@ -68,11 +68,22 @@ struct ppu_state {
struct apu_state {
uint32_t frame_cycle;
+
uint8_t mode;
uint8_t irq_inhibit;
uint8_t irq_pending;
+
+ uint8_t dmc_irq_enable;
+ uint8_t dmc_loop_flag;
uint8_t dmc_dma_enabled;
- uint32_t dmc_sample_timer;
+
+ uint8_t dmc_freq_index;
+ uint8_t dmc_sample_addr;
+ uint8_t dmc_sample_len;
+
+ uint16_t dmc_current_addr;
+ uint16_t dmc_bytes_remaining;
+ uint16_t dmc_sample_timer;
} __attribute__((packed, aligned(64)));
struct cpu_state {
@@ -110,7 +121,7 @@ struct nes_state {
union mapper_data mapper_data;
struct cpu_state cpu;
struct ines_state ines;
- // struct apu_state apu;
+ struct apu_state apu;
uint8_t ram[RAM_SIZE] __attribute__((aligned(4096)));
uint8_t ciram[CIRAM_SIZE] __attribute__((aligned(4096)));