Mesen-SX/UI/Config/EmulationConfig.cs
Sour 06135f10de GB: Added palette configuration options
+ Split GB options to a separate window
2020-06-22 19:12:25 -04:00

51 lines
1.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace Mesen.GUI.Config
{
[StructLayout(LayoutKind.Sequential)]
public class EmulationConfig : BaseConfig<EmulationConfig>
{
[MinMax(0, 5000)] public UInt32 EmulationSpeed = 100;
[MinMax(0, 5000)] public UInt32 TurboSpeed = 300;
[MinMax(0, 5000)] public UInt32 RewindSpeed = 100;
public ConsoleRegion Region = ConsoleRegion.Auto;
[MinMax(0, 10)] public UInt32 RunAheadFrames = 0;
[MarshalAs(UnmanagedType.I1)] public bool EnableRandomPowerOnState = false;
[MarshalAs(UnmanagedType.I1)] public bool EnableStrictBoardMappings = false;
[MinMax(0, 1000)] public UInt32 PpuExtraScanlinesBeforeNmi = 0;
[MinMax(0, 1000)] public UInt32 PpuExtraScanlinesAfterNmi = 0;
[MinMax(100, 1000)] public UInt32 GsuClockSpeed = 100;
public RamState RamPowerOnState = RamState.Random;
public long BsxCustomDate = -1;
public void ApplyConfig()
{
ConfigApi.SetEmulationConfig(this);
}
}
public enum ConsoleRegion
{
Auto = 0,
Ntsc = 1,
Pal = 2
}
public enum RamState
{
Random = 0,
AllZeros = 1,
AllOnes = 2,
}
}