public override bool Configure(NES.EDetectionOrigin origin) { string oldBoardType = Cart.board_type; //configure switch (Cart.board_type) { case "MAPPER116": break; default: return(false); } SetMirrorType(Cart.pad_h, Cart.pad_v); Cart.board_type = "MAPPER116_HACKY"; vrc2 = new VRC2_4(); vrc2.Create(NES); vrc2.Configure(origin); //not exactly the same as fceu-mm. is it important? for (int i = 0; i < 16; i++) { vrc2.chr_bank_reg_1k[i] = 0xFF; } vrc2.SyncCHR(); mmc3 = new MMC3_CustomBoard(this); mmc3.Create(NES); mmc3.Configure(origin); //is this important? not sure. mmc3.mmc3.regs[0] = 0; mmc3.mmc3.regs[1] = 2; mmc3.mmc3.regs[2] = 3; mmc3.mmc3.regs[3] = 4; mmc3.mmc3.regs[4] = 5; mmc3.mmc3.regs[5] = 7; mmc3.mmc3.Sync(); mmc1 = new SxROM(); mmc1.Create(NES); mmc1.Configure(origin); mmc1_reset(); Cart.board_type = oldBoardType; mode = 0; Sync(); return(true); }
public override bool Configure(NES.EDetectionOrigin origin) { string oldBoardType = Cart.board_type; //configure switch (Cart.board_type) { case "MAPPER116": break; default: return false; } SetMirrorType(Cart.pad_h, Cart.pad_v); Cart.board_type = "MAPPER116_HACKY"; vrc2 = new VRC2_4(); vrc2.Create(NES); vrc2.Configure(origin); //not exactly the same as fceu-mm. is it important? for(int i=0;i<16;i++) vrc2.chr_bank_reg_1k[i] = 0x0F; vrc2.SyncCHR(); mmc3 = new MMC3_CustomBoard(this); mmc3.Create(NES); mmc3.Configure(origin); //is this important? not sure. mmc3.mmc3.regs[0] = 0; mmc3.mmc3.regs[1] = 2; mmc3.mmc3.regs[2] = 3; mmc3.mmc3.regs[3] = 4; mmc3.mmc3.regs[4] = 5; mmc3.mmc3.regs[5] = 7; mmc3.mmc3.Sync(); mmc1 = new SxROM(); mmc1.Create(NES); mmc1.Configure(origin); mmc1_reset(); Cart.board_type = oldBoardType; mode = 0; Sync(); return true; }