Beispiel #1
0
        public override bool Configure(NES.EDetectionOrigin origin)
        {
            //configure
            switch (Cart.board_type)
            {
                case "MAPPER033":
                    break;
                case "TAITO-TC0190FMC":
                case "TAITO-TC0350FMR":
                    AssertPrg(128, 256); AssertChr(128, 256); AssertWram(0); AssertVram(0);
                    pal16 = false;
                    break;
                case "TAITO-TC0190FMC+PAL16R4":
                    //this is the same as the base TAITO-TC0190FMC, with an added PAL16R4ACN which is a "programmable TTL device", presumably just the IRQ and mirroring
                    AssertPrg(128, 256); AssertChr(256); AssertWram(0); AssertVram(0);
                    pal16 = true;
                    mmc3 = new MMC3Variant(this);
                    break;
                default:
                    return false;
            }

            prg_bank_mask = Cart.prg_size / 8 - 1;
            chr_bank_mask = Cart.chr_size - 1;

            prg_regs_8k[0] = 0x00;
            prg_regs_8k[1] = 0x00;
            prg_regs_8k[2] = 0xFE; //constant
            prg_regs_8k[3] = 0xFF; //constant

            SyncMirror();

            return true;
        }
Beispiel #2
0
        public override bool Configure(NES.EDetectionOrigin origin)
        {
            //configure
            switch (Cart.board_type)
            {
            case "MAPPER033":
                break;

            case "TAITO-TC0190FMC":
            case "TAITO-TC0350FMR":
                AssertPrg(128, 256); AssertChr(128, 256); AssertWram(0); AssertVram(0);
                pal16 = false;
                break;

            case "MAPPER048":                     // TODO: Disch docs say that mapper 48 is a TC0690 which is a superset of TC0190FMC
                pal16 = true;
                mmc3  = new MMC3Variant(this);
                break;

            case "TAITO-TC0190FMC+PAL16R4":
                //this is the same as the base TAITO-TC0190FMC, with an added PAL16R4ACN which is a "programmable TTL device", presumably just the IRQ and mirroring
                AssertPrg(128, 256); AssertChr(256); AssertWram(0); AssertVram(0);
                pal16 = true;
                mmc3  = new MMC3Variant(this);
                break;

            default:
                return(false);
            }

            prg_bank_mask = Cart.prg_size / 8 - 1;
            chr_bank_mask = Cart.chr_size - 1;

            prg_regs_8k[0] = 0x00;
            prg_regs_8k[1] = 0x00;
            prg_regs_8k[2] = 0xFE;             //constant
            prg_regs_8k[3] = 0xFF;             //constant

            SyncMirror();

            return(true);
        }