X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=mappers%2F25.c;h=37e2742494ecf70c0a4f181b0fbaf935d5754679;hb=5bd16b94320afa9dfba4985f5d69c2d84bae4c33;hp=f8c1d73a0b9c2a987f000e10c9ded57312ffddf7;hpb=d97315ac0bca825d2d50a44453bc5652946e2c67;p=fceu.git diff --git a/mappers/25.c b/mappers/25.c index f8c1d73..37e2742 100644 --- a/mappers/25.c +++ b/mappers/25.c @@ -16,6 +16,7 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * (VRC4 mapper) */ #include "mapinc.h" @@ -25,8 +26,19 @@ #define K4sel mapbyte1[0] static int acount=0; +static int weirdo=0; static DECLFW(Mapper25_write) { + if(A==0xC007) + { + weirdo=8; // Ganbare Goemon Gaiden does strange things!!! at the end credits + // quick dirty hack, seems there is no other games with such PCB, so + // we never know if it will not work for something else lol + VROM_BANK1(0x0000,0xFC); + VROM_BANK1(0x0400,0xFD); + VROM_BANK1(0x0800,0xFF); + } + A=(A&0xF003)|((A&0xC)>>2); if((A&0xF000)==0xA000) @@ -37,7 +49,10 @@ static DECLFW(Mapper25_write) K4buf[x]&=(0xF0)>>((A&2)<<1); K4buf[x]|=(V&0xF)<<((A&2)<<1); - VROM_BANK1(x<<10,K4buf[x]); + if(weirdo) + weirdo--; + else + VROM_BANK1(x<<10,K4buf[x]); } else if((A&0xF000)==0x8000) {