diff --git a/source/quickerNES/core/apu/NESEffectsBuffer.cpp b/source/quickerNES/core/apu/NESEffectsBuffer.cpp index 488c957..3c9c8e1 100644 --- a/source/quickerNES/core/apu/NESEffectsBuffer.cpp +++ b/source/quickerNES/core/apu/NESEffectsBuffer.cpp @@ -88,4 +88,4 @@ void Nes_Effects_Buffer::RestoreAudioBufferState() { } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/apu/NESEffectsBuffer.hpp b/source/quickerNES/core/apu/NESEffectsBuffer.hpp index 7d5e539..ff84a44 100644 --- a/source/quickerNES/core/apu/NESEffectsBuffer.hpp +++ b/source/quickerNES/core/apu/NESEffectsBuffer.hpp @@ -38,4 +38,4 @@ class Nes_Effects_Buffer : public Effects_Buffer friend Multi_Buffer *set_apu(Nes_Effects_Buffer *, Apu *); }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/apu/apu.cpp b/source/quickerNES/core/apu/apu.cpp index a62af88..171bdfa 100644 --- a/source/quickerNES/core/apu/apu.cpp +++ b/source/quickerNES/core/apu/apu.cpp @@ -372,4 +372,4 @@ int Apu::read_status(nes_time_t time) return result; } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/apu/apu.hpp b/source/quickerNES/core/apu/apu.hpp index 104ef1e..c0396ce 100644 --- a/source/quickerNES/core/apu/apu.hpp +++ b/source/quickerNES/core/apu/apu.hpp @@ -360,4 +360,4 @@ inline void Apu::load_state(apu_state_t const &state) dmc.run(last_time, last_time); } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/apu/blipBuffer.cpp b/source/quickerNES/core/apu/blipBuffer.cpp index 568db77..d3f3525 100644 --- a/source/quickerNES/core/apu/blipBuffer.cpp +++ b/source/quickerNES/core/apu/blipBuffer.cpp @@ -419,4 +419,4 @@ void Blip_Buffer::RestoreAudioBufferState() memcpy(buffer_, extra_buffer, sizeof(extra_buffer)); } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/apu/blipBuffer.hpp b/source/quickerNES/core/apu/blipBuffer.hpp index 3cc9c50..d3682a7 100644 --- a/source/quickerNES/core/apu/blipBuffer.hpp +++ b/source/quickerNES/core/apu/blipBuffer.hpp @@ -377,4 +377,4 @@ inline int Blip_Reader::begin(Blip_Buffer &blip_buf) int const blip_max_length = 0; int const blip_default_length = 250; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/apu/buffer.cpp b/source/quickerNES/core/apu/buffer.cpp index 3b5088e..e9d9c83 100644 --- a/source/quickerNES/core/apu/buffer.cpp +++ b/source/quickerNES/core/apu/buffer.cpp @@ -233,4 +233,4 @@ void Nonlinearizer::RestoreAudioBufferState() prev = extra_prev; } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/apu/buffer.hpp b/source/quickerNES/core/apu/buffer.hpp index c55642a..c8c3654 100644 --- a/source/quickerNES/core/apu/buffer.hpp +++ b/source/quickerNES/core/apu/buffer.hpp @@ -79,4 +79,4 @@ class Buffer : public Multi_Buffer virtual void RestoreAudioBufferState(); }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/apu/effectsBuffer.cpp b/source/quickerNES/core/apu/effectsBuffer.cpp index b623de1..4b0c63f 100644 --- a/source/quickerNES/core/apu/effectsBuffer.cpp +++ b/source/quickerNES/core/apu/effectsBuffer.cpp @@ -515,4 +515,4 @@ void Effects_Buffer::mix_enhanced(blip_sample_t *out, long count) r2.end(bufs[6]); } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/apu/effectsBuffer.hpp b/source/quickerNES/core/apu/effectsBuffer.hpp index 6878c58..06c8469 100644 --- a/source/quickerNES/core/apu/effectsBuffer.hpp +++ b/source/quickerNES/core/apu/effectsBuffer.hpp @@ -101,4 +101,4 @@ inline Effects_Buffer::channel_t Effects_Buffer::channel(int i) return channels[i % chan_count]; } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/apu/fme7/apu.cpp b/source/quickerNES/core/apu/fme7/apu.cpp index e464d7b..9abbd0c 100644 --- a/source/quickerNES/core/apu/fme7/apu.cpp +++ b/source/quickerNES/core/apu/fme7/apu.cpp @@ -105,4 +105,4 @@ void Fme7_Apu::run_until(blip_time_t end_time) last_time = end_time; } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/apu/fme7/apu.hpp b/source/quickerNES/core/apu/fme7/apu.hpp index b317d20..a257c12 100644 --- a/source/quickerNES/core/apu/fme7/apu.hpp +++ b/source/quickerNES/core/apu/fme7/apu.hpp @@ -152,4 +152,4 @@ inline void Fme7_Apu::load_state(fme7_apu_state_t const &in) run_until(last_time); } -} // namespace quickNES +} // namespace quickerNES diff --git a/source/quickerNES/core/apu/multiBuffer.cpp b/source/quickerNES/core/apu/multiBuffer.cpp index 5583c94..b94ace1 100644 --- a/source/quickerNES/core/apu/multiBuffer.cpp +++ b/source/quickerNES/core/apu/multiBuffer.cpp @@ -284,4 +284,4 @@ void Stereo_Buffer::RestoreAudioBufferState() right()->RestoreAudioBufferState(); } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/apu/multiBuffer.hpp b/source/quickerNES/core/apu/multiBuffer.hpp index 461af0f..f673ebd 100644 --- a/source/quickerNES/core/apu/multiBuffer.hpp +++ b/source/quickerNES/core/apu/multiBuffer.hpp @@ -199,4 +199,4 @@ inline long Mono_Buffer::read_samples(blip_sample_t *p, long s) { return buf.rea inline long Mono_Buffer::samples_avail() const { return buf.samples_avail(); } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/apu/namco/apu.cpp b/source/quickerNES/core/apu/namco/apu.cpp index 5aab85c..c44cbfb 100644 --- a/source/quickerNES/core/apu/namco/apu.cpp +++ b/source/quickerNES/core/apu/namco/apu.cpp @@ -180,4 +180,4 @@ void Namco_Apu::load_state(namco_state_t const &in) run_until(last_time); } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/apu/namco/apu.hpp b/source/quickerNES/core/apu/namco/apu.hpp index 27c48e2..689aab4 100644 --- a/source/quickerNES/core/apu/namco/apu.hpp +++ b/source/quickerNES/core/apu/namco/apu.hpp @@ -112,4 +112,4 @@ inline void Namco_Apu::write_data(nes_time_t time, int data) access() = data; } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/apu/oscs.cpp b/source/quickerNES/core/apu/oscs.cpp index f7f9033..ef91854 100644 --- a/source/quickerNES/core/apu/oscs.cpp +++ b/source/quickerNES/core/apu/oscs.cpp @@ -679,4 +679,4 @@ void Noise::run(nes_time_t time, nes_time_t end_time) delay = time - end_time; } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/apu/oscs.hpp b/source/quickerNES/core/apu/oscs.hpp index 302f0dd..c26a267 100644 --- a/source/quickerNES/core/apu/oscs.hpp +++ b/source/quickerNES/core/apu/oscs.hpp @@ -169,4 +169,4 @@ struct Dmc : Osc nes_time_t next_read_time() const; }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/apu/vrc6/apu.cpp b/source/quickerNES/core/apu/vrc6/apu.cpp index 83bde65..f361ee6 100644 --- a/source/quickerNES/core/apu/vrc6/apu.cpp +++ b/source/quickerNES/core/apu/vrc6/apu.cpp @@ -212,4 +212,4 @@ void Vrc6_Apu::run_saw(nes_time_t end_time) osc.last_amp = last_amp; } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/apu/vrc6/apu.hpp b/source/quickerNES/core/apu/vrc6/apu.hpp index e26bfe6..c29a004 100644 --- a/source/quickerNES/core/apu/vrc6/apu.hpp +++ b/source/quickerNES/core/apu/vrc6/apu.hpp @@ -109,4 +109,4 @@ inline void Vrc6_Apu::treble_eq(blip_eq_t const &eq) square_synth.treble_eq(eq); } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/apu/vrc7/apu.cpp b/source/quickerNES/core/apu/vrc7/apu.cpp index 77076fa..cdccc37 100644 --- a/source/quickerNES/core/apu/vrc7/apu.cpp +++ b/source/quickerNES/core/apu/vrc7/apu.cpp @@ -208,4 +208,4 @@ void Vrc7::update_last_amp() } } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/apu/vrc7/apu.hpp b/source/quickerNES/core/apu/vrc7/apu.hpp index eac86d9..5c5222e 100644 --- a/source/quickerNES/core/apu/vrc7/apu.hpp +++ b/source/quickerNES/core/apu/vrc7/apu.hpp @@ -76,4 +76,4 @@ inline void Vrc7::osc_output(int i, Blip_Buffer *buf) oscs[i].output = buf; } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/apu/vrc7/emu2413.cpp b/source/quickerNES/core/apu/vrc7/emu2413.cpp index 37aa13e..52de85d 100644 --- a/source/quickerNES/core/apu/vrc7/emu2413.cpp +++ b/source/quickerNES/core/apu/vrc7/emu2413.cpp @@ -1152,4 +1152,4 @@ void OPLL_writeIO(OPLL *opll, e_uint32 adr, e_uint32 val) opll->adr = val; } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/apu/vrc7/emu2413.hpp b/source/quickerNES/core/apu/vrc7/emu2413.hpp index 4c508ae..a9d6e34 100644 --- a/source/quickerNES/core/apu/vrc7/emu2413.hpp +++ b/source/quickerNES/core/apu/vrc7/emu2413.hpp @@ -220,4 +220,4 @@ extern "C" } #endif -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/apu/vrc7/emu2413_state.cpp b/source/quickerNES/core/apu/vrc7/emu2413_state.cpp index 4fff23a..e85f7ec 100644 --- a/source/quickerNES/core/apu/vrc7/emu2413_state.cpp +++ b/source/quickerNES/core/apu/vrc7/emu2413_state.cpp @@ -113,4 +113,4 @@ extern "C" } #endif -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/apu/vrc7/emu2413_state.hpp b/source/quickerNES/core/apu/vrc7/emu2413_state.hpp index 2a97a60..e7bb4a0 100644 --- a/source/quickerNES/core/apu/vrc7/emu2413_state.hpp +++ b/source/quickerNES/core/apu/vrc7/emu2413_state.hpp @@ -38,4 +38,4 @@ extern "C" } #endif -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/cart.hpp b/source/quickerNES/core/cart.hpp index f67fba2..abf1a42 100644 --- a/source/quickerNES/core/cart.hpp +++ b/source/quickerNES/core/cart.hpp @@ -114,4 +114,4 @@ class Cart unsigned mapper; }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/core.hpp b/source/quickerNES/core/core.hpp index 5138b99..2cd9899 100644 --- a/source/quickerNES/core/core.hpp +++ b/source/quickerNES/core/core.hpp @@ -1070,4 +1070,4 @@ inline void Core::cpu_write(nes_addr_t addr, int data, nes_time_t time) static_cast(*cpu).cpu_write(addr, data, time); \ } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/cpu.cpp b/source/quickerNES/core/cpu.cpp index 8ff7e37..f2866fa 100644 --- a/source/quickerNES/core/cpu.cpp +++ b/source/quickerNES/core/cpu.cpp @@ -1169,4 +1169,4 @@ end: } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/cpu.hpp b/source/quickerNES/core/cpu.hpp index 137a7fc..bcddc18 100644 --- a/source/quickerNES/core/cpu.hpp +++ b/source/quickerNES/core/cpu.hpp @@ -138,6 +138,12 @@ class Cpu { return (uint8_t *)code_map[addr >> page_bits] + addr; } + + inline const uint8_t *get_code(nes_addr_t addr) const + { + return (const uint8_t *)code_map[addr >> page_bits] + addr; + } + }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/emu.cpp b/source/quickerNES/core/emu.cpp index b6c6b10..16dd721 100644 --- a/source/quickerNES/core/emu.cpp +++ b/source/quickerNES/core/emu.cpp @@ -445,4 +445,4 @@ void Emu::RestoreAudioBufferState() sound_buf->RestoreAudioBufferState(); } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/emu.hpp b/source/quickerNES/core/emu.hpp index 892234e..9ba1079 100644 --- a/source/quickerNES/core/emu.hpp +++ b/source/quickerNES/core/emu.hpp @@ -219,6 +219,26 @@ class Emu uint8_t *spr_mem() const { return emu.ppu.getSpriteRAM(); } uint16_t spr_mem_size() const { return emu.ppu.getSpriteRAMSize(); } + // Palette memory + uint8_t *pal_mem() const { return emu.ppu.getPaletteRAM(); } + uint16_t pal_mem_size() const { return emu.ppu.getPaletteRAMSize(); } + + uint8_t peek_prg(nes_addr_t addr) const { return *emu.get_code(addr); } + void poke_prg(nes_addr_t addr, uint8_t value) { *emu.get_code(addr) = value; } + uint8_t peek_ppu(int addr) { return emu.ppu.peekaddr(addr); } + + uint8_t get_ppu2000() const { return emu.ppu.w2000; } + + void get_regs(unsigned int *dest) const + { + dest[0] = emu.r.a; + dest[1] = emu.r.x; + dest[2] = emu.r.y; + dest[3] = emu.r.sp; + dest[4] = emu.r.pc; + dest[5] = emu.r.status; + } + // End of public interface public: const char *set_sample_rate(long rate, class Buffer *); @@ -287,4 +307,4 @@ inline long Emu::chr_size() const return cart()->chr_size() ? cart()->chr_size() : emu.ppu.chr_addr_size; } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper.cpp b/source/quickerNES/core/mappers/mapper.cpp index f58cbce..7becb10 100644 --- a/source/quickerNES/core/mappers/mapper.cpp +++ b/source/quickerNES/core/mappers/mapper.cpp @@ -291,4 +291,4 @@ Mapper *Mapper::getMapperFromCode(const int mapperCode) return mapper; } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper.hpp b/source/quickerNES/core/mappers/mapper.hpp index 4ab50b2..c94d6fe 100644 --- a/source/quickerNES/core/mappers/mapper.hpp +++ b/source/quickerNES/core/mappers/mapper.hpp @@ -209,4 +209,4 @@ inline bool Mapper::write_intercepted(nes_time_t, nes_addr_t, int) { return fals inline int Mapper::read(nes_time_t, nes_addr_t) { return -1; } // signal to caller -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper000.hpp b/source/quickerNES/core/mappers/mapper000.hpp index fb94544..f624809 100644 --- a/source/quickerNES/core/mappers/mapper000.hpp +++ b/source/quickerNES/core/mappers/mapper000.hpp @@ -35,4 +35,4 @@ class Mapper000 : public Mapper } }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper001.hpp b/source/quickerNES/core/mappers/mapper001.hpp index 1ed89bc..0e609ee 100644 --- a/source/quickerNES/core/mappers/mapper001.hpp +++ b/source/quickerNES/core/mappers/mapper001.hpp @@ -126,4 +126,4 @@ class Mapper001 : public Mapper, mmc1_state_t } }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper002.hpp b/source/quickerNES/core/mappers/mapper002.hpp index 44cdd47..5d2b552 100644 --- a/source/quickerNES/core/mappers/mapper002.hpp +++ b/source/quickerNES/core/mappers/mapper002.hpp @@ -45,4 +45,4 @@ class Mapper002 : public Mapper } }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper003.hpp b/source/quickerNES/core/mappers/mapper003.hpp index c0896da..d4bc5f3 100644 --- a/source/quickerNES/core/mappers/mapper003.hpp +++ b/source/quickerNES/core/mappers/mapper003.hpp @@ -44,4 +44,4 @@ class Mapper003 : public Mapper } }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper004.hpp b/source/quickerNES/core/mappers/mapper004.hpp index 1f195c9..ad751dc 100644 --- a/source/quickerNES/core/mappers/mapper004.hpp +++ b/source/quickerNES/core/mappers/mapper004.hpp @@ -255,4 +255,4 @@ class Mapper004 : public Mapper, mmc3_state_t int counter_just_clocked; // used only for debugging }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper005.hpp b/source/quickerNES/core/mappers/mapper005.hpp index 41c184d..b1806d5 100644 --- a/source/quickerNES/core/mappers/mapper005.hpp +++ b/source/quickerNES/core/mappers/mapper005.hpp @@ -149,4 +149,4 @@ class Mapper005 : public Mapper, mmc5_state_t nes_time_t irq_time; }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper007.hpp b/source/quickerNES/core/mappers/mapper007.hpp index 786ae09..d557782 100644 --- a/source/quickerNES/core/mappers/mapper007.hpp +++ b/source/quickerNES/core/mappers/mapper007.hpp @@ -52,4 +52,4 @@ class Mapper007 : public Mapper } }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper009.hpp b/source/quickerNES/core/mappers/mapper009.hpp index 2ba6741..709c1d7 100644 --- a/source/quickerNES/core/mappers/mapper009.hpp +++ b/source/quickerNES/core/mappers/mapper009.hpp @@ -78,4 +78,4 @@ class Mapper009 : public Mapper } }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper010.hpp b/source/quickerNES/core/mappers/mapper010.hpp index 3764076..7d0d5b7 100644 --- a/source/quickerNES/core/mappers/mapper010.hpp +++ b/source/quickerNES/core/mappers/mapper010.hpp @@ -76,4 +76,4 @@ class Mapper010 : public Mapper } }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper011.hpp b/source/quickerNES/core/mappers/mapper011.hpp index b5b0c45..535070c 100644 --- a/source/quickerNES/core/mappers/mapper011.hpp +++ b/source/quickerNES/core/mappers/mapper011.hpp @@ -52,4 +52,4 @@ class Mapper011 : public Mapper } }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper015.hpp b/source/quickerNES/core/mappers/mapper015.hpp index 8d65b41..069d367 100644 --- a/source/quickerNES/core/mappers/mapper015.hpp +++ b/source/quickerNES/core/mappers/mapper015.hpp @@ -94,4 +94,4 @@ class Mapper015 : public Mapper, Mapper015_state_t unsigned long int i; }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper019.hpp b/source/quickerNES/core/mappers/mapper019.hpp index 5a28d62..a43cd85 100644 --- a/source/quickerNES/core/mappers/mapper019.hpp +++ b/source/quickerNES/core/mappers/mapper019.hpp @@ -199,4 +199,4 @@ class Mapper019 : public Mapper, namco106_state_t nes_time_t last_time; }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper021.hpp b/source/quickerNES/core/mappers/mapper021.hpp index 5b011cb..a3b6292 100644 --- a/source/quickerNES/core/mappers/mapper021.hpp +++ b/source/quickerNES/core/mappers/mapper021.hpp @@ -256,4 +256,4 @@ void Mapper_VRC2_4::write_irq(nes_time_t time, typedef Mapper_VRC2_4 Mapper021; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper022.hpp b/source/quickerNES/core/mappers/mapper022.hpp index 05e350a..22920b8 100644 --- a/source/quickerNES/core/mappers/mapper022.hpp +++ b/source/quickerNES/core/mappers/mapper022.hpp @@ -34,4 +34,4 @@ namespace quickerNES typedef Mapper_VRC2_4 Mapper022; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper023.hpp b/source/quickerNES/core/mappers/mapper023.hpp index c0cbc22..37e29c9 100644 --- a/source/quickerNES/core/mappers/mapper023.hpp +++ b/source/quickerNES/core/mappers/mapper023.hpp @@ -33,4 +33,4 @@ namespace quickerNES typedef Mapper_VRC2_4 Mapper023; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper024.hpp b/source/quickerNES/core/mappers/mapper024.hpp index 40e5f2c..f8860f0 100644 --- a/source/quickerNES/core/mappers/mapper024.hpp +++ b/source/quickerNES/core/mappers/mapper024.hpp @@ -233,4 +233,4 @@ class Mapper_Vrc6 : public Mapper, vrc6_state_t typedef Mapper_Vrc6<0> Mapper024; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper025.hpp b/source/quickerNES/core/mappers/mapper025.hpp index bb14d30..8ec42ee 100644 --- a/source/quickerNES/core/mappers/mapper025.hpp +++ b/source/quickerNES/core/mappers/mapper025.hpp @@ -33,4 +33,4 @@ namespace quickerNES typedef Mapper_VRC2_4 Mapper025; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper026.hpp b/source/quickerNES/core/mappers/mapper026.hpp index 6243432..22774f0 100644 --- a/source/quickerNES/core/mappers/mapper026.hpp +++ b/source/quickerNES/core/mappers/mapper026.hpp @@ -11,4 +11,4 @@ namespace quickerNES typedef Mapper_Vrc6<3> Mapper026; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper030.hpp b/source/quickerNES/core/mappers/mapper030.hpp index 09a814b..5b9635e 100644 --- a/source/quickerNES/core/mappers/mapper030.hpp +++ b/source/quickerNES/core/mappers/mapper030.hpp @@ -53,4 +53,4 @@ class Mapper030 : public Mapper } }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper032.hpp b/source/quickerNES/core/mappers/mapper032.hpp index d0bde18..bf1a962 100644 --- a/source/quickerNES/core/mappers/mapper032.hpp +++ b/source/quickerNES/core/mappers/mapper032.hpp @@ -126,4 +126,4 @@ class Mapper032 : public Mapper, mapper32_state_t } }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper033.hpp b/source/quickerNES/core/mappers/mapper033.hpp index b78c01a..fcce4d2 100644 --- a/source/quickerNES/core/mappers/mapper033.hpp +++ b/source/quickerNES/core/mappers/mapper033.hpp @@ -103,4 +103,4 @@ class Mapper033 : public Mapper, tc0190_state_t } }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper034.hpp b/source/quickerNES/core/mappers/mapper034.hpp index 9e20885..c8c5e17 100644 --- a/source/quickerNES/core/mappers/mapper034.hpp +++ b/source/quickerNES/core/mappers/mapper034.hpp @@ -44,4 +44,4 @@ class Mapper034 : public Mapper } }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper060.hpp b/source/quickerNES/core/mappers/mapper060.hpp index 638e5c1..c4ee3fe 100644 --- a/source/quickerNES/core/mappers/mapper060.hpp +++ b/source/quickerNES/core/mappers/mapper060.hpp @@ -53,4 +53,4 @@ class Mapper060 : public Mapper uint8_t game_sel, last_game; }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper066.hpp b/source/quickerNES/core/mappers/mapper066.hpp index 53bf077..d58b427 100644 --- a/source/quickerNES/core/mappers/mapper066.hpp +++ b/source/quickerNES/core/mappers/mapper066.hpp @@ -52,4 +52,4 @@ class Mapper066 : public Mapper } }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper069.hpp b/source/quickerNES/core/mappers/mapper069.hpp index b2c0944..2a25727 100644 --- a/source/quickerNES/core/mappers/mapper069.hpp +++ b/source/quickerNES/core/mappers/mapper069.hpp @@ -190,4 +190,4 @@ class Mapper069 : public Mapper, fme7_state_t Fme7_Apu sound; }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper070.hpp b/source/quickerNES/core/mappers/mapper070.hpp index e4a2495..a25b468 100644 --- a/source/quickerNES/core/mappers/mapper070.hpp +++ b/source/quickerNES/core/mappers/mapper070.hpp @@ -84,4 +84,4 @@ class Mapper_74x161x162x32 : public Mapper typedef Mapper_74x161x162x32<70> Mapper070; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper071.hpp b/source/quickerNES/core/mappers/mapper071.hpp index a80af9d..4edc182 100644 --- a/source/quickerNES/core/mappers/mapper071.hpp +++ b/source/quickerNES/core/mappers/mapper071.hpp @@ -54,4 +54,4 @@ class Mapper071 : public Mapper } }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper073.hpp b/source/quickerNES/core/mappers/mapper073.hpp index 3543431..a17dfa5 100644 --- a/source/quickerNES/core/mappers/mapper073.hpp +++ b/source/quickerNES/core/mappers/mapper073.hpp @@ -134,4 +134,4 @@ class Mapper073 : public Mapper, vrc3_state_t } }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper075.hpp b/source/quickerNES/core/mappers/mapper075.hpp index 84e1b0f..583e36a 100644 --- a/source/quickerNES/core/mappers/mapper075.hpp +++ b/source/quickerNES/core/mappers/mapper075.hpp @@ -110,4 +110,4 @@ class Mapper075 : public Mapper, vrc1_state_t } }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper078.hpp b/source/quickerNES/core/mappers/mapper078.hpp index 757555d..7408cc7 100644 --- a/source/quickerNES/core/mappers/mapper078.hpp +++ b/source/quickerNES/core/mappers/mapper078.hpp @@ -77,4 +77,4 @@ class Mapper078 : public Mapper } }; -} // namespace quickNES +} // namespace quickerNES diff --git a/source/quickerNES/core/mappers/mapper079.hpp b/source/quickerNES/core/mappers/mapper079.hpp index e46648e..8142c39 100644 --- a/source/quickerNES/core/mappers/mapper079.hpp +++ b/source/quickerNES/core/mappers/mapper079.hpp @@ -95,4 +95,4 @@ void Mapper_AveNina::write_regs() typedef Mapper_AveNina Mapper079; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper085.hpp b/source/quickerNES/core/mappers/mapper085.hpp index 377ade4..df19c50 100644 --- a/source/quickerNES/core/mappers/mapper085.hpp +++ b/source/quickerNES/core/mappers/mapper085.hpp @@ -225,4 +225,4 @@ class Mapper085 : public Mapper, vrc7_state_t }; }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper086.hpp b/source/quickerNES/core/mappers/mapper086.hpp index 4d718e5..7d70f56 100644 --- a/source/quickerNES/core/mappers/mapper086.hpp +++ b/source/quickerNES/core/mappers/mapper086.hpp @@ -26,4 +26,4 @@ namespace quickerNES typedef Mapper_74x161x162x32<86> Mapper086; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper087.hpp b/source/quickerNES/core/mappers/mapper087.hpp index 1e57216..8c94515 100644 --- a/source/quickerNES/core/mappers/mapper087.hpp +++ b/source/quickerNES/core/mappers/mapper087.hpp @@ -50,4 +50,4 @@ class Mapper087 : public Mapper void write(nes_time_t, nes_addr_t, int) {} }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper088.hpp b/source/quickerNES/core/mappers/mapper088.hpp index 7652074..f3c6ada 100644 --- a/source/quickerNES/core/mappers/mapper088.hpp +++ b/source/quickerNES/core/mappers/mapper088.hpp @@ -112,4 +112,4 @@ class Mapper_Namco_34x3 : public Mapper, namco_34x3_state_t typedef Mapper_Namco_34x3 Mapper088; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper089.hpp b/source/quickerNES/core/mappers/mapper089.hpp index 95576ba..20ff215 100644 --- a/source/quickerNES/core/mappers/mapper089.hpp +++ b/source/quickerNES/core/mappers/mapper089.hpp @@ -59,4 +59,4 @@ class Mapper089 : public Mapper uint8_t regs; }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper093.hpp b/source/quickerNES/core/mappers/mapper093.hpp index 445003d..a04d891 100644 --- a/source/quickerNES/core/mappers/mapper093.hpp +++ b/source/quickerNES/core/mappers/mapper093.hpp @@ -58,4 +58,4 @@ class Mapper093 : public Mapper uint8_t regs; }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper094.hpp b/source/quickerNES/core/mappers/mapper094.hpp index 73cc504..e5b4e65 100644 --- a/source/quickerNES/core/mappers/mapper094.hpp +++ b/source/quickerNES/core/mappers/mapper094.hpp @@ -57,4 +57,4 @@ class Mapper094 : public Mapper uint8_t bank; }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper097.hpp b/source/quickerNES/core/mappers/mapper097.hpp index 6554e53..a5b524b 100644 --- a/source/quickerNES/core/mappers/mapper097.hpp +++ b/source/quickerNES/core/mappers/mapper097.hpp @@ -66,4 +66,4 @@ class Mapper097 : public Mapper uint8_t bank; }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper113.hpp b/source/quickerNES/core/mappers/mapper113.hpp index d60b138..2cd28d2 100644 --- a/source/quickerNES/core/mappers/mapper113.hpp +++ b/source/quickerNES/core/mappers/mapper113.hpp @@ -30,4 +30,4 @@ namespace quickerNES typedef Mapper_AveNina Mapper113; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper140.hpp b/source/quickerNES/core/mappers/mapper140.hpp index 723d7e1..9c2223f 100644 --- a/source/quickerNES/core/mappers/mapper140.hpp +++ b/source/quickerNES/core/mappers/mapper140.hpp @@ -66,4 +66,4 @@ class Mapper140 : public Mapper uint8_t regs; }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper152.hpp b/source/quickerNES/core/mappers/mapper152.hpp index 6b5071f..97246d4 100644 --- a/source/quickerNES/core/mappers/mapper152.hpp +++ b/source/quickerNES/core/mappers/mapper152.hpp @@ -26,4 +26,4 @@ namespace quickerNES typedef Mapper_74x161x162x32<152> Mapper152; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper154.hpp b/source/quickerNES/core/mappers/mapper154.hpp index d8e74c6..0573c80 100644 --- a/source/quickerNES/core/mappers/mapper154.hpp +++ b/source/quickerNES/core/mappers/mapper154.hpp @@ -30,4 +30,4 @@ namespace quickerNES typedef Mapper_Namco_34x3 Mapper154; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper156.hpp b/source/quickerNES/core/mappers/mapper156.hpp index bf43a20..9306b6e 100644 --- a/source/quickerNES/core/mappers/mapper156.hpp +++ b/source/quickerNES/core/mappers/mapper156.hpp @@ -62,4 +62,4 @@ class Mapper156 : public Mapper, m156_state_t } }; -} // namespace quickNES +} // namespace quickerNES diff --git a/source/quickerNES/core/mappers/mapper180.hpp b/source/quickerNES/core/mappers/mapper180.hpp index dd37ad8..6614efe 100644 --- a/source/quickerNES/core/mappers/mapper180.hpp +++ b/source/quickerNES/core/mappers/mapper180.hpp @@ -57,4 +57,4 @@ class Mapper180 : public Mapper uint8_t bank; }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper184.hpp b/source/quickerNES/core/mappers/mapper184.hpp index b2a120b..6d8f1d7 100644 --- a/source/quickerNES/core/mappers/mapper184.hpp +++ b/source/quickerNES/core/mappers/mapper184.hpp @@ -67,4 +67,4 @@ class Mapper184 : public Mapper uint8_t regs; }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper190.hpp b/source/quickerNES/core/mappers/mapper190.hpp index 87fc53b..9190ff6 100644 --- a/source/quickerNES/core/mappers/mapper190.hpp +++ b/source/quickerNES/core/mappers/mapper190.hpp @@ -57,4 +57,4 @@ class Mapper190 : public Mapper } }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper193.hpp b/source/quickerNES/core/mappers/mapper193.hpp index b2c0bfa..642cfb6 100644 --- a/source/quickerNES/core/mappers/mapper193.hpp +++ b/source/quickerNES/core/mappers/mapper193.hpp @@ -78,4 +78,4 @@ class Mapper193 : public Mapper uint8_t regs[4]; }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper206.hpp b/source/quickerNES/core/mappers/mapper206.hpp index ba6d40b..2f2d224 100644 --- a/source/quickerNES/core/mappers/mapper206.hpp +++ b/source/quickerNES/core/mappers/mapper206.hpp @@ -100,4 +100,4 @@ class Mapper206 : public Mapper, namco_34xx_state_t } }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper207.hpp b/source/quickerNES/core/mappers/mapper207.hpp index a56fca6..262f292 100644 --- a/source/quickerNES/core/mappers/mapper207.hpp +++ b/source/quickerNES/core/mappers/mapper207.hpp @@ -93,4 +93,4 @@ class Mapper207 : public Mapper, taito_x1005_state_t virtual void write(nes_time_t, nes_addr_t addr, int data) {} }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper232.hpp b/source/quickerNES/core/mappers/mapper232.hpp index 1fe5ccb..c6c86f5 100644 --- a/source/quickerNES/core/mappers/mapper232.hpp +++ b/source/quickerNES/core/mappers/mapper232.hpp @@ -56,4 +56,4 @@ class Mapper232 : public Mapper } }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper240.hpp b/source/quickerNES/core/mappers/mapper240.hpp index 29b7a3a..aa2ee35 100644 --- a/source/quickerNES/core/mappers/mapper240.hpp +++ b/source/quickerNES/core/mappers/mapper240.hpp @@ -66,4 +66,4 @@ class Mapper240 : public Mapper uint8_t regs; }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper241.hpp b/source/quickerNES/core/mappers/mapper241.hpp index 0cca757..ec6999d 100644 --- a/source/quickerNES/core/mappers/mapper241.hpp +++ b/source/quickerNES/core/mappers/mapper241.hpp @@ -55,4 +55,4 @@ class Mapper241 : public Mapper uint8_t bank; }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper244.hpp b/source/quickerNES/core/mappers/mapper244.hpp index d21a743..fb5a771 100644 --- a/source/quickerNES/core/mappers/mapper244.hpp +++ b/source/quickerNES/core/mappers/mapper244.hpp @@ -72,4 +72,4 @@ class Mapper244 : public Mapper, mapper244_state_t } }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/mappers/mapper246.hpp b/source/quickerNES/core/mappers/mapper246.hpp index e25fdef..cc0f60b 100644 --- a/source/quickerNES/core/mappers/mapper246.hpp +++ b/source/quickerNES/core/mappers/mapper246.hpp @@ -77,4 +77,4 @@ class Mapper246 : public Mapper uint8_t regs[8]; }; -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/ppu/ppu.cpp b/source/quickerNES/core/ppu/ppu.cpp index aeb8b40..aa76394 100644 --- a/source/quickerNES/core/ppu/ppu.cpp +++ b/source/quickerNES/core/ppu/ppu.cpp @@ -656,4 +656,4 @@ nes_time_t Ppu::earliest_open_bus_decay() return (decay_low < decay_high) ? decay_low : decay_high; } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/ppu/ppu.hpp b/source/quickerNES/core/ppu/ppu.hpp index 9eee0b0..a247f01 100644 --- a/source/quickerNES/core/ppu/ppu.hpp +++ b/source/quickerNES/core/ppu/ppu.hpp @@ -143,4 +143,4 @@ inline void Ppu::update_open_bus(nes_time_t time) if (time >= decay_high) open_bus &= ~0xE0; } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/ppu/ppuImpl.cpp b/source/quickerNES/core/ppu/ppuImpl.cpp index ffe48d9..2790b10 100644 --- a/source/quickerNES/core/ppu/ppuImpl.cpp +++ b/source/quickerNES/core/ppu/ppuImpl.cpp @@ -433,4 +433,4 @@ long Ppu_Impl::recalc_sprite_max(int scanline) return 0; } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/ppu/ppuImpl.hpp b/source/quickerNES/core/ppu/ppuImpl.hpp index ef555a9..cae2bca 100644 --- a/source/quickerNES/core/ppu/ppuImpl.hpp +++ b/source/quickerNES/core/ppu/ppuImpl.hpp @@ -89,10 +89,27 @@ class Ppu_Impl : public ppu_state_t }; impl_t *impl; + long map_chr_addr_peek( unsigned a ) const + { + return chr_pages[a / chr_page_size] + a; + } + + int peekaddr(int addr) + { + if (addr < 0x2000) + return chr_data[map_chr_addr_peek(addr)]; + else + return get_nametable(addr)[addr & 0x3ff]; + } + static const uint16_t scanline_len = 341; uint8_t *getSpriteRAM() const { return (uint8_t*)spr_ram; } uint16_t getSpriteRAMSize() const { return spr_ram_size; } + + uint8_t *getPaletteRAM() const { return (uint8_t*)palette; } + uint16_t getPaletteRAMSize() const { return sizeof(palette); } + uint8_t spr_ram[spr_ram_size]; void all_tiles_modified(); @@ -243,4 +260,4 @@ inline void Ppu_Impl::begin_frame() addr_inc = w2000 & 4 ? 32 : 1; } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/ppu/ppuRendering.cpp b/source/quickerNES/core/ppu/ppuRendering.cpp index 0fef109..5f89f8b 100644 --- a/source/quickerNES/core/ppu/ppuRendering.cpp +++ b/source/quickerNES/core/ppu/ppuRendering.cpp @@ -503,4 +503,4 @@ void Ppu_Rendering::draw_background(int start, int count) } } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file diff --git a/source/quickerNES/core/ppu/ppuRendering.hpp b/source/quickerNES/core/ppu/ppuRendering.hpp index e2e8cf1..31ac831 100644 --- a/source/quickerNES/core/ppu/ppuRendering.hpp +++ b/source/quickerNES/core/ppu/ppuRendering.hpp @@ -61,4 +61,4 @@ inline void Ppu_Rendering::draw_sprites(int start, int count) draw_scanlines(start, count, host_pixels + host_row_bytes * start, host_row_bytes, 2); } -} // namespace quickNES \ No newline at end of file +} // namespace quickerNES \ No newline at end of file