Bandersnatch e l’easter-egg dell’easter-egg non nascosto.

Di Carlo Santagostino.

In questi primi giorni del 2019 la novità di Netflix Bandersnatch, la puntata interattiva della serie Black Mirror, sta creando un sacco di “rumore di fondo” nella rete e sopratutto nel nostro “retromondo” di appassionati di storia dell’informatica e del videogioco. Gruppi, siti, associazioni, sono tutti a parlare, criticare (positivamente o negativamente) questo “film-interattivo” ambientato nella Londra del 1984, in pieno “boom” degli home computer dove il protagonista è un ragazzo aspirante ideatore e programmatore di videogiochi.

Non mi addentrerò a parlare di cos’è Bandersnatch, della sua trama o del fatto che è ispirato a fatti reali della storia del videogioco, per questo rimando all’ottimo articolo dell’amico Michael Cassamagnaghi.

Non parlerò neanche del suo easter-egg che tutti gli appassionati ormai hanno individuato o conoscono e che ti permette di scaricare un vero nuovo videogioco per ZX Spectrum, Nohzdyve.

O almeno, non parlerò dell’ easter-egg di cui sopra, che porta appunto al sito della TuckerSoft, ma di un altro easter-egg sempre legato a questo gioco ma di cui pochi si sono accorti.

Nella scena infatti dove viene visualizzato per la prima volta il gioco Nohzdyve si vede il suo programmatore che sta finendo il gioco e sullo schermo, prima di lanciarne l’esecuzione, appare chiaramente un listato scritto in BASIC.

La cura con cui è stato realizzato Bandersnatch è evidente, i dialoghi tecnici (ovviamente mi riferisco a quelli in lingua originale), i computer visti e citati, sono tutti riferimenti molto precisi e puntuali, i consulenti individuati dalla produzione hanno sicuramente lavorato bene ed il risultato dal punto di vista della coerenza storica è ottimo.

Detto questo, qualsiasi appassionato minimamente esperto di ZX Spectrum e/o di programmazione su macchine di quel periodo si accorge immediatamente che il gioco visualizzato dopo l’esecuzione del comando RUN non è scritto in BASIC, la grafica è veloce e fluida (cosa citata anche nell’episodio dai protagonisti) e questo era impossibile da ottenere con la programmazione in BASIC.

Quindi perché fare questo errore? Non è possibile pensare che consulenti esperti, come constatato, e che hanno seguito la produzione potessero permettere un incoerenza di quel tipo.

Sicuramente questa è stata una cosa voluta e la mia ipotesi è che probabilmente, è stata voluta per stimolare i vecchi NERD (cosa che io sono) a vedere cosa facesse realmente quel listato.

Infatti il listato come si vede dal fotogramma che accompagna questo articolo è molto ben visibile, e per chi ha un minimo di conoscenza del linguaggio BASIC è coerente come istruzioni e funzionalità.

Ho da prima condiviso il fotogramma nel gruppo  8 Bit RetroProgramming Italia dato che si, sono un nerd, ma non avevo ne voglia ne tempo di ridigitare il listato per vedere cosa produceva (anche se solo a leggerlo già se ne intuiva il risultato finale) e il buon amico Francesco Sblendorio ha velocemente digitato il listato anche se non si è preoccupato di modificare i caratteri grafici come si evinceva dal fotogramma.

Fatto da Francesco lo “start-up” del lavoro a questo punto non mi potevo esimere dal completarlo aggiungendo quelle righe di codice “nascoste” che permettono di ridefinire i caratteri grafici (UDG) per ottenere la grafica come nel listato visualizzato in Bandersnatch.

Nohzdyve Basic Source
Il listato Basic che “dovrebbe” essere di Nohzdyve così come appare nel fotogramma catturato e pronto per essere eseguito nell’emulatore FUSE di ZX Spectrum.

-o-

Linee nascoste
Dalla riga 10 alla 1000 trovate le linee “nascoste” ma facilmente desumibili da un’ analisi delle righe di listato visibili nel fotogramma, servono per ridefinire i caratteri grafici e per inizializzare delle variabili.

E quindi eccolo qui, scaricabile in formato SNA e Z80 (Aggiunto il formato Z80 dato che a quanto pare alcuni emulatori hanno problemi con il formato SNA, grazie a Luca Ruella per la segnalazione):

Download “Nohzdyve” in Basic

Nello snapshot trovate il listato già digitato e posto nell’esatta situazione dell’episodio (per i “tecnicacci” questo si ottiene con il comando “LIST 1010” in modo da visualizzare solo le righe dalla 1010 in poi) vi basta solo caricarlo su di un emulatore (o su di uno ZX Spectrum reale) e premere “Return”… buon divertimento!

Visualizza il listato completo in formato TXT

[Edit 8 Gennaio 2019]
Mi segnalano che nella mailing list italiana dedicata allo ZX Spectrum (mi auto-flagello per non averla più seguita ultimamente) il buon Enrico Maria Giordano  con livello SUPER-NERD aveva già ridigitato il listato di Nohzdyve il 30 Dicembre scorso, anche lui però come Francesco senza ridefinire gli UDG. Qui trovate il messaggio con l’allegato scaricabile in formato BAS: https://www.freelists.org/post/zxspectrum/OT-Black-Mirror-Bandersnatch,18
Onore al merito dunque al mitico EMG per averlo fatto per primo!

2 pensieri riguardo “Bandersnatch e l’easter-egg dell’easter-egg non nascosto.

  • 07/01/2019 in 10:24
    Permalink

    Analisi è femminile, ci vuole l’apostrofo.
    Non mi è chiara l’analisi per desumere le righe da 10 a 1000: potresti elaborare per favore?
    Grazie

    Risposta
    • 07/01/2019 in 10:43
      Permalink

      Perdona l’errore ma ho scritto l’articolo in tarda notte, grazie per la segnalazione.
      Le righe dalla 10 alla 1000 servono principalmente per poter visualizzare i caratteri grafici ridefiniti (UDG) in modo da visualizzare il listato esattamente come appare nel fotogramma dell’episodio, senza quei “data” lo sprite del gioco sarebbe apparso come “ABCDEFGH” e il cuore per segnalare le vite come “I”, inoltre si leggono nel listato tre variabili (life, score ed hiscore) che non vengono dichiarate, quindi vanno valorizzate prima (riga 1000).

      Risposta

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

This site uses Akismet to reduce spam. Learn how your comment data is processed.