Super Smash Bros. (PSP)
Super Smash Bros.
Sobre el proyecto
Super Smash Bros. es una serie de videojuegos de lucha, creada por Masahiro Sakurai, quien dirigió todos los juegos, y distribuida por Nintendo, el cual presenta personajes invitados de franquicias establecidas en Nintendo y otras compañías de videojuegos y ha vendido en total más de 71 millones de unidades. La serie es conocida por su objetivo de jugabilidad único, que difiere de los juegos de pelea tradicionales, en donde el objetivo es aumentar contadores de daño y derribar a los oponentes del escenario en lugar de agotar las barras de salud.
5 versiones de Super Smash Bros.
Estás viendo: Super Smash Bros. (PSP)
Super Smash Bros. (PSP)github.com/ItsNoHax/SSB64PSP
Super Smash Bros.github.com/VetriTheRetri/ssb-decomp-re
BattleShipgithub.com/JRickey/BattleShip
Super Smash Bros. (DS)github.com/rockenrooster/Smash64DS_Port
Super Smash Bros. (Xbox)github.com/Team-Resurgent/SSB-XInformación oficial del proyecto
SSB64PSP
Native Rust source port of Super Smash Bros. (N64, US) to the Sony PSP. Not an emulator.
- Gameplay: Rust translated from the community decompilation
- Build time: game data and N64 display lists read from your own ROM, converted to PSP-native form
No copyrighted assets are included in this repository
- No Nintendo asset checked in or distributed: code, textures, audio, models, text, ROM data
- Only published build: CI asset-viewer EBOOT, compiled without a ROM, no game data
- ROM: supplied by you, legally obtained
- Build extracts from the ROM into gitignored output (D-048):
- asset pack:
assets/generated/ - data tables the game reads: Cargo
target/
- asset pack:
- A build you make contains ROM data: own use only
- No legal copy of the N64 game: cannot build or run
- Repository holds source, tools, documentation only
- Gameplay code: own translation of decompiled logic, constants (offsets, ids, timings) as source
- Golden captures: pixel hashes, not images
- XMB icons, backgrounds, music: original work (XMB assets)
Requirements
- ROM: your own
Super Smash Bros. (USA).z64(big-endian)
| Game code | SHA-1 | MD5 |
|---|---|---|
NALE | e2929e10fccc0aa84e5776227e798abc07cedabf | f7c52568a31aadf26e14dc2b6416b2ed |
| Tool | Version source |
|---|---|
| Rust stable (host crates, tools) | rust-toolchain.toml |
| Rust nightly (PSP crates) | rust-toolchain.toml of psp-game/ and psp-asset-viewer/; psp-runtime builds under them |
cargo-psp | project rust-psp fork, revision CI pins |
| Hardware | PSP-2000 or later (64 MiB mode), or PPSSPP |
cargo +nightly-2026-08-26 install --git https://github.com/ItsNoHax/rust-psp --rev a89142b237f3014fc15425d3549e44d3aa07d1c6 cargo-psp --locked
Build
- ROM location:
rom/, orSSB64_ROM - Every build reads the ROM: build scripts of
ssb-gameandssb-romverify SHA-1, generate tables (crates/ssb-tablegen) - No ROM → build stops, prints how to supply one
# 1. The ROM
mkdir -p rom && cp "/path/to/Super Smash Bros. (USA).z64" rom/
cargo run -p romtool -- verify "rom/Super Smash Bros. (USA).z64"
# 2. The asset pack: models, textures, animations, sprites, stages
cargo run --release -p romtool -- pack "rom/Super Smash Bros. (USA).z64"
# -> assets/generated/ssb64.pak
# 3. Host tests
cargo test --workspace
# 4. The PSP applications (each is its own cargo-psp crate)
(cd psp-game && cargo psp --release) # the game
(cd psp-asset-viewer && cargo psp --release) # debug and render-validation viewer
# -> <crate>/target/mipsel-sony-psp/release/EBOOT.PBP
cargo run -p ssb-tablegen -- DIR: writes generated tables intoDIRfor inspectionSSB64_STUB_TABLES=1: builds empty stub tables; CI type-checks and tests without a ROM- Stub build cannot run the game
Run
- PSP: copy
EBOOT.PBPandssb64.pakinto onePSP/GAME/<folder>/ - Save:
ssb64.savbeside them - Pack needs 64 MiB mode (PSP-2000 or later)
- PPSSPP:
tools/run-ppsspp.sh --crate psp-game # interactive
tools/run-ppsspp-headless.sh --crate psp-game --feature F # deterministic capture
- Both scripts default to
psp-asset-viewer - PPSSPPHeadless, golden captures: visual regression
Controls
| PSP | N64 |
|---|---|
| Analog nub | Control Stick |
| D-pad Up/Down/Left/Right | C-Up/C-Down/C-Left/C-Right |
| Cross / Square | A / B |
| L / R | Z / R |
| Circle | L |
| Start | Start |
- Triangle, Select: unbound
- Battle: any C-button jumps; N64 R acts as A + Z
- Menu Training entry: D-pad (C-button) tap picks the costume, as character select does
Layout
| Path | Holds |
|---|---|
crates/ | Portable code: gameplay, engine, ROM and pack formats, capture specs, build-time table generation |
tools/romtool | Pack builder |
psp-runtime/, psp-game/, psp-asset-viewer/ | PSP code; outside the Cargo workspace (D-026) |
Crate roles and boundaries: architecture, AGENTS.md.
Documentation
| Document | Contents |
|---|---|
PLAN.md | Project plan: completed work, remaining work, target state |
STATUS.md | Current project snapshot |
DECISIONS.md | Permanent architectural decisions |
docs/architecture.md | Current and target architecture; original-game reference |
docs/rendering.md | Rendering architecture and per-domain detail |
docs/memory.md | Memory layout and constraints |
docs/xmb-assets.md | XMB icon, background and music assets |
docs/visual-regression/ | Golden and visual regression testing |
docs/evidence/ | Durable technical findings |
AGENTS.md | Development and agent rules |
References
Technical references only; none outranks decompilation and ROM (D-037).
- ssb-decomp-re — SSB64 decompilation (primary source)
- BattleShip — native PC SSB64 port
- sf64-psp, oot-PSP, n64psp — N64 → PSP ports
- rust-psp — Rust PSP support (project fork)
Local use: clone into gitignored refs/.
License
- MIT OR Apache-2.0, code in this repository only
- No rights to Nintendo intellectual property granted
- Super Smash Bros.: trademark of Nintendo