From d8c203a69a9e919313bed81a817d667424043238 Mon Sep 17 00:00:00 2001 From: goyuken Date: Fri, 17 Jan 2014 19:40:25 +0000 Subject: [PATCH] quicknes: support mapper 78. a crappy heuristic is used to guess board type, but it works for both games on it, so there --- output/dll/libquicknes.dll | Bin 420936 -> 423364 bytes quicknes/libquicknes/libquicknes.vcxproj | 42 ++++++ .../libquicknes/libquicknes.vcxproj.filters | 122 ++++++++++++++++++ quicknes/nes_emu/misc_mappers.cpp | 71 ++++++++++ 4 files changed, 235 insertions(+) diff --git a/output/dll/libquicknes.dll b/output/dll/libquicknes.dll index df5f62974f52881d258a719a3486672d01d48dad..8a9ca092765b6be56df11842dfdab5ff040e5303 100644 GIT binary patch delta 67216 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {F07F76D3-08E6-4EBC-82F9-53FF90ABD9A9} libquicknes diff --git a/quicknes/libquicknes/libquicknes.vcxproj.filters b/quicknes/libquicknes/libquicknes.vcxproj.filters index 10f27d6592..cbe833eda0 100644 --- a/quicknes/libquicknes/libquicknes.vcxproj.filters +++ b/quicknes/libquicknes/libquicknes.vcxproj.filters @@ -136,4 +136,126 @@ Source Files + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\nes_emu + + + Header Files\fex + + + Header Files\fex + + + Header Files\fex + + + Header Files\fex + + + Header Files\fex + + + Header Files\fex + + \ No newline at end of file diff --git a/quicknes/nes_emu/misc_mappers.cpp b/quicknes/nes_emu/misc_mappers.cpp index bc79b768f5..71b89c55a2 100644 --- a/quicknes/nes_emu/misc_mappers.cpp +++ b/quicknes/nes_emu/misc_mappers.cpp @@ -194,6 +194,75 @@ public: } }; +class Mapper_78 : public Nes_Mapper { + // lower 8 bits are the reg at 8000:ffff + // next two bits are autodetecting type + // 0 = unknown 1 = cosmo carrier 2 = holy diver + int reg; + void writeinternal(int data, int changed) + { + reg &= 0x300; + reg |= data; + + if (changed & 0x07) + set_prg_bank(0x8000, bank_16k, reg & 0x07); + if (changed & 0xf0) + set_chr_bank(0x0000, bank_8k, (reg >> 4) & 0x0f); + if (changed & 0x08) + { + // set mirroring based on memorized board type + if (reg & 0x100) + { + mirror_single((reg >> 3) & 1); + } + else if (reg & 0x200) + { + if (reg & 0x08) + mirror_vert(); + else + mirror_horiz(); + } + else + { + // if you don't set something here, holy diver dumps with 4sc set will + // savestate as 4k NTRAM. then when you later set H\V mapping, state size mismatch. + mirror_single(1); + } + } + } + +public: + Mapper_78() + { + register_state(®, 4); + } + + virtual void reset_state() + { + reg = 0; + } + + virtual void apply_mapping() + { + writeinternal(reg, 0xff); + } + + virtual void write( nes_time_t, nes_addr_t addr, int data) + { + // heuristic: if the first write ever to the register is 0, + // we're on holy diver, otherwise, carrier. it works for these two games... + if (!(reg & 0x300)) + { + reg |= data ? 0x100 : 0x200; + writeinternal(data, 0xff); + } + else + { + writeinternal(data, reg ^ data); + } + } +}; + void register_misc_mappers(); void register_misc_mappers() { @@ -203,5 +272,7 @@ void register_misc_mappers() register_mapper( 71 ); register_mapper( 87 ); register_mapper( 232 ); + + register_mapper( 78 ); }