From 6d78bfd3f0bee34cb83b1fd69430e39066928596 Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Tue, 24 Sep 2024 18:05:17 +0200 Subject: [PATCH] =?UTF-8?q?Primera=20versi=C3=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.MD | 24 + es_systems.cfg | 3537 +++++++++++++++++ es_systems_jailgames.cfg | 23 + gamelist.md | 89 + gamelist.xml | 23 + systems.md | 139 + .../art-book-next/artwork/jailgames.png | Bin 0 -> 91073 bytes .../art-book-next/logos/jailgames.png | Bin 0 -> 1471 bytes 8 files changed, 3835 insertions(+) create mode 100644 README.MD create mode 100644 es_systems.cfg create mode 100644 es_systems_jailgames.cfg create mode 100644 gamelist.md create mode 100644 gamelist.xml create mode 100644 systems.md create mode 100644 theme-customizations/art-book-next/artwork/jailgames.png create mode 100644 theme-customizations/art-book-next/logos/jailgames.png diff --git a/README.MD b/README.MD new file mode 100644 index 0000000..662dd89 --- /dev/null +++ b/README.MD @@ -0,0 +1,24 @@ +## Nocions bàsiques per a fer funcionar un jailgame dins d'emulationstation: + +- Si el joc es per a una màquineta Anbernic amb Linux, compilar el joc en una Raspberry Pi per a que siga compatible amb ARM o ARM64. Recordar fer el joc compatible amb mandos i amb opció per a poder eixir del joc, així com ajustar be la resolució a la pantalla corresponent. + +- Copiar la carpeta del joc dins del directori de roms que toque. Jo l'he copiat en "ports" pero es pot fer una entrada en `/userdata/system/configs/emulationstation/es_systems_jailgames.cfg` amb la descripció del nou sistema. S'adjunta un exemple al repositori. + +- Crear un fitxer `.sh` per a executar el joc. Aquest fitxer es el que es vorà a la llista de roms del nostre sistema (o de "ports" si havem gastat eixe) + +- Crear un `gamelist.xml` amb els metadatos que volem vore en el llistat de jocs del sistema. Si volem podem afegir imatges tipo: + + > nom_del_joc-image.png + > nom_del_joc-screenshot.png + > nom_del_joc-marquee.png + > nom_del_joc-wheel.png + + - Els fitxers `imatge.png` i `screenshot.png` son per a la captura del joc però no se la diferència exacta o quina està utilitzant. Els altres dos, `marquee.png` i `wheel.png`, s'utilitzen per a mostrar el titol del joc. + + - Si volem retocar el tema, s'hauran d'afegir els fitxers corresponents així com posar una imatge per al nom del sistema i per al fondo del sistema. A continuació s'explica com fer-ho per al tema `art-book-next`. + + - La ruta on colocar els fitxers es `/userdata/theme-customizations/art-book-next/` + + - Art de fondo: Crea una carpeta anomenada `artwork` i col·loca allí el fitxer amb el nom del sistema, en el nostre cas `jailgames.png`. Recorda que per a gastar estos logos s'ha d'activar al tema canviant `System Artwork` a `Custom`. + + - Logos: Crea una carpeta anomenada `logos` i col·loca allí el fitxer amb el nom del sistema, en el nostre cas `jailgames.png`. Recorda que per a gastar estos logos s'ha d'activar al tema canviant `System Logos` a `Custom`. \ No newline at end of file diff --git a/es_systems.cfg b/es_systems.cfg new file mode 100644 index 0000000..9b1743a --- /dev/null +++ b/es_systems.cfg @@ -0,0 +1,3537 @@ + + + + Abuse + abuse + Ports + 1996 + port + /userdata/roms/abuse + .game + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + abuse + ports + + + + abuse + + + + + + ADAM + adam + Coleco + 1983 + computer + /userdata/roms/adam + .wav .ddp .mfi .dfi .hfe .mfm .td0 .imd .d77 .d88 .1dd .cqm .cqi .dsk .rom .col .bin .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + adam + adam + + + + mame + + + + + + Adventure Vision + advision + Entex + 1982 + console + /userdata/roms/advision + .bin .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + advision + advision + + + + mame + + + + + + Amiga + amiga + Commodore + None + computer + amiga + amiga + + + Amiga AGA + amiga1200 + Commodore + 1992 + computer + /userdata/roms/amiga1200 + .adf .uae .ipf .dms .dmz .adz .lha .hdf .exe .m3u .zip + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + amiga + amiga1200 + amiga + + + + A1200 + A4000 + + + + + puae + puae2021 + uae4arm + + + + + + Amiga OCS/ECS + amiga500 + Commodore + 1987 + computer + /userdata/roms/amiga500 + .adf .uae .ipf .dms .dmz .adz .lha .hdf .exe .m3u .zip + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + amiga + amiga500 + amiga + + + + A500 + A500+ + + + + + puae + puae2021 + uae4arm + + + + + + Amiga CD32 + amigacd32 + Commodore + 1994 + console + /userdata/roms/amigacd32 + .bin .cue .iso .chd + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + amigacd32 + amigacd32 + + + + CD32 + + + + + puae + puae2021 + uae4arm + + + + + + Amiga CDTV + amigacdtv + Commodore + 1991 + console + /userdata/roms/amigacdtv + .bin .cue .iso .chd .m3u + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + amigacdtv + amigacdtv + + + + puae + puae2021 + uae4arm + + + + + + Amstrad CPC + amstradcpc + Amstrad + 1984 + computer + /userdata/roms/amstradcpc + .dsk .sna .tap .cdt .voc .m3u .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + amstradcpc + amstradcpc + + + + cap32 + + + + + + M-1000 + apfm1000 + APF Electronics + 1978 + console + /userdata/roms/apfm1000 + .bin .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + apfm1000 + apfm1000 + + + + mame + + + + + + Apple II + apple2 + Apple + 1977 + computer + /userdata/roms/apple2 + .nib .do .po .dsk .mfi .dfi .rti .edd .woz .wav .zip .7z .chd .hdv .2mg + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + apple2 + apple2 + + + + gsplus + + + + + mame + + + + + + Apple IIGS + apple2gs + Apple + 1986 + computer + /userdata/roms/apple2gs + .2mg .do .nib .po .dsk .mfi .dfi .rti .edd .woz .hfe .mfm .td0 .imd .d77 .d88 .1dd .cqm .cqui .ima .img .ufi .360 .ipf .dc42 .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + apple2gs + apple2gs + + + + gsplus + + + + + mame + + + + + + Arcadia 2001 + arcadia + Emerson + 1982 + console + /userdata/roms/arcadia + .bin .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + arcadia + arcadia + + + + mame + + + + + + Archimedes + archimedes + Acorn Computers + 1987 + computer + /userdata/roms/archimedes + .mfi .dfi .hfe .mfm .td0 .imd .d77 .d88 .1dd .cqm .cqi .dsk .ima .img .ufi .360 .ipf .adf .apd .jfd .ads .adm .adl .ssd .bbc .dsd .st .msa .chd .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + archimedes + archimedes + + + + mame + + + + + + Arduboy + arduboy + Kevin Bates + 2015 + portable + /userdata/roms/arduboy + .hex .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + arduboy + arduboy + + + + arduous + + + + + + Astrocade + astrocde + Bally + 1978 + console + /userdata/roms/astrocde + .bin .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + astrocde + astrocade + + + + mame + + + + + + Atari 2600 + atari2600 + Atari + 1977 + console + /userdata/roms/atari2600 + .a26 .bin .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + atari2600 + atari2600 + + + + stella + + + + + + Atari 5200 + atari5200 + Atari + 1982 + console + /userdata/roms/atari5200 + .rom .xfd .atr .atx .cdm .cas .car .bin .a52 .xex .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + atari5200 + atari5200 + + + + a5200 + atari800 + + + + + + Atari 7800 + atari7800 + Atari + 1986 + console + /userdata/roms/atari7800 + .a78 .bin .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + atari7800 + atari7800 + + + + prosystem + + + + + + Atari 800 + atari800 + Atari + 1979 + computer + /userdata/roms/atari800 + .rom .xfd .atr .atx .cdm .cas .car .bin .a52 .xex .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + atari800 + atari800 + atari8bit + + + + atari800 + + + + + + Atari ST + atarist + Atari + 1985 + computer + /userdata/roms/atarist + .st .msa .stx .dim .ipf .m3u .zip .7z .hd .gemdos .vhd .gem .ide + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + atarist + atarist + + + + hatari + + + + + hatari + + + + + + Atom + atom + Acorn Computers + 1979 + computer + /userdata/roms/atom + .wav .tap .csw .uef .mfi .dfi .hfe .mfm .td0 .imd .d77 .d88 .1dd .cqm .cqi .dsk .40t .atm .bin .rom .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + atom + atom + + + + mame + + + + + + Atomiswave + atomiswave + Sammy + 2003 + arcade + /userdata/roms/atomiswave + .lst .bin .dat .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + atomiswave, arcade + atomiswave + + + + flycast + + + + + flycast + flycast-xtreme + flycastvl + morpheuscast + + + + + + BBC Micro + bbc + Acorn Computers + 1981 + computer + /userdata/roms/bbc + .mfi .dfi .hfe .mfm .td0 .imd .d77 .d88 .1dd .cqm .cqi .dsk .ima .img .ufi .360 .ipf .ssd .bbc .dsd .adf .ads .adm .adl .fsd .wav .tap .bin .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + bbc + bbcmicro + + + + mame + + + + + + Commodore 128 + c128 + Commodore + 1985 + computer + /userdata/roms/c128 + .d64 .d81 .prg .lnx .m3u .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + c64 + c128 + + + + vice_x128 + + + + + x128 + + + + + + Commodore VIC-20 + c20 + Commodore + 1980 + computer + /userdata/roms/c20 + .20 .40 .60 .rom .a0 .b0 .crt .d64 .d81 .prg .tap .t64 .m3u .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + c20 + c20 + + + + vice_xvic + + + + + xvic + + + + + + Commodore 64 + c64 + Commodore + 1982 + computer + /userdata/roms/c64 + .d64 .d71 .d81 .crt .prg .tap .t64 .m3u .zip .7z .nib .g64 + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + c64 + c64 + c64 + + + + vice_x64 + vice_x64sc + vice_xscpu64 + + + + + x64 + x64dtv + xscpu64 + + + + + + Camputers Lynx + camplynx + Camputers + 1983 + computer + /userdata/roms/camplynx + .wav .tap .ldf .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + camplynx + camplynx + + + + mame + + + + + + Cannonball + cannonball + Ports + None + port + /userdata/roms/cannonball + .cannonball + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + cannonball + ports + + + + cannonball + + + + + + Cave Story + cavestory + Daisuke "Pixel" Amaya + 2004 + port + /userdata/roms/cavestory + .exe + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + cavestory + ports + + + + nxengine + + + + + + C-Dogs SDL + cdogs + Ports + 1997 + port + /userdata/roms/cdogs + .game + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + cdogs + ports + + + + cdogs + + + + + + Commander Genius + cgenius + The Commander Genius Team + 1990 + port + /userdata/roms/cgenius + .cgenius + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + cgenius + + + + cgenius + + + + + + Channel-F + channelf + Fairchild + 1976 + console + /userdata/roms/channelf + .zip .rom .bin .chf + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + channelf + channelf + + + + freechaf + + + + + + Color Computer + coco + Tandy Radio Shack + 1980 + computer + /userdata/roms/coco + .wav .cas .ccc .rom .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + coco + coco + + + + mame + + + + + + ColecoVision + colecovision + Coleco + 1982 + console + /userdata/roms/colecovision + .bin .col .rom .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + colecovision + colecovision + + + + bluemsx + + + + + + CorsixTH + corsixth + Ports + None + port + /userdata/roms/corsixth + .game + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + corsixth + ports + + + + corsixth + + + + + + Commodore Plus4 + cplus4 + Commodore + 1984 + computer + /userdata/roms/cplus4 + .d64 .prg .tap .m3u .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + cplus4 + cplus4 + c64 + + + + vice_xplus4 + + + + + xplus4 + + + + + + CreatiVision + crvision + VTech + 1982 + console + /userdata/roms/crvision + .bin .rom .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + crvision + creativision + + + + mame + + + + + + Daphne + daphne + Arcade + 1983 + arcade + /userdata/roms/daphne + .daphne .squashfs + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + daphne, arcade + daphne + + + + hypseus + + + + + + DevilutionX + devilutionx + Ports + None + port + /userdata/roms/devilutionx + .mpq + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + devilutionx + ports + + + + devilutionx + + + + + + Dos (x86) + dos + Microsoft + 1981 + computer + /userdata/roms/dos + .pc .dos .zip .squashfs .dosz .m3u .iso .cue + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + pc + + + + dosbox_staging + + + + + dosbox-x + + + + + dosbox_pure + + + + + + Dreamcast + dreamcast + Sega + 1998 + console + /userdata/roms/dreamcast + .cdi .cue .gdi .chd .m3u + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + dreamcast + dreamcast + + + + flycast + + + + + flycast + flycast-xtreme + flycastvl + morpheuscast + + + + + + EasyRPG + easyrpg + EasyRPG Team + 2000 + port + /userdata/roms/easyrpg + .easyrpg .squashfs .zip + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + easyrpg + easyrpg + + + + easyrpg + + + + + easyrpg + + + + + + ECWolf + ecwolf + Ports + 2013 + port + /userdata/roms/ecwolf + .ecwolf .pk3 .squashfs + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + ecwolf + ports + + + + ecwolf + + + + + + EDuke32 + eduke32 + Ports + None + port + /userdata/roms/eduke32 + .eduke32 + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + eduke32 + ports + + + + eduke32 + + + + + + Electron + electron + Acorn Computers + 1983 + computer + /userdata/roms/electron + .wav .csw .uef .mfi .dfi .hfe .mfm .td0 .imd .d77 .d88 .1dd .cqm .cqi .dsk .ssd .bbc .img .dsd .adf .ads .adm .adl .rom .bin .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + electron + electron + + + + mame + + + + + + Fallout Community Edition + fallout1-ce + Ports + 1997 + port + /userdata/roms/fallout1-ce + .f1ce + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + fallout1-ce + ports + + + + fallout1-ce + + + + + + Fallout 2 Community Edition + fallout2-ce + Ports + 1998 + port + /userdata/roms/fallout2-ce + .f2ce + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + fallout2-ce + ports + + + + fallout2-ce + + + + + + Final Burn Neo + fbneo + Arcade + 2019 + arcade + /userdata/roms/fbneo + .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + arcade + fbneo + + + + fbalpha + fbneo + + + + + + Family Computer Disk System + fds + Nintendo + 1986 + console + /userdata/roms/fds + .fds .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + fds + fds + nes + + + + fceumm + mesen + nestopia + + + + + + Flash Player + flash + Adobe + 1996 + port + /userdata/roms/flash + .swf + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + flash + flash + + + + lightspark + + + + + + FM-7 + fm7 + Fujitsu + 1982 + computer + /userdata/roms/fm7 + .wav .t77 .mfi .dfi .hfe .mfm .td0 .imd .d77 .d88 .1dd .cqm .cqi .dsk .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + fm7 + fm7 + + + + mame + + + + + + FM-TOWNS + fmtowns + Fujitsu + 1987 + computer + /userdata/roms/fmtowns + .bin .m3u .cue .d88 .d77 .xdf .iso .chd .toc .nrg .gdi .cdr .mfi .dfi .hfe .mfm .td0 .imd .1dd .cqm .cqi .dsk .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + fmtowns + fmtowns + + + + mame + + + + + + Ion Fury + fury + Ports + 2019 + port + /userdata/roms/fury + .grp + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + fury + ports + + + + fury + + + + + + Gamate + gamate + Bitcorp + 1990 + portable + /userdata/roms/gamate + .bin .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + gamate + gamate + + + + mame + + + + + + Game and Watch + gameandwatch + Nintendo + 1980 + portable + /userdata/roms/gameandwatch + .mgw .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + gameandwatch + gameandwatch + lcdgames + + + + gw + mame + + + + + + Game.com + gamecom + Tiger Electronics + 1997 + portable + /userdata/roms/gamecom + .bin .tgc .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + gamecom + gamecom + + + + mame + + + + + + Game Gear + gamegear + Sega + 1990 + portable + /userdata/roms/gamegear + .bin .gg .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + gamegear + gamegear + + + + gearsystem + genesisplusgx + picodrive + smsplus + + + + + + Game Pocket Computer + gamepock + Epoch + 1984 + portable + /userdata/roms/gamepock + .bin .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + gamepock + gamepock + + + + mame + + + + + + Game Boy + gb + Nintendo + 1989 + portable + /userdata/roms/gb + .gb .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + gb + gb + + + + gambatte + mesen-s + mgba + vba-m + + + + + + Game Boy (2 players) + gb2players + Nintendo + 1989 + portable + /userdata/roms/gb2players + .gb .gb2 .gbc2 .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + gb + gb2players + + + + tgbdual + + + + + + Game Boy Advance + gba + Nintendo + 2001 + portable + /userdata/roms/gba + .gba .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + gba + gba + + + + gpsp + mgba + vba-m + + + + + + Game Boy Color + gbc + Nintendo + 1998 + portable + /userdata/roms/gbc + .gbc .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + gbc + gbc + + + + gambatte + mesen-s + mgba + vba-m + + + + + + Game Boy Color (2 players) + gbc2players + Nintendo + 1998 + portable + /userdata/roms/gbc2players + .gbc .gb2 .gbc2 .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + gbc + gbc2players + + + + tgbdual + + + + + + Game Master + gmaster + Hartung + 1990 + portable + /userdata/roms/gmaster + .bin .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + gmaster + gmaster + + + + mame + + + + + + GP32 + gp32 + GamePark + 2001 + portable + /userdata/roms/gp32 + .smc .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + gp32 + gp32 + + + + mame + + + + + + GX4000 + gx4000 + Amstrad + 1991 + console + /userdata/roms/gx4000 + .dsk .m3u .cpr .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + gx4000 + gx4000 + + + + cap32 + + + + + + GZDoom + gzdoom + Ports + None + port + /userdata/roms/gzdoom + .wad .iwad .pwad .gzdoom + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + gzdoom + ports + + + + gzdoom + + + + + + Hydra Castle Labyrinth + hcl + Ports + 2011 + port + /userdata/roms/hcl + .game + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + hcl + ports + + + + hcl + + + + + + Hurrican + hurrican + Ports + 2007 + port + /userdata/roms/hurrican + .game + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + hurrican + ports + + + + hurrican + + + + + + Screenshots + imageviewer + Misc. System + None + system + /userdata/screenshots + .jpg .jpeg .png .bmp .psd .tga .gif .hdr .pic .ppm .pgm .mkv .pdf .mp4 .avi .webm + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + imageviewer + imageviewer + + + Mattel Intellivision + intellivision + Mattel + 1979 + console + /userdata/roms/intellivision + .int .bin .rom .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + intellivision + intellivision + + + + freeintv + + + + + + Return To Castle Wolfenstein + iortcw + Ports + 2001 + port + /userdata/roms/iortcw + .rtcw + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + iortcw + ports + + + + iortcw + + + + + + Jaguar + jaguar + Atari + 1993 + console + /userdata/roms/jaguar + .cue .j64 .jag .cof .abs .cdi .rom .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + jaguar + atarijaguar + + + + virtualjaguar + + + + + + Laser 310 + laser310 + VTech + 1984 + computer + /userdata/roms/laser310 + .vz .wav .cas .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + laser310 + laser310 + + + + mame + + + + + + LCD Games + lcdgames + Various + 1979 + portable + /userdata/roms/lcdgames + .mgw .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + lcdgames + lcdgames + lcdgames + + + + mame + + + + + + Library + library + Misc. System + None + system + /userdata/library + .jpg .jpeg .png .bmp .psd .tga .gif .hdr .pic .ppm .pgm .mkv .pdf .mp4 .avi .webm .cbz .mp3 .wav .ogg .flac .mod .xm .stm .s3m .far .it .669 .mtm + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + imageviewer + library + + + Lowres NX + lowresnx + Fantasy + 2018 + console + /userdata/roms/lowresnx + .nx .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + lowresnx + lowresnx + + + + lowresnx + + + + + + Lutro + lutro + Ports + None + port + /userdata/roms/lutro + .lutro .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + lutro + lutro + ports + + + + lutro + + + + + + Atari Lynx + lynx + Atari + 1989 + portable + /userdata/roms/lynx + .lnx .lyx .o .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + atarilynx + atarilynx + + + + handy + mednafen_lynx + + + + + + Macintosh + macintosh + Apple + 1984 + computer + /userdata/roms/macintosh + .dsk .zip .7z .mfi .dfi .hfe .mfm .td0 .imd .d77 .d88 .1dd .cqm .cqi .dsk .ima .img .ufi .ipf .dc42 .woz .2mg .360 .chd .cue .toc .nrg .gdi .iso .cdr .hd .hdv .2mg .hdi + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + macintosh + macintosh + + + + mame + minivmac + + + + + + Mame + mame + Arcade + 1997 + arcade + /userdata/roms/mame + .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + arcade + mame + + + + mame + mame0139 + mame078plus + + + + + + Master System + mastersystem + Sega + 1985 + console + /userdata/roms/mastersystem + .bin .sms .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + mastersystem + mastersystem + + + + gearsystem + genesisplusgx + picodrive + smsplus + + + + + + Mega Drive + megadrive + Sega + 1988 + console + /userdata/roms/megadrive + .bin .gen .md .sg .smd .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + genesis, megadrive + megadrive + megadrive + + + + genesisplusgx + genesisplusgx-wide + picodrive + + + + + + Mega Duck / Cougar Boy + megaduck + Welback Holdings + 1993 + portable + /userdata/roms/megaduck + .bin .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + megaduck + megaduck + + + + mame + sameduck + + + + + + Moonlight Embedded + moonlight + Misc. System + None + system + /userdata/roms/moonlight + .moonlight + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + moonlight + moonlight + + + + moonlight + + + + + + MrBoom + mrboom + Ports + None + port + /userdata/roms/mrboom + .libretro + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + mrboom + ports + + + + mrboom + + + + + + MSU-MD + msu-md + Sega + 2020 + console + /userdata/roms/msu-md + .md .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + genesis, megadrive + msu-md + megadrive + + + + genesisplusgx + genesisplusgx-wide + + + + + + Msx + msx + Microsoft + None + computer + msx + msx + + + MSX1 + msx1 + Microsoft + 1983 + computer + /userdata/roms/msx1 + .dsk .mx1 .rom .zip .7z .cas .m3u .ogv .openmsx + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + msx + msx1 + + + + bluemsx + fmsx + + + + + + MSX2 + msx2 + Microsoft + 1985 + computer + /userdata/roms/msx2 + .dsk .mx2 .rom .zip .7z .cas .m3u .ogv .openmsx + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + msx2 + msx2 + + + + bluemsx + fmsx + + + + + + MSX2+ + msx2+ + Microsoft + 1988 + computer + /userdata/roms/msx2+ + .dsk .mx2 .rom .zip .7z .cas .m3u .openmsx + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + msx2+ + msx2+ + + + + bluemsx + fmsx + + + + + + MSX Turbo-R + msxturbor + Microsoft + 1990 + computer + /userdata/roms/msxturbor + .dsk .mx2 .rom .zip .7z .openmsx .m3u + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + msxturbor + msxturbor + + + + bluemsx + + + + + + Othello Multivision + multivision + Tsukuda Original + 1983 + console + /userdata/roms/multivision + .bin .sg .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + sg-1000 + multivision + + + + gearsystem + + + + + + Nintendo 64 + n64 + Nintendo + 1996 + console + /userdata/roms/n64 + .z64 .n64 .v64 .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + n64 + n64 + + + + mupen64plus-next + parallel_n64 + + + + + glide64mk2 + gliden64 + rice + + + + + + Nintendo 64 Disk Drive + n64dd + Nintendo + 1999 + console + /userdata/roms/n64dd + .z64 .n64 .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + n64dd + n64dd + + + + mupen64plus-next + parallel_n64 + + + + + glide64mk2 + gliden64 + rice + + + + + + Naomi + naomi + Sega + 1998 + arcade + /userdata/roms/naomi + .lst .bin .dat .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + naomi, arcade + naomi + + + + flycast + + + + + flycast + flycast-xtreme + flycastvl + morpheuscast + + + + + + Naomi 2 + naomi2 + Sega + 2000 + arcade + /userdata/roms/naomi2 + .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + naomi2, arcade + naomi2 + + + + flycast + + + + + flycast + flycast-xtreme + morpheuscast + + + + + + Nintendo DS + nds + Nintendo + 2004 + portable + /userdata/roms/nds + .nds .bin .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + nds + nds + + + + drastic + + + + + melonds + + + + + + Neo-Geo + neogeo + SNK + 1990 + console + /userdata/roms/neogeo + .7z .zip + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + neogeo, arcade + neogeo + + + + fbalpha + fbneo + mame + mame0139 + mame078plus + + + + + + Neo-Geo CD + neogeocd + SNK + 1994 + console + /userdata/roms/neogeocd + .cue .iso .chd + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + neogeocd + neogeocd + + + + neocd + + + + + + Nintendo Entertainment System + nes + Nintendo + 1983 + console + /userdata/roms/nes + .nes .unif .unf .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + nes + nes + nes + + + + fceumm + mesen + nestopia + + + + + + Neo-Geo Pocket + ngp + SNK + 1998 + portable + /userdata/roms/ngp + .ngp .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + ngp + ngp + + + + mednafen_ngp + + + + + + Neo-Geo Pocket Color + ngpc + SNK + 1999 + portable + /userdata/roms/ngpc + .ngc .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + ngpc + ngpc + + + + mednafen_ngp + + + + + + Odyssey2 + o2em + Magnavox - Philips + 1978 + console + /userdata/roms/o2em + .bin .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + o2em + odyssey2 + + + + o2em + + + + + + OD-Commander + odcommander + Ports + 2022 + port + /userdata/roms/odcommander + .odc + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + odcommander + odcommander + ports + + + + odcommander + + + + + + OpenBOR + openbor + Ports + None + port + /userdata/roms/openbor + .pak + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + openbor + openbor + + + + openbor4432 + openbor6412 + openbor7142 + openbor7530 + + + + + + OpenLara + openlara + Ports + 1996 + port + /userdata/roms/openlara + .croft + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + openlara + ports + + + + openlara + + + + + + PC-8800 + pc88 + NEC + 1981 + computer + /userdata/roms/pc88 + .cmt .d88 .u88 .m3u + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc88 + pc88 + + + + quasi88 + + + + + + PC-9800 + pc98 + NEC + 1982 + computer + /userdata/roms/pc98 + .d98 .zip .98d .fdi .fdd .2hd .tfd .d88 .88d .hdm .xdf .dup .cmd .hdi .thd .nhd .hdd .hdn .m3u + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc98 + pc98 + + + + np2kai + + + + + + PC Engine + pcengine + NEC + 1987 + console + /userdata/roms/pcengine + .pce .bin .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pcengine + pcengine + + + + pce + pce_fast + + + + + + PC Engine CD + pcenginecd + NEC + 1988 + console + /userdata/roms/pcenginecd + .pce .cue .ccd .iso .img .chd + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pcenginecd + pce-cd + + + + pce + pce_fast + + + + + + PDP-1 + pdp1 + Digital Equipment Corporation + 1961 + computer + /userdata/roms/pdp1 + .zip .7z .tap .rim .drm + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pdp1 + pdp1 + + + + mame + + + + + + Commodore PET + pet + Commodore + 1977 + computer + /userdata/roms/pet + .a0 .b0 .crt .d64 .d81 .prg .tap .t64 .m3u .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pet + pet + + + + vice_xpet + + + + + xpet + + + + + + Sega Pico + pico + Sega + 1993 + console + /userdata/roms/pico + .bin .md .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pico + pico + megadrive + + + + genesisplusgx + genesisplusgx-wide + picodrive + + + + + + Pico-8 + pico8 + Fantasy + 2015 + console + /userdata/roms/pico8 + .p8 .png .m3u + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pico8 + pico8 + + + + fake08 + + + + + + Plug and Play TV Games + plugnplay + Various + 2002 + console + /userdata/roms/plugnplay + .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + plugnplay + plugnplay + + + + mame + + + + + + Pokemon Mini + pokemini + Nintendo + 2001 + portable + /userdata/roms/pokemini + .min .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pokemini + pokemini + + + + pokemini + + + + + + Ports + ports + Ports + None + port + /userdata/roms/ports + .sh .squashfs + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + ports + ports + + + + sh + + + + + + PrBoom + prboom + Ports + None + port + /userdata/roms/prboom + .wad .iwad .pwad + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + prboom + ports + + + + prboom + + + + + + PlayStation Portable + psp + Sony + 2004 + portable + /userdata/roms/psp + .iso .cso .pbp .chd + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + psp + psp + + + + ppsspp + + + + + ppsspp + + + + + + PlayStation + psx + Sony + 1994 + console + /userdata/roms/psx + .cue .img .mdf .pbp .toc .cbn .m3u .ccd .chd .iso + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + psx + psx + + + + mednafen_psx + pcsx_rearmed + swanstation + + + + + + PV-1000 + pv1000 + Casio + 1983 + console + /userdata/roms/pv1000 + .bin .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pv1000 + pv1000 + + + + mame + + + + + + Pygame + pygame + Pygame Team + 2000 + library + /userdata/roms/pygame + .pygame + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pygame + pygame + + + + pygame + + + + + + Quake III + quake3 + Ports + 1999 + port + /userdata/roms/quake3 + .quake3 + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + quake3 + ports + + + + ioquake3 + + + + + + Raze + raze + Ports + None + port + /userdata/roms/raze + .raze + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + raze + ports + + + + raze + + + + + + REminiscence + reminiscence + Ports + 1992 + port + /userdata/roms/reminiscence + .rem + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + reminiscence + ports + + + + reminiscence + + + + + + SAM Coupé + samcoupe + Miles Gordon Technology + 1989 + computer + /userdata/roms/samcoupe + .cpm .dsk .sad .mgt .sdf .td0 .sbt .zip + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + samcoupe + samcoupe + + + + samcoupe + + + + + + Satellaview + satellaview + Nintendo + 1995 + console + /userdata/roms/satellaview + .bs .smc .sfc .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + satellaview + satellaview + snes + + + + mesen-s + snes9x + + + + + + Saturn + saturn + Sega + 1994 + console + /userdata/roms/saturn + .cue .ccd .m3u .chd .iso .zip .mds + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + saturn + saturn + + + + yabasanshiro + + + + + + ScummVM + scummvm + LucasArts + 1987 + computer + /userdata/roms/scummvm + .scummvm .squashfs + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + scummvm + scummvm + + + + scummvm + + + + + scummvm + + + + + + Super Cassette Vision + scv + Epoch + 1984 + console + /userdata/roms/scv + .bin .zip .0 + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + scv + scv + + + + emuscv + + + + + + SdlPop + sdlpop + Ports + None + port + /userdata/roms/sdlpop + .sdlpop + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + sdlpop + ports + + + + sdlpop + + + + + + 32x + sega32x + Sega + 1994 + console + /userdata/roms/sega32x + .32x .chd .smd .bin .md .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + sega32x + sega32x + megadrive + + + + picodrive + + + + + + Sega CD + segacd + Sega + 1991 + console + /userdata/roms/segacd + .cue .iso .chd .m3u + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + segacd + segacd + + + + genesisplusgx + picodrive + + + + + + SG-1000 + sg1000 + Sega + 1983 + console + /userdata/roms/sg1000 + .bin .sg .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + sg-1000 + sg-1000 + + + + gearsystem + genesisplusgx + + + + + + Super Game Boy + sgb + Nintendo + 1994 + console + /userdata/roms/sgb + .gb .gbc .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + sgb + sgb + snes + + + + mesen-s + mgba + + + + + + Super Nintendo Entertainment System + snes + Nintendo + 1990 + console + /userdata/roms/snes + .smc .fig .sfc .gd3 .gd7 .dx2 .bsx .swc .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + snes + snes + snes + + + + bsnes + mesen-s + snes9x + snes9x_next + + + + + + Super Disc System (MSU1) + snes-msu1 + Nintendo + 1991 + console + /userdata/roms/snes-msu1 + .smc .sfc + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + snes-msu1 + snes-msu1 + snes + + + + bsnes + snes9x + + + + + + Socrates + socrates + VTech + 1988 + console + /userdata/roms/socrates + .bin .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + socrates + socrates + + + + mame + + + + + + Solarus + solarus + Solarus Team + 2011 + port + /userdata/roms/solarus + .zip .solarus + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + solarus + solarus + + + + solarus + + + + + + Sonic Retro Engine + sonicretro + Sega + 2021 + port + /userdata/roms/sonicretro + .son .scd + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + sonicretro + sonicretro + ports + + + + sonic2013 + + + + + soniccd + + + + + + SuFami Turbo + sufami + Bandai + 1996 + console + /userdata/roms/sufami + .st .fig .bs .smc .sfc .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + sufami + sufami + snes + + + + snes9x + + + + + + Super Mario War + superbroswar + Ports + 2006 + port + /userdata/roms/superbroswar + .game + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + superbroswar + ports + + + + superbroswar + + + + + + Supergrafx + supergrafx + NEC + 1989 + console + /userdata/roms/supergrafx + .pce .sgx .cue .ccd .chd .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + supergrafx + supergrafx + + + + mednafen_supergrafx + + + + + + Supervision + supervision + Watara + 1992 + portable + /userdata/roms/supervision + .sv .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + supervision + supervision + + + + potator + + + + + + Super A'Can + supracan + Funtech Entertainment + 1995 + console + /userdata/roms/supracan + .bin .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + supracan + supracan + + + + mame + + + + + + Sega System SP + systemsp + Sega + 2004 + arcade + /userdata/roms/systemsp + .lst .bin .dat .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + systemsp, arcade + systemsp + + + + flycast + + + + + flycast + flycast-xtreme + morpheuscast + + + + + + TheXTech + thextech + Wohlstand + 2020 + port + /userdata/roms/thextech + .smbx + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + thextech + thextech + + + + thextech + + + + + + Thomson - MO/TO (Theodore) + thomson + Thomson + 1984 + computer + /userdata/roms/thomson + .fd .sap .k7 .m7 .m5 .rom .zip + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + thomson + thomson + + + + theodore + + + + + + TI-99 + ti99 + Texas Instruments + 1981 + computer + /userdata/roms/ti99 + .rpk .wav .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + ti99 + ti99 + + + + mame + + + + + + TIC-80 + tic80 + Fantasy + 2016 + console + /userdata/roms/tic80 + .tic + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + tic80 + tic80 + + + + tic80 + + + + + + Tutor + tutor + Tomy + 1983 + computer + /userdata/roms/tutor + .bin .wav .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + tutor + tutor + + + + mame + + + + + + Tyrian + tyrian + Ports + 1995 + port + /userdata/roms/tyrian + .game + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + tyrian + ports + + + + tyrian + + + + + + TyrQuake + tyrquake + Ports + None + port + /userdata/roms/tyrquake + .pak + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + tyrquake + ports + + + + tyrquake + + + + + + Uzebox + uzebox + Atmel + 2008 + console + /userdata/roms/uzebox + .uze + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + uzebox + uzebox + + + + uzem + + + + + + VC 4000 + vc4000 + Interton + 1978 + console + /userdata/roms/vc4000 + .bin .rom .pgm .tvc .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + vc4000 + vc4000 + + + + mame + + + + + + Vectrex + vectrex + MB + 1982 + console + /userdata/roms/vectrex + .bin .gam .vec .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + vectrex + vectrex + + + + vecx + + + + + + Video Game Music Player + vgmplay + Various + 1980 + computer + /userdata/roms/vgmplay + .vgm .vgz .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + vgmplay + vgmplay + + + + mame + + + + + + Videopac+ G7400 + videopacplus + Philips + 1983 + console + /userdata/roms/videopacplus + .bin .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + videopac + videopacplus + + + + o2em + + + + + + Virtual Boy + virtualboy + Nintendo + 1995 + console + /userdata/roms/virtualboy + .vb .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + virtualboy + virtualboy + + + + vb + + + + + + Tandy Video Information System + vis + Tandy / Memorex + 1992 + computer + /userdata/roms/vis + .chd .cue .toc .nrg .gdi .iso .cdr + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + vis + vis + + + + mame + + + + + + Quake II + vitaquake2 + Ports + 1997 + port + /userdata/roms/vitaquake2 + .pak .zip .7zip + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + vitaquake2 + ports + + + + vitaquake2 + + + + + + V.Smile + vsmile + VTech + 2005 + console + /userdata/roms/vsmile + .u1 .u3 .bin .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + vsmile + vsmile + + + + mame + + + + + + WonderSwan + wswan + Bandai + 1999 + portable + /userdata/roms/wswan + .ws .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + wonderswan + wonderswan + + + + mednafen_wswan + + + + + + WonderSwan Color + wswanc + Bandai + 2000 + portable + /userdata/roms/wswanc + .wsc .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + wonderswancolor + wonderswancolor + + + + mednafen_wswan + + + + + + Sharp X1 + x1 + Sharp + 1982 + computer + /userdata/roms/x1 + .dx1 .zip .2d .2hd .tfd .d88 .88d .hdm .xdf .dup .cmd .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + x1 + x1 + + + + x1 + + + + + + Sharp X68000 + x68000 + Sharp + 1987 + computer + /userdata/roms/x68000 + .dim .img .d88 .88d .hdm .dup .2hd .xdf .hdf .cmd .m3u .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + x68000 + x68000 + + + + px68k + + + + + + Xash3D-FWGS + xash3d_fwgs + Ports + None + port + /userdata/roms/xash3d_fwgs + .game + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + xash3d_fwgs + ports + + + + xash3d_fwgs + + + + + + Atari XE Game System + xegs + Atari + 1987 + computer + /userdata/roms/xegs + .atr .dsk .xfd .bin .rom .car .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + xegs + xegs + atari8bit + + + + mame + + + + + + xrick + xrick + Ports + None + port + /userdata/roms/xrick + .zip + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + xrick + ports + + + + xrick + + + + + + Zelda Classic + zc210 + Ports + 1999 + console + /userdata/roms/zc210 + .qst + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + pc + zeldac + + + + zc210 + + + + + + ZX81 + zx81 + Sinclair + 1981 + computer + /userdata/roms/zx81 + .tzx .p .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + zx81 + zx81 + + + + 81 + + + + + + ZX Spectrum + zxspectrum + Sinclair + 1982 + computer + /userdata/roms/zxspectrum + .tzx .tap .z80 .rzx .scl .trd .dsk .zip .7z + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + zxspectrum + zxspectrum + + + + fuse + + + + + diff --git a/es_systems_jailgames.cfg b/es_systems_jailgames.cfg new file mode 100644 index 0000000..f2268be --- /dev/null +++ b/es_systems_jailgames.cfg @@ -0,0 +1,23 @@ + + + + JailGames + jailgames + JailGames + None + jailgame + /userdata/roms/jailgames + .sh .squashfs + emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME% + jailgames + jailgames + jailgames + + + + sh + + + + + diff --git a/gamelist.md b/gamelist.md new file mode 100644 index 0000000..9602007 --- /dev/null +++ b/gamelist.md @@ -0,0 +1,89 @@ +Gamelists +========= + +The gamelist.xml file for a system defines metadata for a system's games, such as a name, image (like a screenshot or box art), description, release date, and rating. + +ES will check three places for a gamelist.xml in the following order, using the first one it finds: +* `[SYSTEM_PATH]/gamelist.xml` +* `~/.emulationstation/gamelists/[SYSTEM_NAME]/gamelist.xml` +* `/etc/emulationstation/gamelists/[SYSTEM_NAME]/gamelist.xml` + +An example gamelist.xml: +```xml + + + /home/pi/ROMs/nes/mm2.nes + Mega Man 2 + Mega Man 2 is a classic NES game which follows Mega Man as he murders eight robot masters in cold blood. + ~/.emulationstation/downloaded_images/nes/Mega Man 2-image.png + + +``` + +Everything is enclosed in a `` tag. The information for each game or folder is enclosed in a corresponding tag (`` or ``). Each piece of metadata is encoded as a string. + + +Reference +========= + +(if you suspect this section is out of date, check out `src/MetaData.cpp`) + +There are a few types of metadata: + +* `string` - just text. +* `image_path` - a path to an image. This path should be either the absolute to the image, a path relative to the system games folder that starts with "./" (e.g. `./mm2_image.png`), or a path relative to the home directory that starts with "~/" (e.g. `~/.emulationstation/downloaded_images/nes/mm2-image.png`). Images will be automatically resized by OpenGL to fit the corresponding `` tag in the current theme. Smaller images will load faster, so try to keep resolution low! +* `video_path` - a path to a video. Similar to `image_path`. +* `float` - a floating-point decimal value (written as a string). +* `integer` - an integer value (written as a string). +* `datetime` - a date and, potentially, a time. These are encoded as an ISO string, in the following format: "%Y%m%dT%H%M%S%F%q". For example, the release date for Chrono Trigger is encoded as "19950311T000000" (no time specified). + +Some metadata is also marked as "statistic" - these are kept track of by ES and do not show up in the metadata editor. They are shown in certain views (for example, the detailed view shows both `playcount` and `lastplayed`). + +#### `` + +* `name` - string, the displayed name for the game. +* `desc` - string, a description of the game. Longer descriptions will automatically scroll, so don't worry about size. +* `image` - image_path, the path to an image to display for the game (like box art or a screenshot). +* `thumbnail` - image_path, the path to a smaller image, displayed in image lists like the grid view. Should be small to ensure quick loading. +* `video` - video_path, the path to a video to display for the game, for themes that support the _video_ viewstyle. +* `rating` - float, the rating for the game, expressed as a floating point number between 0 and 1. Arbitrary values are fine (ES can display half-stars, quarter-stars, etc). +* `releasedate` - datetime, the date the game was released. Displayed as date only, time is ignored. +* `developer` - string, the developer for the game. +* `publisher` - string, the publisher for the game. +* `genre` - string, the (primary) genre for the game. +* `players` - integer, the number of players the game supports. +* `playcount` - statistic, integer, the number of times this game has been played. +* `lastplayed` - statistic, datetime, the last date and time this game was played. + + +#### `` +* `name` - string, the displayed name for the folder. +* `desc` - string, the description for the folder. +* `image` - image_path, the path to an image to display for the folder. +* `thumbnail` - image_path, the path to a smaller image to display for the folder. + + +Things to be Aware Of +===================== + +* You can use ES's built-in [scraping](http://en.wikipedia.org/wiki/Web_scraping) tools to avoid creating a gamelist.xml by hand, as described in README.md. + +* ES will try to write any image paths as relative to the current system games path or relative to the current home directory if it can. This is done to try and keep installations portable (so you can copy them between computers). + +* One thing to be aware of: the EmulationStation text rendering code doesn't currently support Unicode. If I fix this in the future, it will probably use UTF-8. For now, you'll just have to convert names and descriptions to ASCII. Sorry! + +* If a value matches the default for a particular piece of metadata, ES will not write it to the gamelist.xml (for example, if `genre` isn't specified, ES won't write an empty genre tag; if `players` is 1, ES won't write a `players` tag). + +* A `game` can actually point to a folder/directory if the the folder has a matching extension. + +* `folder` metadata will only be used if a game is found inside of that folder. + +* ES will keep entries for games and folders that it can't find the files for. + +* The switch `--gamelist-only` can be used to skip automatic searching, and only display games defined in the system's gamelist.xml. + +* The switch `--ignore-gamelist` can be used to ignore the gamelist and force ES to use the non-detailed view. + +* If at least one game in a system has an image specified, ES will use the detailed view for that system (which displays metadata alongside the game list). + +* If you want to write your own scraper, the built-in scraping system is actually pretty extendable if you can get past the ugly function declarations and your instinctual fear of C++. Check out `src/scrapers/GamesDBScraper.cpp` for an example (it's less than a hundred lines of actual code). An offline scraper is also possible (though you'll have to subclass `ScraperRequest`). I hope to write a more complete guide on how to do this in the future. \ No newline at end of file diff --git a/gamelist.xml b/gamelist.xml new file mode 100644 index 0000000..2abeeb4 --- /dev/null +++ b/gamelist.xml @@ -0,0 +1,23 @@ + + + + ./ccae/ccae.sh + Coffee Crisis Arcade Edition + Coffee Crisis es un juego arcade que pondrá a prueba tus reflejos. Empezado + durante el verano de 2020 y terminado un año despues, en el verano de 2021. + Intenta conseguir todos los puntos que puedas con una sola vida a traves de + los 10 niveles de juego y ayuda a Bal1 a defender la UPV de la invasión de + la cafeína esférica y saltarina. + ./downloaded_images/coffee_crisis_arcade_edition-image.png + ./downloaded_images/coffee_crisis_arcade_edition-wheel.png + ./downloaded_images/coffee_crisis_arcade_edition-boxart.png + ./downloaded_images/coffee_crisis_arcade_edition-screenshot.png + ./downloaded_images/coffee_crisis_arcade_edition-marquee.png + 20090414T000000 + JailGames + JailGames + Arcade + 2 + ca + + \ No newline at end of file diff --git a/systems.md b/systems.md new file mode 100644 index 0000000..fc42632 --- /dev/null +++ b/systems.md @@ -0,0 +1,139 @@ +# Customize ES Systems[](https://wiki.batocera.org/emulationstation:customize_systems#customize_es_systems) + +EmulationStation displays systems based on a file called `es_systems.cfg`. In other distributions, this is typically the only file. However, in Batocera the `/userdata/system/configs/emulationstation/es_systems_.cfg` can be used as an overlay to the original `/usr/share/emulationstation/es_systems.cfg` file. + +> If preferred, the entire file can be overridden by instead using +> `/userdata/system/configs/emulationstation/es_systems.cfg`. Be careful +> if doing this, as the entire notion of maintaining this file as +> Batocera upgrades its internals (namely Python) thus rely on you. This +> is really only suitable if you never intend on updating Batocera +> again. + +> Whenever Batocera is upgraded, its version of Python used may also +> change. This means if you are using an `es_systems.cfg` which +> manually defines the `` (for example: +> `/usr/lib/python2.7/site-packages/configgen/emulatorlauncher.py` +> which is calling an older Python version), it will need to be updated +> accordingly. +> +> In general, it is recommended to avoid using a custom `` +> and to just use the default one. + +## Modify an existing system with a new system-specific "es_systems_.cfg" file[](https://wiki.batocera.org/emulationstation:customize_systems#modify_an_existing_system_with_a_new_system-specific_es_systems_custom_name_cfg_file) + +You can create a file named `es_systems_.cfg` where `` is a name you wish to use for it. This file needs to follow the same conventions as the original `es_systems.cfg`, but does not need to include the entirety of the file. For example: + +[es_systems_3do.cfg](https://wiki.batocera.org/_export/code/emulationstation:customize_systems?codeblock=0 "Download Snippet") + + + + + + + 3DO Interactive Multiplayer + + 3do + + Panasonic - Sanyo - Goldstar + + 1993 + + console + + /userdata/roms/3do + + .iso .chd .cue + + python /usr/lib/python3.9/site-packages/configgen/emulatorlauncher.py %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% + + 3do + + 3do + + + + + opera + + + + + + +would only affect the 3DO system on your Batocera, with the rest of the systems still referring to `/usr/share/emulationstation/es_systems.cfg` for their system CFG. When both files contain the same ``, `es_systems_.cfg` will take priority. + +In case you'd like to have complete control over ES systems CFG, you can still use the two previous methods to completely override it (ie. using overlays or copying the entirety of `es_systems.cfg` to `/userdata/system/configs/emulationstation/es_systems.cfg` without appending a custom system name to its filename). + +Batocera is smart enough to _only_ apply the changes you make. Such as, if the only thing you need to change for a system is its ROM path, you can use the following in your `/userdata/system/configs/emulationstation/es_systems_pico8.cfg`: + +[es_systems_pico8.cfg](https://wiki.batocera.org/_export/code/emulationstation:customize_systems?codeblock=1 "Download Snippet") + + + + + pico8 + /userdata/roms/pico8real + + + +Here, it'll use the folder `/userdata/roms/pico8real/` to look for Pico-8 games instead of the regular one, and use the rest of the configuration from the `/usr/share/emulationstation/es_systems.cfg` file. + +## Create a new system[](https://wiki.batocera.org/emulationstation:customize_systems#create_a_new_system) + +The method above can also be applied to make a brand new system in place of editing an already existing one. For instance, you might want to create a new “megadrivehacks” system intended for Megadrive/Genesis ROMhacks. + +Create a `/userdata/system/configs/emulationstation/es_systems_megadrivehacks.cfg` file that contains the following: + +[es_systems_megadrivehacks.cfg](https://wiki.batocera.org/_export/code/emulationstation:customize_systems?codeblock=2 "Download Snippet") + + + + + + Megadrive hacks + + megadrive + Sega + 1988 + console + + /userdata/roms/megadrivehacks + .bin .gen .md .sg .smd .zip .7z + python /usr/lib/python3.9/site-packages/configgen/emulatorlauncher.py %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% + + megadrive + + megadrivehacks + + + + + blastem + genesisplusgx + genesisplusgx-wide + picodrive + + + + + + +The `` and `` paths in this example are kept the same such that they can still use the defaults as specified by Batocera. If you really want to use a unique ``, you'll have to manually specify your default emulator in `batocera.conf`. For instance if you were defining a new system with `cps1` then the following would be added to `batocera.conf`: + + cps1.emulator=libretro + cps1.core=fbneo + +These default emulators can also be defined in the `/usr/share/batocera/configgen/configgen-defaults.yml` and/or `/usr/share/batocera/configgen/configgen-defaults-arch.yml` system defaults file. + +> You must use a unique `` field when adding a new system if you +> wish to keep the old one in addition. However, if using duplicate +> shortnames is a necessity and you still want the new and old system to +> exist simultaneously, you can also put both systems in a single CFG +> file. + +> Despite `` being specified in the +> `es_systems_megadrivehacks.cfg` file, Batocera doesn't actually use +> this as the default when launching an emulator. It instead looks for +> its own list of defaults for its configgen. + +In case you're making a brand new system with brand new emulators/parameters, refer to [the developer documentation](https://wiki.batocera.org/coding_rules#how_to_add_an_emulator "coding_rules") instead. \ No newline at end of file diff --git a/theme-customizations/art-book-next/artwork/jailgames.png b/theme-customizations/art-book-next/artwork/jailgames.png new file mode 100644 index 0000000000000000000000000000000000000000..b7ea056e1ea0fc679836c76c3e9cd9834396342a GIT binary patch literal 91073 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 literal 0 HcmV?d00001 diff --git a/theme-customizations/art-book-next/logos/jailgames.png b/theme-customizations/art-book-next/logos/jailgames.png new file mode 100644 index 0000000000000000000000000000000000000000..33f1a45b8131f161d2d384d6a041ff5c05d6c840 GIT binary patch literal 1471 zcmeAS@N?(olHy`uVBq!ia0y~yVD1F6+d0^PX*V?!><=y4j9Wvez;=u zctNw(tdDM@&eC&dat2+rd#4ihX4&y|p_cFBSI39(vdU~dq};V^_Myp#4u%GAu8iIh z>ghJU)xWiNS4_Zo!^jKG2{2wIG9Mj_;v)E|SMjMR>l-OsuqweHr4XdGB~# zXY|=KXHVVI+$`HHAk6Z?;HX9NkC*8Yd*;iry_hO1`ssJw=jA88)+xm)_n+h9oHXNy z%URFT&}%zhtm+Y|-2K1)ch(VhcCM>;8CTS8TC+WG#m%PozNdfLY+3VOxxn_2>#`~H zZ5tMrUo`iQx^8E(?(of2&+fMeezI+`%?PyprM)x7>TzL(ZDSk9mKf)|Nek1D7WchZ z+@ls>%DTJy!PFnemdbmxq~FxHQT)Zgz{2L~;uumf=k1--dAAKj91d>!@c+Nj?pKjp z9fdU2RL{Pd8xyQABXI4<)`^zSV{8wH_Zl91CHZgHqhGQcv)-1+KUaQT^!$C9_-^^d zoA3UdVLk1A;Ww-MKj*|emA!sw?)={JZI{1(+w%Fr_g9R-IKR>E!NS0xpd`q^(9q!m z6i^ZZ3U^RVa8DTjhm_)TJFD8XtvA&r_Y^+U`5?OPZ+6k0zMZFSf4}*hu>5^l%j@R5 z7V7;QCvz|`IJhVQT_Ffcl`bkw3=9JL>mKg!`!nNSf9u0t?>;H@E-yUamR@vz-?F>? zv*%LF#V4}A0xk46eLg4s-(JIG5g+R#)0Zdzy!pBR?@do?1rRVS7!H`8wS4|ca$i=D zVc2;F`ev!OTnsbAh7%IWHQzU