2017-04-14 17:28:23 +00:00
|
|
|
|
using System.Collections.Generic;
|
2015-02-22 17:15:09 +00:00
|
|
|
|
using System.Linq;
|
|
|
|
|
|
|
|
|
|
namespace BizHawk.Emulation.Common
|
|
|
|
|
{
|
|
|
|
|
// TODO: This should build itself from the Cores assembly, we don't want to maintain this
|
|
|
|
|
public class SystemLookup
|
|
|
|
|
{
|
2017-04-27 17:25:12 +00:00
|
|
|
|
private readonly List<SystemInfo> _systems = new List<SystemInfo>
|
2015-02-22 17:15:09 +00:00
|
|
|
|
{
|
|
|
|
|
new SystemInfo { SystemId = "A26", FullName = "Atari 2600" },
|
|
|
|
|
new SystemInfo { SystemId = "A78", FullName = "Atari 7800" },
|
|
|
|
|
new SystemInfo { SystemId = "Lynx", FullName = "Atari Lynx" },
|
|
|
|
|
|
|
|
|
|
new SystemInfo { SystemId = "NES", FullName = "NES" },
|
|
|
|
|
new SystemInfo { SystemId = "SNES", FullName = "Super NES" },
|
|
|
|
|
new SystemInfo { SystemId = "N64", FullName = "Nintendo 64" },
|
|
|
|
|
|
|
|
|
|
new SystemInfo { SystemId = "GB", FullName = "Gameboy" },
|
|
|
|
|
new SystemInfo { SystemId = "GBA", FullName = "Gameboy Advance" },
|
|
|
|
|
|
|
|
|
|
new SystemInfo { SystemId = "PSX", FullName = "Playstation" },
|
|
|
|
|
|
|
|
|
|
new SystemInfo { SystemId = "SMS", FullName = "Sega Master System" },
|
|
|
|
|
new SystemInfo { SystemId = "GEN", FullName = "Sega Genesis/Megadrive" },
|
|
|
|
|
new SystemInfo { SystemId = "SAT", FullName = "Sega Saturn" },
|
|
|
|
|
|
|
|
|
|
new SystemInfo { SystemId = "PCE", FullName = "PC Engine/TurboGrafx 16" },
|
|
|
|
|
new SystemInfo { SystemId = "Coleco", FullName = "Colecovision" },
|
|
|
|
|
new SystemInfo { SystemId = "TI83", FullName = "TI-83 Calculator" },
|
|
|
|
|
new SystemInfo { SystemId = "WSWAN", FullName = "WonderSwan" },
|
|
|
|
|
|
2015-05-26 23:43:55 +00:00
|
|
|
|
new SystemInfo { SystemId = "C64", FullName = "Commodore 64" },
|
2016-11-16 13:25:36 +00:00
|
|
|
|
new SystemInfo { SystemId = "AppleII", FullName = "Apple II" },
|
2018-03-12 18:17:06 +00:00
|
|
|
|
new SystemInfo { SystemId = "INTV", FullName = "Intellivision" },
|
2018-07-03 13:53:09 +00:00
|
|
|
|
new SystemInfo { SystemId = "ZXSpectrum", FullName = "Sinclair ZX Spectrum" },
|
|
|
|
|
new SystemInfo { SystemId = "AmstradCPC", FullName = "Amstrad CPC" }
|
2015-02-22 17:15:09 +00:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
public SystemInfo this[string systemId]
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
2017-04-27 17:25:12 +00:00
|
|
|
|
var system = _systems.FirstOrDefault(s => s.SystemId == systemId);
|
2015-02-22 17:15:09 +00:00
|
|
|
|
|
|
|
|
|
if (system != null)
|
|
|
|
|
{
|
|
|
|
|
return system;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return new SystemInfo { SystemId = "Unknown", FullName = "Unknown" };
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-05-30 16:12:10 +00:00
|
|
|
|
public IEnumerable<SystemInfo> AllSystems => _systems;
|
2015-02-22 17:15:09 +00:00
|
|
|
|
|
|
|
|
|
public class SystemInfo
|
|
|
|
|
{
|
|
|
|
|
public string SystemId { get; set; }
|
|
|
|
|
public string FullName { get; set; }
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|