void Mapper46_init(void) { MIRROR_SET(0); ROM_BANK32(0); SetWriteHandler(0x8000,0xffff,Mapper46_write); SetWriteHandler(0x6000,0x7fff,Mapper46_writel); }
static void M108Power(void) { Sync(); SetReadHandler(0x6000, 0x7FFF, CartBR); SetReadHandler(0x8000, 0xFFFF, CartBR); SetWriteHandler(0x8000, 0x8FFF, M108Write); // regular 108 SetWriteHandler(0xF000, 0xFFFF, M108Write); // simplified Kaiser BB Hack }
static void M156Power(void) { M156Reset(); Sync(); SetReadHandler(0x6000, 0xFFFF, CartBR); SetWriteHandler(0x6000, 0x7FFF, CartBW); SetWriteHandler(0xC000, 0xCFFF, M156Write); }
void GenMMC3Power(void) { if (UNIFchrrama) setchr8(0); SetWriteHandler(0x8000, 0xBFFF, MMC3_CMDWrite); SetWriteHandler(0xC000, 0xFFFF, MMC3_IRQWrite); SetReadHandler(0x8000, 0xFFFF, CartBR); A001B = A000B = 0; setmirror(1); if (mmc3opts & 1) { if (WRAMSIZE == 1024) { FCEU_CheatAddRAM(1, 0x7000, WRAM); SetReadHandler(0x7000, 0x7FFF, MAWRAMMMC6); SetWriteHandler(0x7000, 0x7FFF, MBWRAMMMC6); } else { FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); SetWriteHandler(0x6000, 0x6000 + ((WRAMSIZE - 1) & 0x1fff), CartBW); SetReadHandler(0x6000, 0x6000 + ((WRAMSIZE - 1) & 0x1fff), CartBR); setprg8r(0x10, 0x6000, 0); } if (!(mmc3opts & 2)) FCEU_dwmemset(WRAM, 0, WRAMSIZE); } MMC3RegReset(); if (CHRRAM) FCEU_dwmemset(CHRRAM, 0, CHRRAMSIZE); }
static void M82Power(void) { Sync(); SetReadHandler(0x6000, 0xffff, CartBR); SetWriteHandler(0x6000, 0x7fff, CartBW); SetWriteHandler(0x7ef0, 0x7efc, M82Write); // external WRAM might end at $73FF FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); }
static void LH53Power(void) { Sync(); SetReadHandler(0x6000, 0xFFFF, CartBR); SetWriteHandler(0xB800, 0xD7FF, LH53RamWrite); SetWriteHandler(0xE000, 0xEFFF, LH53IRQaWrite); SetWriteHandler(0xF000, 0xFFFF, LH53Write); }
void Mapper241_init(void) { ROM_BANK32(0); SetWriteHandler(0x5000,0x5fff,M241wr); SetWriteHandler(0x8000,0xFFFF,M241wr); SetReadHandler(0x4020,0x5fff,M241rd); }
static void UNLCC21Power(void) { latche = 0; Sync(); SetReadHandler(0x8000, 0xFFFF, CartBR); SetWriteHandler(0x8001, 0xFFFF, UNLCC21Write1); SetWriteHandler(0x8000, 0x8000, UNLCC21Write2); // another one many-in-1 mapper, there is a lot of similar carts with little different wirings }
static void FDSInit(void) { memset(FDSRegs,0,sizeof(FDSRegs)); writeskip=DiskPtr=DiskSeekIRQ=0; setmirror(1); setprg8r(0,0xe000,0); // BIOS setprg32r(1,0x6000,0); // 32KB RAM setchr8(0); // 8KB CHR RAM MapIRQHook=FDSFix; GameStateRestore=FDSStateRestore; SetReadHandler(0x4030,0x4030,FDSRead4030); SetReadHandler(0x4031,0x4031,FDSRead4031); SetReadHandler(0x4032,0x4032,FDSRead4032); SetReadHandler(0x4033,0x4033,FDSRead4033); SetWriteHandler(0x4020,0x4025,FDSWrite); SetWriteHandler(0x6000,0xdfff,FDSRAMWrite); SetReadHandler(0x6000,0xdfff,FDSRAMRead); SetReadHandler(0xE000,0xFFFF,FDSBIOSRead); IRQCount=IRQLatch=IRQa=0; FDSSoundReset(); InDisk=0; SelectDisk=0; }
void GenMMC3Power(void) { if (UNIFchrrama) setchr8(0); SetWriteHandler(0x8000, 0xBFFF, MMC3_CMDWrite); SetWriteHandler(0xC000, 0xFFFF, MMC3_IRQWrite); SetReadHandler(0x8000, 0xFFFF, CartBR); // KT-008 boards hack 2-in-1, TODO assign to new ines mapper, most dump of KT-boards on the net are mapper 4, so need database or goodnes fix support SetWriteHandler(0x5000,0x5FFF, KT008HackWrite); A001B = A000B = 0; setmirror(1); if (mmc3opts & 1) { if (WRAMSIZE == 1024) { FCEU_CheatAddRAM(1, 0x7000, WRAM); SetReadHandler(0x7000, 0x7FFF, MAWRAMMMC6); SetWriteHandler(0x7000, 0x7FFF, MBWRAMMMC6); } else { FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); SetWriteHandler(0x6000, 0x6000 + ((WRAMSIZE - 1) & 0x1fff), CartBW); SetReadHandler(0x6000, 0x6000 + ((WRAMSIZE - 1) & 0x1fff), CartBR); setprg8r(0x10, 0x6000, 0); } if (!(mmc3opts & 2)) FCEU_dwmemset(WRAM, 0, WRAMSIZE); } MMC3RegReset(); if (CHRRAM) FCEU_dwmemset(CHRRAM, 0, CHRRAMSIZE); }
int BTR_Init(CartInfo *info) { SetupCartPRGMapping(0x10,WRAM,8192,1); SetWriteHandler(0x8000,0xbfff,Mapper69_write); SetWriteHandler(0xc000,0xdfff,Mapper69_SWL); SetWriteHandler(0xe000,0xffff,Mapper69_SWH); SetWriteHandler(0x6000,0x7fff,SUN5BWRAM); SetReadHandler(0x6000,0x7fff,SUN5AWRAM); SetReadHandler(0x8000, 0xFFFF, CartBR); info->Power = Power; info->Reset = Reset; info->StateAction = StateAction; if(info->battery) { info->SaveGame[0] = WRAM; info->SaveGameLen[0] = 8192; } Mapper69_ESI(&info->CartExpSound); MapIRQHook = SunIRQHook; return(1); }
void NSFAY_Init(void) { sunindex=0; SetWriteHandler(0xc000,0xdfff,Mapper69_SWL); SetWriteHandler(0xe000,0xffff,Mapper69_SWH); Mapper69_ESI(); }
static void M193Power(void) { bank = 0; Sync(); SetWriteHandler(0x6000, 0x6003, M193Write); SetReadHandler(0x8000, 0xFFFF, CartBR); SetWriteHandler(0x8000, 0xFFFF, CartBW); }
static void M73Power(void) { IRQReload = IRQm = IRQx = 0; Sync(); SetReadHandler(0x6000, 0xFFFF, CartBR); SetWriteHandler(0x6000, 0x7FFF, CartBW); SetWriteHandler(0x8000, 0xFFFF, M73Write); }
void Mapper48_init(void) { SetWriteHandler(0x8000,0xbfff,Mapper33_write); SetWriteHandler(0xc000,0xffff,Mapper48_HiWrite); GameHBIRQHook=heho; is48=1; }
static void LH32Power(void) { Sync(); SetReadHandler(0x6000,0xFFFF,CartBR); SetWriteHandler(0xC000,0xDFFF,CartBW); SetWriteHandler(0x6000,0x6000,LH32Write); }
static void LH32Power(void) { Sync(); SetReadHandler(0x6000, 0xFFFF, CartBR); SetWriteHandler(0xC000, 0xDFFF, CartBW); SetWriteHandler(0x6000, 0x6000, LH32Write); FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); }
static void M91Power(void) { Sync(); SetWriteHandler(0x6000,0x6fff,M91Write0); SetWriteHandler(0x7000,0x7fff,M91Write1); SetReadHandler(0x8000,0xffff,CartBR); }
static void M121Power(void) { GenMMC3Power(); // Write_IRQFM(0x4017,0x40); SetReadHandler(0x5000,0x5FFF,M121Read); SetWriteHandler(0x5000,0x5FFF,M121LoWrite); SetWriteHandler(0x8000,0x9FFF,M121Write); }
static void UNLKS7012Power(void) { reg = ~0; Sync(); SetReadHandler(0x6000, 0x7FFF, CartBR); SetWriteHandler(0x6000, 0x7FFF, CartBW); SetReadHandler(0x8000, 0xFFFF, CartBR); SetWriteHandler(0x8000, 0xFFFF, UNLKS7012Write); }
static void M175Power(void) { reg = mirr = delay = 0; SetReadHandler(0x8000,0xFFFF,M175Read); SetWriteHandler(0x8000,0x8000,M175Write1); SetWriteHandler(0xA000,0xA000,M175Write2); Sync(); }
static void UNLSMB2JPower(void) { prg = 0; Sync(); SetReadHandler(0x6000, 0xFFFF, CartBR); SetReadHandler(0x4042, 0x4055, UNLSMB2JRead); SetWriteHandler(0x4068, 0x4068, UNLSMB2JWrite2); SetWriteHandler(0x4027, 0x4027, UNLSMB2JWrite1); }
static void UNLD2000Power(void) { prg = mode = 0; Sync(); SetReadHandler(0x6000, 0x7FFF, CartBR); SetWriteHandler(0x6000, 0x7FFF, CartBW); SetReadHandler(0x8000, 0xFFFF, UNLD2000Read); SetWriteHandler(0x5000, 0x5FFF, UNLD2000Write); }
static void UNLKS7013BPower(void) { reg = 0; mirr = 0; Sync(); SetWriteHandler(0x6000, 0x7FFF, UNLKS7013BLoWrite); SetReadHandler(0x8000, 0xFFFF, CartBR); SetWriteHandler(0x8000, 0xFFFF, UNLKS7013BHiWrite); }
static void LH10Power(void) { reg[0] = reg[1] = reg[2] = reg[3] = reg[4] = reg[5] = reg[6] = reg[7] = 0; WSync(); SetReadHandler(0x6000, 0xFFFF, CartBR); SetWriteHandler(0x8000, 0xBFFF, UNLKS7037Write); SetWriteHandler(0xC000, 0xDFFF, CartBW); SetWriteHandler(0xE000, 0xFFFF, UNLKS7037Write); }
static void M177Power(void) { reg = 0; Sync(); SetReadHandler(0x6000, 0x7fff, CartBR); SetWriteHandler(0x6000, 0x7fff, CartBW); SetReadHandler(0x8000, 0xFFFF, CartBR); SetWriteHandler(0x8000, 0xFFFF, M177Write); }
static void M246Power(void) { regs[0] = regs[1] = regs[2] = regs[3] = ~0; Sync(); SetWriteHandler(0x6000, 0x67FF, M246Write); SetReadHandler(0x6800, 0x6FFF, CartBR); SetWriteHandler(0x6800, 0x6FFF, CartBW); SetReadHandler(0x8000, 0xFFFF, CartBR); }
void ResetMapping(void) { SetReadHandler(0x0000,0xFFFF,0); SetWriteHandler(0x0000,0xFFFF,0); SetReadHandler(0,0x1FFF,ARAML); SetWriteHandler(0,0x1FFF,BRAML); SetNESSoundMap(); }
static void UNLSC127Power(void) { Sync(); setprg8r(0x10, 0x6000, 0); setprg8(0xE000, ~0); SetReadHandler(0x6000, 0x7fff, CartBR); SetWriteHandler(0x6000, 0x7fff, CartBW); SetReadHandler(0x8000, 0xFFFF, CartBR); SetWriteHandler(0x8000, 0xFFFF, UNLSC127Write); }
static void M153Power(void) { BandaiSync(); setprg8r(0x10,0x6000,0); SetReadHandler(0x6000,0x7FFF,CartBR); SetWriteHandler(0x6000,0x7FFF,CartBW); SetReadHandler(0x8000,0xFFFF,CartBR); SetWriteHandler(0x8000,0xFFFF,BandaiWrite); }