diff --git a/BizHawk.Emulation/BizHawk.Emulation.csproj b/BizHawk.Emulation/BizHawk.Emulation.csproj index 3108016464..ee086355b6 100644 --- a/BizHawk.Emulation/BizHawk.Emulation.csproj +++ b/BizHawk.Emulation/BizHawk.Emulation.csproj @@ -3,7 +3,7 @@ Debug AnyCPU - 9.0.30729 + 9.0.21022 2.0 {197D4314-8A9F-49BA-977D-54ACEFAEB6BA} Library @@ -75,6 +75,7 @@ Code + Code diff --git a/BizHawk.Emulation/Consoles/Nintendo/NES/Boards/Sunsoft1.cs b/BizHawk.Emulation/Consoles/Nintendo/NES/Boards/Sunsoft1.cs new file mode 100644 index 0000000000..4d76a20dff --- /dev/null +++ b/BizHawk.Emulation/Consoles/Nintendo/NES/Boards/Sunsoft1.cs @@ -0,0 +1,54 @@ +using System; +using System.IO; +using System.Diagnostics; + +namespace BizHawk.Emulation.Consoles.Nintendo +{ + /* + * Life Span: April 1986 - July 1986 +PCB Class: SUNSOFT-1 +iNES Mapper #184 +PRG-ROM: 32KB +PRG-RAM: None +CHR-ROM: 16KB +CHR-RAM: None +Battery is not available +Uses vertical mirroring +No CIC present +Other chips used: Sunsoft-1 + * + * Games: + * Atlantis no Nazo + * The Wing of Madoola + */ + + class Sunsoft1 : NES.NESBoardBase + { + int prg, chr; + + public override bool Configure(NES.EDetectionOrigin origin) + { + //configure + SetMirrorType(Cart.pad_h, Cart.pad_v); + return true; + } + + public override byte ReadPPU(int addr) + { + int left_piece = 0; + int right_piece = 3; + + if (addr < 0x1000) + { + return VROM[(addr%0x1000) + (left_piece*0x1000)]; + } + else if (addr < 0x2000) + { + return VROM[(addr%0x1000) + (right_piece*0x1000)]; + } + + return base.ReadPPU(addr); + } + + } +}