X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=mappers%2F67.c;h=ee2390a9c5f2596feb947dc5d7c40b235400e35e;hb=386f5371eb984fb9c2860c83e740890a75cd45c1;hp=f5bbb2b581e26e2e6985a4206d50c9659da90498;hpb=c0bf6f9f02a2b6afb961a7e9195e2168d7e9cecf;p=fceu.git diff --git a/mappers/67.c b/mappers/67.c index f5bbb2b..ee2390a 100644 --- a/mappers/67.c +++ b/mappers/67.c @@ -1,7 +1,7 @@ /* FCE Ultra - NES/Famicom Emulator * * Copyright notice for this file: - * Copyright (C) 2002 Ben Parnell + * Copyright (C) 2002 Xodnizel * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -15,7 +15,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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include "mapinc.h" @@ -23,7 +23,7 @@ #define suntoggle mapbyte1[0] -DECLFW(Mapper67_write) +static DECLFW(Mapper67_write) { A&=0xF800; if((A&0x800) && A<=0xb800) @@ -34,11 +34,18 @@ DECLFW(Mapper67_write) { case 0xc800: case 0xc000:if(!suntoggle) - {IRQCount&=0xFF;IRQCount|=V<<8;} - else{IRQCount&=0xFF00;IRQCount|=V;} + { + IRQCount&=0xFF; + IRQCount|=V<<8; + } + else + { + IRQCount&=0xFF00; + IRQCount|=V; + } suntoggle^=1; break; - case 0xd800:suntoggle=0;IRQa=V&0x10;break; + case 0xd800:suntoggle=0;IRQa=V&0x10;X6502_IRQEnd(FCEU_IQEXT);break; case 0xe800:switch(V&3) { @@ -48,17 +55,20 @@ DECLFW(Mapper67_write) case 3:onemir(1);break; } break; - case 0xf800:ROM_BANK16(0x8000,V); - X6502_Rebase();break; + case 0xf800:ROM_BANK16(0x8000,V);break; } } -static void FP_FASTAPASS(1) SunIRQHook(int a) +static void SunIRQHook(int a) { if(IRQa) { IRQCount-=a; if(IRQCount<=0) - {TriggerIRQ();IRQa=0;IRQCount=0xFFFF;} + { + X6502_IRQBegin(FCEU_IQEXT); + IRQa=0; + IRQCount=0xFFFF; + } } } void Mapper67_init(void)