wolf: fix TI-99/4A console ROM location + add it via a tab-completing prompt

The build succeeded, but the follow-up message pointed at "ti99sim-sdl's
own README" for where the console ROM goes — useless, since that source
tree lived inside the throwaway build container and was already gone by
the time anyone could read it.

Got the real answer from RetroPie's own configure_ti99sim(): it symlinks
the console ROM into the emulator's own install directory, then cd's
there before launching (pushd "$md_inst" && ./ti99sim-sdl "$@") — so
ti99sim-sdl finds it via a plain relative lookup, not any search path.
Caught a real bug this exposed: our own ES-DE <command> line launched
ti99sim-sdl by full path with no cd, so even a correctly-placed file
would never have been found. Fixed to cd into emulators/ first, matching
RetroPie's own pattern exactly.

Also, instead of just printing the required path (emulators/TI-994A.ctg)
and leaving it at that, now prompts for it directly with a tab-completing
path picker (read -e -i, defaulting into the game storage dir) — if you
already have the file somewhere, it copies it into place immediately
instead of making you do it by hand afterward.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VLX1yYKJExGSXmgUhxKQG6
This commit is contained in:
Claude
2026-09-02 19:11:13 +00:00
parent e965c2bd76
commit 2e7e073b63
+38 -8
View File
@@ -976,7 +976,7 @@ UDEV
<fullname>Texas Instruments TI-99/4A</fullname> <fullname>Texas Instruments TI-99/4A</fullname>
<path>%ROMPATH%/ti994a</path> <path>%ROMPATH%/ti994a</path>
<extension>.ctg .rpk .bin</extension> <extension>.ctg .rpk .bin</extension>
<command>%INJECT%=%BASENAME%.esprefix /home/retro/Applications/ti99sim-sdl --joystick1=1 %ROM%</command> <command>%INJECT%=%BASENAME%.esprefix /bin/bash -c "cd /home/retro/Applications && ./ti99sim-sdl --joystick1=1 '%ROM%'"</command>
<platform>ti99</platform> <platform>ti99</platform>
<theme>ti99</theme> <theme>ti99</theme>
</system> </system>
@@ -1044,9 +1044,33 @@ XMLEOF
else else
log_info "ti99sim-sdl already present — skipping build." log_info "ti99sim-sdl already present — skipping build."
fi fi
log_info "The one thing this can't do for you: your own TI-99/4A console ROM + GROM dump" # The one thing that can't be automated: the console ROM+GROM dump
log_info "(real console firmware, same legal situation as any other BIOS) — ti99sim-sdl's" # itself (real copyrighted firmware). Per RetroPie's own
log_info "own README covers exactly where it expects that once you have it." # configure_ti99sim() — it symlinks this into the emulator's own
# install dir, then cd's there before launching — ti99sim-sdl looks
# for it as a plain relative file named TI-994A.ctg in the same
# directory the binary itself runs from, i.e. emulators/ here (the
# command line above now cd's into that directory first, matching
# RetroPie's own pushd + relative-launch pattern exactly).
local _TI99_BIOS_DST="$GAME_STORAGE_DIR/emulators/TI-994A.ctg"
if [ ! -f "$_TI99_BIOS_DST" ]; then
echo ""
log_info "TI-99/4A needs your own console ROM+GROM dump, named exactly TI-994A.ctg"
log_info "(case-sensitive), placed at: $_TI99_BIOS_DST"
if [ "$UNATTENDED" != true ]; then
local _TI99_BIOS_SRC=""
read -e -r -p " If you already have that file somewhere, enter its path now to copy it into place (Tab completes, Enter to skip): " -i "$GAME_STORAGE_DIR/" _TI99_BIOS_SRC
if [ -n "$_TI99_BIOS_SRC" ] && [ -f "$_TI99_BIOS_SRC" ]; then
cp "$_TI99_BIOS_SRC" "$_TI99_BIOS_DST"
chown "$ACTUAL_USER:$ACTUAL_USER" "$_TI99_BIOS_DST"
log_success "Copied to $_TI99_BIOS_DST"
elif [ -n "$_TI99_BIOS_SRC" ]; then
log_warning "No file found at that path — skipped. Copy it to $_TI99_BIOS_DST whenever you have it."
else
log_info "Skipped — copy it to $_TI99_BIOS_DST whenever you have it."
fi
fi
fi
log_info "Then just drop .ctg/.rpk/.bin cartridge files into roms/ti994a/" log_info "Then just drop .ctg/.rpk/.bin cartridge files into roms/ti994a/"
fi fi
@@ -3538,10 +3562,16 @@ if the binary's already there.
The one thing this can't do for you: your own TI-99/4A console ROM + GROM The one thing this can't do for you: your own TI-99/4A console ROM + GROM
dump — same legal situation as any other console BIOS, and not something dump — same legal situation as any other console BIOS, and not something
any installer can supply. Per RetroPie's own documentation for this exact any installer can supply. It needs to be named exactly \`TI-994A.ctg\`
emulator, it expects that combined into a single cartridge file named (case-sensitive) and placed at \`emulators/TI-994A.ctg\` — the same
\`TI-994A.ctg\` (case-sensitive). Then just drop \`.ctg\`/\`.rpk\`/\`.bin\` directory as the \`ti99sim-sdl\` binary itself, confirmed against
cartridge files into \`roms/ti994a/\`. RetroPie's own \`ti99sim.sh\` (it symlinks the console ROM into the
emulator's install dir, then \`cd\`s there before launching; this repo's
own ES-DE command line does the same \`cd\`-first-then-relative-launch
before running \`ti99sim-sdl\`). If you already had the file somewhere
when the TI-99/4A prompt ran, the installer offered to copy it there for
you (tab-completing path prompt); otherwise copy it there by hand. Then
just drop \`.ctg\`/\`.rpk\`/\`.bin\` cartridge files into \`roms/ti994a/\`.
## MAME: sample packs showing up as games ## MAME: sample packs showing up as games
MAME sample packs (audio for a handful of older analog-sound games) use the MAME sample packs (audio for a handful of older analog-sound games) use the