mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-12 04:53:52 -06:00
fix: place AdvanceMAME's sets in EmuELEC's dir_rom
AdvanceMAME reads its sets from dir_rom, a list of folders (advance/osd/fileio.c:74, doc/advmame.d:680,699-701). EmuELEC's advmame.rc sets dir_rom /storage/roms/mame (advmame.rc:11), and advmame.sh rewrites /roms/mame to /roms/arcade when it is started for the arcade system (advmame.sh:26-30). The extractor kept the keys under the BIOS root alone: it now records those under the roms root too, and a key the script rewrites gives one record for arcade and one for every other system. A configgen record carries the systems it is written for. The profile lays its 29 sets out at the top of dir_rom. On EmuELEC they land in roms/mame. The 12 root archives AdvanceMAME alone claimed there now hold the copies of the cores that also declare them (mame, geolith), none of them lost. A destination outside the BIOS tree is no proof of content: the moved entry resolves by its layout path alone. roms/mame/konamigv.zip took bios/Arcade/MAME/konamigv.zip, MAME 0.289's set, by that tail.
This commit is contained in:
1 parent
4a5c693b66
commit
8eaffcfead
7 files changed
+384
-29
No files matched your search
@@ -52,6 +52,9 @@ systems:
|
||||
- atari-system1
|
||||
- efo-cedar-magnet
|
||||
|
||||
standalone_pools:
|
||||
dir_rom: ""
|
||||
|
||||
notes: |
|
||||
MAME 0.106 core (src/version.c:11) carrying its own video layer and driver
|
||||
backports from later MAME releases. Twenty-nine BIOS root sets, each a
|
||||
@@ -156,6 +159,7 @@ files:
|
||||
|
||||
# SNK Neo Geo MVS
|
||||
- name: neogeo.zip
|
||||
path: "neogeo.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: snk-neogeo-mvs
|
||||
@@ -223,6 +227,7 @@ files:
|
||||
|
||||
# IGS PGM
|
||||
- name: pgm.zip
|
||||
path: "pgm.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: igs-pgm
|
||||
@@ -246,6 +251,7 @@ files:
|
||||
|
||||
# Sega ST-V
|
||||
- name: stvbios.zip
|
||||
path: "stvbios.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-stv
|
||||
@@ -302,6 +308,7 @@ files:
|
||||
|
||||
# Sega Mega Play
|
||||
- name: megaplay.zip
|
||||
path: "megaplay.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-megaplay
|
||||
@@ -323,6 +330,7 @@ files:
|
||||
|
||||
# Sega Mega-Tech
|
||||
- name: megatech.zip
|
||||
path: "megatech.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-megatech
|
||||
@@ -335,6 +343,7 @@ files:
|
||||
|
||||
# DECO Cassette System
|
||||
- name: decocass.zip
|
||||
path: "decocass.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: deco-cassette
|
||||
@@ -387,6 +396,7 @@ files:
|
||||
|
||||
# Nintendo PlayChoice-10
|
||||
- name: playch10.zip
|
||||
path: "playch10.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: nintendo-playch10
|
||||
@@ -438,6 +448,7 @@ files:
|
||||
|
||||
# Nintendo Super System
|
||||
- name: nss.zip
|
||||
path: "nss.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: nintendo-nss
|
||||
@@ -466,6 +477,7 @@ files:
|
||||
|
||||
# Super Kaneko Nova System
|
||||
- name: skns.zip
|
||||
path: "skns.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: super-kaneko-nova
|
||||
@@ -501,6 +513,7 @@ files:
|
||||
|
||||
# Konami System GX
|
||||
- name: konamigx.zip
|
||||
path: "konamigx.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: konami-gx
|
||||
@@ -513,6 +526,7 @@ files:
|
||||
|
||||
# Konami Baby Phoenix/GV System
|
||||
- name: konamigv.zip
|
||||
path: "konamigv.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: konami-gv
|
||||
@@ -525,6 +539,7 @@ files:
|
||||
|
||||
# Century Electronics CVS
|
||||
- name: cvs.zip
|
||||
path: "cvs.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: century-cvs
|
||||
@@ -548,6 +563,7 @@ files:
|
||||
|
||||
# Capcom ZN1
|
||||
- name: cpzn1.zip
|
||||
path: "cpzn1.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: capcom-zn1
|
||||
@@ -560,6 +576,7 @@ files:
|
||||
|
||||
# Capcom ZN2
|
||||
- name: cpzn2.zip
|
||||
path: "cpzn2.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: capcom-zn2
|
||||
@@ -572,6 +589,7 @@ files:
|
||||
|
||||
# Tecmo TPS
|
||||
- name: tps.zip
|
||||
path: "tps.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: tecmo-tps
|
||||
@@ -584,6 +602,7 @@ files:
|
||||
|
||||
# Taito FX1
|
||||
- name: taitofx1.zip
|
||||
path: "taitofx1.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: taito-fx1
|
||||
@@ -596,6 +615,7 @@ files:
|
||||
|
||||
# Eighting/Raizing PS Arcade 95
|
||||
- name: psarc95.zip
|
||||
path: "psarc95.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: eighting-zn1
|
||||
@@ -608,6 +628,7 @@ files:
|
||||
|
||||
# Atlus PSX
|
||||
- name: atluspsx.zip
|
||||
path: "atluspsx.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: atlus-zn1
|
||||
@@ -620,6 +641,7 @@ files:
|
||||
|
||||
# Atari PSX
|
||||
- name: atpsx.zip
|
||||
path: "atpsx.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: atari-zn1
|
||||
@@ -632,6 +654,7 @@ files:
|
||||
|
||||
# Acclaim PSX
|
||||
- name: acpsx.zip
|
||||
path: "acpsx.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: acclaim-zn1
|
||||
@@ -644,6 +667,7 @@ files:
|
||||
|
||||
# Video System PSX
|
||||
- name: coh1002v.zip
|
||||
path: "coh1002v.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: videosystem-zn1
|
||||
@@ -656,6 +680,7 @@ files:
|
||||
|
||||
# Seta Aleck64
|
||||
- name: aleck64.zip
|
||||
path: "aleck64.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: nintendo-aleck64
|
||||
@@ -668,6 +693,7 @@ files:
|
||||
|
||||
# Atari System 1
|
||||
- name: atarisy1.zip
|
||||
path: "atarisy1.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: atari-system1
|
||||
@@ -691,6 +717,7 @@ files:
|
||||
|
||||
# EFO Cedar Magnet System
|
||||
- name: cedmag.zip
|
||||
path: "cedmag.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: efo-cedar-magnet
|
||||
@@ -703,6 +730,7 @@ files:
|
||||
|
||||
# Arcadia Systems
|
||||
- name: ar_bios.zip
|
||||
path: "ar_bios.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: arcadia-systems
|
||||
@@ -770,6 +798,7 @@ files:
|
||||
|
||||
# Exidy Max-A-Flex
|
||||
- name: maxaflex.zip
|
||||
path: "maxaflex.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: exidy-maxaflex
|
||||
@@ -793,6 +822,7 @@ files:
|
||||
|
||||
# Brezzasoft Crystal System
|
||||
- name: crysbios.zip
|
||||
path: "crysbios.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: brezzasoft-crystal
|
||||
@@ -805,6 +835,7 @@ files:
|
||||
|
||||
# I'Max Multi Amenity Cassette System
|
||||
- name: macsbios.zip
|
||||
path: "macsbios.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: imax-macs
|
||||
@@ -823,6 +854,7 @@ files:
|
||||
|
||||
# Barcrest MPU4 Video
|
||||
- name: bctvidbs.zip
|
||||
path: "bctvidbs.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: barcrest-mpu4
|
||||
|
||||
+252
-2
@@ -4442,6 +4442,206 @@ launchers:
|
||||
source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:172-174, packages/sx05re/emulators/hatarisa/config/conf/Atari-ST-default.cfg:200,\
|
||||
\ packages/sx05re/emulators/hatarisa/package.mk:39, packages/sx05re/emulators/hatarisa/scripts/hatari.start:36,\
|
||||
\ 66, 73"
|
||||
- emulator: AdvanceMame
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
names: []
|
||||
search_dir: /storage/roms/mame/artwork
|
||||
passes_to: advmame.rc dir_artwork
|
||||
fails_when_missing: false
|
||||
depends_on_option: system != arcade
|
||||
source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\
|
||||
\ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\
|
||||
\ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\
|
||||
\ 80"
|
||||
- emulator: AdvanceMame
|
||||
systems:
|
||||
- arcade
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
names: []
|
||||
search_dir: /storage/roms/arcade/artwork
|
||||
passes_to: advmame.rc dir_artwork
|
||||
fails_when_missing: false
|
||||
source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\
|
||||
\ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\
|
||||
\ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\
|
||||
\ 80"
|
||||
- emulator: AdvanceMame
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
names: []
|
||||
search_dir: /storage/roms/mame/diff
|
||||
passes_to: advmame.rc dir_diff
|
||||
fails_when_missing: false
|
||||
depends_on_option: system != arcade
|
||||
source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\
|
||||
\ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\
|
||||
\ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\
|
||||
\ 80"
|
||||
- emulator: AdvanceMame
|
||||
systems:
|
||||
- arcade
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
names: []
|
||||
search_dir: /storage/roms/arcade/diff
|
||||
passes_to: advmame.rc dir_diff
|
||||
fails_when_missing: false
|
||||
source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\
|
||||
\ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\
|
||||
\ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\
|
||||
\ 80"
|
||||
- emulator: AdvanceMame
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
names: []
|
||||
search_dir: /storage/roms/mame/hi
|
||||
passes_to: advmame.rc dir_hi
|
||||
fails_when_missing: false
|
||||
depends_on_option: system != arcade
|
||||
source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\
|
||||
\ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\
|
||||
\ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\
|
||||
\ 80"
|
||||
- emulator: AdvanceMame
|
||||
systems:
|
||||
- arcade
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
names: []
|
||||
search_dir: /storage/roms/arcade/hi
|
||||
passes_to: advmame.rc dir_hi
|
||||
fails_when_missing: false
|
||||
source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\
|
||||
\ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\
|
||||
\ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\
|
||||
\ 80"
|
||||
- emulator: AdvanceMame
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
names: []
|
||||
search_dir: /storage/roms/mame/image
|
||||
passes_to: advmame.rc dir_image
|
||||
fails_when_missing: false
|
||||
depends_on_option: system != arcade
|
||||
source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\
|
||||
\ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\
|
||||
\ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\
|
||||
\ 80"
|
||||
- emulator: AdvanceMame
|
||||
systems:
|
||||
- arcade
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
names: []
|
||||
search_dir: /storage/roms/arcade/image
|
||||
passes_to: advmame.rc dir_image
|
||||
fails_when_missing: false
|
||||
source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\
|
||||
\ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\
|
||||
\ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\
|
||||
\ 80"
|
||||
- emulator: AdvanceMame
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
names: []
|
||||
search_dir: /storage/roms/mame/inp
|
||||
passes_to: advmame.rc dir_inp
|
||||
fails_when_missing: false
|
||||
depends_on_option: system != arcade
|
||||
source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\
|
||||
\ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\
|
||||
\ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\
|
||||
\ 80"
|
||||
- emulator: AdvanceMame
|
||||
systems:
|
||||
- arcade
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
names: []
|
||||
search_dir: /storage/roms/arcade/inp
|
||||
passes_to: advmame.rc dir_inp
|
||||
fails_when_missing: false
|
||||
source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\
|
||||
\ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\
|
||||
\ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\
|
||||
\ 80"
|
||||
- emulator: AdvanceMame
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
names: []
|
||||
search_dir: /storage/roms/mame/memcard
|
||||
passes_to: advmame.rc dir_memcard
|
||||
fails_when_missing: false
|
||||
depends_on_option: system != arcade
|
||||
source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\
|
||||
\ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\
|
||||
\ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\
|
||||
\ 80"
|
||||
- emulator: AdvanceMame
|
||||
systems:
|
||||
- arcade
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
names: []
|
||||
search_dir: /storage/roms/arcade/memcard
|
||||
passes_to: advmame.rc dir_memcard
|
||||
fails_when_missing: false
|
||||
source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\
|
||||
\ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\
|
||||
\ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\
|
||||
\ 80"
|
||||
- emulator: AdvanceMame
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
names: []
|
||||
search_dir: /storage/roms/mame/nvram
|
||||
passes_to: advmame.rc dir_nvram
|
||||
fails_when_missing: false
|
||||
depends_on_option: system != arcade
|
||||
source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\
|
||||
\ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\
|
||||
\ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\
|
||||
\ 80"
|
||||
- emulator: AdvanceMame
|
||||
systems:
|
||||
- arcade
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
names: []
|
||||
search_dir: /storage/roms/arcade/nvram
|
||||
passes_to: advmame.rc dir_nvram
|
||||
fails_when_missing: false
|
||||
source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\
|
||||
\ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\
|
||||
\ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\
|
||||
\ 80"
|
||||
- emulator: AdvanceMame
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
names: []
|
||||
search_dir: /storage/roms/mame
|
||||
passes_to: advmame.rc dir_rom
|
||||
fails_when_missing: false
|
||||
depends_on_option: system != arcade
|
||||
source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\
|
||||
\ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\
|
||||
\ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\
|
||||
\ 80"
|
||||
- emulator: AdvanceMame
|
||||
systems:
|
||||
- arcade
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
names: []
|
||||
search_dir: /storage/roms/arcade
|
||||
passes_to: advmame.rc dir_rom
|
||||
fails_when_missing: false
|
||||
source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\
|
||||
\ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\
|
||||
\ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\
|
||||
\ 80"
|
||||
- emulator: AdvanceMame
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
@@ -4449,9 +4649,59 @@ launchers:
|
||||
search_dir: /storage/roms/bios/advmame/samples
|
||||
passes_to: advmame.rc dir_sample
|
||||
fails_when_missing: false
|
||||
source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:9,\
|
||||
\ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:9, packages/sx05re/emulators/advancemame/config/advmame.rc:12,\
|
||||
source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\
|
||||
\ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\
|
||||
\ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:80"
|
||||
- emulator: AdvanceMame
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
names: []
|
||||
search_dir: /storage/roms/mame/snap
|
||||
passes_to: advmame.rc dir_snap
|
||||
fails_when_missing: false
|
||||
depends_on_option: system != arcade
|
||||
source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\
|
||||
\ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\
|
||||
\ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\
|
||||
\ 80"
|
||||
- emulator: AdvanceMame
|
||||
systems:
|
||||
- arcade
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
names: []
|
||||
search_dir: /storage/roms/arcade/snap
|
||||
passes_to: advmame.rc dir_snap
|
||||
fails_when_missing: false
|
||||
source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\
|
||||
\ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\
|
||||
\ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\
|
||||
\ 80"
|
||||
- emulator: AdvanceMame
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
names: []
|
||||
search_dir: /storage/roms/mame/nvram
|
||||
passes_to: advmame.rc dir_sta
|
||||
fails_when_missing: false
|
||||
depends_on_option: system != arcade
|
||||
source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\
|
||||
\ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\
|
||||
\ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\
|
||||
\ 80"
|
||||
- emulator: AdvanceMame
|
||||
systems:
|
||||
- arcade
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
names: []
|
||||
search_dir: /storage/roms/arcade/nvram
|
||||
passes_to: advmame.rc dir_sta
|
||||
fails_when_missing: false
|
||||
source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\
|
||||
\ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\
|
||||
\ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\
|
||||
\ 80"
|
||||
- emulator: SCUMMVMSA
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
|
||||
+4
-1
@@ -1541,12 +1541,15 @@ def resolve_local_file(
|
||||
layout = file_entry.get("layout_path")
|
||||
if layout and layout != dest_hint:
|
||||
plain = {k: v for k, v in file_entry.items() if k != "layout_path"}
|
||||
# A destination outside the BIOS tree says nothing of the collection:
|
||||
# EmuELEC's roms/mame/konamigv.zip is not bios/Arcade/MAME's set.
|
||||
outside = file_entry.get("unprefixed") or file_entry.get("root")
|
||||
answers = [
|
||||
resolve_local_file(
|
||||
plain, db, zip_contents, dest_hint=hint, _depth=_depth,
|
||||
data_dir_registry=data_dir_registry,
|
||||
)
|
||||
for hint in (dest_hint, str(layout))
|
||||
for hint in ((str(layout),) if outside else (dest_hint, str(layout)))
|
||||
]
|
||||
for found in answers:
|
||||
if found[0] is not None and (
|
||||
|
||||
@@ -37,11 +37,13 @@ class Launcher:
|
||||
device: str | None = None
|
||||
# The machines the platform offers under the record's systems.
|
||||
machines: list[str] | None = None
|
||||
# The platform systems the record is written for, none for every one.
|
||||
systems: list[str] | None = None
|
||||
|
||||
def entry(self) -> dict[str, Any]:
|
||||
"""The platform YAML form, in a fixed key order, unset keys left out."""
|
||||
order = (
|
||||
"emulator", "build", "kind", "slot", "names", "expands",
|
||||
"emulator", "systems", "build", "kind", "slot", "names", "expands",
|
||||
"case_insensitive", "search_dir", "passes_to",
|
||||
"fails_when_missing", "fails_scope", "depends_on_option",
|
||||
"device", "machines", "source_ref",
|
||||
|
||||
@@ -38,6 +38,8 @@ EMULATORS = f"{SX05RE}/emulators"
|
||||
LIBRETRO = f"{SX05RE}/libretro"
|
||||
RETROARCH_MK = f"{SX05RE}/libretro_base/retroarch/package.mk"
|
||||
BIOS_ROOT = "/storage/roms/bios"
|
||||
# The roms root that holds it (packages/sx05re/libretro_base/retroarch/package.mk:112,117).
|
||||
ROMS_ROOT = "/storage/roms"
|
||||
|
||||
_EMU_TEST = re.compile(r'\$\{?EMU\}?"?\s*==?\s*"([^"]+)"')
|
||||
_ARM = re.compile(r'^\s*((?:"[^"]+"\|?)+)\)\s*$')
|
||||
@@ -487,8 +489,18 @@ def hatari(tree: RepoTree, runs: Runs) -> list[Launcher]:
|
||||
]
|
||||
|
||||
|
||||
_ADVMAME_SYSTEM = re.compile(r'^\s*if \[\[ "\$\{1\}" = "([\w-]+)" \]\]; then$')
|
||||
_ADVMAME_SED = re.compile(r'^\s*sed -i "s\|([^|]+)\|([^|]+)\|g" \$\{CONFIG_DIR\}/advmame\.rc$')
|
||||
|
||||
|
||||
def advancemame(tree: RepoTree, runs: Runs) -> list[Launcher]:
|
||||
"""Folder keys of the advmame.rc package.mk installs, one per device branch."""
|
||||
"""Folder keys of the advmame.rc package.mk installs, one per device branch.
|
||||
|
||||
A key under the roms root is one too: dir_rom is /storage/roms/mame. The
|
||||
start script rewrites the config for the system it is launched for
|
||||
(advmame.sh:26-30): /roms/mame becomes /roms/arcade for arcade, so that
|
||||
system reads its own record.
|
||||
"""
|
||||
package = f"{EMULATORS}/advancemame"
|
||||
mk = _read(tree, f"{package}/package.mk")
|
||||
installs = [
|
||||
@@ -501,8 +513,8 @@ def advancemame(tree: RepoTree, runs: Runs) -> list[Launcher]:
|
||||
by_value: dict[tuple[tuple[str, str], ...], list[tuple[str, set[int], int]]] = {}
|
||||
for mk_line, file in installs:
|
||||
path = f"{package}/config/{file}"
|
||||
keys = [s for s in settings(tree.read(path), separator=" ") if _under(s.value)]
|
||||
if not keys:
|
||||
keys = [s for s in settings(tree.read(path), separator=" ") if _under(s.value, ROMS_ROOT)]
|
||||
if not any(_under(s.value) for s in keys):
|
||||
raise LauncherPatternMissing(path, f"key naming a folder under {BIOS_ROOT}")
|
||||
value = tuple((s.key, s.value) for s in keys)
|
||||
by_value.setdefault(value, []).append((path, {s.line for s in keys}, mk_line))
|
||||
@@ -511,25 +523,41 @@ def advancemame(tree: RepoTree, runs: Runs) -> list[Launcher]:
|
||||
((value, configs),) = by_value.items()
|
||||
script = _read(tree, f"{package}/bin/advmame.sh")
|
||||
run_line, _ = script.find(r"^\s*(?:\w+=\S+ )*advmame ", "advmame start")
|
||||
test_line, test = script.find(_ADVMAME_SYSTEM.pattern, "system test", end=run_line)
|
||||
sed_line, sed = script.find(_ADVMAME_SED.pattern, "system rewrite", test_line + 1, test_line + 1)
|
||||
name = posixpath.basename(script.path)
|
||||
refs = [
|
||||
runs.ref(name),
|
||||
*((path, lines) for path, lines, _ in configs),
|
||||
(mk.path, {mk_line for _, _, mk_line in configs}),
|
||||
(script.path, {run_line}),
|
||||
]
|
||||
return [
|
||||
Launcher(
|
||||
emulator=runs.emulator(name),
|
||||
build="standalone",
|
||||
kind="passes_path",
|
||||
names=[],
|
||||
source_ref=source_ref(refs),
|
||||
search_dir=folder,
|
||||
passes_to=f"advmame.rc {key}",
|
||||
)
|
||||
for key, folder in value
|
||||
]
|
||||
|
||||
def refs(*lines: int) -> str:
|
||||
return source_ref([
|
||||
runs.ref(name),
|
||||
*((path, lines) for path, lines, _ in configs),
|
||||
(mk.path, {mk_line for _, _, mk_line in configs}),
|
||||
(script.path, {run_line, *lines}),
|
||||
])
|
||||
|
||||
found = []
|
||||
for key, folder in value:
|
||||
rewritten = folder.replace(sed.group(1), sed.group(2))
|
||||
if rewritten != folder:
|
||||
# Every system but the one the script rewrites the key for, and
|
||||
# that system with the rewritten folder.
|
||||
found.append(Launcher(
|
||||
emulator=runs.emulator(name), build="standalone", kind="passes_path", names=[],
|
||||
source_ref=refs(test_line, sed_line), search_dir=folder,
|
||||
passes_to=f"advmame.rc {key}",
|
||||
depends_on_option=f"system != {test.group(1)}",
|
||||
))
|
||||
found.append(Launcher(
|
||||
emulator=runs.emulator(name), build="standalone", kind="passes_path", names=[],
|
||||
source_ref=refs(test_line, sed_line), search_dir=rewritten,
|
||||
passes_to=f"advmame.rc {key}", systems=[test.group(1)],
|
||||
))
|
||||
continue
|
||||
found.append(Launcher(
|
||||
emulator=runs.emulator(name), build="standalone", kind="passes_path", names=[],
|
||||
source_ref=refs(), search_dir=folder, passes_to=f"advmame.rc {key}",
|
||||
))
|
||||
return found
|
||||
|
||||
|
||||
def mame(tree: RepoTree, runs: Runs) -> list[Launcher]:
|
||||
|
||||
@@ -879,5 +879,32 @@ class GzdoomOnRetroDECK(unittest.TestCase):
|
||||
self.assertFalse(any(e.get("standalone_path") for e in view["files"]))
|
||||
|
||||
|
||||
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:
|
||||
view = standalone_view("advancemame", "emuelec")
|
||||
sets = [e for e in view["files"] if e.get("category") == "bios_zip"]
|
||||
self.assertEqual(len(sets), 29)
|
||||
for entry in sets:
|
||||
self.assertEqual(entry["standalone_path"], "mame/" + entry["name"])
|
||||
self.assertTrue(entry.get("unprefixed"))
|
||||
|
||||
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.
|
||||
from common import load_database, resolve_local_file
|
||||
|
||||
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"]
|
||||
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")}
|
||||
root, _status = resolve_local_file(plain, db, dest_hint=entry["name"])
|
||||
self.assertEqual(moved, root)
|
||||
self.assertNotIn("/MAME/", moved)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
@@ -313,6 +313,11 @@ ADVMAME_RC = text(
|
||||
|
||||
ADVMAME_SH = text(
|
||||
"""
|
||||
if [[ "${1}" = "arcade" ]]; then
|
||||
sed -i "s|/roms/mame|/roms/arcade|g" ${CONFIG_DIR}/advmame.rc
|
||||
else
|
||||
sed -i "s|/roms/arcade|/roms/mame|g" ${CONFIG_DIR}/advmame.rc
|
||||
fi
|
||||
SDL_AUDIODRIVER=alsa advmame ${ARG} -quiet
|
||||
"""
|
||||
)
|
||||
@@ -580,9 +585,17 @@ class StandaloneRecords(unittest.TestCase):
|
||||
)
|
||||
|
||||
def test_advancemame_one_record_when_every_device_agrees(self):
|
||||
(record,) = records(el.advancemame)
|
||||
self.assertEqual(record["search_dir"], "/storage/roms/bios/advmame/samples")
|
||||
self.assertNotIn("device", record)
|
||||
roms, arcade, samples = records(el.advancemame)
|
||||
self.assertEqual(samples["search_dir"], "/storage/roms/bios/advmame/samples")
|
||||
self.assertNotIn("device", samples)
|
||||
# advmame.sh rewrites /roms/mame to /roms/arcade for the arcade system.
|
||||
self.assertEqual(
|
||||
(roms["search_dir"], roms["passes_to"], roms["depends_on_option"]),
|
||||
("/storage/roms/mame", "advmame.rc dir_rom", "system != arcade"),
|
||||
)
|
||||
self.assertNotIn("systems", roms)
|
||||
self.assertEqual((arcade["search_dir"], arcade["systems"]), ("/storage/roms/arcade", ["arcade"]))
|
||||
self.assertTrue(arcade["source_ref"].endswith("bin/advmame.sh:1-2, 6"))
|
||||
|
||||
def test_advancemame_devices_that_disagree_raise(self):
|
||||
changed = ADVMAME_RC.replace("bios/advmame", "bios/other")
|
||||
@@ -618,7 +631,7 @@ class StandaloneRecords(unittest.TestCase):
|
||||
|
||||
def test_every_extractor_runs_on_the_fixtures(self):
|
||||
found = el.extract_launchers(tree())
|
||||
self.assertEqual(len(found), 26)
|
||||
self.assertEqual(len(found), 28)
|
||||
|
||||
|
||||
class Revision(unittest.TestCase):
|
||||
|
||||
Reference in new issue
Block a user