Clean up "display name" stupidity
* removed CoreAttribute.DisplayName (using IEmulator.SystemId instead) * fixed ToolManager checking for "(Experimental) " prefix on names of unreleased cores in ToolAttribute.UnsupportedCores * corrected display name of UZE sysID to "Uzebox" (was "uzem") * disabled auto-generated accelerators (&A -> Alt+A) on "current system" menu in MainForm menubar because they could conflict with hardcoded ones
This commit is contained in:
parent
193e9aa7dc
commit
553319ec95
|
@ -38,61 +38,13 @@ namespace BizHawk.Client.EmuHawk.CoreExtensions
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string DisplayName(this IEmulator core)
|
public static string GetSystemDisplayName(this IEmulator emulator) => emulator switch
|
||||||
{
|
{
|
||||||
var attributes = core.Attributes();
|
NullEmulator => string.Empty,
|
||||||
|
|
||||||
var str = (!attributes.Released ? "(Experimental) " : "") +
|
|
||||||
attributes.CoreName;
|
|
||||||
|
|
||||||
return str;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static string GetSystemDisplayName(this IEmulator emulator) => emulator.SystemId switch
|
|
||||||
{
|
|
||||||
"NULL" => string.Empty,
|
|
||||||
"NES" => "NES",
|
|
||||||
"INTV" => "Intellivision",
|
|
||||||
"GG" => "Game Gear",
|
|
||||||
"SG" => "SG-1000",
|
|
||||||
"SMS" => "Sega Master System",
|
|
||||||
"PCECD" => "TurboGrafx - 16(CD)",
|
|
||||||
"PCE" => "TurboGrafx-16",
|
|
||||||
"SGX" => "SuperGrafx",
|
|
||||||
"GEN" => "Genesis",
|
|
||||||
"TI83" => "TI - 83",
|
|
||||||
"SNES" => "SNES",
|
|
||||||
#if false
|
#if false
|
||||||
"GB" when emulator is IGameboyCommon gb && gb.IsCGBMode() => "Gameboy Color",
|
IGameboyCommon gb when gb.IsCGBMode() => EmulatorExtensions.SystemIDToDisplayName("GBC"),
|
||||||
#endif
|
#endif
|
||||||
"GB" => "GB",
|
_ => EmulatorExtensions.SystemIDToDisplayName(emulator.SystemId)
|
||||||
"A26" => "Atari 2600",
|
|
||||||
"A78" => "Atari 7800",
|
|
||||||
"C64" => "Commodore 64",
|
|
||||||
"Coleco" => "ColecoVision",
|
|
||||||
"GBA" => "Gameboy Advance",
|
|
||||||
"NDS" => "NDS",
|
|
||||||
"N64" => "Nintendo 64",
|
|
||||||
"SAT" => "Saturn",
|
|
||||||
"DGB" => "Game Boy Link",
|
|
||||||
"GB3x" => "Game Boy Link 3x",
|
|
||||||
"GB4x" => "Game Boy Link 4x",
|
|
||||||
"WSWAN" => "WonderSwan",
|
|
||||||
"Lynx" => "Lynx",
|
|
||||||
"PSX" => "PlayStation",
|
|
||||||
"AppleII" => "Apple II",
|
|
||||||
"Libretro" => "Libretro",
|
|
||||||
"VB" => "Virtual Boy",
|
|
||||||
"VEC" => "Vectrex",
|
|
||||||
"NGP" => "Neo-Geo Pocket",
|
|
||||||
"ZXSpectrum" => "ZX Spectrum",
|
|
||||||
"AmstradCPC" => "Amstrad CPC",
|
|
||||||
"ChannelF" => "Channel F",
|
|
||||||
"O2" => "Odyssey2",
|
|
||||||
"MAME" => "MAME",
|
|
||||||
"UZE" => "uzem",
|
|
||||||
"PCFX" => "PCFX",
|
|
||||||
_ => string.Empty
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1790,7 +1790,8 @@ namespace BizHawk.Client.EmuHawk
|
||||||
|
|
||||||
private void GenericCoreSettingsMenuItem_Click(object sender, EventArgs e)
|
private void GenericCoreSettingsMenuItem_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
GenericCoreConfig.DoDialog(this, $"{Emulator.DisplayName()} Settings");
|
var coreName = ((CoreAttribute) Attribute.GetCustomAttribute(Emulator.GetType(), typeof(CoreAttribute))).CoreName;
|
||||||
|
GenericCoreConfig.DoDialog(this, $"{coreName} Settings");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AppleIISettingsMenuItem_Click(object sender, EventArgs e)
|
private void AppleIISettingsMenuItem_Click(object sender, EventArgs e)
|
||||||
|
|
|
@ -2006,7 +2006,11 @@ namespace BizHawk.Client.EmuHawk
|
||||||
private void DisplayDefaultCoreMenu()
|
private void DisplayDefaultCoreMenu()
|
||||||
{
|
{
|
||||||
GenericCoreSubMenu.Visible = true;
|
GenericCoreSubMenu.Visible = true;
|
||||||
GenericCoreSubMenu.Text = "&" + EmulatorExtensions.DisplayName(Emulator);
|
#if true
|
||||||
|
GenericCoreSubMenu.Text = Emulator.GetSystemDisplayName();
|
||||||
|
#else //TODO accelerator; I commented out this naive approach which doesn't work --yoshi
|
||||||
|
GenericCoreSubMenu.Text = $"&{Emulator.GetSystemDisplayName()}";
|
||||||
|
#endif
|
||||||
GenericCoreSubMenu.DropDownItems.Clear();
|
GenericCoreSubMenu.DropDownItems.Clear();
|
||||||
|
|
||||||
var settingsMenuItem = new ToolStripMenuItem { Text = "&Settings" };
|
var settingsMenuItem = new ToolStripMenuItem { Text = "&Settings" };
|
||||||
|
@ -2793,7 +2797,8 @@ namespace BizHawk.Client.EmuHawk
|
||||||
|
|
||||||
private void UpdateCoreStatusBarButton()
|
private void UpdateCoreStatusBarButton()
|
||||||
{
|
{
|
||||||
var coreDispName = CoreExtensions.CoreExtensions.DisplayName(Emulator);
|
var attributes = Emulator.Attributes();
|
||||||
|
var coreDispName = attributes.Released ? attributes.CoreName : $"(Experimental) {attributes.CoreName}";
|
||||||
LoadedCoreNameMenuItem.Text = $"Loaded core: {coreDispName} ({Emulator.SystemId})";
|
LoadedCoreNameMenuItem.Text = $"Loaded core: {coreDispName} ({Emulator.SystemId})";
|
||||||
if (Emulator.IsNull())
|
if (Emulator.IsNull())
|
||||||
{
|
{
|
||||||
|
@ -2802,7 +2807,6 @@ namespace BizHawk.Client.EmuHawk
|
||||||
}
|
}
|
||||||
|
|
||||||
CoreNameStatusBarButton.Visible = true;
|
CoreNameStatusBarButton.Visible = true;
|
||||||
var attributes = Emulator.Attributes();
|
|
||||||
|
|
||||||
CoreNameStatusBarButton.Text = coreDispName;
|
CoreNameStatusBarButton.Text = coreDispName;
|
||||||
CoreNameStatusBarButton.Image = Emulator.Icon();
|
CoreNameStatusBarButton.Image = Emulator.Icon();
|
||||||
|
|
|
@ -740,10 +740,8 @@ namespace BizHawk.Client.EmuHawk
|
||||||
return true; // no ToolAttribute on given type -> assumed all supported
|
return true; // no ToolAttribute on given type -> assumed all supported
|
||||||
}
|
}
|
||||||
|
|
||||||
var displayName = CoreExtensions.CoreExtensions.DisplayName(_emulator);
|
return !attr.UnsupportedCores.Contains(_emulator.Attributes().CoreName) // not unsupported
|
||||||
var systemId = _emulator.SystemId;
|
&& (!attr.SupportedSystems.Any() || attr.SupportedSystems.Contains(_emulator.SystemId)); // supported (no supported list -> assumed all supported)
|
||||||
return !attr.UnsupportedCores.Contains(displayName) // not unsupported
|
|
||||||
&& (!attr.SupportedSystems.Any() || attr.SupportedSystems.Contains(systemId)); // supported (no supported list -> assumed all supported)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsAvailable<T>() => IsAvailable(typeof(T));
|
public bool IsAvailable<T>() => IsAvailable(typeof(T));
|
||||||
|
|
|
@ -5,7 +5,7 @@ namespace BizHawk.Emulation.Common
|
||||||
[AttributeUsage(AttributeTargets.Class)]
|
[AttributeUsage(AttributeTargets.Class)]
|
||||||
public sealed class CoreAttribute : Attribute
|
public sealed class CoreAttribute : Attribute
|
||||||
{
|
{
|
||||||
public CoreAttribute(string name, string author, bool isPorted, bool isReleased, string portedVersion = null, string portedUrl = null, bool singleInstance = false, string displayName = null)
|
public CoreAttribute(string name, string author, bool isPorted, bool isReleased, string portedVersion = null, string portedUrl = null, bool singleInstance = false)
|
||||||
{
|
{
|
||||||
CoreName = name;
|
CoreName = name;
|
||||||
Author = author;
|
Author = author;
|
||||||
|
@ -14,11 +14,9 @@ namespace BizHawk.Emulation.Common
|
||||||
PortedVersion = portedVersion ?? string.Empty;
|
PortedVersion = portedVersion ?? string.Empty;
|
||||||
PortedUrl = portedUrl ?? string.Empty;
|
PortedUrl = portedUrl ?? string.Empty;
|
||||||
SingleInstance = singleInstance;
|
SingleInstance = singleInstance;
|
||||||
DisplayName = displayName;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public string CoreName { get; }
|
public string CoreName { get; }
|
||||||
public string DisplayName { get; }
|
|
||||||
public string Author { get; }
|
public string Author { get; }
|
||||||
public bool Ported { get; }
|
public bool Ported { get; }
|
||||||
public bool Released { get; }
|
public bool Released { get; }
|
||||||
|
|
|
@ -13,22 +13,54 @@ namespace BizHawk.Emulation.Common
|
||||||
{
|
{
|
||||||
public static class EmulatorExtensions
|
public static class EmulatorExtensions
|
||||||
{
|
{
|
||||||
|
public static readonly IReadOnlyDictionary<string, string> SystemIDDisplayNames = new Dictionary<string, string>
|
||||||
|
{
|
||||||
|
["A26"] = "Atari 2600",
|
||||||
|
["A78"] = "Atari 7800",
|
||||||
|
["AmstradCPC"] = "Amstrad CPC",
|
||||||
|
["AppleII"] = "Apple II",
|
||||||
|
["C64"] = "Commodore 64",
|
||||||
|
["ChannelF"] = "Channel F",
|
||||||
|
["Coleco"] = "ColecoVision",
|
||||||
|
["DGB"] = "Game Boy Link",
|
||||||
|
["GB"] = "GB",
|
||||||
|
["GB3x"] = "Game Boy Link 3x",
|
||||||
|
["GB4x"] = "Game Boy Link 4x",
|
||||||
|
["GBA"] = "Gameboy Advance",
|
||||||
|
["GBC"] = "Gameboy Color",
|
||||||
|
["GEN"] = "Genesis",
|
||||||
|
["GG"] = "Game Gear",
|
||||||
|
["INTV"] = "Intellivision",
|
||||||
|
["Libretro"] = "Libretro",
|
||||||
|
["Lynx"] = "Lynx",
|
||||||
|
["MAME"] = "MAME",
|
||||||
|
["N64"] = "Nintendo 64",
|
||||||
|
["NDS"] = "NDS",
|
||||||
|
["NES"] = "NES",
|
||||||
|
["NGP"] = "Neo-Geo Pocket",
|
||||||
|
["O2"] = "Odyssey2",
|
||||||
|
["PCE"] = "TurboGrafx-16",
|
||||||
|
["PCECD"] = "TurboGrafx - 16(CD)",
|
||||||
|
["PCFX"] = "PCFX",
|
||||||
|
["PSX"] = "PlayStation",
|
||||||
|
["SAT"] = "Saturn",
|
||||||
|
["SG"] = "SG-1000",
|
||||||
|
["SGX"] = "SuperGrafx",
|
||||||
|
["SMS"] = "Sega Master System",
|
||||||
|
["SNES"] = "SNES",
|
||||||
|
["TI83"] = "TI - 83",
|
||||||
|
["UZE"] = "Uzebox",
|
||||||
|
["VB"] = "Virtual Boy",
|
||||||
|
["VEC"] = "Vectrex",
|
||||||
|
["WSWAN"] = "WonderSwan",
|
||||||
|
["ZXSpectrum"] = "ZX Spectrum",
|
||||||
|
};
|
||||||
|
|
||||||
public static CoreAttribute Attributes(this IEmulator core)
|
public static CoreAttribute Attributes(this IEmulator core)
|
||||||
{
|
{
|
||||||
return (CoreAttribute)Attribute.GetCustomAttribute(core.GetType(), typeof(CoreAttribute));
|
return (CoreAttribute)Attribute.GetCustomAttribute(core.GetType(), typeof(CoreAttribute));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string DisplayName(this IEmulator core)
|
|
||||||
{
|
|
||||||
var attr = (CoreAttribute)Attribute.GetCustomAttribute(core.GetType(), typeof(CoreAttribute));
|
|
||||||
if (attr == null)
|
|
||||||
{
|
|
||||||
return core.GetType().Name;
|
|
||||||
}
|
|
||||||
|
|
||||||
return attr.DisplayName ?? attr.CoreName;
|
|
||||||
}
|
|
||||||
|
|
||||||
// todo: most of the special cases involving the NullEmulator should probably go away
|
// todo: most of the special cases involving the NullEmulator should probably go away
|
||||||
public static bool IsNull(this IEmulator core)
|
public static bool IsNull(this IEmulator core)
|
||||||
{
|
{
|
||||||
|
@ -459,5 +491,8 @@ namespace BizHawk.Emulation.Common
|
||||||
/// <remarks>TODO inline (only change is wrapping strings in <see cref="FirmwareID"/> ctor, these IDs should probably be consts in each core's class)</remarks>
|
/// <remarks>TODO inline (only change is wrapping strings in <see cref="FirmwareID"/> ctor, these IDs should probably be consts in each core's class)</remarks>
|
||||||
public static byte[] GetFirmwareWithGameInfo(this ICoreFileProvider cfp, string sysId, string firmwareId, bool required, out GameInfo gi, string msg = null)
|
public static byte[] GetFirmwareWithGameInfo(this ICoreFileProvider cfp, string sysId, string firmwareId, bool required, out GameInfo gi, string msg = null)
|
||||||
=> cfp.GetFirmwareWithGameInfo(new(system: sysId, firmware: firmwareId), required: required, out gi, msg: msg);
|
=> cfp.GetFirmwareWithGameInfo(new(system: sysId, firmware: firmwareId), required: required, out gi, msg: msg);
|
||||||
|
|
||||||
|
public static string SystemIDToDisplayName(string sysID)
|
||||||
|
=> SystemIDDisplayNames.TryGetValue(sysID, out var dispName) ? dispName : string.Empty;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,8 +90,7 @@ namespace BizHawk.Emulation.Cores.Arcades.MAME
|
||||||
isReleased: false,
|
isReleased: false,
|
||||||
portedVersion: "0.230",
|
portedVersion: "0.230",
|
||||||
portedUrl: "https://github.com/mamedev/mame.git",
|
portedUrl: "https://github.com/mamedev/mame.git",
|
||||||
singleInstance: false,
|
singleInstance: false)]
|
||||||
displayName: "Arcade")]
|
|
||||||
public partial class MAME : IEmulator, IVideoProvider, ISoundProvider, ISettable<object, MAME.SyncSettings>, IStatable, IInputPollable
|
public partial class MAME : IEmulator, IVideoProvider, ISoundProvider, ISettable<object, MAME.SyncSettings>, IStatable, IInputPollable
|
||||||
{
|
{
|
||||||
public MAME(string dir, string file, MAME.SyncSettings syncSettings, out string gamename)
|
public MAME(string dir, string file, MAME.SyncSettings syncSettings, out string gamename)
|
||||||
|
|
|
@ -4,12 +4,7 @@ using BizHawk.Emulation.Common;
|
||||||
|
|
||||||
namespace BizHawk.Emulation.Cores.Computers.MSX
|
namespace BizHawk.Emulation.Cores.Computers.MSX
|
||||||
{
|
{
|
||||||
[Core(
|
[Core("MSXHawk", "", isPorted: false, isReleased: false)]
|
||||||
"MSXHawk",
|
|
||||||
"",
|
|
||||||
isPorted: false,
|
|
||||||
isReleased: false,
|
|
||||||
displayName: "MSX")]
|
|
||||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||||
public partial class MSX : IEmulator, IVideoProvider, ISoundProvider, ISaveRam, IInputPollable, IRegionable, ISettable<MSX.MSXSettings, MSX.MSXSyncSettings>
|
public partial class MSX : IEmulator, IVideoProvider, ISoundProvider, ISaveRam, IInputPollable, IRegionable, ISettable<MSX.MSXSettings, MSX.MSXSyncSettings>
|
||||||
{
|
{
|
||||||
|
|
|
@ -6,12 +6,7 @@ using BizHawk.Emulation.Common;
|
||||||
|
|
||||||
namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
||||||
{
|
{
|
||||||
[Core(
|
[Core("Atari2600Hawk", "Micro500, Alyosha, adelikat, natt", isPorted: false, isReleased: true)]
|
||||||
"Atari2600Hawk",
|
|
||||||
"Micro500, Alyosha, adelikat, natt",
|
|
||||||
isPorted: false,
|
|
||||||
isReleased: true,
|
|
||||||
displayName: "Atari 2600")]
|
|
||||||
[ServiceNotApplicable(new[] { typeof(IDriveLight), typeof(ISaveRam) })]
|
[ServiceNotApplicable(new[] { typeof(IDriveLight), typeof(ISaveRam) })]
|
||||||
public partial class Atari2600 : IEmulator, IDebuggable, IInputPollable, IBoardInfo, IRomInfo,
|
public partial class Atari2600 : IEmulator, IDebuggable, IInputPollable, IBoardInfo, IRomInfo,
|
||||||
IRegionable, ICreateGameDBEntries, ISettable<Atari2600.A2600Settings, Atari2600.A2600SyncSettings>
|
IRegionable, ICreateGameDBEntries, ISettable<Atari2600.A2600Settings, Atari2600.A2600SyncSettings>
|
||||||
|
|
|
@ -6,12 +6,7 @@ using BizHawk.Emulation.Cores.Components.MC6809;
|
||||||
|
|
||||||
namespace BizHawk.Emulation.Cores.Consoles.Vectrex
|
namespace BizHawk.Emulation.Cores.Consoles.Vectrex
|
||||||
{
|
{
|
||||||
[Core(
|
[Core("VectrexHawk", "", isPorted: false, isReleased: true)]
|
||||||
"VectrexHawk",
|
|
||||||
"",
|
|
||||||
isPorted: false,
|
|
||||||
isReleased: true,
|
|
||||||
displayName: "Vectrex")]
|
|
||||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||||
public partial class VectrexHawk : IEmulator, ISaveRam, IDebuggable, IInputPollable, IRegionable,
|
public partial class VectrexHawk : IEmulator, ISaveRam, IDebuggable, IInputPollable, IRegionable,
|
||||||
ISettable<object, VectrexHawk.VectrexSyncSettings>
|
ISettable<object, VectrexHawk.VectrexSyncSettings>
|
||||||
|
|
|
@ -6,12 +6,7 @@ using BizHawk.Emulation.Cores.Components.I8048;
|
||||||
|
|
||||||
namespace BizHawk.Emulation.Cores.Consoles.O2Hawk
|
namespace BizHawk.Emulation.Cores.Consoles.O2Hawk
|
||||||
{
|
{
|
||||||
[Core(
|
[Core("O2Hawk", "", isPorted: false, isReleased: true)]
|
||||||
"O2Hawk",
|
|
||||||
"",
|
|
||||||
isPorted: false,
|
|
||||||
isReleased: true,
|
|
||||||
displayName: "Odyssey 2")]
|
|
||||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||||
public partial class O2Hawk : IEmulator, ISaveRam, IDebuggable, IInputPollable, IRegionable, ISettable<O2Hawk.O2Settings, O2Hawk.O2SyncSettings>, IBoardInfo
|
public partial class O2Hawk : IEmulator, ISaveRam, IDebuggable, IInputPollable, IRegionable, ISettable<O2Hawk.O2Settings, O2Hawk.O2SyncSettings>, IBoardInfo
|
||||||
{
|
{
|
||||||
|
|
|
@ -9,7 +9,7 @@ using BizHawk.Emulation.Cores.Waterbox;
|
||||||
|
|
||||||
namespace BizHawk.Emulation.Cores.Consoles.NEC.PCE
|
namespace BizHawk.Emulation.Cores.Consoles.NEC.PCE
|
||||||
{
|
{
|
||||||
[Core(CoreNames.HyperNyma, "Mednafen Team", true, true, "1.26.1", "https://mednafen.github.io/releases/", false, "PCE")]
|
[Core(CoreNames.HyperNyma, "Mednafen Team", true, true, "1.26.1", "https://mednafen.github.io/releases/", false)]
|
||||||
public class HyperNyma : NymaCore, IRegionable, IPceGpuView
|
public class HyperNyma : NymaCore, IRegionable, IPceGpuView
|
||||||
{
|
{
|
||||||
private readonly LibHyperNyma _hyperNyma;
|
private readonly LibHyperNyma _hyperNyma;
|
||||||
|
|
|
@ -11,7 +11,7 @@ using BizHawk.Emulation.DiscSystem;
|
||||||
|
|
||||||
namespace BizHawk.Emulation.Cores.Consoles.NEC.PCE
|
namespace BizHawk.Emulation.Cores.Consoles.NEC.PCE
|
||||||
{
|
{
|
||||||
[Core(CoreNames.TurboNyma, "Mednafen Team", true, true, "1.26.1", "https://mednafen.github.io/releases/", false, "PCE")]
|
[Core(CoreNames.TurboNyma, "Mednafen Team", true, true, "1.26.1", "https://mednafen.github.io/releases/", false)]
|
||||||
public class TurboNyma : NymaCore, IRegionable, IPceGpuView
|
public class TurboNyma : NymaCore, IRegionable, IPceGpuView
|
||||||
{
|
{
|
||||||
private readonly LibTurboNyma _turboNyma;
|
private readonly LibTurboNyma _turboNyma;
|
||||||
|
|
|
@ -5,8 +5,13 @@ using System.Collections.Generic;
|
||||||
|
|
||||||
namespace BizHawk.Emulation.Cores.Consoles.NEC.PCFX
|
namespace BizHawk.Emulation.Cores.Consoles.NEC.PCFX
|
||||||
{
|
{
|
||||||
[Core("T. S. T.", "Mednafen Team", true, true, "1.26.1",
|
[Core("T. S. T.",
|
||||||
"https://mednafen.github.io/releases/", false, "PC-FX")]
|
author: "Mednafen Team",
|
||||||
|
isPorted: true,
|
||||||
|
isReleased: true,
|
||||||
|
portedVersion: "1.26.1",
|
||||||
|
portedUrl: "https://mednafen.github.io/releases/",
|
||||||
|
singleInstance: false)]
|
||||||
public class Tst : NymaCore
|
public class Tst : NymaCore
|
||||||
{
|
{
|
||||||
[CoreConstructor("PCFX")]
|
[CoreConstructor("PCFX")]
|
||||||
|
|
|
@ -6,7 +6,7 @@ using BizHawk.Emulation.Common;
|
||||||
|
|
||||||
namespace BizHawk.Emulation.Cores.Nintendo.GBA
|
namespace BizHawk.Emulation.Cores.Nintendo.GBA
|
||||||
{
|
{
|
||||||
[Core(CoreNames.Mgba, "endrift", true, true, "0.8", "https://mgba.io/", false, "GBA")]
|
[Core(CoreNames.Mgba, "endrift", true, true, "0.8", "https://mgba.io/", false)]
|
||||||
[ServiceNotApplicable(new[] { typeof(IDriveLight), typeof(IRegionable) })]
|
[ServiceNotApplicable(new[] { typeof(IDriveLight), typeof(IRegionable) })]
|
||||||
public partial class MGBAHawk : IEmulator, IVideoProvider, ISoundProvider, IGBAGPUViewable,
|
public partial class MGBAHawk : IEmulator, IVideoProvider, ISoundProvider, IGBAGPUViewable,
|
||||||
ISaveRam, IStatable, IInputPollable, ISettable<MGBAHawk.Settings, MGBAHawk.SyncSettings>,
|
ISaveRam, IStatable, IInputPollable, ISettable<MGBAHawk.Settings, MGBAHawk.SyncSettings>,
|
||||||
|
|
|
@ -3,12 +3,7 @@ using BizHawk.Emulation.Common;
|
||||||
|
|
||||||
namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink
|
namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink
|
||||||
{
|
{
|
||||||
[Core(
|
[Core("GBHawkLink", "", isPorted: false, isReleased: true)]
|
||||||
"GBHawkLink",
|
|
||||||
"",
|
|
||||||
isPorted: false,
|
|
||||||
isReleased: true,
|
|
||||||
displayName: "Gameboy")]
|
|
||||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||||
public partial class GBHawkLink : IEmulator, ISaveRam, IDebuggable, IStatable, IInputPollable, IRegionable, ILinkable,
|
public partial class GBHawkLink : IEmulator, ISaveRam, IDebuggable, IStatable, IInputPollable, IRegionable, ILinkable,
|
||||||
ISettable<GBHawkLink.GBLinkSettings, GBHawkLink.GBLinkSyncSettings>
|
ISettable<GBHawkLink.GBLinkSettings, GBHawkLink.GBLinkSyncSettings>
|
||||||
|
|
|
@ -3,12 +3,7 @@ using BizHawk.Emulation.Common;
|
||||||
|
|
||||||
namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink3x
|
namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink3x
|
||||||
{
|
{
|
||||||
[Core(
|
[Core("GBHawkLink3x", "", isPorted: false, isReleased: true)]
|
||||||
"GBHawkLink3x",
|
|
||||||
"",
|
|
||||||
isPorted: false,
|
|
||||||
isReleased: true,
|
|
||||||
displayName: "Gameboy")]
|
|
||||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||||
public partial class GBHawkLink3x : IEmulator, ISaveRam, IDebuggable, IStatable, IInputPollable, IRegionable,
|
public partial class GBHawkLink3x : IEmulator, ISaveRam, IDebuggable, IStatable, IInputPollable, IRegionable,
|
||||||
ISettable<GBHawkLink3x.GBLink3xSettings, GBHawkLink3x.GBLink3xSyncSettings>
|
ISettable<GBHawkLink3x.GBLink3xSettings, GBHawkLink3x.GBLink3xSyncSettings>
|
||||||
|
|
|
@ -3,12 +3,7 @@ using BizHawk.Emulation.Common;
|
||||||
|
|
||||||
namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink4x
|
namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink4x
|
||||||
{
|
{
|
||||||
[Core(
|
[Core("GBHawkLink4x", "", isPorted: false, isReleased: true)]
|
||||||
"GBHawkLink4x",
|
|
||||||
"",
|
|
||||||
isPorted: false,
|
|
||||||
isReleased: true,
|
|
||||||
displayName: "Gameboy")]
|
|
||||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||||
public partial class GBHawkLink4x : IEmulator, ISaveRam, IDebuggable, IStatable, IInputPollable, IRegionable,
|
public partial class GBHawkLink4x : IEmulator, ISaveRam, IDebuggable, IStatable, IInputPollable, IRegionable,
|
||||||
ISettable<GBHawkLink4x.GBLink4xSettings, GBHawkLink4x.GBLink4xSyncSettings>
|
ISettable<GBHawkLink4x.GBLink4xSettings, GBHawkLink4x.GBLink4xSyncSettings>
|
||||||
|
|
|
@ -10,8 +10,13 @@ using System.Linq;
|
||||||
|
|
||||||
namespace BizHawk.Emulation.Cores.Consoles.Nintendo.VB
|
namespace BizHawk.Emulation.Cores.Consoles.Nintendo.VB
|
||||||
{
|
{
|
||||||
[Core("Virtual Boyee", "Mednafen Team", true, true, "0.9.44.1",
|
[Core("Virtual Boyee",
|
||||||
"https://mednafen.github.io/releases/", false, "VirtualBoy")]
|
author: "Mednafen Team",
|
||||||
|
isPorted: true,
|
||||||
|
isReleased: true,
|
||||||
|
portedVersion: "0.9.44.1",
|
||||||
|
portedUrl: "https://mednafen.github.io/releases/",
|
||||||
|
singleInstance: false)]
|
||||||
public class VirtualBoyee : WaterboxCore, ISettable<VirtualBoyee.Settings, VirtualBoyee.SyncSettings>
|
public class VirtualBoyee : WaterboxCore, ISettable<VirtualBoyee.Settings, VirtualBoyee.SyncSettings>
|
||||||
{
|
{
|
||||||
private readonly LibVirtualBoyee _boyee;
|
private readonly LibVirtualBoyee _boyee;
|
||||||
|
|
|
@ -11,12 +11,7 @@ namespace BizHawk.Emulation.Cores.PCEngine
|
||||||
{
|
{
|
||||||
public enum NecSystemType { TurboGrafx, TurboCD, SuperGrafx }
|
public enum NecSystemType { TurboGrafx, TurboCD, SuperGrafx }
|
||||||
|
|
||||||
[Core(
|
[Core(CoreNames.PceHawk, "Vecna", isPorted: false, isReleased: true)]
|
||||||
CoreNames.PceHawk,
|
|
||||||
"Vecna",
|
|
||||||
isPorted: false,
|
|
||||||
isReleased: true,
|
|
||||||
displayName: "PCE")]
|
|
||||||
public sealed partial class PCEngine : IEmulator, ISaveRam, IInputPollable, IVideoLogicalOffsets, IRomInfo,
|
public sealed partial class PCEngine : IEmulator, ISaveRam, IInputPollable, IVideoLogicalOffsets, IRomInfo,
|
||||||
IDebuggable, ISettable<PCEngine.PCESettings, PCEngine.PCESyncSettings>, IDriveLight, ICodeDataLogger,
|
IDebuggable, ISettable<PCEngine.PCESettings, PCEngine.PCESyncSettings>, IDriveLight, ICodeDataLogger,
|
||||||
IPceGpuView
|
IPceGpuView
|
||||||
|
|
|
@ -5,8 +5,13 @@ using System.Collections.Generic;
|
||||||
|
|
||||||
namespace BizHawk.Emulation.Cores.Consoles.SNK
|
namespace BizHawk.Emulation.Cores.Consoles.SNK
|
||||||
{
|
{
|
||||||
[Core("NeoPop", "Thomas Klausner, Mednafen Team", true, true, "1.26.1",
|
[Core("NeoPop",
|
||||||
"https://mednafen.github.io/releases/", false, "NeoPop")]
|
author: "Thomas Klausner, Mednafen Team",
|
||||||
|
isPorted: true,
|
||||||
|
isReleased: true,
|
||||||
|
portedVersion: "1.26.1",
|
||||||
|
portedUrl: "https://mednafen.github.io/releases/",
|
||||||
|
singleInstance: false)]
|
||||||
public class NeoGeoPort : NymaCore,
|
public class NeoGeoPort : NymaCore,
|
||||||
ISaveRam // NGP provides its own saveram interface
|
ISaveRam // NGP provides its own saveram interface
|
||||||
{
|
{
|
||||||
|
|
|
@ -4,12 +4,7 @@ using BizHawk.Emulation.Cores.Sega.MasterSystem;
|
||||||
|
|
||||||
namespace BizHawk.Emulation.Cores.Sega.GGHawkLink
|
namespace BizHawk.Emulation.Cores.Sega.GGHawkLink
|
||||||
{
|
{
|
||||||
[Core(
|
[Core("GGHawkLink", "", isPorted: false, isReleased: false)]
|
||||||
"GGHawkLink",
|
|
||||||
"",
|
|
||||||
isPorted: false,
|
|
||||||
isReleased: false,
|
|
||||||
displayName: "Game Gear")]
|
|
||||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||||
public partial class GGHawkLink : IEmulator, ISaveRam, IDebuggable, IStatable, IInputPollable, IRegionable, ILinkable,
|
public partial class GGHawkLink : IEmulator, ISaveRam, IDebuggable, IStatable, IInputPollable, IRegionable, ILinkable,
|
||||||
ISettable<GGHawkLink.GGLinkSettings, GGHawkLink.GGLinkSyncSettings>
|
ISettable<GGHawkLink.GGLinkSettings, GGHawkLink.GGLinkSyncSettings>
|
||||||
|
|
|
@ -5,8 +5,13 @@ using System.Collections.Generic;
|
||||||
|
|
||||||
namespace BizHawk.Emulation.Cores.Consoles.Sega.Saturn
|
namespace BizHawk.Emulation.Cores.Consoles.Sega.Saturn
|
||||||
{
|
{
|
||||||
[Core("Saturnus", "Mednafen Team", true, true, "1.26.1",
|
[Core("Saturnus",
|
||||||
"https://mednafen.github.io/releases/", false, "Saturn")]
|
author: "Mednafen Team",
|
||||||
|
isPorted: true,
|
||||||
|
isReleased: true,
|
||||||
|
portedVersion: "1.26.1",
|
||||||
|
portedUrl: "https://mednafen.github.io/releases/",
|
||||||
|
singleInstance: false)]
|
||||||
public class Saturnus : NymaCore, IRegionable
|
public class Saturnus : NymaCore, IRegionable
|
||||||
{
|
{
|
||||||
[CoreConstructor("SAT")]
|
[CoreConstructor("SAT")]
|
||||||
|
|
|
@ -17,8 +17,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx
|
||||||
isReleased: true,
|
isReleased: true,
|
||||||
portedVersion: "r874",
|
portedVersion: "r874",
|
||||||
portedUrl: "https://code.google.com/p/genplus-gx/",
|
portedUrl: "https://code.google.com/p/genplus-gx/",
|
||||||
singleInstance: false,
|
singleInstance: false)]
|
||||||
displayName: "Genesis")]
|
|
||||||
public partial class GPGX : IEmulator, IVideoProvider, ISaveRam, IStatable, IRegionable,
|
public partial class GPGX : IEmulator, IVideoProvider, ISaveRam, IStatable, IRegionable,
|
||||||
IInputPollable, IDebuggable, IDriveLight, ICodeDataLogger, IDisassemblable
|
IInputPollable, IDebuggable, IDriveLight, ICodeDataLogger, IDisassemblable
|
||||||
{
|
{
|
||||||
|
|
|
@ -6,7 +6,7 @@ using BizHawk.Emulation.Common;
|
||||||
|
|
||||||
namespace BizHawk.Emulation.Cores.WonderSwan
|
namespace BizHawk.Emulation.Cores.WonderSwan
|
||||||
{
|
{
|
||||||
[Core("Cygne/Mednafen", "Dox, Mednafen Team", true, true, "1.24.3", "https://mednafen.github.io/releases/", false, "WonderSwan")]
|
[Core("Cygne/Mednafen", "Dox, Mednafen Team", true, true, "1.24.3", "https://mednafen.github.io/releases/", false)]
|
||||||
[ServiceNotApplicable(new[] { typeof(IDriveLight), typeof(IRegionable) })]
|
[ServiceNotApplicable(new[] { typeof(IDriveLight), typeof(IRegionable) })]
|
||||||
public partial class WonderSwan : IEmulator, IVideoProvider, ISoundProvider,
|
public partial class WonderSwan : IEmulator, IVideoProvider, ISoundProvider,
|
||||||
IInputPollable, IDebuggable
|
IInputPollable, IDebuggable
|
||||||
|
|
Loading…
Reference in New Issue