Skip to content

Upstream + Makoto + V9968 + mouse fixes + Flash save improvements - build 695 (2026-10-06)

Latest

Choose a tag to compare

@maxiwamoto maxiwamoto released this 06 Oct 19:52

Combined Windows x64 build with upstream openMSX master through def1b74 (October 6), V9968 + Makoto + the latest mouse capture fixes, and the fork's ROM/media reload, Flash persistence, development-state restore, and F12 power cycle.

The published October 2 Makoto engine and sound-state version 10 are preserved. Upstream's new sprite status timing is integrated with the fork's VDP clock and V9968 S16 mode. The separate optimized Makoto experiment is not included.

Flash save improvements

Update an ASCII16-X or Yamanooto game ROM while keeping its in-game Flash saves. The fork persists the erase sectors that the game programmed or erased, and loads untouched sectors from the current ROM. F12 reload uses this persistence, so rebuilding and restarting does not require deleting the game's Flash saves.

Save data and updated code/assets must occupy separate erase sectors, and the new game version must understand the existing save format. Updates inside a saved sector remain hidden by that sector's saved contents. Legacy full-chip saves are preserved conservatively and may still hide ROM updates. This supports games that already save to Flash; it does not add a save feature to other games. The Flash work is tracked separately in PR #2206.

Start the combined configuration

Extract the full Windows ZIP and run Start-openMSX-Makoto-V9968.cmd. Place your FS-A1GT firmware in profile/share/systemroms/. The other three launchers provide ordinary C-BIOS, V9968, and Makoto configurations. Commercial firmware and games are not included.

Connect an MSX mouse through the Input menu or enter plug joyporta mouse in the F10 console, then close the console.

  • Click the MSX display to capture the mouse; that first click only captures.
  • Middle-click releases capture without pasting into the emulated machine.
  • While released, middle-click on the MSX display retains clipboard paste and custom bindings. Menu clicks remain GUI actions.
  • There is no default Ctrl+F10 release shortcut. An optional personal binding can invoke escape_grab.
  • Capture remains active at screen/menu edges. Console, debugger break, pause, focus loss, machine switching, and mouse disconnect release it.
  • set auto_mouse_capture off restores legacy mouse behavior.

V9968 software must enable S16 to use sixteen mode-2 sprites per scanline. V9968 sprite-plane shuffling and sprite mode 3 keep their previous end-of-line status behavior.

Validation and limits

The attached VALIDATION.json records 15 regression suites, 16 mouse test groups on the combined Makoto/V9968 machine, five new sprite timing checks, 38 Flash sessions, October 2 save-state compatibility, and extracted-package startup checks. Hard-reset and media-reload checks passed individually after initial failures in a concurrent run; the cause of those initial failures has not been established.

Mouse automation uses injected SDL events and synthetic focus; physical mouse and native OS focus still need manual confirmation. V9968 validation is not full hardware conformance. Existing media limits remain: mounted writable DSK files can block atomic replacement (in-place edits work), and changed compressed disks may require eject/reinsert to refresh the cache.

This is an experimental release of the maxiwamoto fork. The separate upstream mouse proposal remains PR #2222.

Download the Windows ZIP to run it. Matching source, dependency archives, validation results, and SHA-256 checksums are attached.