using System; using System.Collections; namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum { /// /// ZXHawk: Core Class /// * Misc Utilities * /// public partial class ZXSpectrum { /// /// Helper method that returns a single INT32 from a BitArray /// /// /// public static int GetIntFromBitArray(BitArray bitArray) { if (bitArray.Length > 32) throw new ArgumentException("Argument length shall be at most 32 bits."); int[] array = new int[1]; bitArray.CopyTo(array, 0); return array[0]; } /// /// POKEs a memory bus address /// /// /// public void PokeMemory(ushort addr, byte value) { _machine.WriteBus(addr, value); } public string GetMachineType() { string m = ""; switch (SyncSettings.MachineType) { case MachineType.ZXSpectrum16: m = "(Sinclair) ZX Spectrum 16K"; break; case MachineType.ZXSpectrum48: m = "(Sinclair) ZX Spectrum 48K"; break; case MachineType.ZXSpectrum128: m = "(Sinclair) ZX Spectrum 128K"; break; case MachineType.ZXSpectrum128Plus2: m = "(Amstrad) ZX Spectrum 128K +2"; break; case MachineType.ZXSpectrum128Plus2a: m = "(Amstrad) ZX Spectrum 128K +2a"; break; case MachineType.ZXSpectrum128Plus3: m = "(Amstrad) ZX Spectrum 128K +3"; break; } return m; } } }