Пример #1
0
        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);
        }
Пример #2
0
		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;
		}