Una cartuccia FPGA sul mio MSX, le tracce della comunità Franky e il ritorno di Xenon 2
Tutto comincia con la cartuccia di Ivan
Una cartuccia può essere un accessorio utile oppure l’inizio di una nuova serie di esperimenti. Per me la WonderTANG è diventata entrambe le cose: un modo per aggiungere memoria, archiviazione e audio al mio MSX, ma anche un’occasione per esplorare una strada meno consueta, quella dei giochi Sega Master System. Fino a ritrovare sulla mia macchina un vecchio amore: Xenon 2.
La protagonista di questa prima puntata è la versione realizzata da Ivan Michelucci, socio di MSX Italia. Mi piace raccontarla partendo dall’oggetto che ho tra le mani, perché il formato di una cartuccia classica rende immediatamente familiare una tecnologia molto più recente. Dentro, però, c’è una Sipeed Tang Nano 20K: una piccola scheda FPGA che permette di ricreare diversi circuiti digitali.
Questa è quindi una recensione attraverso la sperimentazione, più che una lista di specifiche. Voglio raccontare che cosa mi ha incuriosito, dove ho cercato le informazioni e perché una prova con un gioco è diventata il filo conduttore della mia WonderTANG Saga.
[SEGNAPOSTO IMMAGINE 1 — Fotografia della cartuccia di Ivan accanto all’MSX]
La WonderTANG di Ivan Michelucci in formato Konami, protagonista di queste prove.
L’origine del progetto e il lavoro di Ivan
Il punto di partenza è il progetto open source WonderTANG di Luis Felipe Antoniosi, conosciuto come Fantoniosi. Il suo lavoro mette a disposizione hardware, sorgenti FPGA e documentazione: è la base da cui nasce anche la cartuccia che sto usando. La disponibilità del progetto rende possibile studiarlo, costruirlo e reinterpretarne la realizzazione fisica.
Una FPGA non è semplicemente un processore che esegue un programma di emulazione. Il bitstream, cioè il file che ne configura la logica, definisce circuiti digitali capaci di lavorare in parallelo. Nel retrocomputing questo consente di riprodurre il comportamento di periferiche e componenti, collegandoli al computer reale.
Ivan è partito dalla WonderTANG V2.0b e ha reingegnerizzato l’hardware per portarlo nel formato di una cartuccia Konami. È un lavoro di organizzazione e riduzione del circuito stampato, che dà al progetto una forma compatta e adatta a un contenitore familiare agli appassionati MSX.
Le funzioni della versione di Ivan sono identiche a quelle della WonderTANG V2.0b originale. Il merito della sua realizzazione sta nella reingegnerizzazione hardware e nel formato: le capacità della cartuccia derivano dal progetto di Fantoniosi e dal core caricato nella FPGA. Per me è una distinzione essenziale, anche per attribuire correttamente il lavoro di ciascuno.
[SEGNAPOSTO IMMAGINE 2 — PCB della versione di Ivan e dettaglio della Tang Nano 20K]
L’elettronica della V2.0b riorganizzata nel formato Konami. Una foto del PCB rende visibile il lavoro di Ivan.
Le funzioni che porto nello slot
La microSD, attraverso Nextor, è la parte più immediata da comprendere: mette a disposizione dell’MSX una memoria di massa pratica per conservare programmi e materiale delle prove. Il Memory Mapper da 4 MB aggiunge RAM organizzata secondo il sistema di paginazione dell’MSX; il software deve naturalmente saperla utilizzare.
La Super MegaRAM SCC+ da 2 MB ha un ruolo diverso dal Memory Mapper. Offre memoria per caricare software destinato a cartuccia e funzioni SCC+, con supporto a diversi mapper. L’OPLL e la ROM MSX-MUSIC completano la panoramica sonora, rendendo disponibile la sintesi FM ai programmi che la supportano.
Mi interessa soprattutto il fatto che queste capacità convivano nello stesso accessorio. Sono funzioni differenti, e conoscere la loro distinzione aiuta a capire perché un programma richieda un determinato caricatore o una specifica configurazione. A questo insieme si aggiunge il VDP Sega Master System con il relativo PSG, implementati nella FPGA per l’ambiente compatibile con Franky.
Da Supersoniqs e Franky alla FPGA
La storia dei giochi Sega su MSX comincia prima della WonderTANG. Con Franky, Supersoniqs ha portato nell’ambiente MSX un’espansione hardware con un VDP compatibile con il Sega Master System. Quella strada ha dato spazio a esperimenti, adattamenti e strumenti sviluppati dalla comunità.
WonderTANG ne riprende la compatibilità attraverso la FPGA. È questo il collegamento che mi interessa: una soluzione nata come espansione fisica continua a vivere in una nuova implementazione, e il lavoro software accumulato negli anni può tornare utile anche oggi.
MSX e Sega Master System condividono la famiglia di processori Z80, ma questo non rende i loro giochi automaticamente intercambiabili. Gli accessi al video, all’audio, ai controlli e alla memoria dipendono dall’architettura della macchina. Una ROM SMS può quindi richiedere un adattamento e un loader capace di predisporre l’ambiente giusto.
Nelle mie prove ho fatto girare giochi storici del Sega Master System sul MSX sfruttando questa possibilità. Mi affascina vedere il computer reale eseguire il codice adattato mentre la cartuccia gli mette a disposizione l’hardware video necessario. Il risultato va valutato gioco per gioco: la presenza del core Franky non equivale a una promessa di compatibilità universale.
[SEGNAPOSTO IMMAGINE 3 — Fotografia della postazione MSX con un gioco SMS in esecuzione]
Il mio MSX durante le prove con il video Sega Master System della WonderTANG.
Xenon 2 e una musica che mi porto ancora dietro
Tra tutti i giochi che avrei voluto provare, Xenon 2: Megablast aveva per me un posto speciale. Era il mio gioco preferito su PC e ci ho passato davvero tanto tempo. La navicella, i nemici e l’atmosfera di quello sparatutto dei Bitmap Brothers sono rimasti legati ai miei ricordi di giocatore.
E poi c’è Megablast di Bomb the Bass. Quel brano mi suona ancora in testa e lo metto tuttora quando faccio qualche DJ set alle feste tra amici. Il legame musicale con Xenon 2 è parte del motivo per cui mi è venuta voglia di ritrovarlo anche sul mio MSX.
Il gioco non ha avuto una conversione ufficiale per MSX. La possibilità che mi si presentava era utilizzare la versione Sega Master System opportunamente adattata per Franky. Il ricordo del PC mi ha spinto alla ricerca, ma la versione che ho eseguito è quella SMS: grafica, caratteristiche e resa sonora vanno considerate nel loro contesto, senza sovrapporle automaticamente all’esperienza sul PC.
La ricerca su MSX Resource Center
Cercando informazioni sono arrivato su MSX Resource Center, soprattutto nelle discussioni dedicate ai progetti Franky e al Supersoniq Franky Loader. Leggere quel materiale mi ha fatto capire quanto lavoro ci fosse dietro un avvio apparentemente semplice.
Alexito è uno dei protagonisti di questa ricerca collettiva. I suoi interventi, insieme a quelli di GDX e degli altri membri della comunità, parlano di loader, patch e adattamenti. Modificare un gioco significa anche riconoscere quali istruzioni accedono alle periferiche e intervenire senza confondere il codice con i dati: un lavoro che richiede conoscenza e pazienza.
È in questo patrimonio di discussioni e software che ho trovato la strada per le mie prove con Xenon 2. Per me il forum è stato una fonte di informazioni preziosa: il racconto parte da ciò che ho letto e recuperato, senza attribuire agli sviluppatori una collaborazione diretta con me che non ho documentato.
La ROM patchata il loader e il risultato
Di quella prova conservo una certezza concreta: ho ancora la ROM patchata che funziona, e l’ho avviata con un loader dedicato all’ambiente Franky. Il riferimento da cui ripartire è la discussione sul Franky Loader. Non ricordo però tutti i dettagli della configurazione, il nome preciso dell’eseguibile usato o la sequenza dei comandi.
Preferisco raccontarlo così, perché trasformare un ricordo incompleto in una procedura dettagliata rischierebbe di far perdere tempo a chi volesse ripetere l’esperimento. La ROM modificata e il loader sono gli elementi centrali della mia prova; per scrivere una guida riproducibile dovrò tornare ai file conservati e verificare la configurazione originale.
Il risultato, invece, lo ricordo bene: Xenon 2 girava sul mio MSX. Per un gioco a cui sono così legato, vederlo funzionare grazie alla cartuccia di Ivan è stata una soddisfazione particolare. Dietro quella schermata c’erano il progetto Franky, il lavoro della comunità e l’implementazione FPGA della WonderTANG.
Tecnicamente il gioco utilizza il VDP Sega ricreato nella FPGA, mentre lo Z80 dell’MSX esegue il codice adattato. Questa prova mi interessa proprio per il modo in cui fa incontrare i due sistemi. L’emozione è personale; il funzionamento è il risultato di contributi molto concreti, distribuiti lungo diversi anni di sperimentazione.
[SEGNAPOSTO IMMAGINE 4 — Schermata iniziale e scena di gioco di Xenon 2 sulla macchina reale]
Xenon 2 in esecuzione sul mio MSX attraverso la WonderTANG e il software adattato per Franky.
Configurazione e aggiornamento del firmware
Con una cartuccia FPGA anche il firmware fa parte dell’esperimento. Prima di programmare o aggiornare la WonderTANG occorre identificare la revisione hardware e scegliere il bitstream compatibile, seguendo la documentazione del progetto. Le indicazioni riferite a una scheda diversa non vanno trasferite automaticamente alla V2.0b di Ivan.
La configurazione comprende anche la preparazione della microSD e gli strumenti richiesti dai programmi che voglio utilizzare. Per queste operazioni considero utili sia il repository di Fantoniosi sia il materiale di Cristiano Gonçalves, The Retro Hacker, tenendo presente che la sua guida alla costruzione documenta una revisione precedente della scheda.
In questo episodio mi fermo al contesto delle mie prove. Una descrizione puntuale dell’aggiornamento e della configurazione dovrà accompagnare file, revisioni e risultati verificati: è il modo più utile per passare dal racconto personale a istruzioni che altri possano seguire.
[SEGNAPOSTO IMMAGINE 5 — Schermata della configurazione o della programmazione FPGA]
Configurazione della WonderTANG. Nello screenshot definitivo saranno riconoscibili la revisione della scheda e il firmware utilizzato.
I ringraziamenti dietro questa schermata
Ringrazio Luis Felipe Antoniosi, Fantoniosi, per aver creato e condiviso WonderTANG, e Ivan Michelucci per la reingegnerizzazione della V2.0b nel formato Konami che ho utilizzato. Sono due lavori distinti che, insieme, hanno reso possibile questa mia avventura.
Ringrazio Supersoniqs per Franky e per la strada aperta tra MSX e Sega Master System. Ad Alexito, GDX e alla comunità di MSX Resource Center va il mio grazie per le patch, i loader, le discussioni e la condivisione delle esperienze che mi hanno aiutato a orientarmi.
Un grazie anche a Cristiano Gonçalves, The Retro Hacker, per la documentazione e la divulgazione dedicate alla WonderTANG. Desidero includere nei ringraziamenti anche Lorenzo Moretti. E ringrazio tutti gli appassionati che continuano a condividere sorgenti e prove: sono spesso quei dettagli, lasciati in un repository o in un forum, a far partire un nuovo esperimento.
Il prossimo episodio con V9990 e OPL4
La cartuccia di Ivan mi ha dato un punto di partenza concreto: memoria, microSD, audio e un ponte verso il mondo Sega. Xenon 2 è diventato il mio modo di attraversarlo, con un po’ di ricerca e parecchia curiosità.
Nell’Episodio 2 sposterò l’attenzione su V9990 e OPL4, sulle nuove possibilità video e audio e sulle prove con i relativi core. Da lì nasce anche un obiettivo per il futuro: tentare di integrare i core in un unico progetto. Che possano funzionare separatamente sulla stessa FPGA non significa che possano convivere senza difficoltà; risorse, collegamenti e temporizzazioni saranno parte del lavoro da verificare.
Per ora mi godo Xenon 2 sul mio MSX. E quando rimetto Megablast in un DJ set tra amici, quella navicella torna subito in mente. La WonderTANG Saga continua.
Link per approfondire
WonderTANG — progetto e documentazione di Fantoniosi
MSX Resource Center — Franky Projects
