close #4102 (puae floppy speed)

This commit is contained in:
feos 2024-11-17 19:43:18 +03:00
parent 6d8f616dde
commit 43b1dfa4b8
2 changed files with 25 additions and 0 deletions

View File

@ -130,6 +130,19 @@ namespace BizHawk.Emulation.Cores.Computers.Amiga
DRV_FB
}
public enum FloppySpeed
{
[Display(Name = "100%")]
_100 = 100,
[Display(Name = "200%")]
_200 = 200,
[Display(Name = "400%")]
_400 = 400,
[Display(Name = "800%")]
_800 = 800,
Turbo = 0
}
private void CreateArguments(PUAESyncSettings settings)
{
_args = new List<string>
@ -239,6 +252,11 @@ namespace BizHawk.Emulation.Cores.Computers.Amiga
AppendSetting("input.mouse_speed=" + settings.MouseSpeed);
AppendSetting("sound_stereo_separation=" + settings.StereoSeparation / 10);
if (!DeterministicEmulation)
{
AppendSetting("floppy_speed=" + (int)settings.FloppySpeed);
}
for (int port = 0; port <= 1; port++)
{
LibPUAE.ControllerType type = port == 0
@ -384,6 +402,12 @@ namespace BizHawk.Emulation.Cores.Computers.Amiga
[DefaultValue(VideoStandard.PAL)]
public VideoStandard Region { get; set; }
[DisplayName("Floppy drive speed")]
[Description("Default speed is 300RPM. 'Turbo' removes disk rotation emulation. This is a speedhack, not available for movies.")]
[DefaultValue(FloppySpeed._100)]
[TypeConverter(typeof(DescribableEnumConverter))]
public FloppySpeed FloppySpeed { get; set; }
public PUAESyncSettings()
=> SettingsUtil.SetDefaultValues(this);

View File

@ -46,6 +46,7 @@ namespace BizHawk.Emulation.Cores.Computers.Amiga
//_discs = lp.Discs;
_syncSettings = lp.SyncSettings ?? new();
_syncSettings.FloppyDrives = Math.Min(LibPUAE.MAX_FLOPPIES, _syncSettings.FloppyDrives);
DeterministicEmulation = (int)_syncSettings.FloppySpeed == 100 || lp.DeterministicEmulationRequested;
var filesToRemove = new List<string>();
_ports = [