COSOMGame preservation
Website update · Java 0.16.0 unchanged

Optional cheats and hold-to-use time controls for the original game

The original USA game gets a side panel for faster character and magic growth, HP and MP cheats, plus hold controls for fast-forward and rewind. The separate Java rebuild remains unchanged at 0.16.0.

This website update adds optional controls beside the original Secret of Mana player. The original game still runs through the retained EmulatorJS / Snes9x runtime. Its cartridge file and the supplied emulator binaries are unchanged. The separate editable Java-to-HTML5 rebuild remains incomplete at native build 0.16.0; this post does not assign it a new build version.

Every new play session starts with the four cheats off. Quick character levels boosts experience from defeated enemies. Quick magic levels accelerates elemental skill growth when spells are cast. Infinite HP keeps the three party records' current HP at 999, while Infinite MP keeps the two spellcasters' current MP at 99. The HP and MP options do not increase the corresponding maximum values or grant spells.

The time buttons are held rather than toggled. On a standard controller, hold RT for a 2× fast-forward target or LT for rewind; keyboard F and R provide the same controls. Each visible hold button can also be focused and held with Space or Enter. Rewind takes priority if both inputs are held. Release, a pause, page focus loss or controller disconnection returns the controls to normal; a trigger held across a pause or focus change must be released before it can engage again.

Rewind uses a rolling 32 MiB memory buffer with granularity six. The amount of available history varies with game activity and resets when the page reloads. Cheats and rewinding can affect values written to an in-game save, so the panel asks players to export a backup first. Disabling a cheat does not undo gained levels or changes already saved.

What changed

  • Added a responsive side panel with four individually controlled cheats, an all-off button, current status, source references and explicit descriptions of each option's effect.
  • Used the original-USA entries from a frozen libretro cheat database and verified all three Game Genie patch locations against the supplied cartridge revision. No patch is written into the stored cartridge file.
  • Rebuilt the complete selected cheat set through native reset and reapplication on each change. Native Snes9x testing found that simply submitting the same cheat index as disabled can leave the earlier active cheat in place; the reset-and-rebuild path removes it correctly.
  • Added RT/LT controller polling alongside the original gamepad handling, preserving keyboard Q/W and the SNES L/R bumpers. Pointer, keyboard and controller hold inputs share one mutually exclusive fast-forward/rewind state.
  • Configured a scoped 32 MiB rewind buffer and a 2× fast-forward target without modifying the retained EmulatorJS or Snes9x binary files.

What we verified

  • The application adapter passed 77 checks using the actual pinned EmulatorJS 4.2.3 GameManager class. These checks cover all-off startup, exact source-code transcription, stable native code slots, reset-and-rebuild disabling, failure rollback, controller thresholds, rewind priority, hold arbitration, neutral rearming and release on pause, focus loss and disconnection.
  • Separate tests used the retained official native Snes9x core's real cheat API and original game frames. HP-only, MP-only and combined cases produced current HP 999 in all three party records and current MP 99 for both spellcaster records while maximum HP/MP remained unchanged.
  • A five-step integration replay recorded calls from the actual application adapter and executed them through the native Snes9x API: all off, HP on, MP on, HP off while MP remained on, then MP off. The observed current values matched each selected combination; turning options off restored the baseline values in this fixture.
  • All eleven public cheat codes match the frozen original-USA database. The three decoded Game Genie patch addresses and original bytes match the supplied revision. Cartridge and retained browser emulator/core SHA-256 hashes remained unchanged.
  • The website-post gate checks these notes against the actual unchanged Java 0.16.0 status. Existing six published post records and their HTML bytes are retained. Actual HTTPS publication and any future browser test remain separate from these preparation checks.

What remains unfinished

  • The Java rebuild is still unfinished. Native player-control handoff, the full campaign, combat and audio integration remain incomplete; this website update changes the separate original-game player only.
  • Browser interaction and physical controller testing were unavailable for this update. The side-panel layout, actual browser cheat effects and fast-forward/rewind playback timing have not been verified in a browser. Controller and hold behavior is covered by application tests rather than a physical gamepad test.
  • Native HP/MP checks used the preserved opening fixture, where only the hero has been recruited; the other party records were observed as original memory slots. No damage event, enemy defeat or spell cast was performed. Quick character and magic growth are source-verified rather than progression-playtested.
  • A 2× target depends on the device's available performance. The 32 MiB rewind limit does not guarantee a fixed number of seconds, and rewinding is not a save backup. Saved changes and gained levels can persist after cheats are switched off.
  • The full original campaign has not been played through as part of this update. The original game remains an emulated preservation option, separate from the native Java recreation.