From 2b8d49726e448e22b5055da5ba4395d043030984 Mon Sep 17 00:00:00 2001 From: Ian C Date: Sun, 1 Jan 2012 14:21:26 +0000 Subject: Moved sources to help in compilation for other platforms and isolated phone projects. --- Noddybox.Emulation.EightBit/Register16.cs | 88 ------------------------------- 1 file changed, 88 deletions(-) delete mode 100644 Noddybox.Emulation.EightBit/Register16.cs (limited to 'Noddybox.Emulation.EightBit/Register16.cs') diff --git a/Noddybox.Emulation.EightBit/Register16.cs b/Noddybox.Emulation.EightBit/Register16.cs deleted file mode 100644 index 06c9c01..0000000 --- a/Noddybox.Emulation.EightBit/Register16.cs +++ /dev/null @@ -1,88 +0,0 @@ -// -// Copyright (c) 2012 Ian Cowburn -// -using System; -using System.Runtime.InteropServices; - -namespace Noddybox.Emulation.EightBit -{ - /// - /// Provides a common 8-bit register pattern, which is two 8-bit registers rolled into one. - /// While this could be done at runtime using this - /// method was chosen for speed reasons; interfaces cannot define fields, which is sensible - /// enoough, but accessing fields directly would allow ref variables to be used with this type's - /// fields. - /// - [StructLayout(LayoutKind.Explicit)] - public struct Register16 - { -#if TARGET_IS_BIGENDIAN - - /// - /// The 16-bit register. - /// - [FieldOffset(0)] - public ushort reg; - - /// - /// The high 8-bits of the register. - /// - [FieldOffset(0)] - public byte high; - - /// - /// The low 8-bits of the register. - /// - [FieldOffset(1)] - public byte low; - -#else - - /// - /// The 16-bit register. - /// - [FieldOffset(0)] - public ushort reg; - - /// - /// The low 8-bits of the register. - /// - [FieldOffset(0)] - public byte low; - - /// - /// The high 8-bits of the register. - /// - [FieldOffset(1)] - public byte high; - -#endif - - /// - /// Public constructor. This is provided to stop the compiler complaining when you use the struct as it - /// doesn't realise that setting will also set and . - /// - /// The 16-bit value to assign. - public Register16(ushort val) - { - high = 0; - low = 0; - reg = val; - } - - /// - /// Used to verify the compile-time setting at runtime. - /// - public static void Verify() - { - Register16 r = new Register16(0); - - r.reg = 0x1234; - - if (r.low != 0x24 || r.high != 0x12) - { - throw new Exception("Compile time endian setting incorrect"); - } - } - } -} -- cgit v1.2.3