From 2b8d49726e448e22b5055da5ba4395d043030984 Mon Sep 17 00:00:00 2001
From: Ian C <ianc@noddybox.co.uk>
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/Binary.cs              | 63 ----------------
 Noddybox.Emulation.EightBit/ICpu.cs                | 57 --------------
 Noddybox.Emulation.EightBit/IDevice.cs             | 37 ---------
 Noddybox.Emulation.EightBit/IMemory.cs             | 36 ---------
 .../Noddybox.Emulation.EightBit.csproj             | 75 ------------------
 .../Properties/AssemblyInfo.cs                     | 37 ---------
 Noddybox.Emulation.EightBit/Register16.cs          | 88 ----------------------
 7 files changed, 393 deletions(-)
 delete mode 100644 Noddybox.Emulation.EightBit/Binary.cs
 delete mode 100644 Noddybox.Emulation.EightBit/ICpu.cs
 delete mode 100644 Noddybox.Emulation.EightBit/IDevice.cs
 delete mode 100644 Noddybox.Emulation.EightBit/IMemory.cs
 delete mode 100644 Noddybox.Emulation.EightBit/Noddybox.Emulation.EightBit.csproj
 delete mode 100644 Noddybox.Emulation.EightBit/Properties/AssemblyInfo.cs
 delete mode 100644 Noddybox.Emulation.EightBit/Register16.cs

(limited to 'Noddybox.Emulation.EightBit')

diff --git a/Noddybox.Emulation.EightBit/Binary.cs b/Noddybox.Emulation.EightBit/Binary.cs
deleted file mode 100644
index 0b1928b..0000000
--- a/Noddybox.Emulation.EightBit/Binary.cs
+++ /dev/null
@@ -1,63 +0,0 @@
-using System;
-using System.Net;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Documents;
-using System.Windows.Ink;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Shapes;
-
-namespace Noddybox.Emulation.EightBit
-{
-    /// <summary>
-    /// Provides helpers for shifting smaller values around without casts all over the shop.
-    /// </summary>
-    public static class Binary
-    {
-        /// <summary>
-        /// Shift 8-bits to the left.
-        /// </summary>
-        /// <param name="b">The byte.</param>
-        /// <param name="shift">How many bits to shift.</param>
-        /// <returns>The shifted value.</returns>
-        public static byte ShiftLeft(byte b, int shift)
-        {
-            return (byte)((b << shift) & 0xff);
-        }
-
-        /// <summary>
-        /// Shift 8-bits to the right.
-        /// </summary>
-        /// <param name="b">The byte.</param>
-        /// <param name="shift">How many bits to shift.</param>
-        /// <returns>The shifted value.</returns>
-        public static byte ShiftRight(byte b, int shift)
-        {
-            return (byte)((b >> shift) & 0xff);
-        }
-
-        /// <summary>
-        /// Shift 16-bits to the left.
-        /// </summary>
-        /// <param name="w">The word.</param>
-        /// <param name="shift">How many bits to shift.</param>
-        /// <returns>The shifted value.</returns>
-        public static ushort ShiftLeft(ushort w, int shift)
-        {
-            return (ushort)((w << shift) & 0xffff);
-        }
-
-        /// <summary>
-        /// Shift 16-bits to the right.
-        /// </summary>
-        /// <param name="w">The word.</param>
-        /// <param name="shift">How many bits to shift.</param>
-        /// <returns>The shifted value.</returns>
-        public static ushort ShiftRight(ushort w, int shift)
-        {
-            return (ushort)((w >> shift) & 0xffff);
-        }
-    }
-}
diff --git a/Noddybox.Emulation.EightBit/ICpu.cs b/Noddybox.Emulation.EightBit/ICpu.cs
deleted file mode 100644
index dc2f811..0000000
--- a/Noddybox.Emulation.EightBit/ICpu.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// Copyright (c) 2012 Ian Cowburn
-//
-using System;
-using System.Net;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Documents;
-using System.Windows.Ink;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Shapes;
-
-namespace Noddybox.Emulation.EightBit
-{
-    /// <summary>
-    /// Defines an 8-bit CPU.
-    /// </summary>
-    public interface ICpu
-    {
-        /// <summary>
-        /// Initialise the CPU to give it access to memory and devices.
-        /// </summary>
-        /// <param name="memory">The memory to access.</param>
-        /// <param name="device">The devices to access.</param>
-        /// <param name="clock">The clock to use.</param>
-        void Initialise(IMemory memory, IDevice device, Clock clock);
-
-        /// <summary>
-        /// Resets the CPU to its initial state.
-        /// </summary>
-        void Reset();
-
-        /// <summary>
-        /// Runs the next instruction.
-        /// </summary>
-        void Step();
-
-        /// <summary>
-        /// Runs the CPU until the next frame flyback.
-        /// </summary>
-        void Run();
-
-        /// <summary>
-        /// Generates a maskable interrupt to the CPU.
-        /// </summary>
-        /// <param name="value">Optional value from an interrupting device.  May be ignored depending on the CPU type.</param>
-        void MaskableInterrupt(byte value);
-
-        /// <summary>
-        /// Generates a non-maskable interrupt to the CPU.
-        /// </summary>
-        /// <param name="value">Optional value from an interrupting device.  May be ignored depending on the CPU type.</param>
-        void NonMaskableInterrupt(byte value);
-    }
-}
diff --git a/Noddybox.Emulation.EightBit/IDevice.cs b/Noddybox.Emulation.EightBit/IDevice.cs
deleted file mode 100644
index b8d234a..0000000
--- a/Noddybox.Emulation.EightBit/IDevice.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// Copyright (c) 2012 Ian Cowburn
-//
-using System;
-using System.Net;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Documents;
-using System.Windows.Ink;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Shapes;
-
-namespace Noddybox.Emulation.EightBit
-{
-    /// <summary>
-    /// Provides an interface for devices for 8-bit processers which used special commands to access
-    /// devices rather than using memory-mapped IO, for example the Z80.
-    /// </summary>
-    public interface IDevice
-    {
-        /// <summary>
-        /// Read from a device.
-        /// </summary>
-        /// <param name="device">The address of the device.</param>
-        /// <returns>The byte returned from the device.</returns>
-        byte Read(ushort device);
-
-        /// <summary>
-        /// Write to a device.
-        /// </summary>
-        /// <param name="device">The address of the device.</param>
-        /// <param name="value">The value to write to the device.</param>
-        void Write(ushort device, byte value);
-    }
-}
diff --git a/Noddybox.Emulation.EightBit/IMemory.cs b/Noddybox.Emulation.EightBit/IMemory.cs
deleted file mode 100644
index 2aa63d9..0000000
--- a/Noddybox.Emulation.EightBit/IMemory.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// Copyright (c) 2012 Ian Cowburn
-//
-using System;
-using System.Net;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Documents;
-using System.Windows.Ink;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Shapes;
-
-namespace Noddybox.Emulation.EightBit
-{
-    /// <summary>
-    /// Defines an interface for memory.
-    /// </summary>
-    public interface IMemory
-    {
-        /// <summary>
-        /// Reads a byte at a given address.
-        /// </summary>
-        /// <param name="address">The address to read.</param>
-        /// <returns>The value at that address.</returns>
-        byte Read(ushort address); 
-
-        /// <summary>
-        /// Writes a byte at a given address.
-        /// </summary>
-        /// <param name="address">The address to write to.</param>
-        /// <param name="value">The value to write.</param>
-        void Write(ushort address, byte value);
-    }
-}
diff --git a/Noddybox.Emulation.EightBit/Noddybox.Emulation.EightBit.csproj b/Noddybox.Emulation.EightBit/Noddybox.Emulation.EightBit.csproj
deleted file mode 100644
index 2136f3c..0000000
--- a/Noddybox.Emulation.EightBit/Noddybox.Emulation.EightBit.csproj
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>10.0.20506</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{ADC7A871-4DED-4A92-A447-2D784AB60FAF}</ProjectGuid>
-    <ProjectTypeGuids>{C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>Noddybox.Emulation.EightBit</RootNamespace>
-    <AssemblyName>Noddybox.Emulation.EightBit</AssemblyName>
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
-    <TargetFrameworkProfile>WindowsPhone71</TargetFrameworkProfile>
-    <TargetFrameworkIdentifier>Silverlight</TargetFrameworkIdentifier>
-    <SilverlightApplication>false</SilverlightApplication>
-    <ValidateXaml>true</ValidateXaml>
-    <ThrowErrorsInValidation>true</ThrowErrorsInValidation>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>Bin\Debug</OutputPath>
-    <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
-    <NoStdLib>true</NoStdLib>
-    <NoConfig>true</NoConfig>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>Bin\Release</OutputPath>
-    <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
-    <NoStdLib>true</NoStdLib>
-    <NoConfig>true</NoConfig>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System.Windows" />
-    <Reference Include="system" />
-    <Reference Include="System.Core" />
-    <Reference Include="System.Xml" />
-    <Reference Include="System.Net" />
-    <Reference Include="mscorlib.extensions" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="Binary.cs" />
-    <Compile Include="ICpu.cs" />
-    <Compile Include="IDevice.cs" />
-    <Compile Include="IMemory.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="Register16.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\Noddybox.Emulation\Noddybox.Emulation.csproj">
-      <Project>{A2478066-4DFD-4042-BF98-963922DC97F8}</Project>
-      <Name>Noddybox.Emulation</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight for Phone\$(TargetFrameworkVersion)\Microsoft.Silverlight.$(TargetFrameworkProfile).Overrides.targets" />
-  <Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight for Phone\$(TargetFrameworkVersion)\Microsoft.Silverlight.CSharp.targets" />
-  <ProjectExtensions />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file
diff --git a/Noddybox.Emulation.EightBit/Properties/AssemblyInfo.cs b/Noddybox.Emulation.EightBit/Properties/AssemblyInfo.cs
deleted file mode 100644
index a0de499..0000000
--- a/Noddybox.Emulation.EightBit/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using System.Resources;
-
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Noddybox.Emulation.EightBit")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("Noddybox.Emulation.EightBit")]
-[assembly: AssemblyCopyright("Copyright ©  2011")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("c8c4f2cb-4b04-48a5-9add-a89b3995e00f")]
-
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers 
-// by using the '*' as shown below:
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
-[assembly: NeutralResourcesLanguageAttribute("en-US")]
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
-{
-    /// <summary>
-    /// Provides a common 8-bit register pattern, which is two 8-bit registers rolled into one.
-    /// While this could be done at runtime using <see cref="BitConverter.IsLittleEndian"/> 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.
-    /// </summary>
-    [StructLayout(LayoutKind.Explicit)]
-    public struct Register16
-    {
-#if TARGET_IS_BIGENDIAN
-
-        /// <summary>
-        /// The 16-bit register.
-        /// </summary>
-        [FieldOffset(0)]
-        public ushort reg;
-
-        /// <summary>
-        /// The high 8-bits of the register.
-        /// </summary>
-        [FieldOffset(0)]
-        public byte high;
-
-        /// <summary>
-        /// The low 8-bits of the register.
-        /// </summary>
-        [FieldOffset(1)]
-        public byte low;
-
-#else
-
-        /// <summary>
-        /// The 16-bit register.
-        /// </summary>
-        [FieldOffset(0)]
-        public ushort reg;
-
-        /// <summary>
-        /// The low 8-bits of the register.
-        /// </summary>
-        [FieldOffset(0)]
-        public byte low;
-
-        /// <summary>
-        /// The high 8-bits of the register.
-        /// </summary>
-        [FieldOffset(1)]
-        public byte high;
-
-#endif
-
-        /// <summary>
-        /// Public constructor.  This is provided to stop the compiler complaining when you use the struct as it
-        /// doesn't realise that setting <see cref="reg"/> will also set <see cref="low"/> and <see cref="high"/>.
-        /// </summary>
-        /// <param name="val">The 16-bit value to assign.</param>
-        public Register16(ushort val)
-        {
-            high = 0;
-            low = 0;
-            reg = val;
-        }
-
-        /// <summary>
-        /// Used to verify the compile-time setting at runtime.
-        /// </summary>
-        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