*
* 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
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ * (VRCII mapper)
*/
#include "mapinc.h"
#define K4sel mapbyte1[0]
static int acount=0;
+static int weirdo=0;
static DECLFW(Mapper25_write)
{
- A=(A&0xF003)|((A&0xC)>>2);
+ 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);
+ VROM_BANK1(0x0c00,0xCF);
+ }
+
+ A=(A&0xF003)|((A&0xC)>>2);
if((A&0xF000)==0xA000)
ROM_BANK8(0xA000,V);
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)
{
}
}
-static void FP_FASTAPASS(1) KonamiIRQHook(int a)
+static void KonamiIRQHook(int a)
{
// #define LCYCS ((227*2))
#define LCYCS 341