mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-23 12:19:13 -05:00
chore: merge the archive recipe follow-ups
This commit is contained in:
commit
f18cfa1f5c
50 files changed
+161
-10
No files matched your search
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
||||
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÙ Thank you for playing À¿³ ÄÄÄÄÄÄ Tyrian ÄÄÄÄÄÄ ³ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´³ This game is NOT shareware. Please enjoy it but don't copy it. ³³ ³³ If you want to see more great games from Epic MegaGames, visit us Online. ³³ ³³ If you have a CompuServe account just GO EPIC at any CompuServe Prompt. ³³ Here, you can get all of Epic's Shareware games, receive technical support, ³³ or engage in casual conversation about any Epic product with other ³³ CompuServe users. ³³ ³³ For all the latest Epic News, and links to Epic Distribution sites, visit ³³ our World Wide Web site at http://www.epicgames.com ³ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄH o w Ät o Äo r d e r ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´³ ³³ Write to: Call us: Visit us online: ³³ E p i c M e g a G a m e s 8 0 0 - 9 7 2 - 7 4 3 4 ( O r d e r s ) C o m p u S e r v e : G O E P I C ³³ 1 0 4 0 6 H o l b r o o k D r i v e 3 0 1 - 9 8 3 - 9 7 7 1 ( S u p p o r t ) B B S : 4 1 4 - 7 8 9 - 4 2 1 0 ³³ P o t o m a c , M D 2 0 8 5 4 U S A + 4 4 - 1 7 6 7 - 2 6 0 - 9 0 3 ( U K ) I n t e r n e t : ³³ 0 - 4 0 8 9 9 6 8 4 - 0 ( G D R ) o r d e r s @ e p i c g a m e s . c o m ³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||||
Binary file not shown.
@@ -0,0 +1,52 @@
|
||||
[MODEMS]
|
||||
|
||||
Data
|
||||
"Standard 9600 Baud Modem,9600,AT &F &C1 &D2 &Q5 &K0 S46=0",
|
||||
"Standard 14.4 Baud Modem,14400,AT &F &C1 &D2 &Q5 &K0 S46=0",
|
||||
"Acubit 14.4 fax v32,14400,AT &F &C1 &D2 %C0 \N1",
|
||||
"AT&T Data Port 14.4 FaxModem,14400,AT &F &C1 &D2 S41=3 \N0 %C0",
|
||||
"Boca 14.4 fax,14400,AT &F &C1 &D2 \N0 \G0 &K0 %C0 N0",
|
||||
"Cardinal 14.4 v32,14400,AT &F &C1 &D2 N0",
|
||||
"Cardinal 9600fax,14400,AT &F &C1 &D2 &Q6 &K0 %C0 \N0 N0",
|
||||
"Digicom Scout Plus 14.4 Fax,14400,AT &F &C1 &D2 *M0 *E0",
|
||||
"Gateway Telepath 14.4 fax,14400,AT &F &C1 &D2 B0 N0 \N0 %C0 &K0",
|
||||
"Gateway Telepath 550,14400,AT &F &C1 &D2 S27=32 S15=16 S13=64 &B0 &H2 &I1 &K0 &M0",
|
||||
"GVC 14.4 fax,14400,AT &F &C1 &D2 S46=0 N0 &K0",
|
||||
"GVC 14.4 MNP2-5 v42,14400,AT &F &C1 &D2 %C0 \N0 B8",
|
||||
"Hayes Optima 14.4 #1,14400,AT &F &C1 &D2 \N0",
|
||||
"Hayes Optima 14.4 #2,14400,AT &F &C1 &D2 S46=0 N0 &K0",
|
||||
"Hayes Optima 28.8,28800,AT &F &C1 &D2 &K0 &M0 &Q5 S46=136",
|
||||
"Hayes Ultra 14.4,14400,AT &F &C1 &D2 &Q5 &K0",
|
||||
"Identity Internal,14400,AT &F &C1 &D2 B8 %C0 \Q0 \N1",
|
||||
"Infotel 14.4,14400,AT &F &C1 &D2 &Q6 %C0 N0 &K0",
|
||||
"Intel 14.4,14400,AT &F &C1 &D2 \N0 \Q0 \J1 \V0",
|
||||
"Intel 14.4 ext,14400,AT &F &C1 &D2 \N0 /Q0",
|
||||
"Intel 14.4 fax,14400,AT &F N0 &D2 &C1 &Q6 &K0 S0=1",
|
||||
"Intel 14.4i,14400,AT &F &C1 &D2 B8 %C0 H0 \N0 \Q0",
|
||||
"Intel 14.4i fax,14400,AT &F &C1 &D2 \N0 \Q0",
|
||||
"MegaHertz C596FM,14400,AT &F &C1 &D2 \N1 \J0 %C0",
|
||||
"Rockwell 14400,14400,AT &F &C1 &D2 N0 S46=0 &K0 %C0",
|
||||
"Practical Perip 14.4FX v32,14400,AT &F &C1 &D2 &K0 &Q5 S46=0",
|
||||
"Redicard v.32 bis 14.4,14400,AT &F &C1 &D2 %C \N",
|
||||
"Smart One 1442F,14400,AT &F &C1 &D2 %C0 &K0 S95=44 S46=0",
|
||||
"SupraFax 14.4,14400,AT &F &C1 &D2 &Q6 &K %C0 \N1 S37=6 S0=1",
|
||||
"SupraFax 14.4 v32,14400,AT &F &C1 &D2 S46=136 %C0",
|
||||
"SupraFax 14.4 v32-,14400,AT &F &C1 &D2 S46=136 M1 Q0 D2",
|
||||
"Telebit Worldblazer 14.4,14400,AT &F &C1 &D2 S51=4 S180=0 S183=8 S190=0 L1",
|
||||
"Telepath 550,14400,AT &F &C1 &D2 &M0 &K0 S0=1",
|
||||
"USR Sportster 14.4 v32 fax,14400,AT &F &A0 &B1 &C1 &D2 &M0 &H0 &I0 &K0 S27=48",
|
||||
"USRobotics 14.4 fax,14400,AT &F &A0 &B1 &C1 &D2 &M0 &H0 &I0 &K0 S27=48",
|
||||
"USRobotics 14.4 v32 fax,14400,AT &F &A0 &B1 &C1 &D2 &M0 &H0 &I0 &K0 S27=48",
|
||||
"USRobotics Sportster 14.4,14400,AT &F &A0 &B1 &C1 &D2 &M0 &H0 &I0 &K0 S27=48",
|
||||
"Viva 14.4,14400,AT &F &C1 &D2 \N0",
|
||||
"Viva 14.4i fax,14400,AT &F &C1 &D2 \N0 \Q0 \J1 \VI",
|
||||
"VivaFax 14.4,14400,AT &F &C1 &D2 N0 \N1 %C0 &K0",
|
||||
"VivaFax 14.4,14400,AT &F &C1 &D2 \Q0 &M0 %C0 B8 \N1",
|
||||
"ZOOM 14.4,14400,AT &F &C1 &D2 &K0 &Q6 %C0 \G0 \N0 S46=136",
|
||||
"ZOOM 14.4 v32 v42 fax,14400,AT &F &C1 &D2 &K0 &Q6 %C0 \G0 \N0 S46=136",
|
||||
"ZOOM VFP 14.4,14400,AT &F &C1 &D2 &K0 &Q6 %C0 \G0 \N0 S46=136",
|
||||
"ZOOM VFX v32,14400,AT &F &C1 &D2 &K0 &Q6 %C0 \G0 \N0 S46=136",
|
||||
"ZOOM VXP 14.4 v42,14400,AT &F &C1 &D2 &K0 &Q6 %C0 \G0 \N0 S46=136",
|
||||
"Zoomfax VFP v32,14400,AT &F &C1 &D2 &K0 &Q6 %C0 \G0 \N0 S46=136",
|
||||
"ZyXel 14.4,14400,AT &F &C1 &D2 \N0",
|
||||
"ZyXEL U-1496 14.4,14400,AT &F &C1 &D2 S46=0 &K0"
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,6 @@
|
||||
[INFO]
|
||||
NETTYPE="4"
|
||||
MODEMPHONE=""
|
||||
LANGUAGE="English"
|
||||
LANG="1"
|
||||
LNG="INT"
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 766 B |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+3
-3
@@ -588,13 +588,13 @@ files:
|
||||
source_ref: "upstream src/burn/drv/pgm/d_pgm.cpp:887"
|
||||
|
||||
- name: "svg_bios.u49"
|
||||
archive: pgm.zip
|
||||
archive: svgpcb.zip
|
||||
system: igs-pgm
|
||||
required: false
|
||||
size: 131072
|
||||
crc32: "3346401f"
|
||||
note: "68K BIOS V0001 custom (05/13/05) for SVG PCB"
|
||||
source_ref: "upstream src/burn/drv/pgm/d_pgm.cpp:928"
|
||||
note: "68K BIOS V0001 custom (05/13/05) for SVG PCB, in the svgpcb ROM list"
|
||||
source_ref: "upstream src/burn/drv/pgm/d_pgm.cpp:928, 7035"
|
||||
|
||||
# -------------------------------------------------------
|
||||
# Capcom CPS-3 (per-game BIOS, no shared archive)
|
||||
|
||||
@@ -70,6 +70,9 @@ NODEDUP_DIRS = {
|
||||
# MAME's support trees (hash, plugins) are read by path as a whole, and
|
||||
# two MAME versions share most of their software lists byte for byte.
|
||||
"mame",
|
||||
# The Tyrian 2.1 distribution ships netset.pcx and tyrset.pcx with the
|
||||
# same bytes, and EmuELEC places both names under ports/opentyrian/.
|
||||
"opentyrian",
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -20,9 +20,12 @@ REPO_ROOT = Path(__file__).resolve().parents[1]
|
||||
sys.path.insert(0, str(REPO_ROOT / "scripts"))
|
||||
|
||||
# Sets whose archive also carries the ROMs of devices the machine references
|
||||
# (listxml device_ref): the NAOMI boards pull the JVS I/O board and the Maple
|
||||
# interface, and MAME finds those ROMs in the machine's own archive too.
|
||||
# (listxml device_ref). A device looks for its ROMs under its own name, then
|
||||
# under the system's (device_t::searchpath, src/emu/device.cpp:140-152), so
|
||||
# MAME finds them in the machine's own archive too. A device set is not a
|
||||
# system: the devices it holds are never looked for in its archive.
|
||||
DEVICE_ROMS = {
|
||||
# NAOMI boards: the JVS I/O board and the Maple interface
|
||||
"airlbios.zip": ("jvs13551.zip", "mie.zip"),
|
||||
"f355bios.zip": ("jvs13551.zip", "mie.zip"),
|
||||
"f355dlx.zip": ("jvs13551.zip", "mie.zip"),
|
||||
@@ -30,18 +33,41 @@ DEVICE_ROMS = {
|
||||
"naomi.zip": ("jvs13551.zip", "mie.zip"),
|
||||
"naomi2.zip": ("jvs13551.zip", "mie.zip"),
|
||||
"naomigd.zip": ("jvs13551.zip", "mie.zip"),
|
||||
# Teletext character ROM: SAA5050 in bbcmet (acorn/bbcm.cpp:701), which
|
||||
# bbcm builds on (line 764)
|
||||
"bbcm.zip": ("saa5050.zip",),
|
||||
# DragonDOS, the default cartridge (trs/dragon.cpp:544, 562)
|
||||
"dragon32.zip": ("dragon_fdc.zip",),
|
||||
"dragon64.zip": ("dragon_fdc.zip",),
|
||||
# PC-80S31 disk unit (nec/pc6001.cpp:1644 through pc6601_fdc_config,
|
||||
# nec/pc8001.cpp:1257)
|
||||
"pc6001mk2sr.zip": ("pc80s31.zip",),
|
||||
"pc8001mk2sr.zip": ("pc80s31.zip",),
|
||||
}
|
||||
|
||||
# Archives that share a set name without being that set.
|
||||
NOT_ROMSETS = {"samples", "artwork"}
|
||||
|
||||
# The defect added whole slot-option trees, dozens of members at a time.
|
||||
MIN_EXTRA = 3
|
||||
MIN_EXTRA = 1
|
||||
|
||||
# Kept as they are: rewriting them would drop bytes the collection holds
|
||||
# nowhere else, and no recipe names the set those bytes belong to.
|
||||
# nowhere else, or they are another emulator's archive under a MAME set name.
|
||||
KEPT = {
|
||||
"bios/Acorn/BBC Micro/.variants/bbcb.zip": "zdfs-0.90.rom is held only here",
|
||||
"bios/Acorn/BBC Micro/.variants/bbcb.zip": (
|
||||
"MAME 0.150's bbcb loads its DFS ROMs from the machine archive "
|
||||
"(src/mess/drivers/bbc.c ROM_START(bbcb)), older than every imported "
|
||||
"listxml; zdfs-0.90.rom is held only here"
|
||||
),
|
||||
"bios/Arcade/Arcade/.variants/cvs.zip.3c69f366": (
|
||||
"the 2001 mame.dk distribution of cvs.zip; its cvs.txt is held only here"
|
||||
),
|
||||
"bios/Mattel/Aquarius/.variants/aquarius_ar.zip.73026a45": (
|
||||
"a platform pack copy; its TMCTV.png is held only here"
|
||||
),
|
||||
"bios/Sega/Dreamcast/dc.zip": (
|
||||
"RetroBat's dc/dc.zip holds dc_boot.bin and dc_flash.bin, the names the "
|
||||
"Dreamcast BIOS goes by outside MAME, not MAME's dc set"
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
"""A platform's coverage does not depend on which data caches are on disk.
|
||||
|
||||
EmuELEC declares 19 files of the Tyrian 2.1 distribution that bios/ did not
|
||||
hold (setup.ini, netterm.int...). They resolved only through data/opentyrian,
|
||||
the cache refresh_data_dirs.py fills from a release asset, so verify gave
|
||||
544/572 in a checkout with that cache and 525/572 in a fresh worktree, for the
|
||||
same commit. A file a platform declares is collected in bios/; a data
|
||||
directory cache is not a collection.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
import sys
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
|
||||
REPO_ROOT = Path(__file__).resolve().parents[1]
|
||||
sys.path.insert(0, str(REPO_ROOT / "scripts"))
|
||||
|
||||
|
||||
class DeclaredFilesResolveWithoutDataCaches(unittest.TestCase):
|
||||
def test_no_platform_entry_rests_on_a_data_directory_cache(self):
|
||||
from common import ( # noqa: PLC0415
|
||||
build_zip_contents_index,
|
||||
list_registered_platforms,
|
||||
load_data_dir_registry,
|
||||
load_database,
|
||||
load_platform_config,
|
||||
)
|
||||
from packresolve import resolve_declaration # noqa: PLC0415
|
||||
|
||||
platforms_dir = REPO_ROOT / "platforms"
|
||||
registry = load_data_dir_registry(str(platforms_dir))
|
||||
caches = [
|
||||
entry["local_cache"] for entry in registry.values()
|
||||
if (REPO_ROOT / entry.get("local_cache", "")).is_dir()
|
||||
]
|
||||
if not caches or not (REPO_ROOT / "database.json").is_file():
|
||||
self.skipTest("no data directory cache on disk (refresh_data_dirs.py fills them)")
|
||||
|
||||
cwd = os.getcwd()
|
||||
os.chdir(REPO_ROOT)
|
||||
try:
|
||||
db = load_database("database.json")
|
||||
zip_contents = build_zip_contents_index(db)
|
||||
offenders = []
|
||||
for platform in list_registered_platforms(str(platforms_dir), include_archived=True):
|
||||
config = load_platform_config(platform, str(platforms_dir))
|
||||
for sys_id, system in config.get("systems", {}).items():
|
||||
for entry in system.get("files", []) or []:
|
||||
path, status = resolve_declaration(
|
||||
entry, db, "bios", zip_contents, registry, None, offline=True,
|
||||
)
|
||||
if status.startswith("data_dir"):
|
||||
offenders.append(f"{platform} {sys_id} {entry.get('name')}: {path}")
|
||||
finally:
|
||||
os.chdir(cwd)
|
||||
self.assertEqual(offenders, [], "\n".join(offenders))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
+1
-1
@@ -678,7 +678,7 @@ python scripts/refresh_stale.py --only platforms,targets --jobs 6
|
||||
| Script | Purpose |
|
||||
|--------|---------|
|
||||
| `common.py` | Shared library: hash computation, file resolution, platform config loading, emulator profiles, target filtering |
|
||||
| `dedup.py` | Deduplicate `bios/` (`--dry-run`, `--bios-dir`): byte-identical copies are deleted and one kept. Identical MAME sets under other names stay one file, named in `_mame_clones.json`. Trees addressed by path are left alone (`NODEDUP_DIRS`): BBK, Bungie, C-Dogs SDL, Ikemen GO, PinMAME, RPG Maker, ScummVM, Softdisk, TheXTech, splitwolf, Theme Hospital, c64-emu, tzdata |
|
||||
| `dedup.py` | Deduplicate `bios/` (`--dry-run`, `--bios-dir`): byte-identical copies are deleted and one kept. Identical MAME sets under other names stay one file, named in `_mame_clones.json`. Trees addressed by path are left alone (`NODEDUP_DIRS`): BBK, Bungie, C-Dogs SDL, Ikemen GO, PinMAME, RPG Maker, ScummVM, Softdisk, TheXTech, splitwolf, Theme Hospital, c64-emu, opentyrian, tzdata |
|
||||
| `identity.py` | One content filed under two identities: groups `bios/` by content and reports a group that crosses manufacturers outside `KNOWN_SHARED` (`--strict` exits 1, pipeline step 3a) |
|
||||
| `slots.py` | Destinations the platform and a core both claim, and how the pack settles each (`--platform`, `--include-archived`, `--target`, `--json`, `--strict`, and pipeline step 3b passes the run's own `--include-archived` and `--target`) |
|
||||
| `region_audit.py` | Confront every profile `region:` with the regions No-Intro names for the same dump (`--json`, `--db`, `--emulators-dir`). An opinion, never an authority: the code decides, and a disagreement is a line to read in the emulator's source |
|
||||
|
||||
Reference in new issue
Block a user