public override bool Configure(NES.EDetectionOrigin origin) { switch (Cart.board_type) { case "MAPPER019": AssertVram(0); break; case "NAMCOT-129": // star wars // no known differences between 129 and 163 case "NAMCOT-163": //final lap //battle fleet //dragon ninja //famista '90 //hydelide 3 - this is a good test of more advanced features AssertPrg(128, 256); AssertChr(128, 256); AssertVram(0); AssertWram(0, 8); break; default: return(false); } if (NES.apu != null) { audio = new Namco163Audio(NES.apu.ExternalQueue); } prg_bank_mask_8k = Cart.prg_size / 8 - 1; chr_bank_mask_1k = Cart.chr_size / 1 - 1; prg_banks_8k[3] = (byte)(0xFF & prg_bank_mask_8k); prg_banks_8k[2] = (byte)(0xFF & prg_bank_mask_8k) - 1; chr_banks_1k[8] = chr_banks_1k[10] = 0xFE; chr_banks_1k[9] = chr_banks_1k[11] = 0xFF; vram_enable[2] = true; return(true); }
public override bool Configure(NES.EDetectionOrigin origin) { switch (Cart.board_type) { case "MAPPER019": AssertVram(0); break; case "NAMCOT-129": // star wars // no known differences between 129 and 163 case "NAMCOT-163": //final lap //battle fleet //dragon ninja //famista '90 //hydelide 3 - this is a good test of more advanced features AssertPrg(128, 256); AssertChr(128, 256); AssertVram(0); AssertWram(0, 8); break; default: return false; } if (NES.apu != null) audio = new Namco163Audio(NES.apu.ExternalQueue); prg_bank_mask_8k = Cart.prg_size / 8 - 1; chr_bank_mask_1k = Cart.chr_size / 1 - 1; prg_banks_8k[3] = (byte)(0xFF & prg_bank_mask_8k); chr_banks_1k[8] = chr_banks_1k[10] = 0xFF; chr_banks_1k[9] = chr_banks_1k[11] = 0xFF; vram_enable[2] = true; return true; }