diff --git a/harness/mame/README.md b/harness/mame/README.md index 49797f3..90c21ad 100644 --- a/harness/mame/README.md +++ b/harness/mame/README.md @@ -22,10 +22,15 @@ are written down rather than assumed. knowing why this keeps happening: `scn2681.cpp` **does not exist** (the SCN2681 lives in `mc68681.*`), so a search for it walks the entire disk before giving up. -2. **Stage only your own paths.** `git add […]` — never `git add -A`, - never `git commit -a`. Several workers share this repository at once, and a `-A` - sweeps someone else's in-flight files into your commit. That happened twice in one - day. If it happens, unstage and `git commit --amend`, and say so. +2. **Stage only your own paths — and do not edit a file someone else is holding.** + `git add […]` — never `git add -A`, never `git commit -a`. Several + people and workers share this repository at once, and a `-A` sweeps someone else's + in-flight files into your commit. That happened twice in one day, and then a third + time because the *orchestrator* edited this very README while a worker held it — so + note that an **uncommitted** edit of yours can be swept into someone else's commit + just as easily as an unstaged file. If you are about to touch a file another worker + owns, don't: say what you want changed instead. If a collision does happen, unstage, + `git commit --amend`, and say so. 3. **One sample is not evidence.** "It never paints", "the driver only models 256 KiB of RAM", and "it is stuck" were all *wrong*, and all three came from a single @@ -42,8 +47,9 @@ are written down rather than assumed. 5. **Do not fake it.** No responder that feeds the firmware the answer a test wants. Where a real device is unknown, model what the documentation actually supports and **report the gap**; where a stand-in is genuinely unavoidable, make it **opt-in and - name it for what it is** — see `VT1200_IO_PATH_STUB` and `VT1200_SKIP_LEVEL1`, both - of which are documented divergences, not quiet assumptions. And the **ROM stays + name it for what it is** — see the **divergences table** above: `VT1200_IO_PATH_STUB`, + `VT1200_SKIP_LEVEL1`, and the tablet default are all documented divergences, not + quiet assumptions. And the **ROM stays byte-identical** (`md5 b46a3e442ccb86134d2356bd70d22fd2`): patch at runtime if you must, never the file. diff --git a/harness/mame/run.sh b/harness/mame/run.sh index 2bc936f..41c84dc 100755 --- a/harness/mame/run.sh +++ b/harness/mame/run.sh @@ -62,9 +62,9 @@ if [ $# -gt 0 ]; then shift; fi usage() { awk 'NR>1 && /^set -euo pipefail/{exit} NR>1{print}' "$0"; } # common: correct rompath, no sound (the driver has no audio), no licence screen. -# The lightgun options give MAME an absolute host pointer for the VSXXX-AB tablet -# (VT1200_TABLET=1); they are harmless when the tablet is not selected, and they do -# NOT grab the pointer. +# The lightgun options give MAME an absolute host pointer, which the DEFAULT VSXXX-AB +# tablet needs and the VSXXX-AA mouse (VT1200_MOUSE=1) also uses to follow the host. +# They are harmless either way, and they do NOT grab the pointer. COMMON=(-rompath "$ROMPATH" -sound none -skip_gameinfo -lightgun -lightgun_device mouse) case "$MODE" in