Parlando di imprese hardware più stravaganti, non sorprende vedere giochi classici come l’indimenticabile Doom girare su dispositivi che a prima vista non hanno nulla a che fare con il gaming. L’ultimo esempio arriva da Aaron Christophel, che ha portato il leggendario sparatutto 3D su un dispositivo quanto meno insolito: il caricatore Anker Prime.
Sebbene il prodotto sia principalmente concepito come un caricabatterie desktop di fascia alta, le specifiche del dispositivo lo rendono un ospite sorprendentemente capace per un gioco degli anni ’90. Il caricatore Anker Prime offre caratteristiche impressionanti, come 250W di potenza, 6 porte USB, tecnologia GaNPrime e un piccolo display a colori da 2,26 pollici con risoluzione 480 x 200 pixel.
Caricatore Anker Prime 250W USB-C: cos’è e come funziona
Anker Prime 250W rappresenta una soluzione avanzata per chi cerca velocità, versatilità e controllo nella ricarica dei propri dispositivi elettronici. Progettato per supportare un’ampia gamma di device, dai MacBook Pro e Air agli smartphone iPhone, Pixel, Galaxy e smartwatch Apple, questo caricatore da scrivania combina potenza elevata e tecnologia GaN ultra-veloce per garantire ricariche rapide e sicure a fronte di minor consumo energetico e minore riscaldamento.
Con sei porte – quattro USB-C e due USB-A – è possibile alimentare contemporaneamente più dispositivi, monitorando in tempo reale lo stato di carica grazie al display LCD da 2,26’’. Il quadrante di controllo intelligente permette di personalizzare l’uscita, ottimizzando la ricarica per ogni dispositivo. La prima porta USB-C, in particolare, è in grado di ricaricare un MacBook Pro 16” da zero al 50% in soli 25 minuti.

Come fa Doom a funzionare su un SoC ARM
Il caricatore Anker Prime basa il suo funzionamento su un SoC Synwit SWM34S, dotato di 8MB di SDRAM e 16MB di storage integrato. Il cuore del SoC è un chip ARM Cortex-M33 a 150 MHz: seppur modesto per gli standard moderni, si rivela sufficiente per far girare Doom, un titolo originariamente progettato per CPU single-core da circa 25-33 MHz.
Christophel ha comunque dovuto ridurre leggermente la risoluzione del gioco per garantire una fluidità adeguata, ma il risultato finale sorprende per giocabilità e reattività.
Il Doom originale (id Software, 1993) fu sviluppato per MS-DOS su PC x86 con CPU Intel/AMD. Con il tempo, grazie al suo motore modulare e open source (il codice sorgente è stato rilasciato nel 1997), Doom è stato portato praticamente ovunque: Macintosh classici e macOS moderni, console come PlayStation, Sega 32X, SNES (versioni ridotte o modificate), Game Boy Advance, Nintendo DS, PSP, Android, iOS oltre a dispositivi come smartwatch, calcolatrici grafiche, stampanti, frigoriferi…
Il fatto che il gioco sia utilizzabile su un dispositivo con un chip come il Synwit SWM34S, si spiega proprio perché Christophel ha utilizzato il porting del motore Doom per ARM.
Doom non richiede GPU avanzate o grandi quantità di RAM: il gioco originale funzionava con 4 MB di RAM e display VGA a 320×200 pixel. Il SoC dell’Anker ha 8 MB di SDRAM e 16 MB di storage, quindi più che sufficienti.

Controlli e interfaccia: un capolavoro minimalista
Anche il sistema di controllo ha catturato l’attenzione: il caricatore non ha joystick o pulsanti tradizionali, ma un encoder rotativo “clicky” posizionato a destra dello schermo. La meccanica dei comandi è ingegnosa:
- Agendo sulla rotella, si muove il personaggio avanti o indietro.
- Premendo e ruotando si cambia la direzione verso sinistra o destra.
- Un semplice clic apre il fuoco o le porte all’interno del gioco.
Com’è avvenuto il caricamento di Doom nel caricatore Anker?
Christophel gestisce un repository contenente alcune istruzioni per l’hacking del caricatore utilizzato per l’esperimento.
Un aspetto cruciale è che sia gli 8 MB di RAM interna che i 16 MB di flash esterna possono essere mappati direttamente alle regioni di memoria del SoC ARM. Questa mappatura diretta significa che il processore ARM può accedere al contenuto della flash e della RAM in modo molto efficiente, come se fossero parte del suo spazio di indirizzamento nativo, rendendo l’esecuzione del gioco fluida.
L’autore dell’impresa ha menzionato di aver aggiunto un’intestazione di debug che a sua volta abilita un’interfaccia hardware per collegarsi direttamente al chip del dispositivo. Tipicamente, è utilizzata per: caricare (“flashare”) nuovo firmware o software nella memoria del dispositivo.
Il processo di caricamento di Doom sul dispositivo Anker è avvenuto scrivendo i dati del gioco (il firmware modificato con Doom) nella memoria flash esterna da 16 MB del chip Sunvit SWM34S, proprio attraverso l’interfaccia fornita dall’intestazione di debug aggiunta. Una volta caricato, il gioco può essere eseguito sfruttando la RAM interna da 8 MB e l’efficiente mappatura diretta della memoria.
L’immagine di apertura e la seconda immagine nell’articolo sono tratte dal video YouTube pubblicato da Aaron Christophel.