diff --git a/services/wolf.sh b/services/wolf.sh index 3d21cc2..261860a 100644 --- a/services/wolf.sh +++ b/services/wolf.sh @@ -976,7 +976,7 @@ UDEV Texas Instruments TI-99/4A %ROMPATH%/ti994a .ctg .rpk .bin - %INJECT%=%BASENAME%.esprefix /home/retro/Applications/ti99sim-sdl --joystick1=1 %ROM% + %INJECT%=%BASENAME%.esprefix /bin/bash -c "cd /home/retro/Applications && ./ti99sim-sdl --joystick1=1 '%ROM%'" ti99 ti99 @@ -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