A fine anno Stefano mi intima, con dolcezza ferrea, di portare a termine una
serie di progetti che voleva realizzare.
E va bene che sono beta tester, però io mica lo posso seguire sempre, lui
come retrocomputerista e retrogamer è ad un livello di conoscenza ed
esperienza più elevato del mio e poi io non ho tutte le macchine che ha lui.
E va bene che siamo amici e lo sopporto tutti i giorni :-) ma mica mi posso
mettere a costruire aggeggi per macchine che non ho e poi andarmi a comprare
le macchine che non ho per fare il beta tester.
Ah, avete già capito come è andata a finire, vero?
Eh già, l'ho mandato a quel paese!!!!
Seeee, vabbè, secondo me ti sei comprato le pcb, ti sei comprato la
componentistica, ti sei comprato un Intellivision, ti sei costruito la PIRTO
II e hai passato un sacco di tempo a configurare tutti i giochi.....
Ecco, dopo che vi ho fornito tutte le informazioni per rovinare il resto
dell'articolo, dobbiamo innanzitutto ringraziare Andrea Ottaviani,
che ha reso disponibile a tutti questo progetto e dato la possibilità di
giocare e testare la console Mattel Intellivision.
Trovate tutto nel suo repository Github, quello che seguirà è il racconto della mia
realizzazione.
Questa volta non c'è molto da saldare, veramente tre componenti di supporto.
Di seguito la lista del materiale:
1) 1 clone Raspberry Pi Pico RP2040 16MB colore viola
2) 1 transistor BC547
3) 1 diodo 1N4148
4) 1 pulsante verticale 6x6x12 ( con pulsantino lungo)
5) viti M2 da 5x16
6) un circuito stampato
Per la pcb, sul github di Andrea sono presenti tutti i files per potervela far
costruire dalle due famose aziende online che forniscono questo
servizio (JLCPCB
e
PCBWay).
Ho solo un appunto da fare: la distanza delle piazzole del transistor è
veramente piccola, visto lo spazio a disposizione si potevano fare più
grandi e facilitare la saldatura e l'eventuale sostituzione del componente.
Per quanto riguarda invece il microcontrollore, è stato scelto un clone
cinese del Raspberry Pi Pico, il modello RP2040 lite purple type-C con 16Mb
di ram colore viola.
E' un clone e non ha la stessa piedinatura, per cui fate molta attenzione a
quando lo usate o lo userete altrove o viceversa con l'originale.
In maniera del tutto indicativa, a questo
link trovate un esempio di acquisto.
Non attaccate mai a console accesa la cartridge, potreste fare seri danni.
Utilizzate la pcb per effettuare le saldature sui connettori a pettine del microcontrollore
Effettuate le saldature dei pin del connettore avendo l'accortezza di far combaciare il divisore in plastica (nel nostro caso giallo) con la pcb altrimenti non riuscirete ad inserire la scheda nella custodia stampata in 3D.
Dissaldare i connettori su questa scheda è molto difficile e rischiate di
portarvi via qualche pad e qualche pista se non fate mooooolta attenzione e se
avete una stazione dissaldante non potente.
Anche per quanto riguarda il posizionamento del transistor, fatelo dopo aver saldato il microcontrollore tenendolo
un paio mm più basso della sua altezza, sempre per l'inserimento nella custodia.
La prima parte del progetto è conclusa, ora dobbiamo configurare il
microcontrollore, copiare i giochi nel formato opportuno, testare la nostra
scheda ed infine, abbigliarla a dovere con una custodia stampata in 3D.
Dopo aver controllato che la nostra scheda sia esente da errori di montaggio, siamo pronti per passare allo step successivo, la configurazione del microcontroller.
Per eseguire questa operazione, recuperiamo un cavetto usb/usb-c, colleghiamolo
al microcontrollore e poi al nostro computer, avendo l'accortezza di tenere
premuto il pulsante BOOTSEL sulla scheda del microcontrollore stesso.
A schermo si aprirà in automatico la seguente finestra (la scheda apparirà come
un disco fisso con il nome RPI-RP2):
Ora, dal github di Andrea Ottaviani scarichiamo in locale il file di
configurazione PIRTOII_cart_1.01.uf2 (o l'ultima release disponibile con correzione di
precedenti bug).
Trasciniamo ora (copiamo) il file scaricato nella root del nuovo disco:
A questo punto la finestra si chiuderà in automatico e ne apparirà una che
individua il reale disco su cui copieremo i nostri giochi (PIRTOII) con un solo
file welcome.txt.
La prima cosa che viene da fare è scaricare i files delle rom da internet e
copiarli sulla cartuccia, però non fatelo, sennò rimarrete delusi come lo sono
rimasto io.
Nel github non è ben spiegato bene ma ogni rom deve essere associata ad un file
di configurazione.
Ogni gioco, in questa console, ha associato uno spazio di memoria in cui può
funzionare.
Per come è stato programmato il microcontrollore, ogni rom deve essere associata
ad un file di configurazione che descrive appunto lo spazio di memoria in cui
verrà caricata e che verrà utilizzata dal gioco.
Il terzo link riporta un file con l'associazione del gioco ad un numero: al
numero è associato un file di configurazione (quarto link)in cui sono riportati
i parametri della memoria.
Prendete ora una rom con estensione .bin e copiatela nel disco del PIRTO-II.
Controllare nel file della mappa di memoria il vostro gioco a che configurazione
di memoria è associato.
Copiate il file di configurazione di memoria nel disco del PIRTO-II (numero.cfg).
Rinominate il file numero.cfg in cui al posto del numero c'è esattamente il nome
del vostro gioco (senza estensione .bin).
Collegate la vostra PIRTO-II al vostro Intellivision e testate che il gioco
parta correttamente.
Io, dopo aver scaricato le ROM ed aver perso qualche ora nella copia e
associazione dei file di configurazione, ho scelto di dividere tutti i giochi in
cartelle, in modo da avere una piccola lista di giochi per volta.
Scegliete il metodo di archiviazione che più vi aggrada (potrete caricare max 63
files nella stessa cartella).
Continuando ad informarmi per pura curiosità sulle realizzazioni fatte da altri e le migliorie
apportate da Andrea al firmware, per imparare comunque qualcosa di nuovo, ho appurato che nell'ultima revisione è possibile
inserire direttamente i file di configurazione nella root del PIRTO-II.
Il firmware provvederà in automatico a prendersi la versione 0.cfg ed associarla
in automatico al gioco (la versione 0.cfg è la mappatura più comune dei giochi
per Intellivision); se il gioco non dovesse partire, sicuramente avrete bisogno
di rinominare il file di configurazione come spiegato sopra.
In ogni caso fate i vostri test funzionali ed informatevi online.
Nel caso in cui il gioco non dovesse partire vi apparirà a schermo la scritta
"LOADING GAME - PLEASE WAIT - 1 ....." con il led del PIRTO-II che lampeggia con
regolarità.
Quasi sempre questo messaggio è dovuto alla mancanza del file .cfg o alla sua
errata associazione.
Potreste anche avere problemi con la lunghezza del nome gioco (non superate i
30 caratteri ma per comodità di lettura rinominate la rom in modo che entri il
titolo a schermo) o con la presenza
di spazi o caratteri speciali (ad esempio la virgola), fate i vostri test ed
informatevi ai link forniti.
Potreste avere dei problemi con i controller, premendo una volta sembrerà che
abbiate invece premuto più volte, potrebbe essere il vostro controller oppure il
PIRTO-II, semplicemente prendeteci la mano e non arrabbiatevi se parte un altro
gioco al posto di quello che avevate scelto oppure vi ritrovate in una cartella
diversa da quella scelta.
Ad esempio con la rotella, su e giù per scorrere i titoli, sinistra e destra per
passare da una pagina all'altra, per i numeri sperimentate voi, ad esempio
provate ad usare i tasti 2 e 8 e gli altri.
Quando accendete la console, potreste dover premere il tasto reset sia sulla
console stessa poi successivamente sulla PIRTO-II.
Il problema è dovuto ai segnali inviati dalla console alla cartuccia, dipende da
come viene gestito il segnale di reset e da come la cartuccia riconosce di
essere collegata alla console oppure al computer.
Se fate il doppio reset comunque le due macchine si riallineano e tutto partirà
regolarmente.
Vi lascio un video sul funzionamento della cartuccia.
Non fate caso ai problemi video con mancanza di parti di gioco, la mia Intellivision ha un chip (uno solo spero) di ram che è mal funzionante e che peggiora con il riscaldamento.
La cartuccia ha una sua diagnostica funzionante tramite i lampeggii del led del
microcontrollore: il numero di lampeggi tra la pausa più lunga rappresenta il
codice di errore: qui non riesco a darvi ulteriori informazioni in quanto non
sono riuscito a trovarle.
Di seguito alcuni link da cui recuperare reperire giochi per Intellivision
(poi usate le dita delle mani per cercare in internet altro materiale se vi
interessa avere in collezione tutti i giochi usciti per questa console):
Anche
Nightfallcrew ha costruito e testato la PIRTO-II, nella sua
pagina potete trovare le sue impressioni e la sua versione di rom caricate.
Non ho approfondito la differenza tra le rom con estensione .bin, quelle con
estensione .rom e quelle
con estensione .int, lascio a voi il piacere di scoprire le diverse metodologie
di preservazione delle cartucce.
Esiste comunque un programma che permette di convertire i file .rom in file .
bin e potete trovarlo
qui.
Una volta scompattati i file, troverete l'eseguibile bin2rom.exe, trovate il suo
uso online.
Comunque i file .int possono essere rinominati in .bin (informatevi meglio).
Anche il mitico SukkoPera ha creato una versione migliorata della PIRTO-II con
scheda SD per permettere il salvataggio di un maggior numero di giochi. Trovate
la sua versione
qui.
Siamo quasi giunti alla conclusione del nostro racconto, momento in cui è
necessario fornire un bel vestitino alla nostra cartuccia.
Sempre sul github di Andrea sono presenti due modelli da stampare con la 3D, per
entrambi sarete costretti a limare esternamente i supporti della pcb dove sono
passanti le viti di chiusura.
In realtà a meglio vedere, la modifica del supporto è stata fatta dal lato
sbagliato, su quello di chiusura invece che su quello inferiore.
Uno vale l'altro, visto che Andrea ha aggiunto un modello migliorato, partite
direttamente con quello.
Qualche foto, giusto per arricchire il nostro racconto, durante la stampa e a
stampa conclusa (senza le viti che ancora le devo cercare nel cassetto della
ferraglia :-).
E così siamo giunti alla fine del nostro racconto.
Grazie ancora ad Andrea Ottaviani e a tutti coloro che hanno reso possibile
questa cartuccia.
Speriamo di non dover fare il beta tester per un pò di tempo sennò caro mi costa
:-) :-) :-)