Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/detain/emurelation
Provides a mapping of platforms, emulators, and games between varied sources in a easy to use JSON format.
https://github.com/detain/emurelation
consoles emulation emulators gaming launchbox mame no-intro redump retrogaming screenscraper thegamesdb tosec
Last synced: about 5 hours ago
JSON representation
Provides a mapping of platforms, emulators, and games between varied sources in a easy to use JSON format.
- Host: GitHub
- URL: https://github.com/detain/emurelation
- Owner: detain
- License: mit
- Created: 2022-04-27T08:48:53.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-12-31T02:14:54.000Z (almost 2 years ago)
- Last Synced: 2023-03-23T11:57:13.474Z (over 1 year ago)
- Topics: consoles, emulation, emulators, gaming, launchbox, mame, no-intro, redump, retrogaming, screenscraper, thegamesdb, tosec
- Homepage:
- Size: 16.9 MB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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
- [sources.json](sources.json)
### ๐ฎ Platforms
| Source | Type | Mapped | Unmapped | Total | Mapped % |
|-|-|-|-|-|-|
| [Local](platforms/local.json) | Custom | 883 | 0 | 883 | 100% |
| [Redump](platforms/redump.json) | DAT | 52 | 1 | 53 | 98.1% |
| [No-Intro](platforms/nointro.json) | DAT | 271 | 19 | 290 | 93.4% |
| [TOSEC](platforms/tosec.json) | DAT | 2427 | 1 | 2428 | 100% |
| [TOSEC-ISO](platforms/toseciso.json) | DAT | 241 | 0 | 241 | 100% |
| [TOSEC-PIX](platforms/tosecpix.json) | DAT | 634 | 227 | 861 | 73.6% |
| [TheGamesDB](platforms/tgdb.json) | API | 139 | 8 | 147 | 94.6% |
| [ScreenScraper](platforms/screenscraper.json) | API | 226 | 0 | 226 | 100% |
| [IGDB](platforms/igdb.json) | API | 80 | 0 | 80 | 100% |
| [HFS-DB](platforms/hfsdb.json) | API | 124 | 0 | 124 | 100% |
| [MobyGames](platforms/mobygames.json) | API | 111 | 0 | 111 | 100% |
| [Old-Computers](platforms/oldcomputers.json) | Website | 298 | 988 | 1286 | 23.2% |
| [GameTDB](platforms/gametdb.json) | Website | 7 | 0 | 7 | 100% |
| [EmulationKing](platforms/emulationking.json) | Website | 34 | 0 | 34 | 100% |
| [Emutopia](platforms/emutopia.json) | Website | 143 | 32 | 175 | 81.7% |
| [MAME](platforms/mame.json) | Emulator | 649 | 28 | 677 | 95.9% |
| [LaunchBox](platforms/launchbox.json) | Frontend | 183 | 0 | 183 | 100% |
| [RetroBat](platforms/retrobat.json) | Frontend | 139 | 13 | 152 | 91.4% |
| [EmulationStation-DE](platforms/emulationstation-de.json) | Frontend | 144 | 12 | 156 | 92.3% |
| [RecalBox](platforms/recalbox.json) | Frontend | 105 | 21 | 126 | 83.3% |
| [RetroPie](platforms/retropie.json) | Frontend | 80 | 2 | 82 | 97.6% |
| [WinDSPro](platforms/windspro.json) | Frontend | 41 | 10 | 51 | 80.4% |
| [ARRM](platforms/arrm.json) | Tools | 224 | 51 | 275 | 81.5% |
| [emuControlCenter](platforms/emucontrolcenter.json) | Tools | 183 | 14 | 197 | 92.9% |### ๐พ Emulators
| Source | Type | Mapped | Unmapped | Total | Mapped % |
|-|-|-|-|-|-|
| [Local](emulators/local.json) | Custom | 827 | 0 | 827 | 100% |
| [ScreenScraper](emulators/screenscraper.json) | API | 4 | 0 | 4 | 100% |
| [Old-Computers](emulators/oldcomputers.json) | Website | 149 | 317 | 466 | 32% |
| [EmuCR](emulators/emucr.json) | Website | 340 | 1995 | 2335 | 14.6% |
| [EmulationKing](emulators/emulationking.json) | Website | 96 | 0 | 96 | 100% |
| [Emutopia](emulators/emutopia.json) | Website | 249 | 280 | 529 | 47.1% |
| [MAME](emulators/mame.json) | Emulator | 1 | 0 | 1 | 100% |
| [LaunchBox](emulators/launchbox.json) | Frontend | 30 | 0 | 30 | 100% |
| [RetroBat](emulators/retrobat.json) | Frontend | 0 | 0 | 0 | 0% |
| [EmulationStation-DE](emulators/emulationstation-de.json) | Frontend | 161 | 6 | 167 | 96.4% |
| [RecalBox](emulators/recalbox.json) | Frontend | 159 | 0 | 159 | 100% |
| [RetroPie](emulators/retropie.json) | Frontend | 152 | 1 | 153 | 99.3% |
| [WinDSPro](emulators/windspro.json) | Frontend | 82 | 9 | 91 | 90.1% |
| [emuControlCenter](emulators/emucontrolcenter.json) | Tools | 490 | 0 | 490 | 100% |
| [scoop-emulators](emulators/scoop-emulators.json) | Tools | 612 | 12 | 624 | 98.1% |### ๐ญ Companies
| Source | Type | Mapped | Unmapped | Total | Mapped % |
|-|-|-|-|-|-|
| [Local](companies/local.json) | Custom | 312 | 0 | 312 | 100% |
| [ScreenScraper](companies/screenscraper.json) | API | 53 | 3 | 56 | 94.6% |
| [Old-Computers](companies/oldcomputers.json) | Website | 114 | 527 | 641 | 17.8% |
| [EmulationKing](companies/emulationking.json) | Website | 5 | 0 | 5 | 100% |
| [LaunchBox](companies/launchbox.json) | Frontend | 70 | 55 | 125 | 56% |
| [RecalBox](companies/recalbox.json) | Frontend | 31 | 22 | 53 | 58.5% |
| [ARRM](companies/arrm.json) | Tools | 53 | 11 | 64 | 82.8% |
| [emuControlCenter](companies/emucontrolcenter.json) | Tools | 77 | 21 | 98 | 78.6% |### ๐น Games
| Source | Type | Mapped | Unmapped | Total | Mapped % |
|-|-|-|-|-|-|
| [Local](games/local.json) | Custom | 0 | 0 | 0 | 0% |
| [ScreenScraper](games/screenscraper.json) | API | 0 | 0 | 0 | 0% |
| [GameTDB](games/gametdb.json) | Website | 0 | 0 | 0 | 0% |
| [MAME](games/mame.json) | Emulator | 0 | 0 | 0 | 0% |
| [LaunchBox](games/launchbox.json) | Frontend | 0 | 0 | 0 | 0% |
| [emuControlCenter](games/emucontrolcenter.json) | Tools | 0 | 58143 | 58143 | 0% |## ๐ Development Notes
- Source file generation and is currently done by scripts in [ConSolo](https://github.com/detain/ConSolo) project, but will likely be moving that.
- [emurelator](https://github.com/detain/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.