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; }
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); }