fix: keep stella kidvid tapes out of bios packs

This commit is contained in:
Abdessamad Derraz committed 2026-10-17 01:51:15 +02:00
1 parent f22d4dfda1
commit c14e3e90b1
3 files changed
+35 -2

No files matched your search

+9 -2
View File
@@ -19,8 +19,8 @@ notes: |
Game properties database (stella.pro) is compiled into DefProps.hxx; external
loading is disabled in the libretro port (stella/src/emucore/PropsSet.cxx:35). The core does not
call GET_SYSTEM_DIRECTORY. KidVid Voice Module audio tapes (7 WAV files) are
loaded via rfopen with relative filenames from the content directory
(stella/src/emucore/KidVid.cxx:166-185); absence is handled gracefully. EEPROM save data for
opened by rfopen with bare filenames, relative to the process working
directory (stella/src/emucore/KidVid.cxx:166-185); absence is handled gracefully. EEPROM save data for
AtariVox and SaveKey peripherals is managed as NVRAM, not user-supplied.
files:
@@ -28,41 +28,48 @@ files:
aliases: [KVS1.WAV]
description: "KidVid Voice Module audio tape 1 (Smurfs Save the Day)"
required: false
load_from: working_directory
category: game_data
source_ref: "stella/src/emucore/KidVid.cxx:167,182"
- name: kvs2.wav
aliases: [KVS2.WAV]
description: "KidVid Voice Module audio tape 2 (Smurfs Save the Day)"
required: false
load_from: working_directory
category: game_data
source_ref: "stella/src/emucore/KidVid.cxx:167,182"
- name: kvs3.wav
aliases: [KVS3.WAV]
description: "KidVid Voice Module audio tape 3 (Smurfs Save the Day)"
required: false
load_from: working_directory
category: game_data
source_ref: "stella/src/emucore/KidVid.cxx:167,182"
- name: kvb1.wav
aliases: [KVB1.WAV]
description: "KidVid Voice Module audio tape 1 (Berenstain Bears)"
required: false
load_from: working_directory
category: game_data
source_ref: "stella/src/emucore/KidVid.cxx:167,182"
- name: kvb2.wav
aliases: [KVB2.WAV]
description: "KidVid Voice Module audio tape 2 (Berenstain Bears)"
required: false
load_from: working_directory
category: game_data
source_ref: "stella/src/emucore/KidVid.cxx:167,182"
- name: kvb3.wav
aliases: [KVB3.WAV]
description: "KidVid Voice Module audio tape 3 (Berenstain Bears)"
required: false
load_from: working_directory
category: game_data
source_ref: "stella/src/emucore/KidVid.cxx:167,182"
- name: kvshared.wav
aliases: [KVSHARED.WAV]
description: "KidVid Voice Module shared audio samples"
required: false
load_from: working_directory
category: game_data
source_ref: "stella/src/emucore/KidVid.cxx:185"
+7
View File
@@ -41,35 +41,42 @@ files:
- name: KVS1.WAV
description: "KidVid Voice Module audio tape 1 (Smurfs Save the Day)"
required: false
load_from: content_dir
category: game_data
source_ref: "src/emucore/KidVid.cxx:245, src/emucore/KidVid.cxx:273"
- name: KVS2.WAV
description: "KidVid Voice Module audio tape 2 (Smurfs Save the Day)"
required: false
load_from: content_dir
category: game_data
source_ref: "src/emucore/KidVid.cxx:245, src/emucore/KidVid.cxx:273"
- name: KVS3.WAV
description: "KidVid Voice Module audio tape 3 (Smurfs Save the Day)"
required: false
load_from: content_dir
category: game_data
source_ref: "src/emucore/KidVid.cxx:245, src/emucore/KidVid.cxx:273"
- name: KVB1.WAV
description: "KidVid Voice Module audio tape 1 (Berenstain Bears)"
required: false
load_from: content_dir
category: game_data
source_ref: "src/emucore/KidVid.cxx:246, src/emucore/KidVid.cxx:273"
- name: KVB2.WAV
description: "KidVid Voice Module audio tape 2 (Berenstain Bears)"
required: false
load_from: content_dir
category: game_data
source_ref: "src/emucore/KidVid.cxx:246, src/emucore/KidVid.cxx:273"
- name: KVB3.WAV
description: "KidVid Voice Module audio tape 3 (Berenstain Bears)"
required: false
load_from: content_dir
category: game_data
source_ref: "src/emucore/KidVid.cxx:246, src/emucore/KidVid.cxx:273"
- name: KVSHARED.WAV
description: "KidVid Voice Module shared audio samples"
required: false
load_from: content_dir
category: game_data
source_ref: "src/emucore/KidVid.cxx:274"
+19
View File
@@ -2161,6 +2161,25 @@ class ContributorsSurviveAFailedRequest(unittest.TestCase):
)
class KidVidTapesStayWithTheContent(unittest.TestCase):
"""Stella opens its KidVid tapes by bare name (stella2014, from the
working directory) or from its base directory (stella2023, the content
folder): never the system directory. Without load_from every Linux pack
put about 68 MB of WAVs at the BIOS root, in two cases."""
def test_no_pack_places_them_in_the_system_directory(self):
from scripts.common import load_emulator_profiles
from scripts.validation import outside_gap_scope
profiles = load_emulator_profiles(str(ROOT / "emulators"))
for name in ("stella2014", "stella2023"):
tapes = [f for f in profiles[name]["files"]
if f["name"].lower().endswith(".wav")]
with self.subTest(profile=name):
self.assertEqual(len(tapes), 7)
self.assertTrue(all(outside_gap_scope(f, False) for f in tapes))
class ModuleConstantsDeclaredOnce(unittest.TestCase):
"""Splitting common.py into modules emitted some constants twice.