using System; using System.Reflection; using BizHawk.Common.IOExtensions; namespace BizHawk.Emulation.Cores.Properties { internal static class Resources { private static readonly Assembly Asm = typeof(Resources).Assembly; /// Dir separator is '.'. Path is relative to <NS>. private static byte[] ReadEmbeddedByteArray(string embedPath) => Asm.GetManifestResourceStream($"BizHawk.Emulation.Cores.Resources.{embedPath}").ReadAllBytes(); internal static readonly Lazy CPC_AMSDOS_0_5_ROM = new Lazy(() => ReadEmbeddedByteArray("CPC_AMSDOS_0.5.ROM.gz")); internal static readonly Lazy CPC_BASIC_1_0_ROM = new Lazy(() => ReadEmbeddedByteArray("CPC_BASIC_1.0.ROM.gz")); internal static readonly Lazy CPC_BASIC_1_1_ROM = new Lazy(() => ReadEmbeddedByteArray("CPC_BASIC_1.1.ROM.gz")); internal static readonly Lazy CPC_OS_6128_ROM = new Lazy(() => ReadEmbeddedByteArray("CPC_OS_6128.ROM.gz")); internal static readonly Lazy OS_464_ROM = new Lazy(() => ReadEmbeddedByteArray("OS_464.ROM.gz")); internal static readonly Lazy SameboyCgbBoot = new Lazy(() => ReadEmbeddedByteArray("cgb_boot.rom.gz")); internal static readonly Lazy SameboyDmgBoot = new Lazy(() => ReadEmbeddedByteArray("dmg_boot.rom.gz")); internal static readonly Lazy SgbCartPresent_SPC = new Lazy(() => ReadEmbeddedByteArray("sgb-cart-present.spc.gz")); internal static readonly Lazy ZX_128_ROM = new Lazy(() => ReadEmbeddedByteArray("128.ROM.gz")); internal static readonly Lazy ZX_48_ROM = new Lazy(() => ReadEmbeddedByteArray("48.ROM.gz")); internal static readonly Lazy ZX_plus2_rom = new Lazy(() => ReadEmbeddedByteArray("plus2.rom.gz")); internal static readonly Lazy ZX_plus2a_rom = new Lazy(() => ReadEmbeddedByteArray("plus2a.rom.gz")); } }