Il Raspberry Pi Pico è già stato impiegato in ambito retrogaming, ma stavolta siamo andati ben oltre la semplice emulazione di vecchi sistemi. Kevin Vance, un programmatore di computer della Pennsylvania, ha mosso i primi passi nel gaming, nella progettazione e programmazione BASIC su un Commodore 64, prima di passare alla realizzazione di giochi su PC negli anni ’90. Ora, è tornato alle sue origini con un progetto Raspberry Pi Pico che vede una delle minuscole schede microcontroller Raspberry Pi Pico chiusa nella shell di una cartuccia ROM C64. Tanto per rinfrescarvi la memoria, il Commodore 64 era un computer domestico a 8 bit con 64 kb di RAM, uscito nel 1982 e basato sulla CPU MOS Technology 6510 che girava a circa 1 MHz a seconda della localizzazione.
La cartuccia, che vede il Pico posizionato su un PCB personalizzato, ha una serie di contatti sul bordo da inserire nello slot sul retro del C64. Dovete sapere che, all’epoca, le cartucce non erano così ampiamente utilizzate, poiché la distribuzione di software su disco o nastro era molto più economica. Nonostante questo, c’era comunque una buona quantità di software scritto e flashato su questo tipo di dispositivo. Il C64 si avvia in pochi secondi utilizzando una cartuccia e le sue 16 linee di indirizzi danno accesso all’intero spazio offerto. Inizialmente era limitato a 16 KB di spazio di archiviazione, anche se più avanti nel corso della vita della macchina alcuni produttori sono stati in grado di superare questa limitazione.
Il progetto di Vance è iniziato nel 2020, quando ha rimesso in funzione il suo vecchio Commodore 64. Inizialmente ha provato a programmare alcuni “word games”, ma ha scoperto che c’era bisogno di molti floppy disk per contenere l’intero dizionario inglese. Per chi non lo sapesse, i “word games” o “giochi di parole” sono sempre stati molto diffusi in ambito didattico o come giochi di società da fare con gli amici nelle tipiche serate invernali sgranocchiando snack. Volete qualche esempio? Beh, avete mai giocato a “L’impiccato” o “Indovina la parola“? Ecco, questi sono esempi di “word game”.
Tornando prepotentemente in argomento, l’idea di sfruttare lo slot cartuccia, tuttavia, era molto allettante e il suo primo tentativo di progettare un PCB è stato come correttore ortografico della cartuccia ROM con un Cypress PSOC 5LP come coprocessore. Funzionava abbastanza bene, ma era leggermente troppo sottile per lo slot. Vance stesso, dichiara: “Quando ho scoperto il Pico, ho lasciato totalmente perdere quel progetto”. E aggiunge “Aveva abbastanza memoria flash e il regolatore di tensione integrato, il tutto molto più economico del PSOC 5. Inizialmente, stavo per fare la stessa cosa, ovvero usare una ROM con il Pico come coprocessore. Ma leggendo le capacità del Pico, ho iniziato a pensare che forse non avevo nemmeno bisogno della ROM!”.
La tensione, come al solito, costituisce un problema, poiché lo slot della cartuccia C64 funziona a 5 V e il Pico a 3,3 V, quindi occorre inserire dei buffer sul PCB per abbassarlo a una tensione sicura per il Pico stesso. Quando il C64 si avvia, legge una finestra da 16 KB dei 164 KB di RAM del Pico come se fosse una ROM. Il codice viene trasferito nella RAM del C64 in blocchi da 1 KB e. Come potete vedere nel video, al momento, c’è solo un programma di visualizzazione di immagini che mostra il logo Raspberry.
https://www.youtube.com/watch?v=zC7R9OgKrbg
“È stato molto divertente capire come farlo funzionare”, dice Vance. “Questo era uno di quei progetti in cui ogni passo era un “Non posso credere che abbia funzionato! Credo di dover andare avanti ora…”. Eh già, bravo Kevin, prosegui e mostraci di cosa sei capace!
Volete provarci anche voi? Non preoccupatevi, Vance ha già messo tutto il codice, insieme al design del PCB e ai dettagli del firmware, sul suo account GitHub.
Iscriviti ai nostri gruppi Telegram