From 5415f51de0f244555de805de1f4a3f7f02e7c6ba Mon Sep 17 00:00:00 2001 From: goyuken Date: Wed, 7 May 2014 18:19:36 +0000 Subject: [PATCH] quicknes: fire emblem --- output/dll/libquicknes.dll | Bin 423364 -> 431527 bytes quicknes/bizinterface.cpp | 2 + quicknes/libquicknes/libquicknes.vcxproj | 2 + .../libquicknes/libquicknes.vcxproj.filters | 6 + quicknes/mingw/Makefile | 1 + quicknes/nes_emu/Mapper_Namco106.cpp | 3 + quicknes/nes_emu/Mmc24.cpp | 117 ++++++++++++++++++ quicknes/nes_emu/Mmc24.h | 7 ++ quicknes/nes_emu/Nes_Mapper.cpp | 6 + quicknes/nes_emu/Nes_Mapper.h | 1 + quicknes/nes_emu/Nes_Ppu.cpp | 2 +- quicknes/nes_emu/Nes_Ppu_Bg.h | 1 - quicknes/nes_emu/Nes_Ppu_Impl.cpp | 27 ++++ quicknes/nes_emu/Nes_Ppu_Impl.h | 35 +++++- quicknes/nes_emu/Nes_Ppu_Rendering.cpp | 4 +- 15 files changed, 204 insertions(+), 10 deletions(-) create mode 100644 quicknes/nes_emu/Mmc24.cpp create mode 100644 quicknes/nes_emu/Mmc24.h diff --git a/output/dll/libquicknes.dll b/output/dll/libquicknes.dll index 632c80874ca3f85ad2907e45bd72aeb5af32ee75..a1e53a83de2f38800f50eedd18a623ee8c230e42 100644 GIT binary patch delta 87158 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 delta 82135 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 LA7U51=Cl6?apQCF diff --git a/quicknes/bizinterface.cpp b/quicknes/bizinterface.cpp index 66b8f193d2..fd8018d939 100644 --- a/quicknes/bizinterface.cpp +++ b/quicknes/bizinterface.cpp @@ -284,5 +284,7 @@ EXPORT const char *qn_get_mapper(Nes_Emu *e, int *number) case 66: return "gnrom"; case 87: return "mapper_87"; case 232: return "quattro"; + case 9: return "mmc2"; + case 10: return "mmc4"; } } diff --git a/quicknes/libquicknes/libquicknes.vcxproj b/quicknes/libquicknes/libquicknes.vcxproj index bc4afff8f0..5ac37479d7 100644 --- a/quicknes/libquicknes/libquicknes.vcxproj +++ b/quicknes/libquicknes/libquicknes.vcxproj @@ -24,6 +24,7 @@ + @@ -64,6 +65,7 @@ + diff --git a/quicknes/libquicknes/libquicknes.vcxproj.filters b/quicknes/libquicknes/libquicknes.vcxproj.filters index cbe833eda0..f8b33fa5e1 100644 --- a/quicknes/libquicknes/libquicknes.vcxproj.filters +++ b/quicknes/libquicknes/libquicknes.vcxproj.filters @@ -135,6 +135,9 @@ Source Files + + Source Files\nes_emu + @@ -257,5 +260,8 @@ Header Files\fex + + Header Files\nes_emu + \ No newline at end of file diff --git a/quicknes/mingw/Makefile b/quicknes/mingw/Makefile index 0868cc53a0..1f845a80b4 100644 --- a/quicknes/mingw/Makefile +++ b/quicknes/mingw/Makefile @@ -38,6 +38,7 @@ SRCS = \ ../nes_emu/Nes_State.cpp \ ../nes_emu/nes_util.cpp \ ../nes_emu/Nes_Vrc6_Apu.cpp \ + ../nes_emu/Mmc24.cpp \ ../bizinterface.cpp \ ../fex/Data_Reader.cpp \ ../fex/blargg_errors.cpp \ diff --git a/quicknes/nes_emu/Mapper_Namco106.cpp b/quicknes/nes_emu/Mapper_Namco106.cpp index 5039e54539..3c2c32aad3 100644 --- a/quicknes/nes_emu/Mapper_Namco106.cpp +++ b/quicknes/nes_emu/Mapper_Namco106.cpp @@ -209,5 +209,8 @@ void register_optional_mappers() extern void register_namco106_mapper(); register_namco106_mapper(); + + extern void register_mmc24(); + register_mmc24(); } diff --git a/quicknes/nes_emu/Mmc24.cpp b/quicknes/nes_emu/Mmc24.cpp new file mode 100644 index 0000000000..13a7fba32f --- /dev/null +++ b/quicknes/nes_emu/Mmc24.cpp @@ -0,0 +1,117 @@ +#include + +#include "Nes_Mapper.h" +#include "blargg_source.h" + +#include "Mmc24.h" + + +class MMC2: public Nes_Mapper +{ + byte regs[6]; // A,B,C,D,E,F + + void mirror(byte val) + { + if (val & 1) + mirror_horiz(); + else + mirror_vert(); + } + +public: + MMC2() + { + register_state(regs, sizeof(regs)); + } + + virtual void reset_state() + { + std::memset(regs, 0, sizeof(regs)); + } + + virtual void apply_mapping() + { + mirror(regs[5]); + set_prg_bank(0x8000, bank_8k, regs[0]); + set_prg_bank(0xa000, bank_8k, 13); + set_prg_bank(0xc000, bank_8k, 14); + set_prg_bank(0xe000, bank_8k, 15); + + set_chr_bank(0x0000, bank_4k, regs[1]); + set_chr_bank(0x1000, bank_4k, regs[3]); + + set_chr_bank_ex(0x0000, bank_4k, regs[2]); + set_chr_bank_ex(0x1000, bank_4k, regs[4]); + } + + virtual void write(nes_time_t, nes_addr_t addr, int data) + { + switch (addr >> 12) + { + case 0xa: regs[0] = data; set_prg_bank(0x8000, bank_8k, data); break; + case 0xb: regs[1] = data; set_chr_bank(0x0000, bank_4k, data); break; + case 0xc: regs[2] = data; set_chr_bank_ex(0x0000, bank_4k, data); break; + case 0xd: regs[3] = data; set_chr_bank(0x1000, bank_4k, data); break; + case 0xe: regs[4] = data; set_chr_bank_ex(0x1000, bank_4k, data); break; + case 0xf: regs[5] = data; mirror(data); break; + } + } +}; + +class MMC4: public Nes_Mapper +{ + byte regs[6]; // A,B,C,D,E,F + + void mirror(byte val) + { + if (val & 1) + mirror_horiz(); + else + mirror_vert(); + } + +public: + MMC4() + { + register_state(regs, sizeof(regs)); + } + + virtual void reset_state() + { + std::memset(regs, 0, sizeof(regs)); + } + + virtual void apply_mapping() + { + enable_sram(); + + mirror(regs[5]); + set_prg_bank(0x8000, bank_16k, regs[0]); + + set_chr_bank(0x0000, bank_4k, regs[1]); + set_chr_bank(0x1000, bank_4k, regs[3]); + + set_chr_bank_ex(0x0000, bank_4k, regs[2]); + set_chr_bank_ex(0x1000, bank_4k, regs[4]); + } + + virtual void write(nes_time_t, nes_addr_t addr, int data) + { + switch (addr >> 12) + { + case 0xa: regs[0] = data; set_prg_bank(0x8000, bank_16k, data); break; + case 0xb: regs[1] = data; set_chr_bank(0x0000, bank_4k, data); break; + case 0xc: regs[2] = data; set_chr_bank_ex(0x0000, bank_4k, data); break; + case 0xd: regs[3] = data; set_chr_bank(0x1000, bank_4k, data); break; + case 0xe: regs[4] = data; set_chr_bank_ex(0x1000, bank_4k, data); break; + case 0xf: regs[5] = data; mirror(data); break; + } + } +}; + + +void register_mmc24() +{ + register_mapper(9); + register_mapper(10); +} diff --git a/quicknes/nes_emu/Mmc24.h b/quicknes/nes_emu/Mmc24.h new file mode 100644 index 0000000000..a7400ef0c9 --- /dev/null +++ b/quicknes/nes_emu/Mmc24.h @@ -0,0 +1,7 @@ +#ifndef MMC24_H +#define MMC24_H + + +void register_mmc24(); + +#endif diff --git a/quicknes/nes_emu/Nes_Mapper.cpp b/quicknes/nes_emu/Nes_Mapper.cpp index a55f02397c..eaef1c99bd 100644 --- a/quicknes/nes_emu/Nes_Mapper.cpp +++ b/quicknes/nes_emu/Nes_Mapper.cpp @@ -148,6 +148,12 @@ void Nes_Mapper::set_chr_bank( nes_addr_t addr, bank_size_t bs, int bank ) emu().ppu.set_chr_bank( addr, 1 << bs, bank << bs ); } +void Nes_Mapper::set_chr_bank_ex( nes_addr_t addr, bank_size_t bs, int bank ) +{ + emu().ppu.render_until( emu().clock() ); + emu().ppu.set_chr_bank_ex( addr, 1 << bs, bank << bs ); +} + void Nes_Mapper::mirror_manual( int page0, int page1, int page2, int page3 ) { emu().ppu.render_bg_until( emu().clock() ); diff --git a/quicknes/nes_emu/Nes_Mapper.h b/quicknes/nes_emu/Nes_Mapper.h index 59a258a571..f7206b254c 100644 --- a/quicknes/nes_emu/Nes_Mapper.h +++ b/quicknes/nes_emu/Nes_Mapper.h @@ -121,6 +121,7 @@ protected: // Map 'size' bytes from 'CHR + bank * size' to PPU address space starting at 'addr' void set_chr_bank( nes_addr_t addr, bank_size_t size, int bank ); + void set_chr_bank_ex( nes_addr_t addr, bank_size_t size, int bank ); // Set PPU mirroring. All mappings implemented using mirror_manual(). void mirror_manual( int page0, int page1, int page2, int page3 ); diff --git a/quicknes/nes_emu/Nes_Ppu.cpp b/quicknes/nes_emu/Nes_Ppu.cpp index 22affb2a3c..a3ff00aad6 100644 --- a/quicknes/nes_emu/Nes_Ppu.cpp +++ b/quicknes/nes_emu/Nes_Ppu.cpp @@ -226,7 +226,7 @@ inline void Nes_Ppu::invalidate_sprite_max( nes_time_t t ) // Sprite 0 hit -inline int Nes_Ppu_Impl::first_opaque_sprite_line() const +inline int Nes_Ppu_Impl::first_opaque_sprite_line() /*const*/ { // advance earliest time if sprite has blank lines at beginning byte const* p = map_chr( sprite_tile_index( spr_ram ) * 16 ); diff --git a/quicknes/nes_emu/Nes_Ppu_Bg.h b/quicknes/nes_emu/Nes_Ppu_Bg.h index 3bcfde4a65..e1ca5f2fbf 100644 --- a/quicknes/nes_emu/Nes_Ppu_Bg.h +++ b/quicknes/nes_emu/Nes_Ppu_Bg.h @@ -66,4 +66,3 @@ while ( true ) if ( !count ) break; } - diff --git a/quicknes/nes_emu/Nes_Ppu_Impl.cpp b/quicknes/nes_emu/Nes_Ppu_Impl.cpp index 7bb694b1c2..e9aae96e45 100644 --- a/quicknes/nes_emu/Nes_Ppu_Impl.cpp +++ b/quicknes/nes_emu/Nes_Ppu_Impl.cpp @@ -33,6 +33,10 @@ Nes_Ppu_Impl::Nes_Ppu_Impl() max_palette_size = 0; tile_cache_mem = NULL; ppu_state_t::unused = 0; + + mmc24_enabled = false; + mmc24_latched[0] = 0; + mmc24_latched[1] = 0; #ifndef NDEBUG // verify that unaligned accesses work @@ -126,6 +130,29 @@ void Nes_Ppu_Impl::set_chr_bank( int addr, int size, long data ) } } +void Nes_Ppu_Impl::set_chr_bank_ex( int addr, int size, long data ) +{ + mmc24_enabled = true; + + check( !chr_is_writable || addr == data ); // to do: is CHR RAM ever bank-switched? + //dprintf( "Tried to set CHR RAM bank at %04X to CHR+%04X\n", addr, data ); + + if ( data + size > chr_size ) + data %= chr_size; + + int count = (unsigned) size / chr_page_size; + assert( chr_page_size * count == size ); + assert( addr + size <= chr_addr_size ); + + int page = (unsigned) addr / chr_page_size; + while ( count-- ) + { + chr_pages_ex [page] = data - page * chr_page_size; + page++; + data += chr_page_size; + } +} + void Nes_Ppu_Impl::save_state( Nes_State_* out ) const { *out->ppu = *this; diff --git a/quicknes/nes_emu/Nes_Ppu_Impl.h b/quicknes/nes_emu/Nes_Ppu_Impl.h index 3eb8bdf6f2..c3965ffed9 100644 --- a/quicknes/nes_emu/Nes_Ppu_Impl.h +++ b/quicknes/nes_emu/Nes_Ppu_Impl.h @@ -1,4 +1,3 @@ - // NES PPU misc functions and setup // Nes_Emu 0.7.0 @@ -45,6 +44,7 @@ public: enum { vaddr_clock_mask = 0x1000 }; void set_nt_banks( int bank0, int bank1, int bank2, int bank3 ); void set_chr_bank( int addr, int size, long data ); + void set_chr_bank_ex( int addr, int size, long data ); // Nametable and CHR RAM enum { nt_ram_size = 0x1000 }; @@ -77,7 +77,7 @@ protected: //friend class Nes_Ppu; private: enum { last_sprite_max_scanline = 240 }; long recalc_sprite_max( int scanline ); - int first_opaque_sprite_line() const; + int first_opaque_sprite_line() /*const*/; protected: //friend class Nes_Ppu_Rendering; private: @@ -91,8 +91,8 @@ protected: //friend class Nes_Ppu_Rendering; private: typedef uint32_t cache_t; typedef cache_t cached_tile_t [4]; - cached_tile_t const& get_bg_tile( int index ) const; - cached_tile_t const& get_sprite_tile( byte const* sprite ) const; + cached_tile_t const& get_bg_tile( int index ) /*const*/; + cached_tile_t const& get_sprite_tile( byte const* sprite ) /*const*/; byte* get_nametable( int addr ) { return nt_banks [addr >> 10 & 3]; }; private: @@ -103,14 +103,37 @@ private: // Mapping enum { chr_page_size = 0x400 }; long chr_pages [chr_addr_size / chr_page_size]; - long map_chr_addr( unsigned a ) const { return chr_pages [a / chr_page_size] + a; } + long chr_pages_ex [chr_addr_size / chr_page_size]; + long map_chr_addr( unsigned a ) /*const*/ + { + if (!mmc24_enabled) + return chr_pages [a / chr_page_size] + a; + + int page = a >> 12 & 1; + int newval0 = (a & 0xff0) != 0xfd0; + int newval1 = (a & 0xff0) == 0xfe0; + + long ret; + if (mmc24_latched[page]) + ret = chr_pages_ex [a / chr_page_size] + a; + else + ret = chr_pages [a / chr_page_size] + a; + + mmc24_latched[page] &= newval0; + mmc24_latched[page] |= newval1; + + return ret; + } byte* nt_banks [4]; + bool mmc24_enabled; + byte mmc24_latched [2]; + // CHR data byte const* chr_data; // points to chr ram when there is no read-only data byte* chr_ram; // always points to impl->chr_ram; makes write_2007() faster long chr_size; - byte const* map_chr( int addr ) const { return &chr_data [map_chr_addr( addr )]; } + byte const* map_chr( int addr ) /*const*/ { return &chr_data [map_chr_addr( addr )]; } // CHR cache cached_tile_t* tile_cache; diff --git a/quicknes/nes_emu/Nes_Ppu_Rendering.cpp b/quicknes/nes_emu/Nes_Ppu_Rendering.cpp index 7cc726feb3..ec0ad14730 100644 --- a/quicknes/nes_emu/Nes_Ppu_Rendering.cpp +++ b/quicknes/nes_emu/Nes_Ppu_Rendering.cpp @@ -32,7 +32,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ // Nes_Ppu_Impl inline Nes_Ppu_Impl::cached_tile_t const& - Nes_Ppu_Impl::get_sprite_tile( byte const* sprite ) const + Nes_Ppu_Impl::get_sprite_tile( byte const* sprite ) /*const*/ { cached_tile_t* tiles = tile_cache; if ( sprite [2] & 0x40 ) @@ -45,7 +45,7 @@ inline Nes_Ppu_Impl::cached_tile_t const& ((byte*) tiles + map_chr_addr( index * bytes_per_tile )); } -inline Nes_Ppu_Impl::cached_tile_t const& Nes_Ppu_Impl::get_bg_tile( int index ) const +inline Nes_Ppu_Impl::cached_tile_t const& Nes_Ppu_Impl::get_bg_tile( int index ) /*const*/ { // use index directly, since cached tile is same size as native tile BOOST_STATIC_ASSERT( sizeof (cached_tile_t) == bytes_per_tile );