chore: merge the integration into site-text

This commit is contained in:
Abdessamad Derraz committed 2026-11-10 14:13:07 +01:00
commit b2890d53ca
71 files changed
+5240 -934

No files matched your search

+8 -6
View File
@@ -275,7 +275,8 @@ files:
mode: standalone
size: 8192
md5: 5c11c61a2dd2ca4bf39328d9ff42d289
source_ref: "upstream Source/ROMs/FDCs/interface1.edition1.rom"
note: "Listed for ZX Interface 1, but ConfigureFDCRom has no Interface 1 branch, so the choice is not applied. Read when the configuration file names it as ROMINTERFACE1."
source_ref: "upstream Source/ROMs/FDCs/interface1.edition1.rom, upstream Source/HW_.cpp:2618-2622, 3732, 4957-4980, upstream Source/Spectrum/spec48.cpp:332-334"
- name: "+d.g+dos.v1-a.rom"
system: sinclair-zx-spectrum
required: false
@@ -487,7 +488,8 @@ files:
mode: standalone
size: 16384
md5: 9f6f56003307b9d55be96f406fdbf2b1
source_ref: "upstream Source/ROMs/spectrum48.arabic.rom"
note: "In no ROM list: read when chosen with the Browse button."
source_ref: "upstream Source/ROMs/spectrum48.arabic.rom, upstream Source/HW_.cpp:252, 3794-3797, 3806-3835, upstream Source/Spectrum/spec48.cpp:354"
- name: spectrum48.arabic.version1.rom
system: sinclair-zx-spectrum
required: false
@@ -603,8 +605,8 @@ files:
mode: standalone
size: 16384
md5: b7893ad25728fbf6410f08eddd4a1cad
note: "Microdigital TK90X (Spectrum clone)."
source_ref: "upstream Source/ROMs/tk90.rom"
note: "Microdigital TK90X (Spectrum clone). In no ROM list: read when chosen with the Browse button."
source_ref: "upstream Source/ROMs/tk90.rom, upstream Source/HW_.cpp:252, 3794-3797, 3806-3835, upstream Source/Spectrum/spec48.cpp:354"
- name: tk95.rom
system: sinclair-zx-spectrum
required: false
@@ -612,5 +614,5 @@ files:
mode: standalone
size: 16384
md5: b7893ad25728fbf6410f08eddd4a1cad
note: "Microdigital TK95 (Spectrum clone)."
source_ref: "upstream Source/ROMs/tk95.rom"
note: "Microdigital TK95 (Spectrum clone). In no ROM list: read when chosen with the Browse button."
source_ref: "upstream Source/ROMs/tk95.rom, upstream Source/HW_.cpp:252, 3794-3797, 3806-3835, upstream Source/Spectrum/spec48.cpp:354"
+6 -4
View File
@@ -96,11 +96,12 @@ files:
required: false
category: bios_zip
system: atari-7800
source_ref: "source hash/a7800.xml:8-21"
source_ref: "source hash/a7800.xml:8-21, source src/mame/drivers/a7800.cpp:1577, source src/emu/emuopts.cpp:40, source src/emu/softlist_dev.cpp:87, 309, source src/emu/romload.cpp:575-651, 1298-1302"
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.
absent. The list is read from hash/a7800.xml, which the v5.2 release
archives for Linux, macOS and Windows carry beside the binary.
contents:
- name: highscre.bin
description: High Score Cartridge ROM, read through the pass-through cart
@@ -112,12 +113,13 @@ files:
required: false
category: bios_zip
system: atari-7800
source_ref: "source hash/a7800.xml:24-38"
source_ref: "source hash/a7800.xml:24-38, source src/mame/drivers/a7800.cpp:1577, source src/emu/emuopts.cpp:40, source src/emu/softlist_dev.cpp:87, 309, source src/emu/romload.cpp:575-651, 1298-1302"
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.
is absent. The list is read from hash/a7800.xml, which the v5.2
release archives for Linux, macOS and Windows carry beside the binary.
contents:
- name: highscre.bin
description: High Score Cartridge ROM, gated by XM control register bit 3
+5 -5
View File
@@ -52,11 +52,11 @@ files:
- name: "defaults.prp"
category: game_data
description: "Default properties for level objects"
required: true
description: "Level editor window positions"
required: false
bundled: true
source_ref: "data/abuse.lsp"
note: "Shipped in Abuse-0.9.1-win32.zip."
source_ref: "src/game.cpp:2373, src/dev.cpp:821-828, 3371-3374, src/property.cpp:155-159"
note: "Shipped in Abuse-0.9.1-win32.zip. Read at every start, and a missing file leaves the defaults. Written back after an -edit session."
- name: "english.lsp"
path: "lisp/english.lsp"
@@ -64,5 +64,5 @@ files:
description: "Localized strings loaded first by abuse.lsp"
required: true
bundled: true
source_ref: "data/abuse.lsp:9"
source_ref: "data/abuse.lsp:9-12, data/CMakeLists.txt:1-5, 10-16, src/loader2.cpp:284, 348-354"
note: "Shipped in Abuse-0.9.1-win32.zip."
+87 -29
View File
@@ -162,7 +162,9 @@ files:
path: "neogeo.zip"
required: true
category: bios_zip
system: snk-neogeo-mvs
systems:
- snk-neogeo-mvs
- arcade
source_ref: "src/drivers/neogeo.c:7941-7955,8555"
note: >-
Eight MVS BIOS variants selected with misc_bios (euro, euro-s1, us,
@@ -230,7 +232,9 @@ files:
path: "pgm.zip"
required: true
category: bios_zip
system: igs-pgm
systems:
- igs-pgm
- arcade
source_ref: "src/drivers/pgm.c:4415-4426, src/drivers/pgm.c:6904"
contents:
- name: pgm_p01s.rom
@@ -254,7 +258,9 @@ files:
path: "stvbios.zip"
required: true
category: bios_zip
system: sega-stv
systems:
- sega-stv
- arcade
source_ref: "src/drivers/stv.c:3251-3253,4281"
note: >-
Nine BIOS variants selected with misc_bios (japan, japana, us, japanb,
@@ -311,7 +317,9 @@ files:
path: "megaplay.zip"
required: true
category: bios_zip
system: sega-megaplay
systems:
- sega-megaplay
- arcade
source_ref: "src/drivers/megaplay.c:793-796,991"
note: >-
Two BIOS variants selected with misc_bios (ver1, ver2), ver1 by
@@ -333,7 +341,9 @@ files:
path: "megatech.zip"
required: true
category: bios_zip
system: sega-megatech
systems:
- sega-megatech
- arcade
source_ref: "src/drivers/megatech.c:456-459,868"
contents:
- name: epr12664.20
@@ -346,7 +356,9 @@ files:
path: "decocass.zip"
required: true
category: bios_zip
system: deco-cassette
systems:
- deco-cassette
- arcade
source_ref: "src/drivers/decocass.c:729-732,1215"
note: >-
Two main CPU BIOS variants selected with misc_bios (bios0, bios1),
@@ -399,7 +411,9 @@ files:
path: "playch10.zip"
required: true
category: bios_zip
system: nintendo-playch10
systems:
- nintendo-playch10
- arcade
source_ref: "src/drivers/playch10.c:1650-1653,1661"
note: >-
Two BIOS variants selected with misc_bios (dual, single), dual by
@@ -451,7 +465,9 @@ files:
path: "nss.zip"
required: true
category: bios_zip
system: nintendo-nss
systems:
- nintendo-nss
- arcade
source_ref: "src/drivers/nss.c:526-528,659"
contents:
- name: spc700.rom
@@ -480,7 +496,9 @@ files:
path: "skns.zip"
required: true
category: bios_zip
system: super-kaneko-nova
systems:
- super-kaneko-nova
- arcade
source_ref: "src/drivers/suprnova.c:1272-1279,1767"
note: >-
Five region BIOS ROMs, all loaded into the same region.
@@ -516,7 +534,9 @@ files:
path: "konamigx.zip"
required: true
category: bios_zip
system: konami-gx
systems:
- konami-gx
- arcade
source_ref: "src/drivers/konamigx.c:2180-2183,3521"
contents:
- name: 300a01.34k
@@ -529,7 +549,9 @@ files:
path: "konamigv.zip"
required: true
category: bios_zip
system: konami-gv
systems:
- konami-gv
- arcade
source_ref: "src/drivers/konamigv.c:974-978,1060"
contents:
- name: 999a01.7e
@@ -542,7 +564,9 @@ files:
path: "cvs.zip"
required: true
category: bios_zip
system: century-cvs
systems:
- century-cvs
- arcade
source_ref: "src/drivers/cvs.c:422-432,1403"
contents:
- name: 5b.bin
@@ -566,7 +590,9 @@ files:
path: "cpzn1.zip"
required: true
category: bios_zip
system: capcom-zn1
systems:
- capcom-zn1
- arcade
source_ref: "src/drivers/zn.c:3188-3190, src/drivers/zn.c:4635"
contents:
- name: coh-1000c.353
@@ -579,7 +605,9 @@ files:
path: "cpzn2.zip"
required: true
category: bios_zip
system: capcom-zn2
systems:
- capcom-zn2
- arcade
source_ref: "src/drivers/zn.c:3423-3425, src/drivers/zn.c:4653"
contents:
- name: coh-3002c.353
@@ -592,7 +620,9 @@ files:
path: "tps.zip"
required: true
category: bios_zip
system: tecmo-tps
systems:
- tecmo-tps
- arcade
source_ref: "src/drivers/zn.c:3866-3868, src/drivers/zn.c:4700"
contents:
- name: coh-1002m.353
@@ -605,7 +635,9 @@ files:
path: "taitofx1.zip"
required: true
category: bios_zip
system: taito-fx1
systems:
- taito-fx1
- arcade
source_ref: "src/drivers/zn.c:4162-4164, src/drivers/zn.c:4733"
contents:
- name: coh-1000t.353
@@ -618,7 +650,9 @@ files:
path: "psarc95.zip"
required: true
category: bios_zip
system: eighting-zn1
systems:
- eighting-zn1
- arcade
source_ref: "src/drivers/zn.c:4434-4436, src/drivers/zn.c:4760"
contents:
- name: coh-1002e.353
@@ -631,7 +665,9 @@ files:
path: "atluspsx.zip"
required: true
category: bios_zip
system: atlus-zn1
systems:
- atlus-zn1
- arcade
source_ref: "src/drivers/zn.c:4605-4607, src/drivers/zn.c:4772"
contents:
- name: coh-1001l.353
@@ -644,7 +680,9 @@ files:
path: "atpsx.zip"
required: true
category: bios_zip
system: atari-zn1
systems:
- atari-zn1
- arcade
source_ref: "src/drivers/zn.c:4520-4522, src/drivers/zn.c:4680"
contents:
- name: coh-1000w.353
@@ -657,7 +695,9 @@ files:
path: "acpsx.zip"
required: true
category: bios_zip
system: acclaim-zn1
systems:
- acclaim-zn1
- arcade
source_ref: "src/drivers/zn.c:4543-4545, src/drivers/zn.c:4689"
contents:
- name: coh-1000a.353
@@ -670,7 +710,9 @@ files:
path: "coh1002v.zip"
required: true
category: bios_zip
system: videosystem-zn1
systems:
- videosystem-zn1
- arcade
source_ref: "src/drivers/zn.c:4090-4096, src/drivers/zn.c:4722"
contents:
- name: coh-1002v.ic353
@@ -683,7 +725,9 @@ files:
path: "aleck64.zip"
required: true
category: bios_zip
system: nintendo-aleck64
systems:
- nintendo-aleck64
- arcade
source_ref: "src/drivers/aleck64.c:697-699,778"
contents:
- name: pifdata.bin
@@ -696,7 +740,9 @@ files:
path: "atarisy1.zip"
required: true
category: bios_zip
system: atari-system1
systems:
- atari-system1
- arcade
source_ref: "src/drivers/atarisy1.c:837-850, src/drivers/atarisy1.c:2299"
contents:
- name: "136032.114.j11"
@@ -720,7 +766,9 @@ files:
path: "cedmag.zip"
required: true
category: bios_zip
system: efo-cedar-magnet
systems:
- efo-cedar-magnet
- arcade
source_ref: "src/drivers/cedar_magnet.c:881-890, src/drivers/cedar_magnet.c:948"
contents:
- name: "magnet-master-vid-e03.bin"
@@ -733,7 +781,9 @@ files:
path: "ar_bios.zip"
required: true
category: bios_zip
system: arcadia-systems
systems:
- arcadia-systems
- arcade
source_ref: "src/drivers/arsystems.c:356-377,823"
note: >-
Three BIOS variants selected with misc_bios (onep300, onep211,
@@ -801,7 +851,9 @@ files:
path: "maxaflex.zip"
required: true
category: bios_zip
system: exidy-maxaflex
systems:
- exidy-maxaflex
- arcade
source_ref: "src/drivers/maxaflex.c:520-529,585"
contents:
- name: atarixl.rom
@@ -825,7 +877,9 @@ files:
path: "crysbios.zip"
required: true
category: bios_zip
system: brezzasoft-crystal
systems:
- brezzasoft-crystal
- arcade
source_ref: "src/drivers/crystal.c:924-929,1032"
contents:
- name: mx27l1000.u14
@@ -838,7 +892,9 @@ files:
path: "macsbios.zip"
required: true
category: bios_zip
system: imax-macs
systems:
- imax-macs
- arcade
source_ref: "src/drivers/macs.c:396-404,614"
contents:
- name: macsos_l.u43
@@ -857,7 +913,9 @@ files:
path: "bctvidbs.zip"
required: true
category: bios_zip
system: barcrest-mpu4
systems:
- barcrest-mpu4
- arcade
source_ref: "src/drivers/mpu4.c:2016-2019,2177"
contents:
- name: vid.p1
+1 -1
View File
@@ -131,7 +131,7 @@ files:
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.
source_ref: "ArcadeFlashWeb-release flash/flash.html:110, src/qml.qrc:23"
source_ref: "src/main.qml:327, 334, ArcadeFlashWeb-release flash/flash.html:110, src/qml.qrc:23, src/main.qml:457"
- name: swfdump.exe
size: 541095
+4 -4
View File
@@ -193,7 +193,7 @@ files:
max_size: 131072
validation: [size]
note: "Integra-B slot under the Torch configuration."
source_ref: "UserData/Roms_Torch.cfg:24"
source_ref: "UserData/Roms_Torch.cfg:24, BeebEmTorch.vbs:3, Src/BeebWin.cpp:5291-5297, 5960-5964, 473, Src/RomConfigFile.cpp:158-162, Src/BeebMem.cpp:1321-1337"
- name: WDFS.rom
path: BeebFile/BBCINT/WDFS.rom
@@ -206,7 +206,7 @@ files:
max_size: 131072
validation: [size]
note: "Filing system slot under the Torch configuration."
source_ref: "UserData/Roms_Torch.cfg:26"
source_ref: "UserData/Roms_Torch.cfg:26, BeebEmTorch.vbs:3, Src/BeebWin.cpp:5291-5297, 5960-5964, 473, Src/RomConfigFile.cpp:158-162, Src/BeebMem.cpp:1321-1337"
- name: MCP120-CBL.rom
path: BeebFile/BBC/MCP120-CBL.rom
@@ -219,7 +219,7 @@ files:
max_size: 131072
validation: [size]
note: "Host tube support for the Torch Z80 co-processor on a Model B."
source_ref: "UserData/Roms_Torch.cfg:5, Help/z80torch.html"
source_ref: "UserData/Roms_Torch.cfg:5, Help/z80torch.html, BeebEmTorch.vbs:3, Src/BeebWin.cpp:5291-5297, 5960-5964, 473, Src/RomConfigFile.cpp:158-162, Src/BeebMem.cpp:1321-1337"
# -- BBC Model B Plus --
@@ -413,7 +413,7 @@ files:
max_size: 131072
validation: [size]
note: "Host tube support for the Torch Z80 co-processor on a Master."
source_ref: "UserData/Roms_Torch.cfg:79, Help/z80torch.html"
source_ref: "UserData/Roms_Torch.cfg:79, Help/z80torch.html, BeebEmTorch.vbs:3, Src/BeebWin.cpp:5291-5297, 5960-5964, 473, Src/RomConfigFile.cpp:158-162, Src/BeebMem.cpp:1321-1337"
# -- BBC Master ET --
+53 -53
View File
@@ -92,7 +92,7 @@ files:
required: true
system: msx
note: "MSX1 generic BIOS. Used by default 'MSX' machine config."
source_ref: "system/bluemsx/Machines/MSX/config.ini"
source_ref: "system/bluemsx/Machines/MSX/config.ini:28, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: MSX.rom
path: "Machines/Shared Roms/MSX.rom"
@@ -104,7 +104,7 @@ files:
sha1: "e998f0c441f4f1800ef44e42cd1659150206cf79"
md5: "364a1a579fe5cb8dba54519bcfcdac0d"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/MSX/config.ini"
source_ref: "system/bluemsx/Machines/MSX/config.ini:28, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: MSXJ.rom
installed_on: [batocera, recalbox, retrobat, retrodeck, retropie]
@@ -114,7 +114,7 @@ files:
required: false
system: msx
note: "MSX1 Japanese BIOS. Used by 'MSX - Japanese' machine."
source_ref: "system/bluemsx/Machines/MSX - Japanese/config.ini"
source_ref: "system/bluemsx/Machines/MSX - Japanese/config.ini:28, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: MSXJ.rom
path: "Machines/Shared Roms/MSXJ.rom"
@@ -126,7 +126,7 @@ files:
sha1: "df48902f5f12af8867ae1a87f255145f0e5e0774"
md5: "f005e55c680ba6e7b19f6d4dc8f73ce5"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/MSX - Japanese/config.ini"
source_ref: "system/bluemsx/Machines/MSX - Japanese/config.ini:28, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: MSXBR.rom
installed_on: [batocera, recalbox, retrobat, retrodeck, retropie]
@@ -338,7 +338,7 @@ files:
required: true
system: msx2
note: "MSX2 generic main BIOS. Used by default 'MSX2' machine config."
source_ref: "system/bluemsx/Machines/MSX2/config.ini"
source_ref: "system/bluemsx/Machines/MSX2/config.ini:28, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: MSX2.rom
path: "Machines/Shared Roms/MSX2.rom"
@@ -350,7 +350,7 @@ files:
sha1: "6103b39f1e38d1aa2d84b1c3219c44f1abb5436e"
md5: "ec3a01c91f24fbddcbcab0ad301bc9ef"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/MSX2/config.ini"
source_ref: "system/bluemsx/Machines/MSX2/config.ini:28, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: MSX2EXT.rom
installed_on: [batocera, recalbox, retrobat, retrodeck, retropie]
@@ -360,7 +360,7 @@ files:
required: true
system: msx2
note: "MSX2 extension BIOS (SubROM). Required alongside MSX2.rom."
source_ref: "system/bluemsx/Machines/MSX2/config.ini"
source_ref: "system/bluemsx/Machines/MSX2/config.ini:31, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: MSX2EXT.rom
path: "Machines/Shared Roms/MSX2EXT.rom"
@@ -372,7 +372,7 @@ files:
sha1: "5c1f9c7fb655e43d38e5dd1fcc6b942b2ff68b02"
md5: "2183c2aff17cf4297bdb496de78c2e8a"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/MSX2/config.ini"
source_ref: "system/bluemsx/Machines/MSX2/config.ini:31, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: MSX2J.rom
installed_on: [batocera, recalbox, retrobat, retrodeck, retropie]
@@ -764,7 +764,7 @@ files:
required: true
system: msx2plus
note: "MSX2+ main BIOS. Used by default 'MSX2+' machine config (auto-selected for .dsk/.cas/.rom)."
source_ref: "system/bluemsx/Machines/MSX2+/config.ini"
source_ref: "system/bluemsx/Machines/MSX2+/config.ini:31, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: MSX2P.rom
path: "Machines/Shared Roms/MSX2P.rom"
@@ -776,7 +776,7 @@ files:
sha1: "e90f80a61d94c617850c415e12ad70ac41e66bb7"
md5: "847cc025ffae665487940ff2639540e5"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/MSX2+/config.ini"
source_ref: "system/bluemsx/Machines/MSX2+/config.ini:31, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: MSX2PEXT.rom
installed_on: [batocera, recalbox, retrobat, retrodeck, retropie]
@@ -786,7 +786,7 @@ files:
required: true
system: msx2plus
note: "MSX2+ extension BIOS (SubROM)."
source_ref: "system/bluemsx/Machines/MSX2+/config.ini"
source_ref: "system/bluemsx/Machines/MSX2+/config.ini:35, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: MSX2PEXT.rom
path: "Machines/Shared Roms/MSX2PEXT.rom"
@@ -798,7 +798,7 @@ files:
sha1: "fe0254cbfc11405b79e7c86c7769bd6322b04995"
md5: "7c8243c71d8f143b2531f01afa6a05dc"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/MSX2+/config.ini"
source_ref: "system/bluemsx/Machines/MSX2+/config.ini:35, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: MSX2PMUS.rom
installed_on: [batocera, recalbox, retrobat, retrodeck, retropie]
@@ -808,7 +808,7 @@ files:
required: true
system: msx2plus
note: "MSX2+ MSX-MUSIC BIOS (FM-PAC built-in). Used by MSX2+ and MSX2 default configs."
source_ref: "system/bluemsx/Machines/MSX2+/config.ini"
source_ref: "system/bluemsx/Machines/MSX2+/config.ini:32, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: MSX2PMUS.rom
path: "Machines/Shared Roms/MSX2PMUS.rom"
@@ -820,7 +820,7 @@ files:
sha1: "6354ccc5c100b1c558c9395fa8c00784d2e9b0a3"
md5: "f877f32e6d8687474ac5ee83e40de23b"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/MSX2+/config.ini"
source_ref: "system/bluemsx/Machines/MSX2+/config.ini:32, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
# -- MSX turboR BIOS set --
@@ -832,7 +832,7 @@ files:
required: true
system: msxturboR
note: "MSX turboR main BIOS."
source_ref: "system/bluemsx/Machines/MSXturboR/config.ini"
source_ref: "system/bluemsx/Machines/MSXturboR/config.ini:38, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: MSXTR.ROM
path: "Machines/Shared Roms/MSXTR.ROM"
@@ -844,7 +844,7 @@ files:
sha1: "242e73d8284a012b275c0a266844ebbc4269d787"
md5: "fd9513736823e470965949f2a3ec6a43"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/MSXturboR/config.ini"
source_ref: "system/bluemsx/Machines/MSXturboR/config.ini:38, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: MSXTREXT.ROM
installed_on: [batocera, recalbox, retrobat, retrodeck, retropie]
@@ -854,7 +854,7 @@ files:
required: true
system: msxturboR
note: "MSX turboR extension BIOS."
source_ref: "system/bluemsx/Machines/MSXturboR/config.ini"
source_ref: "system/bluemsx/Machines/MSXturboR/config.ini:43, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: MSXTREXT.ROM
path: "Machines/Shared Roms/MSXTREXT.ROM"
@@ -866,7 +866,7 @@ files:
sha1: "018d7a5222f28514908fb1b1513286a6558a6d05"
md5: "824b1c4475a3bd3b91c5ae81ea940aa2"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/MSXturboR/config.ini"
source_ref: "system/bluemsx/Machines/MSXturboR/config.ini:43, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: MSXTRMUS.ROM
installed_on: [batocera, recalbox, retrobat, retrodeck, retropie]
@@ -876,7 +876,7 @@ files:
required: true
system: msxturboR
note: "MSX turboR MSX-MUSIC BIOS."
source_ref: "system/bluemsx/Machines/MSXturboR/config.ini"
source_ref: "system/bluemsx/Machines/MSXturboR/config.ini:39, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: MSXTRMUS.ROM
path: "Machines/Shared Roms/MSXTRMUS.ROM"
@@ -888,7 +888,7 @@ files:
sha1: "6aea1aef5ec31c1826c22edf580525f93baad425"
md5: "c688a229f834f95f8c64df7d33188cd8"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/MSXturboR/config.ini"
source_ref: "system/bluemsx/Machines/MSXturboR/config.ini:39, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: MSXTROPT.ROM
installed_on: [batocera, recalbox, retrobat, retrodeck, retropie]
@@ -898,7 +898,7 @@ files:
required: true
system: msxturboR
note: "MSX turboR option ROM (firmware utilities)."
source_ref: "system/bluemsx/Machines/MSXturboR/config.ini"
source_ref: "system/bluemsx/Machines/MSXturboR/config.ini:40, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: MSXTROPT.ROM
path: "Machines/Shared Roms/MSXTROPT.ROM"
@@ -910,7 +910,7 @@ files:
sha1: "b4433a3975c57dd440d6bf12dbd28b2ac1b90ef4"
md5: "2cba0d812ec445cfe63ffa2cac8d42c2"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/MSXturboR/config.ini"
source_ref: "system/bluemsx/Machines/MSXturboR/config.ini:40, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: MSXDOS23.ROM
installed_on: [batocera, recalbox, retrobat, retrodeck, retropie]
@@ -920,7 +920,7 @@ files:
required: true
system: msxturboR
note: "MSX-DOS 2.3 ROM. Used by turboR default config for disk operations."
source_ref: "system/bluemsx/Machines/MSXturboR/config.ini"
source_ref: "system/bluemsx/Machines/MSXturboR/config.ini:45, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: MSXDOS23.ROM
path: "Machines/Shared Roms/MSXDOS23.ROM"
@@ -932,7 +932,7 @@ files:
sha1: "0527fb75775caa76c7eca8d449938ace83d36e96"
md5: "56bf5b02fed377b7bb9d91f914965431"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/MSXturboR/config.ini"
source_ref: "system/bluemsx/Machines/MSXturboR/config.ini:45, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
# -- Shared utility/extension ROMs --
@@ -943,7 +943,7 @@ files:
size: 262144
required: false
note: "Kanji font ROM (256 KB). Used by MSX2+, turboR, and Japanese MSX2 machines."
source_ref: "system/bluemsx/Machines/MSX2+/config.ini"
source_ref: "system/bluemsx/Machines/MSX2+/config.ini:28, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: KANJI.rom
path: "Machines/Shared Roms/KANJI.rom"
@@ -954,7 +954,7 @@ files:
sha1: "5aff2d9b6efc723bc395b0f96f0adfa83cc54a49"
md5: "acf53887c2d2783dc059a9b442c86b90"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/MSX2+/config.ini"
source_ref: "system/bluemsx/Machines/MSX2+/config.ini:28, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: MSXKANJI.rom
installed_on: [batocera, recalbox, retrobat, retrodeck, retropie]
@@ -963,7 +963,7 @@ files:
size: 32768
required: false
note: "MSX-Kanji driver ROM. Used by MSX2+, turboR, and Japanese MSX2 for kanji display."
source_ref: "system/bluemsx/Machines/MSX2+/config.ini"
source_ref: "system/bluemsx/Machines/MSX2+/config.ini:36, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: MSXKANJI.rom
path: "Machines/Shared Roms/MSXKANJI.rom"
@@ -974,7 +974,7 @@ files:
sha1: "dcc3a67732aa01c4f2ee8d1ad886444a4dbafe06"
md5: "9dfdebfaa6b547222a40aab8bb2e29f8"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/MSX2+/config.ini"
source_ref: "system/bluemsx/Machines/MSX2+/config.ini:36, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: FMPAC.rom
installed_on: [batocera, recalbox, retrobat, retrodeck, retropie]
@@ -1004,7 +1004,7 @@ files:
size: 16384
required: false
note: "MSX-BASIC 2 extension ROM. Used by MSX2, MSX2+, and turboR default configs."
source_ref: "system/bluemsx/Machines/MSX2/config.ini"
source_ref: "system/bluemsx/Machines/MSX2/config.ini:34, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: XBASIC2.rom
path: "Machines/Shared Roms/XBASIC2.rom"
@@ -1015,7 +1015,7 @@ files:
sha1: "47370bec7ca1f0615a54eda548b07fbc0c7ef398"
md5: "0b6120f289336538bc564548109f97c6"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/MSX2/config.ini"
source_ref: "system/bluemsx/Machines/MSX2/config.ini:34, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: PAINT.rom
installed_on: [batocera, recalbox, retrobat, retrodeck, retropie]
@@ -1024,7 +1024,7 @@ files:
size: 65536
required: false
note: "Paint utility ROM. Loaded by the MSX2 - Arabic machine config."
source_ref: "system/bluemsx/Machines/MSX2 - Arabic/config.ini"
source_ref: "system/bluemsx/Machines/MSX2 - Arabic/config.ini:30, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: PAINT.rom
path: "Machines/Shared Roms/PAINT.rom"
@@ -1035,7 +1035,7 @@ files:
sha1: "ace202e87337fbc54fea21e22c0b3af0abe6f4ae"
md5: "41db0d7b37be479296ffd59fcd6775f0"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/MSX2 - Arabic/config.ini"
source_ref: "system/bluemsx/Machines/MSX2 - Arabic/config.ini:30, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: SWP.rom
installed_on: [batocera, recalbox, retrobat, retrodeck, retropie]
@@ -1116,7 +1116,7 @@ files:
size: 2097152
required: false
note: "MoonSound (OPL4) wavetable ROM (2 MB). Used by MSX2, MSX2+, and turboR configs."
source_ref: "system/bluemsx/Machines/MSX2/config.ini"
source_ref: "system/bluemsx/Machines/MSX2/config.ini:26, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: MOONSOUND.rom
path: "Machines/Shared Roms/MOONSOUND.rom"
@@ -1127,7 +1127,7 @@ files:
sha1: "32760893ce06dbe3930627755ba065cc3d8ec6ca"
md5: "42af93619160ef2116416f74a6cb12f2"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/MSX2/config.ini"
source_ref: "system/bluemsx/Machines/MSX2/config.ini:26, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
# -- Disk controller ROMs --
@@ -1138,7 +1138,7 @@ files:
size: 16384
required: false
note: "Panasonic disk controller ROM. Used by MSX2+ and turboR default configs."
source_ref: "system/bluemsx/Machines/MSX2+/config.ini"
source_ref: "system/bluemsx/Machines/MSX2+/config.ini:37, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: PANASONICDISK.rom
path: "Machines/Shared Roms/PANASONICDISK.rom"
@@ -1149,7 +1149,7 @@ files:
sha1: "7ed7c55e0359737ac5e68d38cb6903f9e5d7c2b6"
md5: "00aa02b6077de40a0b51d71a3c3e1d5f"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/MSX2+/config.ini"
source_ref: "system/bluemsx/Machines/MSX2+/config.ini:37, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: PHILIPSDISK.rom
installed_on: [batocera, recalbox, retrobat, retrodeck, retropie]
@@ -1158,7 +1158,7 @@ files:
size: 16384
required: false
note: "Philips disk controller ROM. Used by MSX1 and MSX2 default configs."
source_ref: "system/bluemsx/Machines/MSX/config.ini"
source_ref: "system/bluemsx/Machines/MSX/config.ini:29, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: PHILIPSDISK.rom
path: "Machines/Shared Roms/PHILIPSDISK.rom"
@@ -1169,7 +1169,7 @@ files:
sha1: "c3efedda7ab947a06d9345f7b8261076fa7ceeef"
md5: "01dd1d72ed9bb6afe8a9b441c198a1cd"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/MSX/config.ini"
source_ref: "system/bluemsx/Machines/MSX/config.ini:29, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: NATIONALDISK.rom
installed_on: [batocera, recalbox, retrobat, retrodeck, retropie]
@@ -1521,7 +1521,7 @@ files:
required: true
system: colecovision
note: "ColecoVision BIOS ROM. Required for ColecoVision mode."
source_ref: "system/bluemsx/Machines/COL - ColecoVision/config.ini"
source_ref: "system/bluemsx/Machines/COL - ColecoVision/config.ini:23, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: coleco.rom
path: "Machines/COL - ColecoVision/coleco.rom"
@@ -1533,7 +1533,7 @@ files:
sha1: "45bedc4cbdeac66c7df59e9e599195c778d86a92"
md5: "2c66f5911e5b42b8ebe113403548eee7"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/COL - ColecoVision/config.ini"
source_ref: "system/bluemsx/Machines/COL - ColecoVision/config.ini:23, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
# ============================================================
# SEGA SF-7000 BIOS
@@ -1548,7 +1548,7 @@ files:
required: true
system: sega-sf7000
note: "Sega SF-7000 BIOS ROM. SG-1000 and SC-3000 have no BIOS requirement."
source_ref: "system/bluemsx/Machines/SEGA - SF-7000/config.ini"
source_ref: "system/bluemsx/Machines/SEGA - SF-7000/config.ini:23, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: sf7000.rom
path: "Machines/SEGA - SF-7000/sf7000.rom"
@@ -1560,7 +1560,7 @@ files:
sha1: "77339a6db2593aadc638bed77b8e9bed5d9d87e3"
md5: "561b362f9aa4cbcb240461abf83c2e0d"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/SEGA - SF-7000/config.ini"
source_ref: "system/bluemsx/Machines/SEGA - SF-7000/config.ini:23, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
# ============================================================
# Spectravideo SVI BIOS files
@@ -1574,7 +1574,7 @@ files:
required: true
system: spectravideo
note: "SVI-318 BIOS ROM."
source_ref: "system/bluemsx/Machines/SVI - Spectravideo SVI-318/config.ini"
source_ref: "system/bluemsx/Machines/SVI - Spectravideo SVI-318/config.ini:23, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: svi318.rom
path: "Machines/SVI - Spectravideo SVI-318/svi318.rom"
@@ -1586,7 +1586,7 @@ files:
sha1: "07758272df475e5e06187aa3574241df1b14035b"
md5: "ee6ad7ea29e791b03a28a9443e622648"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/SVI - Spectravideo SVI-318/config.ini"
source_ref: "system/bluemsx/Machines/SVI - Spectravideo SVI-318/config.ini:23, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: svi328.rom
installed_on: [batocera, recalbox, retrobat, retrodeck, retropie]
@@ -1596,7 +1596,7 @@ files:
required: true
system: spectravideo
note: "SVI-328 BIOS ROM."
source_ref: "system/bluemsx/Machines/SVI - Spectravideo SVI-328/config.ini"
source_ref: "system/bluemsx/Machines/SVI - Spectravideo SVI-328/config.ini:26, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: svi328.rom
path: "Machines/SVI - Spectravideo SVI-328/svi328.rom"
@@ -1608,7 +1608,7 @@ files:
sha1: "7d8daf52f78371ca2c9443e04827c8e1f98c8f2c"
md5: "2cebd1db9dda475a011b7bce65c984a2"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/SVI - Spectravideo SVI-328/config.ini"
source_ref: "system/bluemsx/Machines/SVI - Spectravideo SVI-328/config.ini:26, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: svi328a.rom
installed_on: [batocera, recalbox, retrobat, retrodeck, retropie]
@@ -1630,7 +1630,7 @@ files:
sha1: "10349ce675f6d6d47f0976e39cb7188eba858d89"
md5: "352f054ab09605070bdff49d73f335cc"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/SVI - Spectravideo SVI-328 MK2/config.ini:26"
source_ref: "system/bluemsx/Machines/SVI - Spectravideo SVI-328 MK2/config.ini:26, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
# ============================================================
# Machine-specific ROMs (Machines/<machine>/)
@@ -1650,7 +1650,7 @@ files:
required: false
system: msx2plus
note: "MSX2+ European main BIOS. Used by the 'MSX2+ - European' machine config."
source_ref: "system/bluemsx/Machines/MSX2+ - European/config.ini:34"
source_ref: "system/bluemsx/Machines/MSX2+ - European/config.ini:34, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: Msx2pe.rom
path: "Machines/MSX2+ - European/Msx2pe.rom"
@@ -1662,7 +1662,7 @@ files:
sha1: "aea0e4a635efce5336e496d36e4cb0a4b79593ff"
md5: "277fd57c13f301fb4b366845a32d673a"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/MSX2+ - European/config.ini:34"
source_ref: "system/bluemsx/Machines/MSX2+ - European/config.ini:34, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: Msx2pexte.rom
installed_on: [batocera, recalbox, retrobat, retrodeck, retropie]
@@ -1672,7 +1672,7 @@ files:
required: false
system: msx2plus
note: "MSX2+ European extension BIOS (SubROM). Used by the 'MSX2+ - European' machine config."
source_ref: "system/bluemsx/Machines/MSX2+ - European/config.ini:39"
source_ref: "system/bluemsx/Machines/MSX2+ - European/config.ini:39, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: Msx2pexte.rom
path: "Machines/MSX2+ - European/Msx2pexte.rom"
@@ -1684,7 +1684,7 @@ files:
sha1: "cf00ec60608010aac94cfe245eb7aa67cb44d110"
md5: "f78ab735aaad7045badbda8f4c8ac751"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/MSX2+ - European/config.ini:39"
source_ref: "system/bluemsx/Machines/MSX2+ - European/config.ini:39, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: pesadelo.rom
installed_on: [batocera, recalbox, retrobat, retrodeck, retropie]
@@ -1694,7 +1694,7 @@ files:
required: false
system: msx
note: "Forte II arcade board ROM (board type MSX-ForteII). Used by the 'Forte II Games - Pesadelo' machine config."
source_ref: "system/bluemsx/Machines/Forte II Games - Pesadelo/config.ini:27"
source_ref: "system/bluemsx/Machines/Forte II Games - Pesadelo/config.ini:27, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
- name: pesadelo.rom
path: "Machines/Forte II Games - Pesadelo/pesadelo.rom"
@@ -1706,7 +1706,7 @@ files:
sha1: "12880dd7ad82acf04861843fb9d4f0f926d18f6b"
md5: "ba53d700ec25bcb08020ce693319cd28"
note: "Shipped in blueMSXv282full.zip."
source_ref: "system/bluemsx/Machines/Forte II Games - Pesadelo/config.ini:27"
source_ref: "system/bluemsx/Machines/Forte II Games - Pesadelo/config.ini:27, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451"
# ============================================================
# Databases (required for ROM identification/mapper detection)
+18 -18
View File
@@ -71,7 +71,7 @@ files:
required: true
system: msx
note: "MSX1 main BIOS (32 KB). Loaded for MSX1 model (fMSX/MSX.c:697)."
source_ref: "fMSX/ROMs/MSX.ROM"
source_ref: "libretro.c:1186, fMSX/MSX.c:523, 697, 2810-2831"
# -- MSX2 BIOS --
@@ -83,7 +83,7 @@ files:
required: true
system: msx2
note: "MSX2 main BIOS (32 KB). Loaded for MSX2 model (fMSX/MSX.c:713)."
source_ref: "fMSX/ROMs/MSX2.ROM"
source_ref: "libretro.c:1186, fMSX/MSX.c:523, 713, 2810-2831"
- name: MSX2EXT.ROM
installed_on: [recalbox]
@@ -93,7 +93,7 @@ files:
required: true
system: msx2
note: "MSX2 extension BIOS (16 KB). Loaded alongside MSX2.ROM (fMSX/MSX.c:714)."
source_ref: "fMSX/ROMs/MSX2EXT.ROM"
source_ref: "libretro.c:1186, fMSX/MSX.c:523, 714, 2810-2831"
# -- MSX2+ BIOS (default model) --
@@ -105,7 +105,7 @@ files:
required: true
system: msx2plus
note: "MSX2+ main BIOS (32 KB). Loaded for MSX2+ model, the default (fMSX/MSX.c:735)."
source_ref: "fMSX/ROMs/MSX2P.ROM"
source_ref: "libretro.c:1186, fMSX/MSX.c:523, 735, 2810-2831"
- name: MSX2PEXT.ROM
installed_on: [recalbox]
@@ -115,7 +115,7 @@ files:
required: true
system: msx2plus
note: "MSX2+ extension BIOS (16 KB). Loaded alongside MSX2P.ROM (fMSX/MSX.c:736)."
source_ref: "fMSX/ROMs/MSX2PEXT.ROM"
source_ref: "libretro.c:1186, fMSX/MSX.c:523, 736, 2810-2831"
# -- Disk support --
@@ -126,7 +126,7 @@ files:
sha1: 032cb1c1c75b9a191fa1230978971698d9d2a17f
required: false
note: "Disk controller BIOS (16 KB). Needed for .dsk content. Enable 'Simulate DiskROM' option (fMSX/MSX.c:784)."
source_ref: "fMSX/ROMs/DISK.ROM"
source_ref: "libretro.c:1186, fMSX/MSX.c:523, 784, 2810-2831"
# -- Optional expansion ROMs --
@@ -137,7 +137,7 @@ files:
sha1: 9d789166e3caf28e4742fe933d962e99618c633d
required: false
note: "FM-PAC cartridge ROM (64 KB, YM2413 FM synthesis). Auto-loaded into first free slot (fMSX/MSX.c:561)."
source_ref: "fMSX/ROMs/FMPAC.ROM"
source_ref: "libretro.c:1186, fMSX/MSX.c:523, 561, 2875-2890"
- name: KANJI.ROM
installed_on: [recalbox]
@@ -146,7 +146,7 @@ files:
sha1: 84a645becec0a25d3ab7a909cde1b242699a8662
required: false
note: "Kanji font ROM (128 KB). Auto-loaded if present, no option needed (fMSX/MSX.c:534)."
source_ref: "fMSX/ROMs/KANJI.ROM"
source_ref: "libretro.c:1186, fMSX/MSX.c:523, 534, 2810-2831"
- name: MSXDOS2.ROM
installed_on: [recalbox]
@@ -155,7 +155,7 @@ files:
sha1: c36c9e0f96738a340381e23b4f97245388801a46
required: false
note: "MSX-DOS 2 ROM (64 KB). Loaded when 'fmsx_dos2' option enabled and model is MSX2 or MSX2+ (fMSX/MSX.c:549)."
source_ref: "fMSX/ROMs/MSXDOS2.ROM"
source_ref: "libretro.c:1186, fMSX/MSX.c:523, 549, 2875-2890"
- name: PAINTER.ROM
installed_on: [recalbox]
@@ -164,7 +164,7 @@ files:
sha1: 7fd2a28c4fdaeb140f3c8c8fb90271b1472c97b9
required: false
note: "Paint utility ROM (64 KB). Auto-loaded for MSX2 and MSX2+ models (fMSX/MSX.c:556)."
source_ref: "fMSX/ROMs/PAINTER.ROM"
source_ref: "libretro.c:1186, fMSX/MSX.c:523, 556, 2875-2890"
- name: RS232.ROM
installed_on: [recalbox]
@@ -173,7 +173,7 @@ files:
sha1: 7aec0134ad6a5177f4056fcb6047083e8e00529b
required: false
note: "RS-232C serial interface ROM (16 KB + 256 B). Loaded into slot 3:3 (fMSX/MSX.c:537)."
source_ref: "fMSX/ROMs/RS232.ROM"
source_ref: "libretro.c:1186, fMSX/MSX.c:523, 537, 2810-2831"
# -- GameMaster (not bundled, requires core option) --
@@ -201,42 +201,42 @@ files:
required: false
md5: 85b38e4128bbc300e675f55b278683a8
note: "Default text font. Loaded by LoadFNT() (fMSX/MSX.c:527). Same content as CYRILLIC.FNT."
source_ref: "fMSX/ROMs/DEFAULT.FNT, libretro.c:1547"
source_ref: "libretro.c:955-963, 1186, 1547, fMSX/MSX.c:523-527, 2787-2794"
- name: ITALIC.FNT
installed_on: [recalbox]
required: false
md5: c83e50e9f33b8dd893c414691822740d
note: "Italic text font."
source_ref: "fMSX/ROMs/ITALIC.FNT, libretro.c:1547"
source_ref: "libretro.c:955-963, 1186, 1547, fMSX/MSX.c:523-527, 2787-2794"
- name: INTERNAT.FNT
installed_on: [recalbox]
required: false
md5: ac4f4a90c1b1887db48ded39c9d9c847
note: "International text font."
source_ref: "fMSX/ROMs/INTERNAT.FNT, libretro.c:1547"
source_ref: "libretro.c:955-963, 1186, 1547, fMSX/MSX.c:523-527, 2787-2794"
- name: CYRILLIC.FNT
installed_on: [recalbox]
required: false
md5: 85b38e4128bbc300e675f55b278683a8
note: "Cyrillic text font. Same content as DEFAULT.FNT."
source_ref: "fMSX/ROMs/CYRILLIC.FNT, libretro.c:1547"
source_ref: "libretro.c:955-963, 1186, 1547, fMSX/MSX.c:523-527, 2787-2794"
- name: KOREAN.FNT
installed_on: [recalbox]
required: false
md5: 73291e76638a2f5aa2eceb843df468f4
note: "Korean text font."
source_ref: "fMSX/ROMs/KOREAN.FNT, libretro.c:1547"
source_ref: "libretro.c:955-963, 1186, 1547, fMSX/MSX.c:523-527, 2787-2794"
- name: JAPANESE.FNT
installed_on: [recalbox]
required: false
md5: aa28f0703b951a6be8df3e28e20d263d
note: "Japanese text font."
source_ref: "fMSX/ROMs/JAPANESE.FNT, libretro.c:1547"
source_ref: "libretro.c:955-963, 1186, 1547, fMSX/MSX.c:523-527, 2787-2794"
# -- Cartridge identification database --
@@ -252,4 +252,4 @@ files:
required: false
md5: 74b0f217fa0e2b8bb5a2f8e2ecc69da3
note: "SHA1 database for cartridge identification and mapper detection. Read when CARTS.CRC is absent or holds no matching line (fMSX/MSX.c:2716)."
source_ref: "fMSX/ROMs/CARTS.SHA"
source_ref: "libretro.c:1186, fMSX/MSX.c:523, 2716"
+39 -39
View File
@@ -156,7 +156,7 @@ files:
# ================================================================
# IWADs (user-supplied). At least one is needed to launch a game.
# All source refs point to wadsrc_extra/static/iwadinfo.txt entries.
# Each ref gives the iwadinfo.txt entry, then the code that reads it.
# ================================================================
# ---- Doom ----
@@ -166,7 +166,7 @@ files:
system: doom
path: "doom.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:420, 437, 659"
source_ref: "wadsrc_extra/static/iwadinfo.txt:420, 437, 659, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
note: "The Ultimate DOOM and DOOM Registered both use this name and are told apart by their lumps."
- name: "doom2.wad"
@@ -174,119 +174,119 @@ files:
system: doom
path: "doom2.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:640, 653"
source_ref: "wadsrc_extra/static/iwadinfo.txt:640, 653, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "doom2f.wad"
category: game_data
system: doom
path: "doom2f.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:625, 657"
source_ref: "wadsrc_extra/static/iwadinfo.txt:625, 657, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "doombfg.wad"
category: game_data
system: doom
path: "doombfg.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:332, 666"
source_ref: "wadsrc_extra/static/iwadinfo.txt:332, 666, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "doom2bfg.wad"
category: game_data
system: doom
path: "doom2bfg.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:560, 667"
source_ref: "wadsrc_extra/static/iwadinfo.txt:560, 667, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "doomunity.wad"
category: game_data
system: doom
path: "doomunity.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:369, 661"
source_ref: "wadsrc_extra/static/iwadinfo.txt:369, 661, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "doom2unity.wad"
category: game_data
system: doom
path: "doom2unity.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:592, 655"
source_ref: "wadsrc_extra/static/iwadinfo.txt:592, 655, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "doomkex.wad"
category: game_data
system: doom
path: "doomkex.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:350, 662"
source_ref: "wadsrc_extra/static/iwadinfo.txt:350, 662, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "doom2kex.wad"
category: game_data
system: doom
path: "doom2kex.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:576, 656"
source_ref: "wadsrc_extra/static/iwadinfo.txt:576, 656, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "doomxbox.wad"
category: game_data
system: doom
path: "doomxbox.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:403, 660"
source_ref: "wadsrc_extra/static/iwadinfo.txt:403, 660, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "doom2xbox.wad"
category: game_data
system: doom
path: "doom2xbox.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:608, 654"
source_ref: "wadsrc_extra/static/iwadinfo.txt:608, 654, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "doom_complete.pk3"
category: game_data
system: doom
path: "doom_complete.pk3"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:389, 652"
source_ref: "wadsrc_extra/static/iwadinfo.txt:389, 652, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "plutonia.wad"
category: game_data
system: doom
path: "plutonia.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:545, 670"
source_ref: "wadsrc_extra/static/iwadinfo.txt:545, 670, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "plutoniaunity.wad"
category: game_data
system: doom
path: "plutoniaunity.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:514, 671"
source_ref: "wadsrc_extra/static/iwadinfo.txt:514, 671, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "plutoniakex.wad"
category: game_data
system: doom
path: "plutoniakex.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:529, 672"
source_ref: "wadsrc_extra/static/iwadinfo.txt:529, 672, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "tnt.wad"
category: game_data
system: doom
path: "tnt.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:499, 673"
source_ref: "wadsrc_extra/static/iwadinfo.txt:499, 673, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "tntunity.wad"
category: game_data
system: doom
path: "tntunity.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:468, 674"
source_ref: "wadsrc_extra/static/iwadinfo.txt:468, 674, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "tntkex.wad"
category: game_data
system: doom
path: "tntkex.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:483, 675"
source_ref: "wadsrc_extra/static/iwadinfo.txt:483, 675, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "nerve.wad"
category: game_data
@@ -309,7 +309,7 @@ files:
system: doom
path: "extras.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:357, 376, 488, 534, 582, 598"
source_ref: "wadsrc_extra/static/iwadinfo.txt:357, 376, 488, 534, 582, 598, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:208-215, 320-341, 877-901"
note: "Loaded from the IWAD directory by the KEX and Unity editions."
- name: "soundtrack"
@@ -336,7 +336,7 @@ files:
path: "freedoom1.wad"
required: false
installed_on: [retropie]
source_ref: "wadsrc_extra/static/iwadinfo.txt:307, 676"
source_ref: "wadsrc_extra/static/iwadinfo.txt:307, 676, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "freedoom2.wad"
category: game_data
@@ -344,14 +344,14 @@ files:
path: "freedoom2.wad"
required: false
installed_on: [retropie]
source_ref: "wadsrc_extra/static/iwadinfo.txt:294, 677"
source_ref: "wadsrc_extra/static/iwadinfo.txt:294, 677, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "freedm.wad"
category: game_data
system: doom
path: "freedm.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:281, 680"
source_ref: "wadsrc_extra/static/iwadinfo.txt:281, 680, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
# ---- Heretic ----
@@ -360,7 +360,7 @@ files:
system: heretic
path: "heretic.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:241, 244, 254, 257, 681"
source_ref: "wadsrc_extra/static/iwadinfo.txt:241, 244, 254, 257, 681, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
note: "Both Heretic and Shadow of the Serpent Riders use this name and are told apart by the EXTENDED lump."
- name: "blasphem.wad"
@@ -369,7 +369,7 @@ files:
system: heretic
path: "blasphem.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:228, 692-693"
source_ref: "wadsrc_extra/static/iwadinfo.txt:228, 692-693, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
# ---- Hexen ----
@@ -378,14 +378,14 @@ files:
system: hexen
path: "hexen.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:188, 684"
source_ref: "wadsrc_extra/static/iwadinfo.txt:188, 684, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "hexdd.wad"
category: game_data
system: hexen
path: "hexdd.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:196-207, 685"
source_ref: "wadsrc_extra/static/iwadinfo.txt:196-207, 685, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
note: "Deathkings expansion. Requires hexen.wad (Required = Hexen: Beyond Heretic)."
# ---- Strife ----
@@ -395,14 +395,14 @@ files:
system: strife
path: "strife1.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:151, 688"
source_ref: "wadsrc_extra/static/iwadinfo.txt:151, 688, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "sve.wad"
category: game_data
system: strife
path: "sve.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:136, 140, 689"
source_ref: "wadsrc_extra/static/iwadinfo.txt:136, 140, 689, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
note: "Veteran Edition. Required = Strife: Quest for the Sigil (loads voices.wad)."
- name: "voices.wad"
@@ -410,7 +410,7 @@ files:
system: strife
path: "voices.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:142, 155"
source_ref: "wadsrc_extra/static/iwadinfo.txt:142, 155, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:208-215, 320-341, 877-901"
# ---- Chex Quest ----
@@ -419,14 +419,14 @@ files:
system: chex
path: "chex.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:123, 694"
source_ref: "wadsrc_extra/static/iwadinfo.txt:123, 694, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "chex3.wad"
category: game_data
system: chex
path: "chex3.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:109, 695"
source_ref: "wadsrc_extra/static/iwadinfo.txt:109, 695, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
# ---- Standalone commercial / community IWADs ----
@@ -435,7 +435,7 @@ files:
system: doom
path: "hacx.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:83, 698"
source_ref: "wadsrc_extra/static/iwadinfo.txt:83, 698, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "hacx2.wad"
category: game_data
@@ -450,21 +450,21 @@ files:
system: doom
path: "action2.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:97, 696"
source_ref: "wadsrc_extra/static/iwadinfo.txt:97, 696, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "harm1.wad"
category: game_data
system: doom
path: "harm1.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:57, 697"
source_ref: "wadsrc_extra/static/iwadinfo.txt:57, 697, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "square.pk3"
category: game_data
system: doom
path: "square.pk3"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:33"
source_ref: "wadsrc_extra/static/iwadinfo.txt:33, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:320-341, 351-396, 626-670"
note: "Absent from the Names block: picked up only when named with -iwad."
- name: "square1.pk3"
@@ -472,18 +472,18 @@ files:
system: doom
path: "square1.pk3"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:45, 700"
source_ref: "wadsrc_extra/static/iwadinfo.txt:45, 700, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "delaweare.wad"
category: game_data
system: doom
path: "delaweare.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:22, 701"
source_ref: "wadsrc_extra/static/iwadinfo.txt:22, 701, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
- name: "rotwb.wad"
category: game_data
system: doom
path: "rotwb.wad"
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:9, 702"
source_ref: "wadsrc_extra/static/iwadinfo.txt:9, 702, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531"
+37 -37
View File
@@ -200,7 +200,7 @@ files:
# ================================================================
# IWADs (user-supplied). One is needed to start a game.
# All source refs point to wadsrc_extra/static/iwadinfo.txt.
# Each ref gives the iwadinfo.txt entry, then the code that reads it.
# ================================================================
# ---- Doom ----
@@ -209,7 +209,7 @@ files:
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:315, 363, 378, 393, 576"
source_ref: "wadsrc_extra/static/iwadinfo.txt:315, 363, 378, 393, 576, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
note: "The Ultimate DOOM, DOOM Registered, the BFG and XBox editions all use this name and are told apart by their lumps."
- name: "doom1.wad"
@@ -217,92 +217,92 @@ files:
system: doom
required: false
installed_on: [retropie]
source_ref: "wadsrc_extra/static/iwadinfo.txt:402-412, 577"
source_ref: "wadsrc_extra/static/iwadinfo.txt:402-412, 577, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
note: "DOOM Shareware."
- name: "doom2.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:489, 518, 545, 571"
source_ref: "wadsrc_extra/static/iwadinfo.txt:489, 518, 545, 571, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
- name: "doom2f.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:532, 572"
source_ref: "wadsrc_extra/static/iwadinfo.txt:532, 572, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
- name: "nerve.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:494, 523, 558, 562, 617"
source_ref: "wadsrc_extra/static/iwadinfo.txt:494, 523, 558, 562, 617, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:187-195, 253-263, 286-309, 319-367, 466-499, 772-789"
note: "No Rest for the Living, which requires DOOM 2. Also loaded from the IWAD directory by the BFG and XBox editions of DOOM 2."
- name: "doomunity.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:331, 584"
source_ref: "wadsrc_extra/static/iwadinfo.txt:331, 584, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
- name: "doom2unity.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:503, 585"
source_ref: "wadsrc_extra/static/iwadinfo.txt:503, 585, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
- name: "nerveunity.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:508"
source_ref: "wadsrc_extra/static/iwadinfo.txt:508, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:187-195, 286-309, 772-789"
note: "Loaded from the IWAD directory by DOOM 2: Unity Edition."
- name: "extras.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:338, 508"
source_ref: "wadsrc_extra/static/iwadinfo.txt:338, 508, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:187-195, 286-309, 772-789"
note: "Loaded from the IWAD directory by the Unity editions."
- name: "soundtrack"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:338, 508"
source_ref: "wadsrc_extra/static/iwadinfo.txt:338, 508, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:187-195, 286-309, 772-789"
note: "Loaded from the IWAD directory by the Unity editions."
- name: "doom_complete.pk3"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:350, 570"
source_ref: "wadsrc_extra/static/iwadinfo.txt:350, 570, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
note: "WadSmoosh merge of the Doom IWADs."
- name: "plutonia.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:447, 461, 573"
source_ref: "wadsrc_extra/static/iwadinfo.txt:447, 461, 573, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
- name: "tnt.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:420, 434, 574"
source_ref: "wadsrc_extra/static/iwadinfo.txt:420, 434, 574, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
- name: "sigil_v1_21.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:468-478, 616"
source_ref: "wadsrc_extra/static/iwadinfo.txt:468-478, 616, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
note: "Sigil, which requires The Ultimate DOOM."
- name: "sigil_shreds.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:473"
source_ref: "wadsrc_extra/static/iwadinfo.txt:473, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:187-195, 286-309, 772-789"
note: "Loaded from the IWAD directory by Sigil."
# ---- Freedoom (free) ----
@@ -312,20 +312,20 @@ files:
system: doom
required: false
installed_on: [retropie]
source_ref: "wadsrc_extra/static/iwadinfo.txt:292, 589"
source_ref: "wadsrc_extra/static/iwadinfo.txt:292, 589, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
- name: "freedoom2.wad"
category: game_data
system: doom
required: false
installed_on: [retropie]
source_ref: "wadsrc_extra/static/iwadinfo.txt:280, 590"
source_ref: "wadsrc_extra/static/iwadinfo.txt:280, 590, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
- name: "freedm.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:268, 593"
source_ref: "wadsrc_extra/static/iwadinfo.txt:268, 593, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
# ---- Heretic ----
@@ -333,14 +333,14 @@ files:
category: game_data
system: heretic
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:231, 243, 594"
source_ref: "wadsrc_extra/static/iwadinfo.txt:231, 243, 594, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
note: "Heretic and Shadow of the Serpent Riders share the name and are told apart by their lumps."
- name: "heretic1.wad"
category: game_data
system: heretic
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:250-260, 596"
source_ref: "wadsrc_extra/static/iwadinfo.txt:250-260, 596, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
note: "Heretic Shareware."
- name: "blasphemer.wad"
@@ -348,7 +348,7 @@ files:
category: game_data
system: heretic
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:219, 605-606"
source_ref: "wadsrc_extra/static/iwadinfo.txt:219, 605-606, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
# ---- Hexen ----
@@ -356,13 +356,13 @@ files:
category: game_data
system: hexen
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:181, 597"
source_ref: "wadsrc_extra/static/iwadinfo.txt:181, 597, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
- name: "hexdd.wad"
category: game_data
system: hexen
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:188-199, 598"
source_ref: "wadsrc_extra/static/iwadinfo.txt:188-199, 598, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
note: "Deathkings expansion, which requires hexen.wad."
# ---- Strife ----
@@ -371,20 +371,20 @@ files:
category: game_data
system: strife
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:144, 601"
source_ref: "wadsrc_extra/static/iwadinfo.txt:144, 601, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
- name: "sve.wad"
category: game_data
system: strife
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:130, 134, 602"
source_ref: "wadsrc_extra/static/iwadinfo.txt:130, 134, 602, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
note: "Veteran Edition, which requires Strife: Quest for the Sigil."
- name: "voices.wad"
category: game_data
system: strife
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:135, 148"
source_ref: "wadsrc_extra/static/iwadinfo.txt:135, 148, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:187-195, 286-309, 772-789"
note: "Loaded from the IWAD directory by Strife."
# ---- Chex Quest ----
@@ -393,13 +393,13 @@ files:
category: game_data
system: chex
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:118, 607"
source_ref: "wadsrc_extra/static/iwadinfo.txt:118, 607, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
- name: "chex3.wad"
category: game_data
system: chex
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:105, 608"
source_ref: "wadsrc_extra/static/iwadinfo.txt:105, 608, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
# ---- Standalone commercial and community IWADs ----
@@ -407,47 +407,47 @@ files:
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:81, 611"
source_ref: "wadsrc_extra/static/iwadinfo.txt:81, 611, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
- name: "hacx2.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:69, 612"
source_ref: "wadsrc_extra/static/iwadinfo.txt:69, 612, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
- name: "action2.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:93, 609"
source_ref: "wadsrc_extra/static/iwadinfo.txt:93, 609, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
- name: "harm1.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:57, 610"
source_ref: "wadsrc_extra/static/iwadinfo.txt:57, 610, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
- name: "square.pk3"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:33"
source_ref: "wadsrc_extra/static/iwadinfo.txt:33, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:286-309, 319-367, 566-604"
note: "Absent from the Names block: picked up only when named with -iwad."
- name: "square1.pk3"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:45, 613"
source_ref: "wadsrc_extra/static/iwadinfo.txt:45, 613, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
- name: "delaweare.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:22, 614"
source_ref: "wadsrc_extra/static/iwadinfo.txt:22, 614, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
- name: "rotwb.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:9, 615"
source_ref: "wadsrc_extra/static/iwadinfo.txt:9, 615, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499"
+1430 -1
View File
File diff suppressed because it is too large. Load diff
+75
View File
@@ -104,6 +104,7 @@ notes: 'libretro/mame built at the 0.258 release. BIOS root sets read from mamed
sets and their ROMs are that release''s, not the current one''s.'
files:
- name: 3dobios.zip
path: mame/bios/3dobios.zip
required: true
category: bios_zip
system: panasonic-3do
@@ -130,6 +131,7 @@ files:
sha1: b01c53da256dde43ffec4ad3fc3adfa8d635e943
description: Sanyo TRY 3DO Interactive Multiplayer
- name: airlbios.zip
path: mame/bios/airlbios.zip
required: false
category: bios_zip
system: sega-naomi
@@ -152,6 +154,7 @@ files:
crc32: 3ea24b6a
sha1: 3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc
- name: aleck64.zip
path: mame/bios/aleck64.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/nintendo/aleck64.cpp:1416"
@@ -169,6 +172,7 @@ files:
crc32: 4f2ae525
sha1: eab43f8cc52c8551d9cff6fced18ef80eaba6f05
- name: alg3do.zip
path: mame/bios/alg3do.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/misc/3do.cpp:296"
@@ -178,6 +182,7 @@ files:
crc32: b832da9a
sha1: 520d3d1b5897800af47f92efd2444a26b7a7dead
- name: alg_bios.zip
path: mame/bios/alg_bios.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/amiga/alg.cpp:926"
@@ -188,6 +193,7 @@ files:
sha1: 891e9a547772fe0c6c19b610baf8bc4ea7fcb785
description: Kickstart 1.3 (34.5)
- name: allied.zip
path: mame/bios/allied.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/pinball/allied.cpp:775"
@@ -205,6 +211,7 @@ files:
crc32: 13f42789
sha1: baa0f73fda08a3c5d6f1423fb329e4febb07ef97
- name: ar_bios.zip
path: mame/bios/ar_bios.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/amiga/arsystems.cpp:1015"
@@ -294,6 +301,7 @@ files:
crc32: a5cc4515
sha1: 80070521476e92323a6baa6e55928ca5b751a332
- name: aristmk5.zip
path: mame/bios/aristmk5.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/acorn/aristmk5.cpp:8644"
@@ -383,6 +391,7 @@ files:
crc32: 941d4cdb
sha1: 1ca091fba69e92f262dbb3d40f515703c8981793
- name: aristmk6.zip
path: mame/bios/aristmk6.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/aristocrat/aristmk6.cpp:6544"
@@ -772,6 +781,7 @@ files:
crc32: 117b75f2
sha1: 2129286853d3c50b8a943b71334d4ef6b98adc05
- name: atarisy1.zip
path: mame/bios/atarisy1.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/atari/atarisy1.cpp:2554"
@@ -837,6 +847,7 @@ files:
crc32: 92d6a0b4
sha1: 0a42a4816c89447b16e1f3245409591efea98a4a
- name: awbios.zip
path: mame/bios/awbios.zip
required: true
category: bios_zip
system: sammy-atomiswave
@@ -855,6 +866,7 @@ files:
crc32: 82a105f0
sha1: 5128fe2ddcced77332bdcab691c09958051fa564
- name: bubsys.zip
path: mame/bios/bubsys.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/konami/nemesis.cpp:3162"
@@ -876,6 +888,7 @@ files:
crc32: 2f44f970
sha1: 7ab46f9d5d587665782cefc623b8de0124a6d38a
- name: cdibios.zip
path: mame/bios/cdibios.zip
required: true
category: bios_zip
system: philips-cdi
@@ -897,6 +910,7 @@ files:
sha1: 56d0acd7caad51c7de703247cd6d842b36173079
bad_dump: true
- name: cedmag.zip
path: mame/bios/cedmag.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/efo/cedar_magnet.cpp:1167"
@@ -906,6 +920,7 @@ files:
crc32: 86c4a4f0
sha1: 6db1a006b2e0b2a7cc9748ade881debb098b6757
- name: chihiro.zip
path: mame/bios/chihiro.zip
required: true
category: bios_zip
system: sega-chihiro
@@ -940,6 +955,7 @@ files:
crc32: 7742ab62
sha1: 82dad6e2a75bab4a4840dc6939462f1fb9b95101
- name: coh1000a.zip
path: mame/bios/coh1000a.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/sony/zn.cpp:5364"
@@ -953,6 +969,7 @@ files:
crc32: c425eaf5
sha1: decf77ab50f7f58c641c3214a11647924f3a8998
- name: coh1000c.zip
path: mame/bios/coh1000c.zip
required: true
category: bios_zip
system: capcom-zn1
@@ -973,6 +990,7 @@ files:
crc32: bb7ba033
sha1: 966f3aee5d00e1312c455f855915d621e6cb0672
- name: coh1000t.zip
path: mame/bios/coh1000t.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/sony/zn.cpp:5397"
@@ -986,6 +1004,7 @@ files:
crc32: daac13e7
sha1: 96d94f2b06fb7ecd91454969f4959a583ffb9d5a
- name: coh1000w.zip
path: mame/bios/coh1000w.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/sony/zn.cpp:5360"
@@ -999,6 +1018,7 @@ files:
crc32: 1cac067e
sha1: 8e87941bfb374172628c8a37647e3a66b7166aa8
- name: coh1001l.zip
path: mame/bios/coh1001l.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/sony/zn.cpp:5445"
@@ -1012,6 +1032,7 @@ files:
crc32: 181668b3
sha1: 8d2fe1facb4473cc20b4b477aaf881f9280939cf
- name: coh1002e.zip
path: mame/bios/coh1002e.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/sony/zn.cpp:5423"
@@ -1025,6 +1046,7 @@ files:
crc32: a7dd922e
sha1: 1069c1d9015028a51a1b314cfacb014ea90aa425
- name: coh1002m.zip
path: mame/bios/coh1002m.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/sony/zn.cpp:5371"
@@ -1038,6 +1060,7 @@ files:
crc32: 50dc8322
sha1: cef4011c6c06d6fce546e1db5d9fbae155eabf57
- name: coh1002v.zip
path: mame/bios/coh1002v.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/sony/zn.cpp:5391"
@@ -1051,6 +1074,7 @@ files:
crc32: 1ce271df
sha1: b01479dc75a4a8a86bee7ac7cd10af2bda332544
- name: coh3002c.zip
path: mame/bios/coh3002c.zip
required: true
category: bios_zip
system: capcom-zn2
@@ -1065,6 +1089,7 @@ files:
crc32: 7808fcef
sha1: 3c3fb8227b05dace042dc1429b9f2355b1a15638
- name: coh3002t.zip
path: mame/bios/coh3002t.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/sony/taitogn.cpp:1096"
@@ -1096,6 +1121,7 @@ files:
sha1: 047852d456b6ff85f8e640887caa03cf3e63ffad
description: G-NET BIOS v2 flasher
- name: crysbios.zip
path: mame/bios/crysbios.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/misc/crystal.cpp:818"
@@ -1111,6 +1137,7 @@ files:
sha1: f60c016be2ff11e47b2192acddb92676043af501
description: AMG0110D PCB
- name: cubo.zip
path: mame/bios/cubo.zip
required: true
category: bios_zip
system: commodore-cubo
@@ -1121,6 +1148,7 @@ files:
crc32: d3837ae4
sha1: 06807db3181637455f4d46582d9972afec8956d9
- name: decocass.zip
path: mame/bios/decocass.zip
required: true
category: bios_zip
system: deco-cassette
@@ -1307,6 +1335,7 @@ files:
crc32: a6df18fd
sha1: 1f9ea47e372d31767c936c15852b43df2b0ee8ff
- name: f355bios.zip
path: mame/bios/f355bios.zip
required: false
category: bios_zip
system: sega-naomi
@@ -1333,6 +1362,7 @@ files:
crc32: 3ea24b6a
sha1: 3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc
- name: f355dlx.zip
path: mame/bios/f355dlx.zip
required: false
category: bios_zip
system: sega-naomi
@@ -1367,6 +1397,7 @@ files:
crc32: 3ea24b6a
sha1: 3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc
- name: galgbios.zip
path: mame/bios/galgbios.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/ces/galgames.cpp:1240"
@@ -1388,6 +1419,7 @@ files:
crc32: e3ae423c
sha1: 66d1964845a99a5ed4b19b4135b55cde6b5fe295
- name: gp_110.zip
path: mame/bios/gp_110.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/pinball/gp_1.cpp:577"
@@ -1401,6 +1433,7 @@ files:
crc32: a223f2e8
sha1: 767e15e19e11399935c890c1d1034dccf1ad7f92
- name: gq863.zip
path: mame/bios/gq863.zip
required: true
category: bios_zip
system: konami-twinkle
@@ -1415,6 +1448,7 @@ files:
crc32: 6f42a09e
sha1: cab5209f90f47b9ee6e721479913ad74e3ba84b1
- name: gts1.zip
path: mame/bios/gts1.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/pinball/gts1.cpp:1076"
@@ -1428,6 +1462,7 @@ files:
crc32: 4cd312dd
sha1: 31245daa9972ef8652caee69986585bb8239e86e
- name: hikaru.zip
path: mame/bios/hikaru.zip
required: true
category: bios_zip
system: sega-hikaru
@@ -1450,6 +1485,7 @@ files:
crc32: 7cbf2fb6
sha1: 7384e3c9314add7d61f93c9edd9fb7788d08f423
- name: hng64.zip
path: mame/bios/hng64.zip
required: true
category: bios_zip
system: hyper-neogeo64
@@ -1496,6 +1532,7 @@ files:
crc32: dabec5d2
sha1: 19c5be89c57387d6ea563b3dc55674d0692af98e
- name: hod2bios.zip
path: mame/bios/hod2bios.zip
required: false
category: bios_zip
system: sega-naomi
@@ -1530,6 +1567,7 @@ files:
crc32: 3ea24b6a
sha1: 3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc
- name: isgsm.zip
path: mame/bios/isgsm.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/sega/segas16b_isgsm.cpp:608"
@@ -1539,6 +1577,7 @@ files:
crc32: 2292585c
sha1: 97ba0e0f0be832a5114d95151e519bc027f6675b
- name: iteagle.zip
path: mame/bios/iteagle.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/itech/iteagle.cpp:715"
@@ -1619,6 +1658,7 @@ files:
crc32: 4f1ff45a
sha1: 213cbdd6cd37ad9b5bfc9545084892a68d29f5ff
- name: konamigv.zip
path: mame/bios/konamigv.zip
required: true
category: bios_zip
system: konami-gv
@@ -1629,6 +1669,7 @@ files:
crc32: ad498d2d
sha1: 02a82a2fe1fba0404517c3602324bfa64e23e478
- name: konamigx.zip
path: mame/bios/konamigx.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/konami/konamigx.cpp:4045"
@@ -1638,6 +1679,7 @@ files:
crc32: d5fa95f5
sha1: c483aa98ff8ef40cdac359c19ad23fea5ecc1906
- name: konendev.zip
path: mame/bios/konendev.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/konami/konendev.cpp:723"
@@ -1647,6 +1689,7 @@ files:
crc32: 36122a98
sha1: 3d2c40c9d504358d890364e26c9562e40314d8a4
- name: kpython.zip
path: mame/bios/kpython.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/konami/kpython.cpp:376"
@@ -1656,6 +1699,7 @@ files:
crc32: 98de405e
sha1: 4bc268a996825c1bdf6ae277d331fe7bdc0cc00c
- name: kpython2.zip
path: mame/bios/kpython2.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/konami/kpython2.cpp:1918"
@@ -1665,6 +1709,7 @@ files:
crc32: 79d60546
sha1: 0ea98a25a32145dda514de2f0d4bfbbd806bd00c
- name: kviper.zip
path: mame/bios/kviper.zip
required: true
category: bios_zip
system: konami-viper
@@ -1683,6 +1728,7 @@ files:
crc32: f1511505
sha1: ed7cd9b2763b3e377df9663943160f9871f65105
- name: lindbios.zip
path: mame/bios/lindbios.zip
required: true
category: bios_zip
system: sega-lindbergh
@@ -1712,11 +1758,13 @@ files:
crc32: f78d14d7
sha1: f129787e487984edd23bf344f2e9500c85052275
- name: mac2bios.zip
path: mame/bios/mac2bios.zip
required: false
category: bios_zip
source_ref: "upstream src/mame/seta/macs.cpp:796"
contents: []
- name: macsbios.zip
path: mame/bios/macsbios.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/seta/macs.cpp:795"
@@ -1730,6 +1778,7 @@ files:
crc32: 538b68e4
sha1: a0534147791e94e726f49451d0e95671ae0a87d5
- name: maxaflex.zip
path: mame/bios/maxaflex.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/atari/maxaflex.cpp:450"
@@ -1747,6 +1796,7 @@ files:
crc32: edf5c950
sha1: 9ad046ea41a61585dd8d2f2d4167a3cc39d2928f
- name: megaplay.zip
path: mame/bios/megaplay.zip
required: true
category: bios_zip
system: sega-megaplay
@@ -1786,6 +1836,7 @@ files:
sha1: ba79183e4b522d1b57a46a56fc7d9b85de24df36
bad_dump: true
- name: megatech.zip
path: mame/bios/megatech.zip
required: true
category: bios_zip
system: sega-megatech
@@ -1812,6 +1863,7 @@ files:
sha1: c9008c431a937c084fb475273093ca0b434b5f47
description: Ver 0 Rev B (alt?)
- name: naomi.zip
path: mame/bios/naomi.zip
required: true
category: bios_zip
system: sega-naomi
@@ -1940,6 +1992,7 @@ files:
crc32: 3ea24b6a
sha1: 3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc
- name: naomi2.zip
path: mame/bios/naomi2.zip
required: true
category: bios_zip
system: sega-naomi2
@@ -2006,6 +2059,7 @@ files:
crc32: 3ea24b6a
sha1: 3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc
- name: naomigd.zip
path: mame/bios/naomigd.zip
required: true
category: bios_zip
system: sega-naomigd
@@ -2056,6 +2110,7 @@ files:
crc32: 3ea24b6a
sha1: 3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc
- name: neogeo.zip
path: mame/bios/neogeo.zip
required: true
category: bios_zip
system: snk-neogeo-mvs
@@ -2202,6 +2257,7 @@ files:
crc32: c2ea0cfd
sha1: fd4a618cdcdbf849374f0a50dd8efe9dbab706c3
- name: nichidvd.zip
path: mame/bios/nichidvd.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/nichibutsu/hrdvd.cpp:1008"
@@ -2219,6 +2275,7 @@ files:
crc32: '36135792'
sha1: 1b9c50bd02df8227b228b35cc485efd5a13ec639
- name: nss.zip
path: mame/bios/nss.zip
required: true
category: bios_zip
system: nintendo-nss
@@ -2240,6 +2297,7 @@ files:
sha1: e3942f9d508c3c8074c3c3941376c37ca68b8e54
description: Nintendo Super System (Single Cart BIOS v3, hack?)
- name: pgm.zip
path: mame/bios/pgm.zip
required: true
category: bios_zip
system: igs-pgm
@@ -2262,6 +2320,7 @@ files:
crc32: 45ae7159
sha1: d3ed3ff3464557fd0df6b069b2e431528b0ebfa8
- name: playch10.zip
path: mame/bios/playch10.zip
required: true
category: bios_zip
system: nintendo-playch10
@@ -2352,6 +2411,7 @@ files:
crc32: 48de65dc
sha1: d10acafc8da9ff479c270ec01180cca61efe62f5
- name: pumpitup.zip
path: mame/bios/pumpitup.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/misc/xtom3d.cpp:453"
@@ -2369,11 +2429,13 @@ files:
crc32: 9c436cfa
sha1: 480ea52e74721d1963ced41be5c482b7b913ccd2
- name: recel.zip
path: mame/bios/recel.zip
required: false
category: bios_zip
source_ref: "upstream src/mame/pinball/recel.cpp:505"
contents: []
- name: sammymdl.zip
path: mame/bios/sammymdl.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/sigma/sigmab98.cpp:2301"
@@ -2383,6 +2445,7 @@ files:
crc32: c3c74dc5
sha1: 07352e6dba7514214e778ba39e1ca773e4698858
- name: segasp.zip
path: mame/bios/segasp.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/sega/segasp.cpp:977"
@@ -2436,6 +2499,7 @@ files:
crc32: 947ddfad
sha1: 832a3db097af680d1d0eb9451b4650565f0cf8c7
- name: sfcbox.zip
path: mame/bios/sfcbox.zip
required: true
category: bios_zip
system: nintendo-sfcbox
@@ -2456,6 +2520,7 @@ files:
crc32: ad3ec05c
sha1: a3d336db585fe02a37c323422d9db6a33fd489a6
- name: shtzone.zip
path: mame/bios/shtzone.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/sega/shtzone.cpp:362"
@@ -2465,6 +2530,7 @@ files:
crc32: ea8901d9
sha1: 43fd8bfc395e3b2e3fbe9645d692a5eb04783d9c
- name: skns.zip
path: mame/bios/skns.zip
required: true
category: bios_zip
system: super-kaneko-nova
@@ -2499,6 +2565,7 @@ files:
crc32: 1d90517c
sha1: 463962ffe19880135f0d95a7beda79e27448e872
- name: stvbios.zip
path: mame/bios/stvbios.zip
required: true
category: bios_zip
system: sega-stv
@@ -2565,6 +2632,7 @@ files:
crc32: 15432ae2
sha1: 7d9364d546f3d3f839ec36be148076f8d26a65a6
- name: su2000.zip
path: mame/bios/su2000.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/misc/su2000.cpp:302"
@@ -2746,6 +2814,7 @@ files:
crc32: d84b58c2
sha1: 087b5a56ddb6bef6b1bc93b9a8e0d23de27aa399
- name: sys246.zip
path: mame/bios/sys246.zip
required: true
category: bios_zip
system: namco-system246
@@ -2756,6 +2825,7 @@ files:
crc32: 2b2e41a2
sha1: f0a74bbcaf801f3fd0b7002ebd0118564aae3528
- name: sys256.zip
path: mame/bios/sys256.zip
required: true
category: bios_zip
system: namco-system256
@@ -2766,6 +2836,7 @@ files:
crc32: b2a8eeb6
sha1: bc4fb4e1e53adbd92385f1726bd69663ff870f1e
- name: sys573.zip
path: mame/bios/sys573.zip
required: true
category: bios_zip
system: namco-system573
@@ -2802,6 +2873,7 @@ files:
sha1: 779177e6312ef272483eeb64a5e84bbae6e301f2
description: Found on Dancing Stage Euro Mix 2
- name: taitotz.zip
path: mame/bios/taitotz.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/taito/taitotz.cpp:3057"
@@ -2815,6 +2887,7 @@ files:
crc32: c7c2dc6b
sha1: bf88c818166c285130c5c73d6982f009da26e143
- name: tourvis.zip
path: mame/bios/tourvis.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/pce/tourvis.cpp:476"
@@ -2875,6 +2948,7 @@ files:
sha1: 881ea7802b9e241473bc8ced0472e0f1851c9886
description: VT-11
- name: triforce.zip
path: mame/bios/triforce.zip
required: true
category: bios_zip
system: sega-triforce
@@ -2885,6 +2959,7 @@ files:
crc32: d1883221
sha1: c3cb7227e4dbc2af861e76d00cb59726105a2e4c
- name: v4bios.zip
path: mame/bios/v4bios.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/barcrest/mpu4vid.cpp:8677"
+78
View File
@@ -104,6 +104,7 @@ notes: 'libretro/mame built at the 0.278 release. BIOS root sets read from mamed
sets and their ROMs are that release''s, not the current one''s.'
files:
- name: 3dobios.zip
path: mame/bios/3dobios.zip
required: true
category: bios_zip
system: panasonic-3do
@@ -130,6 +131,7 @@ files:
sha1: b01c53da256dde43ffec4ad3fc3adfa8d635e943
description: Sanyo TRY 3DO Interactive Multiplayer
- name: airlbios.zip
path: mame/bios/airlbios.zip
required: false
category: bios_zip
system: sega-naomi
@@ -152,6 +154,7 @@ files:
crc32: 3ea24b6a
sha1: 3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc
- name: aleck64.zip
path: mame/bios/aleck64.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/nintendo/aleck64.cpp:1415"
@@ -169,6 +172,7 @@ files:
crc32: 4f2ae525
sha1: eab43f8cc52c8551d9cff6fced18ef80eaba6f05
- name: alg3do.zip
path: mame/bios/alg3do.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/misc/3do.cpp:296"
@@ -178,6 +182,7 @@ files:
crc32: b832da9a
sha1: 520d3d1b5897800af47f92efd2444a26b7a7dead
- name: alg_bios.zip
path: mame/bios/alg_bios.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/amiga/alg.cpp:925"
@@ -188,6 +193,7 @@ files:
sha1: 891e9a547772fe0c6c19b610baf8bc4ea7fcb785
description: Kickstart 1.3 (34.5)
- name: allied.zip
path: mame/bios/allied.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/pinball/allied.cpp:775"
@@ -205,6 +211,7 @@ files:
crc32: 13f42789
sha1: baa0f73fda08a3c5d6f1423fb329e4febb07ef97
- name: ar_bios.zip
path: mame/bios/ar_bios.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/amiga/arsystems.cpp:1013"
@@ -294,6 +301,7 @@ files:
crc32: a5cc4515
sha1: 80070521476e92323a6baa6e55928ca5b751a332
- name: aristmk5.zip
path: mame/bios/aristmk5.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/acorn/aristmk5.cpp:9293"
@@ -392,6 +400,7 @@ files:
crc32: 941d4cdb
sha1: 1ca091fba69e92f262dbb3d40f515703c8981793
- name: aristmk6.zip
path: mame/bios/aristmk6.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/aristocrat/aristmk6.cpp:6636"
@@ -789,6 +798,7 @@ files:
crc32: 117b75f2
sha1: 2129286853d3c50b8a943b71334d4ef6b98adc05
- name: aristmk7.zip
path: mame/bios/aristmk7.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/aristocrat/aristmk7.cpp:233"
@@ -798,6 +808,7 @@ files:
crc32: f2fea07e
sha1: 285038473fbe3a5708045e2f8b14562f3c24b203
- name: atarisy1.zip
path: mame/bios/atarisy1.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/atari/atarisy1.cpp:2553"
@@ -863,6 +874,7 @@ files:
crc32: 92d6a0b4
sha1: 0a42a4816c89447b16e1f3245409591efea98a4a
- name: awbios.zip
path: mame/bios/awbios.zip
required: true
category: bios_zip
system: sammy-atomiswave
@@ -881,6 +893,7 @@ files:
crc32: 82a105f0
sha1: 5128fe2ddcced77332bdcab691c09958051fa564
- name: bubsys.zip
path: mame/bios/bubsys.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/konami/nemesis.cpp:3234"
@@ -902,6 +915,7 @@ files:
crc32: 2f44f970
sha1: 7ab46f9d5d587665782cefc623b8de0124a6d38a
- name: cdibios.zip
path: mame/bios/cdibios.zip
required: true
category: bios_zip
system: philips-cdi
@@ -923,6 +937,7 @@ files:
sha1: 56d0acd7caad51c7de703247cd6d842b36173079
bad_dump: true
- name: cedmag.zip
path: mame/bios/cedmag.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/efo/cedar_magnet.cpp:1166"
@@ -932,6 +947,7 @@ files:
crc32: 86c4a4f0
sha1: 6db1a006b2e0b2a7cc9748ade881debb098b6757
- name: chihiro.zip
path: mame/bios/chihiro.zip
required: true
category: bios_zip
system: sega-chihiro
@@ -966,6 +982,7 @@ files:
crc32: 7742ab62
sha1: 82dad6e2a75bab4a4840dc6939462f1fb9b95101
- name: coh1000a.zip
path: mame/bios/coh1000a.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/sony/zn.cpp:6072"
@@ -979,6 +996,7 @@ files:
crc32: c425eaf5
sha1: decf77ab50f7f58c641c3214a11647924f3a8998
- name: coh1000c.zip
path: mame/bios/coh1000c.zip
required: true
category: bios_zip
system: capcom-zn1
@@ -999,6 +1017,7 @@ files:
crc32: bb7ba033
sha1: 966f3aee5d00e1312c455f855915d621e6cb0672
- name: coh1000t.zip
path: mame/bios/coh1000t.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/sony/zn.cpp:6046"
@@ -1012,6 +1031,7 @@ files:
crc32: daac13e7
sha1: 96d94f2b06fb7ecd91454969f4959a583ffb9d5a
- name: coh1000w.zip
path: mame/bios/coh1000w.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/sony/zn.cpp:6081"
@@ -1025,6 +1045,7 @@ files:
crc32: 1cac067e
sha1: 8e87941bfb374172628c8a37647e3a66b7166aa8
- name: coh1001l.zip
path: mame/bios/coh1001l.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/sony/zn.cpp:6085"
@@ -1038,6 +1059,7 @@ files:
crc32: 181668b3
sha1: 8d2fe1facb4473cc20b4b477aaf881f9280939cf
- name: coh1002e.zip
path: mame/bios/coh1002e.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/sony/zn.cpp:6095"
@@ -1051,6 +1073,7 @@ files:
crc32: a7dd922e
sha1: 1069c1d9015028a51a1b314cfacb014ea90aa425
- name: coh1002m.zip
path: mame/bios/coh1002m.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/sony/zn.cpp:6146"
@@ -1064,6 +1087,7 @@ files:
crc32: 50dc8322
sha1: cef4011c6c06d6fce546e1db5d9fbae155eabf57
- name: coh1002t.zip
path: mame/bios/coh1002t.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/sony/taitogn.cpp:1378"
@@ -1085,6 +1109,7 @@ files:
crc32: 9100dbf2
sha1: 9ce888bd2a7e575c8ca71d978cb85de22afb5660
- name: coh1002v.zip
path: mame/bios/coh1002v.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/sony/zn.cpp:6089"
@@ -1098,6 +1123,7 @@ files:
crc32: 1ce271df
sha1: b01479dc75a4a8a86bee7ac7cd10af2bda332544
- name: coh3002c.zip
path: mame/bios/coh3002c.zip
required: true
category: bios_zip
system: capcom-zn2
@@ -1112,6 +1138,7 @@ files:
crc32: 7808fcef
sha1: 3c3fb8227b05dace042dc1429b9f2355b1a15638
- name: coh3002t.zip
path: mame/bios/coh3002t.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/sony/taitogn.cpp:1377"
@@ -1153,6 +1180,7 @@ files:
sha1: c6918dfbb6fcf686dde4b731e84f740177ab31f0
description: MB2011
- name: crysbios.zip
path: mame/bios/crysbios.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/misc/crystal.cpp:818"
@@ -1168,6 +1196,7 @@ files:
sha1: f60c016be2ff11e47b2192acddb92676043af501
description: AMG0110D PCB
- name: cubo.zip
path: mame/bios/cubo.zip
required: true
category: bios_zip
system: commodore-cubo
@@ -1178,6 +1207,7 @@ files:
crc32: d3837ae4
sha1: 06807db3181637455f4d46582d9972afec8956d9
- name: decocass.zip
path: mame/bios/decocass.zip
required: true
category: bios_zip
system: deco-cassette
@@ -1364,6 +1394,7 @@ files:
crc32: a6df18fd
sha1: 1f9ea47e372d31767c936c15852b43df2b0ee8ff
- name: f355bios.zip
path: mame/bios/f355bios.zip
required: false
category: bios_zip
system: sega-naomi
@@ -1390,6 +1421,7 @@ files:
crc32: 3ea24b6a
sha1: 3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc
- name: f355dlx.zip
path: mame/bios/f355dlx.zip
required: false
category: bios_zip
system: sega-naomi
@@ -1424,6 +1456,7 @@ files:
crc32: 3ea24b6a
sha1: 3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc
- name: galgbios.zip
path: mame/bios/galgbios.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/ces/galgames.cpp:1288"
@@ -1445,6 +1478,7 @@ files:
crc32: e3ae423c
sha1: 66d1964845a99a5ed4b19b4135b55cde6b5fe295
- name: gp_110.zip
path: mame/bios/gp_110.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/pinball/gp_1.cpp:577"
@@ -1458,6 +1492,7 @@ files:
crc32: a223f2e8
sha1: 767e15e19e11399935c890c1d1034dccf1ad7f92
- name: gq863.zip
path: mame/bios/gq863.zip
required: true
category: bios_zip
system: konami-twinkle
@@ -1472,6 +1507,7 @@ files:
crc32: 6f42a09e
sha1: cab5209f90f47b9ee6e721479913ad74e3ba84b1
- name: gts1.zip
path: mame/bios/gts1.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/pinball/gts1.cpp:1074"
@@ -1485,6 +1521,7 @@ files:
crc32: 4cd312dd
sha1: 31245daa9972ef8652caee69986585bb8239e86e
- name: hikaru.zip
path: mame/bios/hikaru.zip
required: true
category: bios_zip
system: sega-hikaru
@@ -1516,6 +1553,7 @@ files:
sha1: 6c2de7dae32bef855d9bc556568c3a170f54caa5
bad_dump: true
- name: hng64.zip
path: mame/bios/hng64.zip
required: true
category: bios_zip
system: hyper-neogeo64
@@ -1562,6 +1600,7 @@ files:
crc32: dabec5d2
sha1: 19c5be89c57387d6ea563b3dc55674d0692af98e
- name: hod2bios.zip
path: mame/bios/hod2bios.zip
required: false
category: bios_zip
system: sega-naomi
@@ -1596,6 +1635,7 @@ files:
crc32: 3ea24b6a
sha1: 3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc
- name: isgsm.zip
path: mame/bios/isgsm.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/sega/segas16b_isgsm.cpp:608"
@@ -1605,6 +1645,7 @@ files:
crc32: 2292585c
sha1: 97ba0e0f0be832a5114d95151e519bc027f6675b
- name: iteagle.zip
path: mame/bios/iteagle.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/itech/iteagle.cpp:715"
@@ -1685,6 +1726,7 @@ files:
crc32: 4f1ff45a
sha1: 213cbdd6cd37ad9b5bfc9545084892a68d29f5ff
- name: konamigv.zip
path: mame/bios/konamigv.zip
required: true
category: bios_zip
system: konami-gv
@@ -1695,6 +1737,7 @@ files:
crc32: ad498d2d
sha1: 02a82a2fe1fba0404517c3602324bfa64e23e478
- name: konamigx.zip
path: mame/bios/konamigx.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/konami/konamigx.cpp:4196"
@@ -1704,6 +1747,7 @@ files:
crc32: d5fa95f5
sha1: c483aa98ff8ef40cdac359c19ad23fea5ecc1906
- name: konendev.zip
path: mame/bios/konendev.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/konami/konendev.cpp:914"
@@ -1713,6 +1757,7 @@ files:
crc32: 36122a98
sha1: 3d2c40c9d504358d890364e26c9562e40314d8a4
- name: kpython.zip
path: mame/bios/kpython.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/konami/kpython.cpp:376"
@@ -1722,6 +1767,7 @@ files:
crc32: 98de405e
sha1: 4bc268a996825c1bdf6ae277d331fe7bdc0cc00c
- name: kpython2.zip
path: mame/bios/kpython2.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/konami/kpython2.cpp:1918"
@@ -1731,6 +1777,7 @@ files:
crc32: 79d60546
sha1: 0ea98a25a32145dda514de2f0d4bfbbd806bd00c
- name: kviper.zip
path: mame/bios/kviper.zip
required: true
category: bios_zip
system: konami-viper
@@ -1749,6 +1796,7 @@ files:
crc32: f1511505
sha1: ed7cd9b2763b3e377df9663943160f9871f65105
- name: lindbios.zip
path: mame/bios/lindbios.zip
required: true
category: bios_zip
system: sega-lindbergh
@@ -1778,11 +1826,13 @@ files:
crc32: f78d14d7
sha1: f129787e487984edd23bf344f2e9500c85052275
- name: mac2bios.zip
path: mame/bios/mac2bios.zip
required: false
category: bios_zip
source_ref: "upstream src/mame/seta/macs.cpp:791"
contents: []
- name: macsbios.zip
path: mame/bios/macsbios.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/seta/macs.cpp:790"
@@ -1800,6 +1850,7 @@ files:
crc32: 669096c1
sha1: 36f55a2e4865bdf0506746a4df51bfb1944f905e
- name: maxaflex.zip
path: mame/bios/maxaflex.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/atari/maxaflex.cpp:450"
@@ -1817,6 +1868,7 @@ files:
crc32: edf5c950
sha1: 9ad046ea41a61585dd8d2f2d4167a3cc39d2928f
- name: megaplay.zip
path: mame/bios/megaplay.zip
required: true
category: bios_zip
system: sega-megaplay
@@ -1856,6 +1908,7 @@ files:
sha1: ba79183e4b522d1b57a46a56fc7d9b85de24df36
bad_dump: true
- name: megatech.zip
path: mame/bios/megatech.zip
required: true
category: bios_zip
system: sega-megatech
@@ -1882,6 +1935,7 @@ files:
sha1: c9008c431a937c084fb475273093ca0b434b5f47
description: Ver 0 Rev B (alt?)
- name: miuchiz.zip
path: mame/bios/miuchiz.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/misc/miuchiz.cpp:227"
@@ -1891,6 +1945,7 @@ files:
crc32: 2ff7ec96
sha1: 633365fd19a3d0f2ce56cb499b2577a5fb53e466
- name: naomi.zip
path: mame/bios/naomi.zip
required: true
category: bios_zip
system: sega-naomi
@@ -2023,6 +2078,7 @@ files:
crc32: 3ea24b6a
sha1: 3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc
- name: naomi2.zip
path: mame/bios/naomi2.zip
required: true
category: bios_zip
system: sega-naomi2
@@ -2089,6 +2145,7 @@ files:
crc32: 3ea24b6a
sha1: 3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc
- name: naomigd.zip
path: mame/bios/naomigd.zip
required: true
category: bios_zip
system: sega-naomigd
@@ -2139,6 +2196,7 @@ files:
crc32: 3ea24b6a
sha1: 3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc
- name: neogeo.zip
path: mame/bios/neogeo.zip
required: true
category: bios_zip
system: snk-neogeo-mvs
@@ -2285,6 +2343,7 @@ files:
crc32: c2ea0cfd
sha1: fd4a618cdcdbf849374f0a50dd8efe9dbab706c3
- name: nichidvd.zip
path: mame/bios/nichidvd.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/nichibutsu/hrdvd.cpp:1010"
@@ -2302,6 +2361,7 @@ files:
crc32: '36135792'
sha1: 1b9c50bd02df8227b228b35cc485efd5a13ec639
- name: nss.zip
path: mame/bios/nss.zip
required: true
category: bios_zip
system: nintendo-nss
@@ -2323,6 +2383,7 @@ files:
sha1: e3942f9d508c3c8074c3c3941376c37ca68b8e54
description: Nintendo Super System (Single Cart BIOS v3, hack?)
- name: pgm.zip
path: mame/bios/pgm.zip
required: true
category: bios_zip
system: igs-pgm
@@ -2345,6 +2406,7 @@ files:
crc32: 45ae7159
sha1: d3ed3ff3464557fd0df6b069b2e431528b0ebfa8
- name: playch10.zip
path: mame/bios/playch10.zip
required: true
category: bios_zip
system: nintendo-playch10
@@ -2435,6 +2497,7 @@ files:
crc32: 48de65dc
sha1: d10acafc8da9ff479c270ec01180cca61efe62f5
- name: pumpitup.zip
path: mame/bios/pumpitup.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/misc/xtom3d.cpp:993"
@@ -2458,6 +2521,7 @@ files:
crc32: 9c436cfa
sha1: 480ea52e74721d1963ced41be5c482b7b913ccd2
- name: recel.zip
path: mame/bios/recel.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/pinball/recel.cpp:547"
@@ -2471,6 +2535,7 @@ files:
crc32: 39a70611
sha1: 8545e168a5f256150bcff12d1e6d8efffd08c3cd
- name: sammymdl.zip
path: mame/bios/sammymdl.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/sigma/sigmab98.cpp:2409"
@@ -2491,6 +2556,7 @@ files:
sha1: c3ceea196e5c1c6a9e03cf3a22e9f25f0099a38e
description: IPL Ver. 1.0
- name: segasp.zip
path: mame/bios/segasp.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/sega/segasp.cpp:1041"
@@ -2544,6 +2610,7 @@ files:
crc32: 947ddfad
sha1: 832a3db097af680d1d0eb9451b4650565f0cf8c7
- name: sfcbox.zip
path: mame/bios/sfcbox.zip
required: true
category: bios_zip
system: nintendo-sfcbox
@@ -2564,6 +2631,7 @@ files:
crc32: ad3ec05c
sha1: a3d336db585fe02a37c323422d9db6a33fd489a6
- name: shtzone.zip
path: mame/bios/shtzone.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/sega/shtzone.cpp:378"
@@ -2573,6 +2641,7 @@ files:
crc32: ea8901d9
sha1: 43fd8bfc395e3b2e3fbe9645d692a5eb04783d9c
- name: skns.zip
path: mame/bios/skns.zip
required: true
category: bios_zip
system: super-kaneko-nova
@@ -2607,6 +2676,7 @@ files:
crc32: 1d90517c
sha1: 463962ffe19880135f0d95a7beda79e27448e872
- name: stvbios.zip
path: mame/bios/stvbios.zip
required: true
category: bios_zip
system: sega-stv
@@ -2673,6 +2743,7 @@ files:
crc32: 15432ae2
sha1: 7d9364d546f3d3f839ec36be148076f8d26a65a6
- name: su2000.zip
path: mame/bios/su2000.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/misc/su2000.cpp:302"
@@ -2854,6 +2925,7 @@ files:
crc32: d84b58c2
sha1: 087b5a56ddb6bef6b1bc93b9a8e0d23de27aa399
- name: sys246.zip
path: mame/bios/sys246.zip
required: true
category: bios_zip
system: namco-system246
@@ -2864,6 +2936,7 @@ files:
crc32: 2b2e41a2
sha1: f0a74bbcaf801f3fd0b7002ebd0118564aae3528
- name: sys256.zip
path: mame/bios/sys256.zip
required: true
category: bios_zip
system: namco-system256
@@ -2874,6 +2947,7 @@ files:
crc32: b2a8eeb6
sha1: bc4fb4e1e53adbd92385f1726bd69663ff870f1e
- name: sys573.zip
path: mame/bios/sys573.zip
required: true
category: bios_zip
system: namco-system573
@@ -2910,6 +2984,7 @@ files:
sha1: 779177e6312ef272483eeb64a5e84bbae6e301f2
description: Found on Dancing Stage Euro Mix 2
- name: taitotz.zip
path: mame/bios/taitotz.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/taito/taitotz.cpp:3014"
@@ -2923,6 +2998,7 @@ files:
crc32: c7c2dc6b
sha1: bf88c818166c285130c5c73d6982f009da26e143
- name: tourvis.zip
path: mame/bios/tourvis.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/pce/tourvis.cpp:475"
@@ -2983,6 +3059,7 @@ files:
sha1: 881ea7802b9e241473bc8ced0472e0f1851c9886
description: VT-11
- name: triforce.zip
path: mame/bios/triforce.zip
required: true
category: bios_zip
system: sega-triforce
@@ -2993,6 +3070,7 @@ files:
crc32: d1883221
sha1: c3cb7227e4dbc2af861e76d00cb59726105a2e4c
- name: v4bios.zip
path: mame/bios/v4bios.zip
required: true
category: bios_zip
source_ref: "upstream src/mame/barcrest/mpu4vid.cpp:8696"
+53 -1
View File
@@ -67,7 +67,9 @@ notes: |
selection via src/mame/arcade.flt: 1130 arcade drivers from the full set.
Excludes console/computer/pinball/fruit machine drivers.
50 BIOS root sets (vs 99 in full MAME). romload.cpp unmodified.
ROM search: content_dir + system_dir/mame/bios + system_dir/mame/roms.
ROM search: content_dir + system_dir/mame/bios + system_dir/mame/roms, never
system_dir itself (src/osd/libretro/libretro-internal/retro_init.cpp:580-597),
so the sets are read in mame/bios.
files:
# Support trees under system_dir/mame/, the paths Set_Path_Option passes
@@ -104,6 +106,7 @@ files:
# SNK Neo Geo MVS (AES excluded via arcade.flt)
- name: neogeo.zip
path: "mame/bios/neogeo.zip"
required: true
category: bios_zip
system: snk-neogeo-mvs
@@ -252,6 +255,7 @@ files:
# IGS PGM
- name: pgm.zip
path: "mame/bios/pgm.zip"
required: true
category: bios_zip
system: igs-pgm
@@ -276,6 +280,7 @@ files:
# Sega NAOMI / NAOMI 2 / GD-ROM / Atomiswave
- name: naomi.zip
path: "mame/bios/naomi.zip"
required: true
category: bios_zip
system: sega-naomi
@@ -413,6 +418,7 @@ files:
sha1: "3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc"
- name: naomi2.zip
path: "mame/bios/naomi2.zip"
required: true
category: bios_zip
system: sega-naomi2
@@ -484,6 +490,7 @@ files:
sha1: "3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc"
- name: naomigd.zip
path: "mame/bios/naomigd.zip"
required: true
category: bios_zip
system: sega-naomigd
@@ -535,6 +542,7 @@ files:
sha1: "3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc"
- name: awbios.zip
path: "mame/bios/awbios.zip"
required: true
category: bios_zip
system: sammy-atomiswave
@@ -554,6 +562,7 @@ files:
sha1: "5128fe2ddcced77332bdcab691c09958051fa564"
- name: hod2bios.zip
path: "mame/bios/hod2bios.zip"
required: false
category: bios_zip
system: sega-naomi
@@ -590,6 +599,7 @@ files:
sha1: "3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc"
- name: f355dlx.zip
path: "mame/bios/f355dlx.zip"
required: false
category: bios_zip
system: sega-naomi
@@ -625,6 +635,7 @@ files:
sha1: "3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc"
- name: f355bios.zip
path: "mame/bios/f355bios.zip"
required: false
category: bios_zip
system: sega-naomi
@@ -652,6 +663,7 @@ files:
sha1: "3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc"
- name: airlbios.zip
path: "mame/bios/airlbios.zip"
required: false
category: bios_zip
system: sega-naomi
@@ -676,6 +688,7 @@ files:
# Sega ST-V
- name: stvbios.zip
path: "mame/bios/stvbios.zip"
required: true
category: bios_zip
system: sega-stv
@@ -743,6 +756,7 @@ files:
sha1: "7d9364d546f3d3f839ec36be148076f8d26a65a6"
- name: sammymdl.zip
path: "mame/bios/sammymdl.zip"
required: true
category: bios_zip
system: sammy-medal
@@ -766,6 +780,7 @@ files:
# Sega Mega Drive arcade
- name: megaplay.zip
path: "mame/bios/megaplay.zip"
required: true
category: bios_zip
system: sega-megaplay
@@ -806,6 +821,7 @@ files:
bad_dump: true
- name: megatech.zip
path: "mame/bios/megatech.zip"
required: true
category: bios_zip
system: sega-megatech
@@ -833,6 +849,7 @@ files:
sha1: "c9008c431a937c084fb475273093ca0b434b5f47"
- name: isgsm.zip
path: "mame/bios/isgsm.zip"
required: true
category: bios_zip
system: sega-isgsm
@@ -845,6 +862,7 @@ files:
# DECO Cassette
- name: decocass.zip
path: "mame/bios/decocass.zip"
required: true
category: bios_zip
system: deco-cassette
@@ -1033,6 +1051,7 @@ files:
# Nintendo arcade
- name: playch10.zip
path: "mame/bios/playch10.zip"
required: true
category: bios_zip
system: nintendo-playch10
@@ -1124,6 +1143,7 @@ files:
sha1: "d10acafc8da9ff479c270ec01180cca61efe62f5"
- name: nss.zip
path: "mame/bios/nss.zip"
required: true
category: bios_zip
system: nintendo-nss
@@ -1146,6 +1166,7 @@ files:
sha1: "e3942f9d508c3c8074c3c3941376c37ca68b8e54"
- name: aleck64.zip
path: "mame/bios/aleck64.zip"
required: true
category: bios_zip
system: nintendo-aleck64
@@ -1166,6 +1187,7 @@ files:
# Philips CD-i
- name: cdibios.zip
path: "mame/bios/cdibios.zip"
required: true
category: bios_zip
system: philips-cdi
@@ -1189,6 +1211,7 @@ files:
# Commodore Cubo (CD32-based)
- name: cubo.zip
path: "mame/bios/cubo.zip"
required: true
category: bios_zip
system: commodore-cubo
@@ -1201,6 +1224,7 @@ files:
# Namco
- name: sys573.zip
path: "mame/bios/sys573.zip"
required: true
category: bios_zip
system: namco-system573
@@ -1239,6 +1263,7 @@ files:
# Konami
- name: konamigx.zip
path: "mame/bios/konamigx.zip"
required: true
category: bios_zip
system: konami-gx
@@ -1250,6 +1275,7 @@ files:
sha1: "c483aa98ff8ef40cdac359c19ad23fea5ecc1906"
- name: konamigv.zip
path: "mame/bios/konamigv.zip"
required: true
category: bios_zip
system: konami-gv
@@ -1261,6 +1287,7 @@ files:
sha1: "02a82a2fe1fba0404517c3602324bfa64e23e478"
- name: kviper.zip
path: "mame/bios/kviper.zip"
required: true
category: bios_zip
system: konami-viper
@@ -1280,6 +1307,7 @@ files:
sha1: "ed7cd9b2763b3e377df9663943160f9871f65105"
- name: gq863.zip
path: "mame/bios/gq863.zip"
required: true
category: bios_zip
system: konami-twinkle
@@ -1295,6 +1323,7 @@ files:
sha1: "cab5209f90f47b9ee6e721479913ad74e3ba84b1"
- name: bubsys.zip
path: "mame/bios/bubsys.zip"
required: true
category: bios_zip
system: konami-bubble-system
@@ -1319,6 +1348,7 @@ files:
# Sony ZN-based (PSX arcade)
- name: coh1000c.zip
path: "mame/bios/coh1000c.zip"
required: true
category: bios_zip
system: capcom-zn1
@@ -1340,6 +1370,7 @@ files:
sha1: "966f3aee5d00e1312c455f855915d621e6cb0672"
- name: coh3002c.zip
path: "mame/bios/coh3002c.zip"
required: true
category: bios_zip
system: capcom-zn2
@@ -1355,6 +1386,7 @@ files:
sha1: "3c3fb8227b05dace042dc1429b9f2355b1a15638"
- name: coh1000t.zip
path: "mame/bios/coh1000t.zip"
required: true
category: bios_zip
system: taito-fx1
@@ -1370,6 +1402,7 @@ files:
sha1: "96d94f2b06fb7ecd91454969f4959a583ffb9d5a"
- name: coh1000a.zip
path: "mame/bios/coh1000a.zip"
required: true
category: bios_zip
system: acclaim-zn1
@@ -1385,6 +1418,7 @@ files:
sha1: "decf77ab50f7f58c641c3214a11647924f3a8998"
- name: coh1000w.zip
path: "mame/bios/coh1000w.zip"
required: true
category: bios_zip
system: atari-zn1
@@ -1400,6 +1434,7 @@ files:
sha1: "8e87941bfb374172628c8a37647e3a66b7166aa8"
- name: coh1001l.zip
path: "mame/bios/coh1001l.zip"
required: true
category: bios_zip
system: atlus-zn1
@@ -1415,6 +1450,7 @@ files:
sha1: "8d2fe1facb4473cc20b4b477aaf881f9280939cf"
- name: coh1002v.zip
path: "mame/bios/coh1002v.zip"
required: true
category: bios_zip
system: videosystem-zn1
@@ -1430,6 +1466,7 @@ files:
sha1: "b01479dc75a4a8a86bee7ac7cd10af2bda332544"
- name: coh1002e.zip
path: "mame/bios/coh1002e.zip"
required: true
category: bios_zip
system: eighting-zn1
@@ -1445,6 +1482,7 @@ files:
sha1: "1069c1d9015028a51a1b314cfacb014ea90aa425"
- name: coh1002m.zip
path: "mame/bios/coh1002m.zip"
required: true
category: bios_zip
system: tecmo-tps
@@ -1461,6 +1499,7 @@ files:
# Taito
- name: coh3002t.zip
path: "mame/bios/coh3002t.zip"
required: true
category: bios_zip
system: taito-gnet
@@ -1504,6 +1543,7 @@ files:
sha1: "c6918dfbb6fcf686dde4b731e84f740177ab31f0"
- name: coh1002t.zip
path: "mame/bios/coh1002t.zip"
required: true
category: bios_zip
system: taito-gnet
@@ -1528,6 +1568,7 @@ files:
# Super Kaneko Nova System
- name: skns.zip
path: "mame/bios/skns.zip"
required: true
category: bios_zip
system: super-kaneko-nova
@@ -1563,6 +1604,7 @@ files:
sha1: "463962ffe19880135f0d95a7beda79e27448e872"
- name: mac2bios.zip
path: "mame/bios/mac2bios.zip"
required: false
category: bios_zip
system: imax-macs
@@ -1570,6 +1612,7 @@ files:
note: "macs2os_l.bin and macs2os_h.bin are both NO_DUMP (src/mame/seta/macs.cpp:532-535). handle_missing_file (src/emu/romload.cpp:529-571) counts a missing NO_DUMP ROM as known bad, not an error, so the machine runs without the set."
- name: macsbios.zip
path: "mame/bios/macsbios.zip"
required: true
category: bios_zip
system: imax-macs
@@ -1590,6 +1633,7 @@ files:
# Hyper Neo-Geo 64
- name: hng64.zip
path: "mame/bios/hng64.zip"
required: true
category: bios_zip
system: hyper-neogeo64
@@ -1638,6 +1682,7 @@ files:
# Amiga-based
- name: ar_bios.zip
path: "mame/bios/ar_bios.zip"
required: true
category: bios_zip
system: arcadia-systems
@@ -1730,6 +1775,7 @@ files:
# Atari
- name: atarisy1.zip
path: "mame/bios/atarisy1.zip"
required: true
category: bios_zip
system: atari-system1
@@ -1797,6 +1843,7 @@ files:
sha1: "0a42a4816c89447b16e1f3245409591efea98a4a"
- name: maxaflex.zip
path: "mame/bios/maxaflex.zip"
required: true
category: bios_zip
system: exidy-maxaflex
@@ -1817,6 +1864,7 @@ files:
# Crystal System
- name: crysbios.zip
path: "mame/bios/crysbios.zip"
required: true
category: bios_zip
system: brezzasoft-crystal
@@ -1835,6 +1883,7 @@ files:
# Galaxy Games
- name: galgames.zip
path: "mame/bios/galgames.zip"
required: true
category: bios_zip
system: ces-galaxy-games
@@ -1867,6 +1916,7 @@ files:
# EFO Cedar Magnet
- name: cedmag.zip
path: "mame/bios/cedmag.zip"
required: true
category: bios_zip
system: efo-cedar-magnet
@@ -1879,6 +1929,7 @@ files:
# Misc
- name: iteagle.zip
path: "mame/bios/iteagle.zip"
required: true
category: bios_zip
system: itech-eagle
@@ -1966,6 +2017,7 @@ files:
sha1: "213cbdd6cd37ad9b5bfc9545084892a68d29f5ff"
- name: pumpitup.zip
path: "mame/bios/pumpitup.zip"
required: true
category: bios_zip
system: andamiro-pumpitup
+124 -1
View File
@@ -57,7 +57,9 @@ notes: |
romload.cpp unmodified. No hiscore support.
Paths under system_dir/mame/ (artwork, cheat, hash, ini, plugins, samples,
crosshair). ROM search: content_dir + system_dir/mame/bios + system_dir/mame/roms.
crosshair). ROM search: content_dir + system_dir/mame/bios + system_dir/mame/roms,
never system_dir itself (src/osd/libretro/libretro-internal/retro_init.cpp:580-597),
so the sets are read in mame/bios.
Hash directory contains software list XMLs needed for MESS software loading.
mess.flt exceptions: adds AES (+aes), CD-i consoles (+cdimono1, +cdimono2,
@@ -457,6 +459,7 @@ files:
# Miuchiz Virtual Companions
- name: miuchiz.zip
path: "mame/bios/miuchiz.zip"
required: true
category: bios_zip
source_ref: "upstream src/mame/misc/miuchiz.cpp:227"
@@ -468,6 +471,7 @@ files:
# XaviX TV games: e-kara family
- name: ekara.zip
path: "mame/bios/ekara.zip"
required: true
category: bios_zip
source_ref: "source src/mame/tvgames/xavix.cpp:2904"
@@ -478,6 +482,7 @@ files:
sha1: "d75dda7434933135d2f7e353840a9384e9a0d586"
- name: ekaraa.zip
path: "mame/bios/ekaraa.zip"
required: true
category: bios_zip
source_ref: "source src/mame/tvgames/xavix.cpp:2905"
@@ -488,6 +493,7 @@ files:
sha1: "450fbe53826cdb87ec797f84b9757987afcc1ec5"
- name: ekaraj.zip
path: "mame/bios/ekaraj.zip"
required: true
category: bios_zip
source_ref: "source src/mame/tvgames/xavix.cpp:2906"
@@ -498,6 +504,7 @@ files:
sha1: "58b7f36a81571a2df5e812c118fdf68812a05abc"
- name: ekarag.zip
path: "mame/bios/ekarag.zip"
required: true
category: bios_zip
source_ref: "source src/mame/tvgames/xavix.cpp:2907"
@@ -508,6 +515,7 @@ files:
sha1: "433e65a6ea029b67ee62b4b3de52ff3504cfdf16"
- name: ekaras.zip
path: "mame/bios/ekaras.zip"
required: true
category: bios_zip
source_ref: "source src/mame/tvgames/xavix.cpp:2908"
@@ -518,6 +526,7 @@ files:
sha1: "402053e22e371c5f5e8069a4bf3b33841e742375"
- name: isinger.zip
path: "mame/bios/isinger.zip"
required: true
category: bios_zip
source_ref: "source src/mame/tvgames/xavix.cpp:2910"
@@ -528,6 +537,7 @@ files:
sha1: "879da069ca8c126232a1b2dfcce25c8615540e48"
- name: ekaraphs.zip
path: "mame/bios/ekaraphs.zip"
required: true
category: bios_zip
source_ref: "source src/mame/tvgames/xavix.cpp:2913"
@@ -538,6 +548,7 @@ files:
sha1: "baaf35d56fa45b6f995b8466331bb30f0035f734"
- name: epitch.zip
path: "mame/bios/epitch.zip"
required: true
category: bios_zip
source_ref: "source src/mame/tvgames/xavix.cpp:2916"
@@ -548,6 +559,7 @@ files:
sha1: "58b7f36a81571a2df5e812c118fdf68812a05abc"
- name: ekaramix.zip
path: "mame/bios/ekaramix.zip"
required: true
category: bios_zip
source_ref: "source src/mame/tvgames/xavix.cpp:2919"
@@ -559,6 +571,7 @@ files:
# XaviX TV games: DDR / Popira / misc
- name: ddrfammt.zip
path: "mame/bios/ddrfammt.zip"
required: true
category: bios_zip
source_ref: "source src/mame/tvgames/xavix.cpp:2922"
@@ -569,6 +582,7 @@ files:
sha1: "a1043047056dd27bca69767ee2044461ec549465"
- name: popira.zip
path: "mame/bios/popira.zip"
required: true
category: bios_zip
source_ref: "source src/mame/tvgames/xavix.cpp:2925"
@@ -579,6 +593,7 @@ files:
sha1: "fb2ae023fc8a188c79b2d6550f737e06c05e12da"
- name: popirak.zip
path: "mame/bios/popirak.zip"
required: true
category: bios_zip
source_ref: "source src/mame/tvgames/xavix.cpp:2927"
@@ -589,6 +604,7 @@ files:
sha1: "7877ac33b57bdd8ceac6bda3b0006a3274ad4dce"
- name: popira2.zip
path: "mame/bios/popira2.zip"
required: true
category: bios_zip
source_ref: "source src/mame/tvgames/xavix.cpp:2930"
@@ -599,6 +615,7 @@ files:
sha1: "8b6c812d37e2dc2f2531b0e47d84ad8485729dc5"
- name: taikodp.zip
path: "mame/bios/taikodp.zip"
required: true
category: bios_zip
source_ref: "source src/mame/tvgames/xavix.cpp:2933"
@@ -609,6 +626,7 @@ files:
sha1: "03cae465965935fc084fb906f8f5de7679f42dd1"
- name: jpopira.zip
path: "mame/bios/jpopira.zip"
required: true
category: bios_zip
source_ref: "source src/mame/tvgames/xavix.cpp:2936"
@@ -623,6 +641,7 @@ files:
sha1: "e8f4ab51445777fe459f9ff09333f548c4e3507c"
- name: evio.zip
path: "mame/bios/evio.zip"
required: true
category: bios_zip
source_ref: "source src/mame/tvgames/xavix.cpp:2939"
@@ -633,6 +652,7 @@ files:
sha1: "f2b7e213eb78065a63ef484a619bcfc61299e30e"
- name: tak_daig.zip
path: "mame/bios/tak_daig.zip"
required: true
category: bios_zip
source_ref: "source src/mame/tvgames/xavix.cpp:2944"
@@ -643,6 +663,7 @@ files:
sha1: "7d7b54684f8b0b92daf02738560779c7df627b91"
- name: gcslottv.zip
path: "mame/bios/gcslottv.zip"
required: true
category: bios_zip
source_ref: "source src/mame/tvgames/xavix.cpp:2946"
@@ -653,6 +674,7 @@ files:
sha1: "1c7fc0c85d817db1550d40c0258f424770e0bd81"
- name: hikara.zip
path: "mame/bios/hikara.zip"
required: true
category: bios_zip
source_ref: "source src/mame/tvgames/xavix.cpp:2951"
@@ -664,6 +686,7 @@ files:
# Bally Astrocade
- name: astrocde.zip
path: "mame/bios/astrocde.zip"
required: true
category: bios_zip
system: bally-astrocade
@@ -675,6 +698,7 @@ files:
crc32: "ebc77f3a"
- name: astrocdl.zip
path: "mame/bios/astrocdl.zip"
required: false
category: bios_zip
system: bally-astrocade
@@ -686,6 +710,7 @@ files:
crc32: "d7c517ba"
- name: astrocdw.zip
path: "mame/bios/astrocdw.zip"
required: false
category: bios_zip
system: bally-astrocade
@@ -698,6 +723,7 @@ files:
# Apple II family: machine ROM sets
- name: apple2.zip
path: "mame/bios/apple2.zip"
required: true
category: bios_zip
system: apple2
@@ -729,6 +755,7 @@ files:
crc32: "079589c4"
- name: apple2p.zip
path: "mame/bios/apple2p.zip"
required: true
category: bios_zip
system: apple2
@@ -764,6 +791,7 @@ files:
crc32: "079589c4"
- name: apple2e.zip
path: "mame/bios/apple2e.zip"
required: true
category: bios_zip
system: apple2
@@ -787,6 +815,7 @@ files:
crc32: "e47045f4"
- name: apple2ee.zip
path: "mame/bios/apple2ee.zip"
required: true
category: bios_zip
system: apple2
@@ -811,6 +840,7 @@ files:
# Apple II: peripheral device ROM sets
- name: a2diskiing.zip
path: "mame/bios/a2diskiing.zip"
required: true
category: bios_zip
system: apple2
@@ -823,6 +853,7 @@ files:
crc32: "ce7144f6"
- name: d2fdc.zip
path: "mame/bios/d2fdc.zip"
required: true
category: bios_zip
system: apple2
@@ -835,6 +866,7 @@ files:
crc32: "b72a2c70"
- name: a2cffa02.zip
path: "mame/bios/a2cffa02.zip"
required: false
category: bios_zip
system: apple2
@@ -847,6 +879,7 @@ files:
crc32: "3ecafce5"
- name: votrsc01.zip
path: "mame/bios/votrsc01.zip"
required: false
category: bios_zip
system: apple2
@@ -859,6 +892,7 @@ files:
crc32: "528d1c57"
- name: votrsc01a.zip
path: "mame/bios/votrsc01a.zip"
required: false
category: bios_zip
system: apple2
@@ -872,6 +906,7 @@ files:
# Apple IIgs
- name: apple2gs.zip
path: "mame/bios/apple2gs.zip"
required: true
category: bios_zip
system: apple-iigs
@@ -896,6 +931,7 @@ files:
# Casio Loopy
- name: casloopy.zip
path: "mame/bios/casloopy.zip"
required: true
category: bios_zip
system: casio-loopy
@@ -912,6 +948,7 @@ files:
# Casio PV-2000
- name: pv2000.zip
path: "mame/bios/pv2000.zip"
required: true
category: bios_zip
system: casio-pv2000
@@ -924,6 +961,7 @@ files:
# Coleco Adam
- name: adam.zip
path: "mame/bios/adam.zip"
required: true
category: bios_zip
system: coleco-adam
@@ -959,6 +997,7 @@ files:
crc32: "035a7a3d"
- name: adam_kb.zip
path: "mame/bios/adam_kb.zip"
required: true
category: bios_zip
system: coleco-adam
@@ -970,6 +1009,7 @@ files:
crc32: "ef204746"
- name: adam_prn.zip
path: "mame/bios/adam_prn.zip"
required: true
category: bios_zip
system: coleco-adam
@@ -981,6 +1021,7 @@ files:
crc32: "e8db783b"
- name: adam_ddp.zip
path: "mame/bios/adam_ddp.zip"
required: true
category: bios_zip
system: coleco-adam
@@ -992,6 +1033,7 @@ files:
crc32: "6b9ea1cf"
- name: adam_fdc.zip
path: "mame/bios/adam_fdc.zip"
required: true
category: bios_zip
system: coleco-adam
@@ -1003,30 +1045,35 @@ files:
crc32: "4b0b7143"
- name: adam_fdc_320kb.zip
path: "mame/bios/adam_fdc_320kb.zip"
required: false
category: bios_zip
system: coleco-adam
source_ref: "upstream src/devices/bus/adamnet/fdc.cpp:76-85"
- name: adam_fdc_a720dipi.zip
path: "mame/bios/adam_fdc_a720dipi.zip"
required: false
category: bios_zip
system: coleco-adam
source_ref: "upstream src/devices/bus/adamnet/fdc.cpp:92-96"
- name: adam_fdc_fp720at.zip
path: "mame/bios/adam_fdc_fp720at.zip"
required: false
category: bios_zip
system: coleco-adam
source_ref: "upstream src/devices/bus/adamnet/fdc.cpp:103-107"
- name: adam_fdc_mihddd.zip
path: "mame/bios/adam_fdc_mihddd.zip"
required: false
category: bios_zip
system: coleco-adam
source_ref: "upstream src/devices/bus/adamnet/fdc.cpp:114-117"
- name: adam_spi.zip
path: "mame/bios/adam_spi.zip"
required: false
category: bios_zip
system: coleco-adam
@@ -1034,6 +1081,7 @@ files:
# Entex Adventure Vision
- name: advision.zip
path: "mame/bios/advision.zip"
required: true
category: bios_zip
system: entex-advision
@@ -1050,6 +1098,7 @@ files:
# Bandai RX-78
- name: rx78.zip
path: "mame/bios/rx78.zip"
required: true
category: bios_zip
system: bandai-rx78
@@ -1063,6 +1112,7 @@ files:
# VTech CreatiVision
- name: crvision.zip
path: "mame/bios/crvision.zip"
required: true
category: bios_zip
system: crvision
@@ -1074,6 +1124,7 @@ files:
crc32: "c3c590c6"
- name: fnvision.zip
path: "mame/bios/fnvision.zip"
required: false
category: bios_zip
system: crvision
@@ -1086,6 +1137,7 @@ files:
crc32: "05602697"
- name: lasr2001.zip
path: "mame/bios/lasr2001.zip"
required: false
category: bios_zip
system: crvision
@@ -1098,6 +1150,7 @@ files:
crc32: "4dc35c39"
- name: manager.zip
path: "mame/bios/manager.zip"
required: false
category: bios_zip
system: crvision
@@ -1115,6 +1168,7 @@ files:
# VTech Laser 310 (VZ-300)
- name: laser310.zip
path: "mame/bios/laser310.zip"
required: true
category: bios_zip
system: laser310
@@ -1132,6 +1186,7 @@ files:
# VTech Socrates Educational Video System
- name: socrates.zip
path: "mame/bios/socrates.zip"
required: true
category: bios_zip
system: vtech-socrates
@@ -1161,6 +1216,7 @@ files:
# Mattel Aquarius
- name: aquarius.zip
path: "mame/bios/aquarius.zip"
required: true
category: bios_zip
system: mattel-aquarius
@@ -1180,6 +1236,7 @@ files:
crc32: "e117f57c"
- name: aquarius2.zip
path: "mame/bios/aquarius2.zip"
required: true
category: bios_zip
system: mattel-aquarius
@@ -1199,6 +1256,7 @@ files:
crc32: "e117f57c"
- name: aquarius_ar.zip
path: "mame/bios/aquarius_ar.zip"
required: true
category: bios_zip
system: mattel-aquarius
@@ -1215,6 +1273,7 @@ files:
# Camputers Lynx 48K
- name: lynx48k.zip
path: "mame/bios/lynx48k.zip"
required: true
category: bios_zip
system: camplynx
@@ -1239,6 +1298,7 @@ files:
# Camputers Lynx 96K
- name: lynx96k.zip
path: "mame/bios/lynx96k.zip"
required: true
category: bios_zip
system: camplynx
@@ -1271,6 +1331,7 @@ files:
# Camputers Lynx 128K
- name: lynx128k.zip
path: "mame/bios/lynx128k.zip"
required: true
category: bios_zip
system: camplynx
@@ -1295,6 +1356,7 @@ files:
# EACA Colour Genie: parent machine ROM set
- name: cgenie.zip
path: "mame/bios/cgenie.zip"
required: true
category: bios_zip
system: cgenie
@@ -1327,6 +1389,7 @@ files:
# EACA Colour Genie: clone: New Zealand
- name: cgenienz.zip
path: "mame/bios/cgenienz.zip"
required: false
category: bios_zip
system: cgenie
@@ -1347,6 +1410,7 @@ files:
# EACA Colour Genie: expansion: FDC
- name: cgenie_fdc.zip
path: "mame/bios/cgenie_fdc.zip"
required: false
category: bios_zip
system: cgenie
@@ -1372,6 +1436,7 @@ files:
# Acorn Atom: parent machine ROM set
- name: atom.zip
path: "mame/bios/atom.zip"
required: true
category: bios_zip
system: atom
@@ -1388,6 +1453,7 @@ files:
# Acorn Atom: clone: Atom with BBC Basic
- name: atombbc.zip
path: "mame/bios/atombbc.zip"
required: false
category: bios_zip
system: atom
@@ -1404,6 +1470,7 @@ files:
# Acorn Atom: clone: Busicomputers Prophet 2
- name: prophet2.zip
path: "mame/bios/prophet2.zip"
required: false
category: bios_zip
system: atom
@@ -1424,6 +1491,7 @@ files:
# Acorn Atom: bus device: Disc Pack (default on pl6)
- name: atom_discpack.zip
path: "mame/bios/atom_discpack.zip"
required: false
category: bios_zip
system: atom
@@ -1437,6 +1505,7 @@ files:
# Acorn Atom: bus device: GDOS
- name: atom_gdos.zip
path: "mame/bios/atom_gdos.zip"
required: false
category: bios_zip
system: atom
@@ -1449,6 +1518,7 @@ files:
# Acorn Atom: bus device: GDOS-2015
- name: atom_gdos2015.zip
path: "mame/bios/atom_gdos2015.zip"
required: false
category: bios_zip
system: atom
@@ -1461,6 +1531,7 @@ files:
# Acorn Atom: bus device: Speech Module
- name: atom_speech.zip
path: "mame/bios/atom_speech.zip"
required: false
category: bios_zip
system: atom
@@ -1473,6 +1544,7 @@ files:
# Acorn Atom: bus device: 80 Column VDU
- name: atom_vdu80.zip
path: "mame/bios/atom_vdu80.zip"
required: false
category: bios_zip
system: atom
@@ -1485,6 +1557,7 @@ files:
# Tiger game.com
- name: gamecom.zip
path: "mame/bios/gamecom.zip"
required: true
category: bios_zip
system: tiger-game-com
@@ -1501,6 +1574,7 @@ files:
# Bit Corporation Gamate
- name: gamate.zip
path: "mame/bios/gamate.zip"
required: true
category: bios_zip
system: gamate
@@ -1517,6 +1591,7 @@ files:
# Epoch Game Pocket Computer
- name: gamepock.zip
path: "mame/bios/gamepock.zip"
required: true
category: bios_zip
system: gamepock
@@ -1529,6 +1604,7 @@ files:
# Hartung Game Master
- name: gmaster.zip
path: "mame/bios/gmaster.zip"
required: true
category: bios_zip
system: hartung-game-master
@@ -1541,6 +1617,7 @@ files:
# Fujitsu FM-7 family
- name: fm7.zip
path: "mame/bios/fm7.zip"
required: true
category: bios_zip
system: fm7
@@ -1568,6 +1645,7 @@ files:
crc32: "62402ac9"
- name: fm77av.zip
path: "mame/bios/fm77av.zip"
required: true
category: bios_zip
system: fm7
@@ -1595,6 +1673,7 @@ files:
crc32: "e9f16c42"
- name: fmnew7.zip
path: "mame/bios/fmnew7.zip"
required: false
category: bios_zip
system: fm7
@@ -1612,6 +1691,7 @@ files:
# Sharp MZ-80K (Japanese, parent)
- name: mz80kj.zip
path: "mame/bios/mz80kj.zip"
required: true
category: bios_zip
system: mz80k
@@ -1636,6 +1716,7 @@ files:
# Sharp MZ-80K (clone)
- name: mz80k.zip
path: "mame/bios/mz80k.zip"
required: true
category: bios_zip
system: mz80k
@@ -1668,6 +1749,7 @@ files:
# Sharp MZ-2000
- name: mz2000.zip
path: "mame/bios/mz2000.zip"
required: true
category: bios_zip
system: mz2000
@@ -1684,6 +1766,7 @@ files:
# Sharp MZ-2500
- name: mz2500.zip
path: "mame/bios/mz2500.zip"
required: true
category: bios_zip
system: mz2500
@@ -1716,6 +1799,7 @@ files:
# Sharp MZ-700
- name: mz700.zip
path: "mame/bios/mz700.zip"
required: true
category: bios_zip
system: mz700
@@ -1732,6 +1816,7 @@ files:
# Sharp MZ-800
- name: mz800.zip
path: "mame/bios/mz800.zip"
required: true
category: bios_zip
system: mz800
@@ -1756,6 +1841,7 @@ files:
# NEC PC-6001 family
- name: pc6001.zip
path: "mame/bios/pc6001.zip"
required: true
category: bios_zip
system: pc60
@@ -1775,6 +1861,7 @@ files:
crc32: "b0142d32"
- name: pc6001a.zip
path: "mame/bios/pc6001a.zip"
required: false
category: bios_zip
system: pc60
@@ -1794,6 +1881,7 @@ files:
crc32: "49c21d08"
- name: pc6001mk2.zip
path: "mame/bios/pc6001mk2.zip"
required: true
category: bios_zip
system: pc60
@@ -1821,6 +1909,7 @@ files:
crc32: "20c8f3eb"
- name: pc6601.zip
path: "mame/bios/pc6601.zip"
required: false
category: bios_zip
system: pc60
@@ -1848,6 +1937,7 @@ files:
crc32: "20c8f3eb"
- name: pc6001mk2sr.zip
path: "mame/bios/pc6001mk2sr.zip"
required: true
category: bios_zip
system: pc60
@@ -1867,6 +1957,7 @@ files:
crc32: "73bc3256"
- name: pc6601sr.zip
path: "mame/bios/pc6601sr.zip"
required: false
category: bios_zip
system: pc60
@@ -1911,6 +2002,7 @@ files:
# Technosys Aamber Pegasus
- name: pegasus.zip
path: "mame/bios/pegasus.zip"
required: true
category: bios_zip
system: pegasus
@@ -1956,6 +2048,7 @@ files:
# Funtech Super A'Can
- name: supracan.zip
path: "mame/bios/supracan.zip"
required: true
category: bios_zip
system: supracan
@@ -1975,6 +2068,7 @@ files:
crc32: "bf950ab7"
- name: umc6650.zip
path: "mame/bios/umc6650.zip"
required: true
category: bios_zip
system: supracan
@@ -1990,6 +2084,7 @@ files:
# vis.cpp: vis (parent, WORKING). Tandy/Memorex MD-2500 (1992).
# CD-ROM-based multimedia system built on modified 286 PC hardware.
- name: vis.zip
path: "mame/bios/vis.zip"
required: true
category: bios_zip
system: tandy-vis
@@ -2011,6 +2106,7 @@ files:
# Z80-based home computers (1977-1983). Only trs80 (Level I) is MACHINE_SUPPORTS_SAVE,
# all others MACHINE_NOT_WORKING. Software lists: trs80_cass, trs80_flop, trs80_quik.
- name: trs80.zip
path: "mame/bios/trs80.zip"
required: true
category: bios_zip
system: trs80
@@ -2027,6 +2123,7 @@ files:
crc32: "0033f2b9"
- name: trs80l2.zip
path: "mame/bios/trs80l2.zip"
required: true
category: bios_zip
system: trs80
@@ -2066,6 +2163,7 @@ files:
crc32: "0033f2b9"
- name: eg3003.zip
path: "mame/bios/eg3003.zip"
required: false
category: bios_zip
system: trs80
@@ -2097,6 +2195,7 @@ files:
crc32: "150c5f1f"
- name: sys80.zip
path: "mame/bios/sys80.zip"
required: false
category: bios_zip
system: trs80
@@ -2113,6 +2212,7 @@ files:
crc32: "0033f2b9"
- name: ht1080z.zip
path: "mame/bios/ht1080z.zip"
required: false
category: bios_zip
system: trs80
@@ -2125,6 +2225,7 @@ files:
crc32: "e8c59d4f"
- name: ht1080z2.zip
path: "mame/bios/ht1080z2.zip"
required: false
category: bios_zip
system: trs80
@@ -2141,6 +2242,7 @@ files:
crc32: "6728f0ab"
- name: ht108064.zip
path: "mame/bios/ht108064.zip"
required: false
category: bios_zip
system: trs80
@@ -2165,6 +2267,7 @@ files:
crc32: "e76b73a4"
- name: trs80m3.zip
path: "mame/bios/trs80m3.zip"
required: true
category: bios_zip
system: trs80
@@ -2204,6 +2307,7 @@ files:
crc32: "444c8b60"
- name: trs80m4.zip
path: "mame/bios/trs80m4.zip"
required: false
category: bios_zip
system: trs80
@@ -2222,6 +2326,7 @@ files:
crc32: "444c8b60"
- name: trs80m4p.zip
path: "mame/bios/trs80m4p.zip"
required: false
category: bios_zip
system: trs80
@@ -2246,6 +2351,7 @@ files:
crc32: "1ac44bea"
- name: cp500.zip
path: "mame/bios/cp500.zip"
required: false
category: bios_zip
system: trs80
@@ -2263,6 +2369,7 @@ files:
# TI-99/4A family: machine ROM sets
- name: ti99_4a.zip
path: "mame/bios/ti99_4a.zip"
required: true
category: bios_zip
system: ti99
@@ -2291,6 +2398,7 @@ files:
crc32: "37859301"
- name: ti99_4.zip
path: "mame/bios/ti99_4.zip"
required: false
category: bios_zip
system: ti99
@@ -2320,6 +2428,7 @@ files:
# TI-99/4A: peripheral device ROM sets
- name: ti99_speech.zip
path: "mame/bios/ti99_speech.zip"
required: false
category: bios_zip
system: ti99
@@ -2336,6 +2445,7 @@ files:
crc32: "65d00401"
- name: ti99_fdc.zip
path: "mame/bios/ti99_fdc.zip"
required: false
category: bios_zip
system: ti99
@@ -2352,6 +2462,7 @@ files:
crc32: "2c921087"
- name: ti99_bwg.zip
path: "mame/bios/ti99_bwg.zip"
required: false
category: bios_zip
system: ti99
@@ -2364,6 +2475,7 @@ files:
crc32: "06f1ec89"
- name: ti99_ccdcc.zip
path: "mame/bios/ti99_ccdcc.zip"
required: false
category: bios_zip
system: ti99
@@ -2380,6 +2492,7 @@ files:
crc32: "9c4e5c08"
- name: ti99_ccfdc.zip
path: "mame/bios/ti99_ccfdc.zip"
required: false
category: bios_zip
system: ti99
@@ -2396,6 +2509,7 @@ files:
crc32: "0cad8f5b"
- name: ti99_rs232.zip
path: "mame/bios/ti99_rs232.zip"
required: false
category: bios_zip
system: ti99
@@ -2408,6 +2522,7 @@ files:
crc32: "eab382fb"
- name: ti99_evpc.zip
path: "mame/bios/ti99_evpc.zip"
required: false
category: bios_zip
system: ti99
@@ -2420,6 +2535,7 @@ files:
crc32: "a062b75d"
- name: ti99_hfdc.zip
path: "mame/bios/ti99_hfdc.zip"
required: false
category: bios_zip
system: ti99
@@ -2432,6 +2548,7 @@ files:
crc32: "66fbe0ed"
- name: ti99_pcode.zip
path: "mame/bios/ti99_pcode.zip"
required: false
category: bios_zip
system: ti99
@@ -2480,6 +2597,7 @@ files:
crc32: "46a06b8b"
- name: ti99_ddcc1.zip
path: "mame/bios/ti99_ddcc1.zip"
required: false
category: bios_zip
system: ti99
@@ -2492,6 +2610,7 @@ files:
crc32: "042968a9"
- name: ti99_myarcmem.zip
path: "mame/bios/ti99_myarcmem.zip"
required: false
category: bios_zip
system: ti99
@@ -2504,6 +2623,7 @@ files:
crc32: "41fbb96d"
- name: ti99_tipi.zip
path: "mame/bios/ti99_tipi.zip"
required: false
category: bios_zip
system: ti99
@@ -2524,6 +2644,7 @@ files:
crc32: "3b9cb922"
- name: ti99_whtscsi.zip
path: "mame/bios/ti99_whtscsi.zip"
required: false
category: bios_zip
system: ti99
@@ -2536,6 +2657,7 @@ files:
crc32: "6e067c22"
- name: ti99_arcturus.zip
path: "mame/bios/ti99_arcturus.zip"
required: false
category: bios_zip
system: ti99
@@ -2556,6 +2678,7 @@ files:
crc32: "e9ce9f4e"
- name: ti99_gkracker.zip
path: "mame/bios/ti99_gkracker.zip"
required: false
category: bios_zip
system: ti99
-13
View File
@@ -238,19 +238,6 @@ files:
description: "C-BIOS MSX-MUSIC ROM, slot 3-1 from page 2"
source_ref: "MSX.emu/res/firmware/Machines/MSX2+ - C-BIOS/config.ini:31, MSX.emu/src/blueMSX/Board/Machine.c:300-339,450-468,1168-1181, MSX.emu/src/blueMSX/Memory/romMapperMsxMusic.c:55-68"
- name: "cbios.txt"
path: "cbios.txt"
system: msx
required: false
bundled: true
category: game_data
size: 10469
sha1: "78ae5c049bc94ee1284536c419388b1ab7ac218c"
description: "C-BIOS 0.29 release notes and licence, bundled beside the machine folders"
note: >-
Shipped in the application bundle. No code reads it.
source_ref: "MSX.emu/res/firmware/cbios.txt"
- name: "config.ini"
path: "Machines/MSX/config.ini"
system: msx
+105 -105
View File
@@ -53,7 +53,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Philips_VG_8020"
source_ref: "share/machines/Philips_VG_8020.xml:52-55"
source_ref: "share/machines/Philips_VG_8020.xml:52-55, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "hb-75p_basic-bios1.rom"
aliases: ["cx5m_basic-bios1.rom"]
@@ -62,7 +62,7 @@ files:
required: false
validation: [sha1]
description: "Read by machines Sony_HB-75P, Yamaha_CX5M"
source_ref: "share/machines/Sony_HB-75P.xml:59-62, share/machines/Yamaha_CX5M.xml:54-57"
source_ref: "share/machines/Sony_HB-75P.xml:59-62, share/machines/Yamaha_CX5M.xml:54-57, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
note: "share/machines/Yamaha_CX5M.xml names it cx5m_basic-bios1.rom."
- name: "hb-75p_firmware.rom"
@@ -71,7 +71,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Sony_HB-75P"
source_ref: "share/machines/Sony_HB-75P.xml:66-69"
source_ref: "share/machines/Sony_HB-75P.xml:66-69, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "hx-10_basic-bios1.rom"
path: "openmsx/share/systemroms/hx-10_basic-bios1.rom"
@@ -79,7 +79,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Toshiba_HX-10"
source_ref: "share/machines/Toshiba_HX-10.xml:58-61"
source_ref: "share/machines/Toshiba_HX-10.xml:58-61, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "sfg-01.rom"
path: "openmsx/share/systemroms/sfg-01.rom"
@@ -87,7 +87,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Yamaha_CX5M and extension Yamaha_SFG-01"
source_ref: "share/machines/Yamaha_CX5M.xml:80-83, share/extensions/Yamaha_SFG-01.xml:31-34"
source_ref: "share/machines/Yamaha_CX5M.xml:80-83, share/extensions/Yamaha_SFG-01.xml:31-34, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "NMS8245SystemROM1.08.bin"
path: "openmsx/share/systemroms/NMS8245SystemROM1.08.bin"
@@ -95,7 +95,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Philips_NMS_8245"
source_ref: "share/machines/Philips_NMS_8245.xml:61-65, share/machines/Philips_NMS_8245.xml:92-96, share/machines/Philips_NMS_8245.xml:134-138"
source_ref: "share/machines/Philips_NMS_8245.xml:61-65, share/machines/Philips_NMS_8245.xml:92-96, share/machines/Philips_NMS_8245.xml:134-138, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "NMS8245SystemROM1.06.bin"
path: "openmsx/share/systemroms/NMS8245SystemROM1.06.bin"
@@ -103,7 +103,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Philips_NMS_8245"
source_ref: "share/machines/Philips_NMS_8245.xml:66-70, share/machines/Philips_NMS_8245.xml:97-101, share/machines/Philips_NMS_8245.xml:139-143"
source_ref: "share/machines/Philips_NMS_8245.xml:66-70, share/machines/Philips_NMS_8245.xml:97-101, share/machines/Philips_NMS_8245.xml:139-143, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "NMS8245SystemROM1.05.bin"
path: "openmsx/share/systemroms/NMS8245SystemROM1.05.bin"
@@ -111,7 +111,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Philips_NMS_8245"
source_ref: "share/machines/Philips_NMS_8245.xml:71-75, share/machines/Philips_NMS_8245.xml:102-106"
source_ref: "share/machines/Philips_NMS_8245.xml:71-75, share/machines/Philips_NMS_8245.xml:102-106, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "nms8245_basic-bios2.rom"
aliases: ["nms8250_basic-bios2.rom"]
@@ -120,7 +120,7 @@ files:
required: false
validation: [sha1]
description: "Read by machines Philips_NMS_8245, Philips_NMS_8250"
source_ref: "share/machines/Philips_NMS_8245.xml:76-79, share/machines/Philips_NMS_8250.xml:23-26"
source_ref: "share/machines/Philips_NMS_8245.xml:76-79, share/machines/Philips_NMS_8250.xml:23-26, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
note: "share/machines/Philips_NMS_8250.xml names it nms8250_basic-bios2.rom."
- name: "nms8245_msx2sub.rom"
@@ -129,7 +129,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Philips_NMS_8245"
source_ref: "share/machines/Philips_NMS_8245.xml:107-111"
source_ref: "share/machines/Philips_NMS_8245.xml:107-111, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "NMS8245SystemROM1.05.bin"
path: "openmsx/share/systemroms/7e6a267e/NMS8245SystemROM1.05.bin"
@@ -137,7 +137,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Philips_NMS_8245"
source_ref: "share/machines/Philips_NMS_8245.xml:144-148"
source_ref: "share/machines/Philips_NMS_8245.xml:144-148, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "nms8245_disk.rom"
path: "openmsx/share/systemroms/nms8245_disk.rom"
@@ -145,7 +145,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Philips_NMS_8245"
source_ref: "share/machines/Philips_NMS_8245.xml:149-153"
source_ref: "share/machines/Philips_NMS_8245.xml:149-153, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "nms8250_msx2sub.rom"
path: "openmsx/share/systemroms/nms8250_msx2sub.rom"
@@ -153,7 +153,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Philips_NMS_8250"
source_ref: "share/machines/Philips_NMS_8250.xml:39-42"
source_ref: "share/machines/Philips_NMS_8250.xml:39-42, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "nms8250_disk.rom"
path: "openmsx/share/systemroms/nms8250_disk.rom"
@@ -161,7 +161,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Philips_NMS_8250"
source_ref: "share/machines/Philips_NMS_8250.xml:62-67"
source_ref: "share/machines/Philips_NMS_8250.xml:62-67, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "hb-f700p_basic-bios2.rom"
path: "openmsx/share/systemroms/hb-f700p_basic-bios2.rom"
@@ -169,7 +169,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Sony_HB-F700P"
source_ref: "share/machines/Sony_HB-F700P.xml:65-68"
source_ref: "share/machines/Sony_HB-F700P.xml:65-68, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "hb-f700p_msx2sub.rom"
path: "openmsx/share/systemroms/hb-f700p_msx2sub.rom"
@@ -177,7 +177,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Sony_HB-F700P"
source_ref: "share/machines/Sony_HB-F700P.xml:83-87"
source_ref: "share/machines/Sony_HB-F700P.xml:83-87, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "hb-f700p_disk.rom"
path: "openmsx/share/systemroms/hb-f700p_disk.rom"
@@ -185,7 +185,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Sony_HB-F700P"
source_ref: "share/machines/Sony_HB-F700P.xml:94-98"
source_ref: "share/machines/Sony_HB-F700P.xml:94-98, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "hb-f1xd_basic-bios2.rom"
path: "openmsx/share/systemroms/hb-f1xd_basic-bios2.rom"
@@ -193,7 +193,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Sony_HB-F1XD"
source_ref: "share/machines/Sony_HB-F1XD.xml:69-72"
source_ref: "share/machines/Sony_HB-F1XD.xml:69-72, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "hb-f1xd_msx2sub.rom"
path: "openmsx/share/systemroms/hb-f1xd_msx2sub.rom"
@@ -201,7 +201,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Sony_HB-F1XD"
source_ref: "share/machines/Sony_HB-F1XD.xml:85-88"
source_ref: "share/machines/Sony_HB-F1XD.xml:85-88, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "hb-f1xd_disk.rom"
aliases: ["hbd-20w.rom", "hbd-f1.rom"]
@@ -210,7 +210,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Sony_HB-F1XD and extensions Sony_HBD-20W, Sony_HBD-F1"
source_ref: "share/machines/Sony_HB-F1XD.xml:95-98, share/extensions/Sony_HBD-20W.xml:21-24, share/extensions/Sony_HBD-F1.xml:21-24"
source_ref: "share/machines/Sony_HB-F1XD.xml:95-98, share/extensions/Sony_HBD-20W.xml:21-24, share/extensions/Sony_HBD-F1.xml:21-24, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
note: "share/extensions/Sony_HBD-20W.xml names it hbd-20w.rom, and share/extensions/Sony_HBD-F1.xml names it hbd-f1.rom."
- name: "hb-f1xv_kanjifont.rom"
@@ -220,7 +220,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Sony_HB-F1XV and extension Sony_HBI-J1"
source_ref: "share/machines/Sony_HB-F1XV.xml:30-33, share/extensions/Sony_HBI-J1.xml:15-18"
source_ref: "share/machines/Sony_HB-F1XV.xml:30-33, share/extensions/Sony_HBI-J1.xml:15-18, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
note: "share/extensions/Sony_HBI-J1.xml names it hbi-j1_kanjifont.rom."
- name: "Sony_HB-F1XV.rom"
@@ -229,7 +229,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Sony_HB-F1XV"
source_ref: "share/machines/Sony_HB-F1XV.xml:89-93, share/machines/Sony_HB-F1XV.xml:136-140, share/machines/Sony_HB-F1XV.xml:148-152, share/machines/Sony_HB-F1XV.xml:166-170, share/machines/Sony_HB-F1XV.xml:182-186"
source_ref: "share/machines/Sony_HB-F1XV.xml:89-93, share/machines/Sony_HB-F1XV.xml:136-140, share/machines/Sony_HB-F1XV.xml:148-152, share/machines/Sony_HB-F1XV.xml:166-170, share/machines/Sony_HB-F1XV.xml:182-186, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "hb-f1xv_basic-bios2p.rom"
path: "openmsx/share/systemroms/hb-f1xv_basic-bios2p.rom"
@@ -237,7 +237,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Sony_HB-F1XV"
source_ref: "share/machines/Sony_HB-F1XV.xml:94-97"
source_ref: "share/machines/Sony_HB-F1XV.xml:94-97, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "hb-f1xv.rom"
aliases: ["hbi-j1_msx-je.rom"]
@@ -246,7 +246,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Sony_HB-F1XV and extension Sony_HBI-J1"
source_ref: "share/machines/Sony_HB-F1XV.xml:108-111, share/extensions/Sony_HBI-J1.xml:27-30"
source_ref: "share/machines/Sony_HB-F1XV.xml:108-111, share/extensions/Sony_HBI-J1.xml:27-30, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
note: "share/extensions/Sony_HBI-J1.xml names it hbi-j1_msx-je.rom."
- name: "hb-f1xv_msx2sub.rom"
@@ -256,7 +256,7 @@ files:
required: false
validation: [sha1]
description: "Read by machines Sony_HB-F1XV, Panasonic_FS-A1WSX"
source_ref: "share/machines/Sony_HB-F1XV.xml:141-144, share/machines/Panasonic_FS-A1WSX.xml:158-161"
source_ref: "share/machines/Sony_HB-F1XV.xml:141-144, share/machines/Panasonic_FS-A1WSX.xml:158-161, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
note: "share/machines/Panasonic_FS-A1WSX.xml names it fs-a1wsx_msx2psub.rom."
- name: "hb-f1xv_kanjibasic.rom"
@@ -266,7 +266,7 @@ files:
required: false
validation: [sha1]
description: "Read by machines Sony_HB-F1XV, Panasonic_FS-A1WSX"
source_ref: "share/machines/Sony_HB-F1XV.xml:153-156, share/machines/Panasonic_FS-A1WSX.xml:165-168"
source_ref: "share/machines/Sony_HB-F1XV.xml:153-156, share/machines/Panasonic_FS-A1WSX.xml:165-168, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
note: "share/machines/Panasonic_FS-A1WSX.xml names it fs-a1wsx_kanjibasic.rom."
- name: "hb-f1xv_disk.rom"
@@ -275,7 +275,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Sony_HB-F1XV"
source_ref: "share/machines/Sony_HB-F1XV.xml:171-174"
source_ref: "share/machines/Sony_HB-F1XV.xml:171-174, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "hb-f1xv_fmbasic.rom"
path: "openmsx/share/systemroms/hb-f1xv_fmbasic.rom"
@@ -283,7 +283,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Sony_HB-F1XV"
source_ref: "share/machines/Sony_HB-F1XV.xml:187-190"
source_ref: "share/machines/Sony_HB-F1XV.xml:187-190, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "fs-a1wsx_kanjifont.rom"
aliases: ["fs-a1st_kanjifont.rom", "fs-a1gt_kanjifont.rom"]
@@ -292,7 +292,7 @@ files:
required: false
validation: [sha1]
description: "Read by machines Panasonic_FS-A1WSX, Panasonic_FS-A1ST, Panasonic_FS-A1GT"
source_ref: "share/machines/Panasonic_FS-A1WSX.xml:28-31, share/machines/Panasonic_FS-A1ST.xml:32-35, share/machines/Panasonic_FS-A1GT.xml:140-143"
source_ref: "share/machines/Panasonic_FS-A1WSX.xml:28-31, share/machines/Panasonic_FS-A1ST.xml:32-35, share/machines/Panasonic_FS-A1GT.xml:140-143, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
note: "share/machines/Panasonic_FS-A1ST.xml names it fs-a1st_kanjifont.rom, and share/machines/Panasonic_FS-A1GT.xml names it fs-a1gt_kanjifont.rom."
- name: "fs-a1wsx_IC18.rom"
@@ -301,7 +301,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Panasonic_FS-A1WSX"
source_ref: "share/machines/Panasonic_FS-A1WSX.xml:97-101, share/machines/Panasonic_FS-A1WSX.xml:114-118, share/machines/Panasonic_FS-A1WSX.xml:153-157, share/machines/Panasonic_FS-A1WSX.xml:177-181"
source_ref: "share/machines/Panasonic_FS-A1WSX.xml:97-101, share/machines/Panasonic_FS-A1WSX.xml:114-118, share/machines/Panasonic_FS-A1WSX.xml:153-157, share/machines/Panasonic_FS-A1WSX.xml:177-181, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "fs-a1wsx_basic-bios2p.rom"
path: "openmsx/share/systemroms/fs-a1wsx_basic-bios2p.rom"
@@ -309,7 +309,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Panasonic_FS-A1WSX"
source_ref: "share/machines/Panasonic_FS-A1WSX.xml:102-105"
source_ref: "share/machines/Panasonic_FS-A1WSX.xml:102-105, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "fs-a1wsx_fmbasic.rom"
path: "openmsx/share/systemroms/fs-a1wsx_fmbasic.rom"
@@ -317,7 +317,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Panasonic_FS-A1WSX"
source_ref: "share/machines/Panasonic_FS-A1WSX.xml:119-123"
source_ref: "share/machines/Panasonic_FS-A1WSX.xml:119-123, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "fs-a1wsx_disk.rom"
path: "openmsx/share/systemroms/fs-a1wsx_disk.rom"
@@ -325,7 +325,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Panasonic_FS-A1WSX"
source_ref: "share/machines/Panasonic_FS-A1WSX.xml:182-185"
source_ref: "share/machines/Panasonic_FS-A1WSX.xml:182-185, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "fs-a1wsx_firmware.rom"
path: "openmsx/share/systemroms/fs-a1wsx_firmware.rom"
@@ -333,7 +333,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Panasonic_FS-A1WSX"
source_ref: "share/machines/Panasonic_FS-A1WSX.xml:211-214"
source_ref: "share/machines/Panasonic_FS-A1WSX.xml:211-214, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "fs-a1st_firmware.rom"
path: "openmsx/share/systemroms/fs-a1st_firmware.rom"
@@ -341,7 +341,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Panasonic_FS-A1ST"
source_ref: "share/machines/Panasonic_FS-A1ST.xml:22-26"
source_ref: "share/machines/Panasonic_FS-A1ST.xml:22-26, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "fs-a1gt_firmware.rom"
path: "openmsx/share/systemroms/fs-a1gt_firmware.rom"
@@ -349,7 +349,7 @@ files:
required: false
validation: [sha1]
description: "Read by machine Panasonic_FS-A1GT"
source_ref: "share/machines/Panasonic_FS-A1GT.xml:22-26"
source_ref: "share/machines/Panasonic_FS-A1GT.xml:22-26, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "ascii_msxdos22.rom"
path: "openmsx/share/systemroms/ascii_msxdos22.rom"
@@ -357,7 +357,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension ASCII_MSX-DOS2"
source_ref: "share/extensions/ASCII_MSX-DOS2.xml:18-21, share/extensions/ASCII_MSX-DOS2.xml:36-40"
source_ref: "share/extensions/ASCII_MSX-DOS2.xml:18-21, share/extensions/ASCII_MSX-DOS2.xml:36-40, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "msx-write_kanjifont.rom"
aliases: ["ec-702_kanjifont.rom"]
@@ -366,7 +366,7 @@ files:
required: false
validation: [sha1]
description: "Read by extensions ASCII_Japanese_MSX-Write, Konami_EC-702"
source_ref: "share/extensions/ASCII_Japanese_MSX-Write.xml:15-18, share/extensions/Konami_EC-702.xml:14-17"
source_ref: "share/extensions/ASCII_Japanese_MSX-Write.xml:15-18, share/extensions/Konami_EC-702.xml:14-17, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
note: "share/extensions/Konami_EC-702.xml names it ec-702_kanjifont.rom."
- name: "Japanese MSX-Write (1986) (Ascii) (J).rom"
@@ -375,7 +375,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension ASCII_Japanese_MSX-Write"
source_ref: "share/extensions/ASCII_Japanese_MSX-Write.xml:26-29"
source_ref: "share/extensions/ASCII_Japanese_MSX-Write.xml:26-29, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "msx-write_ii_kanjifont.rom"
path: "openmsx/share/systemroms/msx-write_ii_kanjifont.rom"
@@ -383,7 +383,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension ASCII_Japanese_MSX-Write_II"
source_ref: "share/extensions/ASCII_Japanese_MSX-Write_II.xml:15-18"
source_ref: "share/extensions/ASCII_Japanese_MSX-Write_II.xml:15-18, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "Japanese MSX-Write II (1988) (Ascii) (J).rom"
path: "openmsx/share/systemroms/Japanese MSX-Write II (1988) (Ascii) (J).rom"
@@ -391,7 +391,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension ASCII_Japanese_MSX-Write_II"
source_ref: "share/extensions/ASCII_Japanese_MSX-Write_II.xml:28-31"
source_ref: "share/extensions/ASCII_Japanese_MSX-Write_II.xml:28-31, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "msxdos22.rom"
path: "openmsx/share/systemroms/msxdos22.rom"
@@ -399,7 +399,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension msxdos2"
source_ref: "share/extensions/msxdos2.xml:17-22"
source_ref: "share/extensions/msxdos2.xml:17-22, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "avt_dpf-550_disk.rom"
path: "openmsx/share/systemroms/avt_dpf-550_disk.rom"
@@ -407,7 +407,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension AVT_DPF-550"
source_ref: "share/extensions/AVT_DPF-550.xml:20-23"
source_ref: "share/extensions/AVT_DPF-550.xml:20-23, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "mu-pack.rom"
path: "openmsx/share/systemroms/mu-pack.rom"
@@ -415,7 +415,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension mu-PACK"
source_ref: "share/extensions/mu-PACK.xml:26-29"
source_ref: "share/extensions/mu-PACK.xml:26-29, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "fmpak.rom"
path: "openmsx/share/systemroms/fmpak.rom"
@@ -423,7 +423,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Checkmark_FM_Stereo_PAK"
source_ref: "share/extensions/Checkmark_FM_Stereo_PAK.xml:25-28"
source_ref: "share/extensions/Checkmark_FM_Stereo_PAK.xml:25-28, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "computer_mates_disk_interface.rom"
path: "openmsx/share/systemroms/computer_mates_disk_interface.rom"
@@ -431,7 +431,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Computer_Mates_Disk_Interface"
source_ref: "share/extensions/Computer_Mates_Disk_Interface.xml:44-47"
source_ref: "share/extensions/Computer_Mates_Disk_Interface.xml:44-47, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "ROM_Hunter_Mk2.rom"
path: "openmsx/share/systemroms/ROM_Hunter_Mk2.rom"
@@ -439,7 +439,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension ROM_Hunter_Mk2"
source_ref: "share/extensions/ROM_Hunter_Mk2.xml:17-20"
source_ref: "share/extensions/ROM_Hunter_Mk2.xml:17-20, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "ddx_3.0.rom"
path: "openmsx/share/systemroms/ddx_3.0.rom"
@@ -447,7 +447,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension DDX_3.0"
source_ref: "share/extensions/DDX_3.0.xml:20-25"
source_ref: "share/extensions/DDX_3.0.xml:20-25, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "mr512.rom"
path: "openmsx/share/systemroms/mr512.rom"
@@ -455,7 +455,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension MegaRAM_Disk"
source_ref: "share/extensions/MegaRAM_Disk.xml:19-22"
source_ref: "share/extensions/MegaRAM_Disk.xml:19-22, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "ESPUNAPI_IO.rom"
path: "openmsx/share/systemroms/ESPUNAPI_IO.rom"
@@ -463,7 +463,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension smxwifi"
source_ref: "share/extensions/smxwifi.xml:18-21"
source_ref: "share/extensions/smxwifi.xml:18-21, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "chakkari.rom"
path: "openmsx/share/systemroms/chakkari.rom"
@@ -471,7 +471,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Epson_Chakkari_Copy"
source_ref: "share/extensions/Epson_Chakkari_Copy.xml:18-22"
source_ref: "share/extensions/Epson_Chakkari_Copy.xml:18-22, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "rs232.rom"
path: "openmsx/share/systemroms/rs232.rom"
@@ -479,7 +479,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension rs232"
source_ref: "share/extensions/rs232.xml:18-22"
source_ref: "share/extensions/rs232.xml:18-22, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "ct-80e.rom"
path: "openmsx/share/systemroms/ct-80e.rom"
@@ -487,7 +487,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Gradiente_CT-80E"
source_ref: "share/extensions/Gradiente_CT-80E.xml:26-29"
source_ref: "share/extensions/Gradiente_CT-80E.xml:26-29, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "mpc-310h.rom"
path: "openmsx/share/systemroms/mpc-310h.rom"
@@ -495,7 +495,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Hitachi_MPC-310H"
source_ref: "share/extensions/Hitachi_MPC-310H.xml:20-23"
source_ref: "share/extensions/Hitachi_MPC-310H.xml:20-23, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "yrw801.rom"
path: "openmsx/share/systemroms/yrw801.rom"
@@ -503,7 +503,7 @@ files:
required: false
validation: [sha1]
description: "Read by extensions Jun_Soft_DalSoRi_R2, moonsound"
source_ref: "share/extensions/Jun_Soft_DalSoRi_R2.xml:22-25, share/extensions/moonsound.xml:16-19"
source_ref: "share/extensions/Jun_Soft_DalSoRi_R2.xml:22-25, share/extensions/moonsound.xml:16-19, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "Konami EC-701 program.rom"
path: "openmsx/share/systemroms/Konami EC-701 program.rom"
@@ -511,7 +511,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Konami_EC-701"
source_ref: "share/extensions/Konami_EC-701.xml:17-21"
source_ref: "share/extensions/Konami_EC-701.xml:17-21, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "Konami EC-701 dictionary.rom"
path: "openmsx/share/systemroms/Konami EC-701 dictionary.rom"
@@ -519,7 +519,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Konami_EC-701"
source_ref: "share/extensions/Konami_EC-701.xml:22-25"
source_ref: "share/extensions/Konami_EC-701.xml:22-25, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "megaflashrom_scc+_sd.rom"
path: "openmsx/share/systemroms/megaflashrom_scc+_sd.rom"
@@ -527,7 +527,7 @@ files:
required: false
validation: [sha1]
description: "Flash content read by extension MegaFlashROM_SCC+_SD, found by its sha1 alone: the XML names no file"
source_ref: "share/extensions/MegaFlashROM_SCC+_SD.xml:20-22"
source_ref: "share/extensions/MegaFlashROM_SCC+_SD.xml:20-22, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "cdx-2.rom"
path: "openmsx/share/systemroms/cdx-2.rom"
@@ -535,7 +535,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Microsol_CDX-2"
source_ref: "share/extensions/Microsol_CDX-2.xml:20-23"
source_ref: "share/extensions/Microsol_CDX-2.xml:20-23, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "ml-30dc.rom"
path: "openmsx/share/systemroms/ml-30dc.rom"
@@ -543,7 +543,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Mitsubishi_ML-30DC_ML-30FD"
source_ref: "share/extensions/Mitsubishi_ML-30DC_ML-30FD.xml:19-22"
source_ref: "share/extensions/Mitsubishi_ML-30DC_ML-30FD.xml:19-22, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "fmpac.rom"
path: "openmsx/share/systemroms/fmpac.rom"
@@ -551,7 +551,7 @@ files:
required: false
validation: [sha1]
description: "Read by extensions mbstereo, fmpac"
source_ref: "share/extensions/mbstereo.xml:23-27, share/extensions/fmpac.xml:22-26"
source_ref: "share/extensions/mbstereo.xml:23-27, share/extensions/fmpac.xml:22-26, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "novaxis.rom"
path: "openmsx/share/systemroms/novaxis.rom"
@@ -559,7 +559,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Gouda_SCSI"
source_ref: "share/extensions/Gouda_SCSI.xml:18-21"
source_ref: "share/extensions/Gouda_SCSI.xml:18-21, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "msxpibios.rom"
path: "openmsx/share/systemroms/msxpibios.rom"
@@ -567,7 +567,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension MSXPi"
source_ref: "share/extensions/MSXPi.xml:28-35"
source_ref: "share/extensions/MSXPi.xml:28-35, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "msxaudio13.OPL3_mono.rom"
path: "openmsx/share/systemroms/msxaudio13.OPL3_mono.rom"
@@ -575,7 +575,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension OPL3Cartridge2_mono"
source_ref: "share/extensions/OPL3Cartridge2_mono.xml:29-34"
source_ref: "share/extensions/OPL3Cartridge2_mono.xml:29-34, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "msxaudio13.OPL3_stereo.rom"
path: "openmsx/share/systemroms/msxaudio13.OPL3_stereo.rom"
@@ -583,7 +583,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension OPL3Cartridge2_stereo"
source_ref: "share/extensions/OPL3Cartridge2_stereo.xml:29-34"
source_ref: "share/extensions/OPL3Cartridge2_stereo.xml:29-34, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "cf-sm003_main.rom"
path: "openmsx/share/systemroms/cf-sm003_main.rom"
@@ -591,7 +591,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension National_CF-SM003"
source_ref: "share/extensions/National_CF-SM003.xml:18-21"
source_ref: "share/extensions/National_CF-SM003.xml:18-21, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "cf-sm003_kanjifont.rom"
path: "openmsx/share/systemroms/cf-sm003_kanjifont.rom"
@@ -599,7 +599,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension National_CF-SM003"
source_ref: "share/extensions/National_CF-SM003.xml:22-25"
source_ref: "share/extensions/National_CF-SM003.xml:22-25, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "cf-sm003_data.rom"
aliases: ["skw-01_data.rom"]
@@ -608,7 +608,7 @@ files:
required: false
validation: [sha1]
description: "Read by extensions National_CF-SM003, Yamaha_SKW-01"
source_ref: "share/extensions/National_CF-SM003.xml:26-29, share/extensions/Yamaha_SKW-01.xml:26-29"
source_ref: "share/extensions/National_CF-SM003.xml:26-29, share/extensions/Yamaha_SKW-01.xml:26-29, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
note: "share/extensions/Yamaha_SKW-01.xml names it skw-01_data.rom."
- name: "NEOSC.ROM"
@@ -617,7 +617,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Neos_MA-20R"
source_ref: "share/extensions/Neos_MA-20R.xml:21-24"
source_ref: "share/extensions/Neos_MA-20R.xml:21-24, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "NEOSV.ROM"
path: "openmsx/share/systemroms/NEOSV.ROM"
@@ -625,7 +625,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Neos_MA-20V"
source_ref: "share/extensions/Neos_MA-20V.xml:22-25"
source_ref: "share/extensions/Neos_MA-20V.xml:22-25, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "fs-fd1a.rom"
path: "openmsx/share/systemroms/fs-fd1a.rom"
@@ -633,7 +633,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Panasonic_FS-FD1A"
source_ref: "share/extensions/Panasonic_FS-FD1A.xml:17-20"
source_ref: "share/extensions/Panasonic_FS-FD1A.xml:17-20, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "fs-ca1.rom"
path: "openmsx/share/systemroms/fs-ca1.rom"
@@ -641,7 +641,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Panasonic_FS-CA1"
source_ref: "share/extensions/Panasonic_FS-CA1.xml:25-30"
source_ref: "share/extensions/Panasonic_FS-CA1.xml:25-30, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "fs-pw1_kanjifont.rom"
path: "openmsx/share/systemroms/fs-pw1_kanjifont.rom"
@@ -649,7 +649,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Panasonic_FS-PW1"
source_ref: "share/extensions/Panasonic_FS-PW1.xml:15-18"
source_ref: "share/extensions/Panasonic_FS-PW1.xml:15-18, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "fs-pw1_msxword.rom"
path: "openmsx/share/systemroms/fs-pw1_msxword.rom"
@@ -657,7 +657,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Panasonic_FS-PW1"
source_ref: "share/extensions/Panasonic_FS-PW1.xml:26-29"
source_ref: "share/extensions/Panasonic_FS-PW1.xml:26-29, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "nms1200_6.rom"
path: "openmsx/share/systemroms/nms1200_6.rom"
@@ -665,7 +665,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Philips_NMS_1200"
source_ref: "share/extensions/Philips_NMS_1200.xml:19-23"
source_ref: "share/extensions/Philips_NMS_1200.xml:19-23, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "nms1205.rom"
path: "openmsx/share/systemroms/nms1205.rom"
@@ -673,7 +673,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Philips_NMS_1205"
source_ref: "share/extensions/Philips_NMS_1205.xml:39-42"
source_ref: "share/extensions/Philips_NMS_1205.xml:39-42, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "msxaudio12pre4a.rom"
path: "openmsx/share/systemroms/msxaudio12pre4a.rom"
@@ -681,7 +681,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Boosted_audio"
source_ref: "share/extensions/Boosted_audio.xml:36-42"
source_ref: "share/extensions/Boosted_audio.xml:36-42, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "carnivore2.rom"
path: "openmsx/share/systemroms/carnivore2.rom"
@@ -689,7 +689,7 @@ files:
required: false
validation: [sha1]
description: "Flash content read by extension Carnivore2, found by its sha1 alone: the XML names no file"
source_ref: "share/extensions/Carnivore2.xml:19-23"
source_ref: "share/extensions/Carnivore2.xml:19-23, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "mfd-001_disk.rom"
path: "openmsx/share/systemroms/mfd-001_disk.rom"
@@ -697,7 +697,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Sanyo_MFD-001"
source_ref: "share/extensions/Sanyo_MFD-001.xml:18-21"
source_ref: "share/extensions/Sanyo_MFD-001.xml:18-21, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "mrs-001.rom"
path: "openmsx/share/systemroms/mrs-001.rom"
@@ -705,7 +705,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Sanyo_MRS-001"
source_ref: "share/extensions/Sanyo_MRS-001.xml:19-22"
source_ref: "share/extensions/Sanyo_MRS-001.xml:19-22, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "hb3600_disk.rom"
path: "openmsx/share/systemroms/hb3600_disk.rom"
@@ -713,7 +713,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Sharp_HB-3600"
source_ref: "share/extensions/Sharp_HB-3600.xml:18-21"
source_ref: "share/extensions/Sharp_HB-3600.xml:18-21, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "hddrom.rom"
path: "openmsx/share/systemroms/hddrom.rom"
@@ -721,7 +721,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Beer_IDE"
source_ref: "share/extensions/Beer_IDE.xml:18-23"
source_ref: "share/extensions/Beer_IDE.xml:18-23, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "hbi-j1_kanjibasic.rom"
path: "openmsx/share/systemroms/hbi-j1_kanjibasic.rom"
@@ -729,7 +729,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Sony_HBI-J1"
source_ref: "share/extensions/Sony_HBI-J1.xml:38-41"
source_ref: "share/extensions/Sony_HBI-J1.xml:38-41, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "hbd-50.rom"
path: "openmsx/share/systemroms/hbd-50.rom"
@@ -737,7 +737,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Sony_HBD-50"
source_ref: "share/extensions/Sony_HBD-50.xml:24-28"
source_ref: "share/extensions/Sony_HBD-50.xml:24-28, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "hbk-30.rom"
path: "openmsx/share/systemroms/hbk-30.rom"
@@ -745,7 +745,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Sony_HBK-30"
source_ref: "share/extensions/Sony_HBK-30.xml:19-22"
source_ref: "share/extensions/Sony_HBK-30.xml:19-22, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "hbi-232.rom"
path: "openmsx/share/systemroms/hbi-232.rom"
@@ -753,7 +753,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Sony_HBI-232"
source_ref: "share/extensions/Sony_HBI-232.xml:18-21"
source_ref: "share/extensions/Sony_HBI-232.xml:18-21, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "sensor-kid.rom"
path: "openmsx/share/systemroms/sensor-kid.rom"
@@ -761,7 +761,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension SensorKid"
source_ref: "share/extensions/SensorKid.xml:20-23"
source_ref: "share/extensions/SensorKid.xml:20-23, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "svi-707_disk.rom"
path: "openmsx/share/systemroms/svi-707_disk.rom"
@@ -769,7 +769,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Spectravideo_SVI-707"
source_ref: "share/extensions/Spectravideo_SVI-707.xml:19-22"
source_ref: "share/extensions/Spectravideo_SVI-707.xml:19-22, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "svi-707_cpm.rom"
path: "openmsx/share/systemroms/svi-707_cpm.rom"
@@ -777,7 +777,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Spectravideo_SVI-707"
source_ref: "share/extensions/Spectravideo_SVI-707.xml:23-26"
source_ref: "share/extensions/Spectravideo_SVI-707.xml:23-26, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "Nextor-2.1.1.SunriseIDE.ROM"
path: "openmsx/share/systemroms/Nextor-2.1.1.SunriseIDE.ROM"
@@ -785,7 +785,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension SunriseIDE_Nextor"
source_ref: "share/extensions/SunriseIDE_Nextor.xml:17-22"
source_ref: "share/extensions/SunriseIDE_Nextor.xml:17-22, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "ide250.dat"
path: "openmsx/share/systemroms/ide250.dat"
@@ -793,7 +793,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension ide"
source_ref: "share/extensions/ide.xml:17-22"
source_ref: "share/extensions/ide.xml:17-22, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "nowindDos2.rom"
path: "openmsx/share/systemroms/nowindDos2.rom"
@@ -801,7 +801,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension nowind"
source_ref: "share/extensions/nowind.xml:17-23"
source_ref: "share/extensions/nowind.xml:17-23, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "ym2608_adpcm_rom.bin"
path: "openmsx/share/systemroms/ym2608_adpcm_rom.bin"
@@ -809,7 +809,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Makoto"
source_ref: "share/extensions/Makoto.xml:15-18"
source_ref: "share/extensions/Makoto.xml:15-18, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "TDC600.rom"
path: "openmsx/share/systemroms/TDC600.rom"
@@ -817,7 +817,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Talent_TDC-600"
source_ref: "share/extensions/Talent_TDC-600.xml:18-21"
source_ref: "share/extensions/Talent_TDC-600.xml:18-21, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "dpf-550_disk.rom"
path: "openmsx/share/systemroms/dpf-550_disk.rom"
@@ -825,7 +825,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Talent_DPF-550"
source_ref: "share/extensions/Talent_DPF-550.xml:18-21"
source_ref: "share/extensions/Talent_DPF-550.xml:18-21, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "Tecall_MSX_RAMFILE_TM220.rom"
path: "openmsx/share/systemroms/Tecall_MSX_RAMFILE_TM220.rom"
@@ -833,7 +833,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Tecall_MSX_RAMFILE_TM220"
source_ref: "share/extensions/Tecall_MSX_RAMFILE_TM220.xml:17-20"
source_ref: "share/extensions/Tecall_MSX_RAMFILE_TM220.xml:17-20, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "hx-f101pe.rom"
path: "openmsx/share/systemroms/hx-f101pe.rom"
@@ -841,7 +841,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Toshiba_HX-F101PE"
source_ref: "share/extensions/Toshiba_HX-F101PE.xml:20-23"
source_ref: "share/extensions/Toshiba_HX-F101PE.xml:20-23, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "hx-mu900.rom"
path: "openmsx/share/systemroms/hx-mu900.rom"
@@ -849,7 +849,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Toshiba_HX-MU900"
source_ref: "share/extensions/Toshiba_HX-MU900.xml:26-29"
source_ref: "share/extensions/Toshiba_HX-MU900.xml:26-29, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "fd-03.rom"
path: "openmsx/share/systemroms/fd-03.rom"
@@ -857,7 +857,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Yamaha_FD-03"
source_ref: "share/extensions/Yamaha_FD-03.xml:20-26"
source_ref: "share/extensions/Yamaha_FD-03.xml:20-26, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "FD-051.BIN"
path: "openmsx/share/systemroms/FD-051.BIN"
@@ -865,7 +865,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Yamaha_FD-05"
source_ref: "share/extensions/Yamaha_FD-05.xml:22-25"
source_ref: "share/extensions/Yamaha_FD-05.xml:22-25, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "sfg-05.rom"
path: "openmsx/share/systemroms/sfg-05.rom"
@@ -873,7 +873,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Yamaha_SFG-05"
source_ref: "share/extensions/Yamaha_SFG-05.xml:31-34"
source_ref: "share/extensions/Yamaha_SFG-05.xml:31-34, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "skw-05_main.rom"
path: "openmsx/share/systemroms/skw-05_main.rom"
@@ -881,7 +881,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Yamaha_SKW-05_embedded"
source_ref: "share/extensions/Yamaha_SKW-05_embedded.xml:32-36"
source_ref: "share/extensions/Yamaha_SKW-05_embedded.xml:32-36, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "skw-05_data.rom"
path: "openmsx/share/systemroms/skw-05_data.rom"
@@ -889,7 +889,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Yamaha_SKW-05_embedded"
source_ref: "share/extensions/Yamaha_SKW-05_embedded.xml:37-40"
source_ref: "share/extensions/Yamaha_SKW-05_embedded.xml:37-40, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "skw-01_main.rom"
path: "openmsx/share/systemroms/skw-01_main.rom"
@@ -897,7 +897,7 @@ files:
required: false
validation: [sha1]
description: "Read by extension Yamaha_SKW-01"
source_ref: "share/extensions/Yamaha_SKW-01.xml:18-21"
source_ref: "share/extensions/Yamaha_SKW-01.xml:18-21, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
- name: "skw-01_kanjifont.rom"
path: "openmsx/share/systemroms/skw-01_kanjifont.rom"
@@ -905,4 +905,4 @@ files:
required: false
validation: [sha1]
description: "Read by extension Yamaha_SKW-01"
source_ref: "share/extensions/Yamaha_SKW-01.xml:22-25"
source_ref: "share/extensions/Yamaha_SKW-01.xml:22-25, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218"
+30 -30
View File
@@ -80,7 +80,7 @@ files:
size: 65536
description: "NMS 8245 combined system ROM (BIOS+BASIC 0x0000-0x7FFF, Sub ROM 0x8000-0xBFFF, FDC 0xC000-0xFFFF)"
validation: [sha1]
source_ref: "share/machines/Boosted_MSX2_EN.xml:24,65,111"
source_ref: "share/machines/Boosted_MSX2_EN.xml:24,65,111, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
- name: fmpac.rom
path: "share/systemroms/fmpac.rom"
@@ -88,7 +88,7 @@ files:
required: true
description: "Panasonic SW-M004 FMPAC (FM-PAC) sound cartridge ROM"
validation: [sha1]
source_ref: "share/machines/Boosted_MSX2_EN.xml:83"
source_ref: "share/machines/Boosted_MSX2_EN.xml:83, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
- name: phc-70fd2_basickun.rom
path: "share/systemroms/phc-70fd2_basickun.rom"
@@ -96,7 +96,7 @@ files:
required: true
description: "Sanyo PHC-70FD2 MSX-BASIC Kun compiler ROM"
validation: [sha1]
source_ref: "share/machines/Boosted_MSX2_EN.xml:89, share/machines/Boosted_MSX2+_JP.xml:167, share/machines/Boosted_MSXturboR_with_IDE.xml:79"
source_ref: "share/machines/Boosted_MSX2_EN.xml:89, share/machines/Boosted_MSX2+_JP.xml:167, share/machines/Boosted_MSXturboR_with_IDE.xml:79, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
- name: yrw801.rom
path: "share/systemroms/yrw801.rom"
@@ -104,7 +104,7 @@ files:
required: true
description: "Yamaha YRW801 MoonSound wavetable ROM"
validation: [sha1]
source_ref: "share/machines/Boosted_MSX2_EN.xml:186, share/machines/Boosted_MSX2+_JP.xml:120, share/machines/Boosted_MSXturboR_with_IDE.xml:203"
source_ref: "share/machines/Boosted_MSX2_EN.xml:186, share/machines/Boosted_MSX2+_JP.xml:120, share/machines/Boosted_MSXturboR_with_IDE.xml:203, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
# -------------------------------------------------------
# Boosted_MSX2+_JP (msx2+)
@@ -116,7 +116,7 @@ files:
required: true
description: "FS-A1WSX MSX2+ BIOS and BASIC ROM"
validation: [sha1]
source_ref: "share/machines/Boosted_MSX2+_JP.xml:143"
source_ref: "share/machines/Boosted_MSX2+_JP.xml:143, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
- name: fs-a1wsx_fmbasic.rom
path: "share/systemroms/fs-a1wsx_fmbasic.rom"
@@ -124,7 +124,7 @@ files:
required: true
description: "FS-A1WSX MSX-MUSIC (OPLL) ROM"
validation: [sha1]
source_ref: "share/machines/Boosted_MSX2+_JP.xml:155"
source_ref: "share/machines/Boosted_MSX2+_JP.xml:155, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
- name: fs-a1wsx_msx2psub.rom
installed_on: [retropie]
@@ -133,7 +133,7 @@ files:
required: true
description: "FS-A1WSX MSX2+ Sub ROM"
validation: [sha1]
source_ref: "share/machines/Boosted_MSX2+_JP.xml:218"
source_ref: "share/machines/Boosted_MSX2+_JP.xml:218, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
note: "RetroPie unpacks openmsxroms.tar.gz into the installed share/systemroms, which the file pool scans. This ROM is in it as MSX2PEXT.ROM and is found by its SHA1."
- name: fs-a1wsx_kanjibasic.rom
@@ -142,7 +142,7 @@ files:
required: true
description: "FS-A1WSX Kanji Driver with BASIC ROM"
validation: [sha1]
source_ref: "share/machines/Boosted_MSX2+_JP.xml:225"
source_ref: "share/machines/Boosted_MSX2+_JP.xml:225, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
- name: fs-a1wsx_disk.rom
path: "share/systemroms/fs-a1wsx_disk.rom"
@@ -150,7 +150,7 @@ files:
required: true
description: "FS-A1WSX FDC (TC8566AF) disk controller ROM"
validation: [sha1]
source_ref: "share/machines/Boosted_MSX2+_JP.xml:237"
source_ref: "share/machines/Boosted_MSX2+_JP.xml:237, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
- name: fs-a1wsx_firmware.rom
path: "share/systemroms/fs-a1wsx_firmware.rom"
@@ -158,7 +158,7 @@ files:
required: true
description: "FS-A1WSX Panasonic firmware ROM"
validation: [sha1]
source_ref: "share/machines/Boosted_MSX2+_JP.xml:251"
source_ref: "share/machines/Boosted_MSX2+_JP.xml:251, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
- name: fs-a1wsx_kanjifont.rom
path: "share/systemroms/fs-a1wsx_kanjifont.rom"
@@ -167,7 +167,7 @@ files:
required: true
description: "Kanji font ROM (shared by FS-A1WSX and FS-A1GT machines)"
validation: [sha1]
source_ref: "share/machines/Boosted_MSX2+_JP.xml:27-28, share/machines/Panasonic_FS-A1WSX.xml:29-30, share/machines/Boosted_MSXturboR_with_IDE.xml:215-216, share/machines/Panasonic_FS-A1GT.xml:141-142"
source_ref: "share/machines/Boosted_MSX2+_JP.xml:27-28, share/machines/Panasonic_FS-A1WSX.xml:29-30, share/machines/Boosted_MSXturboR_with_IDE.xml:215-216, share/machines/Panasonic_FS-A1GT.xml:141-142, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
note: "Panasonic_FS-A1WSX.xml and Boosted_MSX2+_JP.xml name it fs-a1wsx_kanjifont.rom, Panasonic_FS-A1GT.xml and Boosted_MSXturboR_with_IDE.xml name it fs-a1gt_kanjifont.rom, all four with the same sha1."
# -------------------------------------------------------
@@ -182,7 +182,7 @@ files:
required: true
description: "FS-A1GT turboR combined firmware (512KB, contains BIOS, Sub ROM, Kanji, FDC, MSX-MUSIC, Opening ROM)"
validation: [sha1]
source_ref: "share/machines/Boosted_MSXturboR_with_IDE.xml:23"
source_ref: "share/machines/Boosted_MSXturboR_with_IDE.xml:23, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
- name: ide250.dat
path: "share/systemroms/ide250.dat"
@@ -190,7 +190,7 @@ files:
required: true
description: "Sunrise IDE 2.50 interface ROM"
validation: [sha1]
source_ref: "share/machines/Boosted_MSXturboR_with_IDE.xml:49"
source_ref: "share/machines/Boosted_MSXturboR_with_IDE.xml:49, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
- name: ide250.zip
path: "share/systemroms/ide250.zip"
@@ -213,7 +213,7 @@ files:
required: true
description: "ColecoVision system BIOS ROM"
validation: [sha1]
source_ref: "share/machines/ColecoVision_SGM.xml:57"
source_ref: "share/machines/ColecoVision_SGM.xml:57, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
# -------------------------------------------------------
# Spectravideo_SVI-328 (spectravideo)
@@ -224,7 +224,7 @@ files:
required: true
description: "SVI-328 BASIC v1.11 ROM"
validation: [sha1]
source_ref: "share/machines/Spectravideo_SVI-328.xml:52"
source_ref: "share/machines/Spectravideo_SVI-328.xml:52, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
# -------------------------------------------------------
# Pioneer_PX-7 (laserdisc)
@@ -236,7 +236,7 @@ files:
required: true
description: "Pioneer PX-7 MSX1 BIOS and BASIC ROM"
validation: [sha1]
source_ref: "share/machines/Pioneer_PX-7.xml:67"
source_ref: "share/machines/Pioneer_PX-7.xml:67, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
- name: px-7_pbasic.rom
path: "share/systemroms/px-7_pbasic.rom"
@@ -244,7 +244,7 @@ files:
required: true
description: "Pioneer PX-7 LaserDisc PBASIC controller ROM"
validation: [sha1]
source_ref: "share/machines/Pioneer_PX-7.xml:82"
source_ref: "share/machines/Pioneer_PX-7.xml:82, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
# -------------------------------------------------------
# Machines whose ROMs RetroBat lists. Each ROM is found in the
@@ -261,7 +261,7 @@ files:
size: 32768
description: "National CF-3300 MSX1 BIOS and BASIC ROM (also used by CF-1200, CF-2700, CF-3000, FS-1300)"
validation: [sha1]
source_ref: "share/machines/National_CF-3300.xml:51-52"
source_ref: "share/machines/National_CF-3300.xml:51-52, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
- name: cf-3300_disk.rom
path: "share/systemroms/cf-3300_disk.rom"
@@ -270,7 +270,7 @@ files:
size: 16384
description: "National CF-3300 disk controller ROM (also used by Gradiente Expert DD Plus)"
validation: [sha1]
source_ref: "share/machines/National_CF-3300.xml:75-76"
source_ref: "share/machines/National_CF-3300.xml:75-76, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
- name: fs-5500_basic-bios2.rom
path: "share/systemroms/fs-5500_basic-bios2.rom"
@@ -279,7 +279,7 @@ files:
size: 32768
description: "National FS-5500 MSX2 BIOS and BASIC ROM"
validation: [sha1]
source_ref: "share/machines/National_FS-5500F2.xml:76-77, share/machines/National_FS-5500F1.xml:78"
source_ref: "share/machines/National_FS-5500F2.xml:76-77, share/machines/National_FS-5500F1.xml:78, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
- name: fs-5500_msx2sub.rom
path: "share/systemroms/fs-5500_msx2sub.rom"
@@ -288,7 +288,7 @@ files:
size: 16384
description: "National FS-5500 MSX2 Sub ROM"
validation: [sha1]
source_ref: "share/machines/National_FS-5500F2.xml:100-101, share/machines/National_FS-5500F1.xml:102"
source_ref: "share/machines/National_FS-5500F2.xml:100-101, share/machines/National_FS-5500F1.xml:102, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
- name: fs-5500_kanjibasic.rom
path: "share/systemroms/fs-5500_kanjibasic.rom"
@@ -297,7 +297,7 @@ files:
size: 32768
description: "National FS-5500 Kanji Driver ROM (also used by FS-4600F and FS-5000F2)"
validation: [sha1]
source_ref: "share/machines/National_FS-5500F2.xml:107-108, share/machines/National_FS-5500F1.xml:109"
source_ref: "share/machines/National_FS-5500F2.xml:107-108, share/machines/National_FS-5500F1.xml:109, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
- name: fs-5500_kanjifont.rom
path: "share/systemroms/fs-5500_kanjifont.rom"
@@ -306,7 +306,7 @@ files:
size: 131072
description: "National FS-5500 Kanji font ROM (also used by FS-4000, FS-4500 and FS-4700F)"
validation: [sha1]
source_ref: "share/machines/National_FS-5500F2.xml:20-21, share/machines/National_FS-5500F1.xml:22"
source_ref: "share/machines/National_FS-5500F2.xml:20-21, share/machines/National_FS-5500F1.xml:22, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
- name: fs-5500_superimp.rom
path: "share/systemroms/fs-5500_superimp.rom"
@@ -315,7 +315,7 @@ files:
size: 32768
description: "National FS-5500 Super Impose ROM"
validation: [sha1]
source_ref: "share/machines/National_FS-5500F2.xml:117-118, share/machines/National_FS-5500F1.xml:119"
source_ref: "share/machines/National_FS-5500F2.xml:117-118, share/machines/National_FS-5500F1.xml:119, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
- name: nms8245_msx2sub.rom
path: "share/systemroms/nms8245_msx2sub.rom"
@@ -326,7 +326,7 @@ files:
size: 16384
description: "Philips NMS 8245 MSX2 Sub ROM (1.05/1.06 and 1.08 revisions)"
validation: [sha1]
source_ref: "share/machines/Philips_NMS_8245.xml:108-110"
source_ref: "share/machines/Philips_NMS_8245.xml:108-110, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
- name: vg8020_basic-bios1.rom
path: "share/systemroms/vg8020_basic-bios1.rom"
@@ -335,7 +335,7 @@ files:
size: 32768
description: "Philips VG 8020 MSX1 BIOS and BASIC ROM (also used by AVT DPC-200, Goldstar FC-200, Toshiba HX-20E, HX-22I, HX-51I)"
validation: [sha1]
source_ref: "share/machines/Philips_VG_8020.xml:53-54"
source_ref: "share/machines/Philips_VG_8020.xml:53-54, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
- name: svi-738_basic-bios1.rom
path: "share/systemroms/svi-738_basic-bios1.rom"
@@ -344,7 +344,7 @@ files:
size: 32768
description: "Spectravideo SVI-738 MSX1 BIOS and BASIC ROM"
validation: [sha1]
source_ref: "share/machines/Spectravideo_SVI-738.xml:53-54"
source_ref: "share/machines/Spectravideo_SVI-738.xml:53-54, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
- name: svi-738_se_basic-bios1.rom
path: "share/systemroms/svi-738_se_basic-bios1.rom"
@@ -353,7 +353,7 @@ files:
size: 32768
description: "Spectravideo SVI-738 (Sweden) MSX1 BIOS and BASIC ROM"
validation: [sha1]
source_ref: "share/machines/Spectravideo_SVI-738_SE.xml:53-54"
source_ref: "share/machines/Spectravideo_SVI-738_SE.xml:53-54, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
- name: svi-738_rs232.rom
path: "share/systemroms/svi-738_rs232.rom"
@@ -362,7 +362,7 @@ files:
size: 8192
description: "Spectravideo SVI-738 RS-232 interface ROM"
validation: [sha1]
source_ref: "share/machines/Spectravideo_SVI-738.xml:76-77, share/machines/Spectravideo_SVI-738_SE.xml:76-77"
source_ref: "share/machines/Spectravideo_SVI-738.xml:76-77, share/machines/Spectravideo_SVI-738_SE.xml:76-77, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
- name: svi-738_disk.rom
path: "share/systemroms/svi-738_disk.rom"
@@ -373,4 +373,4 @@ files:
required: false
description: "Spectravideo SVI-738 disk controller ROM"
validation: [sha1]
source_ref: "share/machines/Spectravideo_SVI-738.xml:90-93, share/machines/Spectravideo_SVI-738_SE.xml:90-93"
source_ref: "share/machines/Spectravideo_SVI-738.xml:90-93, share/machines/Spectravideo_SVI-738_SE.xml:90-93, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195"
+37 -37
View File
@@ -75,7 +75,7 @@ files:
description: "Transport Tycoon Deluxe DOS graphics, base"
required: false
md5: "9311676280e5b14077a8ee41c1b42192"
source_ref: "media/baseset/orig_dos.obg:20, media/baseset/orig_dos_de.obg:20"
source_ref: "media/baseset/orig_dos.obg:20, media/baseset/orig_dos_de.obg:20, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:717, src/gfxinit.cpp:352-354"
- name: "TRGI.GRF"
path: "baseset/TRGI.GRF"
@@ -84,7 +84,7 @@ files:
description: "Transport Tycoon Deluxe DOS graphics, logos"
required: false
md5: "da6a6c9dcc451eec88d79211437b76a8"
source_ref: "media/baseset/orig_dos.obg:21, media/baseset/orig_dos_de.obg:21"
source_ref: "media/baseset/orig_dos.obg:21, media/baseset/orig_dos_de.obg:21, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:717, src/gfxinit.cpp:352-354"
- name: "TRGC.GRF"
path: "baseset/TRGC.GRF"
@@ -93,7 +93,7 @@ files:
description: "Transport Tycoon Deluxe DOS graphics, sub-arctic climate"
required: false
md5: "ed446637e034104c5559b32c18afe78d"
source_ref: "media/baseset/orig_dos.obg:22, media/baseset/orig_dos_de.obg:22"
source_ref: "media/baseset/orig_dos.obg:22, media/baseset/orig_dos_de.obg:22, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:717, src/gfxinit.cpp:352-354"
- name: "TRGH.GRF"
path: "baseset/TRGH.GRF"
@@ -102,7 +102,7 @@ files:
description: "Transport Tycoon Deluxe DOS graphics, sub-tropical climate"
required: false
md5: "ee6616fb0e6ef6b24892c58c93d86fc9"
source_ref: "media/baseset/orig_dos.obg:23, media/baseset/orig_dos_de.obg:23"
source_ref: "media/baseset/orig_dos.obg:23, media/baseset/orig_dos_de.obg:23, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:717, src/gfxinit.cpp:352-354"
- name: "TRGT.GRF"
path: "baseset/TRGT.GRF"
@@ -111,7 +111,7 @@ files:
description: "Transport Tycoon Deluxe DOS graphics, toyland"
required: false
md5: "e30e8a398ae86c03dc534a8ac7dfb3b6"
source_ref: "media/baseset/orig_dos.obg:24"
source_ref: "media/baseset/orig_dos.obg:24, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:717, src/gfxinit.cpp:352-354"
- name: "TRGT.GRF"
path: "baseset/TRGT.GRF"
@@ -121,7 +121,7 @@ files:
required: false
md5: "fcde1d7e8a74197d72a62695884b909e"
note: "The German DOS CD differs from the other DOS releases only in this file."
source_ref: "media/baseset/orig_dos_de.obg:24"
source_ref: "media/baseset/orig_dos_de.obg:24, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:717, src/gfxinit.cpp:352-354"
- name: "TRG1R.GRF"
path: "baseset/TRG1R.GRF"
@@ -130,7 +130,7 @@ files:
description: "Transport Tycoon Deluxe Windows graphics, base"
required: false
md5: "b04ce593d8c5016e07473a743d7d3358"
source_ref: "media/baseset/orig_win.obg:20"
source_ref: "media/baseset/orig_win.obg:20, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:717, src/gfxinit.cpp:352-354"
- name: "TRGIR.GRF"
path: "baseset/TRGIR.GRF"
@@ -139,7 +139,7 @@ files:
description: "Transport Tycoon Deluxe Windows graphics, logos"
required: false
md5: "0c2484ff6be49fc63a83be6ab5c38f32"
source_ref: "media/baseset/orig_win.obg:21"
source_ref: "media/baseset/orig_win.obg:21, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:717, src/gfxinit.cpp:352-354"
- name: "TRGCR.GRF"
path: "baseset/TRGCR.GRF"
@@ -148,7 +148,7 @@ files:
description: "Transport Tycoon Deluxe Windows graphics, sub-arctic climate"
required: false
md5: "3668f410c761a050b5e7095a2b14879b"
source_ref: "media/baseset/orig_win.obg:22"
source_ref: "media/baseset/orig_win.obg:22, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:717, src/gfxinit.cpp:352-354"
- name: "TRGHR.GRF"
path: "baseset/TRGHR.GRF"
@@ -157,7 +157,7 @@ files:
description: "Transport Tycoon Deluxe Windows graphics, sub-tropical climate"
required: false
md5: "06bf2b7a31766f048baac2ebe43457b1"
source_ref: "media/baseset/orig_win.obg:23"
source_ref: "media/baseset/orig_win.obg:23, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:717, src/gfxinit.cpp:352-354"
- name: "TRGTR.GRF"
path: "baseset/TRGTR.GRF"
@@ -166,7 +166,7 @@ files:
description: "Transport Tycoon Deluxe Windows graphics, toyland"
required: false
md5: "de53650517fe661ceaa3138c6edb0eb8"
source_ref: "media/baseset/orig_win.obg:24"
source_ref: "media/baseset/orig_win.obg:24, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:717, src/gfxinit.cpp:352-354"
- name: "SAMPLE.CAT"
path: "baseset/SAMPLE.CAT"
@@ -175,7 +175,7 @@ files:
description: "Transport Tycoon Deluxe DOS sound samples"
required: false
md5: "422ea3dd074d2859bb51639a6e0e85da"
source_ref: "media/baseset/orig_dos.obs:14"
source_ref: "media/baseset/orig_dos.obs:14, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:791"
- name: "SAMPLE.CAT"
path: "baseset/SAMPLE.CAT"
@@ -184,7 +184,7 @@ files:
description: "Transport Tycoon Deluxe Windows sound samples"
required: false
md5: "9212e81e72badd4bbe1eaeae66458e10"
source_ref: "media/baseset/orig_win.obs:14"
source_ref: "media/baseset/orig_win.obs:14, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:791"
- name: "GM.CAT"
path: "baseset/GM.CAT"
@@ -193,7 +193,7 @@ files:
description: "Transport Tycoon Deluxe DOS music catalogue"
required: false
md5: "7a29d2d0c4f7d2e03091ffa9b2bdfffb"
source_ref: "media/baseset/orig_dos.obm:44"
source_ref: "media/baseset/orig_dos.obm:44, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175"
- name: "GM-TTO.CAT"
path: "baseset/GM-TTO.CAT"
@@ -202,7 +202,7 @@ files:
description: "Transport Tycoon Original music catalogue"
required: false
md5: "26e85ff84b0063aa5da05dd4698fc76e"
source_ref: "media/baseset/orig_tto.obm:63"
source_ref: "media/baseset/orig_tto.obm:63, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175"
- name: "GM_TT00.GM"
path: "baseset/GM_TT00.GM"
@@ -211,7 +211,7 @@ files:
description: "Transport Tycoon Deluxe Windows music, Tycoon DELUXE Theme"
required: false
md5: "45cfec1b9d8c7a0ad45e755833cbf221"
source_ref: "media/baseset/orig_win.obm:44, media/baseset/orig_win.obm:68"
source_ref: "media/baseset/orig_win.obm:44, media/baseset/orig_win.obm:68, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175"
- name: "GM_TT01.GM"
path: "baseset/GM_TT01.GM"
@@ -220,7 +220,7 @@ files:
description: "Transport Tycoon Deluxe Windows music, Snarl Up"
required: false
md5: "ab14ed3392d848abd2a2e90a9d75d121"
source_ref: "media/baseset/orig_win.obm:45, media/baseset/orig_win.obm:69"
source_ref: "media/baseset/orig_win.obm:45, media/baseset/orig_win.obm:69, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175"
- name: "GM_TT02.GM"
path: "baseset/GM_TT02.GM"
@@ -229,7 +229,7 @@ files:
description: "Transport Tycoon Deluxe Windows music, Easy Driver"
required: false
md5: "dd4f696e4be5987ce738257b08b50171"
source_ref: "media/baseset/orig_win.obm:46, media/baseset/orig_win.obm:70"
source_ref: "media/baseset/orig_win.obm:46, media/baseset/orig_win.obm:70, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175"
- name: "GM_TT03.GM"
path: "baseset/GM_TT03.GM"
@@ -238,7 +238,7 @@ files:
description: "Transport Tycoon Deluxe Windows music, Little Red Diesel"
required: false
md5: "a1bfde23343df9e4063419bf29c166b8"
source_ref: "media/baseset/orig_win.obm:47, media/baseset/orig_win.obm:71"
source_ref: "media/baseset/orig_win.obm:47, media/baseset/orig_win.obm:71, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175"
- name: "GM_TT04.GM"
path: "baseset/GM_TT04.GM"
@@ -247,7 +247,7 @@ files:
description: "Transport Tycoon Deluxe Windows music, City Groove"
required: false
md5: "4e6943aa0c455203d76c79389054747d"
source_ref: "media/baseset/orig_win.obm:48, media/baseset/orig_win.obm:72"
source_ref: "media/baseset/orig_win.obm:48, media/baseset/orig_win.obm:72, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175"
- name: "GM_TT05.GM"
path: "baseset/GM_TT05.GM"
@@ -256,7 +256,7 @@ files:
description: "Transport Tycoon Deluxe Windows music, Aliens Ate My Railway"
required: false
md5: "cee281cb85a2e2343552d97640545a47"
source_ref: "media/baseset/orig_win.obm:49, media/baseset/orig_win.obm:73"
source_ref: "media/baseset/orig_win.obm:49, media/baseset/orig_win.obm:73, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175"
- name: "GM_TT06.GM"
path: "baseset/GM_TT06.GM"
@@ -265,7 +265,7 @@ files:
description: "Transport Tycoon Deluxe Windows music, Stoke It"
required: false
md5: "26d1de5efa8675f94065784e9d539e49"
source_ref: "media/baseset/orig_win.obm:50, media/baseset/orig_win.obm:74"
source_ref: "media/baseset/orig_win.obm:50, media/baseset/orig_win.obm:74, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175"
- name: "GM_TT07.GM"
path: "baseset/GM_TT07.GM"
@@ -274,7 +274,7 @@ files:
description: "Transport Tycoon Deluxe Windows music, Don't Walk!"
required: false
md5: "6f2691e17558f552ec4c565e4ab7139c"
source_ref: "media/baseset/orig_win.obm:51, media/baseset/orig_win.obm:75"
source_ref: "media/baseset/orig_win.obm:51, media/baseset/orig_win.obm:75, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175"
- name: "GM_TT08.GM"
path: "baseset/GM_TT08.GM"
@@ -283,7 +283,7 @@ files:
description: "Transport Tycoon Deluxe Windows music, Sawyer's Tune"
required: false
md5: "a42bf2cb3340a822f1a69646fc7a487d"
source_ref: "media/baseset/orig_win.obm:52, media/baseset/orig_win.obm:76"
source_ref: "media/baseset/orig_win.obm:52, media/baseset/orig_win.obm:76, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175"
- name: "GM_TT09.GM"
path: "baseset/GM_TT09.GM"
@@ -292,7 +292,7 @@ files:
description: "Transport Tycoon Deluxe Windows music, Fell Apart On Me"
required: false
md5: "eb35761a58a8df3c59ed8929cce13916"
source_ref: "media/baseset/orig_win.obm:53, media/baseset/orig_win.obm:77"
source_ref: "media/baseset/orig_win.obm:53, media/baseset/orig_win.obm:77, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175"
- name: "GM_TT10.GM"
path: "baseset/GM_TT10.GM"
@@ -301,7 +301,7 @@ files:
description: "Transport Tycoon Deluxe Windows music, Can't Get There From Here"
required: false
md5: "42fecd686720a785d20a78590c466a82"
source_ref: "media/baseset/orig_win.obm:54, media/baseset/orig_win.obm:78"
source_ref: "media/baseset/orig_win.obm:54, media/baseset/orig_win.obm:78, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175"
- name: "GM_TT11.GM"
path: "baseset/GM_TT11.GM"
@@ -310,7 +310,7 @@ files:
description: "Transport Tycoon Deluxe Windows music, Hard Drivin'"
required: false
md5: "50ef1ef02e49d2112786dd45e69dc3ee"
source_ref: "media/baseset/orig_win.obm:55, media/baseset/orig_win.obm:79"
source_ref: "media/baseset/orig_win.obm:55, media/baseset/orig_win.obm:79, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175"
- name: "GM_TT12.GM"
path: "baseset/GM_TT12.GM"
@@ -319,7 +319,7 @@ files:
description: "Transport Tycoon Deluxe Windows music, Road Hog"
required: false
md5: "4ce707a0e0e72419f0681dd9bd95271b"
source_ref: "media/baseset/orig_win.obm:56, media/baseset/orig_win.obm:80"
source_ref: "media/baseset/orig_win.obm:56, media/baseset/orig_win.obm:80, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175"
- name: "GM_TT13.GM"
path: "baseset/GM_TT13.GM"
@@ -328,7 +328,7 @@ files:
description: "Transport Tycoon Deluxe Windows music, Hold That Train!"
required: false
md5: "e765753be29d889ec818f38009103619"
source_ref: "media/baseset/orig_win.obm:57, media/baseset/orig_win.obm:81"
source_ref: "media/baseset/orig_win.obm:57, media/baseset/orig_win.obm:81, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175"
- name: "GM_TT14.GM"
path: "baseset/GM_TT14.GM"
@@ -337,7 +337,7 @@ files:
description: "Transport Tycoon Deluxe Windows music, Broomer's Oil Rag"
required: false
md5: "270e2d63bd32b95a4d007ce15a6ce45f"
source_ref: "media/baseset/orig_win.obm:58, media/baseset/orig_win.obm:82"
source_ref: "media/baseset/orig_win.obm:58, media/baseset/orig_win.obm:82, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175"
- name: "GM_TT15.GM"
path: "baseset/GM_TT15.GM"
@@ -346,7 +346,7 @@ files:
description: "Transport Tycoon Deluxe Windows music, Goss Groove"
required: false
md5: "89e116a1c0c69f1845cc903a9bfbe460"
source_ref: "media/baseset/orig_win.obm:59, media/baseset/orig_win.obm:83"
source_ref: "media/baseset/orig_win.obm:59, media/baseset/orig_win.obm:83, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175"
- name: "GM_TT16.GM"
path: "baseset/GM_TT16.GM"
@@ -355,7 +355,7 @@ files:
description: "Transport Tycoon Deluxe Windows music, Small Town"
required: false
md5: "f824e2371b3bedfe61aad4b9c62dd6be"
source_ref: "media/baseset/orig_win.obm:60, media/baseset/orig_win.obm:84"
source_ref: "media/baseset/orig_win.obm:60, media/baseset/orig_win.obm:84, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175"
- name: "GM_TT17.GM"
path: "baseset/GM_TT17.GM"
@@ -364,7 +364,7 @@ files:
description: "Transport Tycoon Deluxe Windows music, Cruise Control"
required: false
md5: "1b23eebb0796c1ab99cd97fa7082cf7b"
source_ref: "media/baseset/orig_win.obm:61, media/baseset/orig_win.obm:85"
source_ref: "media/baseset/orig_win.obm:61, media/baseset/orig_win.obm:85, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175"
- name: "GM_TT18.GM"
path: "baseset/GM_TT18.GM"
@@ -373,7 +373,7 @@ files:
description: "Transport Tycoon Deluxe Windows music, Stroll On"
required: false
md5: "15650de3bad645d0e88c4f5c7a2df92a"
source_ref: "media/baseset/orig_win.obm:62, media/baseset/orig_win.obm:86"
source_ref: "media/baseset/orig_win.obm:62, media/baseset/orig_win.obm:86, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175"
- name: "GM_TT19.GM"
path: "baseset/GM_TT19.GM"
@@ -382,7 +382,7 @@ files:
description: "Transport Tycoon Deluxe Windows music, Funk Central"
required: false
md5: "7aec079e15bd09588660b85545ac4dfc"
source_ref: "media/baseset/orig_win.obm:63, media/baseset/orig_win.obm:87"
source_ref: "media/baseset/orig_win.obm:63, media/baseset/orig_win.obm:87, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175"
- name: "GM_TT20.GM"
path: "baseset/GM_TT20.GM"
@@ -391,7 +391,7 @@ files:
description: "Transport Tycoon Deluxe Windows music, Jammit"
required: false
md5: "1509097889dee617aa1e9a1738a5a930"
source_ref: "media/baseset/orig_win.obm:64, media/baseset/orig_win.obm:88"
source_ref: "media/baseset/orig_win.obm:64, media/baseset/orig_win.obm:88, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175"
- name: "GM_TT21.GM"
path: "baseset/GM_TT21.GM"
@@ -400,4 +400,4 @@ files:
description: "Transport Tycoon Deluxe Windows music, Movin' On"
required: false
md5: "a8d0aaad02e1a762d8d54cf81da56bab"
source_ref: "media/baseset/orig_win.obm:65, media/baseset/orig_win.obm:89"
source_ref: "media/baseset/orig_win.obm:65, media/baseset/orig_win.obm:89, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175"
+37 -139
View File
@@ -13,7 +13,7 @@ version_basis:
pattern: 'info->library_version\s+=\s+"([^"]+)'
display_name: "QEMU"
cores: [qemu]
systems: [ibm-pc, x86, x86-64, ppc, ppc64, sparc, sparc64, arm, aarch64, mips, mips64, riscv32, riscv64, s390x, m68k, alpha, hppa]
systems: [ibm-pc, x86, x86-64, ppc, ppc64, sparc, sparc64, arm, aarch64, mips, mips64, riscv32, riscv64, s390x, m68k, alpha]
# QEMU (Quick Emulator) libretro core, based on QEMU 9.0.50.
# Builds 17 targets: aarch64, alpha, arm, i386, m68k, mips(el), mips64(el),
@@ -39,11 +39,11 @@ files:
sha1: "f402170ee4f374c304a7ce0b139d6cecb1732aff"
md5: "e9ca30100c47a26b66488444c5b0bd15"
size: 131072
required: true
required: false
note: >
SeaBIOS legacy BIOS for x86/x86_64 PC emulation. Default firmware
loaded by pc_sysfw.c for standard PC machine types.
source_ref: "source hw/i386/pc_sysfw.c:222, 243"
SeaBIOS for the ISA PC machine, and for a PC machine whose firmware
option is cleared. The pc and q35 machines load bios-256k.bin.
source_ref: "source hw/i386/pc_sysfw.c:222, 243, source hw/i386/x86-common.c:993-994"
- name: "SeaBIOS (256 KB)"
installed_on: [retrodeck]
@@ -51,11 +51,12 @@ files:
sha1: "5fe6078506094333106e6b3f33c7185dea7f0268"
md5: "d3dab3095c73cad67afd3cc16a88479c"
size: 262144
required: false
required: true
note: >
SeaBIOS 256 KB variant. Some machine types or configurations
may prefer this larger image.
source_ref: "source pc-bios/meson.build:30"
Firmware of the pc and q35 machines, set by their default machine
options. pc is the default machine the core starts for an .iso,
.img or .qcow, and a missing image stops QEMU.
source_ref: "source pc-bios/meson.build:30, source ui/libretro.c:24-29, 734, source hw/i386/pc_piix.c:466, 486, source hw/i386/pc_q35.c:349, source hw/i386/x86-common.c:993-1003, 1043-1045"
- name: "SeaBIOS microvm"
installed_on: [retrodeck]
@@ -76,8 +77,8 @@ files:
md5: "387c48aef9497c6c2b914b1e6b9bc7aa"
size: 16384
required: false
note: "Minimal x86 firmware for fast Linux kernel booting."
source_ref: "source pc-bios/meson.build:32"
note: "Firmware of the microvm machine when ACPI is off."
source_ref: "source pc-bios/meson.build:32, source hw/i386/microvm.c:57, 277-281, source hw/i386/x86-common.c:993-994"
# ========================================================
# x86 VGA BIOS (SeaVGABIOS / LGPL VGA BIOS)
@@ -248,7 +249,7 @@ files:
size: 67072
required: false
note: "iPXE PXE boot ROM for Intel e1000 NIC (8086:100e)."
source_ref: "source pc-bios/meson.build:47"
source_ref: "source pc-bios/meson.build:47, source hw/pci/pci.c:2362-2363"
- name: "PXE eepro100"
installed_on: [retrodeck]
@@ -268,7 +269,7 @@ files:
size: 61440
required: false
note: "iPXE PXE boot ROM for NE2000 PCI NIC (1050:0940)."
source_ref: "source pc-bios/meson.build:49"
source_ref: "source pc-bios/meson.build:49, source hw/pci/pci.c:2362-2363"
- name: "PXE pcnet"
installed_on: [retrodeck]
@@ -278,7 +279,7 @@ files:
size: 61440
required: false
note: "iPXE PXE boot ROM for AMD PCnet NIC (1022:2000)."
source_ref: "source pc-bios/meson.build:50"
source_ref: "source pc-bios/meson.build:50, source hw/pci/pci.c:2362-2363"
- name: "PXE rtl8139"
installed_on: [retrodeck]
@@ -288,7 +289,7 @@ files:
size: 61440
required: false
note: "iPXE PXE boot ROM for Realtek RTL8139 NIC (10ec:8139)."
source_ref: "source pc-bios/meson.build:51"
source_ref: "source pc-bios/meson.build:51, source hw/pci/pci.c:2362-2363"
- name: "PXE virtio"
installed_on: [retrodeck]
@@ -298,7 +299,7 @@ files:
size: 60416
required: false
note: "iPXE PXE boot ROM for VirtIO NIC (1af4:1000)."
source_ref: "source pc-bios/meson.build:52"
source_ref: "source pc-bios/meson.build:52, source hw/pci/pci.c:2362-2363"
# ========================================================
# EFI NETWORK BOOT ROMs (iPXE UEFI)
@@ -331,7 +332,7 @@ files:
size: 159232
required: false
note: "iPXE EFI boot ROM for Intel eepro100 NIC."
source_ref: "source pc-bios/meson.build:54"
source_ref: "source pc-bios/meson.build:54, source hw/pci/pci.c:2362-2363"
- name: "EFI ne2k_pci"
installed_on: [retrodeck]
@@ -386,85 +387,21 @@ files:
# ========================================================
# EDK2 UEFI FIRMWARE
# ========================================================
- name: "EDK2 x86_64 UEFI"
path: "qemu/edk2-x86_64-code.fd"
sha1: "eac1a94b8e0d7c53fd5df001c36794ec34c7c724"
size: 3653632
required: false
note: "TianoCore UEFI firmware for x86_64. Built from edk2-stable202302."
source_ref: "source pc-bios/meson.build:12"
- name: "EDK2 x86_64 Secure Boot UEFI"
path: "qemu/edk2-x86_64-secure-code.fd"
sha1: "617abe2746696bb4a309d72cecb446dc76a2a61e"
size: 3653632
required: false
note: "TianoCore UEFI firmware for x86_64 with Secure Boot support."
source_ref: "source pc-bios/meson.build:13"
- name: "EDK2 i386 UEFI"
path: "qemu/edk2-i386-code.fd"
sha1: "45b8faebdfaaf19d16e3a7c5f60d69214685071c"
size: 3653632
required: false
note: "TianoCore UEFI firmware for i386."
source_ref: "source pc-bios/meson.build:9"
- name: "EDK2 i386 Secure Boot UEFI"
path: "qemu/edk2-i386-secure-code.fd"
sha1: "6982abec8ef2ed7c8293163d5a0bd69a01a2126f"
size: 3653632
required: false
note: "TianoCore UEFI firmware for i386 with Secure Boot support."
source_ref: "source pc-bios/meson.build:10"
- name: "EDK2 i386 UEFI vars template"
path: "qemu/edk2-i386-vars.fd"
sha1: "b62e676c9317a32aaa9ee1d76268d8c55663bd6e"
size: 540672
required: false
note: "UEFI variable store template for i386/x86_64 EDK2 firmware."
source_ref: "source pc-bios/meson.build:11"
- name: "EDK2 AArch64 UEFI"
path: "qemu/edk2-aarch64-code.fd"
sha1: "514edbce58bfa877170673c1799351a7dab3b6df"
size: 67108864
required: false
note: "TianoCore UEFI firmware for AArch64 (ARM 64-bit)."
source_ref: "source pc-bios/meson.build:4"
note: "TianoCore UEFI firmware for AArch64 (ARM 64-bit). Starts with -bios on the virt machine."
source_ref: "source pc-bios/meson.build:4, source hw/arm/virt.c:1331"
- name: "EDK2 ARM UEFI"
path: "qemu/edk2-arm-code.fd"
sha1: "c20f01c28b59b388abb9d0febeec45d801a632f0"
size: 67108864
required: false
note: "TianoCore UEFI firmware for ARM (32-bit)."
source_ref: "source pc-bios/meson.build:5"
- name: "EDK2 ARM UEFI vars template"
path: "qemu/edk2-arm-vars.fd"
sha1: "b051167e0e57bd13d77ed92ef7b474872f44ec6d"
size: 67108864
required: false
note: "UEFI variable store template for ARM/AArch64 EDK2 firmware."
source_ref: "source pc-bios/meson.build:6"
- name: "EDK2 RISC-V UEFI"
path: "qemu/edk2-riscv-code.fd"
sha1: "2c8633d881ece0c4794d740138a318f7e9af480c"
size: 33554432
required: false
note: "TianoCore UEFI firmware for RISC-V 64-bit."
source_ref: "source pc-bios/meson.build:7"
- name: "EDK2 RISC-V UEFI vars template"
path: "qemu/edk2-riscv-vars.fd"
sha1: "c4e6cce4247ba8f32f528c1c69f49228f616677f"
size: 33554432
required: false
note: "UEFI variable store template for RISC-V EDK2 firmware."
source_ref: "source pc-bios/meson.build:8"
note: "TianoCore UEFI firmware for ARM (32-bit). Starts with -bios on the virt machine."
source_ref: "source pc-bios/meson.build:5, source hw/arm/virt.c:1331"
# ========================================================
# POWERPC FIRMWARE
@@ -507,15 +444,6 @@ files:
note: "Minimal Open Firmware shim for -machine pseries,x-vof=on. Also default for Pegasos II."
source_ref: "source hw/ppc/spapr.c:107, source hw/ppc/pegasos2.c:43"
- name: "VOF NVRAM"
installed_on: [retrodeck]
path: "qemu/vof-nvram.bin"
sha1: "5d1184609b87f78635f0575467a1c3f440900ff0"
size: 16384
required: false
note: "NVRAM template for VOF (Virtual Open Firmware)."
source_ref: "source pc-bios/meson.build:83"
- name: "U-Boot e500"
installed_on: [retrodeck]
path: "qemu/u-boot.e500"
@@ -532,7 +460,7 @@ files:
size: 524288
required: false
note: "U-Boot for Sam460ex (AmigaOne) PowerPC board."
source_ref: "source pc-bios/meson.build:74"
source_ref: "source pc-bios/meson.build:74, source hw/ppc/sam460ex.c:46, 120-126, source hw/core/loader.c:1078-1079"
- name: "QEMU VGA Mac driver"
installed_on: [retrodeck]
@@ -643,27 +571,6 @@ files:
note: "Network boot firmware for s390x emulation."
source_ref: "source hw/s390x/ipl.c:497"
# ========================================================
# HP-PA FIRMWARE
# ========================================================
- name: "HP-PA firmware (32-bit)"
installed_on: [retrodeck]
path: "qemu/hppa-firmware.img"
sha1: "605c36ede6c120c6cc7efe147a75a3dc4b7e4fb0"
size: 167820
required: false
note: "SeaBIOS-hppa firmware for 32-bit HP-PARISC emulation."
source_ref: "source hw/hppa/machine.c:424"
- name: "HP-PA firmware (64-bit)"
installed_on: [retrodeck]
path: "qemu/hppa-firmware64.img"
sha1: "b42f6d4ca74073de6c038579b4a9323ad0a6b398"
size: 206024
required: false
note: "SeaBIOS-hppa firmware for 64-bit HP-PARISC emulation."
source_ref: "source hw/hppa/machine.c:424"
# ========================================================
# MIPS FIRMWARE (not shipped, user-supplied)
# ========================================================
@@ -745,24 +652,6 @@ files:
note: "Device tree blob for PowerPC Canyonlands (460EX) / Sam460ex board."
source_ref: "source hw/ppc/sam460ex.c:45"
- name: "Petalogix ML605 DTB (MicroBlaze)"
installed_on: [retrodeck]
path: "qemu/petalogix-ml605.dtb"
sha1: "892d265838866869b8a8ef104252ff5b2fda156f"
size: 9882
required: false
note: "Device tree blob for Xilinx Petalogix ML605 MicroBlaze board. MicroBlaze target not built in libretro core."
source_ref: "source pc-bios/meson.build:91"
- name: "Petalogix S3ADSP1800 DTB (MicroBlaze)"
installed_on: [retrodeck]
path: "qemu/petalogix-s3adsp1800.dtb"
sha1: "976600e3f89ecc1f3564b7077f53c58e0b565280"
size: 8161
required: false
note: "Device tree blob for Xilinx Petalogix S3ADSP1800 MicroBlaze board. MicroBlaze target not built in libretro core."
source_ref: "source pc-bios/meson.build:90"
- name: "Virtex ML507 DTB (PPC)"
path: "qemu/virtex-ml507.dtb"
@@ -776,16 +665,25 @@ notes:
this path via qemu_add_data_dir() in ui/libretro.c:659-660.
default_usage: >
For typical x86/x86_64 usage (loading .iso/.img/.qcow files directly),
only bios.bin (or bios-256k.bin) and vgabios.bin are strictly needed.
Other VGA BIOS variants are loaded depending on the emulated GPU.
PXE/EFI ROMs are only needed for network booting.
the default pc machine needs bios-256k.bin and the VGA BIOS of its
display. Other VGA BIOS variants are loaded depending on the emulated GPU.
A NIC reads its default romfile. The pxe-*.rom images and efi-eepro100.rom
are read only when a romfile= option names them (hw/pci/pci.c:2362-2363).
multi_arch: >
The libretro build targets 17 architectures. Non-x86 firmware
is only needed when using .qemu_cmd_line files that invoke a different
qemu-system-* binary (e.g. qemu-system-ppc for MacOS 9).
edk2: >
EDK2 UEFI firmware is shipped as bz2-compressed blobs in pc-bios/. These
provide UEFI boot for x86, ARM, and RISC-V machine types. Users specify
them via -bios or pflash in .qemu_cmd_line files.
provide UEFI boot for x86, ARM, and RISC-V machine types. No machine
names them: a .qemu_cmd_line names a code image with -bios, which is
looked up in the data directory. pflash drives, the variable store
templates included, are opened by path from the content folder
(ui/libretro.c:697). The ARM and AArch64 code images boot through
-bios on the virt machine. The x86 images are 3653632 bytes, not a
multiple of 64 KiB, so x86_bios_rom_init refuses them
(hw/i386/x86-common.c:1000-1002), and the RISC-V image is S-mode code
for pflash0 that -bios does not start: those are read only as pflash
drives, never from the system directory.
experimental: "This core is marked is_experimental=true in its .info file."
version: "Based on QEMU 9.0.50 (io12/qemu-libretro)"
+52 -52
View File
@@ -95,7 +95,7 @@ files:
size: 26524524
crc32: "bbc9ce44"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:3, 48-59"
source_ref: "wadsrc/static/engine/grpinfo.txt:3, 48-59, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "DUKE3D.GRP"
description: "Duke Nukem 3D (South Korean Censored)"
@@ -106,7 +106,7 @@ files:
size: 26385383
crc32: "aa4f6a40"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:4, 61-72"
source_ref: "wadsrc/static/engine/grpinfo.txt:4, 61-72, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "DUKE3D.GRP"
description: "Duke Nukem 3D: Atomic Edition"
@@ -117,7 +117,7 @@ files:
size: 44356548
crc32: "fd3dcff1"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:5, 74-85"
source_ref: "wadsrc/static/engine/grpinfo.txt:5, 74-85, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "DUKE3D.GRP"
description: "Duke Nukem 3D: Plutonium Pak"
@@ -128,7 +128,7 @@ files:
size: 44348015
crc32: "f514a6ac"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:6, 113-124"
source_ref: "wadsrc/static/engine/grpinfo.txt:6, 113-124, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "DUKE3D.GRP"
description: "Duke Nukem 3D: Atomic Edition (WT)"
@@ -139,7 +139,7 @@ files:
size: 44356548
crc32: "982afe4a"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:7, 87-98"
source_ref: "wadsrc/static/engine/grpinfo.txt:7, 87-98, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
note: "World Tour release."
- name: "DUKE3D.GRP"
@@ -151,7 +151,7 @@ files:
size: 44486702
crc32: "89792e05"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:100-111"
source_ref: "wadsrc/static/engine/grpinfo.txt:100-111, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
note: "World Tour release, second known build."
- name: "DUKE3D.GRP"
@@ -163,7 +163,7 @@ files:
size: 9690241
crc32: "02f18900"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:8, 126-136"
source_ref: "wadsrc/static/engine/grpinfo.txt:8, 126-136, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "DUKE3D.GRP"
description: "Duke Nukem 3D Shareware 1.0"
@@ -174,7 +174,7 @@ files:
size: 10429258
crc32: "a28aa589"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:9, 138-148"
source_ref: "wadsrc/static/engine/grpinfo.txt:9, 138-148, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "DUKE3D.GRP"
description: "Duke Nukem 3D Shareware 1.1"
@@ -185,7 +185,7 @@ files:
size: 10442980
crc32: "912e1e8d"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:10, 150-160"
source_ref: "wadsrc/static/engine/grpinfo.txt:10, 150-160, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "DUKE3D.GRP"
description: "Duke Nukem 3D Shareware 1.3D"
@@ -196,7 +196,7 @@ files:
size: 11035779
crc32: "983ad923"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:11, 162-172"
source_ref: "wadsrc/static/engine/grpinfo.txt:11, 162-172, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "DUKEDC.GRP"
description: "Duke it out in D.C. (1.3D)"
@@ -207,7 +207,7 @@ files:
size: 7926624
crc32: "a9242158"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:14, 198-208"
source_ref: "wadsrc/static/engine/grpinfo.txt:14, 198-208, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
note: "Addon of the 1.3D release (dependency DUKE13_CRC)."
- name: "DUKEDC.GRP"
@@ -219,7 +219,7 @@ files:
size: 8225517
crc32: "b79d997f"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:15, 210-220"
source_ref: "wadsrc/static/engine/grpinfo.txt:15, 210-220, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
note: "Addon of the Atomic Edition (dependency DUKE15_CRC)."
- name: "DUKEDC.GRP"
@@ -231,7 +231,7 @@ files:
size: 8410183
crc32: "a8cf80da"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:16, 222-232"
source_ref: "wadsrc/static/engine/grpinfo.txt:16, 222-232, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "DUKEDC.GRP"
description: "Duke it out in D.C."
@@ -242,7 +242,7 @@ files:
size: 8410187
crc32: "39a692bf"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:234-245"
source_ref: "wadsrc/static/engine/grpinfo.txt:234-245, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "DUKEDC.GRP"
description: "Duke it out in D.C."
@@ -253,7 +253,7 @@ files:
size: 8410183
crc32: "777c77b1"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:247-258"
source_ref: "wadsrc/static/engine/grpinfo.txt:247-258, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "DUKEDC.GRP"
description: "Duke it out in D.C."
@@ -264,7 +264,7 @@ files:
size: 8410149
crc32: "c63b6a8b"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:260-271"
source_ref: "wadsrc/static/engine/grpinfo.txt:260-271, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "VACATION.GRP"
description: "Duke Caribbean: Life's a Beach (1.3)"
@@ -275,7 +275,7 @@ files:
size: 23559381
crc32: "4a2dbb62"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:17, 273-285"
source_ref: "wadsrc/static/engine/grpinfo.txt:17, 273-285, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
note: "Addon of the 1.3D release (dependency DUKE13_CRC)."
- name: "VACATION.GRP"
@@ -287,7 +287,7 @@ files:
size: 22551333
crc32: "2f4fccee"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:18, 287-299"
source_ref: "wadsrc/static/engine/grpinfo.txt:18, 287-299, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
note: "Addon of the Atomic Edition (dependency DUKE15_CRC)."
- name: "VACATION.GRP"
@@ -299,7 +299,7 @@ files:
size: 22521880
crc32: "b62b42fd"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:19, 301-313"
source_ref: "wadsrc/static/engine/grpinfo.txt:19, 301-313, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "VACATION.GRP"
description: "Duke Caribbean: Life's a Beach"
@@ -310,7 +310,7 @@ files:
size: 22213819
crc32: "18f01c5b"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:20, 316-328"
source_ref: "wadsrc/static/engine/grpinfo.txt:20, 316-328, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "VACATION.GRP"
description: "Duke Caribbean: Life's a Beach"
@@ -321,7 +321,7 @@ files:
size: 22397273
crc32: "65b5f690"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:330-343"
source_ref: "wadsrc/static/engine/grpinfo.txt:330-343, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "VACATION.GRP"
description: "Duke Caribbean: Life's a Beach"
@@ -332,7 +332,7 @@ files:
size: 22201375
crc32: "b28e883c"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:345-358"
source_ref: "wadsrc/static/engine/grpinfo.txt:345-358, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "VACATION.GRP"
description: "Duke Caribbean: Life's a Beach"
@@ -343,7 +343,7 @@ files:
size: 22213795
crc32: "64cf2351"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:360-373"
source_ref: "wadsrc/static/engine/grpinfo.txt:360-373, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "NWINTER.GRP"
description: "Duke: Nuclear Winter"
@@ -354,7 +354,7 @@ files:
size: 16169365
crc32: "f1cae8e4"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:21, 375-388"
source_ref: "wadsrc/static/engine/grpinfo.txt:21, 375-388, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
note: "Addon of the Atomic Edition (dependency DUKE15_CRC)."
- name: "NWINTER.GRP"
@@ -366,7 +366,7 @@ files:
size: 10965909
crc32: "c7efbfa9"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:390-402"
source_ref: "wadsrc/static/engine/grpinfo.txt:390-402, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
note: "Addon of the Atomic Edition (dependency DUKE15_CRC)."
- name: "penthous.zip"
@@ -378,7 +378,7 @@ files:
size: 2112419
crc32: "7cd82a3b"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:459-470"
source_ref: "wadsrc/static/engine/grpinfo.txt:459-470, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
note: "The original ZIP release, identified as a whole file. Addon of the Atomic Edition (dependency DUKE15_CRC)."
# ================================================================
@@ -394,7 +394,7 @@ files:
size: 8200353
crc32: "b291418f"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:32, 485-499"
source_ref: "wadsrc/static/engine/grpinfo.txt:32, 485-499, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "BLOOD.RFF"
description: "BLOOD: 1.1"
@@ -405,7 +405,7 @@ files:
size: 8231173
crc32: "c3a99936"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:33, 501-515"
source_ref: "wadsrc/static/engine/grpinfo.txt:33, 501-515, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "BLOOD.RFF"
description: "BLOOD: One Unit Whole Blood"
@@ -416,7 +416,7 @@ files:
size: 9570681
crc32: "a8fdda84"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:34, 517-531"
source_ref: "wadsrc/static/engine/grpinfo.txt:34, 517-531, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "BLOOD.RFF"
description: "BLOOD: Unknown Version"
@@ -432,7 +432,7 @@ files:
system: blood
path: "SOUNDS.RFF"
required: false
source_ref: "wadsrc/static/engine/grpinfo.txt:494, 510, 526, 542"
source_ref: "wadsrc/static/engine/grpinfo.txt:494, 510, 526, 542, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 772-828, 696-704, 830-875"
note: "Named by loadgrp in every Blood block and loaded with the main resource."
- name: "GUI.RFF"
@@ -440,7 +440,7 @@ files:
system: blood
path: "GUI.RFF"
required: false
source_ref: "wadsrc/static/engine/grpinfo.txt:494, 510, 526, 542"
source_ref: "wadsrc/static/engine/grpinfo.txt:494, 510, 526, 542, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 772-828, 696-704, 830-875"
note: "Named by loadgrp in every Blood block and loaded with the main resource."
- name: "BLOOD.GRP"
@@ -448,7 +448,7 @@ files:
system: blood
path: "BLOOD.GRP"
required: false
source_ref: "wadsrc/static/engine/grpinfo.txt:494, 510, 526, 542"
source_ref: "wadsrc/static/engine/grpinfo.txt:494, 510, 526, 542, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 772-828, 696-704, 830-875"
note: "Named by loadgrp in every Blood block and loaded with the main resource."
- name: "SURFACE.DAT"
@@ -496,7 +496,7 @@ files:
size: 47536148
crc32: "7545319f"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:36, 614-625"
source_ref: "wadsrc/static/engine/grpinfo.txt:36, 614-625, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "SW.GRP"
description: "Shadow Warrior (Europe)"
@@ -507,7 +507,7 @@ files:
size: 47536148
crc32: "d4a1e153"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:627-638"
source_ref: "wadsrc/static/engine/grpinfo.txt:627-638, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "SW.GRP"
description: "Shadow Warrior (UK)"
@@ -518,7 +518,7 @@ files:
size: 47536148
crc32: "3ee68767"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:640-651"
source_ref: "wadsrc/static/engine/grpinfo.txt:640-651, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "SW.GRP"
description: "Shadow Warrior (Censored)"
@@ -529,7 +529,7 @@ files:
size: 47537951
crc32: "1a8776d2"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:653-664"
source_ref: "wadsrc/static/engine/grpinfo.txt:653-664, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "SW.GRP"
description: "Shadow Warrior Shareware 1.0"
@@ -540,7 +540,7 @@ files:
size: 25702245
crc32: "daa6bece"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:666-676"
source_ref: "wadsrc/static/engine/grpinfo.txt:666-676, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "SW.GRP"
description: "Shadow Warrior Shareware 1.1"
@@ -551,7 +551,7 @@ files:
size: 25833456
crc32: "f21a6b35"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:678-688"
source_ref: "wadsrc/static/engine/grpinfo.txt:678-688, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "SW.GRP"
description: "Shadow Warrior Shareware 1.2"
@@ -562,7 +562,7 @@ files:
size: 26056769
crc32: "08a7fa1f"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:690-700"
source_ref: "wadsrc/static/engine/grpinfo.txt:690-700, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "WT.GRP"
description: "Shadow Warrior: Wanton Destruction"
@@ -573,7 +573,7 @@ files:
size: 48698128
crc32: "a9aaa7b7"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:37, 714-724"
source_ref: "wadsrc/static/engine/grpinfo.txt:37, 714-724, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
note: "Addon of the registered game (dependency SWREG12_CRC)."
- name: "WT.GRP"
@@ -585,7 +585,7 @@ files:
size: 48698128
crc32: "8b6e8011"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:726-736"
source_ref: "wadsrc/static/engine/grpinfo.txt:726-736, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "TD.GRP"
description: "Shadow Warrior: Twin Dragon"
@@ -596,7 +596,7 @@ files:
size: 12499012
crc32: "a1a65be8"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:38, 751-762"
source_ref: "wadsrc/static/engine/grpinfo.txt:38, 751-762, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
note: "Addon of the registered game (dependency SWREG12_CRC)."
- name: "TD.GRP"
@@ -608,7 +608,7 @@ files:
size: 6236287
crc32: "b5b71277"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:764-774"
source_ref: "wadsrc/static/engine/grpinfo.txt:764-774, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "TD.GRP"
description: "Shadow Warrior: Twin Dragon"
@@ -619,7 +619,7 @@ files:
size: 6235578
crc32: "acc8dcde"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:776-786"
source_ref: "wadsrc/static/engine/grpinfo.txt:776-786, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "TDRAGON.EXE"
description: "Shadow Warrior: Twin Dragon, loose files"
@@ -652,7 +652,7 @@ files:
size: 27020745
crc32: "303cbd89"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:40, wadsrc/static/engine/grpinfo.txt:927-938"
source_ref: "wadsrc/static/engine/grpinfo.txt:40, wadsrc/static/engine/grpinfo.txt:927-938, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "STUFF.DAT"
description: "Exhumed"
@@ -663,7 +663,7 @@ files:
size: 27108170
crc32: "e3b172f1"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:41, wadsrc/static/engine/grpinfo.txt:940-951"
source_ref: "wadsrc/static/engine/grpinfo.txt:41, wadsrc/static/engine/grpinfo.txt:940-951, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "STUFF.DAT"
description: "Powerslave Demo"
@@ -674,7 +674,7 @@ files:
size: 27020745
crc32: "1d8c7645"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:42, wadsrc/static/engine/grpinfo.txt:953-963"
source_ref: "wadsrc/static/engine/grpinfo.txt:42, wadsrc/static/engine/grpinfo.txt:953-963, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
# ================================================================
# Redneck Rampage
@@ -689,7 +689,7 @@ files:
size: 141174222
crc32: "19d9bc79"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:28, wadsrc/static/engine/grpinfo.txt:814-827"
source_ref: "wadsrc/static/engine/grpinfo.txt:28, wadsrc/static/engine/grpinfo.txt:814-827, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "REDNECK.GRP"
description: "Redneck Rampage Rides Again"
@@ -700,7 +700,7 @@ files:
size: 191798609
crc32: "958018c6"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:29, wadsrc/static/engine/grpinfo.txt:829-842"
source_ref: "wadsrc/static/engine/grpinfo.txt:29, wadsrc/static/engine/grpinfo.txt:829-842, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "GAME66.CON"
description: "Redneck Rampage: Suckin' Grits on Route 66"
@@ -724,7 +724,7 @@ files:
size: 43448927
crc32: "75c1f07b"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:24, wadsrc/static/engine/grpinfo.txt:872-884"
source_ref: "wadsrc/static/engine/grpinfo.txt:24, wadsrc/static/engine/grpinfo.txt:872-884, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "NAPALM.GRP"
description: "NAPALM"
@@ -735,7 +735,7 @@ files:
size: 44365728
crc32: "3de1589a"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:25, wadsrc/static/engine/grpinfo.txt:886-898"
source_ref: "wadsrc/static/engine/grpinfo.txt:25, wadsrc/static/engine/grpinfo.txt:886-898, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
- name: "WW2GI.GRP"
description: "WWII GI"
@@ -746,4 +746,4 @@ files:
size: 77939508
crc32: "907b82bf"
validation: [size, crc32]
source_ref: "wadsrc/static/engine/grpinfo.txt:26, wadsrc/static/engine/grpinfo.txt:900-912"
source_ref: "wadsrc/static/engine/grpinfo.txt:26, wadsrc/static/engine/grpinfo.txt:900-912, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875"
+48 -48
View File
@@ -112,7 +112,7 @@ files:
required: false
sha1: "aa2dfd12c11c6e6f3baaf7bf199bd6bcd71a520c"
md5: "ee71d6cd464c618c632e6fd62b430d2c"
source_ref: "upstream dists/scummvm.rc:24"
source_ref: "upstream dists/scummvm.rc:24, source backends/platform/libretro/scripts/bundle_datafiles.sh:74, source backends/platform/libretro/src/libretro-os-utils.cpp:241, source gui/gui-manager.cpp:87-88, source gui/ThemeEngine.cpp:2229-2256, 2052-2066"
note: "Modern GUI theme for ScummVM launcher."
- name: "scummclassic.zip"
@@ -121,7 +121,7 @@ files:
required: false
sha1: "69836fb392710f2182df07bab8960e8a2d92c1a9"
md5: "8f37bd19dd51be456ac8f005fd5669a8"
source_ref: "upstream dists/scummvm.rc:23"
source_ref: "upstream dists/scummvm.rc:23, source backends/platform/libretro/scripts/bundle_datafiles.sh:74, source backends/platform/libretro/src/libretro-os-utils.cpp:241, source gui/gui-manager.cpp:87-88, source gui/ThemeEngine.cpp:2229-2256, 2052-2066"
note: "Classic GUI theme for ScummVM launcher."
- name: "scummremastered.zip"
@@ -130,7 +130,7 @@ files:
required: false
sha1: "03e53349eefc39ce25220bfcb1ae4a580704d29d"
md5: "0d990484d0dfc1680b20cfabcae373cd"
source_ref: "upstream dists/scummvm.rc:25"
source_ref: "upstream dists/scummvm.rc:25, source backends/platform/libretro/scripts/bundle_datafiles.sh:74, source backends/platform/libretro/src/libretro-os-utils.cpp:241, source gui/gui-manager.cpp:87-88, source gui/ThemeEngine.cpp:2229-2256, 2052-2066"
note: "Remastered GUI theme for ScummVM launcher."
- name: "residualvm.zip"
@@ -139,7 +139,7 @@ files:
required: false
sha1: "589b622f55c9944c4883e4163d4d49508e22e056"
md5: "b2811fa9b209733b61cd49ddb21e1e95"
source_ref: "upstream dists/scummvm.rc:26"
source_ref: "upstream dists/scummvm.rc:26, source backends/platform/libretro/scripts/bundle_datafiles.sh:74, source backends/platform/libretro/src/libretro-os-utils.cpp:241, source gui/gui-manager.cpp:87-88, source gui/ThemeEngine.cpp:2229-2256, 2052-2066"
note: "ResidualVM theme for 3D adventure games (Grim Fandango, Myst III)."
- name: "gui-icons.dat"
@@ -148,7 +148,7 @@ files:
required: false
sha1: "38e74e6994924781487a0d39cc53dc4708a90c1c"
md5: "9c59e0e9875434456ec1b7eb8e51666f"
source_ref: "upstream dists/scummvm.rc:27"
source_ref: "upstream dists/scummvm.rc:27, source backends/platform/libretro/scripts/bundle_datafiles.sh:74, source backends/platform/libretro/src/libretro-os-utils.cpp:241, source gui/gui-manager.cpp:118"
note: "GUI icon pack used by the ScummVM launcher interface."
- name: "shaders.dat"
@@ -157,7 +157,7 @@ files:
required: false
sha1: "c67ec35c3f6e2ba7f09b8f61a78df7f713ff040c"
md5: "f073f17187d0bfa3e7ebb7f328847969"
source_ref: "upstream dists/scummvm.rc:28"
source_ref: "upstream dists/scummvm.rc:28, source backends/platform/libretro/scripts/bundle_datafiles.sh:74, source backends/platform/libretro/src/libretro-os-utils.cpp:241, source backends/graphics/opengl/opengl-graphics.cpp:423, source gui/shaderbrowser-dialog.cpp:88"
note: "Compiled shader pack for the GUI rendering pipeline."
- name: "translations.dat"
@@ -166,7 +166,7 @@ files:
required: false
sha1: "e5b6f6d6473e2d6aa0a250fd9983b573ebf6fbe4"
md5: "a206e54bac1af13559ac8b2d9e550577"
source_ref: "upstream dists/scummvm.rc:43"
source_ref: "upstream dists/scummvm.rc:43, source backends/platform/libretro/scripts/bundle_datafiles.sh:74, source backends/platform/libretro/src/libretro-os-utils.cpp:241, source common/translation.h:288, source common/translation.cpp:282-290"
note: "GUI translation strings for ScummVM launcher localization."
# ================================================================
@@ -180,7 +180,7 @@ files:
required: false
sha1: "379f9def6d0de4b4bad18b0177df81783a51f17b"
md5: "73cf5bd61896442a990e363f284a0bc2"
source_ref: "source dists/engine-data/engine_data_core.mk"
source_ref: "source dists/engine-data/engine_data_core.mk, source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/achievements.cpp:105-109"
note: "Achievement definitions for supported games."
- name: "classicmacfonts.dat"
@@ -189,7 +189,7 @@ files:
required: false
sha1: "768b6231c6068e3d9b4f2cc6b1b1e5485578fde1"
md5: "d4264d4573f22d290e033e1d834d7221"
source_ref: "source dists/engine-data/engine_data_core.mk"
source_ref: "source dists/engine-data/engine_data_core.mk, source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source graphics/macgui/macfontmanager.cpp:222"
note: "Classic Macintosh bitmap fonts for Mac game rendering."
- name: "encoding.dat"
@@ -198,7 +198,7 @@ files:
required: false
sha1: "11d3873337827195bc16c3d3175ad00f1777ed95"
md5: "f2e88b2faec499a4914c3a0bcffc7db1"
source_ref: "source dists/engine-data/engine_data_core.mk"
source_ref: "source dists/engine-data/engine_data_core.mk, source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source common/str-enc.cpp:142"
note: "Character encoding tables for text rendering across languages."
- name: "helpdialog.zip"
@@ -207,7 +207,7 @@ files:
required: false
sha1: "386d8a89e180f8abab53e5d5926b6a81ee4b31dd"
md5: "a9584a928c0f52ef28b33d8702983c35"
source_ref: "source dists/engine-data/engine_data_core.mk"
source_ref: "source dists/engine-data/engine_data_core.mk, source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source gui/helpdialog.cpp:69, 147-148, source graphics/image-archive.cpp:50-54"
note: "Help dialog assets for the in-game help system."
- name: "macgui.dat"
@@ -216,7 +216,7 @@ files:
required: false
sha1: "1eed577281b8819367d1ee99b1a76ff3e1920735"
md5: "d97f2965013b343dd3d4fdbbc7192f15"
source_ref: "source dists/engine-data/engine_data_core.mk"
source_ref: "source dists/engine-data/engine_data_core.mk, source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source graphics/macgui/datafiles.cpp:37, 81"
note: "Macintosh GUI widget data for Mac-style game interfaces."
# ================================================================
@@ -230,7 +230,7 @@ files:
required: false
sha1: "775b12b7e787bbaaeb73aa45b1ad3bb383e041ef"
md5: "4f9dd40b455876d5c54b5ebd93aec88c"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_ACCESS)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_ACCESS), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/access/resources.cpp:44"
note: "Engine data for Access Software games (e.g. Amazon, Martian Memorandum)."
- name: "bagel.dat"
@@ -239,7 +239,7 @@ files:
required: false
sha1: "f83084c72b1ff8e16f9c013e5ef7cfbb5f3cc835"
md5: "f6d90885f6962f89de02e34031111599"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_BAGEL)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_BAGEL), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/bagel/spacebar/baglib/bagel.cpp:113, source common/engine_data.cpp:253"
note: "Engine data for Bagel engine games."
- name: "cryo.dat"
@@ -248,7 +248,7 @@ files:
required: false
sha1: "220c2fe52d26b8607abeb2ad4a8ea4324daea5ba"
md5: "fc5886ea5388f20eae299bb408da5bcc"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_CRYO)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_CRYO), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/cryo/resource.cpp:303"
note: "Engine data for Cryo Interactive games (e.g. Dune, Lost Eden)."
- name: "cryomni3d.dat"
@@ -257,7 +257,7 @@ files:
required: false
sha1: "3971847e26be0abad8196caf03e5852a81ddbdea"
md5: "7224c7a94074addeb69015b1346695d2"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_CRYOMNI3D)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_CRYOMNI3D), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/cryomni3d/cryomni3d.cpp:82"
note: "Engine data for CryOmni3D games (Versailles 1685)."
- name: "darkseed.dat"
@@ -266,7 +266,7 @@ files:
required: false
sha1: "343172f1bfff8cb8c4abefa95e211379f39583b7"
md5: "9a9cfe40dcca517f130d4430bd1af643"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_DARKSEED)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_DARKSEED), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/darkseed/darkseed.cpp:66-71"
note: "Engine data for Dark Seed (H.R. Giger adventure game)."
- name: "drascula.dat"
@@ -275,7 +275,7 @@ files:
required: false
sha1: "05c97e92439b67aea8f6eb7fc96db023edf62124"
md5: "b304979ed642a6dcaf26f43f8a37a1de"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_DRASCULA)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_DRASCULA), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/drascula/drascula.cpp:987"
note: "Engine data for Drascula: The Vampire Strikes Back."
- name: "freescape.dat"
@@ -284,7 +284,7 @@ files:
required: false
sha1: "c6b3d3152e4e2ff4c9bf55e103bb39ed7faca2bd"
md5: "71697f90fb0c7747616dbb0799ce966b"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_FREESCAPE)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_FREESCAPE), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/freescape/freescape.h:61, source engines/freescape/assets.cpp:115"
note: "Engine data for Freescape games (Driller, Dark Side, Total Eclipse)."
- name: "got.aud"
@@ -293,7 +293,7 @@ files:
required: false
sha1: "209ab6d86a7c44f241689c5511b2027f7ad2c7c4"
md5: "d13cc3c481e84e787ec8aa86dffc565f"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_GOT)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_GOT), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/got/sound.cpp:38, 194-198"
note: "Audio data for Game of Thrones engine."
- name: "got.gfx"
@@ -302,7 +302,7 @@ files:
required: false
sha1: "0c9603da78b980bcf391bbf5f9103a5a642c4ee8"
md5: "a29f591769bd731df0d9ddd3a191fe8c"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_GOT)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_GOT), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/got/gfx/gfx_chunks.cpp:85"
note: "Graphics data for Game of Thrones engine."
- name: "hadesch_translations.dat"
@@ -311,7 +311,7 @@ files:
required: false
sha1: "17aae444b3010e72e092635d25d3b93c104b0ad2"
md5: "7857da7e56a11e0749fb45100c323b3c"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_HADESCH)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_HADESCH), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/hadesch/hadesch.cpp:476"
note: "Translation data for Hades Challenge."
- name: "hugo.dat"
@@ -320,7 +320,7 @@ files:
required: false
sha1: "74a5fa172f5327fedc145cb9eccc8fd050b9cfb9"
md5: "a865e70f1b0998a500f522dab441c8fc"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_HUGO)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_HUGO), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/hugo/hugo.cpp:457"
note: "Engine data for Hugo's House of Horrors trilogy."
- name: "kyra.dat"
@@ -329,7 +329,7 @@ files:
required: false
sha1: "31b0b9418af2f9dd4e4094aada05d48eb355975b"
md5: "ebddd7bbd97135a427083db5daf6f9fc"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_KYRA)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_KYRA), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/kyra/resource/resource.h:1252, source engines/kyra/resource/staticres.cpp:138-145"
note: "Engine data for Kyrandia series (Legend of Kyrandia, Hand of Fate, Malcolm's Revenge)."
- name: "lure.dat"
@@ -338,7 +338,7 @@ files:
required: false
sha1: "516347ec0ec2a397265d1b2fb053aa3758382e09"
md5: "6f90cf73f36453d332d5c9cee311f81c"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_LURE)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_LURE), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/lure/luredefs.h:31, source engines/lure/lure.cpp:56"
note: "Engine data for Lure of the Temptress."
- name: "macventure.dat"
@@ -347,7 +347,7 @@ files:
required: false
sha1: "e431e718e3c784532422ea2654d5fc6042a95c09"
md5: "3b1faf40e685b955372e02f54ed70263"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_MACVENTURE)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_MACVENTURE), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/macventure/datafiles.cpp:40, 76"
note: "Engine data for MacVenture games (Shadowgate, Deja Vu, Uninvited)."
- name: "mm.dat"
@@ -356,7 +356,7 @@ files:
required: false
sha1: "0816fe29b57911b28cbf774348f5492062326a85"
md5: "01f074a6ac34dd86fcc6d1e8090614f0"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_MM)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_MM), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/mm/xeen/files.cpp:72, source engines/mm/mm1/globals.cpp:61, source common/engine_data.cpp:253"
note: "Engine data for Might and Magic engine."
- name: "mort.dat"
@@ -365,7 +365,7 @@ files:
required: false
sha1: "0b9d0fa2a18eadf61aeddc19128ef90898ab7206"
md5: "3cfb16d7bab4d77606b3b1274b8ae870"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_MORTEVIELLE)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_MORTEVIELLE), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/mortevielle/mortevielle.h:87, source engines/mortevielle/mortevielle.cpp:299"
note: "Engine data for Mortville Manor."
- name: "myst3.dat"
@@ -374,7 +374,7 @@ files:
required: false
sha1: "5fbf7b1a596219f0daab60a8ceb2f1e59e042243"
md5: "54e9056211f2fff255b6f66a3fe39a8d"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_MYST3)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_MYST3), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/myst3/database.cpp:460"
note: "Engine data for Myst III: Exile."
- name: "nancy.dat"
@@ -383,7 +383,7 @@ files:
required: false
sha1: "7c8907d33da59afd4e4b62eee67541910e0b78d9"
md5: "eb7cfdb3f74972beb8f43196e4e44001"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_NANCY)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_NANCY), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/nancy/nancy.cpp:1111"
note: "Engine data for Nancy Drew adventure games."
- name: "neverhood.dat"
@@ -392,7 +392,7 @@ files:
required: false
sha1: "490012c996ba0c56dd8d077e1418ee53b1e96397"
md5: "dfaab12ffb265646f31f51b6904246d1"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_NEVERHOOD)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_NEVERHOOD), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/neverhood/neverhood.cpp:91"
note: "Engine data for The Neverhood."
- name: "prince_translation.dat"
@@ -401,7 +401,7 @@ files:
required: false
sha1: "57403a286c4d251384442a507d285b2dc5ce330e"
md5: "993adab2fd44277d5fd7aa5971e7099c"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_PRINCE)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_PRINCE), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/prince/prince.cpp:339"
note: "Translation data for The Prince and the Coward."
- name: "queen.tbl"
@@ -410,7 +410,7 @@ files:
required: false
sha1: "7bafa28dfd9b3be17430d467d8787d8204437ba0"
md5: "93c6d6379eb0290ce93854a6888ec3f4"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_QUEEN)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_QUEEN), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/queen/resource.cpp:32, 149"
note: "Resource table for Flight of the Amazon Queen."
- name: "sky.cpt"
@@ -419,7 +419,7 @@ files:
required: false
sha1: "fa03ede717223eaf011491d2066e37eb112e735b"
md5: "9d00157b1cebd6368cbf88135c098f40"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_SKY)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_SKY), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/sky/compact.cpp:127"
note: "Compact table for Beneath a Steel Sky."
- name: "supernova.dat"
@@ -428,7 +428,7 @@ files:
required: false
sha1: "8a571cfc431b5fe794f0262f0e55f72927ab27b4"
md5: "89664136c503a30894d5c713be5bfe90"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_SUPERNOVA)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_SUPERNOVA), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/supernova/supernova.h:50, source engines/supernova/supernova.cpp:466"
note: "Engine data for Mission Supernova."
- name: "teenagent.dat"
@@ -437,7 +437,7 @@ files:
required: false
sha1: "0d488164930332bae3aa1ad38cef44abbe3d00a6"
md5: "4594620989a0bfd8b120da2de7ac30de"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_TEENAGENT)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_TEENAGENT), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/teenagent/resources.cpp:308"
note: "Engine data for Teenagent."
- name: "titanic.dat"
@@ -446,7 +446,7 @@ files:
required: false
sha1: "15f51828f08fdbe01b56123e96312b5859a968c0"
md5: "4b2fb71201dc3795cff45df6200a1918"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_TITANIC)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_TITANIC), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/titanic/support/files_manager.cpp:40"
note: "Engine data for Starship Titanic."
- name: "tony.dat"
@@ -455,7 +455,7 @@ files:
required: false
sha1: "a5e19f364bda6a0d2330495114c9ad665bb79ad0"
md5: "891022a4e2917bb54b5cdc9a46f5b3df"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_TONY)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_TONY), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/tony/tony.cpp:182"
note: "Engine data for Tony Tough and the Night of Roasted Moths."
- name: "toon.dat"
@@ -464,7 +464,7 @@ files:
required: false
sha1: "85bb688125d66f2797a41f153ce1fa177027a83f"
md5: "2b71a5d9aa19219d46711e8a77451f0f"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_TOON)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_TOON), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/toon/toon.cpp:5419"
note: "Engine data for Toonstruck."
- name: "ultima.dat"
@@ -473,7 +473,7 @@ files:
required: false
sha1: "e049932518390257f4d49b1691cad229e6060079"
md5: "e359fb7f14c4cb072b6e9300a23a6d62"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_ULTIMA)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_ULTIMA), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/ultima/shared/engine/data_archive.cpp:31, 84-85"
note: "Engine data for Ultima series (Ultima IV-VIII, Savage Empire, Martian Dreams)."
- name: "ultima8.dat"
@@ -482,7 +482,7 @@ files:
required: false
sha1: "6319d3a245297697c1e4def78dc231a3f30708bb"
md5: "e5b95811b05b9f0f593b49c860391200"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_ULTIMA)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_ULTIMA), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/ultima/ultima8/ultima8.cpp:177-182"
note: "Engine data specific to Ultima VIII: Pagan."
- name: "wintermute.zip"
@@ -491,7 +491,7 @@ files:
required: false
sha1: "5302f543384b21fb55466118a6966e5ef46b85f6"
md5: "9783248899f9cb531f0a3e0a711ab8b3"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_WINTERMUTE)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_WINTERMUTE), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/wintermute/base/base_file_manager.cpp:408"
note: "Engine data for Wintermute engine games."
- name: "fonts.dat"
@@ -500,7 +500,7 @@ files:
required: false
sha1: "1eaef39122559500fbbc705c9425500311d23e03"
md5: "6df29d218962e155d0a2114006af45c0"
source_ref: "source dists/engine-data/engine_data.mk (USE_FREETYPE2)"
source_ref: "source dists/engine-data/engine_data.mk (USE_FREETYPE2), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source graphics/fonts/ttf.cpp:954-958, source engines/scumm/he/font_he.cpp:269-273"
note: "FreeType2 font data for text rendering."
- name: "fonts-cjk.dat"
@@ -509,7 +509,7 @@ files:
required: false
sha1: "b46f5a744387d1991d66a06292811f217ae063e2"
md5: "18b8811c1bbc297be45f38c3bd6a0728"
source_ref: "source dists/engine-data/engine_data_big.mk (USE_FREETYPE2)"
source_ref: "source dists/engine-data/engine_data_big.mk (USE_FREETYPE2), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source graphics/fonts/ttf.cpp:975-979"
note: "CJK (Chinese/Japanese/Korean) font data. Large file, only for systems with enough memory."
- name: "fonts-imgui.dat"
@@ -518,7 +518,7 @@ files:
required: false
sha1: "659a025dfa39a8caada7dac6e69b4d7c88217b3f"
md5: "9eb64ec7aa31dc2f5b55541415ecdf8b"
source_ref: "source dists/engine-data/engine_data.mk (USE_IMGUI)"
source_ref: "source dists/engine-data/engine_data.mk (USE_IMGUI), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source backends/imgui/imgui_fonts.cpp:83"
note: "ImGui font data for debug overlay rendering."
- name: "grim-patch.lab"
@@ -527,7 +527,7 @@ files:
required: false
sha1: "3c43b7a0125f88a9f83ae4307dca57867ffd637c"
md5: "32b777b824f02b1e1259903740964058"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_GRIM)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_GRIM), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/grim/resource.cpp:126-129"
note: "Patch data for Grim Fandango."
- name: "monkey4-patch.m4b"
@@ -536,7 +536,7 @@ files:
required: false
sha1: "49fc530e77b61f326f6e1d5a5147daa2fd67d1e2"
md5: "9eb7b7e7cc7dad1fe08be6e73d749abe"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_MONKEY4)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_MONKEY4), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/grim/resource.cpp:159"
note: "Patch data for Escape from Monkey Island."
# ================================================================
@@ -547,7 +547,7 @@ files:
installed_on: [lakka, recalbox, retrobat, retrodeck, retropie]
path: "scummvm/extra/pred.dic"
required: false
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_AGI)"
source_ref: "source dists/engine-data/engine_data.mk (ENABLE_AGI), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source gui/predictivedialog.cpp:119"
note: "Predictive text dictionary for AGI engine text input (King's Quest, Space Quest, etc)."
# ================================================================
+32 -32
View File
@@ -54,19 +54,19 @@ files:
unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:39"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:39, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:123-131, src/trx/game/level/format/pipeline.c:96"
- name: "gym.phd"
path: "games/tr1/levels/gym.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:61"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:61, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:123-131, src/trx/game/level/format/pipeline.c:96"
- name: "level1.phd"
path: "games/tr1/levels/level1.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:99"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:99, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Caves"
- name: "level2.phd"
@@ -74,126 +74,126 @@ files:
unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:120"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:120, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "City of Vilcabamba"
- name: "level3a.phd"
path: "games/tr1/levels/level3a.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:139"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:139, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Lost Valley"
- name: "level3b.phd"
path: "games/tr1/levels/level3b.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:159"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:159, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Tomb of Qualopec"
- name: "level4.phd"
path: "games/tr1/levels/level4.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:180"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:180, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "St. Francis' Folly"
- name: "level5.phd"
path: "games/tr1/levels/level5.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:202"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:202, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Colosseum"
- name: "level6.phd"
path: "games/tr1/levels/level6.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:223"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:223, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Palace Midas"
- name: "level7a.phd"
path: "games/tr1/levels/level7a.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:242"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:242, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "The Cistern"
- name: "level7b.phd"
path: "games/tr1/levels/level7b.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:263"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:263, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Tomb of Tihocan"
- name: "level8a.phd"
path: "games/tr1/levels/level8a.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:290"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:290, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "City of Khamoon"
- name: "level8b.phd"
path: "games/tr1/levels/level8b.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:313"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:313, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Obelisk of Khamoon"
- name: "level8c.phd"
path: "games/tr1/levels/level8c.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:335"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:335, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Sanctuary of the Scion"
- name: "level10a.phd"
path: "games/tr1/levels/level10a.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:358"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:358, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Natla's Mines"
- name: "level10b.phd"
path: "games/tr1/levels/level10b.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:392"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:392, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Atlantis"
- name: "level10c.phd"
path: "games/tr1/levels/level10c.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:418"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:418, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "The Great Pyramid"
- name: "cut1.phd"
path: "games/tr1/levels/cut1.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:508"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:508, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Cutscene level 1 (after Qualopec)"
- name: "cut2.phd"
path: "games/tr1/levels/cut2.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:531"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:531, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Cutscene level 2 (after Tihocan)"
- name: "cut3.phd"
path: "games/tr1/levels/cut3.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:552"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:552, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Cutscene level 3 (Khamoon ambush)"
- name: "cut4.phd"
path: "games/tr1/levels/cut4.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:575"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:575, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Cutscene level 4 (Natla's mines)"
# FMV cutscenes
@@ -205,7 +205,7 @@ files:
path: "games/tr1/fmv/core.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:601"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:601, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202"
note: "Core Design legal screen."
- name: "escape.avi"
@@ -213,7 +213,7 @@ files:
path: "games/tr1/fmv/escape.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:602"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:602, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202"
note: "Eidos legal screen."
- name: "cafe.avi"
@@ -221,7 +221,7 @@ files:
path: "games/tr1/fmv/cafe.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:603"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:603, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202"
note: "Intro cutscene."
- name: "mansion.avi"
@@ -229,56 +229,56 @@ files:
path: "games/tr1/fmv/mansion.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:604"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:604, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202"
- name: "snow.avi"
aliases: [snow.rpl]
path: "games/tr1/fmv/snow.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:605"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:605, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202"
- name: "lift.avi"
aliases: [lift.rpl]
path: "games/tr1/fmv/lift.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:606"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:606, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202"
- name: "vision.avi"
aliases: [vision.rpl]
path: "games/tr1/fmv/vision.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:607"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:607, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202"
- name: "canyon.avi"
aliases: [canyon.rpl]
path: "games/tr1/fmv/canyon.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:608"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:608, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202"
- name: "pyramid.avi"
aliases: [pyramid.rpl]
path: "games/tr1/fmv/pyramid.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:609"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:609, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202"
- name: "prison.avi"
aliases: [prison.rpl]
path: "games/tr1/fmv/prison.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:610"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:610, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202"
- name: "end.avi"
aliases: [end.rpl]
path: "games/tr1/fmv/end.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:611"
source_ref: "data/trx/ship/games/tr1/gameflow.json5:611, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202"
# Music tracks (retail CD audio, ripped as trackNN.<ext>).
# Enumerated by the ship tree in docs/trx/INSTALLING.md.
+38 -38
View File
@@ -55,7 +55,7 @@ files:
unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:35"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:35, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 264-273, src/trx/game/paths.c:203-212, src/trx/game/level/pipeline.c:179"
note: "Shared sample bank, loaded for every level."
# Levels
@@ -65,167 +65,167 @@ files:
unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:15"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:15, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:123-131, src/trx/game/level/format/pipeline.c:96"
- name: "assault.tr2"
path: "games/tr2/levels/assault.tr2"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:57"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:57, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:123-131, src/trx/game/level/format/pipeline.c:96"
note: "Lara's Home / assault course."
- name: "wall.tr2"
path: "games/tr2/levels/wall.tr2"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:89"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:89, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "The Great Wall"
- name: "boat.tr2"
path: "games/tr2/levels/boat.tr2"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:125"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:125, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Venice"
- name: "venice.tr2"
path: "games/tr2/levels/venice.tr2"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:151"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:151, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Bartoli's Hideout"
- name: "opera.tr2"
path: "games/tr2/levels/opera.tr2"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:179"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:179, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Opera House"
- name: "rig.tr2"
path: "games/tr2/levels/rig.tr2"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:211"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:211, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Offshore Rig"
- name: "platform.tr2"
path: "games/tr2/levels/platform.tr2"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:241"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:241, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Diving Area"
- name: "unwater.tr2"
path: "games/tr2/levels/unwater.tr2"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:271"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:271, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "40 Fathoms"
- name: "keel.tr2"
path: "games/tr2/levels/keel.tr2"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:301"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:301, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Wreck of the Maria Doria"
- name: "living.tr2"
path: "games/tr2/levels/living.tr2"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:334"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:334, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Living Quarters"
- name: "deck.tr2"
path: "games/tr2/levels/deck.tr2"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:365"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:365, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "The Deck"
- name: "skidoo.tr2"
path: "games/tr2/levels/skidoo.tr2"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:398"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:398, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Tibetan Foothills"
- name: "monastry.tr2"
path: "games/tr2/levels/monastry.tr2"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:427"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:427, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Barkhang Monastery"
- name: "catacomb.tr2"
path: "games/tr2/levels/catacomb.tr2"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:457"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:457, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Catacombs of the Talion"
- name: "icecave.tr2"
path: "games/tr2/levels/icecave.tr2"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:486"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:486, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Ice Palace"
- name: "emprtomb.tr2"
path: "games/tr2/levels/emprtomb.tr2"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:515"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:515, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Temple of Xian"
- name: "floating.tr2"
path: "games/tr2/levels/floating.tr2"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:546"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:546, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Floating Islands"
- name: "xian.tr2"
path: "games/tr2/levels/xian.tr2"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:573"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:573, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "The Dragon's Lair"
- name: "house.tr2"
path: "games/tr2/levels/house.tr2"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:600"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:600, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Home Sweet Home"
- name: "cut1.tr2"
path: "games/tr2/levels/cut1.tr2"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:714"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:714, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Cutscene level 1"
- name: "cut2.tr2"
path: "games/tr2/levels/cut2.tr2"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:729"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:729, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Cutscene level 2"
- name: "cut3.tr2"
path: "games/tr2/levels/cut3.tr2"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:744"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:744, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Cutscene level 3"
- name: "cut4.tr2"
path: "games/tr2/levels/cut4.tr2"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:761"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:761, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Cutscene level 4"
# FMV cutscenes
@@ -237,7 +237,7 @@ files:
path: "games/tr2/fmv/logo.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:780"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:780, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202"
note: "Eidos legal screen."
- name: "ANCIENT.AVI"
@@ -245,7 +245,7 @@ files:
path: "games/tr2/fmv/ancient.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:781"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:781, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202"
note: "Intro cutscene."
- name: "MODERN.AVI"
@@ -253,42 +253,42 @@ files:
path: "games/tr2/fmv/modern.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:782"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:782, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202"
- name: "LANDING.AVI"
aliases: [landing.rpl]
path: "games/tr2/fmv/landing.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:783"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:783, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202"
- name: "MS.AVI"
aliases: [ms.rpl]
path: "games/tr2/fmv/ms.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:784"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:784, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202"
- name: "CRASH.AVI"
aliases: [crash.rpl]
path: "games/tr2/fmv/crash.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:785"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:785, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202"
- name: "JEEP.AVI"
aliases: [jeep.rpl]
path: "games/tr2/fmv/jeep.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:786"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:786, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202"
- name: "END.AVI"
aliases: [end.rpl]
path: "games/tr2/fmv/end.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr2/gameflow.json5:787"
source_ref: "data/trx/ship/games/tr2/gameflow.json5:787, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202"
# Music tracks (retail CD audio, ripped as N.<ext>).
# Enumerated by the ship tree in docs/trx/INSTALLING.md (TR2 uses the
@@ -700,7 +700,7 @@ files:
sha1: "8d8109c1afbb2b443c1c1f57add4676f17b5dc84"
md5: "04ad2f33e48081a6b27a7f0ebf90968d"
category: game_data
source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:58"
source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:58, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "The Cold War"
- name: "level2.tr2"
@@ -711,7 +711,7 @@ files:
sha1: "6c9417d3b03cc2fd9fac62cea0910d9ef107ee1b"
md5: "d9b53b88dd70eec1e4b31182f3286bf5"
category: game_data
source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:90"
source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:90, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Fool's Gold"
- name: "level3.tr2"
@@ -722,7 +722,7 @@ files:
sha1: "e92f045520d6e0aaec2c42dd2c28d34a0677df70"
md5: "ca4294e3bd8835ebf06e114b479a22c2"
category: game_data
source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:115"
source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:115, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Furnace of the Gods"
- name: "level4.tr2"
@@ -733,7 +733,7 @@ files:
sha1: "83ffcd559e656186bc807e1040485f72956dbc00"
md5: "63ff8be5c7abf37d7065456afeda029f"
category: game_data
source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:140"
source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:140, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Kingdom"
- name: "level5.tr2"
@@ -744,5 +744,5 @@ files:
sha1: "4508d23e8475ef6afd7a1756763dd606f23c15a9"
md5: "88c8124b6d152b9f3fe1c4eeec4428a5"
category: game_data
source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:177"
source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:177, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96"
note: "Nightmare in Vegas"
+130 -44
View File
@@ -228,7 +228,7 @@ files:
# ================================================================
# IWADs (user-supplied). At least one is needed to launch a game.
# All source refs point to wadsrc_extra/static/iwadinfo.txt entries.
# Each ref gives the iwadinfo.txt entry, then the code that reads it.
# ================================================================
# ---- Doom ----
@@ -246,144 +246,190 @@ files:
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:420, 437, 659"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:420, 437, 659, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:420, 437, 659, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
note: "The Ultimate DOOM and DOOM Registered both use this name and are told apart by their lumps."
- name: "doom2.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:640, 653"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:640, 653, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:640, 653, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "doom2f.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:625, 657"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:625, 657, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:625, 657, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "doombfg.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:332, 666"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:332, 666, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:332, 666, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "doom2bfg.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:560, 667"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:560, 667, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:560, 667, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "doomunity.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:369, 661"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:369, 661, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:369, 661, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "doom2unity.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:592, 655"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:592, 655, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:592, 655, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "doomkex.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:350, 662"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:350, 662, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:350, 662, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "doom2kex.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:576, 656"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:576, 656, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:576, 656, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "doomxbox.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:403, 660"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:403, 660, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:403, 660, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "doom2xbox.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:608, 654"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:608, 654, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:608, 654, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "doom_complete.pk3"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:389, 652"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:389, 652, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:389, 652, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "plutonia.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:545, 670"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:545, 670, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:545, 668, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "plutoniaunity.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:514, 671"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:514, 671, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:514, 669, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "plutoniakex.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:529, 672"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:529, 672, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:529, 670, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "tnt.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:499, 673"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:499, 673, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:499, 671, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "tntunity.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:468, 674"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:468, 674, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:468, 672, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "tntkex.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:483, 675"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:483, 675, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:483, 673, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "nerve.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:565, 614, src/d_iwad.cpp:924-950"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:565, 614, src/d_iwad.cpp:924-950"
libretro: "wadsrc_extra/static/iwadinfo.txt:565, 614, src/d_iwad.cpp:948-974"
note: "No Rest for the Living. Autoloaded by Doom 2 BFG and Xbox editions."
- name: "nerveunity.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:598, src/d_iwad.cpp:924-950"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:598, src/d_iwad.cpp:924-950"
libretro: "wadsrc_extra/static/iwadinfo.txt:598, src/d_iwad.cpp:948-974"
note: "Loaded from the IWAD directory by DOOM 2: Unity Edition."
- name: "extras.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:357, 376, 488, 534, 582, 598"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:357, 376, 488, 534, 582, 598, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:214-221, 326-352, 924-947"
libretro: "wadsrc_extra/static/iwadinfo.txt:357, 376, 488, 534, 582, 598, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:221-228, 333-359, 948-971, src/common/platform/libretro/retro_core.cpp:61"
note: "Loaded from the IWAD directory by the KEX and Unity editions."
- name: "soundtrack"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:376, 598, src/d_iwad.cpp:924-950"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:376, 598, src/d_iwad.cpp:924-950"
libretro: "wadsrc_extra/static/iwadinfo.txt:376, 598, src/d_iwad.cpp:948-974"
note: "Loaded from the IWAD directory by the DOOM and DOOM 2 Unity editions."
- name: "id24res.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:341, 360, 379, src/d_iwad.cpp:896-912"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:341, 360, 379, src/d_iwad.cpp:896-912"
libretro: "wadsrc_extra/static/iwadinfo.txt:341, 360, 379, src/d_iwad.cpp:920-936"
note: "id24 resource WAD. SupportWAD of every id IWAD block, loaded when found and i_loadsupportwad is set."
# ---- Freedoom (free) ----
@@ -392,19 +438,25 @@ files:
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:307, 676"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:307, 676, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:307, 674, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "freedoom2.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:294, 677"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:294, 677, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:294, 675, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "freedm.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:281, 680"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:281, 680, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:281, 678, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
# ---- Heretic ----
@@ -412,7 +464,9 @@ files:
category: game_data
system: heretic
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:241, 244, 254, 257, 681"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:241, 244, 254, 257, 681, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:241, 244, 254, 257, 679, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
note: "Both Heretic and Shadow of the Serpent Riders use this name and are told apart by the EXTENDED lump."
- name: "blasphem.wad"
@@ -420,7 +474,9 @@ files:
category: game_data
system: heretic
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:228, 692-693"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:228, 692-693, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:228, 690-691, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
# ---- Hexen ----
@@ -428,13 +484,17 @@ files:
category: game_data
system: hexen
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:188, 684"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:188, 684, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:188, 682, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "hexdd.wad"
category: game_data
system: hexen
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:196-207, 685"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:196-207, 685, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:196-207, 683, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
note: "Deathkings expansion. Requires hexen.wad (Required = Hexen: Beyond Heretic)."
# ---- Strife ----
@@ -443,20 +503,26 @@ files:
category: game_data
system: strife
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:151, 688"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:151, 688, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:151, 686, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "sve.wad"
category: game_data
system: strife
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:136, 140, 689"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:136, 140, 689, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:136, 140, 687, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
note: "Veteran Edition. Required = Strife: Quest for the Sigil (loads voices.wad)."
- name: "voices.wad"
category: game_data
system: strife
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:142, 155"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:142, 155, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:214-221, 326-352, 924-947"
libretro: "wadsrc_extra/static/iwadinfo.txt:142, 155, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:221-228, 333-359, 948-971, src/common/platform/libretro/retro_core.cpp:61"
# ---- Chex Quest ----
@@ -464,13 +530,17 @@ files:
category: game_data
system: chex
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:123, 694"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:123, 694, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:123, 692, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "chex3.wad"
category: game_data
system: chex
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:109, 695"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:109, 695, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:109, 693, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
# ---- Standalone commercial / community IWADs ----
@@ -478,48 +548,64 @@ files:
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:83, 698"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:83, 698, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:83, 696, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "hacx2.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:65-75, 699, src/d_iwad.cpp:362-407, src/common/filesystem/source/resourcefile.cpp:150-165"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:65-75, 699, src/d_iwad.cpp:362-407, src/common/filesystem/source/resourcefile.cpp:150-165"
libretro: "wadsrc_extra/static/iwadinfo.txt:65-75, 697, src/d_iwad.cpp:369-414, src/common/filesystem/source/resourcefile.cpp:150-165"
note: "Identified by the MAP01 map and the HACX-E lump, whatever the container: every candidate is opened by its magic, so a zip under this name is read as a pk3. The Hacx 2.0 repository builds that zip from src/, where hacx-e.txt is the HACX-E lump and maps/MAP01.wad the first map."
- name: "action2.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:97, 696"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:97, 696, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:97, 694, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "harm1.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:57, 697"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:57, 697, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:57, 695, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "square.pk3"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:33"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:33, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:326-352, 362-407, 643-692"
libretro: "wadsrc_extra/static/iwadinfo.txt:33, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:333-359, 369-414, 663-716, src/common/platform/libretro/retro_core.cpp:61"
note: "Absent from the Names block: picked up only when named with -iwad."
- name: "square1.pk3"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:45, 700"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:45, 700, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:45, 698, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "delaweare.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:22, 701"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:22, 701, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:22, 699, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
- name: "rotwb.wad"
category: game_data
system: doom
required: false
source_ref: "wadsrc_extra/static/iwadinfo.txt:9, 702"
source_ref:
standalone: "wadsrc_extra/static/iwadinfo.txt:9, 702, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547"
libretro: "wadsrc_extra/static/iwadinfo.txt:9, 700, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61"
+3 -3
View File
@@ -469,7 +469,7 @@ files:
md5: 57af4ae21d4b705c2991d98ed5c1f7b8
crc32: f833d117
note: "C64 BASIC V2 ROM (DTV copy). Embedded in core."
source_ref: "vice/data/C64DTV/basic-901226-01.bin"
source_ref: "vice/data/C64DTV/basic-901226-01.bin, vice/src/c64/c64rom.h:31, vice/src/c64dtv/c64dtv-resources.c:92, 157, retrodep/embedded/c64dtvembedded.c:43-48"
- name: "vice/C64DTV/chargen-901225-01.bin"
system: commodore-c64dtv
@@ -481,7 +481,7 @@ files:
md5: 12a4202f5331d45af846af6c58fba946
crc32: ec4272ee
note: "C64 Character Generator (DTV copy). Embedded in core."
source_ref: "vice/data/C64DTV/chargen-901225-01.bin"
source_ref: "vice/data/C64DTV/chargen-901225-01.bin, vice/src/c64/c64rom.h:60, vice/src/c64dtv/c64dtv-resources.c:74, 151, retrodep/embedded/c64dtvembedded.c:43-48"
- name: "vice/C64DTV/kernal-901227-03.bin"
system: commodore-c64dtv
@@ -493,7 +493,7 @@ files:
md5: 39065497630802346bce17963f13c092
crc32: dbe3e7c7
note: "C64 Kernal Rev 3 (DTV copy). Embedded in core."
source_ref: "vice/data/C64DTV/kernal-901227-03.bin"
source_ref: "vice/data/C64DTV/kernal-901227-03.bin, vice/src/c64/c64rom.h:52, vice/src/c64dtv/c64dtv-resources.c:83, 154, retrodep/embedded/c64dtvembedded.c:43-48"
# -------------------------------------------------------
# VIC-20 ROMs (vice_xvic)
-9
View File
@@ -1027,15 +1027,6 @@ files:
source_ref: "src/soundchips/gs.h:34, src/soundchips/gs.h:29, src/soundchips/gs.c:525-545"
note: "General Sound firmware v1.05a. GS_ROM_SIZE is in KB and the read is GS_ROM_SIZE*1024."
- name: "gs104.rom"
sha1: "c865121306eb3a7d811d82fbcc653b4dc1d6fa3d"
size: 32768
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/configure:1933"
note: "General Sound firmware v1.04. Shipped alongside gs105a.rom, but GS_ROM_NAME is fixed and there is no option to point the loader elsewhere, so it is usable only in place of gs105a.rom."
# ============================================================
# Alternate machine ROMs, selectable with --romfile (src/start.c:4877-4881,
# loaded at src/cpu.c:3776-3779). Documented in the shipped src/ALTERNATEROMS.
+1 -1
View File
@@ -16,7 +16,7 @@
# and Invoke-WebRequest throws on a cut transfer before the hash is read:
# the site's build rewrites this line there (scripts/sitebootstrap.py).
$mismatchAdvice = "The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that."
$defaultInstallSha256 = "456a32e79668e125f2ebe573b549247210c59fed6389e78dc1482b57d3a36712"
$defaultInstallSha256 = "37442a7c0d307b0b95a40d7630cf57025a6498fea6223076892371b2d6363147"
# The pin above refuses any changed byte: this cap only stops a body that
# cannot be the installer (a sign-in portal's page) before it is hashed.
$maximumInstallerBytes = 8MB
+841 -46
View File
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -23,7 +23,7 @@ DEFAULT_INSTALL_URL="https://raw.githubusercontent.com/Abdess/retrobios/main/ins
# curl or wget stop on a cut transfer before the hash is read: the site's
# build rewrites this line there (scripts/sitebootstrap.py).
MISMATCH_ADVICE="The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that."
DEFAULT_INSTALL_SHA256="456a32e79668e125f2ebe573b549247210c59fed6389e78dc1482b57d3a36712"
DEFAULT_INSTALL_SHA256="37442a7c0d307b0b95a40d7630cf57025a6498fea6223076892371b2d6363147"
# The pin above refuses any changed byte: this cap only stops a body that
# cannot be the installer (a sign-in portal's page) before it is hashed.
MAX_INSTALLER_BYTES=8388608
+8 -8
View File
@@ -27,8 +27,8 @@
{
"dest": "roms/ports/retrobios/install.py",
"repo_path": "install.py",
"size": 1162452,
"sha256": "456a32e79668e125f2ebe573b549247210c59fed6389e78dc1482b57d3a36712",
"size": 1201450,
"sha256": "37442a7c0d307b0b95a40d7630cf57025a6498fea6223076892371b2d6363147",
"executable": false
},
{
@@ -71,8 +71,8 @@
"muos": {
"archive": {
"dest": "ARCHIVE/RetroBIOS.muxapp",
"size": 1216077,
"sha256": "b9e623839a8cf71d929a860b53a6c4c82cbfde551151912e1aba0347532be965"
"size": 1255075,
"sha256": "23393eb6b88f7a7875bd034e79c02d81e80409c9403290bb96a75166bf7a60b6"
},
"members": [
{
@@ -92,8 +92,8 @@
{
"name": "RetroBIOS/install.py",
"repo_path": "install.py",
"size": 1162452,
"sha256": "456a32e79668e125f2ebe573b549247210c59fed6389e78dc1482b57d3a36712",
"size": 1201450,
"sha256": "37442a7c0d307b0b95a40d7630cf57025a6498fea6223076892371b2d6363147",
"executable": false
},
{
@@ -166,8 +166,8 @@
{
"dest": ".config/modules/retrobios/install.py",
"repo_path": "install.py",
"size": 1162452,
"sha256": "456a32e79668e125f2ebe573b549247210c59fed6389e78dc1482b57d3a36712",
"size": 1201450,
"sha256": "37442a7c0d307b0b95a40d7630cf57025a6498fea6223076892371b2d6363147",
"executable": false
},
{
+53
View File
@@ -6814,6 +6814,59 @@ launchers:
fails_when_missing: false
source_ref: "package/batocera/core/batocera-configgen/configgen/configgen/generators/shadps4/shadps4Generator.py:46,\
\ 228"
- emulator: mame
build: standalone
kind: passes_path
names: []
search_dir: <romDirname>;/userdata/bios/mame;/userdata/bios
passes_to: command line -rompath
fails_when_missing: false
depends_on_option: messMode == -1
source_ref: "package/batocera/core/batocera-configgen/configgen/configgen/generators/mame/mameGenerator.py:129-130"
- emulator: mame
build: standalone
kind: passes_path
names: []
search_dir: <romDirname>;/userdata/bios/mame;/userdata/bios;/userdata/roms/mame;<softDir>
passes_to: command line -rompath
fails_when_missing: false
depends_on_option: "not (messMode == -1) and softList in subdirSoftList"
source_ref: "package/batocera/core/batocera-configgen/configgen/configgen/generators/mame/mameGenerator.py:129,\
\ 132-133"
- emulator: mame
build: standalone
kind: passes_path
names: []
search_dir: <romDirname>;/userdata/bios/mame;/userdata/bios;/userdata/roms/mame
passes_to: command line -rompath
fails_when_missing: false
depends_on_option: "not (messMode == -1) and not (softList in subdirSoftList)"
source_ref: "package/batocera/core/batocera-configgen/configgen/configgen/generators/mame/mameGenerator.py:129,\
\ 132, 135"
- emulator: mame
build: standalone
kind: passes_path
names: []
search_dir: /userdata/bios/mame/samples
passes_to: command line -samplepath
fails_when_missing: false
source_ref: "package/batocera/core/batocera-configgen/configgen/configgen/generators/mame/mameGenerator.py:142"
- emulator: mame
build: standalone
kind: passes_path
names: []
search_dir: /var/run/mame_artwork/;/usr/bin/mame/artwork/;/userdata/bios/mame/artwork;/userdata/decorations
passes_to: command line -artpath
fails_when_missing: false
source_ref: "package/batocera/core/batocera-configgen/configgen/configgen/generators/mame/mameGenerator.py:143"
- emulator: mame
build: standalone
kind: passes_path
names: []
search_dir: /userdata/bios/mame/artwork/crosshairs
passes_to: command line -crosshairpath
fails_when_missing: false
source_ref: "package/batocera/core/batocera-configgen/configgen/configgen/generators/mame/mameGenerator.py:189"
configs_root:
path: /userdata/system/configs
from_bios: ../system/configs
+36
View File
@@ -693,6 +693,24 @@ launchers:
passes_to: rompath in $md_conf_root/mame/mame.ini
fails_when_missing: false
source_ref: "scriptmodules/emulators/mame.sh:133"
- emulator: mame
package: mame
build: standalone
kind: passes_path
names: []
search_dir: $romdir/mame/samples;$romdir/arcade/samples
passes_to: samplepath in $md_conf_root/mame/mame.ini
fails_when_missing: false
source_ref: "scriptmodules/emulators/mame.sh:135"
- emulator: mame
package: mame
build: standalone
kind: passes_path
names: []
search_dir: $romdir/mame/artwork;$romdir/arcade/artwork
passes_to: artpath in $md_conf_root/mame/mame.ini
fails_when_missing: false
source_ref: "scriptmodules/emulators/mame.sh:136"
- emulator: mame4all
package: mame4all
repo: "git https://github.com/RetroPie/mame4all-pi.git master"
@@ -703,6 +721,24 @@ launchers:
kind: package
names: []
source_ref: "scriptmodules/emulators/mame4all.sh:12, 16, 91-92"
- emulator: mame4all
package: mame4all
build: standalone
kind: passes_path
names: []
search_dir: $romdir/mame-mame4all/samples;$romdir/arcade/samples
passes_to: samplepath in $md_conf_root/mame-mame4all/mame.cfg
fails_when_missing: false
source_ref: "scriptmodules/emulators/mame4all.sh:78"
- emulator: mame4all
package: mame4all
build: standalone
kind: passes_path
names: []
search_dir: $romdir/mame-mame4all;$romdir/arcade
passes_to: rompath in $md_conf_root/mame-mame4all/mame.cfg
fails_when_missing: false
source_ref: "scriptmodules/emulators/mame4all.sh:79"
- emulator: minivmac
package: minivmac
repo: "git https://github.com/minivmac/minivmac.git master"
+57
View File
@@ -38,6 +38,7 @@
"downloaded",
"summary",
"app",
"record",
"end"
]
}
@@ -127,6 +128,9 @@
{
"$ref": "#/$defs/app"
},
{
"$ref": "#/$defs/record"
},
{
"$ref": "#/$defs/end"
}
@@ -1091,6 +1095,59 @@
}
}
},
"record": {
"type": "object",
"additionalProperties": false,
"required": [
"event",
"platform",
"folder",
"path",
"status",
"choice",
"date",
"files",
"message"
],
"properties": {
"event": {
"const": "record"
},
"platform": {
"type": "string"
},
"folder": {
"type": "string"
},
"path": {
"type": "string"
},
"status": {
"enum": [
"applied",
"written",
"unreadable",
"not_written"
]
},
"choice": {
"type": "array",
"items": {
"type": "string"
}
},
"date": {
"type": "string"
},
"files": {
"type": "integer",
"minimum": 0
},
"message": {
"type": "string"
}
}
},
"end": {
"type": "object",
"additionalProperties": false,
+135 -27
View File
@@ -2760,27 +2760,49 @@ def expand_directory_entries(
if not any(entry.get("type") == "directory" for entry in files):
return files
# A file the profile names itself is left to that entry, in the same
# build and below the same root: MAME's libretro floppy samples share
# their path with the standalone tree RetroPie reads below roms/.
other_build = "libretro" if standalone else "standalone"
named = {
destination(entry) for entry in files if entry.get("type") != "directory"
(entry.get("root") or "", destination(entry)) for entry in files
if entry.get("type") != "directory" and entry.get("mode") != other_build
}
expanded: list[dict] = []
for entry in files:
if entry.get("type") != "directory":
expanded.append(entry)
continue
members = directory_members(db, destination(entry))
target = destination(entry)
# A directory a platform moved (platform_layouts) is the profile's
# tree at the platform's place: the collection holds it under the
# layout path, and the platform's folder proves nothing (RetroDECK
# hands MAME samplepath $bios_path/mame-sa/samples).
layout = str(entry.get("layout_path") or "") if standalone else ""
members = directory_members(db, layout) if layout else {}
if not members:
# A layout tail two trees answer (MAME's hash/) leaves the
# platform's own tail.
layout = ""
members = directory_members(db, target)
if layout and layout.strip("/") != target.strip("/"):
source, place = layout.strip("/") + "/", target.strip("/") + "/"
members = {
place + dest[len(source):]: sha1
for dest, sha1 in members.items() if dest.startswith(source)
}
if not members:
expanded.append(entry)
continue
inherited = {
key: value
for key, value in entry.items()
if key not in ("type", "standalone_path")
if key not in ("type", "standalone_path", "layout_path")
}
expanded.extend(
{**inherited, "name": dest, "path": dest, "sha1": sha1}
for dest, sha1 in members.items()
if dest not in named
if (entry.get("root") or "", dest) not in named
)
return expanded
@@ -2905,6 +2927,32 @@ def own_build_tags(config: dict, standalone: set[str]) -> set[str]:
}
def twin_build_names(config: dict) -> set[str]:
"""The libretro core names of emulators a platform also runs standalone
under another name.
RetroBat's es_systems.cfg offers MAME as the libretro core mame and as
the standalone mame64, two names of one profile: the platform runs it
both ways, and each build reads its own layout.
"""
standalone = {str(c) for c in config.get("standalone_cores") or []}
libretro = {str(c) for c in config.get("cores") or []} - standalone if isinstance(
config.get("cores"), list
) else set()
if not standalone or not libretro:
return set()
profiles = load_emulator_profiles(str(Path(__file__).resolve().parent.parent / "emulators"))
found: set[str] = set()
for key, profile in profiles.items():
kind = str(profile.get("type", ""))
if "libretro" not in kind or "standalone" not in kind:
continue
names = {key, *(str(c) for c in profile.get("cores") or [])}
if names & standalone:
found |= names & libretro
return found
def standalone_set(config: dict) -> set[str]:
"""The emulators a platform launches standalone, with its dual-mode ones.
@@ -2924,6 +2972,7 @@ def standalone_set(config: dict) -> set[str]:
& set(map(str, config.get("standalone_cores") or []))
}
names |= own_build_tags(config, names)
names |= {DUAL_MODE_PREFIX + n for n in twin_build_names(config)}
# The system directory each core is handed travels the same way, so
# platform_layouts places a core's files below it for every reader.
names |= {
@@ -3157,6 +3206,29 @@ def standalone_bindings_for(
)
def _placed_entry(entry: dict, profile: dict, placed: tuple[str, str]) -> dict:
"""A standalone entry moved to the (tree, path) a platform reads it from."""
tree, path = placed
moved = {**entry, "standalone_path": path,
"layout_path": standalone_layout_path(entry, profile)}
if entry.get("load_from"):
# The build's own root no longer applies: RetroDECK hands
# Cemu's MLC, read from its data directory, to bios/cemu.
load_from = entry["load_from"]
moved["load_from"] = {
**(load_from if isinstance(load_from, dict) else {"libretro": load_from}),
"standalone": "system_dir",
}
if tree == "install":
# Below the roms root inside the install tree (AmberELEC's
# /storage/roms): a plain dest the platform prefix skips.
return {**moved, "unprefixed": True}
# A file the launcher runs from the roms directory (ROCKNIX's
# roms/pico-8) or an emulator folder (RetroBat's emulators/pico8)
# is relative to it, and says so.
return {**moved, "root": tree} if tree else moved
def platform_layouts(
emu_name: str, profile: dict, standalone_cores: set[str]
) -> list[tuple[dict, bool]]:
@@ -3191,7 +3263,14 @@ def platform_layouts(
for system in own:
family.setdefault(system, set()).update(entry_launch_systems(f, index) - own)
def bindings_of(entry: dict) -> dict[str, tuple[str, str]]:
# The systems the launcher records name: a launch for one of them reads
# the folder its record gives, every other launch the folder the records
# naming none give.
named_systems = frozenset().union(*(
h.systems for h in _handed(standalone_cores) if h.emulator in names
)) if per_system else frozenset()
def launch_systems(entry: dict) -> frozenset[str]:
systems: frozenset[str] = frozenset()
if per_system:
own = entry_launch_systems(entry, {})
@@ -3205,12 +3284,53 @@ def platform_layouts(
systems = systems.union(*(
index.get(MACHINE_KEY + _norm_system_id(s), set()) for s in own
))
return systems
def bindings_for(systems: frozenset[str]) -> dict[str, tuple[str, str]]:
if systems not in by_systems:
by_systems[systems] = standalone_bindings_for(
emu_name, profile, standalone_cores, systems
)
return by_systems[systems]
def bindings_of(entry: dict) -> dict[str, tuple[str, str]]:
return bindings_for(launch_systems(entry))
# The layout folders a search setting stands for (standalone_pools):
# bound, the launcher passes the setting and the default is not read.
pool_folders = {
str(v).strip("/") for v in (profile.get("standalone_pools") or {}).values()
} - {""}
def passed_setting(entry: dict) -> bool:
layout = str(standalone_layout_path(entry, profile) or "")
bindings = bindings_of(entry)
return any(
folder in bindings and (layout == folder or layout.startswith(folder + "/"))
for folder in pool_folders
)
def destinations(entry: dict) -> list[tuple[str, str] | None]:
"""Each place the entry's launches read it from, in launch order.
An entry of a system a record names is read where that record puts
it. One also launched for systems no record names is read, for those
launches, where the records naming none put it: EmuELEC starts
AdvanceMAME with dir_rom roms/arcade for arcade and roms/mame for
mame and cps1-3 (advmame.sh:26-30), and an arcade set is read in both.
"""
systems = launch_systems(entry)
found = [standalone_destination(entry, profile, bindings_for(systems))]
# A system the platform's list or machines put the entry under
# stands for the entry's own ids: XRoar's coco3 is launched as coco.
own = entry_launch_systems(entry, {})
launched = (systems - own) | (own & named_systems) if systems != own else systems
if launched & named_systems and launched - named_systems:
generic = standalone_destination(entry, profile, bindings_for(frozenset()))
if generic not in found:
found.append(generic)
return found
layout_entries = [
f for f in profile.get("files") or []
if isinstance(f, dict) and standalone_layout_path(f, profile) is not None
@@ -3228,30 +3348,18 @@ def platform_layouts(
if not isinstance(f, dict) or standalone_layout_path(f, profile) is None:
files.append(f)
continue
placed = standalone_destination(f, profile, bindings_of(f))
if placed is None or placed[0] == "outside":
places = [p for p in destinations(f) if p is not None and p[0] != "outside"]
if not places:
files.append({**f, "unplaced": OUTSIDE_BIOS_FOLDER})
continue
tree, path = placed
moved = {**f, "standalone_path": path,
"layout_path": standalone_layout_path(f, profile)}
if f.get("load_from"):
# The build's own root no longer applies: RetroDECK hands
# Cemu's MLC, read from its data directory, to bios/cemu.
load_from = f["load_from"]
moved["load_from"] = {
**(load_from if isinstance(load_from, dict) else {"libretro": load_from}),
"standalone": "system_dir",
}
if tree == "install":
# Below the roms root inside the install tree (AmberELEC's
# /storage/roms): a plain dest the platform prefix skips.
files.append({**moved, "unprefixed": True})
continue
# A file the launcher runs from the roms directory (ROCKNIX's
# roms/pico-8) or an emulator folder (RetroBat's emulators/pico8)
# is relative to it, and says so.
files.append({**moved, "root": tree} if tree else moved)
moved = f
if f.get("bundled") and passed_setting(f):
# The copy installed with the emulator sits where the setting
# pointed before the launcher moved it: RetroBat passes MAME
# -hash bios/mame/hash (Mame64.Generator.cs:172, 177-178), and
# the hash/ beside mame.exe is no longer read.
moved = {k: v for k, v in f.items() if k != "bundled"}
files.extend(_placed_entry(moved, profile, placed) for placed in places)
standalone = {**profile, "files": files}
dual = {c.removeprefix(DUAL_MODE_PREFIX) for c in standalone_cores
if c.startswith(DUAL_MODE_PREFIX)}
+3 -2
View File
@@ -37,10 +37,11 @@ KEY_TYPES: dict[str, dict] = {
**dict.fromkeys((
"installer", "os", "os_name", "stage", "reason", "platform", "message",
"folder", "dest", "system", "name", "bios_dir", "path", "member",
"list_version", "installed_version", "board", "core",
"list_version", "installed_version", "board", "core", "date",
), _TEXT),
"mode": {"enum": ["install", "check", "dry-run", "list"]},
"state": {"enum": ["present", "wrong_hash", "missing"]},
"status": {"enum": ["applied", "written", "unreadable", "not_written"]},
**dict.fromkeys((
"files", "files_done", "files_total", "bytes", "bytes_done", "bytes_total",
"bytes_local", "bytes_network", "size", "present", "missing", "wrong_hash",
@@ -48,7 +49,7 @@ KEY_TYPES: dict[str, dict] = {
"pending", "code", "games", "recognised", "not_games",
), _COUNT),
**dict.fromkeys(("truncated", "ok", "interrupted", "required_only", "applied", "info"), _FLAG),
**dict.fromkeys(("systems", "other_drives", "dests", "written"), _NAMES),
**dict.fromkeys(("systems", "other_drives", "dests", "written", "choice"), _NAMES),
**dict.fromkeys(("platforms", "failed", "skipped", "left_out", "kept", "found",
"fallback"), _RECORDS),
}
+3 -2
View File
@@ -314,8 +314,9 @@ BIOS_ROOT_VARIABLES = ("$biosdir", "$home/RetroPie/BIOS", "${biosPath}", "$bios_
# The name a platform's launch code gives its roms root: RetroDECK's
# component scripts write $roms_path (retrodeck_launchers), the setting whose
# default is the roms root (config/retrodeck/retrodeck.json:5).
ROMS_ROOT_VARIABLES = ("$roms_path", "${roms_path}")
# default is the roms root (config/retrodeck/retrodeck.json:5), RetroPie's
# scriptmodules $romdir (retropie_packages.sh:47-49).
ROMS_ROOT_VARIABLES = ("$roms_path", "${roms_path}", "$romdir", "${romdir}")
# The kinds that hand an emulator a whole directory. A scans_dir record sets
# the directory the emulator picks its file from: ROCKNIX writes ARMSX2's
+5
View File
@@ -1545,6 +1545,11 @@ def _collect_emulator_extras(
extra["system_dir"] = f["system_dir"]
if f.get("unprefixed"):
extra["unprefixed"] = True
# A copy placed outside the BIOS tree resolves by its layout
# path alone, as the first pass does: EmuELEC's
# roms/mame/stvbios.zip took bios/Arcade/MAME's set by that tail.
if f.get("layout_path"):
extra["layout_path"] = f["layout_path"]
extra["claim_order"] = (2, 0, emu_name)
if _take(extra, full_dest, seen_dests, taken):
extras.append(extra)
+4 -4
View File
@@ -238,9 +238,9 @@ def render(record: dict, platforms_dir: str, whats_new: str,
folders = _extract_folders(record, platforms_dir)
tag = str(record.get("tag", ""))
lines = [
"### Get your BIOS",
"### Get the BIOS files",
"",
"Paste this in a terminal. It finds your setup and installs the missing BIOS files.",
"Paste this in a terminal. It finds the setup and installs the missing BIOS files.",
"",
"**Linux, macOS, Steam Deck**",
"```sh",
@@ -252,11 +252,11 @@ def render(record: dict, platforms_dir: str, whats_new: str,
install_command("powershell"),
"```",
"",
f"**On a handheld**: [get the app for your system]({SITE}{HANDHELD_PAGE}).",
f"**On a handheld**: [get the app for the system]({SITE}{HANDHELD_PAGE}).",
"",
"### Full packs",
"",
"Large downloads, for a device without internet. Extract into your BIOS folder.",
"Large downloads, for a device without internet. Extract into the BIOS folder.",
"",
]
if any(len(pack["assets"]) > 1 for pack in packs.values()):
+23 -2
View File
@@ -578,8 +578,10 @@ def _append_new_entries(text: str, files: list[dict], original: str) -> str:
return text
lines = []
profile_type = str(existing_data.get("type") or "")
for fe in new_entries:
lines.append(f"\n - name: {_yaml_scalar(fe['name'])}")
lines.extend(set_path_lines(profile_type, fe["name"]))
lines.append(f" required: {str(fe['required']).lower()}")
lines.append(" category: bios_zip")
if fe.get("source_ref"):
@@ -715,10 +717,27 @@ def _rewrite_systems(section: str, systems: dict[str, list[str]]) -> str:
return "\n".join(out)
def _format_device_entry(name: str, device: dict, role: str) -> str:
def set_path_lines(profile_type: str, name: str) -> list[str]:
"""Where each build of a MAME profile reads a set it lists.
The libretro build searches the content folder, then <system>/mame/bios
and <system>/mame/roms (libretro-internal/retro_init.cpp,
Set_Path_Option), never the system folder itself. The standalone build
reads the top of its rompath.
"""
if "libretro" not in profile_type:
return []
lines = [f' path: "mame/bios/{name}"']
if "standalone" in profile_type:
lines.append(f' standalone_path: "{name}"')
return lines
def _format_device_entry(name: str, device: dict, role: str, profile_type: str = "") -> str:
"""One generated device entry, in the field order of the written ones."""
lines = [
f" - name: {_zip_scalar(name)}",
*set_path_lines(profile_type, name),
" required: false",
" category: bios_zip",
*_system_lines(device.get("systems") or []),
@@ -779,7 +798,9 @@ def merge_mame_devices(
name = f"{set_name}.zip"
existing = entries.get(name)
if not existing:
new_blocks[name] = _format_device_entry(name, device, role)
new_blocks[name] = _format_device_entry(
name, device, role, str(profile.get("type") or "")
)
report["added"].append(set_name)
continue
if any(e.get("category") != "bios_zip" for e in existing):
+23 -1
View File
@@ -1119,10 +1119,32 @@ def patched_paths(read: Callable[[str], str], patches: tuple[str, ...] = PATH_PA
return launchers
# Generators whose command line hands the emulator /userdata/bios folders as
# search paths: MAME's -rompath and -samplepath (mame/mameGenerator.py).
SEARCH_PATH_GENERATORS = ("mame/mameGenerator.py",)
def search_paths(cg: Configgen) -> list[Launcher]:
"""Every /userdata/bios path a generator's command line names, read as
KNULLI's generic reader reads its fork of the same generator."""
try:
from .knulli_launchers import GenericSites, bios_sites # noqa: PLC0415
except ImportError:
from knulli_launchers import GenericSites, bios_sites # type: ignore[no-redef] # noqa: PLC0415
# A boot disk image the command line names (the Macintosh's
# /userdata/bios/<boot_disk>.img) is a file, no search path.
return [
launcher
for path in SEARCH_PATH_GENERATORS
for launcher in bios_sites(cg, GenericSites(path, "passes_path"))
if re.match(r"command line -\w", launcher.passes_to or "")
]
EXTRACTORS: tuple[Callable[[Configgen], list[Launcher]], ...] = (
duckstation, duckstation_legacy, hatari, xemu, melonds, mupen64plus,
x16emu, gsplus, lexaloffle, environment_directories, config_directories,
core_file_options, working_directories,
core_file_options, working_directories, search_paths,
)
+4
View File
@@ -453,6 +453,10 @@ def release_profile(
name = f"{set_name}.zip"
entry: dict[str, Any] = {
"name": name,
# The libretro build searches the content folder, then
# <system>/mame/bios and <system>/mame/roms (retro_init.cpp,
# Set_Path_Option): the system folder itself is not read.
"path": f"mame/bios/{name}",
"required": settled_required(known.get(name, {}), data),
"category": "bios_zip",
}
+23
View File
@@ -32,6 +32,9 @@ SECTIONS = ("emulators", "libretrocores", "ports")
PACKAGES_SCRIPT = "retropie_packages.sh"
BIOSDIR = "$biosdir"
# The roms root (retropie_packages.sh:47-49): MAME's mame.ini lists rom,
# sample and artwork folders below it (scriptmodules/emulators/mame.sh:133-136).
ROMDIR = "$romdir"
# The package whose config every lr- core runs under.
LIBRETRO_FRONTEND = "retroarch"
# The launch scripts copied next to an emulator spell the directory out.
@@ -464,6 +467,20 @@ class Scripts:
return results
def _search_list_in_roms(event: "Event") -> bool:
"""An iniSet whose value is a list of folders below the roms root.
One folder alone is where a program writes (cfg_directory, nvram_directory
and the others MAME's mame.ini sets): a list is where it searches.
"""
if len(event.words) < 3 or len(event.words[2]) != 1:
return False
parts = [p for p in event.words[2][0].split(";") if p]
return len(parts) > 1 and all(
p.startswith(ROMDIR + "/") or p.startswith("${romdir}/") for p in parts
)
def _mentions_bios(text: str) -> bool:
return BIOSDIR in text or "${biosdir}" in text or BIOS_SPELLED in text
@@ -541,6 +558,12 @@ class PackageReader:
if command == "addEmulator":
self._add_emulator(event)
return
if command == "iniSet" and not _mentions_bios(event.raw):
# A search path below the roms root: MAME reads its samples from
# samplepath $romdir/mame/samples;$romdir/arcade/samples.
if _search_list_in_roms(event):
self._ini_set(event)
return
if not _mentions_bios(event.raw):
return
if command in HOUSEKEEPING:
+60
View File
@@ -87,6 +87,7 @@ def _validate_yaml_directory(
out.extend(_systems_outside_profile(path, data))
out.extend(_doubled_paths(path))
out.extend(_group_requirement_split(path, data))
out.extend(_data_only_source_refs(path, data))
return out
@@ -155,6 +156,65 @@ def _group_requirement_split(path: Path, document: object) -> list[str]:
return out
_CODE_SUFFIXES = frozenset(
"c cc cpp cxx c++ h hh hpp hxx inc inl ipp m mm mjs cjs js jsx ts tsx py cs java kt "
"go rs lua pas pp asm s sh bash zsh ps1 bat cmd vbs swift d zig nim qml qc rb pl php "
"scala ml hs dart vue ino z80 smali".split()
)
_CODE_FILE = re.compile(r"[\w+.-]\.([A-Za-z0-9+]+)\b")
_BINARY_EVIDENCE = re.compile(
r"\b0x[0-9a-fA-F]+\b|\bFUN_[0-9a-fA-F]+\b|\.(?:so|dll|exe|dylib|dex|apk|jar|elf|nro|xex)\b",
re.IGNORECASE,
)
# Profiles whose files cite no published code. Each reason says why the
# check cannot apply yet.
DATA_ONLY_REF_EXCEPTIONS: dict[str, str] = {
"ace-dl": "closed source: the refs describe what the shipped binary opens",
"cpcemu": "closed source: the refs describe what the shipped binary opens",
"drastic": "closed source: the shader format files are read by the shipped binary",
"lexaloffle": "closed source: PICO-8 reads pico8_gpio, the refs are its readme and the KNULLI install script",
"mfme": "closed source: the refs are the release notes of the shipped binary",
}
def _ref_cites_code(ref: str) -> bool:
"""A source_ref part names a source file, or a binary with an address."""
from sourceref import split_source_ref
if _BINARY_EVIDENCE.search(ref):
return True
for part in split_source_ref(ref):
for suffix in _CODE_FILE.findall(part.raw):
if suffix.lower() in _CODE_SUFFIXES:
return True
return False
def _data_only_source_refs(path: Path, document: object) -> list[str]:
"""A files[] source_ref that cites only data or build files.
A data file is evidence that the emulator reads a file only once the
code that ships and parses it is cited too: iwadinfo.txt names the
IWADs, d_iwad.cpp is what reads it. 655 entries in 27 profiles cited
the table alone, and six of them named a file no code opens.
"""
if not isinstance(document, dict) or path.stem in DATA_ONLY_REF_EXCEPTIONS:
return []
out: list[str] = []
for index, entry in enumerate(document.get("files") or []):
if not isinstance(entry, dict) or not entry.get("source_ref"):
continue
refs = entry["source_ref"]
for ref in refs.values() if isinstance(refs, dict) else [refs]:
if ref and not _ref_cites_code(str(ref)):
out.append(
f"{path.relative_to(ROOT)}: files[{index}] ({entry.get('name')}) "
f"source_ref cites no code that reads the file: {ref}"
)
return out
def _checks_without_values(path: Path, document: object) -> list[str]:
"""A check an entry declares with nothing to compare against.
+41
View File
@@ -1064,3 +1064,44 @@
^[[0;1;35mA/Enter^[[0m Back
=== plan-record
^[[0;1m ^[[0;1;35mRetroBIOS^[[0;1m: RetroArch^[[0m
^[[0;1m ^[[0;1;35m1^[[0;1m file to download, ^[[0;1;35m16.0 KB^[[0m
BIOS folder: ^[[0;1m~/.config/retroarch/system^[[0m
For nintendo-gba.
^[[0;7;35m > Install^[[0m
Same choice as on 3 Nov: yes
Choose systems
Copy the BIOS files from an old card or a folder
Change where
Details
Options
Quit
^[[0;1;35mA/Enter^[[0m Install ^[[0;2mB/Esc^[[0m Back ^[[0;2mY/o^[[0m Options ^[[0;2m?^[[0m Help
+13
View File
@@ -336,3 +336,16 @@
^[[0;2m Shortened to fit this window.^[[0m
^[[0;1;35mA^[[0m Back
=== plan-record
^[[0;1m ^[[0;1;35mRetroBIOS^[[0;1m: RetroArch^[[0m
^[[0;1m ^[[0;1;35m1^[[0;1m file to download, ^[[0;1;35m16.0 KB^[[0m
BIOS folder:
^[[0;1m~/.config/retroarch/system^[[0m
^[[0;7;35m > Install^[[0m
Same choice as on 3 Nov: yes
Choose systems
Copy from an old card or a folder
^[[0;2m 1-4 of 8^[[0m
^[[0;1;35mA^[[0m Install ^[[0;2mB^[[0m Back ^[[0;2mY^[[0m Options ^[[0;2m?^[[0m Help
+16
View File
@@ -414,3 +414,19 @@
^[[0;1;35mA^[[0m Back
=== plan-record
^[[0;1m ^[[0;1;35mRetroBIOS^[[0;1m: RetroArch^[[0m
^[[0;1m ^[[0;1;35m1^[[0;1m file to download, ^[[0;1;35m16.0 KB^[[0m
BIOS folder:
^[[0;1m~/.config/retroarch/system^[[0m
For nintendo-gba.
^[[0;7;35m > Install^[[0m
Same choice as on 3 Nov: yes
Choose systems
Copy from an old card or a folder
Change where
Details
Options
Quit
^[[0;1;35mA^[[0m Install ^[[0;2mB^[[0m Back ^[[0;2mY^[[0m Options ^[[0;2m?^[[0m Help
+25
View File
@@ -648,3 +648,28 @@
^[[0;1;35mA/Enter^[[0m Back
=== plan-record
^[[0;1m ^[[0;1;35mRetroBIOS^[[0;1m: RetroArch^[[0m
^[[0;1m ^[[0;1;35m1^[[0;1m file to download, ^[[0;1;35m16.0 KB^[[0m
BIOS folder: ^[[0;1m~/.config/retroarch/system^[[0m
For nintendo-gba.
^[[0;7;35m > Install^[[0m
Same choice as on 3 Nov: yes
Choose systems
Copy the BIOS files from an old card or a folder
Change where
Details
Options
Quit
^[[0;1;35mA/Enter^[[0m Install ^[[0;2mB/Esc^[[0m Back ^[[0;2mY/o^[[0m Options ^[[0;2m?^[[0m Help
+40
View File
@@ -0,0 +1,40 @@
RetroBIOS: RetroArch
1 file to download, 16.0 KB
BIOS folder: ~/.config/retroarch/system
For nintendo-gba.
> Install
Same choice as on 3 Nov: yes
Choose systems
Copy the BIOS files from an old card or a folder
Change where
Details
Options
Quit
A/Enter Install B/Esc Back Y/o Options ? Help
+12
View File
@@ -0,0 +1,12 @@
RetroBIOS: RetroArch
1 file to download, 16.0 KB
BIOS folder:
~/.config/retroarch/system
> Install
Same choice as on 3 Nov: yes
Choose systems
Copy from an old card or a folder
1-4 of 8
A Install B Back Y Options ? Help
+15
View File
@@ -0,0 +1,15 @@
RetroBIOS: RetroArch
1 file to download, 16.0 KB
BIOS folder:
~/.config/retroarch/system
For nintendo-gba.
> Install
Same choice as on 3 Nov: yes
Choose systems
Copy from an old card or a folder
Change where
Details
Options
Quit
A Install B Back Y Options ? Help
+24
View File
@@ -0,0 +1,24 @@
RetroBIOS: RetroArch
1 file to download, 16.0 KB
BIOS folder: ~/.config/retroarch/system
For nintendo-gba.
> Install
Same choice as on 3 Nov: yes
Choose systems
Copy the BIOS files from an old card or a folder
Change where
Details
Options
Quit
A/Enter Install B/Esc Back Y/o Options ? Help
+54
View File
@@ -1183,3 +1183,57 @@
A Back
=== plan-record 40x12
RetroBIOS: RetroArch
1 file to download, 16.0 KB
BIOS folder:
~/.config/retroarch/system
> Install
Same choice as on 3 Nov: yes
Choose systems
Copy from an old card or a folder
1-4 of 8
A Install B Back Y Options
=== plan-record 40x15
RetroBIOS: RetroArch
1 file to download, 16.0 KB
BIOS folder:
~/.config/retroarch/system
For nintendo-gba.
> Install
Same choice as on 3 Nov: yes
Choose systems
Copy from an old card or a folder
Change where
Details
Options
Quit
A Install B Back Y Options
=== plan-record 80x24
RetroBIOS: RetroArch
1 file to download, 16.0 KB
BIOS folder: ~/.config/retroarch/system
For nintendo-gba.
> Install
Same choice as on 3 Nov: yes
Choose systems
Copy the BIOS files from an old card or a folder
Change where
Details
Options
Quit
A Install B Back Y Options
+54
View File
@@ -1183,3 +1183,57 @@
A Back
=== plan-record 40x12
RetroBIOS: RetroArch
1 file to download, 16.0 KB
BIOS folder:
~/.config/retroarch/system
> Install
Same choice as on 3 Nov: yes
Choose systems
Copy from an old card or a folder
1-4 of 8
A Install B Back Y Options
=== plan-record 40x15
RetroBIOS: RetroArch
1 file to download, 16.0 KB
BIOS folder:
~/.config/retroarch/system
For nintendo-gba.
> Install
Same choice as on 3 Nov: yes
Choose systems
Copy from an old card or a folder
Change where
Details
Options
Quit
A Install B Back Y Options
=== plan-record 80x24
RetroBIOS: RetroArch
1 file to download, 16.0 KB
BIOS folder: ~/.config/retroarch/system
For nintendo-gba.
> Install
Same choice as on 3 Nov: yes
Choose systems
Copy the BIOS files from an old card or a folder
Change where
Details
Options
Quit
A Install B Back Y Options
+54
View File
@@ -1183,3 +1183,57 @@
A Back
=== plan-record 40x12
RetroBIOS: RetroArch
1 file to download, 16.0 KB
BIOS folder:
~/.config/retroarch/system
> Install
Same choice as on 3 Nov: yes
Choose systems
Copy from an old card or a folder
1-4 of 8
A Install B Back Y Options
=== plan-record 40x15
RetroBIOS: RetroArch
1 file to download, 16.0 KB
BIOS folder:
~/.config/retroarch/system
For nintendo-gba.
> Install
Same choice as on 3 Nov: yes
Choose systems
Copy from an old card or a folder
Change where
Details
Options
Quit
A Install B Back Y Options
=== plan-record 80x24
RetroBIOS: RetroArch
1 file to download, 16.0 KB
BIOS folder: ~/.config/retroarch/system
For nintendo-gba.
> Install
Same choice as on 3 Nov: yes
Choose systems
Copy the BIOS files from an old card or a folder
Change where
Details
Options
Quit
A Install B Back Y Options
+54
View File
@@ -1348,3 +1348,57 @@
Enter Back
=== plan-record 40x12
RetroBIOS: RetroArch
1 file to download, 16.0 KB
BIOS folder:
~/.config/retroarch/system
> Install
Same choice as on 3 Nov: yes
Choose systems
Copy from an old card or a folder
1-4 of 8
Enter Install Esc Back o Options
=== plan-record 40x15
RetroBIOS: RetroArch
1 file to download, 16.0 KB
BIOS folder:
~/.config/retroarch/system
For nintendo-gba.
> Install
Same choice as on 3 Nov: yes
Choose systems
Copy from an old card or a folder
Change where
Details
Options
Quit
Enter Install Esc Back o Options
=== plan-record 80x24
RetroBIOS: RetroArch
1 file to download, 16.0 KB
BIOS folder: ~/.config/retroarch/system
For nintendo-gba.
> Install
Same choice as on 3 Nov: yes
Choose systems
Copy the BIOS files from an old card or a folder
Change where
Details
Options
Quit
Enter Install Esc Back o Options ? Help
+54
View File
@@ -1286,3 +1286,57 @@
A Back
=== plan-record 40x12
RetroBIOS: RetroArch
1 file to download, 16.0 KB
BIOS folder:
~/.config/retroarch/system
> Install
Same choice as on 3 Nov: yes
Choose systems
Copy from an old card or a folder
1-4 of 8
A Install R2 Back L2 Options
=== plan-record 40x15
RetroBIOS: RetroArch
1 file to download, 16.0 KB
BIOS folder:
~/.config/retroarch/system
For nintendo-gba.
> Install
Same choice as on 3 Nov: yes
Choose systems
Copy from an old card or a folder
Change where
Details
Options
Quit
A Install R2 Back L2 Options
=== plan-record 80x24
RetroBIOS: RetroArch
1 file to download, 16.0 KB
BIOS folder: ~/.config/retroarch/system
For nintendo-gba.
> Install
Same choice as on 3 Nov: yes
Choose systems
Copy the BIOS files from an old card or a folder
Change where
Details
Options
Quit
A Install R2 Back L2 Options
+54
View File
@@ -1402,3 +1402,57 @@
Start Back
=== plan-record 40x12
RetroBIOS: RetroArch
1 file to download, 16.0 KB
BIOS folder:
~/.config/retroarch/system
> Install
Same choice as on 3 Nov: yes
Choose systems
Copy from an old card or a folder
1-4 of 8
Start Install B Back
=== plan-record 40x15
RetroBIOS: RetroArch
1 file to download, 16.0 KB
BIOS folder:
~/.config/retroarch/system
For nintendo-gba.
> Install
Same choice as on 3 Nov: yes
Choose systems
Copy from an old card or a folder
Change where
Details
Options
Quit
Start Install B Back
=== plan-record 80x24
RetroBIOS: RetroArch
1 file to download, 16.0 KB
BIOS folder: ~/.config/retroarch/system
For nintendo-gba.
> Install
Same choice as on 3 Nov: yes
Choose systems
Copy the BIOS files from an old card or a folder
Change where
Details
Options
Quit
Start Install B Back
+83
View File
@@ -0,0 +1,83 @@
"""A files[] source_ref must cite the code that reads the file."""
from __future__ import annotations
import tests # noqa: F401 offline, scratch under tmp/, the suite's own cache
import sys
import unittest
from pathlib import Path
REPO_ROOT = Path(__file__).resolve().parents[1]
sys.path.insert(0, str(REPO_ROOT / "scripts"))
try:
import validate_schemas
except ImportError as exc:
validate_schemas = None
IMPORT_ERROR = str(exc)
else:
IMPORT_ERROR = ""
def _profile(ref: object) -> dict:
return {"files": [{"name": "doom.wad", "source_ref": ref}]}
@unittest.skipIf(validate_schemas is None, f"validate_schemas unavailable: {IMPORT_ERROR}")
class DataOnlySourceRefs(unittest.TestCase):
path = REPO_ROOT / "emulators" / "synthetic.yml"
def errors(self, ref: object) -> list[str]:
return validate_schemas._data_only_source_refs(self.path, _profile(ref))
def test_a_data_table_alone_is_refused(self):
self.assertEqual(len(self.errors("wadsrc_extra/static/iwadinfo.txt:420, 437")), 1)
def test_a_build_file_alone_is_refused(self):
for ref in ("pc-bios/meson.build:30", "wadsrc/CMakeLists.txt:1",
"dists/engine-data/engine_data.mk (ENABLE_KYRA)", "src/configure:1933"):
with self.subTest(ref=ref):
self.assertEqual(len(self.errors(ref)), 1)
def test_a_file_in_the_tree_alone_is_refused(self):
self.assertEqual(len(self.errors("fMSX/ROMs/MSX.ROM")), 1)
def test_the_table_with_its_reader_passes(self):
self.assertEqual(self.errors(
"wadsrc_extra/static/iwadinfo.txt:420, wadsrc_extra/CMakeLists.txt:1, "
"src/d_iwad.cpp:286-296, 502-531"), [])
def test_a_role_prefix_is_read_through(self):
self.assertEqual(self.errors("source pc-bios/meson.build:30, source hw/i386/pc_piix.c:466"), [])
def test_a_binary_with_an_address_passes(self):
for ref in ("libemucore.so 0x1a2b3c", "Fusion.exe 0x00401000",
"bigpemu FUN_006d8be0 (BootROM read)", "nethersx2 v2.2n classes.dex icons/star-%d.png"):
with self.subTest(ref=ref):
self.assertEqual(self.errors(ref), [])
def test_each_build_mode_is_judged(self):
self.assertEqual(len(self.errors({"standalone": "src/main.cpp:10", "libretro": "data/list.txt:3"})), 1)
def test_an_excepted_profile_is_not_judged(self):
name = next(iter(validate_schemas.DATA_ONLY_REF_EXCEPTIONS))
path = REPO_ROOT / "emulators" / f"{name}.yml"
self.assertEqual(validate_schemas._data_only_source_refs(path, _profile("history.txt:38")), [])
def test_every_exception_names_a_profile_and_a_reason(self):
for name, reason in validate_schemas.DATA_ONLY_REF_EXCEPTIONS.items():
with self.subTest(profile=name):
self.assertTrue((REPO_ROOT / "emulators" / f"{name}.yml").is_file())
self.assertTrue(reason.strip())
def test_the_profiles_cite_their_readers(self):
errors: list[str] = []
for path in sorted((REPO_ROOT / "emulators").glob("*.yml")):
errors.extend(validate_schemas._data_only_source_refs(
path, validate_schemas._load_source(path)))
self.assertEqual(errors, [])
if __name__ == "__main__":
unittest.main()
+1 -1
View File
@@ -1697,7 +1697,7 @@ class InstallerVariablesAreDocumented(unittest.TestCase):
--dry-run, and no page named it or the folder it defaults to."""
# Set by the full-screen interface for the runs it starts, never by a user.
INTERNAL = {"RETROBIOS_TUI_LIST"}
INTERNAL = {"RETROBIOS_TUI_LIST", "RETROBIOS_TUI_RECORDED"}
def test_every_variable_install_py_reads_is_in_the_table(self):
source = (ROOT / "install.py").read_text(encoding="utf-8")
+2
View File
@@ -488,6 +488,8 @@ class AReleaseProfileDescribesItsOwnRelease(unittest.TestCase):
self.assertEqual(files["neogeo.zip"]["system"], "snk-neogeo-mvs")
self.assertNotIn("system", files["newset.zip"])
self.assertEqual(files["neogeo.zip"]["source_ref"], "upstream src/mame/neogeo/neogeo.cpp:10")
# The libretro build reads <system>/mame/bios, never the system root.
self.assertEqual(files["neogeo.zip"]["path"], "mame/bios/neogeo.zip")
def test_a_set_the_release_runs_without_is_not_required(self):
"""recel is undumped at 0.258: the current profile's true does not apply."""
+16 -2
View File
@@ -6954,10 +6954,19 @@ class EventsDescribeTheRun(unittest.TestCase, _SyntheticTree):
# The last transfer: every byte came over the network.
self.assertEqual([e for e in events if e["event"] == "transfer"][-1],
{"event": "transfer", "bytes_local": 0, "bytes_network": 245})
record = next(e for e in events if e["event"] == "record")
# What the run placed, and its choice, the whole list: written
# right before the summary.
self.assertEqual({key: record[key] for key in ("folder", "status", "choice", "files")},
{"folder": str(self.bios), "status": "written",
"choice": ["--all-files"], "files": 3})
self.assertEqual(record["path"], str(self.home / install.BACKUP_DIR
/ f"{self.bios.name}.install.json"))
self.assertEqual([e for e in events if e["event"] not in ("progress", "transfer")],
self._head("install", installer) + [
{"event": "download", "platform": "retroarch", "files": 3, "bytes": 245},
*done,
record,
{"event": "summary", "mode": "install", "installed": 3, "up_to_date": 1,
"pending": 0, "failed": [], "skipped": self.SKIPPED, "left_out": [],
"kept": [{"folder": kept[0]["folder"], "files": 1, "bytes": 11}],
@@ -7565,7 +7574,11 @@ class KeptFilesEndToEnd(unittest.TestCase, _SyntheticTree):
"--no-input", "--jobs", "1", "--verbose")
self.assertEqual(proc.returncode, 0, proc.stdout + proc.stderr)
self.assertEqual((self.bios / "b.bin").read_bytes(), self.FILES["bios/A/b.bin"])
runs = list((self.home / install.BACKUP_DIR).iterdir())
# The install record sits beside the run folders, a file of its own.
held = list((self.home / install.BACKUP_DIR).iterdir())
runs = [path for path in held if path.is_dir()]
self.assertEqual(sorted(path.name for path in held if not path.is_dir()),
[f"{self.bios.name}.install.json"])
self.assertEqual(len(runs), 1)
self.assertIn("Kept 1 file already there (11 B), which the collection's copies "
f"replaced, in {runs[0]}", proc.stdout)
@@ -7594,7 +7607,8 @@ class KeptFilesEndToEnd(unittest.TestCase, _SyntheticTree):
again = _install_run(self.env, "--platform", "retroarch", "--dest", str(self.bios),
"--no-input", "--jobs", "1")
self.assertEqual(again.returncode, 0, again.stderr)
self.assertEqual(len(list((self.home / install.BACKUP_DIR).iterdir())), 2)
self.assertEqual(len([path for path in (self.home / install.BACKUP_DIR).iterdir()
if path.is_dir()]), 2)
+315 -34
View File
@@ -25,6 +25,7 @@ import subprocess
import sys
import tempfile
import threading
import time
import unittest
from pathlib import Path
@@ -41,15 +42,17 @@ ESC = "\x1b"
# (keys to start the install or reach the answer, keys in all). One system
# is reached through None and the filter, the other device's folder typed
# as ~/bios.
# as ~/bios. With one setup found the screen opens on its plan: one key
# fewer, and one more for another device, whose Esc goes back to the
# setups. The second run of one system takes its install record's choice.
JOURNEY_KEYS = {
"first_install": (2, 3),
"card_with_games": (2, 3),
"update": (2, 3),
"one_system": (14, 15),
"one_system_again": (2, 3),
"what_is_missing": (5, 6),
"another_device": (19, 20),
"first_install": (1, 2),
"card_with_games": (1, 2),
"update": (1, 2),
"one_system": (13, 14),
"one_system_again": (1, 2),
"what_is_missing": (4, 5),
"another_device": (20, 21),
}
# Words each journey's screens show by default, summed over the screens it
@@ -58,13 +61,15 @@ JOURNEY_KEYS = {
# word: its length is the machine's. A change that adds words raises a
# number here and says why.
JOURNEY_WORDS = {
"first_install": 63,
"card_with_games": 106,
"update": 79,
"one_system": 193,
"one_system_again": 68,
"what_is_missing": 223,
"another_device": 230,
"first_install": 47,
"card_with_games": 87,
"update": 70,
"one_system": 179,
"one_system_again": 67,
"what_is_missing": 207,
# The plan of the setup found comes first now (33 words), the setups
# one Esc away, and the last plan names Change where (2 words).
"another_device": 265,
}
# Which setup? names every setup, Preview every file: lists, not prose.
SCREEN_CEILING = 90
@@ -75,7 +80,9 @@ LINE_TEXT = {
"card_with_games": (4, 29),
"update": (5, 36),
"one_system": (4, 18),
"what_is_missing": (3, 15),
# After one system installed, the check counts the install record's
# choice: one line says so, and how to count every file.
"what_is_missing": (4, 25),
"another_device": (4, 18),
}
@@ -221,10 +228,9 @@ class Journeys(unittest.TestCase):
repo = Repository(self)
dest = repo.retroarch_here()
term = self.start(repo)
screen = term.wait("Where to install?", timeout=40)
self.assertIn("> RetroArch", screen)
self.press(term, "\r")
term.wait("files to download", timeout=40)
# The one setup found: its plan first.
screen = term.wait("files to download", timeout=40)
self.assertIn("Change where", screen)
self.press(term, "\r")
started = self.keys
self.assertEqual(self.finish(term), 0)
@@ -241,8 +247,6 @@ class Journeys(unittest.TestCase):
(card / "ROMS" / "GBA").mkdir(parents=True)
(card / "ROMS" / "GBA" / "unknown.gba").write_bytes(b"not in any catalog")
term = self.start(repo, env={"JOURNEY_CARD": str(card)})
term.wait("Where to install?", timeout=40)
self.press(term, "\r")
screen = term.wait("For the games on this card: yes", timeout=60)
self.assertIn("For the 1 game on this card.", screen)
self.press(term, "\r")
@@ -265,8 +269,6 @@ class Journeys(unittest.TestCase):
changed["size"] += 1
repo.write_list()
term = self.start(repo)
term.wait("Where to install?", timeout=40)
self.press(term, "\r")
term.wait("1 file to download", timeout=40)
self.press(term, "\r")
started = self.keys
@@ -278,8 +280,6 @@ class Journeys(unittest.TestCase):
repo = Repository(self)
dest = repo.retroarch_here()
term = self.start(repo)
term.wait("Where to install?", timeout=40)
self.press(term, "\r")
term.wait("files to download", timeout=40)
for _step in range(12):
if "> Choose systems" in term.settle():
@@ -298,24 +298,25 @@ class Journeys(unittest.TestCase):
self.assertEqual(self.finish(term), 0)
self.counted("one_system", started, self.keys)
self.assertEqual(written(dest), ["gba_bios.bin"])
# The next release: the earlier choice is not kept, and two keys
# install the whole list.
# The next release changes its file: the plan opens on the same
# choice, read from the install record, and one key installs it.
changed = next(e for e in repo.listed["files"] if e["dest"] == "gba_bios.bin")
changed["size"] += 1
repo.write_list()
term = self.start(repo)
term.wait("Where to install?", timeout=40)
self.press(term, "\r")
term.wait("files to download", timeout=40)
screen = term.wait("1 file to download", timeout=40)
self.assertRegex(screen, r"Same choice as on \d+ [A-Z][a-z]{2}: yes")
self.press(term, "\r")
started = self.keys
self.assertEqual(self.finish(term), 0)
self.counted("one_system_again", started, self.keys)
self.assertEqual(written(dest), sorted(e["dest"] for e in repo.listed["files"]))
self.assertEqual(written(dest), ["gba_bios.bin"])
self.assertEqual((dest / "gba_bios.bin").stat().st_size, changed["size"])
def test_what_is_missing(self):
repo = Repository(self)
repo.retroarch_here()
term = self.start(repo)
term.wait("Where to install?", timeout=40)
self.press(term, "\r")
term.wait("files to download", timeout=40)
self.press(term, "o")
term.wait("Each row is an option")
@@ -332,6 +333,9 @@ class Journeys(unittest.TestCase):
repo = Repository(self)
repo.retroarch_here()
term = self.start(repo)
# The plan of the one setup found first: Esc goes back to the setups.
term.wait("files to download", timeout=40)
self.press(term, ESC)
term.wait("Where to install?", timeout=40)
for _step in range(12):
if "> Another setup or folder" in term.settle():
@@ -478,5 +482,282 @@ class LineModeJourneys(unittest.TestCase):
self.run_line(repo, *base, "--check", "--verbose").stdout)
def events(proc: subprocess.CompletedProcess, kind: str | None = None) -> list[dict]:
said = [json.loads(line) for line in proc.stdout.splitlines() if line.startswith("{")]
return [event for event in said if kind is None or event["event"] == kind]
class InstallRecord(unittest.TestCase):
"""What an install placed, recorded beside the BIOS folder, and its
choice taken by the next run when nothing on the command line chose."""
def setUp(self):
self.repo = Repository(self)
self.dest = self.repo.root / "retroarch" / "system"
self.record = self.dest.parent / install.BACKUP_DIR / "system.install.json"
def run_line(self, *args: str, dest: Path | None = None) -> subprocess.CompletedProcess:
return subprocess.run(
[sys.executable, str(REPO_ROOT / "install.py"), "--platform", "retroarch",
"--dest", str(dest or self.dest), *args],
env=self.repo.env, capture_output=True, text=True, timeout=120, check=False,
stdin=subprocess.DEVNULL)
def dests(self, proc: subprocess.CompletedProcess) -> list[str]:
return sorted(event["dest"] for event in events(proc, "file"))
def everything(self) -> list[str]:
return sorted(entry["dest"] for entry in self.repo.listed["files"])
def test_the_record_holds_each_file_written_and_its_hash(self):
proc = self.run_line("--system", "nintendo-gba", "--yes", "--events")
self.assertEqual(proc.returncode, 0, proc.stdout + proc.stderr)
said = events(proc, "record")
self.assertEqual([event["status"] for event in said], ["written"])
self.assertEqual(said[0]["choice"], ["--system", "nintendo-gba"])
self.assertEqual((said[0]["path"], said[0]["files"]), (str(self.record), 1))
# Before the summary, its keys those of EVENT_KEYS.
kinds = [event["event"] for event in events(proc)]
self.assertEqual(kinds.index("record") + 1, kinds.index("summary"))
self.assertEqual(list(said[0])[1:], list(install.EVENT_KEYS["record"]))
kept = json.loads(self.record.read_text(encoding="utf-8"))
files = kept["setups"]["retroarch"]["files"]
self.assertEqual([item["dest"] for item in files], ["gba_bios.bin"])
self.assertEqual(files[0]["sha1"], hashlib.sha1(
(self.dest / "gba_bios.bin").read_bytes()).hexdigest())
self.assertEqual((files[0]["from"], files[0]["root"]), ("download", ""))
self.assertEqual(kept["folder"], str(self.dest))
# Nothing of it in the BIOS folder, which some cores read whole.
self.assertEqual(written(self.dest), ["gba_bios.bin"])
def test_the_next_run_takes_the_recorded_choice(self):
self.run_line("--system", "nintendo-gba", "--yes")
(self.dest / "gba_bios.bin").unlink()
proc = self.run_line("--yes", "--events")
self.assertEqual(proc.returncode, 0, proc.stderr)
kinds = [event["event"] for event in events(proc)]
self.assertLess(kinds.index("record"), kinds.index("choices"))
applied = events(proc, "record")[0]
self.assertEqual((applied["status"], applied["choice"]),
("applied", ["--system", "nintendo-gba"]))
self.assertEqual(self.dests(proc), ["gba_bios.bin"])
self.assertEqual(written(self.dest), ["gba_bios.bin"])
(self.dest / "gba_bios.bin").unlink()
proc = self.run_line("--yes")
self.assertRegex(proc.stdout, r"Installing 1 file \(.*\) for RetroArch, same choice "
r"as on \d+ [A-Z][a-z]{2}\.")
def test_the_command_line_replaces_the_record(self):
self.run_line("--system", "nintendo-gba", "--yes")
self.assertEqual(self.dests(self.run_line("--system", "sega-megadrive", "--check",
"--events")),
sorted(e["dest"] for e in self.repo.listed["files"]
if "sega-megadrive" in e.get("systems", [])))
whole = self.run_line("--all-files", "--check", "--events")
self.assertEqual(self.dests(whole), self.everything())
self.assertEqual(events(whole, "record"), [])
def test_a_record_that_cannot_be_read_is_said_once_and_ignored(self):
self.dest.mkdir(parents=True)
self.record.parent.mkdir()
self.record.write_text("{not json", encoding="utf-8")
proc = self.run_line("--yes", "--events")
self.assertEqual(proc.returncode, 0, proc.stderr)
said = events(proc, "record")
self.assertEqual([event["status"] for event in said], ["unreadable", "written"])
self.assertIn("is damaged, so it is ignored.", said[0]["message"])
# Said once to a person (standard error under --events), once as an event.
self.assertEqual(proc.stderr.count("so it is ignored"), 1)
self.assertEqual(self.dests(proc), self.everything())
# Replaced by a record that reads.
self.assertEqual(json.loads(self.record.read_text())["schema"], install.RECORD_SCHEMA)
for text in ('{"schema": 99, "setups": {}}', '{"schema": 1, "setups": {"retroarch": 3}}',
"\xff\xfe"):
with self.subTest(record=text):
self.record.write_bytes(text.encode("latin-1"))
proc = self.run_line("--check", "--events")
self.assertEqual(events(proc, "record")[0]["status"], "unreadable")
self.assertEqual(self.dests(proc), self.everything())
def test_a_record_for_another_folder_is_not_applied(self):
self.run_line("--system", "nintendo-gba", "--yes")
# A sibling folder shares the holder, never the record.
other = self.dest.parent / "bios"
proc = self.run_line("--check", "--events", dest=other)
self.assertEqual(events(proc, "record"), [])
self.assertEqual(self.dests(proc), self.everything())
# The record copied under the sibling's name still names the first.
shutil.copy(self.record, self.record.with_name("bios.install.json"))
proc = self.run_line("--check", "--events", dest=other)
self.assertEqual(events(proc, "record"), [])
self.assertEqual(self.dests(proc), self.everything())
# The record of another setup in the same folder is not this one's.
proc = subprocess.run(
[sys.executable, str(REPO_ROOT / "install.py"), "--platform", "batocera",
"--dest", str(self.dest), "--check", "--events"],
env=self.repo.env, capture_output=True, text=True, timeout=120, check=False,
stdin=subprocess.DEVNULL)
self.assertEqual(events(proc, "record"), [])
self.assertEqual(self.dests(proc), self.everything())
def test_line_mode_chooses_what_the_screen_chooses(self):
"""The plan's choice from the record is the same set of files on the
screen and in line mode: the screen's options, given to a run, and a
run given none."""
self.run_line("--system", "nintendo-gba", "--yes")
(self.dest / "gba_bios.bin").unlink()
state = install.TuiState()
state.platform, state.dest = "retroarch", self.dest
install._tui_record_load(state)
self.assertTrue(install.tui_record_kept(state))
flags = [flag if value is None else f"{flag}={value}"
for flag, value in install.tui_flags(state)]
screen = self.run_line(*flags, "--dry-run", "--events")
line = self.run_line("--dry-run", "--events")
self.assertEqual(self.dests(screen), ["gba_bios.bin"])
self.assertEqual(self.dests(line), self.dests(screen))
self.assertEqual(events(line, "check")[0]["bytes_needed"],
events(screen, "check")[0]["bytes_needed"])
def record_text(folder: Path, choice: list[str], **setups: object) -> str:
"""A record of folder whose retroarch setup chose choice."""
setup = {"written": "2026-11-03T12:00:00Z", "list": {}, "choice": choice,
"files": [{"dest": "gba_bios.bin", "root": "", "sha1": "0" * 40, "size": 1,
"from": "download"}]}
return json.dumps({"schema": install.RECORD_SCHEMA, "installer": "x", "folder": str(folder),
"setups": {"retroarch": setup, **setups}})
class RecordReview(unittest.TestCase):
"""A record is data another program or a person may have written: what
it holds is checked before any of it is used or printed."""
setUp = InstallRecord.setUp
run_line = InstallRecord.run_line
dests = InstallRecord.dests
everything = InstallRecord.everything
def write(self, choice: list[str], **setups: object) -> None:
self.dest.mkdir(parents=True, exist_ok=True)
self.record.parent.mkdir(exist_ok=True)
self.record.write_text(record_text(self.dest, choice, **setups), encoding="utf-8")
def test_a_word_outside_the_choice_rejects_the_whole_record(self):
for choice in (["--system", "nintendo-gba", "--from", "/mnt/x"],
["--manifest", "http://example.invalid/list.json"],
["--system", "nintendo-gba", "--dest", "/etc"],
["--system", "--yes"], ["--system", "a\nb"], ["nintendo-gba"]):
with self.subTest(choice=choice):
self.write(choice)
proc = self.run_line("--check", "--events")
said = events(proc, "record")
self.assertEqual([event["status"] for event in said], ["unreadable"], said)
self.assertEqual(self.dests(proc), self.everything())
text = proc.stdout + proc.stderr
for word in ("/mnt/x", "example.invalid", "/etc"):
self.assertNotIn(word, text)
# The screen reads it through the same function.
state = install.TuiState()
state.platform, state.dest = "retroarch", self.dest
install._tui_record_load(state)
self.assertIsNone(state.record)
self.assertEqual(install.tui_flags(state), [])
def test_a_recorded_games_folder_stays_beside_the_bios_folder(self):
parent = self.dest.parent
self.assertTrue(install.games_folder_kept(str(parent / "roms"), self.dest))
self.assertTrue(install.games_folder_kept(str(parent), self.dest))
for value in ("/etc", str(parent.parent / "other"), "roms", "\\\\server\\share",
"//server/share", ""):
with self.subTest(value=value):
self.assertFalse(install.games_folder_kept(value, self.dest))
self.write(["--for-games", "/etc"])
proc = self.run_line("--check", "--events")
self.assertEqual(events(proc, "record")[0]["status"], "unreadable")
self.assertEqual(self.dests(proc), self.everything())
def test_a_recorded_option_that_cannot_apply_is_left_out(self):
"""A run nobody typed options for went on failing: the list has no
cores, no categories and no board list, and a region is unknown."""
for choice, typed in ((["--system", "nintendo-gba", "--region", "atlantis"],
["--region", "atlantis"]),
(["--system", "nintendo-gba", "--emulator", "nosuch"],
["--emulator", "nosuch"]),
(["--system", "nintendo-gba", "--installed-cores"],
["--installed-cores"]),
(["--system", "nintendo-gba", "--target", "nosuch"],
["--target", "nosuch"]),
(["--system", "nintendo-gba", "--no-game-data"],
["--no-game-data"])):
with self.subTest(choice=choice):
self.write(choice)
proc = self.run_line("--yes", "--events")
self.assertEqual(proc.returncode, 0, proc.stdout + proc.stderr)
self.assertEqual(proc.stderr.count("Left out of the recorded choice"), 1,
proc.stderr)
self.assertEqual(self.dests(proc), ["gba_bios.bin"])
# Written again without it: the next run says nothing.
kept = json.loads(self.record.read_text())["setups"]["retroarch"]["choice"]
self.assertEqual(kept, ["--system", "nintendo-gba"])
# Typed, it is refused as before.
self.assertNotEqual(self.run_line(*typed, "--check").returncode, 0)
def test_a_date_no_clock_can_show_is_an_unknown_day(self):
if not hasattr(time, "tzset"):
self.skipTest("no tzset")
zone = os.environ.get("TZ")
def back() -> None:
if zone is None:
os.environ.pop("TZ", None)
else:
os.environ["TZ"] = zone
time.tzset()
self.addCleanup(back)
for tz, written in (("UTC+5", "0001-01-01T00:00:00Z"),
("UTC-5", "9999-12-31T23:59:59Z")):
with self.subTest(written=written):
os.environ["TZ"] = tz
time.tzset()
self.assertEqual(install.record_day({"written": written}), "")
def test_a_record_that_is_no_file_is_never_read(self):
self.dest.mkdir(parents=True)
self.record.parent.mkdir()
os.mkfifo(self.record)
proc = self.run_line("--check", "--events")
self.assertIn("it is not a file", events(proc, "record")[0]["message"])
self.assertEqual(self.dests(proc), self.everything())
self.record.unlink()
with open(self.record, "wb") as handle:
handle.truncate(install.MAX_RECORD_BYTES + 1)
self.assertIn("larger than any record", install.load_record(self.dest).problem)
def test_a_newer_record_is_left_as_it_is(self):
self.dest.mkdir(parents=True)
self.record.parent.mkdir()
newer = json.dumps({"schema": install.RECORD_SCHEMA + 1, "setups": {"x": {}}})
self.record.write_text(newer, encoding="utf-8")
proc = self.run_line("--yes", "--events")
self.assertEqual(proc.returncode, 0, proc.stderr)
self.assertEqual([event["status"] for event in events(proc, "record")],
["unreadable", "not_written"])
self.assertEqual(self.record.read_text(encoding="utf-8"), newer)
self.assertEqual(proc.stderr.count("written by a newer installer"), 1)
def test_a_bad_setup_is_dropped_and_the_others_kept(self):
good = {"written": "2026-11-03T12:00:00Z", "list": {}, "choice": ["--all-files"],
"files": []}
self.write(["--system", "nintendo-gba"], lakka=good, batocera={"choice": 3})
path, _setup, problem = install.write_record(self.dest, "retropie", {}, ["--all-files"],
[])
self.assertEqual((path, problem), (self.record, ""))
kept = json.loads(self.record.read_text())["setups"]
self.assertEqual(sorted(kept), ["lakka", "retroarch", "retropie"])
self.assertEqual(kept["retroarch"]["choice"], ["--system", "nintendo-gba"])
if __name__ == "__main__":
unittest.main()
+224 -44
View File
@@ -378,6 +378,14 @@ def screen_text(lines) -> str:
return re.sub(r"(?<=[/\\]) ", "", " ".join(" ".join(lines).split()))
def listed(state: install.TuiState) -> install.TuiState:
"""The setups found, as Back shows them from the plan the screen opens
on when it found one setup."""
if state.opened_on_plan and state.screen != "setup":
install.tui_update(state, Key("esc"))
return state
def fresh_state() -> install.TuiState:
state = install.TuiState(os_type="linux", home=HOME)
state.setups = [("retroarch", SYSTEM_DIR, "RetroArch"),
@@ -761,7 +769,9 @@ class Flow(unittest.TestCase):
mock.patch.object(install, "detect_platforms", return_value=[]), \
mock.patch.object(install, "detect_frontends", return_value=[]):
state, effects = install.tui_start(_args(), "linux")
self.assertEqual((state.screen, effects), ("setup", []))
# The one setup found: its plan first, the list one Back away.
self.assertEqual((state.screen, effects), ("checking", [("fetch", "minui")]))
self.assertEqual(listed(state).screen, "setup")
label = f"MinUI SD card ({card.name})"
self.assertEqual(state.setups, [("minui", card, label)])
self.assertEqual([row.label for row in install.tui_rows(state)],
@@ -1032,9 +1042,55 @@ def golden_states() -> dict:
told = golden_states_result()
told.stack.append("details")
states["result-details"] = told
states["plan-record"] = record_state()
return states
def record_setup(choice: list[str] | None = None) -> dict:
"""A record kept on 3 November of this year: the plan says 3 Nov in
any year it runs."""
year = time.localtime().tm_year
return {"written": f"{year}-11-03T12:00:00Z", "list": {"version": "v1", "generated": ""},
"choice": ["--system", "nintendo-gba"] if choice is None else choice,
"files": [{"dest": "gba_bios.bin", "root": "", "sha1": "0" * 40, "size": 16384,
"from": "download"}]}
def record_state(setup: dict | None = None) -> install.TuiState:
"""The plan of a RetroArch folder whose record kept Game Boy Advance,
its file changed by a release since, opened on the one setup found."""
setup = record_setup() if setup is None else setup
state = fresh_state()
state.setups = state.setups[:1]
manifest = json.loads(json.dumps(MANIFEST))
manifest["files"][2]["sha1"] = "1" * 40
with mock.patch.object(install, "setup_record",
return_value=(setup, SYSTEM_DIR.parent / "x", "")), \
mock.patch.object(install.Path, "exists", return_value=True), \
mock.patch.object(install, "found_setups",
return_value=(state.setups, set())), \
mock.patch.object(install, "detect_frontends", return_value=[]), \
mock.patch.object(install, "_mounted_cards", return_value=[]), \
mock.patch.object(install, "_DETECTION_REFUSED", []), \
mock.patch.object(install.Path, "home", return_value=HOME):
state, effects = install.tui_start(_args(), "linux")
assert effects == [("fetch", "retroarch")], effects
# Drawn as the other screens are, whatever the shell running the tests.
state.home, state.pad = HOME, "both"
effects = install.tui_receive(state, ("manifest", "retroarch", manifest))
assert effects == [("run", "check")], effects
gba = [event for event in FILES if event["dest"] == "gba_bios.bin"]
systems = [event for event in SYSTEMS if event["system"] == "nintendo-gba"]
check = {**CHECK, "files": 1, "present": 0, "missing": 1, "wrong_hash": 0,
"bytes_needed": 16384, "not_installable": 0}
for event in [*gba, *systems, check]:
install.tui_receive(state, ("event", state.run_id, event))
with mock.patch.object(install, "_tui_folder_facts", return_value={
"free": 50 * 1024 ** 3, "writable": True, "cores": ["pcsx_rearmed"]}):
install.tui_receive(state, ("ended", state.run_id, 1, []))
return state
def golden_states_result() -> install.TuiState:
"""The result golden_states draws, a file failed and one kept."""
result = checked_state()
@@ -1075,6 +1131,132 @@ def result_states() -> dict:
}
class RecordedPlan(unittest.TestCase):
"""The plan of a folder with an install record: opened on the one setup
found, on the recorded choice, one press from installing it again."""
def row(self, state: install.TuiState, action: str) -> install.TuiRow:
return next(row for row in install.tui_rows(state) if row.action == action)
def test_opens_on_the_plan_of_the_one_setup_found(self):
state = record_state()
self.assertTrue(state.opened_on_plan)
self.assertEqual(state.stack, ["setup", "plan"])
self.assertEqual(install.tui_rows(state)[0].action, "install")
press(state, "end", "up", "up", "up")
self.assertEqual(install.tui_rows(state)[state.focus["plan"]].label, "Change where")
press(state, "enter")
self.assertEqual(state.screen, "setup")
def test_the_notes_of_the_setups_screen_are_on_the_plan(self):
"""Opened on the plan, the ES-DE note and the setup's label, which
only the setups screen showed, were never seen."""
setups = fresh_state().setups[:1]
with mock.patch.object(install, "found_setups", return_value=(setups, set())), \
mock.patch.object(install, "detect_frontends", return_value=["esde"]), \
mock.patch.object(install, "_mounted_cards", return_value=[]), \
mock.patch.object(install, "_DETECTION_REFUSED", []), \
mock.patch.object(install.Path, "exists", return_value=True):
state, _effects = install.tui_start(_args(), "linux")
self.assertTrue(state.opened_on_plan)
install.tui_receive(state, ("manifest", "retroarch", MANIFEST))
for event in [*FILES, *SYSTEMS, CHECK]:
install.tui_receive(state, ("event", state.run_id, event))
with mock.patch.object(install, "_tui_folder_facts", return_value={
"free": 50 * 1024 ** 3, "writable": True}):
install.tui_receive(state, ("ended", state.run_id, 1, []))
state.pad = "both"
plan = screen_text(install.tui_view(state, 80, 24))
self.assertIn("1 note on this machine: Details.", plan)
self.assertNotIn(install.TUI_ESDE_NOTE, plan)
# The plan's budget, plus the note line (6 words) and Change where (2).
self.assertLessEqual(screen_words(install.tui_view(state, 80, 24)),
SCREEN_WORDS["plan"][2] + 8)
state.focus["plan"] = [row.action for row in install.tui_rows(state)].index("details")
press(state, "enter")
details = screen_text(install.tui_view(state, 120, 40))
self.assertIn(screen_text([install.TUI_ESDE_NOTE]), details)
self.assertIn("Found here: RetroArch.", details)
def test_several_setups_open_the_list(self):
with mock.patch.object(install, "found_setups", return_value=(
fresh_state().setups, set())), \
mock.patch.object(install, "detect_frontends", return_value=[]), \
mock.patch.object(install, "_mounted_cards", return_value=[]), \
mock.patch.object(install, "_DETECTION_REFUSED", []):
state, effects = install.tui_start(_args(), "linux")
self.assertEqual((state.screen, effects, state.opened_on_plan), ("setup", [], False))
def test_one_press_installs_the_recorded_choice(self):
state = record_state()
self.assertEqual(self.row(state, "record").label, "Same choice as on 3 Nov: yes")
self.assertIn("For nintendo-gba.", screen_text(
install.tui_view(state, 80, 24)))
self.assertEqual(press(state, "enter"), [("run", "install")])
argv = install.tui_argv(state, "install", "py", "install.py")
self.assertIn("--system=nintendo-gba", argv)
self.assertNotIn("--all-files", argv)
def test_no_takes_the_whole_list_and_yes_brings_it_back(self):
state = record_state()
state.focus["plan"] = install.tui_rows(state).index(self.row(state, "record"))
with mock.patch.object(install, "games_probe", return_value=None):
effects = press(state, "enter")
self.assertEqual(effects, [("run", "check")])
flags = install.tui_flags(state)
self.assertIn(("--all-files", None), flags)
self.assertFalse([flag for flag in flags if flag[0] == "--system"])
self.assertFalse(install.tui_record_kept(state))
for event in [*FILES, *SYSTEMS, CHECK]:
install.tui_receive(state, ("event", state.run_id, event))
with mock.patch.object(install, "_tui_folder_facts", return_value={
"free": 50 * 1024 ** 3, "writable": True}):
install.tui_receive(state, ("ended", state.run_id, 1, []))
self.assertEqual(self.row(state, "record").label, "Same choice as on 3 Nov: no")
self.assertEqual(install.tui_rows(state)[state.focus["plan"]].action, "record")
self.assertEqual(press(state, "enter"), [("run", "check")])
self.assertIn(("--system", "nintendo-gba"), install.tui_flags(state))
self.assertTrue(install.tui_record_kept(state))
def test_the_command_line_choice_wins(self):
with mock.patch.object(install, "setup_record",
return_value=(record_setup(), SYSTEM_DIR, "")), \
mock.patch.object(install.Path, "exists", return_value=True):
state, _effects = install.tui_start(
_args(platform="retroarch", dest=str(SYSTEM_DIR), system=["sony-playstation"]),
"linux", detect=False)
self.assertEqual(install._tui_system_flags(state), [("--system", "sony-playstation")])
self.assertFalse(install.tui_record_kept(state))
self.assertEqual(install._record_rows(state), [])
def test_a_record_that_cannot_be_read_is_said_once(self):
problem = "The install record /x/system.install.json is damaged"
install._RECORD_SAID.discard("/x/system.install.json")
with mock.patch.object(install, "setup_record",
return_value=(None, Path("/x/system.install.json"), problem)), \
mock.patch.object(install.Path, "exists", return_value=True):
state, _effects = install.tui_start(
_args(platform="retroarch", dest=str(SYSTEM_DIR)), "linux", detect=False)
self.assertEqual(str(state.status), f"{problem}, so it is ignored.")
state.status, state.record_for = "", None
install._tui_record_load(state)
self.assertEqual(state.status, "")
self.assertIsNone(state.record)
self.assertNotIn("--all-files", str(install.tui_flags(state)))
def test_the_install_row_says_the_size_the_headline_says(self):
"""14930 files to download, 6.8 GB stood above Install 6.6 GB: the
data files counted in one, the copies in the other."""
big = 2 * 1024 ** 3
state = checked_state()
state.files[0] = {**state.files[0], "size": big}
state.check = {**state.check, "bytes_needed": state.check["bytes_needed"] + big,
"data_missing": 3, "data_bytes": 300 * 1024 ** 2}
headline = str(install._plan_lines(state.check, state.dest, state)[0])
size = headline.rsplit(", ", 1)[1]
self.assertEqual(install.tui_rows(state)[0].label, f"Install {size}")
class Views(unittest.TestCase):
"""Every screen as text, at the sizes a handheld and a desktop show."""
@@ -2387,6 +2569,9 @@ class CardsSpaceAndConfirm(unittest.TestCase):
mock.patch.object(install, "detect_platforms", return_value=[]), \
mock.patch.object(install, "detect_frontends", return_value=[]):
state, effects = install.tui_start(_args(), "linux")
self.assertEqual(effects, [("fetch", "retroarch")])
self.assertEqual(state.dest, root / "MUOS" / "bios")
listed(state)
label = f"muOS SD card ({root.name})"
self.assertEqual(state.setups, [("retroarch", root / "MUOS" / "bios", label)])
text = screen_text(install.tui_view(state, 120, 40))
@@ -4527,6 +4712,14 @@ class WindowsHasNoPosixModules(unittest.TestCase):
# --- End to end, on a pseudo-terminal -------------------------------------
def on_setups(term: Pty) -> str:
"""The setups found, one Back from the plan the screen opens on when it
found one setup: the first screen as it was before."""
term.wait("> Install")
term.send("\x1b")
return term.wait("Where to install?")
class Pty:
"""install.py on a pseudo-terminal, its screen read back through pyte."""
@@ -4925,14 +5118,13 @@ class EndToEnd(unittest.TestCase):
self.assertAppOnCard(root, "KNULLI")
self.assertIn("--add-app", term.after())
def test_three_presses_install_everything(self):
def test_two_presses_install_everything(self):
repo = self.repo()
term = self.start()
screen = term.wait("Where to install?")
self.assertIn("> RetroArch", screen)
term.send("\r")
# The one setup found here: its plan first.
screen = term.wait("files to download")
self.assertIn("5 files to download, 30 B", screen)
self.assertIn("Change where", screen)
self.assertIn("> Install", screen)
term.send("\r")
term.wait("5 files installed.")
@@ -4979,8 +5171,6 @@ class EndToEnd(unittest.TestCase):
self.assertIn("6 files installed", proc.stdout)
else:
term = self.start()
term.wait("Where to install?")
term.send("\r")
screen = term.wait("files to download")
self.assertIn("6 files to download", screen)
# The second folder the run writes to, named on the
@@ -5159,7 +5349,7 @@ class EndToEnd(unittest.TestCase):
def test_ctrl_c_on_the_first_screen(self):
self.repo()
term = self.start()
term.wait("Where to install?")
term.wait("> Install")
term.send("\x03")
self.assertEqual(term.close(), 130)
self.assertIn(b"\x1b[?2004l\x1b[0m\x1b[?25h\x1b[?1049l", term.raw)
@@ -5169,7 +5359,7 @@ class EndToEnd(unittest.TestCase):
self.repo()
term = self.start()
term.wait("Where to install?")
term.wait("> Install")
mark = len(term.raw)
os.kill(term.pid, signal.SIGTSTP)
end = time.monotonic() + 10
@@ -5182,7 +5372,7 @@ class EndToEnd(unittest.TestCase):
self.assertIn(b"\x1b[?25h\x1b[?1049l", term.raw[mark:])
mark = len(term.raw)
os.kill(term.pid, signal.SIGCONT)
term.wait("A/Enter Continue")
term.wait("A/Enter Install")
end = time.monotonic() + 5
while b"\x1b[?1049h" not in term.raw[mark:] and time.monotonic() < end:
term._pump(0.05)
@@ -5194,11 +5384,11 @@ class EndToEnd(unittest.TestCase):
"""The terminal gone, the farewell has nowhere to go: the code is
129 (SIGHUP), not 120 from the flush failing at exit."""
self.repo()
for screen_name, keys_first in (("Where to install?", ()),
("files to download", ("\r",))):
for screen_name, keys_first in (("files to download", ()),
("Where to install?", ("\x1b",))):
with self.subTest(screen=screen_name):
term = self.start()
term.wait("Where to install?")
term.wait("files to download")
term.send(*keys_first)
term.wait(screen_name)
os.close(term.fd)
@@ -5247,12 +5437,12 @@ class EndToEnd(unittest.TestCase):
self.repo()
self.env[install.TUI_IDLE_ENV] = "1"
term = self.start()
term.wait("Where to install?")
term.wait("> Install")
self.assertEqual(term.close(), install.QUIT_CODE)
self.assertIn("No button pressed, closing.", term.after())
# A key pressed, the screen stays: the person is there.
term = self.start()
term.wait("Where to install?")
term.wait("> Install")
term.send(DOWN)
end = time.monotonic() + 2.5
while time.monotonic() < end:
@@ -5282,7 +5472,7 @@ class EndToEnd(unittest.TestCase):
with self.subTest(env=env):
self.env.update(env)
term = self.start(cols=40, rows=12)
term.wait("Where to install?")
on_setups(term)
screen = term.wait(bar)
self.assertEqual(screen.splitlines()[-1].strip(), bar)
term.send("q")
@@ -5293,7 +5483,7 @@ class EndToEnd(unittest.TestCase):
def test_resize_redraws(self):
self.repo()
term = self.start(cols=40, rows=15)
term.wait("Where to install?")
on_setups(term)
term.resize(100, 30)
term.send(DOWN)
screen = term.wait("> Another setup or folder")
@@ -5379,7 +5569,7 @@ class EndToEnd(unittest.TestCase):
self.env.pop("NO_COLOR", None)
self.env.update({"TERM": "xterm", **env})
term = self.start()
screen = term.wait("Where to install?")
screen = on_setups(term)
self.assertIn("> RetroArch", screen)
screens[name] = screen
# pyte reads the colours drawn: RetroBIOS in the accent.
@@ -5612,7 +5802,7 @@ class TheTerminalComesBack(unittest.TestCase):
def ended(self, how) -> Pty:
self.repo()
term = self.start()
term.wait("Where to install?")
term.wait("> Install")
# Every way out below starts with the clicks asked for, written
# right after the frame.
term.settle()
@@ -5672,7 +5862,7 @@ class TheTerminalComesBack(unittest.TestCase):
job control it stops, and fg brings the screen back."""
term = self.shell()
self.typed(term, f"{shlex.quote(sys.executable)} {REPO_ROOT / 'install.py'} --tui")
term.wait("Where to install?")
term.wait("> Install")
mark = len(term.raw)
term.send("\x1a")
end = time.monotonic() + 10
@@ -5687,7 +5877,7 @@ class TheTerminalComesBack(unittest.TestCase):
while b"\x1b[?1049h" not in term.raw[mark:] and time.monotonic() < end:
term._pump(0.05)
self.assertIn(b"\x1b[?1049h", term.raw[mark:])
term.wait("Where to install?")
term.wait("> Install")
self.assertFalse(termios.tcgetattr(term.fd)[3] & termios.ECHO)
# The clicks come back with the screen.
term.settle()
@@ -5709,7 +5899,7 @@ class TheTerminalComesBack(unittest.TestCase):
term = Pty(["--tui"], self.env, program=program)
self.addCleanup(lambda term=term: term.status is None
and os.killpg(term.pid, 9))
term.wait("Where to install?")
term.wait("> Install")
term.send("\x1a")
screen = term.wait("Ctrl-Z is ignored")
self.assertIn("no shell started this installer", " ".join(screen.split()))
@@ -5765,8 +5955,6 @@ class TheTerminalComesBack(unittest.TestCase):
self.addCleanup(lambda: term.status is None and os.killpg(term.pid, 9))
term.wait("PROMPT$")
self.typed(term, f"sh {REPO_ROOT / 'install.sh'} --jobs 1")
term.wait("Where to install?")
term.send("\r")
term.wait("to download")
term.send("\r")
term.wait("Installing")
@@ -10803,7 +10991,7 @@ class MouseOnAPty(unittest.TestCase):
def test_taps_choose_a_row_and_press_the_bar(self):
self.repo()
term = self.start()
term.wait("Where to install?")
on_setups(term)
term.settle()
self.assertIn(install._MOUSE_ON.encode(), term.raw)
row = self.line_of(term, "Another setup")
@@ -11455,8 +11643,6 @@ class TapsOnAPty(unittest.TestCase):
def test_taps_on_systems_tick_and_write_nothing(self):
repo = self.repo()
term = self.start()
term.wait("Where to install?")
term.send("\r")
term.wait("> Install")
row = self.line_of(term, "Choose systems")
self.click(term, 20, row)
@@ -11482,8 +11668,6 @@ class TapsOnAPty(unittest.TestCase):
def test_the_result_is_left_by_a_tap_on_exit(self):
self.repo()
term = self.start()
term.wait("Where to install?")
term.send("\r")
term.wait("files to download")
row = self.line_of(term, "> Install")
self.click(term, 20, row)
@@ -12365,8 +12549,6 @@ class TapsOnAPtySeeFirst(unittest.TestCase):
def test_one_tap_on_the_bar_install_installs_nothing(self):
repo = self.repo()
term = self.start()
term.wait("Where to install?")
term.send("\r")
term.wait("> Install")
term.settle()
self.click(term, *self.bar_entry(term, "Install"))
@@ -12380,7 +12562,7 @@ class TapsOnAPtySeeFirst(unittest.TestCase):
def test_a_double_tap_on_continue_neither_quits_nor_installs(self):
repo = self.repo()
term = self.start()
term.wait("Where to install?")
on_setups(term)
term.settle()
col, line = self.bar_entry(term, "Continue")
report = sgr(col + 1, line + 1) + sgr(col + 1, line + 1, release=True)
@@ -12402,7 +12584,7 @@ class TapsOnAPtySeeFirst(unittest.TestCase):
with self.subTest(gap=gap):
repo = self.repo()
term = self.start()
term.wait("Where to install?")
on_setups(term)
term.settle()
time.sleep(install.TUI_TAP_SETTLE)
col, line = self.bar_entry(term, "Continue")
@@ -12422,8 +12604,6 @@ class TapsOnAPtySeeFirst(unittest.TestCase):
def test_continue_then_install_in_one_cell_stops_on_confirm(self):
repo = self.repo()
term = self.start()
term.wait("Where to install?")
term.send("\r")
term.wait("> Install")
row = self.line_of(term, "Choose systems")
self.click(term, 20, row)
@@ -12465,8 +12645,6 @@ class TapsOnAPtySeeFirst(unittest.TestCase):
repo = self.repo(GameDataRepository)
term = self.start()
term.wait("Where to install?")
term.send("\r")
term.wait("> Install")
for _step in range(8):
if "> Choose systems" in term.settle():
@@ -12508,8 +12686,6 @@ class TapsOnAPtySeeFirst(unittest.TestCase):
def test_two_taps_on_a_region_untick_it_where_it_was(self):
self.repo()
term = self.start()
term.wait("Where to install?")
term.send("\r")
term.wait("> Install")
term.send("o")
term.wait("Preferred regions")
@@ -12662,8 +12838,10 @@ class ChoiceStateInBothModes(unittest.TestCase):
mock.patch.object(install, "detect_frontends", return_value=[]), \
mock.patch.object(install.Path, "home", return_value=home):
state, _effects = install.tui_start(_args(), "linux")
text = self.screen(state)
# Named on the first screen, its plan one Enter away.
# Its plan first, the setups one Back away.
self.assertEqual(state.dest, card / "bios")
text = self.screen(listed(state))
# Named on the setups, its plan one Enter away.
self.assertIn(f"> ArkOS SD card ({name}", text)
self.assertNotIn("Nothing was found here", text)
install.tui_update(state, Key("enter"))
@@ -12977,7 +13155,7 @@ class DriveIsACardByItsFiles(unittest.TestCase):
mock.patch.object(install, "detect_frontends", return_value=[]), \
mock.patch.object(install.Path, "home", return_value=self.root / "home"):
state, _effects = install.tui_start(_args(), "linux")
return state
return listed(state)
def folder_screen(self, mounts: list) -> tuple[install.TuiState, str, list]:
"""RetroArch chosen on the first screen: (state, Which folder? at
@@ -13176,8 +13354,6 @@ class TheSettleRunsFromTheFrameShown(unittest.TestCase):
env = {**self.env, "SLOW": "0.5"}
term = Pty([], env, 80, 24, program=[sys.executable, str(wrapper)])
self.addCleanup(lambda: term.status is None and os.kill(term.pid, 9))
term.wait("Where to install?")
term.send("\r")
term.wait("> Install")
term.settle()
term.send("o")
@@ -14949,6 +15125,10 @@ SCREEN_WORDS = {
"quit": (14, 14, 12, 12), "help": (24, 26, 26, 26), "plan-games": (36, 46, 54, 54),
"games": (36, 45, 44, 44), "plan-details": (30, 30, 29, 29),
"result-details": (30, 30, 19, 19),
# The plan's words, plus the recorded choice by name, its row (the one
# press back to the whole list) and Change where (back to the setups,
# the plan having opened on the one found).
"plan-record": (38, 42, 42, 42),
}
+113 -4
View File
@@ -851,6 +851,60 @@ class MameSearchPaths(unittest.TestCase):
e.get("unplaced") == "outside_bios_folder" for e in self.sets(view)
))
def test_a_passed_search_setting_leaves_the_bundled_tree_unread(self) -> None:
# RetroBat passes -hash bios/mame/hash and -sp bios/mame/samples
# (Mame64.Generator.cs:30, 101, 106-107, 172, 177-178), RetroDECK
# writes samplepath $bios_path/mame-sa/samples (component_prepare.sh:94):
# the trees beside the executable are not read, the pack brings them.
for platform, tree, place in (
("retrobat", "hash/", "mame/hash/"),
("retrobat", "floppy/", "mame/samples/floppy/"),
("knulli", "floppy/", "mame/samples/floppy/"),
("retrodeck", "floppy/", "mame-sa/samples/floppy/"),
):
view = standalone_view("mame", platform)
(entry,) = [e for e in view["files"]
if e["name"] == tree and e.get("mode") == "standalone"]
self.assertEqual(entry["standalone_path"], place, platform)
self.assertNotIn("bundled", entry, platform)
# Where no launcher passes the setting, the bundled copy is read.
view = standalone_view("mame", "emudeck")
(entry,) = [e for e in view["files"]
if e["name"] == "hash/" and e.get("mode") == "standalone"]
self.assertTrue(entry.get("bundled"))
def test_retropie_reads_samples_below_its_roms(self) -> None:
# samplepath $romdir/mame/samples;$romdir/arcade/samples (mame.sh:135).
view = standalone_view("mame", "retropie")
(bbc,) = [e for e in view["files"] if e["name"] == "bbc.zip"]
self.assertEqual((bbc["standalone_path"], bbc.get("root")),
("mame/samples/bbc.zip", "roms"))
(tree,) = [e for e in view["files"]
if e["name"] == "floppy/" and e.get("mode") == "standalone"]
self.assertEqual((tree["standalone_path"], tree.get("root")),
("mame/samples/floppy/", "roms"))
self.assertNotIn("bundled", tree)
def test_batocera_keeps_the_sets_at_the_root_and_samples_in_bios_mame(self) -> None:
# -rompath <romDirname>;/userdata/bios/mame;/userdata/bios and
# -samplepath /userdata/bios/mame/samples (mameGenerator.py:129-142).
view = standalone_view("mame", "batocera")
self.assertTrue(all(e["standalone_path"] == e["name"] for e in self.sets(view)))
(bbc,) = [e for e in view["files"] if e["name"] == "bbc.zip"]
self.assertEqual(bbc["standalone_path"], "mame/samples/bbc.zip")
def test_a_moved_tree_is_found_by_its_layout_path(self) -> None:
from common import expand_directory_entries, load_database
db = load_database(str(REPO_ROOT / "database.json"))
view = standalone_view("mame", "retrodeck")
(tree,) = [e for e in view["files"]
if e["name"] == "floppy/" and e.get("mode") == "standalone"]
members = expand_directory_entries([tree], db, standalone=True)
self.assertEqual(len(members), 19)
for member in members:
self.assertTrue(member["path"].startswith("mame-sa/samples/floppy/"))
def test_psxmame_reads_bios_psxmame_bios(self) -> None:
# -rompath bios/psxmame/bios;<rom directory> (PSXMame.Generator.cs:38-48).
view = standalone_view("psxmame", "retrobat")
@@ -859,6 +913,35 @@ class MameSearchPaths(unittest.TestCase):
self.assertEqual(entry["standalone_path"], "psxmame/bios/" + entry["name"])
class LibretroMameSetsInMameBios(unittest.TestCase):
"""libretro/mame searches the content folder, then <system>/mame/bios and
<system>/mame/roms, never the system folder itself
(src/osd/libretro/libretro-internal/retro_init.cpp:580-597)."""
def test_every_libretro_mame_set_is_read_in_mame_bios(self) -> None:
profiles = load_emulator_profiles(str(REPO_ROOT / "emulators"))
for key in ("mame", "mame0258", "mame0278", "mamearcade", "mamemess"):
sets = [f for f in profiles[key]["files"] if f.get("category") == "bios_zip"
and f.get("mode") != "standalone" and f["name"] != "bbc.zip"]
self.assertTrue(sets, key)
for entry in sets:
self.assertEqual(entry.get("path"), "mame/bios/" + entry["name"], key)
def test_the_standalone_build_keeps_its_rompath_layout(self) -> None:
profile = load_emulator_profiles(str(REPO_ROOT / "emulators"))["mame"]
for entry in profile["files"]:
if str(entry.get("path", "")).startswith("mame/bios/"):
self.assertEqual(entry.get("standalone_path"), entry["name"])
def test_retrobat_lays_out_both_builds(self) -> None:
# es_systems.cfg offers the libretro core mame and the standalone
# mame64, two names of one profile.
profile = load_emulator_profiles(str(REPO_ROOT / "emulators"))["mame"]
config = load_platform_config("retrobat", str(REPO_ROOT / "platforms"))
builds = sorted(s for _v, s in platform_layouts("mame", profile, standalone_set(config)))
self.assertEqual(builds, [False, True])
class GzdoomOnRetroDECK(unittest.TestCase):
"""RetroDECK writes RETRODECKROMSDIR/doom into [IWADSearch.Directories]
(gzdoom.ini:9, component_prepare.sh:27)."""
@@ -883,13 +966,38 @@ class AdvanceMameOnEmuELEC(unittest.TestCase):
"""advmame.rc sets dir_rom /storage/roms/mame, /storage/roms/arcade for
the arcade system (advmame.rc:11, advmame.sh:26-30)."""
def test_the_sets_land_in_roms_mame(self) -> None:
def test_the_sets_land_in_roms_mame_and_roms_arcade(self) -> None:
# Started for arcade it reads roms/arcade, for mame and cps1-3
# roms/mame (es_systems.json, advmame.sh:26-30): an arcade set is
# read in both.
view = standalone_view("advancemame", "emuelec")
sets = [e for e in view["files"] if e.get("category") == "bios_zip"]
self.assertEqual(len(sets), 29)
self.assertEqual(len(sets), 58)
places: dict[str, set[str]] = {}
for entry in sets:
self.assertEqual(entry["standalone_path"], "mame/" + entry["name"])
self.assertTrue(entry.get("unprefixed"))
places.setdefault(entry["name"], set()).add(entry["standalone_path"])
self.assertEqual(len(places), 29)
for name, paths in places.items():
self.assertEqual(paths, {"mame/" + name, "arcade/" + name})
def test_both_copies_are_one_file(self) -> None:
# Outside the BIOS tree the folder is no proof of content: each copy
# resolves by its layout path, so both folders hold the same file.
from common import load_database
db = load_database(str(REPO_ROOT / "database.json"))
with redirect_stdout(io.StringIO()):
manifest = generate_manifest(
"emuelec", str(REPO_ROOT / "platforms"), db, str(REPO_ROOT / "bios"),
str(REPO_ROOT / "platforms" / "_registry.yml"),
emulators_dir=str(REPO_ROOT / "emulators"), offline=True,
)
by_dest = {f["dest"]: f["sha1"] for f in manifest["files"]}
sets = [d.removeprefix("arcade/") for d in by_dest if d.startswith("arcade/")]
self.assertEqual(len(sets), 29)
for name in sets:
self.assertEqual(by_dest["arcade/" + name], by_dest["mame/" + name], name)
def test_the_roms_folder_is_no_proof_of_content(self) -> None:
# bios/Arcade/MAME/konamigv.zip is MAME 0.289's set, not AdvanceMAME's.
@@ -897,7 +1005,8 @@ class AdvanceMameOnEmuELEC(unittest.TestCase):
db = load_database(str(REPO_ROOT / "database.json"))
view = standalone_view("advancemame", "emuelec")
(entry,) = [e for e in view["files"] if e["name"] == "konamigv.zip"]
entry = next(e for e in view["files"]
if e["name"] == "konamigv.zip" and e["standalone_path"].startswith("mame/"))
moved, _status = resolve_local_file(entry, db, dest_hint=entry["standalone_path"])
plain = {k: v for k, v in entry.items()
if k not in ("layout_path", "standalone_path", "unprefixed")}
+40
View File
@@ -529,6 +529,46 @@ OPENMSX_FILEPOOL = ''' def generate(self, system, rom):
file.write("filepool add -path /userdata/bios/openmsx -types system_rom -position 2\\n")'''
MAME = f"{GENERATORS}/mame/mameGenerator.py"
MAME_PATHS = f"{GENERATORS}/mame/mamePaths.py"
MAME_HEAD = """from __future__ import annotations
from ...batoceraPaths import BIOS
from .mamePaths import MAME_BIOS
class MameGenerator:
def generate(self, system, rom, playersControllers, metadata, guns, wheels, gameResolution):"""
MAME_COMMAND = """ if messMode == -1:
commandArray += [ "-rompath", f"{romDirname};{MAME_BIOS};{BIOS}" ]"""
MAME_SAMPLES = """ commandArray += [ "-samplepath", MAME_BIOS / "samples" ]"""
MAME_BOOT = """ if boot_disk:
bootDisk = f"/userdata/bios/{boot_disk}.img"
commandArray += [ bootType, bootDisk ]"""
class MameSearchPaths(unittest.TestCase):
"""mameGenerator.py:129-142 at batocera-43.1: -rompath and -samplepath."""
def test_the_command_line_search_paths_are_recorded(self):
from scraper.batocera_launchers import search_paths
cg = configgen({
MAME: placed({1: MAME_HEAD, 129: MAME_COMMAND, 142: MAME_SAMPLES, 378: MAME_BOOT}),
MAME_PATHS: "from ...batoceraPaths import BIOS\nMAME_BIOS = BIOS / 'mame'\n",
})
records = [r.entry() for r in search_paths(cg)]
self.assertEqual(
[(r["emulator"], r["search_dir"], r["passes_to"], r.get("depends_on_option"))
for r in records],
[
("mame", "<romDirname>;/userdata/bios/mame;/userdata/bios",
"command line -rompath", "messMode == -1"),
("mame", "/userdata/bios/mame/samples", "command line -samplepath", None),
],
)
self.assertEqual(records[0]["source_ref"], f"{MAME}:129-130")
# The boot disk the command names is a file, no search path.
self.assertFalse([r for r in records if "boot_disk" in r["search_dir"]])
class ConfigDirectories(unittest.TestCase):
"""A BIOS directory written into the emulator's config, at batocera-43.1."""
+39
View File
@@ -239,6 +239,45 @@ class LinksAndCopies(unittest.TestCase):
self.assertEqual(base[0]["names"], ["hiscore.dat", "cheat.dat"])
MAME = module("mame", """
function configure_mame() {
local system="mame"
local temp_ini_mame="$(mktemp)"
iniConfig " " "" "$temp_ini_mame"
iniSet "rompath" "$romdir/$system;$romdir/arcade;$biosdir/$system"
iniSet "hashpath" "$md_inst/hash"
iniSet "samplepath" "$romdir/$system/samples;$romdir/arcade/samples"
iniSet "cfg_directory" "$romdir/$system/cfg"
copyDefaultConfig "$temp_ini_mame" "$md_conf_root/$system/mame.ini"
addEmulator 0 "$md_id" "arcade" "$md_inst/mame %BASENAME%"
addSystem "arcade"
}
""", 109)
class IniSearchLists(unittest.TestCase):
"""MAME's mame.ini lists folders below $romdir (mame.sh:133-136)."""
def test_a_list_below_the_roms_root_is_a_search_path(self):
found = [r for r in records({f"{EMULATORS}/mame.sh": MAME}, "mame")
if r["kind"] == "passes_path"]
self.assertEqual(
[(r["search_dir"], r["passes_to"].split(" in ")[0]) for r in found],
[
("$romdir/mame;$romdir/arcade;$biosdir/mame", "rompath"),
("$romdir/mame/samples;$romdir/arcade/samples", "samplepath"),
],
)
self.assertEqual(found[1]["source_ref"], f"{EMULATORS}/mame.sh:115")
def test_one_folder_written_to_is_no_search_path(self):
# cfg_directory is where MAME writes, $md_inst/hash a folder of the
# package itself.
found = records({f"{EMULATORS}/mame.sh": MAME}, "mame")
self.assertFalse([r for r in found if "cfg" in str(r.get("search_dir"))])
self.assertFalse([r for r in found if "hash" in str(r.get("search_dir"))])
class CommandLines(unittest.TestCase):
def test_sdltrs_passes_one_rom_per_machine(self):
found = records({f"{EMULATORS}/sdltrs.sh": SDLTRS}, "sdltrs")
+1 -1
View File
@@ -347,7 +347,7 @@ class TheReleaseNotesNameTheSetupsWithoutAZip(unittest.TestCase):
# The installer's handheld section, which opens on every download.
handheld = text.index(f"{SITE}wiki/installer/#on-a-handheld-the-retrobios-port")
packs = text.index("### Full packs")
self.assertLess(text.index("### Get your BIOS"), command)
self.assertLess(text.index("### Get the BIOS files"), command)
self.assertLess(command, handheld)
self.assertLess(handheld, packs)
self.assertLess(packs, text.index("| Platform"))
+17
View File
@@ -186,6 +186,23 @@ class SitePronouns(unittest.TestCase):
hits = _hits(files)
self.assertEqual(hits, [], "\n".join(hits))
def test_release_notes(self):
"""The release page is public text too. Rendered from the committed
record, and once more with a pack in parts, its own paragraph."""
sys.path.insert(0, str(ROOT / "scripts"))
import release_notes
import release_record
record = release_record.load_record(ROOT / "release.json")
first = next(iter(record["packs"]))
parted = {**record, "packs": {**record["packs"], first: {
**record["packs"][first], "assets": ["a.part1of2.zip", "a.part2of2.zip"]}}}
platforms = str(ROOT / "platforms")
hits = [f"release notes:{number}: {line}"
for sample in (record, parted)
for number, line in pronouns(release_notes.render(sample, platforms, "x"))]
self.assertEqual(hits, [], "\n".join(hits))
def test_every_allowed_quote_says_why(self):
for quoted, reason in {**NAMES, **INSTALLER, **SOURCE}.items():
with self.subTest(quoted=quoted):
+2 -2
View File
@@ -68,7 +68,7 @@ On Batocera, Recalbox and similar setups, see
## 2. Check the setup it found
It opens a menu:
With one setup, it opens on **Install**. Otherwise:
```
RetroBIOS: Where to install?
@@ -91,7 +91,7 @@ touch screen, tap a row twice to open it, once to tick a box.
Press Enter on **Install**. **Choose systems** picks the consoles to
keep.
**Game data** (only a game reads it) has its own row.
**Game data** has its own row.
**Old card?** In a card reader, choose **Copy the BIOS files from an old
card or a folder**, then the card.
+67 -3
View File
@@ -169,8 +169,14 @@ Enter checks the BIOS folder when nothing can be copied.
## The full-screen interface { #the-full-screen-interface }
Run at a terminal, the installer opens a full screen that a keyboard or a
controller drives. Three presses of A or Enter install everything the setup
reads: the setup found here, the plan, then the result. The plan screen says
controller drives. With one setup found here, it opens on that setup's plan,
and two presses of A or Enter install everything it reads: the plan, then the
result. **Change where** (or B) goes back to the setups, which open first when
none or several are found. What that screen would have noted (ES-DE found, the
setup's name) is under **Details**, one plan line saying so. After an install, the plan of the same folder opens
on the same choice (**Same choice as on 10 Nov: yes**, the
[install record](#the-install-record)), and **no** takes the whole list, or the
games of the card when it holds some. The plan screen says
what it installs, its size and where, before anything is written. **Details**
(`d`) adds the rest: how many files are in place, the free space, the files
left out and why.
@@ -371,6 +377,8 @@ file list is downloaded once and handed to each run.
that archive in use and downloads its own copy. A file already there with other contents
is moved aside first, see [Files already in the folder](#files-you-already-had).
8. Copies into standalone emulator directories, only with `--standalone-copies`.
9. Writes the [install record](#the-install-record): each file it placed, with
its SHA-1, and the choice it made.
The file list names the version of the platform it was built for (Batocera
43.1, RetroBat 8.3.1). Where the system writes its own version in a file, the
@@ -444,6 +452,61 @@ ones, grouped by system with the emulators that read them, and point at the
emulator pages. They do not change the exit code of `--check`, since no run of
the installer can fetch them.
## The install record { #the-install-record }
An install that places files writes what it placed in a record beside the BIOS
folder: `retrobios-backup/<folder name>.install.json`, in the same holder as
the [backups](#files-you-already-had). A folder with nothing writable beside it
(a drive's root) keeps it in `retrobios-backup` inside the folder. It is never
loose in the BIOS folder, which DuckStation, SwanStation and Rustation read
whole. On a card it travels with the card.
The record is JSON, one entry per setup:
```json
{"schema": 1, "installer": "48e57b2f26e2",
"folder": "/home/me/.config/retroarch/system",
"setups": {"retroarch": {
"written": "2026-11-10T09:48:36Z",
"list": {"version": "v1.22.2", "generated": "2026-11-10T01:52:59Z"},
"choice": ["--system", "nintendo-gba"],
"files": [{"dest": "gba_bios.bin", "root": "", "sha1": "4176d5fc...",
"size": 16384, "from": "download"}]}}}
```
`files` holds each file this run and the earlier ones wrote, with the SHA-1
checked before it was moved into place: `root` is empty for the BIOS folder,
`save` for the save directory and `data` for a data tree's member, and `from`
says `download`, `copy` (this machine, `--from`) or `pack`. A file that was
already in place is not added: the record names only what the installer wrote.
`choice` is the options of the run that decided what to install, `--all-files`
for the whole list.
The next run for the same setup and folder takes that choice when nothing on
the command line chose: line mode installs the same systems
(`Installing 1 file (16.0 KB) for RetroArch, same choice as on 10 Nov.`), and
the full screen opens on it (**Same choice as on 10 Nov: yes**). Any option of
the choice (`--system`, `--core`, `--region`, `--for-games`, `--no-game-data`,
`--target`, `--every-board`, `--emulator`, `--installed-cores`, `--declared-only`)
replaces it, `--all-files` installs the whole list, and a run over several
setups or from a file list (`--manifest`) never reads it. `--check` and
`--dry-run` read it too, and say so. To forget it, delete the file.
A record is read only when it is a regular file of at most 16 MiB whose
choice holds nothing but the options above and their values. A games folder
(`--for-games FOLDER`) is kept only under the folder that holds the BIOS
folder, so a record never sends the games scan to another drive or a network
share: any other folder is recorded as `--for-games` alone, the card's own
games. A record that breaks any of this, or cannot be read, is said once and
ignored, and the next install writes a new one, keeping the other setups'
entries that read. One written by a newer installer is left as it is. A
recorded option the list can no longer apply (a region, an emulator, a board,
the installed cores, game data on a list that marks none) is left out in one
line, `Left out of the recorded choice: --target (...)`, and the run goes on:
typed on the command line, the same option is refused as before. A record kept
for a folder of another name (copied or renamed with it) is not applied. With `--events` the record
gives a `record` event, see [Machine-readable events](#machine-readable-events).
## Reading a run { #reading-a-run }
<!-- generated: run-date -->
@@ -1902,11 +1965,12 @@ other schemas under `api/v1/schemas/`.
| `downloaded` | `dest`, `ok`, `reason`, `size`, `files_done`, `files_total`, `bytes_done`, `bytes_total` | Each finished file, downloaded or copied from where a `found` event named it. `reason` says why one failed, and is empty otherwise |
| `summary` | `mode`, `installed`, `up_to_date`, `pending`, `failed`, `skipped`, `left_out`, `kept`, `interrupted` | The outcome. `pending` counts what a next run would still fetch, `failed` lists `{dest, reason}`, `skipped` lists `{reason, label, files, required}` for the files the collection cannot supply, `left_out` lists `{category, label, files, dests}` for what `--no-game-data` left out, and is empty without it. `kept` lists `{folder, files, bytes}`, one per backup folder, for the files in place the run moved aside before replacing them (with `--dry-run`, would move), and is empty when none. Not written for a listing |
| `app` | `system`, `folder`, `ok`, `reason`, `dests`, `written`, `kept` | After `summary`, with `--add-app` or a yes to its question: the RetroBIOS app on the card of `system` whose root is `folder`. `dests` lists the app's files below that root, `written` the ones this run wrote (empty when each was in place), `kept` the backup folders as in `summary`. `ok` is false, with `reason`, when the card takes no app (before anything is written, code 2), when the install did not finish, or when a file could not be fetched, verified or written (code 1) |
| `record` | `platform`, `folder`, `path`, `status`, `choice`, `date`, `files`, `message` | The [install record](#the-install-record) of `folder`, kept at `path`. `status` is `applied` before `choices` when the run took its choice, nothing on the command line having chosen, `written` before `summary` once an install placed files, `unreadable` when it cannot be read (said once, ignored), or `not_written` when it could not be saved, the install itself unharmed. `choice` is the recorded options as words, `date` when it was written (UTC), `files` how many files it holds for the platform |
| `end` | `code` | Last line, with the exit status the process returns (see [Exit status](#exit-status)) |
<!-- /generated: events -->
Schema 1 can gain a kind (`found` came with `--from`, `declared` with `--declared-only`, `unsearched` with the search that goes on past a closed folder, `app` with `--add-app`, `data` with the size of the data trees, `version` with the list's version), never a key of an
Schema 1 can gain a kind (`found` came with `--from`, `declared` with `--declared-only`, `unsearched` with the search that goes on past a closed folder, `app` with `--add-app`, `data` with the size of the data trees, `version` with the list's version, `record` with the install record), never a key of an
existing kind: a reader skips a kind it does not know. An option refused
before the run starts (`install.py: error:`, code 2) writes
no event at all. A program reads a missing `end` as that case, or as a