2019-03-11 17:56:54 -04:00
|
|
|
|
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;
|
|
|
|
|
|
2019-03-14 15:25:35 -04:00
|
|
|
|
public ConsoleRegion Region = ConsoleRegion.Auto;
|
2019-12-26 12:03:38 -05:00
|
|
|
|
|
|
|
|
|
[MinMax(0, 10)] public UInt32 RunAheadFrames = 0;
|
2019-03-14 15:25:35 -04:00
|
|
|
|
|
2019-12-11 21:44:42 -05:00
|
|
|
|
[MarshalAs(UnmanagedType.I1)] public bool EnableRandomPowerOnState = false;
|
2019-12-19 20:08:25 -05:00
|
|
|
|
[MarshalAs(UnmanagedType.I1)] public bool EnableStrictBoardMappings = false;
|
2019-03-11 17:56:54 -04:00
|
|
|
|
|
|
|
|
|
[MinMax(0, 1000)] public UInt32 PpuExtraScanlinesBeforeNmi = 0;
|
|
|
|
|
[MinMax(0, 1000)] public UInt32 PpuExtraScanlinesAfterNmi = 0;
|
2019-07-30 22:34:52 -04:00
|
|
|
|
[MinMax(100, 1000)] public UInt32 GsuClockSpeed = 100;
|
2019-03-11 17:56:54 -04:00
|
|
|
|
|
2019-07-16 21:31:30 -04:00
|
|
|
|
public RamState RamPowerOnState = RamState.Random;
|
2020-02-20 23:57:01 -05:00
|
|
|
|
|
|
|
|
|
public long BsxCustomDate = -1;
|
2020-05-26 00:05:35 -04:00
|
|
|
|
|
2019-03-11 17:56:54 -04:00
|
|
|
|
public void ApplyConfig()
|
|
|
|
|
{
|
|
|
|
|
ConfigApi.SetEmulationConfig(this);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2019-03-14 15:25:35 -04:00
|
|
|
|
public enum ConsoleRegion
|
|
|
|
|
{
|
|
|
|
|
Auto = 0,
|
|
|
|
|
Ntsc = 1,
|
|
|
|
|
Pal = 2
|
|
|
|
|
}
|
|
|
|
|
|
2019-03-31 14:50:12 -04:00
|
|
|
|
public enum RamState
|
2019-03-11 17:56:54 -04:00
|
|
|
|
{
|
2019-07-16 21:31:30 -04:00
|
|
|
|
Random = 0,
|
|
|
|
|
AllZeros = 1,
|
|
|
|
|
AllOnes = 2,
|
2019-03-11 17:56:54 -04:00
|
|
|
|
}
|
|
|
|
|
}
|