#!/usr/bin/env python from __future__ import print_function from hashlib import md5 from os.path import isfile from collections import OrderedDict import sys import zipfile import xml.etree.ElementTree as elementTree systems = { # ---------- Atari ---------- # # https://docs.libretro.com/library/atari800/#bios "atari800": { "name": "Atari 800", "biosFiles": [ { "md5": "eb1f32f5d9f382db1bbfb8d7f9cb343a", "file": "bios/ATARIOSA.ROM"}, { "md5": "4177f386a3bac989a981d3fe3388cb6c", "file": "bios/ATARIOSB.ROM"}, { "md5": "06daac977823773a3eea3422fd26a703", "file": "bios/ATARIXL.ROM" }, # The BASIC cart came with all Atari computers. On the XL and XE, it was built-in, so it's required by those models. { "md5": "0bac0c6a50104045d902df4503a4c30b", "file": "bios/ATARIBAS.ROM"} ] }, "atari5200": { "name": "Atari 5200", "biosFiles": [ { "md5": "281f20ea4320404ec820fb7ec0693b38", "file": "bios/5200.rom" } ] }, # https://github.com/libretro/libretro-super/blob/master/dist/info/hatari_libretro.info "atarist": { "name": "Atari ST", "biosFiles": [ { "md5": "c1c57ce48e8ee4135885cee9e63a68a2", "file": "bios/tos.img"}, # TOS 1.02 US # Atari ST / STf / STfm { "md5": "25789a649faff0a1176dc7d9b98105c0", "file": "bios/tos100fr.img"}, { "md5": "c87a52c277f7952b41c639fc7bf0a43b", "file": "bios/tos100uk.img"}, { "md5": "d0f682ee6237497004339fb02172638b", "file": "bios/tos100us.img"}, { "md5": "a622cc35d8d78703905592dfaa4d2ccb", "file": "bios/tos102de.img"}, { "md5": "d6521785627d20c51edc566808a6bf28", "file": "bios/tos102fr.img"}, { "md5": "b2a8570de2e850c5acf81cb80512d9f6", "file": "bios/tos102uk.img"}, #{ "md5": "c1c57ce48e8ee4135885cee9e63a68a2", "file": "bios/tos102us.img"}, { "md5": "41b7dae4e24735f330b63ad923a0bfbc", "file": "bios/tos104de.img"}, { "md5": "143343f7b8e0b1162af206fe8f46b002", "file": "bios/tos104es.img"}, { "md5": "0087e2707c57efa2106a0aa7576655c0", "file": "bios/tos104fr.img"}, #{ "md5": "52248cc70ae48b3050e197e270917130", "file": "bios/tos104nl.img"}, #{ "md5": "7c040857bdcfcd7d748ca82205463efa", "file": "bios/tos104se.img"}, { "md5": "036c5ae4f885cbf62c9bed651c6c58a8", "file": "bios/tos104uk.img"}, { "md5": "736adb2dc835df4d323191fdc8926cc9", "file": "bios/tos104us.img"}, # Atari STe { "md5": "992bac38e01633a529121a2a65f0779e", "file": "bios/tos106de.img"}, { "md5": "30f69d70fe7c210300ed83f991b12de9", "file": "bios/tos106es.img"}, { "md5": "bc7b224d0dc3f0cc14c8897db89c5787", "file": "bios/tos106fr.img"}, { "md5": "6033f2b9364edfed321c6931a8181fd2", "file": "bios/tos106uk.img"}, { "md5": "a0982e760f9807d82667ff5a69e78f6b", "file": "bios/tos106us.img"}, { "md5": "94a75c1c65408d9f974b0463e15a3b11", "file": "bios/tos162de.img"}, { "md5": "ed5fbaabe0219092df74c6c14cea3f8e", "file": "bios/tos162fr.img"}, #{ "md5": "6f9471098a521214fad1e2c6f2dd3d08", "file": "bios/tos162se.img"}, { "md5": "1cbc4f55295e469fc8cd72b7efdea1da", "file": "bios/tos162uk.img"}, { "md5": "febb00ba8784798293a7ae709a1dafcb", "file": "bios/tos162us.img"}, # Atari Mega STe { "md5": "7aeabdc25f8134590e25643a405210ca", "file": "bios/tos205de.img"}, { "md5": "7449b131681f1dfe62ebed1392847057", "file": "bios/tos205es.img"}, { "md5": "61b620ad951815a25cb37895c81a947c", "file": "bios/tos205fr.img"}, { "md5": "7e87d8fe7e24e0b4c55ad1b7955beae3", "file": "bios/tos205it.img"}, #{ "md5": "1c92855316a33faee602b8007f22d2cb", "file": "bios/tos205se.img"}, { "md5": "7cdd45b6aac66a21bfb357d9334e46db", "file": "bios/tos205us.img"}, { "md5": "0604dbb85928f0598d04144a8b554bbe", "file": "bios/tos206de.img"}, { "md5": "b2873004a408b8db36321f98daafa251", "file": "bios/tos206fr.img"}, { "md5": "4a0d4f282c3f2a0196681adf88862dd4", "file": "bios/tos206.img"}, #{ "md5": "332fe3803a7e20cd625b27a69f07ae69", "file": "bios/tos206ru.img"}, #{ "md5": "a7dc40dc5c1086bce1a8f3d44fd29051", "file": "bios/tos206se.img"}, { "md5": "e690bec90d902024beed549d22150755", "file": "bios/tos206uk.img"}, { "md5": "c9093f27159e7d13ac0d1501a95e53d4", "file": "bios/tos206us.img"}, # Atari TT { "md5": "066f39a7ea5789d5afd59dd7b3104fa6", "file": "bios/tos306de.img"}, { "md5": "dd1010ec566efbd71047d6c4919feba5", "file": "bios/tos306uk.img"}, # Atari Falcon { "md5": "ed2647936ce4bd283c4d7dfd7ae09d1c", "file": "bios/tos400.img"}, { "md5": "9e880168d0a004f7f5e852be758f39e4", "file": "bios/tos402.img"}, { "md5": "e5ea0f216fb446f1c4a4f476bc5f03d4", "file": "bios/tos404.img"} ] }, # https://docs.libretro.com/library/beetle_handy/#bios "lynx": { "name": "Lynx", "biosFiles": [ { "md5": "fcd403db69f54290b51035d82f835e7b", "file": "bios/lynxboot.img"} ] }, # ---------- Magnavox and Philips ---------- # # https://docs.libretro.com/library/o2em/#bios "odyssey2": { "name": "Odyssey 2", "biosFiles": [ { "md5": "562d5ebf9e030a40d6fabfc2f33139fd", "file": "bios/o2rom.bin" }, { "md5": "f1071cdb0b6b10dde94d3bc8a6146387", "file": "bios/c52.bin" } ] }, "videopacplus": { "name": "Videopac+ G7400", "biosFiles": [ { "md5": "c500ff71236068e0dc0d0603d265ae76", "file": "bios/g7400.bin" }, { "md5": "279008e4a0db2dc5f1c048853b033828", "file": "bios/jopac.bin" } ] }, # ---------- Mattel ---------- # # https://docs.libretro.com/library/freeintv/#bios "intellivision": { "name": "Mattel Intellivision", "biosFiles": [ { "md5": "62e761035cb657903761800f4437b8af", "file": "bios/exec.bin" }, { "md5": "0cd5946c6473e42e8e4c2137785e427f", "file": "bios/grom.bin" } ] }, # ---------- NEC ---------- # # https://docs.libretro.com/library/beetle_pce_fast/#bios "pcengine": { "name": "PC Engine", "biosFiles": [ { "md5": "38179df8f4ac870017db21ebcbf53114", "file": "bios/syscard3.pce" } ] }, # https://docs.libretro.com/library/beetle_pc_fx/#bios "pcfx": { "name": "PC-FX", "biosFiles": [ { "md5": "08e36edbea28a017f79f8d4f7ff9b6d7", "file": "bios/pcfx.rom" } ] }, # https://docs.libretro.com/library/beetle_pce_fast/#bios "supergrafx": { "name": "Supergrafx", "biosFiles": [ { "md5": "38179df8f4ac870017db21ebcbf53114", "file": "bios/syscard3.pce" } ] }, # ---------- SNK ----------# "neogeo": { "name": "NeoGeo", "biosFiles": [ { "md5": "dffb72f116d36d025068b23970a4f6df", "file": "bios/neogeo.zip" } ] }, "neogeocd": { "name": "NeoGeo CD", "biosFiles": [ { "md5": "8834880c33164ccbe6476b559f3e37de", "file": "bios/neocd/neocd_f.rom" }, { "md5": "043d76d5f0ef836500700c34faef774d", "file": "bios/neocd/neocd_sf.rom" }, { "md5": "de3cf45d227ad44645b22aa83b49f450", "file": "bios/neocd/neocd_t.rom" }, { "md5": "f6325a33c6d63ea4b9162a3fa8c32727", "file": "bios/neocd/neocd_st.rom" }, { "md5": "11526d58d4c524daef7d5d677dc6b004", "file": "bios/neocd/neocd_z.rom" }, { "md5": "971ee8a36fb72da57aed01758f0a37f5", "file": "bios/neocd/neocd_sz.rom" }, { "md5": "5c2366f25ff92d71788468ca492ebeca", "file": "bios/neocd/front-sp1.bin" }, { "md5": "122aee210324c72e8a11116e6ef9c0d0", "file": "bios/neocd/top-sp1.bin" }, { "md5": "f39572af7584cb5b3f70ae8cc848aba2", "file": "bios/neocd/neocd.bin"}, { "md5": "08ca8b2dba6662e8024f9e789711c6fc", "file": "bios/neocd/uni-bioscd.rom"} ] }, # ---------- Sharp ---------- # # https://github.com/libretro/libretro-super/blob/master/dist/info/px68k_libretro.info "x68000": { "name": "Sharp x68000", "biosFiles": [ { "md5": "7fd4caabac1d9169e289f0f7bbf71d8e", "file": "bios/keropi/iplrom.dat" }, { "md5": "cb0a5cfcf7247a7eab74bb2716260269", "file": "bios/keropi/cgrom.dat" } ] }, # ---------- Panasonic, Sanyo and Goldstar ---------- # # https://github.com/libretro/libretro-super/blob/master/dist/info/opera_libretro.info "3do": { "name": "3DO", "biosFiles": [ { "md5": "f47264dd47fe30f73ab3c010015c155b", "file": "bios/panafz1.bin" }, { "md5": "51f2f43ae2f3508a14d9f56597e2d3ce", "file": "bios/panafz10.bin"}, { "md5": "8639fd5e549bd6238cfee79e3e749114", "file": "bios/goldstar.bin"} ] }, # ---------- Sega ---------- # # https://docs.libretro.com/library/flycast/#bios "dreamcast": { "name": "Dreamcast", "biosFiles": [ { "md5": "e10c53c2f8b90bab96ead2d368858623", "file": "bios/dc/dc_boot.bin" } ] }, # https://github.com/libretro/libretro-super/blob/master/dist/info/flycast_libretro.info "naomi": { "name": "Naomi", "biosFiles": [ { "md5": "eb4099aeb42ef089cfe94f8fe95e51f6", "file": "bios/dc/naomi.zip" } ] }, "atomiswave": { "name": "Atomiswave", "biosFiles": [ { "md5": "85254fbe320ca82a768ec2c26bb08def", "file": "bios/dc/awbios.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" } ] }, # https://docs.libretro.com/library/genesis_plus_gx/#bios "megadrive-msu":{ "name": "MSU-MD", "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" } ] }, # https://docs.libretro.com/library/beetle_saturn/#bios # https://github.com/libretro/libretro-super/blob/master/dist/info/yabasanshiro_libretro.info "saturn": { "name": "Sega Saturn", "biosFiles": [ { "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": "af5828fdff51384f99b3c4926be27762", "file": "bios/saturn_bios.bin" } ] }, # ---------- Sony Computer Entertainment ---------- # # https://docs.libretro.com/library/pcsx_rearmed/#bios "psx": { "name": "PSX", "biosFiles": [ { "md5": "c53ca5908936d412331790f4426c6c33", "file": "bios/psxonpsp660.bin" }, { "md5": "6e3735ff4c7dc899ee98981385f6f3d0", "file": "bios/scph101.bin" }, { "md5": "dc2b9bf8da62ec93e868cfd29f0d067d", "file": "bios/scph1001.bin" }, { "md5": "8dd7d5296a650fac7319bce665a6a53c", "file": "bios/scph5500.bin" }, { "md5": "490f666e1afb15b7362b406ed1cea246", "file": "bios/scph5501.bin" }, { "md5": "32736f17079d0b2b7024407c39bd3050", "file": "bios/scph5502.bin" }, { "md5": "1e68c231d0896b7eadcad1d7d8e76129", "file": "bios/scph7001.bin" } ] }, # https://pcsx2.net/config-guide/official-english-pcsx2-configuration-guide.html#Bios # use the last USA bios which can run NTSC and PAL games "ps2": { "name": "PS2", "biosFiles": [ { "md5": "21038400dc633070a78ad53090c53017", "file": "bios/ps2/ps2-0230a-20080220.bin" } ] }, # https://www.playstation.com/en-us/support/system-updates/ps3/ "ps3": { "name": "PS3", "biosFiles": [ { "md5": "05fe32f5dc8c78acbcd84d36ee7fdc5b", "file": "bios/PS3UPDAT.PUP" } ] }, # ---------- Nintendo ---------- # # https://docs.libretro.com/library/fceumm/#bios "fds": { "name": "Nintendo Family Computer Disk System", "biosFiles": [ { "md5": "ca30b50f880eb660a320674ed365ef7a", "file": "bios/disksys.rom" } ] }, # https://docs.libretro.com/library/melonds/#bios "nds": { "name": "Nintendo DS", "biosFiles": [ { "md5": "", "file": "bios/firmware.bin" }, # ideally - 94bc5094607c5e6598d50472c52f27f2 { "md5": "df692a80a5b1bc90728bc3dfc76cd948", "file": "bios/bios7.bin" }, { "md5": "a392174eb3e572fed6447e956bde4b25", "file": "bios/bios9.bin" }, { "md5": "559dae4ea78eb9d67702c56c1d791e81", "file": "bios/dsi_bios7.bin" }, { "md5": "87b665fce118f76251271c3732532777", "file": "bios/dsi_bios9.bin" }, { "md5": "", "file": "bios/dsi_firmware.bin" }, # ideally - 74f23348012d7b3e1cc216c47192ffeb { "md5": "", "file": "bios/dsi_nand.bin" } # ideally - d71edf897ddd06bf335feeb68edeb272 ] }, # https://docs.libretro.com/library/mgba/#bios "gba": { "name": "Nintendo Gameboy Advance", "biosFiles": [ { "md5": "a860e8c0b6d573d191e4ec7db1b1e4f6", "file": "bios/gba_bios.bin" }, { "md5": "32fbbd84168d3482956eb3c5051637f5", "file": "bios/gb_bios.bin" }, # Optional { "md5": "dbfce9db9deaa2567f6a84fde55f9680", "file": "bios/gbc_bios.bin" }, # Optional { "md5": "d574d4f9c12f305074798f54c091a8b4", "file": "bios/sgb_bios.bin" } ] }, # Optional # https://docs.libretro.com/library/snes9x/#bios "satellaview": { "name": "Satellaview", "biosFiles": [ { "md5": "96cf17bf589fcbfa6f8de2dc84f19fa2", "file": "bios/BS-X.bin" } ] }, "sufami": { "name": "Sufami", "biosFiles": [ { "md5": "d3a44ba7d42a74d3ac58cb9c14c6a5ca", "file": "bios/STBIOS.bin" } ] }, # https://docs.libretro.com/library/mesen-s/#bios "sgb": { "name": "Super Game Boy", "biosFiles": [ { "md5": "d574d4f9c12f305074798f54c091a8b4", "file": "bios/sgb_boot.bin" }, { "md5": "e0430bca9925fb9882148fd2dc2418c1", "file": "bios/sgb2_boot.bin" }, { "md5": "b15ddb15721c657d82c5bab6db982ee9", "file": "bios/SGB1.sfc" }, { "md5": "8ecd73eb4edf7ed7e81aef1be80031d5", "file": "bios/SGB2.sfc" } ] }, # ---------- Microsoft ---------- # # https://docs.libretro.com/library/fmsx/#bios "msx": { "name": "MSX", "biosFiles": [ { "md5": "364a1a579fe5cb8dba54519bcfcdac0d", "file": "bios/MSX.ROM" } ] }, "msx2": { "name": "MSX2", "biosFiles": [ { "md5": "ec3a01c91f24fbddcbcab0ad301bc9ef", "file": "bios/MSX2.ROM" }, { "md5": "2183c2aff17cf4297bdb496de78c2e8a", "file": "bios/MSX2EXT.ROM" } ] }, "msx2+": { "name": "MSX2+", "biosFiles": [ { "md5": "847cc025ffae665487940ff2639540e5", "file": "bios/MSX2P.ROM" }, { "md5": "7c8243c71d8f143b2531f01afa6a05dc", "file": "bios/MSX2PEXT.ROM" } ] }, "xbox": { "name": "Xbox", "biosFiles": [{ "md5": "d49c52a4102f6df7bcf8d0617ac475ed", "file": "bios/mcpx_1.0.bin" }, { "md5": "39cee882148a87f93cb440b99dde3ceb", "file": "bios/Complex_4627.bin" }] }, # ---------- Commodore ---------- # # https://github.com/libretro/libretro-super/blob/master/dist/info/puae_libretro.info # https://github.com/midwan/amiberry/wiki/Kickstart-ROMs-(BIOS) # https://fs-uae.net/docs/kickstarts "amiga500": { "name": "Amiga 500", "biosFiles": [ { "md5": "85ad74194e87c08904327de1a9443b7a", "file": "bios/amiga/kick33180.A500" }, { "md5": "dc10d7bdd1b6f450773dfb558477c230", "file": "bios/amiga/kick37175.A500" }, { "md5": "82a21c1890cae844b3df741f2762d48d", "file": "bios/amiga/kick34005.A500" }, # Amiga 600 kickstart. Not really needed but maybe someone out there will want to switch their model to Amiga 600. { "md5": "465646c9b6729f77eea5314d1f057951", "file": "bios/amiga/kick37350.A600" }, { "md5": "e40a5dfb3d017ba8779faba30cbd1c8e", "file": "bios/amiga/kick40063.A600" }, # The Amiga Forever equivalents. Really are these actually needed? Just so people don't have to rename their stuff? { "md5": "85ad74194e87c08904327de1a9443b7a", "file": "bios/amiga/amiga-os-120.rom" }, { "md5": "82a21c1890cae844b3df741f2762d48d", "file": "bios/amiga/amiga-os-130.rom" }, { "md5": "dc10d7bdd1b6f450773dfb558477c230", "file": "bios/amiga/amiga-os-204.rom" }, { "md5": "465646c9b6729f77eea5314d1f057951", "file": "bios/amiga/amiga-os-205.rom" }, { "md5": "e40a5dfb3d017ba8779faba30cbd1c8e", "file": "bios/amiga/amiga-os-310-a600.rom" }] }, "amigacdtv": { "name": "Amiga CDTV", "biosFiles": [ { "md5": "82a21c1890cae844b3df741f2762d48d", "file": "bios/amiga/kick34005.A500" }, { "md5": "89da1838a24460e4b93f4f0c5d92d48d", "file": "bios/amiga/kick34005.CDTV" }, # CDTV requires both the Amiga 500 kickstart and its own extended kickstart. { "md5": "82a21c1890cae844b3df741f2762d48d", "file": "bios/amiga/amiga-os-130.rom" }, { "md5": "89da1838a24460e4b93f4f0c5d92d48d", "file": "bios/amiga/amiga-ext-130-cdtv.rom" }] }, "amiga1200": { "name": "Amiga 1200", "biosFiles": [ { "md5": "b7cc148386aa631136f510cd29e42fc3", "file": "bios/amiga/kick39106.A1200" }, { "md5": "646773759326fbac3b2311fd8c8793ee", "file": "bios/amiga/kick40068.A1200" }, { "md5": "9bdedde6a4f33555b4a270c8ca53297d", "file": "bios/amiga/kick40068.A4000" }, # The Amiga Forever equivalents. a3000 seems to not have a kickstart equivalent. amiga-os-310.rom doesn't match libretro's docs. { "md5": "b7cc148386aa631136f510cd29e42fc3", "file": "bios/amiga/amiga-os-300-a1200.rom" }, { "md5": "646773759326fbac3b2311fd8c8793ee", "file": "bios/amiga/amiga-os-310-a1200.rom" }, { "md5": "413590e50098a056cfec418d3df0212d", "file": "bios/amiga/amiga-os-310-a3000.rom" }, { "md5": "9bdedde6a4f33555b4a270c8ca53297d", "file": "bios/amiga/amiga-os-310-a4000.rom" }, { "md5": "730888fb1bd9a3606d51f772ed136528", "file": "bios/amiga/amiga-os-310.rom" }] }, "amigacd32": { "name": "Amiga CD32", "biosFiles": [ { "md5": "5f8924d013dd57a89cf349f4cdedc6b1", "file": "bios/amiga/kick40060.CD32" }, { "md5": "bb72565701b1b6faece07d68ea5da639", "file": "bios/amiga/kick40060.CD32.ext" }, # Unlike the CDTV, CD32 does not need the Amiga 1200 kickstart. # But, it has its own unique "base" anyway, which is required in addition to its extended. { "md5": "5f8924d013dd57a89cf349f4cdedc6b1", "file": "bios/amiga/amiga-os-310-cd32.rom" }, { "md5": "bb72565701b1b6faece07d68ea5da639", "file": "bios/amiga/amiga-ext-310-cd32.rom" }] }, # ---------- NEC PC-6000 ---------- # # PC-6001 (Japan) "pc60": { "name": "NEC PC-6000", "biosFiles": [ { "md5": "2a13a60acf99a659144655b6c9e39b92", "zippedFile": "basicrom.60", "file": "bios/pc6001.zip" }, { "md5": "9153f89e83f94f5d1cfe0a4e75d03372", "zippedFile": "cgrom60.60", "file": "bios/pc6001.zip" }, { "md5": "240738391e23f9b0337ab122df8ed7c0", "zippedFile": "upd8049.ic17", "file": "bios/pc6001.zip" }, # PC-6001A (US) { "md5": "8665e123c7d6b167677153f05a2f9c86", "zippedFile": "basicrom.60a", "file": "bios/pc6001a.zip" }, { "md5": "7a740d0745e32e171115122442af909c", "zippedFile": "cgrom60.60a", "file": "bios/pc6001a.zip" }, # PC-6001mkII (Japan) { "md5": "ec0fced1d7f242a823c6d6ebf9772045", "zippedFile": "basicrom.62", "file": "bios/pc6001mk2.zip" }, { "md5": "808a4172c0e9cf2adf7c44fc8c549151", "zippedFile": "cgrom60.62", "file": "bios/pc6001mk2.zip" }, { "md5": "21f8cf17035d05e3b6b792f43246b1c0", "zippedFile": "cgrom60m.62", "file": "bios/pc6001mk2.zip" }, { "md5": "638ea8e59a73fa4d8c6a6153b500dab9", "zippedFile": "kanjirom.62", "file": "bios/pc6001mk2.zip" }, { "md5": "8b2e909ba293170e462057ba932ff57c", "zippedFile": "voicerom.62", "file": "bios/pc6001mk2.zip" }, # PC-6001mkIISR (Japan) { "md5": "bef7865bdc29009350e308935a8b2b17", "zippedFile": "systemrom1.64", "file": "bios/pc6001mk2sr.zip" }, { "md5": "7eca26109db4c664826018a0d2e1d0d7", "zippedFile": "systemrom2.64", "file": "bios/pc6001mk2sr.zip" }, { "md5": "9d61f3cbd47c4a281c5241c4f1d80919", "zippedFile": "cgrom68.64", "file": "bios/pc6001mk2sr.zip" } ] }, # ---------- NEC PC-8800 ---------- # # https://github.com/RetroPie/RetroPie-Setup/wiki/PC-8800 "pc88": { "name": "NEC PC-8800", "biosFiles": [ { "md5": "4f984e04a99d56c4cfe36115415d6eb8", "file": "bios/quasi88/N88.ROM" }, { "md5": "793f86784e5608352a5d7f03f03e0858", "file": "bios/quasi88/N88SUB.ROM" }, { "md5": "2ff07b8769367321128e03924af668a0", "file": "bios/quasi88/N88N.ROM" }, { "md5": "d81c6d5d7ad1a4bbbd6ae22a01257603", "file": "bios/quasi88/N88KNJ1.ROM" }, { "md5": "d675a2ca186c6efcd6277b835de4c7e5", "file": "bios/quasi88/N88EXT0.ROM" }, { "md5": "e844534dfe5744b381444dbe61ef1b66", "file": "bios/quasi88/N88EXT1.ROM" }, { "md5": "6548fa45061274dee1ea8ae1e9e93910", "file": "bios/quasi88/N88EXT2.ROM" }, { "md5": "fc4b76a402ba501e6ba6de4b3e8b4273", "file": "bios/quasi88/N88EXT3.ROM" } ] }, # ---------- NEC PC-9800 ---------- # # https://github.com/RetroPie/RetroPie-Setup/wiki/PC-9800#bios "pc98": { "name": "NEC PC-9800", "biosFiles": [ { "md5": "e246140dec5124c5e404869a84caefce", "file": "bios/np2kai/BIOS.ROM" }, { "md5": "2af6179d7de4893ea0b705c00e9a98d6", "file": "bios/np2kai/FONT.ROM" }, { "md5": "caf90f22197aed6f14c471c21e64658d", "file": "bios/np2kai/SOUND.ROM"}, { "md5": "e9fc3890963b12cf15d0a2eea5815b72", "file": "bios/np2kai/ITF.ROM" }, { "md5": "7da1e5b7c482d4108d22a5b09631d967", "file": "bios/np2kai/font.bmp" } ] }, # ---------- Casio Loopy ---------- # "loopy": { "name": "Casio Loopy", "biosFiles": [ { "md5": "0e1d8dc0110ecf8201c0cef11ef4a858", "file": "bios/casloopy.zip" }, { "md5": "d527e3ed1bf9bd0661154c202a65c5bd", "zippedFile": "hd6437021.lsi302", "file": "bios/casloopy.zip" }, { "md5": "c0f1c899c9ca098663d046d60779711d", "zippedFile": "hn62434fa.lsi352", "file": "bios/casloopy.zip" } ] }, # ---------- Fairchild ChannelF ---------- # # https://github.com/libretro/FreeChaF/blob/master/README.md#bios "channelf": { "name": "Fairchild ChannelF", "biosFiles": [ { "md5": "ac9804d4c0e9d07e33472e3726ed15c3", "file": "bios/sl31253.bin" }, { "md5": "da98f4bb3242ab80d76629021bb27585", "file": "bios/sl31254.bin" }, { "md5": "95d339631d867c8f1d15a5f2ec26069d", "file": "bios/sl90025.bin" } ] }, # ---------- Sharp X1 ---------- # # https://github.com/libretro/xmil-libretro/blob/master/README.MD "x1": { "name": "Sharp X1", "biosFiles": [ { "md5": "eeeea1cd29c6e0e8b094790ae969bfa7", "file": "bios/xmil/IPLROM.X1" }, { "md5": "56c28adcf1f3a2f87cf3d57c378013f5", "file": "bios/xmil/iplrom.x1t" } ] }, # ---------- 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"} ] }, # ---------- GamePark GP32 ---------- # "gp32": { "name": "GamePark GP32", "biosFiles": [ { "md5": "", "file": "bios/gp32.zip" }, { "md5": "e64ad881b5e1d86547f2edc3034946d9", "zippedFile": "x2c32.jed", "file": "bios/gp32.zip"}, { "md5": "f78092f15f6ffe15975901ee4e92c680", "zippedFile": "gp32166m.bin", "file": "bios/gp32.zip"}, { "md5": "19021cc891119c0872d46e87fc0ffe35", "zippedFile": "gp32157e.bin", "file": "bios/gp32.zip"}, { "md5": "1e4d3216719acea231b81dfcf6069aef", "zippedFile": "gp32156k.bin", "file": "bios/gp32.zip"}, { "md5": "cac4b56c0db80922cae75403faef40af", "zippedFile": "gp32100k.bin", "file": "bios/gp32.zip"}, { "md5": "d4af2bc352bdaf4972ea40902feda114", "zippedFile": "gp32mfv2.bin", "file": "bios/gp32.zip"} ] }, # ---------- VTech Laser 310 ---------- # "laser310": { "name": "VTech Laser 310", "biosFiles": [ { "md5": "", "file": "bios/laser310.zip" }, { "md5": "42c8f9e6c2133ae0e953b89ccbbdb7e2", "zippedFile": "vtechv20.u12", "file": "bios/laser310.zip"}, { "md5": "f7e5d9a3eb2b57bf5f4e2a4565318a8f", "zippedFile": "vtechv21.u12", "file": "bios/laser310.zip"} ] }, # ---------- Super Cassette Vision ---------- # "scv": { "name": "Super Cassette Vision", "biosFiles": [ { "md5": "635a978fd40db9a18ee44eff449fc126", "file": "bios/upd7801g.s01" } ] }, # ---------- Apple 2 GS ---------- # "gsplus": { "name": "Apple 2 GS", "biosFiles": [ { "md5": "20a0334c447cb069a040ae5be1d938df", "file": "bios/ROM1" } ] }, # ---------- Zelda Classic ---------- # "zc210": { "name": "Zelda Classic", "biosFiles": [ { "md5": "033d7392985841027909c4c32b9f2076", "file": "bios/zc210/zcdata.dat" }, { "md5": "39e5bc84ce9aac3a2d297d8aeb2a0d05", "file": "bios/zc210/sf2/default.sf2" }, { "md5": "e0ba7a8634b12cfee4b6760a6f89051a", "file": "bios/zc210/sf2/custom0.sf2" }, { "md5": "c1dc781c34cff8f9a023c0192754dc6c", "file": "bios/zc210/sf2/custom1.sf2" }, { "md5": "144fcdbb6a30f1f916f6963006c2da97", "file": "bios/zc210/sf2/custom2.sf2" }, { "md5": "134d217fb99c3be1e89cfaf8f28280d8", "file": "bios/zc210/sf2/custom3.sf2" }, { "md5": "b37366199c6df9ee5316f031755aa821", "file": "bios/zc210/sf2/custom4.sf2" }, { "md5": "64068b84eb88dc85b75148bbe9b393fb", "file": "bios/zc210/sf2/custom5.sf2" }, { "md5": "1241986de5b1d00b02d34f1e6651a1d1", "file": "bios/zc210/sf2/custom6.sf2" }, { "md5": "386db0d538f372a9f1af622d1e934abf", "file": "bios/zc210/sf2/custom7.sf2" }, { "md5": "6f68e4baf89c8ee4623c19617319184b", "file": "bios/zc210/sf2/custom8.sf2" }, { "md5": "2010e5b85f9e1d60685ccb3d84a17115", "file": "bios/zc210/sf2/custom9.sf2" }, { "md5": "e0ba7a8634b12cfee4b6760a6f89051a", "file": "bios/zcsf.sf2" } ] }, # ---------- Apple Mac ---------- # "macintosh": { "name": "Apple Macintosh", "biosFiles": [ { "md5": "66223be1497460f1e60885eeb35e03cc", "file": "bios/MacII.ROM", "emulator": "libretro", "core": "minivmac" }, { "md5": "2a8a4c7f2a38e0ab0771f59a9a0f1ee4", "file": "bios/MacIIx.ROM", "emulator": "libretro", "core": "minivmac" }, { "md5": "", "file": "bios/mac128k.zip", "emulator": "libretro", "core": "mame" }, { "md5": "bc04a4252ee96826c1f41f927c145225", "zippedFile": "342-0220-a.u6d", "file": "bios/mac128k.zip", "emulator": "libretro", "core": "mame" }, { "md5": "409d8b9a04db15b7bfbbd5fcb931bf2e", "zippedFile": "342-0221-a.u8d", "file": "bios/mac128k.zip", "emulator": "libretro", "core": "mame" }, { "md5": "", "file": "bios/mackbd_m0110.zip", "emulator": "libretro", "core": "mame" }, { "md5": "9d09a9a51c9ef3ea5719e19db22e7901", "zippedFile": "ip8021h_2173.bin", "file": "bios/mackbd_m0110.zip", "emulator": "libretro", "core": "mame" }, { "md5": "", "file": "bios/mackbd_m0120.zip", "emulator": "libretro", "core": "mame" }, { "md5": "9d09a9a51c9ef3ea5719e19db22e7901", "zippedFile": "ip8021h_2173.bin", "file": "bios/mackbd_m0120.zip", "emulator": "libretro", "core": "mame" }, { "md5": "", "file": "bios/mac512k.zip", "emulator": "libretro", "core": "mame" }, { "md5": "b4118b89fa68a913a225f0cf9a751fae", "zippedFile": "342-0220-b.u6d", "file": "bios/mac512k.zip", "emulator": "libretro", "core": "mame" }, { "md5": "ab4e461833e98ef7106f24455a07769d", "zippedFile": "342-0221-b.u8d", "file": "bios/mac512k.zip", "emulator": "libretro", "core": "mame" }, { "md5": "", "file": "bios/macplus.zip", "emulator": "libretro", "core": "mame" }, { "md5": "1467a42dee57ac265d063b3f351189fc", "zippedFile": "342-0341-a.u6d", "file": "bios/macplus.zip", "emulator": "libretro", "core": "mame" }, { "md5": "25b1bf85b3b072d957499cef4d7e313f", "zippedFile": "342-0341-b.u6d", "file": "bios/macplus.zip", "emulator": "libretro", "core": "mame" }, { "md5": "cf7c3259844245a8967556fa40d81243", "zippedFile": "342-0341-c.u6d", "file": "bios/macplus.zip", "emulator": "libretro", "core": "mame" }, { "md5": "d5584762b43a9b1cb24a981f9b9b4198", "zippedFile": "342-0342-a.u8d", "file": "bios/macplus.zip", "emulator": "libretro", "core": "mame" }, { "md5": "f83069fd7ff1fb011958f819cbff4c88", "zippedFile": "342-0342-b.u8d", "file": "bios/macplus.zip", "emulator": "libretro", "core": "mame" }, { "md5": "875919e2544644cd628f44b5c11db036", "zippedFile": "modplus-harp2.bin", "file": "bios/macplus.zip", "emulator": "libretro", "core": "mame" }, { "md5": "efcefe8f11c10541a503d48a07878201", "zippedFile": "rominator-20150225-hi.bin", "file": "bios/macplus.zip", "emulator": "libretro", "core": "mame" }, { "md5": "f4b06da98500df0747a764dfbf1862b9", "zippedFile": "rominator-20150225-lo.bin", "file": "bios/macplus.zip", "emulator": "libretro", "core": "mame" }, { "md5": "", "file": "bios/macse.zip", "emulator": "libretro", "core": "mame" }, { "md5": "9fb38bdcc0d53d9d380897ee53dc1322", "zippedFile": "macse.rom", "file": "bios/macse.zip", "emulator": "libretro", "core": "mame" }, { "md5": "", "file": "bios/macclasc.zip", "emulator": "libretro", "core": "mame" }, { "md5": "c229bb677cb41b84b780c9e38a09173e", "zippedFile": "341-0813__=c=1983-90_apple__japan__910d_d.27c4096_be.ue1", "file": "bios/macclasc.zip", "emulator": "libretro", "core": "mame" }, { "md5": "", "file": "bios/mac2fdhd.zip", "emulator": "libretro", "core": "mame" }, { "md5": "2a8a4c7f2a38e0ab0771f59a9a0f1ee4", "zippedFile": "97221136.rom", "file": "bios/mac2fdhd.zip", "emulator": "libretro", "core": "mame" }, { "md5": "", "file": "bios/nb_mdc824.zip", "emulator": "libretro", "core": "mame" }, { "md5": "7500a6a958247ee6e092f08715f2fff8", "zippedFile": "3410868.bin", "file": "bios/nb_mdc824.zip", "emulator": "libretro", "core": "mame" }, { "md5": "", "file": "bios/maciix.zip", "emulator": "libretro", "core": "mame" }, { "md5": "2a8a4c7f2a38e0ab0771f59a9a0f1ee4", "zippedFile": "97221136.rom", "file": "bios/maciix.zip", "emulator": "libretro", "core": "mame" }, { "md5": "", "file": "bios/maclc3.zip", "emulator": "libretro", "core": "mame" }, { "md5": "fa16d49527c4e6e9c0d9e46904133d39", "zippedFile": "ecbbc41c.rom", "file": "bios/maclc3.zip", "emulator": "libretro", "core": "mame" }, { "md5": "", "file": "bios/mackbd_m0110a.zip", "emulator": "libretro", "core": "mame" }, { "md5": "9e8ea1552153c5e0f895e247e7d3ec1c", "zippedFile": "341-0332-a.bin", "file": "bios/mackbd_m0110a.zip", "emulator": "libretro", "core": "mame" }, { "md5": "", "file": "bios/nb_image.zip", "emulator": "libretro", "core": "mame" }, { "md5": "93155ac7bad0fec36837252bb1e408f2", "zippedFile": "nb_fake.bin", "file": "bios/nb_image.zip", "emulator": "libretro", "core": "mame" }, { "md5": "", "file": "bios/egret.zip", "emulator": "libretro", "core": "mame" }, { "md5": "96665499f5cf2bb5b4aae6fdaf0a9fb5", "zippedFile": "341s0850.bin", "file": "bios/egret.zip", "emulator": "libretro", "core": "mame" }, { "md5": "b955ecbdf6d2f979f3683dd1d6884643", "zippedFile": "341s0851.bin", "file": "bios/egret.zip", "emulator": "libretro", "core": "mame" }, { "md5": "5035d321c5d5fa1eab5ce6bf986676e4", "zippedFile": "344s0100.bin", "file": "bios/egret.zip", "emulator": "libretro", "core": "mame" }, { "md5": "", "file": "bios/adbmodem.zip", "emulator": "libretro", "core": "mame" }, { "md5": "862b8598cecdbc934658c4cb599a8142", "zippedFile": "342s0440-b.bin", "file": "bios/adbmodem.zip", "emulator": "libretro", "core": "mame" }, { "md5": "", "file": "bios/macos3.img", "emulator": "libretro", "core": "mame" }, { "md5": "", "file": "bios/macos608.img", "emulator": "libretro", "core": "mame" }, { "md5": "", "file": "bios/macos701.img", "emulator": "libretro", "core": "mame" }, { "md5": "", "file": "bios/macos75.img", "emulator": "libretro", "core": "mame" }, { "md5": "", "file": "bios/mac608.chd", "emulator": "libretro", "core": "mame" }, { "md5": "", "file": "bios/mac701.chd", "emulator": "libretro", "core": "mame" }, { "md5": "", "file": "bios/mac755.chd", "emulator": "libretro", "core": "mame" } ] }, # ---------- Sega AI Computer ---------- # "segaai": { "name": "Sega AI Computer", "biosFiles": [ { "md5": "", "file": "bios/segaai.zip" } ] }, # ---------- Sega Advanced Pico Beena ---------- # "beena": { "name": "Advanced Pico Beena", "biosFiles": [ { "md5": "", "file": "bios/beena.zip" } ] }, # ---------- Tandy Color Conputer ---------- # "coco": { "name": "Tandy Color Computer", "biosFiles": [ { "md5": "", "file": "bios/coco.zip" }, { "md5": "a74f3d95b395dad7cdca19d560eeea74", "zippedFile": "bas10.rom", "file": "bios/coco.zip"}, { "md5": "", "file": "bios/coco2.zip" }, { "md5": "c933316c7d939532a13648850c1c2aa6", "zippedFile": "bas12.rom", "file": "bios/coco2.zip"}, { "md5": "21070aa0496142b886c562bf76d7c113", "zippedFile": "extbas11.rom", "file": "bios/coco2.zip"}, { "md5": "", "file": "bios/coco2b.zip" }, { "md5": "c2fc43556eb6b7b25bdf5955bd9df825", "zippedFile": "bas13.rom", "file": "bios/coco2b.zip"}, { "md5": "21070aa0496142b886c562bf76d7c113", "zippedFile": "extbas11.rom", "file": "bios/coco2.zip"}, { "md5": "", "file": "bios/coco3.zip" }, { "md5": "7233c6c429f3ce1c7392f28a933e0b6f", "zippedFile": "coco3.rom", "file": "bios/coco3.zip"}, { "md5": "", "file": "bios/coco3p.zip" }, { "md5": "4ae57e5a8e7494e5485446fefedb580b", "zippedFile": "coco3p.rom", "file": "bios/coco3p.zip"}, { "md5": "", "file": "bios/coco_fdc_v11.zip" }, { "md5": "8cab28f4b7311b8df63c07bb3b59bfd5", "zippedFile": "disk11.rom", "file": "bios/coco_fdc_v11.zip"} ] }, # ---------- Colour Genie ---------- # "cgenie": { "name": "Colour Genie", "biosFiles": [ { "md5": "", "file": "bios/cgenie.zip" } ] }, # ---------- Dragon 64 ---------- # "dragon64": { "name": "Dragon 64", "biosFiles": [ { "md5": "", "file": "bios/dragon64.zip" }, { "md5": "5f0bee59710e55f5880e74890912ed78", "zippedFile": "d64_1.rom", "file": "bios/dragon64.zip"}, { "md5": "fd91edce7be5e7c2d88e46b76956a8aa", "zippedFile": "d64_2.rom", "file": "bios/dragon64.zip"}, { "md5": "", "file": "bios/dragon32.zip" }, { "md5": "", "zippedFile": "d32.rom", "file": "bios/dragon32.zip"} ] }, # ---------- Tandy MC-10 ---------- # "mc10": { "name": "Tandy MC-10", "biosFiles": [ { "md5": "", "file": "bios/mc10.zip" }, { "md5": "f29e94ff36577ffb6a787959e45bfe85", "zippedFile": "mc10.rom", "file": "bios/mc10.zip"}, { "md5": "", "file": "bios/alice.zip" }, { "md5": "78af465c2f31cf4e05dec1efda77da01", "zippedFile": "alice.rom", "file": "bios/alice.zip"} ] }, # ---------- TRS-80 ---------- # "trs80": { "name": "TRS-80", "biosFiles": [ { "md5": "", "file": "bios/trs80.zip" }, { "md5": "", "zippedFile": "level1.rom", "file": "bios/trs80.zip"}, { "md5": "", "file": "bios/trs80m3.zip" }, { "md5": "", "file": "bios/trs80m4.zip" }, { "md5": "", "zippedFile": "8043216.u11", "file": "bios/trs80m4.zip"}, { "md5": "", "file": "bios/trs80m4p.zip" } ] }, # ---------- Tomy Tutor ---------- # "tutor": { "name": "Tomy Tutor", "biosFiles": [ { "md5": "", "file": "bios/tutor.zip" }, { "md5": "196ba41dd1184fe754390534cc273116", "zippedFile": "tutor1.bin", "file": "bios/tutor.zip"}, { "md5": "5770834c10946ac2c3617504ba530884", "zippedFile": "tutor2.bin", "file": "bios/tutor.zip"} ] }, # ---------- TI-99 ---------- # "ti99": { "name": "Texas Instruments TI-99", "biosFiles": [ { "md5": "", "file": "bios/ti99_4a.zip" }, { "md5": "9bb51dfab49b9a7cf832cc1fb6f203e6", "zippedFile": "994a_grom0.u500", "file": "bios/ti99_4a.zip"}, { "md5": "7f1864c3dac31c86e2ae6ce43ccead07", "zippedFile": "994a_grom1.u501", "file": "bios/ti99_4a.zip"}, { "md5": "a1f77a07243a334e13509a89bff944f2", "zippedFile": "994a_grom2.u502", "file": "bios/ti99_4a.zip"}, { "md5": "6f495eef767b3f2821a2ec32d0047891", "zippedFile": "994a_rom_hb.u610", "file": "bios/ti99_4a.zip"}, { "md5": "0dcb961cf84c69b2171a565427c7c6c7", "zippedFile": "994a_rom_lb.u611", "file": "bios/ti99_4a.zip"}, { "md5": "", "file": "bios/ti99_speech.zip" }, { "md5": "491c1195f6345cb6b725096b69d81ec9", "zippedFile": "cd2325a.u2a", "file": "bios/ti99_speech.zip"}, { "md5": "206daf498ac5d0141de1d47d38afd899", "zippedFile": "cd2326a.u2b", "file": "bios/ti99_speech.zip"} ] }, # ---------- Bally Astrocade ---------- # "astrocade": { "name": "Bally Astrocade", "biosFiles": [ { "md5": "", "file": "bios/astrocde.zip" }, { "md5": "7d25a26e5c4841b364cfe6b1735eaf03", "zippedFile": "astro.bin", "file": "bios/astrocde.zip"}, ] }, # ---------- Game Master ---------- # "gmaster": { "name": "Hartung Game Master", "biosFiles": [ { "md5": "", "file": "bios/gmaster.zip" }, { "md5": "6bff08b5e5f96de405cd56d5f04a08f8", "zippedFile": "d78c11agf_e19.u1", "file": "bios/gmaster.zip"}, ] }, # ---------- Coleco Adam ---------- # "adam": { "name": "Coleco Adam", "biosFiles": [ { "md5": "", "file": "bios/adam.zip" }, { "md5": "01bba3bcd46d8a586dd6ec555accc133", "zippedFile": "alf @1 rev 57 e3d5.u8", "file": "bios/adam.zip"}, { "md5": "feabe33e8f2dab88da1458b4d27f3faa", "zippedFile": "alf @2 rev 57 ae6a.u20", "file": "bios/adam.zip"}, { "md5": "a720bc872a772ed471fac14e36ec8bcb", "zippedFile": "alf @3 rev 57 8534.u21", "file": "bios/adam.zip"}, { "md5": "cf10b154f2e006a9740d7653cfc47cab", "zippedFile": "eos 6 rev 57 08dd.u22", "file": "bios/adam.zip"}, { "md5": "7916bb9635d502366326ec39aea5fc89", "zippedFile": "master rev a 174b.u6", "file": "bios/adam.zip"}, { "md5": "2c66f5911e5b42b8ebe113403548eee7", "zippedFile": "os7.u2", "file": "bios/adam.zip"}, { "md5": "4fe4f6800076ea3d897d4285653447bd", "zippedFile": "wp_r80.rom", "file": "bios/adam.zip"}, { "md5": "", "file": "bios/adam_ddp.zip" }, { "md5": "0423e9e9bf5036aa1e9d656b6a1f842c", "zippedFile": "tape rev a 8865.u24", "file": "bios/adam_ddp.zip"}, { "md5": "", "file": "bios/adam_fdc.zip" }, { "md5": "ae12d0b83832b059cb6cb43029bbfdb3", "zippedFile": "1440k micro innovations hd-dd.u10", "file": "bios/adam_fdc.zip"}, { "md5": "4c38a7df1e645c8d9f417bf7165c46d0", "zippedFile": "320ta.u10", "file": "bios/adam_fdc.zip"}, { "md5": "afea14c826f3cfbc89b76725a4a41951", "zippedFile": "a720dipi 7607 mmsg =c= 1988.u10", "file": "bios/adam_fdc.zip"}, { "md5": "976d2a7d85319d9104bc9ec176fbfa9c", "zippedFile": "adam disk u10 ad 31 rev a 09-27-84.u10", "file": "bios/adam_fdc.zip"}, { "md5": "29569dc029e95e48907b3c81d636987f", "zippedFile": "dbl2-4.u10", "file": "bios/adam_fdc.zip"}, { "md5": "a121855c20a638429bbfcf0448349515", "zippedFile": "doug.u10", "file": "bios/adam_fdc.zip"}, { "md5": "e05ababa16e2d5cb92b678cb6e6e2004", "zippedFile": "fastpack 720a,t.u10", "file": "bios/adam_fdc.zip"}, { "md5": "a1a2a353dea4b8769a2da733822abfdc", "zippedFile": "pmhdfdc.u10", "file": "bios/adam_fdc.zip"}, { "md5": "", "file": "bios/adam_kb.zip" }, { "md5": "d81e0b2bb6b98999541c5f40b489e88f", "zippedFile": "keyboard.u2", "file": "bios/adam_kb.zip"}, { "md5": "", "file": "bios/adam_prn.zip" }, { "md5": "3cdf2fe48ac4224b56f26c03f6c68982", "zippedFile": "printer.u2", "file": "bios/adam_prn.zip"}, ] }, # ---------- ColecoVision ---------- # "colecovision": { "name": "ColecoVision", "biosFiles": [ { "md5": "2c66f5911e5b42b8ebe113403548eee7", "file": "bios/colecovision.rom" } ] }, # ---------- BBC Micro ---------- # "bbc": { "name": "BBC Micro", "biosFiles": [ { "md5": "", "file": "bios/bbcb.zip" }, { "md5": "521a197d3623682825f1042c1350feb4", "zippedFile": "basic1.rom", "file": "bios/bbcb.zip"}, { "md5": "2cc67be4624df4dc66617742571a8e3d", "zippedFile": "basic2.rom", "file": "bios/bbcb.zip"}, { "md5": "0cad3d0cf0d111aca2b158b9b605913f", "zippedFile": "os01.rom", "file": "bios/bbcb.zip"}, { "md5": "46f920a170e88bab7faa96cf80b84324", "zippedFile": "os092.rom", "file": "bios/bbcb.zip"}, { "md5": "0199bac73f1dbca291582834a3e61122", "zippedFile": "os10.rom", "file": "bios/bbcb.zip"}, { "md5": "0a59a5ba15fe8557b5f7fee32bbd393a", "zippedFile": "os12.rom", "file": "bios/bbcb.zip"}, { "md5": "35e9ab10bcf016bd24b4c716add009b9", "zippedFile": "phroma.bin", "file": "bios/bbcb.zip"}, { "md5": "", "file": "bios/bbc_acorn8271.zip" }, { "md5": "803530149c274994fabc6d28cbe03679", "zippedFile": "dfs090.rom", "file": "bios/bbc_acorn8271.zip"}, { "md5": "5a3ddfae96178e025f27bf1f69bfa629", "zippedFile": "dfs098.rom", "file": "bios/bbc_acorn8271.zip"}, { "md5": "d636ffb7a80fc29b133d32e4250fbab6", "zippedFile": "dnfs100.rom", "file": "bios/bbc_acorn8271.zip"}, { "md5": "5daed103918277e2065dd7e8d23e57a5", "zippedFile": "dnfs120.rom", "file": "bios/bbc_acorn8271.zip"}, { "md5": "79b31feacab0b1ccddf358be5dfb6241", "zippedFile": "wedfs130.rom", "file": "bios/bbc_acorn8271.zip"}, { "md5": "24458ace9566a01d255bca16b46a960d", "zippedFile": "wedfs141.rom", "file": "bios/bbc_acorn8271.zip"}, { "md5": "6e9356d0a5e7fbabb386824ec370d6f3", "zippedFile": "wedfs142.rom", "file": "bios/bbc_acorn8271.zip"}, { "md5": "990b8a9755af25452c85f23ceb344be4", "zippedFile": "wedfs143.rom", "file": "bios/bbc_acorn8271.zip"}, { "md5": "1d250b0242e447e9106e8bfd1f27ea84", "zippedFile": "wedfs144.rom", "file": "bios/bbc_acorn8271.zip"}, { "md5": "", "file": "bios/saa5050.zip" }, { "md5": "8b3c10a2317808ed94d6c6073b5b3327", "zippedFile": "saa5050", "file": "bios/saa5050.zip"}, { "md5": "", "file": "bios/bbc_tube_80186.zip" }, { "md5": "33d097349f12526584fcac21eccf3012", "zippedFile": "m512_hi_ic32.rom", "file": "bios/bbc_tube_80186.zip"}, { "md5": "e6e84221c29b5d31d07055039583c8e7", "zippedFile": "m512_lo_ic31.rom", "file": "bios/bbc_tube_80186.zip"}, { "md5": "", "file": "bios/bbcm.zip" }, { "md5": "b159012f9f301bab33316fd3bf55db79", "zippedFile": "mos320.cmos", "file": "bios/bbcm.zip"}, { "md5": "fed079c5e2c595b354529a8ea703b5fb", "zippedFile": "mos320.ic24", "file": "bios/bbcm.zip"}, { "md5": "ca0527f13f83bc95ef4b6833ee440afa", "zippedFile": "mos329.ic24", "file": "bios/bbcm.zip"}, { "md5": "ee9fc46252b7d7fe341b9c7f92575099", "zippedFile": "mos350.cmos", "file": "bios/bbcm.zip"}, { "md5": "3f3dd4614db30f6e383794731272076a", "zippedFile": "mos350.ic24", "file": "bios/bbcm.zip"}, { "md5": "", "file": "bios/bbcmc.zip" }, { "md5": "55586a88477505d8fd28edfae646e2e3", "zippedFile": "mos500.ic49", "file": "bios/bbcmc.zip"}, { "md5": "956bf71da840943050836ade2474ef7b", "zippedFile": "mos510.ic49", "file": "bios/bbcmc.zip"}, { "md5": "", "file": "bios/bbc_bitstik1.zip" }, { "md5": "baf5cb5564ff6e6b4400243e7612f323", "zippedFile": "bitstik1.rom", "file": "bios/bbc_bitstik1.zip"}, { "md5": "", "file": "bios/bbc_bitstik2.zip" }, { "md5": "c196c145b3de630f85f625ca762e5504", "zippedFile": "bitstik2.rom", "file": "bios/bbc_bitstik2.zip"}, { "md5": "", "file": "bios/mame/samples/bbc.zip" }, { "md5": "9240120e32a59caabc6f5d462f87d683", "zippedFile": "motoroff.wav", "file": "bios/mame/samples/bbc.zip"}, { "md5": "9d63bdc91cef4eda5e1a110e75c848fb", "zippedFile": "motoron.wav", "file": "bios/mame/samples/bbc.zip"}, { "md5": "2cc67be4624df4dc66617742571a8e3d", "file": "bios/Acorn/basic2.rom"}, { "md5": "0a59a5ba15fe8557b5f7fee32bbd393a", "file": "bios/BBCMicro/os12.rom"}, { "md5": "f083f49d6fe66344c650d7e74249cb96", "file": "bios/BBCMicro/dfs-2.26.rom"} ] }, # ---------- Amstrad PCW ---------- # "pcw": { "name": "Amstrad PCW", "biosFiles": [ { "md5": "", "file": "bios/pcw8256.zip" }, { "md5": "a846b928562ca8281bc279f41b475a06", "zippedFile": "40026.ic701", "file": "bios/pcw8256.zip"}, { "md5": "cefe4b0b7c701c1a80130e3390b007f5", "zippedFile": "40027.ic801", "file": "bios/pcw8256.zip"}, { "md5": "", "file": "bios/pcw9512.zip" }, { "md5": "b664af93987d575b0248832832c61505", "zippedFile": "40103.ic109", "file": "bios/pcw9512.zip"} ] }, # ---------- APF M-1000 ---------- # "apfm1000": { "name": "APF M-1000", "biosFiles": [ { "md5": "", "file": "bios/apfm1000.zip" }, { "md5": "1f4a976350202ee1e32c2b0477c3fc1b", "zippedFile": "apf_4000.rom", "file": "bios/apfm1000.zip"}, { "md5": "b325543b36d37edf3fc20761f00c7a37", "zippedFile": "mod_bios.bin", "file": "bios/apfm1000.zip"}, { "md5": "89a7cfa5469ce24773721d65b28f8544", "zippedFile": "trash-ii.bin", "file": "bios/apfm1000.zip"} ] }, # ---------- Fujitsu FM-7 ---------- # "fm7": { "name": "Fujitsu FM-7", "biosFiles": [ { "md5": "", "file": "bios/fm7.zip" }, { "md5": "9f9b7d5615ecdbde2cd26e9306ffef13", "zippedFile": "boot_bas.rom", "file": "bios/fm7.zip"}, { "md5": "18a461ccaf7ef4e8ecad58cecd3a24b3", "zippedFile": "boot_dos_a.rom", "file": "bios/fm7.zip"}, { "md5": "6a5da0404b7ee338df9002cdcabc3068", "zippedFile": "fbasic300.rom", "file": "bios/fm7.zip"}, { "md5": "a330817f8f7ced752a7bcc8dfba8fd2e", "zippedFile": "kanji.rom", "file": "bios/fm7.zip"}, { "md5": "d19ed5923aaae2ec43dffe7a0daa80cb", "zippedFile": "subsys_c.rom", "file": "bios/fm7.zip"}, { "md5": "", "file": "bios/fm77av.zip" }, { "md5": "71c96a45b78e88a39cb94c1aabd23d8a", "zippedFile": "fbasic30.rom", "file": "bios/fm77av.zip"}, { "md5": "e0f4c0ebee60aee83e863826e59ae1de", "zippedFile": "initiate.rom", "file": "bios/fm77av.zip"}, { "md5": "ae945a6dfb642b0a5d0529737e8ee5cd", "zippedFile": "subsys_a.rom", "file": "bios/fm77av.zip"}, { "md5": "fb83a1a9725c8432acef0c3ce89492e3", "zippedFile": "subsys_b.rom", "file": "bios/fm77av.zip"}, { "md5": "7db27dede3e358017d518101850bccfa", "zippedFile": "subsyscg.rom", "file": "bios/fm77av.zip"} ] }, # ---------- Acorn Archimedes ---------- # "archimedes": { "name": "Acorn Archimedes", "biosFiles": [ { "md5": "", "file": "bios/aa310.zip" }, { "md5": "374e4bcaa04cb98aad3b64a1555c3930", "zippedFile": "0270,251-01.rom", "file": "bios/aa310.zip"}, { "md5": "b0b6a83029b6f85bb044bfc46bf3f0f6", "zippedFile": "0270,252-01.rom", "file": "bios/aa310.zip"}, { "md5": "bf35bb799aa0278b7ee7719dd32f26bc", "zippedFile": "0270,253-01.rom", "file": "bios/aa310.zip"}, { "md5": "e41af081535aae930d68ee4cbd672513", "zippedFile": "0270,254-01.rom", "file": "bios/aa310.zip"}, { "md5": "7ecdccd760557ab0711edb37773faeb6", "zippedFile": "0270,601-01.rom", "file": "bios/aa310.zip"}, { "md5": "c43bad04862ea03146ff5bf7441a1a24", "zippedFile": "0270,602-01.rom", "file": "bios/aa310.zip"}, { "md5": "454c1977ad70a206f4f3a0bdca294d85", "zippedFile": "0270,603-01.rom", "file": "bios/aa310.zip"}, { "md5": "6850da7a70b198eaf6fde5be503fa5cd", "zippedFile": "0270,604-01.rom", "file": "bios/aa310.zip"}, { "md5": "84d305e248dab48a3a110af161dfb005", "zippedFile": "0276,146-01.rom", "file": "bios/aa310.zip"}, { "md5": "64d7f085e6afb149ebc2e7f919429a19", "zippedFile": "0276,147-01.rom", "file": "bios/aa310.zip"}, { "md5": "f7d0a9a4d1dae8eee057aa626b87715f", "zippedFile": "0276,148-01.rom", "file": "bios/aa310.zip"}, { "md5": "763b015d85c7d9d17e06d5babc0a9d32", "zippedFile": "0276,149-01.rom", "file": "bios/aa310.zip"}, { "md5": "b8fcd63c6a28d0c7034af2e6c5aff9a8", "zippedFile": "0276,322-01.rom", "file": "bios/aa310.zip"}, { "md5": "6265551c5d6336f7ddd9f3fc78ceba93", "zippedFile": "0276,323-01.rom", "file": "bios/aa310.zip"}, { "md5": "ca4379aeab4f7c7640c8ad34b27a9db6", "zippedFile": "0276,324-01.rom", "file": "bios/aa310.zip"}, { "md5": "358d3c9d2685c076f6a141c26d45520c", "zippedFile": "0276,325-01.rom", "file": "bios/aa310.zip"}, { "md5": "4ae429fbf23f8aa64ce2002cfb14c527", "zippedFile": "0277,022-02.rom", "file": "bios/aa310.zip"}, { "md5": "83d0f0738468fdf9f23c13eef22dbeea", "zippedFile": "0277,023-02.rom", "file": "bios/aa310.zip"}, { "md5": "636e4072c392916d2bf00865fee40984", "zippedFile": "0277,024-02.rom", "file": "bios/aa310.zip"}, { "md5": "252b1993fdb66cac522a0edbeffc3407", "zippedFile": "0277,025-02.rom", "file": "bios/aa310.zip"}, { "md5": "591f3bdd0f20a0a3d03c8748f2f75754", "zippedFile": "0283,022-01.rom", "file": "bios/aa310.zip"}, { "md5": "f77f4a409c78c8495fc3876cd4e7d97c", "zippedFile": "0283,023-01.rom", "file": "bios/aa310.zip"}, { "md5": "57d3a349407916f55129d6c8c0f56395", "zippedFile": "0283,024-01.rom", "file": "bios/aa310.zip"}, { "md5": "ee4aa1ea0eebf88c5f6cae6315ed11a1", "zippedFile": "0283,025-01.rom", "file": "bios/aa310.zip"}, { "md5": "a057124502e533ccd8865dc970cf7017", "zippedFile": "0296,041-01.rom", "file": "bios/aa310.zip"}, { "md5": "3c40d2821595a7334a46ea3b46a5421d", "zippedFile": "0296,041-02.rom", "file": "bios/aa310.zip"}, { "md5": "d1d51b8f603bba476d1f63bc5980040e", "zippedFile": "0296,042-01.rom", "file": "bios/aa310.zip"}, { "md5": "7b096a93cc5ada80bcfb5249bca33768", "zippedFile": "0296,042-02.rom", "file": "bios/aa310.zip"}, { "md5": "744e80abe4c6a845412f63a0f0b14e48", "zippedFile": "0296,043-01.rom", "file": "bios/aa310.zip"}, { "md5": "9dac78cba6034c427d00f78fa94ab63d", "zippedFile": "0296,043-02.rom", "file": "bios/aa310.zip"}, { "md5": "4c0b2e1fb29c8acd84e94d25c953173c", "zippedFile": "0296,044-01.rom", "file": "bios/aa310.zip"}, { "md5": "f6bf5f8908a19a9aacf733633b1cd5cf", "zippedFile": "0296,044-02.rom", "file": "bios/aa310.zip"}, { "md5": "eec46f5bd4cdb456b760b3cddf16a33c", "zippedFile": "0296,241-01.rom", "file": "bios/aa310.zip"}, { "md5": "980e3be0c851a59d0f4602f4a94b2eef", "zippedFile": "0296,242-01.rom", "file": "bios/aa310.zip"}, { "md5": "971a49d5c2dbb3fc01c17d1d5615781a", "zippedFile": "0296,243-01.rom", "file": "bios/aa310.zip"}, { "md5": "9ce06a4d2a8331bc5b7fadb967d74f4f", "zippedFile": "0296,244-01.rom", "file": "bios/aa310.zip"}, { "md5": "c74763f720c98e16dc3c6c421db21485", "zippedFile": "cmos_arthur.bin", "file": "bios/aa310.zip"}, { "md5": "6f564c8917f04594bda7385f6de61061", "zippedFile": "cmos_riscos2.bin", "file": "bios/aa310.zip"}, { "md5": "232a302efe19278d9df6ecbc8ea3dc6c", "zippedFile": "cmos_riscos3.bin", "file": "bios/aa310.zip"}, { "md5": "", "file": "bios/archimedes_keyboard.zip" }, { "md5": "1a8617c1abe3e0729d20ce844e1e12a8", "zippedFile": "acorn_0280,022-01_philips_8051ah-2.bin", "file": "bios/archimedes_keyboard.zip"} ] }, # ---------- Acorn Atom ---------- # "atom": { "name": "Acorn Atom", "biosFiles": [ { "md5": "", "file": "bios/atom.zip" }, { "md5": "b7b7f8a608339fa39d44a3bcfa2cc3f0", "zippedFile": "abasic.ic20", "file": "bios/atom.zip"}, { "md5": "baa26f458acf5745388177ffc7368124", "zippedFile": "afloat.ic21", "file": "bios/atom.zip"}, { "md5": "9627dfb5f8302db8dd5702dbf7c09f72", "zippedFile": "dosrom.u15", "file": "bios/atom.zip"} ] }, # ---------- Acorn Electron ---------- # "electron": { "name": "Acorn Electron", "biosFiles": [ { "md5": "", "file": "bios/electron.zip" }, { "md5": "4688a93aa298b9431c1788c9b90378c8", "zippedFile": "os_basic.ic2", "file": "bios/electron.zip"}, { "md5": "", "file": "bios/electron64.zip" }, { "md5": "2cc67be4624df4dc66617742571a8e3d", "zippedFile": "basic.rom", "file": "bios/electron64.zip"}, { "md5": "df01cfe5894276de96bbd1c45b7e834c", "zippedFile": "os_300.rom", "file": "bios/electron64.zip"}, { "md5": "", "file": "bios/electron_plus1.zip" }, { "md5": "f3a39227b401a2ce8cdc7e4b7a860aaf", "zippedFile": "plus1.rom", "file": "bios/electron_plus1.zip"}, { "md5": "", "file": "bios/electron_plus3.zip" }, { "md5": "9aa334b4e8f6d7565e6323e0f77110de", "zippedFile": "acp_dfs1770_200.rom", "file": "bios/electron_plus3.zip"}, { "md5": "83e15ca501899b0d5b2ce3f5ef696069", "zippedFile": "acp_dfs1770_210.rom", "file": "bios/electron_plus3.zip"}, { "md5": "b60ee811f4b805638478acd5297b16e0", "zippedFile": "adfs.rom", "file": "bios/electron_plus3.zip"}, { "md5": "62f5e1d3dae3a68d8fe4406a6f603dc3", "zippedFile": "pres_adfs_113.rom", "file": "bios/electron_plus3.zip"}, { "md5": "5c39baa89fe8a40a5167a53cc5ae7791", "zippedFile": "pres_adfs_115.rom", "file": "bios/electron_plus3.zip"} ] }, # ---------- Apple ][ ---------- # "apple2": { "name": "Apple II", "emulator": "libretro", "core": "mame", "biosFiles": [ { "md5": "", "file": "bios/apple2e.zip" }, { "md5": "4431aea380185e3f509285540d7cb418", "zippedFile": "342-0132-c.e12", "file": "bios/apple2e.zip"}, { "md5": "e6d453d8738e6df4f73df8c8051df3e8", "zippedFile": "342-0133-a.chr", "file": "bios/apple2e.zip"}, { "md5": "72924019cf1719765e4fde35e59c1c7d", "zippedFile": "342-0134-a.64", "file": "bios/apple2e.zip"}, { "md5": "0b150f4bfa090770a866cc5d214703f4", "zippedFile": "342-0135-b.64", "file": "bios/apple2e.zip"}, { "md5": "", "file": "bios/apple2ee.zip" }, { "md5": "b956c537e7b6b85ffa5c3493b1490d8a", "zippedFile": "341-0132-d.e12", "file": "bios/apple2ee.zip"}, { "md5": "9123fff3442c0e688cc6816be88dd4ab", "zippedFile": "342-0265-a.chr", "file": "bios/apple2ee.zip"}, { "md5": "6ac9338f6972eea01604f90d9a581f18", "zippedFile": "342-0303-a.e8", "file": "bios/apple2ee.zip"}, { "md5": "6b11018a14668a7e3904319d2097dddc", "zippedFile": "342-0304-a.e10", "file": "bios/apple2ee.zip"}, { "md5": "", "file": "bios/apple2p.zip" }, { "md5": "89ca5cd551ffad9a557652a97dcb6627", "zippedFile": "341-0011.d0", "file": "bios/apple2p.zip"}, { "md5": "42333f24cd6e70696b212b042f3166aa", "zippedFile": "341-0012.d8", "file": "bios/apple2p.zip"}, { "md5": "5de50bebc41e59ae4eb27be4c24b6814", "zippedFile": "341-0013.e0", "file": "bios/apple2p.zip"}, { "md5": "56d9bb6730735a3b2bbcc75d1da7a8de", "zippedFile": "341-0014.e8", "file": "bios/apple2p.zip"}, { "md5": "cb63c41c5e72b5fda54feb5490efdefb", "zippedFile": "341-0015.f0", "file": "bios/apple2p.zip"}, { "md5": "8925b695ae0177dd3919dbea2f2f202b", "zippedFile": "341-0020-00.f8", "file": "bios/apple2p.zip"}, { "md5": "9ac0dc8c4d0002eb45b0b84be0bde5ec", "zippedFile": "341-0036.chr", "file": "bios/apple2p.zip"}, { "md5": "", "file": "bios/a2diskiing.zip" }, { "md5": "2020aa1413ff77fe29353f3ee72dc295", "zippedFile": "341-0027-a.p5", "file": "bios/a2diskiing.zip"}, { "md5": "", "file": "bios/a2cffa02.zip" }, { "md5": "80adbc2d79f347ec63f4b771ea32984d", "zippedFile": "cffa20ee02.bin", "file": "bios/a2cffa02.zip"}, { "md5": "", "file": "bios/votrsc01.zip" }, { "md5": "8ccf35a06f5e9a2131b0f42380ee5c15", "zippedFile": "sc01.bin", "file": "bios/votrsc01.zip"}, { "md5": "", "file": "bios/votrsc01a.zip" }, { "md5": "95b91e4a2fe7d6f13d353ba1827d37f9", "zippedFile": "sc01a.bin", "file": "bios/votrsc01a.zip"}, { "md5": "", "file": "bios/d2fdc.zip" }, { "md5": "5f1be0c1cdff26f5956eef9643911886", "zippedFile": "341-0028-a.rom", "file": "bios/d2fdc.zip"} ] }, # ---------- Apple IIgs ---------- # "apple2gs": { "name": "Apple IIgs", "biosFiles": [ { "md5": "", "file": "bios/apple2gs.zip" }, { "md5": "b956c537e7b6b85ffa5c3493b1490d8a", "zippedFile": "341-0132-d.e12", "file": "bios/apple2gs.zip"}, { "md5": "b9f94f5d1be27dafcb8fe619ca3f4d15", "zippedFile": "341-0728", "file": "bios/apple2gs.zip"}, { "md5": "e8e632aa592a61ef373b38af10ed54e1", "zippedFile": "341-0748", "file": "bios/apple2gs.zip"}, { "md5": "c9e0e059faec0393fc429131a3af4ee9", "zippedFile": "341s0632-2.bin", "file": "bios/apple2gs.zip"}, { "md5": "68ff96a624237d233e8d4c701f660dd1", "zippedFile": "apple2gs.chr", "file": "bios/apple2gs.zip"} ] }, # ---------- Camputers Lynx ---------- # "camplynx": { "name": "Camputers Lynx", "biosFiles": [ { "md5": "", "file": "bios/lynx48k.zip" }, { "md5": "b0ad5bf3070aea27b637e1998c81fa8c", "zippedFile": "lynx48-1.ic46", "file": "bios/lynx48k.zip"}, { "md5": "b665e10211bbdbfaf2defb32d5580892", "zippedFile": "lynx48-2.ic45", "file": "bios/lynx48k.zip"}, { "md5": "bc0760d8bf61c9683270266d259cd2ae", "zippedFile": "lynx4811.ic46", "file": "bios/lynx48k.zip"}, { "md5": "dde90a794e5324002a9fd7f79cec3172", "zippedFile": "lynx4812.ic45", "file": "bios/lynx48k.zip"}, { "md5": "", "file": "bios/lynx96k.zip" }, { "md5": "a0a8f136f69b5891d33993627a185697", "zippedFile": "danish96k3.ic44", "file": "bios/lynx96k.zip"}, { "md5": "fcb706b3ba2ba61f6f7af1c28f420f94", "zippedFile": "dosrom.rom", "file": "bios/lynx96k.zip"}, { "md5": "815afa653b61cbe70936b01aff700912", "zippedFile": "lynx9644.ic44", "file": "bios/lynx96k.zip"}, { "md5": "3ccdb9dfe6018892383fcbb1a9167d76", "zippedFile": "lynx9645.ic45", "file": "bios/lynx96k.zip"}, { "md5": "01a9770efdab17f089bbbbe53f5d69fa", "zippedFile": "lynx9646.ic46", "file": "bios/lynx96k.zip"}, { "md5": "89ba52f683cd79638646874e965476b6", "zippedFile": "skorprom.ic44", "file": "bios/lynx96k.zip"}, { "md5": "", "file": "bios/lynx128k.zip" }, { "md5": "fcb706b3ba2ba61f6f7af1c28f420f94", "zippedFile": "dosrom.rom", "file": "bios/lynx128k.zip"}, { "md5": "5017fe3a2ea47038ae61e2aeb4f43d65", "zippedFile": "lynx128-1.ic1", "file": "bios/lynx128k.zip"}, { "md5": "bf69d9538192f65571dbed43dc4a99bb", "zippedFile": "lynx128-2.ic2", "file": "bios/lynx128k.zip"}, { "md5": "f9f54913cdedb22bb8f0c549ad121379", "zippedFile": "lynx128-3.ic3", "file": "bios/lynx128k.zip"} ] }, # ---------- Sharp MZ-80K ---------- # "mz80k": { "name": "Sharp MZ-80K", "biosFiles": [ { "md5": "", "file": "bios/mz80k.zip" }, { "md5": "5db7707d120c835751899b0d1df5ad39", "zippedFile": "80kcg.rom", "file": "bios/mz80k.zip"}, { "md5": "3380dff179941e96851cfee7156e31de", "zippedFile": "80kcgf.rom", "file": "bios/mz80k.zip"}, { "md5": "", "file": "bios/mz80kj.zip" }, { "md5": "e5413f1a0d94726156dcae7d63f8f35f", "zippedFile": "sp1002.rom", "file": "bios/mz80kj.zip"}, { "md5": "4138784bdd2e2cbacd6c55eff195b2ac", "zippedFile": "mz80kfdif.rom", "file": "bios/mz80kj.zip"} ] }, # ---------- Sharp MZ-700 ---------- # "mz700": { "name": "Sharp MZ-700", "biosFiles": [ { "md5": "", "file": "bios/mz700.zip" }, { "md5": "27990ced7cb97dd80356f517aa705010", "zippedFile": "1z-013a.rom", "file": "bios/mz700.zip"}, { "md5": "e9045d57e8574f3eb3f775c02369fbfe", "zippedFile": "mz700fon.int", "file": "bios/mz700.zip"} ] }, # ---------- Sharp MZ-800 ---------- # "mz800": { "name": "Sharp MZ-800", "biosFiles": [ { "md5": "", "file": "bios/mz800.zip" }, { "md5": "7d3909267b3f3e6ce7aa999de0ded226", "zippedFile": "mz800.rom", "file": "bios/mz800.zip"} ] }, # ---------- Sharp MZ-2000 ---------- # "mz2000": { "name": "Sharp MZ-2000", "biosFiles": [ { "md5": "", "file": "bios/mz2000.zip" }, { "md5": "f8b599b75ad6ff3eeaeb58ccc0190684", "zippedFile": "mz20ipl.bin", "file": "bios/mz2000.zip"}, { "md5": "dea49b39998885631db16de1176e71b9", "zippedFile": "font.bin", "file": "bios/mz2000.zip"} ] }, # ---------- Sharp MZ-2500 ---------- # "mz2500": { "name": "Sharp MZ-2500", "biosFiles": [ { "md5": "", "file": "bios/mz2500.zip" }, { "md5": "714ddaf418ccf0018e4cc7e31694b3d8", "zippedFile": "ipl.rom", "file": "bios/mz2500.zip"}, { "md5": "96f2fdff0deba58611ed4d67705b539d", "zippedFile": "cg.rom", "file": "bios/mz2500.zip"}, { "md5": "88cd64f7bdd23ca6ea57b173254ead82", "zippedFile": "kanji.rom", "file": "bios/mz2500.zip"}, { "md5": "3d5d1f6ba9d1f04378891c35663bd3a8", "zippedFile": "kanji2.rom", "file": "bios/mz2500.zip"}, { "md5": "eea42ca607369a225dbd9d11ab48bfd0", "zippedFile": "dict.rom", "file": "bios/mz2500.zip"}, { "md5": "04843d14a8e2f69a7fcaff394a8cc012", "zippedFile": "phone.rom", "file": "bios/mz2500.zip"} ] }, # ---------- Video Game Music Player ---------- # "vgmplay": { "name": "Video Game Music Player", "biosFiles": [ { "md5": "", "file": "bios/qsound.zip" }, { "md5": "108b113a596e800a02fece73f784eeb0", "zippedFile": "dl-1425.bin", "file": "bios/qsound.zip"}, { "md5": "", "file": "bios/ym2413.zip" }, { "md5": "96c11a92992bdff7f7e9d98a52621e1f", "zippedFile": "ym2413_instruments.bin", "file": "bios/ym2413.zip"}, { "md5": "", "file": "bios/ym2608.zip" }, { "md5": "8740932cda05e518a9955f1d08d6786f", "zippedFile": "ym2608_adpcm_rom.bin", "file": "bios/ym2608.zip"} ] }, # ---------- Epoch Game Pocket Computer ---------- # "gamepock": { "name": "Epoch Game Pocket Computer", "biosFiles": [ { "md5": "", "file": "bios/gamepock.zip" }, { "md5": "a0dd595eafb407a6a4b4ed800005a394", "zippedFile": "egpcboot.bin", "file": "bios/gamepock.zip"} ] }, # ---------- Tiger Game.com ---------- # "gamecom": { "name": "Tiger Game.com", "biosFiles": [ { "md5": "", "file": "bios/gamecom.zip" }, { "md5": "813364d4863b1d7b7b8fd6a97a416bcf", "zippedFile": "external.bin", "file": "bios/gamecom.zip"}, { "md5": "f7bcefb6daf923c8e5ea2eb69f619efe", "zippedFile": "internal.bin", "file": "bios/gamecom.zip"} ] }, # ---------- Atari XEGS ---------- # "xegs": { "name": "Atari XE Game System", "biosFiles": [ { "md5": "", "file": "bios/xegs.zip" }, { "md5": "42cbd989802c17d0ac3731d33270d835", "zippedFile": "c101687.rom", "file": "bios/xegs.zip"} ] }, # ---------- VTech CreatiVision ---------- # "crvision": { "name": "VTech CreatiVision", "biosFiles": [ { "md5": "", "file": "bios/crvision.zip" }, { "md5": "3b1ef759d8e3fb4071582efd33dd05f9", "zippedFile": "crvision.u20", "file": "bios/crvision.zip"} ] }, # ---------- VTech V.Smile ---------- # "vsmile": { "name": "VTech V.Smile", "biosFiles": [ { "md5": "", "file": "bios/vsmile.zip" }, { "md5": "851ff77a89ec3f4f2793eb4aede30e5f", "zippedFile": "vsmile_v100.bin", "file": "bios/vsmile.zip"}, { "md5": "f41fcc19ebe1e90fa359cd0df6293fab", "zippedFile": "vsmile_v102.bin", "file": "bios/vsmile.zip"}, { "md5": "11e59253c578c8f16ea2375ec398e4e9", "zippedFile": "vsmile_v103.bin", "file": "bios/vsmile.zip"} ] }, # ---------- VTech Socrates ---------- # "socrates": { "name": "VTech Socrates", "biosFiles": [ { "md5": "", "file": "bios/socrates.zip" }, { "md5": "0efac0c2cc168c0d495e1c4e04ea9f5a", "zippedFile": "27-00817-000-000.u1", "file": "bios/socrates.zip"}, { "md5": "99af124aa300ecd44f5dc9d5a2599778", "zippedFile": "speech_eng_internal.bin", "file": "bios/socrates.zip"}, { "md5": "7046c2b27f51c9a5d33b4d6103f29acf", "zippedFile": "speech_eng_vsm1.bin", "file": "bios/socrates.zip"}, { "md5": "6878302c362321eeee7e40d285cf7d30", "zippedFile": "speech_eng_vsm2.bin", "file": "bios/socrates.zip"}, { "md5": "31c29c57e3d3e6788ba5817eaaa8b17a", "zippedFile": "speech_eng_vsm3.bin", "file": "bios/socrates.zip"} ] }, # ---------- Bandai RX-78 ---------- # "rx78": { "name": "Bandai RX-78", "biosFiles": [ { "md5": "", "file": "bios/rx78.zip" }, { "md5": "f613b15c4b965013e4827d2ad79c7080", "zippedFile": "ipl.rom", "file": "bios/rx78.zip"} ] }, # ---------- Entex Aventure Vision ---------- # "advision": { "name": "Entex Adventure Vision", "biosFiles": [ { "md5": "", "file": "bios/advision.zip" }, { "md5": "5729638bd856c475678467a353bd921c", "zippedFile": "b225__ins8048-11kdp_n.u5", "file": "bios/advision.zip"}, { "md5": "fc5e71445e4947a9d00eedbc66b13a8f", "zippedFile": "b8223__cop411l-kcn_n.u8", "file": "bios/advision.zip"} ] }, # ---------- Bitcorp Gamate ---------- # "gamate": { "name": "Bitcorp Gamate", "biosFiles": [ { "md5": "", "file": "bios/gamate.zip" }, { "md5": "b411167df6dd563111729296f4c547f6", "zippedFile": "gamate_bios_bit.bin", "file": "bios/gamate.zip"}, { "md5": "ef67993a94503c4b7798b5901c7dda52", "zippedFile": "gamate_bios_umc.bin", "file": "bios/gamate.zip"} ] }, # ---------- Casio PV-2000 ---------- # "pv2000": { "name": "Casio PV-2000", "biosFiles": [ { "md5": "", "file": "bios/pv2000.zip" } ] }, # ---------- NEC PC-8001 ---------- # "pc80": { "name": "NEC PC-8001", "biosFiles": [ { "md5": "", "file": "bios/pc8001.zip" }, { "md5": "f374db2869f7f44356ede51e94b4c5b6", "zippedFile": "n80v101.rom", "file": "bios/pc8001.zip" }, { "md5": "f1f6109541a89b626d4faf3f92ce5d75", "zippedFile": "n80v102.rom", "file": "bios/pc8001.zip" }, { "md5": "36a73378118eb9a610d50a8b5098c404", "zippedFile": "n80v110.rom", "file": "bios/pc8001.zip" }, { "md5": "cd428f9ee8ff9f84c60beb7a8a0ef628", "zippedFile": "font.rom", "file": "bios/pc8001.zip" }, { "md5": "", "file": "bios/pc8001mk2sr.zip" }, { "md5": "f0f4a4c18bc76134e1fa85ddb91d04ed", "zippedFile": "n80_2sr.rom", "file": "bios/pc8001mk2sr.zip" }, { "md5": "aced63c7fece13a1b075ea2cde93929b", "zippedFile": "n80_3.rom", "file": "bios/pc8001mk2sr.zip" }, { "md5": "a1ff399365f5e3aa0607b6f34e313a51", "zippedFile": "font80sr.rom", "file": "bios/pc8001mk2sr.zip" }, { "md5": "018073063b1ae83a2e8a3ca127df78e5", "zippedFile": "fonthira.rom", "file": "bios/pc8001mk2sr.zip" }, { "md5": "d81c6d5d7ad1a4bbbd6ae22a01257603", "zippedFile": "kanji1.rom", "file": "bios/pc8001mk2sr.zip" }] }, # ---------- Phillips CD-i ---------- # "cdi": { "name": "Phillips CD-i", "biosFiles": [ { "md5": "", "file": "bios/cdimono1.zip" }, { "md5": "2969341396aa61e0143dc2351aaa6ef6", "zippedFile": "cdi200.rom", "file": "bios/cdimono1.zip"}, { "md5": "ac80a92c988ce07fbd6a8f21ded34cf1", "zippedFile": "cdi220.rom", "file": "bios/cdimono1.zip"}, { "md5": "ac0d468be366779c9df633be98da250a", "zippedFile": "cdi220b.rom", "file": "bios/cdimono1.zip"}, { "md5": "3e59b8a9a423d3ecd612a32fe4e2d748", "zippedFile": "zx405037p__cdi_servo_2.1__b43t__llek9215.mc68hc705c8a_withtestrom.7201", "file": "bios/cdimono1.zip"}, { "md5": "3d20cf7550f1b723158b42a1fd5bac62", "zippedFile": "zx405042p__cdi_slave_2.0__b43t__zzmk9213.mc68hc705c8a_withtestrom.7206", "file": "bios/cdimono1.zip"} ] }, # ---------- Naomi 2 ---------- # "naomi2": { "name": "Naomi 2", "biosFiles": [ { "md5": "", "file": "bios/dc/naomi2.zip" }, { "md5": "728bfe038ce280872057e365ebfc0fee", "zippedFile": "315-6146.bin", "file": "bios/dc/naomi2.zip"}, { "md5": "baf83367044924067e09856ba164aa6f", "zippedFile": "315-6215.bin", "file": "bios/dc/naomi2.zip"}, { "md5": "6f8ad6e3ab04c8ae1cbcaa652b91cf4e", "zippedFile": "epr-23605.ic27", "file": "bios/dc/naomi2.zip"}, { "md5": "f3f39513484df216d9979f6ae7577942", "zippedFile": "epr-23605a.ic27", "file": "bios/dc/naomi2.zip"}, { "md5": "ab046e62c51d67fb89eade2b8d5f6a8d", "zippedFile": "epr-23605b.ic27", "file": "bios/dc/naomi2.zip"}, { "md5": "096a5217ff6e6c6cafe65a03336760ab", "zippedFile": "epr-23605c.ic27", "file": "bios/dc/naomi2.zip"}, { "md5": "659d579ba9aef5b025d87323044e83f4", "zippedFile": "epr-23605c_multi.ic27", "file": "bios/dc/naomi2.zip"}, { "md5": "cbe0984d03d73869c23da5a3dd2ce207", "zippedFile": "epr-23607.ic27", "file": "bios/dc/naomi2.zip"}, { "md5": "b624ec7b3b90fdf3be103cdfb1679d1d", "zippedFile": "epr-23607b.ic27", "file": "bios/dc/naomi2.zip"}, { "md5": "a9d82db14b823a5a57885bea1a998eb7", "zippedFile": "epr-23607c.ic27", "file": "bios/dc/naomi2.zip"}, { "md5": "3b1315be24dc8d17f4fa18f3bfc5fe5c", "zippedFile": "epr-23608.ic27", "file": "bios/dc/naomi2.zip"}, { "md5": "0143cf852cb2a8a41f217bc688f62105", "zippedFile": "epr-23608a.ic27", "file": "bios/dc/naomi2.zip"}, { "md5": "8b88c1f5a06e9b560e887c3b9f879237", "zippedFile": "epr-23608b.ic27", "file": "bios/dc/naomi2.zip"}, { "md5": "b49702e4fadb3b5f9143a3d20afd04b5", "zippedFile": "epr-23608c.ic27", "file": "bios/dc/naomi2.zip"}, { "md5": "ecadb008179ca1e6f4fe3fa091ab5df2", "zippedFile": "epr-23609b.ic27", "file": "bios/dc/naomi2.zip"}, { "md5": "edeed38a9795e062a9af28c3eba22040", "zippedFile": "main_eeprom.bin", "file": "bios/dc/naomi2.zip"}, { "md5": "14e6bffff0d4dff6a5a547e7c43680ff", "zippedFile": "sp5001.bin", "file": "bios/dc/naomi2.zip"}, { "md5": "689d2228b00fb59781f82af6e8ecdb78", "zippedFile": "sp5001-a.bin", "file": "bios/dc/naomi2.zip"}, { "md5": "8373a11106c1c2fc21ac839f75ea488f", "zippedFile": "sp5001-b.bin", "file": "bios/dc/naomi2.zip"}, { "md5": "7eecfb8e8f82b47ffab92a0c5528100e", "zippedFile": "sp5002-a.bin", "file": "bios/dc/naomi2.zip"}, { "md5": "960ece0dc22a7c5ff81c812a2993e7cc", "zippedFile": "x76f100_eeprom.bin", "file": "bios/dc/naomi2.zip"} ] }, # ---------- Hikaru ---------- # "hikaru": { "name": "Hikaru", "biosFiles": [ { "md5": "040f9b37a1f802d450379aaec106ec69", "file": "bios/hikaru.zip" }, { "md5": "e95415b161121bef35ade12367138c63", "file": "bios/mie.zip" }, { "md5": "ee643e8c7369fe7feca610d4daa4a57c", "file": "bios/jvs13551.zip" } ] }, # ---------- Playstation Vita ---------- # # https://www.playstation.com/en-us/support/hardware/psvita/system-software/ # http://dus01.psp2.update.playstation.net/update/psp2/image/2022_0209/sd_59dcf059d3328fb67be7e51f8aa33418/PSP2UPDAT.PUP?dest=us "psvita": { "name": "PS Vita", "biosFiles": [ { "md5": "59dcf059d3328fb67be7e51f8aa33418", "file": "bios/psvita/PSP2UPDAT.PUP" }, { "md5": "f2c7b12fe85496ec88a0391b514d6e3b", "file": "bios/psvita/PSVUPDAT.PUP"} ] }, # ---------- GCE Vectrex ---------- # # Not required for libretro-vecx, the default emulator "vectrex": { "name": "GCE Vectrex", "emulator": "libretro", "core": "mame", "biosFiles": [ { "md5": "", "file": "bios/vectrex.zip" }, { "md5": "ab082fa8c8e632dd68589a8c7741388f", "zippedFile": "exec_rom.bin", "file": "bios/vectrex.zip"}, { "md5": "a9c238473229912eb757ff3dfe6f4631", "zippedFile": "exec_rom_intl_284001-1.bin", "file": "bios/vectrex.zip"} ] }, # ---------- ScummVM ---------- # "scummvm": { "name": "ScummVM", "biosFiles": [ { "md5": "89e42e386e82e0cacb4a2704a03706ca", "file": "bios/scummvm/extra/MT32_PCM.ROM" }, { "md5": "5626206284b22c2734f3e9efefcd2675", "file": "bios/scummvm/extra/MT32_CONTROL.ROM" } ] }, # ---------- MSX1/MSX2 ---------- # #https://github.com/openMSX/openMSX/blob/master/share/machines/Boosted_MSX2_EN.txt "msx1": { "name": "MSX1/MS2", "biosFiles": [ { "md5": "01dd1d72ed9bb6afe8a9b441c198a1cd", "file": "bios/openmsx/nms8250_disk.rom" }, { "md5": "ec3a01c91f24fbddcbcab0ad301bc9ef", "file": "bios/openmsx/nms8250_basic-bios2.rom" }, { "md5": "2183c2aff17cf4297bdb496de78c2e8a", "file": "bios/openmsx/nms8250_msx2sub.rom" }, { "md5": "6f69cc8b5ed761b03afd78000dfb0e19", "file": "bios/openmsx/fmpac.rom" }, { "md5": "2ce20986da024e9a0e271961c6bc9f01", "file": "bios/openmsx/phc-70fd2_basickun.rom" }, { "md5": "42af93619160ef2116416f74a6cb12f2", "file": "bios/openmsx/yrw801.rom" } ] }, # ---------- MSX LaserDisc ---------- # #https://github.com/openMSX/openMSX/blob/master/share/machines/Pioneer_PX-7.xml "msx1": { "name": "MSX LaserDisc", "biosFiles": [ { "md5": "281809cafe63437fc4bffb3033fbd0db", "file": "bios/openmsx/px-7_pbasic.rom" }, { "md5": "9218f6dd89f7ba01e3090d44721b4260", "file": "bios/openmsx/px-7_basic-bios1.rom" } ] }, # ---------- MSX2+ ---------- # #https://github.com/openMSX/openMSX/blob/master/share/machines/Boosted_MSX2+_JP.txt "msx2+": { "name": "MSX2+", "biosFiles": [ { "md5": "acf53887c2d2783dc059a9b442c86b90", "file": "bios/openmsx/fs-a1wsx_kanjifont.rom" }, { "md5": "c5c26c3e8bc6c485424818057f0507b9", "file": "bios/openmsx/fs-a1wsx_basic-bios2p.rom" }, { "md5": "0c40e7db1c1fcc2405e4d0cdd215adb4", "file": "bios/openmsx/fs-a1wsx_fmbasic.rom" }, { "md5": "7c8243c71d8f143b2531f01afa6a05dc", "file": "bios/openmsx/fs-a1wsx_msx2psub.rom" }, { "md5": "9dfdebfaa6b547222a40aab8bb2e29f8", "file": "bios/openmsx/fs-a1wsx_kanjibasic.rom" }, { "md5": "00aa02b6077de40a0b51d71a3c3e1d5f", "file": "bios/openmsx/fs-a1wsx_disk.rom" }, { "md5": "fa8e7d4b999af058fe2864a5f2e014ec", "file": "bios/openmsx/fs-a1wsx_firmware.rom" }, { "md5": "2ce20986da024e9a0e271961c6bc9f01", "file": "bios/openmsx/phc-70fd2_basickun.rom" }, { "md5": "42af93619160ef2116416f74a6cb12f2", "file": "bios/openmsx/yrw801.rom" } ] }, # ---------- MSX-Turbo ---------- # #https://github.com/openMSX/openMSX/blob/master/share/machines/Panasonic_FS-A1GT.xml "msxturbor": { "name": "MSX-Turbo", "biosFiles": [ { "md5": "af17a344bcc177b97a4888c4c559f3ae", "file": "bios/openmsx/fs-a1gt_firmware.rom" }, { "md5": "acf53887c2d2783dc059a9b442c86b90", "file": "bios/openmsx/fs-a1gt_kanjifont.rom" }, { "md5": "afa4b5f2944334f84971af814a24bd5a", "file": "bios/openmsx/ide250.zip" }, { "md5": "2ce20986da024e9a0e271961c6bc9f01", "file": "bios/openmsx/phc-70fd2_basickun.rom" }, { "md5": "42af93619160ef2116416f74a6cb12f2", "file": "bios/openmsx/yrw801.rom" } ] }, # ---------- Supr'A'can ---------- # "supracan": { "name": "Supr'A'can", "biosFiles": [ { "md5": "", "file": "bios/supracan.zip" }, { "md5": "53c4343e062bb3b337370bbb58e64d16", "zippedFile": "internal_68k.bin", "file": "bios/supracan.zip" } ] }, # ---------- Tandy VIS ---------- # "vis": { "name": "Tandy Video Information System", "biosFiles": [ { "md5": "", "file": "bios/vis.zip" }, { "md5": "ebf432d3b09f694db1c62018eb2ab471", "zippedFile": "p513bk0b.bin", "file": "bios/vis.zip"}, { "md5": "758f8fec271fbf526bb22b36e88f154b", "zippedFile": "p513bk1b.bin", "file": "bios/vis.zip"} ] }, # ---------- Nintendo 64DD ---------- # "n64dd": { "name": "Nintendo 64DD", "biosFiles": [ { "md5": "8d3d9f294b6e174bc7b1d2fd1c727530", "file": "bios/64DD_IPL.bin" } ] }, # ---------- GameCube ---------- # "gamecube": { "name": "Nintendo GameCube", "biosFiles": [ { "md5": "db92574caab77a7ec99d4605fd6f2450", "file": "bios/GC/EUR/IPL.bin" }, { "md5": "b17148254a5799684c7d783206504926", "file": "bios/GC/JAP/IPL.bin" }, { "md5": "b17148254a5799684c7d783206504926", "file": "bios/GC/USA/IPL.bin" } ] }, # ---------- Sega Chihiro ---------- # "chihiro": { "name": "Sega Chihiro", "biosFiles": [{ "md5": "d49c52a4102f6df7bcf8d0617ac475ed", "file": "bios/mcpx_1.0.bin" }, { "md5": "f23d7e00ae8fbf88908ed1f9165f35eb", "file": "bios/cerbios.bin" }] }, # ---------- Oric Atmos ---------- # "oricatmos": { "name": "Oric Atmos", "biosFiles": [{ "md5": "a330779c42ad7d0c4ac6ef9e92788ec6", "file": "bios/Oric/basic11.rom" }, { "md5": "c888b36bf0fc222c3585c3fabe556d21", "file": "bios/Oric/colour.rom" }] }, # ---------- Enterprise ---------- # "enterprise": { "name": "Enterprise", "biosFiles": [# ep128emu-core { "md5": "f36f24cbb87745fbd2714e4df881db09", "file": "bios/ep128emu/roms/exos21.rom" }, { "md5": "e972fe42b398c9ff1d93ff014786aec6", "file": "bios/ep128emu/roms/basic21.rom" }, { "md5": "ddff70c014d1958dc75378b6c9aab6f8", "file": "bios/ep128emu/roms/exdos13.rom" }, { "md5": "a68ebcbc73a4d2178d755b7755bf18fe", "file": "bios/ep128emu/roms/epfileio.rom" }, { "md5": "5ad3baaad3b5156d6b60b34229a676fb", "file": "bios/ep128emu/roms/exos20.rom" }, { "md5": "8e18edce4a7acb2c33cc0ab18f988482", "file": "bios/ep128emu/roms/basic20.rom" }, { "md5": "55af78f877a21ca45eb2df68a74fcc60", "file": "bios/ep128emu/roms/exos24uk.rom" }, { "md5": "22167938f142c222f40992839aa21a06", "file": "bios/ep128emu/roms/hun.rom" }, { "md5": "12cfc9c7e48c8a16c2e09edbd926d467", "file": "bios/ep128emu/roms/epd19hft.rom" }, { "md5": "653daaf7b9b29c2c4e577f489580f247", "file": "bios/ep128emu/roms/zt19hfnt.rom" }, { "md5": "6af0402906944fd134004b85097c8524", "file": "bios/ep128emu/roms/brd.rom" }, { "md5": "228540b6be83ae2acd7569c8ff0f91d0", "file": "bios/ep128emu/roms/zt19uk.rom" }, # MAME { "md5": "5ad3baaad3b5156d6b60b34229a676fb", "zippedFile": "9256ds-0038_enter05-23-a.u2", "file": "bios/ep64.zip" }, { "md5": "f36f24cbb87745fbd2714e4df881db09", "zippedFile": "9256ds-0019_enter08-45-a.u2", "file": "bios/ep128.zip" }, { "md5": "47258d03aec37bc24df5dbc5d50fc9f8", "zippedFile": "exdos13.rom", "file": "bios/ep64_exdos.zip" } ] }, # ---------- Videoton TVC ---------- # "tvc": { "name": "Videoton TVC", "biosFiles": [# ep128emu-core { "md5": "8c54285f541930cde766069942bad0f2", "file": "bios/ep128emu/roms/tvc22_sys.rom" }, { "md5": "5ce95a26ceed5bec73995d83568da9cf", "file": "bios/ep128emu/roms/tvc22_ext.rom" }, { "md5": "a2cf86ba8e7fc58b242137fe59036832", "file": "bios/ep128emu/roms/tvcfileio.rom" }, { "md5": "88dc7876d584f90e4106f91444ab23b7", "file": "bios/ep128emu/roms/tvc_dos12d.rom" }, # MAME { "md5": "", "file": "bios/tvc64.zip", "emulator": "libretro", "core": "mame" }, { "md5": "bed323c85b629e7ccdd318ef8a21904b", "zippedFile": "tvc12_d4.64k", "file": "bios/tvc64.zip", "emulator": "libretro", "core": "mame" }, { "md5": "be6a66ccdd3bf87992678138f3971090", "zippedFile": "tvc12_d3.64k", "file": "bios/tvc64.zip", "emulator": "libretro", "core": "mame" }, { "md5": "c451c518138f855257ac05673532e162", "zippedFile": "tvc12_d7.64k", "file": "bios/tvc64.zip", "emulator": "libretro", "core": "mame" }, { "md5": "d3ea34ee3ed3d0c7ae3001bd0d9a4ae9", "zippedFile": "tvc22_d6.64k", "file": "bios/tvc64.zip", "emulator": "libretro", "core": "mame" }, { "md5": "198182b80de1f1c54904870ae0639471", "zippedFile": "tvc22_d4.64k", "file": "bios/tvc64.zip", "emulator": "libretro", "core": "mame" }, { "md5": "5ce95a26ceed5bec73995d83568da9cf", "zippedFile": "tvc22_d7.64k", "file": "bios/tvc64.zip", "emulator": "libretro", "core": "mame" }] }, # ---------- Triforce ---------- # "triforce": { "name": "Triforce", "biosFiles": [ { "md5": "2ef01c0e93f7ee3a0a4b139aa14728b9", "file": "saves/dolphin-emu/Triforce/segaboot.gcm" }] }, # ---------- Elektronika BK ---------- # # https://docs.libretro.com/library/bk/ "bk": { "name": "Elektronika BK", "biosFiles": [ # BK-0011M { "md5": "fe4627d1e3a1535874085050733263e7", "file": "bios/bk/B11M_BOS.ROM" }, { "md5": "dc52f365d56fa1951f5d35b1101b9e3f", "file": "bios/bk/B11M_EXT.ROM" }, { "md5": "946f6f23ded03c0e26187f0b3ca75993", "file": "bios/bk/BAS11M_0.ROM" }, { "md5": "1e6637f32aa7d1de03510030cac40bcf", "file": "bios/bk/BAS11M_1.ROM" }, { "md5": "5015228eeeb238e65da8edcd1b6dfac7", "file": "bios/bk/DISK_327.ROM" }, # BK-0010 { "md5": "3fa774326d75410a065659aea80252f0", "file": "bios/bk/BASIC10.ROM" }, { "md5": "5737f972e8638831ab71e9139abae052", "file": "bios/bk/FOCAL10.ROM" }, { "md5": "95f8c41c6abf7640e35a6a03cecebd01", "file": "bios/bk/MONIT10.ROM" }, # MAME { "md5": "", "file": "bios/bk0010.zip", "emulator": "libretro", "core": "mame" }, { "md5": "95f8c41c6abf7640e35a6a03cecebd01", "zippedFile": "monit10.rom", "file": "bios/bk0010.zip", "emulator": "libretro", "core": "mame" }, { "md5": "eb9e1cf1c1b36a2dece89624bfc59323", "zippedFile": "focal.rom", "file": "bios/bk0010.zip", "emulator": "libretro", "core": "mame" }, { "md5": "93d2776ecf9abf49fb45f58ce3182143", "zippedFile": "tests.rom", "file": "bios/bk0010.zip", "emulator": "libretro", "core": "mame" }, { "md5": "4a4530347ee18c547a0563aca73cf43d", "zippedFile": "basic10-1.rom", "file": "bios/bk0010.zip", "emulator": "libretro", "core": "mame" }, { "md5": "86fc2f7797a0333300159aa222c3ad3f", "zippedFile": "basic10-2.rom", "file": "bios/bk0010.zip", "emulator": "libretro", "core": "mame" }, { "md5": "fb8875a62b9b02a66670dcefc270d441", "zippedFile": "basic10-3.rom", "file": "bios/bk0010.zip", "emulator": "libretro", "core": "mame" }, { "md5": "c113a36e51f4557594817bc35a4b63b7", "zippedFile": "bk11m_328_basic2.rom", "file": "bios/bk0010.zip", "emulator": "libretro", "core": "mame" }, { "md5": "823d35a8c98f70d2d378a2c7568c3b23", "zippedFile": "bk11m_329_basic3.rom", "file": "bios/bk0010.zip", "emulator": "libretro", "core": "mame" }, { "md5": "1e6637f32aa7d1de03510030cac40bcf", "zippedFile": "bk11m_327_basic1.rom", "file": "bios/bk0010.zip", "emulator": "libretro", "core": "mame" }, { "md5": "dc52f365d56fa1951f5d35b1101b9e3f", "zippedFile": "bk11m_325_ext.rom", "file": "bios/bk0010.zip", "emulator": "libretro", "core": "mame" }, { "md5": "fe4627d1e3a1535874085050733263e7", "zippedFile": "bk11m_324_bos.rom", "file": "bios/bk0010.zip", "emulator": "libretro", "core": "mame" }] }, } 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 checkInsideZip(container, fileName, md5sum): # Check inside Zip files try: archive = zipfile.ZipFile(container) except Exception as e: print ('Error opening file {}: {}.'.format(container, e)) return False blocksize = 1024**2 #1M chunks for fname in archive.namelist(): # Only check if the file matches if fname.casefold() == fileName.casefold(): if md5sum == "": return True archive = zipfile.ZipFile(container) blocksize = 1024**2 #1M chunks for fname in archive.namelist(): if fname == fileName: entry = archive.open(fname) zippedHash = md5() while True: block = entry.read(blocksize) if not block: break zippedHash.update(block) if zippedHash.hexdigest() == md5sum: return True else: print('Mismatch inside .zip: File {} in {} has MD5 {} (expected {})'.format(fileName, container, zippedHash.hexdigest(), md5sum)) return False # File was not found in zip. print('Missing file inside .zip: File {} not found in {}'.format(fileName, container)) return False def coreExists(checkMe, emuDict): if "emulator" in checkMe: if checkMe["emulator"] in emuDict.keys(): hasEmu = True else: hasEmu = False else: # Emulator not defined, check BIOS hasEmu = True if hasEmu and "core" in checkMe: if checkMe["core"] in emuDict[checkMe["emulator"]]: hasCore = True else: hasCore = False else: # Either core is undefined or emulator is not installed. # Set core presence to emulator presence, we'll assume there's only one core or it applies to all. hasCore = hasEmu return hasCore def checkBios(systems, prefix, filterROMs): systemDict = {} emuDict = {} systemName = "" configFile = "/usr/share/emulationstation/es_systems.cfg" configData = elementTree.parse(configFile) configRoot = configData.getroot() if filterROMs: # Load systems & emulators from es_systems.cfg # System full name stored but not currently used, may be useful for the readme function. for activeSystem in configRoot: for systemTag in activeSystem: if systemTag.tag == "fullname": systemName = systemTag.text elif systemTag.tag == "name": systemDict[systemTag.text] = systemName systemName = "" elif systemTag.tag == "emulators": for emulatorTag in systemTag: emulatorName = emulatorTag.attrib['name'] for coreTag in emulatorTag[0]: if emulatorName in emuDict.keys(): if not coreTag.text in emuDict[emulatorName]: emuDict[emulatorName].append(coreTag.text) else: emuDict[emulatorName] = [coreTag.text] else: for system in systems.keys(): systemDict[system] = systems[system]['name'] missingBios = {} for system in systems.keys(): if system in systemDict.keys(): if coreExists(systems[system], emuDict) or filterROMs == False: for file in systems[system]["biosFiles"]: if coreExists(file, emuDict) or filterROMs == False: filepath = prefix + "/" + file["file"] if isfile(filepath): if not "zippedFile" in file: 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 'altmd5' in file: if not checkInsideZip(filepath, file["zippedFile"], file["md5"], file["altmd5"]): if system not in missingBios: missingBios[system] = {} missingBios[system][file["file"]] = { "status": BiosStatus.UNTESTED, "md5": file["md5"], "file": file["file"] } else: if not checkInsideZip(filepath, file["zippedFile"], 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 def displayMissingBios(systems, missingBios): sortedMissingBios = OrderedDict(sorted(missingBios.items())) if sortedMissingBios: for system in sortedMissingBios: print("> {}".format(system)) 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"])) else: print("No missing bios") def createReadme(systems): for system in sorted(systems): print("{}:".format(systems[system]["name"])) for bios in systems[system]["biosFiles"]: print("{} {}".format(bios["md5"], bios["file"])) print("") if __name__ == '__main__': if len(sys.argv) == 1: prefix = "/userdata" displayMissingBios(systems, checkBios(systems, prefix, True)) elif sys.argv[1] == "--noFilter": prefix = "/userdata" displayMissingBios(systems, checkBios(systems, prefix, False)) elif sys.argv[1] == "--createReadme": createReadme(systems) elif len(sys.argv) == 3 and sys.argv[1] == "--filter": prefix = "/userdata" lowered_name = sys.argv[2].lower() filtered_systems = {} for system in systems: if lowered_name in system.lower() or lowered_name in systems[system]['name'].lower(): filtered_systems[system] = systems[system] if len(filtered_systems) == 0: print("No system named {} found".format(sys.argv[2])) exit(1) displayMissingBios(filtered_systems, checkBios(filtered_systems, prefix, True))