void MDFN_VSUniInstallRWHooks(void) { assert(NESIsVSUni); if(secptr) SetReadHandler(0x5e00,0x5e01,VSSecRead); if(curppu == RC2C05_04) { OldReadPPU = GetReadHandler(0x2002); SetReadHandler(0x2002, 0x2002, A2002_Topgun); } else if(curppu == RC2C05_03) { OldReadPPU = GetReadHandler(0x2002); SetReadHandler(0x2002, 0x2002, A2002_Gumshoe); } else if(curppu == RC2C05_02) { OldReadPPU = GetReadHandler(0x2002); SetReadHandler(0x2002, 0x2002, A2002_MBJ); } if(curppu == RC2C05_04 || curppu == RC2C05_01 || curppu == RC2C05_03 || curppu == RC2C05_02) { OldWritePPU[0] = GetWriteHandler(0x2000); OldWritePPU[1] = GetWriteHandler(0x2001); SetWriteHandler(0x2000, 0x2001, B2000_2001_2C05); } if(curmd5 == 0x2d396247cf58f9faLL) /* Super Xevious */ { SetReadHandler(0x5400,0x57FF,XevRead); } }
void FCEU_VSUniPower(void) { coinon = 0; VSindex = 0; if(secptr) SetReadHandler(0x5e00,0x5e01,VSSecRead); if(curppu == RC2C05_04) { OldReadPPU = GetReadHandler(0x2002); SetReadHandler(0x2002, 0x2002, A2002_Topgun); } else if(curppu == RC2C05_03) { OldReadPPU = GetReadHandler(0x2002); SetReadHandler(0x2002, 0x2002, A2002_Gumshoe); } else if(curppu == RC2C05_02) { OldReadPPU = GetReadHandler(0x2002); SetReadHandler(0x2002, 0x2002, A2002_MBJ); } if(curppu == RC2C05_04 || curppu == RC2C05_01 || curppu == RC2C05_03 || curppu == RC2C05_02) { OldWritePPU[0] = GetWriteHandler(0x2000); OldWritePPU[1] = GetWriteHandler(0x2001); SetWriteHandler(0x2000, 0x2001, B2000_2001_2C05); } if(curmd5 == 0x2d396247cf58f9faLL) /* Super Xevious */ { SetReadHandler(0x5400,0x57FF,XevRead); } }
static void UNLDSOUNDV1Power(void) { reg[0] = reg[1] = reg[2] = reg[3] = 0; Sync(); pcmwrite = GetWriteHandler(0x4011); SetWriteHandler(0x4800, 0x4fff, UNLDSOUNDV1Write); SetWriteHandler(0x5800, 0x5fff, UNLDSOUNDV1WriteSnd); SetReadHandler(0x5800, 0x5fff, UNLDSOUNDV1ReadSnd); SetReadHandler(0x6000, 0x7fff, CartBR); SetWriteHandler(0x6000, 0x7fff, CartBW); SetReadHandler(0x8000, 0xffff, CartBR); }