Skip to content

Releases: maxiwamoto/openMSX

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

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.

Makoto + V9968 + mouse capture - build 653 (2026-10-05)

Choose a tag to compare

@maxiwamoto maxiwamoto released this 06 Oct 01:17

Combined Windows x64 build with Makoto + V9968 + explicit MSX mouse capture, retaining the fork's Flash persistence, ROM/media reload, development-state restore, and F12 power cycle.

This release keeps the published October 2 Makoto engine and sound-state version 10. The October 5 optimized Makoto experiment remains on its separate branch. V9968 and Makoto implementation files are unchanged from the published release.

Start the combined configuration

Extract the complete Windows ZIP and run Start-openMSX-Makoto-V9968.cmd. Supply your existing FS-A1GT firmware in profile/share/systemroms/. The launchers keep settings and saves in a separate profile alongside the executable. C-BIOS is included for ordinary startup; 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 mouse movement and hide the host pointer. The first click only captures.
  • Middle-click or Ctrl+F10 releases capture and restores the pointer for menus and other windows.
  • Moving over menus, status bars, or screen edges keeps capture active. Console, debugger break, pause, and focus loss release it.
  • set auto_mouse_capture off restores legacy behavior. The release shortcut is configurable with bind.

V9968 software must enable S16 to use sixteen mode-2 sprites per scanline. Makoto keeps the standard volume controls; the previously tested balance is FM 75 / SSG 38.

Validation

The attached VALIDATION.json records the combined mouse suite, Makoto runtime/audio/state checks, V9968 sprite/palette/VRAM checks, Flash and hard-reset regressions, published-save compatibility, and extracted-package smoke checks. Mouse automation uses injected SDL events and synthetic SDL focus; the standalone mouse preview was also reported working on another laptop. Native focus and physical mouse behavior for this combined package still benefit from user testing.

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 with dependency archives and SHA-256 checksums are attached for verification and rebuilding.

Mouse capture preview — clipboard compatibility (2026-10-06.2)

Choose a tag to compare

Updated Windows x64 preview for openMSX PR #2222, based on upstream master at 0e67b1c93.

With an MSX mouse connected, left-click the MSX display to capture relative input and hide the host pointer. Middle-click while captured only releases capture; it never pastes. While released, middle-click inside the MSX display retains its existing clipboard-paste binding or your custom binding. Middle-clicks on menus and tools stay with the GUI.

The activation click is consumed. Hovering menus or screen edges cannot release capture. Capture overrides pointer_hide_delay, grabinput, and fullscreen mouse grabbing while automatic capture is enabled for a connected MSX mouse. Regaining window focus alone does not recapture. set auto_mouse_capture off restores legacy behavior. No default keyboard release shortcut is added; optional user bindings can use escape_grab.

Extract the entire Windows ZIP and run Start-openMSX.cmd. It uses an isolated profile folder alongside the executable. Connect the mouse through the Input menu or with plug joyporta mouse in the F10 console. C-BIOS is included. This preview is based on upstream master and does not include the separate features from the rom-dev releases.

Validation: Windows x64 Release build, 16 instrumented SDL/ImGui/MSX regression groups, and an extracted-package smoke test. The new clipboard test reproduced the previous bug and checks clipboard/custom bindings while released, release without paste, and GUI hit-testing. It uses a test clipboard provider and typing sink without accessing the host clipboard. The regression run uses synthetic SDL focus and injected input events; native OS focus transitions, multiple monitors, Linux, and macOS still need targeted manual testing. The shipped executable contains no test driver.

Assets include the Windows ZIP, matching source ZIP, and SHA-256 checksums. The exact source commit is recorded in BUILD.json inside the Windows package. Test reproduction instructions are included in both archives.

Mouse capture preview — simplified controls (2026-10-06)

Choose a tag to compare

Updated Windows x64 preview for openMSX PR #2222, based on upstream master at 0e67b1c93.

With an MSX mouse connected, left-click the MSX display to capture it. The host pointer disappears and relative movement goes to the MSX. Middle-click releases capture and restores the host pointer for menus and other windows. The activation click is consumed, and hovering menus or screen edges does not release capture.

This revision removes the default Ctrl+F10 shortcut and the redundant release_mouse command. An optional user binding can use the existing escape_grab command. Debugger and machine-change release now share the existing event handler, and a duplicate pause check has been removed. Held and delayed button cleanup is retained.

Extract the entire Windows ZIP and run Start-openMSX.cmd. It uses an isolated profile folder alongside the executable. Connect the mouse through the Input menu or with plug joyporta mouse in the F10 console. C-BIOS is included. set auto_mouse_capture off restores legacy mouse behavior. This preview is based on upstream master and does not include the separate features from the rom-dev releases.

Validation: Windows x64 Release build, 15 instrumented SDL/ImGui/MSX regression groups, and an extracted-package smoke test. The regression run used synthetic SDL focus and injected input events. The initial preview received positive user feedback from physical use; native OS focus transitions, multiple monitors, Linux, and macOS still need targeted manual testing. The shipped executable contains no test driver.

Assets include the Windows ZIP, matching source ZIP, and SHA-256 checksums. The exact source commit is recorded in BUILD.json inside the Windows package. Test reproduction instructions are included in both archives.

MSX mouse capture preview - Windows x64 (2026-10-05)

Choose a tag to compare

Experimental Windows x64 preview of explicit MSX mouse capture, based on upstream master at 0e67b1c93, with commit 7c4f8bdf570500d695e96e2311aff4f22ae8a76a.

With an MSX mouse connected, left-click the MSX display to capture it. The host pointer disappears and relative motion goes to the MSX. Middle-click or Ctrl+F10 releases capture and restores the host pointer for menus and other windows. The activation click is consumed, and moving over a menu or status bar cannot release capture.

The console, debugger break, pause, focus loss, machine switching, and unplugging release capture. set auto_mouse_capture off restores legacy behavior. The release shortcut can be rebound, for example bind "keyb CTRL+F8" release_mouse.

Extract the entire Windows ZIP and run Start-openMSX.cmd. It uses an isolated profile folder alongside the executable. Connect the mouse through the Input menu or with plug joyporta mouse in the F10 console. C-BIOS is included; commercial BIOS ROMs are not. This preview contains the mouse change on upstream master, not the separate features from the rom-dev releases.

Validation: Windows x64 Release build; 15 instrumented SDL/ImGui/MSX regression groups; extracted-package smoke test for C-BIOS boot, setting behavior, renderer recreation, and fullscreen. The regression suite used synthetic SDL focus because the build desktop could not obtain native focus. Physical mouse behavior, native OS focus transitions, multiple monitors, Linux, and macOS still need manual validation. The shipped executable contains no test driver.

Assets include the Windows ZIP, matching source ZIP, and SHA-256 checksums. Source and reproducible test instructions are on codex/mouse-capture.

Makoto validated playback and review cleanup — 2026.10.02

Choose a tag to compare

@maxiwamoto maxiwamoto released this 02 Oct 21:40

Experimental Windows x64 release of our openMSX fork, retaining Makoto, V9968, Flash persistence and ROM/disk development features.

  • Approved Makoto playback is preserved. The cleanup matches 1,080,000 reference samples and four recorded music excerpts exactly; the test build also passed listening on the Turbo R configuration.
  • Makoto now serializes its control fields natively and keeps four length-checked YMFM engine blobs. Actual older v8/v9 saves migrate correctly. New sound-state version 10 cannot be loaded by earlier executables.
  • Simplified audio-device registration, removed redundant lifecycle flags, and separated FM/ADPCM channel loops. These changes do not claim an additional performance improvement.
  • Fixed optimized GCC/Clang linkage and simplified third-party source integration. The matching upstream PR revision passed Linux, macOS, both Windows toolchains and unit tests. SonarCloud still reports duplicated code.

The existing YMFM SSG implementation remains in use. PSG reuse and the larger class-merge experiment are not included in this release.

Listening balance: use the standard controls, FM 75 / SSG 38. Generic defaults remain 75 per device, so check SSG after upgrading.

Download windows-x64.zip, extract the complete package, and use Start-openMSX-Makoto.cmd for Turbo R with Makoto, or Start-openMSX-Makoto-V9968.cmd for both extensions. Supply your own firmware and game/music ROMs. Launchers use a separate profile beside the executable.

Matching source, checksums and validation results are attached. Detailed review results. This is an experimental fork release; upstream PR #2209 remains under review.

Makoto native audio and owned control layer — 2026.10.01

Choose a tag to compare

@maxiwamoto maxiwamoto released this 01 Oct 18:03

Experimental Windows x64 build of our openMSX fork, including Makoto, V9968, Flash persistence and ROM/disk development features.

  • Makoto now feeds native FM and SSG streams directly into the host mixer. Its openMSX-owned YM2608 control layer retains YMFM synthesis engines and the hardware-verified ADPCM RAM fixes.
  • The final control-layer experiment used about 7% less whole-emulator CPU during music than the preceding native-stream experiment. This is not an MSX driver speedup. Measurements and limits.
  • The release executable matches the preserved build exactly in four matched-state music excerpts at equivalent volumes. All 16 voice controls remain available.
  • Old fork save states remain supported; new sound-state version 9 cannot be loaded by earlier executables.

Volume update: the extra SSG trim is removed. Use the standard FM and SSG sliders. Our tested listening balance is FM 75 / SSG 38. To preserve another previous balance: new SSG volume = old SSG volume × old trim / 100. Generic defaults remain 75 per device, so check SSG when upgrading.

Download the windows-x64.zip, extract the complete package, and use Start-openMSX-Makoto.cmd or Start-openMSX-Makoto-V9968.cmd. Launchers keep a separate profile beside the executable. Supply your own machine firmware; no commercial BIOS, game ROMs or music files are included.

The matching source ZIP, SHA256 checksums and concise validation report are attached. Previous releases remain available. This is our experimental fork, not an official upstream release; PR #2209 remains under review.

Makoto hardware RAM fixes — 2026.09.30

Choose a tag to compare

@maxiwamoto maxiwamoto released this 30 Sep 13:21

This update fixes three Makoto sample-RAM transfer differences confirmed on a real cartridge in Sanyo MSX2+ and Panasonic Turbo-R: the final byte is included at the write boundary, reads wrap after the full limit block, and switching an unfinished writer to read mode retains the last buffer byte until ADPCM reset. Both V4 and V5 diagnostic results now match hardware.

Native openMSX RAM storage reduces save-state and rewind snapshot size. Mixing skips unnecessary scaling when unclipped, and silence detection is simpler. Audio regression output is unchanged. Sound-state version 7 loads earlier fork states; old snapshots cannot recover transfer history they never recorded.

Download openmsx-rom-dev-2026.09.30-windows-x64.zip, extract the complete package, and use Start-openMSX-Makoto.cmd for Turbo-R + Makoto or Start-openMSX-Makoto-V9968.cmd for both extensions. V9968, Flash persistence and ROM/disk development features remain included. Close the old emulator before copying your existing profile/ into the new folder; keep the original as a backup. Supply your own machine firmware in profile/share/systemroms/.

Source, dependency archives, licenses and SHA-256 checksums accompany the build. No commercial firmware, game/music assets or personal profiles are included. This is an experimental fork release, not an official upstream release. Exact bus timing and all interrupted transfer combinations are not claimed as fully emulated.

TEXT 1 colour-zero hardware test

Pre-release

Choose a tag to compare

@maxiwamoto maxiwamoto released this 01 Oct 18:25

BASIC test and original-pixel hardware photos for openMSX#2218. Tested on a real Sanyo PHC-70FD. This is a diagnostic attachment bundle, not an emulator build.

Makoto filter-free Windows update — 2026.09.27.1

Choose a tag to compare

@maxiwamoto maxiwamoto released this 27 Sep 19:52

This Windows update removes Makoto's 33.86 kHz cartridge summer filter. A blind ABX session scored 6/12, so it did not demonstrate reliable discrimination. A paired local benchmark measured approximately 17% less whole-emulator CPU during normal playback and 9% less with individual channel tools. These are workload-specific host savings, not faster emulated MSX or music-driver execution. Chip synthesis, clock, gains and timing are unchanged; the normal host resampler remains active.

Download openmsx-rom-dev-2026.09.27.1-windows-x64.zip, extract the complete package, and use Start-openMSX-Makoto.cmd for Turbo-R + Makoto or Start-openMSX-Makoto-V9968.cmd for both extensions. Existing Makoto states remain readable. The package retains built-in rhythm sounds, V9968, Flash persistence and ROM/disk development features.

For an upgrade, close the old emulator and copy your existing profile/ into the newly extracted folder, keeping the original as a backup. Provide your own machine firmware in profile/share/systemroms/; no commercial firmware or game/music ROMs are included. Default Makoto volume settings are unchanged.

The package includes the blind-test findings and limitations. Matching source, dependency archives, license notices and SHA-256 checksums accompany the Windows build. This is an experimental fork release, not an official upstream openMSX release.

Validation: Windows x64 Release compilation passed. The extracted package passed all four launcher smoke checks, archive/source/checksum verification, Makoto CPU I/O and independent timer/IRQ checks, debugger peeks, 16-channel isolation/stereo, 256 KiB RAM, and v4-to-v5 save migration preserving chip state and deadlines.