PIRTO II per console Intellivision

Torna alla lista delle costruzioni hardware


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.

Tutta questa procedura è descritta nel forum di Atariage al seguente link oppure a questo link (con varie digressioni sui giochi con problemi), scaricatevi i due file messi a disposizione, la mappa di memoria dei giochi Intellivision e le configurazioni di memoria da associare ai giochi.

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):

1) Planetemu.net
2) TOSEC su Archive.org
3) Emu-land.net

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 :-) :-) :-)

Torna alla lista delle costruzioni hardware