Home Homebrew Windows NT in esecuzione nativa su console Nintendo Wii

Windows NT in esecuzione nativa su console Nintendo Wii

171
0

Windows NT, il sistema operativo professionale di Microsoft degli anni ’90, è stato portato nativamente sulla console Wii. Un matrimonio improbabile tra tecnologia vintage e retrogaming che dimostra quanto la community possa spingersi oltre i propri limiti.

La chiave del progetto è il processore IBM PowerPC Broadway della Wii, un chip a 32 bit con clock a 729 MHz basato sull’architettura PowerPC 750CL.

Negli anni ’90, Microsoft supportava questa architettura per Windows NT, con build ufficiali per PowerPC fino alla versione 4.0 Service Pack 2, prima di concentrarsi esclusivamente su x86.

La Wii, pur progettata per i giochi, condivide questa compatibilità di base, anche se il suo hardware è molto più limitato rispetto alle workstation PowerPC dell’epoca (come i sistemi IBM RS/6000).

Il Broadway ha solo 24 MB di RAM interna (MEM1) e 64 MB di RAM esterna (MEM2), contro i requisiti minimi di NT di 16 MB (raccomandati 32 MB), il che rende il porting una sfida già di per sé.

Far funzionare Windows NT sulla console Wii ha richiesto comunque un complesso lavoro di reverse engineering e lo sviluppo di driver personalizzati, poiché l’hardware della console non è progettato per supportare nativamente un sistema operativo generico.

Di seguito i principali componenti adattati:

  • Storage: La Wii non ha un disco rigido, quindi il progetto usa la scheda SD come dispositivo di memoria primaria. È stato scritto un driver per il controller SD della Wii (parte del chip Hollywood GPU) che mappa la scheda come un disco SCSI virtuale, permettendo a NT di leggere e scrivere dati. La capacità è limitata dalla dimensione della SD e dalla partizione FAT32, ma è sufficiente per un’installazione base di NT (circa 100-200 MB).
  • Video: Il chip grafico Hollywood della Wii supporta uscite analogiche a 480p, ma NT si aspetta un’interfaccia VGA. Il progetto include un driver video che forza una risoluzione fissa di 640×480 a 60 Hz con profondità di colore a 16 bit. Questo limita la resa grafica rispetto agli standard moderni, ma è adeguato per l’interfaccia spartana di NT.
  • Input: Il controller GameCube, collegato tramite le porte dedicate della Wii, è mappato come un dispositivo HID tramite un driver custom. L’analogico sinistro simula il movimento del mouse, mentre i pulsanti fungono da clic sinistro e destro. È supportata anche una tastiera USB tramite l’adattatore GameCube-to-USB, ma i controller Wii (Wiimote) non sono compatibili per mancanza di driver specifici.
  • Memoria: Con solo 88 MB di RAM totale (di cui una parte riservata al sistema Wii), NT opera al limite. Il progetto usa un loader che disabilita il firmware originale della Wii per liberare quanta più RAM possibile, ma la memoria virtuale è limitata dalla velocità della SD, causando rallentamenti con software pesanti.
  • Audio: Attualmente non c’è supporto per il chip audio DSP della Wii (AIP), perché manca un driver dedicato. Il team sta esplorando modi per integrarlo, ma per ora la Wii con NT è silenziosa.

Installazione

Per avviare Windows NT su console Wii, è necessario disporre di una console con firmware modificato tramite Homebrew Channel. Il processo si articola in tre fasi principali:

  • Preparazione: Scaricare il pacchetto Entii for WorkCubes da GitHub, contenente il loader, i driver e un’immagine disco modificata di Windows NT per PowerPC (ottenibile legalmente solo da copie originali o ISO autorizzate).
  • Configurazione della SD: Copiare i file sulla scheda SD, incluso un file DOL (eseguibile Wii) per avviare il loader tramite Homebrew Channel.
  • Avvio: Il loader esegue un mini-kernel che inizializza l’hardware della Wii, carica i driver e trasferisce il controllo al boot sector di NT. L’installazione richiede circa 20-30 minuti a causa della velocità limitata della scheda SD.

Una volta installato, Windows NT verrà eseguito in circa un minuto, presentando il classico desktop grigio con il cursore pixelato.

Prestazioni e software

Le prestazioni sono accettabili per operazioni leggere: il sistema gestisce l’interfaccia di NT e programmi base come Blocco Note o Paint senza crash evidenti.

Tuttavia, software più complessi, come Quake II per PowerPC o SimCity 2000, girano a framerate molto bassi (10-15 FPS) a causa della RAM limitata e della mancanza di accelerazione grafica.

Solo i binari compilati per Windows NT PowerPC e le applicazioni DOS/Windows 3.x a 16 bit (tramite il sottosistema NTVDM) sono eseguibili, escludendo qualsiasi software moderno.

Changelog

  • I driver video ora supportano le profondità di colore a 8bpp e 16bpp (e la risoluzione 320×240 con bordi neri per i giochi che necessitano di questa modalità per andare a schermo intero).
  • Sono stati corretti  alcuni bug (ad esempio, il test delle modalità nelle proprietà dello schermo ora funziona correttamente, ecc..).
  • La versione beta 2 di NT 4 (build 1314) ora funziona correttamente.
  • A partire da questa versione, è inclusa una copia patchata di DirectX 5 x86 che può essere eseguita su SoftWindows 32, disponibile all’interno dell’archivio zip di rilascio come nt4dx5.ppc.zip – si consiglia di consultare il file install.txt per le istruzioni di installazione. Si noti che alcuni giochi non funzioneranno o richiederanno patch per funzionare a causa di bug specifici del gioco. I risultati potrebbero variare.

Da ciò che è stato testato con alcuni giochi minimi, sono stati riscontrati i seguenti problemi:

  • Giochi (sospettando che molti di questi siano giochi DirectX primordiali, risalenti al 1996 circa) che tentano di bloccare la superficie principale, senza una soluzione di riserva nel caso in cui questa operazione fallisca, continuando a tentare ripetutamente.
    Un esempio di questo è DX-Ball (1996), che tenta ripetutamente di bloccare la superficie principale in un ciclo fino a quando non riesce, causando il blocco del gioco su uno schermo nero quando viene avviato.
  • Giochi che utilizzano istruzioni specifiche per Pentium (cpuid, rdtsc, cmpxchg8b) – L’emulatore di Insignia in SoftWindows 32 sembra emulare un 486 primordiale che non ha l’istruzione cpuid, quindi questi giochi necessitano di patch per funzionare.
    Alcuni di questi giochi utilizzano rdtsc solo per misurare la velocità del processore e, con questa funzione rimossa, dovrebbero funzionare correttamente nell’emulatore.
  • Giochi che verificano specificamente la presenza di NT4 SP3 o versioni superiori, quando in realtà richiedono solo DirectX 3 o superiore.
    Ci sono molti giochi in questa categoria che necessitano di una patch per rimuovere il controllo della versione difettosa.
  • Giochi che tentano di verificare la versione di DirectX richiesta, ma lo fanno in modo errato, o comunque verificano una versione di DirectX successiva a quella che effettivamente utilizzano.
    Alcuni giochi di questa categoria consentono di saltare il controllo della versione tramite un parametro da riga di comando, ad esempio Age of Empires 1 ha l’opzione /nodxcheck.
  • Giochi che richiedono una risoluzione di 800×600 o superiore, che probabilmente necessiteranno di patch estensive per poter essere eseguiti. Un esempio è Age of Empires 2, che con patch minime permette di arrivare al menu, ma si blocca quando si tenta di entrare nel gioco senza patch più estese.

Collegamenti e download

  • Bootloader e driver: Questo è il progetto principale. Il documento readme contiene istruzioni dettagliate su come effettuare l’installazione. Segui le istruzioni e dovresti essere a posto.
  • ISO della porta PowerPC per Windows NT 4.0 Workstation: Questa è la versione di Windows che dovrai installare. Per istruzioni su come utilizzarla, consulta il file readme nel collegamento precedente.
  • Windows NT 4.0 SP2: Ultimo aggiornamento rilasciato per la porta PPC. Dopo aver installato il sistema operativo di base, sostituisci “disk00.iso” con questo file, riavvia il sistema ed esegui ppc\update.exe per installarlo.
  • Motorola SoftWindows 32 per PowerPC: Utility di terze parti che fornisce un’emulazione parziale x86 a 32 bit. Installare dopo aver installato SP2.
  • Microsoft Visual C++ 4.0 per PowerPC: Installare questa versione se si desidera scrivere le proprie app o convertire software open source per Windows NT su Wii.

Fonte: gbatemp.net

LASCIA UN COMMENTO

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

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