mirror of
https://github.com/SourMesen/Mesen2.git
synced 2025-04-02 10:21:44 -04:00
151 lines
6.5 KiB
XML
151 lines
6.5 KiB
XML
<UserControl
|
|
xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:du="using:Mesen.Debugger.Utilities"
|
|
xmlns:vm="using:Mesen.Debugger.StatusViews"
|
|
xmlns:c="using:Mesen.Controls"
|
|
mc:Ignorable="d" d:DesignWidth="350"
|
|
VerticalAlignment="Stretch"
|
|
HorizontalAlignment="Stretch"
|
|
x:DataType="vm:NesStatusViewModel"
|
|
x:Class="Mesen.Debugger.StatusViews.NesStatusView"
|
|
>
|
|
<Design.DataContext>
|
|
<vm:NesStatusViewModel />
|
|
</Design.DataContext>
|
|
|
|
<UserControl.Styles>
|
|
<StyleInclude Source="/Styles/DebugStatusStyles.xaml" />
|
|
</UserControl.Styles>
|
|
|
|
<ScrollViewer>
|
|
<StackPanel>
|
|
<DockPanel>
|
|
<StackPanel DockPanel.Dock="Right">
|
|
<StackPanel Orientation="Horizontal" IsEnabled="{Binding EditAllowed}">
|
|
<TextBlock Margin="0">SP:</TextBlock>
|
|
<c:MesenNumericTextBox Value="{Binding RegSP}" Hex="True" Max="0xFF" />
|
|
</StackPanel>
|
|
<TextBox
|
|
TextWrapping="Wrap"
|
|
Width="78"
|
|
Height="65"
|
|
AcceptsReturn="True"
|
|
IsReadOnly="True"
|
|
ScrollViewer.VerticalScrollBarVisibility="Visible"
|
|
Text="{Binding StackPreview}"
|
|
/>
|
|
</StackPanel>
|
|
|
|
<StackPanel DockPanel.Dock="Top" IsEnabled="{Binding EditAllowed}">
|
|
<WrapPanel>
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock>A:</TextBlock>
|
|
<c:MesenNumericTextBox Value="{Binding RegA}" Hex="True" Max="0xFF" />
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock>X:</TextBlock>
|
|
<c:MesenNumericTextBox Value="{Binding RegX}" Hex="True" Max="0xFF" />
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock>Y:</TextBlock>
|
|
<c:MesenNumericTextBox Value="{Binding RegY}" Hex="True" Max="0xFF" />
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock>PC:</TextBlock>
|
|
<c:MesenNumericTextBox Value="{Binding RegPC}" Hex="True" Max="0xFFFF" />
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock>Cycle:</TextBlock>
|
|
<c:MesenNumericTextBox Width="70" Value="{Binding CycleCount}" IsEnabled="False" />
|
|
</StackPanel>
|
|
</WrapPanel>
|
|
|
|
<Rectangle Stroke="{StaticResource MesenGrayBorderColor}" StrokeThickness="1" Margin="5 5 5 2" />
|
|
|
|
<WrapPanel Margin="0 2 0 0" DockPanel.Dock="Top">
|
|
<StackPanel DockPanel.Dock="Left" Orientation="Horizontal" VerticalAlignment="Top">
|
|
<TextBlock>P:</TextBlock>
|
|
<c:MesenNumericTextBox Value="{Binding RegPS}" Hex="True" Max="0xFF" />
|
|
</StackPanel>
|
|
|
|
<WrapPanel>
|
|
<StackPanel>
|
|
<CheckBox IsChecked="{Binding FlagC}" Content="Carry" />
|
|
<CheckBox IsEnabled="False" Content="----" />
|
|
</StackPanel>
|
|
<StackPanel>
|
|
<CheckBox IsChecked="{Binding FlagZ}" Content="Zero" />
|
|
<CheckBox IsEnabled="False" Content="----" />
|
|
</StackPanel>
|
|
<StackPanel>
|
|
<CheckBox IsChecked="{Binding FlagI}" Content="Interrupt" />
|
|
<CheckBox IsChecked="{Binding FlagV}" Content="Overflow" />
|
|
</StackPanel>
|
|
<StackPanel>
|
|
<CheckBox IsChecked="{Binding FlagD}" Content="Decimal" />
|
|
<CheckBox IsChecked="{Binding FlagN}" Content="Negative" />
|
|
</StackPanel>
|
|
</WrapPanel>
|
|
</WrapPanel>
|
|
|
|
<Rectangle Stroke="{StaticResource MesenGrayBorderColor}" StrokeThickness="1" Margin="5 5 5 4" />
|
|
|
|
<WrapPanel>
|
|
<TextBlock>IRQs:</TextBlock>
|
|
<CheckBox IsChecked="{Binding FlagNmi}" Content="NMI" />
|
|
<CheckBox IsChecked="{Binding FlagIrqExternal}" Content="Cart" />
|
|
<CheckBox IsChecked="{Binding FlagIrqFrameCount}" Content="Frame Counter" />
|
|
<CheckBox IsChecked="{Binding FlagIrqDmc}" Content="DMC" />
|
|
</WrapPanel>
|
|
</StackPanel>
|
|
</DockPanel>
|
|
|
|
<StackPanel IsEnabled="{Binding EditAllowed}">
|
|
<Rectangle Stroke="{StaticResource MesenGrayBorderColor}" StrokeThickness="1" Margin="5 5 5 4" />
|
|
|
|
<WrapPanel>
|
|
<Grid ColumnDefinitions="Auto,Auto" RowDefinitions="Auto,Auto,Auto,Auto,Auto,Auto,Auto">
|
|
<TextBlock>Cycle:</TextBlock>
|
|
<c:MesenNumericTextBox Grid.Column="1" Value="{Binding Cycle}" IsEnabled="False" />
|
|
<TextBlock Grid.Row="1">Scanline:</TextBlock>
|
|
<c:MesenNumericTextBox Grid.Row="1" Grid.Column="1" Value="{Binding Scanline}" IsEnabled="False" Min="-1" />
|
|
|
|
<TextBlock Grid.Row="2">Bus:</TextBlock>
|
|
<c:MesenNumericTextBox Grid.Row="2" Grid.Column="1" Value="{Binding BusAddr}" Hex="True" Max="0x3FFF" IsEnabled="False" />
|
|
<TextBlock Grid.Row="3">V:</TextBlock>
|
|
<c:MesenNumericTextBox Grid.Row="3" Grid.Column="1" Value="{Binding VramAddr}" Hex="True" Max="0x7FFF" />
|
|
<TextBlock Grid.Row="4">T:</TextBlock>
|
|
<c:MesenNumericTextBox Grid.Row="4" Grid.Column="1" Value="{Binding TmpVramAddr}" Hex="True" Max="0x7FFF" />
|
|
<TextBlock Grid.Row="5">X:</TextBlock>
|
|
<c:MesenNumericTextBox Grid.Row="5" Grid.Column="1" Value="{Binding ScrollX}" Hex="True" Max="7" />
|
|
</Grid>
|
|
<StackPanel Margin="5 0 2 0">
|
|
<CheckBox IsChecked="{Binding Sprite0Hit}" Content="Sprite 0 Hit" />
|
|
<CheckBox IsChecked="{Binding SpriteOverflow}" Content="Sprite Overflow" />
|
|
<CheckBox IsChecked="{Binding VerticalBlank}" Content="Vertical Blank" />
|
|
<CheckBox IsChecked="{Binding WriteToggle}" Content="Write Toggle" />
|
|
|
|
<CheckBox IsChecked="{Binding LargeSprites}" Content="Large Sprites" Margin="0 5 0 0" />
|
|
<CheckBox IsChecked="{Binding VerticalWrite}" Content="Vertical Write" />
|
|
<CheckBox IsChecked="{Binding NmiOnVBlank}" Content="NMI on VBlank" />
|
|
<CheckBox IsChecked="{Binding BgAt1000}" Content="BG at $1000" />
|
|
<CheckBox IsChecked="{Binding SpritesAt1000}" Content="Sprites at $1000" />
|
|
</StackPanel>
|
|
<StackPanel>
|
|
<CheckBox IsChecked="{Binding BgEnabled}" Content="BG Enabled" />
|
|
<CheckBox IsChecked="{Binding SpritesEnabled}" Content="Sprites Enabled" />
|
|
<CheckBox IsChecked="{Binding BgMaskLeft}" Content="BG Mask" />
|
|
<CheckBox IsChecked="{Binding SpriteMaskLeft}" Content="Sprite Mask" />
|
|
<CheckBox IsChecked="{Binding Grayscale}" Content="Grayscale" />
|
|
<CheckBox IsChecked="{Binding IntensifyRed}" Content="Intensify Red" />
|
|
<CheckBox IsChecked="{Binding IntensifyGreen}" Content="Intensify Green" />
|
|
<CheckBox IsChecked="{Binding IntensifyBlue}" Content="Intensify Blue" />
|
|
</StackPanel>
|
|
</WrapPanel>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</ScrollViewer>
|
|
</UserControl>
|