mirror of
https://github.com/RetroDECK/RetroDECK.git
synced 2024-11-22 05:55:38 +00:00
feat/single feature file (#887)
* FEATURES: new branch init [skip ci] * FEATURES: structural changes [skip ci] * FEATURES: structural changes [skip ci] * FRAMEWORK: migrating easter_eggs into a reworked splash_screen function * FRAMEWORK: migrating update_rd_conf into a reworked function with features.json support * FRAMEWORK: variabilized features.json location * FEATURES: fixed an invalid value * FEATURES: added a sample jq to fetch all the resettable emulators for CLI * FEATURES: added a sample jq to fetch all the resettable emulators for CLI - fix * FEATURES: added more emulators and placeholders * FEATURES: added more systems and emulators * FEATURES: added more systems and emulators - fix * FEATURES: added more systems and emulators - fix2 * FEATURES: moved libretro cores in retroarch and added more presets * FEATURES: added the last missing presets * FEATURES: added the last missing presets - fix * FEATURES: json fmt * FEATURES: added more bioses * FEATURES: removed the bioses * FEATURES: migrated incompatible_presets * FEATURES: migrated deploy_helper_files and find_empty_rom_folders * FEATURES: migrated deploy_helper_files and find_empty_rom_folders * FEATURES: moved emulators outside system, added all the system pretty names * FEATURES: fixes due to the new structure * FEATURES: migrated pretty system names * FEATURES: migrated compression_targets * FEATURES: cleanup incompatible_presets * FEATURES: migrated zip_compressable_extensions * BIOS_FILE: creating a json (WIP) * FEATURES: fixed Japanese system names * FEATURES: fixed incompatible presets
This commit is contained in:
parent
b8996fdd1c
commit
b3e0dbe24a
850
config/retrodeck/reference_lists/bios.json
Normal file
850
config/retrodeck/reference_lists/bios.json
Normal file
|
@ -0,0 +1,850 @@
|
||||||
|
{
|
||||||
|
"bios": {
|
||||||
|
"panafz1.bin": {
|
||||||
|
"hash": "f47264dd47fe30f73ab3c010015c155b",
|
||||||
|
"system": "3do",
|
||||||
|
"description": "Panasonic FZ-1"
|
||||||
|
},
|
||||||
|
"panafz10.bin": {
|
||||||
|
"hash": "51f2f43ae2f3508a14d9f56597e2d3ce",
|
||||||
|
"system": "3do",
|
||||||
|
"description": "Panasonic FZ-10"
|
||||||
|
},
|
||||||
|
"panafz10-norsa.bin": {
|
||||||
|
"hash": "1477bda80dc33731a65468c1f5bcbee9",
|
||||||
|
"system": "3do",
|
||||||
|
"description": "Panasonic FZ-10 [RSA Patch]"
|
||||||
|
},
|
||||||
|
"panafz10e-anvil.bin": {
|
||||||
|
"hash": "a48e6746bd7edec0f40cff078f0bb19f",
|
||||||
|
"system": "3do",
|
||||||
|
"description": "Panasonic FZ-10-E [Anvil]"
|
||||||
|
},
|
||||||
|
"panafz10e-anvil-norsa.bin": {
|
||||||
|
"hash": "cf11bbb5a16d7af9875cca9de9a15e09",
|
||||||
|
"system": "3do",
|
||||||
|
"description": "Panasonic FZ-10-E [Anvil RSA Patch]"
|
||||||
|
},
|
||||||
|
"panafz1j.bin": {
|
||||||
|
"hash": "a496cfdded3da562759be3561317b605",
|
||||||
|
"system": "3do",
|
||||||
|
"description": "Panasonic FZ-1J"
|
||||||
|
},
|
||||||
|
"panafz1j-norsa.bin": {
|
||||||
|
"hash": "f6c71de7470d16abe4f71b1444883dc8",
|
||||||
|
"system": "3do",
|
||||||
|
"description": "Panasonic FZ-1J [RSA Patch]"
|
||||||
|
},
|
||||||
|
"goldstar.bin": {
|
||||||
|
"hash": "8639fd5e549bd6238cfee79e3e749114",
|
||||||
|
"system": "3do",
|
||||||
|
"description": "Goldstar GDO-101M"
|
||||||
|
},
|
||||||
|
"sanyotry.bin": {
|
||||||
|
"hash": "35fa1a1ebaaeea286dc5cd15487c13ea",
|
||||||
|
"system": "3do",
|
||||||
|
"description": "Sanyo IMP-21J TRY"
|
||||||
|
},
|
||||||
|
"3do_arcade_saot.bin": {
|
||||||
|
"hash": "8970fc987ab89a7f64da9f8a8c4333ff",
|
||||||
|
"system": "3do",
|
||||||
|
"description": "Shootout At Old Tucson"
|
||||||
|
},
|
||||||
|
"panafz1-kanji.bin": {
|
||||||
|
"hash": "b8dc97f778a6245c58e064b0312e8281",
|
||||||
|
"system": "3do",
|
||||||
|
"description": "Panasonic FZ-1 Kanji Font ROM",
|
||||||
|
"required" : "Required for some Japanese games. Optional otherwise"
|
||||||
|
},
|
||||||
|
"panafz10ja-anvil-kanji.bin": {
|
||||||
|
"hash": "428577250f43edc902ea239c50d2240d",
|
||||||
|
"system": "3do",
|
||||||
|
"description": "Panasonic FZ-10JA Kanji Font ROM",
|
||||||
|
"required" : "Required for some Japanese games. Optional otherwise"
|
||||||
|
},
|
||||||
|
"panafz1j-kanji.bin": {
|
||||||
|
"hash": "c23fb5d5e6bb1c240d02cf968972be37",
|
||||||
|
"system": "3do",
|
||||||
|
"description": "Panasonic FZ-1J Kanji Font ROM",
|
||||||
|
"required" : "Required for some Japanese games. Optional otherwise"
|
||||||
|
},
|
||||||
|
"neogeo.zip": {
|
||||||
|
"hash": "00dad01abdbf8ea9e79ad2fe11bdb182",
|
||||||
|
"system": "fbneo",
|
||||||
|
"description": "Neo Geo BIOS",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"neocdz.zip": {
|
||||||
|
"hash": "c733b4b7bd30fa849874d96c591c8639",
|
||||||
|
"system": "fbneo",
|
||||||
|
"description": "Neo Geo CDZ BIOS",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"decocass.zip": {
|
||||||
|
"hash": "b7e1189b341bf6a8e270017c096d21b0",
|
||||||
|
"system": "fbneo",
|
||||||
|
"description": "DECO Cassette System BIOS",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"isgsm.zip": {
|
||||||
|
"hash": "4a56d56e2219c5e2b006b66a4263c01c",
|
||||||
|
"system": "fbneo",
|
||||||
|
"description": "ISG Selection Master Type 2006 System BIOS",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"midssio.zip": {
|
||||||
|
"hash": "5904b0de768d1d506e766aa7e18994c1",
|
||||||
|
"system": "fbneo",
|
||||||
|
"description": "Midway SSIO Sound Board Internal ROM",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"nmk004.zip": {
|
||||||
|
"hash": "bfacf1a68792d5348f93cf724d2f1dda",
|
||||||
|
"system": "fbneo",
|
||||||
|
"description": "NMK004 Internal ROM",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"pgm.zip": {
|
||||||
|
"hash": "87cc944eef4c671aa2629a8ba48a08e0",
|
||||||
|
"system": "fbneo",
|
||||||
|
"description": "PGM System BIOS",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"skns.zip": {
|
||||||
|
"hash": "3f956c4e7008804cb47cbde49bd5b908",
|
||||||
|
"system": "fbneo",
|
||||||
|
"description": "Super Kaneko Nova System BIOS",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"ym2608.zip": {
|
||||||
|
"hash": "79ae0d2bb1901b7e606b6dc339b79a97",
|
||||||
|
"system": "fbneo",
|
||||||
|
"description": "YM2608 Internal ROM",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"cchip.zip": {
|
||||||
|
"hash": "df6f8a3d83c028a5cb9f2f2be60773f3",
|
||||||
|
"system": "fbneo",
|
||||||
|
"description": "C-Chip Internal ROM",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"bubsys.zip": {
|
||||||
|
"hash": "f81298afd68a1a24a49a1a2d9f087964",
|
||||||
|
"system": "fbneo",
|
||||||
|
"description": "Bubble System BIOS",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"namcoc69.zip": {
|
||||||
|
"system": "fbneo",
|
||||||
|
"description": "Namco C69 BIOS",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"namcoc70.zip": {
|
||||||
|
"system": "fbneo",
|
||||||
|
"description": "Namco C70 BIOS",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"namcoc75.zip": {
|
||||||
|
"system": "fbneo",
|
||||||
|
"description": "Namco C75 BIOS",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"coleco.zip": {
|
||||||
|
"system": "fbneo",
|
||||||
|
"description": "ColecoVision System BIOS",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"fdsbios.zip": {
|
||||||
|
"system": "fbneo",
|
||||||
|
"description": "FDS System BIOS",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"msx.zip": {
|
||||||
|
"system": "fbneo",
|
||||||
|
"description": "MSX1 System BIOS",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"ngp.zip": {
|
||||||
|
"system": "fbneo",
|
||||||
|
"description": "NeoGeo Pocket BIOS",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"spectrum.zip": {
|
||||||
|
"system": "fbneo",
|
||||||
|
"description": "ZX Spectrum BIOS",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"spec128.zip": {
|
||||||
|
"system": "fbneo",
|
||||||
|
"description": "ZX Spectrum 128 BIOS",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"spec1282a.zip": {
|
||||||
|
"system": "fbneo",
|
||||||
|
"description": "ZX Spectrum 128 +2a BIOS",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"channelf.zip": {
|
||||||
|
"system": "fbneo",
|
||||||
|
"description": "Fairchild Channel F BIOS",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"5200.rom": {
|
||||||
|
"hash": "281f20ea4320404ec820fb7ec0693b38",
|
||||||
|
"system": "atari5200",
|
||||||
|
"description": "Atari 5200 BIOS",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"ATARIXL.ROM": {
|
||||||
|
"hash": "06daac977823773a3eea3422fd26a703",
|
||||||
|
"system": "atari5200",
|
||||||
|
"description": "Atari XL/XE OS BIOS ",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"ATARIBAS.ROM": {
|
||||||
|
"hash": "0bac0c6a50104045d902df4503a4c30b",
|
||||||
|
"system": "atari5200",
|
||||||
|
"description": "BASIC interpreter BIOS ",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"ATARIOSA.ROM": {
|
||||||
|
"hash": "eb1f32f5d9f382db1bbfb8d7f9cb343a",
|
||||||
|
"system": "atari5200",
|
||||||
|
"description": "atari800",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"ATARIOSB.ROM": {
|
||||||
|
"hash": "a3e8d617c95d08031fe1b20d541434b2",
|
||||||
|
"system": "atari5200",
|
||||||
|
"description": "BIOS for Atari 400/800 NTSC ",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"tos.img": {
|
||||||
|
"hash": "c1c57ce48e8ee4135885cee9e63a68a2",
|
||||||
|
"system": "atarist",
|
||||||
|
"description": "TOS Boot Image",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"lynxboot.img": {
|
||||||
|
"hash": "fcd403db69f54290b51035d82f835e7b",
|
||||||
|
"system": "atarilynx",
|
||||||
|
"description": "Atari Lynx Boot Image",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"o2rom.bin": {
|
||||||
|
"hash": "562d5ebf9e030a40d6fabfc2f33139fd",
|
||||||
|
"system": ["odyssey2", "videopac"],
|
||||||
|
"description": "Odyssey2 BIOS - G7000 model",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"c52.bin": {
|
||||||
|
"hash": "f1071cdb0b6b10dde94d3bc8a6146387",
|
||||||
|
"system": ["odyssey2", "videopac"],
|
||||||
|
"description": "Videopac+ French BIOS - G7000 model",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"g7400.bin": {
|
||||||
|
"hash": "c500ff71236068e0dc0d0603d265ae76",
|
||||||
|
"system": ["odyssey2", "videopac"],
|
||||||
|
"description": "Videopac+ European BIOS - G7400 model",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"jopac.bin": {
|
||||||
|
"hash": "279008e4a0db2dc5f1c048853b033828",
|
||||||
|
"system": ["odyssey2", "videopac"],
|
||||||
|
"description": "Videopac+ French BIOS - G7400 model",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"exec.bin": {
|
||||||
|
"hash": "62e761035cb657903761800f4437b8af",
|
||||||
|
"system": "intellivision",
|
||||||
|
"description": "Executive ROM",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"grom.bin": {
|
||||||
|
"hash": "0cd5946c6473e42e8e4c2137785e427f",
|
||||||
|
"system": "intellivision",
|
||||||
|
"description": "Graphics ROM",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"MSX.ROM": {
|
||||||
|
"hash": "364a1a579fe5cb8dba54519bcfcdac0d",
|
||||||
|
"system": "msx",
|
||||||
|
"description": "MSX BIOS",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"MSX2.ROM": {
|
||||||
|
"hash": "ec3a01c91f24fbddcbcab0ad301bc9ef",
|
||||||
|
"system": "msx",
|
||||||
|
"description": "MSX2 BIOS",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"MSX2EXT.ROM": {
|
||||||
|
"hash": "2183c2aff17cf4297bdb496de78c2e8a",
|
||||||
|
"system": "msx",
|
||||||
|
"description": "MSX2 ExtROM",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"MSX2P.ROM": {
|
||||||
|
"hash": "847cc025ffae665487940ff2639540e5",
|
||||||
|
"system": "msx",
|
||||||
|
"description": "MSX2+ BIOS",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"MSX2PEXT.ROM": {
|
||||||
|
"hash": "7c8243c71d8f143b2531f01afa6a05dc",
|
||||||
|
"system": "msx",
|
||||||
|
"description": "MSX2+ ExtROM",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"DISK.ROM": {
|
||||||
|
"hash": "80dcd1ad1a4cf65d64b7ba10504e8190",
|
||||||
|
"system": "msx",
|
||||||
|
"description": "DiskROM/BDOS"
|
||||||
|
},
|
||||||
|
"FMPAC.ROM": {
|
||||||
|
"hash": "6f69cc8b5ed761b03afd78000dfb0e19",
|
||||||
|
"system": "msx",
|
||||||
|
"description": "FMPAC BIOS"
|
||||||
|
},
|
||||||
|
"MSXDOS2.ROM": {
|
||||||
|
"hash": "6418d091cd6907bbcf940324339e43bb",
|
||||||
|
"system": "msx",
|
||||||
|
"description": "MSX-DOS 2"
|
||||||
|
},
|
||||||
|
"PAINTER.ROM": {
|
||||||
|
"hash": "403cdea1cbd2bb24fae506941f8f655e",
|
||||||
|
"system": "msx",
|
||||||
|
"description": "Yamaha Painter"
|
||||||
|
},
|
||||||
|
"KANJI.ROM": {
|
||||||
|
"hash": "febe8782b466d7c3b16de6d104826b34",
|
||||||
|
"system": "msx",
|
||||||
|
"description": "Kanji Font"
|
||||||
|
},
|
||||||
|
"mcpx_1.0.bin": {
|
||||||
|
"hash": "d49c52a4102f6df7bcf8d0617ac475ed",
|
||||||
|
"system": "xbox",
|
||||||
|
"description": "Used by XEMU emulator"
|
||||||
|
},
|
||||||
|
"Complex.bin": {
|
||||||
|
"system": "xbox",
|
||||||
|
"description": "Used by XEMU emulator"
|
||||||
|
},
|
||||||
|
"Complex_4627v1.03.bin": {
|
||||||
|
"system": "xbox",
|
||||||
|
"description": "Used by XEMU emulator"
|
||||||
|
},
|
||||||
|
"Complex_4627.bin": {
|
||||||
|
"system": "xbox",
|
||||||
|
"description": "Used by XEMU emulator"
|
||||||
|
},
|
||||||
|
"syscard3.pce": {
|
||||||
|
"hash": "38179df8f4ac870017db21ebcbf53114",
|
||||||
|
"system": ["pcengine", "pcenginecd"],
|
||||||
|
"description": "Super CD-ROM2 System V3.xx",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"syscard2.pce": {
|
||||||
|
"hash": "3cdd6614a918616bfc41c862e889dd79",
|
||||||
|
"system": ["pcengine", "pcenginecd"],
|
||||||
|
"description": "CD-ROM System V2.xx"
|
||||||
|
},
|
||||||
|
"syscard1.pce": {
|
||||||
|
"hash": "2b7ccb3d86baa18f6402c176f3065082",
|
||||||
|
"system": ["pcengine", "pcenginecd"],
|
||||||
|
"description": "CD-ROM System V1.xx"
|
||||||
|
},
|
||||||
|
"gexpress.pce": {
|
||||||
|
"hash": "6d2cb14fc3e1f65ceb135633d1694122",
|
||||||
|
"system": ["pcengine", "pcenginecd"],
|
||||||
|
"description": "Game Express CD Card"
|
||||||
|
},
|
||||||
|
"font.bmp": {
|
||||||
|
"hash": "7da1e5b7c482d4108d22a5b09631d967",
|
||||||
|
"system": "pc98",
|
||||||
|
"description": "Needed to display text",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"FONT.ROM": {
|
||||||
|
"hash": "2af6179d7de4893ea0b705c00e9a98d6",
|
||||||
|
"system": "pc98",
|
||||||
|
"description": "Alternative font file",
|
||||||
|
"required": "Required if normal font file is missing"
|
||||||
|
},
|
||||||
|
"bios.rom": {
|
||||||
|
"hash": "e246140dec5124c5e404869a84caefce",
|
||||||
|
"system": "pc98",
|
||||||
|
"description": "BIOS file",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"itf.rom": {
|
||||||
|
"hash": "e9fc3890963b12cf15d0a2eea5815b72",
|
||||||
|
"system": "pc98",
|
||||||
|
"description": "BIOS file",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"sound.rom": {
|
||||||
|
"hash": "caf90f22197aed6f14c471c21e64658d",
|
||||||
|
"system": "pc98",
|
||||||
|
"description": "BIOS file",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"bios9821.rom": {
|
||||||
|
"system": "pc98",
|
||||||
|
"description": "Optional BIOS file"
|
||||||
|
},
|
||||||
|
"d8000.rom": {
|
||||||
|
"system": "pc98",
|
||||||
|
"description": "Optional BIOS file"
|
||||||
|
},
|
||||||
|
"2608_BD.WAV": {
|
||||||
|
"hash": "d94546e70f17fd899be8df3544ab6cbb",
|
||||||
|
"system": "pc98",
|
||||||
|
"description": "YM2608 RYTHM sample"
|
||||||
|
},
|
||||||
|
"2608_SD.WAV": {
|
||||||
|
"hash": "d71004351c8bbfdad53b18222c061d49",
|
||||||
|
"system": "pc98",
|
||||||
|
"description": "YM2608 RYTHM sample"
|
||||||
|
},
|
||||||
|
"2608_TOP.WAV": {
|
||||||
|
"hash": "593cff6597ab9380d822b8f824fd2c28",
|
||||||
|
"system": "pc98",
|
||||||
|
"description": "YM2608 RYTHM sample"
|
||||||
|
},
|
||||||
|
"2608_HH.WAV": {
|
||||||
|
"hash": "08c54a0c1f774a5538a848a6665a34b4",
|
||||||
|
"system": "pc98",
|
||||||
|
"description": "YM2608 RYTHM sample"
|
||||||
|
},
|
||||||
|
"2608_TOM.WAV": {
|
||||||
|
"hash": "96a4ead13f364734f79b0c58af2f0e1f",
|
||||||
|
"system": "pc98",
|
||||||
|
"description": "YM2608 RYTHM sample"
|
||||||
|
},
|
||||||
|
"2608_RIM.WAV": {
|
||||||
|
"hash": "465ea0768b27da404aec45dfc501404b",
|
||||||
|
"system": "pc98",
|
||||||
|
"description": "YM2608 RYTHM sample"
|
||||||
|
},
|
||||||
|
"n88.rom": {
|
||||||
|
"hash": "4f984e04a99d56c4cfe36115415d6eb8",
|
||||||
|
"system": "NEC PC-8000 / PC-8800 series (QUASI88)",
|
||||||
|
"description": "BIOS File",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"n88n.rom": {
|
||||||
|
"hash": "2ff07b8769367321128e03924af668a0",
|
||||||
|
"system": "NEC PC-8000 / PC-8800 series (QUASI88)",
|
||||||
|
"description": "Required for PC-8000 series emulation. (N BASIC mode)"
|
||||||
|
},
|
||||||
|
"disk.rom": {
|
||||||
|
"hash": "793f86784e5608352a5d7f03f03e0858",
|
||||||
|
"system": "NEC PC-8000 / PC-8800 series (QUASI88)",
|
||||||
|
"description": "Required for loading disk images"
|
||||||
|
},
|
||||||
|
"n88knj1.rom": {
|
||||||
|
"hash": "d81c6d5d7ad1a4bbbd6ae22a01257603",
|
||||||
|
"system": "NEC PC-8000 / PC-8800 series (QUASI88)",
|
||||||
|
"description": "Required for viewing kanji"
|
||||||
|
},
|
||||||
|
"n88_0.rom": {
|
||||||
|
"hash": "d675a2ca186c6efcd6277b835de4c7e5",
|
||||||
|
"system": "NEC PC-8000 / PC-8800 series (QUASI88)",
|
||||||
|
"description": "Required for viewing kanji"
|
||||||
|
},
|
||||||
|
"n88_1.rom": {
|
||||||
|
"hash": "e844534dfe5744b381444dbe61ef1b66",
|
||||||
|
"system": "NEC PC-8000 / PC-8800 series (QUASI88)",
|
||||||
|
"description": "Optional BIOS file"
|
||||||
|
},
|
||||||
|
"n88_2.rom": {
|
||||||
|
"hash": "6548fa45061274dee1ea8ae1e9e93910",
|
||||||
|
"system": "NEC PC-8000 / PC-8800 series (QUASI88)",
|
||||||
|
"description": "Optional BIOS file"
|
||||||
|
},
|
||||||
|
"n88_3.rom": {
|
||||||
|
"hash": "fc4b76a402ba501e6ba6de4b3e8b4273",
|
||||||
|
"system": "NEC PC-8000 / PC-8800 series (QUASI88)",
|
||||||
|
"description": "Optional BIOS file"
|
||||||
|
},
|
||||||
|
"neocd_f.rom": {
|
||||||
|
"hash": "8834880c33164ccbe6476b559f3e37de",
|
||||||
|
"system": "Neo Geo CD",
|
||||||
|
"description": "Front Loader BIOS",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"neocd_sf.rom": {
|
||||||
|
"hash": "043d76d5f0ef836500700c34faef774d",
|
||||||
|
"system": "Neo Geo CD",
|
||||||
|
"description": "Front Loader BIOS (SMKDAN 0.7b DEC 2010)",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"neocd_t.rom": {
|
||||||
|
"hash": "de3cf45d227ad44645b22aa83b49f450",
|
||||||
|
"system": "Neo Geo CD",
|
||||||
|
"description": "Top Loader BIOS",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"neocd_st.rom": {
|
||||||
|
"hash": "f6325a33c6d63ea4b9162a3fa8c32727",
|
||||||
|
"system": "Neo Geo CD",
|
||||||
|
"description": "Top Loader BIOS (SMKDAN 0.7b DEC 2010)",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"neocd_z.rom": {
|
||||||
|
"hash": "11526d58d4c524daef7d5d677dc6b004",
|
||||||
|
"system": "Neo Geo CD",
|
||||||
|
"description": "CDZ BIOS",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"neocd_sz.rom": {
|
||||||
|
"hash": "971ee8a36fb72da57aed01758f0a37f5",
|
||||||
|
"system": "Neo Geo CD",
|
||||||
|
"description": "CDZ BIOS (SMKDAN 0.7b DEC 2010)",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"front-sp1.bin": {
|
||||||
|
"hash": "5c2366f25ff92d71788468ca492ebeca",
|
||||||
|
"system": "Neo Geo CD",
|
||||||
|
"description": "Front Loader BIOS (MAME)",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"top-sp1.bin": {
|
||||||
|
"hash": "122aee210324c72e8a11116e6ef9c0d0",
|
||||||
|
"system": "Neo Geo CD",
|
||||||
|
"description": "Top Loader BIOS (MAME)",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"neocd.bin": {
|
||||||
|
"hash": "f39572af7584cb5b3f70ae8cc848aba2",
|
||||||
|
"system": "Neo Geo CD",
|
||||||
|
"description": "CDZ BIOS (MAME)",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"uni-bioscd.rom": {
|
||||||
|
"hash": "08ca8b2dba6662e8024f9e789711c6fc",
|
||||||
|
"system": "Neo Geo CD",
|
||||||
|
"description": "Universe BIOS CD 3.3"
|
||||||
|
},
|
||||||
|
"gb_bios.bin": {
|
||||||
|
"hash": "32fbbd84168d3482956eb3c5051637f5",
|
||||||
|
"system": "Game Boy",
|
||||||
|
"description": "Optional BIOS file (used to display the Nintendo logo at boot)"
|
||||||
|
},
|
||||||
|
"gbc_bios.bin": {
|
||||||
|
"hash": "dbfce9db9deaa2567f6a84fde55f9680",
|
||||||
|
"system": "Game Boy Color",
|
||||||
|
"description": "Optional BIOS file (used to display the Nintendo logo at boot)"
|
||||||
|
},
|
||||||
|
"gba_bios.bin": {
|
||||||
|
"hash": "a860e8c0b6d573d191e4ec7db1b1e4f6",
|
||||||
|
"system": "Game Boy Advance",
|
||||||
|
"description": "Optional BIOS file (used to display the Nintendo logo at boot)"
|
||||||
|
},
|
||||||
|
"aes_keys.txt": {
|
||||||
|
"system": "Nintendo 3DS",
|
||||||
|
"description": "Decryption keys used by Citra emulator"
|
||||||
|
},
|
||||||
|
"bios7.bin": {
|
||||||
|
"hash": "df692a80a5b1bc90728bc3dfc76cd948",
|
||||||
|
"system": "Nintendo DS",
|
||||||
|
"description": "Used by MelonDS emulator (Required, see Wiki)"
|
||||||
|
},
|
||||||
|
"bios9.bin": {
|
||||||
|
"hash": "a392174eb3e572fed6447e956bde4b25",
|
||||||
|
"system": "Nintendo DS",
|
||||||
|
"description": "Used by MelonDS emulator (Required, see Wiki)"
|
||||||
|
},
|
||||||
|
"firmware.bin": {
|
||||||
|
"hash": "e45033d9b0fa6b0de071292bba7c9d13",
|
||||||
|
"system": "Nintendo DS",
|
||||||
|
"description": "Used by MelonDS emulator (Required, see Wiki)"
|
||||||
|
},
|
||||||
|
"disksys.rom": {
|
||||||
|
"hash": "ca30b50f880eb660a320674ed365ef7a",
|
||||||
|
"system": "Nintendo NES / Famicom",
|
||||||
|
"description": "Family Computer Disk System BIOS - Required for Family Computer Disk System emulation"
|
||||||
|
},
|
||||||
|
"bios.min": {
|
||||||
|
"hash": "1e4fb124a3a886865acb574f388c803d",
|
||||||
|
"system": "Nintendo Pokemon Mini",
|
||||||
|
"description": "Pokémon Mini BIOS - Optional"
|
||||||
|
},
|
||||||
|
"prod.keys": {
|
||||||
|
"system": "Nintendo Switch",
|
||||||
|
"description": "A file for Switch emulation in Ryujinx",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"title.keys": {
|
||||||
|
"system": "Nintendo Switch",
|
||||||
|
"description": "A file for Switch emulation in Ryujinx",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"pico8": {
|
||||||
|
"system": "PICO-8",
|
||||||
|
"description": "The PICO-8 executable",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"pico8.dat": {
|
||||||
|
"system": "PICO-8",
|
||||||
|
"description": "A PICO-8 system file",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"pico8_dyn": {
|
||||||
|
"system": "PICO-8",
|
||||||
|
"description": "A PICO-8 system file",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"bios_CD_E.bin": {
|
||||||
|
"hash": "e66fa1dc5820d254611fdcdba0662372",
|
||||||
|
"system": "Sega CD",
|
||||||
|
"description": "MegaCD EU BIOS",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"bios_CD_U.bin": {
|
||||||
|
"hash": "2efd74e3232ff260e371b99f84024f7f",
|
||||||
|
"system": "Sega CD",
|
||||||
|
"description": "SegaCD US BIOS",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"bios_CD_J.bin": {
|
||||||
|
"hash": "278a9397d192149e84e820ac621a8edd",
|
||||||
|
"system": "Sega CD",
|
||||||
|
"description": "MegaCD JP BIOS",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"dc_boot.bin": {
|
||||||
|
"hash": "e10c53c2f8b90bab96ead2d368858623",
|
||||||
|
"system": "Sega Dreamcast",
|
||||||
|
"description": "Dreamcast BIOS",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"naomi.zip": {
|
||||||
|
"hash": "0ea6d3650ce4a7608a589e5df21a1f2f",
|
||||||
|
"system": "Sega Dreamcast",
|
||||||
|
"description": "Naomi BIOS"
|
||||||
|
},
|
||||||
|
"naomi2.zip": {
|
||||||
|
"hash": "9b85e0de6ef359e5006c9b79a5a266b0",
|
||||||
|
"system": "Sega Dreamcast",
|
||||||
|
"description": "Naomi BIOS"
|
||||||
|
},
|
||||||
|
"naomi_boot.bin": {
|
||||||
|
"hash": "96cb91c4a0bedd86e5a6965cfe6c0148",
|
||||||
|
"system": "Sega Dreamcast",
|
||||||
|
"description": "Naomi BIOS"
|
||||||
|
},
|
||||||
|
"hod2bios.zip": {
|
||||||
|
"hash": "629bb0552463ba116ccf23d9a468a9f0",
|
||||||
|
"system": "Sega Dreamcast",
|
||||||
|
"description": "Naomi The House of the Dead 2 BIOS"
|
||||||
|
},
|
||||||
|
"f355dlx.zip": {
|
||||||
|
"hash": "4b5bb177cbd760477598f85531dbe7fd",
|
||||||
|
"system": "Sega Dreamcast",
|
||||||
|
"description": "Naomi Ferrari F355 Challenge Deluxe BIOS"
|
||||||
|
},
|
||||||
|
"f355bios.zip": {
|
||||||
|
"hash": "882f2c1cf8ec030955c48fe6aa6929ea",
|
||||||
|
"system": "Sega Dreamcast",
|
||||||
|
"description": "Naomi Ferrari F355 Challenge Twin/Deluxe BIOS"
|
||||||
|
},
|
||||||
|
"airlbios.zip": {
|
||||||
|
"hash": "09ef4b8dea6cd8db2de1c13d510a6a87",
|
||||||
|
"system": "Sega Dreamcast",
|
||||||
|
"description": "Naomi Airline Pilots Deluxe BIOS"
|
||||||
|
},
|
||||||
|
"awbios.zip": {
|
||||||
|
"hash": "b2f122e091da223beb824efafc3d6a36",
|
||||||
|
"system": "Sega Dreamcast",
|
||||||
|
"description": "Naomi Atomiswave BIOS"
|
||||||
|
},
|
||||||
|
"bios.sms": {
|
||||||
|
"hash": "840481177270d5642a14ca71ee72844c",
|
||||||
|
"system": "Sega Master System / GameGear",
|
||||||
|
"description": "Master System BIOS"
|
||||||
|
},
|
||||||
|
"BIOS.col": {
|
||||||
|
"hash": "2c66f5911e5b42b8ebe113403548eee7",
|
||||||
|
"system": "Sega Master System / GameGear",
|
||||||
|
"description": "Colecovision BIOS"
|
||||||
|
},
|
||||||
|
"sega_101.bin": {
|
||||||
|
"hash": "85ec9ca47d8f6807718151cbcca8b964",
|
||||||
|
"system": "Sega Saturn",
|
||||||
|
"description": "Saturn JP BIOS",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"mpr-17933.bin": {
|
||||||
|
"hash": "3240872c70984b6cbfda1586cab68dbe",
|
||||||
|
"system": "Sega Saturn",
|
||||||
|
"description": "Saturn US.mdEU BIOS",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"mpr-18811-mx.ic1": {
|
||||||
|
"hash": "255113ba943c92a54facd25a10fd780c",
|
||||||
|
"system": "Sega Saturn",
|
||||||
|
"description": "The King of Fighters 95 ROM Cartridge (Required for this game)"
|
||||||
|
},
|
||||||
|
"mpr-19367-mx.ic1": {
|
||||||
|
"hash": "1cd19988d1d72a3e7caa0b73234c96b4",
|
||||||
|
"system": "Sega Saturn",
|
||||||
|
"description": "Ultraman: Hikari no Kyojin Densetsu ROM Cartridge (Required for this game)"
|
||||||
|
},
|
||||||
|
"iplrom.dat": {
|
||||||
|
"hash": "7fd4caabac1d9169e289f0f7bbf71d8e",
|
||||||
|
"system": "Sharp X68000",
|
||||||
|
"description": "X68000 BIOS",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"cgrom.dat": {
|
||||||
|
"hash": "cb0a5cfcf7247a7eab74bb2716260269",
|
||||||
|
"system": "Sharp X68000",
|
||||||
|
"description": "Font file",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"iplrom30.dat": {
|
||||||
|
"hash": "f373003710ab4322642f527f567e020a",
|
||||||
|
"system": "Sharp X68000",
|
||||||
|
"description": "X68000 BIOS 2"
|
||||||
|
},
|
||||||
|
"iplromco.dat": {
|
||||||
|
"hash": "cc78d4f4900f622bd6de1aed7f52592f",
|
||||||
|
"system": "Sharp X68000",
|
||||||
|
"description": "X68000 BIOS 3"
|
||||||
|
},
|
||||||
|
"iplromxv.dat": {
|
||||||
|
"hash": "0617321daa182c3f3d6f41fd02fb3275",
|
||||||
|
"system": "Sharp X68000",
|
||||||
|
"description": "X68000 BIOS 4"
|
||||||
|
},
|
||||||
|
"psxonpsp660.bin": {
|
||||||
|
"hash": "c53ca5908936d412331790f4426c6c33",
|
||||||
|
"system": "Sony PSX",
|
||||||
|
"description": "PS1 BIOS from PSP",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"scph5500.bin": {
|
||||||
|
"hash": "8dd7d5296a650fac7319bce665a6a53c",
|
||||||
|
"system": "Sony PSX",
|
||||||
|
"description": "PS1 JP BIOS",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"scph5501.bin": {
|
||||||
|
"hash": "490f666e1afb15b7362b406ed1cea246",
|
||||||
|
"system": "Sony PSX",
|
||||||
|
"description": "PS1 US BIOS",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"scph5502.bin": {
|
||||||
|
"hash": "32736f17079d0b2b7024407c39bd3050",
|
||||||
|
"system": "Sony PSX",
|
||||||
|
"description": "PS1 EU BIOS",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"scph7001.bin": {
|
||||||
|
"hash": "1e68c231d0896b7eadcad1d7d8e76129",
|
||||||
|
"system": "Sony PSX",
|
||||||
|
"description": "PS1 BIOS",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"scph7002.bin": {
|
||||||
|
"hash": "b9d9a0286c33dc6b7237bb13cd46fdee",
|
||||||
|
"system": "Sony PSX",
|
||||||
|
"description": "PS1 BIOS",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"scph7003.bin": {
|
||||||
|
"hash": "490f666e1afb15b7362b406ed1cea246",
|
||||||
|
"system": "Sony PSX",
|
||||||
|
"description": "PS1 BIOS",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"scph7502.bin": {
|
||||||
|
"hash": "b9d9a0286c33dc6b7237bb13cd46fdee",
|
||||||
|
"system": "Sony PSX",
|
||||||
|
"description": "PS1 BIOS",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"scph9002(7502).bin": {
|
||||||
|
"hash": "b9d9a0286c33dc6b7237bb13cd46fdee",
|
||||||
|
"system": "Sony PSX",
|
||||||
|
"description": "PS1 BIOS",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"ps1_rom.bin": {
|
||||||
|
"hash": "81bbe60ba7a3d1cea1d48c14cbcc647b",
|
||||||
|
"system": "Sony PSX",
|
||||||
|
"description": "PS1 BIOS",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"ps2-0200a-20040614.bin": {
|
||||||
|
"hash": "d333558cc14561c1fdc334c75d5f37b7",
|
||||||
|
"system": "Sony PS2",
|
||||||
|
"description": "PS2 US BIOS",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"ps2-0200e-20040614.bin": {
|
||||||
|
"hash": "dc752f160044f2ed5fc1f4964db2a095",
|
||||||
|
"system": "Sony PS2",
|
||||||
|
"description": "PS2 EU BIOS",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"ps2-0200j-20040614.bin": {
|
||||||
|
"hash": "0eee5d1c779aa50e94edd168b4ebf42e",
|
||||||
|
"system": "Sony PS2",
|
||||||
|
"description": "PS2 JP BIOS",
|
||||||
|
"required": "at least one"
|
||||||
|
},
|
||||||
|
"128p-0.rom": {
|
||||||
|
"hash": "a249565f03b98d004ee7f019570069cd",
|
||||||
|
"system": "ZX Spectrum",
|
||||||
|
"description": "Pentagon 128K/512K/1024 ROM",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"128p-1.rom": {
|
||||||
|
"hash": "6e09e5d3c4aef166601669feaaadc01c",
|
||||||
|
"system": "ZX Spectrum",
|
||||||
|
"description": "Pentagon 128K/512K/1024 ROM",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"trdos.rom": {
|
||||||
|
"hash": "0da70a5d2a0e733398e005b96b7e4ba6",
|
||||||
|
"system": "ZX Spectrum",
|
||||||
|
"description": "Pentagon 128K/512K/1024 ROM",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"gluck.rom": {
|
||||||
|
"hash": "d5869034604dbfd2c1d54170e874fd0a",
|
||||||
|
"system": "ZX Spectrum",
|
||||||
|
"description": "Pentagon 512K/1024 ROM",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"256s-0.rom": {
|
||||||
|
"hash": "b9fda5b6a747ff037365b0e2d8c4379a",
|
||||||
|
"system": "ZX Spectrum",
|
||||||
|
"description": "Scorpion 256K ROM",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"256s-1.rom": {
|
||||||
|
"hash": "643861ad34831b255bf2eb64e8b6ecb8",
|
||||||
|
"system": "ZX Spectrum",
|
||||||
|
"description": "Scorpion 256K ROM",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"256s-2.rom": {
|
||||||
|
"hash": "d8ad507b1c915a9acfe0d73957082926",
|
||||||
|
"system": "ZX Spectrum",
|
||||||
|
"description": "Scorpion 256K ROM",
|
||||||
|
"required" : "required"
|
||||||
|
},
|
||||||
|
"256s-3.rom": {
|
||||||
|
"hash": "ce0723f9bc02f4948c15d3b3230ae831",
|
||||||
|
"system": "ZX Spectrum",
|
||||||
|
"description": "Scorpion 256K ROM",
|
||||||
|
"required" : "required"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,43 +0,0 @@
|
||||||
[chd]
|
|
||||||
3do
|
|
||||||
amigacd32
|
|
||||||
dreamcast
|
|
||||||
megacd
|
|
||||||
neogeocd
|
|
||||||
pcenginecd
|
|
||||||
pcfx
|
|
||||||
psp
|
|
||||||
psx
|
|
||||||
ps2
|
|
||||||
saturn
|
|
||||||
saturnjp
|
|
||||||
segacd
|
|
||||||
tg-cd
|
|
||||||
[rvz]
|
|
||||||
gc
|
|
||||||
wii
|
|
||||||
[zip]
|
|
||||||
atari2600
|
|
||||||
atari5200
|
|
||||||
atari7800
|
|
||||||
atari800
|
|
||||||
atarijaguar
|
|
||||||
atarilynx
|
|
||||||
atarist
|
|
||||||
gamegear
|
|
||||||
gb
|
|
||||||
gba
|
|
||||||
gbc
|
|
||||||
genesis
|
|
||||||
mastersystem
|
|
||||||
n64
|
|
||||||
nds
|
|
||||||
nes
|
|
||||||
ngp
|
|
||||||
ngpc
|
|
||||||
sega32x
|
|
||||||
sega32xjp
|
|
||||||
sega32xna
|
|
||||||
snes
|
|
||||||
snesna
|
|
||||||
tg16
|
|
|
@ -1,6 +0,0 @@
|
||||||
1201^1231^0000^2359^rd-xmas-splash.svg
|
|
||||||
0209^0212^0000^2359^rd-lunar-dragon-splash.svg
|
|
||||||
0214^0214^0001^2359^rd-valentines-splash.svg
|
|
||||||
0304^0304^0000^2359^rd-gm-bday-splash.svg
|
|
||||||
0317^0317^0000^2359^rd-stpatricks-splash.svg
|
|
||||||
0429^0505^0000^2359^rd-kodomo-golden.svg
|
|
|
@ -147,6 +147,119 @@
|
||||||
"location": "$bios_folder/switch/firmware"
|
"location": "$bios_folder/switch/firmware"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"compression_targets": {
|
||||||
|
"chd": [
|
||||||
|
"3do",
|
||||||
|
"amigacd32",
|
||||||
|
"dreamcast",
|
||||||
|
"megacd",
|
||||||
|
"neogeocd",
|
||||||
|
"pcenginecd",
|
||||||
|
"pcfx",
|
||||||
|
"psp",
|
||||||
|
"psx",
|
||||||
|
"ps2",
|
||||||
|
"saturn",
|
||||||
|
"saturnjp",
|
||||||
|
"segacd",
|
||||||
|
"tg-cd"
|
||||||
|
],
|
||||||
|
"rvz": [
|
||||||
|
"gc",
|
||||||
|
"wii"
|
||||||
|
],
|
||||||
|
"zip": [
|
||||||
|
"atari2600",
|
||||||
|
"atari5200",
|
||||||
|
"atari7800",
|
||||||
|
"atari800",
|
||||||
|
"atarijaguar",
|
||||||
|
"atarilynx",
|
||||||
|
"atarist",
|
||||||
|
"gamegear",
|
||||||
|
"gb",
|
||||||
|
"gba",
|
||||||
|
"gbc",
|
||||||
|
"genesis",
|
||||||
|
"mastersystem",
|
||||||
|
"n64",
|
||||||
|
"nds",
|
||||||
|
"nes",
|
||||||
|
"ngp",
|
||||||
|
"ngpc",
|
||||||
|
"sega32x",
|
||||||
|
"sega32xjp",
|
||||||
|
"sega32xna",
|
||||||
|
"snes",
|
||||||
|
"snesna",
|
||||||
|
"tg16"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"zip_compressable_extensions": [
|
||||||
|
".32x",
|
||||||
|
".68k",
|
||||||
|
".NDS",
|
||||||
|
".a26",
|
||||||
|
".a52",
|
||||||
|
".a78",
|
||||||
|
".abs",
|
||||||
|
".agb",
|
||||||
|
".atr",
|
||||||
|
".atx",
|
||||||
|
".bin",
|
||||||
|
".bml",
|
||||||
|
".bms",
|
||||||
|
".bs",
|
||||||
|
".bsx",
|
||||||
|
".cas",
|
||||||
|
".cdm",
|
||||||
|
".cgb",
|
||||||
|
".cof",
|
||||||
|
".col",
|
||||||
|
".dim",
|
||||||
|
".dmg",
|
||||||
|
".dx2",
|
||||||
|
".fds",
|
||||||
|
".fig",
|
||||||
|
".gb",
|
||||||
|
".gba",
|
||||||
|
".gbc",
|
||||||
|
".gd3",
|
||||||
|
".gd7",
|
||||||
|
".gen",
|
||||||
|
".gg",
|
||||||
|
".ipf",
|
||||||
|
".j64",
|
||||||
|
".jag",
|
||||||
|
".lnx",
|
||||||
|
".md",
|
||||||
|
".mdx",
|
||||||
|
".mgd",
|
||||||
|
".msa",
|
||||||
|
".nds",
|
||||||
|
".nes",
|
||||||
|
".ngc",
|
||||||
|
".o",
|
||||||
|
".pce",
|
||||||
|
".prg",
|
||||||
|
".rom",
|
||||||
|
".sfc",
|
||||||
|
".sg",
|
||||||
|
".sgb",
|
||||||
|
".sgd",
|
||||||
|
".smc",
|
||||||
|
".smd",
|
||||||
|
".sms",
|
||||||
|
".st",
|
||||||
|
".st",
|
||||||
|
".stx",
|
||||||
|
".swc",
|
||||||
|
".unf",
|
||||||
|
".unif",
|
||||||
|
".xex",
|
||||||
|
".xfd",
|
||||||
|
".z64"
|
||||||
|
],
|
||||||
"system": {
|
"system": {
|
||||||
"3do": {
|
"3do": {
|
||||||
"name": "3DO Interactive Multiplayer"
|
"name": "3DO Interactive Multiplayer"
|
||||||
|
@ -271,6 +384,9 @@
|
||||||
"dreamcast": {
|
"dreamcast": {
|
||||||
"name": "Sega Dreamcast"
|
"name": "Sega Dreamcast"
|
||||||
},
|
},
|
||||||
|
"dc": {
|
||||||
|
"name": "Sega Dreamcast"
|
||||||
|
},
|
||||||
"easyrpg": {
|
"easyrpg": {
|
||||||
"name": "EasyRPG Game Engine"
|
"name": "EasyRPG Game Engine"
|
||||||
},
|
},
|
||||||
|
@ -310,6 +426,9 @@
|
||||||
"gamegear": {
|
"gamegear": {
|
||||||
"name": "Sega Game Gear"
|
"name": "Sega Game Gear"
|
||||||
},
|
},
|
||||||
|
"gg": {
|
||||||
|
"name": "Sega Game Gear"
|
||||||
|
},
|
||||||
"gb": {
|
"gb": {
|
||||||
"name": "Nintendo Game Boy"
|
"name": "Nintendo Game Boy"
|
||||||
},
|
},
|
||||||
|
@ -365,7 +484,7 @@
|
||||||
"name": "Sega Mega-CD"
|
"name": "Sega Mega-CD"
|
||||||
},
|
},
|
||||||
"megacdjp": {
|
"megacdjp": {
|
||||||
"name": "Sega Mega-CD"
|
"name": "Sega Mega-CD (Japan)"
|
||||||
},
|
},
|
||||||
"megadrive": {
|
"megadrive": {
|
||||||
"name": "Sega Mega Drive"
|
"name": "Sega Mega Drive"
|
||||||
|
@ -428,7 +547,7 @@
|
||||||
"name": "SNK Neo Geo CD"
|
"name": "SNK Neo Geo CD"
|
||||||
},
|
},
|
||||||
"neogeocdjp": {
|
"neogeocdjp": {
|
||||||
"name": "SNK Neo Geo CD"
|
"name": "SNK Neo Geo CD (Japan)"
|
||||||
},
|
},
|
||||||
"nes": {
|
"nes": {
|
||||||
"name": "Nintendo Entertainment System"
|
"name": "Nintendo Entertainment System"
|
||||||
|
@ -509,7 +628,7 @@
|
||||||
"name": "Sega Saturn"
|
"name": "Sega Saturn"
|
||||||
},
|
},
|
||||||
"saturnjp": {
|
"saturnjp": {
|
||||||
"name": "Sega Saturn"
|
"name": "Sega Saturn (Japan)"
|
||||||
},
|
},
|
||||||
"scummvm": {
|
"scummvm": {
|
||||||
"name": "ScummVM Game Engine"
|
"name": "ScummVM Game Engine"
|
||||||
|
@ -521,7 +640,7 @@
|
||||||
"name": "Sega Mega Drive 32X"
|
"name": "Sega Mega Drive 32X"
|
||||||
},
|
},
|
||||||
"sega32xjp": {
|
"sega32xjp": {
|
||||||
"name": "Sega Super 32X"
|
"name": "Sega Super 32X (Japan)"
|
||||||
},
|
},
|
||||||
"sega32xna": {
|
"sega32xna": {
|
||||||
"name": "Sega Genesis 32X"
|
"name": "Sega Genesis 32X"
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
true^RetroDECK Steam Controller Profiles Install^Install RetroDECK Steam Input profiles to Steam - Recommended^rd_controller_profile
|
|
||||||
false^RPCS3 Firmware Install^Install firmware needed for PS3 emulation^rpcs3_firmware
|
|
||||||
false^Vita3K Firmware Install^Install firmware needed for Vita3K emulation^vita3k_firmware
|
|
|
@ -1,20 +0,0 @@
|
||||||
# The proper format of this file is
|
|
||||||
# FILE NAME^DESTINATION
|
|
||||||
# The destination can be an internal variable name like $roms_folder if needed
|
|
||||||
# The FILE name can have spaces in it, but the DESTINATION cannot, even in variable form
|
|
||||||
|
|
||||||
# mods
|
|
||||||
how-to-install-dolphin-mods.txt^$mods_folder/Dolphin
|
|
||||||
how-to-install-primehack-mods.txt^$mods_folder/Primehack
|
|
||||||
|
|
||||||
# textures
|
|
||||||
how-to-install-Mesen-textures.txt^$texture_packs_folder/RetroArch-Mesen
|
|
||||||
how-to-install-PPSSPP-textures.txt^$texture_packs_folder/PPSSPP
|
|
||||||
how-to-install-PCSX2-textures.txt^$texture_packs_folder/PCSX2
|
|
||||||
how-to-install-Mupen64Plus-textures.txt^$texture_packs_folder/RetroArch-Mupen64Plus/cache
|
|
||||||
how-to-install-Mupen64Plus-textures.txt^$texture_packs_folder/RetroArch-Mupen64Plus/hires_texture
|
|
||||||
how-to-install-Duckstation-textures.txt^$texture_packs_folder/Duckstation
|
|
||||||
|
|
||||||
# emulators
|
|
||||||
how-to-install-psvita-games.txt^$roms_folder/psvita
|
|
||||||
Install-firmware-through-Ryujinx.txt^$bios_folder/switch/firmware
|
|
|
@ -1,2 +0,0 @@
|
||||||
borders:widescreen
|
|
||||||
widescreen:borders
|
|
|
@ -1,23 +0,0 @@
|
||||||
cemu^Cemu (Nintendo Wii U Standalone Emulator)
|
|
||||||
citra^Citra (Nintendo 3DS Standalone Emulator, via Ponzu)
|
|
||||||
dolphin^Dolphin (Nintendo GameCube / Wii Standalone Emulator)
|
|
||||||
duckstation^Duckstation (Sony Playstation Standalone Emulator)
|
|
||||||
gb^Nintendo GameBoy
|
|
||||||
gba^Nintendo GameBoy Advance
|
|
||||||
gbc^Nintendo GameBoy Color
|
|
||||||
genesis^Sega Genesis/Master System
|
|
||||||
gg^Sega GameGear
|
|
||||||
mame^MAME (Multi-Arcade Machine Standalone Emulator)
|
|
||||||
melonds^MelonDS (Nintendo DS Standalone Emulator)
|
|
||||||
n64^Nintendo 64
|
|
||||||
pcsx2^PCSX2 (Sony Playstation 2 Standalone Emulator)
|
|
||||||
ppsspp^PPSSPP (Sony PSP Standalone Emulator)
|
|
||||||
primehack^Primehack (Metroid Prime Standalone Emulator)
|
|
||||||
psx_ra^Sony Playstation (RetroArch Core)
|
|
||||||
retroarch^RetroArch (Multi-emulator Frontend)
|
|
||||||
rpcs3^RPCS3 (Sony Playstation 3 Standalone Emulator)
|
|
||||||
ryujinx^Ryujinx (Nintendo Switch Standalone Emulator)
|
|
||||||
snes^Nintendo Super Nintendo
|
|
||||||
vita3k^Vita3K (Sony PSVita Standalone Emulator)
|
|
||||||
xemu^XEMU (Microsoft Xbox Standalone Emulator)
|
|
||||||
yuzu^Yuzu (Nintendo Switch Standalone Emulator, via Ponzu)
|
|
|
@ -1,15 +0,0 @@
|
||||||
cemu^/app/bin/Cemu-wrapper
|
|
||||||
citra^/var/data/ponzu/Citra/bin/citra-qt
|
|
||||||
dolphin^/app/bin/dolphin-emu
|
|
||||||
duckstation^/app/bin/duckstation-qt
|
|
||||||
mame^/app/bin/mame
|
|
||||||
melonds^/app/bin/melonds
|
|
||||||
pcsx2^/app/bin/pcsx2-qt
|
|
||||||
ppsspp^/app/bin/PPSSPPSDL
|
|
||||||
primehack^/app/bin/primehack-wrapper
|
|
||||||
retroarch^/app/bin/retroarch
|
|
||||||
rpcs3^/app/bin/rpcs3
|
|
||||||
ryujinx^/app/bin/Ryujinx.sh
|
|
||||||
vita3k^/app/bin/Vita3K
|
|
||||||
xemu^/app/bin/xemu
|
|
||||||
yuzu^/var/data/ponzu/Yuzu/bin/yuzu
|
|
|
@ -1,63 +0,0 @@
|
||||||
.32x
|
|
||||||
.68k
|
|
||||||
.NDS
|
|
||||||
.a26
|
|
||||||
.a52
|
|
||||||
.a78
|
|
||||||
.abs
|
|
||||||
.agb
|
|
||||||
.atr
|
|
||||||
.atx
|
|
||||||
.bin
|
|
||||||
.bml
|
|
||||||
.bms
|
|
||||||
.bs
|
|
||||||
.bsx
|
|
||||||
.cas
|
|
||||||
.cdm
|
|
||||||
.cgb
|
|
||||||
.cof
|
|
||||||
.col
|
|
||||||
.dim
|
|
||||||
.dmg
|
|
||||||
.dx2
|
|
||||||
.fds
|
|
||||||
.fig
|
|
||||||
.gb
|
|
||||||
.gba
|
|
||||||
.gbc
|
|
||||||
.gd3
|
|
||||||
.gd7
|
|
||||||
.gen
|
|
||||||
.gg
|
|
||||||
.ipf
|
|
||||||
.j64
|
|
||||||
.jag
|
|
||||||
.lnx
|
|
||||||
.md
|
|
||||||
.mdx
|
|
||||||
.mgd
|
|
||||||
.msa
|
|
||||||
.nds
|
|
||||||
.nes
|
|
||||||
.ngc
|
|
||||||
.o
|
|
||||||
.pce
|
|
||||||
.prg
|
|
||||||
.rom
|
|
||||||
.sfc
|
|
||||||
.sg
|
|
||||||
.sgb
|
|
||||||
.sgd
|
|
||||||
.smc
|
|
||||||
.smd
|
|
||||||
.sms
|
|
||||||
.st
|
|
||||||
.st
|
|
||||||
.stx
|
|
||||||
.swc
|
|
||||||
.unf
|
|
||||||
.unif
|
|
||||||
.xex
|
|
||||||
.xfd
|
|
||||||
.z64
|
|
|
@ -56,13 +56,19 @@ find_compatible_compression_format() {
|
||||||
local normalized_filename=$(echo "$1" | tr '[:upper:]' '[:lower:]')
|
local normalized_filename=$(echo "$1" | tr '[:upper:]' '[:lower:]')
|
||||||
local system=$(echo "$1" | grep -oE "$roms_folder/[^/]+" | grep -oE "[^/]+$")
|
local system=$(echo "$1" | grep -oE "$roms_folder/[^/]+" | grep -oE "[^/]+$")
|
||||||
|
|
||||||
if [[ $(validate_for_chd "$1") == "true" ]] && [[ $(sed -n '/^\[/{h;d};/\b'"$system"'\b/{g;s/\[\(.*\)\]/\1/p;q};' $compression_targets) == "chd" ]]; then
|
# Extract the relevant lists from the JSON file
|
||||||
|
local chd_systems=$(jq -r '.compression_targets.chd[]' $features)
|
||||||
|
local rvz_systems=$(jq -r '.compression_targets.rvz[]' $features)
|
||||||
|
local zip_systems=$(jq -r '.compression_targets.zip[]' $features)
|
||||||
|
local zip_compressable_extensions=$(jq -r '.zip_compressable_extensions[]' $features)
|
||||||
|
|
||||||
|
if [[ $(validate_for_chd "$1") == "true" ]] && echo "$chd_systems" | grep -q "\b$system\b"; then
|
||||||
echo "chd"
|
echo "chd"
|
||||||
elif grep -qF ".${normalized_filename##*.}" $zip_compressable_extensions && [[ $(sed -n '/^\[/{h;d};/\b'"$system"'\b/{g;s/\[\(.*\)\]/\1/p;q};' $compression_targets) == "zip" ]]; then
|
elif echo "$zip_compressable_extensions" | grep -qF ".${normalized_filename##*.}" && echo "$zip_systems" | grep -q "\b$system\b"; then
|
||||||
echo "zip"
|
echo "zip"
|
||||||
elif echo "$normalized_filename" | grep -qE '\.iso|\.gcm' && [[ $(sed -n '/^\[/{h;d};/\b'"$system"'\b/{g;s/\[\(.*\)\]/\1/p;q};' $compression_targets) == "rvz" ]]; then
|
elif echo "$normalized_filename" | grep -qE '\.iso|\.gcm' && echo "$rvz_systems" | grep -q "\b$system\b"; then
|
||||||
echo "rvz"
|
echo "rvz"
|
||||||
elif echo "$normalized_filename" | grep -qE '\.iso' && [[ $(sed -n '/^\[/{h;d};/\b'"$system"'\b/{g;s/\[\(.*\)\]/\1/p;q};' $compression_targets) == "cso" ]]; then
|
elif echo "$normalized_filename" | grep -qE '\.iso' && echo "$chd_systems" | grep -q "\b$system\b"; then
|
||||||
echo "cso"
|
echo "cso"
|
||||||
else
|
else
|
||||||
# If no compatible format can be found for the input file
|
# If no compatible format can be found for the input file
|
||||||
|
@ -70,6 +76,7 @@ find_compatible_compression_format() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
validate_for_chd() {
|
validate_for_chd() {
|
||||||
# Function for validating chd compression candidates, and compresses if validation passes. Supports .cue, .iso and .gdi formats ONLY
|
# Function for validating chd compression candidates, and compresses if validation passes. Supports .cue, .iso and .gdi formats ONLY
|
||||||
# USAGE: validate_for_chd $input_file
|
# USAGE: validate_for_chd $input_file
|
||||||
|
|
|
@ -44,14 +44,9 @@ find_empty_rom_folders() {
|
||||||
|
|
||||||
empty_rom_folders_list=()
|
empty_rom_folders_list=()
|
||||||
all_empty_folders=()
|
all_empty_folders=()
|
||||||
all_helper_files=()
|
|
||||||
|
|
||||||
while IFS='^' read -r file dest || [[ -n "$file" ]];
|
# Extract helper file names using jq and populate the all_helper_files array
|
||||||
do
|
all_helper_files=($(jq -r '.helper_files | to_entries | .[] | .value.filename' "$features"))
|
||||||
if [[ ! "$file" == "#"* ]] && [[ ! -z "$file" ]]; then
|
|
||||||
all_helper_files=("${all_helper_files[@]}" "$file")
|
|
||||||
fi
|
|
||||||
done < "$helper_files_list"
|
|
||||||
|
|
||||||
for system in $(find "$roms_folder" -mindepth 1 -maxdepth 1 -type d -printf '%f\n')
|
for system in $(find "$roms_folder" -mindepth 1 -maxdepth 1 -type d -printf '%f\n')
|
||||||
do
|
do
|
||||||
|
@ -70,8 +65,8 @@ find_empty_rom_folders() {
|
||||||
all_empty_folders=("${all_empty_folders[@]}" "$(realpath $dir)")
|
all_empty_folders=("${all_empty_folders[@]}" "$(realpath $dir)")
|
||||||
echo "$(realpath $dir)" >> "$godot_empty_roms_folders" # Godot data transfer temp file
|
echo "$(realpath $dir)" >> "$godot_empty_roms_folders" # Godot data transfer temp file
|
||||||
elif [[ $count -eq 2 ]] && [[ "$files" =~ "systeminfo.txt" ]]; then
|
elif [[ $count -eq 2 ]] && [[ "$files" =~ "systeminfo.txt" ]]; then
|
||||||
# Directory contains 2 files, one of which is "systeminfo.txt"
|
contains_helper_file="false"
|
||||||
for helper_file in ${all_helper_files[@]} # Compare helper file list to dir file list
|
for helper_file in "${all_helper_files[@]}" # Compare helper file list to dir file list
|
||||||
do
|
do
|
||||||
if [[ "$files" =~ "$helper_file" ]]; then
|
if [[ "$files" =~ "$helper_file" ]]; then
|
||||||
contains_helper_file="true" # Helper file was found
|
contains_helper_file="true" # Helper file was found
|
||||||
|
@ -87,3 +82,4 @@ find_empty_rom_folders() {
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,14 +27,12 @@ config="/app/retrodeck/config"
|
||||||
rd_defaults="$config/retrodeck/retrodeck.cfg" # A default RetroDECK config file
|
rd_defaults="$config/retrodeck/retrodeck.cfg" # A default RetroDECK config file
|
||||||
rd_update_patch="/var/config/retrodeck/rd_update.patch" # A static location for the temporary patch file used during retrodeck.cfg updates
|
rd_update_patch="/var/config/retrodeck/rd_update.patch" # A static location for the temporary patch file used during retrodeck.cfg updates
|
||||||
bios_checklist="$config/retrodeck/reference_lists/bios_checklist.cfg" # A config file listing BIOS file information that can be verified
|
bios_checklist="$config/retrodeck/reference_lists/bios_checklist.cfg" # A config file listing BIOS file information that can be verified
|
||||||
compression_targets="$config/retrodeck/reference_lists/compression_targets.cfg" # A config file containing supported compression types per system
|
|
||||||
zip_compressable_extensions="$config/retrodeck/reference_lists/zip_compressable_extensions.cfg" # A config file containing every file extension that is allowed to be compressed to .zip format, because there are a lot!
|
|
||||||
easter_egg_checklist="$config/retrodeck/reference_lists/easter_egg_checklist.cfg" # A config file listing days and times when special splash screens should show up
|
|
||||||
input_validation="$config/retrodeck/reference_lists/input_validation.cfg" # A config file listing valid CLI inputs
|
input_validation="$config/retrodeck/reference_lists/input_validation.cfg" # A config file listing valid CLI inputs
|
||||||
finit_options_list="$config/retrodeck/reference_lists/finit_options_list.cfg" # A config file listing available optional installs during finit
|
finit_options_list="$config/retrodeck/reference_lists/finit_options_list.cfg" # A config file listing available optional installs during finit
|
||||||
splashscreen_dir="/var/config/ES-DE/resources/graphics/extra_splashes" # The default location of extra splash screens
|
splashscreen_dir="/var/config/ES-DE/resources/graphics/extra_splashes" # The default location of extra splash screens
|
||||||
current_splash_file="/var/config/ES-DE/resources/graphics/splash.svg" # The active splash file that will be shown on boot
|
current_splash_file="/var/config/ES-DE/resources/graphics/splash.svg" # The active splash file that will be shown on boot
|
||||||
default_splash_file="/var/config/ES-DE/resources/graphics/splash-orig.svg" # The default RetroDECK splash screen
|
default_splash_file="/var/config/ES-DE/resources/graphics/splash-orig.svg" # The default RetroDECK splash screen
|
||||||
|
# TODO: instead of this maybe we can iterate the features.json
|
||||||
multi_user_emulator_config_dirs="$config/retrodeck/reference_lists/multi_user_emulator_config_dirs.cfg" # A list of emulator config folders that can be safely linked/unlinked entirely in multi-user mode
|
multi_user_emulator_config_dirs="$config/retrodeck/reference_lists/multi_user_emulator_config_dirs.cfg" # A list of emulator config folders that can be safely linked/unlinked entirely in multi-user mode
|
||||||
rd_es_themes="/app/share/es-de/themes" # The directory where themes packaged with RetroDECK are stored
|
rd_es_themes="/app/share/es-de/themes" # The directory where themes packaged with RetroDECK are stored
|
||||||
lockfile="/var/config/retrodeck/.lock" # Where the lockfile is located
|
lockfile="/var/config/retrodeck/.lock" # Where the lockfile is located
|
||||||
|
@ -46,13 +44,10 @@ remote_network_target_1="https://flathub.org"
|
||||||
remote_network_target_2="$rd_repo" # The URL of a common internet target for testing network access
|
remote_network_target_2="$rd_repo" # The URL of a common internet target for testing network access
|
||||||
remote_network_target_3="https://one.one.one.one" # The URL of a common internet target for testing network access
|
remote_network_target_3="https://one.one.one.one" # The URL of a common internet target for testing network access
|
||||||
helper_files_folder="$config/retrodeck/helper_files" # The parent folder of RetroDECK documentation files for deployment
|
helper_files_folder="$config/retrodeck/helper_files" # The parent folder of RetroDECK documentation files for deployment
|
||||||
helper_files_list="$config/retrodeck/reference_lists/helper_files_list.cfg" # The list of files to be deployed and where they go
|
|
||||||
rd_appdata="/app/share/appdata/net.retrodeck.retrodeck.appdata.xml" # The shipped appdata XML file for this version
|
rd_appdata="/app/share/appdata/net.retrodeck.retrodeck.appdata.xml" # The shipped appdata XML file for this version
|
||||||
rpcs3_firmware="http://dus01.ps3.update.playstation.net/update/ps3/image/us/2023_0228_05fe32f5dc8c78acbcd84d36ee7fdc5b/PS3UPDAT.PUP"
|
rpcs3_firmware="http://dus01.ps3.update.playstation.net/update/ps3/image/us/2023_0228_05fe32f5dc8c78acbcd84d36ee7fdc5b/PS3UPDAT.PUP"
|
||||||
RA_API_URL="https://retroachievements.org/dorequest.php" # API URL for RetroAchievements.org
|
RA_API_URL="https://retroachievements.org/dorequest.php" # API URL for RetroAchievements.org
|
||||||
presets_dir="$config/retrodeck/presets" # Repository for all system preset config files
|
presets_dir="$config/retrodeck/presets" # Repository for all system preset config files
|
||||||
incompatible_presets_reference_list="$config/retrodeck/reference_lists/incompatible_presets.cfg" # A config file listing all incompatible presets for reference (eg. cannot have borders and widescreen enabled simultaniously)
|
|
||||||
pretty_system_names_reference_list="$config/retrodeck/reference_lists/pretty_system_names.cfg" # An internal translation list for turning internal names (eg. gbc) to "pretty" names (Nintendo GameBoy Color)
|
|
||||||
git_organization_name="RetroDECK" # The name of the organization in our git repository such as GitHub
|
git_organization_name="RetroDECK" # The name of the organization in our git repository such as GitHub
|
||||||
cooker_repository_name="Cooker" # The name of the cooker repository under RetroDECK organization
|
cooker_repository_name="Cooker" # The name of the cooker repository under RetroDECK organization
|
||||||
main_repository_name="RetroDECK" # The name of the main repository under RetroDECK organization
|
main_repository_name="RetroDECK" # The name of the main repository under RetroDECK organization
|
||||||
|
|
|
@ -162,6 +162,15 @@ update_rd_conf() {
|
||||||
|
|
||||||
# STAGE 3: Eliminate any preset incompatibility with existing user settings and new defaults
|
# STAGE 3: Eliminate any preset incompatibility with existing user settings and new defaults
|
||||||
|
|
||||||
|
# Fetch incompatible presets from JSON and create a lookup list
|
||||||
|
incompatible_presets=$(jq -r '
|
||||||
|
.incompatible_presets | to_entries[] |
|
||||||
|
[
|
||||||
|
"\(.key):\(.value)",
|
||||||
|
"\(.value):\(.key)"
|
||||||
|
] | join("\n")
|
||||||
|
' $features)
|
||||||
|
|
||||||
while IFS= read -r current_setting_line # Read the existing retrodeck.cfg
|
while IFS= read -r current_setting_line # Read the existing retrodeck.cfg
|
||||||
do
|
do
|
||||||
if [[ (! -z "$current_setting_line") && (! "$current_setting_line" == "#"*) && (! "$current_setting_line" == "[]") ]]; then # If the line has a valid entry in it
|
if [[ (! -z "$current_setting_line") && (! "$current_setting_line" == "#"*) && (! "$current_setting_line" == "[]") ]]; then # If the line has a valid entry in it
|
||||||
|
@ -179,7 +188,7 @@ update_rd_conf() {
|
||||||
set_setting_value "$rd_conf" "$system_name" "false" "retrodeck" "$current_section"
|
set_setting_value "$rd_conf" "$system_name" "false" "retrodeck" "$current_section"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done < "$incompatible_presets_reference_list"
|
done <<< "$incompatible_presets"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -187,6 +196,7 @@ update_rd_conf() {
|
||||||
done < $rd_conf
|
done < $rd_conf
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
conf_read() {
|
conf_read() {
|
||||||
# This function will read the RetroDECK config file into memory
|
# This function will read the RetroDECK config file into memory
|
||||||
# USAGE: conf_read
|
# USAGE: conf_read
|
||||||
|
@ -312,16 +322,18 @@ backup_retrodeck_userdata() {
|
||||||
|
|
||||||
make_name_pretty() {
|
make_name_pretty() {
|
||||||
# This function will take an internal system name (like "gbc") and return a pretty version for user display ("Nintendo GameBoy Color")
|
# This function will take an internal system name (like "gbc") and return a pretty version for user display ("Nintendo GameBoy Color")
|
||||||
|
# If the name is nout found it only returns the short name such as "gbc"
|
||||||
# USAGE: make_name_pretty "system name"
|
# USAGE: make_name_pretty "system name"
|
||||||
local system=$(grep "$1^" "$pretty_system_names_reference_list")
|
|
||||||
if [[ ! -z "$system" ]]; then
|
local system_name="$1"
|
||||||
IFS='^' read -r internal_name pretty_name < <(echo "$system")
|
|
||||||
else
|
# Use jq to parse the JSON and find the pretty name
|
||||||
pretty_name="$1"
|
local pretty_name=$(jq -r --arg name "$system_name" '.system[$name].name // $name' "$features")
|
||||||
fi
|
|
||||||
echo "$pretty_name"
|
echo "$pretty_name"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
finit_browse() {
|
finit_browse() {
|
||||||
# Function for choosing data directory location during first/forced init
|
# Function for choosing data directory location during first/forced init
|
||||||
path_selected=false
|
path_selected=false
|
||||||
|
@ -560,38 +572,42 @@ update_splashscreens() {
|
||||||
}
|
}
|
||||||
|
|
||||||
deploy_helper_files() {
|
deploy_helper_files() {
|
||||||
# This script will distribute helper documentation files throughout the filesystem according to the $helper_files_list
|
# This script will distribute helper documentation files throughout the filesystem according to the JSON configuration
|
||||||
# USAGE: deploy_helper_files
|
# USAGE: deploy_helper_files
|
||||||
|
|
||||||
while IFS='^' read -r file dest || [[ -n "$file" ]];
|
# Extract helper files information using jq
|
||||||
do
|
helper_files=$(jq -r '.helper_files | to_entries | map("\(.value.filename)^\(.value.location)")[]' "$features")
|
||||||
if [[ ! "$file" == "#"* ]] && [[ ! -z "$file" ]]; then
|
|
||||||
|
# Iterate through each helper file entry
|
||||||
|
while IFS='^' read -r file dest; do
|
||||||
|
if [[ ! -z "$file" ]] && [[ ! -z "$dest" ]]; then
|
||||||
eval current_dest="$dest"
|
eval current_dest="$dest"
|
||||||
cp -f "$helper_files_folder/$file" "$current_dest/$file"
|
cp -f "$helper_files_folder/$file" "$current_dest/$file"
|
||||||
fi
|
fi
|
||||||
done < "$helper_files_list"
|
done <<< "$helper_files"
|
||||||
}
|
}
|
||||||
|
|
||||||
easter_eggs() {
|
|
||||||
# This function will replace the RetroDECK startup splash screen with a different image if the day and time match a listing in easter_egg_checklist.cfg
|
splash_screen() {
|
||||||
# The easter_egg_checklist.cfg file has the current format: $start_date^$end_date^$start_time^$end_time^$splash_file
|
# This function will replace the RetroDECK startup splash screen with a different image if the day and time match a listing in the JSON data.
|
||||||
# Ex. The line "1001^1031^0000^2359^spooky.svg" would show the file "spooky.svg" during any time of day in the month of October
|
# USAGE: splash_screen
|
||||||
# The easter_egg_checklist.cfg is read in order, so lines higher in the file will have higher priority in the event of an overlap
|
|
||||||
# USAGE: easter_eggs
|
current_day=$(date +"%m%d") # Read the current date in a format that can be calculated in ranges
|
||||||
current_day=$(date +"%0m%0d") # Read the current date in a format that can be calculated in ranges
|
current_time=$(date +"%H%M") # Read the current time in a format that can be calculated in ranges
|
||||||
current_time=$(date +"%0H%0M") # Read the current time in a format that can be calculated in ranges
|
|
||||||
if [[ ! -z $(cat $easter_egg_checklist) ]]; then
|
# Read the JSON file and extract splash screen data using jq
|
||||||
while IFS="^" read -r start_date end_date start_time end_time splash_file || [[ -n "$start_date" ]]; # Read Easter Egg checklist file and separate values
|
splash_screen=$(jq -r --arg current_day "$current_day" --arg current_time "$current_time" '
|
||||||
do
|
.splash_screens | to_entries[] |
|
||||||
if [[ ! $start_date == "#"* ]] && [[ ! -z "$start_date" ]]; then
|
select(
|
||||||
if [[ "$((10#$current_day))" -ge "$((10#$start_date))" && "$((10#$current_day))" -le "$((10#$end_date))" && "$((10#$current_time))" -ge "$((10#$start_time))" && "$((10#$current_time))" -le "$((10#$end_time))" ]]; then # If current line specified date/time matches current date/time, set $splash_file to be deployed
|
($current_day | tonumber) >= (.value.start_date | tonumber) and
|
||||||
new_splash_file="$splashscreen_dir/$splash_file"
|
($current_day | tonumber) <= (.value.end_date | tonumber) and
|
||||||
break
|
($current_time | tonumber) >= (.value.start_time | tonumber) and
|
||||||
else # When there are no matches, the default splash screen is set to deploy
|
($current_time | tonumber) <= (.value.end_time | tonumber)
|
||||||
new_splash_file="$default_splash_file"
|
) | .value.filename' $features)
|
||||||
fi
|
|
||||||
fi
|
# Determine the splash file to use
|
||||||
done < $easter_egg_checklist
|
if [[ -n "$splash_screen" ]]; then
|
||||||
|
new_splash_file="$splashscreen_dir/$splash_screen"
|
||||||
else
|
else
|
||||||
new_splash_file="$default_splash_file"
|
new_splash_file="$default_splash_file"
|
||||||
fi
|
fi
|
||||||
|
@ -870,7 +886,7 @@ quit_retrodeck() {
|
||||||
}
|
}
|
||||||
|
|
||||||
start_retrodeck() {
|
start_retrodeck() {
|
||||||
easter_eggs # Check if today has a surprise splashscreen and load it if so
|
splash_screen # Check if today has a surprise splashscreen and load it if so
|
||||||
ponzu
|
ponzu
|
||||||
log i "Starting RetroDECK v$version"
|
log i "Starting RetroDECK v$version"
|
||||||
es-de
|
es-de
|
||||||
|
|
|
@ -70,6 +70,15 @@ build_preset_list_options() {
|
||||||
make_preset_changes() {
|
make_preset_changes() {
|
||||||
# This function will take an array $choices, which contains the names of systems that have been enabled for this preset and enable them in the backend
|
# This function will take an array $choices, which contains the names of systems that have been enabled for this preset and enable them in the backend
|
||||||
|
|
||||||
|
# Fetch incompatible presets from JSON and create a lookup list
|
||||||
|
incompatible_presets=$(jq -r '
|
||||||
|
.incompatible_presets | to_entries[] |
|
||||||
|
[
|
||||||
|
"\(.key):\(.value)",
|
||||||
|
"\(.value):\(.key)"
|
||||||
|
] | join("\n")
|
||||||
|
' $features)
|
||||||
|
|
||||||
IFS="," read -ra choices <<< "$choice"
|
IFS="," read -ra choices <<< "$choice"
|
||||||
for emulator in "${all_systems[@]}"; do
|
for emulator in "${all_systems[@]}"; do
|
||||||
if [[ " ${choices[*]} " =~ " ${emulator} " && ! " ${current_enabled_systems[*]} " =~ " ${emulator} " ]]; then
|
if [[ " ${choices[*]} " =~ " ${emulator} " && ! " ${current_enabled_systems[*]} " =~ " ${emulator} " ]]; then
|
||||||
|
@ -89,7 +98,7 @@ make_preset_changes() {
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done < "$incompatible_presets_reference_list"
|
done < <(echo "$incompatible_presets")
|
||||||
fi
|
fi
|
||||||
if [[ ! " ${choices[*]} " =~ " ${emulator} " && ! " ${current_disabled_systems[*]} " =~ " ${emulator} " ]]; then
|
if [[ ! " ${choices[*]} " =~ " ${emulator} " && ! " ${current_disabled_systems[*]} " =~ " ${emulator} " ]]; then
|
||||||
changed_systems=("${changed_systems[@]}" "$emulator")
|
changed_systems=("${changed_systems[@]}" "$emulator")
|
||||||
|
|
|
@ -59,6 +59,14 @@ https://retrodeck.net
|
||||||
echo "Available options are: es-de, retroarch, cemu, dolphin, duckstation, gzdoom, melonds, pcsx3, pico8, ppsspp, primehack, rpcs3, ryujinx, xemu, vita3k, mame, all"
|
echo "Available options are: es-de, retroarch, cemu, dolphin, duckstation, gzdoom, melonds, pcsx3, pico8, ppsspp, primehack, rpcs3, ryujinx, xemu, vita3k, mame, all"
|
||||||
read -p "Please enter the component you would like to reset: " component
|
read -p "Please enter the component you would like to reset: " component
|
||||||
component=$(echo "$component" | tr '[:upper:]' '[:lower:]')
|
component=$(echo "$component" | tr '[:upper:]' '[:lower:]')
|
||||||
|
|
||||||
|
# TODO: this is the jq to get all the resettable emulators list, generic component is missing
|
||||||
|
# jq -r '
|
||||||
|
# [(.emulator | to_entries[]) |
|
||||||
|
# select(.value.core == null and .value.resettable != false) |
|
||||||
|
# .key] | sort | join("|")
|
||||||
|
# ' "$features"
|
||||||
|
|
||||||
if [[ "$component" =~ ^(es-de|retroarch|cemu|dolphin|duckstation|gzdoom|mame|melonds|pcsx2|ppsspp|primehack|ryujinx|rpcs3|vita3k|xemu|all)$ ]]; then
|
if [[ "$component" =~ ^(es-de|retroarch|cemu|dolphin|duckstation|gzdoom|mame|melonds|pcsx2|ppsspp|primehack|ryujinx|rpcs3|vita3k|xemu|all)$ ]]; then
|
||||||
read -p "You are about to reset $component to default settings. Enter 'y' to continue, 'n' to stop: " response
|
read -p "You are about to reset $component to default settings. Enter 'y' to continue, 'n' to stop: " response
|
||||||
if [[ $response == [yY] ]]; then
|
if [[ $response == [yY] ]]; then
|
||||||
|
|
|
@ -852,7 +852,7 @@ configurator_compress_single_game_dialog() {
|
||||||
}
|
}
|
||||||
|
|
||||||
configurator_compress_multiple_games_dialog() {
|
configurator_compress_multiple_games_dialog() {
|
||||||
# This dialog will display any games it finds to be compressable, from the systems listed under each compression type in compression_targets.cfg
|
# This dialog will display any games it finds to be compressable, from the systems listed under each compression type in features.json
|
||||||
|
|
||||||
find_compatible_games "$1"
|
find_compatible_games "$1"
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue