• xtrn/syncarcade/README.md

    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/8d453c6c0fa09c578975b080
    Added Files:
    xtrn/syncarcade/README.md getcore.js install-xtrn.ini lobby.js names.json syncretro.example.ini
    Log Message:
    xtrn/syncarcade: arcade cabinets as a SyncRetro console (MAME 2003-Plus)

    A third SyncRetro console, and -- as M3_MULTICORE.md predicted for a plain gamepad machine -- it needed no C of its own: an arcade control panel is a stick, a coin slot and a start button, which IS a RetroPad. Coin on
    Backspace (SELECT), start on Enter (START), joystick on WASD/arrows.

    The core was chosen by measurement, not reputation. Probed against MAME 2010 (MAME 0.139) as well:

    - MAME 2003-Plus hands vertical games over UPRIGHT (Pac-Man, Galaga, Dig
    Dug, Donkey Kong all 224x288 portrait, SET_ROTATION 0), so the door needs
    no rotate path at all; MAME 2010 hands the same games over SIDEWAYS and
    asks the frontend for 270 degrees;
    - 270 romsets loaded on 2003-Plus with zero crashes, against a reproducible
    access violation in 2010 (stack entirely inside the core);
    - 2010 also fails a forward-slash content path on Windows;
    - 2003-Plus saves high scores natively and simulates a 4-way stick, both of
    which this door wants; 2010 does neither and has no save states.

    MAME 0.139 has more drivers, but what it adds over 0.78 is overwhelmingly
    1990s titles -- exactly what a terminal cannot serve. Of 216 romsets that loaded, 208 are under 200k pixels a frame and half are Pac-Man sized; the
    only ones above are vector games (Battlezone, Tempest at 1024x768), which
    want a spinner besides and are called out in the ini as things to hide.

    Ships shared_saves (the score you set is the score the next caller has to beat), a names.json of 34 classics so the picker reads "Ms. Pac-Man" rather than "mspacman", and an [options] section pinning skip_disclaimer and skip_warnings so a player is not made to sit through MAME's legal screens.

    Romsets are the sysop's, unshipped, and version-specific: 2003-Plus is built
    on MAME 0.78 and a newer set partly mismatches (216 of 272 loaded from a 2011-era collection). README.md documents which failures a romset manager
    can rebuild and which are simply games 0.78 never had.

    The core's licence is the MAME licence, not the GPL, and restricts
    commercial redistribution -- getcore.js downloads it at the sysop's
    prompting rather than anything here redistributing it.
    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • 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/e81fb58e5d5e2b5b2cbb3f9c
    Modified Files:
    xtrn/syncarcade/README.md
    Log Message:
    xtrn/syncarcade: warn that pruning a parent romset breaks its clones

    Hiding a romset by moving it out of roms/ looks like housekeeping and is a trap: a clone loads its graphics ROMs and PROMs out of its PARENT's zip, and the parent is frequently the entry that looks most redundant. Moving puckman.zip aside -- "Pac-Man (Japan)" and "Pac-Man" being obviously the same game -- silently breaks pacman.zip, which is the Midway clone of it. MAME does not search sub-directories of the ROM path either, so relegating one to a sub-directory is exactly as fatal as deleting it.

    Nothing can warn about this at run time: the parent/clone relationship is in MAME's driver tables, invisible to both the lobby and the door, so the game stays in the picker and the player is told only that the content is wrong for this core.

    Document [roms] exclude as the way to drop a menu entry while leaving the file where MAME can still reach it, and cross-reference it from the romsets section. ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • 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/2c2f8a8b29bac2702a96b8fa
    Modified Files:
    xtrn/syncarcade/README.md
    Log Message:
    xtrn/syncarcade: record the measured dirty-rect hit rate

    Measured in active play over SyncTERM: 80-90% of frames patched rather than repainted on Pac-Man and Frogger, 20-30% on Galaga. The spread is the games and not a defect -- a static maze with a few sprites crossing it is the best case, while Galaga moves an entire formation at once and most of its frames correctly fall back to a whole frame.

    Worth having written down: "it depends on the game" is unfalsifiable, and these two numbers give the next person a range to sanity-check a change against.
    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net