Home Homebrew Mario Kart 64 arriva su PlayStation 2 con un porting nativo basato...

Mario Kart 64 arriva su PlayStation 2 con un porting nativo basato sulla decompilazione

189
0

Un progetto open source sta portando Mario Kart 64 su PlayStation 2, trasformando uno dei classici più amati del Nintendo 64 in una versione pensata per funzionare sull’hardware della storica console Sony.

Il progetto nasce dalla decompilazione del gioco originale e introduce una nuova piattaforma software capace di sostituire il comportamento dell’hardware N64 con quello della PS2.

Non si tratta quindi del semplice utilizzo di un emulatore N64. Il codice del gioco è stato ricostruito e organizzato per funzionare attraverso un nuovo livello dedicato alla PlayStation 2, con componenti specifici per grafica, audio, gestione della memoria, controlli e logica di gioco.

Il risultato è particolarmente interessante perché il progetto punta a conservare l’esperienza originale di Mario Kart 64, comprese tutte le 20 piste, gli 8 personaggi e le modalità Gran Premio, gara a cronometro, VS da 2 a 4 giocatori e Battaglia.

Uno degli aspetti più interessanti riguarda l’audio. Il porting utilizza le campionature originali del gioco, mantenendo anche la stessa logica di mixaggio utilizzata dal Nintendo 64, con un’uscita a 48 kHz.

L’obiettivo è quindi quello di mantenere il più possibile il comportamento sonoro dell’originale, invece di ricorrere a una semplice soluzione audio emulata.

Il progetto introduce inoltre una modalità opzionale a 60 FPS. Il gioco mantiene la propria logica a 30 Hz, come nella versione originale, mentre il sistema può aggiungere un fotogramma intermedio quando la CPU dispone di risorse sufficienti. La modalità può essere attivata tramite il pulsante .

Non manca nemmeno il supporto ai salvataggi sulla Memory Card, insieme a una schermata di errore pensata per mostrare lo stato dei thread nel caso in cui il gioco dovesse bloccarsi.

Sono dettagli che fanno capire quanto il progetto punti a una vera ricostruzione del gioco sulla nuova piattaforma, piuttosto che a una semplice conversione superficiale.

Dal punto di vista tecnico, il repository contiene componenti dedicati al sistema, alla grafica, all’audio, alla logica delle gare, ai menu, ai controlli e alla gestione della memoria. Anche le risorse sono state organizzate separatamente, comprese piste, texture, personaggi, kart, effetti sonori e musica.

La compilazione produce anche una ISO compatibile con OPL, oltre ai file necessari per l’esecuzione tramite uLaunchELF. Il progetto può inoltre essere utilizzato con PCSX2, mentre il README segnala il supporto anche a Play!.

Attenzione: Il porting non è ancora stato testato su una PlayStation 2 reale.

Caratteristiche

  • Tutte le 20 piste, gli 8 personaggi e tutte le modalità: Gran Premio, Prova a tempo, VS da 2 a 4 giocatori e Battaglia.
  • Audio originale: I campioni della ROM vengono mixati con la stessa aritmetica della N64, con output a 48 kHz.
  • Modalità 60 FPS opzionale (R3). Aggiunge un fotogramma intermedio solo se la CPU libera è sufficiente; la logica rimane a 30 Hz come nell’originale.
  • Salvataggio su Memory Card.
  • Schermata di errore con lo stato di ogni thread in caso di blocco del gioco.

Requisiti

  • Toolchain PS2 (ps2dev): mips64r5900el-ps2-elf-gcc, ps2sdk e gsKit, installati in /usr/local/ps2dev o in $PS2DEV.
  • gcc, make, python3 e iconv sul PC.
  • genisoimage, solo per make iso.

Compilazione

bash

. herramientas/entorno.sh
make -j8
make iso

make genera build/ps2/SLUS_999.99 e build/ps2/SMK64ROM.BIN. make iso genera compilazioni/SLUS_999.99.SuperMarioKart64.iso.

Comando Funzione
make DEBUG=1 Pannello delle prestazioni a schermo (L3 + R3) e registro tramite printf
make DEV=1 DEBUG + registro e script di test tramite host: (emulatori)
make DEBUG=1 DEBUG_AUDIO=1 DEBUG + pagina audio nel pannello
make MONOLITICO=1 Un solo ELF con tutta la ROM al suo interno (uLaunchELF senza ISO)
make test Test sul PC (combinatore colore, percorsi del treno e della barca)
make clean Elimina build/

Esecuzione

  • PCSX2: Aprire la ISO presente in compilazioni/.
  • OPL: Copiare la ISO nella cartella CD/ dell’USB, HDD o SMB. make iso lascia una copia con il nome previsto da OPL in compilazioni/disco/OPL/CD/.
  • uLaunchELF: SLUS_999.99 richiede SMK64ROM.BIN nella stessa cartella; in alternativa, utilizzare l’ELF generato con make MONOLITICO=1.

Controlli

N64 DualShock 2
/ /
o
o
/ /
C su / giù /
C sinistra / destra
: 60 FPS sì/no · + : pannello (solo DEBUG)

Struttura

Cartella Contenuto
codigo/sistema/ Avvio, ciclo principale, thread, retrace, caricamento della ROM, salvataggio, decompressione
codigo/sistema/libultra/ Parte portabile di libultra (mantiene i nomi originali)
codigo/graficos/ Interprete delle liste di disegno, memoria delle texture, combinatore colore, output al GS, rendering di giocatori, oggetti e piste
codigo/audio/ Motore audio del gioco, microcodice audio in C e output tramite audsrv
codigo/carrera/ Logica delle gare, fisica, collisioni, telecamera, oggetti, attori e IA
codigo/menus/, codigo/ceremonia/ Menu; podio e crediti
codigo/entrada/ Controller
codigo/memoria/ Pool, buffer e tabelle
codigo/depuracion/ Registro, script di test e pannello delle prestazioni (DEBUG/DEV)
codigo/datos/ Tabelle del gioco ed elenchi di risorse binarie (.s)
incluir/ Header per area. incluir/libultra/ è l’API della N64, non tradotta
recursos/pistas/ Le 20 piste: modelli, liste di disegno, vertici e metadati
recursos/texturas/ Kart, personaggi, Lakitu, oggetti, menu, HUD e texture delle piste
recursos/sonido/ Banchi di strumenti, campioni e musica (musica/*.m64)
recursos/comunes/, recursos/ceremonia/, recursos/logo_inicio/ Blocchi di dati che la ROM conserva compressi
compilacion/ Script del linker
herramientas/ Script per la compilazione (ROM, ISO, texture, audio), compressore e test

Il codice viene collegato in RAM come sulla N64. La “ROM” viene assemblata separatamente: ogni blocco di dati viene collegato al proprio indirizzo segmentato, compresso con MIO0 e salvato in SMK64ROM.BIN, che il gioco carica in background durante il logo.

Download: Source code Mario Kart 64 PS2 Port

Alcune parti di questo articolo sono state generate con l’aiuto dell’intelligenza artificiale.

🔥 Prodotti in promozione e articoli più venduti: PS4

Vedi altri prodotti PS4

Questo articolo contiene link affiliati a Amazon. Se acquisti tramite questi link, potrei guadagnare una commissione senza costi aggiuntivi per te.

Ultimo aggiornamento 2026-10-14 / Link di affiliazione / Immagini da Amazon Product Advertising API

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui
Captcha verification failed!
Punteggio utente captcha non riuscito. Ci contatti per favore!

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.