What's in this release
The DSP-1 v2 release: the coprocessor module gains the canonical 3D
pipeline — true hardware perspective — plus the game-logic commands, and
the dsp1_cube example renders with a real perspective divide computed
on the NEC µPD77C25.
Added
- feat(lib): DSP-1 pipeline completed —
dsp1Project(world → screen
H/V + depth scale M),dsp1Parameter(projection-plane setup, 7 in /
4 out),dsp1Distance(hardware sqrt of a 3D vector),dsp1Range
(sphere test for collision/LOD),dsp1Present(bounded known-answer
probe that never hangs on a missing chip), andfixed↔T/A bridge
macros between the SDK's 8.8 fixed-point and the DSP-1's 1.15/angle
formats. Projection semantics characterised empirically on luna
(DSP-1B) and recorded: the all-zero Parameter setup is degenerate,
azs=$4000makes +Y the view axis, effective focal length ≈ lfe+les. - docs(docs): new DSP-1 tutorial (
docs/tutorials/dsp1.md) — chip
model, RQM handshake, slot types, the Attitude→Objective→Project
pipeline, Distance/Range for game logic, firmware gotchas; DSP-1 rows
inAPI_INDEX.md;snes.hopt-in list now mentionsdsp1.hand
panel.h. - ci: the native luna test-manifests pillar now runs in CI (it
previously ran only locally viamake tests); the DSP-1 manifest
additionally asserts the full DR/SR handshake path (dsp1_ok = 1),
firmware-gated so it SKIPs cleanly on firmware-less runners.
Changed
- feat(examples):
chips/dsp1_cubeupgraded from orthographic to
hardware perspective projection;chips/README.mdgains the 11.5
rung and now presents the three-chip family. - build:
USE_DSP1 := 1auto-adds thedsp1module toLIB_MODULES
(aligned with the SuperFX/SRAM pattern).
Fixed
- docs(examples): the dsp1_cube README documented a
luna run --dsp1-rom
flag that does not exist in the pinned luna — corrected to the
luna state --dsp1-rominstall path; the stale Python-probes section
of the luna-test README replaced with the manifests view; dsp1_cube
baseline provenance repaired (visual and WRAM baselines were captured
from different builds).
Download
| Platform | File | Architecture |
|---|---|---|
| Linux | opensnes_v0.37.0_linux_x86_64.zip |
x86_64 |
| Linux | opensnes_v0.37.0_linux_arm64.zip |
arm64 (aarch64) |
| macOS | opensnes_v0.37.0_darwin_arm64.zip |
arm64 (Apple Silicon) |
| Windows | opensnes_v0.37.0_windows_x86_64.zip |
x86_64 (MSYS2 UCRT64) |
Quick start
- Download and extract the zip for your platform
- Set
OPENSNES=/path/to/opensnesin your project's Makefile make— your first ROM is ready
See GETTING_STARTED.md for full instructions.