Files
libretro/exports/emuelec/batocera-systems
T

924 lines
91 KiB
Python
Executable File

#!/usr/bin/env python
from __future__ import print_function
from hashlib import md5
from os.path import isfile
from collections import OrderedDict
import sys
systems = {
# Atari
"atari5200": { "name": "Atari 5200", "biosFiles": [ { "md5": "281f20ea4320404ec820fb7ec0693b38", "file": "bios/5200.rom" } ] },
"atari800": { "name": "Atari 800", "biosFiles": [ { "md5": "06daac977823773a3eea3422fd26a703", "file": "bios/ATARIXL.ROM" },
{ "md5": "0bac0c6a50104045d902df4503a4c30b", "file": "bios/ATARIBAS.ROM" },
{ "md5": "eb1f32f5d9f382db1bbfb8d7f9cb343a", "file": "bios/ATARIOSA.ROM" },
{ "md5": "a3e8d617c95d08031fe1b20d541434b2", "file": "bios/ATARIOSB.ROM" } ] },
"atari7800": { "name": "Atari 7800", "biosFiles": [ { "md5": "0763f1ffb006ddbe32e52d497ee848ae", "file": "bios/7800 BIOS (U).rom" } ] },
"atarist": { "name": "Atari ST", "biosFiles": [ { "md5": "b2a8570de2e850c5acf81cb80512d9f6", "file": "bios/tos.img" } ] },
"atarilynx": { "name": "Lynx", "biosFiles": [ { "md5": "fcd403db69f54290b51035d82f835e7b", "file": "bios/lynxboot.img" } ] },
# Colecovision
"colecovision": { "name": "Colecovision", "biosFiles": [ { "md5": "", "file": "bios/Machines/COL - Bit Corporation Dina/config.ini" },
{ "md5": "1de922acdd742d31349c2801e9768c35", "file": "bios/Machines/COL - Bit Corporation Dina/czz50-1.rom" },
{ "md5": "72b089dc55b7fe7ffb5028f365e8c045", "file": "bios/Machines/COL - Bit Corporation Dina/czz50-2.rom" },
{ "md5": "2c66f5911e5b42b8ebe113403548eee7", "file": "bios/Machines/COL - ColecoVision/coleco.rom" },
{ "md5": "", "file": "bios/Machines/COL - ColecoVision/config.ini" },
{ "md5": "2c66f5911e5b42b8ebe113403548eee7", "file": "bios/Machines/COL - ColecoVision with Opcode Memory Extension/coleco.rom" },
{ "md5": "", "file": "bios/Machines/COL - ColecoVision with Opcode Memory Extension/config.ini" },
{ "md5": "", "file": "bios/Machines/COL - Spectravideo SVI-603 Coleco/config.ini" },
{ "md5": "c60a2e85572c0ccb69505a7646d5c1b6", "file": "bios/Machines/COL - Spectravideo SVI-603 Coleco/SVI603.ROM" },
{ "md5": "", "file": "bios/Databases/colecodb.xml" }, ] },
# Commodore
"amiga": { "name": "Amiga/CD32", "biosFiles": [ { "md5": "89da1838a24460e4b93f4f0c5d92d48d", "file": "bios/CDTV Extended-ROM v1.0 (1991)(Commodore)(CDTV)[!].rom" },
{ "md5": "85ad74194e87c08904327de1a9443b7a", "file": "bios/Kickstart v1.2 r33.180 (1986)(Commodore)(A500-A1000-A2000)[!].rom" },
{ "md5": "68c9c0826f6c0ca20546d588ee77391c", "file": "bios/Kickstart v1.2 rev 33.166 (1986)(Commodore)(A1000).rom" },
{ "md5": "192d6d950d0ed3df8040b788502831c2", "file": "bios/Kickstart v1.3 r34.5 (1987)(Commodore)(A500-A1000-A2000-CDTV)[o].rom" },
{ "md5": "82a21c1890cae844b3df741f2762d48d", "file": "bios/Kickstart v1.3 r34.5 (1987)(Commodore)(A500-A1000-A2000-CDTV)[!].rom" },
{ "md5": "dc10d7bdd1b6f450773dfb558477c230", "file": "bios/Kickstart v2.04 r37.175 (1991)(Commodore)(A500+)[!].rom" },
{ "md5": "465646c9b6729f77eea5314d1f057951", "file": "bios/Kickstart v2.05 r37.350 (1992)(Commodore)(A600HD)[!].rom" },
{ "md5": "5f8924d013dd57a89cf349f4cdedc6b1", "file": "bios/Kickstart v3.1 r40.60 (1993)(Commodore)(CD32).rom" },
{ "md5": "646773759326fbac3b2311fd8c8793ee", "file": "bios/Kickstart v3.1 r40.68 (1993)(Commodore)(A1200)[!].rom" },
{ "md5": "413590e50098a056cfec418d3df0212d", "file": "bios/Kickstart v3.1 r40.68 (1993)(Commodore)(A3000).rom" },
{ "md5": "9bdedde6a4f33555b4a270c8ca53297d", "file": "bios/Kickstart v3.1 r40.68 (1993)(Commodore)(A4000).rom" },
{ "md5": "85ad74194e87c08904327de1a9443b7a", "file": "bios/kick33180.A500" },
{ "md5": "82a21c1890cae844b3df741f2762d48d", "file": "bios/kick34005.A500" },
{ "md5": "dc10d7bdd1b6f450773dfb558477c230", "file": "bios/kick37175.A500" },
{ "md5": "5f8924d013dd57a89cf349f4cdedc6b1", "file": "bios/kick40060.CD32" },
{ "md5": "bb72565701b1b6faece07d68ea5da639", "file": "bios/kick40060.CD32.ext" },
{ "md5": "e40a5dfb3d017ba8779faba30cbd1c8e", "file": "bios/kick40063.A600" },
{ "md5": "646773759326fbac3b2311fd8c8793ee", "file": "bios/kick40068.A1200" },
{ "md5": "9bdedde6a4f33555b4a270c8ca53297d", "file": "bios/kick40068.A4000" },
{ "md5": "bb72565701b1b6faece07d68ea5da639", "file": "bios/CD32 Extended-ROM r40.60 (1993)(Commodore)(CD32).rom" } ] },
# ---------- Fujistu FM-Towns ---------- #
# https://github.com/captainys/TOWNSEMU
"fmtowns": { "name": "Fujistu FM-Towns", "biosFiles": [ { "md5": "8fa4e553f28cfc0c30a0a1e589799942", "file": "bios/fmtowns/FMT_DIC.ROM" },
{ "md5": "0585b19930d4a7f4c71bcc8a33746588", "file": "bios/fmtowns/FMT_DOS.ROM" },
{ "md5": "ac0c7021e9bf48ca84b51ab651169a88", "file": "bios/fmtowns/FMT_F20.ROM" },
{ "md5": "b91300e55b70227ce98b59c5f02fa8dd", "file": "bios/fmtowns/FMT_FNT.ROM" },
{ "md5": "86fb6f7280689259f0ca839dd3dd6cde", "file": "bios/fmtowns/FMT_SYS.ROM" },
{ "md5": "", "file": "bios/fmtmarty.zip" },
{ "md5": "6618519b2c104cf9b7e71a48381b44a9", "zippedFile": "mrom.m36", "file": "bios/fmtmarty.zip"},
{ "md5": "75a5c7afb4bc8221bab8cf24db417950", "zippedFile": "mrom.m37", "file": "bios/fmtmarty.zip"},
{ "md5": "", "file": "bios/fmtowns.zip" },
{ "md5": "34847786d7de94b5d1133c956ab1d75d", "zippedFile": "fmt_dic.rom", "file": "bios/fmtowns.zip"},
{ "md5": "0585b19930d4a7f4c71bcc8a33746588", "zippedFile": "fmt_dos.rom", "file": "bios/fmtowns.zip"},
{ "md5": "eb44f2093f51eb7159f03e170b13af76", "zippedFile": "fmt_fnt.rom", "file": "bios/fmtowns.zip"},
{ "md5": "feaf8c5675151e00cfe3ad27673bff29", "zippedFile": "fmt_sys.rom", "file": "bios/fmtowns.zip"},
{ "md5": "", "file": "bios/fmtownsux.zip" },
{ "md5": "8fa4e553f28cfc0c30a0a1e589799942", "zippedFile": "fmt_dic.rom", "file": "bios/fmtownsux.zip"},
{ "md5": "03c8fac9a5f5f5f35fb5de5a5d0d018f", "zippedFile": "fmt_dos_a.rom", "file": "bios/fmtownsux.zip"},
{ "md5": "b91300e55b70227ce98b59c5f02fa8dd", "zippedFile": "fmt_fnt.rom", "file": "bios/fmtownsux.zip"},
{ "md5": "90b5e01d42aaa93e8f4503a5e94e120b", "zippedFile": "fmt_sys_a.rom", "file": "bios/fmtownsux.zip"},
{ "md5": "1a15f6c1b58ec7e5f850118610a787a7", "zippedFile": "mytownsux.rom", "file": "bios/fmtownsux.zip"} ] },
# Magnavox and Philips
"o2em": { "name": "Odyssey 2", "biosFiles": [ { "md5": "562d5ebf9e030a40d6fabfc2f33139fd", "file": "bios/o2rom.bin" },
{ "md5": "f1071cdb0b6b10dde94d3bc8a6146387", "file": "bios/c52.bin" },
{ "md5": "c500ff71236068e0dc0d0603d265ae76", "file": "bios/g7400.bin" },
{ "md5": "279008e4a0db2dc5f1c048853b033828", "file": "bios/jopac.bin" } ] },
# Mattel
"intellivision": { "name": "Mattel Intellivision", "biosFiles": [ { "md5": "62e761035cb657903761800f4437b8af", "file": "bios/exec.bin" },
{ "md5": "0cd5946c6473e42e8e4c2137785e427f", "file": "bios/grom.bin" },
{ "md5": "2e72a9a2b897d330a35c8b07a6146c52", "file": "bios/ECS.bin" },
{ "md5": "d5530f74681ec6e0f282dab42e6b1c5f", "file": "bios/IVOICE.bin" } ] },
# Microsoft
"msx": { "name": "MSX", "biosFiles": [ { "md5": "", "file": "bios/Machines/Forte II Games - Pesadelo/config.ini" },
{ "md5": "", "file": "bios/Machines/Forte II Games - Pesadelo/pesadelo.rom" },
{ "md5": "", "file": "bios/Machines/MSX/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX/hardwareconfig.xml" },
{ "md5": "", "file": "bios/Machines/MSX/MSX.ROM" },
{ "md5": "", "file": "bios/Machines/MSX/MSX2.ROM" },
{ "md5": "", "file": "bios/Machines/MSX/MSX2EXT.ROM" },
{ "md5": "", "file": "bios/Machines/MSX/MSX2P.ROM" },
{ "md5": "", "file": "bios/Machines/MSX/MSX2PEXT.ROM" },
{ "md5": "6418d091cd6907bbcf940324339e43bb", "file": "bios/Machines/MSX/MSXDOS2.ROM" },
{ "md5": "", "file": "bios/Machines/MSX - Al Alamiah AX-170/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Arabic/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Brazilian/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Brazilian/hardwareconfig.xml" },
{ "md5": "", "file": "bios/Machines/MSX - C-BIOS/cbios.txt" },
{ "md5": "", "file": "bios/Machines/MSX - C-BIOS/cbios_logo_msx1.rom" },
{ "md5": "", "file": "bios/Machines/MSX - C-BIOS/cbios_main_msx1.rom" },
{ "md5": "", "file": "bios/Machines/MSX - C-BIOS/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Canon V-10/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Canon V-20/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Daewoo DPC-100/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Daewoo DPC-180/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Daewoo DPC-200/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Estonian/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Frael Bruc 100-1/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - French/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - German/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - German/hardwareconfig.xml" },
{ "md5": "", "file": "bios/Machines/MSX - Goldstar FC-200/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Gradiente Expert 1.0/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Gradiente Expert 1.1/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Gradiente Expert 1.3/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Gradiente Expert DDPlus/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Gradiente Expert Plus/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Japanese/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Japanese/hardwareconfig.xml" },
{ "md5": "", "file": "bios/Machines/MSX - JVC HC-7GB/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Korean/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Korean/hardwareconfig.xml" },
{ "md5": "", "file": "bios/Machines/MSX - Mitsubishi ML-F80/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Mitsubishi ML-FX1/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - National CF-1200/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Panasonic FS-A1/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Panasonic FS-A1 (a)/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Panasonic FS-A1F/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Panasonic FS-A1FM/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Panasonic FS-A1MK2/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Philips NMS-8220/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Philips NMS-8220 (a)/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Philips NMS-8245/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Philips NMS-8245F/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Philips NMS-8250/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Philips NMS-8255/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Philips NMS-8280/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Philips NMS-8280G/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Philips VG-8230/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Philips VG-8235/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Sharp Epcom HotBit 1.2/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Sharp Epcom HotBit 1.3b/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Sharp Epcom HotBit 1.3p/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Sony HB-10P/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Sony HB-201/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Sony HB-201P/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Sony HB-20P/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Sony HB-501P/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Sony HB-55D/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Sony HB-55P/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Sony HB-75D/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Sony HB-75P/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Spanish/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Spectravideo SVI-728/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Spectravideo SVI-738/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Spectravideo SVI-738-2 CUC/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Spectravideo SVI-738-2 JP Grobler/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Spectravideo SVI-738-2 LC Grosso/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Swedish/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Talent TPC-310/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Toshiba HX-23/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Toshiba HX-23F/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Virtual Haesung Console/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Yamaha CX7M/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Yamaha CX7M-128/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2+/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2+/hardwareconfig.xml" },
{ "md5": "", "file": "bios/Machines/MSX2+/MSX.ROM" },
{ "md5": "", "file": "bios/Machines/MSX2+/MSX2.ROM" },
{ "md5": "", "file": "bios/Machines/MSX2+/MSX2EXT.ROM" },
{ "md5": "", "file": "bios/Machines/MSX2+/MSX2P.ROM" },
{ "md5": "", "file": "bios/Machines/MSX2+/MSX2PEXT.ROM" },
{ "md5": "", "file": "bios/Machines/MSX2+/MSXDOS2.ROM" },
{ "md5": "", "file": "bios/Machines/MSX2+ - Brazilian/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2+ - C-BIOS/cbios.txt" },
{ "md5": "", "file": "bios/Machines/MSX2+ - C-BIOS/cbios_logo_msx2+.rom" },
{ "md5": "", "file": "bios/Machines/MSX2+ - C-BIOS/cbios_main_msx2+.rom" },
{ "md5": "", "file": "bios/Machines/MSX2+ - C-BIOS/cbios_music.rom" },
{ "md5": "", "file": "bios/Machines/MSX2+ - C-BIOS/cbios_sub.rom" },
{ "md5": "", "file": "bios/Machines/MSX2+ - C-BIOS/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2+ - Ciel Expert 3 IDE/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2+ - Ciel Expert 3 Turbo/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Spectravideo SVI-738 Swedish/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Swedish/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Swedish/hardwareconfig.xml" },
{ "md5": "", "file": "bios/Machines/MSX - Talent DPC-200/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Talent DPC-200A/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Toshiba HX-10/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Toshiba HX-10S/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Toshiba HX-20/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Yamaha CX5M-1/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Yamaha CX5M-128/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Yamaha CX5M-2/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Yamaha CX5MII/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Yamaha YIS303/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Yamaha YIS503/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Yamaha YIS503F/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Yamaha YIS503II/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Yamaha YIS503IIR/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Yamaha YIS503M/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Yashica YC-64/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Yeno DPC-64/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Yeno MX64/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2/hardwareconfig.xml" },
{ "md5": "", "file": "bios/Machines/MSX2/MSX.ROM" },
{ "md5": "", "file": "bios/Machines/MSX2/MSX2.ROM" },
{ "md5": "", "file": "bios/Machines/MSX2/MSX2EXT.ROM" },
{ "md5": "", "file": "bios/Machines/MSX2/MSX2P.ROM" },
{ "md5": "", "file": "bios/Machines/MSX2/MSX2PEXT.ROM" },
{ "md5": "", "file": "bios/Machines/MSX2/MSXDOS2.ROM" },
{ "md5": "", "file": "bios/Machines/MSX2 - Al Alamiah AX-350/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Al Alamiah AX-370/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Arabic/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Arabic/hardwareconfig.xml" },
{ "md5": "", "file": "bios/Machines/MSX2 - Brazilian/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Brazilian/hardwareconfig.xml" },
{ "md5": "", "file": "bios/Machines/MSX2 - C-BIOS/cbios.txt" },
{ "md5": "", "file": "bios/Machines/MSX2 - C-BIOS/cbios_logo_msx2.rom" },
{ "md5": "", "file": "bios/Machines/MSX2 - C-BIOS/cbios_main_msx2.rom" },
{ "md5": "", "file": "bios/Machines/MSX2 - C-BIOS/cbios_sub.rom" },
{ "md5": "", "file": "bios/Machines/MSX2 - C-BIOS/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Daewoo CPC-300/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Daewoo CPC-300E/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Daewoo CPC-400/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Daewoo CPC-400S/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Estonian/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - French/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - French/hardwareconfig.xml" },
{ "md5": "", "file": "bios/Machines/MSX2 - German/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - German/hardwareconfig.xml" },
{ "md5": "", "file": "bios/Machines/MSX2 - Gradiente Expert 2.0/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Japanese/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Japanese/hardwareconfig.xml" },
{ "md5": "", "file": "bios/Machines/MSX2 - Korean/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Korean/hardwareconfig.xml" },
{ "md5": "", "file": "bios/Machines/MSX2 - National FS-4500/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - National FS-4600/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - National FS-4700/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - National FS-5000/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - National FS-5500F1/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - National FS-5500F2/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Daewoo DPC-200E/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - National CF-2000/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Sharp Epcom HotBit 1.1/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Spectravideo SVI-738 Henrik Gilvad/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Yamaha YIS503IIR Estonian/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Only PSG/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Only PSG/hardwareconfig.xml" },
{ "md5": "", "file": "bios/Machines/MSX2 - Philips VG-8235F/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Spanish/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Spanish/hardwareconfig.xml" },
{ "md5": "", "file": "bios/Machines/MSX2+ - European/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - National CF-2700/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - National CF-3000/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - National CF-3300/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - National FS-1300/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - National FS-4000/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Olympia PHC-2/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Olympia PHC-28/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Panasonic CF-2700G/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Philips NMS-801/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Philips VG-8000/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Philips VG-8010/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Philips VG-8010F/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Philips VG-8020-00/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Philips VG-8020-20/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Philips VG-8020F/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Pioneer PX-7/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Pioneer PX-V60/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Russian/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Sanyo MPC-100/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Sanyo MPC-64/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Sanyo PHC-28L/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Sanyo PHC-28S/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX - Sanyo Wavy MPC-10/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2+ - Gradiente Expert AC88+/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2+ - Gradiente Expert DDX+/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2+ - MSXPLAYer 2003/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2+ - Panasonic FS-A1FX/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2+ - Panasonic FS-A1WSX/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2+ - Panasonic FS-A1WX/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2+ - Panasonic FS-A1WX (a)/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2+ - Sanyo Wavy PHC-35J/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2+ - Sanyo Wavy PHC-70FD1/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2+ - Sanyo Wavy PHC-70FD2/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2+ - Sony HB-F1XDJ/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2+ - Sony HB-F1XV/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2+ - Sony HB-F9S+/config.ini" },
{ "md5": "", "file": "bios/Machines/MSXturboR/config.ini" },
{ "md5": "", "file": "bios/Machines/MSXturboR - European/config.ini" },
{ "md5": "", "file": "bios/Machines/MSXturboR - Panasonic FS-A1GT/config.ini" },
{ "md5": "", "file": "bios/Machines/MSXturboR - Panasonic FS-A1ST/config.ini" },
{ "md5": "", "file": "bios/Machines/MSXturboR - Panasonic FS-A1ST (a)/config.ini" },
{ "md5": "", "file": "bios/Machines/MSXturboR - Panasonic FS-A1ST (b)/config.ini" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSX2G.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSXDOS23.ROM" },
{ "md5": "", "file": "bios/Machines/Shared Roms/ARAB1.ROM" },
{ "md5": "", "file": "bios/Machines/Shared Roms/ARABIC.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/BEERIDE.ROM" },
{ "md5": "6f69cc8b5ed761b03afd78000dfb0e19", "file": "bios/Machines/Shared Roms/FMPAC.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/GCVMX80.ROM" },
{ "md5": "", "file": "bios/Machines/Shared Roms/HANGUL.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/KANJI.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MICROSOLDISK.ROM" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MOONSOUND.rom" },
{ "md5": "aa95aea2563cd5ec0a0919b44cc17d47", "file": "bios/Machines/Shared Roms/MSX.rom" },
{ "md5": "ec3a01c91f24fbddcbcab0ad301bc9ef", "file": "bios/Machines/Shared Roms/MSX2.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSX2AR.ROM" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSX2AREXT.ROM" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSX2BR.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSX2BREXT.rom" },
{ "md5": "2183c2aff17cf4297bdb496de78c2e8a", "file": "bios/Machines/Shared Roms/MSX2EXT.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSX2FR.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSX2FREXT.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSX2GEXT.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSX2HAN.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSX2J.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSX2JEXT.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSX2KR.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSX2KREXT.rom" },
{ "md5": "6d8c0ca64e726c82a4b726e9b01cdf1e", "file": "bios/Machines/Shared Roms/MSX2P.rom" },
{ "md5": "7c8243c71d8f143b2531f01afa6a05dc", "file": "bios/Machines/Shared Roms/MSX2PEXT.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSX2PMUS.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSX2R.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSX2R2.ROM" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSX2REXT.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSX2SE.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSX2SP.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSX2SPEXT.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSXAR.ROM" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSXBR.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSXDOS2.ROM" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSXFR.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSXG.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSXHAN.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSXJ.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSXKANJI.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSXKR.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSXR.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSXR2.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSXSE.ROM" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSXSP.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSXTR.ROM" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSXTREXT.ROM" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSXTRMUS.ROM" },
{ "md5": "", "file": "bios/Machines/Shared Roms/MSXTROPT.ROM" },
{ "md5": "", "file": "bios/Machines/Shared Roms/NATIONALDISK.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/NOVAXIS.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/nowindDos1.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/nowindDos2.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/PAINT.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/PANASONICDISK.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/PHILIPSDISK.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/RS232.ROM" },
{ "md5": "", "file": "bios/Machines/Shared Roms/Shared.txt" },
{ "md5": "", "file": "bios/Machines/Shared Roms/SUNRISEIDE.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/SWP.rom" },
{ "md5": "", "file": "bios/Machines/Shared Roms/XBASIC2.rom" },
{ "md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-318/config.ini" },
{ "md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-318/svi318.rom" },
{ "md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328/config.ini" },
{ "md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328/svi328.rom" },
{ "md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 80 Column/config.ini" },
{ "md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 80 Column/svi328a.rom" },
{ "md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 80 Column/svi806.rom" },
{ "md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 80 Swedish/config.ini" },
{ "md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 80 Swedish/svi328a.rom" },
{ "md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 80 Swedish/svi806se.rom" },
{ "md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 MK2/config.ini" },
{ "md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 MK2/svi328a.rom" },
{ "md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 MK2/svi806.rom" },
{ "md5": "", "file": "bios/Machines/Turbo-R/hardwareconfig.xml" },
{ "md5": "", "file": "bios/Machines/MSX2 - Philips VG-8240/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Russian/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Russian/hardwareconfig.xml" },
{ "md5": "", "file": "bios/Machines/MSX2 - Sanyo Wavy MPC-25FD/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Sanyo Wavy PHC-23/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Sharp Epcom HotBit 2.0/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Sony HB-F1/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Sony HB-F1II/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Sony HB-F1XD/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Sony HB-F1XDMK2/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Sony HB-F500/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Sony HB-F500P/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Sony HB-F700D/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Sony HB-F700F/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Sony HB-F700P/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Sony HB-F700S/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Sony HB-F900/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Sony HB-F900 (a)/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Sony HB-F9P/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Sony HB-F9P Russian/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Sony HB-F9S/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Sony HB-G900AP/config.ini" },
{ "md5": "", "file": "bios/Machines/MSX2 - Sony HB-G900P/config.ini" },
{ "md5": "80dcd1ad1a4cf65d64b7ba10504e8190", "file": "DISK.ROM" },
{ "md5": "403cdea1cbd2bb24fae506941f8f655e", "file": "PAINTER.ROM" },
{ "md5": "85b38e4128bbc300e675f55b278683a8", "file": "DEFAULT.FNT" },
{ "md5": "c83e50e9f33b8dd893c414691822740d", "file": "ITALIC.FNT" },
{ "md5": "ac4f4a90c1b1887db48ded39c9d9c847", "file": "INTERNAT.FNT" },
{ "md5": "85b38e4128bbc300e675f55b278683a8", "file": "CYRILLIC.FNT" },
{ "md5": "73291e76638a2f5aa2eceb843df468f4", "file": "KOREAN.FNT" },
{ "md5": "aa28f0703b951a6be8df3e28e20d263d", "file": "JAPANESE.FNT" },
{ "md5": "74b0f217fa0e2b8bb5a2f8e2ecc69da3", "file": "CARTS.SHA" } ] },
# NEC
"pcengine": { "name": "PC Engine", "biosFiles": [ { "md5": "ff1a674273fe3540ccef576376407d1d", "file": "bios/syscard3.pce" } ] },
"pcfx": { "name": "PC-FX", "biosFiles": [ { "md5": "08e36edbea28a017f79f8d4f7ff9b6d7", "file": "bios/pcfx.rom" } ] },
"supergrafx": { "name": "Supergrafx", "biosFiles": [ { "md5": "ff1a674273fe3540ccef576376407d1d", "file": "bios/syscard3.pce" },
{ "md5": "", "file": "bios/syscard2.pce" },
{ "md5": "", "file": "bios/syscard1.pce" },
{ "md5": "", "file": "bios/gexpress.pce" } ] },
# Nintendo
"fds": { "name": "Nintendo Family Computer Disk System", "biosFiles": [ { "md5": "7bfe8c0540ed4bd6a0f1e2a0f0118ced", "file": "bios/NstDatabase.xml" },
{ "md5": "ca30b50f880eb660a320674ed365ef7a", "file": "bios/disksys.rom" } ] },
"gb": { "name": "Game Boy", "biosFiles": [ { "md5": "32fbbd84168d3482956eb3c5051637f5", "file": "bios/gb_bios.bin" },
{ "md5": "dbfce9db9deaa2567f6a84fde55f9680", "file": "bios/gbc_bios.bin" } ] },
"gbc": { "name": "Game Boy Color", "biosFiles": [ { "md5": "32fbbd84168d3482956eb3c5051637f5", "file": "bios/gb_bios.bin" },
{ "md5": "dbfce9db9deaa2567f6a84fde55f9680", "file": "bios/gbc_bios.bin" } ] },
"gba": { "name": "Game Boy Advance", "biosFiles": [ { "md5": "a860e8c0b6d573d191e4ec7db1b1e4f6", "file": "bios/gba_bios.bin" },
{ "md5": "32fbbd84168d3482956eb3c5051637f5", "file": "bios/gb_bios.bin" },
{ "md5": "dbfce9db9deaa2567f6a84fde55f9680", "file": "bios/gbc_bios.bin" },
{ "md5": "d574d4f9c12f305074798f54c091a8b4", "file": "bios/sgb_bios.bin" } ] },
"n64": { "name": "Nintendo 64", "biosFiles": [ { "md5": "8d3d9f294b6e174bc7b1d2fd1c727530", "file": "bios/64DD_IPL.bin" }, { "md5": "785d2fd45984c6548763ae6702d83e20", "file": "Mupen64plus/font.ttf" } ] },
"nds": { "name": "Nintendo DS", "biosFiles": [ { "md5": "145eaef5bd3037cbc247c213bb3da1b3", "file": "bios/firmware.bin" },
{ "md5": "df692a80a5b1bc90728bc3dfc76cd948", "file": "bios/bios7.bin" },
{ "md5": "a392174eb3e572fed6447e956bde4b25", "file": "bios/bios9.bin" } ] },
"satellaview": { "name": "Satellaview", "biosFiles": [ { "md5": "fed4d8242cfbed61343d53d48432aced", "file": "bios/BS-X.bin" } ] },
"sufami": { "name": "Sufami", "biosFiles": [ { "md5": "d3a44ba7d42a74d3ac58cb9c14c6a5ca", "file": "bios/STBIOS.bin" } ] },
# Panasonic, Sanyo and Goldstar
"3do": { "name": "3DO", "biosFiles": [ { "md5": "f47264dd47fe30f73ab3c010015c155b", "file": "bios/panafz1.bin" },
{ "md5": "51f2f43ae2f3508a14d9f56597e2d3ce", "file": "bios/panafz10.bin" },
{ "md5": "8639fd5e549bd6238cfee79e3e749114", "file": "bios/goldstar.bin" },
{ "md5": "35fa1a1ebaaeea286dc5cd15487c13ea", "file": "bios/sanyotry.bin" },
{ "md5": "8970fc987ab89a7f64da9f8a8c4333ff", "file": "bios/3do_arcade_saot.bin" },
{ "md5": "ad43f7905ba53da48c0b8d9643fb8cec", "file": "opera-boot.bin" },
{ "md5": "a496cfdded3da562759be3561317b605", "file": "panafz1j.bin" },
{ "md5": "f6c71de7470d16abe4f71b1444883dc8", "file": "panafz1j-norsa.bin" },
{ "md5": "1477bda80dc33731a65468c1f5bcbee9", "file": "panafz10-norsa.bin" },
{ "md5": "a48e6746bd7edec0f40cff078f0bb19f", "file": "panafz10e-anvil.bin" },
{ "md5": "cf11bbb5a16d7af9875cca9de9a15e09", "file": "panafz10e-anvil-norsa.bin" },
{ "md5": "b8dc97f778a6245c58e064b0312e8281", "file": "panafz1-kanji.bin" },
{ "md5": "c23fb5d5e6bb1c240d02cf968972be37", "file": "panafz1j-kanji.bin" },
{ "md5": "428577250f43edc902ea239c50d2240d", "file": "panafz10ja-anvil-kanji.bin" } ] },
# Sega
"naomi": { "name": "Naomi", "biosFiles": [ { "md5": "e63d892cdb8b532351dc7020bb60b6f4", "file": "bios/dc/naomi.zip" } ] },
"atomiswave": { "name": "Atomiswave", "biosFiles": [ { "md5": "0ec5ae5b5a5c4959fa8b43fcf8687f7c", "file": "bios/dc/awbios.zip" } ] },
"dreamcast": { "name": "Dreamcast", "biosFiles": [ { "md5": "e10c53c2f8b90bab96ead2d368858623", "file": "bios/dc/dc_boot.bin" },
{ "md5": "0a93f7940c455905bea6e392dfde92a4", "file": "bios/dc/dc_flash.bin" } ] },
"gamegear": { "name": "Game Gear", "biosFiles": [ { "md5": "672e104c3be3a238301aceffc3b23fd6", "file": "bios/bios.gg" } ] },
"mastersystem": { "name": "MasterSystem", "biosFiles": [ { "md5": "840481177270d5642a14ca71ee72844c", "file": "bios/bios_E.sms" },
{ "md5": "840481177270d5642a14ca71ee72844c", "file": "bios/bios_U.sms" },
{ "md5": "24a519c53f67b00640d0048ef7089105", "file": "bios/bios_J.sms" } ] },
"saturn": { "name": "Sega Saturn", "biosFiles": [ { "md5": "af5828fdff51384f99b3c4926be27762", "file": "bios/saturn_bios.bin" },
{ "md5": "85ec9ca47d8f6807718151cbcca8b964", "file": "bios/sega_101.bin" },
{ "md5": "3240872c70984b6cbfda1586cab68dbe", "file": "bios/mpr-17933.bin" },
{ "md5": "255113ba943c92a54facd25a10fd780c", "file": "bios/mpr-18811-mx.ic1" },
{ "md5": "1cd19988d1d72a3e7caa0b73234c96b4", "file": "bios/mpr-19367-mx.ic1" },
{ "md5": "53a094ad3a188f86de4e64624fe9b3ca", "file": "bios/stvbios.zip" } ] },
"segacd": { "name": "Sega CD", "biosFiles": [ { "md5": "e66fa1dc5820d254611fdcdba0662372", "file": "bios/bios_CD_E.bin" },
{ "md5": "854b9150240a198070150e4566ae1290", "file": "bios/bios_CD_U.bin" },
{ "md5": "278a9397d192149e84e820ac621a8edd", "file": "bios/bios_CD_J.bin" } ] },
"naomi": { "name": "Naomi", "biosFiles": [ { "md5": "3bffafac42a7767d8dcecf771f5552ba", "file": "bios/dc/naomi_boot.bin" },
{ "md5": "e63d892cdb8b532351dc7020bb60b6f4", "file": "bios/dc/naomi.zip" } ] },
"sc-3000": { "name": "SC-3000", "biosFiles": [ { "md5": "", "file": "bios/Machines/SEGA - SC-3000/config.ini" } ] },
# Sharp
"x68000": { "name": "Sharp x68000", "biosFiles": [ { "md5": "", "file": "bios/keropi/iplrom.dat" },
{ "md5": "", "file": "bios/keropi/iplrom30.dat" },
{ "md5": "", "file": "bios/keropi/iplromco.dat" },
{ "md5": "", "file": "bios/keropi/iplromxv.dat" },
{ "md5": "", "file": "bios/keropi/cgrom.dat" } ] },
# SNK
"neogeo": { "name": "NeoGeo", "biosFiles": [ { "md5": "", "file": "neogeo/neogeo.zip" } ] },
"neogeocd": { "name": "NeoGeo CD", "biosFiles": [ { "md5": "", "file": "neogeo/neogeo.zip" },
{ "md5": "f39572af7584cb5b3f70ae8cc848aba2", "file": "bios/neocd/neocd_z.rom"} ] },
# Sony Computer Entertainment
"psx": { "name": "PSX", "biosFiles": [ { "md5": "8dd7d5296a650fac7319bce665a6a53c", "file": "bios/scph5500.bin" },
{ "md5": "490f666e1afb15b7362b406ed1cea246", "file": "bios/scph5501.bin" },
{ "md5": "32736f17079d0b2b7024407c39bd3050", "file": "bios/scph5502.bin" } ] },
# Ports
"Diablo": { "name": "Diablo 1 (devilutionx) ", "biosFiles": [ { "md5": "68f049866b44688a7af65ba766bef75a", "file": "ports/diablo/diabdat.mpq" } ] },
"Hellfire": { "name": "Diablo 1: Hellfire (devilutionx) ", "biosFiles": [ { "md5": "", "file": "ports/diablo/hellfire.mpq" },
{ "md5": "", "file": "ports/diablo/hfmonk.mpq" },
{ "md5": "", "file": "ports/diablo/hfmusic.mpq" },
{ "md5": "", "file": "ports/diablo/hfvoice.mpq" },
{ "md5": "68f049866b44688a7af65ba766bef75a", "file": "ports/diablo/diabdat.mpq" },
] },
"Dinothawr": { "name": "Dinothawr", "biosFiles": [ { "md5": "", "file": "ports/dinothawr/level_3-3.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_7-2.tmx" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_right_walk2.png" },
{ "md5": "", "file": "ports/dinothawr/assets/.directory" },
{ "md5": "", "file": "ports/dinothawr/assets/bg/bg1.ogg" },
{ "md5": "", "file": "ports/dinothawr/assets/bg/bg2.ogg" },
{ "md5": "", "file": "ports/dinothawr/assets/bg/bg3.ogg" },
{ "md5": "", "file": "ports/dinothawr/assets/bg/bg4.ogg" },
{ "md5": "", "file": "ports/dinothawr/assets/bg/bg5.ogg" },
{ "md5": "", "file": "ports/dinothawr/assets/bg/bg8.ogg" },
{ "md5": "", "file": "ports/dinothawr/assets/bg/theme.ogg" },
{ "md5": "", "file": "ports/dinothawr/assets/bg.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino.sprite" },
{ "md5": "", "file": "ports/dinothawr/assets/dinopush_down.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dinopush_left.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dinopush_right.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dinopush_up.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_cheer.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_down.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_down_slide1.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_down_slide2.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_down_walk1.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_down_walk2.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_down_walk3.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_down_walk4.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_left.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_left_slide1.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_left_slide2.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_left_walk1.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_left_walk2.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_left_walk3.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_left_walk4.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_right.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_right_slide1.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_right_slide2.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_right_walk1.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_right_walk3.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_right_walk4.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_up.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_up_slide1.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_up_slide2.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_up_walk1.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_up_walk2.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_up_walk3.png" },
{ "md5": "", "file": "ports/dinothawr/assets/dino_up_walk4.png" },
{ "md5": "", "file": "ports/dinothawr/assets/ending.png" },
{ "md5": "", "file": "ports/dinothawr/assets/finished.png" },
{ "md5": "", "file": "ports/dinothawr/assets/font.png" },
{ "md5": "", "file": "ports/dinothawr/assets/frozen.sprite" },
{ "md5": "", "file": "ports/dinothawr/assets/frozen_dino_block.png" },
{ "md5": "", "file": "ports/dinothawr/assets/frozen_dino_cheer.png" },
{ "md5": "", "file": "ports/dinothawr/assets/frozen_dino_defrost1.png" },
{ "md5": "", "file": "ports/dinothawr/assets/frozen_dino_defrost2.png" },
{ "md5": "", "file": "ports/dinothawr/assets/frozen_dino_down.png" },
{ "md5": "", "file": "ports/dinothawr/assets/level_select_bg.png" },
{ "md5": "", "file": "ports/dinothawr/assets/lock.png" },
{ "md5": "", "file": "ports/dinothawr/assets/nav.sprite" },
{ "md5": "", "file": "ports/dinothawr/assets/sfx/chapter_locked.wav" },
{ "md5": "", "file": "ports/dinothawr/assets/sfx/dino_jump.wav" },
{ "md5": "", "file": "ports/dinothawr/assets/sfx/dino_push.wav" },
{ "md5": "", "file": "ports/dinothawr/assets/sfx/frozen_dino_melt.wav" },
{ "md5": "", "file": "ports/dinothawr/assets/sfx/ice_bump.wav" },
{ "md5": "", "file": "ports/dinothawr/assets/sfx/level_next.wav" },
{ "md5": "", "file": "ports/dinothawr/assets/sfxr/block_slide.sfs" },
{ "md5": "", "file": "ports/dinothawr/assets/sfxr/chapter_locked.sfs" },
{ "md5": "", "file": "ports/dinothawr/assets/sfxr/dino_bump.sfs" },
{ "md5": "", "file": "ports/dinothawr/assets/sfxr/dino_jump.sfs" },
{ "md5": "", "file": "ports/dinothawr/assets/sfxr/dino_push.sfs" },
{ "md5": "", "file": "ports/dinothawr/assets/sfxr/frozen_dino_melt.sfs" },
{ "md5": "", "file": "ports/dinothawr/assets/sfxr/ice_bump.sfs" },
{ "md5": "", "file": "ports/dinothawr/assets/sfxr/level_complete.sfs" },
{ "md5": "", "file": "ports/dinothawr/assets/sfxr/level_failed.sfs" },
{ "md5": "", "file": "ports/dinothawr/assets/sfxr/level_next.sfs" },
{ "md5": "", "file": "ports/dinothawr/assets/sfxr/level_select.sfs" },
{ "md5": "", "file": "ports/dinothawr/assets/sfxr/rock_bump.sfs" },
{ "md5": "", "file": "ports/dinothawr/assets/sfxr/slide_ice.sfs" },
{ "md5": "", "file": "ports/dinothawr/assets/sfxr/slide_snow.sfs" },
{ "md5": "", "file": "ports/dinothawr/assets/tileset-ground.png" },
{ "md5": "", "file": "ports/dinothawr/assets/tileset-misc.png" },
{ "md5": "", "file": "ports/dinothawr/assets/tileset-pushblocks.png" },
{ "md5": "", "file": "ports/dinothawr/assets/tileset-rocks.png" },
{ "md5": "", "file": "ports/dinothawr/assets/tileset-slippery.png" },
{ "md5": "", "file": "ports/dinothawr/assets/titlescreen.png" },
{ "md5": "", "file": "ports/dinothawr/dino.font" },
{ "md5": "", "file": "ports/dinothawr/dinothawr.game" },
{ "md5": "", "file": "ports/dinothawr/hq2x.glsl" },
{ "md5": "", "file": "ports/dinothawr/hq2x.glslp" },
{ "md5": "", "file": "ports/dinothawr/level_1-1.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_1-2.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_1-3.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_1-4.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_1-5.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_10-1.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_10-2.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_10-3.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_10-4.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_10-5.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_2-1.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_2-2.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_2-3.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_2-4.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_2-5.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_3-1.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_3-2.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_3-4.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_3-5.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_4-1.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_4-2.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_4-3.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_4-4.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_4-5.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_5-1.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_5-2.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_5-3.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_5-4.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_5-5.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_6-1.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_6-2.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_6-3.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_6-4.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_6-5.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_7-1.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_7-3.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_7-4.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_7-5.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_8-1.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_8-2.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_8-3.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_8-4.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_8-5.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_9-1.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_9-2.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_9-3.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_9-4.tmx" },
{ "md5": "", "file": "ports/dinothawr/level_9-5.tmx" },
{ "md5": "", "file": "ports/dinothawr/overlay.cfg" },
{ "md5": "", "file": "ports/dinothawr/overlay.png" },
{ "md5": "", "file": "ports/dinothawr/overlay_big.cfg" },
{ "md5": "", "file": "ports/dinothawr/overlay_big.png" },
{ "md5": "", "file": "ports/dinothawr/RetroArch-0916-233002.png" },
{ "md5": "", "file": "ports/dinothawr/RetroArch-0916-233008.png" },
{ "md5": "", "file": "ports/dinothawr/scanline.glsl" },
{ "md5": "", "file": "ports/dinothawr/stock.glsl" },
{ "md5": "", "file": "ports/dinothawr/xbr-lv2-a-pass0.glsl" },
{ "md5": "", "file": "ports/dinothawr/xbr-lv2-a.glslp" },
{ "md5": "", "file": "ports/dinothawr/xbr-lv2-pass1.glsl" } ] },
"DOOM1": { "name": "DOOM1 (PrBoom)", "biosFiles": [ { "md5": "", "file": "ports/doom/doom1.wad" } ] },
"DOOM2": { "name": "DOOM2 (PrBoom)", "biosFiles": [ { "md5": "", "file": "ports/doom2/doom2.wad" } ] },
"OpenTyrian": { "name": "OpenTyrian", "biosFiles": [ { "md5": "", "file": "ports/opentyrian/cubetxt1.dat" },
{ "md5": "", "file": "ports/opentyrian/cubetxt2.dat" },
{ "md5": "", "file": "ports/opentyrian/cubetxt3.dat" },
{ "md5": "", "file": "ports/opentyrian/cubetxt4.dat" },
{ "md5": "", "file": "ports/opentyrian/demo.1" },
{ "md5": "", "file": "ports/opentyrian/demo.2" },
{ "md5": "", "file": "ports/opentyrian/demo.3" },
{ "md5": "", "file": "ports/opentyrian/demo.4" },
{ "md5": "", "file": "ports/opentyrian/demo.5" },
{ "md5": "", "file": "ports/opentyrian/dpmi16bi.ovl" },
{ "md5": "", "file": "ports/opentyrian/estsc.shp" },
{ "md5": "", "file": "ports/opentyrian/exitmsg.bin" },
{ "md5": "", "file": "ports/opentyrian/levels1.dat" },
{ "md5": "", "file": "ports/opentyrian/levels2.dat" },
{ "md5": "", "file": "ports/opentyrian/levels3.dat" },
{ "md5": "", "file": "ports/opentyrian/levels4.dat" },
{ "md5": "", "file": "ports/opentyrian/loudness.awe" },
{ "md5": "", "file": "ports/opentyrian/modems.txt" },
{ "md5": "", "file": "ports/opentyrian/music.mus" },
{ "md5": "", "file": "ports/opentyrian/netarena.pcx" },
{ "md5": "", "file": "ports/opentyrian/netfont1.pcx" },
{ "md5": "", "file": "ports/opentyrian/netfont2.pcx" },
{ "md5": "", "file": "ports/opentyrian/netmega.pcx" },
{ "md5": "", "file": "ports/opentyrian/netset.pcx" },
{ "md5": "", "file": "ports/opentyrian/newsh#.shp" },
{ "md5": "", "file": "ports/opentyrian/newsh0.shp" },
{ "md5": "", "file": "ports/opentyrian/newsh1.shp" },
{ "md5": "", "file": "ports/opentyrian/newsh2.shp" },
{ "md5": "", "file": "ports/opentyrian/newsh3.shp" },
{ "md5": "", "file": "ports/opentyrian/newsh4.shp" },
{ "md5": "", "file": "ports/opentyrian/newsh5.shp" },
{ "md5": "", "file": "ports/opentyrian/newsh6.shp" },
{ "md5": "", "file": "ports/opentyrian/newsh7.shp" },
{ "md5": "", "file": "ports/opentyrian/newsh8.shp" },
{ "md5": "", "file": "ports/opentyrian/newsh9.shp" },
{ "md5": "", "file": "ports/opentyrian/newsha.shp" },
{ "md5": "", "file": "ports/opentyrian/newshb.shp" },
{ "md5": "", "file": "ports/opentyrian/newshc.shp" },
{ "md5": "", "file": "ports/opentyrian/newshd.shp" },
{ "md5": "", "file": "ports/opentyrian/newshe.shp" },
{ "md5": "", "file": "ports/opentyrian/newshf.shp" },
{ "md5": "", "file": "ports/opentyrian/newshg.shp" },
{ "md5": "", "file": "ports/opentyrian/newshh.shp" },
{ "md5": "", "file": "ports/opentyrian/newshj.shp" },
{ "md5": "", "file": "ports/opentyrian/newshk.shp" },
{ "md5": "", "file": "ports/opentyrian/newshl.shp" },
{ "md5": "", "file": "ports/opentyrian/newshm.shp" },
{ "md5": "", "file": "ports/opentyrian/newshn.shp" },
{ "md5": "", "file": "ports/opentyrian/newsho.shp" },
{ "md5": "", "file": "ports/opentyrian/newshp.shp" },
{ "md5": "", "file": "ports/opentyrian/newshr.shp" },
{ "md5": "", "file": "ports/opentyrian/newshs.shp" },
{ "md5": "", "file": "ports/opentyrian/newsht.shp" },
{ "md5": "", "file": "ports/opentyrian/newshu.shp" },
{ "md5": "", "file": "ports/opentyrian/newshv.shp" },
{ "md5": "", "file": "ports/opentyrian/newsh^.shp" },
{ "md5": "", "file": "ports/opentyrian/newsh~.shp" },
{ "md5": "", "file": "ports/opentyrian/order.tfp" },
{ "md5": "", "file": "ports/opentyrian/palette.dat" },
{ "md5": "", "file": "ports/opentyrian/setup.box" },
{ "md5": "", "file": "ports/opentyrian/setup.ini" },
{ "md5": "", "file": "ports/opentyrian/setup.int" },
{ "md5": "", "file": "ports/opentyrian/shapesw.dat" },
{ "md5": "", "file": "ports/opentyrian/shapesx.dat" },
{ "md5": "", "file": "ports/opentyrian/shapesy.dat" },
{ "md5": "", "file": "ports/opentyrian/shapesz.dat" },
{ "md5": "", "file": "ports/opentyrian/shipedit.pcx" },
{ "md5": "", "file": "ports/opentyrian/tshp2.pcx" },
{ "md5": "", "file": "ports/opentyrian/tyrend.anm" },
{ "md5": "", "file": "ports/opentyrian/tyrian.cdt" },
{ "md5": "", "file": "ports/opentyrian/tyrian.hdt" },
{ "md5": "", "file": "ports/opentyrian/tyrian.ico" },
{ "md5": "", "file": "ports/opentyrian/tyrian.pic" },
{ "md5": "", "file": "ports/opentyrian/tyrian.shp" },
{ "md5": "", "file": "ports/opentyrian/tyrian.snd" },
{ "md5": "", "file": "ports/opentyrian/tyrian1.lvl" },
{ "md5": "", "file": "ports/opentyrian/tyrian2.lvl" },
{ "md5": "", "file": "ports/opentyrian/tyrian3.lvl" },
{ "md5": "", "file": "ports/opentyrian/tyrian4.lvl" },
{ "md5": "", "file": "ports/opentyrian/tyrianc.shp" },
{ "md5": "", "file": "ports/opentyrian/tyrset.pcx" },
{ "md5": "", "file": "ports/opentyrian/user1.shp" },
{ "md5": "", "file": "ports/opentyrian/user2.shp" },
{ "md5": "", "file": "ports/opentyrian/voices.snd" },
{ "md5": "", "file": "ports/opentyrian/voicesc.snd" },
{ "md5": "", "file": "ports/opentyrian/netterm.int" },
{ "md5": "", "file": "ports/opentyrian/newshi.shp" },
{ "md5": "", "file": "ports/opentyrian/shapes).dat" } ] },
"Cannonball": { "name": "Cannonball", "biosFiles": [ { "md5": "", "file": "ports/cannonball/epr-10187.88" },
{ "md5": "", "file": "ports/cannonball/epr-10327.76" },
{ "md5": "", "file": "ports/cannonball/epr-10327a.76" },
{ "md5": "", "file": "ports/cannonball/epr-10328.75" },
{ "md5": "", "file": "ports/cannonball/epr-10328a.75" },
{ "md5": "", "file": "ports/cannonball/epr-10329.58" },
{ "md5": "", "file": "ports/cannonball/epr-10329a.58" },
{ "md5": "", "file": "ports/cannonball/epr-10330.57" },
{ "md5": "", "file": "ports/cannonball/epr-10330a.57" },
{ "md5": "", "file": "ports/cannonball/epr-10380.133" },
{ "md5": "", "file": "ports/cannonball/epr-10380b.133" },
{ "md5": "", "file": "ports/cannonball/epr-10381.132" },
{ "md5": "", "file": "ports/cannonball/epr-10381b.132" },
{ "md5": "", "file": "ports/cannonball/epr-10382.118" },
{ "md5": "", "file": "ports/cannonball/epr-10382b.118" },
{ "md5": "", "file": "ports/cannonball/epr-10383.117" },
{ "md5": "", "file": "ports/cannonball/epr-10383b.117" },
{ "md5": "", "file": "ports/cannonball/mpr-10371.9" },
{ "md5": "", "file": "ports/cannonball/mpr-10372.13" },
{ "md5": "", "file": "ports/cannonball/mpr-10373.10" },
{ "md5": "", "file": "ports/cannonball/mpr-10374.14" },
{ "md5": "", "file": "ports/cannonball/mpr-10375.11" },
{ "md5": "", "file": "ports/cannonball/mpr-10376.15" },
{ "md5": "", "file": "ports/cannonball/mpr-10377.12" },
{ "md5": "", "file": "ports/cannonball/mpr-10378.16" },
{ "md5": "", "file": "ports/cannonball/opr-10185.11" },
{ "md5": "", "file": "ports/cannonball/opr-10186.47" },
{ "md5": "", "file": "ports/cannonball/opr-10188.71" },
{ "md5": "", "file": "ports/cannonball/opr-10189.70" },
{ "md5": "", "file": "ports/cannonball/opr-10190.69" },
{ "md5": "", "file": "ports/cannonball/opr-10191.68" },
{ "md5": "", "file": "ports/cannonball/opr-10192.67" },
{ "md5": "", "file": "ports/cannonball/opr-10193.66" },
{ "md5": "", "file": "ports/cannonball/opr-10230.104" },
{ "md5": "", "file": "ports/cannonball/opr-10231.103" },
{ "md5": "", "file": "ports/cannonball/opr-10232.102" },
{ "md5": "", "file": "ports/cannonball/opr-10266.101" },
{ "md5": "", "file": "ports/cannonball/opr-10267.100" },
{ "md5": "", "file": "ports/cannonball/opr-10268.99" } ] },
"CaveStory": { "name": "Cave Story (nxengine)", "biosFiles": [ { "md5": "", "file": "ports/CaveStory/Doukutsu.exe" } ] },
"Dinothawr": { "name": "Dinothawr", "biosFiles": [ { "md5": "", "file": "ports/dinothawr/dinothawr.game" } ] },
"Quake": { "name": "Quake (tryquake)", "biosFiles": [ { "md5": "", "file": "ports/quake/id1/pak0.pak" } ] },
"REminiscence": { "name": "Flashback (REminiscence)", "biosFiles": [ { "md5": "", "file": "ports/reminiscence/level1.map" } ] },
"RickDangerous": { "name": "Rick Dangerous (xrick)", "biosFiles": [ { "md5": "", "file": "ports/xrick/data.zip" } ] },
"VVVVVV": { "name": "VVVVVV", "biosFiles": [ { "md5": "", "file": "ports/VVVVVV/data.zip" } ] },
"eduke32": { "name": "Duke Nukem 3D", "biosFiles": [ { "md5": "", "file": "ports/eduke/duke3d.grp" } ] },
"sonic1": { "name": "Sonic 1", "biosFiles": [ { "md5": "", "file": "ports/sonic1/Data.rsdk" } ] },
"sonic2": { "name": "Sonic 2", "biosFiles": [ { "md5": "", "file": "ports/sonic2/Data.rsdk" } ] },
"soniccd": { "name": "Sonic CD", "biosFiles": [ { "md5": "", "file": "ports/soniccd/Data.rsdk" } ] },
"sonicmania": { "name": "Sonic Mania", "biosFiles": [ { "md5": "", "file": "ports/sonicmania/Data.rsdk" } ] },
"RigelEngine": { "name": "Duke Nukem 2", "biosFiles": [ { "md5": "", "file": "ports/rigelengine/NUKEM2.CMP" },
{ "md5": "", "file": "ports/rigelengine/NUKEM2.F1" },
{ "md5": "", "file": "ports/rigelengine/NUKEM2.F2" },
{ "md5": "", "file": "ports/rigelengine/NUKEM2.F3" },
{ "md5": "", "file": "ports/rigelengine/NUKEM2.F4" },
{ "md5": "", "file": "ports/rigelengine/NUKEM2.F5" } ] },
# Phillips CDI
"cdi": { "name": "Phillips CDI", "biosFiles": [ { "md5": "", "file": "bios/same_cdi/bios/cdimono1.zip" },
{ "md5": "", "file": "bios/same_cdi/bios/cdimono2.zip" },
{ "md5": "", "file": "bios/same_cdi/bios/cdibios.zip" } ] },
"Cannonball": { "name": "Cannonball", "biosFiles": [ { "md5": "0cc087bbf1d5ad46319756b5b17ab9be", "file": "ports/cannonball/epr-10187.88" }, { "md5": "eddae6f176ad5a3438e4dae1b8c4d4fb", "file": "ports/cannonball/epr-10327.76" }, { "md5": "35bdcb3d8eaae6505af896a55f26dda1", "file": "ports/cannonball/epr-10327a.76" }, { "md5": "73486b2da791109e322c71cbaf51338b", "file": "ports/cannonball/epr-10328.75" }, { "md5": "5c82ed7dd7450f5c037b4dcaa0103218", "file": "ports/cannonball/epr-10328a.75" }, { "md5": "7197dfbdf83029abd56e72b98b274c63", "file": "ports/cannonball/epr-10329.58" }, { "md5": "f8729ace245eb8fc4854819f783f6042", "file": "ports/cannonball/epr-10329a.58" }, { "md5": "9556c737b5506241a5a58635e58bdbad", "file": "ports/cannonball/epr-10330.57" }, { "md5": "f0f9e2cce2d64dbb28650b11679f745b", "file": "ports/cannonball/epr-10330a.57" }, { "md5": "591daabf7c4b9005171f9af83068f3a1", "file": "ports/cannonball/epr-10380.133" }, { "md5": "94bb116334e7076aeeee5fcdcb536f87", "file": "ports/cannonball/epr-10380b.133" }, { "md5": "ab1a9fe4feb5d5bd867552e3740bdc07", "file": "ports/cannonball/epr-10381.132" }, { "md5": "ab1a9fe4feb5d5bd867552e3740bdc07", "file": "ports/cannonball/epr-10381b.132" }, { "md5": "bcf3cae054791aa0c2c9d3c144bb1682", "file": "ports/cannonball/epr-10382.118" }, { "md5": "8ff3212b3a2e37a37ba73a998bbc424f", "file": "ports/cannonball/epr-10382b.118" }, { "md5": "161ceb196fcc9825bc981f933f305b5e", "file": "ports/cannonball/epr-10383.117" }, { "md5": "2d2b6149f1bccaaebf9c792f292e36d0", "file": "ports/cannonball/epr-10383b.117" }, { "md5": "9bc7fcfda9dea3a6d1c527b3146a4a95", "file": "ports/cannonball/mpr-10371.9" }, { "md5": "7da2895e20d2152ebddbdd2df29f3bd4", "file": "ports/cannonball/mpr-10372.13" }, { "md5": "5ed55433e64a4daecb9a0dbfc8771131", "file": "ports/cannonball/mpr-10373.10" }, { "md5": "5d09103268ac520609fb10ba186374b1", "file": "ports/cannonball/mpr-10374.14" }, { "md5": "187a6496e67c95e119ce97600902d178", "file": "ports/cannonball/mpr-10375.11" }, { "md5": "107a513ce97fb3b88d97425f19054471", "file": "ports/cannonball/mpr-10376.15" }, { "md5": "4a41f5ad01d78f52e8b6187c971c7270", "file": "ports/cannonball/mpr-10377.12" }, { "md5": "f6b7defe9860aa8a2f2e2915f1d9b94d", "file": "ports/cannonball/mpr-10378.16" }, { "md5": "866f1a596cc943bc5a416ff3e63cc9b0", "file": "ports/cannonball/opr-10185.11" }, { "md5": "866f1a596cc943bc5a416ff3e63cc9b0", "file": "ports/cannonball/opr-10186.47" }, { "md5": "ce4c62deb59049edb9972a5214ab39a1", "file": "ports/cannonball/opr-10188.71" }, { "md5": "c23c9998ed1b32918cdb3b0a80547aac", "file": "ports/cannonball/opr-10189.70" }, { "md5": "e555e967fcbb98d01c2da5730e9f6a28", "file": "ports/cannonball/opr-10190.69" }, { "md5": "edfdde9f0a1f2ea98139c9823a190e13", "file": "ports/cannonball/opr-10191.68" }, { "md5": "e36e9675a128d78acb191781e2271ae5", "file": "ports/cannonball/opr-10192.67" }, { "md5": "4980cb65d6ef5d4c4910d28fc200d369", "file": "ports/cannonball/opr-10193.66" }, { "md5": "e58109f14a0a4891afed803580577833", "file": "ports/cannonball/opr-10230.104" }, { "md5": "faf3f323326434cebbe3536359724985", "file": "ports/cannonball/opr-10231.103" }, { "md5": "7d6cae678c6a36bf0712958ee0e7711a", "file": "ports/cannonball/opr-10232.102" }, { "md5": "786da8c971d530bd51400da1904d5a3d", "file": "ports/cannonball/opr-10266.101" }, { "md5": "7ca240eb19818825f9d59d26b3037f69", "file": "ports/cannonball/opr-10267.100" }, { "md5": "080b53f5d3952a8a07981f9f66997887", "file": "ports/cannonball/opr-10268.99" }, { "md5": "7300090310ef7dc5cf4b7ebe06a38e66", "file": "cannonball/opr-10188.71f" } ] },
"CaveStory": { "name": "Cave Story (nxengine)", "biosFiles": [ { "md5": "", "file": "ports/CaveStory/Doukutsu.exe" }, { "md5": "38695d3d69d7a0ada8178072dad4c58b", "file": "nxengine/Doukutsu.exe" } ] },
"DOOM1": { "name": "DOOM1 (PrBoom)", "biosFiles": [ { "md5": "", "file": "ports/doom/doom1.wad" }, { "md5": "5772f907fdee4284f6332d89c0c5609c", "file": "gzdoom.pk3" }, { "md5": "094baa608b85fbe636933b4098e7e1f1", "file": "game_widescreen_gfx.pk3" } ] },
"DOOM2": { "name": "DOOM2 (PrBoom)", "biosFiles": [ { "md5": "", "file": "ports/doom2/doom2.wad" } ] },
"Diablo": { "name": "Diablo 1 (devilutionx) ", "biosFiles": [ { "md5": "68f049866b44688a7af65ba766bef75a", "file": "ports/diablo/diabdat.mpq" } ] },
"Dinothawr": { "name": "Dinothawr", "biosFiles": [ { "md5": "", "file": "ports/dinothawr/dinothawr.game" } ] },
"OpenTyrian": { "name": "OpenTyrian", "biosFiles": [ { "md5": "", "file": "ports/opentyrian/cubetxt1.dat" }, { "md5": "", "file": "ports/opentyrian/cubetxt2.dat" }, { "md5": "", "file": "ports/opentyrian/cubetxt3.dat" }, { "md5": "", "file": "ports/opentyrian/cubetxt4.dat" }, { "md5": "", "file": "ports/opentyrian/demo.1" }, { "md5": "", "file": "ports/opentyrian/demo.2" }, { "md5": "", "file": "ports/opentyrian/demo.3" }, { "md5": "", "file": "ports/opentyrian/demo.4" }, { "md5": "", "file": "ports/opentyrian/demo.5" }, { "md5": "", "file": "ports/opentyrian/dpmi16bi.ovl" }, { "md5": "", "file": "ports/opentyrian/estsc.shp" }, { "md5": "", "file": "ports/opentyrian/exitmsg.bin" }, { "md5": "", "file": "ports/opentyrian/levels1.dat" }, { "md5": "", "file": "ports/opentyrian/levels2.dat" }, { "md5": "", "file": "ports/opentyrian/levels3.dat" }, { "md5": "", "file": "ports/opentyrian/levels4.dat" }, { "md5": "", "file": "ports/opentyrian/loudness.awe" }, { "md5": "", "file": "ports/opentyrian/modems.txt" }, { "md5": "", "file": "ports/opentyrian/music.mus" }, { "md5": "", "file": "ports/opentyrian/netarena.pcx" }, { "md5": "", "file": "ports/opentyrian/netfont1.pcx" }, { "md5": "", "file": "ports/opentyrian/netfont2.pcx" }, { "md5": "", "file": "ports/opentyrian/netmega.pcx" }, { "md5": "", "file": "ports/opentyrian/netset.pcx" }, { "md5": "", "file": "ports/opentyrian/newsh#.shp" }, { "md5": "", "file": "ports/opentyrian/newsh0.shp" }, { "md5": "", "file": "ports/opentyrian/newsh1.shp" }, { "md5": "", "file": "ports/opentyrian/newsh2.shp" }, { "md5": "", "file": "ports/opentyrian/newsh3.shp" }, { "md5": "", "file": "ports/opentyrian/newsh4.shp" }, { "md5": "", "file": "ports/opentyrian/newsh5.shp" }, { "md5": "", "file": "ports/opentyrian/newsh6.shp" }, { "md5": "", "file": "ports/opentyrian/newsh7.shp" }, { "md5": "", "file": "ports/opentyrian/newsh8.shp" }, { "md5": "", "file": "ports/opentyrian/newsh9.shp" }, { "md5": "", "file": "ports/opentyrian/newsha.shp" }, { "md5": "", "file": "ports/opentyrian/newshb.shp" }, { "md5": "", "file": "ports/opentyrian/newshc.shp" }, { "md5": "", "file": "ports/opentyrian/newshd.shp" }, { "md5": "", "file": "ports/opentyrian/newshe.shp" }, { "md5": "", "file": "ports/opentyrian/newshf.shp" }, { "md5": "", "file": "ports/opentyrian/newshg.shp" }, { "md5": "", "file": "ports/opentyrian/newshh.shp" }, { "md5": "", "file": "ports/opentyrian/newshj.shp" }, { "md5": "", "file": "ports/opentyrian/newshk.shp" }, { "md5": "", "file": "ports/opentyrian/newshl.shp" }, { "md5": "", "file": "ports/opentyrian/newshm.shp" }, { "md5": "", "file": "ports/opentyrian/newshn.shp" }, { "md5": "", "file": "ports/opentyrian/newsho.shp" }, { "md5": "", "file": "ports/opentyrian/newshp.shp" }, { "md5": "", "file": "ports/opentyrian/newshr.shp" }, { "md5": "", "file": "ports/opentyrian/newshs.shp" }, { "md5": "", "file": "ports/opentyrian/newsht.shp" }, { "md5": "", "file": "ports/opentyrian/newshu.shp" }, { "md5": "", "file": "ports/opentyrian/newshv.shp" }, { "md5": "", "file": "ports/opentyrian/newsh^.shp" }, { "md5": "", "file": "ports/opentyrian/newsh~.shp" }, { "md5": "", "file": "ports/opentyrian/order.tfp" }, { "md5": "", "file": "ports/opentyrian/palette.dat" }, { "md5": "", "file": "ports/opentyrian/setup.box" }, { "md5": "", "file": "ports/opentyrian/setup.ini" }, { "md5": "", "file": "ports/opentyrian/setup.int" }, { "md5": "", "file": "ports/opentyrian/shapesw.dat" }, { "md5": "", "file": "ports/opentyrian/shapesx.dat" }, { "md5": "", "file": "ports/opentyrian/shapesy.dat" }, { "md5": "", "file": "ports/opentyrian/shapesz.dat" }, { "md5": "", "file": "ports/opentyrian/shipedit.pcx" }, { "md5": "", "file": "ports/opentyrian/tshp2.pcx" }, { "md5": "", "file": "ports/opentyrian/tyrend.anm" }, { "md5": "", "file": "ports/opentyrian/tyrian.cdt" }, { "md5": "", "file": "ports/opentyrian/tyrian.hdt" }, { "md5": "", "file": "ports/opentyrian/tyrian.ico" }, { "md5": "", "file": "ports/opentyrian/tyrian.pic" }, { "md5": "", "file": "ports/opentyrian/tyrian.shp" }, { "md5": "", "file": "ports/opentyrian/tyrian.snd" }, { "md5": "", "file": "ports/opentyrian/tyrian1.lvl" }, { "md5": "", "file": "ports/opentyrian/tyrian2.lvl" }, { "md5": "", "file": "ports/opentyrian/tyrian3.lvl" }, { "md5": "", "file": "ports/opentyrian/tyrian4.lvl" }, { "md5": "", "file": "ports/opentyrian/tyrianc.shp" }, { "md5": "", "file": "ports/opentyrian/tyrset.pcx" }, { "md5": "", "file": "ports/opentyrian/user1.shp" }, { "md5": "", "file": "ports/opentyrian/user2.shp" }, { "md5": "", "file": "ports/opentyrian/voices.snd" }, { "md5": "", "file": "ports/opentyrian/voicesc.snd" }, { "md5": "", "file": "ports/opentyrian/netterm.int" }, { "md5": "", "file": "ports/opentyrian/newshi.shp" }, { "md5": "", "file": "ports/opentyrian/shapes).dat" } ] },
"Quake": { "name": "Quake (tryquake)", "biosFiles": [ { "md5": "", "file": "ports/quake/id1/pak0.pak" }, { "md5": "00480ea1008b9fe2e134896a015a31fd", "file": "quoth/pak0.pak" }, { "md5": "7e67039da2527d95f61c215ef6f879cd", "file": "quoth/pak1.pak" }, { "md5": "ae0a13119175f9b26b039d9bae508591", "file": "quoth/pak2.pak" } ] },
"REminiscence": { "name": "Flashback (REminiscence)", "biosFiles": [ { "md5": "", "file": "ports/reminiscence/level1.map" } ] },
"RickDangerous": { "name": "Rick Dangerous (xrick)", "biosFiles": [ { "md5": "a471e64e9f69afbe59c10cc94ed1b184", "file": "ports/xrick/data.zip" } ] },
"VVVVVV": { "name": "VVVVVV", "biosFiles": [ { "md5": "", "file": "ports/VVVVVV/data.zip" } ] },
"amiga": { "name": "Amiga/CD32", "biosFiles": [ { "md5": "89da1838a24460e4b93f4f0c5d92d48d", "file": "bios/CDTV Extended-ROM v1.0 (1991)(Commodore)(CDTV)[!].rom" }, { "md5": "85ad74194e87c08904327de1a9443b7a", "file": "bios/Kickstart v1.2 r33.180 (1986)(Commodore)(A500-A1000-A2000)[!].rom" }, { "md5": "68c9c0826f6c0ca20546d588ee77391c", "file": "bios/Kickstart v1.2 rev 33.166 (1986)(Commodore)(A1000).rom" }, { "md5": "192d6d950d0ed3df8040b788502831c2", "file": "bios/Kickstart v1.3 r34.5 (1987)(Commodore)(A500-A1000-A2000-CDTV)[o].rom" }, { "md5": "82a21c1890cae844b3df741f2762d48d", "file": "bios/Kickstart v1.3 r34.5 (1987)(Commodore)(A500-A1000-A2000-CDTV)[!].rom" }, { "md5": "dc10d7bdd1b6f450773dfb558477c230", "file": "bios/Kickstart v2.04 r37.175 (1991)(Commodore)(A500+)[!].rom" }, { "md5": "465646c9b6729f77eea5314d1f057951", "file": "bios/Kickstart v2.05 r37.350 (1992)(Commodore)(A600HD)[!].rom" }, { "md5": "5f8924d013dd57a89cf349f4cdedc6b1", "file": "bios/Kickstart v3.1 r40.60 (1993)(Commodore)(CD32).rom" }, { "md5": "646773759326fbac3b2311fd8c8793ee", "file": "bios/Kickstart v3.1 r40.68 (1993)(Commodore)(A1200)[!].rom" }, { "md5": "413590e50098a056cfec418d3df0212d", "file": "bios/Kickstart v3.1 r40.68 (1993)(Commodore)(A3000).rom" }, { "md5": "9bdedde6a4f33555b4a270c8ca53297d", "file": "bios/Kickstart v3.1 r40.68 (1993)(Commodore)(A4000).rom" }, { "md5": "85ad74194e87c08904327de1a9443b7a", "file": "bios/kick33180.A500" }, { "md5": "82a21c1890cae844b3df741f2762d48d", "file": "bios/kick34005.A500" }, { "md5": "dc10d7bdd1b6f450773dfb558477c230", "file": "bios/kick37175.A500" }, { "md5": "5f8924d013dd57a89cf349f4cdedc6b1", "file": "bios/kick40060.CD32" }, { "md5": "bb72565701b1b6faece07d68ea5da639", "file": "bios/kick40060.CD32.ext" }, { "md5": "e40a5dfb3d017ba8779faba30cbd1c8e", "file": "bios/kick40063.A600" }, { "md5": "646773759326fbac3b2311fd8c8793ee", "file": "bios/kick40068.A1200" }, { "md5": "9bdedde6a4f33555b4a270c8ca53297d", "file": "bios/kick40068.A4000" }, { "md5": "bb72565701b1b6faece07d68ea5da639", "file": "bios/CD32 Extended-ROM r40.60 (1993)(Commodore)(CD32).rom" }, { "md5": "6c5b44c1a2bcee664129f850bfe4ed8a", "file": "uae_data/drive_click_A500.wav" }, { "md5": "7401f854a75f9ede18769168ab896a2a", "file": "uae_data/drive_spin_A500.wav" }, { "md5": "f9d954879fee8e96baa93d6139077cdb", "file": "uae_data/drive_spinnd_A500.wav" }, { "md5": "aebeacc7e7bc52ef890785c835bec3d0", "file": "uae_data/drive_startup_A500.wav" }, { "md5": "1a4b2d6254918ff769f26beeede75655", "file": "uae_data/drive_snatch_A500.wav" }, { "md5": "b64bee23f356635f67fb08b543df9797", "file": "uae_data/drive_click_LOUD.wav" }, { "md5": "56d8e36a2f04b5e8c5a1f1530cfc886c", "file": "uae_data/drive_spin_LOUD.wav" }, { "md5": "43ab05c6d969cb40805970a5b2352875", "file": "uae_data/drive_spinnd_LOUD.wav" }, { "md5": "743b4b9f0ca645c4c2a34953b5e01e45", "file": "uae_data/drive_startup_LOUD.wav" }, { "md5": "40cdf89f35b68cfefd4df5fb0256e02f", "file": "uae_data/drive_snatch_LOUD.wav" } ] },
"atari7800": { "name": "Atari 7800", "biosFiles": [ { "md5": "0763f1ffb006ddbe32e52d497ee848ae", "file": "bios/7800 BIOS (U).rom" } ] },
"atari800": { "name": "Atari 800", "biosFiles": [ { "md5": "06daac977823773a3eea3422fd26a703", "file": "bios/ATARIXL.ROM" }, { "md5": "0bac0c6a50104045d902df4503a4c30b", "file": "bios/ATARIBAS.ROM" }, { "md5": "eb1f32f5d9f382db1bbfb8d7f9cb343a", "file": "bios/ATARIOSA.ROM" }, { "md5": "a3e8d617c95d08031fe1b20d541434b2", "file": "bios/ATARIOSB.ROM" } ] },
"colecovision": { "name": "Colecovision", "biosFiles": [ { "md5": "", "file": "bios/Machines/COL - Bit Corporation Dina/config.ini" }, { "md5": "1de922acdd742d31349c2801e9768c35", "file": "bios/Machines/COL - Bit Corporation Dina/czz50-1.rom" }, { "md5": "72b089dc55b7fe7ffb5028f365e8c045", "file": "bios/Machines/COL - Bit Corporation Dina/czz50-2.rom" }, { "md5": "2c66f5911e5b42b8ebe113403548eee7", "file": "bios/Machines/COL - ColecoVision/coleco.rom" }, { "md5": "", "file": "bios/Machines/COL - ColecoVision/config.ini" }, { "md5": "2c66f5911e5b42b8ebe113403548eee7", "file": "bios/Machines/COL - ColecoVision with Opcode Memory Extension/coleco.rom" }, { "md5": "", "file": "bios/Machines/COL - ColecoVision with Opcode Memory Extension/config.ini" }, { "md5": "", "file": "bios/Machines/COL - Spectravideo SVI-603 Coleco/config.ini" }, { "md5": "c60a2e85572c0ccb69505a7646d5c1b6", "file": "bios/Machines/COL - Spectravideo SVI-603 Coleco/SVI603.ROM" }, { "md5": "", "file": "bios/Databases/colecodb.xml" } ] },
"eduke32": { "name": "Duke Nukem 3D", "biosFiles": [ { "md5": "", "file": "ports/eduke/duke3d.grp" }, { "md5": "f8a7f96a84fc0f401abe2b1d617d1c76", "file": "penthous.zip" } ] },
"fds": { "name": "Nintendo Family Computer Disk System", "biosFiles": [ { "md5": "7bfe8c0540ed4bd6a0f1e2a0f0118ced", "file": "bios/NstDatabase.xml" }, { "md5": "ca30b50f880eb660a320674ed365ef7a", "file": "bios/disksys.rom" } ] },
"gbc": { "name": "Game Boy Color", "biosFiles": [ { "md5": "32fbbd84168d3482956eb3c5051637f5", "file": "bios/gb_bios.bin" }, { "md5": "dbfce9db9deaa2567f6a84fde55f9680", "file": "bios/gbc_bios.bin" } ] },
"neogeo": { "name": "NeoGeo", "biosFiles": [ { "md5": "", "file": "neogeo/neogeo.zip" } ] },
"neogeocd": { "name": "NeoGeo CD", "biosFiles": [ { "md5": "", "file": "neogeo/neogeo.zip" }, { "md5": "f39572af7584cb5b3f70ae8cc848aba2", "file": "bios/neocd/neocd_z.rom" }, { "md5": "b31a246b69493c35194fe0bac120dc37", "file": "neocdz.zip" }, { "md5": "006a881532f2caffc3fe9fb5593f2ed5", "file": "neocd.zip" } ] },
"o2em": { "name": "Odyssey 2", "biosFiles": [ { "md5": "562d5ebf9e030a40d6fabfc2f33139fd", "file": "bios/o2rom.bin" }, { "md5": "f1071cdb0b6b10dde94d3bc8a6146387", "file": "bios/c52.bin" }, { "md5": "c500ff71236068e0dc0d0603d265ae76", "file": "bios/g7400.bin" }, { "md5": "279008e4a0db2dc5f1c048853b033828", "file": "bios/jopac.bin" } ] },
"pcengine": { "name": "PC Engine", "biosFiles": [ { "md5": "ff1a674273fe3540ccef576376407d1d", "file": "bios/syscard3.pce" } ] },
}
class BiosStatus:
MISSING = "MISSING"
UNTESTED = "UNTESTED"
def md5sum(filename, blocksize=65536):
hash = md5()
with open(filename, "rb") as f:
for block in iter(lambda: f.read(blocksize), b""):
hash.update(block)
return hash.hexdigest()
def checkBios(systems, prefix):
missingBios = {}
for system in systems.keys():
for file in systems[system]["biosFiles"]:
filepath = prefix + "/" + file["file"]
if isfile(filepath):
md5 = md5sum(filepath)
if md5 != file["md5"] and file["md5"] != "":
if system not in missingBios:
missingBios[system] = {}
missingBios[system][file["file"]] = { "status": BiosStatus.UNTESTED, "md5": file["md5"], "file": file["file"] }
else:
if system not in missingBios:
missingBios[system] = {}
missingBios[system][file["file"]] = { "status": BiosStatus.MISSING, "md5": file["md5"], "file": file["file"] }
return missingBios
# Returns True if missing, False if nothing is missing
def displayMissingBios(systems, missingBios):
sortedMissingBios = OrderedDict(sorted(missingBios.items()))
if sortedMissingBios:
for system in sortedMissingBios:
print("> {}".format(systems[system]["name"]))
for file in sortedMissingBios[system].keys():
md5str = "-"
if sortedMissingBios[system][file]["md5"] != "":
md5str = sortedMissingBios[system][file]["md5"]
print("{} {} {}".format(sortedMissingBios[system][file]["status"], md5str, sortedMissingBios[system][file]["file"]))
return True
else:
print("No missing bios")
return False
def createReadme(systems):
for system in sorted(systems):
print("{}:".format(systems[system]["name"]))
for bios in systems[system]["biosFiles"]:
print("{} {}".format(bios["md5"], "/storage/roms/" + bios["file"]))
print("")
if __name__ == '__main__':
if len(sys.argv) == 1:
prefix = "/storage/roms/"
if displayMissingBios(systems, checkBios(systems, prefix)):
exit(2)
elif sys.argv[1] == "--createReadme":
createReadme(systems)
elif len(sys.argv) == 3 and sys.argv[1] in ["--filter", "--strictfilter"]:
prefix = "/storage/roms/"
lowered_name = sys.argv[2].lower()
filtered_systems = {}
for system in systems:
lowered_system = system.lower()
lowered_system_name = systems[system]['name'].lower()
if ((lowered_name == lowered_system or lowered_name == lowered_system_name) or
(sys.argv[1] == "--filter" and (lowered_name in lowered_system or lowered_name in lowered_system_name))):
filtered_systems[system] = systems[system]
if len(filtered_systems) == 0:
print("No system named {} found".format(sys.argv[2]))
exit(1)
if displayMissingBios(filtered_systems, checkBios(filtered_systems, prefix)):
exit(2)