• exec/load/syncretro_lib.j

    From Rob Swindell (on Windows@VERT to Git commit to main/sbbs/m on Tue Jul 21 01:41:00 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/c5cecef99b9c2feb4b50fe5c
    Modified Files:
    exec/load/syncretro_lib.js syncretro_lobby.js
    Log Message:
    syncretro lobby: shared saves, and display names for identifier ROMs

    Two facts an ARCADE console needs that a cartridge console does not, both
    added as console-spec data so nothing in the shared lobby learns which
    console it is running:

    shared_saves -- the save directory the door is handed. Per-user is right for
    a cartridge console: one player's battery save is not another's. An arcade cabinet is the opposite -- the high-score table is the whole point of the machine, and there is no per-player save to keep apart -- so every player
    gets one directory, under data_dir like the per-user one (both are generated run-time state). Default stays per-user, so the existing consoles are unchanged.

    names.json -- display titles keyed by ROM name. Every cartridge console
    names its files for humans ("Astrosmash (1981) (Mattel).rom"), so the title parser can read a title out of them. An arcade romset cannot be renamed at
    all: MAME finds the driver BY the zip's basename, so puckman.zip has to stay puckman.zip, and a picker showing filenames would list a screenful of eight-letter codes. A console with no names.json is completely unaffected -- the map is empty and the parser runs as before. Keys beginning with '_' are ignored, so the shipped file can carry its own comment (JSON has none).

    Also records, at the point where the door command line is built, that it
    lands in a BBS buffer which truncates silently at 260 characters and that
    the line already runs to ~240 -- so anything added there from now on has to
    buy its space from something else on it.
    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net