Skip to content

Releases: 0bAndyWirus/DQ9-Decomp

v0.4.4 - GPU2D four-wide output conversion (source only)

Choose a tag to compare

@0bAndyWirus 0bAndyWirus released this 21 Oct 03:54
b8fc609

Source-only Windows kit. No game, no binary. SSE2 GPU2D output conversion: -3% boot, -2.7% movie, -1.4% activity user instructions versus v0.4.3 with byte-identical output. Windows game execution is not verified. See CHANGELOG.md.

v0.4.3 - GPU3D framebuffer packing (source only)

Choose a tag to compare

@0bAndyWirus 0bAndyWirus released this 21 Oct 03:06
ca4b387

Source-only Windows kit. No game, no binary. SSE2 four-wide GPU3D framebuffer packing: -5% boot, -4% movie, -2% activity user instructions versus v0.4.2 with byte-identical output. Windows game execution is not verified. See CHANGELOG.md.

v0.4.2 - output-identical speedups (source only)

Choose a tag to compare

@0bAndyWirus 0bAndyWirus released this 21 Oct 02:34
9e8292f

Source-only Windows kit. No game, no binary. SPU deadline scheduling, palette cache and lazy hardware timers: single-thread instructions retired -19% boot, -13% movie, -8% activity versus v0.4.1 with byte-identical output. Windows game execution is not verified. See CHANGELOG.md.

v0.4.1 - security hardening, timer/IRQ accuracy, Godot audio (source only)

Choose a tag to compare

@0bAndyWirus 0bAndyWirus released this 21 Oct 00:57
b0dc46c

Source-only Windows kit. No game, no binary. Fixes a save temp-file symlink truncation, a DQ9_BACKUP_TYPE command injection in BUILD-DQ9.bat, diagnostics path leaks, pins the SDL SDK digest and CI action SHAs; timer/IRQ timing accuracy; Godot fast-forward and resume audio fixes. Windows game execution is not verified. See CHANGELOG.md.

v0.4.0 - timing model, RTC/touch fixes, GPU3D clip/alpha, docs and CI audit (source only)

Choose a tag to compare

@0bAndyWirus 0bAndyWirus released this 20 Oct 23:47
5625f7f

Source-only Windows kit. No game, no binary. Timing model (ARM9 CPI, held cartridge READY, SWI cycles) intentionally changes frame phase: regenerate guest code after updating. RTC protocol, touch ADC calibration, GPU3D clipping/alpha fixes, audited docs and weekly CI. Windows game execution and the Windows Godot build are not verified. See CHANGELOG.md.

v0.3.1 - Godot save restore panel (source only)

Choose a tag to compare

@0bAndyWirus 0bAndyWirus released this 20 Oct 20:17
8d2244d

Source-only Windows kit. No game, no binary. Adds the Godot save backup list and restore panel with a persistent Saved / Save failed status. Linux-verified with the real extension; the Windows Godot build and game runs are not verified. See CHANGELOG.md.

v0.3.0 - launcher, save safety, audio recovery, diagnostics, Godot guide updates (source only)

Choose a tag to compare

@0bAndyWirus 0bAndyWirus released this 20 Oct 19:23
487c073

Source-only Windows kit. No game, no binary. Adds COLLECT-DIAGNOSTICS.bat, a validated SDL first-run launcher, rotating save backups with restore, SDL audio recovery, Godot export preset and a PLAY-GODOT launch without the crashing editor import, and a small GPU2D speedup with byte-identical output. Windows game execution and the Windows Godot build are not verified. See CHANGELOG.md.

v0.2.9 - cleaner Windows kit, Godot scripts and guide (source only)

Choose a tag to compare

@0bAndyWirus 0bAndyWirus released this 20 Oct 18:12
a8ca20a

Source-only Windows kit. No game, no binary. Cleaner BUILD-DQ9.bat (ROM prompt, Python discovery, EU save chip, step output, progress bar), new BUILD-GODOT.bat/PLAY-GODOT.bat and docs/USING_GODOT.md. CI exercises the new entry points ROM-free. The Windows Godot build and a game run on Windows are not yet verified. See CHANGELOG.md.

v0.2.8 - reliable replay, readable notices and Windows launcher fixes (source only)

Choose a tag to compare

@0bAndyWirus 0bAndyWirus released this 20 Oct 03:45
e83a0fe

Source and scripts only. No game image, generated game code or game executable is included. Supply your own legally obtained ROM and build locally (docs/GETTING_STARTED.md).

v0.2.8 (prerelease)

  • Replay preserves the save chip. Native captures retain explicit choices in shell and PowerShell replay commands, including explicit Auto over an ABI setting. Godot issue replay applies its captured chip before loading the copied launch save, without changing normal-game settings. Old captures with missing metadata retain Auto behavior.
  • A stronger real replay regression: early frame hashes had hidden a real bug—a fresh EEPROM64K capture wrote 65,536 bytes, while replay wrote 524,288. The regression now compares saved bytes/capacity as well as screenshots, hashes, RTC/ticks and capture immutability. Explicit EEPROM, explicit Auto over ABI EEPROM and inherited ABI EEPROM all pass.
  • Godot standalone replay uses the standard local native build, handles the Windows executable suffix and changes to its own directory. Running it from an unrelated directory reproduced both screenshots with 0/49,152 differing pixels each and preserved save bytes.
  • Interrupted input files are errors: an incomplete final entry exits 2 instead of silently disappearing at EOF. Empty files and trailing whitespace remain valid.
  • Small-window notices fit: save warnings, pause feedback and the fast-forward badge shrink/wrap to the renderer width. Long device/path messages are bounded and visibly elided; the per-frame layout does not allocate heap storage.
  • Windows launcher failures are preserved: the no-argument batch path captures the program's real failure status after it returns. First-run instructions open the launcher and select EEPROM 64 KB instead of sending fresh EU saves through the generic flash fallback. Core backup defaults are unchanged.

Verified on one Linux machine: three 3,000-frame native fresh-save capture/replay cases; a 1,500-frame real Godot capture/replay/recapture/reload; actual 256x384 and 512x768 SDL notification captures; bounded long-word, multiline and tiny-renderer probes. Full details and commands are recorded in the merged pull requests and CHANGELOG.md.

Release gates also pass: 20 runtime tests, 588 Python tests, five-language 3,000-frame default hashes and English WAV unchanged, and the 28,500-frame EEPROM64K scripted run matching the private baseline. Windows CI ran the actual batch launcher against a ROM-free native fixture and preserved distinct failure codes through paths containing spaces and !; this is not a Windows game run.

An extended scripted-then-idle native smoke also completed 90,000 frames with periodic save flushing. Its first 28,500 frame hashes match the private reference; the final 1,000 frames contain 533 distinct screen pairs, and the persisted save is 65,536 bytes. This is a stability observation, not a full playthrough.

The downloaded v0.2.8 source-kit ZIP was also unpacked into a clean workspace, built locally with the owned image and EEPROM64K selected at build time, then run without explicit ABI/chip flags: all 28,500 frame hashes match the private reference and the saved file is 65,536 bytes. The log confirms ABI auto-discovery from that fresh workspace.

Choose EEPROM 64 KB in the launcher or pass --backup-type eeprom64k for the European release. Automatic protocol guessing was deliberately removed in v0.2.7: cancelled flash reads are ambiguous.

No playability, hardware parity or Windows game-run claim. No save states. The observed Godot 4.7.2 headless cold-editor-import crash remains consistent with upstream #111645 [INFERENCE]; runtime cold loading and application checks are separate.

Not affiliated with or endorsed by Square Enix or Nintendo. MIT covers original project code, not the game or other third-party material.

v0.2.7 - save safety and visible write failures (source only)

Choose a tag to compare

@0bAndyWirus 0bAndyWirus released this 20 Oct 02:56
7117ce8

Source and scripts only. No game image, generated game code or game executable is included; supply your own legally obtained ROM and build locally (docs/GETTING_STARTED.md).

v0.2.7 (prerelease)

  • Visible save failures and recovery: native autosave shows one long warning when a write fails and a recovery notice once a retry succeeds. Godot's explicit flush API now returns the real result and publishes thread-safe status for the host's notices. No Godot autosave timer was added. Failed debug captures no longer label an older disk save as current.
  • Save-chip hint, not unsafe guessing: an address-only read can mean EEPROM addressing or a cancelled flash read. Both hosts show an informational hint, without changing chip type, write-enable state or save contents. An automatic-switch heuristic was removed before publication after a regression demonstrated a lost subsequent write.
  • Select EEPROM 64 KB in the launcher, or pass --backup-type eeprom64k, for the European release. Auto uses an existing save's capacity, otherwise the flash default; no title signature table is shipped.
  • Cold-cache Godot lifecycle check: explicitly loads the real extension, rather than depending on an editor-generated import cache.

Verified on Linux: a read-only save directory produced a visible native warning; making it writable produced the recovery notice and a 64KB save. The real Godot worker also returned failure, repeated failure, then success after permissions were restored and persisted 64KB.

Further gates: 20 runtime tests and 588 Python tests pass; default boot hashes match the prior baseline in all five languages, English WAV matches byte-for-byte, and the 28,500-frame EEPROM64K scripted run matches the private baseline. Native/Godot RGB hashes match for 3,000 frames. A diagnostic-fixture build also passes the textured gameplay GPU-scene probe at 1×, 3× and 6×, including cache/toggle/clean-shutdown checks; this is not hardware or oracle parity.

Scripted-run observations are not a playability claim. Windows game runs, sustained interactive play, hardware parity and high-resolution oracle parity remain unverified. No save states. See CHANGELOG.md for the complete list.

Not affiliated with or endorsed by Square Enix or Nintendo. MIT covers original project code, not the game or other third-party material.