systemdefs

package
v2.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 1, 2026 License: GPL-3.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MediaTypeGame        = slugs.MediaTypeGame
	MediaTypeMovie       = slugs.MediaTypeMovie
	MediaTypeTVShow      = slugs.MediaTypeTVShow
	MediaTypeMusic       = slugs.MediaTypeMusic
	MediaTypeImage       = slugs.MediaTypeImage
	MediaTypeAudio       = slugs.MediaTypeAudio
	MediaTypeVideo       = slugs.MediaTypeVideo
	MediaTypeApplication = slugs.MediaTypeApplication
)

Re-export MediaType constants from slugs package for convenience.

View Source
const (
	System3DO               = "3DO"
	System3DS               = "3DS"
	SystemAdventureVision   = "AdventureVision"
	SystemArcadia           = "Arcadia"
	SystemAstrocade         = "Astrocade"
	SystemAmigaCD32         = "AmigaCD32"
	SystemAtari2600         = "Atari2600"
	SystemAtari5200         = "Atari5200"
	SystemAtari7800         = "Atari7800"
	SystemAtariLynx         = "AtariLynx"
	SystemAtariXEGS         = "AtariXEGS"
	SystemCasioPV1000       = "CasioPV1000"
	SystemCDI               = "CDI"
	SystemChannelF          = "ChannelF"
	SystemColecoVision      = "ColecoVision"
	SystemCreatiVision      = "CreatiVision"
	SystemDreamcast         = "Dreamcast"
	SystemFDS               = "FDS"
	SystemGamate            = "Gamate"
	SystemGameboy           = "Gameboy"
	SystemGameboyColor      = "GameboyColor"
	SystemGameboy2P         = "Gameboy2P"
	SystemGameCube          = "GameCube"
	SystemGameGear          = "GameGear"
	SystemGameNWatch        = "GameNWatch"
	SystemGameCom           = "GameCom"
	SystemGBA               = "GBA"
	SystemGBA2P             = "GBA2P"
	SystemGenesis           = "Genesis"
	SystemGenesisMSU        = "GenesisMSU"
	SystemIntellivision     = "Intellivision"
	SystemJaguar            = "Jaguar"
	SystemJaguarCD          = "JaguarCD"
	SystemMasterSystem      = "MasterSystem"
	SystemMegaCD            = "MegaCD"
	SystemMegaDuck          = "MegaDuck"
	SystemNDS               = "NDS"
	SystemNeoGeo            = "NeoGeo"
	SystemNeoGeoAES         = "NeoGeoAES"
	SystemNeoGeoMVS         = "NeoGeoMVS"
	SystemNeoGeoCD          = "NeoGeoCD"
	SystemNeoGeoPocket      = "NeoGeoPocket"
	SystemNeoGeoPocketColor = "NeoGeoPocketColor"
	SystemNES               = "NES"
	SystemNESMusic          = "NESMusic"
	SystemNintendo64        = "Nintendo64"
	SystemOdyssey2          = "Odyssey2"
	SystemOuya              = "Ouya"
	SystemPCFX              = "PCFX"
	SystemPocketChallengeV2 = "PocketChallengeV2"
	SystemPokemonMini       = "PokemonMini"
	SystemPSX               = "PSX"
	SystemPS2               = "PS2"
	SystemPS3               = "PS3"
	SystemPS4               = "PS4"
	SystemPS5               = "PS5"
	SystemPSP               = "PSP"
	SystemSega32X           = "Sega32X"
	SystemSeriesXS          = "SeriesXS"
	SystemSG1000            = "SG1000"
	SystemSuperGameboy      = "SuperGameboy"
	SystemSuperVision       = "SuperVision"
	SystemSaturn            = "Saturn"
	SystemSNES              = "SNES"
	SystemSNESMSU1          = "SNESMSU1"
	SystemSGBMSU1           = "SGBMSU1"
	SystemSNESMusic         = "SNESMusic"
	SystemSuperGrafx        = "SuperGrafx"
	SystemSwitch            = "Switch"
	SystemTurboGrafx16      = "TurboGrafx16"
	SystemTurboGrafx16CD    = "TurboGrafx16CD"
	SystemVC4000            = "VC4000"
	SystemVectrex           = "Vectrex"
	SystemVirtualBoy        = "VirtualBoy"
	SystemVita              = "Vita"
	SystemWii               = "Wii"
	SystemWiiU              = "WiiU"
	SystemWonderSwan        = "WonderSwan"
	SystemWonderSwanColor   = "WonderSwanColor"
	SystemXbox              = "Xbox"
	SystemXbox360           = "Xbox360"
	SystemXboxOne           = "XboxOne"
	SystemMultivision       = "Multivision"
	SystemVideopacPlus      = "VideopacPlus"
	SystemNGage             = "NGage"
	SystemSocrates          = "Socrates"
	SystemSuperACan         = "SuperACan"
	SystemSufami            = "Sufami"
	SystemVSmile            = "VSmile"
)

Consoles

View Source
const (
	SystemAcornAtom      = "AcornAtom"
	SystemAcornElectron  = "AcornElectron"
	SystemArchimedes     = "Archimedes"
	SystemAliceMC10      = "AliceMC10"
	SystemAmiga          = "Amiga"
	SystemAmiga500       = "Amiga500"
	SystemAmiga1200      = "Amiga1200"
	SystemAmstrad        = "Amstrad"
	SystemAmstradPCW     = "AmstradPCW"
	SystemApogee         = "Apogee"
	SystemAppleI         = "AppleI"
	SystemAppleII        = "AppleII"
	SystemAquarius       = "Aquarius"
	SystemAtari800       = "Atari800"
	SystemBBCMicro       = "BBCMicro"
	SystemBK0011M        = "BK0011M"
	SystemC16            = "C16"
	SystemC64            = "C64"
	SystemCasioPV2000    = "CasioPV2000"
	SystemCoCo2          = "CoCo2"
	SystemDOS            = "DOS"
	SystemEDSAC          = "EDSAC"
	SystemGalaksija      = "Galaksija"
	SystemInteract       = "Interact"
	SystemJupiter        = "Jupiter"
	SystemLaser          = "Laser"
	SystemLynx48         = "Lynx48"
	SystemMacPlus        = "MacPlus"
	SystemMacOS          = "MacOS"
	SystemMSX            = "MSX"
	SystemMSX1           = "MSX1"
	SystemMSX2           = "MSX2"
	SystemMSX2Plus       = "MSX2Plus"
	SystemMultiComp      = "MultiComp"
	SystemOrao           = "Orao"
	SystemOric           = "Oric"
	SystemPC             = "PC"
	SystemPCXT           = "PCXT"
	SystemPDP1           = "PDP1"
	SystemPET2001        = "PET2001"
	SystemPMD85          = "PMD85"
	SystemQL             = "QL"
	SystemRX78           = "RX78"
	SystemSAMCoupe       = "SAMCoupe"
	SystemScummVM        = "ScummVM"
	SystemSordM5         = "SordM5"
	SystemSpecialist     = "Specialist"
	SystemSVI328         = "SVI328"
	SystemTatungEinstein = "TatungEinstein"
	SystemTI994A         = "TI994A"
	SystemTomyTutor      = "TomyTutor"
	SystemTRS80          = "TRS80"
	SystemTSConf         = "TSConf"
	SystemUK101          = "UK101"
	SystemVector06C      = "Vector06C"
	SystemVIC20          = "VIC20"
	SystemWindows        = "Windows"
	SystemX68000         = "X68000"
	SystemZX81           = "ZX81"
	SystemZXSpectrum     = "ZXSpectrum"
	SystemZXNext         = "ZXNext"
	SystemAtariST        = "AtariST"
	SystemColecoAdam     = "ColecoAdam"
	SystemFM7            = "FM7"
	SystemFMTowns        = "FMTowns"
	SystemGamePocket     = "GamePocket"
	SystemGameMaster     = "GameMaster"
	SystemGP32           = "GP32"
	SystemPC88           = "PC88"
	SystemPC98           = "PC98"
	SystemX1             = "X1"
	SystemCommanderX16   = "CommanderX16"
	SystemSpectravideo   = "Spectravideo"
	SystemThomson        = "Thomson"
)

Computers

View Source
const (
	SystemAndroid     = "Android"
	SystemArcade      = "Arcade"
	SystemAtomiswave  = "Atomiswave"
	SystemArduboy     = "Arduboy"
	SystemChip8       = "Chip8"
	SystemCPS1        = "CPS1"
	SystemCPS2        = "CPS2"
	SystemCPS3        = "CPS3"
	SystemDAPHNE      = "DAPHNE"
	SystemDICE        = "DICE"
	SystemSinge       = "Singe"
	SystemModel1      = "Model1"
	SystemModel2      = "Model2"
	SystemNamco2X6    = "Namco2X6"
	SystemNamco22     = "Namco22"
	SystemTriforce    = "Triforce"
	SystemLindbergh   = "Lindbergh"
	SystemChihiro     = "Chihiro"
	SystemGaelco      = "Gaelco"
	SystemHikaru      = "Hikaru"
	SystemIOS         = "iOS"
	SystemModel3      = "Model3"
	SystemNAOMI       = "NAOMI"
	SystemNAOMI2      = "NAOMI2"
	SystemPico8       = "Pico8"
	SystemTIC80       = "TIC80"
	SystemVideo       = "Video"
	SystemAudio       = "Audio"
	SystemMovie       = "Movie"
	SystemTVEpisode   = "TVEpisode"
	SystemTVShow      = "TVShow"
	SystemMusicTrack  = "MusicTrack"
	SystemMusicArtist = "MusicArtist"
	SystemMusicAlbum  = "MusicAlbum"
	SystemImage       = "Image"
	SystemJ2ME        = "J2ME"
	SystemGroovy      = "Groovy"
	SystemPlugNPlay   = "PlugNPlay"
)

Other

Variables

View Source
var Systems = map[string]System{}/* 201 elements not displayed */

Functions

func AlphaMapKeys

func AlphaMapKeys[V any](m map[string]V) []string

func MapKeys

func MapKeys[K comparable, V any](m map[K]V) []K

MapKeys returns a list of all keys in a map.

Types

type MediaType added in v2.7.0

type MediaType = slugs.MediaType

MediaType alias for slugs.MediaType to avoid forcing all systemdefs users to import slugs. The canonical definition is in the slugs package.

type System

type System struct {
	ID        string
	MediaType MediaType
	Aliases   []string
	Fallbacks []string
	Slugs     []string
}

func AllSystems

func AllSystems() []System

func GetSystem

func GetSystem(id string) (*System, error)

GetSystem looks up an exact system definition by ID.

func LookupSystem

func LookupSystem(id string) (*System, error)

LookupSystem case-insensitively looks up system ID definition including aliases and slugs. It uses a two-step strategy:

  1. Fast path: Check lowercase input against the lookup map (exact ID/alias matches)
  2. Natural language path: Slugify input and check against the map (handles manufacturer prefixes, regional names, etc.)

func (*System) GetMediaType added in v2.7.0

func (s *System) GetMediaType() MediaType

GetMediaType returns the media type for this system, defaulting to MediaTypeGame if not set.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL