Release basis: V34/V27 SCREEN4 graphics path, ASCII16-X 8 MiB ROM, MoonSound/OPL4.
Tested with openMSX 21, Philips NMS8250 + MoonSound, PAL timing.
5d8d92a647238674abba2ba7b7b2a33d2b4af72e5ac9146df5274261185b2eae.V35 is larger than V34. Two inherited RAM assumptions had to be corrected:
The second issue was the cause of the deterministic frame-1723 failure in an intermediate V35 build; the release build includes the fix and reaches the postlude correctly.
From SOURCE/:
python3 build_msx2_rom_v35_oxygen_musicloop.py
Python requires NumPy and SciPy. The builder uses only files included in SOURCE/ and produces:
ST_NICCC_MSX2_50FPS_V35_OXYGEN_MUSICLOOP_ASCII16X_8MB.rom
The generated ROM must match the SHA-256 in SHA256SUMS.txt.
INPUTS/ contains the original ST-NICC source archive and checknobankh.mod used by the project. AUDIO_SOURCE/ contains the 60-second semantic audio intermediate and EVT1 codec used when deriving the compact post-demo event assets. The release builder itself consumes the already-generated exact audio assets under SOURCE/.
WebMSX is pinned as the webmsx/ Git submodule. Clone with
git clone --recurse-submodules https://github.com/niekvlessert/st_niccc_msx2.git,
or run git submodule update --init --recursive after a normal clone.
.github/workflows/ci.yml verifies all three release ROM copies against the
release SHA-256, then packages the player, ROM, and WebMSX 6.0 embedded runtime.
Pull requests validate the artifact; pushes to main and manual runs on main
deploy it to GitHub Pages. In repository Settings → Pages, select GitHub Actions
as the publishing source. The expected URL is
https://niekvlessert.github.io/st_niccc_msx2/.
The player selects PAL MSX2 (MSX2E), forces the ASCII16X mapper, and enables
the OPL4 preset for MoonSound. Click the emulator to unlock browser audio.
The workflow publishes the verified release ROM; it does not rebuild the ROM.
To preview locally:
python3 scripts/build_pages.py
python3 -m http.server 8000 --directory _site
Open http://localhost:8000/. The old/ directory, Python bytecode, macOS metadata,
and generated _site/ files are excluded from Git.