diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/NesBoardBase.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/NesBoardBase.cs index 6633deacf0..1f403cb9b4 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/NesBoardBase.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Boards/NesBoardBase.cs @@ -32,7 +32,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES public virtual void ClockCpu() { } public virtual void AtVsyncNmi() { } - public NES.CartInfo Cart => NES.cart; + public CartInfo Cart => NES.cart; public NES NES { get; set; } //this is set to true when SyncState is called, so that we know the base class SyncState was used diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/CartInfo.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/CartInfo.cs new file mode 100644 index 0000000000..904aa58f00 --- /dev/null +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/CartInfo.cs @@ -0,0 +1,44 @@ +using System.Collections.Generic; +using BizHawk.Emulation.Common; + +namespace BizHawk.Emulation.Cores.Nintendo.NES +{ + /// + /// All information necessary for a board to set itself up + /// + public class CartInfo + { + public GameInfo DB_GameInfo; + public string name; + + public int trainer_size; + public int chr_size; + public int prg_size; + public int wram_size, vram_size; + public byte pad_h, pad_v; + public bool wram_battery; + public bool bad; + /// in [0,3]; combination of bits 0 and 3 of flags6. try not to use; will be null for bootgod-identified roms always + public int? inesmirroring; + + public string board_type; + public string pcb; + + public string sha1; + public string system; + public List chips = new List(); + + public string palette; // Palette override for VS system + public byte vs_security; // for VS system games that do a ppu dheck + + public override string ToString() => string.Join(",", + $"pr={prg_size}", + $"ch={chr_size}", + $"wr={wram_size}", + $"vr={vram_size}", + $"ba={(wram_battery ? 1 : 0)}", + $"pa={pad_h}|{pad_v}", + $"brd={board_type}", + $"sys={system}"); + } +} diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/NES.BoardSystem.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/NES.BoardSystem.cs index f1f1c56e7a..c394361872 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/NES.BoardSystem.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/NES.BoardSystem.cs @@ -106,45 +106,6 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES INESBoardImplementors.AddRange(normalPriority); } - /// - /// All information necessary for a board to set itself up - /// - public class CartInfo - { - public GameInfo DB_GameInfo; - public string name; - - public int trainer_size; - public int chr_size; - public int prg_size; - public int wram_size, vram_size; - public byte pad_h, pad_v; - public bool wram_battery; - public bool bad; - /// in [0,3]; combination of bits 0 and 3 of flags6. try not to use; will be null for bootgod-identified roms always - public int? inesmirroring; - - public string board_type; - public string pcb; - - public string sha1; - public string system; - public List chips = new List(); - - public string palette; // Palette override for VS system - public byte vs_security; // for VS system games that do a ppu dheck - - public override string ToString() => string.Join(",", - $"pr={prg_size}", - $"ch={chr_size}", - $"wr={wram_size}", - $"vr={vram_size}", - $"ba={(wram_battery ? 1 : 0)}", - $"pa={pad_h}|{pad_v}", - $"brd={board_type}", - $"sys={system}"); - } - /// /// finds a board class which can handle the provided cart /// diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Unif.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Unif.cs index c9aaa083f4..02dede9fb1 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Unif.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/Unif.cs @@ -15,7 +15,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES /// public class Unif { - NES.CartInfo ci = new NES.CartInfo(); + CartInfo ci = new CartInfo(); byte[] prgrom; byte[] chrrom; @@ -108,7 +108,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES chrrom = null; } - public NES.CartInfo CartInfo => ci; + public CartInfo CartInfo => ci; public byte[] PRG => prgrom; public byte[] CHR => chrrom; }