puae: support region changes
by user at the start and by the game on the fly todo: ntsc par (pal par is 1:1)
This commit is contained in:
parent
703955fcd7
commit
90287b3396
Binary file not shown.
|
@ -60,6 +60,12 @@ namespace BizHawk.Emulation.Cores.Computers.Amiga
|
||||||
Auto
|
Auto
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public enum VideoStandard
|
||||||
|
{
|
||||||
|
PAL,
|
||||||
|
NTSC
|
||||||
|
}
|
||||||
|
|
||||||
public enum ChipMemory
|
public enum ChipMemory
|
||||||
{
|
{
|
||||||
[Display(Name = "512KB")]
|
[Display(Name = "512KB")]
|
||||||
|
@ -224,6 +230,12 @@ namespace BizHawk.Emulation.Cores.Computers.Amiga
|
||||||
AppendSetting("fastmem_size=" + settings.FastMemory);
|
AppendSetting("fastmem_size=" + settings.FastMemory);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (settings.Region == VideoStandard.NTSC)
|
||||||
|
{
|
||||||
|
AppendSetting("ntsc=true");
|
||||||
|
VsyncNumerator = 60;
|
||||||
|
}
|
||||||
|
|
||||||
AppendSetting("input.mouse_speed=" + settings.MouseSpeed);
|
AppendSetting("input.mouse_speed=" + settings.MouseSpeed);
|
||||||
AppendSetting("sound_stereo_separation=" + settings.StereoSeparation / 10);
|
AppendSetting("sound_stereo_separation=" + settings.StereoSeparation / 10);
|
||||||
}
|
}
|
||||||
|
@ -335,6 +347,11 @@ namespace BizHawk.Emulation.Cores.Computers.Amiga
|
||||||
[TypeConverter(typeof(ConstrainedIntConverter))]
|
[TypeConverter(typeof(ConstrainedIntConverter))]
|
||||||
public int FloppyDrives { get; set; }
|
public int FloppyDrives { get; set; }
|
||||||
|
|
||||||
|
[DisplayName("Video standard")]
|
||||||
|
[Description("Determines resolution and framerate.")]
|
||||||
|
[DefaultValue(VideoStandard.PAL)]
|
||||||
|
public VideoStandard Region { get; set; }
|
||||||
|
|
||||||
public PUAESyncSettings()
|
public PUAESyncSettings()
|
||||||
=> SettingsUtil.SetDefaultValues(this);
|
=> SettingsUtil.SetDefaultValues(this);
|
||||||
|
|
||||||
|
|
|
@ -313,6 +313,11 @@ namespace BizHawk.Emulation.Cores.Computers.Amiga
|
||||||
return fi;
|
return fi;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override void FrameAdvancePost()
|
||||||
|
{
|
||||||
|
VsyncNumerator = BufferHeight == LibPUAE.NTSC_HEIGHT ? 60 : 50;
|
||||||
|
}
|
||||||
|
|
||||||
protected override void SaveStateBinaryInternal(BinaryWriter writer)
|
protected override void SaveStateBinaryInternal(BinaryWriter writer)
|
||||||
{
|
{
|
||||||
writer.Write(_ejectPressed);
|
writer.Write(_ejectPressed);
|
||||||
|
|
|
@ -25,8 +25,9 @@ ECL_EXPORT bool Init(int argc, char **argv)
|
||||||
|
|
||||||
ECL_EXPORT void FrameAdvance(MyFrameInfo* f)
|
ECL_EXPORT void FrameAdvance(MyFrameInfo* f)
|
||||||
{
|
{
|
||||||
f->base.Width = 720;
|
bool is_ntsc = minfirstline == VBLANK_ENDLINE_NTSC;
|
||||||
f->base.Height = 576;
|
f->base.Width = PUAE_VIDEO_WIDTH;
|
||||||
|
f->base.Height = is_ntsc ? PUAE_VIDEO_HEIGHT_NTSC : PUAE_VIDEO_HEIGHT_PAL;
|
||||||
sound_buffer = f->base.SoundBuffer;
|
sound_buffer = f->base.SoundBuffer;
|
||||||
thisframe_y_adjust = minfirstline;
|
thisframe_y_adjust = minfirstline;
|
||||||
visible_left_border = retro_max_diwlastword - retrow;
|
visible_left_border = retro_max_diwlastword - retrow;
|
||||||
|
|
Loading…
Reference in New Issue