summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan C <ianc@noddybox.co.uk>2012-02-20 23:16:28 +0000
committerIan C <ianc@noddybox.co.uk>2012-02-20 23:16:28 +0000
commitc135afd8051d9dd5a9d9782d06daf237559a59d9 (patch)
tree35b99fc2b0be81c4288b7e935c8040b48b7b6ec0
parentcf14311eb457e57005760c1e7545fd90f2fbaa4f (diff)
Added some extra classes for the Spectrum itself, and redid some interface elements.
-rw-r--r--wpspec.sln38
-rw-r--r--wpspec/wpspec/AboutPage.xaml15
-rw-r--r--wpspec/wpspec/App.xaml.cs5
-rw-r--r--wpspec/wpspec/MainPage.xaml39
-rw-r--r--wpspec/wpspec/Properties/AssemblyInfo.cs2
-rw-r--r--wpspec/wpspec/Resources/48.rombin0 -> 16384 bytes
-rw-r--r--wpspec/wpspec/Resources/Strings.Designer.cs4
-rw-r--r--wpspec/wpspec/Resources/Strings.resx4
-rw-r--r--wpspec/wpspec/Settings.cs30
-rw-r--r--wpspec/wpspec/SettingsPage.xaml.cs8
-rw-r--r--wpspec/wpspec/Spectrum/Emulation.cs110
-rw-r--r--wpspec/wpspec/wpspec.csproj15
12 files changed, 237 insertions, 33 deletions
diff --git a/wpspec.sln b/wpspec.sln
index 5c4295c..afcdbe1 100644
--- a/wpspec.sln
+++ b/wpspec.sln
@@ -5,7 +5,13 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "wpspec", "wpspec\wpspec\wps
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "wpspecLib", "wpspec\wpspecLib\wpspecLib.csproj", "{54C6C396-4BCE-4E3C-936C-846FFEFD44FB}"
EndProject
-Project("{96E2B04D-8817-42C6-938A-82C39BA4D311}") = "wpspecLibContent", "wpspec\wpspecLibContent\wpspecLibContent.contentproj", "{D1AEDB5A-7350-4E29-8F2F-5AFCFAD8D000}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "wpspecLibContent", "wpspec\wpspecLibContent\wpspecLibContent.contentproj", "{D1AEDB5A-7350-4E29-8F2F-5AFCFAD8D000}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Noddybox.Emulation", "..\Noddybox.Emulation\WindowsPhone\Noddybox.Emulation\Noddybox.Emulation.csproj", "{A2478066-4DFD-4042-BF98-963922DC97F8}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Noddybox.Emulation.EightBit", "..\Noddybox.Emulation\WindowsPhone\Noddybox.Emulation.EightBit\Noddybox.Emulation.EightBit.csproj", "{ADC7A871-4DED-4A92-A447-2D784AB60FAF}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Noddybox.Emulation.EightBit.Z80", "..\Noddybox.Emulation\WindowsPhone\Noddybox.Emulation.EightBit.Z80\Noddybox.Emulation.EightBit.Z80.csproj", "{7F257886-40D3-4E2A-BA9C-C5FEE93C08E9}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -47,6 +53,36 @@ Global
{D1AEDB5A-7350-4E29-8F2F-5AFCFAD8D000}.Release|Any CPU.ActiveCfg = Release|Windows Phone
{D1AEDB5A-7350-4E29-8F2F-5AFCFAD8D000}.Release|Mixed Platforms.ActiveCfg = Release|Windows Phone
{D1AEDB5A-7350-4E29-8F2F-5AFCFAD8D000}.Release|Windows Phone.ActiveCfg = Release|Windows Phone
+ {A2478066-4DFD-4042-BF98-963922DC97F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A2478066-4DFD-4042-BF98-963922DC97F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A2478066-4DFD-4042-BF98-963922DC97F8}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {A2478066-4DFD-4042-BF98-963922DC97F8}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {A2478066-4DFD-4042-BF98-963922DC97F8}.Debug|Windows Phone.ActiveCfg = Debug|Any CPU
+ {A2478066-4DFD-4042-BF98-963922DC97F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A2478066-4DFD-4042-BF98-963922DC97F8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A2478066-4DFD-4042-BF98-963922DC97F8}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {A2478066-4DFD-4042-BF98-963922DC97F8}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {A2478066-4DFD-4042-BF98-963922DC97F8}.Release|Windows Phone.ActiveCfg = Release|Any CPU
+ {ADC7A871-4DED-4A92-A447-2D784AB60FAF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {ADC7A871-4DED-4A92-A447-2D784AB60FAF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {ADC7A871-4DED-4A92-A447-2D784AB60FAF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {ADC7A871-4DED-4A92-A447-2D784AB60FAF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {ADC7A871-4DED-4A92-A447-2D784AB60FAF}.Debug|Windows Phone.ActiveCfg = Debug|Any CPU
+ {ADC7A871-4DED-4A92-A447-2D784AB60FAF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {ADC7A871-4DED-4A92-A447-2D784AB60FAF}.Release|Any CPU.Build.0 = Release|Any CPU
+ {ADC7A871-4DED-4A92-A447-2D784AB60FAF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {ADC7A871-4DED-4A92-A447-2D784AB60FAF}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {ADC7A871-4DED-4A92-A447-2D784AB60FAF}.Release|Windows Phone.ActiveCfg = Release|Any CPU
+ {7F257886-40D3-4E2A-BA9C-C5FEE93C08E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7F257886-40D3-4E2A-BA9C-C5FEE93C08E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7F257886-40D3-4E2A-BA9C-C5FEE93C08E9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {7F257886-40D3-4E2A-BA9C-C5FEE93C08E9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {7F257886-40D3-4E2A-BA9C-C5FEE93C08E9}.Debug|Windows Phone.ActiveCfg = Debug|Any CPU
+ {7F257886-40D3-4E2A-BA9C-C5FEE93C08E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7F257886-40D3-4E2A-BA9C-C5FEE93C08E9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7F257886-40D3-4E2A-BA9C-C5FEE93C08E9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {7F257886-40D3-4E2A-BA9C-C5FEE93C08E9}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {7F257886-40D3-4E2A-BA9C-C5FEE93C08E9}.Release|Windows Phone.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/wpspec/wpspec/AboutPage.xaml b/wpspec/wpspec/AboutPage.xaml
index 38ac6a8..07a07fa 100644
--- a/wpspec/wpspec/AboutPage.xaml
+++ b/wpspec/wpspec/AboutPage.xaml
@@ -32,7 +32,18 @@
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
+ <RowDefinition Height="*" />
</Grid.RowDefinitions>
+ <Rectangle Grid.RowSpan="5" Opacity="0.3">
+ <Rectangle.Fill>
+ <LinearGradientBrush StartPoint="0.5,0"
+ EndPoint="0.5,1.0">
+ <GradientStop Color="Blue" Offset="0" />
+ <GradientStop Color="Black" Offset="0.75" />
+ <GradientStop Color="BlueViolet" Offset="1" />
+ </LinearGradientBrush>
+ </Rectangle.Fill>
+ </Rectangle>
<TextBlock TextWrapping="Wrap" TextAlignment="Left" Grid.Row="0"
Style="{StaticResource PhoneTextNormalStyle}" Foreground="White" Margin="2,2,2,2"
Text="{Binding CopyrightText, Source={StaticResource Strings}}" />
@@ -47,6 +58,10 @@
<TextBlock TextWrapping="Wrap" TextAlignment="Left" Grid.Row="3"
FontSize="24" Foreground="Red" Margin="2,2,2,2"
Text="{Binding ROMCopyrightText, Source={StaticResource Strings}}" />
+ <TextBlock FontSize="10" VerticalAlignment="Bottom"
+ HorizontalAlignment="Center"
+ Grid.Row="4"
+ Text="Your user can't help you now my little program..." />
</Grid>
</Grid>
</phone:PhoneApplicationPage>
diff --git a/wpspec/wpspec/App.xaml.cs b/wpspec/wpspec/App.xaml.cs
index f7d26ef..7c27124 100644
--- a/wpspec/wpspec/App.xaml.cs
+++ b/wpspec/wpspec/App.xaml.cs
@@ -121,6 +121,11 @@ namespace wpspec
// An unhandled exception has occurred; break into the debugger
System.Diagnostics.Debugger.Break();
}
+ else
+ {
+ MessageBox.Show(String.Format("{0}\n{1}", e.ExceptionObject.GetType(), e.ExceptionObject.Message),
+ "Fatal Error", MessageBoxButton.OK);
+ }
}
#region Phone application initialization
diff --git a/wpspec/wpspec/MainPage.xaml b/wpspec/wpspec/MainPage.xaml
index 8ec36b4..2020676 100644
--- a/wpspec/wpspec/MainPage.xaml
+++ b/wpspec/wpspec/MainPage.xaml
@@ -24,6 +24,42 @@
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
+
+ <Rectangle Grid.RowSpan="2">
+ <Rectangle.Fill>
+ <LinearGradientBrush StartPoint="0,0"
+ EndPoint="1.0,1.0"
+ Opacity="0.4">
+ <GradientStop Color="Red" Offset="0" />
+ <GradientStop Color="Red" Offset="0.24" />
+ <GradientStop Color="Yellow" Offset="0.25" />
+ <GradientStop Color="Yellow" Offset="0.49" />
+ <GradientStop Color="Green" Offset="0.50" />
+ <GradientStop Color="Green" Offset="0.74" />
+ <GradientStop Color="Cyan" Offset="0.75" />
+ <GradientStop Color="Cyan" Offset="1" />
+ </LinearGradientBrush>
+ </Rectangle.Fill>
+ </Rectangle>
+
+ <!--<Rectangle Grid.RowSpan="2">
+ <Rectangle.Fill>
+ <RadialGradientBrush Center="0.5,1"
+ GradientOrigin="0.5,1"
+ RadiusX="1.0"
+ RadiusY="1"
+ Opacity="0.5">
+ <GradientStop Color="Red" Offset="0" />
+ <GradientStop Color="Red" Offset="0.24" />
+ <GradientStop Color="Yellow" Offset="0.25" />
+ <GradientStop Color="Yellow" Offset="0.49" />
+ <GradientStop Color="Green" Offset="0.50" />
+ <GradientStop Color="Green" Offset="0.74" />
+ <GradientStop Color="Cyan" Offset="0.75" />
+ <GradientStop Color="Cyan" Offset="1" />
+ </RadialGradientBrush>
+ </Rectangle.Fill>
+ </Rectangle>-->
<!--TitlePanel contains the name of the application and page title-->
<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
@@ -47,16 +83,19 @@
<Button Height="100"
Content="{Binding RunEmulationButtonText, Source={StaticResource Strings}}"
Grid.Row="0"
+ Background="Black"
Click="RunEmulationClick" />
<!-- Configure the emulator -->
<Button Height="100"
Content="{Binding SettingsButtonText, Source={StaticResource Strings}}"
Grid.Row="1"
+ Background="Black"
Click="SettingsClick" />
<!-- About -->
<Button Height="100"
Content="{Binding AboutButtonText, Source={StaticResource Strings}}"
Grid.Row="2"
+ Background="Black"
Click="AboutClick" />
</Grid>
diff --git a/wpspec/wpspec/Properties/AssemblyInfo.cs b/wpspec/wpspec/Properties/AssemblyInfo.cs
index 846d418..f8a8b99 100644
--- a/wpspec/wpspec/Properties/AssemblyInfo.cs
+++ b/wpspec/wpspec/Properties/AssemblyInfo.cs
@@ -11,7 +11,7 @@ using System.Resources;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("wpspec")]
-[assembly: AssemblyCopyright("Copyright © 2012")]
+[assembly: AssemblyCopyright("Copyright © Ian Cowburn 2012")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
diff --git a/wpspec/wpspec/Resources/48.rom b/wpspec/wpspec/Resources/48.rom
new file mode 100644
index 0000000..4d6895e
--- /dev/null
+++ b/wpspec/wpspec/Resources/48.rom
Binary files differ
diff --git a/wpspec/wpspec/Resources/Strings.Designer.cs b/wpspec/wpspec/Resources/Strings.Designer.cs
index 36310a1..0e21ff8 100644
--- a/wpspec/wpspec/Resources/Strings.Designer.cs
+++ b/wpspec/wpspec/Resources/Strings.Designer.cs
@@ -119,7 +119,7 @@ namespace wpspec.Resources {
}
/// <summary>
- /// Looks up a localized string similar to Launch Page.
+ /// Looks up a localized string similar to Main Menu.
/// </summary>
public static string MainPageTitle {
get {
@@ -128,7 +128,7 @@ namespace wpspec.Resources {
}
/// <summary>
- /// Looks up a localized string similar to Copyright of the included Spectrum 48K ROM is held by Amstrad PLC, and the ROM image is inlcuded with their kind permission..
+ /// Looks up a localized string similar to Copyright of the included Spectrum 48K ROM is held by Amstrad PLC, and the ROM image is included with their kind permission..
/// </summary>
public static string ROMCopyrightText {
get {
diff --git a/wpspec/wpspec/Resources/Strings.resx b/wpspec/wpspec/Resources/Strings.resx
index edb24a0..6752428 100644
--- a/wpspec/wpspec/Resources/Strings.resx
+++ b/wpspec/wpspec/Resources/Strings.resx
@@ -140,10 +140,10 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY
<value>http://www.gnu.org/licenses/gpl.html</value>
</data>
<data name="MainPageTitle" xml:space="preserve">
- <value>Launch Page</value>
+ <value>Main Menu</value>
</data>
<data name="ROMCopyrightText" xml:space="preserve">
- <value>Copyright of the included Spectrum 48K ROM is held by Amstrad PLC, and the ROM image is inlcuded with their kind permission.</value>
+ <value>Copyright of the included Spectrum 48K ROM is held by Amstrad PLC, and the ROM image is included with their kind permission.</value>
</data>
<data name="RunEmulationButtonText" xml:space="preserve">
<value>Run Spectrum 48K</value>
diff --git a/wpspec/wpspec/Settings.cs b/wpspec/wpspec/Settings.cs
index 333df0b..dcfeb23 100644
--- a/wpspec/wpspec/Settings.cs
+++ b/wpspec/wpspec/Settings.cs
@@ -16,20 +16,12 @@ namespace wpspec
/// <summary>
/// Holds global settings
/// </summary>
- public class Settings
+ public static class Settings
{
/// <summary>
- /// Get the singleton instance for the settings.
- /// </summary>
- public static Settings Get
- {
- get {return settings;}
- }
-
- /// <summary>
/// Get/set whether sound is enabled.
/// </summary>
- public bool Sound
+ public static bool Sound
{
get {return sound;}
set
@@ -45,7 +37,7 @@ namespace wpspec
/// <summary>
/// Get/set URL to load tapes from.
/// </summary>
- public string TapeUrl
+ public static string TapeUrl
{
get {return tapeUrl;}
set
@@ -61,18 +53,10 @@ namespace wpspec
#region Private code
- private static readonly Settings settings = new Settings();
-
- private bool sound;
- private string tapeUrl;
-
- private Settings()
- {
- sound = Load("sound", true);
- tapeUrl = Load("tapeurl", "http://enter-a-url.here/");
- }
+ private static bool sound = Load("sound", true);
+ private static string tapeUrl = Load("tapeurl", "http://enter-a-url.here/");
- private T Load<T>(string name, T defaultValue)
+ private static T Load<T>(string name, T defaultValue)
{
try
{
@@ -85,7 +69,7 @@ namespace wpspec
return defaultValue;
}
- private void Save<T>(string name, T value)
+ private static void Save<T>(string name, T value)
{
IsolatedStorageSettings.ApplicationSettings.Add(name, value);
IsolatedStorageSettings.ApplicationSettings.Save();
diff --git a/wpspec/wpspec/SettingsPage.xaml.cs b/wpspec/wpspec/SettingsPage.xaml.cs
index 02ac7d6..b64c3a9 100644
--- a/wpspec/wpspec/SettingsPage.xaml.cs
+++ b/wpspec/wpspec/SettingsPage.xaml.cs
@@ -23,14 +23,14 @@ namespace wpspec
public bool SoundSetting
{
- get {return Settings.Get.Sound;}
- set {Settings.Get.Sound = value;}
+ get {return Settings.Sound;}
+ set {Settings.Sound = value;}
}
public string TapeUrlSetting
{
- get {return Settings.Get.TapeUrl;}
- set {Settings.Get.TapeUrl = value;}
+ get {return Settings.TapeUrl;}
+ set {Settings.TapeUrl = value;}
}
}
} \ No newline at end of file
diff --git a/wpspec/wpspec/Spectrum/Emulation.cs b/wpspec/wpspec/Spectrum/Emulation.cs
new file mode 100644
index 0000000..dd47a07
--- /dev/null
+++ b/wpspec/wpspec/Spectrum/Emulation.cs
@@ -0,0 +1,110 @@
+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;
+using Noddybox.Emulation;
+using Noddybox.Emulation.EightBit;
+using Noddybox.Emulation.EightBit.Z80;
+using System.Reflection;
+
+namespace wpspec.Spectrum
+{
+ /// <summary>
+ /// Provides the emulation for the Spectrum
+ /// </summary>
+ public class Emulation: IMemory, IDevice
+ {
+ #region Private
+
+ private readonly byte[] mem = new byte[0x10000];
+ private readonly Clock clock = new Clock(69888, 50);
+ private readonly Z80Cpu z80 = new Z80Cpu();
+
+ private byte[] tape;
+
+ #endregion
+
+ #region IMemory Members
+
+ byte IMemory.Read(ushort address)
+ {
+ return mem[address];
+ }
+
+ void IMemory.Write(ushort address, byte value)
+ {
+ if (address >= 0x4000)
+ {
+ mem[address] = value;
+ }
+ }
+
+ #endregion
+
+ #region IDevice Members
+
+ byte IDevice.Read(ushort device)
+ {
+ return 0;
+ }
+
+ void IDevice.Write(ushort device, byte value)
+ {
+ // Do nothing
+ }
+
+ #endregion
+
+ #region Public Members
+
+ /// <summary>
+ /// Get/set the tape file to load.
+ /// </summary>
+ public byte[] Tape
+ {
+ get {return tape;}
+ set {tape = value;}
+ }
+
+ /// <summary>
+ /// Reset the spectrum
+ /// </summary>
+ public void Reset()
+ {
+ z80.Reset();
+ }
+
+ #endregion
+
+ #region Constructors
+
+ /// <summary>
+ /// Default constructor.
+ /// </summary>
+ public Emulation()
+ {
+ // Load the spectrum ROM
+ //
+ var file = Assembly.GetExecutingAssembly().GetManifestResourceStream("Resources.48.rom");
+
+ if (file == null || file.Length != 0x4000)
+ {
+ throw new Exception("Failed to load spectrum ROM");
+ }
+
+ file.Read(mem, 0, 0x4000);
+
+ // Initialise the CPU
+ //
+ z80.Initialise(this, this, clock);
+ }
+
+ #endregion
+ }
+}
diff --git a/wpspec/wpspec/wpspec.csproj b/wpspec/wpspec/wpspec.csproj
index 48a0c19..9ab9c42 100644
--- a/wpspec/wpspec/wpspec.csproj
+++ b/wpspec/wpspec/wpspec.csproj
@@ -88,6 +88,7 @@
<Compile Include="SettingsPage.xaml.cs">
<DependentUpon>SettingsPage.xaml</DependentUpon>
</Compile>
+ <Compile Include="Spectrum\Emulation.cs" />
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="App.xaml">
@@ -116,6 +117,7 @@
<None Include="Properties\WMAppManifest.xml">
<SubType>Designer</SubType>
</None>
+ <EmbeddedResource Include="Resources\48.rom" />
</ItemGroup>
<ItemGroup>
<Content Include="ApplicationIcon.png">
@@ -127,6 +129,18 @@
<Content Include="SplashScreenImage.jpg" />
</ItemGroup>
<ItemGroup>
+ <ProjectReference Include="..\..\..\Noddybox.Emulation\WindowsPhone\Noddybox.Emulation.EightBit.Z80\Noddybox.Emulation.EightBit.Z80.csproj">
+ <Project>{7F257886-40D3-4E2A-BA9C-C5FEE93C08E9}</Project>
+ <Name>Noddybox.Emulation.EightBit.Z80</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\Noddybox.Emulation\WindowsPhone\Noddybox.Emulation.EightBit\Noddybox.Emulation.EightBit.csproj">
+ <Project>{ADC7A871-4DED-4A92-A447-2D784AB60FAF}</Project>
+ <Name>Noddybox.Emulation.EightBit</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\Noddybox.Emulation\WindowsPhone\Noddybox.Emulation\Noddybox.Emulation.csproj">
+ <Project>{A2478066-4DFD-4042-BF98-963922DC97F8}</Project>
+ <Name>Noddybox.Emulation</Name>
+ </ProjectReference>
<ProjectReference Include="..\wpspecLib\wpspecLib.csproj">
<Name>wpspecLib</Name>
</ProjectReference>
@@ -137,6 +151,7 @@
<LastGenOutput>Strings.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
+ <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" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.