Skip to content

Provides a mapping of platforms, emulators, and games between varied sources in a easy to use JSON format.

License

Notifications You must be signed in to change notification settings

detain/emurelation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Emu⬅re➡lation

EmuRelation is project with 1 simple purpose; to provide a mapping of platforms, emulators, and games between varied sources in a easy to use JSON format.

❓ Why

There are many websites, programs, etc relating to emulation and many use entirely different names for the same thing. This disparity adds difficulty to both the end user trying to play a game and developers. We all have to deal with this in one way or another, and my goal with this project is to simplify and standardize that process.

🔀 What is being stored

The mapping data will consist of IDs and names while intentionally avoiding data or content beyond that such as descriptions and images. This is to avoid any of the sources we are linking from feeling like we are stealing their data or circumventing them. I hope to make every-ones life a little easier, eventually.

🗺 Supported Mapping

📂 Mapping Sources

🎮 Platforms

Source Type Mapped Unmapped Total Mapped %
Local Custom 883 0 883 100%
Redump DAT 52 1 53 98.1%
No-Intro DAT 271 19 290 93.4%
TOSEC DAT 2427 1 2428 100%
TOSEC-ISO DAT 241 0 241 100%
TOSEC-PIX DAT 634 227 861 73.6%
TheGamesDB API 139 8 147 94.6%
ScreenScraper API 226 0 226 100%
IGDB API 80 0 80 100%
HFS-DB API 124 0 124 100%
MobyGames API 111 0 111 100%
Old-Computers Website 298 988 1286 23.2%
GameTDB Website 7 0 7 100%
EmulationKing Website 34 0 34 100%
Emutopia Website 143 32 175 81.7%
MAME Emulator 649 28 677 95.9%
LaunchBox Frontend 183 0 183 100%
RetroBat Frontend 139 13 152 91.4%
EmulationStation-DE Frontend 144 12 156 92.3%
RecalBox Frontend 105 21 126 83.3%
RetroPie Frontend 80 2 82 97.6%
WinDSPro Frontend 41 10 51 80.4%
ARRM Tools 224 51 275 81.5%
emuControlCenter Tools 183 14 197 92.9%

💾 Emulators

Source Type Mapped Unmapped Total Mapped %
Local Custom 827 0 827 100%
ScreenScraper API 4 0 4 100%
Old-Computers Website 149 317 466 32%
EmuCR Website 340 1995 2335 14.6%
EmulationKing Website 96 0 96 100%
Emutopia Website 249 280 529 47.1%
MAME Emulator 1 0 1 100%
LaunchBox Frontend 30 0 30 100%
RetroBat Frontend 0 0 0 0%
EmulationStation-DE Frontend 161 6 167 96.4%
RecalBox Frontend 159 0 159 100%
RetroPie Frontend 152 1 153 99.3%
WinDSPro Frontend 82 9 91 90.1%
emuControlCenter Tools 490 0 490 100%
scoop-emulators Tools 612 12 624 98.1%

🏭 Companies

Source Type Mapped Unmapped Total Mapped %
Local Custom 312 0 312 100%
ScreenScraper API 53 3 56 94.6%
Old-Computers Website 114 527 641 17.8%
EmulationKing Website 5 0 5 100%
LaunchBox Frontend 70 55 125 56%
RecalBox Frontend 31 22 53 58.5%
ARRM Tools 53 11 64 82.8%
emuControlCenter Tools 77 21 98 78.6%

🕹 Games

Source Type Mapped Unmapped Total Mapped %
Local Custom 0 0 0 0%
ScreenScraper API 0 0 0 0%
GameTDB Website 0 0 0 0%
MAME Emulator 0 0 0 0%
LaunchBox Frontend 0 0 0 0%
emuControlCenter Tools 0 58143 58143 0%

📒 Development Notes

  • Source file generation and is currently done by scripts in ConSolo project, but will likely be moving that.
  • emurelator is a CLI for management of the information but is in early development.
  • Local platforms
    • should come from sources that supply the actual games/roms (No-Intro, TOSEC, Redump, MAME) to ensure we have whats needed without going too overboard:
    • should be a single platform rather than several unless all sources also group them. This should help ensure ideal mapping. For example, having "Thomson MO5, MO6, and MO7" vs "Thomson MO5", "Thomson MO6", and "Thomson MO7" platforms.
  • IDs should match the ID/Name used by the source. An example from a TOSEC DAT is "Acorn BBC - Games - [DSD]". While I could code in parsers and narrow it to say "Acorn BBC", I feel sticking with IDs that exactly match what the source uses for an entry will make it easier for people utilizing this information. If a more specific or alternate name is calculated, then it should be used in the AltNames[] section.

☑ TODO

  • Match up all the local Emulators with their respective Platforms
  • Check other buckets for matching emulators and compair to see if there are things ii can improve
  • Check other buckets for missing emulators and add any appropriate ones
  • Ensure utf8/foreign/etc characters are supported and getting through, such as " and '
  • Setup source exports for
    • Frontends
      • HyperSpin
      • EmulationStation
      • RetroArch
      • RetroBat
    • APIs
      • MobyGames
      • IGDB
      • HFS-DB
      • GamesTDB
    • Tools
      • skeletonKey
    • Websites
      • GamesDatabase
      • SegaRetro.org
      • Emulator.Games
      • emulator-zone.com
      • emulation64.com
      • emulationrealm.net
      • zophar.net

🔃 Contributing

All contributions (issues, comments, pull requests, etc) are welcomed and encouraged. If you have any projects using or relating to this repo let me know and I can add a link to it.

About

Provides a mapping of platforms, emulators, and games between varied sources in a easy to use JSON format.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published