diff --git a/BizHawk.Client.Common/movie/conversions/MovieConversionExtensions.cs b/BizHawk.Client.Common/movie/conversions/MovieConversionExtensions.cs index 616ce7e57c..f285e5d9f1 100644 --- a/BizHawk.Client.Common/movie/conversions/MovieConversionExtensions.cs +++ b/BizHawk.Client.Common/movie/conversions/MovieConversionExtensions.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using BizHawk.Common.ReflectionExtensions; using BizHawk.Emulation.Common; using BizHawk.Emulation.Cores.Nintendo.Gameboy; +using BizHawk.Emulation.Common.IEmulatorExtensions; namespace BizHawk.Client.Common.MovieConversionExtensions { @@ -283,10 +284,10 @@ namespace BizHawk.Client.Common.MovieConversionExtensions movie.BoardName = Global.Emulator.BoardName; } - if (Global.Emulator.HasPublicProperty("DisplayType")) + if (Global.Emulator.HasRegions()) { - var region = Global.Emulator.GetPropertyValue("DisplayType"); - if ((DisplayType)region == DisplayType.PAL) + var region = Global.Emulator.AsRegionable().Region; + if (region == DisplayType.PAL) { movie.HeaderEntries.Add(HeaderKeys.PAL, "1"); } diff --git a/BizHawk.Emulation.Common/BizHawk.Emulation.Common.csproj b/BizHawk.Emulation.Common/BizHawk.Emulation.Common.csproj index a042c31897..dd74e4459f 100644 --- a/BizHawk.Emulation.Common/BizHawk.Emulation.Common.csproj +++ b/BizHawk.Emulation.Common/BizHawk.Emulation.Common.csproj @@ -84,6 +84,7 @@ + diff --git a/BizHawk.Emulation.Common/Extensions.cs b/BizHawk.Emulation.Common/Extensions.cs index 16387bc5b7..6ac14b6d79 100644 --- a/BizHawk.Emulation.Common/Extensions.cs +++ b/BizHawk.Emulation.Common/Extensions.cs @@ -200,6 +200,21 @@ namespace BizHawk.Emulation.Common.IEmulatorExtensions return true; } + public static bool HasRegions(this IEmulator core) + { + if (core == null) + { + return false; + } + + return core.ServiceProvider.HasService(); + } + + public static IRegionable AsRegionable(this IEmulator core) + { + return (IRegionable)core.ServiceProvider.GetService(); + } + // TODO: a better place for these public static bool IsImplemented(this MethodInfo info) { diff --git a/BizHawk.Emulation.Cores/Calculator/TI83.cs b/BizHawk.Emulation.Cores/Calculator/TI83.cs index c6686c01ac..cbb8197d24 100644 --- a/BizHawk.Emulation.Cores/Calculator/TI83.cs +++ b/BizHawk.Emulation.Cores/Calculator/TI83.cs @@ -19,7 +19,7 @@ namespace BizHawk.Emulation.Cores.Calculators isPorted: false, isReleased: true )] - [ServiceNotApplicable(typeof(ISaveRam))] + [ServiceNotApplicable(typeof(ISaveRam), typeof(IRegionable))] public partial class TI83 : IEmulator, IVideoProvider, IStatable, IDebuggable, IInputPollable, ISettable { [CoreConstructor("TI83")] diff --git a/BizHawk.Emulation.Cores/Computers/AppleII/AppleII.cs b/BizHawk.Emulation.Cores/Computers/AppleII/AppleII.cs index cad6c19f38..9f43877262 100644 --- a/BizHawk.Emulation.Cores/Computers/AppleII/AppleII.cs +++ b/BizHawk.Emulation.Cores/Computers/AppleII/AppleII.cs @@ -14,6 +14,7 @@ namespace BizHawk.Emulation.Cores.Computers.AppleII isPorted: true, isReleased: true )] + [ServiceNotApplicable(typeof(ISaveRam), typeof(IRegionable))] public partial class AppleII : IEmulator, IDriveLight { public AppleII(CoreComm comm, IEnumerable gameInfoSet, IEnumerable romSet, Settings settings) diff --git a/BizHawk.Emulation.Cores/Computers/Commodore64/C64.cs b/BizHawk.Emulation.Cores/Computers/Commodore64/C64.cs index c6588a1735..3d0028a017 100644 --- a/BizHawk.Emulation.Cores/Computers/Commodore64/C64.cs +++ b/BizHawk.Emulation.Cores/Computers/Commodore64/C64.cs @@ -20,7 +20,7 @@ namespace BizHawk.Emulation.Cores.Computers.Commodore64 isPorted: false, isReleased: false )] - [ServiceNotApplicable(typeof(ISettable<,>))] + [ServiceNotApplicable(typeof(IRegionable), typeof(ISettable<,>))] sealed public partial class C64 : IEmulator, IStatable, IInputPollable, IDriveLight, IDebuggable { // framework diff --git a/BizHawk.Emulation.Cores/Consoles/Atari/2600/Atari2600.Core.cs b/BizHawk.Emulation.Cores/Consoles/Atari/2600/Atari2600.Core.cs index 38c8b207bc..ea0a2112e4 100644 --- a/BizHawk.Emulation.Cores/Consoles/Atari/2600/Atari2600.Core.cs +++ b/BizHawk.Emulation.Cores/Consoles/Atari/2600/Atari2600.Core.cs @@ -320,11 +320,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600 private bool _pal; - public DisplayType DisplayType - { - get { return _pal ? DisplayType.PAL : Common.DisplayType.NTSC; } - } - private void HardReset() { Ram = new byte[128]; diff --git a/BizHawk.Emulation.Cores/Consoles/Atari/2600/Atari2600.cs b/BizHawk.Emulation.Cores/Consoles/Atari/2600/Atari2600.cs index 8d35f2a7d2..dfc50a3cd5 100644 --- a/BizHawk.Emulation.Cores/Consoles/Atari/2600/Atari2600.cs +++ b/BizHawk.Emulation.Cores/Consoles/Atari/2600/Atari2600.cs @@ -16,7 +16,7 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600 isReleased: true )] [ServiceNotApplicable(typeof(ISaveRam), typeof(IDriveLight))] - public partial class Atari2600 : IEmulator, IStatable, IDebuggable, IInputPollable, ISettable + public partial class Atari2600 : IEmulator, IStatable, IDebuggable, IInputPollable, IRegionable, ISettable { private readonly GameInfo _game; private int _frame; @@ -58,6 +58,11 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600 public IEmulatorServiceProvider ServiceProvider { get; private set; } + public DisplayType Region + { + get { return _pal ? DisplayType.PAL : Common.DisplayType.NTSC; } + } + public string SystemId { get { return "A26"; } } public string BoardName { get { return _mapper.GetType().Name; } } diff --git a/BizHawk.Emulation.Cores/Consoles/Atari/7800/Atari7800.cs b/BizHawk.Emulation.Cores/Consoles/Atari/7800/Atari7800.cs index f169effc48..b4276ca878 100644 --- a/BizHawk.Emulation.Cores/Consoles/Atari/7800/Atari7800.cs +++ b/BizHawk.Emulation.Cores/Consoles/Atari/7800/Atari7800.cs @@ -17,7 +17,7 @@ namespace BizHawk.Emulation.Cores.Atari.Atari7800 portedUrl: "http://emu7800.sourceforge.net/" )] [ServiceNotApplicable(typeof(ISettable<,>), typeof(IDriveLight))] - public partial class Atari7800 : IEmulator, ISaveRam, IDebuggable, IStatable, IInputPollable + public partial class Atari7800 : IEmulator, ISaveRam, IDebuggable, IStatable, IInputPollable, IRegionable { // TODO: // some things don't work when you try to plug in a 2600 game @@ -164,7 +164,7 @@ namespace BizHawk.Emulation.Cores.Atari.Atari7800 } private bool _pal; - public DisplayType DisplayType + public DisplayType Region { get { return _pal ? DisplayType.PAL : DisplayType.NTSC; } } diff --git a/BizHawk.Emulation.Cores/Consoles/Atari/lynx/Lynx.cs b/BizHawk.Emulation.Cores/Consoles/Atari/lynx/Lynx.cs index ab792b2607..ed1f62307b 100644 --- a/BizHawk.Emulation.Cores/Consoles/Atari/lynx/Lynx.cs +++ b/BizHawk.Emulation.Cores/Consoles/Atari/lynx/Lynx.cs @@ -12,7 +12,7 @@ using Newtonsoft.Json; namespace BizHawk.Emulation.Cores.Atari.Lynx { [CoreAttributes("Handy", "K. Wilkins", true, true, "mednafen 0-9-34-1", "http://mednafen.sourceforge.net/")] - [ServiceNotApplicable(typeof(ISettable<,>), typeof(IDriveLight))] + [ServiceNotApplicable(typeof(ISettable<,>), typeof(IDriveLight), typeof(IRegionable))] public partial class Lynx : IEmulator, IVideoProvider, ISyncSoundProvider, ISaveRam, IStatable, IInputPollable { IntPtr Core; diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/MGBAHawk.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/MGBAHawk.cs index 20d9b2d8e6..5738b05eef 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/MGBAHawk.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/MGBAHawk.cs @@ -11,6 +11,7 @@ using System.ComponentModel; namespace BizHawk.Emulation.Cores.Nintendo.GBA { [CoreAttributes("mGBA", "endrift", true, false, "NOT DONE", "NOT DONE", false)] + [ServiceNotApplicable(typeof(IDriveLight), typeof(IRegionable))] public class MGBAHawk : IEmulator, IVideoProvider, ISyncSoundProvider, IGBAGPUViewable, ISaveRam, IStatable, IInputPollable, ISettable { IntPtr core; diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/Meteor.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/Meteor.cs index da3079c09c..965192275e 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/Meteor.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/Meteor.cs @@ -15,7 +15,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBA isReleased: false, singleInstance: true )] - [ServiceNotApplicable(typeof(IDriveLight))] + [ServiceNotApplicable(typeof(IDriveLight), typeof(IRegionable))] public partial class GBA : IEmulator, IVideoProvider, ISyncSoundProvider, IGBAGPUViewable, ISaveRam, IStatable, IInputPollable { [CoreConstructor("GBA")] diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/VBANext.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/VBANext.cs index 8dc7473d4f..f529b4ffbc 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/VBANext.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/VBANext.cs @@ -14,7 +14,7 @@ using BizHawk.Common; namespace BizHawk.Emulation.Cores.Nintendo.GBA { [CoreAttributes("VBA-Next", "many authors", true, true, "cd508312a29ed8c29dacac1b11c2dce56c338a54", "https://github.com/libretro/vba-next")] - [ServiceNotApplicable(typeof(IDriveLight))] + [ServiceNotApplicable(typeof(IDriveLight), typeof(IRegionable))] public partial class VBANext : IEmulator, IVideoProvider, ISyncSoundProvider, IInputPollable, IGBAGPUViewable, ISaveRam, IStatable, IDebuggable, ISettable { diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs index f96685a4b2..5389945b1c 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs @@ -22,7 +22,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy portedVersion: "SVN 344", portedUrl: "http://gambatte.sourceforge.net/" )] - [ServiceNotApplicable(typeof(IDriveLight))] + [ServiceNotApplicable(typeof(IDriveLight), typeof(IDriveLight))] public partial class Gameboy : IEmulator, IVideoProvider, ISyncSoundProvider, ISaveRam, IStatable, IInputPollable, IDebuggable, ISettable { diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/N64/N64.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/N64/N64.cs index 699ab94258..f68e6926f0 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/N64/N64.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/N64/N64.cs @@ -20,7 +20,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64 singleInstance: true )] [ServiceNotApplicable(typeof(IDriveLight))] - public partial class N64 : IEmulator, ISaveRam, IDebuggable, IStatable, IInputPollable, IDisassemblable, + public partial class N64 : IEmulator, ISaveRam, IDebuggable, IStatable, IInputPollable, IDisassemblable, IRegionable, ISettable { private readonly N64Input _inputProvider; @@ -104,7 +104,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64 _display_type = DisplayType.NTSC; break; } - switch (DisplayType) + switch (Region) { case DisplayType.NTSC: comm.VsyncNum = 60000; @@ -245,7 +245,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64 public CoreComm CoreComm { get; private set; } - public DisplayType DisplayType { get { return _display_type; } } + public DisplayType Region { get { return _display_type; } } public ISoundProvider SoundProvider { get { return null; } } diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/NES.ISettable.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/NES.ISettable.cs index 09ba773b20..9c81ab5b3f 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/NES.ISettable.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/NES.ISettable.cs @@ -34,7 +34,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES } CoreComm.ScreenLogicalOffsetX = videoProvider.left; - CoreComm.ScreenLogicalOffsetY = DisplayType == DisplayType.NTSC ? Settings.NTSC_TopLine : Settings.PAL_TopLine; + CoreComm.ScreenLogicalOffsetY = Region == DisplayType.NTSC ? Settings.NTSC_TopLine : Settings.PAL_TopLine; SetPalette(Settings.Palette); diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/NES.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/NES.cs index 1a595c6f66..b23a20605d 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/NES.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/NES.cs @@ -17,7 +17,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES isPorted: false, isReleased: true )] - public partial class NES : IEmulator, ISaveRam, IDebuggable, IStatable, IInputPollable, + public partial class NES : IEmulator, ISaveRam, IDebuggable, IStatable, IInputPollable, IRegionable, ISettable { static readonly bool USE_DATABASE = true; @@ -182,7 +182,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES public CoreComm CoreComm { get; private set; } - public DisplayType DisplayType { get { return _display_type; } } + public DisplayType Region { get { return _display_type; } } class MyVideoProvider : IVideoProvider { @@ -209,7 +209,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES { int the_top; int the_bottom; - if (emu.DisplayType == DisplayType.NTSC) + if (emu.Region == DisplayType.NTSC) { the_top = emu.Settings.NTSC_TopLine; the_bottom = emu.Settings.NTSC_BottomLine; @@ -289,7 +289,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES { get { - if (emu.DisplayType == DisplayType.NTSC) + if (emu.Region == DisplayType.NTSC) { return emu.Settings.NTSC_BottomLine - emu.Settings.NTSC_TopLine + 1; } diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/SNES/LibsnesCore.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/SNES/LibsnesCore.cs index a60e6c21d5..15e132c525 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/SNES/LibsnesCore.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/SNES/LibsnesCore.cs @@ -30,7 +30,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES portedUrl: "http://byuu.org/" )] [ServiceNotApplicable(typeof(IDriveLight))] - public unsafe class LibsnesCore : IEmulator, IVideoProvider, ISaveRam, IStatable, IInputPollable, + public unsafe class LibsnesCore : IEmulator, IVideoProvider, ISaveRam, IStatable, IInputPollable, IRegionable, IDebuggable, ISettable { public LibsnesCore(GameInfo game, byte[] romData, bool deterministicEmulation, byte[] xmlData, CoreComm comm, object Settings, object SyncSettings) @@ -666,7 +666,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES api.QUERY_set_state_hook_write(!suppress && mcs.HasWrites); } - public DisplayType DisplayType + public DisplayType Region { get { diff --git a/BizHawk.Emulation.Cores/Consoles/Sega/SMS/SMS.Input.cs b/BizHawk.Emulation.Cores/Consoles/Sega/SMS/SMS.Input.cs index 5e1f6d0e97..5c9cd5b4e6 100644 --- a/BizHawk.Emulation.Cores/Consoles/Sega/SMS/SMS.Input.cs +++ b/BizHawk.Emulation.Cores/Consoles/Sega/SMS/SMS.Input.cs @@ -104,7 +104,7 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem value ^= 0x80; } - if (Region == "Japan") + if (RegionStr == "Japan") { value ^= 0x40; } diff --git a/BizHawk.Emulation.Cores/Consoles/Sega/SMS/SMS.cs b/BizHawk.Emulation.Cores/Consoles/Sega/SMS/SMS.cs index 565b52e2a1..32dce4aa87 100644 --- a/BizHawk.Emulation.Cores/Consoles/Sega/SMS/SMS.cs +++ b/BizHawk.Emulation.Cores/Consoles/Sega/SMS/SMS.cs @@ -28,7 +28,7 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem isReleased: true )] [ServiceNotApplicable(typeof(IDriveLight))] - public sealed partial class SMS : IEmulator, ISaveRam, IStatable, IInputPollable, + public sealed partial class SMS : IEmulator, ISaveRam, IStatable, IInputPollable, IRegionable, IDebuggable, ISettable { // Constants @@ -92,7 +92,7 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem byte ForceStereoByte = 0xAD; bool IsGame3D = false; - public DisplayType DisplayType { get; set; } + public DisplayType Region { get; set; } public bool DeterministicEmulation { get { return true; } } [CoreConstructor("SMS", "SG", "GG")] @@ -113,23 +113,23 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem Array.Resize(ref RomData, ((RomData.Length / BankSize) + 1) * BankSize); RomBanks = (byte)(RomData.Length / BankSize); - DisplayType = DetermineDisplayType(SyncSettings.DisplayType, game.Region); - if (game["PAL"] && DisplayType != DisplayType.PAL) + Region = DetermineDisplayType(SyncSettings.DisplayType, game.Region); + if (game["PAL"] && Region != DisplayType.PAL) { - DisplayType = DisplayType.PAL; + Region = DisplayType.PAL; CoreComm.Notify("Display was forced to PAL mode for game compatibility."); } if (IsGameGear) - DisplayType = DisplayType.NTSC; // all game gears run at 60hz/NTSC mode - CoreComm.VsyncNum = DisplayType == DisplayType.NTSC ? 60 : 50; + Region = DisplayType.NTSC; // all game gears run at 60hz/NTSC mode + CoreComm.VsyncNum = Region == DisplayType.NTSC ? 60 : 50; CoreComm.VsyncDen = 1; - Region = SyncSettings.ConsoleRegion; - if (Region == "Auto") Region = DetermineRegion(game.Region); + RegionStr = SyncSettings.ConsoleRegion; + if (RegionStr == "Auto") RegionStr = DetermineRegion(game.Region); - if (game["Japan"] && Region != "Japan") + if (game["Japan"] && RegionStr != "Japan") { - Region = "Japan"; + RegionStr = "Japan"; CoreComm.Notify("Region was forced to Japan for game compatibility."); } @@ -145,7 +145,7 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem Cpu.WriteHardware = WritePort; Cpu.MemoryCallbacks = MemoryCallbacks; - Vdp = new VDP(this, Cpu, IsGameGear ? VdpMode.GameGear : VdpMode.SMS, DisplayType); + Vdp = new VDP(this, Cpu, IsGameGear ? VdpMode.GameGear : VdpMode.SMS, Region); (ServiceProvider as BasicServiceProvider).Register(Vdp); PSG = new SN76489(); YM2413 = new YM2413(); @@ -198,7 +198,7 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem } else if (game.System == "SMS") { - BiosRom = comm.CoreFileProvider.GetFirmware("SMS", Region, false); + BiosRom = comm.CoreFileProvider.GetFirmware("SMS", RegionStr, false); if (BiosRom != null && (game["RequireBios"] || SyncSettings.UseBIOS)) Port3E = 0xF7; @@ -428,7 +428,7 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem public string BoardName { get { return null; } } string region; - public string Region + public string RegionStr { get { return region; } set diff --git a/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.cs b/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.cs index c0ea57bcfa..6a5bb42b0a 100644 --- a/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.cs +++ b/BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGX.cs @@ -25,7 +25,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx portedUrl: "https://code.google.com/p/genplus-gx/", singleInstance: true )] - public class GPGX : IEmulator, ISyncSoundProvider, IVideoProvider, ISaveRam, IStatable, + public class GPGX : IEmulator, ISyncSoundProvider, IVideoProvider, ISaveRam, IStatable, IRegionable, IInputPollable, IDebuggable, ISettable, IDriveLight { static GPGX AttachedCore = null; @@ -141,7 +141,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; + Region = CoreComm.VsyncRate > 55 ? DisplayType.NTSC : DisplayType.PAL; } // compute state size @@ -749,7 +749,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx #region VideoProvider - public DisplayType DisplayType { get; private set; } + public DisplayType Region { get; private set; } int[] vidbuff = new int[0]; int vwidth; diff --git a/BizHawk.Emulation.Cores/Consoles/WonderSwan/WonderSwan.cs b/BizHawk.Emulation.Cores/Consoles/WonderSwan/WonderSwan.cs index 4b38c76a7b..5d77013af8 100644 --- a/BizHawk.Emulation.Cores/Consoles/WonderSwan/WonderSwan.cs +++ b/BizHawk.Emulation.Cores/Consoles/WonderSwan/WonderSwan.cs @@ -11,7 +11,7 @@ using System.Runtime.InteropServices; namespace BizHawk.Emulation.Cores.WonderSwan { [CoreAttributes("Cygne/Mednafen", "Dox", true, true, "0.9.36.5", "http://mednafen.sourceforge.net/")] - [ServiceNotApplicable(typeof(IDriveLight))] + [ServiceNotApplicable(typeof(IDriveLight), typeof(IRegionable))] public partial class WonderSwan : IEmulator, IVideoProvider, ISyncSoundProvider, IInputPollable, IDebuggable {