• exec/load/syncretro_getroms.js xtrn/syncnes/getroms.jsxtrn/syncnes/REA

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Sat Jul 11 04:50:47 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/65be20ce4bec2bb48b7d4777
    Added Files:
    exec/load/syncretro_getroms.js xtrn/syncnes/getroms.js
    Modified Files:
    xtrn/syncnes/README.md install-xtrn.ini
    Log Message:
    syncnes: fetch free homebrew, so a fresh install has games in it

    SyncDOOM offers Freedoom and SyncDuke the shareware GRP. The NES door had nothing: a sysop who installed it got a lobby with no cartridges in it,
    and no legal way to fix that from us.

    There is free NES homebrew, and some of it is very good -- the Mojon
    Twins' platformers (Sir Ababol, Sgt. Helmet, Super Uwol, Jet Paco, Cheril
    the Goddess, Yun, Lala the Magical...), NovaSquirrel's Nova the Squirrel
    and Double Action Blaster Guys, Damian Yerrick's Thwaite, Concentration
    Room and RobotFindsKitten, and a handful of MIT-licensed arcade games. getroms.js installs 22 of them, about 1.5 MB, prompted by install-xtrn.

    WHAT IS ON THE LIST IS DECIDED BY THE AUTHOR'S LICENCE, NOT BY WHERE THE
    FILE IS HOSTED. Each game listed carries an explicit free licence from its author -- LGPL, GPL, MIT, zlib, or Creative Commons -- checked by hand,
    one at a time. Of the 82 games in the collection two of these come from,
    61 state NO licence at all, which means ordinary copyright: those are not fetched, and the collection's own note asks that they not be redistributed elsewhere. Being downloadable is not a licence. The four CC BY-NC-SA
    titles are non-commercial, which the README says plainly.

    Every ROM is PINNED -- url, size, md5 -- and verified after download; a
    file that no longer matches is rejected rather than installed under a
    licence that was checked against different bytes. Nothing asks an API what
    the latest release is: GitHub's unauthenticated API allows 60 calls an
    hour and then refuses, which would fail an install for a reason the sysop
    can neither see nor fix.

    Idempotent and non-fatal, as getcore.js and getwads.js are: a ROM already present is left alone, a ROM the sysop EDITED is never clobbered, and a
    failed download never aborts an install -- the door runs perfectly well on
    the sysop's own cartridges.

    The downloader itself is shared (exec/load/syncretro_getroms.js); only the table is the console's, so the Intellivision can have one when someone
    curates its homebrew.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net