diff --git a/BizHawk.Client.EmuHawk/movie/RecordMovie.cs b/BizHawk.Client.EmuHawk/movie/RecordMovie.cs index f867820468..9ca6b3bd52 100644 --- a/BizHawk.Client.EmuHawk/movie/RecordMovie.cs +++ b/BizHawk.Client.EmuHawk/movie/RecordMovie.cs @@ -10,6 +10,7 @@ using BizHawk.Emulation.Cores.Nintendo.N64; using BizHawk.Emulation.Cores.Nintendo.NES; using BizHawk.Emulation.Cores.Nintendo.SNES; using BizHawk.Emulation.Cores.Sega.MasterSystem; +using BizHawk.Emulation.Cores.Consoles.Sega.gpgx; namespace BizHawk.Client.EmuHawk { @@ -169,6 +170,13 @@ namespace BizHawk.Client.EmuHawk _movieToRecord.Header[HeaderKeys.PAL] = "1"; } } + else if (Global.Emulator is GPGX) + { + if ((Global.Emulator as GPGX).DisplayType == DisplayType.PAL) + { + _movieToRecord.Header[HeaderKeys.PAL] = "1"; + } + } GlobalWin.MainForm.StartNewMovie(_movieToRecord, true); diff --git a/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.cs b/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.cs index 7a702b14b6..3141ec7f72 100644 --- a/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.cs +++ b/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.cs @@ -109,6 +109,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx LibGPGX.gpgx_get_fps(ref fpsnum, ref fpsden); CoreComm.VsyncNum = fpsnum; CoreComm.VsyncDen = fpsden; + DisplayType = CoreComm.VsyncRate > 55 ? DisplayType.NTSC : DisplayType.PAL; } // compute state size @@ -270,7 +271,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx var ses = CD.TOC.Sessions[0]; int ntrack = ses.Tracks.Count; - + // bet you a dollar this is all wrong for (int i = 0; i < LibGPGX.CD_MAX_TRACKS; i++) { @@ -548,7 +549,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx if (area == IntPtr.Zero || pname == IntPtr.Zero || size == 0) continue; string name = Marshal.PtrToStringAnsi(pname); - byte *p = (byte*) area; + byte* p = (byte*)area; mm.Add(new MemoryDomain(name, size, MemoryDomain.Endian.Unknown, delegate(int addr) @@ -626,6 +627,8 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx #region VideoProvider + public DisplayType DisplayType { get; private set; } + public IVideoProvider VideoProvider { get { return this; } } int[] vidbuff = new int[0];