Il lavoro di decompilazione dei videogiochi storici continua a dimostrarsi uno strumento fondamentale non solo per la preservazione, ma anche per la rinascita tecnica di titoli che hanno segnato la storia del medium.

Questi progetti non permettono soltanto la creazione di porting nativi su PC, ma aprono anche la strada a conversioni su console diverse da quelle originali, affrontando le particolarità hardware di ciascuna piattaforma e adattando il codice alle sue specifiche architetture.
The next Nintendo 64 classic has just hit the Sega Dreamcast, thanks, once again, to the efforts of jnmartin! Here's over a minute of Super Mario 64 gameplay, captured directly from my DC!
As is usual with jnmartin's work, the port plays like a AAA native release, with… pic.twitter.com/ybs96tPMB8
— Falco Girgis (@falco_girgis) January 9, 2026
Un esempio emblematico è Super Mario 64, il primo e più iconico capitolo tridimensionale della serie Nintendo. Grazie alla decompilazione completa portata a termine anni fa dalla community, lo sviluppatore jnmartin84 è riuscito a completare un porting nativo del gioco per SEGA Dreamcast.
In passato esisteva già una versione funzionante, risalente al 2020 e basata sul lavoro di mrneo240, ma si trattava comunque di un porting incompleto, caratterizzato da problemi audio, glitch grafici e dall’assenza del supporto alla VMU.
Con l’ultimo aggiornamento, il progetto ha raggiunto finalmente uno stato “feature-complete”. Super Mario 64 su Dreamcast ora offre audio pienamente funzionante, gira a piena velocità e supporta la risoluzione 480p della console SEGA, garantendo un’esperienza fluida e sorprendentemente fedele all’originale Nintendo 64.
Implementato inoltre il salvataggio tramite VMU, un elemento essenziale per una vera integrazione con l’hardware Dreamcast e uno dei limiti più evidenti delle versioni precedenti.
Il porting rappresenta un notevole traguardo tecnico, soprattutto considerando le profonde differenze tra l’architettura del Nintendo 64 e quella del Dreamcast.
Il lavoro di adattamento del codice, unito alla risoluzione delle anomalie audio-visive, dimostra ancora una volta quanto la decompilazione possa diventare una base solida per porting di alta qualità, anche su hardware che all’epoca non avrebbe mai potuto ospitare ufficialmente il titolo.
Nota: Come già accaduto con altri progetti simili, è improbabile che Nintendo guardi con favore a questo tipo di iniziative. Sebbene la repository non includa asset protetti da copyright e richieda agli utenti di fornire una copia originale del gioco, i progetti basati su decompilazione e reverse engineering si muovono in una zona grigia che la casa di Kyoto ha storicamente contrastato con fermezza. La tutela della proprietà intellettuale resta una priorità assoluta per Nintendo, anche quando il lavoro nasce da finalità puramente tecniche o di preservazione storica.
Compilazione
Il metodo più semplice per creare un’immagine avviabile consiste nell’utilizzare il builder automatico CDI disponibile online. Questo strumento permette di generare rapidamente un file pronto all’uso senza dover configurare manualmente l’intera toolchain Dreamcast.
Chi invece desidera seguire la procedura completa e compilare il progetto in modo tradizionale può fare riferimento alle istruzioni sottostanti.
Per prima cosa è necessario installare la toolchain Dreamcast basata su KallistiOS, disponibile nella repository ufficiale dc-chain, è inoltre richiesto Python 3 per gli script di build.
Una volta configurato l’ambiente, bisogna copiare una ROM originale di Super Mario 64 nella directory principale del progetto. Il file deve essere rinominato in baserom.<versione>.z64, dove la versione può essere us, jp o eu, anche se solo la versione US è effettivamente supportata dal porting.
A questo punto è possibile avviare la compilazione eseguendo il comando make TARGET_DC=1. Il processo genererà un file ELF pronto per essere caricato sulla console tramite dc-tool o dc-load.
Per creare un’immagine CDI masterizzabile o utilizzabile con emulatori, è sufficiente eseguire make TARGET_DC=1 cdi. In questo caso è necessario avere mkdcdisc installato e correttamente configurato nel proprio PATH.
sm64
├── actors: object behaviors, geo layout, and display lists
├── asm: handwritten assembly code, rom header
│ └── non_matchings: asm for non-matching sections
├── assets: animation and demo data
│ ├── anims: animation data
│ └── demos: demo data
├── bin: C files for ordering display lists and textures
├── build: output directory
├── data: behavior scripts, misc. data
├── doxygen: documentation infrastructure
├── enhancements: example source modifications
├── include: header files
├── levels: level scripts, geo layout, and display lists
├── lib: SDK library code
├── rsp: audio and Fast3D RSP assembly code
├── sound: sequences, sound samples, and sound banks
├── src: C source code for game
│ ├── audio: audio code
│ ├── buffers: stacks, heaps, and task buffers
│ ├── engine: script processing engines and utils
│ ├── game: behaviors and rest of game source
│ ├── goddard: Mario intro screen
│ ├── menu: title screen and file, act, and debug level selection menus
│ └── pc: port code, audio and video renderer
├── text: dialog, level names, act names
├── textures: skybox and generic texture data
└── tools: build tools
Contribuire al progetto
Le pull request sono ben accette. Per modifiche di ampia portata è consigliato aprire prima una issue, così da discutere l’intervento con il maintainer del progetto. Per mantenere uno stile di codice coerente, è richiesto l’uso di clang-format prima dell’invio delle modifiche.
Download: Source code Super Mario 64 per Sega Dreamcast

![[Scena PS Vita] Rilasciato Arx Fatalis v1.003 con nuove opzioni e correzioni per un’esperienza RPG ottimizzata](https://www.biteyourconsole.net/wp-content/uploads/Arx-238x178.webp)
![[Scena Wii U] ISFShax Installer v3.2 aggiorna la protezione Wii U contro brick e problemi NAND](https://www.biteyourconsole.net/wp-content/uploads/ISFSHAX-1-238x178.webp)
![[Scena PS Vita] Rilasciato Arx Fatalis v1.003 con nuove opzioni e correzioni per un’esperienza RPG ottimizzata](https://www.biteyourconsole.net/wp-content/uploads/Arx-100x75.webp)
![[Scena Wii U] ISFShax Installer v3.2 aggiorna la protezione Wii U contro brick e problemi NAND](https://www.biteyourconsole.net/wp-content/uploads/ISFSHAX-1-100x75.webp)


![[Scena Switch] Rilasciato NXMilk v0.3.0](https://www.biteyourconsole.net/wp-content/uploads/NXMilk-100x75.webp)