summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--wpspec/wpspec/GamePage.xaml.cs4
-rw-r--r--wpspec/wpspec/PokeMemoryPage.xaml72
-rw-r--r--wpspec/wpspec/PokeMemoryPage.xaml.cs65
-rw-r--r--wpspec/wpspec/Resources/Strings.Designer.cs36
-rw-r--r--wpspec/wpspec/Resources/Strings.resx12
-rw-r--r--wpspec/wpspec/wpspec.csproj7
6 files changed, 193 insertions, 3 deletions
diff --git a/wpspec/wpspec/GamePage.xaml.cs b/wpspec/wpspec/GamePage.xaml.cs
index 6932bdd..5e483d5 100644
--- a/wpspec/wpspec/GamePage.xaml.cs
+++ b/wpspec/wpspec/GamePage.xaml.cs
@@ -111,7 +111,7 @@ namespace wpspec
// Initialise locations for normal and zoomed display
//
location = new Vector2(SharedGraphicsDeviceManager.Current.GraphicsDevice.DisplayMode.Width / 2 - Shared.Spectrum.Width / 2, 10);
- locationZoomed = new Rectangle(SharedGraphicsDeviceManager.Current.GraphicsDevice.DisplayMode.Width / 2 - Shared.Spectrum.Width * 100 / 120, 10,
+ locationZoomed = new Rectangle(SharedGraphicsDeviceManager.Current.GraphicsDevice.DisplayMode.Width / 2 - Shared.Spectrum.Width * 100 / 120, -20,
Shared.Spectrum.Height * 100 / 60, Shared.Spectrum.Width * 100 / 60);
// Reset settings
@@ -232,8 +232,6 @@ namespace wpspec
{
Shared.Spectrum.Run();
Shared.Spectrum.Run();
- Shared.Spectrum.Run();
- Shared.Spectrum.Run();
}
}
diff --git a/wpspec/wpspec/PokeMemoryPage.xaml b/wpspec/wpspec/PokeMemoryPage.xaml
new file mode 100644
index 0000000..2e95083
--- /dev/null
+++ b/wpspec/wpspec/PokeMemoryPage.xaml
@@ -0,0 +1,72 @@
+<phone:PhoneApplicationPage
+ x:Class="wpspec.PokeMemoryPage"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
+ xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:res="clr-namespace:wpspec.Resources"
+ FontFamily="{StaticResource PhoneFontFamilyNormal}"
+ FontSize="{StaticResource PhoneFontSizeNormal}"
+ Foreground="{StaticResource PhoneForegroundBrush}"
+ SupportedOrientations="Portrait" Orientation="Portrait"
+ mc:Ignorable="d" d:DesignHeight="800" d:DesignWidth="480"
+ shell:SystemTray.IsVisible="False">
+
+ <phone:PhoneApplicationPage.Resources>
+ <res:Strings x:Key="Strings" />
+ </phone:PhoneApplicationPage.Resources>
+
+ <!--LayoutRoot is the root grid where all page content is placed-->
+ <Grid x:Name="LayoutRoot" Background="Transparent">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="*"/>
+ </Grid.RowDefinitions>
+
+ <!--TitlePanel contains the name of the application and page title-->
+ <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
+ <TextBlock x:Name="ApplicationTitle"
+ Text="{Binding AppTitle, Source={StaticResource Strings}}"
+ Style="{StaticResource PhoneTextNormalStyle}"/>
+ <TextBlock x:Name="PageTitle"
+ Text="{Binding PokeMemoryTitleText, Source={StaticResource Strings}}"
+ Margin="9,-7,0,0"
+ Style="{StaticResource PhoneTextTitle1Style}"/>
+ </StackPanel>
+
+ <!--ContentPanel - place additional content here-->
+ <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0" VerticalAlignment="Top">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="auto" />
+ <RowDefinition Height="auto" />
+ <RowDefinition Height="auto" />
+ </Grid.RowDefinitions>
+
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="1*" />
+ <ColumnDefinition Width="1*" />
+ </Grid.ColumnDefinitions>
+
+ <TextBlock Text="{Binding PokeMemoryAddressText, Source={StaticResource Strings}}"
+ Grid.Row="0" Grid.Column="0" />
+ <TextBlock Text="{Binding PokeMemoryValueText, Source={StaticResource Strings}}"
+ Grid.Row="0" Grid.Column="1" />
+
+ <TextBox x:Name="addressText" MaxLength="5" InputScope="Number"
+ Grid.Row="1" Grid.Column="0" />
+ <TextBox x:Name="valueText" MaxLength="5" InputScope="Number"
+ Grid.Row="1" Grid.Column="1" />
+
+ <Button Height="120"
+ Content="{Binding PokeMemoryPokeButton, Source={StaticResource Strings}}"
+ Grid.Row="2" Grid.ColumnSpan="2"
+ Background="Black"
+ Click="PokeClick">
+ </Button>
+
+ </Grid>
+ </Grid>
+
+</phone:PhoneApplicationPage>
diff --git a/wpspec/wpspec/PokeMemoryPage.xaml.cs b/wpspec/wpspec/PokeMemoryPage.xaml.cs
new file mode 100644
index 0000000..33b5a9d
--- /dev/null
+++ b/wpspec/wpspec/PokeMemoryPage.xaml.cs
@@ -0,0 +1,65 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Shapes;
+using Microsoft.Phone.Controls;
+using Noddybox.Emulation.EightBit;
+
+namespace wpspec
+{
+ public partial class PokeMemoryPage : PhoneApplicationPage
+ {
+ public PokeMemoryPage()
+ {
+ InitializeComponent();
+ }
+
+ private void PokeClick(object sender, RoutedEventArgs e)
+ {
+ int address;
+ int value;
+ bool ok = true;
+
+ if (int.TryParse(addressText.Text, out address) && (address >= 0) && (address < 0x10000))
+ {
+ addressText.Background = (SolidColorBrush)Resources["PhoneTextBoxBrush"];
+ }
+ else
+ {
+ addressText.Background = (SolidColorBrush)Resources["PhoneAccentBrush"];
+ ok = false;
+ }
+
+ if (int.TryParse(valueText.Text, out value) && (value >= 0) && (value < 0x100))
+ {
+ valueText.Background = (SolidColorBrush)Resources["PhoneTextBoxBrush"];
+ }
+ else
+ {
+ valueText.Background = (SolidColorBrush)Resources["PhoneAccentBrush"];
+ ok = false;
+ }
+
+ if (!ok)
+ {
+ return;
+ }
+
+ IMemory memory = Shared.Spectrum;
+
+ memory.Write((ushort)address, (byte)value);
+
+ address = (address+1) % 0x10000;
+
+ addressText.Text = address.ToString();
+ }
+
+ }
+} \ No newline at end of file
diff --git a/wpspec/wpspec/Resources/Strings.Designer.cs b/wpspec/wpspec/Resources/Strings.Designer.cs
index 26f924b..bd74210 100644
--- a/wpspec/wpspec/Resources/Strings.Designer.cs
+++ b/wpspec/wpspec/Resources/Strings.Designer.cs
@@ -263,6 +263,15 @@ namespace wpspec.Resources {
}
/// <summary>
+ /// Looks up a localized string similar to Address.
+ /// </summary>
+ public static string PokeMemoryAddressText {
+ get {
+ return ResourceManager.GetString("PokeMemoryAddressText", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Poke Memory.
/// </summary>
public static string PokeMemoryButtonText {
@@ -272,6 +281,33 @@ namespace wpspec.Resources {
}
/// <summary>
+ /// Looks up a localized string similar to Poke!.
+ /// </summary>
+ public static string PokeMemoryPokeButton {
+ get {
+ return ResourceManager.GetString("PokeMemoryPokeButton", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Poke Memory.
+ /// </summary>
+ public static string PokeMemoryTitleText {
+ get {
+ return ResourceManager.GetString("PokeMemoryTitleText", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Value.
+ /// </summary>
+ public static string PokeMemoryValueText {
+ get {
+ return ResourceManager.GetString("PokeMemoryValueText", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Failed to fetch tape; got error - &quot;{0}&quot;.
/// </summary>
public static string RemoteTapeFetchFailed {
diff --git a/wpspec/wpspec/Resources/Strings.resx b/wpspec/wpspec/Resources/Strings.resx
index 3c5cbe0..9c58111 100644
--- a/wpspec/wpspec/Resources/Strings.resx
+++ b/wpspec/wpspec/Resources/Strings.resx
@@ -292,4 +292,16 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY
<data name="SettingsKeyUp" xml:space="preserve">
<value>Up</value>
</data>
+ <data name="PokeMemoryAddressText" xml:space="preserve">
+ <value>Address</value>
+ </data>
+ <data name="PokeMemoryPokeButton" xml:space="preserve">
+ <value>Poke!</value>
+ </data>
+ <data name="PokeMemoryTitleText" xml:space="preserve">
+ <value>Poke Memory</value>
+ </data>
+ <data name="PokeMemoryValueText" xml:space="preserve">
+ <value>Value</value>
+ </data>
</root> \ No newline at end of file
diff --git a/wpspec/wpspec/wpspec.csproj b/wpspec/wpspec/wpspec.csproj
index 88e1790..0e53113 100644
--- a/wpspec/wpspec/wpspec.csproj
+++ b/wpspec/wpspec/wpspec.csproj
@@ -100,6 +100,9 @@
<Compile Include="OpenRemoteTapePage.xaml.cs">
<DependentUpon>OpenRemoteTapePage.xaml</DependentUpon>
</Compile>
+ <Compile Include="PokeMemoryPage.xaml.cs">
+ <DependentUpon>PokeMemoryPage.xaml</DependentUpon>
+ </Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="GamePage.xaml.cs">
<DependentUpon>GamePage.xaml</DependentUpon>
@@ -168,6 +171,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
+ <Page Include="PokeMemoryPage.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
<Page Include="SaveLocalTapePage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>