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:
+38
-8
@@ -976,7 +976,7 @@ UDEV
|
||||
<fullname>Texas Instruments TI-99/4A</fullname>
|
||||
<path>%ROMPATH%/ti994a</path>
|
||||
<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>
|
||||
<theme>ti99</theme>
|
||||
</system>
|
||||
@@ -1044,9 +1044,33 @@ XMLEOF
|
||||
else
|
||||
log_info "ti99sim-sdl already present — skipping build."
|
||||
fi
|
||||
log_info "The one thing this can't do for you: your own TI-99/4A console ROM + GROM dump"
|
||||
log_info "(real console firmware, same legal situation as any other BIOS) — ti99sim-sdl's"
|
||||
log_info "own README covers exactly where it expects that once you have it."
|
||||
# The one thing that can't be automated: the console ROM+GROM dump
|
||||
# itself (real copyrighted firmware). Per RetroPie's own
|
||||
# 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/"
|
||||
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
|
||||
dump — same legal situation as any other console BIOS, and not something
|
||||
any installer can supply. Per RetroPie's own documentation for this exact
|
||||
emulator, it expects that combined into a single cartridge file named
|
||||
\`TI-994A.ctg\` (case-sensitive). Then just drop \`.ctg\`/\`.rpk\`/\`.bin\`
|
||||
cartridge files into \`roms/ti994a/\`.
|
||||
any installer can supply. It needs to be named exactly \`TI-994A.ctg\`
|
||||
(case-sensitive) and placed at \`emulators/TI-994A.ctg\` — the same
|
||||
directory as the \`ti99sim-sdl\` binary itself, confirmed against
|
||||
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 (audio for a handful of older analog-sound games) use the
|
||||
|
||||
Reference in New Issue
Block a user