Пример #1
0
void Mapper46_init(void)
{
 MIRROR_SET(0);
 ROM_BANK32(0);
 SetWriteHandler(0x8000,0xffff,Mapper46_write);
 SetWriteHandler(0x6000,0x7fff,Mapper46_writel);
}
Пример #2
0
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
}
Пример #3
0
static void M156Power(void) {
	M156Reset();
	Sync();
	SetReadHandler(0x6000, 0xFFFF, CartBR);
	SetWriteHandler(0x6000, 0x7FFF, CartBW);
	SetWriteHandler(0xC000, 0xCFFF, M156Write);
}
Пример #4
0
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);
}
Пример #5
0
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);
}
Пример #6
0
static void LH53Power(void) {
	Sync();
	SetReadHandler(0x6000, 0xFFFF, CartBR);
	SetWriteHandler(0xB800, 0xD7FF, LH53RamWrite);
	SetWriteHandler(0xE000, 0xEFFF, LH53IRQaWrite);
	SetWriteHandler(0xF000, 0xFFFF, LH53Write);
}
Пример #7
0
void Mapper241_init(void)
{
 ROM_BANK32(0);
 SetWriteHandler(0x5000,0x5fff,M241wr);
 SetWriteHandler(0x8000,0xFFFF,M241wr);
 SetReadHandler(0x4020,0x5fff,M241rd);
}
Пример #8
0
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
}
Пример #9
0
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;
}
Пример #10
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);
}
Пример #11
0
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);
}
Пример #12
0
void NSFAY_Init(void)
{
    sunindex=0;
    SetWriteHandler(0xc000,0xdfff,Mapper69_SWL);
    SetWriteHandler(0xe000,0xffff,Mapper69_SWH);
    Mapper69_ESI();
}
Пример #13
0
static void M193Power(void) {
	bank = 0;
	Sync();
	SetWriteHandler(0x6000, 0x6003, M193Write);
	SetReadHandler(0x8000, 0xFFFF, CartBR);
	SetWriteHandler(0x8000, 0xFFFF, CartBW);
}
Пример #14
0
static void M73Power(void) {
	IRQReload = IRQm = IRQx = 0;
	Sync();
	SetReadHandler(0x6000, 0xFFFF, CartBR);
	SetWriteHandler(0x6000, 0x7FFF, CartBW);
	SetWriteHandler(0x8000, 0xFFFF, M73Write);
}
Пример #15
0
void Mapper48_init(void)
{
        SetWriteHandler(0x8000,0xbfff,Mapper33_write);
        SetWriteHandler(0xc000,0xffff,Mapper48_HiWrite);
        GameHBIRQHook=heho;
        is48=1;
}
Пример #16
0
static void LH32Power(void)
{
  Sync();
  SetReadHandler(0x6000,0xFFFF,CartBR);
  SetWriteHandler(0xC000,0xDFFF,CartBW);
  SetWriteHandler(0x6000,0x6000,LH32Write);
}
Пример #17
0
static void LH32Power(void) {
    Sync();
    SetReadHandler(0x6000, 0xFFFF, CartBR);
    SetWriteHandler(0xC000, 0xDFFF, CartBW);
    SetWriteHandler(0x6000, 0x6000, LH32Write);
    FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM);
}
Пример #18
0
static void M91Power(void)
{
  Sync();
  SetWriteHandler(0x6000,0x6fff,M91Write0);
  SetWriteHandler(0x7000,0x7fff,M91Write1);
  SetReadHandler(0x8000,0xffff,CartBR);
}
Пример #19
0
static void M121Power(void)
{
  GenMMC3Power();
//  Write_IRQFM(0x4017,0x40);
  SetReadHandler(0x5000,0x5FFF,M121Read);
  SetWriteHandler(0x5000,0x5FFF,M121LoWrite);
  SetWriteHandler(0x8000,0x9FFF,M121Write);
}
Пример #20
0
static void UNLKS7012Power(void) {
	reg = ~0;
	Sync();
	SetReadHandler(0x6000, 0x7FFF, CartBR);
	SetWriteHandler(0x6000, 0x7FFF, CartBW);
	SetReadHandler(0x8000, 0xFFFF, CartBR);
	SetWriteHandler(0x8000, 0xFFFF, UNLKS7012Write);
}
Пример #21
0
static void M175Power(void)
{
  reg = mirr = delay = 0;
  SetReadHandler(0x8000,0xFFFF,M175Read);
  SetWriteHandler(0x8000,0x8000,M175Write1);
  SetWriteHandler(0xA000,0xA000,M175Write2);
  Sync();
}
Пример #22
0
static void UNLSMB2JPower(void) {
	prg = 0;
	Sync();
	SetReadHandler(0x6000, 0xFFFF, CartBR);
	SetReadHandler(0x4042, 0x4055, UNLSMB2JRead);
	SetWriteHandler(0x4068, 0x4068, UNLSMB2JWrite2);
	SetWriteHandler(0x4027, 0x4027, UNLSMB2JWrite1);
}
Пример #23
0
static void UNLD2000Power(void) {
	prg = mode = 0;
	Sync();
	SetReadHandler(0x6000, 0x7FFF, CartBR);
	SetWriteHandler(0x6000, 0x7FFF, CartBW);
	SetReadHandler(0x8000, 0xFFFF, UNLD2000Read);
	SetWriteHandler(0x5000, 0x5FFF, UNLD2000Write);
}
Пример #24
0
static void UNLKS7013BPower(void) {
	reg = 0;
	mirr = 0;
	Sync();
	SetWriteHandler(0x6000, 0x7FFF, UNLKS7013BLoWrite);
	SetReadHandler(0x8000, 0xFFFF, CartBR);
	SetWriteHandler(0x8000, 0xFFFF, UNLKS7013BHiWrite);
}
Пример #25
0
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);
}
Пример #26
0
static void M177Power(void) {
	reg = 0;
	Sync();
	SetReadHandler(0x6000, 0x7fff, CartBR);
	SetWriteHandler(0x6000, 0x7fff, CartBW);
	SetReadHandler(0x8000, 0xFFFF, CartBR);
	SetWriteHandler(0x8000, 0xFFFF, M177Write);
}
Пример #27
0
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);
}
Пример #28
0
void ResetMapping(void)
{
        SetReadHandler(0x0000,0xFFFF,0);
        SetWriteHandler(0x0000,0xFFFF,0);

        SetReadHandler(0,0x1FFF,ARAML);
        SetWriteHandler(0,0x1FFF,BRAML);
        SetNESSoundMap();
}
Пример #29
0
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);
}
Пример #30
0
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);
}