Avrei voluto scrivere una trilogia di Java Pills durante le feste. Peccato che siamo a gennaio. Peccato soprattutto che oggi non parleremo di Java :D
Parleremo di C, di Game Boy Advance (GBA) e di una piccola applicazione che gira su hardware reale di oltre vent'anni fa.
📌 Perché sviluppare per GBA nel 2025?
Nel Natale del 2002 scartavo il mio primo videogioco: Super Mario Advance 2. I mondi e la "magia" dietro quello schermo mi colpirono un macello.
Fast forward di oltre vent'anni: oggi sviluppo software (prevalentemente Java), e durante le vacanze natalizie – tra pranzi infiniti, gite, pisolini e Stranger Things – ho trovato un po' di tempo per sviluppare una app per GBA. Un po' per nostalgia, un po' per curiosità tecnica.
📌 Un'app vera, su hardware vero
Il progetto è semplice: un text file reader per GBA.
- file browser con cartelle (simulate)
- text viewer
- scrolling riga per riga
- page scrolling con L/R
- ellissi di nomi lunghi
Il tutto gira su GBA reale, tramite EverDrive. Non solo in emulatore. Il binario finale pesa circa 85 KB, su una macchina con 256 KB di RAM e uno schermo 240×160. Giusto per dare un'idea del contesto.
📌 Un modo diverso di programmare
Venendo dal mondo Java, il cambio di paradigma è netto. Qui:
- la memoria è tua responsabilità
- ogni buffer ha una dimensione precisa
- l'input non è una tastiera
- la UI va progettata con attenzione
- i vincoli sono reali e non negoziabili
È un modo di programmare molto più vicino all'hardware, e decisamente meno indulgente.
📌 Open source e hardware che non muore
Il progetto è open source. Non come manifesto, ma come scelta pratica: l'open source è uno dei motivi per cui piattaforme e hardware non scompaiono davvero. Il lavoro non ha riguardato solo il software: la console è stata ripristinata partendo dalla scheda madre originale.
- hardware prodotto in Giappone
- componenti moderni aftermarket
- EverDrive sviluppata in Ucraina
- software scritto in Italia
- AI come acceleratore globale
Tutto perfettamente normale, nel 2025. Il repository è pubblico, consultabile e modificabile – per curiosità, studio o semplice voglia di smanettare!
Nei prossimi post:
- come ho usato l'AI per scrivere e rifattorizzare questo progetto
- integrazione con le API EverDrive e filesystem reale
📑 Link al repo: gba-txt-reader
Alla prossima pillola! ☕