Example #1
0
        public override bool Configure(NES.EDetectionOrigin origin)
        {
            switch (Cart.board_type)
            {
            case "MAPPER091":
                break;

            default:
                return(false);
            }

            int chrSize = Cart.chr_size;

            if (chrSize > 256)             // Hack to support some bad dumps
            {
                chrSize = 512;
            }

            chr_bank_mask_2k = chrSize / 2 - 1;
            prg_bank_mask_8k = Cart.prg_size / 8 - 1;

            prg_regs_8k[3] = 0xFF;
            prg_regs_8k[2] = 0xFE;

            mmc3 = new MMC3(this, 0x7FFFFFFF);

            SetMirrorType(Cart.pad_h, Cart.pad_v);

            return(true);
        }
Example #2
0
		public override bool Configure(NES.EDetectionOrigin origin)
		{
			switch (Cart.board_type)
			{
				case "MAPPER091":
					break;
				default:
					return false;
			}

			int chrSize = Cart.chr_size;
			if (chrSize > 256) // Hack to support some bad dumps
			{
				chrSize = 512;
			}

			chr_bank_mask_2k = chrSize / 2 - 1;
			prg_bank_mask_8k = Cart.prg_size / 8 - 1;

			prg_regs_8k[3] = 0xFF;
			prg_regs_8k[2] = 0xFE;
			
			mmc3 = new MMC3(this, 0x7FFFFFFF);

			SetMirrorType(Cart.pad_h, Cart.pad_v);

			return true;
		}
Example #3
0
        protected virtual void BaseSetup()
        {
            int num_prg_banks = Cart.prg_size / 8;

            prg_mask = num_prg_banks - 1;

            int num_chr_banks = (Cart.chr_size);

            if (num_chr_banks == 0)             // vram only board
            {
                num_chr_banks = 8;
            }
            chr_mask = num_chr_banks - 1;

            mmc3 = new MMC3(this, num_prg_banks);
            SetMirrorType(EMirrorType.Vertical);
        }
Example #4
0
        public override bool Configure(NES.EDetectionOrigin origin)
        {
            switch (Cart.board_type)
            {
                case "MAPPER091":
                    break;
                default:
                    return false;
            }

            chr_bank_mask_2k = Cart.chr_size / 2 - 1;
            prg_bank_mask_8k = Cart.prg_size / 8 - 1;

            prg_regs_8k[3] = 0xFF;
            prg_regs_8k[2] = 0xFE;

            mmc3 = new MMC3(this, 0x7FFFFFFF);

            return true;
        }
Example #5
0
        public override bool Configure(NES.EDetectionOrigin origin)
        {
            switch (Cart.board_type)
            {
            case "MAPPER091":
                break;

            default:
                return(false);
            }

            chr_bank_mask_2k = Cart.chr_size / 2 - 1;
            prg_bank_mask_8k = Cart.prg_size / 8 - 1;

            prg_regs_8k[3] = 0xFF;
            prg_regs_8k[2] = 0xFE;

            mmc3 = new MMC3(this, 0x7FFFFFFF);

            return(true);
        }
Example #6
0
        protected virtual void BaseSetup()
        {
            int num_prg_banks = Cart.prg_size / 8;
            prg_mask = num_prg_banks - 1;

            int num_chr_banks = (Cart.chr_size);
            if (num_chr_banks == 0) // vram only board
                num_chr_banks = 8;
            chr_mask = num_chr_banks - 1;

            mmc3 = new MMC3(this, num_prg_banks);
            SetMirrorType(EMirrorType.Vertical);
        }