Doom gira su una Canon EOS 550D, la reflex APS-C da 18 megapixel del 2010 venduta anche come Rebel T2i e Kiss X4. Il gioco arriva sulla fotocamera come modulo di Magic Lantern, il firmware aggiuntivo che le reflex Canon caricano dalla scheda SD, e si avvia dal menu Games. La versione pubblicata su GitHub dall’account lauris-nl � la 0.4.1, dichiarata sperimentale e costruita per quel solo corpo macchina. Caricare il modulo non impedisce di continuare a usare la 550D come fotocamera.
Il repository contiene il modulo e la documentazione, non i dati di gioco: i file IWAD restano materiale coperto da copyright e vanno procurati per conto proprio, da Freedoom o dalle edizioni in vendita su Steam e GOG. La cartella ML/DOOM/ ospita fino a 32 file, ordinati alfabeticamente e proposti nel menu; il controllo si ferma ai primi quattro byte dell’intestazione, quindi passano Doom, Doom II, i due capitoli di Final Doom e Freedoom, mentre Heretic, Hexen, Strife, Doom 64 e gli IWAD specifici dei source port restano fuori anche quando l’intestazione combacia. Fa storia a s� Hacx 1.2, riconosciuto dal nome del file ma non giocabile: manca il parser DEHACKED per la patch di compatibilit� incorporata, e il modulo esce dal ciclo del titolo quando non riesce a rimappare D_DM2TTL su D_HAXTTL.
I comandi ricalcano la pulsantiera della 550D. Le quattro frecce muovono e ruotano, SET spara e conferma, PLAY apre porte e interruttori, la ghiera posteriore scorre le armi possedute e il tasto DISP. richiama la mappa automatica; lo zoom in tenuto premuto fa correre, lo zoom out combinato con destra e sinistra fa spostare di lato. Restano deliberatamente esclusi ISO, il pulsante di anteprima della profondit� di campo e il pulsante di scatto, perch� Canon li gestisce a un livello pi� basso rispetto allo strato di input del modulo e in risposta pu� far comparire le sovrimpressioni di sistema o l’autofocus, sottraendo il controllo al gioco.
Tre pressioni del tasto cestino entro 1,2 secondi, durante una partita in singolo, aprono un menu nascosto in stile Doom con tre sezioni: i cheat classici con il loro stato attivo, la musica presente nell’IWAD in uso e i livelli a cui saltare. Le prime due pressioni non producono nessun effetto visibile. Restano in vigore le eccezioni originali del gioco, quindi i cheat di gameplay non funzionano a difficolt� Nightmare, e IDDT e i salti di livello conservano i limiti che avevano nel 1993.
Il sintetizzatore MUS e il raddoppio dei pixel
Il modulo legge i lump MUS direttamente dall’IWAD selezionato e li rende con un sintetizzatore a numeri interi che calcola 24 voci a banda limitata a 24 kHz, poi interpolate linearmente nell’uscita a 48 kHz della fotocamera e mixate con gli effetti sonori a 8 bit originali. Le famiglie di programmi General MIDI selezionano timbri quadri, a impulso, triangolari o a dente di sega presi da tabella, con rumore per le percussioni, e sono gestiti attacco, decadimento, sostegno, rilascio, volume di canale e pitch bend. Il sintetizzatore ha un carattere retr� vicino all’AdLib senza essere un’emulazione OPL2 accurata al ciclo, e la rinuncia � dichiarata: il costo in CPU doveva restare basso perch� il gioco scorresse fluido sulla 550D.
Sul video il modulo aggiunge un’impostazione di Screen Size non ufficiale, un passo oltre il fullscreen standard di Doom: la scena viene disegnata a 360×240 e ogni pixel di gioco finisce sul pannello da 720×480 come un blocco esatto di 2×2, senza interpolazione. L’impostazione si cambia a partita in corso, e in quella modalit� la barra di stato sparisce, mentre menu, mappa automatica, schermate di intermezzo e finali restano nel classico layout a 320×200.
Un modulo per un solo corpo macchina
Il binario rilasciato vale per la 550D con firmware Canon 1.0.9 e per un core Magic Lantern 550D.109 costruito dal ramo corrispondente, con il file di simboli 550D_109.sym che deve esportare gli otto nomi della catena audio Canon, da StartASIFDMADAC a beep_playing. Un modulo compilato contro simboli diversi pu� semplicemente non caricarsi, e l’avvertimento torna in tre punti della documentazione: doom.mo non va installato su un’altra fotocamera n� su un’altra versione di firmware. Chi ha un’installazione Magic Lantern pi� vecchia, che non esporta tutti e otto i nomi, deve prima ricostruire e installare autoexec.bin e il file dei simboli.
I salvataggi sono separati per nome esatto del file WAD, tramite un hash, e portano una versione di formato e un’impronta della disposizione del WAD attivo. Un salvataggio prodotto con un WAD diverso o modificato, oppure danneggiato, viene rifiutato con INCOMPATIBLE SAVEGAME invece di essere applicato a met�, e il caricamento verifica mappe, giocatori, armi, stati, sprite, texture, settori, thinker e movimenti speciali prima di restituire il controllo. I salvataggi della precedente 0.4 restano leggibili, con le armi di Doom II non valide in Doom 1 sostituite da fucile a pompa o pistola. La registrazione diagnostica � spenta di default e si attiva dallo stesso sottomenu, che offre anche una cancellazione dei log limitata ai file DOOM*.LOG e disattivata mentre il gioco � in esecuzione.
Il porting su un altro corpo macchina non � una ricompilazione. Motore, gestione dei WAD, salvataggi e sintetizzatore si riusano quasi invariati, ma vanno rifatti lo strato di disegno con la relativa palette e i codici grezzi di pressione e rilascio dei tasti, e va verificato che la piattaforma di destinazione esporti la stessa catena audio, perch� un percorso audio diverso richiede un backend nuovo e non dei simboli rinominati. Le stime dichiarate parlano di 3-7 giorni lavorativi per una fotocamera vicina con interfacce di bitmap e audio compatibili, e di 1-3 settimane quando cambiano la mappatura dei tasti o il comportamento del display. In tutti i casi serve la macchina fisica: per input, palette, tempi dell’audio e ripristino dello stato la prova in emulatore non basta.
#Adessonews seleziona nella rete articoli di particolare interesse.
Se vuoi leggere l’articolo completo clicca sul seguente link


