#337 – Game Boy

Pillole di Bit
Pillole di Bit
#337 - Game Boy
Loading
/

Una console innovativa, tascabile, con un enorme potenziale, che ha cambiato il mondo dei videogiochi. Non è la storia di questa console, ma un’occhiata al suo interno.

Per leggere lo script fai click su questo testo

Nella storia delle console e dei videogiochi Nintendo ha sempre avuto un peso considerevole. Le sue console, in un modo o nell’altro, hanno segnato un passo importante e ce le ricordiamo tutti, credo che anche i più giovani sappiano di cosa parlo se nomino il NES, che sta per Nintendo Entertainment System, uscito negli anni 80, all’inizio in Giappone, verso la fine in Italia.
Ma c’è stata una console che ha lanciato un nuovo modo di giocare, mai tentato prima, se non con giochi che alla fine erano poco più che piccole animazioni e che, devo essere sincero, ho avuto e ho amato, con gli schermi LCD, che facevano vedere sempre le stesse scene, tipo i GIG tiger. Io ne avevo due di sottomarca.
Sto parlando del celeberrimo Game Boy, che è uscito nel 1989 e ha letteralmente cambiato il mondo dei videogiochi. Non voglio raccontarvi la storia, ma lo apriamo e vediamo come era fatto dentro.

Mi è venuta l’idea di fare questa puntata molti mesi fa, soffermandomi in ufficio di fronte a un quadretto di Grid Studio, con all’interno l’esploso di un Game Boy, con schemi e descrizioni. Non un disegno, un vero Game Boy smontato e incollato a pezzi nel quadretto.
Allora sono andato a cercare come funzionava all’interno, perché alla fine, il tempo passa, ma io resto curioso come una scimmia.
Vi lascio il link al sito di Grid Studio, fanno cose adorabili.
Una console assomiglia in tutto e per tutto a un computer.
La scheda madre, pertanto, nella sua semplicità di una scheda madre degli anni 80, è composta dagli imprescindibili componenti di un generico computer:
Una CPU
Un chip con della memoria RAM
il connettore per la cartuccia
l’interruttore per l’accensione e il volume
il connettore per il display
il connettore per collegarlo a dispositivi esterni
il sistema di comunicazione a infrarosso
l’amplificatore audio
La CPU è stata creata apposta per Nintendo, non è un prodotto standard di mercato, è un SoC, esattamente come potrebbe essere il Raspberry oggi, un System on a Chip, all’interno c’è il processore, il gestore del video, il chip dell’audio, tutto insieme. Erano già molto avanti.
La CPU era una via di mezzo tra uno Z80 e un 8080, con un set di istruzioni limitato all’utilizzo necessario alla console, c’erano solo alcune istruzioni dello Z80, alcune dell’8080 e alcune specifiche per il GameBoy.
Io usavo lo Z80 alle scuole superiori, programmandolo in assembler, per far accendere 6 LED di un semaforo, Nintendo ci ha fatto girare Tetris.
Cosa sono le istruzioni?
In ogni processore c’è una specie di programmazione interna che, in base a dei valori memorizzati in celle di memoria chiamate registri dicono alla CPU cosa deve fare, proprio a basso livello.
Invento.
Se l’istruzione, in esadecimale, è 0x0F, allora prendi i due valori memorizzati nei registri 1 e 2, li sommi e metti il risultato nel registro 1
Il processore del Game Boy è stato fatto fare da Nintendo su richieste specifiche apposta per questa console, con istruzioni specifiche e non era possibile trovarne uno uguale sul mercato.
Così non sarebbe stato possibile fare un clone della console.
La CPU andava a circa 4,19MHz
Quando è uscito il Game Boy Color, la frequenza del clock è stata aumentata a 8,38MHz
Il Sega Master System, che aveva solo uno Z80, aveva la frequenza di clock a 1MHz.
La CPU del Game Boy poteve indirizzare ben 64 KB di memoria.
Quando ne hai poca, la gestisci bene.
C’è da fare una distinzione rispetto ai computer moderni.
Adesso i processori hanno bus diversi per accedere a cose diverse.
Un bus per la memoria RAM, uno per il disco, uno per tutte le schede di espansione, a seconda della tecnologia usata, il più comune è il PCI express.
Ognuno di questi ha un suo sistema di indirizzamento, indipendente dagli altri.
Sul Game Boy il bus di indirizzi era solo uno, in quei 64KB c’erano tutti i tipi di memoria e lettura scrittura dati necessari a far funzionare la console.
8KB erano dedicati alla memoria di lavoro
8K erano dedicati alla memoria video
una parte della memoria indirizzabile era nella cartuccia del gioco che, per il primo Game Boy poteva contenere 32KB o, con un artificio, fino a 1MB e per il Game Boy color fino a 8MB, c’erano poi 127K in una specie di memoria ad accesso molto veloce e il resto degli indirizzi erano dedicati ai controller e alle periferiche di output, come detto prima, tutto nello stesso bus.
Vorrei che vi soffermaste un attimo alle cartucce di gioco.
32KB o 1MB per un gioco del GameBoy monocromatico
fino a 8MB per il GameBoy a colori.
Un gioco intero, grafica, suoni, testi, tutta la programmazione e le dinamiche di gioco.
Oggi, una foto RAW di una macchina fotografica qualunque pesa 25MB, un videogioco per una console attuale, viaggia da qualche centinaia di MB a un centinaio di GB.
E sono aggiornabili, le cartucce no, quelle come uscivano, così erano per sempre.
Il Game Boy color ha aumentato la memoria, ma non la dimensione del bus per indirizzarla, per gestirla ha un piccolo flag, di un bit, se a 0, il bus indirizza la prima parte, se a 1, indirizza la seconda.
Il chip SoC, aveva anche una parte per la gestione del calcolo grafico, chiamata PPU
Il display del Game Boy era 160×144 pixel, con 4 toni di grigio, o di verde, nella prima versione.
Per fare il render della schermata di gioco il Game Boy usava un sistema a strati.
in una parte della memoria video venivano memorizzati tutti gli sprite necessari al gioco, in blocchi 8×8 pixel, per poter venire poi prelevati, composti e messi in una certa coordinata.
Poi lo sfondo, era un’immagine statica di 256×256 pixel, più grande dello schermo, in questo modo si poteva selezionare quale parte far vedere e si poteva farlo muovere.
Sopra tutto questo veniva messo lo schermo, grande come il display, che conteneva i dati sempre fissi, come il punteggio o le vite, ad esempio.
Disegnato lo schermo, con lo sfondo che si poteva spostare, venivano piazzati e fatti muovere fino a 40 sprites per volta, gestendo anche l’overlay, se uno era sopra un altro, la parte sotto non veniva mostrata.
Il Game Boy color raddoppiava la memoria video, il numero degli sprites e aumentava, ovviamente, i colori visibili, da 4 a oltre 32.000
Sempre all’interno del SoC c’èra la gestione dell’audio, chiamata APU, che gestiva 4 canali audio, mixati poi nello speaker che era mono.
2 canali generavano solo impulsi, il tipico bip, che davano la melodia, un canale poteva generare un’onda sinusoidale programmabile e l’ultimo canale generava del disturbo, tipo il rumore delle esplosioni.
Direi abbastanza ingegnoso.
Come ogni computer, anche il Game Boy aveva un suo sistema operativo.
All’avvio della console venivano inizializzate la ROM e il SoC.
Dalla cartuccia veniva poi prelevato il disegno del logo di Nintendo, che doveva combaciare con il logo all’interno della ROM della console, a mo’ di sistema anti falsificazione.
Il logo veniva fatto scendere dal bordo superiore dello schermo.
Veniva fatto un controllo sulla dimensione della cartuccia
Il gioco veniva avviato.
Semplice ed efficace.

Pillole di Bit è un podcast gratuito da sempre e disponibile per tutti, ma realizzare un podcast ha dei costi in servizi, hardware e software.
Ma non solo, ha anche bisogno di un ritorno in soddisfazione per chi lo produce, settimana dopo settimana, da quasi 10 anni.
Per coprire costi e soddisfazione voi ascoltatori potete contribuire in modo pratico, mettendo mano al portafogli, con una donazione, che sia ogni tanto o un abbonamento mensile, dell’importo che volete, basato su quanto potete permettervi e quanto vale per voi la produzione e i contenuti delle puntate.
Ogni volta che vedo una notifica, sono contento, vuol dire che il mio lavoro ha generato un valore reale.
Potete farlo in modi diversi, tramite Satispay, Paypal o con il Value for Value, con le applicazioni che lo gestiscono, se volete più informazioni sul value 4 value potete fare riferimento alla puntata 297.
Se non avete un account Paypal e avete una carta di pagamento, ho aggiunto SumUp come sistema di pagamento, ha anche tariffe più basse di Paypal per me, ma non fa gli abbonamenti.
I più sinceri ringraziamenti vanno a chi ha voluto donare qualcosa in questa settimana, nel dettaglio
Gli abbonati
Valerio
Giorgio
Le donazioni spot
Jacopo
Luca
E chi usa il value for value
Nicola Gabriele
Paolo
Jackal, grazie del boost, ricorda che gli elettricisti sono allergici al cat5e o superiori, basta dir loro di posare delle canaline vuote e poi ci pensi tu, io a casa ho fatto così e tutto è andato via liscio
Oltre a donare direttamente, potete anche usare i link sponsorizzati, che a fronte di un vostro ordine, a me riconoscono una percentuale, come Amazon o uno dei migliori provider internet che potete trovare sul mercato: Ehiweb, per loro metto la mano sul fuoco, tutte le persone che si sono abbonate mi hanno dato feedback estremamente positivi, li ho anche conosciuti di persona, sono tutti giovani e fantastici e ho scoperto un sacco di servizi interessanti, nelle prossime puntate vi aggiorno.
Il podcast cresce anche con il passaparola, diffondete l’ascolto dei podcast con amici, colleghi e parenti, ce ne sono molti da ascoltare, di ogni genere e ognuno può farsi la propria stazione radio personalizzata, anche con Pillole di Bit al suo interno, i nuovi ascoltatori sono sempre una cosa bella.

A volte si può voler cancellare qualche traccia del proprio passato, che, se scritto nei social, resta per sempre ed è ricercabile da chiunque. Anche dai sistemi che allenano le AI.
Da quando quell’essere spregevole si è comprato Twitter, cancellare i vecchi tweet è diventato un problema.
Ma grazie a Gabriele, ho trovato questo script, che con un po’ di lavoro, permette di cancellare i vecchi tweet senza pagare e a velocità abbastanza rapide.
Non è un clicca e fai, ma ci va un po’ di impegno.
Si deve scaricare il proprio archivio da Twitter
Si devono prendere delle variabili dalla modalità per sviluppatori da Chrome
Si deve modificare lo script che si trova sulla pagina di Github che vi lascio nelle note e la si deve incollare nella console di Chrome per sviluppatori, quando chiesto, si importa il file Indice dei tweet che si trova nell’archivio scaricato da Twitter.
Mettendo un anno per volta, in una mezz’ora cancella tutti i tweet di quell’anno.
Utile se si vuole fare pulizia, io ho tolto tutti i tweet più vecchi del 2022

Siamo arrivati alla fine di questa puntata di Pillole di bit, vi ricordo che tutti i link relativi alle cose dette sono nelle note, che trovate sulla vostre app o sul sito.
Io sono Francesco, produttore e voce di questo podcast e vi do appuntamento a lunedì prossimo, per la prossima puntata, disponibile su Feed RSS, o su tutte le piattaforme di podcast, vi registrate e la puntata vi arriva automagicamente.
E se a fine mese il grafico a torta delle donazioni nella barra laterale del sito si riempie, arriva anche la puntata extra di Pillole di Bit Stories, se si riempie è grazie alle donazioni, se la puntata esce, è merito vostro!
Per cercare di raggiungere il 100% pilloledib.it/sostienimi o i pulsanti colorati nella barra laterale del sito

Grazie per avermi ascoltato!

Ciao!

Pillole di Bit (https://www.pilloledib.it/) è un podcast indipendente realizzato da Francesco Tucci, se vuoi metterti con contatto con me puoi scegliere tra diverse piattaforme:
Telegram
TikTok (per ora è un esperimento)
Twitter
BlueSky
– Il mio blog personale ilTucci.com
– Il mio canale telegram personale Le Cose
Mastodon personale
Mastodon del podcast
– la mail (se mi vuoi scrivere in modo diretto e vuoi avere più spazio per il tuo messaggio)

Rispondo sempre

Se questo podcast ti piace, puoi contribuire alla sue realizzazione!
Con una donazione diretta:
– Singola con Satispay
Singola o ricorrente con Paypal
Usando i link sponsorizzati
– Con un acquisto su Amazon (accedi a questo link e metti le cose che vuoi nel carrello)
– Attivando uno dei servizi di Ehiweb

Se hai donato più di 5€ ricordati di compilare il form per ricevere i gadget!

Il sito è gentilmente hostato da ThirdEye (scrivete a domini AT thirdeye.it), un ottimo servizio che vi consiglio caldamente e il podcast è montato con gioia con PODucer, un software per Mac di Alex Raccuglia