1 files changed, 5 insertions, 0 deletions
|
diff --git a/cpu.c b/cpu.c index a04c603..bf8ab90 100644 --- a/ cpu.c+++ b/ cpu.c |
| @@ -54,6 +54,8 @@ peek(uint16_t addr) |
| 54 | fprintf(stderr, "PRG ROG size is not 0x4000 nor 0x8000\n"), exit(1); |
54 | fprintf(stderr, "PRG ROG size is not 0x4000 nor 0x8000\n"), exit(1); |
| 55 | } else if ((addr >= 0x4000 && addr <= 0x4013) || addr == 0x4015 || addr == 0x4017) |
55 | } else if ((addr >= 0x4000 && addr <= 0x4013) || addr == 0x4015 || addr == 0x4017) |
| 56 | return apu_read(addr); |
56 | return apu_read(addr); |
| |
57 | else if (addr >= 0x2000 && addr <= 0x3FFF) |
| |
58 | return ppu_read(addr); |
| 57 | else |
59 | else |
| 58 | return memory[addr]; |
60 | return memory[addr]; |
| 59 | } |
61 | } |
| @@ -71,6 +73,9 @@ memwrite(uint16_t addr, uint8_t byte) |
| 71 | if (addr >= 0x4000 && addr <= 0x4017) { |
73 | if (addr >= 0x4000 && addr <= 0x4017) { |
| 72 | apu_write(addr, byte); |
74 | apu_write(addr, byte); |
| 73 | return; |
75 | return; |
| |
76 | } else if (addr >= 0x2000 && addr <= 0x3FFF) { |
| |
77 | ppu_write(addr, byte); |
| |
78 | return; |
| 74 | } |
79 | } |
| 75 | |
80 | |
| 76 | MEMORY_MIRROR(addr); |
81 | MEMORY_MIRROR(addr); |
|