Extract subtype PortedCoreAttribute from CoreAttribute
This commit is contained in:
parent
796d0652e4
commit
98b07c42d5
src
BizHawk.Client.EmuHawk
BizHawk.Emulation.Common
BizHawk.Emulation.Cores
Arcades/MAME
Calculator
Computers
Consoles
Atari
Belogic
Coleco
Fairchild/ChannelF
GCE/Vectrex
Intellivision
Magnavox/Odyssey2
NEC
Nintendo
Faust
GBA
GBHawk
GBHawkLink
GBHawkLink3x
GBHawkLink4x
Gameboy
N64
NDS
NES
QuickNES
SNES
SNES9X
SubGBHawk
SubNESHawk
VB
PC Engine
SNK
Sega
Sony
WonderSwan
Libretro
|
@ -21,11 +21,11 @@ namespace BizHawk.Client.EmuHawk
|
|||
CoreAuthorLabel.Visible = false;
|
||||
}
|
||||
|
||||
if (attributes.Ported)
|
||||
if (attributes is PortedCoreAttribute ported)
|
||||
{
|
||||
CorePortedLabel.Text = " (Ported)";
|
||||
_url = attributes.PortedUrl;
|
||||
CoreUrlLink.Text = attributes.PortedVersion;
|
||||
_url = ported.PortedUrl;
|
||||
CoreUrlLink.Text = ported.PortedVersion;
|
||||
CoreUrlLink.Visible = true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ namespace BizHawk.Client.EmuHawk.CoreExtensions
|
|||
{
|
||||
var attributes = core.Attributes();
|
||||
|
||||
if (!attributes.Ported)
|
||||
if (attributes is not PortedCoreAttribute)
|
||||
{
|
||||
return Properties.Resources.CorpHawkSmall;
|
||||
}
|
||||
|
|
|
@ -2795,7 +2795,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
CoreNameStatusBarButton.Text = coreDispName;
|
||||
CoreNameStatusBarButton.Image = Emulator.Icon();
|
||||
CoreNameStatusBarButton.ToolTipText = attributes.Ported ? "(ported) " : "";
|
||||
CoreNameStatusBarButton.ToolTipText = attributes is PortedCoreAttribute ? "(ported) " : "";
|
||||
|
||||
|
||||
if (Emulator.SystemId == "ZXSpectrum")
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
namespace BizHawk.Emulation.Common
|
||||
{
|
||||
[Core("NullHawk", "", false, true)]
|
||||
[Core("NullHawk", "")]
|
||||
[ServiceNotApplicable(new[] {
|
||||
typeof(IVideoProvider),
|
||||
typeof(IBoardInfo),
|
||||
|
|
|
@ -1,27 +1,47 @@
|
|||
using System;
|
||||
#nullable enable
|
||||
|
||||
using System;
|
||||
|
||||
namespace BizHawk.Emulation.Common
|
||||
{
|
||||
[AttributeUsage(AttributeTargets.Class)]
|
||||
public sealed class CoreAttribute : Attribute
|
||||
public class CoreAttribute : Attribute
|
||||
{
|
||||
public CoreAttribute(string name, string author, bool isPorted, bool isReleased, string portedVersion = null, string portedUrl = null, bool singleInstance = false)
|
||||
public readonly string Author;
|
||||
|
||||
public readonly string CoreName;
|
||||
|
||||
public readonly bool Released;
|
||||
|
||||
public readonly bool SingleInstance;
|
||||
|
||||
public CoreAttribute(string name, string author, bool singleInstance = false, bool isReleased = true)
|
||||
{
|
||||
CoreName = name;
|
||||
Author = author;
|
||||
Ported = isPorted;
|
||||
CoreName = name;
|
||||
Released = isReleased;
|
||||
PortedVersion = portedVersion ?? string.Empty;
|
||||
PortedUrl = portedUrl ?? string.Empty;
|
||||
SingleInstance = singleInstance;
|
||||
}
|
||||
}
|
||||
|
||||
public string CoreName { get; }
|
||||
public string Author { get; }
|
||||
public bool Ported { get; }
|
||||
public bool Released { get; }
|
||||
public string PortedVersion { get; }
|
||||
public string PortedUrl { get; }
|
||||
public bool SingleInstance { get; }
|
||||
[AttributeUsage(AttributeTargets.Class)]
|
||||
public sealed class PortedCoreAttribute : CoreAttribute
|
||||
{
|
||||
public readonly string PortedUrl;
|
||||
|
||||
public readonly string PortedVersion;
|
||||
|
||||
public PortedCoreAttribute(
|
||||
string name,
|
||||
string author,
|
||||
string portedVersion = "",
|
||||
string portedUrl = "",
|
||||
bool singleInstance = false,
|
||||
bool isReleased = true)
|
||||
: base(name, author, singleInstance, isReleased)
|
||||
{
|
||||
PortedUrl = portedUrl;
|
||||
PortedVersion = portedVersion;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -83,14 +83,7 @@ using BizHawk.Emulation.Common;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Arcades.MAME
|
||||
{
|
||||
[Core(
|
||||
name: CoreNames.MAME,
|
||||
author: "MAMEDev",
|
||||
isPorted: true,
|
||||
isReleased: false,
|
||||
portedVersion: "0.230",
|
||||
portedUrl: "https://github.com/mamedev/mame.git",
|
||||
singleInstance: false)]
|
||||
[PortedCore(CoreNames.MAME, "MAMEDev", "0.230", "https://github.com/mamedev/mame.git", isReleased: false)]
|
||||
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)
|
||||
|
@ -210,7 +203,7 @@ namespace BizHawk.Emulation.Cores.Arcades.MAME
|
|||
private void CheckVersions()
|
||||
{
|
||||
var mameVersion = MameGetString(MAMELuaCommand.GetVersion);
|
||||
var version = this.Attributes().PortedVersion;
|
||||
var version = ((PortedCoreAttribute) this.Attributes()).PortedVersion;
|
||||
Debug.Assert(version == mameVersion,
|
||||
"MAME versions desync!\n\n" +
|
||||
$"MAME is { mameVersion }\n" +
|
||||
|
|
|
@ -6,11 +6,7 @@ using BizHawk.Emulation.Cores.Components.Z80A;
|
|||
// http://www.ticalc.org/pub/text/calcinfo/
|
||||
namespace BizHawk.Emulation.Cores.Calculators
|
||||
{
|
||||
[Core(
|
||||
CoreNames.TI83Hawk,
|
||||
"zeromus",
|
||||
isPorted: false,
|
||||
isReleased: true)]
|
||||
[Core(CoreNames.TI83Hawk, "zeromus")]
|
||||
[ServiceNotApplicable(new[] { typeof(IBoardInfo), typeof(IDriveLight), typeof(IRegionable), typeof(ISaveRam), typeof(ISoundProvider) })]
|
||||
public partial class TI83 : IEmulator, IVideoProvider, IDebuggable, IInputPollable, ISettable<TI83.TI83Settings, object>
|
||||
{
|
||||
|
|
|
@ -13,11 +13,7 @@ namespace BizHawk.Emulation.Cores.Computers.AmstradCPC
|
|||
/// CPCHawk: Core Class
|
||||
/// * Main Initialization *
|
||||
/// </summary>
|
||||
[Core(
|
||||
CoreNames.CPCHawk,
|
||||
"Asnivor",
|
||||
isPorted: false,
|
||||
isReleased: false)]
|
||||
[Core(CoreNames.CPCHawk, "Asnivor", isReleased: false)]
|
||||
public partial class AmstradCPC : IRegionable, IDriveLight
|
||||
{
|
||||
[CoreConstructor("AmstradCPC")]
|
||||
|
|
|
@ -6,11 +6,7 @@ using Jellyfish.Virtu;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Computers.AppleII
|
||||
{
|
||||
[Core(
|
||||
CoreNames.Virtu,
|
||||
"fool",
|
||||
isPorted: true,
|
||||
isReleased: true)]
|
||||
[PortedCore(CoreNames.Virtu, "fool")]
|
||||
[ServiceNotApplicable(new[] { typeof(IBoardInfo), typeof(IRegionable), typeof(ISaveRam) })]
|
||||
public partial class AppleII : IEmulator, ISoundProvider, IVideoProvider, IStatable, IDriveLight
|
||||
{
|
||||
|
|
|
@ -9,11 +9,7 @@ using BizHawk.Emulation.Cores.Computers.Commodore64.Media;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Computers.Commodore64
|
||||
{
|
||||
[Core(
|
||||
CoreNames.C64Hawk,
|
||||
"SaxxonPike",
|
||||
isPorted: false,
|
||||
isReleased: true)]
|
||||
[Core(CoreNames.C64Hawk, "SaxxonPike")]
|
||||
public sealed partial class C64 : IEmulator, IRegionable, IBoardInfo, IRomInfo
|
||||
{
|
||||
[CoreConstructor("C64")]
|
||||
|
|
|
@ -4,7 +4,7 @@ using BizHawk.Emulation.Common;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Computers.MSX
|
||||
{
|
||||
[Core(CoreNames.MSXHawk, "", isPorted: false, isReleased: false)]
|
||||
[Core(CoreNames.MSXHawk, "", isReleased: false)]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||
public partial class MSX : IEmulator, IVideoProvider, ISoundProvider, ISaveRam, IInputPollable, IRegionable, ISettable<MSX.MSXSettings, MSX.MSXSyncSettings>
|
||||
{
|
||||
|
|
|
@ -14,11 +14,7 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum
|
|||
/// ZXHawk: Core Class
|
||||
/// * Main Initialization *
|
||||
/// </summary>
|
||||
[Core(
|
||||
CoreNames.ZXHawk,
|
||||
"Asnivor, Alyosha",
|
||||
isPorted: false,
|
||||
isReleased: true)]
|
||||
[Core(CoreNames.ZXHawk, "Asnivor, Alyosha")]
|
||||
public partial class ZXSpectrum : IRegionable, IDriveLight
|
||||
{
|
||||
[CoreConstructor("ZXSpectrum")]
|
||||
|
|
|
@ -6,7 +6,7 @@ using BizHawk.Emulation.Common;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
||||
{
|
||||
[Core(CoreNames.Atari2600Hawk, "Micro500, Alyosha, adelikat, natt", isPorted: false, isReleased: true)]
|
||||
[Core(CoreNames.Atari2600Hawk, "Micro500, Alyosha, adelikat, natt")]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight), typeof(ISaveRam) })]
|
||||
public partial class Atari2600 : IEmulator, IDebuggable, IInputPollable, IBoardInfo, IRomInfo,
|
||||
IRegionable, ICreateGameDBEntries, ISettable<Atari2600.A2600Settings, Atari2600.A2600SyncSettings>
|
||||
|
|
|
@ -7,11 +7,7 @@ using BizHawk.Common.NumberExtensions;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Atari.A7800Hawk
|
||||
{
|
||||
[Core(
|
||||
CoreNames.A7800Hawk,
|
||||
"",
|
||||
isPorted: false,
|
||||
isReleased: true)]
|
||||
[Core(CoreNames.A7800Hawk, "")]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight), typeof(ISettable<,>) })]
|
||||
public partial class A7800Hawk : IEmulator, ISaveRam, IDebuggable, IInputPollable,
|
||||
IRegionable, IBoardInfo, ISettable<A7800Hawk.A7800Settings, A7800Hawk.A7800SyncSettings>
|
||||
|
|
|
@ -7,7 +7,7 @@ using BizHawk.Emulation.Common;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Atari.Lynx
|
||||
{
|
||||
[Core(CoreNames.Handy, "K. Wilkins, Mednafen Team", true, true, "mednafen 0-9-34-1", "http://mednafen.sourceforge.net/", false)]
|
||||
[PortedCore(CoreNames.Handy, "K. Wilkins, Mednafen Team", "mednafen 0-9-34-1", "http://mednafen.sourceforge.net/")]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight), typeof(IRegionable), typeof(ISettable<,>) })]
|
||||
public partial class Lynx : IEmulator, IVideoProvider, ISoundProvider, ISaveRam, IStatable, IInputPollable
|
||||
{
|
||||
|
|
|
@ -6,7 +6,7 @@ using BizHawk.Common;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Consoles.Belogic
|
||||
{
|
||||
[Core(CoreNames.Uzem, "David Etherton", true, true, "", "", false)]
|
||||
[PortedCore(CoreNames.Uzem, "David Etherton")]
|
||||
public class Uzem : WaterboxCore
|
||||
{
|
||||
private LibUzem _uze;
|
||||
|
|
|
@ -4,11 +4,7 @@ using System;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.ColecoVision
|
||||
{
|
||||
[Core(
|
||||
CoreNames.ColecoHawk,
|
||||
"Vecna",
|
||||
isPorted: false,
|
||||
isReleased: true)]
|
||||
[Core(CoreNames.ColecoHawk, "Vecna")]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight), typeof(ISaveRam) })]
|
||||
public sealed partial class ColecoVision : IEmulator, IDebuggable, IInputPollable, ISettable<ColecoVision.ColecoSettings, ColecoVision.ColecoSyncSettings>
|
||||
{
|
||||
|
|
|
@ -3,11 +3,7 @@ using BizHawk.Emulation.Common;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Consoles.ChannelF
|
||||
{
|
||||
[Core(
|
||||
CoreNames.ChannelFHawk,
|
||||
"Asnivor",
|
||||
isPorted: false,
|
||||
isReleased: false)]
|
||||
[Core(CoreNames.ChannelFHawk, "Asnivor", isReleased: false)]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||
public partial class ChannelF
|
||||
{
|
||||
|
|
|
@ -6,7 +6,7 @@ using BizHawk.Emulation.Cores.Components.MC6809;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Consoles.Vectrex
|
||||
{
|
||||
[Core(CoreNames.VectrexHawk, "", isPorted: false, isReleased: true)]
|
||||
[Core(CoreNames.VectrexHawk, "")]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||
public partial class VectrexHawk : IEmulator, ISaveRam, IDebuggable, IInputPollable, IRegionable,
|
||||
ISettable<object, VectrexHawk.VectrexSyncSettings>
|
||||
|
|
|
@ -5,11 +5,7 @@ using BizHawk.Emulation.Cores.Components.CP1610;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Intellivision
|
||||
{
|
||||
[Core(
|
||||
CoreNames.IntelliHawk,
|
||||
"BrandonE, Alyosha",
|
||||
isPorted: false,
|
||||
isReleased: true)]
|
||||
[Core(CoreNames.IntelliHawk, "BrandonE, Alyosha")]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight), typeof(IRegionable), typeof(ISaveRam) })]
|
||||
public sealed partial class Intellivision : IEmulator, IInputPollable, IDisassemblable,
|
||||
IBoardInfo, IDebuggable, ISettable<Intellivision.IntvSettings, Intellivision.IntvSyncSettings>
|
||||
|
|
|
@ -6,7 +6,7 @@ using BizHawk.Emulation.Cores.Components.I8048;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Consoles.O2Hawk
|
||||
{
|
||||
[Core(CoreNames.O2Hawk, "", isPorted: false, isReleased: true)]
|
||||
[Core(CoreNames.O2Hawk, "")]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||
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
|
||||
{
|
||||
[Core(CoreNames.HyperNyma, "Mednafen Team", true, true, "1.26.1", "https://mednafen.github.io/releases/", false)]
|
||||
[PortedCore(CoreNames.HyperNyma, "Mednafen Team", "1.26.1", "https://mednafen.github.io/releases/")]
|
||||
public class HyperNyma : NymaCore, IRegionable, IPceGpuView
|
||||
{
|
||||
private readonly LibHyperNyma _hyperNyma;
|
||||
|
|
|
@ -11,7 +11,7 @@ using BizHawk.Emulation.DiscSystem;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Consoles.NEC.PCE
|
||||
{
|
||||
[Core(CoreNames.TurboNyma, "Mednafen Team", true, true, "1.26.1", "https://mednafen.github.io/releases/", false)]
|
||||
[PortedCore(CoreNames.TurboNyma, "Mednafen Team", "1.26.1", "https://mednafen.github.io/releases/")]
|
||||
public class TurboNyma : NymaCore, IRegionable, IPceGpuView
|
||||
{
|
||||
private readonly LibTurboNyma _turboNyma;
|
||||
|
|
|
@ -5,13 +5,7 @@ using System.Collections.Generic;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Consoles.NEC.PCFX
|
||||
{
|
||||
[Core(CoreNames.TST,
|
||||
author: "Mednafen Team",
|
||||
isPorted: true,
|
||||
isReleased: true,
|
||||
portedVersion: "1.26.1",
|
||||
portedUrl: "https://mednafen.github.io/releases/",
|
||||
singleInstance: false)]
|
||||
[PortedCore(CoreNames.TST, "Mednafen Team", "1.26.1", "https://mednafen.github.io/releases/")]
|
||||
public class Tst : NymaCore
|
||||
{
|
||||
[CoreConstructor("PCFX")]
|
||||
|
|
|
@ -4,7 +4,7 @@ using BizHawk.Emulation.Cores.Waterbox;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Consoles.Nintendo.Faust
|
||||
{
|
||||
[Core(CoreNames.Faust, "Mednafen Team", true, true, "1.26.1", "https://mednafen.github.io/releases/", false)]
|
||||
[PortedCore(CoreNames.Faust, "Mednafen Team", "1.26.1", "https://mednafen.github.io/releases/")]
|
||||
public class Faust : NymaCore, IRegionable
|
||||
{
|
||||
[CoreConstructor("SNES")]
|
||||
|
|
|
@ -6,7 +6,7 @@ using BizHawk.Emulation.Common;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Nintendo.GBA
|
||||
{
|
||||
[Core(CoreNames.Mgba, "endrift", true, true, "0.8", "https://mgba.io/", false)]
|
||||
[PortedCore(CoreNames.Mgba, "endrift", "0.8", "https://mgba.io/")]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight), typeof(IRegionable) })]
|
||||
public partial class MGBAHawk : IEmulator, IVideoProvider, ISoundProvider, IGBAGPUViewable,
|
||||
ISaveRam, IStatable, IInputPollable, ISettable<MGBAHawk.Settings, MGBAHawk.SyncSettings>,
|
||||
|
|
|
@ -20,11 +20,7 @@ using System.Collections.Generic;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Nintendo.GBHawk
|
||||
{
|
||||
[Core(
|
||||
CoreNames.GbHawk,
|
||||
"",
|
||||
isPorted: false,
|
||||
isReleased: true)]
|
||||
[Core(CoreNames.GbHawk, "")]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||
public partial class GBHawk : IEmulator, ISaveRam, IDebuggable, IInputPollable, IRegionable, IGameboyCommon,
|
||||
ISettable<GBHawk.GBSettings, GBHawk.GBSyncSettings>
|
||||
|
|
|
@ -3,7 +3,7 @@ using BizHawk.Emulation.Common;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink
|
||||
{
|
||||
[Core(CoreNames.GBHawkLink, "", isPorted: false, isReleased: true)]
|
||||
[Core(CoreNames.GBHawkLink, "")]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||
public partial class GBHawkLink : IEmulator, ISaveRam, IDebuggable, IStatable, IInputPollable, IRegionable, ILinkable,
|
||||
ISettable<GBHawkLink.GBLinkSettings, GBHawkLink.GBLinkSyncSettings>
|
||||
|
|
|
@ -3,7 +3,7 @@ using BizHawk.Emulation.Common;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink3x
|
||||
{
|
||||
[Core(CoreNames.GBHawkLink3x, "", isPorted: false, isReleased: true)]
|
||||
[Core(CoreNames.GBHawkLink3x, "")]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||
public partial class GBHawkLink3x : IEmulator, ISaveRam, IDebuggable, IStatable, IInputPollable, IRegionable,
|
||||
ISettable<GBHawkLink3x.GBLink3xSettings, GBHawkLink3x.GBLink3xSyncSettings>
|
||||
|
|
|
@ -3,7 +3,7 @@ using BizHawk.Emulation.Common;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink4x
|
||||
{
|
||||
[Core(CoreNames.GBHawkLink4x, "", isPorted: false, isReleased: true)]
|
||||
[Core(CoreNames.GBHawkLink4x, "")]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||
public partial class GBHawkLink4x : IEmulator, ISaveRam, IDebuggable, IStatable, IInputPollable, IRegionable,
|
||||
ISettable<GBHawkLink4x.GBLink4xSettings, GBHawkLink4x.GBLink4xSyncSettings>
|
||||
|
|
|
@ -10,14 +10,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy
|
|||
/// <summary>
|
||||
/// a gameboy/gameboy color emulator wrapped around native C++ libgambatte
|
||||
/// </summary>
|
||||
[Core(
|
||||
CoreNames.Gambatte,
|
||||
"",
|
||||
isPorted: true,
|
||||
isReleased: true,
|
||||
portedVersion: "Gambatte-Speedrun r717+",
|
||||
portedUrl: "https://github.com/pokemon-speedrunning/gambatte-speedrun",
|
||||
singleInstance: false)]
|
||||
[PortedCore(CoreNames.Gambatte, "", "Gambatte-Speedrun r717+", "https://github.com/pokemon-speedrunning/gambatte-speedrun")]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||
public partial class Gameboy : IEmulator, IVideoProvider, ISoundProvider, ISaveRam, IStatable, IInputPollable, ICodeDataLogger,
|
||||
IBoardInfo, IRomInfo, IDebuggable, ISettable<Gameboy.GambatteSettings, Gameboy.GambatteSyncSettings>,
|
||||
|
|
|
@ -3,11 +3,7 @@ using BizHawk.Emulation.Common;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Nintendo.Gameboy
|
||||
{
|
||||
[Core(
|
||||
CoreNames.DualGambatte,
|
||||
"sinamas/natt",
|
||||
isPorted: true,
|
||||
isReleased: true)]
|
||||
[PortedCore(CoreNames.DualGambatte, "sinamas/natt")]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||
public partial class GambatteLink : IEmulator, IVideoProvider, ISoundProvider, IInputPollable, ISaveRam, IStatable, ILinkable,
|
||||
IBoardInfo, IRomInfo, IDebuggable, ISettable<GambatteLink.GambatteLinkSettings, GambatteLink.GambatteLinkSyncSettings>, ICodeDataLogger
|
||||
|
|
|
@ -10,8 +10,7 @@ using System.Linq;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Consoles.Nintendo.Gameboy
|
||||
{
|
||||
[Core(CoreNames.SameBoy, "LIJI32", true, true, "efc11783c7fb6da66e1dd084e41ba6a85c0bd17e",
|
||||
"https://sameboy.github.io/", false)]
|
||||
[PortedCore(CoreNames.SameBoy, "LIJI32", "efc11783c7fb6da66e1dd084e41ba6a85c0bd17e", "https://sameboy.github.io/")]
|
||||
public class Sameboy : WaterboxCore,
|
||||
IGameboyCommon, ISaveRam,
|
||||
ISettable<Sameboy.Settings, Sameboy.SyncSettings>
|
||||
|
|
|
@ -6,14 +6,7 @@ using BizHawk.Emulation.Cores.Nintendo.N64.NativeApi;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Nintendo.N64
|
||||
{
|
||||
[Core(
|
||||
CoreNames.Mupen64Plus,
|
||||
"",
|
||||
isPorted: true,
|
||||
isReleased: true,
|
||||
portedVersion: "2.0",
|
||||
portedUrl: "https://code.google.com/p/mupen64plus/",
|
||||
singleInstance: true)]
|
||||
[PortedCore(CoreNames.Mupen64Plus, "", "2.0", "https://code.google.com/p/mupen64plus/", singleInstance: true)]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||
public partial class N64 : IEmulator, ISaveRam, IDebuggable, IStatable, IInputPollable, IDisassemblable, IRegionable,
|
||||
ISettable<N64Settings, N64SyncSettings>
|
||||
|
|
|
@ -7,14 +7,7 @@ using BizHawk.Emulation.Common;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Consoles.Nintendo.NDS
|
||||
{
|
||||
[Core(
|
||||
CoreNames.MelonDS,
|
||||
"Arisotura",
|
||||
isPorted: true,
|
||||
isReleased: false,
|
||||
portedVersion: "0.8.2",
|
||||
portedUrl: "http://melonds.kuribo64.net/",
|
||||
singleInstance: true)]
|
||||
[PortedCore(CoreNames.MelonDS, "Arisotura", "0.8.2", "http://melonds.kuribo64.net/", singleInstance: true, isReleased: false)]
|
||||
public unsafe partial class MelonDS : IEmulator
|
||||
{
|
||||
private readonly BasicServiceProvider _serviceProvider;
|
||||
|
|
|
@ -9,11 +9,7 @@ using BizHawk.Emulation.Common;
|
|||
//TODO - redo all timekeeping in terms of master clock
|
||||
namespace BizHawk.Emulation.Cores.Nintendo.NES
|
||||
{
|
||||
[Core(
|
||||
CoreNames.NesHawk,
|
||||
"zeromus, natt, alyosha, adelikat",
|
||||
isPorted: false,
|
||||
isReleased: true)]
|
||||
[Core(CoreNames.NesHawk, "zeromus, natt, alyosha, adelikat")]
|
||||
public partial class NES : IEmulator, ISaveRam, IDebuggable, IInputPollable, IRegionable, IVideoLogicalOffsets,
|
||||
IBoardInfo, IRomInfo, ISettable<NES.NESSettings, NES.NESSyncSettings>, ICodeDataLogger
|
||||
{
|
||||
|
|
|
@ -13,14 +13,7 @@ using BizHawk.Common.BufferExtensions;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Consoles.Nintendo.QuickNES
|
||||
{
|
||||
[Core(
|
||||
CoreNames.QuickNes,
|
||||
"",
|
||||
isPorted: true,
|
||||
isReleased: true,
|
||||
portedVersion: "0.7.0",
|
||||
portedUrl: "https://github.com/kode54/QuickNES",
|
||||
singleInstance: false)]
|
||||
[PortedCore(CoreNames.QuickNes, "", "0.7.0", "https://github.com/kode54/QuickNES")]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||
public partial class QuickNES : IEmulator, IVideoProvider, ISoundProvider, ISaveRam, IInputPollable, IBoardInfo, IVideoLogicalOffsets,
|
||||
IStatable, IDebuggable, ISettable<QuickNES.QuickNESSettings, QuickNES.QuickNESSyncSettings>, INESPPUViewable
|
||||
|
|
|
@ -17,14 +17,7 @@ using BizHawk.Emulation.Cores.Components.W65816;
|
|||
// wrap dll code around some kind of library-accessing interface so that it doesn't malfunction if the dll is unavailable
|
||||
namespace BizHawk.Emulation.Cores.Nintendo.SNES
|
||||
{
|
||||
[Core(
|
||||
CoreNames.Bsnes,
|
||||
"byuu",
|
||||
isPorted: true,
|
||||
isReleased: true,
|
||||
portedVersion: "v87",
|
||||
portedUrl: "http://byuu.org/",
|
||||
singleInstance: false)]
|
||||
[PortedCore(CoreNames.Bsnes, "byuu", "v87", "http://byuu.org/")]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||
public unsafe partial class LibsnesCore : IEmulator, IVideoProvider, ISaveRam, IStatable, IInputPollable, IRegionable, ICodeDataLogger,
|
||||
IDebuggable, ISettable<LibsnesCore.SnesSettings, LibsnesCore.SnesSyncSettings>
|
||||
|
|
|
@ -11,8 +11,7 @@ using BizHawk.Emulation.Cores.Nintendo.SNES;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Nintendo.SNES9X
|
||||
{
|
||||
[Core(CoreNames.Snes9X, "", true, true,
|
||||
"5e0319ab3ef9611250efb18255186d0dc0d7e125", "https://github.com/snes9xgit/snes9x", false)]
|
||||
[PortedCore(CoreNames.Snes9X, "", "5e0319ab3ef9611250efb18255186d0dc0d7e125", "https://github.com/snes9xgit/snes9x")]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||
public class Snes9x : WaterboxCore,
|
||||
ISettable<Snes9x.Settings, Snes9x.SyncSettings>, IRegionable
|
||||
|
|
|
@ -5,11 +5,7 @@ using BizHawk.Emulation.Common;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Nintendo.SubGBHawk
|
||||
{
|
||||
[Core(
|
||||
CoreNames.SubGbHawk,
|
||||
"",
|
||||
isPorted: false,
|
||||
isReleased: true)]
|
||||
[Core(CoreNames.SubGbHawk, "")]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||
public partial class SubGBHawk : IEmulator, IStatable, IInputPollable,
|
||||
ISettable<GBHawk.GBHawk.GBSettings, GBHawk.GBHawk.GBSyncSettings>, IDebuggable
|
||||
|
|
|
@ -3,11 +3,7 @@ using BizHawk.Emulation.Cores.Nintendo.NES;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Nintendo.SubNESHawk
|
||||
{
|
||||
[Core(
|
||||
CoreNames.SubNesHawk,
|
||||
"",
|
||||
isPorted: false,
|
||||
isReleased: true)]
|
||||
[Core(CoreNames.SubNesHawk, "")]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||
public partial class SubNESHawk : IEmulator, IStatable, IInputPollable,
|
||||
ISettable<NES.NES.NESSettings, NES.NES.NESSyncSettings>
|
||||
|
|
|
@ -10,13 +10,7 @@ using System.Linq;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Consoles.Nintendo.VB
|
||||
{
|
||||
[Core(CoreNames.VirtualBoyee,
|
||||
author: "Mednafen Team",
|
||||
isPorted: true,
|
||||
isReleased: true,
|
||||
portedVersion: "0.9.44.1",
|
||||
portedUrl: "https://mednafen.github.io/releases/",
|
||||
singleInstance: false)]
|
||||
[PortedCore(CoreNames.VirtualBoyee, "Mednafen Team", "0.9.44.1", "https://mednafen.github.io/releases/")]
|
||||
public class VirtualBoyee : WaterboxCore, ISettable<VirtualBoyee.Settings, VirtualBoyee.SyncSettings>
|
||||
{
|
||||
private readonly LibVirtualBoyee _boyee;
|
||||
|
|
|
@ -11,7 +11,7 @@ namespace BizHawk.Emulation.Cores.PCEngine
|
|||
{
|
||||
public enum NecSystemType { TurboGrafx, TurboCD, SuperGrafx }
|
||||
|
||||
[Core(CoreNames.PceHawk, "Vecna", isPorted: false, isReleased: true)]
|
||||
[Core(CoreNames.PceHawk, "Vecna")]
|
||||
public sealed partial class PCEngine : IEmulator, ISaveRam, IInputPollable, IVideoLogicalOffsets, IRomInfo,
|
||||
IDebuggable, ISettable<PCEngine.PCESettings, PCEngine.PCESyncSettings>, IDriveLight, ICodeDataLogger,
|
||||
IPceGpuView
|
||||
|
|
|
@ -5,13 +5,7 @@ using System.Collections.Generic;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Consoles.SNK
|
||||
{
|
||||
[Core(CoreNames.NeoPop,
|
||||
author: "Thomas Klausner, Mednafen Team",
|
||||
isPorted: true,
|
||||
isReleased: true,
|
||||
portedVersion: "1.26.1",
|
||||
portedUrl: "https://mednafen.github.io/releases/",
|
||||
singleInstance: false)]
|
||||
[PortedCore(CoreNames.NeoPop, "Thomas Klausner, Mednafen Team", "1.26.1", "https://mednafen.github.io/releases/")]
|
||||
public class NeoGeoPort : NymaCore,
|
||||
ISaveRam // NGP provides its own saveram interface
|
||||
{
|
||||
|
|
|
@ -4,7 +4,7 @@ using BizHawk.Emulation.Cores.Sega.MasterSystem;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Sega.GGHawkLink
|
||||
{
|
||||
[Core(CoreNames.GGHawkLink, "", isPorted: false, isReleased: false)]
|
||||
[Core(CoreNames.GGHawkLink, "", isReleased: false)]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||
public partial class GGHawkLink : IEmulator, ISaveRam, IDebuggable, IStatable, IInputPollable, IRegionable, ILinkable,
|
||||
ISettable<GGHawkLink.GGLinkSettings, GGHawkLink.GGLinkSyncSettings>
|
||||
|
|
|
@ -9,8 +9,7 @@ using System.ComponentModel;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Consoles.Sega.PicoDrive
|
||||
{
|
||||
[Core(CoreNames.PicoDrive, "notaz", true, true,
|
||||
"0e352905c7aa80b166933970abbcecfce96ad64e", "https://github.com/notaz/picodrive", false)]
|
||||
[PortedCore(CoreNames.PicoDrive, "notaz", "0e352905c7aa80b166933970abbcecfce96ad64e", "https://github.com/notaz/picodrive")]
|
||||
public class PicoDrive : WaterboxCore, IDriveLight, IRegionable, ISettable<object, PicoDrive.SyncSettings>
|
||||
{
|
||||
private readonly LibPicoDrive _core;
|
||||
|
|
|
@ -14,11 +14,7 @@ using BizHawk.Emulation.Cores.Components.Z80A;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Sega.MasterSystem
|
||||
{
|
||||
[Core(
|
||||
CoreNames.SMSHawk,
|
||||
"Vecna",
|
||||
isPorted: false,
|
||||
isReleased: true)]
|
||||
[Core(CoreNames.SMSHawk, "Vecna")]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||
public partial class SMS : IEmulator, ISoundProvider, ISaveRam, IInputPollable, IRegionable,
|
||||
IDebuggable, ISettable<SMS.SmsSettings, SMS.SmsSyncSettings>, ICodeDataLogger
|
||||
|
|
|
@ -5,13 +5,7 @@ using System.Collections.Generic;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Consoles.Sega.Saturn
|
||||
{
|
||||
[Core(CoreNames.Saturnus,
|
||||
author: "Mednafen Team",
|
||||
isPorted: true,
|
||||
isReleased: true,
|
||||
portedVersion: "1.26.1",
|
||||
portedUrl: "https://mednafen.github.io/releases/",
|
||||
singleInstance: false)]
|
||||
[PortedCore(CoreNames.Saturnus, "Mednafen Team", "1.26.1", "https://mednafen.github.io/releases/")]
|
||||
public class Saturnus : NymaCore, IRegionable
|
||||
{
|
||||
[CoreConstructor("SAT")]
|
||||
|
|
|
@ -10,14 +10,7 @@ using System.Linq;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx
|
||||
{
|
||||
[Core(
|
||||
CoreNames.Gpgx,
|
||||
"",
|
||||
isPorted: true,
|
||||
isReleased: true,
|
||||
portedVersion: "r874",
|
||||
portedUrl: "https://code.google.com/p/genplus-gx/",
|
||||
singleInstance: false)]
|
||||
[PortedCore(CoreNames.Gpgx, "", "r874", "https://code.google.com/p/genplus-gx/")]
|
||||
public partial class GPGX : IEmulator, IVideoProvider, ISaveRam, IStatable, IRegionable,
|
||||
IInputPollable, IDebuggable, IDriveLight, ICodeDataLogger, IDisassemblable
|
||||
{
|
||||
|
|
|
@ -7,7 +7,7 @@ using BizHawk.Emulation.DiscSystem;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Sony.PS2
|
||||
{
|
||||
[Core(CoreNames.DobieStation, "PSI", true, false, "fa33778b056aa32", "https://github.com/PSI-Rockin/DobieStation", false)]
|
||||
[PortedCore(CoreNames.DobieStation, "PSI", "fa33778b056aa32", "https://github.com/PSI-Rockin/DobieStation", isReleased: false)]
|
||||
public unsafe class DobieStation : WaterboxCore, ISettable<object, DobieStation.DobieSyncSettings>
|
||||
{
|
||||
private readonly LibDobieStation _core;
|
||||
|
|
|
@ -29,11 +29,7 @@ using BizHawk.Emulation.DiscSystem;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Sony.PSX
|
||||
{
|
||||
[Core(
|
||||
CoreNames.Octoshock,
|
||||
"Mednafen Team",
|
||||
isPorted: true,
|
||||
isReleased: true)]
|
||||
[PortedCore(CoreNames.Octoshock, "Mednafen Team")]
|
||||
public unsafe partial class Octoshock : IEmulator, IVideoProvider, ISoundProvider, ISaveRam, IStatable, IDriveLight, ISettable<Octoshock.Settings, Octoshock.SyncSettings>, IRegionable, IInputPollable, IRomInfo
|
||||
{
|
||||
public Octoshock(CoreComm comm, PSF psf, Octoshock.Settings settings, Octoshock.SyncSettings syncSettings)
|
||||
|
|
|
@ -6,7 +6,7 @@ using BizHawk.Emulation.Common;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.WonderSwan
|
||||
{
|
||||
[Core(CoreNames.Cygne, "Dox, Mednafen Team", true, true, "1.24.3", "https://mednafen.github.io/releases/", false)]
|
||||
[PortedCore(CoreNames.Cygne, "Dox, Mednafen Team", "1.24.3", "https://mednafen.github.io/releases/")]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight), typeof(IRegionable) })]
|
||||
public partial class WonderSwan : IEmulator, IVideoProvider, ISoundProvider,
|
||||
IInputPollable, IDebuggable
|
||||
|
|
|
@ -13,7 +13,7 @@ using BizHawk.Emulation.Common;
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Libretro
|
||||
{
|
||||
[Core(CoreNames.Libretro, "zeromus", isPorted: false, isReleased: false)]
|
||||
[Core(CoreNames.Libretro, "zeromus", isReleased: false)]
|
||||
[ServiceNotApplicable(new[] { typeof(IDriveLight) })]
|
||||
public unsafe partial class LibretroCore : IEmulator, ISettable<LibretroCore.Settings, LibretroCore.SyncSettings>,
|
||||
ISaveRam, IStatable, IVideoProvider, IInputPollable
|
||||
|
|
Loading…
Reference in New Issue