Pre-release. Built from
mainfor early testing and feedback. Expect rough edges —
crashes, audio glitches, and missing native translations are still the rule, not the
exception. Please open issues rather than running off the latest commit silently.
⚠️ You must supply your own ROM
This release contains no game assets or code from the original cartridge. It ships
only the recompiled executable. To play, you must obtain a legal copy of
Automobili Lamborghini (USA).z64 (the North American release is the only one
supported) and place it next to the executable before launching. See BUILDING.md
for the full instructions; in brief:
- Extract the archive for your platform into its own folder.
- Drop
Automobili Lamborghini (USA).z64into that folder. - Launch the binary.
Game saves go alongside the ROM (or under %LOCALAPPDATA%\LamborghiniRecomp on
Windows / ~/.config/LamborghiniRecomp elsewhere — see README.md).
What's working
Game is playable, with upscaled resolution, high FPS, and widescreen (including HUD)
support. Since v0.1.0 the widescreen treatment has been extended across all race
modes (1P arcade, 2P split-screen, time trial, alt-dial style), and the skybox,
lens flare, and HUD geometry now track the wide frame across every height-ratio
option (Clamp16x9, Full, Original). There's still glitches so please report
issues you find.
Closed since v0.1.0:
Widescreen graphics
- #3 / PR #53 — Skybox background frustum now rebuilds its aspect ratio per
frame (it was hardcoded to 4:3, leaving gaps at the wide edges under
ar_option: Expand). - #40 / PR #65 — Sun lens flare stretches across the full widened frame
instead of being cropped at the 4:3 boundary. - #42 / PR #55 — HUD edge-pinning extended to 2P split-screen (per half),
time trial, and the alternate dial style. - #56 / PR #75 — 2P minimap pinned to each half's left edge under
widescreen. - #67 / PR #70 — HUD geometry (rev needle, minimap player arrow, minimap
track outline) now tracks the effective rect-pin aspect, so it stays glued
to the rect pins acrossClamp16x9/Full/Originalheight-ratio options
(the previous hardcoded 16:9 magnitudes detached from the rects on ultrawide
monitors).
Developer tooling (now ships in the binary)
- #12 / PR #48 — Developer warp menu: F1–F6 jumps to circuits 1–6 from
anywhere after boot (attract, title, menu, mid-race);LAMBO_WARP= circuit[:laps[:car[:players]]]does the same on cold boot, reaching a race
in ~2.5 s instead of ~37 s through the attract cycle. These are debug keys —
ignore them unless you're reproducing a track-specific issue. - #22 / PR #59 — Developer save-state: F7 saves / F8 loads a snapshot of
guest RDRAM for deterministic debug repros (LAMBO_STATE_LOAD=<file>on
cold boot lands on the exact spot). Heads-up: park and wait for the scene to
fully load before F7 — a snapshot taken while the asset thread is still
streaming restores RAM under it mid-job and can crash on load. The normal
Controller Pak save system is unchanged.
CI / build
- #61 / PRs #62, #63, #64 —
patches/0007(savestate thread-context relink,
required by the save-state above) is now wired into both CI build jobs;
build.sh/build.ps1are the single source of truth for the build
sequence, eliminating drift between local and CI builds.
Texture tooling (developer-facing)
- #50 / PR #57 —
tools/decode_dump.py: CI4/CI8 textures now decode with
correct colours and no shear. Root cause was a TLUT byte-order bug — RT64
stores 32-bit words byte-swapped in RDRAM (A ^ 3), which the decoder now
honours.
What's not done yet
This is a pre-release — plenty of force_stub.txt still includes real game
primitives rather than no-ops. The tracker is the canonical "what's next" list.
If you find a crash, please open an issue with lamborghini_crash style notes:
- Output window text (or the
crash-*.txtdump if the native handler caught it) - Commit / build provenance (below)
- Approximate in-game location (title screen / car-select / race lap 2 / etc.)
How to run
Linux
unzip lamborghini-recomp-linux-x64.zip -d lamborghini-recomp
cp "Automobili Lamborghini (USA).z64" lamborghini-recomp/
./lamborghini-recomp/lamborghini_modernRequires libsdl2-2.0-0 and a Vulkan-capable GPU + driver at runtime. Most
desktop distros ship these already.
Windows
Extract lamborghini-recomp-windows-x64.zip anywhere, drop your ROM in the same
folder, and double-click lamborghini_modern.exe. The bundled SDL2.dll,
dxcompiler.dll, and dxil.dll must stay alongside the EXE.
F11 / Alt+Enter toggles fullscreen (and remembers the choice next launch).
Build provenance
- Commit:
9bef7dc(main, 2026-07-09) - Workflow run: #28996890290 (Build & Release, dispatch from this SHA)
- Toolchain: Linux build on
ubuntu-latestwith gcc / cmake / ninja /
libsdl2-dev/libvulkan-dev. Windows build onwindows-latestwith
MinGW-w64 GCC + Ninja (PowerShell, not MSYS bash) per the project's toolchain
notes.
If you'd rather build it yourself from source instead of running a pre-built
binary, see BUILDING.md. For graphics settings, see README.md.