Home News Disponibile una nuova porta di Super Mario 64 per console Wii...

[Scena Wii U] Disponibile una nuova porta di Super Mario 64 per console Wii U

1140
1

Cominciamo a raccogliere i primi frutti dovuti alla fuga di materiale contenente codice sorgente e repository di sviluppo appartenenti a Nintendo, tramite questi file un developer ha sviluppato un primo porting di Super Mario 64 per console Wii U.

Il README attualmente non include alcuna istruzione su come ottenere le dipendenze per la compilazione di Super Mario 64 per console Wii U, i più talentuosi possono comunque seguire il tutorial ProgrammingOnTheU (e in particolare la sezione WUT).

Guida

[stextbox id=’info’]Nota: Su Windows, bisogna utilizzare principalmente MSYS2.[/stextbox]

  1. Installare git, make, python3 e SDL2 utilizzando pacman: (dkp-)pacman -S git make python3 wiiu-sdl2.
  2. Clonare la repository: git clone https://github.com/aboood40091/sm64-port.git. Questo comando andrà a creare una nuova directory sm64-port, entrate al suo interno digitando il comando cd sm64-port. Assicuratevi che TARGET_WII_U sia impostato su 1 nel Makefile. (TARGET_WII_U? = 1)
  3. Posizionare la ROM di Super Mario 64 rinominata in baserom.<VERSION>.z64 nella directory principale della repository per l’estrazione degli asset, dove VERSION può essere us, jp o eu.
  4. Digitare il comando make per compilare. Qualifica la versione tramite make VERSION=<VERSION>. Aggiungere -j4 per migliorare la velocità di compilazione (dipende dall’hardware in base alla quantità di core CPU disponibili).
  5. Il file binario eseguibile si troverà in build/<VERSION>_wiiu/sm64.<VERSION>.f3dex2e.rpx.
  6. Potrete quindi procedere con l’installazione del file RPX nel menu principale o come app nell’Homebrew Launcher.

Linux

  1. Prerequisiti di installazione (Ubuntu): sudo apt install -y git build-essential pkg-config libusb-1.0-0-dev libsdl2-dev.
  2. Clonare la repository: git clone https://github.com/aboood40091/sm64-port.git. Questo comando andrà a creare una nuova directory sm64-port, entrate al suo interno digitando il comando cd sm64-port. Assicuratevi che TARGET_WII_U sia impostato su 1 nel Makefile. (TARGET_WII_U? = 1)
  3. Posizionare la ROM di Super Mario 64 rinominata in baserom.<VERSION>.z64 nella directory principale della repository per l’estrazione degli asset, dove VERSION può essere us, jp o eu.
  4. Digitare il comando make per compilare. Qualifica la versione tramite make VERSION=<VERSION>. Aggiungere -j4 per migliorare la velocità di compilazione (dipende dall’hardware in base alla quantità di core CPU disponibili).
  5. Il file binario eseguibile si troverà in build/<VERSION>_pc/sm64.<VERSION>.f3dex2e.

Windows

  • Installare e aggiornare MSYS2, seguendo tutte le indicazioni elencate sul sito: https://www.msys2.org/.
  • Dal menu di avvio, eseguire MSYS2 MinGW e installare i pacchetti richiesti a seconda del computer (NON avviare “MSYS2 MSYS”):
    • 64 bit: Avviare “MSYS2 MinGW 64 bit” e installare: pacman -S git make python3 mingw-w64-x86_64-gcc
    • 32 bit (funziona anche su macchine a 64 bit): Avviare “MSYS2 MinGW 32 bit” e installare: pacman -S git make python3 mingw-w64-i686-gcc
    • NON installare per errore il pacchetto chiamato semplicemente gcc.
  • Il terminale MSYS2 ha una directory di lavoro corrente che inizialmente è C:\msys64\home\<username> (home directory). Al prompt, vedrete la directory di lavoro corrente in giallo. ~ è un alias per la directory home, è possibile modificare la directory di lavoro corrente in My Documents inserendo cd/c/Users/<username>/Documents.
  • Clonare la repository: git clone https://github.com/aboood40091/sm64-port.git. Questo comando andrà a creare una nuova directory sm64-port, entrate al suo interno digitando il comando cd sm64-port. Assicuratevi che TARGET_WII_U sia impostato su 1 nel Makefile. (TARGET_WII_U? = 1).
  • Posizionare la ROM di Super Mario 64 rinominata in baserom.<VERSION>.z64 nella directory principale della repository per l’estrazione degli asset, dove VERSION può essere us, jp o eu.
  • Digitare il comando make per compilare. Qualifica la versione tramite make VERSION=<VERSION>. Aggiungere -j4 per migliorare la velocità di compilazione (dipende dall’hardware in base alla quantità di core CPU disponibili).
  • Il file binario eseguibile si troverà in build/<VERSION>_pc/sm64.<VERSION>.f3dex2e.exe all’interno della repository.

Risoluzione dei problemi

  1. Se si ottiene make: gcc: command not found o make: gcc: No such file or directory di questo tipo sebbene i pacchetti siano stati installati correttamente, probabilmente hai lanciato una versione errata di MSYS2. Leggere di nuovo le istruzioni. Il prompt del terminale dovrebbe contenere “MINGW32” o “MINGW64” in testo viola e NON “MSYS”.
  2. Se si ottiene Failed to open baserom.us.z64! probabilmente non si è riusciti a posizionare il baserom nella repository. Puoi scrivere ls per elencare i file nella directory di lavoro corrente. Se ti trovi nella directory sm64-port, assicurati di vederlo qui.
  3. Se si ottiene make: *** No targets specified and no makefile found. Stop., significa che non ci si trova nella directory corretta. Assicuratevi che il testo giallo nel terminale termini con sm64-port. Utilizzare cd <dir> per entrare nella directory corretta. Se scrivi ls dovresti vedere tutti i file del progetto, incluso Makefile se tutto è corretto.
  4. Se si verifica un errore, assicuratevi che i pacchetti MSYS2 siano aggiornati eseguendo pacman -Syu e pacman -Su. Se la finestra MSYS2 si chiude immediatamente dopo averla aperta, riavviare il computer.
  5. Quando si esegue gcc -v, assicuratevi di vedere Target: i686-w64-mingw32 o Target: x86_64-w64-mingw32. Se appare Target: x86_64-pc-msys, significa che avete aperto la voce del menu di avvio di MSYS errata o hai installato il pacchetto gcc non corretto.

Per assistenza con la creazione della versione Wii U, non esitare a unirti al server Discord ForTheUsers collegato di seguito.

Debug

Il codice può essere sottoposto a debug utilizzando gdb. Su Linux installare il pacchetto gdb ed eseguire gdb <eseguibile>. Su MSYS2 installare eseguendo pacman -S winpty gdb ed eseguire winpty gdb <eseguibile>.

Il programma winpty si assicura che la tastiera funzioni correttamente nel terminale. Considerare di cambiare anche il flag -mwindows compilato in -mconsole per poter vedere stdout/stderr e per poter premere Ctrl + C per interrompere il programma.

Nel Makefile, assicuratevi di compilare i sorgenti utilizzando -g invece di -O2 per includere i simboli di debug. Guarda qualsiasi tutorial online su come usare gdb. Per la porta Wii U, puoi accedere utilizzando WHB, che accederà sia all’OSReport nativo della console che a Udp.

Costruzione della ROM

Volendo è possibile creare anche la ROM N64 con questa repository. Consultare: https://github.com/n64decomp/sm64 per le istruzioni.

Struttura del progetto

sm64
├── actors: comportamenti degli oggetti, layout geografico e elenchi di visualizzazione
├── asm: codice assembly scritto a mano, intestazione rom
│ └── non_matchings: asm per le sezioni non corrispondenti
├── assets: animazione e dati demo
│ ├── anims: dati di animazione
│ └── demos: dati demo
├── bin: file C per ordinare gli elenchi di visualizzazione e le texture
├── build: directory di output
├── data: script di comportamento, misc. dati
├── doxygen: infrastruttura di documentazione
├── enhancements: esempi di modifiche alla sorgente
├── include: file di intestazione
├── levels: script di livello, layout geografico ed elenchi di visualizzazione
├── lib: codice libreria SDK
├── rsp: audio e codice assembly Fast3D RSP
├── sound: sequenze, campioni di suoni e banchi di suoni
├── src: codice sorgente C per il gioco
│ ├── audio: codice audio
│ ├── buffers: stack, heap e buffer delle attività
│ ├── engine: motori di elaborazione degli script e utilità
│ ├── game: comportamenti e resto della fonte del gioco
│ ├── goddard: schermata introduttiva di Mario
│ ├── menu: schermata del titolo e menu di selezione dei livelli di file, azione e debug
│ └── pc: codice porta, renderer audio e video
├── text: dialoghi, nomi dei livelli, nomi degli atti
├── textures: skybox e dati di texture generici
└── tools: costrutto degli strumenti

Download: Source code Super Mario 64

Fonte: gbatemp.net

1 commento

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.