2026-08-15 21:26:42 +02:00
2026-08-15 21:26:42 +02:00
2026-08-15 21:26:42 +02:00
2026-08-15 21:26:42 +02:00

ttg-batocera-store — the Teletype Games store for Batocera

Puts the https://teletypegames.org catalog into a Batocera box's ROM folders, with EmulationStation metadata and box art. Triggered from the Ports menu on the device, or from the CLI over SSH.

This repository is only the store definition — config.json plus a wrapper installer. All the logic lives in the shared engine, warp-engine-batocera-store, which works with any WarpEngine-based site; this is just the Teletype Games configuration of it.

Install

Straight onto the device:

curl -fsSL https://git.teletypegames.org/tools/ttg-batocera-store/raw/branch/master/install.sh | bash

Or from a checkout of this repo:

scp -r ttg-batocera-store root@batocera:/tmp/
ssh root@batocera /tmp/ttg-batocera-store/install.sh

The installer fetches the engine, drops it and this config in /userdata/system/batocera-store/ttg/, writes the ttg-store launcher and the Teletype Games Store Ports entry, and runs the first sync. Restart EmulationStation (batocera-es-swissknife --restart) to see the games.

Use

On the device. Ports ▸ Teletype Games Store. It downloads anything new, then restarts EmulationStation. Ports scripts get no console in Batocera, so the output goes to /userdata/system/batocera-store/ttg/store.log.

Over SSH.

S=/userdata/system/batocera-store/ttg-store

$S list                 # compatible catalog entries; * installed, ^ update available
$S sync                 # download everything new, refresh gamelists
$S sync blessingofra    # just one title (never prunes)
$S -n sync              # dry run
$S remove c64demo       # uninstall
$S config               # effective configuration

Global flags go before the subcommand: $S --roms-root /tmp/roms sync.

What this store installs

Catalog platform Asset kind Batocera system Extension
c64 cartridge c64 (VICE) .prg
tic80 cartridge tic80 .tic

Statuses released and archived, whole catalog, no owner filter. Everything lands under the teletypegames/ subfolder of each system, so a prune can never reach ROMs you put there yourself. To change any of it, edit /userdata/system/batocera-store/ttg/config.json on the box — the full key reference is in the engine's README.

Where things land

/userdata/system/batocera-store/
├── ttg-store                            launcher
└── ttg/
    ├── store.py, config.json
    └── state.json, catalog.json, store.log

/userdata/roms/c64/teletypegames/        blessingofra-2.0.0.prg, rabbit-1.0.0.prg, …
/userdata/roms/c64/teletypegames/images/ blessingofra.png, …
/userdata/roms/c64/gamelist.xml          our entries merged in
/userdata/roms/ports/Teletype Games Store.sh

Upgrading from the pre-split batocera-store

The old repo installed everything into /userdata/system/ttg-store. Re-running the install command above migrates it: state.json is carried over, the old directory is renamed to ttg-store.pre-split, and the Ports entry is replaced in place. The ROMs themselves never move, so nothing is re-downloaded. Delete /userdata/system/ttg-store.pre-split once the new install looks right.

S
Description
No description provided
Readme
99 KiB
Languages
Shell 100%