# platforms

id: rocknix
name: ROCKNIX
contract_json:
{"base_destination": "bios", "config": "rocknix.yml", "cores": "all_libretro", "hash_type": "md5", "homepage": "https://rocknix.org", "install": {"detect": [{"bios_path": "/storage/roms/bios", "file": "/etc/os-release", "match": "ID=rocknix", "method": "file_exists", "os": "linux"}]}, "logo": "https://avatars.githubusercontent.com/u/152618023", "platform": "ROCKNIX", "schedule": "weekly", "scraper": "rocknix", "source": "https://raw.githubusercontent.com/ROCKNIX/distribution/next/projects/ROCKNIX/packages/rocknix/sources/scripts/rocknix-systems", "status": "active", "systems": {"microsoft-xbox": {"files": [{"destination": "xemu/bios/mcpx_1.0.bin", "md5": "d49c52a4102f6df7bcf8d0617ac475ed", "name": "mcpx_1.0.bin", "required": true}, {"destination": "xemu/bios/Complex_4627v1.03.bin", "md5": "21445c6f28fca7285b0f167ea770d1e5", "name": "Complex_4627v1.03.bin", "required": true}], "name": "Microsoft Xbox", "native_id": "xbox"}, "nintendo-ds": {"files": [{"destination": "firmware.bin", "md5": "94bc5094607c5e6598d50472c52f27f2", "name": "firmware.bin", "required": true}, {"destination": "bios7.bin", "md5": "df692a80a5b1bc90728bc3dfc76cd948", "name": "bios7.bin", "required": true}, {"destination": "bios9.bin", "md5": "a392174eb3e572fed6447e956bde4b25", "name": "bios9.bin", "required": true}, {"destination": "dsi_bios7.bin", "md5": "559dae4ea78eb9d67702c56c1d791e81", "name": "dsi_bios7.bin", "required": true}, {"destination": "dsi_bios9.bin", "md5": "87b665fce118f76251271c3732532777", "name": "dsi_bios9.bin", "required": true}, {"destination": "dsi_firmware.bin", "md5": "74f23348012d7b3e1cc216c47192ffeb", "name": "dsi_firmware.bin", "required": true}, {"destination": "dsi_nand.bin", "md5": "d71edf897ddd06bf335feeb68edeb272", "name": "dsi_nand.bin", "required": true}], "name": "Nintendo DS", "native_id": "nds"}, "nintendo-gamecube": {"files": [{"destination": "GC/EUR/IPL.bin", "md5": "db92574caab77a7ec99d4605fd6f2450", "name": "IPL.bin", "required": true}, {"destination": "GC/JAP/IPL.bin", "md5": "b17148254a5799684c7d783206504926", "name": "IPL.bin", "required": true}, {"destination": "GC/USA/IPL.bin", "md5": "b17148254a5799684c7d783206504926", "name": "IPL.bin", "required": true}], "name": "Nintendo GameCube", "native_id": "gamecube"}, "nintendo-gb": {"files": [{"destination": "gb_bios.bin", "md5": "32fbbd84168d3482956eb3c5051637f5", "name": "gb_bios.bin", "required": true}], "name": "Nintendo Gameboy", "native_id": "gb"}, "nintendo-gba": {"files": [{"destination": "gba_bios.bin", "md5": "a860e8c0b6d573d191e4ec7db1b1e4f6", "name": "gba_bios.bin", "required": true}], "name": "Nintendo Gameboy Advance", "native_id": "gba"}, "nintendo-gbc": {"files": [{"destination": "gbc_bios.bin", "md5": "dbfce9db9deaa2567f6a84fde55f9680", "name": "gbc_bios.bin", "required": true}], "name": "Nintendo Gameboy Color", "native_id": "gbc"}, "sega-dreamcast": {"files": [{"destination": "dc/dc_boot.bin", "md5": "e10c53c2f8b90bab96ead2d368858623", "name": "dc_boot.bin", "required": true}, {"destination": "dc/dc_flash.bin", "md5": "0a93f7940c455905bea6e392dfde92a4", "name": "dc_flash.bin", "required": true}, {"destination": "dc/naomi_boot.bin", "md5": "3bffafac42a7767d8dcecf771f5552ba", "name": "naomi_boot.bin", "required": true}], "name": "Sega Dreamcast", "native_id": "dreamcast"}, "sega-game-gear": {"files": [{"destination": "bios.gg", "md5": "672e104c3be3a238301aceffc3b23fd6", "name": "bios.gg", "required": true}], "name": "Sega Game Gear", "native_id": "gamegear"}, "sega-master-system": {"files": [{"destination": "bios.sms", "md5": "840481177270d5642a14ca71ee72844c", "name": "bios.sms", "required": true}], "name": "Sega Master System", "native_id": "mastersystem"}, "sega-mega-cd": {"files": [{"destination": "bios_CD_E.bin", "md5": "e66fa1dc5820d254611fdcdba0662372", "name": "bios_CD_E.bin", "required": true}, {"destination": "bios_CD_U.bin", "md5": "2efd74e3232ff260e371b99f84024f7f", "name": "bios_CD_U.bin", "required": true}, {"destination": "bios_CD_J.bin", "md5": "278a9397d192149e84e820ac621a8edd", "name": "bios_CD_J.bin", "required": true}], "name": "Sega CD", "native_id": "segacd"}, "sega-saturn": {"files": [{"destination": "sega_101.bin", "md5": "85ec9ca47d8f6807718151cbcca8b964", "name": "sega_101.bin", "required": true}, {"destination": "mpr-17933.bin", "md5": "3240872c70984b6cbfda1586cab68dbe", "name": "mpr-17933.bin", "required": true}, {"destination": "mpr-18811-mx.ic1", "md5": "255113ba943c92a54facd25a10fd780c", "name": "mpr-18811-mx.ic1", "required": true}, {"destination": "mpr-19367-mx.ic1", "md5": "1cd19988d1d72a3e7caa0b73234c96b4", "name": "mpr-19367-mx.ic1", "required": true}, {"destination": "saturn_bios.bin", "md5": "af5828fdff51384f99b3c4926be27762", "name": "saturn_bios.bin", "required": true}], "name": "Sega Saturn", "native_id": "saturn"}, "sony-playstation": {"files": [{"destination": "psxonpsp660.bin", "md5": "c53ca5908936d412331790f4426c6c33", "name": "psxonpsp660.bin", "required": true}, {"destination": "scph101.bin", "md5": "6e3735ff4c7dc899ee98981385f6f3d0", "name": "scph101.bin", "required": true}, {"destination": "scph1001.bin", "md5": "dc2b9bf8da62ec93e868cfd29f0d067d", "name": "scph1001.bin", "required": true}, {"destination": "scph5500.bin", "md5": "8dd7d5296a650fac7319bce665a6a53c", "name": "scph5500.bin", "required": true}, {"destination": "scph5501.bin", "md5": "490f666e1afb15b7362b406ed1cea246", "name": "scph5501.bin", "required": true}, {"destination": "scph5502.bin", "md5": "32736f17079d0b2b7024407c39bd3050", "name": "scph5502.bin", "required": true}, {"destination": "scph7001.bin", "md5": "1e68c231d0896b7eadcad1d7d8e76129", "name": "scph7001.bin", "required": true}], "name": "PSX", "native_id": "psx"}, "sony-playstation-2": {"files": [{"destination": "pcsx2/bios/ps2-0230a-20080220.bin", "md5": "21038400dc633070a78ad53090c53017", "name": "ps2-0230a-20080220.bin", "required": true}, {"destination": "aethersx2/bios/ps2-0230a-20080220.bin", "md5": "21038400dc633070a78ad53090c53017", "name": "ps2-0230a-20080220.bin", "required": true}], "name": "PS2", "native_id": "ps2"}, "sony-playstation-3": {"files": [{"destination": "PS3UPDAT.PUP", "md5": "a2b60b6ac1d2e49e230144345616927c", "name": "PS3UPDAT.PUP", "required": true}], "name": "PS3", "native_id": "ps3"}}, "verification_mode": "md5", "version": "20260801"}


id: romm
name: RomM
contract_json:
{"base_destination": "bios", "config": "romm.yml", "contributed_by": [{"contribution": "platform support", "pr": 37, "username": "PixNyb"}], "cores": ["a5200", "atari800", "beetle_vb", "cap32", "clk", "crocods", "desmume", "desmume2015", "directxbox", "dolphin", "dolphin_launcher", "dosbox_pure", "ecwolf", "ep128emu", "ep128emu_core", "fbalpha2012_cps1", "fbalpha2012_cps2", "fbneo", "fceumm", "freeintv", "freej2me", "fuse", "gambatte", "gearcoleco", "genesis_plus_gx", "handy", "hatari", "ishiiruka", "lrps2", "mame2003", "mame2003_plus", "mednafen_ngp", "mednafen_pce", "mednafen_pcfx", "mednafen_psx_hw", "mednafen_wswan", "melonds", "mgba", "minivmac", "mupen64plus_next", "nekop2", "nestopia", "np2kai", "o2em", "opera", "parallel_n64", "pcsx2", "pcsx_rearmed", "picodrive", "play", "pokemini", "ppsspp", "prboom", "primehack", "prosystem", "puae", "px68k", "same_cdi", "scummvm", "smsplus", "snes9x", "squirreljme", "stella2014", "vice_x128", "vice_x64", "vice_x64sc", "vice_xpet", "vice_xplus4", "vice_xvic", "virtualjaguar", "x1", "xemu", "yabause"], "hash_type": "sha1", "homepage": "https://romm.app", "inherits_from": "emulatorjs", "install": {"detect": [{"method": "path_exists", "os": "linux", "path": "/romm/library/bios"}]}, "logo": "https://avatars.githubusercontent.com/u/168586850", "platform": "RomM", "schedule": "monthly", "scraper": "romm", "source": "https://raw.githubusercontent.com/rommapp/romm/5.1.0/backend/models/fixtures/known_bios_files.json", "source_format": "json", "source_url": "https://raw.githubusercontent.com/rommapp/romm/master/backend/models/fixtures/known_bios_files.json", "status": "active", "systems": {"3do": {"files": [{"crc32": "b832da9a", "destination": "3do/3do_arcade_saot.bin", "md5": "8970fc987ab89a7f64da9f8a8c4333ff", "name": "3do_arcade_saot.bin", "required": true, "sha1": "520d3d1b5897800af47f92efd2444a26b7a7dead", "size": 524288}, {"crc32": "b6f5028b", "destination": "3do/goldstar.bin", "md5": "8639fd5e549bd6238cfee79e3e749114", "name": "goldstar.bin", "required": true, "sha1": "c4a2e5336f77fb5f743de1eea2cda43675ee2de7", "size": 1048576}, {"crc32": "a8e9447c", "destination": "3do/panafz1-kanji.bin", "md5": "b8dc97f778a6245c58e064b0312e8281", "name": "panafz1-kanji.bin", "required": true, "sha1": "acd39a8fee1b9d2950d5ab447846c11fb31af63e", "size": 933636}, {"crc32": "c8c8ff89", "destination": "3do/panafz1.bin", "md5": "f47264dd47fe30f73ab3c010015c155b", "name": "panafz1.bin", "required": true, "sha1": "34bf189111295f74d7b7dfc1f304d98b8d36325a", "size": 1048576}, {"crc32": "230e6feb", "destination": "3do/panafz10-norsa.bin", "md5": "1477bda80dc33731a65468c1f5bcbee9", "name": "panafz10-norsa.bin", "required": true, "sha1": "f05e642322c03694f06a809c0b90fc27ac73c002", "size": 1048576}, {"crc32": "58242cee", "destination": "3do/panafz10.bin", "md5": "51f2f43ae2f3508a14d9f56597e2d3ce", "name": "panafz10.bin", "required": true, "sha1": "3c912300775d1ad730dc35757e279c274c0acaad", "size": 1048576}, {"crc32": "9a186221", "destination": "3do/panafz10e-anvil-norsa.bin", "md5": "cf11bbb5a16d7af9875cca9de9a15e09", "name": "panafz10e-anvil-norsa.bin", "required": true, "sha1": "2765c7b4557cc838b32567d2428d088980295159", "size": 1048576}, {"crc32": "2495c500", "destination": "3do/panafz10e-anvil.bin", "md5": "a48e6746bd7edec0f40cff078f0bb19f", "name": "panafz10e-anvil.bin", "required": true, "sha1": "a900371f0cdcdc03f79557f11d406fd71251a5fd", "size": 1048576}, {"crc32": "ff7393de", "destination": "3do/panafz10ja-anvil-kanji.bin", "md5": "428577250f43edc902ea239c50d2240d", "name": "panafz10ja-anvil-kanji.bin", "required": true, "sha1": "2e857b957803d0331fd229328df01f3ffab69eee", "size": 1048576}, {"crc32": "45f478b1", "destination": "3do/panafz1j-kanji.bin", "md5": "c23fb5d5e6bb1c240d02cf968972be37", "name": "panafz1j-kanji.bin", "required": true, "sha1": "884515605ee243577ab20767ef8c1a7368e4e407", "size": 1048576}, {"crc32": "82ce67c6", "destination": "3do/panafz1j-norsa.bin", "md5": "f6c71de7470d16abe4f71b1444883dc8", "name": "panafz1j-norsa.bin", "required": true, "sha1": "a417587ae3b0b8ef00c830920c21af8bee88e419", "size": 1048576}, {"crc32": "d9493adc", "destination": "3do/panafz1j.bin", "md5": "a496cfdded3da562759be3561317b605", "name": "panafz1j.bin", "required": true, "sha1": "ec7ec62d60ec0459a14ed56ebc66761ef3c80efc", "size": 1048576}, {"crc32": "d5cbc509", "destination": "3do/sanyotry.bin", "md5": "35fa1a1ebaaeea286dc5cd15487c13ea", "name": "sanyotry.bin", "required": true, "sha1": "b01c53da256dde43ffec4ad3fc3adfa8d635e943", "size": 1048576}]}, "amstrad-cpc": {"files": [{"crc32": "40852f25", "destination": "acpc/cpc464.rom", "md5": "a993f85b88ac4350cf4d41554e87fe4f", "name": "cpc464.rom", "required": true, "sha1": "56d39c463da60968d93e58b4ba0e675829412a20", "size": 32768}, {"crc32": "9ab5a036", "destination": "acpc/cpc664.rom", "md5": "5a384a2310f472c7857888371c00ed66", "name": "cpc664.rom", "required": true, "sha1": "073a7665527b5bd8a148747a3947dbd3328682c8", "size": 32768}, {"crc32": "9e827fe1", "destination": "acpc/cpc6128.rom", "md5": "b96280dc6c95a48857b4b8eb931533ae", "name": "cpc6128.rom", "required": true, "sha1": "5977adbad3f7c1e0e082cd02fe76a700d9860c30", "size": 32768}, {"crc32": "1fe22ecd", "destination": "acpc/cpc_amsdos.rom", "md5": "25629dfe870d097469c217b95fdc1c95", "name": "cpc_amsdos.rom", "required": true, "sha1": "39102c8e9cb55fcc0b9b62098780ed4a3cb6a4bb", "size": 16384}]}, "apple-macintosh-ii": {"files": [{"crc32": "4df6d054", "destination": "mac/MacII.ROM", "md5": "66223be1497460f1e60885eeb35e03cc", "name": "MacII.ROM", "required": true, "sha1": "db6b504744281369794e26ba71a6e385cf6227fa", "size": 262144}]}, "arcade": {"files": [{"crc32": "f83ec60f", "destination": "arcade/airlbios.zip", "md5": "7a11bfe0cc72886d032e386db68f890c", "name": "airlbios.zip", "required": true, "sha1": "f2a730530f4989ca0e8860aa4e455b6a5fe69e1d", "size": 715730}, {"crc32": "67a14ad5", "destination": "arcade/awbios.zip", "md5": "85254fbe320ca82a768ec2c26bb08def", "name": "awbios.zip", "required": true, "sha1": "7940c7bf29eee85a5b2fdec78750b19aa22895dc", "size": 42296}, {"crc32": "8fc2fd2e", "destination": "arcade/bubsys.zip", "md5": "f81298afd68a1a24a49a1a2d9f087964", "name": "bubsys.zip", "required": true, "sha1": "1c0ffcd308b0c8c6dbb74ad8b811a0767200d366", "size": 7950}, {"crc32": "23debecb", "destination": "arcade/cchip.zip", "md5": "df6f8a3d83c028a5cb9f2f2be60773f3", "name": "cchip.zip", "required": true, "sha1": "364f2302a145a0fd6de767d7f8484badde1d1a6e", "size": 2700}, {"crc32": "5de524e5", "destination": "arcade/decocass.zip", "md5": "b7e1189b341bf6a8e270017c096d21b0", "name": "decocass.zip", "required": true, "sha1": "30b97b2670b79d0de41cba190324c504846c6fa1", "size": 16107}, {"crc32": "17516536", "destination": "arcade/f355bios.zip", "md5": "547f3d12aed389058ca06148f1cca0ed", "name": "f355bios.zip", "required": true, "sha1": "b6ff66dcb5547bd91760d239ddf428a655631c53", "size": 1394278}, {"crc32": "23ac17be", "destination": "arcade/f355dlx.zip", "md5": "1028615bcac4c31634a3364ce5c04044", "name": "f355dlx.zip", "required": true, "sha1": "48d1712d1b1cdfeeeb43c6287c17b0b6309cfaab", "size": 2328436}, {"crc32": "0ddc6daf", "destination": "arcade/hod2bios.zip", "md5": "f4011d3116500354edf7302a90402711", "name": "hod2bios.zip", "required": true, "sha1": "782c303cbdfab1027b04db74a63e27bdad5e0c53", "size": 1479106}, {"crc32": "26856bf9", "destination": "arcade/isgsm.zip", "md5": "4a56d56e2219c5e2b006b66a4263c01c", "name": "isgsm.zip", "required": true, "sha1": "f590ccf688b4c05fa1da5c5dd92c224545170c3b", "size": 10207}, {"crc32": "7620bd32", "destination": "arcade/midssio.zip", "md5": "5904b0de768d1d506e766aa7e18994c1", "name": "midssio.zip", "required": true, "sha1": "54275c9833e497f71f76ab239030cc386c863991", "size": 163}, {"crc32": "6ee50181", "destination": "arcade/naomi.zip", "md5": "526eda1e2a7920c92c88178789d71d84", "name": "naomi.zip", "required": true, "sha1": "c96711c01c0158f161791d6fbe75d88329e8ac0a", "size": 9321533}, {"crc32": "81315163", "destination": "arcade/neogeo.zip", "md5": "00dad01abdbf8ea9e79ad2fe11bdb182", "name": "neogeo.zip", "required": true, "sha1": "deb62b0074b8cae4f162c257662136733cfc76ad", "size": 1859335}, {"crc32": "a6099353", "destination": "arcade/nmk004.zip", "md5": "bfacf1a68792d5348f93cf724d2f1dda", "name": "nmk004.zip", "required": true, "sha1": "489256f5e2001070d2ad94c90d255282c71ed274", "size": 3556}, {"crc32": "bf3dd2ef", "destination": "arcade/pgm.zip", "md5": "87cc944eef4c671aa2629a8ba48a08e0", "name": "pgm.zip", "required": true, "sha1": "c0c001ec80fa860857000f4cfc9844a28498a355", "size": 2094636}, {"crc32": "5692af22", "destination": "arcade/skns.zip", "md5": "3f956c4e7008804cb47cbde49bd5b908", "name": "skns.zip", "required": true, "sha1": "4257bd14b541fafbd555cb98ba079a3416a45934", "size": 924762}, {"crc32": "5b4c29c4", "destination": "arcade/ym2608.zip", "md5": "79ae0d2bb1901b7e606b6dc339b79a97", "name": "ym2608.zip", "required": true, "sha1": "06fc753d015b43ca1787f4cfd9331b1674202e64", "size": 7609}, {"crc32": "f25cf3a8", "destination": "arcade/naomi2.zip", "md5": "0ea5bf0345e27b1cf51bbde1bd398eca", "name": "naomi2.zip", "required": true, "sha1": "533ef12a6d22726da81a50f08871c6e9a377a328", "size": 2189528}]}, "atari-400-800": {"files": [{"crc32": "7d684184", "destination": "atari8bit/ATARIBAS.ROM", "md5": "0bac0c6a50104045d902df4503a4c30b", "name": "ATARIBAS.ROM", "required": true, "sha1": "3693c9cb9bf3b41bae1150f7a8264992468fc8c0", "size": 8192}, {"crc32": "72b3fed4", "destination": "atari8bit/ATARIOSA.ROM", "md5": "eb1f32f5d9f382db1bbfb8d7f9cb343a", "name": "ATARIOSA.ROM", "required": true, "sha1": "6dd53356159a129ed12367beb3b24a771d41adb0", "size": 10240}, {"crc32": "3e28a1fe", "destination": "atari8bit/ATARIOSB.ROM", "md5": "a3e8d617c95d08031fe1b20d541434b2", "name": "ATARIOSB.ROM", "required": true, "sha1": "f1f0741b1d34fb4350cf7cb8ab3b6ea11cdd8174", "size": 10240}, {"crc32": "1f9cd270", "destination": "atari8bit/ATARIXL.ROM", "md5": "06daac977823773a3eea3422fd26a703", "name": "ATARIXL.ROM", "required": true, "sha1": "ae4f523ba08b6fd59f3cae515a2b2410bbd98f55", "size": 16384}]}, "atari-5200": {"files": [{"crc32": "4248d3e3", "destination": "atari5200/5200.rom", "md5": "281f20ea4320404ec820fb7ec0693b38", "name": "5200.rom", "required": true, "sha1": "6ad7a1e8c9fad486fbec9498cb48bf5bc3adc530", "size": 2048}]}, "atari-7800": {"files": [{"crc32": "d5b61170", "destination": "atari7800/7800 BIOS (E).rom", "md5": "397bb566584be7b9764e7a68974c4263", "name": "7800 BIOS (E).rom", "required": true, "sha1": "5a140136a16d1d83e4ff32a19409ca376a8df874", "size": 16384}, {"crc32": "5d13730c", "destination": "atari7800/7800 BIOS (U).rom", "md5": "0763f1ffb006ddbe32e52d497ee848ae", "name": "7800 BIOS (U).rom", "required": true, "sha1": "d9d134bb6b36907c615a594cc7688f7bfcef5b43", "size": 4096}]}, "atari-lynx": {"files": [{"crc32": "0d973c9d", "destination": "lynx/lynxboot.img", "md5": "fcd403db69f54290b51035d82f835e7b", "name": "lynxboot.img", "required": true, "sha1": "e4ed47fae31693e016b081c6bda48da5b70d7ccb", "size": 512}]}, "atari-st": {"files": [{"crc32": "d3c32283", "destination": "atari-st/tos.img", "md5": "c1c57ce48e8ee4135885cee9e63a68a2", "name": "tos.img", "required": true, "sha1": "735793fdba07fe8d5295caa03484f6ef3de931f5", "size": 196608}]}, "coleco-colecovision": {"files": [{"crc32": "3aa93ef3", "destination": "colecovision/colecovision.rom", "md5": "2c66f5911e5b42b8ebe113403548eee7", "name": "colecovision.rom", "required": true, "sha1": "45bedc4cbdeac66c7df59e9e599195c778d86a92", "size": 8192}]}, "commodore-amiga": {"files": [{"crc32": "c4f0f55f", "destination": "amiga/kick34005.A500", "md5": "82a21c1890cae844b3df741f2762d48d", "name": "kick34005.A500", "required": true, "sha1": "891e9a547772fe0c6c19b610baf8bc4ea7fcb785", "size": 262144}, {"crc32": "fc24ae0d", "destination": "amiga/kick40063.A600", "md5": "e40a5dfb3d017ba8779faba30cbd1c8e", "name": "kick40063.A600", "required": true, "sha1": "3b7f1493b27e212830f989f26ca76c02049f09ca", "size": 524288}, {"crc32": "1483a091", "destination": "amiga/kick40068.A1200", "md5": "646773759326fbac3b2311fd8c8793ee", "name": "kick40068.A1200", "required": true, "sha1": "e21545723fe8374e91342617604f1b3d703094f1", "size": 524288}]}, "doom": {"files": [{"crc32": "a5751b99", "destination": "doom/prboom.wad", "md5": "72ae1b47820fcc93cc0df9c428d0face", "name": "prboom.wad", "required": true, "sha1": "5f4aed208301449c2e9514edfd325fe9dead76fa", "size": 143312}, {"crc32": "162b696a", "destination": "doom/DOOM1.WAD", "md5": "f0cefca49926d00903cf57551d901abe", "name": "DOOM1.WAD", "required": true, "sha1": "5b2e249b9c5133ec987b3ea77596381dc0d6bc1d", "size": 4196020}, {"crc32": "cff03d9f", "destination": "doom/DOOM.WAD", "md5": "4461d4511386518e784c647e3128e7bc", "name": "DOOM.WAD", "required": true, "sha1": "997bae5e5a190c5bb3b1fb9e7e3e75b2da88cb27", "size": 12733492}, {"crc32": "09b8a6ae", "destination": "doom/DOOM2.WAD", "md5": "9aa3cbf65b961d0bdac98ec403b832e1", "name": "DOOM2.WAD", "required": true, "sha1": "c745f04a6abc2e6d2a2d52382f45500dd2a260be", "size": 14802506}, {"crc32": "27eaae69", "destination": "doom/DOOM2F.WAD", "md5": "3cb02349b3df649c86290907eed64e7b", "name": "DOOM2F.WAD", "required": true, "sha1": "d510c877031bbd5f3d198581a2c8651e09b9861f", "size": 14607420}, {"crc32": "65816192", "destination": "doom/DOOM64.WAD", "md5": "0aaba212339c72250f8a53a0a2b6189e", "name": "DOOM64.WAD", "required": true, "sha1": "d041456bea851c173f65ac6ab3f2ee61bb0b8b53", "size": 15103212}, {"crc32": "15f18ddb", "destination": "doom/TNT.WAD", "md5": "8974e3117ed4a1839c752d5e11ab1b7b", "name": "TNT.WAD", "required": true, "sha1": "9820e2a3035f0cdd87f69a7d57c59a7a267c9409", "size": 18304630}, {"crc32": "650b998d", "destination": "doom/PLUTONIA.WAD", "md5": "24037397056e919961005e08611623f4", "name": "PLUTONIA.WAD", "required": true, "sha1": "816c7c6b0098f66c299c9253f62bd908456efb63", "size": 17531493}, {"crc32": "22d3f0ca", "destination": "doom/HERETIC1.WAD", "md5": "ae779722390ec32fa37b0d361f7d82f8", "name": "HERETIC1.WAD", "required": true, "sha1": "b4c50ca9bea07f7c35250a1a11906091971c05ae", "size": 5120920}, {"crc32": "5b16049e", "destination": "doom/HERETIC.WAD", "md5": "66d686b1ed6d35ff103f15dbd30e0341", "name": "HERETIC.WAD", "required": true, "sha1": "f489d479371df32f6d280a0cb23b59a35ba2b833", "size": 14189976}, {"crc32": "dca9114c", "destination": "doom/HEXEN.WAD", "md5": "abb033caf81e26f12a2103e1fa25453f", "name": "HEXEN.WAD", "required": true, "sha1": "4b53832f0733c1e29e5f1de2428e5475e891af29", "size": 20083672}, {"crc32": "fd5eb11d", "destination": "doom/HEXDD.WAD", "md5": "78d5898e99e220e4de64edaa0e479593", "name": "HEXDD.WAD", "required": true, "sha1": "081f6a2024643b54ef4a436a85508539b6d20a1e", "size": 4440584}, {"crc32": "93c144dd", "destination": "doom/STRIFE0.WAD", "md5": "bb545b9c4eca0ff92c14d466b3294023", "name": "STRIFE0.WAD", "required": true, "sha1": "bc0a110bf27aee89a0b2fc8111e2391ede891b8d", "size": 9934413}, {"crc32": "4234ace5", "destination": "doom/STRIFE1.WAD", "md5": "2fed2031a5b03892106e0f117f17901f", "name": "STRIFE1.WAD", "required": true, "sha1": "64c13b951a845ca7f8081f68138a6181557458d1", "size": 28377364}, {"crc32": "cd12ebcf", "destination": "doom/VOICES.WAD", "md5": "082234d6a3f7086424856478b5aa9e95", "name": "VOICES.WAD", "required": true, "sha1": "ec6883100d807b894a98f426d024d22c77b63e7f", "size": 27319149}, {"crc32": "298dd5b5", "destination": "doom/CHEX.WAD", "md5": "25485721882b050afa96a56e5758dd52", "name": "CHEX.WAD", "required": true, "sha1": "eca9cff1014ce5081804e193588d96c6ddb35432", "size": 12361532}]}, "enterprise-64-128": {"files": [{"crc32": "596ab6d6", "destination": "enterprise/hun.rom", "md5": "22167938f142c222f40992839aa21a06", "name": "hun.rom", "required": true, "sha1": "325a5e28c2a0d896711f8829e7ff14fed5dd4103", "size": 16384}, {"crc32": "6999d6a3", "destination": "enterprise/brd.rom", "md5": "6af0402906944fd134004b85097c8524", "name": "brd.rom", "required": true, "sha1": "f34f0c330b44dbf2548329bea954d5991dec30ca", "size": 16384}, {"crc32": "d421795f", "destination": "enterprise/exos20.rom", "md5": "5ad3baaad3b5156d6b60b34229a676fb", "name": "exos20.rom", "required": true, "sha1": "6033a0535136c40c47137e4d1cd9273c06d5fdff", "size": 32768}, {"crc32": "982a3b44", "destination": "enterprise/exos21.rom", "md5": "f36f24cbb87745fbd2714e4df881db09", "name": "exos21.rom", "required": true, "sha1": "55315b20fecb4441a07ee4bc5dc7153f396e0a2e", "size": 32768}, {"crc32": "d6deedf1", "destination": "enterprise/zt19uk.rom", "md5": "228540b6be83ae2acd7569c8ff0f91d0", "name": "zt19uk.rom", "required": true, "sha1": "b7af62f0bc95fdca4b31d236f8327dafc80f83b7", "size": 32768}, {"crc32": "1228de34", "destination": "enterprise/basic20.rom", "md5": "8e18edce4a7acb2c33cc0ab18f988482", "name": "basic20.rom", "required": true, "sha1": "61d0987b906146e21b94f265d5b51b4938c986a9", "size": 16384}, {"crc32": "55f96251", "destination": "enterprise/basic21.rom", "md5": "e972fe42b398c9ff1d93ff014786aec6", "name": "basic21.rom", "required": true, "sha1": "03bbb386cf530e804363acdfc1d13e64cf28af2e", "size": 16384}, {"crc32": "e0135929", "destination": "enterprise/exdos13.rom", "md5": "ddff70c014d1958dc75378b6c9aab6f8", "name": "exdos13.rom", "required": true, "sha1": "cb43ab3676b93c279f1ed8ffcb0d4dcd4b34e631", "size": 32768}, {"crc32": "bd503eeb", "destination": "enterprise/epd19hft.rom", "md5": "12cfc9c7e48c8a16c2e09edbd926d467", "name": "epd19hft.rom", "required": true, "sha1": "8f28fe73d13e94dd1da02519908ecc6eebe104f6", "size": 32768}, {"crc32": "76c9dbf6", "destination": "enterprise/zt18hfnt.rom", "md5": "3082dc488d32f30a612761b99074199b", "name": "zt18hfnt.rom", "required": true, "sha1": "283be1ce417a759a3368bb4bbe72f692fd43ca6d", "size": 32768}, {"crc32": "60c79925", "destination": "enterprise/epfileio.rom", "md5": "a68ebcbc73a4d2178d755b7755bf18fe", "name": "epfileio.rom", "required": true, "sha1": "2f9077bcd89b1ec42dbdcd55d335bdbaf361eff3", "size": 16384}, {"crc32": "c099a5e3", "destination": "enterprise/exos24uk.rom", "md5": "55af78f877a21ca45eb2df68a74fcc60", "name": "exos24uk.rom", "required": true, "sha1": "cf12e971623a54bf8c4f891ca3a36d969f205c49", "size": 65536}]}, "fairchild-channel-f": {"files": [{"crc32": "04694ed9", "destination": "fairchild-channel-f/sl31253.bin", "md5": "ac9804d4c0e9d07e33472e3726ed15c3", "name": "sl31253.bin", "required": true, "sha1": "81193965a374d77b99b4743d317824b53c3e3c78", "size": 1024}, {"crc32": "9c047ba3", "destination": "fairchild-channel-f/sl31254.bin", "md5": "da98f4bb3242ab80d76629021bb27585", "name": "sl31254.bin", "required": true, "sha1": "8f70d1b74483ba3a37e86cf16c849d601a8c3d2c", "size": 1024}, {"crc32": "015c1e38", "destination": "fairchild-channel-f/sl90025.bin", "md5": "95d339631d867c8f1d15a5f2ec26069d", "name": "sl90025.bin", "required": true, "sha1": "759e2ed31fbde4a2d8daf8b9f3e0dffebc90dae2", "size": 1024}]}, "j2me": {"files": [{"crc32": "96a1babf", "destination": "j2me/freej2me-lr.jar", "md5": "ccd92e7156ce2f0ce14c88ffb68a16eb", "name": "freej2me-lr.jar", "required": true, "sha1": "fb231192894e2fd17a5799fbbdf86a4696951bce", "size": 552042}, {"crc32": "5cca0f35", "destination": "j2me/freej2me-sdl.jar", "md5": "4da74084fc1b1bd3d776ed8d3ee648de", "name": "freej2me-sdl.jar", "required": true, "sha1": "78f1f41d55efc6b8d81e99c1d9d75248b3f83dc2", "size": 552043}, {"crc32": "ffb98ffa", "destination": "j2me/freej2me.jar", "md5": "29a92d0867da2917275b7c6c805d256f", "name": "freej2me.jar", "required": true, "sha1": "7d738042268e4ffd0aae8e85e05dd28bce761d1f", "size": 552039}]}, "magnavox-odyssey2": {"files": [{"crc32": "8016a315", "destination": "odyssey-2-slash-videopac-g7000/o2rom.bin", "md5": "562d5ebf9e030a40d6fabfc2f33139fd", "name": "o2rom.bin", "required": true, "sha1": "b2e1955d957a475de2411770452eff4ea19f4cee", "size": 1024}]}, "mattel-intellivision": {"files": [{"crc32": "cbce86f7", "destination": "intellivision/exec.bin", "md5": "62e761035cb657903761800f4437b8af", "name": "exec.bin", "required": true, "sha1": "5a65b922b562cb1f57dab51b73151283f0e20c7a", "size": 8192}, {"crc32": "683a4158", "destination": "intellivision/grom.bin", "md5": "0cd5946c6473e42e8e4c2137785e427f", "name": "grom.bin", "required": true, "sha1": "f9608bb4ad1cfe3640d02844c7ad8e0bcd974917", "size": 2048}]}, "microsoft-msx": {"files": [{"crc32": "d42f4444", "destination": "msx/CARTS.SHA", "md5": "74b0f217fa0e2b8bb5a2f8e2ecc69da3", "name": "CARTS.SHA", "required": true, "sha1": "bf5fb954db868e523febccc68549ed9187961076", "size": 33152}, {"crc32": "73af9bc3", "destination": "msx/CYRILLIC.FNT", "md5": "85b38e4128bbc300e675f55b278683a8", "name": "CYRILLIC.FNT", "required": true, "sha1": "000ac11b702a4c42e40f135df12fa5f2f13e20a1", "size": 2048}, {"crc32": "721f61df", "destination": "msx/DISK.ROM", "md5": "80dcd1ad1a4cf65d64b7ba10504e8190", "name": "DISK.ROM", "required": true, "sha1": "032cb1c1c75b9a191fa1230978971698d9d2a17f", "size": 16384}, {"crc32": "721f61df", "destination": "msx2/DISK.ROM", "md5": "80dcd1ad1a4cf65d64b7ba10504e8190", "name": "DISK.ROM", "required": true, "sha1": "032cb1c1c75b9a191fa1230978971698d9d2a17f", "size": 16384}, {"crc32": "0e84505d", "destination": "msx/FMPAC.ROM", "md5": "6f69cc8b5ed761b03afd78000dfb0e19", "name": "FMPAC.ROM", "required": true, "sha1": "9d789166e3caf28e4742fe933d962e99618c633d", "size": 65536}, {"crc32": "5d6c4d27", "destination": "msx/FMPAC16.ROM", "md5": "af8537262df8df267072f359399a7635", "name": "FMPAC16.ROM", "required": true, "sha1": "2dc4517ebd5a061f9b5aa6b449cc4d4a2073540c", "size": 16384}, {"crc32": "c90ec498", "destination": "msx/ITALIC.FNT", "md5": "c83e50e9f33b8dd893c414691822740d", "name": "ITALIC.FNT", "required": true, "sha1": "401dd6692dc80628e5f68b7c79be0b0ebbc4d3ee", "size": 2048}, {"crc32": "c9651b32", "destination": "msx/KANJI.ROM", "md5": "febe8782b466d7c3b16de6d104826b34", "name": "KANJI.ROM", "required": true, "sha1": "84a645becec0a25d3ab7a909cde1b242699a8662", "size": 131072}, {"crc32": "94ee12f3", "destination": "msx/MSX.ROM", "md5": "aa95aea2563cd5ec0a0919b44cc17d47", "name": "MSX.ROM", "required": true, "sha1": "409e82adac40f6bdd18eb6c84e8b2fbdc7fb5498", "size": 32768}, {"crc32": "6cdaf3a5", "destination": "msx/MSX2.ROM", "md5": "ec3a01c91f24fbddcbcab0ad301bc9ef", "name": "MSX2.ROM", "required": true, "sha1": "6103b39f1e38d1aa2d84b1c3219c44f1abb5436e", "size": 32768}, {"crc32": "66237ecf", "destination": "msx/MSX2EXT.ROM", "md5": "2183c2aff17cf4297bdb496de78c2e8a", "name": "MSX2EXT.ROM", "required": true, "sha1": "5c1f9c7fb655e43d38e5dd1fcc6b942b2ff68b02", "size": 16384}, {"crc32": "00870134", "destination": "msx/MSX2P.ROM", "md5": "6d8c0ca64e726c82a4b726e9b01cdf1e", "name": "MSX2P.ROM", "required": true, "sha1": "e2fbd56e42da637609d23ae9df9efd1b4241b18a", "size": 32768}, {"crc32": "b8ba44d3", "destination": "msx/MSX2PEXT.ROM", "md5": "7c8243c71d8f143b2531f01afa6a05dc", "name": "MSX2PEXT.ROM", "required": true, "sha1": "fe0254cbfc11405b79e7c86c7769bd6322b04995", "size": 16384}, {"crc32": "1c430991", "destination": "msx/MSXDOS2.ROM", "md5": "6418d091cd6907bbcf940324339e43bb", "name": "MSXDOS2.ROM", "required": true, "sha1": "c36c9e0f96738a340381e23b4f97245388801a46", "size": 65536}, {"crc32": "1bda68a3", "destination": "msx/PAINTER.ROM", "md5": "403cdea1cbd2bb24fae506941f8f655e", "name": "PAINTER.ROM", "required": true, "sha1": "7fd2a28c4fdaeb140f3c8c8fb90271b1472c97b9", "size": 65536}, {"crc32": "ab6874f8", "destination": "msx/RS232.ROM", "md5": "279efd1eae0d358eecd4edc7d9adedf3", "name": "RS232.ROM", "required": true, "sha1": "7aec0134ad6a5177f4056fcb6047083e8e00529b", "size": 16640}]}, "microsoft-xbox": {"files": [{"crc32": "ccb97a84", "destination": "xbox/Complex_4627.bin", "md5": "ec00e31e746de2473acfe7903c5a4cb7", "name": "Complex_4627.bin", "required": true, "sha1": "6639b6693784574d204c42703a74fd8b088a3a5e", "size": 1048576}, {"crc32": "0b07d1f1", "destination": "xbox/mcpx_1.0.bin", "md5": "d49c52a4102f6df7bcf8d0617ac475ed", "name": "mcpx_1.0.bin", "required": true, "sha1": "5d270675b54eb8071b480e42d22a3015ac211cef", "size": 512}]}, "nec-pc-98": {"files": [{"crc32": "bb038714", "destination": "pc-9800-series/2608_bd.wav", "md5": "d94546e70f17fd899be8df3544ab6cbb", "name": "2608_bd.wav", "required": true, "sha1": "0a56c142ef40cec50f3ee56a6e42d0029c9e2818", "size": 19192}, {"crc32": "9898b372", "destination": "pc-9800-series/2608_hh.wav", "md5": "08c54a0c1f774a5538a848a6665a34b4", "name": "2608_hh.wav", "required": true, "sha1": "12f676cef249b82480b6f19c454e234b435ca7b6", "size": 36722}, {"crc32": "638864c1", "destination": "pc-9800-series/2608_rim.wav", "md5": "465ea0768b27da404aec45dfc501404b", "name": "2608_rim.wav", "required": true, "sha1": "c65592330c9dd84011151daed52f9aec926b7e56", "size": 5288}, {"crc32": "542cc58c", "destination": "pc-9800-series/2608_sd.wav", "md5": "d71004351c8bbfdad53b18222c061d49", "name": "2608_sd.wav", "required": true, "sha1": "3c79663ef74c0b0439d13351326eb1c52a657008", "size": 15558}, {"crc32": "93c57bba", "destination": "pc-9800-series/2608_tom.wav", "md5": "96a4ead13f364734f79b0c58af2f0e1f", "name": "2608_tom.wav", "required": true, "sha1": "9513fb4a3f41e75a972a273a5104cbd834c1e2c5", "size": 23092}, {"crc32": "ab73a296", "destination": "pc-9800-series/2608_top.wav", "md5": "593cff6597ab9380d822b8f824fd2c28", "name": "2608_top.wav", "required": true, "sha1": "aa4a8f766a86b830687d5083fd3b9db0652f46fc", "size": 57016}, {"crc32": "0a682b93", "destination": "pc-9800-series/bios.rom", "md5": "cd237e16e7e77c06bb58540e9e9fca68", "name": "bios.rom", "required": true, "sha1": "76a7360502fa0296ea93b4c537174610a834d367", "size": 98304}, {"crc32": "d271798b", "destination": "pc-9800-series/font.bmp", "md5": "7da1e5b7c482d4108d22a5b09631d967", "name": "font.bmp", "required": true, "sha1": "b4f14e58030ed40fff2dc312b58ea4440bdf8cc5", "size": 524350}, {"crc32": "456d9fc7", "destination": "pc-9800-series/font.rom", "md5": "38d32748ae49d1815b0614970849fd40", "name": "font.rom", "required": true, "sha1": "78ba9960f135372825ab7244b5e4e73a810002ff", "size": 288768}, {"crc32": "c1815325", "destination": "pc-9800-series/itf.rom", "md5": "72ea51443070f0e9212bfc9b793ee28e", "name": "itf.rom", "required": true, "sha1": "a2fb11c000ed7c976520622cfb7940ed6ddc904e", "size": 32768}, {"crc32": "fe9f57f2", "destination": "pc-9800-series/sound.rom", "md5": "524473c1a5a03b17e21d86a0408ff827", "name": "sound.rom", "required": true, "sha1": "d5dbc4fea3b8367024d363f5351baecd6adcd8ef", "size": 16384}]}, "nec-pc-engine": {"files": [{"crc32": "51a12d90", "destination": "tg16/gecard.pce", "md5": "6d2cb14fc3e1f65ceb135633d1694122", "name": "gecard.pce", "required": true, "sha1": "014881a959e045e00f4db8f52955200865d40280", "size": 32768}, {"crc32": "51a12d90", "destination": "tg16/gexpress.pce", "md5": "6d2cb14fc3e1f65ceb135633d1694122", "name": "gexpress.pce", "required": true, "sha1": "014881a959e045e00f4db8f52955200865d40280", "size": 32768}, {"crc32": "3f9f95a4", "destination": "tg16/syscard1.pce", "md5": "2b7ccb3d86baa18f6402c176f3065082", "name": "syscard1.pce", "required": true, "sha1": "a39a66da7de6ba94ab84d04eef7afeec7d4ee66a", "size": 262144}, {"crc32": "283b74e0", "destination": "tg16/syscard2.pce", "md5": "3cdd6614a918616bfc41c862e889dd79", "name": "syscard2.pce", "required": true, "sha1": "88da02e2503f7c32810f5d93a34849d470742b6d", "size": 262144}, {"crc32": "ff2a5ec3", "destination": "tg16/syscard2u.pce", "md5": "94279f315e8b52904f65ab3108542afe", "name": "syscard2u.pce", "required": true, "sha1": "2bea3dac98f84b2f2f469fa77ea720b8770d598d", "size": 262144}, {"crc32": "6d9a73ef", "destination": "tg16/syscard3.pce", "md5": "38179df8f4ac870017db21ebcbf53114", "name": "syscard3.pce", "required": true, "sha1": "79f5ff55dd10187c7fd7b8daab0b3ffbd1f56a2c", "size": 262144}, {"crc32": "2b5b75fe", "destination": "tg16/syscard3u.pce", "md5": "0754f903b52e3b3342202bdafb13efa5", "name": "syscard3u.pce", "required": true, "sha1": "d02611d99921986147c753df14c7349b31d71950", "size": 262144}]}, "nec-pc-fx": {"files": [{"crc32": "f3e60e5e", "destination": "pc-fx/fx-scsi.rom", "md5": "430e9745f9235c515bc8e652d6ca3004", "name": "fx-scsi.rom", "required": true, "sha1": "65482a23ac5c10a6095aee1db5824cca54ead6e5", "size": 524288}, {"crc32": "76ffb97a", "destination": "pc-fx/pcfx.rom", "md5": "08e36edbea28a017f79f8d4f7ff9b6d7", "name": "pcfx.rom", "required": true, "sha1": "1a77fd83e337f906aecab27a1604db064cf10074", "size": 1048576}, {"crc32": "76ffb97a", "destination": "pc-fx/pcfxbios.bin", "md5": "08e36edbea28a017f79f8d4f7ff9b6d7", "name": "pcfxbios.bin", "required": true, "sha1": "1a77fd83e337f906aecab27a1604db064cf10074", "size": 1048576}, {"crc32": "41c3776b", "destination": "pc-fx/pcfxga.rom", "md5": "5885bc9a64bf80d4530b9b9b978ff587", "name": "pcfxga.rom", "required": true, "sha1": "a9372202a5db302064c994fcda9b24d29bb1b41c", "size": 1048576}, {"crc32": "236102c9", "destination": "pc-fx/pcfxv101.bin", "md5": "e2fb7c7220e3a7838c2dd7e401a7f3d8", "name": "pcfxv101.bin", "required": true, "sha1": "8b662f7548078be52a871565e19511ccca28c5c8", "size": 1048576}]}, "nintendo-64dd": {"files": [{"crc32": "7f933ce2", "destination": "64dd/64DD_IPL.bin", "md5": "8d3d9f294b6e174bc7b1d2fd1c727530", "name": "64DD_IPL.bin", "required": true, "sha1": "bf861922dcb78c316360e3e742f4f70ff63c9bc3", "size": 4194304}]}, "nintendo-ds": {"files": [{"crc32": "1280f0d5", "destination": "nds/bios7.bin", "md5": "df692a80a5b1bc90728bc3dfc76cd948", "name": "bios7.bin", "required": true, "sha1": "24f67bdea115a2c847c8813a262502ee1607b7df", "size": 16384}, {"crc32": "2ab23573", "destination": "nds/bios9.bin", "md5": "a392174eb3e572fed6447e956bde4b25", "name": "bios9.bin", "required": true, "sha1": "bfaac75f101c135e32e2aaf541de6b1be4c8c62d", "size": 4096}, {"crc32": "945f9dc9", "destination": "nds/firmware.bin", "md5": "e45033d9b0fa6b0de071292bba7c9d13", "name": "firmware.bin", "required": true, "sha1": "cfe072921ee3fb93f688743f8beef89043c3e9ad", "size": 262144}]}, "nintendo-fds": {"files": [{"crc32": "5e607dcf", "destination": "fds/disksys.rom", "md5": "ca30b50f880eb660a320674ed365ef7a", "name": "disksys.rom", "required": true, "sha1": "57fe1bdee955bb48d357e463ccbf129496930b62", "size": 8192}]}, "nintendo-gamecube": {"files": [{"crc32": "c047465a", "destination": "ngc/gc-dvd-20010608.bin", "md5": "561532ad496f644897952d2cef5bb431", "name": "gc-dvd-20010608.bin", "required": true, "sha1": "27872c201e87b06a19bf85d36c796ef383f8d52d", "size": 131072}, {"crc32": "54c7d10e", "destination": "ngc/gc-dvd-20010831.bin", "md5": "b953eb1a8fc9922b3f7051c1cdc451f1", "name": "gc-dvd-20010831.bin", "required": true, "sha1": "ae7233cae8f94749796e0b740d6021e3b00a8926", "size": 131072}, {"crc32": "8bbef508", "destination": "ngc/gc-dvd-20020402.bin", "md5": "413154dd0e2c824c9b18b807fd03ec4e", "name": "gc-dvd-20020402.bin", "required": true, "sha1": "691e46213d8428befdf568157e670b971ab94e1d", "size": 131072}, {"crc32": "5205222b", "destination": "ngc/gc-dvd-20020823.bin", "md5": "c03f6bbaf644eb9b3ee261dbe199eb42", "name": "gc-dvd-20020823.bin", "required": true, "sha1": "2faaf92bcaffe675f54f7249d30f3791507e22ab", "size": 131072}, {"crc32": "6dac1f2a", "destination": "ngc/gc-ntsc-10.bin", "md5": "fc924a7c879b661abc37cec4f018fdf3", "name": "gc-ntsc-10.bin", "required": true, "sha1": "a1837968288253ed541f2b11440b68f5a9b33875", "size": 2097152}, {"crc32": "d5e6feea", "destination": "ngc/gc-ntsc-11.bin", "md5": "019e39822a9ca3029124f74dd4d55ac4", "name": "gc-ntsc-11.bin", "required": true, "sha1": "239eacd86527ff9a75aeb7282da65797baeef010", "size": 2097152}, {"crc32": "86573808", "destination": "ngc/gc-ntsc-12.bin", "md5": "b17148254a5799684c7d783206504926", "name": "gc-ntsc-12.bin", "required": true, "sha1": "ef9194ab4804aa0aa8540d846caf291b28331165", "size": 2097152}, {"crc32": "4f319f43", "destination": "ngc/gc-pal-10.bin", "md5": "0cdda509e2da83c85bfe423dd87346cc", "name": "gc-pal-10.bin", "required": true, "sha1": "f27c63e5394e2fd1606f70df004c4fc2d6027700", "size": 2097152}, {"crc32": "667d0b64", "destination": "ngc/gc-pal-11.bin", "md5": "339848a0b7c2124cf155276c1e79cbd0", "name": "gc-pal-11.bin", "required": true, "sha1": "f3cd0c7c61cbcefa85e7de3aff4cfa50bc508714", "size": 2097152}, {"crc32": "ad1b7f16", "destination": "ngc/gc-pal-12.bin", "md5": "db92574caab77a7ec99d4605fd6f2450", "name": "gc-pal-12.bin", "required": true, "sha1": "80b8744ff5e43585392f55546bd03a673d11ef5f", "size": 2097152}]}, "nintendo-gb": {"files": [{"crc32": "59c8598e", "destination": "gb/dmg_boot.bin", "md5": "32fbbd84168d3482956eb3c5051637f5", "name": "dmg_boot.bin", "required": true, "sha1": "4ed31ec6b0b175bb109c0eb5fd3d193da823339f", "size": 256}, {"crc32": "59c8598e", "destination": "gb/gb_bios.bin", "md5": "32fbbd84168d3482956eb3c5051637f5", "name": "gb_bios.bin", "required": true, "sha1": "4ed31ec6b0b175bb109c0eb5fd3d193da823339f", "size": 256}]}, "nintendo-gba": {"files": [{"crc32": "81977335", "destination": "gba/gba_bios.bin", "md5": "a860e8c0b6d573d191e4ec7db1b1e4f6", "name": "gba_bios.bin", "required": true, "sha1": "300c20df6731a33952ded8c436f7f186d25d3492", "size": 16384}]}, "nintendo-gbc": {"files": [{"crc32": "41884e46", "destination": "gbc/cgb_boot.bin", "md5": "dbfce9db9deaa2567f6a84fde55f9680", "name": "cgb_boot.bin", "required": true, "sha1": "1293d68bf9643bc4f36954c1e80e38f39864528d", "size": 2304}, {"crc32": "41884e46", "destination": "gbc/gbc_bios.bin", "md5": "dbfce9db9deaa2567f6a84fde55f9680", "name": "gbc_bios.bin", "required": true, "sha1": "1293d68bf9643bc4f36954c1e80e38f39864528d", "size": 2304}]}, "nintendo-nes": {"files": [{"crc32": "ebb2196c", "destination": "nes/NstDatabase.xml", "md5": "7bfe8c0540ed4bd6a0f1e2a0f0118ced", "name": "NstDatabase.xml", "required": true, "sha1": "26322f182540211e9b5e3647675b7c593706ae2b", "size": 1009534}]}, "nintendo-pokemon-mini": {"files": [{"crc32": "aed3c14d", "destination": "pokemon-mini/bios.min", "md5": "1e4fb124a3a886865acb574f388c803d", "name": "bios.min", "required": true, "sha1": "daad4113713ed776fbd47727762bca81ba74915f", "size": 4096}]}, "nintendo-satellaview": {"files": [{"crc32": "f51f07a0", "destination": "satellaview/BS-X.bin", "md5": "fed4d8242cfbed61343d53d48432aced", "name": "BS-X.bin", "required": true, "sha1": "604556b2e62860af18db5a77f2956ebc75450020", "size": 1048576}, {"crc32": "347e1c4e", "destination": "satellaview/BS-X (En).bin", "md5": "33b62505da6ca4525e3839db4e1a7bca", "name": "BS-X (En).bin", "required": true, "sha1": "f3cdff70de5d0f5c52ca3a8f46588b863d48b8ec", "size": 1048576}, {"crc32": "8c573c7e", "destination": "satellaview/BS-X (En) (DRM-Free).bin", "md5": "4ed9648505ab33a4daec93707b16caba", "name": "BS-X (En) (DRM-Free).bin", "required": true, "sha1": "7996bd1c01b99800e0d5d34beff93db283784864", "size": 1048576}]}, "nintendo-sgb": {"files": [{"crc32": "8a4a174f", "destination": "super-gb/SGB1.sfc", "md5": "b15ddb15721c657d82c5bab6db982ee9", "name": "SGB1.sfc", "required": true, "sha1": "973e10840db683cf3faf61bd443090786b3a9f04", "size": 262144}, {"crc32": "cb176e45", "destination": "super-gb/SGB2.sfc", "md5": "8ecd73eb4edf7ed7e81aef1be80031d5", "name": "SGB2.sfc", "required": true, "sha1": "e5b2922ca137051059e4269b236d07a22c07bc84", "size": 524288}, {"crc32": "ec8a83b9", "destination": "super-gb/sgb1.boot.rom", "md5": "d574d4f9c12f305074798f54c091a8b4", "name": "sgb1.boot.rom", "required": true, "sha1": "aa2f50a77dfb4823da96ba99309085a3c6278515", "size": 256}, {"crc32": "8a4a174f", "destination": "super-gb/sgb1.program.rom", "md5": "b15ddb15721c657d82c5bab6db982ee9", "name": "sgb1.program.rom", "required": true, "sha1": "973e10840db683cf3faf61bd443090786b3a9f04", "size": 262144}, {"crc32": "53d0dd63", "destination": "super-gb/sgb2.boot.rom", "md5": "e0430bca9925fb9882148fd2dc2418c1", "name": "sgb2.boot.rom", "required": true, "sha1": "93407ea10d2f30ab96a314d8eca44fe160aea734", "size": 256}, {"crc32": "cb176e45", "destination": "super-gb/sgb2.program.rom", "md5": "8ecd73eb4edf7ed7e81aef1be80031d5", "name": "sgb2.program.rom", "required": true, "sha1": "e5b2922ca137051059e4269b236d07a22c07bc84", "size": 524288}, {"crc32": "53d0dd63", "destination": "super-gb/sgb2_bios.bin", "md5": "e0430bca9925fb9882148fd2dc2418c1", "name": "sgb2_bios.bin", "required": true, "sha1": "93407ea10d2f30ab96a314d8eca44fe160aea734", "size": 256}, {"crc32": "ec8a83b9", "destination": "super-gb/sgb_bios.bin", "md5": "d574d4f9c12f305074798f54c091a8b4", "name": "sgb_bios.bin", "required": true, "sha1": "aa2f50a77dfb4823da96ba99309085a3c6278515", "size": 256}]}, "nintendo-snes": {"files": [{"crc32": "b6e76a6a", "destination": "snes/cx4.data.rom", "md5": "037ac4296b6b6a5c47c440188d3c72e3", "name": "cx4.data.rom", "required": true, "sha1": "a002f4efba42775a31185d443f3ed1790b0e949a", "size": 3072}, {"crc32": "c8347cbd", "destination": "snes/dsp1.data.rom", "md5": "3d81b45fa0c2aa8b852dfb1ece7c0971", "name": "dsp1.data.rom", "required": true, "sha1": "589c158685fe3cf88c7ca77cb6083f0e4de9c7c3", "size": 2048}, {"crc32": "db9a4c92", "destination": "snes/dsp1.program.rom", "md5": "ae209fbe789fbf11a48aea5ab1197321", "name": "dsp1.program.rom", "required": true, "sha1": "c5d283604beebb3d832f15a0b3fc60d10dd4bddc", "size": 6144}, {"crc32": "37a252c6", "destination": "snes/dsp1b.data.rom", "md5": "1e3f568634a7d8284020dddc0ae905bc", "name": "dsp1b.data.rom", "required": true, "sha1": "19d5e822fe15ee6942e9921c3d8275a761a969df", "size": 2048}, {"crc32": "66a73998", "destination": "snes/dsp1b.program.rom", "md5": "d10f446888e097cbf500f3f663cf4f6d", "name": "dsp1b.program.rom", "required": true, "sha1": "03c6c0bdb40846c42aeff6b716e1ea0e001c3ae3", "size": 6144}, {"crc32": "b3893c70", "destination": "snes/dsp2.data.rom", "md5": "e9417e29223b139c3c4b635a2a3b8744", "name": "dsp2.data.rom", "required": true, "sha1": "aed9167cc2897cd8d0432f0b8f713fabbc48f5c4", "size": 2048}, {"crc32": "0c1cf838", "destination": "snes/dsp2.program.rom", "md5": "aa6e5922a3ed5ded54f24247c11143c5", "name": "dsp2.program.rom", "required": true, "sha1": "51a274955ef493cfcf2efad7e2ee54738c81eb15", "size": 6144}, {"crc32": "8b41a2bd", "destination": "snes/dsp3.data.rom", "md5": "0a81210c0a940b997dd9843281008ee6", "name": "dsp3.data.rom", "required": true, "sha1": "e7ec3da203a4edba2b17c06d9384787304a025a0", "size": 2048}, {"crc32": "f29be51c", "destination": "snes/dsp3.program.rom", "md5": "d99ca4562818d49cee1f242705bba6f8", "name": "dsp3.program.rom", "required": true, "sha1": "11b7ba3501a8542af4cdfdbd1c9702ae0a0e3fae", "size": 6144}, {"crc32": "efa8b9b2", "destination": "snes/dsp4.data.rom", "md5": "ee4990879eb68e3cbca239c5bc20303d", "name": "dsp4.data.rom", "required": true, "sha1": "8f2ffb9c1702aa2f76191e98f3fef43f73e5aab7", "size": 2048}, {"crc32": "14b77ae3", "destination": "snes/dsp4.program.rom", "md5": "a151023b948b90ffc23a5b594bb6fef2", "name": "dsp4.program.rom", "required": true, "sha1": "1abee528a59238fd5668fdcffd598d079cb056c2", "size": 6144}, {"crc32": "216081b2", "destination": "snes/st010.data.rom", "md5": "254d70762b6f59f99c27c395aba7d07d", "name": "st010.data.rom", "required": true, "sha1": "bd116501ec41c438fff210fd03233c6c9d15a514", "size": 4096}, {"crc32": "691cbb4f", "destination": "snes/st010.program.rom", "md5": "1d70019179a59a566a0bb5d3f2845544", "name": "st010.program.rom", "required": true, "sha1": "2d0f34074ed3c6dfd61f767ee8b18e699b9769ac", "size": 49152}, {"crc32": "803256a7", "destination": "snes/st011.data.rom", "md5": "10bd3f4aa949737ab9836512c35bcc29", "name": "st011.data.rom", "required": true, "sha1": "798ab84110ca93a6e73a540f4146d21f8d9e1442", "size": 4096}, {"crc32": "a741e9fb", "destination": "snes/st011.program.rom", "md5": "95222ebf1c0c2990bcf25db43743f032", "name": "st011.program.rom", "required": true, "sha1": "375eca92592621e83881f3a9d7fd5ea3e5b306dc", "size": 49152}, {"crc32": "b5255459", "destination": "snes/st018.data.rom", "md5": "49c898b60d0f15e90d0ba780dd12f366", "name": "st018.data.rom", "required": true, "sha1": "b19c0f8f207d62fdabf4bf71442826063bccc626", "size": 32768}, {"crc32": "f73d5e10", "destination": "snes/st018.program.rom", "md5": "dda40ccd57390c96e49d30a041f9a9e7", "name": "st018.program.rom", "required": true, "sha1": "388e3721b94cd074d6ba0eca8616523d2118a6c3", "size": 131072}]}, "nintendo-sufami-turbo": {"files": [{"crc32": "9b4ca911", "destination": "sufami-turbo/STBIOS.bin", "md5": "d3a44ba7d42a74d3ac58cb9c14c6a5ca", "name": "STBIOS.bin", "required": true, "sha1": "ef86ea192eed03d5c413fdbbfd46043be1d7a127", "size": 262144}]}, "philips-videopac": {"files": [{"crc32": "a318e8d6", "destination": "videopac-g7400/c52.bin", "md5": "f1071cdb0b6b10dde94d3bc8a6146387", "name": "c52.bin", "required": true, "sha1": "a6120aed50831c9c0d95dbdf707820f601d9452e", "size": 1024}, {"crc32": "e20a9f41", "destination": "videopac-g7400/g7400.bin", "md5": "c500ff71236068e0dc0d0603d265ae76", "name": "g7400.bin", "required": true, "sha1": "5130243429b40b01a14e1304d0394b8459a6fbae", "size": 1024}, {"crc32": "11647ca5", "destination": "videopac-g7400/jopac.bin", "md5": "279008e4a0db2dc5f1c048853b033828", "name": "jopac.bin", "required": true, "sha1": "54b8d2c1317628de51a85fc1c424423a986775e4", "size": 1024}]}, "scummvm": {"files": [{"crc32": "a93f1c4b", "destination": "scummvm/scummvm.zip", "md5": "a17e0e0150155400d8cced329563d9c8", "name": "scummvm.zip", "required": true, "sha1": "718c1a00d38e0810a1ad0ffde79f73447f846f01", "size": 9523360}]}, "sega-dreamcast": {"files": [{"crc32": "89f2b1a1", "destination": "dc/dc_boot.bin", "md5": "e10c53c2f8b90bab96ead2d368858623", "name": "dc_boot.bin", "required": true, "sha1": "8951d1bb219ab2ff8583033d2119c899cc81f18c", "size": 2097152}, {"crc32": "89f2b1a1", "destination": "dc/boot.bin", "md5": "e10c53c2f8b90bab96ead2d368858623", "name": "boot.bin", "required": true, "sha1": "8951d1bb219ab2ff8583033d2119c899cc81f18c", "size": 2097152}, {"crc32": "c611b498", "destination": "dc/dc_flash.bin", "md5": "0a93f7940c455905bea6e392dfde92a4", "name": "dc_flash.bin", "required": true, "sha1": "94d44d7f9529ec1642ba3771ed3c5f756d5bc872", "size": 131072}, {"crc32": "c611b498", "destination": "dc/flash.bin", "md5": "0a93f7940c455905bea6e392dfde92a4", "name": "flash.bin", "required": true, "sha1": "94d44d7f9529ec1642ba3771ed3c5f756d5bc872", "size": 131072}, {"crc32": "d2a1c6bf", "destination": "dc/naomi_boot.bin", "md5": "3bffafac42a7767d8dcecf771f5552ba", "name": "naomi_boot.bin", "required": true, "sha1": "6d27d71aec4dfba98f66316ae74a1426d567698a", "size": 2097152}]}, "sega-game-gear": {"files": [{"crc32": "0ebea9d4", "destination": "gamegear/bios.gg", "md5": "672e104c3be3a238301aceffc3b23fd6", "name": "bios.gg", "required": true, "sha1": "914aa165e3d879f060be77870d345b60cfeb4ede", "size": 1024}]}, "sega-master-system": {"files": [{"crc32": "0072ed54", "destination": "sms/bios.sms", "md5": "840481177270d5642a14ca71ee72844c", "name": "bios.sms", "required": true, "sha1": "c315672807d8ddb8d91443729405c766dd95cae7", "size": 8192}, {"crc32": "0072ed54", "destination": "sms/bios_E.sms", "md5": "840481177270d5642a14ca71ee72844c", "name": "bios_E.sms", "required": true, "sha1": "c315672807d8ddb8d91443729405c766dd95cae7", "size": 8192}, {"crc32": "48d44a13", "destination": "sms/bios_J.sms", "md5": "24a519c53f67b00640d0048ef7089105", "name": "bios_J.sms", "required": true, "sha1": "a8c1b39a2e41137835eda6a5de6d46dd9fadbaf2", "size": 8192}, {"crc32": "0072ed54", "destination": "sms/bios_U.sms", "md5": "840481177270d5642a14ca71ee72844c", "name": "bios_U.sms", "required": true, "sha1": "c315672807d8ddb8d91443729405c766dd95cae7", "size": 8192}]}, "sega-mega-cd": {"files": [{"crc32": "529ac15a", "destination": "segacd/bios_CD_E.bin", "md5": "e66fa1dc5820d254611fdcdba0662372", "name": "bios_CD_E.bin", "required": true, "sha1": "f891e0ea651e2232af0c5c4cb46a0cae2ee8f356", "size": 131072}, {"crc32": "9d2da8f2", "destination": "segacd/bios_CD_J.bin", "md5": "278a9397d192149e84e820ac621a8edd", "name": "bios_CD_J.bin", "required": true, "sha1": "4846f448160059a7da0215a5df12ca160f26dd69", "size": 131072}, {"crc32": "c6d10268", "destination": "segacd/bios_CD_U.bin", "md5": "2efd74e3232ff260e371b99f84024f7f", "name": "bios_CD_U.bin", "required": true, "sha1": "f4f315adcef9b8feb0364c21ab7f0eaf5457f3ed", "size": 131072}]}, "sega-mega-drive": {"files": [{"crc32": "95ff7c3e", "destination": "genesis/areplay.bin", "md5": "a0028b3043f9d59ceeb03da5b073b30d", "name": "areplay.bin", "required": true, "sha1": "1e0f246826be4ebc7b99bb3f9de7f1de347122e5", "size": 32768}, {"crc32": "3f888cf4", "destination": "genesis/bios_MD.bin", "md5": "d3293ebaaa7f4eb2a6766b68a0fb4609", "name": "bios_MD.bin", "required": true, "sha1": "3f50b76b0529db7f79c396b5e808cc0786ffc311", "size": 2048}, {"crc32": "14dbce4a", "destination": "genesis/ggenie.bin", "md5": "e8af7fe115a75c849f6aab3701e7799b", "name": "ggenie.bin", "required": true, "sha1": "937e1878ebd104f489e6bdbc410a184f79f1144a", "size": 32768}, {"crc32": "c94e8c8b", "destination": "genesis/rom.db", "md5": "ff4a3572475236e859e3e9ac5c87d1f1", "name": "rom.db", "required": true, "sha1": "02c287d10da6de579af7a4ce73b134bbdf23c970", "size": 17742}, {"crc32": "0658f691", "destination": "genesis/sk.bin", "md5": "4ea493ea4e9f6c9ebfccbdb15110367e", "name": "sk.bin", "required": true, "sha1": "88d6499d874dcb5721ff58d76fe1b9af811192e3", "size": 2097152}, {"crc32": "4dcfd55c", "destination": "genesis/sk2chip.bin", "md5": "b4e76e416b887f4e7413ba76fa735f16", "name": "sk2chip.bin", "required": true, "sha1": "70429f1d80503a0632f603bf762fe0bbaa881d22", "size": 262144}]}, "sega-saturn": {"files": [{"crc32": "721e1b60", "destination": "saturn/hisaturn.bin", "md5": "3ea3202e2634cb47cb90f3a05c015010", "name": "hisaturn.bin", "required": true, "sha1": "49d8493008fa715ca0c94d99817a5439d6f2c796", "size": 524288}, {"crc32": "4afcf0fa", "destination": "saturn/mpr-17933.bin", "md5": "3240872c70984b6cbfda1586cab68dbe", "name": "mpr-17933.bin", "required": true, "sha1": "faa8ea183a6d7bbe5d4e03bb1332519800d3fbc3", "size": 524288}, {"crc32": "3408dbf4", "destination": "saturn/mpr-18100.bin", "md5": "cb2cebc1b6e573b7c44523d037edcd45", "name": "mpr-18100.bin", "required": true, "sha1": "8a22710e09ce75f39625894366cafe503ed1942d", "size": 524288}, {"crc32": "90412e10", "destination": "saturn/mpr-18811-mx.ic1", "md5": "255113ba943c92a54facd25a10fd780c", "name": "mpr-18811-mx.ic1", "required": true, "sha1": "a67cd4f550751f8b91de2b8b74528ab4e0c11c77", "size": 2097152}, {"crc32": "b9644b52", "destination": "saturn/mpr-19367-mx.ic1", "md5": "1cd19988d1d72a3e7caa0b73234c96b4", "name": "mpr-19367-mx.ic1", "required": true, "sha1": "56c1b93da6b660bf393fbf48ca47569000ef4047", "size": 2097152}, {"crc32": "2aba43c2", "destination": "saturn/saturn_bios.bin", "md5": "af5828fdff51384f99b3c4926be27762", "name": "saturn_bios.bin", "required": true, "sha1": "2b8cb4f87580683eb4d760e4ed210813d667f0a2", "size": 524288}, {"crc32": "b3c63c25", "destination": "saturn/sega1003.bin", "md5": "74570fed4d44b2682b560c8cd44b8b6a", "name": "sega1003.bin", "required": true, "sha1": "7b23b53d62de0f29a23e423d0fe751dfb469c2fa", "size": 524288}, {"crc32": "2aba43c2", "destination": "saturn/sega_100.bin", "md5": "af5828fdff51384f99b3c4926be27762", "name": "sega_100.bin", "required": true, "sha1": "2b8cb4f87580683eb4d760e4ed210813d667f0a2", "size": 524288}, {"crc32": "f90f0089", "destination": "saturn/sega_100a.bin", "md5": "f273555d7d91e8a5a6bfd9bcf066331c", "name": "sega_100a.bin", "required": true, "sha1": "3bb41feb82838ab9a35601ac666de5aacfd17a58", "size": 524288}, {"crc32": "224b752c", "destination": "saturn/sega_101.bin", "md5": "85ec9ca47d8f6807718151cbcca8b964", "name": "sega_101.bin", "required": true, "sha1": "df94c5b4d47eb3cc404d88b33a8fda237eaf4720", "size": 524288}, {"crc32": "e4d61811", "destination": "saturn/vsaturn.bin", "md5": "ac4e4b6522e200c0d23d371a8cecbfd3", "name": "vsaturn.bin", "required": true, "sha1": "4154e11959f3d5639b11d7902b3a393a99fb5776", "size": 524288}]}, "sharp-x1": {"files": [{"crc32": "e70011d3", "destination": "x1/iplrom.x1", "md5": "eeeea1cd29c6e0e8b094790ae969bfa7", "name": "iplrom.x1", "required": true, "sha1": "d3395e9aeb5b8bbba7654dd471bcd8af228ee69a", "size": 4096}, {"crc32": "e3995a57", "destination": "x1/iplrom.x1t", "md5": "851e4a5936f17d13f8c39a980cf00d77", "name": "iplrom.x1t", "required": true, "sha1": "1c1a0d8c9f4c446ccd7470516b215ddca5052fb2", "size": 2048}]}, "sharp-x68000": {"files": [{"crc32": "9f3195f1", "destination": "sharp-x68000/cgrom.dat", "md5": "cb0a5cfcf7247a7eab74bb2716260269", "name": "cgrom.dat", "required": true, "sha1": "8d72c5b4d63bb14c5dbdac495244d659aa1498b6", "size": 786432}, {"crc32": "72bdf532", "destination": "sharp-x68000/iplrom.dat", "md5": "7fd4caabac1d9169e289f0f7bbf71d8e", "name": "iplrom.dat", "required": true, "sha1": "0ed038ed2133b9f78c6e37256807424e0d927560", "size": 131072}, {"crc32": "e8f8fdad", "destination": "sharp-x68000/iplrom30.dat", "md5": "f373003710ab4322642f527f567e020a", "name": "iplrom30.dat", "required": true, "sha1": "239e9124568c862c31d9ec0605e32373ea74b86a", "size": 131072}, {"crc32": "6c7ef608", "destination": "sharp-x68000/iplromco.dat", "md5": "cc78d4f4900f622bd6de1aed7f52592f", "name": "iplromco.dat", "required": true, "sha1": "77511fc58798404701f66b6bbc9cbde06596eba7", "size": 131072}, {"crc32": "00eeb408", "destination": "sharp-x68000/iplromxv.dat", "md5": "0617321daa182c3f3d6f41fd02fb3275", "name": "iplromxv.dat", "required": true, "sha1": "e33cdcdb69cd257b0b211ef46e7a8b144637db57", "size": 131072}]}, "sinclair-zx-spectrum": {"files": [{"crc32": "e76799d2", "destination": "zxs/128-0.rom", "md5": "b4d2692115a9f2924df92a3cbfb358fb", "name": "128-0.rom", "required": true, "sha1": "4f4b11ec22326280bdb96e3baf9db4b4cb1d02c5", "size": 16384}, {"crc32": "b96a36be", "destination": "zxs/128-1.rom", "md5": "6e09e5d3c4aef166601669feaaadc01c", "name": "128-1.rom", "required": true, "sha1": "80080644289ed93d71a1103992a154cc9802b2fa", "size": 16384}, {"crc32": "453d86b2", "destination": "zxs/128-spanish-0.rom", "md5": "c1231a70b8129311216acb7479b031d5", "name": "128-spanish-0.rom", "required": true, "sha1": "968937b1c750f0ef6205f01c6db4148da4cca4e3", "size": 16384}, {"crc32": "6010e796", "destination": "zxs/128-spanish-1.rom", "md5": "4f341936594cbcab75cfa62ce96e3682", "name": "128-spanish-1.rom", "required": true, "sha1": "bea3f397cc705eafee995ea629f4a82550562f90", "size": 16384}, {"crc32": "124ad9e0", "destination": "zxs/128p-0.rom", "md5": "a249565f03b98d004ee7f019570069cd", "name": "128p-0.rom", "required": true, "sha1": "d07fcdeca892ee80494d286ea9ea5bf3928a1aca", "size": 16384}, {"crc32": "b96a36be", "destination": "zxs/128p-1.rom", "md5": "6e09e5d3c4aef166601669feaaadc01c", "name": "128p-1.rom", "required": true, "sha1": "80080644289ed93d71a1103992a154cc9802b2fa", "size": 16384}, {"crc32": "0eb40a09", "destination": "zxs/256s-0.rom", "md5": "b9fda5b6a747ff037365b0e2d8c4379a", "name": "256s-0.rom", "required": true, "sha1": "477114ff0fe1388e0979df1423602b21248164e5", "size": 16384}, {"crc32": "9d513013", "destination": "zxs/256s-1.rom", "md5": "643861ad34831b255bf2eb64e8b6ecb8", "name": "256s-1.rom", "required": true, "sha1": "367b5a102fb663beee8e7930b8c4acc219c1f7b3", "size": 16384}, {"crc32": "fd0d3ce1", "destination": "zxs/256s-2.rom", "md5": "d8ad507b1c915a9acfe0d73957082926", "name": "256s-2.rom", "required": true, "sha1": "07783ee295274d8ff15d935bfd787c8ac1d54900", "size": 16384}, {"crc32": "1fe1d003", "destination": "zxs/256s-3.rom", "md5": "ce0723f9bc02f4948c15d3b3230ae831", "name": "256s-3.rom", "required": true, "sha1": "33703e97cc93b7edfcc0334b64233cf81b7930db", "size": 16384}, {"crc32": "ddee531f", "destination": "zxs/48.rom", "md5": "4c42a2f075212361c3117015b107ff68", "name": "48.rom", "required": true, "sha1": "5ea7c2b824672e914525d1d5c419d71b84a426a2", "size": 16384}, {"crc32": "82047489", "destination": "zxs/disciple.rom", "md5": "78e61a2a02121873c1756b21fd1398b1", "name": "disciple.rom", "required": true, "sha1": "9a75ed4b293f968985be4c9aa893cd88276d1ced", "size": 8192}, {"crc32": "c2c6cba7", "destination": "zxs/disk_plus3.szx", "md5": "e6db6b9f6ad15012851115a7bc4b31d8", "name": "disk_plus3.szx", "required": true, "sha1": "d7896640e18fc6204aa494835b0a430250fb06ce", "size": 1568}, {"crc32": "ca321d79", "destination": "zxs/gluck.rom", "md5": "d5869034604dbfd2c1d54170e874fd0a", "name": "gluck.rom", "required": true, "sha1": "015eb96dafb273d4f4512c467e9b43c305fd1bc4", "size": 16384}, {"crc32": "e72a12ae", "destination": "zxs/if1-1.rom", "md5": "5c11c61a2dd2ca4bf39328d9ff42d289", "name": "if1-1.rom", "required": true, "sha1": "4ffd9ed9c00cdc6f92ce69fdd8b618ef1203f48e", "size": 8192}, {"crc32": "bb66dd1e", "destination": "zxs/if1-2.rom", "md5": "31b704ae925305e74f50699271fddd9a", "name": "if1-2.rom", "required": true, "sha1": "5cfb6bca4177c45fefd571734576b55e3a127c08", "size": 8192}, {"crc32": "5d2e8c66", "destination": "zxs/plus2-0.rom", "md5": "4ed7af4636308b8a48d7a35e6c5b546b", "name": "plus2-0.rom", "required": true, "sha1": "72703f9a3e734f3c23ec34c0727aae4ccbef9a91", "size": 16384}, {"crc32": "98b1320b", "destination": "zxs/plus2-1.rom", "md5": "b3db95931cc844efaeb82db9c171b9f3", "name": "plus2-1.rom", "required": true, "sha1": "de8b0d2d0379cfe7c39322a086ca6da68c7f23cb", "size": 16384}, {"crc32": "17373da2", "destination": "zxs/plus3-0.rom", "md5": "9833b8b73384dd5fa3678377ff00a2bb", "name": "plus3-0.rom", "required": true, "sha1": "e319ed08b4d53a5e421a75ea00ea02039ba6555b", "size": 16384}, {"crc32": "f1d1d99e", "destination": "zxs/plus3-1.rom", "md5": "0f711ceb5ab801b4701989982e0f334c", "name": "plus3-1.rom", "required": true, "sha1": "c9969fc36095a59787554026a9adc3b87678c794", "size": 16384}, {"crc32": "3dbf351d", "destination": "zxs/plus3-2.rom", "md5": "3b6dd659d5e4ec97f0e2f7878152c987", "name": "plus3-2.rom", "required": true, "sha1": "22e50c6ba4157a3f6a821bd9937cd26e292775c6", "size": 16384}, {"crc32": "04448eaa", "destination": "zxs/plus3-3.rom", "md5": "a148bcc575e51389e84fdf5d555c3196", "name": "plus3-3.rom", "required": true, "sha1": "65f031caa8148a5493afe42c41f4929deab26b4e", "size": 16384}, {"crc32": "a10230c0", "destination": "zxs/plus3e-0.rom", "md5": "3abdc20e72890a750dd3c745d286dfba", "name": "plus3e-0.rom", "required": true, "sha1": "a837f66977040f7b51ed053a2483c10f3d070ab7", "size": 16384}, {"crc32": "09b9c3ca", "destination": "zxs/plus3e-1.rom", "md5": "8361a1d9c8bcef89c0c39293776564ad", "name": "plus3e-1.rom", "required": true, "sha1": "6a4364f25513e4079f048f2de131a896d30edc64", "size": 16384}, {"crc32": "a60285a0", "destination": "zxs/plus3e-2.rom", "md5": "f36c5c2d1f2a682caadeaa6f947db0da", "name": "plus3e-2.rom", "required": true, "sha1": "0a747cc0b827a94b4fd74cfd818ca792437a38f7", "size": 16384}, {"crc32": "04448eaa", "destination": "zxs/plus3e-3.rom", "md5": "a148bcc575e51389e84fdf5d555c3196", "name": "plus3e-3.rom", "required": true, "sha1": "65f031caa8148a5493afe42c41f4929deab26b4e", "size": 16384}, {"crc32": "569f7e55", "destination": "zxs/plusd.rom", "md5": "42e5de16fb5e50082bb954ec7ce45851", "name": "plusd.rom", "required": true, "sha1": "6b841dc5797ef7eb219ad455cd1e434ca3b9d30d", "size": 8192}, {"crc32": "8f1047d2", "destination": "zxs/se-0.rom", "md5": "fb3f86eb1e5a695d9c50c124e7cfb875", "name": "se-0.rom", "required": true, "sha1": "8608328d7dd66602a4846f046b24fed500f7d828", "size": 16384}, {"crc32": "16ed3a9b", "destination": "zxs/se-1.rom", "md5": "88de4a3129086f34bb9ca559acc51e6c", "name": "se-1.rom", "required": true, "sha1": "3be5de57dd3bd0a9d15c57cabe9179afe2906a52", "size": 16384}, {"crc32": "37c591b2", "destination": "zxs/speccyboot-1.4.rom", "md5": "c54aa8f374b0971f51546c29d5d1eba1", "name": "speccyboot-1.4.rom", "required": true, "sha1": "16af6f052b38a027dd49ba6e96e3a59d16b62672", "size": 8192}, {"crc32": "8d1c41f4", "destination": "zxs/tape_128.szx", "md5": "8942b43b73ed4eb7f32bd1741709a4dc", "name": "tape_128.szx", "required": true, "sha1": "3b1287bfc6fec9c7dd838f6ea1706698cb96fd16", "size": 1464}, {"crc32": "ccda9cc2", "destination": "zxs/tape_16.szx", "md5": "fec97eb9ea1b017cae84de78508feb4a", "name": "tape_16.szx", "required": true, "sha1": "ec9e5607ce7faf2d6a5d71e5e21188ca86e963a1", "size": 591}, {"crc32": "dbc1a386", "destination": "zxs/tape_2048.szx", "md5": "116f732bbae4e49d625aaf2f311474d0", "name": "tape_2048.szx", "required": true, "sha1": "f2d2227dce697df8aac78883eaf966e71435caa3", "size": 720}, {"crc32": "659b428d", "destination": "zxs/tape_2068.szx", "md5": "0b0f267b95d556318bb652af2e8dc25c", "name": "tape_2068.szx", "required": true, "sha1": "5af71025c02358b325bf8b4bfaa2662488abf1d2", "size": 1799}, {"crc32": "f56f230d", "destination": "zxs/tape_48.szx", "md5": "ee2ae810711594db3a134a7432baabff", "name": "tape_48.szx", "required": true, "sha1": "d6e092730f822c9e8828ca12f54eb8d65228f30c", "size": 708}, {"crc32": "c7a272b6", "destination": "zxs/tape_pentagon.szx", "md5": "bd7698603bd9079d337cdedfb04942d9", "name": "tape_pentagon.szx", "required": true, "sha1": "7e1eb0e250cfe1f2f0e50f734378a738e8bf327f", "size": 1479}, {"crc32": "93195e18", "destination": "zxs/tape_plus2.szx", "md5": "166d4aa1a5aa4fbd99cc963b4e7c19cc", "name": "tape_plus2.szx", "required": true, "sha1": "4a6d8941eee86d7e52452f5aaaa73d4bafe9bde1", "size": 1571}, {"crc32": "45727b82", "destination": "zxs/tape_plus2a.szx", "md5": "445d4817d5557bb363a216fbd6eeaa84", "name": "tape_plus2a.szx", "required": true, "sha1": "e0e0f6ebc8261ae9768a6be772eab4718fbc2395", "size": 1617}, {"crc32": "1a825690", "destination": "zxs/tape_plus3.szx", "md5": "0dc8828ac1db2e0efa915ac55191e96f", "name": "tape_plus3.szx", "required": true, "sha1": "3850f7e5e6c90fd4dac988da77717d2647d9c021", "size": 1856}, {"crc32": "4ce6538f", "destination": "zxs/tape_plus3e.szx", "md5": "bf07537f028bbcb3309464bd30da779c", "name": "tape_plus3e.szx", "required": true, "sha1": "92ac0df41f3ea7f147f4d6bae6b8a7d79b4f7e92", "size": 1970}, {"crc32": "eb6a7a83", "destination": "zxs/tape_scorpion.szx", "md5": "c10e677d3deb5a445689d3a599880745", "name": "tape_scorpion.szx", "required": true, "sha1": "6abdeb434755d25a280954ce07b50b6a28b36957", "size": 3500}, {"crc32": "92bc2f43", "destination": "zxs/tape_se.szx", "md5": "2518f9334bef8c44804a4185085579b5", "name": "tape_se.szx", "required": true, "sha1": "cc20a8e6fc8c493881b14e00545a42ef75b8aabe", "size": 2146}, {"crc32": "06ad712e", "destination": "zxs/tape_ts2068.szx", "md5": "1d360c09d370bb52a9a44b30cc7c59e6", "name": "tape_ts2068.szx", "required": true, "sha1": "562298f5b3a7ed28f0129b066e8ad098a10e2270", "size": 1840}, {"crc32": "f1b5fa67", "destination": "zxs/tc2048.rom", "md5": "9dd7ecf784a6c04265c073c236f5fadb", "name": "tc2048.rom", "required": true, "sha1": "febb2d495b6eda7cdcb4074935d6e9d9f328972d", "size": 16384}, {"crc32": "bf44ec3f", "destination": "zxs/tc2068-0.rom", "md5": "55d462fccc6c536037404ef4ced08bec", "name": "tc2068-0.rom", "required": true, "sha1": "1446cb2780a9dedf640404a639fa3ae518b2d8aa", "size": 16384}, {"crc32": "ae16233a", "destination": "zxs/tc2068-1.rom", "md5": "575d203c6e15e679fba0b73f854ec7a2", "name": "tc2068-1.rom", "required": true, "sha1": "7e265a2c1f621ed365ea23bdcafdedbc79c1299c", "size": 8192}, {"crc32": "10751aba", "destination": "zxs/trdos.rom", "md5": "0da70a5d2a0e733398e005b96b7e4ba6", "name": "trdos.rom", "required": true, "sha1": "21695e3f2a8f796386ce66eea8a246b0ac44810c", "size": 16384}]}, "snk-neogeo-cd": {"files": [{"crc32": "5a86cff2", "destination": "neo-geo-cd/000-lo.lo", "md5": "fc7599f3f871578fe9a0453662d1c966", "name": "000-lo.lo", "required": true, "sha1": "5992277debadeb64d1c1c64b0a92d9293eaf7e4a", "size": 131072}, {"crc32": "cac62307", "destination": "neo-geo-cd/front-sp1.bin", "md5": "5c2366f25ff92d71788468ca492ebeca", "name": "front-sp1.bin", "required": true, "sha1": "53bc1f283cdf00fa2efbb79f2e36d4c8038d743a", "size": 524288}, {"crc32": "df9de490", "destination": "neo-geo-cd/neocd.bin", "md5": "f39572af7584cb5b3f70ae8cc848aba2", "name": "neocd.bin", "required": true, "sha1": "7bb26d1e5d1e930515219cb18bcde5b7b23e2eda", "size": 524288}, {"crc32": "6fd2a520", "destination": "neo-geo-cd/neocd_f.rom", "md5": "8834880c33164ccbe6476b559f3e37de", "name": "neocd_f.rom", "required": true, "sha1": "a5f4a7a627b3083c979f6ebe1fabc5d2df6d083b", "size": 524288}, {"crc32": "1101f313", "destination": "neo-geo-cd/neocd_sf.rom", "md5": "043d76d5f0ef836500700c34faef774d", "name": "neocd_sf.rom", "required": true, "sha1": "4a94719ee5d0e3f2b981498f70efc1b8f1cef325", "size": 524288}, {"crc32": "01c299cc", "destination": "neo-geo-cd/neocd_st.rom", "md5": "f6325a33c6d63ea4b9162a3fa8c32727", "name": "neocd_st.rom", "required": true, "sha1": "19729b51bdab60c42aafef6e20ea9234c7eb8410", "size": 524288}, {"crc32": "42f6b6c4", "destination": "neo-geo-cd/neocd_sz.rom", "md5": "971ee8a36fb72da57aed01758f0a37f5", "name": "neocd_sz.rom", "required": true, "sha1": "6a947457031dd3a702a296862446d7485aa89dbb", "size": 524288}, {"crc32": "56c9ecba", "destination": "neo-geo-cd/neocd_t.rom", "md5": "de3cf45d227ad44645b22aa83b49f450", "name": "neocd_t.rom", "required": true, "sha1": "cc92b54a18a8bff6e595aabe8e5c360ba9e62eb5", "size": 524288}, {"crc32": "33697892", "destination": "neo-geo-cd/neocd_z.rom", "md5": "11526d58d4c524daef7d5d677dc6b004", "name": "neocd_z.rom", "required": true, "sha1": "b0f1c4fa8d4492a04431805f6537138b842b549f", "size": 524288}, {"crc32": "c36a47c0", "destination": "neo-geo-cd/top-sp1.bin", "md5": "122aee210324c72e8a11116e6ef9c0d0", "name": "top-sp1.bin", "required": true, "sha1": "235f4d1d74364415910f73c10ae5482d90b4274f", "size": 524288}, {"crc32": "ff3abc59", "destination": "neo-geo-cd/uni-bioscd.rom", "md5": "08ca8b2dba6662e8024f9e789711c6fc", "name": "uni-bioscd.rom", "required": true, "sha1": "5142f205912869b673a71480c5828b1eaed782a8", "size": 524288}, {"crc32": "19681e91", "destination": "neo-geo-cd/neocdz.zip", "md5": "c38cb8e50321783e413dc5ff292a3ff8", "name": "neocdz.zip", "required": true, "sha1": "bf6b379c204da77dece1aedf83ff35227a623e5d", "size": 214876}]}, "sony-playstation": {"files": [{"crc32": "5660f34f", "destination": "psx/PSXONPSP660.BIN", "md5": "c53ca5908936d412331790f4426c6c33", "name": "PSXONPSP660.BIN", "required": true, "sha1": "96880d1ca92a016ff054be5159bb06fe03cb4e14", "size": 524288}, {"crc32": "3b601fc8", "destination": "psx/scph1000.bin", "md5": "239665b1a3dade1b5a52c06338011044", "name": "scph1000.bin", "required": true, "sha1": "343883a7b555646da8cee54aadd2795b6e7dd070", "size": 524288}, {"crc32": "37157331", "destination": "psx/scph1001.bin", "md5": "924e392ed05558ffdb115408c263dccf", "name": "scph1001.bin", "required": true, "sha1": "10155d8d6e6e832d6ea66db9bc098321fb5e8ebf", "size": 524288}, {"crc32": "9bb87c4b", "destination": "psx/scph1002.bin", "md5": "54847e693405ffeb0359c6287434cbef", "name": "scph1002.bin", "required": true, "sha1": "20b98f3d80f11cbf5a7bfd0779b0e63760ecc62c", "size": 524288}, {"crc32": "f2af798b", "destination": "psx/scph100.bin", "md5": "8abc1b549a4a80954addc48ef02c4521", "name": "scph100.bin", "required": true, "sha1": "339a48f4fcf63e10b5b867b8c93cfd40945faf6c", "size": 524288}, {"crc32": "171bdcec", "destination": "psx/scph101.bin", "md5": "6e3735ff4c7dc899ee98981385f6f3d0", "name": "scph101.bin", "required": true, "sha1": "dcffe16bd90a723499ad46c641424981338d8378", "size": 524288}, {"crc32": "0bad7ea9", "destination": "psx/scph102A.bin", "md5": "b10f5e0e3d9eb60e5159690680b1e774", "name": "scph102A.bin", "required": true, "sha1": "beb0ac693c0dc26daf5665b3314db81480fa5c7c", "size": 524288}, {"crc32": "76b880e5", "destination": "psx/scph102B.bin", "md5": "de93caec13d1a141a40a79f5c86168d6", "name": "scph102B.bin", "required": true, "sha1": "dbc7339e5d85827c095764fc077b41f78fd2ecae", "size": 524288}, {"crc32": "76b880e5", "destination": "psx/scph102C.bin", "md5": "de93caec13d1a141a40a79f5c86168d6", "name": "scph102C.bin", "required": true, "sha1": "dbc7339e5d85827c095764fc077b41f78fd2ecae", "size": 524288}, {"crc32": "3539def6", "destination": "psx/scph3000.bin", "md5": "849515939161e62f6b866f6853006780", "name": "scph3000.bin", "required": true, "sha1": "b06f4a861f74270be819aa2a07db8d0563a7cc4e", "size": 524288}, {"crc32": "bc190209", "destination": "psx/scph3500.bin", "md5": "cba733ceeff5aef5c32254f1d617fa62", "name": "scph3500.bin", "required": true, "sha1": "e38466a4ba8005fba7e9e3c7b9efeba7205bee3f", "size": 524288}, {"crc32": "8c93a399", "destination": "psx/scph5000.bin", "md5": "eb201d2d98251a598af467d4347bb62f", "name": "scph5000.bin", "required": true, "sha1": "e340db2696274dda5fdc25e434a914db71e8b02b", "size": 524288}, {"crc32": "ff3eeb8c", "destination": "psx/scph5500.bin", "md5": "8dd7d5296a650fac7319bce665a6a53c", "name": "scph5500.bin", "required": true, "sha1": "b05def971d8ec59f346f2d9ac21fb742e3eb6917", "size": 524288}, {"crc32": "8d8cb7e4", "destination": "psx/scph5501.bin", "md5": "490f666e1afb15b7362b406ed1cea246", "name": "scph5501.bin", "required": true, "sha1": "0555c6fae8906f3f09baf5988f00e55f88e9f30b", "size": 524288}, {"crc32": "d786f0b9", "destination": "psx/scph5502.bin", "md5": "32736f17079d0b2b7024407c39bd3050", "name": "scph5502.bin", "required": true, "sha1": "f6bc2d1f5eb6593de7d089c425ac681d6fffd3f0", "size": 524288}, {"crc32": "d786f0b9", "destination": "psx/scph5552.bin", "md5": "32736f17079d0b2b7024407c39bd3050", "name": "scph5552.bin", "required": true, "sha1": "f6bc2d1f5eb6593de7d089c425ac681d6fffd3f0", "size": 524288}, {"crc32": "502224b6", "destination": "psx/scph7001.bin", "md5": "1e68c231d0896b7eadcad1d7d8e76129", "name": "scph7001.bin", "required": true, "sha1": "14df4f6c1e367ce097c11deae21566b4fe5647a9", "size": 524288}, {"crc32": "318178bf", "destination": "psx/scph7002.bin", "md5": "b9d9a0286c33dc6b7237bb13cd46fdee", "name": "scph7002.bin", "required": true, "sha1": "8d5de56a79954f29e9006929ba3fed9b6a418c1d", "size": 524288}, {"crc32": "8d8cb7e4", "destination": "psx/scph7003.bin", "md5": "490f666e1afb15b7362b406ed1cea246", "name": "scph7003.bin", "required": true, "sha1": "0555c6fae8906f3f09baf5988f00e55f88e9f30b", "size": 524288}, {"crc32": "318178bf", "destination": "psx/scph7502.bin", "md5": "b9d9a0286c33dc6b7237bb13cd46fdee", "name": "scph7502.bin", "required": true, "sha1": "8d5de56a79954f29e9006929ba3fed9b6a418c1d", "size": 524288}, {"crc32": "318178bf", "destination": "psx/scph9002(7502).bin", "md5": "b9d9a0286c33dc6b7237bb13cd46fdee", "name": "scph9002(7502).bin", "required": true, "sha1": "8d5de56a79954f29e9006929ba3fed9b6a418c1d", "size": 524288}]}, "sony-playstation-2": {"files": [{"crc32": "5a04500c", "destination": "ps2/ps2-0100jd-20000117.bin", "md5": "32f2e4d5ff5ee11072a6bc45530f5765", "name": "ps2-0100jd-20000117.bin", "required": true, "sha1": "5b33170323ed6344e2363fed8115dc3918bb96a4", "size": 4194304}, {"crc32": "b7ef81a9", "destination": "ps2/ps2-0100j-20000117.bin", "md5": "acf4730ceb38ac9d8c7d8e21f2614600", "name": "ps2-0100j-20000117.bin", "required": true, "sha1": "aea061e6e263fdcc1c4fdbd68553ef78dae74263", "size": 4194304}, {"crc32": "4f8b4205", "destination": "ps2/ps2-0101jd-20000217.bin", "md5": "acf9968c8f596d2b15f42272082513d1", "name": "ps2-0101jd-20000217.bin", "required": true, "sha1": "16f4a284d0e760ee13a2aff2f7dda928255e3080", "size": 4194304}, {"crc32": "211dfb6a", "destination": "ps2/ps2-0101j-20000217.bin", "md5": "b1459d7446c69e3e97e6ace3ae23dd1c", "name": "ps2-0101j-20000217.bin", "required": true, "sha1": "916e02431bcd73140504da3355c9598143b77e11", "size": 4194304}, {"crc32": "2fef9faf", "destination": "ps2/ps2-0101xd-20000224.bin", "md5": "d3f1853a16c2ec18f3cd1ae655213308", "name": "ps2-0101xd-20000224.bin", "required": true, "sha1": "4440b246bfde7bb31002c584a76c6ef384908e84", "size": 4194304}, {"crc32": "795578c1", "destination": "ps2/ps2-0110ad-20000727.bin", "md5": "63e6fd9b3c72e0d7b920e80cf76645cd", "name": "ps2-0110ad-20000727.bin", "required": true, "sha1": "339c646cf0699268552df5b05f18f0a03a9f55ff", "size": 4194304}, {"crc32": "9678ad6a", "destination": "ps2/ps2-0110a-20000727.bin", "md5": "a20c97c02210f16678ca3010127caf36", "name": "ps2-0110a-20000727.bin", "required": true, "sha1": "20f6ce6693cf97e9494f8f0227f2b7988ffaf961", "size": 4194304}, {"crc32": "1ae71e5d", "destination": "ps2/ps2-0120a-20000902.bin", "md5": "8db2fbbac7413bf3e7154c1e0715e565", "name": "ps2-0120a-20000902.bin", "required": true, "sha1": "dbc2318a1029347b5af3a0c74b0bdf88d19efee6", "size": 4194304}, {"crc32": "25495aa7", "destination": "ps2/ps2-0120ed-20000902.bin", "md5": "91c87cb2f2eb6ce529a2360f80ce2457", "name": "ps2-0120ed-20000902.bin", "required": true, "sha1": "3bb1eecd618ab5c973c7bc53671a4475a02e1d5b", "size": 4194304}, {"crc32": "e2f78425", "destination": "ps2/ps2-0120ed-20000902-20030110.bin", "md5": "3016b3dd42148a67e2c048595ca4d7ce", "name": "ps2-0120ed-20000902-20030110.bin", "required": true, "sha1": "1b73dec999fcc2b92fa958110ff6bfe4d0af276e", "size": 4194304}, {"crc32": "7b08c33b", "destination": "ps2/ps2-0120e-20000902.bin", "md5": "b7fa11e87d51752a98b38e3e691cbf17", "name": "ps2-0120e-20000902.bin", "required": true, "sha1": "274c05fec654913a3f698d4b0d592085866a2cbd", "size": 4194304}, {"crc32": "9b096622", "destination": "ps2/ps2-0120j-20001027-185015.bin", "md5": "f63bc530bd7ad7c026fcd6f7bd0d9525", "name": "ps2-0120j-20001027-185015.bin", "required": true, "sha1": "e481079eca752225555f0c26d14c9d0f94d9a8e9", "size": 4194304}, {"crc32": "c1ccf3f6", "destination": "ps2/ps2-0120j-20001027-191435.bin", "md5": "cee06bd68c333fc5768244eae77e4495", "name": "ps2-0120j-20001027-191435.bin", "required": true, "sha1": "a9f5d8ed56cfff18add1b599010493461fa02448", "size": 4194304}, {"crc32": "0380c2ce", "destination": "ps2/ps2-0150ad-20001228-20030520.bin", "md5": "0bf988e9c7aaa4c051805b0fa6eb3387", "name": "ps2-0150ad-20001228-20030520.bin", "required": true, "sha1": "7284b9d16df9935afc384318e024c87ef0574fe5", "size": 4194304}, {"crc32": "bce74746", "destination": "ps2/ps2-0150a-20001228.bin", "md5": "8accc3c49ac45f5ae2c5db0adc854633", "name": "ps2-0150a-20001228.bin", "required": true, "sha1": "5af5b5077d84a9c037ebe12bfab8a38b31d8a543", "size": 4194304}, {"crc32": "60bc0031", "destination": "ps2/ps2-0150ed-20001228-20030520.bin", "md5": "6f9a6feb749f0533aaae2cc45090b0ed", "name": "ps2-0150ed-20001228-20030520.bin", "required": true, "sha1": "d004326c9d8060812b4433c3f07646b04854d6c4", "size": 4194304}, {"crc32": "1559fd43", "destination": "ps2/ps2-0150e-20001228.bin", "md5": "838544f12de9b0abc90811279ee223c8", "name": "ps2-0150e-20001228.bin", "required": true, "sha1": "e22ef231faf3661edd92f2ee449a71297c82a092", "size": 4194304}, {"crc32": "0b3ec2bc", "destination": "ps2/ps2-0150jd-20010118.bin", "md5": "bb6bbc850458fff08af30e969ffd0175", "name": "ps2-0150jd-20010118.bin", "required": true, "sha1": "334e029fc7fd50222a399c50384ff42732652259", "size": 4194304}, {"crc32": "4fc3b495", "destination": "ps2/ps2-0150j-20010118.bin", "md5": "815ac991d8bc3b364696bead3457de7d", "name": "ps2-0150j-20010118.bin", "required": true, "sha1": "d6f365a0f07cd04ed28108e6ec5076e2f81e5f72", "size": 4194304}, {"crc32": "4008ac18", "destination": "ps2/ps2-0160a-20010427.bin", "md5": "b107b5710042abe887c0f6175f6e94bb", "name": "ps2-0160a-20010427.bin", "required": true, "sha1": "7331a40b4b4feb1b3f0f77b013b6d38483577baa", "size": 4194304}, {"crc32": "c268ef47", "destination": "ps2/ps2-0160j-20010427.bin", "md5": "ab55cceea548303c22c72570cfd4dd71", "name": "ps2-0160j-20010427.bin", "required": true, "sha1": "e525a0c900e37acf0ae5a655d82a0abcb07c6f1f", "size": 4194304}, {"crc32": "c506c693", "destination": "ps2/ps2-0160a-20010704.bin", "md5": "18bcaadb9ff74ed3add26cdf709fff2e", "name": "ps2-0160a-20010704.bin", "required": true, "sha1": "ce92e8e8c88665f2f645a9522e337823d47a914a", "size": 4194304}, {"crc32": "f1ac735f", "destination": "ps2/ps2-0160e-20010704.bin", "md5": "491209dd815ceee9de02dbbc408c06d6", "name": "ps2-0160e-20010704.bin", "required": true, "sha1": "3cbd048e437c785b5a05a0feced00117a8a42545", "size": 4194304}, {"crc32": "a01ec625", "destination": "ps2/ps2-0160a-20011004.bin", "md5": "7200a03d51cacc4c14fcdfdbc4898431", "name": "ps2-0160a-20011004.bin", "required": true, "sha1": "d257bce6ecaf3bafb704c75a1b4741b910bd2d49", "size": 4194304}, {"crc32": "82aa5055", "destination": "ps2/ps2-0160e-20011004.bin", "md5": "8359638e857c8bc18c3c18ac17d9cc3c", "name": "ps2-0160e-20011004.bin", "required": true, "sha1": "ee34c3a87c53c75ca2a37d77b0042ca24d07831f", "size": 4194304}, {"crc32": "75f83c67", "destination": "ps2/ps2-0160h-20010730.bin", "md5": "352d2ff9b3f68be7e6fa7e6dd8389346", "name": "ps2-0160h-20010730.bin", "required": true, "sha1": "ba15dcf7aac13864c08222037e9321d7468c87d1", "size": 4194304}, {"crc32": "a19e0bf5", "destination": "ps2/ps2-0160a-20020207.bin", "md5": "d5ce2c7d119f563ce04bc04dbc3a323e", "name": "ps2-0160a-20020207.bin", "required": true, "sha1": "f9a5d629a036b99128f7cb530c6e3ca016e9c8b7", "size": 4194304}, {"crc32": "2fe21e4d", "destination": "ps2/ps2-0160e-20020319.bin", "md5": "0d2228e6fd4fb639c9c39d077a9ec10c", "name": "ps2-0160e-20020319.bin", "required": true, "sha1": "bff2902bd0ce9729a060581132541e9fd1a9fab6", "size": 4194304}, {"crc32": "c9363baf", "destination": "ps2/ps2-0160j-20020426.bin", "md5": "72da56fccb8fcd77bba16d1b6f479914", "name": "ps2-0160j-20020426.bin", "required": true, "sha1": "003628c137dae577ff3b04b93ca1787b0c944702", "size": 4194304}, {"crc32": "dad0baec", "destination": "ps2/ps2-0160e-20020426.bin", "md5": "5b1f47fbeb277c6be2fccdd6344ff2fd", "name": "ps2-0160e-20020426.bin", "required": true, "sha1": "d106b757ae2544dfe63f7e1924e59d5ad44c0c29", "size": 4194304}, {"crc32": "3355623e", "destination": "ps2/ps2-0160h-20020426.bin", "md5": "315a4003535dfda689752cb25f24785c", "name": "ps2-0160h-20020426.bin", "required": true, "sha1": "e3a74125c426bcacabca00b513fab928665c8846", "size": 4194304}, {"crc32": "9457f64e", "destination": "ps2/ps2-0170j-20030206.bin", "md5": "312ad4816c232a9606e56f946bc0678a", "name": "ps2-0170j-20030206.bin", "required": true, "sha1": "d812ac65c357d392396ca9edee812dc41bed8bde", "size": 4194304}, {"crc32": "970a9c56", "destination": "ps2/ps2-0170ed-20030227.bin", "md5": "666018ffec65c5c7e04796081295c6c7", "name": "ps2-0170ed-20030227.bin", "required": true, "sha1": "e220bb282378c1f48ea1b585b3675e51a6dca572", "size": 4194304}, {"crc32": "51b5fb8b", "destination": "ps2/ps2-0170e-20030227.bin", "md5": "6e69920fa6eef8522a1d688a11e41bc6", "name": "ps2-0170e-20030227.bin", "required": true, "sha1": "ad15bd7eabd5bd81ba011516a5be44947d6641aa", "size": 4194304}, {"crc32": "0e1ece79", "destination": "ps2/ps2-0170ad-20030325.bin", "md5": "eb960de68f0c0f7f9fa083e9f79d0360", "name": "ps2-0170ad-20030325.bin", "required": true, "sha1": "c5bc6e893b4c43d528142e56c96073024de64157", "size": 4194304}, {"crc32": "9a99e3f4", "destination": "ps2/ps2-0170a-20030325.bin", "md5": "8aa12ce243210128c5074552d3b86251", "name": "ps2-0170a-20030325.bin", "required": true, "sha1": "d269d1ed513227f3ef7133c76cf1b3a64f97b15d", "size": 4194304}, {"crc32": "8c1a04cf", "destination": "ps2/ps2-0180cd-20030224.bin", "md5": "240d4c5ddd4b54069bdc4a3cd2faf99d", "name": "ps2-0180cd-20030224.bin", "required": true, "sha1": "2de87767008fc4a303af64a46251156e965d9065", "size": 4194304}, {"crc32": "585fd27c", "destination": "ps2/ps2-0180j-20031028.bin", "md5": "1c6cd089e6c83da618fbf2a081eb4888", "name": "ps2-0180j-20031028.bin", "required": true, "sha1": "aa4a35c14ee342cf7a03b1dde294ca10e64889e1", "size": 4194304}, {"crc32": "7c10a967", "destination": "ps2/ps2-0190j-20030623.bin", "md5": "463d87789c555a4a7604e97d7db545d1", "name": "ps2-0190j-20030623.bin", "required": true, "sha1": "6a6ecfe6c10e42eff1ca056349def799b5629067", "size": 4194304}, {"crc32": "b3e87709", "destination": "ps2/ps2-0190a-20030623.bin", "md5": "35461cecaa51712b300b2d6798825048", "name": "ps2-0190a-20030623.bin", "required": true, "sha1": "c74d92a2952a2912b6698cbcf7742adac8f784d3", "size": 4194304}, {"crc32": "1752a52e", "destination": "ps2/ps2-0190e-20030623.bin", "md5": "bd6415094e1ce9e05daabe85de807666", "name": "ps2-0190e-20030623.bin", "required": true, "sha1": "18b9ba833c469c4683676cc20da5124080d980bb", "size": 4194304}, {"crc32": "41391dd3", "destination": "ps2/ps2-0190h-20030623.bin", "md5": "2e70ad008d4ec8549aada8002fdf42fb", "name": "ps2-0190h-20030623.bin", "required": true, "sha1": "caa18ed04854a91e68f2d61a782560edd6373bbf", "size": 4194304}, {"crc32": "25f6212a", "destination": "ps2/ps2-0190r-20030623.bin", "md5": "b53d51edc7fc086685e31b811dc32aad", "name": "ps2-0190r-20030623.bin", "required": true, "sha1": "34a81db03ab617fbfdd7f9b861692dd2ecd57b82", "size": 4194304}, {"crc32": "d2347ee7", "destination": "ps2/ps2-0190c-20030623.bin", "md5": "1b6e631b536247756287b916f9396872", "name": "ps2-0190c-20030623.bin", "required": true, "sha1": "92d9eb4b11cef97bb69a275b2851b72f7b0023d6", "size": 4194304}, {"crc32": "79d60546", "destination": "ps2/ps2-0190j-20030822.bin", "md5": "00da1b177096cfd2532c8fa22b43e667", "name": "ps2-0190j-20030822.bin", "required": true, "sha1": "0ea98a25a32145dda514de2f0d4bfbbd806bd00c", "size": 4194304}, {"crc32": "3afd1d1e", "destination": "ps2/ps2-0190e-20030822.bin", "md5": "afde410bd026c16be605a1ae4bd651fd", "name": "ps2-0190e-20030822.bin", "required": true, "sha1": "6e1f0eb4aec51a6288b3d802d3bcdb477cf52104", "size": 4194304}, {"crc32": "9ba4c32f", "destination": "ps2/ps2-0190a-20040329.bin", "md5": "81f4336c1de607dd0865011c0447052e", "name": "ps2-0190a-20040329.bin", "required": true, "sha1": "b68c05f5cd86bf03cb38a643a723b7a97b759531", "size": 4194304}, {"crc32": "881c9aa9", "destination": "ps2/ps2-0200ed-20040614.bin", "md5": "63ead1d74893bf7f36880af81f68a82d", "name": "ps2-0200ed-20040614.bin", "required": true, "sha1": "902f4680b258abd40c0922f6b0d581cbd8f8a73e", "size": 4194304}, {"crc32": "b57201bf", "destination": "ps2/ps2-0200h-20040614.bin", "md5": "3e3e030c0f600442fa05b94f87a1e238", "name": "ps2-0200h-20040614.bin", "required": true, "sha1": "7f8e812cab7c7393c85eac6c42661e1fd0a642df", "size": 4194304}, {"crc32": "55710d11", "destination": "ps2/ps2-0210j-20040917.bin", "md5": "1ad977bb539fc9448a08ab276a836bbc", "name": "ps2-0210j-20040917.bin", "required": true, "sha1": "bbb1af3085e77599691ec430d147810157da934f", "size": 4194304}, {"crc32": "d27fc41d", "destination": "ps2/ps2-0220j-20050620.bin", "md5": "eb4f40fcf4911ede39c1bbfe91e7a89a", "name": "ps2-0220j-20050620.bin", "required": true, "sha1": "7ffa75d142cb8eeea6c777dbcf263143655275d5", "size": 4194304}, {"crc32": "181f1bda", "destination": "ps2/ps2-0220ad-20050620.bin", "md5": "9959ad7a8685cad66206e7752ca23f8b", "name": "ps2-0220ad-20050620.bin", "required": true, "sha1": "7c7efdfcec7705f4e84bb47f45322104e39eed09", "size": 4194304}, {"crc32": "d305a97a", "destination": "ps2/ps2-0220a-20050620.bin", "md5": "929a14baca1776b00869f983aa6e14d2", "name": "ps2-0220a-20050620.bin", "required": true, "sha1": "48d0445dffd1e879c7ae752c5166ec3101921555", "size": 4194304}, {"crc32": "e2862e39", "destination": "ps2/ps2-0220e-20050620.bin", "md5": "573f7d4a430c32b3cc0fd0c41e104bbd", "name": "ps2-0220e-20050620.bin", "required": true, "sha1": "929a85e974faf4b40d0a7785023b758402c43bd9", "size": 4194304}, {"crc32": "e27c4a6c", "destination": "ps2/ps2-0220h-20050620.bin", "md5": "df63a604e8bff5b0599bd1a6c2721bd0", "name": "ps2-0220h-20050620.bin", "required": true, "sha1": "0a071d1b46607a7694770407606d8599f62a372b", "size": 4194304}, {"crc32": "1303918e", "destination": "ps2/ps2-0220j-20060210.bin", "md5": "5b1ba4bb914406fae75ab8e38901684d", "name": "ps2-0220j-20060210.bin", "required": true, "sha1": "0edf1fbb772a8e6a79ae00e977450e3ade25c4f3", "size": 4194304}, {"crc32": "1279fce9", "destination": "ps2/ps2-0220a-20060210.bin", "md5": "cb801b7920a7d536ba07b6534d2433ca", "name": "ps2-0220a-20060210.bin", "required": true, "sha1": "92e488d5b2705e4cca83d4d1efbc421012faf83e", "size": 4194304}, {"crc32": "23fa7baa", "destination": "ps2/ps2-0220e-20060210.bin", "md5": "af60e6d1a939019d55e5b330d24b1c25", "name": "ps2-0220e-20060210.bin", "required": true, "sha1": "28ad756d0cfd1e7b2e2de3de5d9e14207ee89761", "size": 4194304}, {"crc32": "23001fff", "destination": "ps2/ps2-0220h-20060210.bin", "md5": "549a66d0c698635ca9fa3ab012da7129", "name": "ps2-0220h-20060210.bin", "required": true, "sha1": "fce2a24e5e0400cc6d98c08f426405d19173813e", "size": 4194304}, {"crc32": "1d6d879b", "destination": "ps2/ps2-0220j-20060905.bin", "md5": "5de9d0d730ff1e7ad122806335332524", "name": "ps2-0220j-20060905.bin", "required": true, "sha1": "3baf847c1c217aa71ac6d298389c88edb3db32e2", "size": 4194304}, {"crc32": "431d9b7f", "destination": "ps2/ps2-0220ad-20060905.bin", "md5": "21fe4cad111f7dc0f9af29477057f88d", "name": "ps2-0220ad-20060905.bin", "required": true, "sha1": "4191b5842f31a9985b5428bc9d2b733ce3abb583", "size": 4194304}, {"crc32": "1c17eafc", "destination": "ps2/ps2-0220a-20060905.bin", "md5": "40c11c063b3b9409aa5e4058e984e30c", "name": "ps2-0220a-20060905.bin", "required": true, "sha1": "8361d615cc895962e0f0838489337574dbdc9173", "size": 4194304}, {"crc32": "2d946dbf", "destination": "ps2/ps2-0220e-20060905.bin", "md5": "80bbb237a6af9c611df43b16b930b683", "name": "ps2-0220e-20060905.bin", "required": true, "sha1": "da5aacead2fb55807d6d4e70b1f10f4fdcfd3281", "size": 4194304}, {"crc32": "2d6e09ea", "destination": "ps2/ps2-0220h-20060905.bin", "md5": "c37bce95d32b2be480f87dd32704e664", "name": "ps2-0220h-20060905.bin", "required": true, "sha1": "a5a2ee0dd9a86ca35b94e97ca92476a584f755bf", "size": 4194304}, {"crc32": "2912faa5", "destination": "ps2/ps2-0230j-20080220.bin", "md5": "80ac46fa7e77b8ab4366e86948e54f83", "name": "ps2-0230j-20080220.bin", "required": true, "sha1": "fbd54bfc020af34008b317dcb80b812dd29b3759", "size": 4194304}, {"crc32": "286897c2", "destination": "ps2/ps2-0230a-20080220.bin", "md5": "21038400dc633070a78ad53090c53017", "name": "ps2-0230a-20080220.bin", "required": true, "sha1": "f9229fe159d0353b9f0632f3fdc66819c9030458", "size": 4194304}, {"crc32": "19eb1081", "destination": "ps2/ps2-0230e-20080220.bin", "md5": "dc69f0643a3030aaa4797501b483d6c4", "name": "ps2-0230e-20080220.bin", "required": true, "sha1": "9915b5ba56798f4027ac1bd8d10abe0c1c9c326a", "size": 4194304}, {"crc32": "191174d4", "destination": "ps2/ps2-0230h-20080220.bin", "md5": "30d56e79d89fbddf10938fa67fe3f34e", "name": "ps2-0230h-20080220.bin", "required": true, "sha1": "a277b456849697abec11285c6b35bc734598c220", "size": 4194304}, {"crc32": "7e75fc28", "destination": "ps2/ps2-0250e-20100415.bin", "md5": "93ea3bcee4252627919175ff1b16a1d9", "name": "ps2-0250e-20100415.bin", "required": true, "sha1": "b9cb5775af29cd4d1ec5521e8231f8b6636e2e44", "size": 4194304}, {"crc32": "4e8c160c", "destination": "ps2/ps2-0250j-20100415.bin", "md5": "d3e81e95db25f5a86a7b7474550a2155", "name": "ps2-0250j-20100415.bin", "required": true, "sha1": "4b5ef16b67e3b523d28ed2406106cb80470a06d0", "size": 4194304}]}, "sony-psp": {"files": [{"crc32": "7b57fa78", "destination": "psp/ppge_atlas.zim", "md5": "866855cc330b9b95cc69135fb7b41d38", "name": "ppge_atlas.zim", "required": true, "sha1": "30a33f3651f8e1b0967a5dfe6ff714baebcce41a", "size": 666530}]}, "videoton-tvc": {"files": [{"crc32": "950e32fd", "destination": "tvc/tvcfileio.rom", "md5": "a2cf86ba8e7fc58b242137fe59036832", "name": "tvcfileio.rom", "required": true, "sha1": "98889c3a56b11dedf077f866ed2e12d51b604113", "size": 8192}, {"crc32": "05e1c3a8", "destination": "tvc/tvc22_ext.rom", "md5": "5ce95a26ceed5bec73995d83568da9cf", "name": "tvc22_ext.rom", "required": true, "sha1": "abf119cf947ea32defd08b29a8a25d75f6bd4987", "size": 8192}, {"crc32": "79fa818c", "destination": "tvc/tvc22_sys.rom", "md5": "8c54285f541930cde766069942bad0f2", "name": "tvc22_sys.rom", "required": true, "sha1": "f2572ee83d09fc08f4de4a62f101c8bb301a9505", "size": 16384}, {"crc32": "1466aed4", "destination": "tvc/tvc_dos12d.rom", "md5": "88dc7876d584f90e4106f91444ab23b7", "name": "tvc_dos12d.rom", "required": true, "sha1": "072c6160d4e7d406f5d8f5b1b66066c797d35561", "size": 16384}]}, "wolfenstein-3d": {"files": [{"crc32": "26dc3fba", "destination": "wolfenstein/ecwolf.pk3", "md5": "c011b428819eea4a80b455c245a5a04d", "name": "ecwolf.pk3", "required": true, "sha1": "9259b87edfe9b9f6d0749788a75a6ccf158f50aa", "size": 178755}]}}, "target_scraper": null, "target_source": null, "verification_mode": "md5", "version": "5.1.0"}


# platform_files

platform_id: recalbox
system: atari-st
name: tos.img
destination: atarist/tos.img
md5:
27ac71b59d59f65571b972e0f894054a,5d65c6a384d847a0b8013d5e22ec0887,f62bc9777f28bc6876422738758db365,d41ae4efaa2c97f632dbe75d24d51bea,c87a52c277f7952b41c639fc7bf0a43b,e0444d8c51a8093a3f09665d8099c0af,d0f682ee6237497004339fb02172638b,5491b3755992feaf743ceecaa3b18f34,25789a649faff0a1176dc7d9b98105c0,b9e37f0f0a700fc673049794870bdb85,91ce7c1903006da75c823ff3c938e5d2,091a4d95f6c600231a3f1391a309ac26,a622cc35d8d78703905592dfaa4d2ccb,d6521785627d20c51edc566808a6bf28,b2a8570de2e850c5acf81cb80512d9f6,696ba04b3bc963aee2ba769298e342de,c1c57ce48e8ee4135885cee9e63a68a2,91fb61080d27d0376e1a3da409727468,f6a8fa31d0d1bac1a08d47502244408d,41b7dae4e24735f330b63ad923a0bfbc,143343f7b8e0b1162af206fe8f46b002,800d48825be45ec7f39ba7bb2c3f0b59,0087e2707c57efa2106a0aa7576655c0,036c5ae4f885cbf62c9bed651c6c58a8,52248cc70ae48b3050e197e270917130,7c040857bdcfcd7d748ca82205463efa,736adb2dc835df4d323191fdc8926cc9,992bac38e01633a529121a2a65f0779e,30f69d70fe7c210300ed83f991b12de9,bc7b224d0dc3f0cc14c8897db89c5787,6033f2b9364edfed321c6931a8181fd2,f3f92cd4e2c331aef8970a156be03b7c,a0982e760f9807d82667ff5a69e78f6b,94a75c1c65408d9f974b0463e15a3b11,61168619b5109d314638c9409f44bca2,4759f2c7bace6c2f440d27acd2ab6ed4,ed5fbaabe0219092df74c6c14cea3f8e,a4cfd3c7412002dd693f69a15d4d961c,1cbc4f55295e469fc8cd72b7efdea1da,6f9471098a521214fad1e2c6f2dd3d08,febb00ba8784798293a7ae709a1dafcb,4689ef3694ac86e7289923190e6cd10d,7aeabdc25f8134590e25643a405210ca,7449b131681f1dfe62ebed1392847057,61b620ad951815a25cb37895c81a947c,7e87d8fe7e24e0b4c55ad1b7955beae3,1c92855316a33faee602b8007f22d2cb,7cdd45b6aac66a21bfb357d9334e46db,0604dbb85928f0598d04144a8b554bbe,b2873004a408b8db36321f98daafa251,886b9b6bb6afa287211a594e16f6ca67,e690bec90d902024beed549d22150755,4a0d4f282c3f2a0196681adf88862dd4,332fe3803a7e20cd625b27a69f07ae69,a7dc40dc5c1086bce1a8f3d44fd29051,c9093f27159e7d13ac0d1501a95e53d4,066f39a7ea5789d5afd59dd7b3104fa6,2a8e39c60317b921eabd7e25b5d74395,dd1010ec566efbd71047d6c4919feba5,ed2647936ce4bd283c4d7dfd7ae09d1c,9e880168d0a004f7f5e852be758f39e4,919fd0f045299f101cf7757e5e058c41,b2ecabc15b65afef96331be46f2a2cd4,e5ea0f216fb446f1c4a4f476bc5f03d4,941baac767269649f92f7918dd5740b8


platform_id: recalbox
system: atari-st
name: st.img
destination: atarist/st.img
md5:
c87a52c277f7952b41c639fc7bf0a43b,e0444d8c51a8093a3f09665d8099c0af,d0f682ee6237497004339fb02172638b,5491b3755992feaf743ceecaa3b18f34,25789a649faff0a1176dc7d9b98105c0,b9e37f0f0a700fc673049794870bdb85,91ce7c1903006da75c823ff3c938e5d2,091a4d95f6c600231a3f1391a309ac26,a622cc35d8d78703905592dfaa4d2ccb,d6521785627d20c51edc566808a6bf28,b2a8570de2e850c5acf81cb80512d9f6,696ba04b3bc963aee2ba769298e342de,c1c57ce48e8ee4135885cee9e63a68a2,91fb61080d27d0376e1a3da409727468,f6a8fa31d0d1bac1a08d47502244408d,41b7dae4e24735f330b63ad923a0bfbc,143343f7b8e0b1162af206fe8f46b002,800d48825be45ec7f39ba7bb2c3f0b59,0087e2707c57efa2106a0aa7576655c0,036c5ae4f885cbf62c9bed651c6c58a8,52248cc70ae48b3050e197e270917130,7c040857bdcfcd7d748ca82205463efa,0604dbb85928f0598d04144a8b554bbe,b2873004a408b8db36321f98daafa251,886b9b6bb6afa287211a594e16f6ca67,e690bec90d902024beed549d22150755,4a0d4f282c3f2a0196681adf88862dd4,332fe3803a7e20cd625b27a69f07ae69,a7dc40dc5c1086bce1a8f3d44fd29051,c9093f27159e7d13ac0d1501a95e53d4,736adb2dc835df4d323191fdc8926cc9


platform_id: recalbox
system: atari-st
name: ste.img
destination: atarist/ste.img
md5:
992bac38e01633a529121a2a65f0779e,30f69d70fe7c210300ed83f991b12de9,bc7b224d0dc3f0cc14c8897db89c5787,6033f2b9364edfed321c6931a8181fd2,f3f92cd4e2c331aef8970a156be03b7c,a0982e760f9807d82667ff5a69e78f6b,94a75c1c65408d9f974b0463e15a3b11,61168619b5109d314638c9409f44bca2,4759f2c7bace6c2f440d27acd2ab6ed4,ed5fbaabe0219092df74c6c14cea3f8e,a4cfd3c7412002dd693f69a15d4d961c,1cbc4f55295e469fc8cd72b7efdea1da,6f9471098a521214fad1e2c6f2dd3d08,febb00ba8784798293a7ae709a1dafcb,0604dbb85928f0598d04144a8b554bbe,b2873004a408b8db36321f98daafa251,886b9b6bb6afa287211a594e16f6ca67,e690bec90d902024beed549d22150755,4a0d4f282c3f2a0196681adf88862dd4,332fe3803a7e20cd625b27a69f07ae69,a7dc40dc5c1086bce1a8f3d44fd29051,c9093f27159e7d13ac0d1501a95e53d4


platform_id: recalbox
system: atari-st
name: megaste.img
destination: atarist/megaste.img
md5:
4689ef3694ac86e7289923190e6cd10d,7aeabdc25f8134590e25643a405210ca,7449b131681f1dfe62ebed1392847057,61b620ad951815a25cb37895c81a947c,7e87d8fe7e24e0b4c55ad1b7955beae3,1c92855316a33faee602b8007f22d2cb,7cdd45b6aac66a21bfb357d9334e46db,0604dbb85928f0598d04144a8b554bbe,b2873004a408b8db36321f98daafa251,886b9b6bb6afa287211a594e16f6ca67,e690bec90d902024beed549d22150755,4a0d4f282c3f2a0196681adf88862dd4,332fe3803a7e20cd625b27a69f07ae69,a7dc40dc5c1086bce1a8f3d44fd29051,c9093f27159e7d13ac0d1501a95e53d4


platform_id: recalbox
system: atari-st
name: tt.img
destination: atarist/tt.img
md5:
066f39a7ea5789d5afd59dd7b3104fa6,2a8e39c60317b921eabd7e25b5d74395,dd1010ec566efbd71047d6c4919feba5,19cd81e1c3049bf408ad426dc5c3b2e0,ac6ca0f0ed42a1603dfd409c4bf8eb89


platform_id: recalbox
system: atari-st
name: falcon.img
destination: atarist/falcon.img
md5:
ed2647936ce4bd283c4d7dfd7ae09d1c,9e880168d0a004f7f5e852be758f39e4,919fd0f045299f101cf7757e5e058c41,b2ecabc15b65afef96331be46f2a2cd4,e5ea0f216fb446f1c4a4f476bc5f03d4,941baac767269649f92f7918dd5740b8,b338bacb2fc453bab61bcc1e2cf5076b


platform_id: recalbox
system: pc98
name: bios.rom
destination: np2kai/bios.rom
md5:
052f5f6010877522f78803498a625727,0c052b1f1bfd0ece11286d2ff45d296f,36293e23fe0c86cb115d59b653c13876,3af0ae018c5710eec6e2891064814138,50274bb5dcb707e4450011b09accffcb,c70ee9df11794bd5cc8aadb3721b4a03,cd237e16e7e77c06bb58540e9e9fca68,e246140dec5124c5e404869a84caefce


platform_id: recalbox
system: pc98
name: font.rom
destination: np2kai/font.rom
md5:
38d32748ae49d1815b0614970849fd40,fd0b856899aec843cbe69d2940df547f,4133b0be0d470920da60b9ed28d2614f,693fd1da3239d4bbeafc77d211718fc5,829b963e21334e0fc2092ebd58f2ab4a,add4a225048c85ca2bc588696c6ecdc5,ca87908a99ea423093f6d497fc367f7d


platform_id: recalbox
system: pc98
name: itf.rom
destination: np2kai/itf.rom
md5:
1d295699ffeab0f0e24e09381299259d,72ea51443070f0e9212bfc9b793ee28e,a13d96da03a28af8418d7f86ab951f1a,b49ea39a1f730f1c966babc11961dc9a,e9fc3890963b12cf15d0a2eea5815b72


platform_id: recalbox
system: pc98
name: sound.rom
destination: np2kai/sound.rom
md5:
42c271f8b720e796a484cc1165ff4914,524473c1a5a03b17e21d86a0408ff827,a77fc2bc7c696dd68dba18e02f89d386,caf90f22197aed6f14c471c21e64658d


platform_id: recalbox
system: satellaview
name: BS-X.bin
destination: satellaview/BS-X.bin
md5:
96cf17bf589fcbfa6f8de2dc84f19fa2,d5af0ab2545c053b90ffa0866074ecf1,9c72de0cf4c9c88003292a79ddd0144d,fed4d8242cfbed61343d53d48432aced


platform_id: recalbox
system: sega-dreamcast
name: dc_flash.bin
destination: dc/dc_flash.bin
md5:
d6e11a23f1fa01cddb5dfccf7e4cc8d7,93a9766f14159b403178ac77417c6b68,0a93f7940c455905bea6e392dfde92a4,23df18aa53c8b30784cd9a84e061d008,69c036adfca4ebea0b0c6fa4acfc8538,74e3f69c2bb92bc1fc5d9a53dcf6ffe2,2f818338f47701c606ade664a3e16a8a


platform_id: recalbox
system: sega-dreamcast-arcade
name: awbios.zip
destination: dc/awbios.zip
md5:
a420c0e56135c2e7e87399c887d7ef4a,abb0a508c83e689fc5e9230c623dabd0,042a0adecf2d616ccfb915a5cd71fde5,27fb8181fd9a0df18c7f6f941e9d60ab,74f5e994ecff655f18f0f9f998c9b1d9


platform_id: recalbox
system: sega-dreamcast-arcade
name: naomi.zip
destination: dc/naomi.zip
md5:
7300a99a4fc856d1a3c36b4485789897,40ae83a9552df0f340d5eeeadc5436ea,7ed453bda92b25156536ff055b8685b6,a48e7a735b9036be8f150018155370ad,e1dcb105789296b93bf58e37b7f38fc6,3c6b0fb04ab3eae5dc6a99f63507dbd4


platform_id: recalbox
system: sega-dreamcast-arcade
name: hod2bios.zip
destination: dc/hod2bios.zip
md5:
09b92ad1240fba7954985bdee59d1741,2c08c42cc8c6eb3a4e07bff07db5102f,9e1f4846028b18b5ef8a6bd8efd6c67d,fbdf7e1cef86d3ffd23754c0a303a4af,729A623576CB9D8F7FD7C4E44ECE3066


platform_id: recalbox
system: sega-dreamcast-arcade
name: naomigd.zip
destination: dc/naomigd.zip
md5:
288cde03a112e7726fa8093e05d46853,416b5914acb3d0b4a190a1d358c8710d,bd9f19b4be0692e92e272d0eb82402f7,be57d3744e71a3396fb8dc59830e880a


platform_id: recalbox
system: sega-master-system
name: bios_E.sms
destination: mastersystem/bios_E.sms
md5:
840481177270d5642a14ca71ee72844c,4187d96beaf36385e681a3cf3bd1663d,e8b26871629b938887757a64798df6dc,02cbb2e348945c9ac41e37502a58ca76,5cd8f62cd8786af0226e6d2248279338,08b81aa6be18b92daef1b875deecf824,bdb34f2c471e5d0c358eeec621f9d029


platform_id: recalbox
system: sega-master-system
name: bios_U.sms
destination: mastersystem/bios_U.sms
md5:
840481177270d5642a14ca71ee72844c,b264bef9bda264ffe83afcebac21b81f,e8b26871629b938887757a64798df6dc,02cbb2e348945c9ac41e37502a58ca76,5cd8f62cd8786af0226e6d2248279338,08b81aa6be18b92daef1b875deecf824


platform_id: recalbox
system: sega-saturn
name: stvbios.zip
destination: saturn/stvbios.zip
md5:
2b99d9dcecde22db4371580b6bb33f32,53a094ad3a188f86de4e64624fe9b3ca,17116d2aea72454096b3f80ab714bfba,2b99d9dcecde22db4371580b6bb33f32,4cb34733b741ada074f11e3abcdc56d8,6b6d422a6c392eaec178b64b92987e99,88b9da6cda268ba1d9e37dd82d038801,8c34608cc140e1bfbf9c945a12fed0e8,b876d86e244d00b336980b4e26e94132


platform_id: recalbox
system: sinclair-zx-spectrum
name: trdos.rom
destination: fuse/trdos.rom
md5:
b6d8db853c24621cbd5fef3c892c976c,5c097b0fb75bb7147104d6e77db0300a,dd70541ed6a6e8176e8dace64f9344ad,b08fa49b5de8448e94936a9d061dc0f5,4a3e2b04982ac6c594adb6793be4d6e7,4123fd0b5c218ef704770596dc6533e1,6459c606ff23a610e504d0387383148a,aa9f9acf05382aff569dfdadde4ef8f2,48b5da4079ff8394852429e53cfc607f,14399030d8228ca1b16872ed426a5835,7031f2610845d39c54c97097afa8fa03,4da473775c4badcc83ab5d86dc8231de,3f8a2a239a10b6694ec79148a292cfb4,62cbbdca554c8c23676618d4c83ef40e,c511eaa8fcc968cc13baf7ad80f3aea3,a92db09c9aa3cfda478a9bf1eec7ff90,0da70a5d2a0e733398e005b96b7e4ba6,a701f54355b53fa93fb8599933d518b7,0c42e3b9ab8dd91ea096f1d0c07c55e5,b4c9634312b796063015450daef13dfa,d6f43c70c003f07d0a694f81ff55db95,a3242d31a0624a64a56f3a6cb5484e7c,cc46c7bacbbaf528a864113c76d9b9c9,53e2f417c6996df9af170e147df8e369


platform_id: recalbox
system: snk-neogeo
name: neogeo.zip
destination: neogeo.zip
md5:
e023d0a4b5249fdff2a4620c28963944,8cbdff53661f41ddbe486a98915e1ec9,42e359e394f0be1d61b94ddca0efbe6c,c1e0a738d266926f604186aa9d63e4db,d12bba59121229ff13702878b415cb7c,2b4ffdf24d5d4f24c4b116c50c4bafc3,005b843b6e70b939c2cca41887cbc371,42e359e394f0be1d61b94ddca0efbe6c,4b9432a4571d03cc8bae9d24d8d6eb40,4cd64313e26537c04cdb561b8f84b0e4,50bbfd6bf297038b085e29265c65723a,76ee7390ccd537cddea1018025ca29a8,84d6c35aad790a77ba3cfc1b319e1061,912c0a56bafe0fba39d0c668b139b250,94748719c0ef31e7375b0c357d82fc89,ab25b9e25052a6064901a7a221037eb6,ae9e5825cde82c58e39dfd48534f7060,b18f83feef474b8a1306ef199cd810a2,b4519df27a352c2a6e42e06d31330d91,bf00272e7150b31156a8995d60bf185d,ca66fd463ef7dcab492a6de8ce5f45eb,f4a125538dfd7a8044e025fc5188fb88,a3b2c9a69c28ad0bd4ea07877b744bbe,00dad01abdbf8ea9e79ad2fe11bdb182


platform_id: recalbox
system: snk-neogeo-cd
name: neocdz.zip
destination: neocdz.zip
md5:
f39572af7584cb5b3f70ae8cc848aba2,389dbeb0cb857c130414747462cf9d71,c85b8132799f1b2ad3754a97947809d2,b9ab07a79997fc044ca164fc72cd5680


platform_id: retrodeck
system: microsoft-msx
name: MSX.ROM
destination: bios/MSX.ROM
md5:
364a1a579fe5cb8dba54519bcfcdac0d,aa95aea2563cd5ec0a0919b44cc17d47,9218f6dd89f7ba01e3090d44721b4260,cadad331097664327248654c1281816b


platform_id: retrodeck
system: sega-dreamcast
name: naomi2.zip
destination: bios/dc/naomi2.zip
md5:
c50072cbab75673e1b1a6b94355e6fa8,843c0d51237dc945f57237c4b9872b1d,339c59ece7d4d6803880c91bbb44ac93,dfaae8d206ffb390ed1cf9529ccc123d


# emulators

id: 00_example
name: 00_example
type: libretro
classification: pure_libretro
source: https://github.com/libretro/libretro-core-info
source_commit: bd81a0b73b50449c0862b65bd755d87860925f65
profile_json:
{"core_classification": "pure_libretro", "core_version": null, "cores": ["00_example"], "display_name": "Example Core (.info template)", "emulator": "00_example", "files": [], "notes": "Format specification template from libretro-core-info. Documents the .info\nfile format for core authors. No loadable binary, no emulated system.\n", "profiled_date": "2026-03-22", "source": "https://github.com/libretro/libretro-core-info", "source_commit": "bd81a0b73b50449c0862b65bd755d87860925f65", "systems": [], "type": "libretro"}


id: 2048
name: 2048
type: game
classification: pure_libretro
source: https://github.com/libretro/libretro-2048
upstream: https://github.com/gabrielecirulli/2048
source_commit: e70c3f82d2b861c64943aaff7fcc29a63013997d
profile_json:
{"core_classification": "pure_libretro", "core_version": "1.0", "cores": ["2048"], "display_name": "2048", "emulator": "2048", "files": [], "notes": "Ground-up C reimplementation of the 2048 puzzle game for libretro. All assets compiled into the binary. No system directory files required.\n", "profiled_date": "2026-03-22", "source": "https://github.com/libretro/libretro-2048", "source_commit": "e70c3f82d2b861c64943aaff7fcc29a63013997d", "systems": [], "type": "game", "upstream": "https://github.com/gabrielecirulli/2048"}


id: 2600-emu
name: 2600.emu
type: standalone
classification: community_fork
source: https://github.com/Rakashazi/emu-ex-plus-alpha
upstream: https://github.com/stella-emu/stella
source_commit: 1c12fac5ce49badaadff2e2f210dcc30b89f4943
profile_json:
{"core_classification": "community_fork", "core_version": "1.5.85", "cores": ["2600-emu", "2600.emu", "2600-EMU"], "display_name": "Atari - 2600 (2600.emu)", "emulator": "2600.emu", "files": [{"category": "game_data", "description": "KidVid Voice Module shared samples, tested for both games", "name": "KVSHARED.WAV", "required": false, "source_ref": "2600.emu/src/stella/emucore/KidVid.cxx:273,299", "system": "atari-2600"}, {"category": "game_data", "description": "KidVid tape for Smurfs Save the Day, Harmony Smurf", "name": "KVS1.WAV", "required": false, "source_ref": "2600.emu/src/stella/emucore/KidVid.cxx:244,247-249,272", "system": "atari-2600"}, {"category": "game_data", "description": "KidVid tape for Smurfs Save the Day, Handy Smurf", "name": "KVS2.WAV", "required": false, "source_ref": "2600.emu/src/stella/emucore/KidVid.cxx:244,247-249,272", "system": "atari-2600"}, {"category": "game_data", "description": "KidVid tape for Smurfs Save the Day, Greedy Smurf", "name": "KVS3.WAV", "required": false, "source_ref": "2600.emu/src/stella/emucore/KidVid.cxx:244,247-249,272", "system": "atari-2600"}, {"category": "game_data", "description": "KidVid tape for Berenstain Bears, Big Number Hunt", "name": "KVB1.WAV", "required": false, "source_ref": "2600.emu/src/stella/emucore/KidVid.cxx:245,247-249,272", "system": "atari-2600"}, {"category": "game_data", "description": "KidVid tape for Berenstain Bears, Great Letter Roundup", "name": "KVB2.WAV", "required": false, "source_ref": "2600.emu/src/stella/emucore/KidVid.cxx:245,247-249,272", "system": "atari-2600"}, {"category": "game_data", "description": "KidVid tape for Berenstain Bears, Spooky Spelling Bee", "name": "KVB3.WAV", "required": false, "source_ref": "2600.emu/src/stella/emucore/KidVid.cxx:245,247-249,272", "system": "atari-2600"}], "mode": "standalone", "notes": "Android and Linux member of the EX Emulator series by Robert Broglia,\npublished as com.explusalpha.A2600Emu (2600.emu/metadata/conf.mk:2,6,7) and\nreached by ES-DE through its 2600-EMU find rule. Stella 7.0 is vendored under\n2600.emu/src/stella (2600.emu/src/stella/common/Version.hxx:21, identical to\nthe upstream 7.0 tag) and driven by the app's own OSystem, FrameBuffer,\nEventHandler and Sound.\n\nThe console needs no ROM of its own. The Supercharger BIOS is the built-in\nourDummyROMCode array, patched at load and copied into the ROM area\n(2600.emu/src/stella/emucore/CartAR.cxx:263-278).\n\nThe build defines EMU_EX_PLATFORM, SOUND_SUPPORT and THUMB_SUPPORT\n(2600.emu/CMakeLists.txt:22); DEBUGGER_SUPPORT and CHEATCODE_SUPPORT are\nabsent, so the cheat database and the debugger are not compiled. PropertiesSet\nis constructed on CompositeKeyValueRepositoryNoop\n(2600.emu/src/stella/emucore/PropsSet.cxx:29-32), so cartridge properties come\nfrom the built-in DefProps table and no properties file is read.\ncheckUserPalette returns false and paletteFile returns an empty node\n(2600.emu/src/OSystemEmuEx.hxx:69-70), which stops PaletteHandler before it\nopens anything (2600.emu/src/stella/common/PaletteHandler.cxx:405-409).\nBezel.cxx and VideoModeHandler are not part of the build.\n\nKidVid needs no menu entry to engage. Both tapes leave the controller columns\nempty in the properties table\n(2600.emu/src/stella/emucore/DefProps.hxx:2339,3420), the default AUTO\nresolves to Type::Unknown (2600.emu/src/stella/emucore/Control.cxx:137-148),\nand that is the condition ControllerDetector requires before running its\nright-port signature test\n(2600.emu/src/stella/emucore/ControllerDetector.cxx:29,90-92,771-780). The\ncontroller is then built for either of the two matching cartridge MD5s\n(2600.emu/src/stella/emucore/Console.cxx:1096-1105,\n2600.emu/src/stella/emucore/KidVid.cxx:37-42). The app's own controller list\nbounds the port 1 option only (2600.emu/src/main/system.ccm:80-93).\n\nOSystem::baseDir hands the file name to EmuSystem::contentFilePath\n(2600.emu/src/main/OSystem.cc:73-76), which appends it to the content name\ninstead of joining it as a directory entry (EmuFramework/src/EmuSystem.cc:\n448-452, EmuFramework/include/emuframework/EmuSystem.hh:213-218), the content\nname being the ROM file name without its dot extension\n(EmuFramework/src/EmuSystem.cc:82,91). The tapes are read beside the ROM under\nthat name followed by the file name, as in\n\"Smurfs Save the Day (1983) (Coleco)KVSHARED.WAV\". The upstream 7.0 tag builds\nthe same paths as baseDir().getPath() + fileName.\n\nSoundEmuEx leaves playWav, stopWav and wavSize on their base class bodies,\nwhich answer false, nothing and zero\n(2600.emu/src/stella/emucore/Sound.hxx:121-134). The tapes are tested with\nFSNode::exists and never read, and both games run without them through the\ntiming path in KidVid::setNextSong.\n\nNVRAM is produced by the app. MT24LC256 fills a fresh EEPROM image with\nINITIAL_VALUE when the file is missing or not 32768 bytes\n(2600.emu/src/stella/emucore/MT24LC256.cxx:44-68), and the CTY and FA2\ncartridge saves take the same route through nvramDir.\nelf_executable_image.bin is a dump written under the elf.dump setting\n(2600.emu/src/stella/emucore/CartELF.cxx:155). ui.png, gpOverlay.png and\nkbOverlay.png are read from the application bundle through openAsset.\n", "profiled_date": "2026-08-11", "source": "https://github.com/Rakashazi/emu-ex-plus-alpha", "source_commit": "1c12fac5ce49badaadff2e2f210dcc30b89f4943", "systems": ["atari-2600"], "type": "standalone", "upstream": "https://github.com/stella-emu/stella", "upstream_commit": "d55b1aec0d067a4c901a6dcdf81cb8f579685659"}


id: 3dengine
name: 3DEngine
type: libretro
classification: pure_libretro
source: https://github.com/libretro/libretro-3dengine
upstream: https://github.com/libretro/libretro-3dengine
source_commit: 7772bd5965ab244ecc53580c8969a22455aa91d5
profile_json:
{"core_classification": "pure_libretro", "core_version": "v1", "cores": ["3dengine"], "display_name": "Test Core - 3D Engine", "emulator": "3DEngine", "files": [], "notes": "Tech demo for libretro hardware-accelerated rendering (OpenGL/ES). Loads .obj 3D models as content. No system directory files required.\n", "profiled_date": "2026-03-22", "source": "https://github.com/libretro/libretro-3dengine", "source_commit": "7772bd5965ab244ecc53580c8969a22455aa91d5", "systems": [], "type": "libretro", "upstream": "https://github.com/libretro/libretro-3dengine"}


id: 3dsen
name: 3dSen
type: standalone
classification: embedded_hle
source: https://geodstudio.net
upstream: https://geodstudio.net
profile_json:
{"core_classification": "embedded_hle", "core_version": "1.1", "cores": ["3dsen", "3dsen-windows"], "display_name": "3dSen (3D NES)", "emulator": "3dSen", "files": [], "mode": "standalone", "notes": "Closed-source Unity/C# NES emulator by Geod Studio, sold on Steam and\nitch.io for Windows, macOS and Linux. Rebuilds NES cartridge games as\nvoxel scenes at runtime. Emulation is compiled into the binary and the\nNES has no boot ROM, so no external BIOS or firmware is loaded. Cartridge\ngames only, no Famicom Disk System and therefore no disksys.rom: ES-DE\nlists it under nes and famicom but not fds, and RetroBat maps it to nes3d\nalone and documents \"No specific BIOS is required to play NES games\".\n\nGames are registered through the emulator UI, which writes rom.json in\nthe Unity persistent data path (Windows AppData\\LocalLow\\Geod Studio\\3dSen\\,\nLinux ~/.config/unity3d/Geod Studio/3dSen/, macOS ~/Library/Logs/Geod\nStudio/3dSen/) binding a fixed numeric ID to the user ROM. Launching\npasses that ID rather than a path: 3dSen.exe -id=N.\n\nPer-game 3D profiles are .3dn files, protobuf-serialized behind a \"3dn\"\ntitle header and a version field (3DNesManager Classes/3DNTools.cs:14-31,\n51-58), loaded when a game starts (3DNes_Engine Engine3D.cs:37, Load3DN).\nThe 100 official profiles ship inside the application. Profiles built\nwith 3dSenMaker are optional per-game additions installed from the UI\nsince v0.9, and cover art packs are optional files placed in CoverArt/\nunder the same data path. ROMs are user-supplied, the emulator ships\nwith no game content.\n", "profiled_date": "2026-08-07", "source": "https://geodstudio.net", "systems": ["nintendo-nes"], "type": "standalone", "upstream": "https://geodstudio.net"}


id: 81
name: EightyOne
type: standalone + libretro
classification: community_fork
source: https://github.com/libretro/81-libretro
upstream: https://github.com/charlierobson/EightyOne
source_commit: fa7094910d040baa5fd8b11dbf6a1a618330ecd9
profile_json:
{"core_classification": "community_fork", "core_version": "1.0a", "cores": ["81"], "display_name": "Sinclair - ZX 81 (EightyOne)", "emulator": "EightyOne", "files": [{"aliases": ["zx81.rom"], "md5": "db398d4e4e93a6d4dee3bfe146918219", "mode": "standalone", "name": "zx81.edition3.rom", "note": "ZX81 8K BASIC ROM (edition 3, default). Embedded in libretro core as zx81.rom.", "required": true, "size": 8192, "source_ref": "Source/zx81config.cpp:260, 81/zx81/snap.c:489", "system": "sinclair-zx81", "validation": ["crc32"]}, {"md5": "56efa70bbaf311915c56cfdc70584e96", "mode": "standalone", "name": "zx81.edition1.rom", "required": false, "size": 8192, "source_ref": "Source/HW_.cpp:2747", "system": "sinclair-zx81"}, {"md5": "b9fd58d324b6297f2a696d40722f95dc", "mode": "standalone", "name": "zx81.edition2.rom", "required": false, "size": 8192, "source_ref": "Source/HW_.cpp:2748", "system": "sinclair-zx81"}, {"md5": "e03bd725f98be45aac39c85f7fd41ce4", "mode": "standalone", "name": "zx80.rom", "required": true, "size": 4096, "source_ref": "Source/zx81config.cpp:259, Source/HW_.cpp:2741", "system": "sinclair-zx80", "validation": ["crc32"]}, {"md5": "cc69fdd6195acdfd1e533b2eb4c2a632", "mode": "standalone", "name": "zx97.rom", "required": false, "size": 32768, "source_ref": "Source/zx81config.cpp:281, Source/HW_.cpp:2792", "system": "sinclair-zx81"}, {"md5": "db6efdfd82cebdfbb493d85b1a5efc3c", "mode": "standalone", "name": "jupiterace.rom", "required": true, "size": 8192, "source_ref": "Source/zx81config.cpp:279, Source/HW_.cpp:2787", "system": "jupiter-ace", "validation": ["crc32"]}, {"md5": "dea07eb23c5768ddf3ed90740eab85cb", "mode": "standalone", "name": "ts1500.rom", "required": true, "size": 8192, "source_ref": "Source/zx81config.cpp:271, Source/HW_.cpp:2764", "system": "timex-ts1500"}, {"md5": "9194283503a105f3f3dfba13e61e993f", "mode": "standalone", "name": "ts2068.rom", "required": true, "size": 24576, "source_ref": "Source/zx81config.cpp:274-275, Source/HW_.cpp:2884-2886", "system": "timex-ts2068"}, {"md5": "03aeea3abc7b1ca5f241935477ce71be", "mode": "standalone", "name": "lambda8300colour.rom", "note": "Lambda 8300 colour version (default ROM for Lambda machine).", "required": true, "size": 8192, "source_ref": "Source/zx81config.cpp:276, Source/HW_.cpp:2771", "system": "lambda-8300"}, {"md5": "e232dfce1dcae65953583f66af146232", "mode": "standalone", "name": "lambda8300.rom", "note": "Lambda 8300 non-colour version (alternative).", "required": false, "size": 8192, "source_ref": "Source/HW_.cpp:2770", "system": "lambda-8300"}, {"md5": "be906890c4bf42dd99f1a3bcb6003647", "mode": "standalone", "name": "lambda8300characterset.bin", "note": "Lambda 8300 external font. Loaded when extfont is enabled.", "required": false, "size": 512, "source_ref": "Source/zx81/zx81.cpp:312", "system": "lambda-8300"}, {"md5": "a70bbb0dfe4bb8556e74258062766f5d", "mode": "standalone", "name": "ringo470.rom", "required": true, "size": 8192, "source_ref": "Source/zx81config.cpp:277, Source/HW_.cpp:2777", "system": "ringo-r470"}, {"md5": "b301cdad72448d92598197b45bead8fe", "mode": "standalone", "name": "tk85.rom", "required": true, "size": 10240, "source_ref": "Source/zx81config.cpp:278, Source/HW_.cpp:2782", "system": "microdigital-tk85"}, {"md5": "9dd7ecf784a6c04265c073c236f5fadb", "mode": "standalone", "name": "tc2048.rom", "required": true, "size": 16384, "source_ref": "Source/zx81config.cpp:272, Source/HW_.cpp:2874-2876", "system": "timex-tc2048"}, {"aliases": ["dkchr.rom"], "md5": "5cba3a306fbb94454811ba262b27c958", "mode": "standalone", "name": "dktronicsgraphics.rom", "note": "dK'tronics character ROM. Embedded in libretro core as dkchr.rom.", "required": false, "size": 4096, "source_ref": "Source/zx81/zx81.cpp:316, Source/zx81config.cpp:195-196", "system": "sinclair-zx81"}, {"md5": "4944facea84bea43f4495eaca19006d0", "mode": "standalone", "name": "kaydegraphics.rom", "note": "Kayde character ROM.", "required": false, "size": 4096, "source_ref": "Source/zx81/zx81.cpp:320, Source/zx81config.cpp:197-198", "system": "sinclair-zx81"}, {"md5": "70320cad0ab528e62dcc2ca847870995", "mode": "standalone", "name": "memotechhrg.rom", "note": "Memotech HRG ROM.", "required": false, "size": 2048, "source_ref": "Source/zx81/zx81.cpp:334, Source/zx81config.cpp:201-202", "system": "sinclair-zx81"}, {"md5": "1e7408a9a6d329751acc9d0810fd633d", "mode": "standalone", "name": "quicksilvahires.rom", "note": "Quicksilva Hi-Res ROM.", "required": false, "size": 2048, "source_ref": "Source/zx81/zx81.cpp:338, Source/zx81config.cpp:203-204", "system": "sinclair-zx81"}, {"md5": "7f59a979b1332a168d2efbc971ce1df0", "mode": "standalone", "name": "g007hrg.rom", "note": "G007 HRG ROM.", "required": false, "size": 2048, "source_ref": "Source/zx81/zx81.cpp:343, Source/zx81config.cpp:199-200", "system": "sinclair-zx81"}, {"md5": "b1581a2fcf4e5083d5fd92a1da373efa", "mode": "standalone", "name": "z80assembler.rom", "required": false, "size": 4096, "source_ref": "Source/zx81/zx81.cpp:348, Source/zx81config.cpp:206", "system": "sinclair-zx81"}, {"md5": "fae8c8cd2cef2ca6b72be5b1cd8509d8", "mode": "standalone", "name": "memocalc.rom", "required": false, "size": 4096, "source_ref": "Source/zx81/zx81.cpp:352, Source/zx81config.cpp:207-208", "system": "sinclair-zx81"}, {"md5": "dec8c7f864c209db4defcfbe0774e220", "mode": "standalone", "name": "larken81.rom", "note": "Larken 81 floppy controller ROM.", "required": false, "size": 2048, "source_ref": "Source/zx81/zx81.cpp:361, Source/zx81config.cpp:171-172", "system": "sinclair-zx81"}, {"md5": "31b704ae925305e74f50699271fddd9a", "mode": "standalone", "name": "interface1.edition2.rom", "note": "ZX Interface 1 ROM (default edition 2).", "required": false, "size": 8192, "source_ref": "Source/zx81config.cpp:174-175", "system": "sinclair-zx-spectrum"}, {"md5": "5c11c61a2dd2ca4bf39328d9ff42d289", "mode": "standalone", "name": "interface1.edition1.rom", "required": false, "size": 8192, "source_ref": "EightyOne/Source/ROMs/FDCs/interface1.edition1.rom", "system": "sinclair-zx-spectrum"}, {"md5": "42e5de16fb5e50082bb954ec7ce45851", "mode": "standalone", "name": "+d.g+dos.v1-a.rom", "note": "Plus D G+DOS ROM (default v1-a).", "required": false, "size": 8192, "source_ref": "Source/zx81config.cpp:163-164", "system": "sinclair-zx-spectrum"}, {"md5": "2b0c5e2fa87e0b641bdb26634faea234", "mode": "standalone", "name": "disciple.gdos.v3.rom", "note": "DISCiPLE GDOS ROM v3.", "required": false, "size": 16384, "source_ref": "Source/zx81config.cpp:165-166", "system": "sinclair-zx-spectrum"}, {"md5": "3beeddbf0aa716b7aba7deec2bfb3028", "mode": "standalone", "name": "discovery.v2-22.rom", "note": "Opus Discovery DOS ROM (default v2-22).", "required": false, "size": 8192, "source_ref": "Source/zx81config.cpp:167-168", "system": "sinclair-zx-spectrum"}, {"md5": "0da70a5d2a0e733398e005b96b7e4ba6", "mode": "standalone", "name": "beta128.trdos.v5-03.rom", "note": "Beta 128 TR-DOS ROM (default v5-03).", "required": false, "size": 16384, "source_ref": "Source/zx81config.cpp:169-170", "system": "sinclair-zx-spectrum"}, {"md5": "d02ed1b39669c9b163f1fa2b1ffb41ee", "mode": "standalone", "name": "mwcfide.rom", "note": "MWCF IDE ROM.", "required": false, "size": 14648, "source_ref": "Source/zx81/zx81.cpp:381, Source/zx81config.cpp:183-184", "system": "sinclair-zx81"}, {"md5": "e518c0736cb4ce0484ac8091f5ea3e01", "mode": "standalone", "name": "zxcflba.rom", "note": "ZXCF CompactFlash IDE ROM.", "required": false, "size": 16384, "source_ref": "Source/zx81config.cpp:181-182", "system": "sinclair-zx81"}, {"md5": "d8f203d2bebfe57d725b0d1067f3b92d", "mode": "standalone", "name": "zx8blbs.rom", "note": "Simple 8-bit IDE ROM.", "required": false, "size": 16384, "source_ref": "Source/zx81config.cpp:177-178", "system": "sinclair-zx81"}, {"md5": "6cfbf044b8f435b7f70eae37d9ee5c28", "mode": "standalone", "name": "zxidelbs.rom", "note": "Simple 16-bit IDE ROM.", "required": false, "size": 16384, "source_ref": "Source/zx81config.cpp:179-180", "system": "sinclair-zx81"}, {"md5": "052f6af718337e35e76693723e1d73e3", "mode": "standalone", "name": "uspeech.rom", "note": "Currah uSpeech ROM.", "required": false, "size": 2048, "source_ref": "Source/Spectrum/spec48.cpp:344, Source/zx81config.cpp:186-187", "system": "sinclair-zx81"}, {"md5": "ebe1490920cbb62bde7282ae24928d95", "mode": "standalone", "name": "usource.rom", "note": "Currah uSource ROM.", "required": false, "size": 8192, "source_ref": "Source/Spectrum/spec48.cpp:350, Source/zx81config.cpp:188-189", "system": "sinclair-zx81"}, {"md5": "c420ef03f6e0c477d9474efe3441a556", "mode": "standalone", "name": "multiface128.rom", "note": "Multiface 128 ROM.", "required": false, "size": 8192, "source_ref": "Source/zx81config.cpp:190-191", "system": "sinclair-zx-spectrum"}, {"md5": "afe2218c3a6a43f1854fe824424d4167", "mode": "standalone", "name": "multiface3.rom", "note": "Multiface 3 ROM.", "required": false, "size": 8192, "source_ref": "Source/zx81config.cpp:192-193", "system": "sinclair-zx-spectrum"}, {"md5": "864beefecf0021fa6b0f5a5aff55c167", "mode": "standalone", "name": "SSR1.bin", "note": "Digitalker speech ROM bank 1a.", "required": false, "size": 8192, "source_ref": "Source/Digitalker/Digitalkdrv.cpp:40-45", "system": "sinclair-zx81"}, {"md5": "d3924ecc0efda0a58c4bda43044061e4", "mode": "standalone", "name": "SSR2.bin", "note": "Digitalker speech ROM bank 1b.", "required": false, "size": 8192, "source_ref": "Source/Digitalker/Digitalkdrv.cpp:49-54", "system": "sinclair-zx81"}, {"md5": "dd2793938c50217c0e5e8aef75b98856", "mode": "standalone", "name": "SSR5.bin", "note": "Digitalker speech ROM bank 2a.", "required": false, "size": 8192, "source_ref": "Source/Digitalker/Digitalkdrv.cpp:58-63", "system": "sinclair-zx81"}, {"md5": "5d6ee8cdf1b12816c4f152b5a1e13977", "mode": "standalone", "name": "SSR6.bin", "note": "Digitalker speech ROM bank 2b.", "required": false, "size": 8192, "source_ref": "Source/Digitalker/Digitalkdrv.cpp:67-72", "system": "sinclair-zx81"}, {"md5": "49b1bd3485d080bb242e94fd698f028d", "mode": "standalone", "name": "zx81.zxpand.ovl", "required": false, "size": 8192, "source_ref": "Source/zx81/zx81.cpp:298-303", "system": "sinclair-zx81"}, {"md5": "37cea5c1e7144de898a7dc4b102fb7fd", "mode": "standalone", "name": "zx80.zxpand.ovl", "required": false, "size": 8192, "source_ref": "Source/zx81/zx81.cpp:304-305", "system": "sinclair-zx80"}, {"md5": "49b1bd3485d080bb242e94fd698f028d", "mode": "standalone", "name": "ts1500.zxpand.ovl", "required": false, "size": 8192, "source_ref": "Source/zx81/zx81.cpp:298-303", "system": "timex-ts1500"}, {"md5": "4c42a2f075212361c3117015b107ff68", "mode": "standalone", "name": "spectrum48.rom", "note": "Spectrum 48K.", "required": false, "size": 16384, "source_ref": "Source/zx81config.cpp:261-263, Source/HW_.cpp:2800-2807", "system": "sinclair-zx-spectrum"}, {"md5": "60e1bd8b4d59b55e5b2175126239517f", "mode": "standalone", "name": "spectrum48.spanish.rom", "region": ["spain"], "required": false, "size": 16384, "source_ref": "Source/HW_.cpp:2812", "system": "sinclair-zx-spectrum"}, {"md5": "9f6f56003307b9d55be96f406fdbf2b1", "mode": "standalone", "name": "spectrum48.arabic.rom", "required": false, "size": 16384, "source_ref": "EightyOne/Source/ROMs/spectrum48.arabic.rom", "system": "sinclair-zx-spectrum"}, {"md5": "a6a1e3a68bb5523997103c3925a46fe4", "mode": "standalone", "name": "spectrum48.arabic.version1.rom", "required": false, "size": 16384, "source_ref": "Source/HW_.cpp:2813, Source/HW_.cpp:2820", "system": "sinclair-zx-spectrum"}, {"md5": "fac3d08455328c34f0d06344d89cec0e", "mode": "standalone", "name": "spectrum48.arabic.version2.rom", "required": false, "size": 16384, "source_ref": "Source/HW_.cpp:2828, Source/HW_.cpp:2837", "system": "sinclair-zx-spectrum"}, {"md5": "f058f27ae61af225fe5baacc1d89adfc", "mode": "standalone", "name": "spectrum48.nordic.rom", "required": false, "size": 16384, "source_ref": "Source/HW_.cpp:2806", "system": "sinclair-zx-spectrum"}, {"md5": "85fede415f4294cc777517d7eada482e", "mode": "standalone", "name": "spectrum128.rom", "note": "Spectrum 128K.", "required": false, "size": 32768, "source_ref": "Source/zx81config.cpp:264, Source/HW_.cpp:2817-2821", "system": "sinclair-zx-spectrum"}, {"md5": "84aef735da122d55e41a33455c7c3506", "mode": "standalone", "name": "spectrum128.spanish.rom", "region": ["spain"], "required": false, "size": 32768, "source_ref": "Source/HW_.cpp:2819", "system": "sinclair-zx-spectrum"}, {"md5": "238f77692156a5c49d20c0aa2862e8bb", "mode": "standalone", "name": "spectrum+2.rom", "note": "Spectrum +2.", "required": false, "size": 32768, "source_ref": "Source/zx81config.cpp:266, Source/HW_.cpp:2824-2829", "system": "sinclair-zx-spectrum"}, {"md5": "1fff14aeca8e1dd3670142982cc6bb36", "mode": "standalone", "name": "spectrum+2.french.rom", "region": ["france"], "required": false, "size": 32768, "source_ref": "Source/HW_.cpp:2826", "system": "sinclair-zx-spectrum"}, {"md5": "43cf648e27efc9be8186bb7049505d79", "mode": "standalone", "name": "spectrum+2.spanish.rom", "region": ["spain"], "required": false, "size": 32768, "source_ref": "Source/HW_.cpp:2827", "system": "sinclair-zx-spectrum"}, {"md5": "05de80a055b5e7866f55769db0584d6e", "mode": "standalone", "name": "spectrum+3.version4-0.rom", "note": "Spectrum +3.", "required": false, "size": 65536, "source_ref": "Source/HW_.cpp:2833, Source/HW_.cpp:2854", "system": "sinclair-zx-spectrum"}, {"md5": "990dfe9d37b48595f5befe0e4ff4b7c6", "mode": "standalone", "name": "spectrum+3.version4-0.spanish.rom", "region": ["spain"], "required": false, "size": 65536, "source_ref": "Source/HW_.cpp:2835, Source/HW_.cpp:2856", "system": "sinclair-zx-spectrum"}, {"md5": "7e00ed3562abfd188d0d4da03e80bc0a", "mode": "standalone", "name": "spectrum+3.version4-1.rom", "note": "Spectrum +3 (default for +2A and +3).", "required": false, "size": 65536, "source_ref": "Source/zx81config.cpp:267-268, Source/HW_.cpp:2834, Source/HW_.cpp:2855", "system": "sinclair-zx-spectrum"}, {"md5": "52d130178c1106fef765b5f119fb43bc", "mode": "standalone", "name": "spectrum+3.version4-1.spanish.rom", "region": ["spain"], "required": false, "size": 65536, "source_ref": "Source/HW_.cpp:2836, Source/HW_.cpp:2857", "system": "sinclair-zx-spectrum"}, {"md5": "30316fa0ed7ee6682933960e11b48d60", "mode": "standalone", "name": "spectrum+3.arabic3-a.english4-0.rom", "required": false, "size": 131072, "source_ref": "Source/HW_.cpp:2858", "system": "sinclair-zx-spectrum"}, {"md5": "b7893ad25728fbf6410f08eddd4a1cad", "mode": "standalone", "name": "tk90.rom", "note": "Microdigital TK90X (Spectrum clone).", "required": false, "size": 16384, "source_ref": "EightyOne/Source/ROMs/tk90.rom", "system": "sinclair-zx-spectrum"}, {"md5": "b7893ad25728fbf6410f08eddd4a1cad", "mode": "standalone", "name": "tk95.rom", "note": "Microdigital TK95 (Spectrum clone).", "required": false, "size": 16384, "source_ref": "EightyOne/Source/ROMs/tk95.rom", "system": "sinclair-zx-spectrum"}], "notes": "Libretro port embeds zx81.rom and dkchr.rom as C arrays (xxd -i).\nCore never accesses filesystem for ROMs. Hardcodes MACHINEZX81.\nref: 81-libretro/81/zx81/snap.c:487-508, src/libretro.cpp:393\n\nOriginal EightyOne supports 15+ machines, loads ROMs from ROM/ directory.\nref: EightyOne/Source/zx81/zx81.cpp:309, EightyOne/Source/HW_.cpp:2734\n\n.info has no firmware declarations (firmware_count absent).\n", "profiled_date": "2026-03-22", "source": "https://github.com/libretro/81-libretro", "source_commit": "fa7094910d040baa5fd8b11dbf6a1a618330ecd9", "systems": ["sinclair-zx81", "sinclair-zx80", "sinclair-zx-spectrum", "jupiter-ace", "timex-ts1500", "timex-tc2048", "timex-ts2068", "lambda-8300", "ringo-r470", "microdigital-tk85"], "type": "standalone + libretro", "upstream": "https://github.com/charlierobson/EightyOne"}


id: a5200
name: a5200
type: libretro
classification: community_fork
source: https://github.com/libretro/a5200
upstream: https://github.com/alekmaul/a5200
source_commit: 40c6f2f1ad4a3145b328d5baaf010fae6c7e752b
profile_json:
{"core_classification": "community_fork", "core_version": "2.0.2", "cores": ["a5200"], "display_name": "Atari - 5200 (a5200)", "emulator": "a5200", "files": [{"hle_fallback": true, "name": "5200.rom", "note": "Atari 5200 OS ROM. Core option \"a5200_bios\" controls official vs internal. Altirra replacement has lower compatibility with some titles.\n", "path": "5200.rom", "required": false, "size": 2048, "source_ref": "libretro/libretro.c:58-59, libretro/libretro.c:416-507, emu/memory.c:46", "validation": ["size"]}], "profiled_date": "2026-03-22", "source": "https://github.com/libretro/a5200", "source_commit": "40c6f2f1ad4a3145b328d5baaf010fae6c7e752b", "systems": ["atari-5200"], "type": "libretro", "upstream": "https://github.com/alekmaul/a5200"}


id: a7800
name: A7800
type: standalone
classification: enhanced_fork
source: https://github.com/7800-devtools/a7800
upstream: https://github.com/mamedev/mame
source_commit: 7a2afdc1ea08fc331b16b750d8c1f02d4ef62fc8
profile_json:
{"core_classification": "enhanced_fork", "core_version": "5.2", "cores": ["a7800"], "display_name": "Atari - 7800 (A7800)", "emulator": "A7800", "files": [{"category": "bios_zip", "contents": [{"crc32": "5d13730c", "description": "NTSC BIOS, default system BIOS \"a7800\", mapped at 0x3000", "name": "7800.u7", "sha1": "d9d134bb6b36907c615a594cc7688f7bfcef5b43", "size": 4096}, {"crc32": "a0e10edf", "description": "NTSC prototype BIOS with Asteroids, system BIOS \"a7800pr\"", "name": "c300558-001a.u7", "sha1": "14584b1eafe9721804782d4b1ac3a4a7313e455f", "size": 16384}, {"crc32": "d5b61170", "description": "PAL BIOS with Asteroids, named c300558-001b.u7 in mainline MAME", "name": "7800pal.rom", "sha1": "5a140136a16d1d83e4ff32a19409ca376a8df874", "size": 16384}], "name": "a7800.zip", "note": "Merged console BIOS archive documented by the manual at bios/a7800.zip. Serves all eight machines through the parent chain, since the PAL machines are clones of a7800 rather than of a7800p.", "required": false, "source_ref": "src/mame/drivers/a7800.cpp:1698-1748", "system": "atari-7800", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "9be408d3", "description": "High Score Cartridge ROM, read through the pass-through cart", "name": "highscre.bin", "sha1": "a3af676991391a6dd716c79022d4947206b78164", "size": 4096}], "name": "hiscore.zip", "note": "Software list set for the High Score Cartridge configuration (CX78HSC, slot a78_hsc). Fatal when that configuration is selected and the set is absent.", "required": false, "source_ref": "hash/a7800.xml:8-21", "system": "atari-7800", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "9be408d3", "description": "High Score Cartridge ROM, gated by XM control register bit 3", "name": "highscre.bin", "sha1": "a3af676991391a6dd716c79022d4947206b78164", "size": 4096}], "name": "xm.zip", "note": "Software list set for the XM Expansion Module configuration (slot a78_xm), which reuses the High Score Cartridge ROM alongside 128KB RAM, POKEY and YM2151. Fatal when that configuration is selected and the set is absent.", "required": false, "source_ref": "hash/a7800.xml:24-38", "system": "atari-7800", "validation": ["size", "crc32", "sha1"]}], "mode": "standalone", "notes": "MAME fork by 7800.8bitdev.org built with the Atari 7800 driver alone. The\nreleased binary carries eight machines, all declaring a7800 as parent: NTSC\nand PAL at three palette temperatures, plus a developer mode showing DMA\nusage per scanline (a7800.cpp:1837-1844). The temperature variants were\nrenamed after 5.2, from a7800u1/a7800u2/a7800pu1/a7800pu2 to\na7800a1/a7800a2/a7800pa1/a7800pa2. ROM definitions are identical in both.\n\nConsole BIOS is optional. Every entry carries ROM_OPTIONAL, so absence\nyields a warning rather than the fatal \"Required files are missing\" exit\n(romload.cpp:373-379, 488-493). The region is ERASEFF, and machine_reset\nreads the reset vector: when 0xfffe and 0xffff both hold 0xff, m_ctrl_reg is\nset to 4 and the console starts the cartridge (a7800.cpp:1529-1532). No code\nsubstitutes for the BIOS when it is absent.\n\nLookup runs under rompath, which the shipped a7800.ini sets to \"bios;roms\".\nopen_rom_file walks the parent chain (romload.cpp:567-572), so all eight\nmachines fall back to the a7800 set, and the manual documents one merged\narchive at bios/a7800.zip. Inside an archive the search tries name with CRC,\nthen CRC alone, then name (fileio.cpp:692-701), so a ROM whose filename\ndiffers from the driver still resolves; loose files under rompath/a7800/\nmatch by name only. Loaded ROMs are checked for exact length and against the\ndeclared CRC32 and SHA1, and a mismatch is a warning (romload.cpp:417-455).\n\nThe PAL BIOS keeps the filename 7800pal.rom, which mainline MAME has since\nrenamed to c300558-001b.u7 for the same dump. Mainline also marks the 7800\nROMs mandatory.\n\nSoftware list a7800 (hash/a7800.xml), attached by every machine\n(a7800.cpp:1577, 1608, 1654, 1684), holds add-on hardware rather than games:\nthe High Score Cartridge and the XM Expansion Module, both backed by the\nsame 4KB highscre.bin served as the pass-through cart ROM\n(hiscore.cpp:49-52, xm.cpp:177-183). Software list ROMs resolve as\na7800/<setname> then <setname> under rompath (romload.cpp:628-650) and carry\nno optional flag, so selecting either configuration without the image exits\nwith EMU_ERR_MISSING_FILES.\n\nThe release ships the binary, a7800.ini, the manual, hash/a7800.xml, cfg\ndefaults, bgfx shaders and artwork masks, and no roms, samples, plugins or\nlanguage directory. The driver adds no samples device and no external\nlayout. Crosshair bitmaps fall back to a compiled-in shape\n(crsshair.cpp:180-214) and the UI font to compiled-in data\n(rendfont.cpp:587-600).\n", "profiled_date": "2026-08-08", "source": "https://github.com/7800-devtools/a7800", "source_commit": "7a2afdc1ea08fc331b16b750d8c1f02d4ef62fc8", "systems": ["atari-7800"], "type": "standalone", "upstream": "https://github.com/mamedev/mame"}


id: ace-dl
name: ACE-DL
type: standalone
classification: community_fork
source: https://roudoudou.com/ACE-DL/
upstream: http://ace.cpcscene.net
profile_json:
{"core_classification": "community_fork", "core_version": "2026-06-03", "cores": ["ace-dl", "acedl"], "display_name": "Amstrad - CPC/Plus (ACE-DL)", "emulator": "ACE-DL", "files": [{"md5": "b96280dc6c95a48857b4b8eb931533ae", "min_size": 32768, "name": "OS6128_UK.rom", "note": "CPC 6128 English. Firmware v3 followed by BASIC 1.20. Absence stops startup with \"Error initializing ROMs!\".", "path": "private/firmware/OS6128_UK.rom", "region": ["uk"], "required": true, "sha1": "5977adbad3f7c1e0e082cd02fe76a700d9860c30", "source_ref": "AceDL 2026-06-03: private/firmware/OS6128_UK.rom, default machine, opened at every startup", "system": "amstrad-cpc", "validation": ["size"]}, {"md5": "5ee871d5600eb9b5a22989c295f902a5", "min_size": 32768, "name": "OS6128_FR.rom", "note": "CPC 6128 French. Firmware f3 followed by BASIC 1.23.", "path": "private/firmware/OS6128_FR.rom", "region": ["france"], "required": false, "sha1": "200d59076dfef36db061d6d7d21d80021cab1237", "source_ref": "AceDL 2026-06-03: Machine configuration entry OS6128_FR.rom, command line -ffr", "system": "amstrad-cpc", "validation": ["size"]}, {"md5": "0246740371010333385665dfeb7cd0ec", "min_size": 32768, "name": "OS6128_S.rom", "note": "CPC 6128 Spanish. Firmware s3 followed by BASIC 1.21.", "path": "private/firmware/OS6128_S.rom", "region": ["spain"], "required": false, "sha1": "1acd01c2c03424a78b32c9440f4d890fb1104815", "source_ref": "AceDL 2026-06-03: Machine configuration entry OS6128_S.rom, command line -fsp", "system": "amstrad-cpc", "validation": ["size"]}, {"md5": "ca1635fd992e2aa7a776b30da13467e5", "min_size": 32768, "name": "OS6128_DK.rom", "note": "CPC 6128 Danish. Firmware d3 followed by BASIC 1.20.", "path": "private/firmware/OS6128_DK.rom", "region": ["denmark"], "required": false, "sha1": "a9e7ee6355730f319a37c95ca0a714212b88c3b1", "source_ref": "AceDL 2026-06-03: Machine configuration entry OS6128_DK.rom, command line -fdk", "system": "amstrad-cpc", "validation": ["size"]}, {"md5": "a993f85b88ac4350cf4d41554e87fe4f", "min_size": 32768, "name": "OS464_UK.rom", "note": "CPC 464 English. Firmware v1 followed by BASIC 1.00.", "path": "private/firmware/OS464_UK.rom", "region": ["uk"], "required": false, "sha1": "56d39c463da60968d93e58b4ba0e675829412a20", "source_ref": "AceDL 2026-06-03: Machine configuration entry OS464_UK.rom", "system": "amstrad-cpc", "validation": ["size"]}, {"md5": "a588b7c9e1c142b5d8ebec65ac7713d8", "min_size": 32768, "name": "OS464_FR.rom", "note": "CPC 464 French. Firmware f1 followed by a French BASIC 1.0 that the upstream MorphOS release does not carry.", "path": "private/firmware/OS464_FR.rom", "region": ["france"], "required": false, "sha1": "c68d84f37ab9defbb19200598c24948c97c9a644", "source_ref": "AceDL 2026-06-03: Machine configuration entry OS464_FR.rom", "system": "amstrad-cpc", "validation": ["size"]}, {"md5": "5a384a2310f472c7857888371c00ed66", "min_size": 32768, "name": "OS664_UK.rom", "note": "CPC 664 English. Firmware v2 followed by BASIC 1.10.", "path": "private/firmware/OS664_UK.rom", "region": ["uk"], "required": false, "sha1": "073a7665527b5bd8a148747a3947dbd3328682c8", "source_ref": "AceDL 2026-06-03: Machine configuration entry OS664_UK.rom", "system": "amstrad-cpc", "validation": ["size"]}, {"md5": "85accc17e98c79dbbdde826cbfaf4692", "min_size": 32768, "name": "XMEM_FW_3_15_UK.rom", "note": "X-MEM firmware 3.15 English, followed by BASIC 1.20.", "path": "private/firmware/XMEM_FW_3_15_UK.rom", "region": ["uk"], "required": false, "sha1": "c7d7e5116665e4f21ae3b9bcdca2ce3685f00293", "source_ref": "AceDL 2026-06-03: Machine configuration entry XMEM_FW_3_15_UK.rom", "system": "amstrad-cpc", "validation": ["size"]}, {"md5": "046fa182f7574bde3ab97ee873f6e736", "min_size": 32768, "name": "XMEM_FW_3_15_FR.rom", "note": "X-MEM firmware 3.15 French, followed by BASIC 1.23.", "path": "private/firmware/XMEM_FW_3_15_FR.rom", "region": ["france"], "required": false, "sha1": "faa49a3aeb1d7e972437f6b77515455d14e2d680", "source_ref": "AceDL 2026-06-03: Machine configuration entry XMEM_FW_3_15_FR.rom", "system": "amstrad-cpc", "validation": ["size"]}, {"md5": "25629dfe870d097469c217b95fdc1c95", "name": "Amsdos.rom", "note": "AMSDOS disc ROM. Absence prints \"Error loading AMSDOS ROM\" then \"Error initializing ROMs!\" and stops startup. Length is not checked.", "path": "private/amsdos/Amsdos.rom", "required": true, "sha1": "39102c8e9cb55fcc0b9b62098780ed4a3cb6a4bb", "size": 16384, "source_ref": "AceDL 2026-06-03: private/amsdos/Amsdos.rom, opened at every startup", "system": "amstrad-cpc"}, {"md5": "39b565e648172980aa552293e667070f", "name": "Amstrad_v4.cpr", "note": "464plus/6128plus/GX-4000 system cartridge, English, firmware version 4.", "path": "private/firmware/Amstrad_v4.cpr", "required": false, "sha1": "405e341437fab8db477606238af0c20eca2e39ee", "size": 131156, "source_ref": "AceDL 2026-06-03: private/firmware, cartridge requester root, CPR loader", "system": "amstrad-cpc"}, {"md5": "e7159fd674022ba05f9b347ae3cdafc6", "name": "Amstrad_f4.cpr", "note": "464plus/6128plus/GX-4000 system cartridge, French, firmware version 4.", "path": "private/firmware/Amstrad_f4.cpr", "region": ["france"], "required": false, "sha1": "e5aa80c501cfb435e2cba35ad92e427240394164", "size": 131156, "source_ref": "AceDL 2026-06-03: private/firmware, cartridge requester root, CPR loader", "system": "amstrad-cpc"}, {"md5": "6eeed3fdd4abc98a2a932da810410128", "name": "Amstrad_s4.cpr", "note": "464plus/6128plus/GX-4000 system cartridge, Spanish, firmware version 4.", "path": "private/firmware/Amstrad_s4.cpr", "region": ["spain"], "required": false, "sha1": "05fb14df24b2b504a3ae463a086f02f0adcc07b9", "size": 131156, "source_ref": "AceDL 2026-06-03: private/firmware, cartridge requester root, CPR loader", "system": "amstrad-cpc"}, {"md5": "4c9f014e91d407cc6509fad0095ab909", "name": "multiface2.rom", "note": "Romantic Robot Multiface Two ROM. The plugin loads without it.", "path": "private/multiface2/multiface2.rom", "required": false, "sha1": "1431ec628d38f000715545dd2186b684c5fe5a6f", "size": 8192, "source_ref": "AceDL 2026-06-03: private/multiface2/multiface2.rom, read when PLUGIN_MULTIFACE2=1", "system": "amstrad-cpc"}, {"md5": "9a293eaaebca601f671070ad56cb81b6", "name": "hackit400uk.rom", "note": "HackIt 4.00 by Siren Software, English, UK flavour of the Hacker plugin.", "path": "private/hacker/hackit400uk.rom", "region": ["uk"], "required": false, "sha1": "56306e7234bcffd14b4f977d42d237c4ad9c12d5", "size": 16384, "source_ref": "AceDL 2026-06-03: private/hacker/hackit400uk.rom, read when PLUGIN_HACKER=1", "system": "amstrad-cpc"}, {"md5": "dfdd9924295f491d54f30569874287f8", "name": "hacker481fr.rom", "note": "Le Hackeur 4.81, the French edition of the same Siren Software ROM, French flavour of the Hacker plugin.", "path": "private/hacker/hacker481fr.rom", "region": ["france"], "required": false, "sha1": "0c15d6753cf0ae2a1737b6e857e8e82ee135a697", "size": 16384, "source_ref": "AceDL 2026-06-03: private/hacker/hacker481fr.rom, read when PLUGIN_HACKER=1 and PLUGIN_HACKERFR=1", "system": "amstrad-cpc"}, {"md5": "8740932cda05e518a9955f1d08d6786f", "name": "ym2608_adpcm_rom.bin", "note": "YM2608 internal ADPCM rhythm ROM used by the Play2CPC cartridge sound. Missing file prints \"Warning: ym2608_adpcm_rom.bin not found!\" and the plugin keeps running. Shipped in the Linux and Raspberry Pi packages, absent from the Windows package.", "path": "private/sounds/ym2608_adpcm_rom.bin", "required": false, "sha1": "50b6c3e288eaa12ad275d4f323267bb72b0445df", "size": 8192, "source_ref": "AceDL 2026-06-03: private/sounds/ym2608_adpcm_rom.bin, read when PLUGIN_PLAY2CPC=1", "system": "amstrad-cpc"}], "mode": "standalone", "notes": "SDL port of ACE, the Amstrad CPC/Plus emulator written by Philippe Rimauro\n(OffseT) for MorphOS. ACE-DL is built by Edouard Bergé (Roudoudou) from the\nMorphOS sources and released for Windows, macOS, Linux and Raspberry Pi;\na third port targets Haiku. All three are closed source, the original author\nkeeps the sources private, so the entries below were established on the\nofficial 2026-06-03 Linux x86-64 build: path constants read from the binary,\nfile opens traced with strace, and required/optional decided by removing each\nfile and observing the result.\n\nMachines are CPC 464, 664 and 6128 plus the Plus range, which boots from a\ncartridge and covers the GX-4000. An operating system is one 32 KB file\nholding the 16 KB firmware ROM followed by the 16 KB BASIC ROM; the AMSDOS\ndisc ROM is a separate 16 KB file mapped in slot 7. The upstream MorphOS\nrelease keeps the three ROMs apart under System/ and composes them at\nstartup, ACE-DL ships them pre-joined under private/firmware/ with one file\nper machine and language. The pairs are exact:\n\n  OS464_UK.rom        Firmware v1 + BASIC 1.00\n  OS464_FR.rom        Firmware f1 + French BASIC 1.0 (md5 824f5213…)\n  OS664_UK.rom        Firmware v2 + BASIC 1.10\n  OS6128_UK.rom       Firmware v3 + BASIC 1.20\n  OS6128_FR.rom       Firmware f3 + BASIC 1.23\n  OS6128_S.rom        Firmware s3 + BASIC 1.21\n  OS6128_DK.rom       Firmware d3 + BASIC 1.20\n  XMEM_FW_3_15_UK.rom XMEM 3.15 firmware + BASIC 1.20\n  XMEM_FW_3_15_FR.rom XMEM 3.15 firmware + BASIC 1.23\n\nFirmware versions run 1 to 4 for the 464, 664, 6128 and Plus, and the letter\nis the country: v English, f French, s Spanish, d Danish. The BASIC revision\nattached to a version 3 firmware follows the country, 1.23 for France, 1.21\nfor Spain, 1.20 elsewhere, which is what the pairs above show. The XMEM files\nreplace the firmware half with the X-MEM expansion firmware and keep the\nstock BASIC.\n\nThe nine operating systems are the entries of the Machine configuration\nselector. OS6128_UK.rom is the built-in default and is opened at every\nstartup even when the config OS= key names another file. Command line -fuk,\n-ffr, -fsp and -fdk switch to the UK, French, Spanish and Danish 6128 files.\nA machine needs at least 32 KB in the file: truncated to 16384 bytes the\nemulator prints \"Error initializing ROMs!\" and dies, padded to 40000 bytes it\nboots, so the check is a lower bound rather than an exact length. The AMSDOS\nROM is checked for presence only, an 8 KB stub boots.\n\nPlus machines boot from a cartridge and no cartridge filename is compiled\ninto the binary, the three Amstrad_?4.cpr files are the system cartridges the\nauthor ships in the same directory, which is also the default browse root of\nthe cartridge requester. The loader walks the RIFF chunk list and reports\n\"Cartridge Load Error (Header)\" on a bad header and \"truncated file!\" when a\ncb00..cb07 bank is short, each bank being 16 KB for 128 KB total.\n\nPlugins pull three more ROMs. Multiface II reads multiface2.rom, the Hacker\nplugin reads hackit400uk.rom in its UK flavour and hacker481fr.rom in its\nFrench one, and Play2CPC reads the YM2608 ADPCM rhythm ROM, warning with\n\"ym2608_adpcm_rom.bin not found!\" and running without it. The Windows package\nomits that ROM, the Linux and Raspberry Pi packages carry it.\n\nExpansion ROMs are user business: config keys ROM0 to ROM255 hold whatever\nthe user picks through the requester rooted at media/rom/, and the release\nseeds that directory with third-party ROMs (ParaDOS, Protext, Maxam, Utopia,\nuniDOS, SymbOS, FutureOS, Orgams, Discology and others). Disc, tape,\nsnapshot, Dandanator and X-MASS images are user content the same way, and the\nNova plugin regenerates its 32 KB private/Nova/nova.nvram when the file is\nabsent. Outside emulation the binary loads its own payload: seventeen QOI\nimages, fatal with \"Error loading QOI file please reinstall\"; seventeen WAV\ndrive and monitor samples, each merely reported as not found; and the\nprivate/messages catalog holding the French, English and Spanish\ntranslations. private/sounds/hitachi_long_seek.wav ships with every package\nbut appears in no path constant and is never opened.\n", "profiled_date": "2026-08-08", "source": "https://roudoudou.com/ACE-DL/", "systems": ["amstrad-cpc"], "type": "standalone", "upstream": "http://ace.cpcscene.net"}


id: advanced_tests
name: advanced_tests
type: libretro
classification: pure_libretro
source: https://github.com/libretro/libretro-samples
upstream: https://github.com/libretro/libretro-samples
source_commit: bce193bc1b8c9a3da43b2ead0158a69e28b37ed8
profile_json:
{"core_classification": "pure_libretro", "core_version": "v1", "cores": ["advanced_tests"], "display_name": "Test Core - Advanced Test", "emulator": "advanced_tests", "files": [], "notes": "Test core for frontend developers. Exercises video output, audio sync,\ninput polling, and serialization. All data (font, CRC32 table) is embedded\nin the binary. No external files needed.\nsource_ref: tests/test_advanced/libretro-test.c\n", "profiled_date": "2026-03-22", "source": "https://github.com/libretro/libretro-samples", "source_commit": "bce193bc1b8c9a3da43b2ead0158a69e28b37ed8", "systems": [], "type": "libretro", "upstream": "https://github.com/libretro/libretro-samples"}


id: advancemame
name: AdvanceMAME
type: standalone
classification: enhanced_fork
source: https://github.com/amadvance/advancemame
upstream: https://www.mamedev.org
source_commit: 0f6a7677ad42b4dfdfa36b046f74bef5238d5837
profile_json:
{"core_classification": "enhanced_fork", "core_version": "5.0", "cores": ["advancemame", "advmame"], "display_name": "Arcade (AdvanceMAME)", "emulator": "AdvanceMAME", "files": [{"category": "game_data", "name": "hiscore.dat", "note": "High score definitions, selected by misc_hiscorefile (advance/osd/glue.c:800,3293). Absent, hiscore_open matches no entry and no high score is restored or saved.", "required": false, "source_ref": "src/hiscore.c:28,313"}, {"category": "game_data", "name": "cheat.dat", "note": "Cheat definitions, selected by misc_cheatfile (advance/osd/glue.c:799,3291) and read only when misc_cheat is on, which it is not by default. Absent, the cheat menu reads \"cheat database not found\" (src/cheat.c:2536).", "required": false, "source_ref": "src/cheat.c:8682,8751"}, {"category": "game_data", "name": "event.dat", "note": "Event and safequit definitions, selected by misc_eventfile and read straight from $home then $data rather than through the file type table. Absent, the exit menu always prompts instead of checking coin and play state.", "required": false, "source_ref": "advance/osd/safequit.c:165-180,260"}, {"category": "bios_zip", "contents": [{"crc32": "9036d879", "description": "Europe MVS (Ver. 2)", "name": "sp-s2.sp1", "sha1": "4f5ed7105b7128794654ce82b51723e16e389543", "size": 131072}, {"crc32": "c7f2fa45", "description": "Europe MVS (Ver. 1)", "name": "sp-s.sp1", "sha1": "09576ff20b4d6b365e78e6a5698ea450262697cd", "size": 131072}, {"crc32": "e72943de", "description": "US MVS (Ver. 2)", "name": "usa_2slt.bin", "sha1": "5c6bba07d2ec8ac95776aa3511109f5e1e2e92eb", "size": 131072}, {"crc32": "2723a5b5", "description": "US MVS (Ver. 1)", "name": "sp-e.sp1", "sha1": "5dbff7531cf04886cde3ef022fb5ca687573dcb8", "size": 131072}, {"crc32": "91b64be3", "description": "Asia MVS (Ver. 3)", "name": "asia-s3.rom", "sha1": "720a3e20d26818632aedf2c2fd16c54f213543e1", "size": 131072}, {"crc32": "f0e8f27d", "description": "Japan MVS (Ver. 3)", "name": "vs-bios.rom", "sha1": "ecf01eda815909f1facec62abf3594eaa8d11075", "size": 131072}, {"crc32": "acede59c", "description": "Japan MVS (Ver. 2)", "name": "sp-j2.rom", "sha1": "b6f97acd282fd7e94d9426078a90f059b5e9dd91", "size": 131072}, {"crc32": "9fb0abe4", "description": "Japan MVS (Ver. 1)", "name": "sp1.jipan.1024", "sha1": "18a987ce2229df79a8cf6a84f968f0e42ce4e59d", "size": 131072}, {"crc32": "97cf998b", "description": "Z80 sound BIOS", "name": "sm1.sm1", "sha1": "977387a7c76ef9b21d0b01fa69830e949a9a9626", "size": 131072}, {"crc32": "e09e253c", "description": "Y zoom control", "name": "000-lo.lo", "sha1": "2b1c719531dac9bb503f22644e6e4236b91e7cfc", "size": 65536}, {"crc32": "354029fc", "description": "fix layer tiles", "name": "sfix.sfx", "sha1": "4ae4bf23b4c2acff875775d4cbff5583893ce2a1", "size": 131072}], "name": "neogeo.zip", "note": "Eight MVS BIOS variants selected with misc_bios (euro, euro-s1, us, us-e, asia, japan, japan-s2, japan-s1), euro by default. sm1.sm1, 000-lo.lo and sfix.sfx are loaded whichever variant is selected.", "required": true, "source_ref": "src/drivers/neogeo.c:7939-7953,8553", "system": "snk-neogeo-mvs", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "e42b166e", "description": "68000 BIOS", "name": "pgm_p01s.rom", "sha1": "2a9df9ec746b14b74fae48b1a438da14973702ea", "size": 131072}, {"crc32": "1a7123a0", "description": "text layer tiles", "name": "pgm_t01s.rom", "sha1": "cc567f577bfbf45427b54d6695b11b74f2578af3", "size": 2097152}, {"crc32": "45ae7159", "description": "samples", "name": "pgm_m01s.rom", "sha1": "d3ed3ff3464557fd0df6b069b2e431528b0ebfa8", "size": 2097152}], "name": "pgm.zip", "required": true, "source_ref": "src/drivers/pgm.c:3708-3719,5487", "system": "igs-pgm", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "d0e0889d", "description": "Japan (bios epr19730)", "name": "epr19730.ic8", "sha1": "fae53107c894e0c41c49e191dbe706c9cd6e50bd", "size": 524288}, {"crc32": "2672f9d8", "description": "Japan (bios mp17951a)", "name": "mp17951a.s", "sha1": "63cf4a6432f6c87952f9cf3ab0f977aed2367303", "size": 524288}, {"crc32": "d1be2adf", "description": "USA (bios mp17952a)", "name": "mp17952a.s", "sha1": "eaf1c3e5d602e1139d2090a78d7e19f04f916794", "size": 524288}, {"crc32": "59ed40f4", "description": "Japan (bios 20091)", "name": "20091.bin", "sha1": "eff0f54c70bce05ff3a289bf30b1027e1c8cd117", "size": 524288}, {"crc32": "a4c47570", "description": "Taiwan (bios mp17953a)", "name": "mp17953a.ic8", "sha1": "9efc73717ec8a13417e65c54344ded9fc25bf5ef", "size": 524288}, {"crc32": "f7722da3", "description": "Europe (bios mp17954a)", "name": "mp17954a.s", "sha1": "af79cff317e5b57d49e463af16a9f616ed1eee08", "size": 524288}, {"crc32": "3dfeda92", "description": "Unknown (debug?)", "name": "stv110.bin", "sha1": "8eb33192a57df5f3a1dfb57263054867c6b2db6d", "size": 524288}, {"crc32": "728dbca3", "description": "Development (bios 1.061)", "name": "stv1061.bin", "sha1": "0ed2030177f0aa8285645c395ae9ad9f568ab1d6", "size": 524288}, {"crc32": "5c5aa63d", "description": "Japan (bios epr17740)", "name": "epr-17740.bin", "sha1": "06860d96923b81afbc21e0ad32ee19487d8ff6e7", "size": 524288}], "name": "stvbios.zip", "note": "Nine BIOS variants selected with misc_bios (japan, japana, us, japanb, taiwan, europe, unknown, dev1061, japanc), japan by default.", "required": true, "source_ref": "src/drivers/stv.c:3092-3094,4026", "system": "sega-stv", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "aa8dc2d8", "description": "Mega Play BIOS (Ver. 1)", "name": "ep15294.ic2", "sha1": "96771ad7b79dc9c83a1594243250d65052d23176", "size": 131072}, {"crc32": "f97c68aa", "description": "Mega Play BIOS (Ver. 2)", "name": "epr-a15294.ic2", "sha1": "bcabc879950bca1ced11c550a484e697ec5706b2", "size": 131072}], "name": "megaplay.zip", "note": "Two BIOS variants selected with misc_bios (ver1, ver2), ver1 by default.", "required": true, "source_ref": "src/drivers/megaplay.c:735-738,933", "system": "sega-megaplay", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "f71e9526", "name": "epr12664.20", "sha1": "1c7887541d02c41426992d17f8e3db9e03975953", "size": 32768}], "name": "megatech.zip", "required": true, "source_ref": "src/drivers/megatech.c:454-457,866", "system": "sega-megatech", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "23d929b7", "description": "main CPU BIOS (bios0)", "name": "rms8.cpu", "sha1": "063f83020ba3d6f43ab8471f95ca919767b93aa4", "size": 4096}, {"crc32": "b67a91d9", "description": "main CPU BIOS (bios1)", "name": "dsp3.p0b", "sha1": "681c040be0f0ed1ba0a50161b36d0ad8e1c8c5cb", "size": 2048}, {"crc32": "3bfff5f3", "description": "main CPU BIOS (bios1)", "name": "dsp3.p1b", "sha1": "4e9437cb1b76d64da6b37f01bd6e879fb399e8ce", "size": 2048}, {"crc32": "b66b2c2a", "description": "audio CPU", "name": "rms8.snd", "sha1": "0097f38beb4872e735e560148052e258a26b08fd", "size": 2048}, {"crc32": "a6df18fd", "description": "MCU", "name": "cass8041.bin", "sha1": "1f9ea47e372d31767c936c15852b43df2b0ee8ff", "size": 1024}, {"crc32": "238fdb40", "description": "PROM", "name": "dsp8.3m", "sha1": "b88e8fabb82092105c3828154608ea067acbf2e5", "size": 32}, {"crc32": "3b5836b4", "description": "PROM", "name": "dsp8.10d", "sha1": "b630bb277d9ec09d46ef26b944014dd6165b35d8", "size": 32}, {"crc32": "51eef657", "description": "DRAM banking and timing PROM", "name": "rms8.j3", "sha1": "eaedce5caf55624ad6ae706aedf82c5717c60f1f", "size": 32}], "name": "decocass.zip", "note": "Two main CPU BIOS variants selected with misc_bios (bios0, bios1), bios0 by default. The audio CPU, MCU and PROMs are loaded whichever variant is selected.", "required": true, "source_ref": "src/drivers/decocass.c:727-730,1213", "system": "deco-cassette", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "d52fa07a", "description": "Dual Monitor Version", "name": "pch1-c.8t", "sha1": "55cabf52ae10c050c2229081a80b9fe5454ab8c5", "size": 16384}, {"crc32": "503ee8b1", "description": "Single Monitor Version", "name": "pck1-c.8t", "sha1": "3bd20bc71cac742d1b8c1430a6426d0a19db7ad0", "size": 16384}, {"crc32": "30c15e23", "description": "BIOS tiles", "name": "pch1-c.8p", "sha1": "69166afdb2fe827c7f1919cdf4197caccbd961fa", "size": 8192}, {"crc32": "c1232eee", "description": "BIOS tiles", "name": "pch1-c.8m", "sha1": "beaf9fa2d091a3c7f70c51e966d885b1f9f0935f", "size": 8192}, {"crc32": "9acffb30", "description": "BIOS tiles", "name": "pch1-c.8k", "sha1": "b814f10ef23f2ca445fabafcbf7f25e2d454ba8c", "size": 8192}, {"crc32": "e5414ca3", "description": "PROM", "name": "pch1-c.6f", "sha1": "d2878411cda84ffe0afb2e538a67457f51bebffb", "size": 256}, {"crc32": "a2625c6e", "description": "PROM", "name": "pch1-c.6e", "sha1": "a448b47c9289902e26a3d3c4c7d5a7968c385e81", "size": 256}, {"crc32": "1213ebd4", "description": "PROM", "name": "pch1-c.6d", "sha1": "0ad386fc3eab5e53c0288ad1de33639a9e461b7c", "size": 256}], "name": "playch10.zip", "note": "Two BIOS variants selected with misc_bios (dual, single), dual by default. Tiles and PROMs are loaded whichever variant is selected.", "required": true, "source_ref": "src/drivers/playch10.c:1648-1651,1659", "system": "nintendo-playch10", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "44bb3a40", "description": "SPC700 IPL ROM", "name": "spc700.rom", "sha1": "97e352553e94242ae823547cd853eecda55c20f0", "size": 64}, {"crc32": "4b02d66d", "description": "DSP1 data ROM", "name": "dsp1data.bin", "sha1": "1534f4403d2a0f68ba6e35186fe7595d33de34b1", "size": 2048}, {"crc32": "a8e202b3", "description": "BIOS CPU", "name": "nss-c.dat", "sha1": "b7afcfe4f5cf15df53452dc04be81929ced1efb2", "size": 32768}, {"crc32": "e06cb58f", "description": "BIOS CPU", "name": "nss-ic14.02", "sha1": "62f507e91a2797919a78d627af53f029c7d81477", "size": 32768}], "name": "nss.zip", "required": true, "source_ref": "src/drivers/nss.c:524-526,657", "system": "nintendo-nss", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "7e2b836c", "description": "Japan", "name": "sknsj1.u10", "sha1": "92c5a7a2472496028bff0e5980d41dd294f42144", "size": 524288}, {"crc32": "e2b9d7d1", "description": "Europe", "name": "sknse1.u10", "sha1": "b530a3bb9dedc8cfafcba9f1f10277590be04a15", "size": 524288}, {"crc32": "745e5212", "description": "Asia", "name": "sknsa1.u10", "sha1": "caba649ab2d83b2d7e007eecee0fc582c019df38", "size": 524288}, {"crc32": "384d21ec", "description": "USA", "name": "sknsu1.u10", "sha1": "a27e8a18099d9cea64fa32db28d01101c2a78815", "size": 524288}, {"crc32": "ff1c9f79", "description": "Korea", "name": "sknsk1.u10", "sha1": "a51e598d43e76d37da69b1f094c111273bdfc94a", "size": 524288}], "name": "skns.zip", "note": "Five region BIOS ROMs, all loaded into the same region.", "required": true, "source_ref": "src/drivers/suprnova.c:1269-1276,1744", "system": "super-kaneko-nova", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "d5fa95f5", "name": "300a01.34k", "sha1": "c483aa98ff8ef40cdac359c19ad23fea5ecc1906", "size": 131072}], "name": "konamigx.zip", "required": true, "source_ref": "src/drivers/konamigx.c:2138-2141,3485", "system": "konami-gx", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "ad498d2d", "name": "999a01.7e", "sha1": "02a82a2fe1fba0404517c3602324bfa64e23e478", "size": 524288}], "name": "konamigv.zip", "required": true, "source_ref": "src/drivers/konamigv.c:972-976,1058", "system": "konami-gv", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "f055a624", "description": "sound CPU", "name": "5b.bin", "sha1": "5dfe89d7271092e665cdd5cd59d15a2b70f92f43", "size": 2048}, {"crc32": "c205bca6", "description": "PROM", "name": "82s185.10h", "sha1": "ec9bd220e75f7b067ede6139763ef8aca0fb7a29", "size": 2048}, {"crc32": "b5221cec", "description": "PROM", "name": "82s123.10k", "sha1": "71d9830b33b1a8140b0fe1a2ba8024ba8e6e48e0", "size": 32}], "name": "cvs.zip", "required": true, "source_ref": "src/drivers/cvs.c:420-430,1401", "system": "century-cvs", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "50033af6", "name": "coh-1000c.353", "sha1": "486d92ff6c7f1e54f8e0ef41cd9116eca0e10e1a", "size": 524288}], "name": "cpzn1.zip", "required": true, "source_ref": "src/drivers/zn.c:3127-3129,4513", "system": "capcom-zn1", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "e860ea8b", "name": "coh-3002c.353", "sha1": "66e7e1d4e426466b8f48a2ba055a91b475569504", "size": 524288}], "name": "cpzn2.zip", "required": true, "source_ref": "src/drivers/zn.c:3362-3364,4531", "system": "capcom-zn2", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "69ffbcb4", "name": "coh-1002m.353", "sha1": "03eb2febfab3fcde716defff291babd9392de965", "size": 524288}], "name": "tps.zip", "required": true, "source_ref": "src/drivers/zn.c:3805-3807,4578", "system": "tecmo-tps", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "e3f23b6e", "name": "coh-1000t.353", "sha1": "e18907cf8c6ba54d96edba0a9a00487a90219e0d", "size": 524288}], "name": "taitofx1.zip", "required": true, "source_ref": "src/drivers/zn.c:4040-4042,4603", "system": "taito-fx1", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "910f3a8b", "name": "coh-1002e.353", "sha1": "cd68532967a25f476a6d73473ec6b6f4df2e1689", "size": 524288}], "name": "psarc95.zip", "required": true, "source_ref": "src/drivers/zn.c:4312-4314,4630", "system": "eighting-zn1", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "6721146b", "name": "coh-1001l.353", "sha1": "9511d24bfe25eb180fb2db0835b131cb4a12730e", "size": 524288}], "name": "atluspsx.zip", "required": true, "source_ref": "src/drivers/zn.c:4483-4485,4642", "system": "atlus-zn1", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "45e8a4b4", "name": "coh-1000w.353", "sha1": "815488d8563c85f97fbc3384ff21f08e4c88b7b7", "size": 524288}], "name": "atpsx.zip", "required": true, "source_ref": "src/drivers/zn.c:4398-4400,4558", "system": "atari-zn1", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "8d8d0764", "name": "coh-1000a.353", "sha1": "7ee83d317190bb1cef2f8f01c81eaaae47150ebb", "size": 524288}], "name": "acpsx.zip", "required": true, "source_ref": "src/drivers/zn.c:4421-4423,4567", "system": "acclaim-zn1", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "a30dd3de", "description": "R4300 BIOS", "name": "brom1.bin", "sha1": "3e2fd0a56214e6f5dcb93687e409af13d065ea30", "size": 524288}, {"crc32": "6b933005", "description": "unused BIOS ROM", "name": "from1.bin", "sha1": "e992747f46c48b66e5509fe0adf19c91250b00c7", "size": 524288}, {"crc32": "4a6832dc", "description": "unused BIOS ROM", "name": "rom1.bin", "sha1": "ae504f7733c2f40450157cd1d3b85bc83fac8569", "size": 130866}], "name": "hng64.zip", "required": true, "source_ref": "src/drivers/hng64.c:1425-1431,1718", "system": "hyper-neogeo64", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "a6ce1636", "description": "Amiga Kickstart 1.2", "name": "kick12.rom", "sha1": "11f9e62cf299f72184835b7b2a70a16333fc0d88", "size": 262144}, {"crc32": "2d8e1a06", "description": "OnePlay 3.00", "name": "scpav3_0.1h", "sha1": "be187f34624aeda110017c4a09242f7c00ef56a4", "size": 65536}, {"crc32": "e4f38fab", "description": "OnePlay 3.00", "name": "scpav3_0.1l", "sha1": "01c2eb5965070893be6734eb1372576727716476", "size": 65536}, {"crc32": "be9dbdc5", "description": "OnePlay 2.11", "name": "scpa211h", "sha1": "1554da09f051ec53937d65d4e451de51bc0c69e5", "size": 65536}, {"crc32": "95b84504", "description": "OnePlay 2.11", "name": "scpa211l", "sha1": "99999fc40909001b37aa1b543918118becc81800", "size": 65536}, {"crc32": "67d44523", "description": "TenPlay 2.11", "name": "gcp-1-hi", "sha1": "f3e3699132cdf741518accb890c04d17374c4049", "size": 65536}, {"crc32": "65d9b9cf", "description": "TenPlay 2.11", "name": "gcp-1-lo", "sha1": "5c60a0dd4a0a7d9b938ce6b0446a6ad2ecaf07ec", "size": 65536}, {"crc32": "1d7594ae", "description": "TenPlay 2.11", "name": "gcp-2-hi", "sha1": "6173bbfecf18d7d9ee6bc2b6753ca9d42fabd781", "size": 65536}, {"crc32": "e776198d", "description": "TenPlay 2.11", "name": "gcp-2-lo", "sha1": "694ca4cc99ed84a95d18201c94a3332f8599654f", "size": 65536}, {"crc32": "3e7364be", "description": "TenPlay 2.11", "name": "gcp-3-hi", "sha1": "26e10d0ddc031a891138db36ce4f1732722e6847", "size": 65536}, {"crc32": "87229e0d", "description": "TenPlay 2.11", "name": "gcp-3-lo", "sha1": "0b18544801e529f954b9e03226bd2e5475f36351", "size": 65536}], "name": "ar_bios.zip", "note": "Three BIOS variants selected with misc_bios (onep300, onep211, tenp211), onep300 by default. kick12.rom is loaded whichever variant is selected.", "required": true, "source_ref": "src/drivers/arcadia.c:352-354,717", "system": "arcadia-systems", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "1f9cd270", "description": "main CPU ROM", "name": "atarixl.rom", "sha1": "ae4f523ba08b6fd59f3cae515a2b2410bbd98f55", "size": 16384}, {"crc32": "fe9cf53c", "description": "microcontroller", "name": "maxaflex.uc", "sha1": "4b02bc2f0c8a1eab799814fac82d5812c0160206", "size": 2048}, {"crc32": "edf5c950", "description": "PROM", "name": "maxprom.prm", "sha1": "9ad046ea41a61585dd8d2f2d4167a3cc39d2928f", "size": 512}], "name": "maxaflex.zip", "required": true, "source_ref": "src/drivers/maxaflex.c:518-527,583", "system": "exidy-maxaflex", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "beff39a9", "name": "mx27l1000.u14", "sha1": "b6f6dda58d9c82273f9422c1bd623411e58982cb", "size": 131072}], "name": "crysbios.zip", "required": true, "source_ref": "src/drivers/crystal.c:854-857,923", "system": "brezzasoft-crystal", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "0b5aed5e", "description": "BIOS low byte", "name": "macsos_l.u43", "sha1": "042e705017ee34656e2c6af45825bb2dd3447747", "size": 524288}, {"crc32": "538b68e4", "description": "BIOS high byte", "name": "macsos_h.u44", "sha1": "a0534147791e94e726f49451d0e95671ae0a87d5", "size": 524288}], "name": "macsbios.zip", "required": true, "source_ref": "src/drivers/macs.c:394-402,612", "system": "imax-macs", "validation": ["size", "crc32", "sha1"]}, {"category": "bios_zip", "contents": [{"crc32": "e996bc18", "name": "vid.p1", "sha1": "49798165640627eb31024319353da04380787b10", "size": 65536}], "name": "bctvidbs.zip", "required": true, "source_ref": "src/drivers/mpu4.c:2014-2017,2175", "validation": ["size", "crc32", "sha1"]}], "mame_version": "0.106", "mode": "standalone", "notes": "MAME 0.106 core (src/version.c:12) carrying its own video layer and driver\nbackports from later MAME releases. Twenty-six BIOS root sets, each a\nNOT_A_DRIVER entry (src/driver.h:180) registered in src/mamedriv.c.\nsrc/drivers/macs.c:613 declares a twenty-seventh, macs2bios, that\nsrc/mamedriv.c never registers, so no build reaches it and the five MACS\ngames all parent to macsbios. The set is unchanged between release 5.0 and\nthe profiled commit.\n\nROM archives are searched under dir_rom, defaulting to $home/rom:$data/rom\non Linux and Mac OS X and to rom on DOS and Windows, in the forms\nDIR/GAME/ROM.EXT, DIR/GAME.zip/ROM.EXT and DIR/GAME/ROM.zip/ROM\n(advance/osd/fileio.c:74, doc/advmame.d:680,699-701). $home is $ADVANCE, or\n$HOME/.advance when that variable is unset (doc/advmame.d:503-509). Each ROM\nis looked up along the parent chain (src/romload.c:481-483), so a child game\nreads its BIOS from the root set's own archive, which has to sit beside the\ngame archive. Inside an archive a member is matched by name, then by its\nprintable CRC32 (src/fileio.c:1213-1223).\n\nNo BIOS ROM carries ROM_OPTIONAL or a no-good-dump marker, so a missing one\ncounts as an error rather than a warning and aborts with \"required files are\nmissing, the game cannot be run\" (src/romload.c:248-268,385-388). Loaded\nROMs are checked for exact length and against the declared CRC32 and SHA1,\nboth mismatches being warnings (src/romload.c:327-363).\n\nWhere a system offers several BIOS revisions, SYSTEM_BIOS_ADD names them and\nmisc_bios selects one, entry 0 being the default (doc/advmame.d:2086-2094).\nOnly the selected revision is read; the others share the archive as\nalternatives. Neo Geo lists MVS revisions alone, the AES, Universe and debug\nentries being commented out (src/drivers/neogeo.c:1420-1423,1439-1442).\n\nThe support files sit directly in $home or $data\n(advance/osd/fileio.c:81,88-90, advance/linux/file.c:249-256). A language\nfile is read too, under whatever name misc_languagefile carries\n(advance/osd/glue.c:715-716); the project ships none, English being built\ninto the binary (src/ui_text.c:263-265). Samples and\nartwork are per-game archives under dir_sample and dir_artwork, ZIP only,\nnamed after the driver: WAV members for samples\n(src/sound/samples.c:198-200), a <driver>.art layout and its PNGs for\nartwork (src/artwork.c:2119,2224).\n\nmisc_historyfile and misc_infofile were retired and are discarded when found\nin a configuration file (advance/osd/emu.c:517-518), leaving history.dat and\nmameinfo.dat unread. options.controller is pinned to zero\n(advance/osd/glue.c:708), so no controller file is read either. blitmax.dat,\nstartup.dat and help.dat are compiled into the binary\n(advance/osd/video.c:1787,1795, advance/osd/ui.c:1575).\n", "profiled_date": "2026-08-08", "source": "https://github.com/amadvance/advancemame", "source_commit": "0f6a7677ad42b4dfdfa36b046f74bef5238d5837", "systems": ["snk-neogeo-mvs", "igs-pgm", "sega-stv", "sega-megaplay", "sega-megatech", "deco-cassette", "nintendo-playch10", "nintendo-nss", "super-kaneko-nova", "konami-gx", "konami-gv", "century-cvs", "capcom-zn1", "capcom-zn2", "tecmo-tps", "taito-fx1", "eighting-zn1", "atlus-zn1", "atari-zn1", "acclaim-zn1", "hyper-neogeo64", "arcadia-systems", "exidy-maxaflex", "brezzasoft-crystal", "imax-macs"], "type": "standalone", "upstream": "https://www.mamedev.org"}


id: aethersx2
name: AetherSX2
type: standalone
classification: community_fork
source: https://github.com/Trixarian/AetherSX2
upstream: https://github.com/PCSX2/pcsx2
source_commit: 1d1f795dfc70e38da67724c7298779260f513889
profile_json:
{"bios_directory": "bios/", "bios_mode": "agnostic", "core_classification": "community_fork", "core_version": "1.5-3939", "cores": ["aethersx2", "aethersx2-sa"], "display_name": "Sony - PlayStation 2 (AetherSX2)", "emulator": "AetherSX2", "files": [{"description": "PS2 BIOS image", "max_size": 8388608, "min_size": 4194304, "name": "ps2-0230a-20080220.bin", "note": "Any image whose romdir holds RESET and ROMVER is accepted, whatever its name. The 4 to 8 MB range gates the folder scan; an image named in the configuration skips both that range and the romdir test.", "path": "bios/ps2-0230a-20080220.bin", "required": true, "source_ref": "aethersx2/pcsx2/ps2/BiosTools.cpp:27-28, aethersx2/pcsx2/ps2/BiosTools.cpp:235-260, aethersx2/pcsx2/ps2/BiosTools.cpp:272-316, aethersx2 v1.5-3606 usr/share/aethersx2 0xa45ffc", "validation": ["size"]}, {"description": "DVD player ROM", "max_size": 4194304, "name": "ps2-0230a-20080220.rom1", "note": "Tried as {bios}.rom1 then {biosbase}.rom1. Read at 0x2404000 of the EE memory block and truncated to 4 MB. Logged and skipped when absent.", "path": "bios/ps2-0230a-20080220.rom1", "required": false, "source_ref": "aethersx2/pcsx2/ps2/BiosTools.cpp:192-218, aethersx2 v1.5-3606 usr/share/aethersx2 0xa45b44, aethersx2 v1.5-3939 MacOS/AetherSX2 0x1006e7184"}, {"aliases": ["SCPH-90006_BIOS_VX_HK _230.ROM2"], "description": "Chinese ROM extension", "max_size": 524288, "name": "ps2-0230a-20080220.rom2", "note": "Same two-step naming as rom1. Read at 0x2804000 of the EE memory block and truncated to 512 KB. Only present on Chinese region consoles.", "path": "bios/ps2-0230a-20080220.rom2", "required": false, "source_ref": "aethersx2/pcsx2/ps2/BiosTools.cpp:192-218, aethersx2 v1.5-3606 usr/share/aethersx2 0xa45d50, aethersx2 v1.5-3939 MacOS/AetherSX2 0x1006e7338"}, {"description": "Console NVRAM", "hle_fallback": true, "name": "ps2-0230a-20080220.nvm", "note": "Read at the BIOS path with the extension replaced by nvm. Carries the console id, the iLink id, the language and the OSD configuration. A 1024 byte image is written when the file is missing or shorter, zeroed except for a fixed iLink id and the language defaults of the BIOS region.", "path": "bios/ps2-0230a-20080220.nvm", "required": false, "size": 1024, "source_ref": "aethersx2/pcsx2/CDVD/CDVD.cpp:158-197, aethersx2 v1.5-3606 usr/share/aethersx2 0x95d8e0"}, {"description": "Mechacon version", "hle_fallback": true, "name": "ps2-0230a-20080220.mec", "note": "Read at the BIOS path with the extension replaced by mec. Written as 03 06 02 00 when the file is missing or shorter than 4 bytes.", "path": "bios/ps2-0230a-20080220.mec", "required": false, "size": 4, "source_ref": "aethersx2/pcsx2/CDVD/CDVD.cpp:120-144, aethersx2 v1.5-3606 usr/share/aethersx2 0x95e7fc"}, {"description": "DEV9 EEPROM", "hle_fallback": true, "name": "eeprom.dat", "note": "Opened from the working directory when the network adapter starts and mapped over 64 bytes. A compiled-in image stands in when the file is missing or cannot be mapped.", "required": false, "size": 64, "source_ref": "aethersx2/pcsx2/DEV9/DEV9.cpp:146-161, aethersx2 v1.5-3606 usr/share/aethersx2 0x97ac90"}, {"description": "DEV9 SmartMedia flash image", "hle_fallback": true, "max_size": 8650752, "name": "flash.dat", "note": "Opened from the working directory at network adapter init and read as 1024 blocks of 16 pages of 512 bytes plus 16 ECC bytes. The card is filled with 0xFF when the file is absent, and a short read is logged.", "required": false, "source_ref": "aethersx2/pcsx2/DEV9/flash.cpp:76-104, aethersx2 v1.5-3606 usr/share/aethersx2 0x97ac40"}, {"bundled": true, "description": "Game database", "name": "GameIndex.yaml", "note": "Read from the resources folder, keyed by serial, and carrying the per-game fixes, patches and settings overrides. Parsed into gamedb.cache in the cache folder and reparsed whenever the modification time moves.", "path": "resources/GameIndex.yaml", "required": false, "source_ref": "aethersx2/pcsx2/GameDatabase.cpp:35-36, aethersx2/pcsx2/GameDatabase.cpp:348-352, aethersx2/pcsx2/GameDatabase.cpp:523-535"}, {"description": "Widescreen patch archive", "name": "cheats_ws.zip", "note": "Per-game pnach entries matched on the disc CRC, loaded when widescreen patches are enabled. The cheats_ws folder takes precedence and the archive is skipped when it holds a match. Shipped by the Linux and Android builds; the macOS build looks for it without carrying one.", "path": "resources/cheats_ws.zip", "required": false, "source_ref": "aethersx2/pcsx2/Patch.cpp:202-231, aethersx2 v1.5-3939 MacOS/AetherSX2"}, {"description": "No-interlacing patch archive", "name": "cheats_ni.zip", "note": "Same form as cheats_ws.zip, loaded when no-interlacing patches are enabled, with the cheats_ni folder taking precedence. Shipped by the Linux and Android builds; the macOS build looks for it without carrying one.", "path": "resources/cheats_ni.zip", "required": false, "source_ref": "aethersx2/pcsx2/Patch.cpp:202-231, aethersx2 v1.5-3939 MacOS/AetherSX2"}, {"bundled": true, "description": "SDL controller mapping database", "name": "game_controller_db.txt", "note": "Read from the resources folder and fed to SDL at input init. SDL falls back to its built-in mappings when the file cannot be read.", "path": "resources/game_controller_db.txt", "required": false, "source_ref": "aethersx2/pcsx2/PAD/Host/SDLJoystick.cpp:46, aethersx2 v1.5-3939 AetherSX2.app/Contents/Resources"}], "notes": "PlayStation 2 emulator for ARM, built on PCSX2 and carrying its own AArch64\nrecompilers. The application itself is closed source; the PCSX2-derived files\nwere released separately as an LGPL tarball in which pcsx2/libAetherSX2.a\nholds the parts that stayed closed, and that drop sits on an earlier code line\nthan any released build, with no Vulkan renderer in its GS tree and the older\nasset set. Every name, path and size below was read from\nthe three builds that were distributed: v1.5-3939 for Apple Silicon macOS,\nv1.5-3668 for Android, and v1.5-3606 for AArch64 Linux, which ROCKNIX\nrepackages as aethersx2-sa. The three agree throughout.\nref: aethersx2/pcsx2/CMakeLists.txt:1585, aethersx2/pcsx2/Mdec.cpp:1\n\nA BIOS image is required and boot stops without one. It belongs in the bios\nfolder of the data directory, Library/Application Support/AetherSX2 on macOS\nand Android/data/xyz.aethersx2.android on Android, and the Folders section of\nPCSX2.ini names another path when set.\nref: aethersx2 v1.5-3939 MacOS/AetherSX2, aethersx2 archive/desktop/mac/README.md\n\nDetection is by content. The scan lists the BIOS folder with a *.* mask, keeps\nfiles between 4 and 8 MB, and accepts an image whose romdir carries a RESET\nentry followed by a readable ROMVER; the fifth ROMVER character gives the\nzone among T10K, Test, Japan, USA, Europe, HK, Free and China. An image named\nin the configuration is opened at its own path, without the size filter and\nwithout the romdir test. No name and no hash is matched anywhere. The image is\nread into the 4 MB ROM region and truncated to it, and one shorter than\n2465792 bytes turns off the OSDSys parameter HLE.\nref: aethersx2/pcsx2/ps2/BiosTools.cpp:27-28,\n     aethersx2/pcsx2/ps2/BiosTools.cpp:62-175,\n     aethersx2/pcsx2/ps2/BiosTools.cpp:235-260,\n     aethersx2/pcsx2/ps2/BiosTools.cpp:272-316,\n     aethersx2 v1.5-3606 usr/share/aethersx2 0xa45ffc,\n     aethersx2 v1.5-3939 MacOS/AetherSX2 0x1006e7650\n\nCompanions derive from the selected image. rom1 and rom2 are appended to the\nfull name first, then substituted for the existing extension, so an image at\nps2-0230a-20080220.bin is followed by ps2-0230a-20080220.bin.rom1 then\nps2-0230a-20080220.rom1. The nvm and the mec are read at the substituted\nextension only, and both are written with defaults when they are absent or\ntoo short.\nref: aethersx2/pcsx2/ps2/BiosTools.cpp:192-218,\n     aethersx2/pcsx2/CDVD/CDVD.cpp:120-144,\n     aethersx2/pcsx2/CDVD/CDVD.cpp:158-197\n\nThe network adapter opens eeprom.dat and flash.dat from the working directory,\nstanding in a compiled-in image for the first and a blank card for the second.\nDEV9hdd.raw is the default name of the empty disk image its settings page\nwrites.\nref: aethersx2/pcsx2/DEV9/DEV9.cpp:109-161,\n     aethersx2/pcsx2/DEV9/flash.cpp:76-104\n\nAn IRX named in the configuration is read into the ROM region at 0x3C0000 at\nboot. The field is empty by default and names no file of its own.\nref: aethersx2/pcsx2/ps2/BiosTools.cpp:220-233,\n     aethersx2/pcsx2/ps2/BiosTools.cpp:327-328\n\nRead from the build's own resources folder and versioned with it: the shader\nsources each GS backend compiles at startup, the OSD and fullscreen interface\nfonts, the flag and placeholder textures, and the achievement notification\nsounds. The macOS build keeps the folder at AetherSX2.app/Contents/Resources\nand adds its Metal libraries; the Android build carries the shaders, fonts,\nicons and sounds as APK assets and draws its own interface.\nref: aethersx2 v1.5-3939 AetherSX2.app/Contents/Resources,\n     aethersx2 v1.5-3668 xyz.aethersx2.android assets\n", "profiled_date": "2026-08-11", "resources_directory": "resources/", "source": "https://github.com/Trixarian/AetherSX2", "source_commit": "1d1f795dfc70e38da67724c7298779260f513889", "systems": ["sony-playstation-2"], "type": "standalone", "upstream": "https://github.com/PCSX2/pcsx2"}


id: altirra
name: Altirra
type: standalone
classification: embedded_hle
source: https://www.virtualdub.org/altirra.html
upstream: https://www.virtualdub.org/altirra.html
profile_json:
{"core_classification": "embedded_hle", "core_version": "4.40", "cores": ["altirra"], "display_name": "Atari - 400/800/1200XL/XL/XE/XEGS/5200 (Altirra)", "emulator": "Altirra", "files": [{"crc32": "4248d3e3", "description": "Atari 5200 OS (4-port)", "hle_fallback": true, "name": "atari-5200-os-4port.rom", "required": false, "size": 2048, "source_ref": "src/Altirra/source/firmwaredetect.cpp:25, src/Altirra/source/simulator.cpp:4800", "system": "atari-5200", "validation": ["size", "crc32"]}, {"crc32": "c2ba2613", "description": "Atari 5200 OS (2-port)", "hle_fallback": true, "name": "atari-5200-os-2port.rom", "required": false, "size": 2048, "source_ref": "src/Altirra/source/firmwaredetect.cpp:26, src/Altirra/source/simulator.cpp:4800", "system": "atari-5200", "validation": ["size", "crc32"]}, {"crc32": "4bec4de2", "description": "Atari BASIC rev. A", "hle_fallback": true, "name": "atari-basic-rev-a.rom", "required": false, "size": 8192, "source_ref": "src/Altirra/source/firmwaredetect.cpp:27, src/Altirra/source/simulator.cpp:4903-4912", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "f0202fb3", "description": "Atari BASIC rev. B", "hle_fallback": true, "name": "atari-basic-rev-b.rom", "required": false, "size": 8192, "source_ref": "src/Altirra/source/firmwaredetect.cpp:28, src/Altirra/source/simulator.cpp:4903-4912", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "7d684184", "description": "Atari BASIC rev. C", "hle_fallback": true, "name": "atari-basic-rev-c.rom", "required": false, "size": 8192, "source_ref": "src/Altirra/source/firmwaredetect.cpp:29, src/Altirra/source/simulator.cpp:4903-4912", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "c1b3bb02", "description": "Atari 400/800 OS-A NTSC", "hle_fallback": true, "name": "atari-800-os-a-ntsc.rom", "required": false, "size": 10240, "source_ref": "src/Altirra/source/firmwaredetect.cpp:30, src/Altirra/source/simulator.cpp:4796", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "72b3fed4", "description": "Atari 400/800 OS-A PAL", "hle_fallback": true, "name": "atari-800-os-a-pal.rom", "required": false, "size": 10240, "source_ref": "src/Altirra/source/firmwaredetect.cpp:31, src/Altirra/source/simulator.cpp:4796", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "0e86d61d", "description": "Atari 400/800 OS-B NTSC", "hle_fallback": true, "name": "atari-800-os-b-ntsc.rom", "required": false, "size": 10240, "source_ref": "src/Altirra/source/firmwaredetect.cpp:32, src/Altirra/source/simulator.cpp:4796", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "3e28a1fe", "description": "Atari 400/800 OS-B NTSC (Xformer patched)", "hle_fallback": true, "name": "atari-800-os-b-ntsc-xformer.rom", "note": "OS-B patched by Xformer, reported as the OS-B specific firmware. Usually distributed as ATARIOSB.ROM (ATHelpFile/source/options-firmware.xml).", "required": false, "size": 10240, "source_ref": "src/Altirra/source/firmwaredetect.cpp:33, src/Altirra/source/simulator.cpp:4796", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "0c913dfc", "description": "Atari 400/800 OS-B PAL", "hle_fallback": true, "name": "atari-800-os-b-pal.rom", "required": false, "size": 10240, "source_ref": "src/Altirra/source/firmwaredetect.cpp:34, src/Altirra/source/simulator.cpp:4796", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "c5c11546", "description": "Atari 1200XL OS rev. 10", "hle_fallback": true, "name": "atari-1200xl-os-rev-10.rom", "required": false, "size": 16384, "source_ref": "src/Altirra/source/firmwaredetect.cpp:35, src/Altirra/source/simulator.cpp:4804", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "1a1d7b1b", "description": "Atari 1200XL OS rev. 11", "hle_fallback": true, "name": "atari-1200xl-os-rev-11.rom", "required": false, "size": 16384, "source_ref": "src/Altirra/source/firmwaredetect.cpp:36, src/Altirra/source/simulator.cpp:4804", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "643bcc98", "description": "Atari XL/XE OS ver.1", "hle_fallback": true, "name": "atari-xl-os-ver-1.rom", "required": false, "size": 16384, "source_ref": "src/Altirra/source/firmwaredetect.cpp:37, src/Altirra/source/simulator.cpp:4810", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "1f9cd270", "description": "Atari XL/XE OS ver.2", "hle_fallback": true, "name": "atari-xl-os-ver-2.rom", "note": "The common XL/XE OS, usually distributed as ATARIXL.ROM (ATHelpFile/source/options-firmware.xml).", "required": false, "size": 16384, "source_ref": "src/Altirra/source/firmwaredetect.cpp:38, src/Altirra/source/simulator.cpp:4810", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "29f133f7", "description": "Atari XL/XE OS ver.3", "hle_fallback": true, "name": "atari-xl-os-ver-3.rom", "required": false, "size": 16384, "source_ref": "src/Altirra/source/firmwaredetect.cpp:39, src/Altirra/source/simulator.cpp:4810", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "1eaf4002", "description": "Atari XL/XE/XEGS OS ver.4", "hle_fallback": true, "name": "atari-xegs-os-ver-4.rom", "required": false, "size": 16384, "source_ref": "src/Altirra/source/firmwaredetect.cpp:40, src/Altirra/source/simulator.cpp:4814", "system": "xegs", "validation": ["size", "crc32"]}, {"crc32": "bdca01fb", "description": "Atari XEGS Missile Command", "name": "atari-xegs-missile-command.rom", "note": "XEGS built-in game ROM.", "required": false, "size": 8192, "source_ref": "src/Altirra/source/firmwaredetect.cpp:41, src/Altirra/source/simulator.cpp:4921", "system": "xegs", "validation": ["size", "crc32"]}, {"crc32": "a8953874", "description": "Black Box ver. 1.34", "name": "blackbox-1.34.rom", "required": false, "size": 16384, "source_ref": "src/Altirra/source/firmwaredetect.cpp:43, src/Altirra/source/blackbox.cpp:352", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "91175314", "description": "Black Box ver. 1.41", "name": "blackbox-1.41.rom", "required": false, "size": 16384, "source_ref": "src/Altirra/source/firmwaredetect.cpp:44, src/Altirra/source/blackbox.cpp:352", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "7cafd9a8", "description": "Black Box ver. 2.16", "name": "blackbox-2.16.rom", "note": "64K image. 16K images are accepted and bank-rotated (blackbox.cpp:355).", "required": false, "size": 65536, "source_ref": "src/Altirra/source/firmwaredetect.cpp:45, src/Altirra/source/blackbox.cpp:352", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "769cc316", "description": "Black Box Floppy Board v1.5", "name": "blackbox-floppy-board-1.5.rom", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:47, src/Altirra/source/blackboxfloppy.cpp:289", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "7d68f07b", "description": "MIO ver. 1.1k (128Kbit)", "name": "mio-1.1k-128kbit.rom", "note": "Oversized EPROM dump: the loader takes the second 8K when the first 8K is blank (mio.cpp:277-292).", "required": false, "size": 16384, "source_ref": "src/Altirra/source/firmwaredetect.cpp:49, src/Altirra/source/mio.cpp:275", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "00694a74", "description": "MIO ver. 1.1m (128Kbit)", "name": "mio-1.1m-128kbit.rom", "note": "Oversized EPROM dump: the loader takes the second 8K when the first 8K is blank (mio.cpp:277-292).", "required": false, "size": 16384, "source_ref": "src/Altirra/source/firmwaredetect.cpp:50, src/Altirra/source/mio.cpp:275", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "a6a9e3d6", "description": "MIO ver. 1.41 (64Kbit)", "name": "mio-1.41-64kbit.rom", "required": false, "size": 8192, "source_ref": "src/Altirra/source/firmwaredetect.cpp:51, src/Altirra/source/mio.cpp:275", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "1d400131", "description": "MIO ver. 1.41 (128Kbit)", "name": "mio-1.41-128kbit.rom", "note": "Oversized EPROM dump: the loader takes the second 8K when the first 8K is blank (mio.cpp:277-292).", "required": false, "size": 16384, "source_ref": "src/Altirra/source/firmwaredetect.cpp:52, src/Altirra/source/mio.cpp:275", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "e2f4b3a8", "description": "MIO ver. 1.41 (256Kbit)", "name": "mio-1.41-256kbit.rom", "note": "Oversized EPROM dump: the loader takes the second 8K when the first 8K is blank (mio.cpp:277-292).", "required": false, "size": 32768, "source_ref": "src/Altirra/source/firmwaredetect.cpp:53, src/Altirra/source/mio.cpp:275", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "19227d33", "description": "Atari 810 firmware rev. B", "name": "atari-810-rev-b.rom", "required": false, "size": 2048, "source_ref": "src/Altirra/source/firmwaredetect.cpp:54, src/Altirra/source/diskdrivefull.cpp:1165-1213", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "0896f03d", "description": "Atari 810 firmware rev. C", "name": "atari-810-rev-c.rom", "required": false, "size": 2048, "source_ref": "src/Altirra/source/firmwaredetect.cpp:55, src/Altirra/source/diskdrivefull.cpp:1165-1213", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "aad220f4", "description": "Atari 810 firmware rev. E", "name": "atari-810-rev-e.rom", "required": false, "size": 2048, "source_ref": "src/Altirra/source/firmwaredetect.cpp:56, src/Altirra/source/diskdrivefull.cpp:1165-1213", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "f9a7afb2", "description": "Atari 1050 firmware rev. E", "name": "atari-1050-rev-e.rom", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:57, src/Altirra/source/diskdrivefull.cpp:1165-1213", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "6d9d589b", "description": "Atari 1050 firmware rev. H", "name": "atari-1050-rev-h.rom", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:58, src/Altirra/source/diskdrivefull.cpp:1165-1213", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "91ba303d", "description": "Atari 1050 firmware rev. J", "name": "atari-1050-rev-j.rom", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:59, src/Altirra/source/diskdrivefull.cpp:1165-1213", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "3abe7ef4", "description": "Atari 1050 firmware rev. K", "name": "atari-1050-rev-k.rom", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:60, src/Altirra/source/diskdrivefull.cpp:1165-1213", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "fb4b8757", "description": "Atari 1050 firmware rev. L", "name": "atari-1050-rev-l.rom", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:61, src/Altirra/source/diskdrivefull.cpp:1165-1213", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "942ec3d5", "description": "Happy 810 pre-v7 firmware, 4K original (serial $4490)", "name": "happy-810-prev7-4k.rom", "required": false, "size": 4096, "source_ref": "src/Altirra/source/uifirmware.cpp:528", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "143b8538", "description": "Happy 810 pre-v7 firmware, 4K non-original (serial $1704)", "name": "happy-810-prev7-4k-nonoriginal.rom", "required": false, "size": 4096, "source_ref": "src/Altirra/source/uifirmware.cpp:528", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "f81b69cb", "description": "Happy 810 pre-v7 firmware, functional 3K inside a 6K image (serial $4B9B)", "name": "happy-810-prev7-3k.rom", "note": "The image is 6144 bytes; Altirra identifies it by a checksum taken over the functional 3K, which its firmware list reports as the size.\n", "required": false, "size": 6144, "source_ref": "src/Altirra/source/uifirmware.cpp:528", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "371f6973", "description": "Happy 810 firmware (v7, 6K functional ROM, modified)", "name": "happy-810-v7-6k-modified.rom", "note": "Modified variant of the 6K functional dump.", "required": false, "size": 6144, "source_ref": "src/Altirra/source/firmwaredetect.cpp:62, src/Altirra/source/diskdrivefull.cpp:1165-1234", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "9cc7a207", "description": "Happy 810 firmware (v7, 6K functional ROM)", "name": "happy-810-v7-6k.rom", "note": "Functional 6K region only; the loader also accepts 3K, 4K and 8K dumps.", "required": false, "size": 6144, "source_ref": "src/Altirra/source/firmwaredetect.cpp:63, src/Altirra/source/diskdrivefull.cpp:1165-1234", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "982d825d", "description": "Happy 810 firmware (v7, 8K full ROM)", "name": "happy-810-v7-8k.rom", "required": false, "size": 8192, "source_ref": "src/Altirra/source/firmwaredetect.cpp:64, src/Altirra/source/diskdrivefull.cpp:1165-1234", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "19b6bfe5", "description": "Happy 1050 firmware rev. 1", "name": "happy-1050-rev-1.rom", "required": false, "size": 8192, "source_ref": "src/Altirra/source/firmwaredetect.cpp:65, src/Altirra/source/diskdrivefull.cpp:1165-1213", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "f76eae16", "description": "Happy 1050 firmware rev. 2", "name": "happy-1050-rev-2.rom", "required": false, "size": 8192, "source_ref": "src/Altirra/source/firmwaredetect.cpp:66, src/Altirra/source/diskdrivefull.cpp:1165-1213", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "739bab74", "description": "ATR8000 firmware ver 3.02", "name": "atr8000-3.02.rom", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:67, src/Altirra/source/diskdriveatr8000.cpp:450", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "d125caad", "description": "Indus GT firmware ver. 1.1", "name": "indus-gt-1.1.rom", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:68, src/Altirra/source/diskdriveindusgt.cpp:52", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "d8504b4a", "description": "Indus GT firmware ver. 1.2", "name": "indus-gt-1.2.rom", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:69, src/Altirra/source/diskdriveindusgt.cpp:52", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "605b7153", "description": "US Doubler firmware rev. L", "name": "us-doubler-rev-l.rom", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:70, src/Altirra/source/diskdrivefull.cpp:1165-1213", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "0126a511", "description": "810 Turbo firmware V1.2", "name": "810-turbo-1.2.rom", "required": false, "size": 2048, "source_ref": "src/Altirra/source/firmwaredetect.cpp:71, src/Altirra/source/diskdrivefull.cpp:1165-1213", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "5a396459", "description": "Percom RFD V1.00", "name": "percom-rfd-1.00.rom", "required": false, "size": 2048, "source_ref": "src/Altirra/source/firmwaredetect.cpp:72, src/Altirra/source/diskdrivepercom.cpp:88-92", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "e2d4a05c", "description": "Percom RFD V1.10", "name": "percom-rfd-1.10.rom", "required": false, "size": 2048, "source_ref": "src/Altirra/source/firmwaredetect.cpp:73, src/Altirra/source/diskdrivepercom.cpp:88-92", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "c6c73d23", "description": "Percom RFD V1.20", "name": "percom-rfd-1.20.rom", "required": false, "size": 2048, "source_ref": "src/Altirra/source/firmwaredetect.cpp:74, src/Altirra/source/diskdrivepercom.cpp:88-92", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "ac141045", "description": "Percom RFD V2.10", "name": "percom-rfd-2.10.rom", "required": false, "size": 2048, "source_ref": "src/Altirra/source/firmwaredetect.cpp:75, src/Altirra/source/diskdrivepercom.cpp:88-92", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "2ab65122", "description": "Astra 1001/1620 (based on Percom RFD V1.10)", "name": "astra-1001-1620.rom", "required": false, "size": 2048, "source_ref": "src/Altirra/source/firmwaredetect.cpp:76, src/Altirra/source/diskdrivepercom.cpp:88-92", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "2372fae6", "description": "Percom AT-88 V1.2 (460-0066-001)", "name": "percom-at-88-1.2.rom", "required": false, "size": 2048, "source_ref": "src/Altirra/source/firmwaredetect.cpp:77, src/Altirra/source/diskdrivepercom.cpp:88-92", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "fd13a674", "description": "Percom AT-88 V1.2 (damaged) (460-0066-001)", "name": "percom-at-88-1.2-damaged.rom", "note": "Damaged dump of the same EPROM as percom-at-88-1.2.rom.", "required": false, "size": 2048, "source_ref": "src/Altirra/source/firmwaredetect.cpp:78, src/Altirra/source/diskdrivepercom.cpp:88-92", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "518900e6", "description": "Percom AT88-SPD V1.01 (0073)", "name": "percom-at88-spd-1.01.rom", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:79, src/Altirra/source/diskdrivepercom.cpp:88-92", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "87a0d7e7", "description": "Percom AT88-SPD V1.11 (1-9-84)", "name": "percom-at88-spd-1.11.rom", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:80, src/Altirra/source/diskdrivepercom.cpp:88-92", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "fc6675f2", "description": "Percom AT88-SPD V1.21 (5-4-84)", "name": "percom-at88-spd-1.21.rom", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:81, src/Altirra/source/diskdrivepercom.cpp:88-92", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "55dfc9ac", "description": "1050 Turbo II V3.4", "name": "1050-turbo-ii-3.4.rom", "required": false, "size": 8192, "source_ref": "src/Altirra/source/firmwaredetect.cpp:82, src/Altirra/source/diskdrivefull.cpp:1165-1213", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "4a69312b", "description": "1050 Turbo II V3.5", "name": "1050-turbo-ii-3.5.rom", "required": false, "size": 8192, "source_ref": "src/Altirra/source/firmwaredetect.cpp:83, src/Altirra/source/diskdrivefull.cpp:1165-1213", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "1527d542", "description": "Atari 815 firmware", "name": "atari-815.rom", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:84, src/Altirra/source/diskdrive815.cpp:352", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "87809326", "description": "Atari 1090 80-column firmware rev. 9", "name": "atari-1090-firmware-rev-9.rom", "note": "The predefined internal 1090 firmware resolves to no resource, so this image has no fallback (firmwaremanager.cpp:190-211).", "required": false, "size": 2048, "source_ref": "src/Altirra/source/firmwaredetect.cpp:85, src/Altirra/source/1090.cpp:172", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "8f07d9a0", "description": "Atari 1090 80-column charset", "hle_fallback": true, "name": "atari-1090-charset.rom", "note": "Character generator. Synthesised from the internal XL kernel charset when absent (firmwaremanager.cpp:258-268).", "required": false, "size": 2048, "source_ref": "src/Altirra/source/firmwaredetect.cpp:86, src/Altirra/source/1090.cpp:179", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "b9d576da", "description": "Bit 3 Full-View 80 firmware", "name": "bit3-full-view-80-firmware.rom", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:87, src/Altirra/source/bit3.cpp:173", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "738c6ac1", "description": "Bit 3 Full-View 80 charset", "name": "bit3-full-view-80-charset.rom", "note": "Character generator.", "required": false, "size": 2048, "source_ref": "src/Altirra/source/firmwaredetect.cpp:88, src/Altirra/source/bit3.cpp:180", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "a4534cea", "description": "Bit 3 Full-View 80 charset (4K overdump)", "name": "bit3-full-view-80-charset-4k.rom", "note": "4K overdump carrying 2K of unique data (firmwaredetect.cpp:90).", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:91, src/Altirra/source/bit3.cpp:180", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "fc02766b", "description": "XF551 rev. 7.4", "name": "xf551-7.4.rom", "note": "8K image; the loader reads the first 4K and splits it into two 2K banks.", "required": false, "size": 8192, "source_ref": "src/Altirra/source/firmwaredetect.cpp:93, src/Altirra/source/diskdrivexf551.cpp:269-276", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "38b97ae3", "description": "XF551 rev. 7.7", "name": "xf551-7.7.rom", "note": "8K image; the loader reads the first 4K and splits it into two 2K banks.", "required": false, "size": 8192, "source_ref": "src/Altirra/source/firmwaredetect.cpp:94, src/Altirra/source/diskdrivexf551.cpp:269-276", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "37dda8b1", "description": "XF551 rev. 7.7 (w/broken density hack)", "name": "xf551-7.7-density-hack.rom", "note": "Half-size dump with the density hack broken.", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:95, src/Altirra/source/diskdrivexf551.cpp:269-276", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "0e117428", "description": "XF551 rev. 7.7 (modified for 720K 3.5\")", "name": "xf551-7.7-720k.rom", "note": "Modified for 720K 3.5\" drives. 8K image; the loader reads the first 4K and splits it into two 2K banks.", "required": false, "size": 8192, "source_ref": "src/Altirra/source/firmwaredetect.cpp:96, src/Altirra/source/diskdrivexf551.cpp:269-276", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "2ba701df", "description": "1400XL V:/T: handler firmware (unknown v1)", "name": "1400xl-handler-v1.rom", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:98, src/Altirra/source/1400xl.cpp:551-555", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "5ec3ec7d", "description": "1400XL V:/T: handler firmware (unknown v2)", "name": "1400xl-handler-v2.rom", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:99, src/Altirra/source/1400xl.cpp:551-555", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "7773b7dd", "description": "1450XLD disk controller firmware", "name": "1450xld-disk-controller.rom", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:101, src/Altirra/source/1450xld.cpp:753-758", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "03930886", "description": "1450XLD \"TONG\" disk controller firmware", "name": "1450xld-tong-disk-controller.rom", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:102, src/Altirra/source/1450xld.cpp:753-758", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "e8f9c8a7", "description": "1450XLD disk handler firmware (rev. E)", "name": "1450xld-disk-handler-rev-e.rom", "note": "The image is 4K; the loader reads its first 2K into mFirmware (1450xld.h:179).", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:103, src/Altirra/source/1450xld.cpp:738-742", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "4bb7fa3a", "description": "1450XLD disk handler firmware (rev. F)", "name": "1450xld-disk-handler-rev-f.rom", "note": "The image is 4K; the loader reads its first 2K into mFirmware (1450xld.h:179).", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:104, src/Altirra/source/1450xld.cpp:738-742", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "29359910", "description": "1450XLD disk handler firmware (post rev. F)", "name": "1450xld-disk-handler-post-rev-f.rom", "note": "The image is 4K; the loader reads its first 2K into mFirmware (1450xld.h:179).", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:105, src/Altirra/source/1450xld.cpp:738-742", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "d6dd4f41", "description": "Atari 835 internal 8048 firmware", "name": "atari-835-internal.rom", "required": false, "size": 1024, "source_ref": "src/Altirra/source/firmwaredetect.cpp:107, src/Altirra/source/1030full.cpp:282", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "329b1d5b", "description": "Atari 1030 internal 8050 firmware", "name": "atari-1030-internal.rom", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:109, src/Altirra/source/1030full.cpp:300", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "7abdb8e7", "description": "Atari 1030 external ROM firmware", "name": "atari-1030-external.rom", "required": false, "size": 8192, "source_ref": "src/Altirra/source/firmwaredetect.cpp:110, src/Altirra/source/1030full.cpp:301", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "79e0fea4", "description": "Atari 820 firmware", "name": "atari-820.rom", "required": false, "size": 2048, "source_ref": "src/Altirra/source/firmwaredetect.cpp:112, src/Altirra/source/820full.cpp:206", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "46d194b4", "description": "Atari 1025 firmware", "name": "atari-1025.rom", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:113, src/Altirra/source/1025full.cpp:227", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "19c4f811", "description": "Atari 1029 firmware (English)", "name": "atari-1029-english.rom", "note": "English character set variant.", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:114, src/Altirra/source/1029full.cpp:233", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "2cf990b9", "description": "Atari 850 firmware", "name": "atari-850.rom", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:116, src/Altirra/source/850full.cpp:316", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "9201359a", "description": "Atari 850 firmware (early revision)", "name": "atari-850-early.rom", "note": "Early 850 revision.", "required": false, "size": 4096, "source_ref": "src/Altirra/source/firmwaredetect.cpp:117, src/Altirra/source/850full.cpp:316", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "597eb2e4", "description": "Speedy XF v1.7", "name": "speedy-xf-1.7.rom", "note": "32K image, cloned to 64K by the loader (diskdrivespeedyxf.cpp:363-364).", "required": false, "size": 32768, "source_ref": "src/Altirra/source/firmwaredetect.cpp:119, src/Altirra/source/diskdrivespeedyxf.cpp:353-364", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"crc32": "554a9067", "description": "Speedy XF v1.8", "name": "speedy-xf-1.8.rom", "note": "32K image, cloned to 64K by the loader (diskdrivespeedyxf.cpp:363-364).", "required": false, "size": 32768, "source_ref": "src/Altirra/source/firmwaredetect.cpp:120, src/Altirra/source/diskdrivespeedyxf.cpp:353-364", "system": "atari-400-800", "validation": ["size", "crc32"]}, {"description": "810 Archiver disk drive firmware", "max_size": 4096, "name": "810-archiver.rom", "required": false, "source_ref": "src/Altirra/source/uifirmware.cpp:528, src/Altirra/source/diskdrivefull.cpp:1165-1213", "system": "atari-400-800"}, {"description": "1050 Duplicator disk drive firmware", "max_size": 8192, "name": "1050-duplicator.rom", "required": false, "source_ref": "src/Altirra/source/uifirmware.cpp:532, src/Altirra/source/diskdrivefull.cpp:1165-1213", "system": "atari-400-800"}, {"description": "Speedy 1050 disk drive firmware", "max_size": 16384, "name": "speedy-1050.rom", "required": false, "source_ref": "src/Altirra/source/uifirmware.cpp:534, src/Altirra/source/diskdrivefull.cpp:1165-1213", "system": "atari-400-800"}, {"description": "Super Archiver disk drive firmware", "max_size": 4096, "name": "super-archiver.rom", "note": "Shared by the Super Archiver and Super Archiver with BitWriter device types (diskdrivefull.cpp:1173-1174).", "required": false, "source_ref": "src/Altirra/source/uifirmware.cpp:536, src/Altirra/source/diskdrivefull.cpp:1165-1213", "system": "atari-400-800"}, {"description": "TOMS 1050 disk drive firmware", "max_size": 8192, "name": "toms-1050.rom", "required": false, "source_ref": "src/Altirra/source/uifirmware.cpp:537, src/Altirra/source/diskdrivefull.cpp:1165-1213", "system": "atari-400-800"}, {"description": "Tygrys 1050 disk drive firmware", "max_size": 4096, "name": "tygrys-1050.rom", "required": false, "source_ref": "src/Altirra/source/uifirmware.cpp:538, src/Altirra/source/diskdrivefull.cpp:1165-1213", "system": "atari-400-800"}, {"description": "1050 Turbo disk drive firmware", "max_size": 16384, "name": "1050-turbo.rom", "required": false, "source_ref": "src/Altirra/source/uifirmware.cpp:540, src/Altirra/source/diskdrivefull.cpp:1165-1213", "system": "atari-400-800"}, {"description": "I.S. Plate disk drive firmware", "max_size": 4096, "name": "is-plate.rom", "required": false, "source_ref": "src/Altirra/source/uifirmware.cpp:542, src/Altirra/source/diskdrivefull.cpp:1165-1213", "system": "atari-400-800"}, {"description": "Amdek AMDC-I/II disk drive firmware", "max_size": 4096, "name": "amdek-amdc.rom", "required": false, "source_ref": "src/Altirra/source/uifirmware.cpp:548, src/Altirra/source/diskdriveamdc.cpp:88", "system": "atari-400-800"}, {"description": "Ultimate1MB firmware", "hle_fallback": true, "max_size": 524288, "name": "ultimate1mb.rom", "note": "Altirra U1MB Recovery OS is used when no image is registered.", "required": false, "source_ref": "src/Altirra/source/uifirmware.cpp:555, src/Altirra/source/simulator.cpp:4985-4996, src/Altirra/source/ultimate1mb.cpp:237-242", "system": "atari-400-800"}, {"description": "MyIDE-II cartridge firmware", "max_size": 524288, "name": "myide2.rom", "required": false, "source_ref": "src/Altirra/source/uifirmware.cpp:556, src/Altirra/source/myide.cpp:304-315", "system": "atari-400-800"}, {"description": "SIDE cartridge firmware", "max_size": 524288, "name": "side.rom", "required": false, "source_ref": "src/Altirra/source/uifirmware.cpp:557, src/Altirra/source/side.cpp:283-294", "system": "atari-400-800"}, {"description": "SIDE 2 cartridge firmware", "max_size": 524288, "name": "side2.rom", "required": false, "source_ref": "src/Altirra/source/uifirmware.cpp:558, src/Altirra/source/side.cpp:283-294", "system": "atari-400-800"}, {"description": "SIDE 3 cartridge firmware", "max_size": 8388608, "name": "side3.rom", "required": false, "source_ref": "src/Altirra/source/uifirmware.cpp:559, src/Altirra/source/side3.cpp:448-460", "system": "atari-400-800"}, {"description": "KMK/JZ IDE BIOS", "max_size": 3072, "name": "kmkjz-ide.rom", "note": "The v1 device exposes 0xC00 of its flash, so the loader reads only that much.", "required": false, "source_ref": "src/Altirra/source/uifirmware.cpp:560, src/Altirra/source/kmkjzide.cpp:357-394", "system": "atari-400-800"}, {"description": "KMK/JZ IDE 2 (IDEPlus) main firmware", "max_size": 131072, "name": "kmkjz-ide2-main.rom", "required": false, "source_ref": "src/Altirra/source/uifirmware.cpp:561, src/Altirra/source/kmkjzide.cpp:357-394", "system": "atari-400-800"}, {"description": "KMK/JZ IDE 2 (IDEPlus) SpartaDOS X firmware", "max_size": 524288, "name": "kmkjz-ide2-sdx.rom", "note": "Two revisions circulate, SDX 4.45 and 4.47; the collection carries 4.47.", "required": false, "source_ref": "src/Altirra/source/uifirmware.cpp:562, src/Altirra/source/kmkjzide.cpp:357-394", "system": "atari-400-800"}, {"description": "Atari 1030 modem download image", "hle_fallback": true, "max_size": 10368, "name": "atari-1030-download.rom", "note": "Altirra builds its own download image from src/Kernel/source/1030/firmware.s when none is registered.", "required": false, "source_ref": "src/Altirra/source/uifirmware.cpp:568, src/Altirra/source/1030.cpp:1162", "system": "atari-400-800"}, {"description": "Rapidus accelerator flash firmware", "hle_fallback": true, "max_size": 524288, "name": "rapidus-flash.rom", "note": "Altirra Rapidus Bootstrap Flash is used when no image is registered.", "required": false, "source_ref": "src/Altirra/source/uifirmware.cpp:571, src/Altirra/source/rapidus.cpp:338", "system": "atari-400-800"}, {"description": "Rapidus 65C816 core PBI firmware", "hle_fallback": true, "max_size": 2048, "name": "rapidus-core-pbi.rom", "note": "Altirra Rapidus Bootstrap 65816 PBI Firmware is used when no image is registered.", "required": false, "source_ref": "src/Altirra/source/uifirmware.cpp:572, src/Altirra/source/rapidus.cpp:339", "system": "atari-400-800"}, {"description": "APE Warp+ OS 32-in-1 firmware", "max_size": 524288, "name": "ape-warp-os.rom", "required": false, "source_ref": "src/Altirra/source/uifirmware.cpp:573, src/Altirra/source/warpos.cpp:115", "system": "atari-400-800"}, {"bundled": true, "description": "Altirra help file", "name": "Altirra.chm", "note": "Opened from the program directory when help is requested.", "required": false, "source_ref": "src/Altirra/source/oshelper.cpp:509-529", "system": "atari-400-800"}, {"bundled": true, "description": "Altirra Additions disk", "name": "Additions.atr", "note": "Disk image carrying the handler software several emulated devices need: ALTXEP80.SYS for the XEP80, BOOT850.COM for the 850 interface, BOOT1030.COM for the 1030 modem, ATDEBUGX.SYS for the debug link. The user mounts it as an ordinary disk image.\n", "required": false, "source_ref": "src/ATHelpFile/source/additions.xml:3-10, src/Altirra/source/uidevices.cpp:252, src/Altirra/source/uidevices.cpp:486", "system": "atari-400-800"}], "profiled_date": "2026-08-11", "source": "https://www.virtualdub.org/altirra.html", "systems": ["atari-400-800", "xegs", "atari-5200"], "type": "standalone", "upstream": "https://www.virtualdub.org/altirra.html"}


id: amiarcadia
name: amiarcadia
type: libretro
classification: official_port
source: https://github.com/warmenhoven/amiarcadia
upstream: https://amigan.1emu.net/releases/
source_commit: 4b84422985457b53dcc22ab46f525d7c34d3e51f
profile_json:
{"core_classification": "official_port", "core_version": "4.42", "cores": ["amiarcadia", "winarcadia"], "display_name": "Arcadia 2001 / Interton VC 4000 (AmiArcadia)", "emulator": "amiarcadia", "files": [], "notes": "No BIOS or firmware files required. firmware_count=0 confirmed by source.\n", "profiled_date": "2026-03-22", "source": "https://github.com/warmenhoven/amiarcadia", "source_commit": "4b84422985457b53dcc22ab46f525d7c34d3e51f", "systems": ["emerson-arcadia-2001", "interton-vc4000", "elektor-tv-games-computer"], "type": "libretro", "upstream": "https://amigan.1emu.net/releases/"}


id: amiberry
name: Amiberry
type: standalone + libretro
classification: official_port
source: https://github.com/BlitterStudio/amiberry
upstream: https://github.com/tonioni/WinUAE
source_commit: b98e9afc1d55d5e53bdb9abcbcf96535d280e9a3
profile_json:
{"core_classification": "official_port", "core_version": "v8.1.2", "cores": ["amiberry"], "display_name": "Commodore - Amiga (Amiberry)", "emulator": "Amiberry", "files": [{"name": "kick13.rom", "note": "A500 Kickstart v1.3 rev 34.005, default for A500 model", "required": true, "size": 262144, "source_ref": "libretro/libretro.cpp:1776 (candidates_a500)", "system": "commodore-amiga"}, {"name": "kick12.rom", "note": "A500 Kickstart v1.2 rev 33.180, for A500OG model", "required": false, "size": 262144, "source_ref": "libretro/libretro.cpp:1775 (candidates_a500og)", "system": "commodore-amiga"}, {"aliases": ["kick204.rom"], "name": "kick20.rom", "note": "A500+ Kickstart v2.04 rev 37.175", "required": false, "size": 524288, "source_ref": "libretro/libretro.cpp:1777 (candidates_a500p)", "system": "commodore-amiga"}, {"name": "kick205.rom", "note": "A600 Kickstart v2.05 rev 37.350, also used for WHDLoad", "required": false, "size": 524288, "source_ref": "libretro/libretro.cpp:1778 (candidates_a600)", "system": "commodore-amiga"}, {"name": "kick31.rom", "note": "Kickstart v3.1 (generic), first candidate for A1200 and A4000", "required": false, "size": 524288, "source_ref": "libretro/libretro.cpp:1779-1780 (candidate arrays)", "system": "commodore-amiga"}, {"name": "kick40068.A1200", "note": "A1200 Kickstart v3.1 rev 40.68, fallback after kick31.rom", "required": false, "size": 524288, "source_ref": "libretro/libretro.cpp:758 (option label), libretro/libretro.cpp:1779 (candidates_a1200)", "system": "commodore-amiga"}, {"name": "kick40068.A4000", "note": "A4000 Kickstart v3.1 rev 40.68, fallback after kick31.rom", "required": false, "size": 524288, "source_ref": "libretro/libretro.cpp:759 (option label), libretro/libretro.cpp:1780 (candidates_a4000)", "system": "commodore-amiga"}, {"name": "kick.rom", "note": "Generic name, any Kickstart ROM. Last resort fallback for all models.", "required": false, "source_ref": "libretro/libretro.cpp:1769-1774 (candidates_generic)", "system": "commodore-amiga"}, {"aliases": ["amiga-os-310-cd32.rom", "kick40060.CD32"], "name": "cd32.rom", "note": "CD32 Kickstart v3.1 rev 40.60", "required": false, "size": 524288, "source_ref": "libretro/libretro.cpp:1781 (candidates_cd32)", "system": "commodore-cd32"}, {"aliases": ["amiga-ext-310-cd32.rom", "CD32 Extended.ROM"], "name": "cd32ext.rom", "note": "CD32 extended ROM rev 40.60. Not needed if using a combined 1MB ROM.", "required": false, "size": 524288, "source_ref": "libretro/libretro.cpp:1839 (candidates_cd32 in find_ext_rom_in_system_dir)", "system": "commodore-cd32"}, {"aliases": ["kick34005.CDTV"], "name": "cdtv.rom", "note": "CDTV extended ROM v1.00, used as kickstart candidate", "required": false, "source_ref": "libretro/libretro.cpp:1782 (candidates_cdtv)", "system": "commodore-cdtv"}, {"aliases": ["CDTV Extended.ROM"], "name": "cdtvext.rom", "note": "CDTV extended ROM file", "required": false, "source_ref": "libretro/libretro.cpp:1841 (candidates_cdtv in find_ext_rom_in_system_dir)", "system": "commodore-cdtv"}, {"hle_fallback": true, "name": "aros-ext.bin", "note": "AROS extended ROM replacement, used when no Kickstart ROM is found. Looked up in the configured ROM directories, and only in a directory that also holds aros-rom.bin.\n", "required": false, "source_ref": "src/memory.cpp:1933 (paired existence check), src/memory.cpp:1958-1959 (load)", "system": "commodore-amiga"}, {"hle_fallback": true, "name": "aros-rom.bin", "note": "AROS main ROM replacement, used with aros-ext.bin as Kickstart fallback. Looked up in the configured ROM directories, and only in a directory that also holds aros-ext.bin.\n", "required": false, "source_ref": "src/memory.cpp:1934 (paired existence check), src/memory.cpp:1987-1988 (load)", "system": "commodore-amiga"}, {"name": "rom.key", "note": "Decryption key for Cloanto Amiga Forever encrypted ROMs", "required": false, "source_ref": "src/rommgr.cpp:1444-1525", "system": "commodore-amiga"}, {"name": "6570-036.rom", "note": "6500-1/6570-036 keyboard MCU ROM for A500/A600/A1000 models", "required": false, "size": 2048, "source_ref": "src/kbmcu/keyboard_mcu_6500_1.cpp:385-408, src/rommgr.cpp:126", "system": "commodore-amiga"}, {"name": "68HC05.rom", "note": "68HC05 keyboard MCU ROM for A1200", "required": false, "size": 8192, "source_ref": "src/kbmcu/keyboard_mcu_6805.cpp:544-567, src/rommgr.cpp:128", "system": "commodore-amiga"}, {"name": "D8039HLC.rom", "note": "D8039HLC keyboard MCU ROM for A2000", "required": false, "size": 2048, "source_ref": "src/kbmcu/keyboard_mcu_d8039hlc.cpp:235-258, src/rommgr.cpp:130", "system": "commodore-amiga"}, {"aliases": ["mt32-roms/ctrl_mt32.rom", "mt32-roms/ctrl_mt32_1_07.rom", "mt32-roms/ctrl_mt32_1_06.rom", "mt32-roms/ctrl_mt32_1_05.rom", "mt32-roms/ctrl_mt32_1_04.rom", "mt32-roms/ctrl_mt32_bluer.rom", "mt32-roms/ctrl_mt32_2_04.rom", "mt32-roms/ctrl_mt32_2_07.rom", "mt32-roms/ctrl_mt32_2_06.rom", "mt32-roms/ctrl_mt32_2_03.rom"], "name": "mt32-roms/mt32_control.rom", "note": "Roland MT-32 control ROM for Munt MIDI emulation", "required": false, "source_ref": "src/midiemu.cpp:38-62, src/midiemu.cpp:151-156", "system": "commodore-amiga"}, {"aliases": ["mt32-roms/mt32_pcm.rom"], "name": "mt32-roms/pcm_mt32.rom", "note": "Roland MT-32 PCM ROM for Munt MIDI emulation", "required": false, "source_ref": "src/midiemu.cpp:133-140", "system": "commodore-amiga"}, {"aliases": ["mt32-roms/ctrl_cm32l.rom", "mt32-roms/ctrl_cm32ln_1_00.rom", "mt32-roms/ctrl_cm32l_1_02.rom", "mt32-roms/ctrl_cm32l_1_00.rom"], "name": "mt32-roms/cm32l_control.rom", "note": "Roland CM-32L control ROM for Munt MIDI emulation", "required": false, "source_ref": "src/midiemu.cpp:25-37, src/midiemu.cpp:151-156", "system": "commodore-amiga"}, {"aliases": ["mt32-roms/cm32l_pcm.rom"], "name": "mt32-roms/pcm_cm32l.rom", "note": "Roland CM-32L PCM ROM for Munt MIDI emulation", "required": false, "source_ref": "src/midiemu.cpp:142-149", "system": "commodore-amiga"}], "notes": "Amiberry is an Amiga emulator based on WinUAE, available as both standalone\nand libretro core. No built-in kickstart — requires a real Kickstart ROM or\nexternal AROS replacement files (aros-ext.bin + aros-rom.bin).\n\nLibretro core option \"amiberry_kickstart\" overrides ROM selection: auto,\nkick.rom, kick13.rom, kick20.rom, kick31.rom, kick205.rom, kick40068.A1200,\nkick40068.A4000, cd32.rom, cdtv.rom. \"auto\" selects per model.\nref: libretro/libretro.cpp:679,745-764\n\nLibretro Kickstart directory detection (in order): save_dir/Kickstarts,\nsave_dir/whdboot/save-data/Kickstarts, system_dir/Kickstarts,\nsystem_dir/whdboot/save-data/Kickstarts,\nsystem_dir/amiberry/whdboot/save-data/Kickstarts,\nsystem_dir/save-data/Kickstarts, else system_dir. system_dir stays first\nin the ROM multipath, the detected directory follows it.\nref: libretro/libretro.cpp:4088-4126\n\nStandalone ROM path: configurable via amiberry.conf \"rom_path\" setting.\nBatocera sets this to /userdata/bios/amiga/. Fallback search order:\n{home_dir}/roms/kick.rom, {home_dir}/kick.rom, ../shared/rom/kick.rom,\n../System/rom/kick.rom, then ROM database guess.\nref: src/memory.cpp:2104-2146\n\nROM identification uses SHA1 against the WinUAE ROM database but does\nnot reject unknown ROMs. Cloanto encrypted ROMs supported with rom.key.\nref: src/rommgr.cpp:121-1109,1745-1801\n\nMunt MT-32/CM-32L emulation compiled in (WITH_MIDIEMU). ROMs loaded from\nmt32-roms/ subdirectory of the ROM path. Split ROM pairs supported\n(e.g. pcm_mt32_l.rom + pcm_mt32_h.rom).\nref: src/midiemu.cpp:82-165\n\nKeyboard MCU emulation (keyboard_mode setting) loads MCU ROMs via ROM\ndatabase scanning. Three MCU types supported: 6570-036 (A500/A600/A1000),\n68HC05 (A1200), D8039HLC (A2000).\nref: src/kbmcu/keyboard_mcu_6500_1.cpp:385, keyboard_mcu_6805.cpp:544,\nkeyboard_mcu_d8039hlc.cpp:235\n\nWHDLoad autoboot requires whdboot/ directory with boot-data.zip, WHDLoad,\nAmiQuit, JST, whdload_db.xml. These ship with the standalone build but must\nbe obtained separately for the libretro core.\nref: src/osdep/amiberry_whdbooter.cpp:1601-1873\n", "profiled_date": "2026-03-26", "source": "https://github.com/BlitterStudio/amiberry", "source_commit": "b98e9afc1d55d5e53bdb9abcbcf96535d280e9a3", "systems": ["commodore-amiga", "commodore-cd32", "commodore-cdtv"], "type": "standalone + libretro", "upstream": "https://github.com/tonioni/WinUAE"}


id: anarch
name: Anarch
type: libretro
classification: community_fork
source: https://codeberg.org/iyzsong/anarch-libretro
upstream: https://gitlab.com/drummyfish/anarch
source_commit: c0c0b78e5c30644019f7d4fcdddfed4f22db24d7
profile_json:
{"core_classification": "community_fork", "core_version": "1.1d", "cores": ["anarch"], "display_name": "Anarch", "emulator": "Anarch", "files": [], "notes": "Public domain suckless FPS game by Miloslav Ciz (drummyfish). Libretro port by iyzsong. All game data (levels, textures, sounds) compiled into the binary via header files. No external files required.\n", "profiled_date": "2026-03-22", "source": "https://codeberg.org/iyzsong/anarch-libretro", "source_commit": "c0c0b78e5c30644019f7d4fcdddfed4f22db24d7", "systems": [], "type": "libretro", "upstream": "https://gitlab.com/drummyfish/anarch"}


id: applewin
name: AppleWin
type: libretro
classification: community_fork
source: https://github.com/audetto/AppleWin
upstream: https://github.com/AppleWin/AppleWin
source_commit: 599e81d07f4aeceec17c899213584d719c395718
profile_json:
{"analysis": {"embedded_roms": {"accessor": "GNUFrame::GetResourceData() -> apple2roms::data map", "build_system": "CMake add_resources() in resource/CMakeLists.txt", "peripheral_firmware": [{"filename": "DISK2-13sector.rom", "id": "IDR_DISK2_13SECTOR_FW", "md5": "4f80448507cf43ab40c17ac08d89e278", "note": "Disk II 13-sector controller ROM (256 B)", "sha1": "afd060e6f35faf3bb0146fa889fc787adf56330a", "size": 256}, {"filename": "DISK2.rom", "id": "IDR_DISK2_16SECTOR_FW", "md5": "2020aa1413ff77fe29353f3ee72dc295", "note": "Disk II 16-sector controller ROM (256 B)", "sha1": "d4181c9f046aafc3fb326b381baac809d9e38d16", "size": 256}, {"filename": "SSC.rom", "id": "IDR_SSC_FW", "md5": "67c0d61ab0911183faf05270f881a97e", "note": "Super Serial Card firmware (2 KB)", "sha1": "6dab633470c6bc4cb3e81d09fda46597caf8ee57", "size": 2048}, {"filename": "Hddrvr.bin", "id": "IDR_HDDRVR_FW", "md5": "e0a40e9166af27b16f60beb83c9233f0", "note": "Hard disk controller firmware v1 (256 B)", "sha1": "69667800c54da1d4466e7b2168c0e418a4cf586c", "size": 256}, {"filename": "Hddrvr-v2.bin", "id": "IDR_HDDRVR_V2_FW", "md5": "a49e45e7a6d4de23e0845a59c7e31e0c", "note": "Hard disk controller firmware v2 (256 B)", "sha1": "06115eebb4d58221b5c062a42bf3e41e137447ed", "size": 256}, {"filename": "HDC-SmartPort.bin", "id": "IDR_HDC_SMARTPORT_FW", "md5": "2592efa1d34ade55d490a1b39911c9b2", "note": "SmartPort hard disk controller firmware (256 B)", "sha1": "fd557998fd5823ad69a42ad1282e4fe47db02dca", "size": 256}, {"filename": "Parallel.rom", "id": "IDR_PRINTDRVR_FW", "md5": "5902996f16dc78fc013f6e1db14805b3", "note": "Parallel printer card firmware (256 B)", "sha1": "c75c751589cbcc1ad4ab4f63676af7abadd86f5b", "size": 256}, {"filename": "Mockingboard-D.rom", "id": "IDR_MOCKINGBOARD_D_FW", "md5": "ab53170c5ec66b63e6356f637f4388ed", "note": "Mockingboard-D sound card firmware (2 KB)", "sha1": "e8d20f4b59fe867ff76434d35a14d2cbdc8533e3", "size": 2048}, {"filename": "MouseInterface.rom", "id": "IDR_MOUSEINTERFACE_FW", "md5": "22563ab338024dac7b03510371d49c57", "note": "Mouse interface card firmware (2 KB)", "sha1": "3a9d881a8a8d30f55b9719aceebbcf717f829d6f", "size": 2048}, {"filename": "ThunderClockPlus.rom", "id": "IDR_THUNDERCLOCKPLUS_FW", "md5": "138b1f7e30953fcaa58fcbf562c15001", "note": "ThunderClock Plus firmware (2 KB)", "sha1": "60f434f5325899d7ea257a6e56e6f53eae65146a", "size": 2048}, {"filename": "TKClock.rom", "id": "IDR_TKCLOCK_FW", "md5": "7076083b9d748b7637b020636543971b", "note": "TK Clock firmware (2.25 KB)", "sha1": "3740516cc9050465f8b884dbeb0ecdd2c1354620", "size": 2304}], "source_ref": "source/frontends/common2/gnuframe.cpp:83", "storage": "apple2roms static library linked into core binary", "system_roms": [{"filename": "Apple2.rom", "id": "IDR_APPLE2_ROM", "md5": "3c406514b9806a7c57ee65fb0b0c39b4", "note": "Apple ][ original ROM (12 KB)", "sha1": "09288be705464b608ff190519ab008d3dfcd1b05", "size": 12288}, {"filename": "Apple2_Plus.rom", "id": "IDR_APPLE2_PLUS_ROM", "md5": "572b3005a4fa49bc54917b069b82c1ab", "note": "Apple ][+ ROM (12 KB)", "sha1": "33a24f5489ba9195b44be77d9afb2252594cb5c7", "size": 12288}, {"filename": "Apple2_JPlus.rom", "id": "IDR_APPLE2_JPLUS_ROM", "md5": "f3e8237eca3809bec2a42b984a1332a8", "note": "Apple ][ J-Plus ROM (12 KB)", "sha1": "ad200b3263d08e7235d0871c8595963a07adc905", "size": 12288}, {"filename": "Apple2e.rom", "id": "IDR_APPLE2E_ROM", "md5": "346bc782c6a08a531c460e33bc03daf4", "note": "Apple //e ROM (16 KB)", "sha1": "61fa9254628e5bb7236fb474006116d67684d747", "size": 16384}, {"filename": "Apple2e_Enhanced.rom", "id": "IDR_APPLE2E_ENHANCED_ROM", "md5": "38063e08c778503fc03ecebb979769e9", "note": "Enhanced Apple //e ROM (16 KB, default machine type)", "sha1": "b8ea90abe135a0031065e01697c4a3a20d51198b", "size": 16384}, {"filename": "PRAVETS82.ROM", "id": "IDR_PRAVETS_82_ROM", "md5": "c619b7edfcf021f3b8fd20d9386676ba", "note": "Pravets 82 ROM (12 KB)", "sha1": "8bd7ced83e209a15e9b19a05a5ef4b8e996dc1a5", "size": 12288}, {"filename": "PRAVETS8M.ROM", "id": "IDR_PRAVETS_8M_ROM", "md5": "76c79535f7cf77973e2c711aa977a124", "note": "Pravets 8M ROM (12 KB)", "sha1": "f1b4ff018acf95f3355f0d575b66a188d728b687", "size": 12288}, {"filename": "PRAVETS8C.ROM", "id": "IDR_PRAVETS_8C_ROM", "md5": "1896d7b98dd940c89f7c8ea899b71006", "note": "Pravets 8A/8C ROM (16 KB)", "sha1": "c976fe56e57706c161f513a82ba3e0d8cda83904", "size": 16384}, {"filename": "TK3000e.rom", "id": "IDR_TK3000_2E_ROM", "md5": "8d84b614b545d4eec8799d3f325332cb", "note": "TK3000 //e ROM (16 KB)", "sha1": "f163e5753c18ff0e812a448e8da406f102600edf", "size": 16384}, {"filename": "Base64A.rom", "id": "IDR_BASE_64A_ROM", "md5": "352fdbcae14c6a8c0398822c7a273309", "note": "Base64A ROM (48 KB)", "sha1": "f1c779af480b5bda2bdd03950c1201a5c5143bea", "size": 49152}, {"filename": "Freezes_Non-autostart_F8_Rom.rom", "id": "IDR_FREEZES_F8_ROM", "md5": "d0a61e95ed1e1dc37c8e4801326aa79e", "note": "Freezes non-autostart F8 ROM (2 KB)", "sha1": "3180be6b555ee9ef1f59c4fc3f25c5aab8c39c81", "size": 2048}], "video_roms": [{"filename": "Apple2_Video.rom", "id": "IDR_APPLE2_VIDEO_ROM", "md5": "9ac0dc8c4d0002eb45b0b84be0bde5ec", "note": "Apple II character generator ROM (2 KB)", "sha1": "f9d312f128c9557d9d6ac03bfad6c3ddf83e5659", "size": 2048}, {"filename": "Apple2_JPlus_Video.rom", "id": "IDR_APPLE2_JPLUS_VIDEO_ROM", "md5": "271e2c9bf928b95e7baeff391db45495", "note": "Apple ][ J-Plus character generator ROM (2 KB)", "sha1": "0a382be58db5215c4a3de53b19a72fab660d5da2", "size": 2048}, {"filename": "Apple2e_Enhanced_Video.rom", "id": "IDR_APPLE2E_ENHANCED_VIDEO_ROM", "md5": "9123fff3442c0e688cc6816be88dd4ab", "note": "Enhanced Apple //e character generator ROM (4 KB)", "sha1": "b2b5d87f52693817fc747df087a4aa1ddcdb1f10", "size": 4096}, {"filename": "Base64A_German_Video.rom", "id": "IDR_BASE64A_VIDEO_ROM", "md5": "4b45852b369e2afd864a02d0d91f70dc", "note": "Base64A German character generator ROM (4 KB)", "sha1": "87ca8135f7526ddf829f9c2c4f7dbe4d568818fc", "size": 4096}]}}, "core_classification": "community_fork", "core_version": "1.31.0.1", "cores": ["applewin"], "display_name": "Apple II (AppleWin)", "emulator": "AppleWin", "files": [], "notes": "AppleWin is an Apple II/IIe/II+ emulator. The libretro port embeds all\nROM images directly into the compiled binary via a CMake resource system\n(resource/CMakeLists.txt -> apple2roms static library -> apple2roms_data.h).\nThe GNUFrame::GetResourceData() function serves ROMs from this compiled-in\nmap. No external BIOS/firmware files are needed.\n\nThe core never calls RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY and the official\napplewin_libretro.info has zero firmware entries.\n\nSupported machine types (via core option applewin_machine):\n  Enhanced Apple //e, Apple ][ (Original), Apple ][+, Apple ][ J-Plus,\n  Apple //e, Pravets 82, Pravets 8M, Pravets 8A, Base64A, TK3000 //e\n\nSupported extensions: bin, do, dsk, nib, po, gz, woz, zip, 2mg, 2img,\niie, apl, hdv, yaml, m3u\n\nsupports_no_game: true (can boot without content)\n", "profiled_date": "2026-03-23", "source": "https://github.com/audetto/AppleWin", "source_commit": "599e81d07f4aeceec17c899213584d719c395718", "systems": ["apple-ii"], "type": "libretro", "upstream": "https://github.com/AppleWin/AppleWin"}


id: aps3e
name: aPS3e
type: standalone
classification: community_fork
source: https://github.com/aenu1/aps3e
upstream: https://github.com/RPCS3/rpcs3
source_commit: 65ec7583bb8c1ff8b5e516c8f8c8d006d9cae3c2
profile_json:
{"core_classification": "community_fork", "core_version": "2.41", "cores": ["aps3e"], "dev_flash": {"certs": {"note": "Root certificates cellSsl enumerates.", "path": "dev_flash/data/cert/", "source_ref": "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/Modules/cellSsl.cpp:110"}, "fonts": {"files": ["SCE-PS3-RD-R-LATIN.TTF", "SCE-PS3-RD-L-LATIN.TTF", "SCE-PS3-RD-B-LATIN.TTF", "SCE-PS3-RD-R-LATIN2.TTF", "SCE-PS3-RD-L-LATIN2.TTF", "SCE-PS3-RD-B-LATIN2.TTF", "SCE-PS3-MT-R-LATIN.TTF", "SCE-PS3-NR-R-JPN.TTF", "SCE-PS3-NR-L-JPN.TTF", "SCE-PS3-NR-B-JPN.TTF", "SCE-PS3-YG-R-KOR.TTF", "SCE-PS3-SR-R-LATIN.TTF", "SCE-PS3-SR-R-LATIN2.TTF", "SCE-PS3-SR-R-JPN.TTF", "SCE-PS3-VR-R-LATIN.TTF", "SCE-PS3-VR-R-LATIN2.TTF", "SONY-CC/SCE-PS3-DH-R-CGB.TTF"], "note": "Faces cellFontOpenFontset maps by type, and the directory the overlay searches for its own list. A fontset the emulator does not implement falls back to SCE-PS3-RD-R-LATIN.TTF.", "path": "dev_flash/data/font/", "source_ref": "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/Modules/cellFont.cpp:226-241, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/Modules/cellFont.cpp:281, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/RSX/Overlays/overlay_fonts.cpp:117-118"}, "note": "Mounted at /dev_flash and rooted at the config directory. Written only by the firmware installer, which extracts the dev_flash_ packages of the PUP into it.", "path": "config/dev_flash/", "ps1emu": {"note": "ps1_newemu.self, the argv[0] of a PS1 Classics boot.", "path": "dev_flash/ps1emu/", "source_ref": "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/System.cpp:2171"}, "pspemu": {"note": "psp_emulator.self, the argv[0] of a PSP minis boot.", "path": "dev_flash/pspemu/", "source_ref": "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/System.cpp:2199"}, "source_ref": "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/vfs_config.h:15, aps3e/app/src/main/cpp/aps3e_rp3_impl.cpp:127-129", "sys_external": {"critical_file": "liblv2.sprx", "note": "Firmware SPRX modules. liblv2.sprx gates the boot and pulls the rest in; each module can be forced to LLE or HLE through Libraries Control, which the shipped configuration leaves empty. flashATRAC.pic is named by cellSysmodule for the ATRAC module path.", "path": "dev_flash/sys/external/", "source_ref": "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/PPUModule.cpp:2608-2610, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/lv2/sys_prx.cpp:207"}, "sys_internal": {"note": "Internal modules, libfs_utility_init.sprx among them.", "path": "dev_flash/sys/internal/", "source_ref": "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/lv2/sys_prx.cpp:33-34"}, "vsh": {"note": "vsh/etc/version.txt supplies the installed firmware version, compared against the PS3_SYSTEM_VER a title declares. vsh/module/eseibrd.sprx is precompiled at boot and vsh/resource/explore/user carries the avatars the user list draws.", "path": "dev_flash/vsh/", "source_ref": "aps3e/app/src/main/cpp/rpcs3/rpcs3/util/sysinfo.cpp:651-653, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/PPUThread.cpp:4433-4441, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/RSX/Overlays/overlay_user_list_dialog.cpp:207"}}, "dev_flash2": {"note": "CELL_FS_FAT on CELL_FS_IOS:BUILTIN_FLSH2. Mount point only, created empty.", "path": "config/dev_flash2/", "source_ref": "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/vfs_config.h:16, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/lv2/sys_fs.cpp:28"}, "dev_flash3": {"note": "CELL_FS_FAT on CELL_FS_IOS:BUILTIN_FLSH3. Mount point only, created empty.", "path": "config/dev_flash3/", "source_ref": "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/vfs_config.h:17, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/lv2/sys_fs.cpp:27"}, "display_name": "Sony - PlayStation 3 (aPS3e)", "emulator": "aPS3e", "files": [{"description": "PS3 system software update package", "name": "PS3UPDAT.PUP", "note": "Selected through the file picker and read from a descriptor. The PUP object rejects an empty file, a wrong magic, a declared size the file does not reach, an unreadable entry table and a failed entry hash. Segment 0x300 carries the installation package database and segment 0x100 the version string; the packages whose names contain dev_flash_ are decrypted with the SCEPKG keys and their inner TARs extracted over dev_flash. The Java layer creates dev_flash/.installed once the native call returns true. No digest of the file itself is compared against anything.", "required": true, "source_ref": "aps3e/app/src/main/cpp/aps3e_emu.cpp:587-757, aps3e/app/src/main/cpp/emulator_aps3e.cpp:1045, aps3e/app/src/main/java/aenu/aps3e/MainActivity.java:538-570, aps3e/app/src/main/res/values/strings.xml:108-110", "storage": "large_file"}, {"aliases": ["<game>.key"], "description": "Redump disc decryption key read beside an encrypted ISO", "name": "<game>.dkey", "note": "Resolved as a sidecar of the image being launched, .dkey first then .key, and passed down as a second descriptor. 32 bytes are read as a hex string and converted, 16 bytes are taken as raw; any other length fails the key check. An image whose odd regions are encrypted does not boot without it.", "required": false, "size_options": [16, 32], "source_ref": "aps3e/app/src/main/java/aenu/aps3e/Utils.java:170-190, aps3e/app/src/main/cpp/rpcs3/rpcs3/Loader/iso.cpp:354-399, aps3e/app/src/main/cpp/rpcs3/rpcs3/Loader/iso.cpp:850-870", "unsourceable": "per-disc AES-128 key named after the image it decrypts, one per title, carried by disc dump catalogues rather than by the emulator", "validation": ["size"]}, {"description": "PSN content licence", "name": "<content_id>.rap", "note": "Imported through the EDAT/RAP/PKG entry and copied byte for byte into dev_hdd0/home/00000001/exdata under the name it was given. The import is refused unless the source is exactly 16 bytes. SELF decryption looks the matching file up in that folder by content id, with a lowercase extension.", "required": false, "size": 16, "source_ref": "aps3e/app/src/main/java/aenu/aps3e/MainActivity.java:596-600, aps3e/app/src/main/java/aenu/aps3e/Emulator.java:820-844, aps3e/app/src/main/cpp/rpcs3/rpcs3/Crypto/unself.cpp:1271-1286, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/system_utils.cpp:391", "unsourceable": "per-title activation licence tied to the account that bought the content, never distributed generically", "validation": ["size"]}, {"description": "Encrypted data file for licensed content", "min_size": 144, "name": "<content_id>.edat", "note": "Imported through the same entry. The NPD header is read and the file refused below 0x90 bytes or when the magic is not NPD, then written whole to dev_hdd0/home/00000001/exdata under the content id the header declares.", "required": false, "source_ref": "aps3e/app/src/main/java/aenu/aps3e/MainActivity.java:601-605, aps3e/app/src/main/cpp/aps3e_emu.cpp:801-829, aps3e/app/src/main/cpp/emulator_aps3e.cpp:1052, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/system_utils.cpp:413", "unsourceable": "per-content licensed data file, shipped with the content it belongs to", "validation": ["size"]}, {"aliases": ["<font>.ttc", "<font>.otf"], "config_key": "Miscellaneous/Custom Font File Path", "description": "Replacement face for the overlay text", "name": "<font>.ttf", "note": "Copied into the font directory at the data root by the picker, its absolute path stored in the configuration. Used for the default, CJK base and Hangul classes at once, and only while Font File Selection is Custom. The setting reverts to From Firmware when the stored path no longer resolves, so the firmware faces cover the absence.", "required": false, "source_ref": "aps3e/app/src/main/java/aenu/aps3e/EmulatorSettings.java:1326-1346, aps3e/app/src/main/cpp/aps3e_rp3_impl.cpp:203-215, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/system_config.h:401-402", "unsourceable": "any TrueType, TrueType collection or OpenType face the user picks, with no name or version the code expects"}, {"aliases": ["<driver>.zip"], "config_key": "Video/Vulkan/Custom Driver Library Path", "description": "Replacement Vulkan driver", "name": "<driver>.so", "note": "Imported as a shared object, or as a zip whose meta.json names the library to keep, and unpacked into the driver directory in internal storage. Read from the global config YAML before the emulator initialises and dlopened in place of the system loader. The system libvulkan.so is used when Use Custom Driver is off, the path is empty, or the file is gone.", "required": false, "source_ref": "aps3e/app/src/main/java/aenu/aps3e/EmulatorSettings.java:1229-1324, aps3e/app/src/main/cpp/aps3e_emu.cpp:875-899, aps3e/app/src/main/cpp/vkapi.cpp:21, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/system_config.h:209-211", "unsourceable": "third-party Vulkan driver built for one GPU family, not an emulator artefact"}], "notes": "PlayStation 3 emulator for Android, distributed on Google Play as aenu.aps3e\nand aenu.aps3e.premium. RPCS3 is vendored whole under app/src/main/cpp/rpcs3\nrather than pulled as a submodule, and a JNI layer of about six thousand lines\nreplaces the Qt front end. The vendored tree reports itself as 0.0.41-alpha.1\nat RPCS3 commit 40e9ee5a.\nref: aps3e/app/src/main/cpp/rpcs3/rpcs3/git-version.h:3,\n     aps3e/app/src/main/cpp/rpcs3/rpcs3/rpcs3_version.cpp:29\n\nSource drops land on successive branches, not on the default one. Release 2.41\nof 2026-07-30 is the commit titled 2.41 at the head of main4; the lightweight\ntags 2.39, 2.40 and 2.41 all sit on the head of main2, an April tree that\npredates every one of those releases and whose generated git-version.h was\nnever filled in. main4 is the tree read here. No versionName is usable either:\nthe only gradle file committed is app/build.gradle.bak, which carries the\nplaceholder 1.19a and is renamed and completed with the signing block at build\ntime.\nref: aps3e/README.md, aps3e/app/build.gradle.bak:16\n\nEmulator paths derive from APS3E_DATA_DIR, set by the Java layer to the\nexternal files directory of the package. The config directory holds dev_flash,\ndev_hdd0, custom_cfg and the global config.yml; caches live beside it. The\ncustom font directory sits at the data root, and the custom GPU driver\ndirectory sits in internal storage because the external filesystem cannot\ncarry an executable mapping.\nref: aps3e/app/src/main/cpp/aps3e_rp3_impl.cpp:127-133,\n     aps3e/app/src/main/java/aenu/aps3e/Application.java:21-64\n\nThe PS3 firmware is required and nothing runs without it. Three independent\ngates enforce it: the game list refuses to launch an entry when the marker\nconfig/dev_flash/.installed is absent, the quick start wizard keeps its Next\nbutton disabled on the firmware page until that marker exists, and the boot\npath itself returns firmware_missing when dev_flash/sys/external/liblv2.sprx\nis not a file. The third gate covers the intent launched directly against\nEmulatorActivity, which does not pass through the game list. The shipped\nconfiguration leaves Libraries Control empty, so liblv2.sprx keeps its default\nentry in the module list and the check fires.\nref: aps3e/app/src/main/java/aenu/aps3e/MainActivity.java:143-145,\n     aps3e/app/src/main/java/aenu/aps3e/MainActivity.java:187-190,\n     aps3e/app/src/main/java/aenu/aps3e/QuickStartActivity.java:316-318,\n     aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/System.cpp:2747-2767,\n     aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/lv2/sys_prx.cpp:86,\n     aps3e/app/src/main/assets/config/config.yml\n\nOverlay text is drawn from a font list chosen by the Font File Selection\nsetting. From Firmware, the default, asks for Arial.ttf, arial.ttf, the\nAndroid system face at /system/fonts/Roboto-Regular.ttf and then\nSCE-PS3-VR-R-LATIN.TTF for Latin, SCE-PS3-SR-R-JPN.TTF and SCE-PS3-DH-R-CGB.TTF\nfor the CJK base, and SCE-PS3-YG-R-KOR.TTF for Hangul. The SCE faces are\nresolved against dev_flash/data/font and dev_flash/data/font/SONY-CC, so they\ncome from the firmware rather than from a separate download. Custom points all\nthree classes at one file and reverts to From Firmware when that path no\nlonger exists.\nref: aps3e/app/src/main/cpp/aps3e_rp3_impl.cpp:192-222,\n     aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/RSX/Overlays/overlay_fonts.cpp:113-118\n\nVulkan is reached through a loader chosen before the emulator starts. The\nglobal config YAML is read directly for Use Custom Driver and Custom Driver\nLibrary Path, and the named library is dlopened when both are set and the path\nexists; otherwise the system libvulkan.so is used. Drivers are imported either\nas a bare shared object or as a zip whose meta.json names the library.\nref: aps3e/app/src/main/cpp/aps3e_emu.cpp:875-899,\n     aps3e/app/src/main/cpp/vkapi.cpp:21,\n     aps3e/app/src/main/java/aenu/aps3e/EmulatorSettings.java:1229-1324\n\nEncrypted disc images are supported by a loader that has no counterpart in the\ndesktop code line. Launching an ISO makes the Java layer look for a sidecar key\nbeside it, trying the base name with .dkey and then with .key, and hand the\ndescriptor down beside the image. The key is accepted at exactly 32 bytes, read\nas a hex string, or exactly 16 bytes, read as raw bytes, and installed as an\nAES-128 decryption context. A 3k3y watermark at offset 0xF70 is recognised\nseparately and needs no key.\nref: aps3e/app/src/main/java/aenu/aps3e/Utils.java:170-190,\n     aps3e/app/src/main/java/aenu/aps3e/EmulatorActivity.java:147-153,\n     aps3e/app/src/main/cpp/rpcs3/rpcs3/Loader/iso.cpp:354-399,\n     aps3e/app/src/main/cpp/rpcs3/rpcs3/Loader/iso.cpp:508-554\n\nOne import entry point takes EDAT, RAP and PKG. A RAP is copied verbatim into\nthe exdata folder of user 00000001 and rejected unless it is exactly 16 bytes.\nAn EDAT is parsed for its NPD header, rejected below 0x90 bytes or without the\nNPD magic, and written to the same folder under the content id the header\ncarries. A PKG goes through the package reader and lands in dev_hdd0.\nref: aps3e/app/src/main/java/aenu/aps3e/MainActivity.java:594-605,\n     aps3e/app/src/main/java/aenu/aps3e/Emulator.java:820-844,\n     aps3e/app/src/main/cpp/aps3e_emu.cpp:801-829,\n     aps3e/app/src/main/cpp/aps3e_emu.cpp:783-793\n\npatch.yml, compatibility_table.json and database_config.json ship inside the\nAPK as assets and are not user supplied.\nref: aps3e/app/src/main/assets\n", "profiled_date": "2026-08-11", "source": "https://github.com/aenu1/aps3e", "source_branch": "main4", "source_commit": "65ec7583bb8c1ff8b5e516c8f8c8d006d9cae3c2", "systems": ["sony-playstation-3"], "type": "standalone", "upstream": "https://github.com/RPCS3/rpcs3", "upstream_commit": "40e9ee5af0de7ca31691c58eebe64ba205a2900b"}


id: arcadeflashweb
name: ArcadeFlashWeb
type: standalone
classification: launcher
source: https://github.com/aureyoboss/ArcadeFlashWeb
upstream: https://github.com/aureyoboss/ArcadeFlashWeb
source_commit: 5de66e0cd69b48721a094887a28d042f71ddad08
profile_json:
{"core_classification": "launcher", "core_version": "1.0.2", "cores": ["arcadeflashweb"], "display_name": "Adobe Flash (ArcadeFlashWeb)", "emulator": "ArcadeFlashWeb", "files": [{"bundled": true, "description": "Adobe Pepper Flash Player runtime", "name": "pepflashplayer.dll", "note": "Handed to Chromium as --ppapi-flash-path and resolved against the process working directory. Without it no plugin is registered, SWFObject finds no player and the movie is never embedded. The page asks for a reported version of at least 32.0.0; the build that ships is the 32-bit 32.0.0.371.", "required": true, "source_ref": "src/main.cpp:40, ArcadeFlashWeb v1.0.2 flash/flash.html:102"}, {"bundled": true, "description": "Page that embeds the movie", "name": "flash.html", "note": "Every local SWF goes through it, carrying the path and the two dimensions in the query string. Absent, the view is pointed at a file that does not exist and nothing plays.", "path": "flash/flash.html", "required": true, "source_ref": "src/main.qml:327,334, src/Navigateur.qml:150"}, {"bundled": true, "description": "SWFObject 2.2 embed library", "name": "swfobject.js", "note": "The only definition of swfobject, included by flash.html before the script that calls embedSWF. It reads the player version from the Shockwave Flash plugin description, refines it from a probe object's $version, and refuses to embed below the version the page asks for.", "path": "flash/swfobject/swfobject.js", "required": true, "source_ref": "ArcadeFlashWeb v1.0.2 flash/flash.html:38, ArcadeFlashWeb v1.0.2 flash/swfobject/swfobject.js:1-4"}, {"bundled": true, "description": "Backdrop of the player page", "name": "background.jpg", "note": "Drawn behind the movie by the page's bg div. The same image is compiled into the binary for the QML side, so only this copy is read from disk.", "path": "flash/images/background.jpg", "required": false, "source_ref": "ArcadeFlashWeb v1.0.2 flash/flash.html:110, src/qml.qrc:23"}, {"bundled": true, "description": "SWFTools swfdump, reads the movie's natural size", "name": "swfdump.exe", "note": "Run through cmd /C with -X -Y and the output redirected to swf.txt, then parsed as the second and fourth whitespace fields. Skipped when both -swfwidth: and -swfheight: are given. Absent, the redirection still creates an empty file, both fields parse to NaN and the page sizes the object from that.", "required": false, "source_ref": "src/main.qml:324-325, src/Navigateur.qml:147-148"}, {"bundled": true, "description": "AntiMicro gamepad to keyboard mapper", "name": "antimicro.exe", "note": "Started hidden before the movie loads, only when -profilantimicro: is given. The copy that ships is a 2016 build carrying its own Qt 5 runtime in the same folder.", "path": "antimicro/antimicro.exe", "required": false, "source_ref": "src/main.qml:309,311"}, {"bundled": true, "description": "AntiMicro mapping profile", "name": "arcadeflashweb.gamecontroller.amgp", "note": "Passed to AntiMicro as --profile under the name -profilantimicro: gives; the name that ships is the one the built-in help quotes. With -controleurantimicro: also set the call carries --profile-controller instead and no profile file is read.", "path": "antimicro/profiles/arcadeflashweb.gamecontroller.amgp", "required": false, "source_ref": "src/main.qml:309-312"}, {"bundled": true, "description": "Adobe Flash Access blob shipped with the runtime", "name": "pepper.vch", "note": "Named in the Flash library's own string table next to PepperFlashPlayer. PKCS#7 over 446144 opaque bytes, signed through the Adobe Flash Access chain under subject CN AdobeIV-202002031156. It carries DRM material and no plain SWF needs it.", "required": false, "source_ref": "ArcadeFlashWeb v1.0.2 pepflashplayer.dll string table"}], "notes": "Qt 5.13 application that plays SWF files by hosting Adobe's Pepper Flash\nruntime inside a QtWebEngine view. Windows only. ES-DE runs\nArcadeFlashWeb.exe -fullscreen -source:<rom>, RetroBat adds -nodatetime,\n-savedataflash: and -picturesfolder: and sets the working directory to the\nprogram folder. The repository carries the Qt and QML sources and the\nreleases; arcadeflashweb.com no longer resolves and holds no archived\ncapture. Every string quoted below was also read back from the shipped\nv1.0.2 executable, which matches the sources.\nref: src/ArcadeFlashWeb.pro:1-5, src/main.qml:34-35\n\nThe runtime is registered from the command line. main sets\nQTWEBENGINE_CHROMIUM_FLAGS to \"--enable-pepper-testing\n--ppapi-flash-path=./pepflashplayer.dll\" before QtWebEngine::initialize, so\nChromium takes the plugin from that path. It is the one file resolved\nagainst the process working directory; everything else below hangs off\napplicationDirPath. No --ppapi-flash-version accompanies it, and nothing\nreads the manifest.json sitting beside the library: QtWebEngine builds the\nplugin entry from the two switches alone and the library never names that\nfile. The manifest is still what identifies the build, Pepper Flash\n32.0.0.371 for win/ia32.\nref: src/main.cpp:37-44, ArcadeFlashWeb v1.0.2 manifest.json:2-7,\n     qtwebengine 5.13 src/core/content_client_qt.cpp AddPepperFlashFromCommandLine\n\nA local movie is not handed to the view. The url becomes\nfile:///<appdir>/flash/flash.html?jeu=<rom>=<width>=<height>, and that page\nsplits the query on the equals signs, fits the movie to the window and calls\nswfobject.embedSWF with scale exactfit and wmode direct. The version it asks\nfor is 32.0.0, so SWFObject creates the object only when the registered\nplugin reports at least that. A -source: containing \"http\" loads in the view\nunchanged and uses none of this.\nref: src/main.qml:317-347, src/Navigateur.qml:144-155,\n     ArcadeFlashWeb v1.0.2 flash/flash.html:38-104\n\nNatural dimensions come from swfdump. When -swfwidth: and -swfheight: are\nnot both given, which is the case for both ES-DE and RetroBat, the program\nruns cmd /C <appdir>/swfdump.exe -X -Y <rom> redirected to swf.txt in the\ndata directory and reads the second and fourth whitespace fields back.\nref: src/main.qml:109-128, src/main.qml:321-335, src/Navigateur.qml:147-148\n\n-profilantimicro: starts AntiMicro hidden with a profile from\nantimicro/profiles before the movie loads. Adding -controleurantimicro:\nreplaces that argument with --profile-controller, and the profile file is\nthen not passed at all.\nref: src/main.qml:305-314\n\nWritten rather than expected: swf.txt, the QML LocalStorage database holding\nthe last browser path with the bezel, screen mode and clock flags, the\nQtWebEngine cache and persistent storage under -savedataflash:, and the JPEG\nscreenshots. The interface icons, the bezel, the CRT and scanline overlays\nand the wallpaper are compiled in through qml.qrc, so of the images only the\ncopy under flash/images is read from disk, and it is byte for byte the\ncompiled one. Two files ship unread: flash/swfobject/expressInstall.swf,\nwhich flash.html disables by passing false for the express install url, and\nflash/swfobject/test.swf, which nothing names.\nref: src/qml.qrc:1-33, src/Sauvegarde.js:1-30, src/main.qml:132-159,\n     ArcadeFlashWeb v1.0.2 flash/flash.html:102\n\nThe remainder of the release is the Qt 5.13.2 deployment of the program\nitself. VCRUNTIME140.dll and the UCRT stubs sit in the executable's import\ndirectory, so the Visual C++ 2017 x86 redistributable has to be installed,\nand the release carries its installer.\nref: README.md:59, ArcadeFlashWeb v1.0.2 ArcadeFlashWeb.exe import directory\n", "profiled_date": "2026-08-11", "source": "https://github.com/aureyoboss/ArcadeFlashWeb", "source_commit": "5de66e0cd69b48721a094887a28d042f71ddad08", "systems": ["flash"], "type": "standalone", "upstream": "https://github.com/aureyoboss/ArcadeFlashWeb"}


id: ardens
name: Ardens
type: libretro
classification: official_port
source: https://github.com/tiberiusbrown/ardens
upstream: https://github.com/tiberiusbrown/ardens
source_commit: 8237fb9ecfe413abcdb2cc865ada80755486dfa9
profile_json:
{"core_classification": "official_port", "core_version": "Git", "cores": ["ardens"], "display_name": "Arduboy (Ardens)", "emulator": "Ardens", "files": [], "notes": "Arduboy FX simulator (ATmega32U4 + SSD1306 + W25Q128). All boot code\nembedded as C arrays: Caterina/Arduboy3K bootloaders for D1/D2/E2\nhardware revisions and flashcart header. EEPROM and flash state handled\nvia RETRO_MEMORY_SAVE_RAM. The libretro port never accesses the system\ndirectory. firmware_count = 0.\n", "platform_details": {"embedded_bootloaders": {"note": "All bootloaders are compiled from Intel HEX into C arrays at build\ntime. The core selects the game or menu variant at reset depending\non whether a flashcart image was loaded and the boot_to_menu config\nflag (absim_arduboy.cpp:142-158). The bootloader is written to the\ntop of the ATmega32U4 program memory at the address defined by the\nBOOTSZ fuse bits (absim.hpp:811).\n", "source_ref": "src/boot/_make.bat, src/absim_arduboy.cpp:115-161", "variants": [{"array": "ARDENS_BOOT_GAME_D1", "device": "Arduboy FX (SDA)", "name": "arduboy3k-bootloader-game-sda", "size": 8422}, {"array": "ARDENS_BOOT_MENU_D1", "device": "Arduboy FX (SDA)", "name": "arduboy3k-bootloader-menu-sda", "size": 8422}, {"array": "ARDENS_BOOT_GAME_D2", "device": "Arduboy FX DevKit", "name": "arduboy3k-bootloader-game-devkit", "size": 8446}, {"array": "ARDENS_BOOT_MENU_D2", "device": "Arduboy FX DevKit", "name": "arduboy3k-bootloader-menu-devkit", "size": 8446}, {"array": "ARDENS_BOOT_GAME_E2", "device": "Arduboy Mini", "name": "arduboymini-bootloader-game", "size": 8548}, {"array": "ARDENS_BOOT_MENU_E2", "device": "Arduboy Mini", "name": "arduboymini-bootloader-menu", "size": 8548}]}, "embedded_flashcart_header": {"array": "ARDENS_BOOT_FLASHCART", "note": "Empty flashcart header written to the first 1536 bytes of the\nW25Q128 flash image during initialization. This is not a BIOS\nfile -- it is the default flash content the Arduboy FX expects\nat the start of external storage.\n", "size": 1536, "source_ref": "src/boot/boot_flashcart.c, src/absim_w25q128.hpp:14"}}, "profiled_date": "2026-03-23", "source": "https://github.com/tiberiusbrown/ardens", "source_commit": "8237fb9ecfe413abcdb2cc865ada80755486dfa9", "systems": ["arduboy"], "type": "libretro", "upstream": "https://github.com/tiberiusbrown/ardens"}


id: arduous
name: Arduous
type: libretro
classification: pure_libretro
source: https://github.com/libretro/arduous
upstream: https://github.com/jmaroeder/arduous
source_commit: 882ea139758fef5e5d711324d138d812abd5c10c
profile_json:
{"core_classification": "pure_libretro", "core_version": "0.1.0", "cores": ["arduous"], "display_name": "Arduboy (Arduous)", "emulator": "Arduous", "files": [], "notes": "ATmega32U4 AVR simulator built on simavr with SSD1306 OLED display\nemulation. MCU hardcoded at 16 MHz (arduous.h:70-71). Game content\n(.hex) parsed via in-tree ihex reader and written directly into\nsimavr flash (arduous.cpp:169-179). No system directory access.\n", "profiled_date": "2026-03-23", "source": "https://github.com/libretro/arduous", "source_commit": "882ea139758fef5e5d711324d138d812abd5c10c", "systems": ["arduboy"], "type": "libretro", "upstream": "https://github.com/jmaroeder/arduous"}


id: ares
name: ares
type: standalone
source: https://github.com/ares-emulator/ares
upstream: https://github.com/ares-emulator/ares
source_commit: b80f67d38312648d197762121c3a27b02c0887db
profile_json:
{"core_version": "v147", "cores": ["ares"], "display_name": "ares", "emulator": "ares", "files": [{"description": "ColecoVision BIOS", "mode": "standalone", "name": "colecovision.rom", "required": true, "sha256": "990bf1956f10207d8781b619eb74f89b00d921c8d45c95c334c16c8cceca09ad", "source_ref": "desktop-ui/emulator/colecovision.cpp:12", "system": "colecovision", "validation": ["sha256"]}, {"description": "Famicom Disk System BIOS", "mode": "standalone", "name": "disksys.rom", "required": true, "sha256": "fdc1a76e654feea993fcb38366e05ee5f4eb641f86fe6bebaeefd412e112dd72", "source_ref": "desktop-ui/emulator/famicom-disk-system.cpp:19", "system": "famicom-disk-system", "validation": ["sha256"]}, {"description": "GBA BIOS", "mode": "standalone", "name": "gba_bios.bin", "required": true, "sha256": "fd2547724b505f487e6dcb29ec2ecff3af35a841a77ab2e85fd87350abd36570", "source_ref": "desktop-ui/emulator/game-boy-advance.cpp:14", "system": "game-boy-advance", "validation": ["sha256"]}, {"description": "Game Gear BIOS", "mode": "standalone", "name": "bios.gg", "required": false, "sha256": "8c8a21335038285cfa03dc076100c1f0bfadf3e4ff70796f11f3dfaaab60eee2", "source_ref": "desktop-ui/emulator/game-gear.cpp:12, mia/system/game-gear.cpp:8 (//optional)", "system": "game-gear", "validation": ["sha256"]}, {"description": "Master System BIOS (US)", "mode": "standalone", "name": "bios_U.sms", "region": ["north-america"], "required": false, "sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50", "source_ref": "desktop-ui/emulator/master-system.cpp:14, mia/system/master-system.cpp:8 (//optional)", "system": "master-system", "validation": ["sha256"]}, {"description": "Master System BIOS (Japan)", "mode": "standalone", "name": "bios_J.sms", "region": ["japan"], "required": false, "sha256": "67846e26764bd862f19179294347f7353a4166b62ac4198a5ec32933b7da486e", "source_ref": "desktop-ui/emulator/master-system.cpp:15", "system": "master-system", "validation": ["sha256"]}, {"description": "Master System BIOS (Europe), same binary as US", "mode": "standalone", "name": "bios_E.sms", "region": ["europe"], "required": false, "sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50", "source_ref": "desktop-ui/emulator/master-system.cpp:16", "system": "master-system", "validation": ["sha256"]}, {"description": "Mega CD / Sega CD BIOS (US)", "mode": "standalone", "name": "bios_CD_U.bin", "region": ["north-america"], "required": true, "sha256": "fb477cdbf94c84424c2feca4fe40656d85393fe7b7b401911b45ad2eb991258c", "source_ref": "desktop-ui/emulator/mega-cd.cpp:17", "system": "mega-cd", "validation": ["sha256"]}, {"description": "Mega CD BIOS (Japan)", "mode": "standalone", "name": "bios_CD_J.bin", "region": ["japan"], "required": true, "sha256": "7133fc2dd2fe5b7d0acd53a5f10f3d00b5d31270239ad20d74ef32393e24af88", "source_ref": "desktop-ui/emulator/mega-cd.cpp:18", "system": "mega-cd", "validation": ["sha256"]}, {"description": "Mega CD BIOS (Europe)", "mode": "standalone", "name": "bios_CD_E.bin", "region": ["europe"], "required": true, "sha256": "fe608a2a07676a23ab5fd5eee2f53c9e2526d69a28aa16ccd85c0ec42e6933cb", "source_ref": "desktop-ui/emulator/mega-cd.cpp:19", "system": "mega-cd", "validation": ["sha256"]}, {"description": "LaserActive SEGA PAC BIOS (US), v1.04", "mode": "standalone", "name": "mega_ld_bios_U.bin", "region": ["north-america"], "required": true, "sha256": "e89b5a319f66406611ec82fe5c4aa6827c175a05135bd7bd177366cba0465021", "source_ref": "desktop-ui/emulator/mega-ld.cpp:16", "system": "mega-ld", "validation": ["sha256"]}, {"description": "LaserActive SEGA PAC BIOS (Japan), v1.02", "mode": "standalone", "name": "mega_ld_bios_J.bin", "region": ["japan"], "required": true, "sha256": "dca942d977217f703d8d1c6eb1aeb6b32c78ecc421486bbb46c459d385161c94", "source_ref": "desktop-ui/emulator/mega-ld.cpp:17", "system": "mega-ld", "validation": ["sha256"]}, {"description": "MSX BIOS ROM (Japan)", "mode": "standalone", "name": "MSX.ROM", "required": true, "sha256": "413a2b601a94b3792e054be2439cc77a1819cceadbfa9542f88d51c7480f2ef0", "source_ref": "desktop-ui/emulator/msx.cpp:19", "system": "msx", "validation": ["sha256"]}, {"description": "MSX2 main BIOS ROM (Japan)", "mode": "standalone", "name": "MSX2.ROM", "required": true, "sha256": "0c672d86ead61a97f49a583b88b7c1905da120645cd44f0c9f2baf4f4631e0b1", "source_ref": "desktop-ui/emulator/msx2.cpp:15", "system": "msx2", "validation": ["sha256"]}, {"description": "MSX2 sub ROM (Japan)", "mode": "standalone", "name": "MSX2EXT.ROM", "required": true, "sha256": "6c6f421a10c428d960b7ecc990f99af1c638147f747bddca7b0bf0e2ab738300", "source_ref": "desktop-ui/emulator/msx2.cpp:16", "system": "msx2", "validation": ["sha256"]}, {"description": "Neo Geo AES BIOS. Accepts neogeo.zip (extracts neo-epo.bin) or direct file. Byte-swapped on load.", "mode": "standalone", "name": "neo-epo.bin", "required": true, "source_ref": "desktop-ui/emulator/neo-geo-aes.cpp:14, mia/system/neo-geo-aes.cpp:16", "system": "neo-geo"}, {"description": "Neo Geo MVS BIOS. Accepts neogeo.zip (extracts sp-45.sp1) or direct file. Byte-swapped on load.", "mode": "standalone", "name": "sp-45.sp1", "required": true, "source_ref": "desktop-ui/emulator/neo-geo-mvs.cpp:15, mia/system/neo-geo-mvs.cpp:16", "system": "neo-geo"}, {"description": "Neo Geo Pocket BIOS", "mode": "standalone", "name": "ngp_bios.rom", "required": true, "sha256": "0293555b21c4fac516d25199df7809b26beeae150e1d4504a050db32264a6ad7", "source_ref": "desktop-ui/emulator/neo-geo-pocket.cpp:12", "system": "neo-geo-pocket", "validation": ["sha256"]}, {"description": "Neo Geo Pocket Color BIOS", "mode": "standalone", "name": "ngpc_bios.rom", "required": true, "sha256": "8fb845a2f71514cec20728e2f0fecfade69444f8d50898b92c2259f1ba63e10d", "source_ref": "desktop-ui/emulator/neo-geo-pocket-color.cpp:12", "system": "neo-geo-pocket-color", "validation": ["sha256"]}, {"description": "Nintendo 64DD IPL ROM (Japan retail)", "mode": "standalone", "name": "64dd_ipl_J.bin", "region": ["japan"], "required": true, "sha256": "806400ec0df94b0755de6c5b8249d6b6a9866124c5ddbdac198bde22499bfb8b", "source_ref": "desktop-ui/emulator/nintendo-64dd.cpp:17", "system": "nintendo-64dd", "validation": ["sha256"]}, {"description": "Nintendo 64DD IPL ROM (US dev kit)", "mode": "standalone", "name": "64dd_ipl_U.bin", "region": ["north-america"], "required": true, "sha256": "e9fec87a45fba02399e88064b9e2f8cf0f2106e351c58279a87f05da5bc984ad", "source_ref": "desktop-ui/emulator/nintendo-64dd.cpp:18", "system": "nintendo-64dd", "validation": ["sha256"]}, {"description": "Nintendo 64DD IPL ROM (development)", "mode": "standalone", "name": "64dd_ipl_DEV.bin", "required": true, "sha256": "9c2962a8b994a29e4cd04b3a6e4ed730a751414655ab6a9799ebf5fc08b79d44", "source_ref": "desktop-ui/emulator/nintendo-64dd.cpp:19", "system": "nintendo-64dd", "validation": ["sha256"]}, {"description": "PC Engine CD-ROM2 System Card v1.0 (Japan). Also used by PC Engine LD.", "mode": "standalone", "name": "syscard1.pce", "required": true, "sha256": "afe9f27f91ac918348555b86298b4f984643eafa2773196f2c5441ea84f0c3bb", "source_ref": "desktop-ui/emulator/pc-engine-cd.cpp:15", "system": "pc-engine-cd", "validation": ["sha256"]}, {"description": "Super CD-ROM2 System Card v3.0 (Japan). Also used by SuperGrafx CD as Arcade Card.", "mode": "standalone", "name": "syscard3.pce", "required": true, "sha256": "e11527b3b96ce112a037138988ca72fd117a6b0779c2480d9e03eaebece3d9ce", "source_ref": "desktop-ui/emulator/pc-engine-cd.cpp:16, desktop-ui/emulator/supergrafx-cd.cpp:15", "system": "pc-engine-cd", "validation": ["sha256"]}, {"description": "TurboGrafx-CD Super System Card v3.0 (US)", "mode": "standalone", "name": "syscard3u.pce", "required": true, "sha256": "cadac2725711b3c442bcf237b02f5a5210c96f17625c35fa58f009e0ed39e4db", "source_ref": "desktop-ui/emulator/pc-engine-cd.cpp:17", "system": "pc-engine-cd", "validation": ["sha256"]}, {"description": "Games Express CD Card (Japan). Also used by PC Engine LD.", "mode": "standalone", "name": "games_express.pce", "required": true, "sha256": "4b86bb96a48a4ca8375fc0109631d0b1d64f255a03b01de70594d40788ba6c3d", "source_ref": "desktop-ui/emulator/pc-engine-cd.cpp:18", "system": "pc-engine-cd", "validation": ["sha256"]}, {"description": "NEC PAC-N10 LaserActive module (US)", "mode": "standalone", "name": "pac-n10.pce", "required": true, "sha256": "0e87a3385a27b3a4cac51934819b7eefa5b3d690768d2495633838488cd0e2e4", "source_ref": "desktop-ui/emulator/pc-engine-ld.cpp:18", "system": "pc-engine-ld", "validation": ["sha256"]}, {"description": "NEC PAC-N1 LaserActive module (Japan)", "mode": "standalone", "name": "pac-n1.pce", "required": true, "sha256": "459325690a458baebd77495c91e37c4dddfdd542ba13a821ce954e5bb245627f", "source_ref": "desktop-ui/emulator/pc-engine-ld.cpp:19", "system": "pc-engine-ld", "validation": ["sha256"]}, {"description": "NEC PCE-LP1 LaserActive module (Japan)", "mode": "standalone", "name": "pce-lp1.pce", "required": true, "sha256": "3f43b3b577117d84002e99cb0baeb97b0d65b1d70b4adadc68817185c6a687f0", "source_ref": "desktop-ui/emulator/pc-engine-ld.cpp:20", "system": "pc-engine-ld", "validation": ["sha256"]}, {"description": "PlayStation BIOS (US)", "mode": "standalone", "name": "scph5501.bin", "required": true, "sha256": "11052b6499e466bbf0a709b1f9cb6834a9418e66680387912451e971cf8a1fef", "source_ref": "desktop-ui/emulator/playstation.cpp:18", "system": "sony-playstation", "validation": ["sha256"]}, {"description": "PlayStation BIOS (Japan)", "mode": "standalone", "name": "scph5500.bin", "required": true, "sha256": "9c0421858e217805f4abe18698afea8d5aa36ff0727eb8484944e00eb5e7eadb", "source_ref": "desktop-ui/emulator/playstation.cpp:19", "system": "sony-playstation", "validation": ["sha256"]}, {"description": "PlayStation BIOS (Europe)", "mode": "standalone", "name": "scph5502.bin", "required": true, "sha256": "1faaa18fa820a0225e488d9f086296b8e6c46df739666093987ff7d8fd352c09", "source_ref": "desktop-ui/emulator/playstation.cpp:20", "system": "sony-playstation", "validation": ["sha256"]}, {"description": "Sega Saturn BIOS (US)", "mode": "standalone", "name": "saturn_bios_U.bin", "region": ["north-america"], "required": true, "source_ref": "desktop-ui/emulator/saturn.cpp:14", "system": "saturn"}, {"description": "Sega Saturn BIOS (Japan)", "mode": "standalone", "name": "saturn_bios_J.bin", "region": ["japan"], "required": true, "source_ref": "desktop-ui/emulator/saturn.cpp:15", "system": "saturn"}, {"description": "Sega Saturn BIOS (Europe)", "mode": "standalone", "name": "saturn_bios_E.bin", "region": ["europe"], "required": true, "source_ref": "desktop-ui/emulator/saturn.cpp:16", "system": "saturn"}, {"category": "game_data", "description": "Super Game Boy cartridge ROM. Loaded via CLI as SFC cartridge alongside GB game.", "mode": "standalone", "name": "SGB1.sfc", "required": false, "source_ref": "EmuDeck emuDeckares.sh (launcher)", "system": "super-famicom"}, {"category": "game_data", "description": "Super Game Boy 2 cartridge ROM. Loaded via CLI as SFC cartridge alongside GB game.", "mode": "standalone", "name": "SGB2.sfc", "required": false, "source_ref": "EmuDeck emuDeckares.sh (launcher)", "system": "super-famicom"}, {"category": "game_data", "description": "SuFami Turbo adapter BIOS. Loaded via CLI as SFC cartridge alongside SuFami games.", "mode": "standalone", "name": "STBIOS.bin", "required": false, "source_ref": "EmuDeck emuDeckares.sh (launcher)", "system": "super-famicom"}, {"category": "game_data", "description": "Satellaview BS-X Town cartridge ROM. Loaded via CLI as SFC cartridge for BS games.", "mode": "standalone", "name": "BS-X.bin", "required": false, "source_ref": "EmuDeck emuDeckares.sh (launcher)", "system": "super-famicom"}], "mode": "standalone", "notes": "Multi-system emulator by Near (byuu), successor to higan/bsnes. Focuses on\naccuracy and preservation. 38 systems emulated.\n\nFirmware identification uses SHA256 hashes. Filenames are user-defined; ares\nscans a configured directory and matches by hash. EmuDeck installs ares as\nFlatpak (dev.ares.ares), configures biosPath in settings.bml.\nref: desktop-ui/settings/firmware.cpp:116-136\n\nFirmware path resolution: settings.paths.firmware (user override) or\n{userData}/ares/Firmware/ (default). Per-system firmware assigned in\nSettings > Firmware dialog or via scan-by-hash.\nref: desktop-ui/settings/settings.hpp:85-97, desktop-ui/desktop-ui.cpp:68-75\n\nSystems with fully embedded firmware (no user files needed):\nGame Boy (boot.rom), Game Boy Color (boot.rom), Mega Drive (TMSS),\nSega 32X (TMSS + vector + SH2 boot M/S), Nintendo 64 (PIF NTSC/PAL/SM5 +\nCIC 6101/6102/6105/7101), Super Famicom (IPL + all coprocessor firmware:\nDSP1-4, CX4, ST010, ST011, ST018, SGB1/2 boot ROMs), WonderSwan (boot.rom),\nWonderSwan Color (boot.rom), Pocket Challenge V2 (boot.rom),\nZX Spectrum (BIOS), ZX Spectrum 128 (BIOS + sub ROM).\nref: mia/resource/resource.bml, mia/Firmware/\n\nSFC coprocessor firmware auto-injected if missing from ROM image.\nref: mia/medium/super-famicom.cpp:42-62\n\nNeo Geo BIOS: accepts ZIP archive (neogeo.zip) or direct binary. AES looks\nfor \"neo-epo.bin\" inside ZIP, MVS looks for \"sp-45.sp1\". Both apply byte-swap\nafter loading.\nref: mia/system/neo-geo-aes.cpp:12-30, mia/system/neo-geo-mvs.cpp:12-30\n\nSFC subsystem ROMs (SuFami Turbo, Satellaview, Super Game Boy): loaded as\ngame cartridges via CLI args, not through the firmware system. EmuDeck creates\nlauncher shortcuts that pass these alongside game ROMs.\nref: emuDeckares.sh (EmuDeck repo)\n\nSystems with no firmware: Arcade, Atari 2600, Famicom, MyVision, PC Engine,\nSuperGrafx, SG-1000, SC-3000.\n", "profiled_date": "2026-03-26", "source": "https://github.com/ares-emulator/ares", "source_commit": "b80f67d38312648d197762121c3a27b02c0887db", "systems": ["arcade", "atari-2600", "colecovision", "myvision", "famicom", "famicom-disk-system", "game-boy", "game-boy-color", "game-boy-advance", "master-system", "game-gear", "sg-1000", "sc-3000", "mega-drive", "sega-32x", "mega-cd", "mega-cd-32x", "mega-ld", "laseractive", "msx", "msx2", "neo-geo", "neo-geo-pocket", "neo-geo-pocket-color", "nintendo-64", "nintendo-64dd", "pc-engine", "pc-engine-cd", "pc-engine-ld", "supergrafx", "supergrafx-cd", "sony-playstation", "saturn", "super-famicom", "wonderswan", "wonderswan-color", "pocket-challenge-v2", "zx-spectrum", "zx-spectrum-128"], "type": "standalone", "upstream": "https://github.com/ares-emulator/ares"}


id: armsx1
name: ARMSX1
type: standalone
classification: community_fork
source: https://github.com/ARMSX2/ARMSX1
upstream: https://github.com/allkern/psxe
source_commit: fadd20b6587a291e59b49378a2428358c6663b8c
profile_json:
{"bios_directory": "bios/", "bios_size": 524288, "core_classification": "community_fork", "core_version": "0.1.3", "cores": ["armsx1"], "display_name": "Sony - PlayStation (ARMSX1)", "emulator": "ARMSX1", "files": [{"agnostic": true, "description": "PlayStation BIOS image", "max_size": 1048576, "min_size": 524288, "name": "scph1001.bin", "note": "Any image is accepted, whatever its name and length: the file is read whole and mapped at its own size. 524288 is the region psx_bios_init declares before the load, and 1048576 the SCPH-5903 image the loader names as the exception. The folder scan reaches an image only under the name bios.bin; [bios].override_file, -b and the Android picker open a path directly.", "required": true, "source_ref": "psx/dev/bios.c:21-54, psx/dev/bios.h:8-10, frontend/config.c:292-357, frontend/config.c:1540-1559, frontend/main.cpp:2529-2535"}, {"config_key": "paths.expansion_rom", "description": "Expansion port ROM image", "max_size": 524288, "name": "<expansion>.rom", "note": "Read into the 512 KB region at 0x1f000000, which is filled with 0xff when no path is set. Named by [paths].expansion_rom, -e, or the Advanced tab of the Android settings. A path that is set and cannot be opened fails psx_init and stops the boot.", "required": false, "source_ref": "psx/dev/exp1.c:12-44, psx/dev/exp1.h:8-10, psx/psx.c:260-261, frontend/config.c:681, frontend/main.cpp:1906, android/app/src/main/java/com/armsx2/ui/settings/Ps1AdvancedTab.kt:96-100", "unsourceable": "any expansion port ROM the user points at, under no name and no version the code expects"}], "notes": "PlayStation emulator forked from psxe, rebuilt around SDL2 frontends and a\nDear ImGui fullscreen shell. Desktop, Android, iOS, UWP, WebAssembly and\nPSVita builds come out of one tree. The Android application is\ncom.nanodata.armsx with the activity com.armsx2.Main, and its Compose\nlauncher hosts the same core in process.\nref: README.md:1-2, android/app/build.gradle:71-79,\n     android/app/src/main/AndroidManifest.xml:78-92\n\nA BIOS image is required. Boot stops before a session exists when no path\nresolves, and again when the file cannot be read. Skip BIOS does not change\nthat: the image runs from reset and the hook only takes over at the shell\nentry point, once the kernel is built.\nref: frontend/main.cpp:2529-2549, psx/psx.c:249-252, psx/fastboot.h:45,\n     psx/fastboot.c:225-239\n\npsxe_cfg_get_bios_path answers in three steps: the override file when it\nexists, then a scan of the search folder, then the override path unchanged.\nThe override is [bios].override_file or -b and defaults to bios.bin under the\npreference path SDL_GetPrefPath(\"nanodata\", \"armsx\"); the search folder is\n[bios].search_path or -B and defaults to the relative path bios.\nref: frontend/config.c:1540-1559, frontend/config.c:1385-1404,\n     frontend/config.c:677-683, frontend/config.c:54-57\n\nThe scan reads that folder once, keeps .bin and .rom, and returns the entry\nnamed bios.bin. Its other branch compares [bios].preferred_model against each\nfilename through a normaliser that drops every non-alphanumeric character and\nlowercases the rest, applied to the name including its extension, so\nscph1001.bin normalises to scph1001bin and no model value equals it. A name\ncarrying no extension, which would, is dropped by the extension filter first.\nref: frontend/config.c:292-357, frontend/config.c:226-247,\n     frontend/config.c:249-260\n\nNothing identifies the image beyond that. No name table, no size test, no\nhash. The loader takes the file's own length, allocates it, and the bus maps\nthe device from 0x1fc00000 over that same length, which is how the 1 MB\nSCPH-5903 image stays addressable in full.\nref: psx/dev/bios.c:21-54, psx/bus.c:50-54, psx/dev/bios.h:8-10\n\npreferred_model carries 22 values, SCPH-1000 through SCPH-102C, printed by\n--help-model and mirrored by the Android model picker.\nref: frontend/config.c:177-200,\n     android/app/src/main/java/com/armsx2/config/Ps1Settings.kt:416-423\n\nOn Android the preference path is the application files directory, so\nsettings.toml and the default bios.bin sit there. The BIOS picker copies the\nchosen dump to user_bios.bin and writes its absolute path into\n[bios].override_file. EmulatorActivity passes --bios <files>/bios.bin when\nthe package carries an assets/bios.bin, and the in-process launcher repeats\nthat check with stat; release 0.1.3 ships no such asset.\nref: android/app/src/main/java/com/armsx2/core/Ps1Config.kt:20-41,\n     android/app/src/main/java/com/armsx2/ui/settings/Ps1BiosTab.kt:38-48,\n     android/app/src/main/java/com/nanodata/armsx/EmulatorActivity.java:58-61,\n     android/app/src/main/java/com/nanodata/armsx/EmulatorActivity.java:95-99,\n     frontend/android_jni.cpp:1708-1743, ARMSX1-0.1.3-release.apk assets\n\nThe remaining paths the core opens are per game, and are written by the\nemulator or picked by the user: memory cards, created blank at first use;\nsave states, rewind snapshots and screenshots; a GameShark .cht catalogue\nnamed by [cheats].cheats_file; and content-addressed PNG packs under the\nreplacements folder of [video].texture_dir.\nref: psx/dev/mcd.c:139-154, psx/cheats.c:346-390, psx/texrep.c:846-848\n", "profiled_date": "2026-08-11", "source": "https://github.com/ARMSX2/ARMSX1", "source_branch": "android-compose", "source_commit": "fadd20b6587a291e59b49378a2428358c6663b8c", "systems": ["sony-playstation"], "type": "standalone", "upstream": "https://github.com/allkern/psxe", "verification": "existence"}


id: armsx2
name: ARMSX2
type: standalone + libretro
classification: community_fork
source: https://github.com/ARMSX2/ARMSX2
upstream: https://github.com/PCSX2/pcsx2
source_commit: e509b17e7a8f741f89c1e2a36539c32122467d34
profile_json:
{"bios_directory": "bios/", "bios_mode": "agnostic", "core_classification": "community_fork", "core_version": "2.6.6.5", "cores": ["armsx2", "armsx2_libretro"], "display_name": "Sony - PlayStation 2 (ARMSX2)", "emulator": "ARMSX2", "files": [{"agnostic": true, "description": "PS2 BIOS image", "max_size": 8388608, "min_size": 4194304, "name": "ps2-0230a-20080220.bin", "note": "Any image whose romdir holds RESET and ROMVER is accepted, whatever its name. The 4 to 8 MB range gates the folder scan; an image named in the configuration skips that range. Read into the 4 MB ROM region and truncated to it. Shorter than 2465792 bytes disables the OSDSys parameter HLE.", "path": "pcsx2/bios/ps2-0230a-20080220.bin", "required": true, "source_ref": "pcsx2/ps2/BiosTools.cpp:16-17, pcsx2/ps2/BiosTools.cpp:80-197, pcsx2/ps2/BiosTools.cpp:258-294, pcsx2/ps2/BiosTools.cpp:332-373", "standalone_path": "bios/ps2-0230a-20080220.bin", "validation": ["size"]}, {"description": "DVD player ROM", "max_size": 4194304, "name": "ps2-0230a-20080220.rom1", "note": "Tried as {bios}.rom1 then {biosbase}.rom1, with a case-insensitive retry on the open. Copied to the ROM1 region and truncated to 4 MB. Logged and skipped when absent.", "path": "pcsx2/bios/ps2-0230a-20080220.rom1", "required": false, "source_ref": "pcsx2/ps2/BiosTools.cpp:214-241, pcsx2/ps2/BiosTools.cpp:381, pcsx2/ps2/BiosTools.cpp:386-397, pcsx2/MemoryTypes.h:13", "standalone_path": "bios/ps2-0230a-20080220.rom1"}, {"aliases": ["SCPH-90006_BIOS_VX_HK _230.ROM2"], "description": "Chinese ROM extension", "max_size": 4194304, "name": "ps2-0230a-20080220.rom2", "note": "Same two-step naming as rom1. Copied to the ROM2 region, which is 4 MB in this tree. Only present on Chinese region consoles.", "path": "pcsx2/bios/ps2-0230a-20080220.rom2", "required": false, "source_ref": "pcsx2/ps2/BiosTools.cpp:214-241, pcsx2/ps2/BiosTools.cpp:382, pcsx2/ps2/BiosTools.cpp:386-397, pcsx2/MemoryTypes.h:14", "standalone_path": "bios/ps2-0230a-20080220.rom2"}, {"description": "Console NVRAM", "hle_fallback": true, "name": "ps2-0230a-20080220.nvm", "note": "Read at the BIOS path with the extension replaced by nvm. Carries the console id, the iLink id, the MAC, the model number and the OSD configuration. A 1024 byte image is built in memory when the file is absent, short, or carries a blank config block, zeroed except for a fixed iLink id and the language and region defaults of the BIOS region.", "path": "pcsx2/bios/ps2-0230a-20080220.nvm", "required": false, "size": 1024, "source_ref": "pcsx2/CDVD/CDVD.cpp:46-47, pcsx2/CDVD/CDVD.cpp:147-200", "standalone_path": "bios/ps2-0230a-20080220.nvm"}, {"description": "Mechacon version", "hle_fallback": true, "name": "ps2-0230a-20080220.mec", "note": "Read at the BIOS path with the extension replaced by mec. Defaults to 0x00020603 and is written back at that path when it cannot be read.", "path": "pcsx2/bios/ps2-0230a-20080220.mec", "required": false, "size": 4, "source_ref": "pcsx2/CDVD/CDVD.cpp:60, pcsx2/CDVD/CDVD.cpp:201-214", "standalone_path": "bios/ps2-0230a-20080220.mec"}, {"description": "DEV9 EEPROM", "hle_fallback": true, "name": "eeprom.dat", "note": "Opened from the working directory when the network adapter starts and mapped over 64 bytes. A compiled-in image stands in when the file is missing or cannot be mapped.", "required": false, "size": 64, "source_ref": "pcsx2/DEV9/DEV9.cpp:60, pcsx2/DEV9/DEV9.cpp:109-160"}, {"description": "DEV9 SmartMedia flash image", "hle_fallback": true, "max_size": 8650752, "name": "flash.dat", "note": "Opened from the working directory at network adapter init and read as 1024 blocks of 16 pages of 512 bytes plus 16 ECC bytes. The card is filled with 0xFF when the file is absent, and a short read is logged.", "required": false, "source_ref": "pcsx2/DEV9/flash.cpp:8-16, pcsx2/DEV9/flash.cpp:62-86"}, {"config_key": "EmuCore/CurrentIRX", "description": "IOP module injected at boot", "name": "<module>.irx", "note": "Read into the ROM region at 0x3C0000 when the IOP program counter reaches 0x1630 and the setting is longer than three characters. Empty by default.", "required": false, "source_ref": "pcsx2/ps2/BiosTools.cpp:243-256, pcsx2/ps2/BiosTools.cpp:399-400, pcsx2/R3000AInterpreter.cpp:220, pcsx2/Config.h:1601", "unsourceable": "any IOP module the user points at, under no name and no version the code expects"}, {"bundled": true, "description": "Game database", "name": "GameIndex.yaml", "note": "Read from the resources folder, keyed by serial, carrying the per-game fixes, patches and settings overrides. Parsed once on first lookup.", "path": "pcsx2/resources/GameIndex.yaml", "required": false, "source_ref": "pcsx2/GameDatabase.cpp:43, pcsx2/GameDatabase.cpp:1205-1210", "standalone_path": "resources/GameIndex.yaml"}, {"bundled": true, "description": "Mobile GPU game database overlay", "name": "armsx2_overrides.yaml", "note": "Second pass over the game database, merged onto the entries GameIndex.yaml declares. Carries GS and JIT tuning correct on tiler GPUs. Kept outside the shipped resources folder and copied in only for arm64 Linux, Android and iOS; the loader no-ops where it is absent.", "path": "pcsx2/resources/armsx2_overrides.yaml", "required": false, "source_ref": "pcsx2/GameDatabase.cpp:50, pcsx2/GameDatabase.cpp:1211-1214, cmake/BuildParameters.cmake:186-200, pcsx2/CMakeLists.txt:1441-1451, platforms/android/app/build.gradle.kts:40-48", "standalone_path": "resources/armsx2_overrides.yaml"}, {"bundled": true, "description": "Disc track hash database", "name": "RedumpDatabase.yaml", "note": "Loaded on the first hash lookup and used to tell the user whether a dump matches a known good one. Read by the Qt game summary page.", "path": "pcsx2/resources/RedumpDatabase.yaml", "required": false, "source_ref": "pcsx2/GameDatabase.cpp:1278, pcsx2/GameDatabase.cpp:1328-1345, pcsx2-qt/Settings/GameSummaryWidget.cpp:322", "standalone_path": "resources/RedumpDatabase.yaml"}, {"bundled": true, "description": "Game patch archive", "name": "patches.zip", "note": "Per-game pnach entries matched on serial and disc CRC. The patches and cheats folders take precedence over the archive. Fetched from the pcsx2_patches releases at build time for the desktop builds and committed for Android and iOS.", "path": "pcsx2/resources/patches.zip", "required": false, "source_ref": "pcsx2/Patch.cpp:118, pcsx2/Patch.cpp:290-318, pcsx2/Patch.cpp:425-435, .github/workflows/linux_build_qt.yml:33", "standalone_path": "resources/patches.zip"}, {"bundled": true, "description": "SDL controller mapping database", "name": "game_controller_db.txt", "note": "A copy in the data root wins, then the resources folder, and the path is handed to SDL as a hint. SDL falls back to its built-in mappings when neither exists.", "path": "pcsx2/resources/game_controller_db.txt", "required": false, "source_ref": "pcsx2/Input/SDLInputSource.cpp:24, pcsx2/Input/SDLInputSource.cpp:614-627", "standalone_path": "resources/game_controller_db.txt"}, {"bundled": true, "description": "Interface font", "name": "Roboto-Regular.ttf", "note": "Seeded as the standard font when no language layer supplied one, which is always the case on Android. LoadFontData fails without it and the GS device is torn down.", "path": "pcsx2/resources/fonts/Roboto-Regular.ttf", "required": true, "source_ref": "pcsx2/ImGui/ImGuiManager.cpp:501-523, pcsx2/ImGui/ImGuiManager.cpp:155-160, pcsx2/GS/GS.cpp:160-179", "standalone_path": "resources/fonts/Roboto-Regular.ttf"}, {"bundled": true, "description": "Fixed-width interface font", "name": "RobotoMono-Medium.ttf", "note": "Read for the fixed-width font. LoadFontData fails without it. Also the initial path the fullscreen interface offers when picking a custom OSD font.", "path": "pcsx2/resources/fonts/RobotoMono-Medium.ttf", "required": true, "source_ref": "pcsx2/ImGui/ImGuiManager.cpp:544-552, pcsx2/ImGui/FullscreenUI_Settings.cpp:3417", "standalone_path": "resources/fonts/RobotoMono-Medium.ttf"}, {"bundled": true, "description": "Font Awesome icon font", "name": "fa-solid-900.ttf", "note": "Read for the interface icon glyphs. LoadFontData fails without it.", "path": "pcsx2/resources/fonts/fa-solid-900.ttf", "required": true, "source_ref": "pcsx2/ImGui/ImGuiManager.cpp:554-562", "standalone_path": "resources/fonts/fa-solid-900.ttf"}, {"bundled": true, "description": "Controller prompt font", "name": "promptfont.otf", "note": "Read for the controller button glyphs. LoadFontData fails without it.", "path": "pcsx2/resources/fonts/promptfont.otf", "required": true, "source_ref": "pcsx2/ImGui/ImGuiManager.cpp:564-572", "standalone_path": "resources/fonts/promptfont.otf"}, {"bundled": true, "description": "Emoji font", "name": "Twemoji.Mozilla.ttf", "note": "First entry of the emoji script table, resolved under UserResources then the resources folder and downloaded into UserResources/fonts when neither holds it.", "path": "pcsx2/resources/fonts/Twemoji.Mozilla.ttf", "required": false, "source_ref": "pcsx2-qt/Translations.cpp:340-347, pcsx2-qt/Translations.cpp:407-424, pcsx2-qt/Translations.cpp:541-549", "standalone_path": "resources/fonts/Twemoji.Mozilla.ttf"}, {"bundled": true, "description": "Android emoji font", "name": "NotoColorEmoji-Regular.ttf", "note": "Committed under the Android asset tree and unpacked with the rest of the resources folder. Rendered by the Compose interface.", "path": "pcsx2/resources/fonts/NotoColorEmoji-Regular.ttf", "required": false, "source_ref": "platforms/android/app/src/main/assets/resources/fonts/NotoColorEmoji-Regular.ttf, platforms/android/app/src/main/java/com/armsx2/ui/emulation/EmulationMenuScreen.kt:507", "standalone_path": "resources/fonts/NotoColorEmoji-Regular.ttf"}, {"description": "Japanese interface font", "name": "NotoSansJP-Regular.ttf", "note": "First entry of the Japanese script table. Resolved under UserResources then the resources folder, and downloaded into UserResources/fonts when the interface language needs it and neither holds it. Not shipped.", "path": "pcsx2/resources/fonts/NotoSansJP-Regular.ttf", "required": false, "source_ref": "pcsx2-qt/Translations.cpp:354-360, pcsx2-qt/Translations.cpp:407-424, pcsx2-qt/Translations.cpp:541-549", "standalone_path": "resources/fonts/NotoSansJP-Regular.ttf"}, {"description": "Korean interface font", "name": "NotoSansKR-Regular.ttf", "note": "Same resolution and download path as the Japanese font. Not shipped.", "path": "pcsx2/resources/fonts/NotoSansKR-Regular.ttf", "required": false, "source_ref": "pcsx2-qt/Translations.cpp:361-367, pcsx2-qt/Translations.cpp:407-424, pcsx2-qt/Translations.cpp:541-549", "standalone_path": "resources/fonts/NotoSansKR-Regular.ttf"}, {"description": "Simplified Chinese interface font", "name": "NotoSansSC-Regular.ttf", "note": "Same resolution and download path as the Japanese font. Not shipped.", "path": "pcsx2/resources/fonts/NotoSansSC-Regular.ttf", "required": false, "source_ref": "pcsx2-qt/Translations.cpp:320-326, pcsx2-qt/Translations.cpp:407-424, pcsx2-qt/Translations.cpp:541-549", "standalone_path": "resources/fonts/NotoSansSC-Regular.ttf"}, {"description": "Traditional Chinese interface font", "name": "NotoSansTC-Regular.ttf", "note": "Same resolution and download path as the Japanese font. Not shipped.", "path": "pcsx2/resources/fonts/NotoSansTC-Regular.ttf", "required": false, "source_ref": "pcsx2-qt/Translations.cpp:327-333, pcsx2-qt/Translations.cpp:407-424, pcsx2-qt/Translations.cpp:541-549", "standalone_path": "resources/fonts/NotoSansTC-Regular.ttf"}, {"description": "Arabic interface font", "name": "NotoSansArabic-Regular.ttf", "note": "Same resolution and download path as the Japanese font. Not shipped.", "path": "pcsx2/resources/fonts/NotoSansArabic-Regular.ttf", "required": false, "source_ref": "pcsx2-qt/Translations.cpp:314-319, pcsx2-qt/Translations.cpp:407-424, pcsx2-qt/Translations.cpp:541-549", "standalone_path": "resources/fonts/NotoSansArabic-Regular.ttf"}, {"description": "Hebrew interface font", "name": "NotoSansHebrew-Regular.ttf", "note": "Same resolution and download path as the Japanese font. Not shipped.", "path": "pcsx2/resources/fonts/NotoSansHebrew-Regular.ttf", "required": false, "source_ref": "pcsx2-qt/Translations.cpp:348-353, pcsx2-qt/Translations.cpp:407-424, pcsx2-qt/Translations.cpp:541-549", "standalone_path": "resources/fonts/NotoSansHebrew-Regular.ttf"}, {"description": "Devanagari interface font", "name": "NotoSansDevanagari-Regular.ttf", "note": "Same resolution and download path as the Japanese font. Not shipped.", "path": "pcsx2/resources/fonts/NotoSansDevanagari-Regular.ttf", "required": false, "source_ref": "pcsx2-qt/Translations.cpp:334-339, pcsx2-qt/Translations.cpp:407-424, pcsx2-qt/Translations.cpp:541-549", "standalone_path": "resources/fonts/NotoSansDevanagari-Regular.ttf"}, {"bundled": true, "description": "Vulkan texture function shader", "name": "tfx.glsl", "note": "Compiled at device creation. The Vulkan backend is the only one the Android, iOS and libretro builds use, and a source that cannot be read fails the pipeline compile and the device with it.", "path": "pcsx2/resources/shaders/vulkan/tfx.glsl", "required": true, "source_ref": "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2568, pcsx2/GS/Renderers/Common/GSDevice.cpp:422-425", "standalone_path": "resources/shaders/vulkan/tfx.glsl"}, {"bundled": true, "description": "Vulkan conversion shader", "name": "convert.glsl", "path": "pcsx2/resources/shaders/vulkan/convert.glsl", "required": true, "source_ref": "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5521-5527, pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5877", "standalone_path": "resources/shaders/vulkan/convert.glsl"}, {"bundled": true, "description": "Vulkan presentation shader", "name": "present.glsl", "path": "pcsx2/resources/shaders/vulkan/present.glsl", "required": true, "source_ref": "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5706", "standalone_path": "resources/shaders/vulkan/present.glsl"}, {"bundled": true, "description": "Vulkan merge shader", "name": "merge.glsl", "path": "pcsx2/resources/shaders/vulkan/merge.glsl", "required": true, "source_ref": "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5807", "standalone_path": "resources/shaders/vulkan/merge.glsl"}, {"bundled": true, "description": "Vulkan interlace shader", "name": "interlace.glsl", "path": "pcsx2/resources/shaders/vulkan/interlace.glsl", "required": true, "source_ref": "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5756", "standalone_path": "resources/shaders/vulkan/interlace.glsl"}, {"bundled": true, "description": "Vulkan shade boost shader", "name": "shadeboost.glsl", "note": "Compiled by the post-processing pass, which runs unconditionally in the device creation chain, so a source that cannot be read fails the device.", "path": "pcsx2/resources/shaders/vulkan/shadeboost.glsl", "required": true, "source_ref": "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5857, pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5911-5917, pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2593-2598", "standalone_path": "resources/shaders/vulkan/shadeboost.glsl"}, {"bundled": true, "description": "Vulkan contrast adaptive sharpening shader", "name": "cas.glsl", "note": "Includes ffx_a.h and ffx_cas.h. The only shader whose compile failure is caught: sharpening is turned off and device creation carries on, because older Adreno compilers reject the compute pipeline.", "path": "pcsx2/resources/shaders/vulkan/cas.glsl", "required": false, "source_ref": "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5963, pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2606-2612", "standalone_path": "resources/shaders/vulkan/cas.glsl"}, {"bundled": true, "description": "Vulkan interface shader", "name": "imgui.glsl", "path": "pcsx2/resources/shaders/vulkan/imgui.glsl", "required": true, "source_ref": "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5989", "standalone_path": "resources/shaders/vulkan/imgui.glsl"}, {"bundled": true, "description": "FXAA shader, shared by every backend", "name": "fxaa.fx", "note": "Compiled by the Vulkan and OpenGL post-processing passes as part of device creation, so the device fails without it. The Direct3D backends compile it lazily on first use and only lose the effect.", "path": "pcsx2/resources/shaders/common/fxaa.fx", "required": true, "source_ref": "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5884, pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:607, pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:2805-2813, pcsx2/GS/Renderers/DX11/GSDevice11.cpp:1933-1940", "standalone_path": "resources/shaders/common/fxaa.fx"}, {"bundled": true, "description": "FidelityFX helper header", "name": "ffx_a.h", "note": "Read as a source file and substituted for the include line of the sharpening shader before compilation.", "path": "pcsx2/resources/shaders/common/ffx_a.h", "required": false, "source_ref": "pcsx2/GS/Renderers/Common/GSDevice.cpp:1481-1488", "standalone_path": "resources/shaders/common/ffx_a.h"}, {"bundled": true, "description": "FidelityFX CAS header", "name": "ffx_cas.h", "note": "Substituted the same way as ffx_a.h.", "path": "pcsx2/resources/shaders/common/ffx_cas.h", "required": false, "source_ref": "pcsx2/GS/Renderers/Common/GSDevice.cpp:1481-1488", "standalone_path": "resources/shaders/common/ffx_cas.h"}, {"bundled": true, "description": "OpenGL texture function vertex and geometry shader", "name": "tfx_vgs.glsl", "note": "The OpenGL backend is one of three the renderer setting selects, and it is what an Android device falls back to when Vulkan is not chosen. Its device creation fails without this source; a Vulkan session is unaffected.", "path": "pcsx2/resources/shaders/opengl/tfx_vgs.glsl", "required": false, "source_ref": "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:749-753, pcsx2/GS/GS.cpp:88-110", "standalone_path": "resources/shaders/opengl/tfx_vgs.glsl"}, {"bundled": true, "description": "OpenGL texture function fragment shader", "name": "tfx_fs.glsl", "note": "Read with tfx_vgs.glsl; the OpenGL device fails without it.", "path": "pcsx2/resources/shaders/opengl/tfx_fs.glsl", "required": false, "source_ref": "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:749-753", "standalone_path": "resources/shaders/opengl/tfx_fs.glsl"}, {"bundled": true, "description": "OpenGL conversion shader", "name": "convert.glsl", "note": "The OpenGL device fails without it.", "path": "pcsx2/resources/shaders/opengl/convert.glsl", "required": false, "source_ref": "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:441-447", "standalone_path": "resources/shaders/opengl/convert.glsl"}, {"bundled": true, "description": "OpenGL presentation shader", "name": "present.glsl", "note": "The OpenGL device fails without it.", "path": "pcsx2/resources/shaders/opengl/present.glsl", "required": false, "source_ref": "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:527-532", "standalone_path": "resources/shaders/opengl/present.glsl"}, {"bundled": true, "description": "OpenGL merge shader", "name": "merge.glsl", "note": "The OpenGL device fails without it.", "path": "pcsx2/resources/shaders/opengl/merge.glsl", "required": false, "source_ref": "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:563-568", "standalone_path": "resources/shaders/opengl/merge.glsl"}, {"bundled": true, "description": "OpenGL interlace shader", "name": "interlace.glsl", "note": "The OpenGL device fails without it.", "path": "pcsx2/resources/shaders/opengl/interlace.glsl", "required": false, "source_ref": "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:586-591", "standalone_path": "resources/shaders/opengl/interlace.glsl"}, {"bundled": true, "description": "OpenGL shade boost shader", "name": "shadeboost.glsl", "note": "Compiled with the FXAA program in the OpenGL device creation chain, so that device fails without it.", "path": "pcsx2/resources/shaders/opengl/shadeboost.glsl", "required": false, "source_ref": "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:607-608, pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3060-3066", "standalone_path": "resources/shaders/opengl/shadeboost.glsl"}, {"bundled": true, "description": "OpenGL contrast adaptive sharpening shader", "name": "cas.glsl", "note": "A desktop GL compute shader, gated away from GL ES contexts because feeding it to an ES compiler crashes some drivers.", "path": "pcsx2/resources/shaders/opengl/cas.glsl", "required": false, "source_ref": "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3251, pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:610-615", "standalone_path": "resources/shaders/opengl/cas.glsl"}, {"bundled": true, "description": "OpenGL interface shader", "name": "imgui.glsl", "note": "The OpenGL device fails without it.", "path": "pcsx2/resources/shaders/opengl/imgui.glsl", "required": false, "source_ref": "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:709-710, pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3309-3316", "standalone_path": "resources/shaders/opengl/imgui.glsl"}, {"bundled": true, "description": "Direct3D texture function shader", "name": "tfx.fx", "note": "Read by the Direct3D 11 and Direct3D 12 backends of the Windows on arm64 build, whose devices fail without it. The Android asset step drops the dx11 folder because the mobile backends never compile it.", "path": "pcsx2/resources/shaders/dx11/tfx.fx", "required": false, "source_ref": "pcsx2/GS/Renderers/DX11/GSDevice11.cpp:215-218, pcsx2/GS/Renderers/DX12/GSDevice12.cpp:967, platforms/android/app/build.gradle.kts:40-47", "standalone_path": "resources/shaders/dx11/tfx.fx"}, {"bundled": true, "description": "Direct3D conversion shader", "name": "convert.fx", "note": "The Direct3D devices fail without it.", "path": "pcsx2/resources/shaders/dx11/convert.fx", "required": false, "source_ref": "pcsx2/GS/Renderers/DX11/GSDevice11.cpp:229-231, pcsx2/GS/Renderers/DX12/GSDevice12.cpp:2827", "standalone_path": "resources/shaders/dx11/convert.fx"}, {"bundled": true, "description": "Direct3D presentation shader", "name": "present.fx", "note": "The Direct3D devices fail without it.", "path": "pcsx2/resources/shaders/dx11/present.fx", "required": false, "source_ref": "pcsx2/GS/Renderers/DX11/GSDevice11.cpp:265, pcsx2/GS/Renderers/DX12/GSDevice12.cpp:2971", "standalone_path": "resources/shaders/dx11/present.fx"}, {"bundled": true, "description": "Direct3D merge shader", "name": "merge.fx", "note": "The Direct3D devices fail without it.", "path": "pcsx2/resources/shaders/dx11/merge.fx", "required": false, "source_ref": "pcsx2/GS/Renderers/DX11/GSDevice11.cpp:317, pcsx2/GS/Renderers/DX12/GSDevice12.cpp:3050", "standalone_path": "resources/shaders/dx11/merge.fx"}, {"bundled": true, "description": "Direct3D interlace shader", "name": "interlace.fx", "note": "The Direct3D devices fail without it.", "path": "pcsx2/resources/shaders/dx11/interlace.fx", "required": false, "source_ref": "pcsx2/GS/Renderers/DX11/GSDevice11.cpp:352, pcsx2/GS/Renderers/DX12/GSDevice12.cpp:3014", "standalone_path": "resources/shaders/dx11/interlace.fx"}, {"bundled": true, "description": "Direct3D shade boost shader", "name": "shadeboost.fx", "path": "pcsx2/resources/shaders/dx11/shadeboost.fx", "required": false, "source_ref": "pcsx2/GS/Renderers/DX11/GSDevice11.cpp:372, pcsx2/GS/Renderers/DX12/GSDevice12.cpp:3120", "standalone_path": "resources/shaders/dx11/shadeboost.fx"}, {"bundled": true, "description": "Direct3D contrast adaptive sharpening shader", "name": "cas.hlsl", "note": "Includes ffx_a.h and ffx_cas.h.", "path": "pcsx2/resources/shaders/dx11/cas.hlsl", "required": false, "source_ref": "pcsx2/GS/Renderers/DX11/GSDevice11.cpp:2259, pcsx2/GS/Renderers/DX12/GSDevice12.cpp:2299", "standalone_path": "resources/shaders/dx11/cas.hlsl"}, {"bundled": true, "description": "Direct3D interface shader", "name": "imgui.fx", "note": "The Direct3D devices fail without it.", "path": "pcsx2/resources/shaders/dx11/imgui.fx", "required": false, "source_ref": "pcsx2/GS/Renderers/DX11/GSDevice11.cpp:2309-2313, pcsx2/GS/Renderers/DX12/GSDevice12.cpp:2327", "standalone_path": "resources/shaders/dx11/imgui.fx"}, {"bundled": true, "description": "Achievement notification sound", "name": "message.wav", "note": "Played from the resources folder when the achievement information sound is enabled and no custom sound is set.", "path": "pcsx2/resources/sounds/achievements/message.wav", "required": false, "source_ref": "pcsx2/Achievements.cpp:68, pcsx2/Achievements.cpp:1275-1281, pcsx2/Achievements.cpp:1525", "standalone_path": "resources/sounds/achievements/message.wav"}, {"bundled": true, "description": "Achievement unlock sound", "name": "unlock.wav", "path": "pcsx2/resources/sounds/achievements/unlock.wav", "required": false, "source_ref": "pcsx2/Achievements.cpp:69, pcsx2/Achievements.cpp:1275-1281, pcsx2/Achievements.cpp:1578", "standalone_path": "resources/sounds/achievements/unlock.wav"}, {"bundled": true, "description": "Leaderboard submission sound", "name": "lbsubmit.wav", "path": "pcsx2/resources/sounds/achievements/lbsubmit.wav", "required": false, "source_ref": "pcsx2/Achievements.cpp:70, pcsx2/Achievements.cpp:1275-1281, pcsx2/Achievements.cpp:1672", "standalone_path": "resources/sounds/achievements/lbsubmit.wav"}, {"bundled": true, "description": "Fullscreen interface placeholder texture", "name": "placeholder.png", "note": "Named as the placeholder texture when the fullscreen interface initialises.", "path": "pcsx2/resources/fullscreenui/placeholder.png", "required": false, "source_ref": "pcsx2/ImGui/FullscreenUI.cpp:335", "standalone_path": "resources/fullscreenui/placeholder.png"}, {"bundled": true, "description": "Empty save slot texture", "name": "no-save.png", "path": "pcsx2/resources/fullscreenui/no-save.png", "required": false, "source_ref": "pcsx2/ImGui/ImGuiOverlays.cpp:1664", "standalone_path": "resources/fullscreenui/no-save.png"}, {"bundled": true, "description": "Game list menu icon", "name": "media-cdrom.svg", "path": "pcsx2/resources/fullscreenui/media-cdrom.svg", "required": false, "source_ref": "pcsx2/ImGui/FullscreenUI.cpp:1367, pcsx2/ImGui/FullscreenUI.cpp:3483", "standalone_path": "resources/fullscreenui/media-cdrom.svg"}, {"bundled": true, "description": "Start game menu icon", "name": "start-game.svg", "path": "pcsx2/resources/fullscreenui/start-game.svg", "required": false, "source_ref": "pcsx2/ImGui/FullscreenUI.cpp:1373", "standalone_path": "resources/fullscreenui/start-game.svg"}, {"bundled": true, "description": "Settings menu icon", "name": "applications-system.svg", "path": "pcsx2/resources/fullscreenui/applications-system.svg", "required": false, "source_ref": "pcsx2/ImGui/FullscreenUI.cpp:1380, pcsx2/ImGui/FullscreenUI.cpp:3478", "standalone_path": "resources/fullscreenui/applications-system.svg"}, {"bundled": true, "description": "Exit menu icon", "name": "exit.svg", "path": "pcsx2/resources/fullscreenui/exit.svg", "required": false, "source_ref": "pcsx2/ImGui/FullscreenUI.cpp:1386, pcsx2/ImGui/FullscreenUI.cpp:1519", "standalone_path": "resources/fullscreenui/exit.svg"}, {"bundled": true, "description": "Start file menu icon", "name": "start-file.svg", "path": "pcsx2/resources/fullscreenui/start-file.svg", "required": false, "source_ref": "pcsx2/ImGui/FullscreenUI.cpp:1443", "standalone_path": "resources/fullscreenui/start-file.svg"}, {"bundled": true, "description": "Start disc menu icon", "name": "drive-cdrom.svg", "path": "pcsx2/resources/fullscreenui/drive-cdrom.svg", "required": false, "source_ref": "pcsx2/ImGui/FullscreenUI.cpp:1449", "standalone_path": "resources/fullscreenui/drive-cdrom.svg"}, {"bundled": true, "description": "Start BIOS menu icon", "name": "start-bios.svg", "path": "pcsx2/resources/fullscreenui/start-bios.svg", "required": false, "source_ref": "pcsx2/ImGui/FullscreenUI.cpp:1455", "standalone_path": "resources/fullscreenui/start-bios.svg"}, {"bundled": true, "description": "Back menu icon", "name": "back-icon.svg", "path": "pcsx2/resources/fullscreenui/back-icon.svg", "required": false, "source_ref": "pcsx2/ImGui/FullscreenUI.cpp:1461, pcsx2/ImGui/FullscreenUI.cpp:1511", "standalone_path": "resources/fullscreenui/back-icon.svg"}, {"bundled": true, "description": "Desktop mode menu icon", "name": "desktop-mode.svg", "path": "pcsx2/resources/fullscreenui/desktop-mode.svg", "required": false, "source_ref": "pcsx2/ImGui/FullscreenUI.cpp:1527", "standalone_path": "resources/fullscreenui/desktop-mode.svg"}, {"bundled": true, "description": "Application banner", "name": "AppBanner.svg", "path": "pcsx2/resources/icons/AppBanner.svg", "required": false, "source_ref": "pcsx2/ImGui/FullscreenUI.cpp:762", "standalone_path": "resources/icons/AppBanner.svg"}, {"bundled": true, "description": "Application icon", "name": "AppIconLarge.png", "note": "Drawn by the fullscreen interface, shown by the Qt setup wizard, and copied out when a desktop entry is written.", "path": "pcsx2/resources/icons/AppIconLarge.png", "required": false, "source_ref": "pcsx2/ImGui/FullscreenUI.cpp:1291, pcsx2-qt/SetupWizardDialog.cpp:165, pcsx2-qt/QtUtils.cpp:843", "standalone_path": "resources/icons/AppIconLarge.png"}, {"bundled": true, "description": "Windows application icon", "name": "AppIconLarge.ico", "note": "Read next to the program when a shortcut is written.", "path": "pcsx2/resources/icons/AppIconLarge.ico", "required": false, "source_ref": "pcsx2-qt/QtUtils.cpp:755", "standalone_path": "resources/icons/AppIconLarge.ico"}, {"bundled": true, "description": "RetroAchievements icon", "name": "ra-icon.svg", "path": "pcsx2/resources/icons/ra-icon.svg", "required": false, "source_ref": "pcsx2/ImGui/FullscreenUI_Settings.cpp:4388, pcsx2-qt/SetupWizardDialog.cpp:428, pcsx2-qt/Settings/AchievementLoginDialog.cpp:21", "standalone_path": "resources/icons/ra-icon.svg"}, {"bundled": true, "description": "Compatibility rating icons", "name": "star-<rating>.svg", "note": "Six files, star-0.svg through star-5.svg, named from the compatibility rating of the entry.", "path": "pcsx2/resources/icons/", "required": false, "source_ref": "pcsx2/ImGui/FullscreenUI.cpp:767, pcsx2-qt/GameList/GameListModel.cpp:529", "standalone_path": "resources/icons/"}, {"bundled": true, "description": "Region flag icons", "name": "<region>.svg", "note": "Forty-eight files, named from the region of the entry through RegionToFlagFilename.", "path": "pcsx2/resources/icons/flags/", "required": false, "source_ref": "pcsx2/ImGui/FullscreenUI.cpp:2842", "standalone_path": "resources/icons/flags/"}, {"bundled": true, "description": "Game list cover placeholder", "name": "cover-placeholder.png", "path": "pcsx2/resources/cover-placeholder.png", "required": false, "source_ref": "pcsx2-qt/GameList/GameListModel.cpp:531", "standalone_path": "resources/cover-placeholder.png"}], "notes": "PlayStation 2 emulator, a GPL-3.0 fork of PCSX2 that replaces the x86-64 only\nEE, IOP, VU and vtlb fast memory recompilers with native AArch64 ones. One tree\nbuilds the Android application com.armsx2, an iOS package, macOS, Windows and\nLinux on arm64, an SDL handheld frontend, and a libretro core.\nref: README.md:1-24, platforms/android/app/build.gradle.kts:17-74,\n     .github/workflows/build-all.yml:79-85\n\nA BIOS image is required and boot stops without one: LoadBIOS returning false\nmakes VMManager report that a PlayStation 2 BIOS is needed and return a startup\nfailure. Only a GS dump replay skips the load. The folder is Bios under the data\ndirectory, bios by default, and on Android the setup wizard keeps it in\napp-private storage because the native file APIs cannot reliably open a dump off\na SAF volume.\nref: pcsx2/ps2/BiosTools.cpp:332-348, pcsx2/VMManager.cpp:1592-1607,\n     pcsx2/Pcsx2Config.cpp:2498,\n     platforms/android/app/src/main/java/kr/co/iefriends/pcsx2/NativeApp.java:82-93\n\nDetection is by content. The scan lists the BIOS folder, keeps files between 4\nand 8 MB, and accepts an image whose romdir carries a RESET entry followed by a\nreadable ROMVER; the fifth ROMVER character gives the zone among Japan, USA,\nEurope, Asia, China, T10K, COH-H, Test and Free, and an EXTINFO entry supplies\nthe serial. An image named in the configuration is opened at its own path,\nwithout the size filter. No name and no hash is matched anywhere. The image is\nread into the 4 MB ROM region and truncated to it, and one shorter than 2465792\nbytes turns off the OSDSys parameter HLE. IsBIOSFromFd runs the same romdir test\non a file descriptor, which is how the Android picker identifies a dump handed\nover by the storage framework.\nref: pcsx2/ps2/BiosTools.cpp:16-17, pcsx2/ps2/BiosTools.cpp:80-197,\n     pcsx2/ps2/BiosTools.cpp:258-309, pcsx2/ps2/BiosTools.cpp:350-373\n\nCompanions derive from the selected image. rom1 and rom2 are appended to the\nfull name first, then substituted for the existing extension, so an image at\nps2-0230a-20080220.bin is followed by ps2-0230a-20080220.bin.rom1 then\nps2-0230a-20080220.rom1, and the open retries case-insensitively. Both regions\nare 4 MB here. The nvm and the mec are read at the substituted extension only;\nthe nvm is rebuilt in memory with region and language defaults when it is\nmissing or its config block is blank, and the mec is written back to disk as\n0x00020603 when it cannot be read.\nref: pcsx2/ps2/BiosTools.cpp:214-241, pcsx2/ps2/BiosTools.cpp:381-397,\n     pcsx2/MemoryTypes.h:12-14, pcsx2/CDVD/CDVD.cpp:46-60,\n     pcsx2/CDVD/CDVD.cpp:147-214\n\nThe network adapter opens eeprom.dat and flash.dat from the working directory,\nstanding in a compiled-in image for the first and a card filled with 0xFF for\nthe second. DEV9hdd.raw is the default name of the empty disk image the settings\npage writes, and memory cards, save states and screenshots are likewise produced\nby the emulator rather than read from a distribution.\nref: pcsx2/DEV9/DEV9.cpp:109-160, pcsx2/DEV9/flash.cpp:8-16,\n     pcsx2/DEV9/flash.cpp:62-86, pcsx2/DEV9/DEV9.h:31-33\n\nAn IRX named in the configuration is read into the ROM region at 0x3C0000 once\nthe IOP reaches 0x1630. The field is empty by default and names no file of its\nown.\nref: pcsx2/ps2/BiosTools.cpp:243-256, pcsx2/ps2/BiosTools.cpp:399-400,\n     pcsx2/R3000AInterpreter.cpp:220\n\nEverything under the resources folder is read at its own name from\nEmuFolders::Resources, and GetOverridableResourcePath lets a copy in\nUserResources take precedence. The standalone builds carry the folder with them,\nthe Android application unpacks it from its assets and force-refreshes the\nshaders and the two game databases on update because a stale copy no longer\nmatches the binary. The libretro core ships as a bare shared object and reads\nthe same tree from <system>/pcsx2/resources, with the BIOS folder at\n<system>/pcsx2/bios, so a libretro user supplies both.\nref: pcsx2/Pcsx2Config.cpp:2348-2357, pcsx2/Pcsx2Config.cpp:2507,\n     pcsx2/Pcsx2Config.cpp:2584-2598, pcsx2-libretro/Main.cpp:157-158,\n     pcsx2-libretro/Main.cpp:1000,\n     platforms/android/app/src/main/java/kr/co/iefriends/pcsx2/MainActivity.java:60-61,\n     platforms/android/app/src/main/java/kr/co/iefriends/pcsx2/MainActivity.java:355-372\n\nMissing resources are not uniformly survivable. A font that cannot be read fails\nLoadFontData, which fails ImGuiManager::Initialize and tears the GS device down,\nwhichever renderer is running. A shader source that cannot be read fails the\npipeline compile and the device with it, but only for the backend that reads it,\nand the renderer setting picks among OpenGL, Vulkan and, on Windows, Direct3D 11\nand 12. Vulkan is the only backend the Android, iOS and libretro builds have, so\nits sources are the ones no session can do without. The single caught failure is\nthe Vulkan sharpening pipeline, which turns itself off. The databases, the patch\narchive, the controller mappings, the sounds and the interface artwork degrade\ninstead.\nref: pcsx2/ImGui/ImGuiManager.cpp:155-160, pcsx2/ImGui/ImGuiManager.cpp:501-575,\n     pcsx2/GS/GS.cpp:88-110, pcsx2/GS/GS.cpp:160-179,\n     pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2593-2612\n\nThe Qt builds resolve a per-script interface font by filename, first under\nUserResources then under the resources folder, and download the first entry of\nthe script table into UserResources/fonts when neither holds it. Only the Latin\nand emoji entries are shipped.\nref: pcsx2-qt/Translations.cpp:312-370, pcsx2-qt/Translations.cpp:407-424,\n     pcsx2-qt/Translations.cpp:541-549\n", "profiled_date": "2026-08-11", "resources_directory": "resources/", "source": "https://github.com/ARMSX2/ARMSX2", "source_commit": "e509b17e7a8f741f89c1e2a36539c32122467d34", "systems": ["sony-playstation-2"], "type": "standalone + libretro", "upstream": "https://github.com/PCSX2/pcsx2"}


id: atari800
name: Atari800
type: standalone + libretro
classification: official_port
source: https://github.com/libretro/libretro-atari800
upstream: https://github.com/atari800/atari800
source_commit: 9d3bcf283502512052e21c6f1453fbdf7aa3122b
profile_json:
{"core_classification": "official_port", "core_version": "3.1.0", "cores": ["atari800"], "display_name": "Atari - 400/800/600XL/800XL/130XE/5200 (Atari800)", "emulator": "Atari800", "files": [{"aliases": ["atari5200.rom", "atar5200.rom", "5200.bin", "atari_5200.rom"], "hle_fallback": true, "md5": "281f20ea4320404ec820fb7ec0693b38", "name": "5200.rom", "note": "Atari 5200 BIOS (original). Mapped at $F800-$FFFF. Altirra 5200 OS is used when this file is absent.\n", "path": "5200.rom", "required": false, "size": 2048, "source_ref": "atari800/src/sysrom.c:99-100, atari800/src/sysrom.c:257", "validation": ["crc32"]}, {"aliases": ["ataribasic.rom", "basic.rom", "atari_basic.rom"], "hle_fallback": true, "md5": "0bac0c6a50104045d902df4503a4c30b", "name": "ATARIBAS.ROM", "note": "Atari BASIC Rev C. Required for 400/800 software that needs BASIC. Altirra BASIC is used as fallback. Enable via core option atari800_opt2.\n", "path": "ATARIBAS.ROM", "required": false, "size": 8192, "source_ref": "atari800/src/sysrom.c:101-103, atari800/src/sysrom.c:259", "validation": ["crc32"]}, {"aliases": ["atari_osa.rom", "atari_os_a.rom"], "hle_fallback": true, "md5": "eb1f32f5d9f382db1bbfb8d7f9cb343a", "name": "ATARIOSA.ROM", "note": "Atari 400/800 OS Rev A. Altirra OS 800 is used as fallback. Auto-select order: OS B NTSC, OS A NTSC, OS A PAL, custom, Altirra.\n", "path": "ATARIOSA.ROM", "required": false, "size": 10240, "source_ref": "atari800/src/sysrom.c:85-86, atari800/src/sysrom.c:252", "validation": ["crc32"]}, {"aliases": ["atari_osb.rom", "atari_os_b.rom"], "crc32": "0e86d61d", "hle_fallback": true, "md5": "4177f386a3bac989a981d3fe3388cb6c", "name": "ATARIOSB.ROM", "note": "Atari 400/800 OS Rev B (NTSC). CRC32 0x0e86d61d matches sysrom.c SYSROM_B_NTSC. Preferred over Rev A for 400/800 mode. Note: .info lists md5 a3e8d617c95d08031fe1b20d541434b2 which is a different dump (crc32 3e28a1fe) -- both in repo, the CRC32-matched version is the one sysrom.c auto-detects.\n", "path": "ATARIOSB.ROM", "required": false, "size": 10240, "source_ref": "atari800/src/sysrom.c:87, atari800/src/sysrom.c:253", "validation": ["crc32"]}, {"aliases": ["atarixlxe.rom", "atari_xlxe.rom", "atari_xl_xe.rom"], "hle_fallback": true, "md5": "06daac977823773a3eea3422fd26a703", "name": "ATARIXL.ROM", "note": "Atari XL/XE OS. Used for 800XL, 130XE, and XEGS modes. Altirra XL OS is used as fallback.\n", "path": "ATARIXL.ROM", "required": false, "size": 16384, "source_ref": "atari800/src/sysrom.c:88-97, atari800/src/sysrom.c:255", "validation": ["crc32"]}, {"hle_fallback": true, "md5": "b7a2a04677d34f069eeb643d5238bf86", "name": "BB01R4_OS.ROM", "note": "Atari XEGS OS Rev 4 (BB01R4). Preferred OS for XEGS machine mode.\n", "path": "BB01R4_OS.ROM", "required": false, "size": 16384, "source_ref": "atari800/src/sysrom.c:96", "validation": ["crc32"]}, {"md5": "d7eb37aec6960cba36bc500e0e5d00bc", "name": "XEGAME.ROM", "note": "XEGS built-in Missile Command ROM. Only used in XEGS machine mode. No built-in replacement exists for this ROM.\n", "path": "XEGAME.ROM", "required": false, "size": 8192, "source_ref": "atari800/src/sysrom.c:104", "validation": ["crc32"]}], "notes": {"altirra_note": "The Altirra OS/BASIC replacements are open-source alternatives compiled directly into the core binary (roms/ directory in source). They provide good compatibility for most software but real ROMs give better accuracy.\n", "cfg_note": "On first boot the core creates .atari800.cfg in the frontend home directory. It scans the system directory for ROM files by CRC32 first, then by filename. The core option atari800_opt1 controls whether this legacy config is loaded.\n", "machine_selection": "Core option atari800_system selects the emulated machine. Each machine type has its own preferred OS ROM auto-select order defined in sysrom.c.\n"}, "profiled_date": "2026-03-23", "source": "https://github.com/libretro/libretro-atari800", "source_commit": "9d3bcf283502512052e21c6f1453fbdf7aa3122b", "systems": ["atari-400-800", "atari-5200", "xegs"], "type": "standalone + libretro", "upstream": "https://github.com/atari800/atari800"}


id: ax360e
name: aX360e
type: standalone
classification: community_fork
source: https://github.com/aenu1/ax360e
upstream: https://github.com/xenia-canary/xenia-canary
source_commit: a451abd20ae0660bc53bcf90473ac0e6c6c0d86d
profile_json:
{"core_classification": "community_fork", "core_version": "1.18", "cores": ["ax360e"], "display_name": "Microsoft - Xbox 360 (aX360e)", "emulator": "aX360e", "exclusion_note": "Six file loads present in the vendored tree are not reached by this build and are not listed. The notification sound named by notification_sound_path is played inside a XE_PLATFORM_WIN32 block, and the setting is dropped from the generated preference screen. tahoma.ttf and msgothic.ttc are read by the Windows font paths only. The fontconfig CJK match is compiled out by XE_PLATFORM_LINUX && !(XE_PLATFORM_ANDROID || XE_PLATFORM_AX360E), and platform.h defines XE_PLATFORM_AX360E for this target. gamecontrollerdb.txt belongs to the SDL input driver, and xenia-hid-sdl is absent from the link list. portable.txt is read by xenia_main.cc, which is not compiled, the application supplying its own windowed app. libSPIRV-Tools-shared.so is loaded by the standalone shader compiler and needs VULKAN_SDK in the environment. librenderdoc.so is opened with RTLD_NOLOAD, which returns a handle only when the library is already mapped and never reads the file. ref: ax360e/app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_guest_notification.cc:49-60,\n     ax360e/app/src/main/cpp/emulator_ax360e.cpp:356,\n     ax360e/app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_drawer.cc:376-407,\n     ax360e/app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_drawer.cc:409-493,\n     ax360e/app/src/main/cpp/xenia-canary/src/xenia/base/platform.h:34-37,\n     ax360e/app/src/main/cpp/CMakeLists.txt:91-131,\n     ax360e/app/src/main/cpp/xenia-canary/src/xenia/app/xenia_main.cc:480,\n     ax360e/app/src/main/cpp/xenia-canary/src/xenia/ui/vulkan/spirv_tools_context.cc:28-37,\n     ax360e/app/src/main/cpp/xenia-canary/src/xenia/ui/renderdoc_api.cc:35-41\n", "files": [{"config_key": "Vulkan|vulkan_lib_path", "description": "Replacement Vulkan driver package", "name": "<driver>.zip", "note": "Imported through a picker that keeps only names ending in .zip. The archive is read whole, meta.json names the library to keep, and a single .so is taken instead when no meta.json is present; the .so files and meta.json are unpacked into a directory named after the archive, in internal storage. The configured path is read before the instance is created and opened through adrenotools when it exists, otherwise the system libvulkan.so is used. The setting is greyed out on devices without /dev/kgsl-3d0.", "required": false, "source_ref": "ax360e/app/src/main/java/aenu/ax360e/EmulatorSettings.java:709-713, ax360e/app/src/main/java/aenu/ax360e/Utils.java:150-215, ax360e/app/src/main/cpp/xenia-canary/src/xenia/ui/vulkan/vulkan_instance.cc:34, ax360e/app/src/main/cpp/xenia-canary/src/xenia/ui/vulkan/vulkan_instance.cc:71-91, ax360e/app/src/main/java/aenu/emulator/Emulator.java:116-122", "unsourceable": "third-party Vulkan driver built for one GPU family, not an emulator artefact"}, {"config_key": "UI|custom_font_path", "description": "Replacement face for the overlay text", "name": "<font>.ttf", "note": "Loaded first when the configured path exists, over the Basic Latin, Latin Supplement, Extended Latin, Greek, Cyrillic, punctuation, superscript, letterlike and number form ranges. A face that fails to build is cleared and the embedded ProggyTiny is used instead, so the absence is covered.", "required": false, "source_ref": "ax360e/app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_drawer.cc:42-44, ax360e/app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_drawer.cc:340-374, ax360e/app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_drawer.cc:507-514", "unsourceable": "any TrueType face the user picks, with no name or version the code expects"}, {"bundled": true, "description": "Memory patch set for one title", "name": "<title_id> - <title>.patch.toml", "note": "Read from the patches directory under the storage root, keeping names that open with eight hexadecimal digits and close with .patch.toml. The title id and title name fields and a hash node are mandatory, the file is dropped without them, and each entry of the patch array is applied only when its is_enabled flag is set and the module hash matches. Patching is on by default.", "required": false, "source_ref": "ax360e/app/src/main/cpp/xenia-canary/src/xenia/patcher/patch_db.cc:17-18, ax360e/app/src/main/cpp/xenia-canary/src/xenia/patcher/patch_db.cc:30-98, ax360e/app/src/main/cpp/xenia-canary/src/xenia/patcher/patch_db.h:121-122, ax360e/app/src/main/cpp/xenia-canary/src/xenia/patcher/patcher.cc:22-35, ax360e/app/src/main/cpp/xenia-canary/src/xenia/emulator.cc:308"}, {"config_key": "General|allow_plugins", "description": "Plugin manifest for one title", "name": "plugins.toml", "note": "Read from plugins/<TITLE_ID>/ under the storage root, where the directory name is eight hexadecimal digits. Each entry of the plugin array needs a hash node, and an entry without one is skipped. Plugin loading is off by default, so nothing under plugins is scanned until it is turned on.", "required": false, "source_ref": "ax360e/app/src/main/cpp/xenia-canary/src/xenia/patcher/plugin_loader.cc:16-21, ax360e/app/src/main/cpp/xenia-canary/src/xenia/patcher/plugin_loader.cc:40-127, ax360e/app/src/main/cpp/xenia-canary/src/xenia/emulator.cc:320-321", "unsourceable": "per-title manifest written by whoever authors the mod, with no distributed form"}, {"description": "Plugin module named by a plugin manifest", "name": "<plugin>.xex", "note": "The title directory is mounted as the plugins device and each enabled entry whose hash matches the running module is loaded as a user module on its own thread. A directory that cannot be mounted is a fatal error.", "required": false, "source_ref": "ax360e/app/src/main/cpp/xenia-canary/src/xenia/patcher/plugin_loader.cc:175-257, ax360e/app/src/main/cpp/xenia-canary/src/xenia/emulator.cc:1996-1999", "unsourceable": "homebrew module built for one title, distributed with the mod it belongs to"}, {"bundled": true, "description": "Encrypted profile account blob", "load_from": "content_dir", "name": "Account", "note": "Opened from the mounted profile when a XUID is logged in, and decrypted with the 0x19 key, retail first then devkit, against the HMAC the first sixteen bytes carry. The application extracts the one it ships for XUID E0300000A360E000 on first run, and the emulator writes its own when a profile is created.", "path": "content/<XUID>/FFFE07D1/00010000/<XUID>/Account", "required": false, "source_ref": "ax360e/app/src/main/cpp/xenia-canary/src/xenia/kernel/xam/profile_manager.cc:188-230, ax360e/app/src/main/cpp/xenia-canary/src/xenia/kernel/xam/profile_manager.cc:40-68, ax360e/app/src/main/java/aenu/ax360e/Application.java:30-34, ax360e/app/src/main/java/aenu/ax360e/Application.java:92-96"}], "mode": "standalone", "notes": "Xbox 360 emulator for Android, distributed on Google Play as aenu.ax360e and\naenu.ax360e.free. Xenia Canary is vendored whole under\napp/src/main/cpp/xenia-canary at canary_experimental dc561e4d, and a JNI layer\nreplaces the desktop front end: its own windowed app and window, AAudio and\nOpenSLES audio systems, an Android input driver, and disc image, disc archive,\nSTFS and XEX devices backed by the Storage Access Framework.\nref: ax360e/app/src/main/cpp/version.h:4-5,\n     ax360e/app/src/main/cpp/CMakeLists.txt:39-74,\n     ax360e/app/src/main/cpp/ax360e_emu.cpp:615\n\nThe version is read from the commit subjects, which carry it: 1.18 is the head\nof main, 1.17 the drop before it. The repository has no tags, and the only\ngradle file committed is app/build.gradle.bak, which still declares versionName\n0.14 and is renamed and completed with the signing block at build time.\nref: ax360e/README.md, ax360e/app/build.gradle.bak:13-14\n\nNo Xbox 360 system file is loaded. The kernel, XAM and XBDM are HLE modules\nregistered at startup, and every key the emulator needs is a constant in the\nsource: the XEX1 retail, XEX2 retail and XEX2 devkit keys tried in turn when an\nimage is read, the 0x19 key pair the profile blob is encrypted with, and the\nkey vault map XeKeysGetKey answers from. There is no NAND, flash or keyvault\npath.\nref: ax360e/app/src/main/cpp/xenia-canary/src/xenia/emulator.cc:316-318,\n     ax360e/app/src/main/cpp/xenia-canary/src/xenia/cpu/xex_module.cc:54-62,\n     ax360e/app/src/main/cpp/xenia-canary/src/xenia/cpu/xex_module.cc:953-963,\n     ax360e/app/src/main/cpp/xenia-canary/src/xenia/kernel/util/crypto_utils.cc:20-31,\n     ax360e/app/src/main/cpp/xenia-canary/src/xenia/kernel/xboxkrnl/xboxkrnl_crypt.cc:164-168\n\nThe storage root is the external files directory of the package and is passed\nas a launch argument beside the config path and the log path. Content, cache,\npatches and plugins hang off it, the global configuration is\nxenia-canary.config.toml, and per title overrides live in\ncustom_config/<title_id>.config.toml. The custom driver directory sits in\ninternal storage instead, because the external filesystem cannot carry an\nexecutable mapping.\nref: ax360e/app/src/main/java/aenu/ax360e/Application.java:14-53,\n     ax360e/app/src/main/java/aenu/ax360e/EmulatorActivity.java:67-73,\n     ax360e/app/src/main/cpp/ax360e_emu.cpp:273-316\n\nES-DE starts the emulator with the aenu.intent.action.AX360E action and a\ngame_uri extra. The native side dispatches on the name the descriptor resolves\nto: .xex, .iso and .zar each go to their own loader, and anything else is taken\nfor an STFS container and launched beside a sibling directory named after the\nfile with .data appended.\nref: ax360e/app/src/main/AndroidManifest.xml:57-59,\n     ax360e/app/src/main/cpp/ax360e_emu.cpp:554-575\n\nA default profile ships with the application. Its Account blob is extracted\nfrom the assets on first run under XUID E0300000A360E000, and the shipped\nconfiguration logs that XUID into slot 0. Further profiles are created by the\nemulator itself, which writes the blob it encrypts.\nref: ax360e/app/src/main/java/aenu/ax360e/Application.java:30-34,\n     ax360e/app/src/main/java/aenu/ax360e/Application.java:92-96,\n     ax360e/app/src/main/assets/config/default_config.toml:314,\n     ax360e/app/src/main/cpp/xenia-canary/src/xenia/kernel/xam/profile_manager.cc:502-558\n\n477 game patches ship inside the APK. The patch database reads the patches\ndirectory only, so a bundled patch reaches the emulator once the user opens the\npatch dialog for that title and presses Apply, which writes the asset out under\nthe same name.\nref: ax360e/app/src/main/assets/game-patches,\n     ax360e/app/src/main/cpp/xenia-canary/src/xenia/patcher/patch_db.cc:30-56,\n     ax360e/app/src/main/java/aenu/ax360e/Emulator.java:121-151,\n     ax360e/app/src/main/java/aenu/ax360e/MainActivity.java:503-512\n", "profiled_date": "2026-08-11", "source": "https://github.com/aenu1/ax360e", "source_branch": "main", "source_commit": "a451abd20ae0660bc53bcf90473ac0e6c6c0d86d", "systems": ["microsoft-xbox-360"], "type": "standalone", "upstream": "https://github.com/xenia-canary/xenia-canary", "upstream_commit": "dc561e4df578c903087f9bdf56ff61d9ef9f2a93"}


id: azahar
name: Azahar
type: standalone + libretro
classification: community_fork
source: https://github.com/johndoe6345789/azahar_libretro
upstream: https://github.com/azahar-emu/azahar
source_commit: 9dd12da328c753806cbd4f2b0e048fced97ae97d
profile_json:
{"core_classification": "community_fork", "core_version": "Git", "cores": ["azahar"], "display_name": "Nintendo - 3DS (Azahar)", "emulator": "Azahar", "files": [{"hle_fallback": true, "name": "keys.txt", "note": "embedded encrypted fallback if missing", "path": "sysdata/keys.txt", "required": false, "source_ref": "src/core/hw/aes/key.cpp:283, src/common/common_paths.h:83", "system": "nintendo-3ds"}, {"hle_fallback": true, "name": "shared_font.bin", "note": "legacy load path; embedded open-source font used if missing", "path": "sysdata/shared_font.bin", "required": false, "source_ref": "src/core/hle/service/apt/apt.cpp:263-278", "system": "nintendo-3ds"}, {"name": "seeddb.bin", "note": "game seed database for 9.6+ titles", "path": "sysdata/seeddb.bin", "required": false, "source_ref": "src/core/file_sys/seed_db.cpp:15", "system": "nintendo-3ds"}, {"name": "otp.bin", "note": "OTP data for console key derivation", "path": "sysdata/otp.bin", "required": false, "size": 256, "source_ref": "src/core/hw/unique_data.cpp:126-167, src/core/hw/unique_data.cpp:213", "system": "nintendo-3ds", "validation": ["size", "crypto"]}, {"name": "movable.sed", "note": "console-unique key seed; 288 bytes without the AES MAC block, 320 with it", "path": "nand/private/movable.sed", "required": false, "size": [288, 320], "source_ref": "src/core/hw/unique_data.cpp:170-200, src/core/hw/unique_data.cpp:217, src/core/hw/unique_data.h:103-133", "system": "nintendo-3ds", "validation": ["size", "signature"]}, {"name": "SecureInfo_A", "note": "console serial and region data", "path": "nand/rw/sys/SecureInfo_A", "required": false, "size": 273, "source_ref": "src/core/hw/unique_data.cpp:43-92, src/core/hw/unique_data.cpp:205", "system": "nintendo-3ds", "validation": ["size", "signature"]}, {"name": "LocalFriendCodeSeed_B", "note": "friend code generation seed", "path": "nand/rw/sys/LocalFriendCodeSeed_B", "required": false, "size": 272, "source_ref": "src/core/hw/unique_data.cpp:94-123, src/core/hw/unique_data.cpp:209, src/core/hw/unique_data.h:76", "system": "nintendo-3ds", "validation": ["size", "signature"]}], "notes": "Successor to Citra (via Lime3DS). Libretro port by johndoe6345789.\nData dir: azahar-emu (legacy: citra-emu, lime3ds-emu).\nref: src/common/common_paths.h:41-43\n\nKey file named keys.txt (not aes_keys.txt like old Citra).\nEmbedded encrypted key fallback if keys.txt absent.\nref: src/core/hw/aes/key.cpp:282-297\n\nUses RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY.\nref: src/citra_libretro/environment.cpp:179\n\n.info has firmware_count=0 but core loads files from system_dir.\n\nboot9.bin and sector0x96.bin are defined in common_paths.h:84-85\nbut never loaded by any code path. Dead defines from Citra heritage.\n\nSystem archives (shared font, Mii data, country list, bad word list)\nhave open-source replacements embedded in the binary.\nref: src/core/file_sys/archive_ncch.cpp:146-176\n", "profiled_date": "2026-03-23", "source": "https://github.com/johndoe6345789/azahar_libretro", "source_commit": "9dd12da328c753806cbd4f2b0e048fced97ae97d", "systems": ["nintendo-3ds"], "type": "standalone + libretro", "upstream": "https://github.com/azahar-emu/azahar"}


id: azaharplus
name: AzaharPlus
type: standalone
classification: community_fork
source: https://github.com/AzaharPlus/AzaharPlus
upstream: https://github.com/AzaharPlus/AzaharPlus
source_commit: 18775d91a5c70be33ec828a32d9007384c4fad98
profile_json:
{"core_classification": "community_fork", "core_version": "2126.0-A", "cores": ["azaharplus"], "display_name": "Nintendo - 3DS (AzaharPlus)", "emulator": "AzaharPlus", "files": [{"hle_fallback": true, "name": "keys.txt", "note": "AES key slots, common keys and NFC secrets; embedded encrypted blob used if missing", "path": "sysdata/keys.txt", "required": false, "source_ref": "src/core/hw/aes/key.cpp:227-366, src/core/hw/aes/key.cpp:475-615", "system": "nintendo-3ds"}, {"name": "aes_keys.txt", "note": "legacy keyfile format, parsed without section markers", "path": "sysdata/aes_keys.txt", "required": false, "source_ref": "src/core/hw/aes/key.cpp:368-471, src/common/common_paths.h:86", "system": "nintendo-3ds"}, {"name": "boot9.bin", "note": "bootrom key section read at offset 55760, filling 80 key slots", "path": "sysdata/boot9.bin", "required": false, "size": 65536, "source_ref": "src/core/hw/aes/key.cpp:156-225, src/common/common_paths.h:87", "system": "nintendo-3ds", "validation": ["size"]}, {"hle_fallback": true, "name": "shared_font.bin", "note": "legacy path, tried after the shared font system archive", "path": "sysdata/shared_font.bin", "required": false, "source_ref": "src/core/hle/service/apt/apt.cpp:278-294, src/core/hle/service/apt/apt.cpp:305", "system": "nintendo-3ds"}, {"hle_fallback": true, "name": "seeddb.bin", "note": "game seed database for 9.6+ titles; written out from the embedded seeds if absent", "path": "sysdata/seeddb.bin", "required": false, "source_ref": "src/core/file_sys/seed_db.cpp:52-103", "system": "nintendo-3ds"}, {"name": "otp.bin", "note": "console-unique OTP, AES-CBC decrypted then checked against the OTP magic", "path": "sysdata/otp.bin", "required": false, "size": 256, "source_ref": "src/core/file_sys/otp.cpp:35-80, src/core/hw/unique_data.cpp:224-275", "system": "nintendo-3ds", "validation": ["size", "crypto"]}, {"name": "movable.sed", "note": "console-unique key seed; 288 bytes without the AES MAC block, 320 with it", "path": "nand/private/movable.sed", "required": false, "size": [288, 320], "source_ref": "src/core/hw/unique_data.cpp:277-319, src/core/hw/unique_data.h:105-135", "system": "nintendo-3ds", "validation": ["size", "signature"]}, {"name": "SecureInfo_A", "note": "console serial and region; a failed signature is retried against every region", "path": "nand/rw/sys/SecureInfo_A", "required": false, "size": 273, "source_ref": "src/core/hw/unique_data.cpp:123-181, src/core/hw/unique_data.h:59", "system": "nintendo-3ds", "validation": ["size", "signature"]}, {"name": "LocalFriendCodeSeed_B", "note": "friend code generation seed", "path": "nand/rw/sys/LocalFriendCodeSeed_B", "required": false, "size": 272, "source_ref": "src/core/hw/unique_data.cpp:183-222, src/core/hw/unique_data.h:78", "system": "nintendo-3ds", "validation": ["size", "signature"]}], "mode": "standalone", "notes": "Fork of Azahar. Data dir: azaharplus-emu (AzaharPlus on Windows and macOS),\nwith citra-emu and lime3ds-emu probed as legacy locations.\nref: src/common/common_paths.h:27-49\n\nInitKeys reads three key sources in order: boot9.bin, keys.txt, aes_keys.txt.\nref: src/core/hw/aes/key.cpp:617-633\n\nkeys.txt has an AES-encrypted key blob compiled into the binary, used when the\nfile is absent. ENABLE_BUILTIN_KEYBLOB defaults to ON.\nref: src/core/hw/aes/key.cpp:485-613, CMakeLists.txt:153\n\n1861 title seeds are compiled in and loaded before seeddb.bin is read.\nref: src/core/file_sys/seed_db.cpp:52-54, src/core/file_sys/seed_db.cpp:220\n\nSystem archives (shared font, Mii data, country list, bad word list) have\nopen-source replacements embedded in the binary, and ClCertA falls back to an\nembedded certificate and key pair.\nref: src/core/file_sys/archive_ncch.cpp:174-203,\nsrc/core/hle/service/http/http_c.cpp:2107-2133\n\notp.bin, movable.sed, SecureInfo_A and LocalFriendCodeSeed_B are replaced by\nembedded dummy data when enable_required_online_lle_modules is set. That\nsetting defaults to false, and every loader returns a not-found status without\nit.\nref: src/common/settings.h:492-493\n\nSystem titles are downloaded and installed in-app from the Nintendo CDN, so\nthe NAND title tree is not user-supplied.\nref: src/core/nus_download.cpp:13, src/core/hle/service/am/am.cpp:1220-1243\n\nsector0x96.bin is defined but read by no code path.\nref: src/common/common_paths.h:88\n\nmcu.dat, mac.txt, digests.txt, cecIds.txt and http_hle_replace_rules.txt live\nin sysdata but hold per-installation state the emulator writes itself.\n", "profiled_date": "2026-08-08", "source": "https://github.com/AzaharPlus/AzaharPlus", "source_commit": "18775d91a5c70be33ec828a32d9007384c4fad98", "systems": ["nintendo-3ds"], "type": "standalone", "upstream": "https://github.com/AzaharPlus/AzaharPlus"}


id: b2
name: b2
type: standalone + libretro
classification: community_fork
source: https://github.com/zoltanvb/b2-libretro
upstream: https://github.com/tom-seddon/b2
source_commit: 6485984cddf50e20fb7d9d5d350a9d54265c283c
profile_json:
{"core_classification": "community_fork", "core_version": "v0.4", "cores": ["b2"], "display_name": "Acorn - BBC Micro (b2)", "emulator": "b2", "files": [], "notes": "Libretro port by Zoltan Balogh of Tom Seddon's b2 BBC Micro emulator.\nis_experimental=true in .info.\nref: zoltanvb/b2-libretro, tom-seddon/b2\n\nStandalone loads ROMs from etc/roms/ via GetAssetPath() + LoadFile().\nref: tom-seddon/b2/src/b2/roms.cpp:9-10\n\nLibretro port embeds all ROMs as hex arrays in src/libretro/roms.hpp.\ncreate_core() loads OS and sideways ROMs from static machine_types[] arrays.\nGetAssetPath() and LoadFile() are stubbed — no file I/O at runtime.\nref: zoltanvb/b2-libretro/src/libretro/roms.hpp\nref: zoltanvb/b2-libretro/src/libretro/core.cpp:274-304\nref: zoltanvb/b2-libretro/src/libretro/adapters.cpp:74-78\n\n9 machine types: B/Acorn 1770, B/Watford DDB2, B/Watford DDB3,\nB/Opus 1770, B/Opus Challenger 256K, B/Opus Challenger 512K,\nB+, B+128, Master 128 (MOS 3.20).\nMaster 3.50, Master Turbo, Master Compact not yet implemented.\nref: zoltanvb/b2-libretro/src/libretro/core.h:117\n", "profiled_date": "2026-03-23", "source": "https://github.com/zoltanvb/b2-libretro", "source_commit": "6485984cddf50e20fb7d9d5d350a9d54265c283c", "systems": ["bbc-micro-b", "bbc-micro-bplus", "bbc-master-128"], "type": "standalone + libretro", "upstream": "https://github.com/tom-seddon/b2"}


id: basiliskii
name: Basilisk II
type: standalone
source: https://github.com/cebix/macemu
upstream: https://github.com/cebix/macemu
source_commit: 96e512bd6376e78a2869f16dcc8a9028bce5ee72
profile_json:
{"core_version": "1.0", "cores": ["basiliskii"], "display_name": "Apple - Macintosh 68k (Basilisk II)", "emulator": "Basilisk II", "files": [{"description": "Macintosh ROM image, 512 KB SE/Classic or 512 KB / 1 MB 32-bit clean Mac II", "max_size": 1048576, "min_size": 524288, "name": "ROM", "required": true, "source_ref": "BasiliskII/src/Unix/main_unix.cpp:109,685,692, BasiliskII/src/rom_patches.cpp:830-842, BasiliskII/src/main.cpp:67", "validation": ["size"]}], "mode": "standalone", "notes": "68k Macintosh emulator living in the macemu tree alongside SheepShaver.\nEmulates a Mac Classic or a Mac II series machine depending on the ROM\nsupplied. Default model ID is 5 (Mac IIci) on a 68030\n(prefs_items.cpp:88-89).\n\nROM loading (main_unix.cpp:681-702, main_windows.cpp:367,\nmain_macosx.mm:431): the path comes from the \"rom\" prefs item\n(prefs_items.cpp:51) and falls back to a file named ROM in the working\ndirectory (main_unix.cpp:109). A missing or unreadable file raises\nSTR_NO_ROM_FILE_ERR and calls QuitEmulator.\n\nTwo gates run on the image. main_unix.cpp:692 accepts only sizes of 64K,\n128K, 256K, 512K or 1024K. CheckROM (rom_patches.cpp:830-842), called from\nInitAll at main.cpp:67, then reads the version word at ROM offset 8 and\naccepts 0x067c (32-bit clean Mac II, 512K/1MB) under real and direct\naddressing, adding 0x0276 (SE/Classic, 256K/512K) under banks addressing.\nconfigure.ac:61-68,1440-1477 defaults --enable-addressing to fastest,\nwhich resolves to real or direct, so a stock build takes 32-bit clean ROMs\nonly. 0x0000 (Mac 128K), 0x0075 (Mac Plus) and 0x0178 (non 32-bit clean\nMac II) are refused by every addressing mode. PatchROM\n(rom_patches.cpp:1834-1852) then rewrites the image in memory, injecting\nreplacement .Sony, .Disk, .AppleCD and serial drivers. Nothing is\nchecksummed: print_rom_info (rom_patches.cpp:298-310) prints the ROM header\nchecksum without comparing it against anything.\n\nMac OS itself and the games live in disk images referenced by the disk,\nfloppy and cdrom prefs items, supplied by the user.\n\nFour files are installed by the emulator's own Makefile into\n$(datadir)/BasiliskII (Makefile.in:25,155-157) and read from there:\n  keycodes            X keycode to Mac keycode table, read only when the\n                      keycodes prefs item is true, which defaults to false\n                      (prefs_unix.cpp:119). Overridable with keycodefile.\n                      video_sdl2.cpp:94-97,1231, video_x.cpp:1492\n  BasiliskII_keycodes tried when keycodes is absent (video_sdl2.cpp:98,\n                      1232), shipped in src/MacOSX/\n  fbdevices           frame buffer device table, read by the X11 backend\n                      built with --enable-fbdev-dga. Overridable with\n                      fbdevicefile. video_x.cpp:1152,1186\n  tunconfig           script run to configure the tunN interface for\n                      ethernet. Overridable with etherconfig.\n                      ether_unix.cpp:108,381\n\nThe preferences file (.basilisk_ii_prefs, prefs_unix.cpp:50) and the PRAM\nfile (.basilisk_ii_xpram on Unix, BasiliskII_xpram.dat on Windows,\nxpram_unix.cpp:32, xpram_windows.cpp:33) are written by the emulator when\nabsent.\n", "profiled_date": "2026-08-08", "source": "https://github.com/cebix/macemu", "source_commit": "96e512bd6376e78a2869f16dcc8a9028bce5ee72", "systems": ["apple-macintosh", "macintosh-ii"], "type": "standalone", "upstream": "https://github.com/cebix/macemu"}


id: beebem
name: beebem
type: standalone
classification: other
source: https://github.com/stardot/beebem-windows
upstream: https://github.com/stardot/beebem-windows
source_commit: a982ba6a74af09e801c296b29d514dbd4da09b94
profile_json:
{"core_classification": "other", "core_version": "4.19", "cores": ["beebem"], "display_name": "Acorn - BBC Micro (BeebEm)", "emulator": "beebem", "exclusion_note": "The TMS5220 speech generator is compiled out. Speech.cpp:57-1621 wraps the whole implementation, including the SpeechInit() that reads Phroms.cfg and the PHROM files, in #if ENABLE_SPEECH, and all four build configurations in Src/BeebEm.vcxproj define ENABLE_SPEECH=0. Every call site is guarded the same way. UserData/Phroms.cfg and the seven files in UserData/Phroms/ (PHROMA, PHROMUS, VM61002-5.bin, VM71003A.bin) ship but no released binary opens them. ref: Src/BeebEm.vcxproj:98,117,134,157 - Src/Speech.cpp:57,1621 - Help/speech.html\n", "files": [{"bundled": true, "description": "BBC Micro OS 1.20", "md5": "0a59a5ba15fe8557b5f7fee32bbd393a", "name": "OS12.rom", "note": "OS ROM slot. Read into 0xc000; an error is reported unless 16384 bytes are read.", "path": "BeebFile/BBC/OS12.rom", "required": true, "sha1": "0d9bcaf6a393c9ce2359ed700ddb53c232c2c45d", "size": 16384, "source_ref": "Src/BeebMem.cpp:1291-1308, Src/RomConfigFile.cpp:43", "system": "bbc-micro-b", "validation": ["size"]}, {"bundled": true, "description": "BBC BASIC II", "max_size": 131072, "md5": "2cc67be4624df4dc66617742571a8e3d", "name": "BASIC2.rom", "path": "BeebFile/BBC/BASIC2.rom", "required": true, "sha1": "4a7393f3a45ea309f744441c16723e2ef447a281", "size": 16384, "source_ref": "Src/RomConfigFile.cpp:44, Src/BeebMem.cpp:1322-1356", "system": "bbc-micro-b"}, {"bundled": true, "description": "Acorn DFS 1.20 and NFS 3.34 combined", "max_size": 131072, "md5": "5daed103918277e2065dd7e8d23e57a5", "name": "DNFS.rom", "path": "BeebFile/BBC/DNFS.rom", "required": true, "sha1": "7e3c536baeae84d6498a14e8405319e01ee78232", "size": 16384, "source_ref": "Src/RomConfigFile.cpp:45, Src/BeebMem.cpp:1322-1356", "system": "bbc-micro-b"}, {"bundled": true, "description": "Debugger symbol map for OS 1.20", "md5": "c335bb52e811d79fd3cc9b4807f98cfd", "name": "OS12.map", "note": "Path derived from the ROM file name by ReplaceFileExt. Absence is silent.", "path": "BeebFile/BBC/OS12.map", "required": false, "sha1": "3fb4f63479a7bedec968ec47627b17752d5889e1", "size": 19711, "source_ref": "Src/BeebMem.cpp:1311-1313", "system": "bbc-micro-b"}, {"bundled": true, "description": "BBC Micro OS 1.20, Integra-B configuration", "md5": "0a59a5ba15fe8557b5f7fee32bbd393a", "name": "OS12.rom", "note": "OS ROM slot for Model::IntegraB. Same dump as BeebFile/BBC/OS12.rom.", "path": "BeebFile/BBCINT/OS12.rom", "required": true, "sha1": "0d9bcaf6a393c9ce2359ed700ddb53c232c2c45d", "size": 16384, "source_ref": "Src/RomConfigFile.cpp:63, Src/BeebMem.cpp:1291-1308", "system": "bbc-micro-b", "validation": ["size"]}, {"bundled": true, "description": "Integra-B IBOS 1.26", "max_size": 131072, "md5": "1b57c2ba920a00d5b4ef89be68aedc43", "name": "IBOS126.rom", "path": "BeebFile/BBCINT/IBOS126.rom", "required": true, "sha1": "d0153203802c8ec3e3270443be809e23d574280b", "size": 16384, "source_ref": "Src/RomConfigFile.cpp:64", "system": "bbc-micro-b"}, {"bundled": true, "description": "BBC BASIC II", "max_size": 131072, "md5": "2cc67be4624df4dc66617742571a8e3d", "name": "BASIC2.rom", "path": "BeebFile/BBCINT/BASIC2.rom", "required": true, "sha1": "4a7393f3a45ea309f744441c16723e2ef447a281", "size": 16384, "source_ref": "Src/RomConfigFile.cpp:65", "system": "bbc-micro-b"}, {"bundled": true, "description": "Acorn DFS 1.20 and NFS 3.34 combined", "max_size": 131072, "md5": "5daed103918277e2065dd7e8d23e57a5", "name": "DNFS.rom", "path": "BeebFile/BBCINT/DNFS.rom", "required": true, "sha1": "7e3c536baeae84d6498a14e8405319e01ee78232", "size": 16384, "source_ref": "Src/RomConfigFile.cpp:66", "system": "bbc-micro-b"}, {"bundled": true, "description": "Integra-B IBOS 1.20", "max_size": 131072, "md5": "8882e50d5d98851a04f541c71bd25f31", "name": "IBOS.rom", "note": "Integra-B slot under the Torch configuration.", "path": "BeebFile/BBCINT/IBOS.rom", "required": false, "sha1": "0f5b2a5bee23808b34eab2f027f7c1e77395c782", "size": 16384, "source_ref": "UserData/Roms_Torch.cfg:24", "system": "bbc-micro-b"}, {"bundled": true, "description": "Watford DFS 1.44", "max_size": 131072, "md5": "1d250b0242e447e9106e8bfd1f27ea84", "name": "WDFS.rom", "note": "Filing system slot under the Torch configuration.", "path": "BeebFile/BBCINT/WDFS.rom", "required": false, "sha1": "387d2468c6e1360f5b531784ce95d5f71a50c2b5", "size": 16384, "source_ref": "UserData/Roms_Torch.cfg:26", "system": "bbc-micro-b"}, {"bundled": true, "description": "Torch MCP 1.20 host tube ROM, 8271 FDC", "max_size": 131072, "md5": "42f92cb02602e903d7bdabb33bf30966", "name": "MCP120-CBL.rom", "note": "Host tube support for the Torch Z80 co-processor on a Model B.", "path": "BeebFile/BBC/MCP120-CBL.rom", "required": false, "sha1": "0edb0db70c9571540793e321f527e68188b6e4cd", "size": 16384, "source_ref": "UserData/Roms_Torch.cfg:5, Help/z80torch.html", "system": "bbc-micro-b"}, {"bundled": true, "description": "BBC Model B Plus MOS 2.00", "md5": "978370cc7ab8589a137ada34388a6e32", "name": "B+MOS.rom", "note": "OS ROM slot for Model::BPlus.", "path": "BeebFile/BPLUS/B+MOS.rom", "required": true, "sha1": "d9426dd7454ca199cdef9435daa332cdf405c965", "size": 16384, "source_ref": "Src/RomConfigFile.cpp:83, Src/BeebMem.cpp:1291-1308", "system": "bbc-micro-bplus", "validation": ["size"]}, {"bundled": true, "description": "BBC BASIC II", "max_size": 131072, "md5": "2cc67be4624df4dc66617742571a8e3d", "name": "BASIC2.rom", "path": "BeebFile/BPLUS/BASIC2.rom", "required": true, "sha1": "4a7393f3a45ea309f744441c16723e2ef447a281", "size": 16384, "source_ref": "Src/RomConfigFile.cpp:84", "system": "bbc-micro-bplus"}, {"bundled": true, "description": "Acorn 1770 DFS 2.26", "max_size": 131072, "md5": "f083f49d6fe66344c650d7e74249cb96", "name": "DFS-2.26.rom", "path": "BeebFile/BPLUS/DFS-2.26.rom", "required": true, "sha1": "cf2ebc422a8d24ec6f1a0320520c38a0e704109a", "size": 16384, "source_ref": "Src/RomConfigFile.cpp:85", "system": "bbc-micro-bplus"}, {"bundled": true, "description": "Acorn ADFS 1.30", "max_size": 131072, "md5": "831ee90ac5d49ba5507252faf0c12536", "name": "ADFS-1.30.rom", "path": "BeebFile/BPLUS/ADFS-1.30.rom", "required": false, "sha1": "301fd05c475a629c4bec70510d4507256a5b00d8", "size": 16384, "source_ref": "Src/RomConfigFile.cpp:86", "system": "bbc-micro-bplus"}, {"bundled": true, "description": "Watford DFS 1.44", "max_size": 131072, "md5": "1d250b0242e447e9106e8bfd1f27ea84", "name": "WDFS.rom", "note": "Named as a Model B Plus essential ROM by the emulator help, which predates the current default configuration: the DefaultRoms table and the shipped Roms.cfg fill the filing system slots with DFS-2.26.rom and ADFS-1.30.rom.\n", "path": "BeebFile/BPLUS/WDFS.rom", "required": false, "sha1": "387d2468c6e1360f5b531784ce95d5f71a50c2b5", "size": 16384, "source_ref": "Help/roms.html, Src/RomConfigFile.cpp:83-99", "system": "bbc-micro-bplus"}, {"bundled": true, "description": "BBC Master 128 MOS 3.20", "md5": "9087f772447038a00178488b3591347b", "name": "MOS.rom", "note": "OS ROM slot for Model::Master128.", "path": "BeebFile/M128/MOS.rom", "required": true, "sha1": "04d5876999f93fc61a18f172b1fbb3b75db733ac", "size": 16384, "source_ref": "Src/RomConfigFile.cpp:103, Src/BeebMem.cpp:1291-1308", "system": "bbc-master-128", "validation": ["size"]}, {"bundled": true, "description": "Master 128 Terminal emulator ROM", "max_size": 131072, "md5": "7e053353b78b4631c274280931d96f02", "name": "Terminal.rom", "note": "A different dump from the Master ET Terminal.rom of the same name.", "path": "BeebFile/M128/Terminal.rom", "required": true, "sha1": "d990f41a3a0605127083a3cf7a3a676dd30423ef", "size": 16384, "source_ref": "Src/RomConfigFile.cpp:104", "system": "bbc-master-128"}, {"bundled": true, "description": "BBC BASIC IV", "max_size": 131072, "md5": "63a6f43cbf491533cb03ceca2d2728d4", "name": "BASIC4.rom", "path": "BeebFile/M128/BASIC4.rom", "required": true, "sha1": "c45fd3c0abdcd32b78d2288addd2a777b19e9a1d", "size": 16384, "source_ref": "Src/RomConfigFile.cpp:107", "system": "bbc-master-128"}, {"bundled": true, "description": "Master 128 DFS 2.24", "max_size": 131072, "md5": "865a0f7a5d6f10f48798801bf514d761", "name": "DFS.rom", "path": "BeebFile/M128/DFS.rom", "required": true, "sha1": "cff80460954b3b9f75c83bd6a301c45d24d118a6", "size": 16384, "source_ref": "Src/RomConfigFile.cpp:110", "system": "bbc-master-128"}, {"bundled": true, "description": "Master 128 ADFS 2.03", "max_size": 131072, "md5": "10f08b255d6a6e3e888631946b628f1a", "name": "ADFS.rom", "path": "BeebFile/M128/ADFS.rom", "required": false, "sha1": "7557e99be10d81c0395df2dc6c2f8e2f95896c29", "size": 16384, "source_ref": "Src/RomConfigFile.cpp:106", "system": "bbc-master-128"}, {"bundled": true, "description": "Acorn View word processor", "max_size": 131072, "md5": "178d09285727d596f8863f94a2fc8dad", "name": "View.rom", "path": "BeebFile/M128/View.rom", "required": false, "sha1": "14820174e8ea802f1ae95186285a4592fd519699", "size": 16384, "source_ref": "Src/RomConfigFile.cpp:105", "system": "bbc-master-128"}, {"bundled": true, "description": "Acorn Edit text editor", "max_size": 131072, "md5": "cb3d762eaab6130d1360e1ac575589de", "name": "Edit.rom", "path": "BeebFile/M128/Edit.rom", "required": false, "sha1": "96d209441f4cabacf3d4e8e9da68cce918ea923e", "size": 16384, "source_ref": "Src/RomConfigFile.cpp:108", "system": "bbc-master-128"}, {"bundled": true, "description": "Acorn ViewSheet spreadsheet", "max_size": 131072, "md5": "7d5a80a8ce929d0a0f6ca8626cb9f436", "name": "ViewSheet.rom", "path": "BeebFile/M128/ViewSheet.rom", "required": false, "sha1": "b7e85a55f517959912422b02248a03a4d32f6998", "size": 16384, "source_ref": "Src/RomConfigFile.cpp:109", "system": "bbc-master-128"}, {"bundled": true, "description": "Acorn Advanced NFS 4.25", "max_size": 131072, "md5": "306cb8ff6622dbfc79dc487ac4e407e1", "name": "ANFS-4.25-2201351.rom", "path": "BeebFile/M128/ANFS-4.25-2201351.rom", "required": false, "sha1": "14f75d36ffe9af14aaac42df55b4fe3729ba75cf", "size": 16384, "source_ref": "Src/RomConfigFile.cpp:111", "system": "bbc-master-128"}, {"bundled": true, "description": "Torch MCP 1.22 host tube ROM, Master", "max_size": 131072, "md5": "bf3d2b0a61ba36bd08d02f30e632e5ce", "name": "MCP122-ABM.rom", "note": "Host tube support for the Torch Z80 co-processor on a Master.", "path": "BeebFile/M128/MCP122-ABM.rom", "required": false, "sha1": "35843ace281494ab40463a69a263244d0cb0ecd6", "size": 16384, "source_ref": "UserData/Roms_Torch.cfg:79, Help/z80torch.html", "system": "bbc-master-128"}, {"bundled": true, "description": "BBC Master ET MOS 4.00", "md5": "4d4afbf220abaa702026f42f98eb5807", "name": "MOS400.rom", "note": "OS ROM slot for Model::MasterET.", "path": "BeebFile/Master ET/MOS400.rom", "required": true, "sha1": "c9483ef3ebd66930e635674a3776d171785ae959", "size": 16384, "source_ref": "Src/RomConfigFile.cpp:123, Src/BeebMem.cpp:1291-1308", "system": "bbc-master-et", "validation": ["size"]}, {"bundled": true, "description": "Master ET Terminal emulator ROM", "max_size": 131072, "md5": "456cb9035fd3d6c9d4d98adcd65882d8", "name": "Terminal.rom", "note": "A different dump from the Master 128 Terminal.rom of the same name.", "path": "BeebFile/Master ET/Terminal.rom", "required": true, "sha1": "0b4425149ca93dddf8d03da3767635dc3f1eecb8", "size": 16384, "source_ref": "Src/RomConfigFile.cpp:124", "system": "bbc-master-et"}, {"bundled": true, "description": "Acorn Advanced NFS 4.25", "max_size": 131072, "md5": "306cb8ff6622dbfc79dc487ac4e407e1", "name": "ANFS425.rom", "note": "Filing system of the Econet terminal, which has no disc filing system.", "path": "BeebFile/Master ET/ANFS425.rom", "required": true, "sha1": "14f75d36ffe9af14aaac42df55b4fe3729ba75cf", "size": 16384, "source_ref": "Src/RomConfigFile.cpp:125", "system": "bbc-master-et"}, {"bundled": true, "description": "BBC BASIC IV", "max_size": 131072, "md5": "63a6f43cbf491533cb03ceca2d2728d4", "name": "BASIC4.rom", "path": "BeebFile/Master ET/BASIC4.rom", "required": true, "sha1": "c45fd3c0abdcd32b78d2288addd2a777b19e9a1d", "size": 16384, "source_ref": "Src/RomConfigFile.cpp:126", "system": "bbc-master-et"}, {"bundled": true, "description": "Acorn 6502 second processor Tube OS 1.10", "md5": "cd6ba85e22adec70b6d863de4c053db7", "name": "6502Tube.rom", "note": "Copied into tube RAM at 0xf800 on every 65C02 reset. An error is reported unless 2048 bytes are read.\n", "path": "BeebFile/6502Tube.rom", "required": false, "sha1": "05980c296e1a7800c4aa21d6bed16323b6d859d5", "size": 2048, "source_ref": "Src/Tube.cpp:1534-1559", "system": "bbc-micro-b", "validation": ["size"]}, {"bundled": true, "description": "Acorn Z80 second processor ROM 1.21", "md5": "c4c72ceb73300253dc69c865af32f5ac", "name": "Z80.rom", "note": "Loaded for TubeDevice::AcornZ80. An error is reported unless 4096 bytes are read. Jonathan Harston's v1.21; the Acorn v1.20 ships as Z80-1.20.rom and is used by renaming it onto this path.\n", "path": "BeebFile/Z80.rom", "required": false, "sha1": "d05de861922fed73041cc8ac2666886d95bae15b", "size": 4096, "source_ref": "Src/Z80Support.cpp:243-267, Help/z80copro.html", "system": "bbc-micro-b", "validation": ["size"]}, {"bundled": true, "description": "Torch Z80 CCPN 1.02 second processor ROM", "md5": "f786d0647f9732fa065695d569d261ab", "name": "CCPN102.rom", "note": "Loaded for TubeDevice::TorchZ80. Up to 8192 bytes are read and a short image is mirrored to fill the 8 KB window: a 2 KB image is repeated four times, a 4 KB image twice. No size is rejected.\n", "path": "BeebFile/CCPN102.rom", "required": false, "sha1": "e6ee738e5f2f8556002b79d18caa8ef21f14e08d", "size": 8192, "size_options": [2048, 4096, 8192], "source_ref": "Src/Z80Support.cpp:268-299", "system": "bbc-micro-b"}, {"bundled": true, "description": "Master 512 80186 co-processor BIOS", "md5": "de72efe184f74f1cb98f92b1fbf532bb", "name": "BIOS.rom", "note": "Loaded at 0xf0000 and mirrored three times to fill the top of the 1 MB space. An error is reported unless 0x4000 bytes are read.\n", "path": "BeebFile/BIOS.rom", "required": false, "sha1": "eb2a043d139ae0f3d512b4f1afa32286510c886c", "size": 16384, "source_ref": "Src/Master512CoPro.cpp:3768-3797", "system": "bbc-master-128", "validation": ["size"]}, {"bundled": true, "description": "Acorn ARM Evaluation System ROM 1.00", "md5": "751f615ccbefa312915d1be8aa5617f5", "name": "ARMeval_100.rom", "note": "Rejected as InvalidROM unless the file is exactly ROM_SIZE, which Arm.h defines as 0x4000. The dialog text at BeebWin.cpp:1043 says 4096 bytes and does not match the constant it reports on.\n", "path": "BeebFile/ARMeval_100.rom", "required": false, "sha1": "ba33eaf1a23cfef6fc1b88aa516ca2b3693e69d9", "size": 16384, "source_ref": "Src/Arm.cpp:100-129, Src/Arm.h:254, Src/BeebWin.cpp:1017-1047", "system": "bbc-master-128", "validation": ["size"]}, {"bundled": true, "description": "Sprow ARM7TDMI co-processor system software 0.40", "md5": "4da45778c15098755294b8b78e32839b", "name": "Sprow.rom", "note": "512 KB on-board flash carrying the system software and BASIC. Rejected as InvalidROM unless the file is exactly 0x80000 bytes.\n", "path": "BeebFile/Sprow.rom", "required": false, "sha1": "babfb5bdb8265cf3ac7feff254146cb2d2773da1", "size": 524288, "source_ref": "Src/SprowCoPro.cpp:51-90, Src/SprowCoPro.h:49, Src/BeebWin.cpp:1058-1088", "system": "bbc-master-128", "validation": ["size"]}, {"bundled": true, "description": "Mode 7 SAA5050 teletext character set", "md5": "007ba0c023740666e56f879f5d0d4461", "name": "Teletext.fnt", "note": "Read from the program directory. The only file whose absence stops the emulator: BuildMode7Font failure makes Initialise return false and Main.cpp then exits with status 1.\n", "required": true, "sha1": "7d1d2a7321b21a237ad2c52afb21a432ce674967", "size": 3456, "source_ref": "Src/BeebWin.cpp:491-502, Src/Main.cpp:62-66", "system": "bbc-micro-b"}, {"bundled": true, "description": "Cassette relay engage sample", "md5": "6e7137fbd3545f8303b6d1594c3b2ccb", "name": "RelayOn.snd", "note": "Read from the program directory. Missing samples are reported and playback is skipped.", "required": false, "sha1": "b6e7c8a33117f4f8a49c5fd4326f948d1763f1e1", "size": 297, "source_ref": "Src/Sound.cpp:65, 538-570, 805", "system": "bbc-micro-b"}, {"bundled": true, "description": "Cassette relay release sample", "md5": "0699cec768a8f84827fef594f4f73c22", "name": "RelayOff.snd", "required": false, "sha1": "9c9a3d5ebf0e4b4c183e74b9c2ec79f280cc1556", "size": 400, "source_ref": "Src/Sound.cpp:66, 538-570", "system": "bbc-micro-b"}, {"bundled": true, "description": "Disc drive motor sample", "md5": "a681147ce93e1b5a9e22bb00b701e1cf", "name": "DriveMotor.snd", "required": false, "sha1": "cf496c677d345bb65feccf8cf2269a4cd7053645", "size": 44127, "source_ref": "Src/Sound.cpp:67, 538-570", "system": "bbc-micro-b"}, {"bundled": true, "description": "Disc drive head load sample", "md5": "cf30cf2585f9edff7a3d166e6a07b40a", "name": "HeadLoad.snd", "required": false, "sha1": "2f7204df95363ce56c486696a878ed113bedb23b", "size": 8837, "source_ref": "Src/Sound.cpp:68, 538-570", "system": "bbc-micro-b"}, {"bundled": true, "description": "Disc drive head unload sample", "md5": "d9b352abee95ee2873c1753fb0d6ad11", "name": "HeadUnload.snd", "required": false, "sha1": "781692c24e737d60045b10eb0b8434eccdd1ea82", "size": 4446, "source_ref": "Src/Sound.cpp:69, 538-570", "system": "bbc-micro-b"}, {"bundled": true, "description": "Disc drive head seek sample", "md5": "2672a78593558045736c62cf9e0252bc", "name": "HeadSeek.snd", "required": false, "sha1": "759d62a94e1571810fe2edc10e14b07b5dd4b2b5", "size": 31969, "source_ref": "Src/Sound.cpp:70, 538-570", "system": "bbc-micro-b"}, {"bundled": true, "description": "Disc drive head step sample", "md5": "46c4fdb65f67ac2cdc97fb42455d3b11", "name": "HeadStep.snd", "required": false, "sha1": "5e07a972059751d094fc96610734bb6d659348fe", "size": 2251, "source_ref": "Src/Sound.cpp:71, 538-570", "system": "bbc-micro-b"}, {"bundled": true, "description": "ROM slot table, one OS ROM plus 16 paged banks per model", "md5": "33c5208252f32334618a3fd9294acdf4", "name": "Roms.cfg", "note": "Without it Load returns before the DefaultRoms backfill, every slot stays an empty string and no ROM is loaded. Overridable with -Roms.\n", "required": true, "sha1": "a538968ecb96e520546a99008cdfc2af98a92a81", "size": 840, "source_ref": "Src/BeebWin.cpp:334, 473, Src/RomConfigFile.cpp:158-219", "system": "bbc-micro-b"}, {"bundled": true, "description": "ROM slot table for the Torch Z80 co-processor", "md5": "4a3789eb3c7949871cdbfd856d21625d", "name": "Roms_Torch.cfg", "note": "Selected by the shipped BeebEmTorch.vbs as `BeebEm.exe -Roms Roms_Torch.cfg`.", "required": false, "sha1": "7b0827bd0fd9425c2e1b4f59313701b78f6d83e0", "size": 817, "source_ref": "BeebEmTorch.vbs:3, Help/z80torch.html", "system": "bbc-micro-b"}, {"bundled": true, "description": "Emulator preferences", "md5": "0108b1eb683308408ad109ce6e4d2839", "name": "Preferences.cfg", "note": "Absence is reported and built-in defaults are used. Rewritten on save.", "required": false, "sha1": "31291e6f9e2f0b20ccb80bf3ef5e2fe8a5dc712c", "size": 2047, "source_ref": "Src/BeebWin.cpp:296, Src/BeebWinPrefs.cpp:282-298, Src/Preferences.cpp:59-66", "system": "bbc-micro-b"}, {"bundled": true, "description": "Logical keyboard mapping", "md5": "07b0e1d4cb329185a8a52c48db00bcf9", "name": "Logical.kmap", "note": "Read at ApplyPreferences. The return value is ignored, leaving the built-in map.", "required": false, "sha1": "5817277bcb110b747432b8716a0ffbe0c1e13de2", "size": 6716, "source_ref": "Src/BeebWin.cpp:560-563, Src/KeyMap.cpp:65-78", "system": "bbc-micro-b"}, {"bundled": true, "description": "Default keyboard mapping", "md5": "199de64bdb59a176d102f03cca4eadf9", "name": "Default.kmap", "required": false, "sha1": "63c72e11f6ce8cd9dc5ebb96b4938010f4b2e4f0", "size": 6716, "source_ref": "Src/BeebWin.cpp:565-567, Src/KeyMap.cpp:65-78", "system": "bbc-micro-b"}, {"bundled": true, "description": "Fallback user keyboard mapping", "md5": "199de64bdb59a176d102f03cca4eadf9", "name": "DefaultUser.kmap", "note": "Read only when the user key map preference is unset or fails to load.", "required": false, "sha1": "63c72e11f6ce8cd9dc5ebb96b4938010f4b2e4f0", "size": 6716, "source_ref": "Src/BeebWinPrefs.cpp:934-957", "system": "bbc-micro-b"}, {"bundled": true, "description": "Econet station to address map", "md5": "7cb22b998d2de0f85a638485b9f8db6e", "name": "Econet.cfg", "note": "Read when Econet is enabled, which is off by default. A read failure makes EconetReset return false and Econet stays off. Overridable with -EconetCfg.\n", "required": false, "sha1": "faf55cd1eafaa3499695fe8179e43ffe6f86daaa", "size": 5704, "source_ref": "Src/BeebWin.cpp:526-537, Src/Econet.cpp:784-792, 1039-1042", "system": "bbc-micro-b"}, {"bundled": true, "description": "Econet network to IP subnet map", "md5": "d2e4b22f9433cf16a3dcb320dc2cf1a2", "name": "AUNMap", "note": "Read only when AUN mode is on. Overridable with -AUNMap.", "required": false, "sha1": "efd505f459448c5741a8ca249089f068b72cb751", "size": 1812, "source_ref": "Src/BeebWin.cpp:539-550, Src/Econet.cpp:931-938, 1059-1061", "system": "bbc-micro-b"}], "notes": "BBC Micro and Master Series emulator for Windows. Started by Dave Gilbert on\nUnix in 1994, ported to Windows. Five machine models: Model B, Model B with\nIntegra-B board, Model B Plus, Master 128, Master ET.\nref: Src/Model.h:24-32\n\nTwo file roots. GetUserDataPath() defaults to <Documents>\\BeebEm and falls back\nto <app>\\UserData; it holds BeebFile/ and the .cfg and .kmap files. GetAppPath()\nis the program directory and holds Teletext.fnt and the sound samples.\nref: Src/BeebWin.cpp:5813-5851\n\nROM slots are read from Roms.cfg: one OS ROM plus 16 paged banks per model,\neach line naming a file under BeebFile/, or EMPTY, or RAM. Paths in the profile\nare the shipped default configuration, which matches the DefaultRoms table\ncompiled into the binary.\nref: Src/RomConfigFile.cpp:39-141\nref: Src/BeebMem.cpp:1277-1356\n\nA missing Roms.cfg is not covered by DefaultRoms: Load() returns at the open\nfailure, before the backfill loop, and RomConfigFile has no constructor and no\nReset() caller, so every slot stays an empty string and no ROM loads.\nref: Src/RomConfigFile.cpp:158-219\n\nRoms_Torch.cfg is the alternate configuration for the Torch Z80 co-processor,\nselected with `BeebEm.exe -Roms Roms_Torch.cfg` by the shipped BeebEmTorch.vbs.\nIt adds the MCP host-tube ROMs and swaps the Integra-B slots.\nref: UserData/Roms_Torch.cfg, BeebEmTorch.vbs:3\n\nReadRom derives a .map path from every ROM file name and hands it to the\ndebugger symbol loader. Only BBC/OS12.map ships.\nref: Src/BeebMem.cpp:1252-1254, 1311-1313\n\nNo hash is verified anywhere. The code checks sizes only, per entry below.\nHashes here identify the dumps the emulator ships.\n\nBeebFile/ also carries an application ROM library (word processors, drawing\npackages, language ROMs) and DiscIms/ carries the disc images supplied with the\nMaster 512, ARM and Z80 co-processors. No code path names them; they load only\nthrough the file browser in Edit ROM Configuration, the same way a disc image\ndoes.\nref: Src/RomConfigDialog.cpp:179-215\n\nAlternate dumps ship under their own names for slots already listed here:\nBeebFile/M128-MOS3.5/ holds the MOS 3.50 set for the M128 slots, and\nBeebFile/Z80-1.20.rom is the Acorn v1.20 Z80 ROM. Both are used by renaming\nthem onto the listed paths, so they are variants of those entries.\nref: Help/roms.html, Help/z80copro.html\n", "profiled_date": "2026-08-11", "source": "https://github.com/stardot/beebem-windows", "source_commit": "a982ba6a74af09e801c296b29d514dbd4da09b94", "systems": ["bbc-micro-b", "bbc-micro-bplus", "bbc-master-128", "bbc-master-et"], "type": "standalone", "upstream": "https://github.com/stardot/beebem-windows"}


id: beetle_gba
name: Beetle GBA (Mednafen)
type: libretro
source: https://github.com/libretro/beetle-gba-libretro
profile_json:
{"cores": ["mednafen_gba"], "emulator": "Beetle GBA (Mednafen)", "files": [{"md5": "a860e8c0b6d573d191e4ec7db1b1e4f6", "name": "gba_bios.bin", "required": false, "system": "nintendo-gba"}], "source": "https://github.com/libretro/beetle-gba-libretro", "systems": ["nintendo-gba"], "type": "libretro"}


id: beetle_lynx
name: Beetle Lynx (Mednafen Lynx)
type: libretro
classification: community_fork
source: https://github.com/libretro/beetle-lynx-libretro
upstream: https://mednafen.github.io/
source_commit: fcdefcfb3c11d6d2e71be076a5d3df2e88ab73ed
profile_json:
{"core_classification": "community_fork", "core_version": "v1.24.0", "cores": ["mednafen_lynx"], "display_name": "Atari - Lynx (Beetle Lynx)", "emulator": "Beetle Lynx (Mednafen Lynx)", "files": [{"crc32": "0d973c9d", "description": "Atari Lynx boot ROM", "name": "lynxboot.img", "note": "512-byte boot ROM. Core silently degrades without it but games will not run.", "region": ["world"], "required": true, "size": 512, "source_ref": "libretro.cpp:191, mednafen/lynx/rom.cpp:50-78, mednafen/lynx/cart.cpp:67"}], "notes": "Community fork of Mednafen's Lynx module (itself based on Handy by K. Wilkins) for libretro. Loads lynxboot.img from the system directory at game load time (libretro.cpp:191). CRom constructor reads exactly 512 bytes (rom.cpp:50-78). If the file is missing or undersized, the ROM array is filled with 0x88 (DEFAULT_ROM_CONTENTS) and the core continues without error, but games will not boot without the real boot ROM. No hash validation is performed on the BIOS at load time. The cart database in cart.cpp includes the BIOS CRC32 0x0d973c9d for identification purposes, not validation. Upstream Mednafen throws an exception if the BIOS is missing or undersized; the libretro port silently degrades. Upstream supports custom palette loading (lynx.pal); the libretro port does not.\n", "profiled_date": "2026-03-24", "source": "https://github.com/libretro/beetle-lynx-libretro", "source_commit": "fcdefcfb3c11d6d2e71be076a5d3df2e88ab73ed", "systems": ["atari-lynx"], "type": "libretro", "upstream": "https://mednafen.github.io/", "verification": "existence"}


id: beetle_ngp
name: Beetle NGP (Mednafen Neo Geo Pocket)
type: libretro
classification: community_fork
source: https://github.com/libretro/beetle-ngp-libretro
upstream: https://mednafen.github.io/
source_commit: 139fe34c8dfc5585d6ee1793a7902bca79d544de
profile_json:
{"core_classification": "community_fork", "core_version": "v1.29.0.0", "cores": ["mednafen_ngp"], "display_name": "SNK - Neo Geo Pocket / Color (Beetle NeoPop)", "emulator": "Beetle NGP (Mednafen Neo Geo Pocket)", "files": [], "notes": "Libretro port of Mednafen's NeoPop module (originally by neopop_uk).\nHLE BIOS only, constructed at runtime by bios_install() in\nmednafen/ngp/bios.c. No external BIOS or firmware files loaded.\nUpstream Mednafen also uses HLE only (Documentation/ngp.html:\n\"BIOS is HLE'd\"). The only core option is ngp_language\n(english/japanese).\n", "profiled_date": "2026-03-24", "source": "https://github.com/libretro/beetle-ngp-libretro", "source_commit": "139fe34c8dfc5585d6ee1793a7902bca79d544de", "systems": ["snk-ngp", "snk-ngpc"], "type": "libretro", "upstream": "https://mednafen.github.io/"}


id: beetle_pce
name: Beetle PCE (Mednafen PCE)
type: libretro
classification: community_fork
source: https://github.com/libretro/beetle-pce-libretro
upstream: https://mednafen.github.io/
source_commit: ae99235c2139c176c1a8d0fde2957bf701d3cab0
profile_json:
{"core_classification": "community_fork", "core_version": "v0.9.38.7", "cores": ["mednafen_pce"], "display_name": "NEC - PC Engine / SuperGrafx / CD (Beetle PCE)", "emulator": "Beetle PCE (Mednafen PCE)", "files": [{"description": "CD-ROM System Card 3.0 (Japan)", "md5": "38179df8f4ac870017db21ebcbf53114", "name": "syscard3.pce", "note": "Default value for pce_cdbios option.", "region": ["japan"], "required": true, "sha1": "79f5ff55dd10187c7fd7b8daab0b3ffbd1f56a2c", "source_ref": "libretro.cpp:1051-1052, mednafen/settings.cpp:40"}, {"description": "CD-ROM System Card 3.0 (US / TurboGrafx-CD)", "md5": "0754f903b52e3b3342202bdafb13efa5", "name": "syscard3u.pce", "note": "pce_cdbios = 'System Card 3 US'", "region": ["north-america"], "required": false, "sha1": "d02611d99921986147c753df14c7349b31d71950", "source_ref": "libretro.cpp:1059-1060"}, {"description": "CD-ROM System Card 2.0 (Japan)", "md5": "3cdd6614a918616bfc41c862e889dd79", "name": "syscard2.pce", "note": "pce_cdbios = 'System Card 2'", "region": ["japan"], "required": false, "sha1": "88da02e2503f7c32810f5d93a34849d470742b6d", "source_ref": "libretro.cpp:1053-1054"}, {"description": "CD-ROM System Card 2.0 (US / TurboGrafx-CD)", "md5": "94279f315e8b52904f65ab3108542afe", "name": "syscard2u.pce", "note": "pce_cdbios = 'System Card 2 US'", "region": ["north-america"], "required": false, "sha1": "2bea3dac98f84b2f2f469fa77ea720b8770d598d", "source_ref": "libretro.cpp:1061-1062"}, {"description": "CD-ROM System Card 1.0 (Japan)", "md5": "2b7ccb3d86baa18f6402c176f3065082", "name": "syscard1.pce", "note": "pce_cdbios = 'System Card 1'", "region": ["japan"], "required": false, "sha1": "a39a66da7de6ba94ab84d04eef7afeec7d4ee66a", "source_ref": "libretro.cpp:1055-1056"}, {"aliases": ["gecard.pce"], "description": "Games Express CD Card", "md5": "6d2cb14fc3e1f65ceb135633d1694122", "name": "gexpress.pce", "note": "pce_cdbios = 'Games Express' or auto-detected via DetectGECD().", "region": ["japan"], "required": false, "sha1": "014881a959e045e00f4db8f52955200865d40280", "source_ref": "libretro.cpp:1057-1058, mednafen/settings.cpp:41, mednafen/pce/pce.cpp:374-411"}], "notes": "Libretro port of Mednafen's PCE-Accurate module. BIOS loaded from system directory at CD-ROM load time via PCE_LoadCD() in pce.cpp:441-460. Core option \"pce_cdbios\" selects which card image to use (default: System Card 3). DetectGECD() auto-detects Games Express discs and switches to gexpress.pce. Arcade Card mode (pce_arcadecard option, enabled by default) extends System Card 3 with extra RAM mapping via SYSCARD_ARCADE enum. No hash or size validation on BIOS load: file_open() then HuC_Load() reads data directly. DetectSGXCD() reads sector data to decide SGX mode but uses the same BIOS files.\n", "profiled_date": "2026-03-24", "source": "https://github.com/libretro/beetle-pce-libretro", "source_commit": "ae99235c2139c176c1a8d0fde2957bf701d3cab0", "systems": ["nec-pc-engine"], "type": "libretro", "upstream": "https://mednafen.github.io/", "verification": "existence"}


id: beetle_pcfx
name: Beetle PC-FX (Mednafen)
type: libretro
classification: community_fork
source: https://github.com/libretro/beetle-pcfx-libretro
upstream: https://mednafen.github.io/
source_commit: 650c30ea2203636a1716675854d11c608ed6eacc
profile_json:
{"core_classification": "community_fork", "core_version": "v0.9.36.5", "cores": ["mednafen_pcfx", "pcfx"], "display_name": "NEC - PC-FX (Beetle PC-FX)", "emulator": "Beetle PC-FX (Mednafen)", "files": [{"description": "PC-FX BIOS v1.00", "md5": "08e36edbea28a017f79f8d4f7ff9b6d7", "name": "pcfx.rom", "required": true, "sha1": "1a77fd83e337f906aecab27a1604db064cf10074", "size": 1048576, "source_ref": "libretro.cpp:367-394, mednafen/settings.c:92-93", "system": "nec-pcfx", "validation": ["size"]}], "notes": "Libretro port of Mednafen's PC-FX module. Setting \"pcfx.bios\" resolves to \"pcfx.rom\" (settings.c:92). LoadCommon() loads the file, validates size (1048576 bytes), and maps it at 0xFFF00000. Core won't start without it. No hash validation. Upstream Mednafen also supports an FX-SCSI ROM (pcfx.fxscsi setting, developer-only) not present in this port.\n", "profiled_date": "2026-03-24", "source": "https://github.com/libretro/beetle-pcfx-libretro", "source_commit": "650c30ea2203636a1716675854d11c608ed6eacc", "systems": ["nec-pcfx"], "type": "libretro", "upstream": "https://mednafen.github.io/"}


id: beetle_psx
name: Beetle PSX (Mednafen PSX)
type: libretro
classification: community_fork
source: https://github.com/libretro/beetle-psx-libretro
upstream: https://mednafen.github.io/
source_commit: 1093a5d0c22775b08bef18087735c911e6f5eebd
profile_json:
{"core_classification": "community_fork", "core_version": "v0.9.44.1", "cores": ["beetle_psx", "mednafen_psx", "mednafen_psx_hw"], "display_name": "Sony - PlayStation (Beetle PSX)", "emulator": "Beetle PSX (Mednafen PSX)", "files": [{"aliases": ["SCPH5500.bin", "SCPH-5500.bin"], "description": "SCPH-5500 (v3.0 09-09-96 J)", "hle_fallback": true, "md5": "8dd7d5296a650fac7319bce665a6a53c", "mode": "both", "name": "scph5500.bin", "region": ["japan"], "required": true, "sha1": "b05def971d8ec59f346f2d9ac21fb742e3eb6917", "size": 524288, "source_ref": "libretro.c:433-441", "validation": ["sha1"]}, {"description": "SCPH-5903 (System ROM Version 2.2 12/04/95 J), Video CD daughterboard", "md5": "81328b966e6dcf7ea1e32e55e1c104bb", "mode": "libretro", "name": "scph5903.bin", "region": ["japan"], "required": false, "sha1": "15c94da3cc5a38a582429575af4198c487fe893c", "size": 1048576, "source_ref": "libretro.c:443-450, 2974-2988, 3007-3009, 5838", "validation": ["size", "sha1"]}, {"aliases": ["SCPH5501.bin", "SCPH-5501.bin", "scph5503.bin", "SCPH5503.bin", "SCPH-5503.bin", "scph7003.bin", "SCPH7003.bin", "SCPH-7003.bin"], "description": "SCPH-5501, 5503, 7003 (v3.0 11-18-96 A)", "hle_fallback": true, "md5": "490f666e1afb15b7362b406ed1cea246", "mode": "both", "name": "scph5501.bin", "region": ["north-america"], "required": true, "sha1": "0555c6fae8906f3f09baf5988f00e55f88e9f30b", "size": 524288, "source_ref": "libretro.c:452-470", "validation": ["sha1"]}, {"aliases": ["SCPH5502.bin", "SCPH-5502.bin", "scph5552.bin", "SCPH5552.bin", "SCPH-5552.bin"], "description": "SCPH-5502, 5552 (v3.0 01-06-97 E)", "hle_fallback": true, "md5": "32736f17079d0b2b7024407c39bd3050", "mode": "both", "name": "scph5502.bin", "region": ["europe"], "required": true, "sha1": "f6bc2d1f5eb6593de7d089c425ac681d6fffd3f0", "size": 524288, "source_ref": "libretro.c:472-486", "validation": ["sha1"]}, {"aliases": ["PSXONPSP660.bin"], "description": "PSP embedded PS1 BIOS (region-free override)", "md5": "c53ca5908936d412331790f4426c6c33", "mode": "libretro", "name": "psxonpsp660.bin", "note": "override_bios=1. Falls back to region BIOS if not found.", "region": ["world"], "required": false, "sha1": "96880d1ca92a016ff054be5159bb06fe03cb4e14", "size": 524288, "source_ref": "libretro.c:362-368", "validation": ["sha1"]}, {"aliases": ["PS1_ROM.bin"], "description": "PS3 embedded PS1 BIOS, first 512KB extracted (region-free override)", "md5": "81bbe60ba7a3d1cea1d48c14cbcc647b", "mode": "libretro", "name": "ps1_rom.bin", "note": "override_bios=2. Falls back to region BIOS if not found.", "region": ["world"], "required": false, "sha1": "c40146361eb8cf670b19fdc9759190257803cab7", "source_ref": "libretro.c:370-376", "validation": ["sha1"]}, {"aliases": ["OPENBIOS.bin"], "description": "OpenBIOS (open-source PS1 HLE BIOS, region-free override)", "mode": "libretro", "name": "openbios.bin", "note": "override_bios=3. No SHA1 validation. Falls back to region BIOS if not found. Also embedded in binary as HLE fallback (libretro.cpp:2157-2159).", "region": ["world"], "required": false, "size": 524288, "source_ref": "libretro.c:378-384"}], "notes": "Region-based BIOS selection: the core picks JP/NA/EU firmware based on disc region. SHA1 validated with warning on mismatch (does not block loading). SHA1 and alternate filenames sourced from MAME psx.cpp (libretro.cpp:186). Override option allows using PSP, PS3, or OpenBIOS as region-free alternative. Embedded OpenBIOS (512KB) compiled into the binary serves as HLE fallback when no BIOS found. \"Skip BIOS\" option patches BIOS ROM but causes compatibility issues. Upstream Mednafen loads the same 3 region BIOS; override BIOS and HLE fallback are libretro additions. Two BIOS geometries are accepted: the stock 512 KB kernel and the 1 MB SCPH-5903 part, selected by file size at load time (libretro.c:2974-2988). A 1 MB image switches Video CD from HLE to daughterboard emulation (libretro.c:5838). Reached through the BIOS path override only: the region name lists carry no SCPH-5903 entry, and the firmware scan compares against the region SHA1, so a 1 MB file never matches there (libretro.c:324-332). Mednafen rejects a BIOS that is not 524288 bytes (psx.cpp:1777), so this geometry is libretro only.\n", "profiled_date": "2026-03-29", "source": "https://github.com/libretro/beetle-psx-libretro", "source_commit": "1093a5d0c22775b08bef18087735c911e6f5eebd", "systems": ["sony-playstation"], "type": "libretro", "upstream": "https://mednafen.github.io/"}


id: beetle_saturn
name: beetle_saturn
type: libretro
classification: community_fork
source: https://github.com/libretro/beetle-saturn-libretro
upstream: https://mednafen.github.io/
source_commit: 84461434f249c1b5cd10c83ae922feae84e1acf8
profile_json:
{"core": "mednafen_saturn_libretro", "core_classification": "community_fork", "core_version": "v0.9.45.1", "cores": ["mednafen_saturn", "beetle-saturn"], "display_name": "Sega - Saturn (Beetle Saturn)", "emulator": "beetle_saturn", "files": [{"name": "sega_101.bin", "note": "Saturn BIOS v1.01 (Japan). Used when region is JP or Asia NTSC.", "region": ["japan", "asia-ntsc"], "required": true, "size": 524288, "source_ref": "mednafen/ss/ss.c:1761 (region filename), mednafen/ss/ss.c:1784-1899 (open, size check, read, sha256)", "system": "sega-saturn", "validation": ["size"]}, {"name": "mpr-17933.bin", "note": "Saturn BIOS (NA/EU). Used for all non-JP/Asia-NTSC regions.", "region": ["north-america", "europe", "south-korea", "asia-pal", "brazil", "latin-america"], "required": true, "size": 524288, "source_ref": "mednafen/ss/ss.c:1763 (region filename), mednafen/ss/ss.c:1784-1899 (open, size check, read, sha256)", "system": "sega-saturn", "validation": ["size"]}, {"name": "mpr-18811-mx.ic1", "note": "KOF95 expansion ROM cart. Loaded when cart type set to KOF95.", "required": false, "size": 2097152, "source_ref": "mednafen/ss/cart.c:200-215 (firmware path + open), mednafen/ss/cart/rom.c:51 (CART_ROM_Init)", "system": "sega-saturn"}, {"name": "mpr-19367-mx.ic1", "note": "Ultraman expansion ROM cart. Loaded when cart type set to Ultraman.", "required": false, "size": 2097152, "source_ref": "mednafen/ss/cart.c:200-215 (firmware path + open), mednafen/ss/cart/rom.c:51 (CART_ROM_Init)", "system": "sega-saturn"}, {"name": "satar4mp.bin", "note": "Action Replay 4M Plus firmware. Unfinished in source (ar4mp.c:22-24), needs CPU UBC emulation. Cart type not exposed in core options.", "required": false, "size": 262144, "source_ref": "mednafen/ss/cart.c:218 (CART_AR4MP case), mednafen/ss/cart/ar4mp.c:150 (CART_AR4MP_Init)", "system": "sega-saturn"}], "notes": "Libretro port of Mednafen's Saturn emulation module, frozen circa v0.9.45.1\n(2017) with some later backports. Region auto-detection reads the disc header\nand selects the matching BIOS. Manual override via beetle_saturn_region option.\n\nInitCommon() returns false if the BIOS file is missing or not exactly 512 KB.\nBoth region BIOS files are required for full region coverage.\n\nKOF95 and Ultraman ROM carts are loaded when the cart type is set via core\noption or auto-detected from the internal game database.\n\nUpstream Mednafen (1.32.x) has ST-V arcade board support (3 additional BIOS\nfiles) and bootable ROM cart support, both absent from this libretro port.\n", "profiled_date": "2026-03-24", "source": "https://github.com/libretro/beetle-saturn-libretro", "source_commit": "84461434f249c1b5cd10c83ae922feae84e1acf8", "systems": ["sega-saturn"], "type": "libretro", "upstream": "https://mednafen.github.io/"}


id: beetle_vb
name: Beetle VB (Mednafen Virtual Boy)
type: libretro
classification: community_fork
source: https://github.com/libretro/beetle-vb-libretro
upstream: https://mednafen.github.io/
source_commit: 65debc7c4c7b85e2fd988d2be53496c2cf0b5f44
profile_json:
{"core_classification": "community_fork", "core_version": "v0.9.36.1", "cores": ["mednafen_vb", "vb"], "display_name": "Nintendo - Virtual Boy (Beetle VB)", "emulator": "Beetle VB (Mednafen Virtual Boy)", "files": [], "notes": "Libretro port of Mednafen's Virtual Boy emulation module.\nNo external BIOS or firmware files. The Virtual Boy has no boot\nROM; the V810 CPU executes directly from the game ROM mapped at\n0x07000000. Load() in libretro.cpp:1787 takes only ROM data.\nUpstream Mednafen supports an optional vb.pal palette file\n(Documentation/vb.html); the libretro port handles palette via\ncore options instead.\n", "profiled_date": "2026-03-24", "source": "https://github.com/libretro/beetle-vb-libretro", "source_commit": "65debc7c4c7b85e2fd988d2be53496c2cf0b5f44", "systems": ["nintendo-virtualboy"], "type": "libretro", "upstream": "https://mednafen.github.io/"}


id: beetle_wswan
name: Beetle WonderSwan (Mednafen WonderSwan)
type: libretro
classification: pure_libretro
source: https://github.com/libretro/beetle-wswan-libretro
upstream: https://mednafen.github.io/
source_commit: 2aeb47d3a58bf0360c686f842d9bb5bd201306fe
profile_json:
{"core_classification": "pure_libretro", "core_version": "v0.9.35.1", "cores": ["beetle_wswan", "mednafen_wswan"], "display_name": "Bandai - WonderSwan/Color (Beetle Wonderswan)", "emulator": "Beetle WonderSwan (Mednafen WonderSwan)", "files": [], "notes": "Beetle WonderSwan is a fork of Mednafen's Cygne module for WonderSwan\nand WonderSwan Color emulation via libretro.\n\nNo external BIOS or firmware files are required. The core bypasses the\noriginal boot ROM entirely by hardcoding the initial I/O register state\nin mednafen/wswan/start.inc (a 256-byte table of power-on defaults for\nall hardware registers 0x00-0xFF). On reset, WSwan_MemoryReset() in\nwswan-memory.c zeroes RAM and writes a fixed 8-byte identifier at\n0x75AC, then the CPU starts executing the cartridge directly.\n\nInternal EEPROM owner data (name, birthday, sex, blood type) is\nconfigured through core options (wswan.name, wswan.byear, wswan.bmonth,\nwswan.bday, wswan.sex, wswan.blood) and initialized at boot by\nWSwan_EEPROMInit() without needing a real EEPROM dump.\n\nThe wswan.language core option selects English or Japanese, which is\nreturned via I/O port 0xC8+ as the hardware language flag. This\nreplaces the boot ROM's language selection screen.\n\nThe NEC V30MZ CPU is emulated in software (v30mz.c). Sound DMA,\ncartridge banking, and RTC are all handled internally.\n\nROM extensions: .ws, .wsc, .pc2\n", "profiled_date": "2026-03-24", "source": "https://github.com/libretro/beetle-wswan-libretro", "source_commit": "2aeb47d3a58bf0360c686f842d9bb5bd201306fe", "systems": ["bandai-wswan", "bandai-wswanc"], "type": "libretro", "upstream": "https://mednafen.github.io/"}


id: bennugd
name: BennuGD
type: libretro
classification: community_fork
source: https://github.com/diekleinekuh/BennuGD_libretro
upstream: https://github.com/SplinterGU/BennuGD
source_commit: a78319991d62520bed4e873d3538657ad0ae2ca7
profile_json:
{"core_classification": "community_fork", "core_version": "git", "cores": ["bennugd"], "display_name": "Bennu Game Development", "emulator": "BennuGD", "files": [], "notes": "Self-contained interpreter for BennuGD bytecode (.dcb/.dat). Successor to\nDIV Games Studio / Fenix. Games bundle all assets with the content file.\n", "profiled_date": "2026-03-23", "source": "https://github.com/diekleinekuh/BennuGD_libretro", "source_commit": "a78319991d62520bed4e873d3538657ad0ae2ca7", "systems": ["bennugd"], "type": "libretro", "upstream": "https://github.com/SplinterGU/BennuGD"}


id: bigpemu
name: BigPEmu
type: standalone
source: https://www.richwhitehouse.com/jaguar/
upstream: https://www.richwhitehouse.com/jaguar/
profile_json:
{"core_version": "1.12", "cores": ["bigpemu"], "display_name": "BigPEmu (Atari Jaguar)", "emulator": "BigPEmu", "files": [], "mode": "standalone", "notes": "Closed-source Atari Jaguar and Jaguar CD emulator by Rich Whitehouse.\nBuilt-in boot ROM emulation for both cartridge and CD. No external\nBIOS or firmware files required. The emulator supports optional\n\"custom boot ROM images\" via the UI (loading mode for specific\nhomebrew demos), but no fixed file path or file name is expected.\nEmuDeck confirms: \"No BIOS are required to play BigPEmu.\"\n", "profiled_date": "2026-03-26", "source": "https://www.richwhitehouse.com/jaguar/", "systems": ["atari-jaguar", "atari-jaguarcd"], "type": "standalone", "upstream": "https://www.richwhitehouse.com/jaguar/"}


id: bk
name: bk-emulator
type: libretro
classification: community_fork
source: https://github.com/libretro/bk-emulator
upstream: https://github.com/emestee/bk-emulator
source_commit: fe64da42ee463c1b2f4d0566e4d0f7a9667506f6
profile_json:
{"core_classification": "community_fork", "core_version": "1.00", "cores": ["bk"], "display_name": "Elektronika - BK-0010/BK-0011(M)", "emulator": "bk-emulator", "files": [{"aliases": ["monit10.rom"], "name": "MONIT10.ROM", "note": "BK-0010 monitor ROM (8 KB). Loaded at address 0100000. Required for all BK-0010 models (0, 1, 2).", "path": "bk/MONIT10.ROM", "required": true, "size": 8192, "source_ref": "main.c:53, boot.c:107", "validation": ["size"]}, {"aliases": ["focal10.rom"], "name": "FOCAL10.ROM", "note": "FOCAL interpreter ROM (24448-24576 bytes). Loaded at 0120000. Used by BK-0010 (model 0, default).", "path": "bk/FOCAL10.ROM", "required": false, "size": 24576, "source_ref": "libretro.c:15, boot.c:110", "validation": ["size"]}, {"aliases": ["basic10.rom"], "name": "BASIC10.ROM", "note": "BASIC interpreter ROM (24448-24576 bytes). Loaded at 0120000. Used by BK-0010.01 (model 1).", "path": "bk/BASIC10.ROM", "required": false, "size": 24576, "source_ref": "libretro.c:16, boot.c:110", "validation": ["size"]}, {"aliases": ["disk_327.rom"], "name": "DISK_327.ROM", "note": "Floppy disk controller ROM (4 KB). Loaded at 0160000 for BK-0010.01+FDD (model 2), or into system_rom for BK-0011M (model 3/4).", "path": "bk/DISK_327.ROM", "required": false, "size": 4096, "source_ref": "main.c:54, boot.c:99,113", "validation": ["size"]}, {"aliases": ["b11m_bos.rom"], "name": "B11M_BOS.ROM", "note": "BK-0011M system ROM / BOS (8 KB). Loaded into system_rom at offset 0. Required for BK-0011M (model 3/4).", "path": "bk/B11M_BOS.ROM", "required": false, "size": 8192, "source_ref": "main.c:55, boot.c:98", "validation": ["size"]}, {"aliases": ["b11m_ext.rom"], "name": "B11M_EXT.ROM", "note": "BK-0011M extended BOS ROM (8 KB). Loaded into rom[1] at offset 8192. Required for BK-0011M (model 3/4).", "path": "bk/B11M_EXT.ROM", "required": false, "size": 8192, "source_ref": "main.c:56, boot.c:102", "validation": ["size"]}, {"aliases": ["bas11m_0.rom"], "name": "BAS11M_0.ROM", "note": "BK-0011M BASIC ROM part 0 (16 KB). Loaded into rom[0]. Required for BK-0011M (model 3/4).", "path": "bk/BAS11M_0.ROM", "required": false, "size": 16384, "source_ref": "main.c:57, boot.c:100", "validation": ["size"]}, {"aliases": ["bas11m_1.rom"], "name": "BAS11M_1.ROM", "note": "BK-0011M BASIC ROM part 1 (8 KB). Loaded into rom[1] at offset 0. Required for BK-0011M (model 3/4).", "path": "bk/BAS11M_1.ROM", "required": false, "size": 8192, "source_ref": "main.c:58, boot.c:101", "validation": ["size"]}, {"aliases": ["terak.rom"], "name": "TERAK.ROM", "note": "Terak 8510/a boot ROM (128 bytes). Used when model is set to Terak 8510/a (model 9).", "path": "bk/TERAK.ROM", "required": false, "size": 128, "source_ref": "boot.c:94", "validation": ["size"]}], "notes": "Files go in {system_dir}/bk/.\nEach BK model requires a specific set of ROMs. The default model is BK-0010\nwhich needs MONIT10.ROM and FOCAL10.ROM. Changing the core option \"bk_model\"\nchanges which ROMs are loaded. The core shuts down if a required ROM is\nmissing (no fallback or pseudo-BIOS).\nIf a ROM file with uppercase name is not found, the core retries with\nthe filename lowercased.\n", "platform_details": {"bios_mapping": {"note": "ROM directory is {system_dir}/bk/ (libretro.c:724-726).\nModel selection via core option \"bk_model\" determines which ROMs are loaded.\nThe core shuts down immediately if any required ROM for the selected model\nis not found.\n", "source_ref": "libretro.c:718-760, boot.c:83-116"}, "model_rom_map": {"note": "BK-0010:            MONIT10.ROM + FOCAL10.ROM\nBK-0010.01:         MONIT10.ROM + BASIC10.ROM\nBK-0010.01 + FDD:   MONIT10.ROM + DISK_327.ROM\nBK-0011M + FDD:     B11M_BOS.ROM + DISK_327.ROM + BAS11M_0.ROM + BAS11M_1.ROM + B11M_EXT.ROM\nSlow BK-0011M:      same as BK-0011M + FDD\nTerak 8510/a:       TERAK.ROM\n", "source_ref": "libretro.c:734-756, boot.c:83-116"}, "rom_loading": {"note": "load_rom_file() first tries {romdir}/{filename} with original casing.\nIf not found, retries with the filename converted to lowercase.\nReturns NULL and shuts down the core on failure.\n", "source_ref": "libretro.c:1050-1107"}}, "profiled_date": "2026-03-23", "source": "https://github.com/libretro/bk-emulator", "source_commit": "fe64da42ee463c1b2f4d0566e4d0f7a9667506f6", "systems": ["elektronika-bk"], "type": "libretro", "upstream": "https://github.com/emestee/bk-emulator"}


id: blastem
name: BlastEm
type: standalone + libretro
classification: official_port
source: https://github.com/libretro/blastem
upstream: https://www.retrodev.com/blastem/
source_commit: 84e567e17b6fb3cea23146c4209c18d50d46cbf0
profile_json:
{"analysis": {"jaguar_bios": {"libretro_relevant": false, "note": "blastjag (jaguar.c) is a separate standalone binary, not compiled\ninto the libretro core. Requires BIOS as first CLI argument.\n"}, "sega_cd": {"note": "TODO comment only: 'Differentiate between vanilla Genesis and Sega CD/32X games'", "source_ref": "system.c:16", "supported": false}, "tmss": {"config_path": "system\u0000tmss_path\u0000", "default_model": "md1va3", "default_tmss": "off", "libretro_support": false, "note": "TMSS ROM is loaded from tmss.md (configurable via system/tmss_path).\nModels with tmss=on: md1va6, md2va1, md2va2, md3va1, md3va2.\nModels with tmss=off: md1va0, md1va3 (default), teradrive.\nThe libretro build uses md1va3 (tmss off) with no option to change.\n", "rom_filename": "tmss.md", "rom_size": 2048, "source_ref": "genesis.c:1910", "standalone_support": true}}, "core_classification": "official_port", "core_version": "v0.6.3-pre", "cores": ["blastem"], "display_name": "Sega - Mega Drive - Genesis (BlastEm)", "emulator": "BlastEm", "files": [{"hle_fallback": true, "name": "rom.db", "note": "ROM feature database (game-specific mapper/save config). Embedded in core, external is optional override.", "required": false, "source_ref": "libblastem.c:532-542 read_bundled_file()", "system": "sega-megadrive"}, {"mode": "standalone", "name": "tmss.md", "note": "TMSS startup ROM. Standalone only (models md1va6, md2va1+). Libretro core uses md1va3 (tmss off), no way to change.", "required": false, "size": 2048, "source_ref": "genesis.c:3027-3040", "system": "sega-megadrive"}], "notes": "BlastEm is a cycle-accurate Sega Mega Drive/Genesis emulator with basic\nMaster System support. In standalone mode it supports TMSS ROM loading and\nmultiple hardware models (MD1 VA0 through MD3 VA2, Teradrive). The Jaguar\nemulator (blastjag) is a separate standalone binary, not part of the\nlibretro core.\n\nThe libretro port (libblastem.c) does NOT expose any core options and\ndefaults to model md1va3 which has TMSS disabled. There is no way to\nselect a TMSS-enabled model through the libretro interface.\n\nEven if a TMSS-enabled model were forced, read_bundled_file() in the\nlibretro build only serves rom.db and returns NULL for tmss.md, so TMSS\nROM loading would fail (fatal_error at genesis.c:1923).\n\nSega CD / Mega CD is not supported (only a TODO comment in system.c:16).\nNo BIOS files are required or loaded by the libretro core.\n", "profiled_date": "2026-03-23", "source": "https://github.com/libretro/blastem", "source_commit": "84e567e17b6fb3cea23146c4209c18d50d46cbf0", "systems": ["sega-megadrive", "sega-mastersystem"], "type": "standalone + libretro", "upstream": "https://www.retrodev.com/blastem/"}


id: bluemsx
name: blueMSX
type: standalone + libretro
classification: community_fork
source: https://github.com/libretro/blueMSX-libretro
upstream: http://bluemsx.msxblue.com/
source_commit: 0f32f52c48d3e772bfdf0379756f81f00b4e08bc
profile_json:
{"core_classification": "community_fork", "core_version": "SVN", "cores": ["bluemsx"], "data_directories": [{"ref": "bluemsx", "source_ref": "libretro.c:1118-1119"}], "display_name": "MSX/SVI/ColecoVision/SG-1000 (blueMSX)", "emulator": "blueMSX", "files": [{"name": "MSX.rom", "note": "MSX1 generic BIOS. Used by default 'MSX' machine config.", "path": "Machines/Shared Roms/MSX.rom", "required": true, "size": 32768, "source_ref": "system/bluemsx/Machines/MSX/config.ini", "system": "msx"}, {"name": "MSXJ.rom", "note": "MSX1 Japanese BIOS. Used by 'MSX - Japanese' machine.", "path": "Machines/Shared Roms/MSXJ.rom", "region": ["japan"], "required": false, "size": 32768, "source_ref": "system/bluemsx/Machines/MSX - Japanese/config.ini", "system": "msx"}, {"name": "MSXBR.rom", "note": "MSX1 Brazilian BIOS.", "path": "Machines/Shared Roms/MSXBR.rom", "region": ["brazil"], "required": false, "size": 32768, "system": "msx"}, {"name": "MSXFR.rom", "note": "MSX1 French BIOS.", "path": "Machines/Shared Roms/MSXFR.rom", "region": ["france"], "required": false, "size": 32768, "system": "msx"}, {"name": "MSXG.rom", "note": "MSX1 German BIOS.", "path": "Machines/Shared Roms/MSXG.rom", "region": ["germany"], "required": false, "size": 32768, "system": "msx"}, {"name": "MSXKR.rom", "note": "MSX1 Korean BIOS.", "path": "Machines/Shared Roms/MSXKR.rom", "region": ["south-korea"], "required": false, "size": 32768, "system": "msx"}, {"name": "MSXR.rom", "note": "MSX1 Russian BIOS.", "path": "Machines/Shared Roms/MSXR.rom", "region": ["russia"], "required": false, "size": 32768, "system": "msx"}, {"name": "MSXSE.ROM", "note": "MSX1 Swedish BIOS.", "path": "Machines/Shared Roms/MSXSE.ROM", "region": ["sweden"], "required": false, "size": 32768, "system": "msx"}, {"name": "MSXSP.rom", "note": "MSX1 Spanish BIOS.", "path": "Machines/Shared Roms/MSXSP.rom", "region": ["spain"], "required": false, "size": 32768, "system": "msx"}, {"name": "MSXAR.ROM", "note": "MSX1 Arabic BIOS.", "path": "Machines/Shared Roms/MSXAR.ROM", "required": false, "size": 32768, "system": "msx"}, {"name": "MSXR2.ROM", "note": "MSX1 Russian BIOS (variant 2).", "path": "Machines/Shared Roms/MSXR2.ROM", "region": ["russia"], "required": false, "size": 32768, "system": "msx"}, {"name": "MSXHAN.rom", "note": "MSX1 Korean Hangul extension ROM.", "path": "Machines/Shared Roms/MSXHAN.rom", "region": ["south-korea"], "required": false, "size": 8192, "system": "msx"}, {"name": "MSX2.rom", "note": "MSX2 generic main BIOS. Used by default 'MSX2' machine config.", "path": "Machines/Shared Roms/MSX2.rom", "required": true, "size": 32768, "source_ref": "system/bluemsx/Machines/MSX2/config.ini", "system": "msx2"}, {"name": "MSX2EXT.rom", "note": "MSX2 extension BIOS (SubROM). Required alongside MSX2.rom.", "path": "Machines/Shared Roms/MSX2EXT.rom", "required": true, "size": 16384, "source_ref": "system/bluemsx/Machines/MSX2/config.ini", "system": "msx2"}, {"name": "MSX2J.rom", "note": "MSX2 Japanese main BIOS.", "path": "Machines/Shared Roms/MSX2J.rom", "region": ["japan"], "required": false, "size": 32768, "system": "msx2"}, {"name": "MSX2JEXT.rom", "note": "MSX2 Japanese extension BIOS.", "path": "Machines/Shared Roms/MSX2JEXT.rom", "region": ["japan"], "required": false, "size": 16384, "system": "msx2"}, {"name": "MSX2BR.rom", "note": "MSX2 Brazilian main BIOS.", "path": "Machines/Shared Roms/MSX2BR.rom", "region": ["brazil"], "required": false, "size": 32768, "system": "msx2"}, {"name": "MSX2BREXT.rom", "note": "MSX2 Brazilian extension BIOS.", "path": "Machines/Shared Roms/MSX2BREXT.rom", "region": ["brazil"], "required": false, "size": 16384, "system": "msx2"}, {"name": "MSX2FR.rom", "note": "MSX2 French main BIOS.", "path": "Machines/Shared Roms/MSX2FR.rom", "region": ["france"], "required": false, "size": 32768, "system": "msx2"}, {"name": "MSX2FREXT.rom", "note": "MSX2 French extension BIOS.", "path": "Machines/Shared Roms/MSX2FREXT.rom", "region": ["france"], "required": false, "size": 16384, "system": "msx2"}, {"name": "MSX2G.rom", "note": "MSX2 German main BIOS.", "path": "Machines/Shared Roms/MSX2G.rom", "region": ["germany"], "required": false, "size": 32768, "system": "msx2"}, {"name": "MSX2GEXT.rom", "note": "MSX2 German extension BIOS.", "path": "Machines/Shared Roms/MSX2GEXT.rom", "region": ["germany"], "required": false, "size": 16384, "system": "msx2"}, {"name": "MSX2KR.rom", "note": "MSX2 Korean main BIOS.", "path": "Machines/Shared Roms/MSX2KR.rom", "region": ["south-korea"], "required": false, "size": 32768, "system": "msx2"}, {"name": "MSX2KREXT.rom", "note": "MSX2 Korean extension BIOS.", "path": "Machines/Shared Roms/MSX2KREXT.rom", "region": ["south-korea"], "required": false, "size": 32768, "system": "msx2"}, {"name": "MSX2R.rom", "note": "MSX2 Russian main BIOS.", "path": "Machines/Shared Roms/MSX2R.rom", "region": ["russia"], "required": false, "size": 32768, "system": "msx2"}, {"name": "MSX2REXT.rom", "note": "MSX2 Russian extension BIOS.", "path": "Machines/Shared Roms/MSX2REXT.rom", "region": ["russia"], "required": false, "size": 16384, "system": "msx2"}, {"name": "MSX2R2.ROM", "note": "MSX2 Russian main BIOS (variant 2).", "path": "Machines/Shared Roms/MSX2R2.ROM", "region": ["russia"], "required": false, "size": 32768, "system": "msx2"}, {"name": "MSX2SE.rom", "note": "MSX2 Swedish main BIOS.", "path": "Machines/Shared Roms/MSX2SE.rom", "region": ["sweden"], "required": false, "size": 32768, "system": "msx2"}, {"name": "MSX2SP.rom", "note": "MSX2 Spanish main BIOS.", "path": "Machines/Shared Roms/MSX2SP.rom", "region": ["spain"], "required": false, "size": 32768, "system": "msx2"}, {"name": "MSX2SPEXT.rom", "note": "MSX2 Spanish extension BIOS.", "path": "Machines/Shared Roms/MSX2SPEXT.rom", "region": ["spain"], "required": false, "size": 16384, "system": "msx2"}, {"name": "MSX2AR.ROM", "note": "MSX2 Arabic main BIOS.", "path": "Machines/Shared Roms/MSX2AR.ROM", "required": false, "size": 32768, "system": "msx2"}, {"name": "MSX2AREXT.ROM", "note": "MSX2 Arabic extension BIOS.", "path": "Machines/Shared Roms/MSX2AREXT.ROM", "required": false, "size": 16384, "system": "msx2"}, {"name": "MSX2HAN.rom", "note": "MSX2 Korean Hangul BIOS.", "path": "Machines/Shared Roms/MSX2HAN.rom", "region": ["south-korea"], "required": false, "size": 32768, "system": "msx2"}, {"name": "MSX2P.rom", "note": "MSX2+ main BIOS. Used by default 'MSX2+' machine config (auto-selected for .dsk/.cas/.rom).", "path": "Machines/Shared Roms/MSX2P.rom", "required": true, "size": 32768, "source_ref": "system/bluemsx/Machines/MSX2+/config.ini", "system": "msx2plus"}, {"name": "MSX2PEXT.rom", "note": "MSX2+ extension BIOS (SubROM).", "path": "Machines/Shared Roms/MSX2PEXT.rom", "required": true, "size": 16384, "source_ref": "system/bluemsx/Machines/MSX2+/config.ini", "system": "msx2plus"}, {"name": "MSX2PMUS.rom", "note": "MSX2+ MSX-MUSIC BIOS (FM-PAC built-in). Used by MSX2+ and MSX2 default configs.", "path": "Machines/Shared Roms/MSX2PMUS.rom", "required": true, "size": 16384, "source_ref": "system/bluemsx/Machines/MSX2+/config.ini", "system": "msx2plus"}, {"name": "MSXTR.ROM", "note": "MSX turboR main BIOS.", "path": "Machines/Shared Roms/MSXTR.ROM", "required": true, "size": 32768, "source_ref": "system/bluemsx/Machines/MSXturboR/config.ini", "system": "msxturboR"}, {"name": "MSXTREXT.ROM", "note": "MSX turboR extension BIOS.", "path": "Machines/Shared Roms/MSXTREXT.ROM", "required": true, "size": 16384, "source_ref": "system/bluemsx/Machines/MSXturboR/config.ini", "system": "msxturboR"}, {"name": "MSXTRMUS.ROM", "note": "MSX turboR MSX-MUSIC BIOS.", "path": "Machines/Shared Roms/MSXTRMUS.ROM", "required": true, "size": 16384, "source_ref": "system/bluemsx/Machines/MSXturboR/config.ini", "system": "msxturboR"}, {"name": "MSXTROPT.ROM", "note": "MSX turboR option ROM (firmware utilities).", "path": "Machines/Shared Roms/MSXTROPT.ROM", "required": true, "size": 16384, "source_ref": "system/bluemsx/Machines/MSXturboR/config.ini", "system": "msxturboR"}, {"name": "MSXDOS23.ROM", "note": "MSX-DOS 2.3 ROM. Used by turboR default config for disk operations.", "path": "Machines/Shared Roms/MSXDOS23.ROM", "required": true, "size": 65536, "source_ref": "system/bluemsx/Machines/MSXturboR/config.ini", "system": "msxturboR"}, {"name": "KANJI.rom", "note": "Kanji font ROM (256 KB). Used by MSX2+, turboR, and Japanese MSX2 machines.", "path": "Machines/Shared Roms/KANJI.rom", "region": ["japan"], "required": false, "size": 262144, "source_ref": "system/bluemsx/Machines/MSX2+/config.ini"}, {"name": "MSXKANJI.rom", "note": "MSX-Kanji driver ROM. Used by MSX2+, turboR, and Japanese MSX2 for kanji display.", "path": "Machines/Shared Roms/MSXKANJI.rom", "region": ["japan"], "required": false, "size": 32768, "source_ref": "system/bluemsx/Machines/MSX2+/config.ini"}, {"hle_fallback": true, "name": "FMPAC.rom", "note": "FM-PAC cartridge ROM (YM2413 FM synthesis). If missing, core uses built-in minimal ROM stub.", "path": "Machines/Shared Roms/FMPAC.rom", "required": false, "size": 65536, "source_ref": "Src/Memory/MegaromCartridge.c:290-306"}, {"name": "XBASIC2.rom", "note": "MSX-BASIC 2 extension ROM. Used by MSX2, MSX2+, and turboR default configs.", "path": "Machines/Shared Roms/XBASIC2.rom", "required": false, "size": 16384, "source_ref": "system/bluemsx/Machines/MSX2/config.ini"}, {"name": "PAINT.rom", "note": "Paint utility ROM. Used by some MSX2 Japanese machine configs.", "path": "Machines/Shared Roms/PAINT.rom", "region": ["japan"], "required": false, "size": 65536}, {"name": "SWP.rom", "note": "Software World Processor ROM. Used by Al Alamiah MSX2 machines.", "path": "Machines/Shared Roms/SWP.rom", "required": false, "size": 32768}, {"name": "ARABIC.rom", "note": "Arabic character set extension ROM.", "path": "Machines/Shared Roms/ARABIC.rom", "required": false, "size": 32768}, {"name": "HANGUL.rom", "note": "Korean Hangul font ROM (128 KB).", "path": "Machines/Shared Roms/HANGUL.rom", "region": ["south-korea"], "required": false, "size": 131072}, {"name": "RS232.ROM", "note": "RS-232C serial interface ROM.", "path": "Machines/Shared Roms/RS232.ROM", "required": false, "size": 8192}, {"name": "MOONSOUND.rom", "note": "MoonSound (OPL4) wavetable ROM (2 MB). Used by MSX2, MSX2+, and turboR configs.", "path": "Machines/Shared Roms/MOONSOUND.rom", "required": false, "size": 2097152, "source_ref": "system/bluemsx/Machines/MSX2/config.ini"}, {"name": "PANASONICDISK.rom", "note": "Panasonic disk controller ROM. Used by MSX2+ and turboR default configs.", "path": "Machines/Shared Roms/PANASONICDISK.rom", "required": false, "size": 16384, "source_ref": "system/bluemsx/Machines/MSX2+/config.ini"}, {"name": "PHILIPSDISK.rom", "note": "Philips disk controller ROM. Used by MSX1 and MSX2 default configs.", "path": "Machines/Shared Roms/PHILIPSDISK.rom", "required": false, "size": 16384, "source_ref": "system/bluemsx/Machines/MSX/config.ini"}, {"name": "NATIONALDISK.rom", "note": "National disk controller ROM.", "path": "Machines/Shared Roms/NATIONALDISK.rom", "required": false, "size": 16384}, {"name": "MICROSOLDISK.ROM", "note": "Microsol disk controller ROM.", "path": "Machines/Shared Roms/MICROSOLDISK.ROM", "required": false, "size": 16384}, {"name": "SUNRISEIDE.rom", "note": "Sunrise IDE interface ROM. Loaded as expansion cartridge.", "path": "Machines/Shared Roms/SUNRISEIDE.rom", "required": false, "size": 65536, "source_ref": "Src/Memory/MegaromCartridge.c:311"}, {"name": "BEERIDE.ROM", "note": "Beer IDE interface ROM.", "path": "Machines/Shared Roms/BEERIDE.ROM", "required": false, "size": 16384, "source_ref": "Src/Memory/MegaromCartridge.c:319"}, {"name": "NOVAXIS.rom", "note": "Novaxis SCSI interface ROM.", "path": "Machines/Shared Roms/NOVAXIS.rom", "required": false, "size": 16384, "source_ref": "Src/Memory/MegaromCartridge.c:327"}, {"name": "nowindDos1.rom", "note": "Nowind USB disk interface with MSX-DOS 1.", "path": "Machines/Shared Roms/nowindDos1.rom", "required": false, "size": 524288, "source_ref": "Src/Memory/MegaromCartridge.c:335"}, {"name": "nowindDos2.rom", "note": "Nowind USB disk interface with MSX-DOS 2.", "path": "Machines/Shared Roms/nowindDos2.rom", "required": false, "size": 524288, "source_ref": "Src/Memory/MegaromCartridge.c:339"}, {"name": "GCVMX80.ROM", "note": "GCV MX-80 printer interface ROM.", "path": "Machines/Shared Roms/GCVMX80.ROM", "required": false, "size": 8192}, {"name": "ARAB1.ROM", "note": "Arabic support ROM (variant 1).", "path": "Machines/Shared Roms/ARAB1.ROM", "required": false, "size": 32768}, {"bundled": true, "name": "cbios_main_msx1.rom", "note": "C-BIOS MSX1 main ROM (open source). Bundled with core. Cartridge games only.", "path": "Machines/MSX - C-BIOS/cbios_main_msx1.rom", "required": false, "size": 32768, "system": "msx"}, {"bundled": true, "name": "cbios_logo_msx1.rom", "note": "C-BIOS MSX1 logo ROM (open source). Bundled with core.", "path": "Machines/MSX - C-BIOS/cbios_logo_msx1.rom", "required": false, "size": 16384, "system": "msx"}, {"bundled": true, "name": "cbios_main_msx2.rom", "note": "C-BIOS MSX2 main ROM (open source). Bundled with core. Cartridge games only.", "path": "Machines/MSX2 - C-BIOS/cbios_main_msx2.rom", "required": false, "size": 32768, "system": "msx2"}, {"bundled": true, "name": "cbios_logo_msx2.rom", "note": "C-BIOS MSX2 logo ROM (open source). Bundled with core.", "path": "Machines/MSX2 - C-BIOS/cbios_logo_msx2.rom", "required": false, "size": 16384, "system": "msx2"}, {"bundled": true, "name": "cbios_sub.rom", "note": "C-BIOS MSX2/MSX2+ sub ROM (open source). Bundled with core.", "path": "Machines/MSX2 - C-BIOS/cbios_sub.rom", "required": false, "size": 16384, "system": "msx2"}, {"bundled": true, "name": "cbios_main_msx2+.rom", "note": "C-BIOS MSX2+ main ROM (open source). Bundled with core. Cartridge games only.", "path": "Machines/MSX2+ - C-BIOS/cbios_main_msx2+.rom", "required": false, "size": 32768, "system": "msx2plus"}, {"bundled": true, "name": "cbios_logo_msx2+.rom", "note": "C-BIOS MSX2+ logo ROM (open source). Bundled with core.", "path": "Machines/MSX2+ - C-BIOS/cbios_logo_msx2+.rom", "required": false, "size": 16384, "system": "msx2plus"}, {"bundled": true, "name": "cbios_music.rom", "note": "C-BIOS MSX2+ music ROM (open source). Bundled with core.", "path": "Machines/MSX2+ - C-BIOS/cbios_music.rom", "required": false, "size": 16384, "system": "msx2plus"}, {"name": "coleco.rom", "note": "ColecoVision BIOS ROM. Required for ColecoVision mode.", "path": "Machines/COL - ColecoVision/coleco.rom", "required": true, "size": 8192, "source_ref": "system/bluemsx/Machines/COL - ColecoVision/config.ini", "system": "colecovision"}, {"name": "sf7000.rom", "note": "Sega SF-7000 BIOS ROM. SG-1000 and SC-3000 have no BIOS requirement.", "path": "Machines/SEGA - SF-7000/sf7000.rom", "required": true, "size": 8192, "source_ref": "system/bluemsx/Machines/SEGA - SF-7000/config.ini", "system": "sega-sf7000"}, {"name": "svi318.rom", "note": "SVI-318 BIOS ROM.", "path": "Machines/SVI - Spectravideo SVI-318/svi318.rom", "required": true, "size": 32768, "source_ref": "system/bluemsx/Machines/SVI - Spectravideo SVI-318/config.ini", "system": "spectravideo"}, {"name": "svi328.rom", "note": "SVI-328 BIOS ROM.", "path": "Machines/SVI - Spectravideo SVI-328/svi328.rom", "required": true, "size": 32768, "source_ref": "system/bluemsx/Machines/SVI - Spectravideo SVI-328/config.ini", "system": "spectravideo"}, {"bundled": true, "name": "msxromdb.xml", "note": "MSX ROM database for mapper auto-detection. Bundled with core.", "path": "Databases/msxromdb.xml", "required": false}, {"bundled": true, "name": "msxsysromdb.xml", "note": "MSX system ROM database. Bundled with core.", "path": "Databases/msxsysromdb.xml", "required": false}, {"bundled": true, "name": "colecodb.xml", "note": "ColecoVision ROM database. Bundled with core.", "path": "Databases/colecodb.xml", "required": false}, {"bundled": true, "name": "msxcaswavdb.xml", "note": "MSX cassette/WAV media database. Bundled with core.", "path": "Databases/msxcaswavdb.xml", "required": false}, {"bundled": true, "name": "segadb.xml", "note": "Sega SG-1000/SC-3000/SF-7000 ROM database. Bundled with core.", "path": "Databases/segadb.xml", "required": false}, {"bundled": true, "name": "svidb.xml", "note": "Spectravideo SVI ROM database. Bundled with core.", "path": "Databases/svidb.xml", "required": false}], "notes": "The directory structure must be preserved exactly as shipped in the repo's\nsystem/bluemsx/ folder. The core expects Machines/ and Databases/ subdirectories\ninside the system directory. Each machine model has its own subdirectory with\na config.ini and associated ROM files.\n\nDefault machines (used when selecting base type names like \"MSX\", \"MSX2\", etc.)\nreference ROMs from \"Machines/Shared Roms/\". Machine-specific variants (e.g.\n\"MSX2 - Panasonic FS-A1F\") have their own ROMs in their own subdirectory.\n\nC-BIOS machines work for cartridge-based games without any copyrighted BIOS.\nFor disk/tape support, real BIOS ROMs are required.\n", "profiled_date": "2026-03-23", "source": "https://github.com/libretro/blueMSX-libretro", "source_commit": "0f32f52c48d3e772bfdf0379756f81f00b4e08bc", "systems": ["msx", "msx2", "msx2plus", "msxturboR", "colecovision", "sega-sg1000", "sega-sc3000", "sega-sf7000", "spectravideo"], "type": "standalone + libretro", "upstream": "http://bluemsx.msxblue.com/"}


