Giocare a Doom (ma anche Zelda, Tetris, PacMan, Donkey Kong, Bubble Bobble, Super Mario ecc) su una calcolatrice – Tutorial in italiano

Lo ammetto il titolo è sensazionalistico, ma per il solo motivo che non è certo possibile giocare a Doom su qualsiasi calcolatrice (come d’altronde era facile intuire!) ma solo su alcune calcolatrici grafiche. La cosa mi ha davvero entusiasmato molto perchè immaginavo giochi lenti, ingiocabili, stancanti e invece ho dovuto ricredermi! (alcuni giochi addirittura girano talmente veloce, come Bubble Bobble, che è pure difficile giocarci!).

Dal momento che io possiedo un solo modello di calcolatrice grafica, la Texas Instruments TI83, il tutorial è incentrato proprio su questa (e sulla sorella maggiore TI83+ con la quale ci sono alcune differenze).

La Texas Instruments TI83

La calcolatrice Texas Instruments TI83

La TI83 nasce nel 1996 come evoluzione della sorella minore TI82 del 1993. Si tratta di calcolatrici grafiche che all’interno non hanno un processore qualsiasi, ma un glorioso e sempreverde Zilog Z80! (lo stesso che trovavamo nel Sinclair ZX Spectrum per intenderci… nostalgia?).

Il processore delle TI83 e TI83+ gira a 6MHz.

La TI83 ha 32Kb di memoria RAM disponibile per i programmi, la TI83+ invece ha 27Kb di RAM, 160Kb di Flash ROM e una flash dedicata da 512Kb per il firmware, quindi è chiaro che sulla TI83+ è possibile fare qualcosa di più, a parte la presenza della memoria Flash che fa in modo che i programmi rimangano memorizzati anche in assenza delle batterie.

TI83 :(

Per visualizzare la memoria libera (ma anche cancellare programmi e riportare la situazione alla condizione di default, bisogna accedere al menù memoria premendo prima il pulsante giallo [2nd] e quindi il pulsante [+](MEM)).

Situazione default della memoria sulla TI83. Di RAM libera in realtà ne abbiamo 27172Bytes (circa 26,5Kb) . Sulla TI83+ quel valore è inferiore ma in più compare “ARC Free”, dove ARC sta per “Archive”,e rappresenta la memoria Flash dedicata alle applicazioni.

Entrambe hanno un display monocromatico (pixel acceso o pixel spento) a matrice di punti da circa 3″ (96×64 punti).

Sulla TI83 non è possibile aggiornare il firmware dal momento che non ha la memoria flash dedicata al firmware come la sorella maggiore TI83+ e i programmi caricati vengono memorizzati in RAM (è presente una batteria tampone).

Specifico questa cosa del firmware perchè nei vari tutorial in inglese sono sempre mostrate le schermate della calcolatrice che fa bella mostra di sè con la versione del firmware, ribadendo che è possibile aggiornarlo. Questo crea un po’ di confusione dal momento che sembra parlino della TI83 e invece stanno parlando della TI83+.

Su queste calcolatrici possono girare programmi scritti in Basic, i quali possono anche essere inseriti direttamente sulla calcolatrice (qui c’è un breve tutorial, qui invece un intero wiki dedicato alla programmazione della TI83) o scritti in Assembler per Z80 sul PC, compilati e inviati sulla calcolatrice (è possibile usare anche il buon vecchio SDCC). Chiaramente i programmi scritti in Assembly sono più efficienti e veloci in quanto non necessitano dell’interprete.

Il cavo di collegamento

E’ facile capire che per poter caricare dei giochi su queste calcolatrici è necessario un collegamento con il PC. Queste calcolatrici hanno nella parte inferiore una presa jack a 3 poli da 2.5mm : serve per la comunicazione con il computer o con altre calcolatrici.

Inizialmente mi sono illuso di poter utilizzare un qualsiasi adattatore USB/seriale TTL a 3.3v ma sono stato troppo ingenuo e non c’è stato verso di comunicare con nessun tipo di adattatore USB/seriale, con nessuna configurazione.

Cercando gli schemi su internet vengono fuori tutti schemi per il collegamento sulla RS232 (i famosi “cavi da $4”) che non sfruttano i segnali TX/RX ma i segnali DSR/DTR/TX/CTS/RTS (qui ci sono alcuni esempi)  per cui mi sono arreso subito e mi sono procurato il cavo adatto: il TI GraphLink USB (anche chiamato SilverLink per via del colore argentato, per distinguerlo da un altro modello che si chiama BlackLink, che è quello vecchio funzionante su porta RS232).

Il cavo Texas Instruments Silver Link USB

Questo cavo si trova su Ebay usato in Cina a meno di 15 euro se vi va di attendere dai 30 ai 60 giorni. Dentro, come era facile immaginare, c’è un chip della Texas Instruments. Chi ha invece modelli Texas Instruments al di sopra della serie TI83 è più fortunato perchè basta un normale cavetto USB (A – Mini B), nonostante qualcuno li venda come cavetti specifici!

Il software

Sembra assurdo ma la Texas Instruments ospita ancora sui propri siti tutto il necessario per continuare ad utilizzare anche queste vecchie calcolatrici (la TI83 ha 21 anni! Qualsiasi altra azienda l’avrebbe considerata obsoleta). Avete bisogno di un solo software: TI-Connect, disponibile gratuitamente per Mac e Windows a questo indirizzo.

Installando il software vengono installati anche i drivers per il cavo USB, ammesso che, durante l’installazione, quando vi si presenta la seguente finestra, clicchiate sul pulsante corretto…

Con il Software TI-Connect è possibile fare molte cose, oltre aggiornare il firmware sulle calcolatrici dalla TI83+ compresa in su, è possibile caricare programmi, immagini, catturare le schermate, gestire le variabili memorizzate ecc.

Schermata Home del software TI-Connect

Dopo aver installato il software, colleghiamo il cavo e aspettiamo un po’ che venga riconosciuto e configurato correttamente. Su Windows, in gestione dispositivi, sotto alla voce “Controller USB” deve comparire il cavo SilverLink:

Caricare i giochi sulla calcolatrice

Dopo aver installato il software, collegato il cavo a computer e calcolatrice e accesa quest’ultima, lanciamo TI-Connect e dalla schermata Home, premiamo il pulsante TI Device Explorer:

Compare una finestra che esegue la ricerca del cavo e quindi della calcolatrice collegata, potrebbero volerci alcuni minuti prima di visualizzare qualcosa. Nel mio caso compare questo:

Semplicemente si seleziona la calcolatrice e si preme il pulsante Seleziona. In condizioni di default, senza nulla caricato sulla calcolatrice, o dopo una cancellazione completa di tutto il contenuto, compaiono soltanto due nodi/cartelle: Screen Image (facendo doppio click si apre in automatico l’applicazione per la cattura della schermata della calcolatrice e per l’upload di immagini) e Device Settings (con il quale… non è possibile fare nulla):

 

Questa applicazione è molto utile perchè permette di fare un backup di tutto il contenuto della calcolatrice (Azioni -> Backup Calcolatrice, salverà un file con estesione *.TIG) e ripristinarlo (Azioni -> Ripristina, che permette di caricare il file TIG salvato in precedenza).

Bando alle ciance: volete giocare a Doom sulla vostra calcolatrice. Il sito di riferimento per tutto lo smanettamento sulle calcolatrici Texas Instruments è sicuramente ticalc.org : da qui, esplorandolo per bene, potrete divertirvi davvero un sacco. Tutti i files scaricabili sono contenuti nell’archivio, diviso per Calcolatrice: http://www.ticalc.org/pub/.

Il materiale che interessa a noi si trova chiaramente nella cartella TI83. Noterete che la cartella è divisa principalmente in 3 sotto-cartelle: ASM (che contiene programmi, e quindi anche giochi, scritti in assembler), BASIC (che contiene programmi e giochi scritti in Basic) e VARS che contiene variabili (si tratta essenzialmente di immagini, che vengono trattate come variabili, in questa cartella potrete trovare numerosi files con estensione 83i, che sono immagini visualizzabili dalla calcolatrice).

Le calcolatrici con più funzioni hanno anche altre sotto-cartelle che contengono altro materiale, tra cui sistemi operativi scritti apposta per le calcolatrici.

Giochi e Programmi scritti in Basic partono in maniera semplice, lanciandoli dal menù program (pulsante [PRGM]) della calcolatrice. Quelli scritti in Assembler potrebbero avere bisogno di una sorta di launcher (una shell) o di un sistema operativo da installare prima di installare il gioco. In questi casi si fa partire prima il launcher o il sistema operativo (sempre dal menù program) e da questo si lancia il gioco. Vediamo come fare.

La maggior parte dei giochi fighi per la TI83 utilizzano la shell chiamata ION. Le shell per la TI83 sono disponibili nella cartella ASM/Shells. Andiamo quindi nella cartella ASM/Shells dedicata alla TI83:

http://www.ticalc.org/pub/83/asm/shells/

Se siete qui solo per giocare a Doom sulla TI83+ invece di ION dovete scaricare un’altra shell, MirageOS, che trovate nella cartella TI83Plus/Flash/Shells: http://www.ticalc.org/pub/83plus/flash/shells/

Scorrendo in basso troviamo il file ion.zip (versione 1.6, non il 1.6U). ION funziona sia con la TI83 che con la TI83+.

Nota: cliccando sul nome del file si scarica l’archivio .zip, cliccando invece sull’iconcina affianco al nome del file, si apre la pagina di informazioni sul file dove in aggiunta si può anche scaricare l’archivio .zip (esempio).

Scarichiamo ion e scompattiamolo. Il contenuto della cartella è il seguente:

Quando scarichiamo files zip da ticalc.org, all’interno possiamo trovare svariati files che elenco qui in base all’estensione:

  • z80, inc : sono i sorgenti assembler del programma, utili se vogliamo smanettare e imparare a programmare in assembler
  • bat : sono i files batch di ms-dos, in genere contengono la procedura per compilare i sorgenti assembler
  • txt : leggete sempre i files di testo! perchè contengono le istruzioni su come utilizzare i programmi e, nel caso dei giochi, anche i pulsanti da utilizzare
  • 8xg : archivi gestiti da TI-Connect che contengono i programmi assembler compilati da eseguire sulla TI83+
  • 83g : archivi gestiti da TI-Connect che contengono i programmi assembler compilati da eseguire sulla TI83
  • 83p : programmi per TI83/TI83+ (in genere se sono presenti files .83p, non sono presenti .8xg e/o .83g)
  • 82p : programmi per TI82 (da usare solo se avete la TI82)
  • 83i : immagini da visualizzare sulla TI83, spesso sono incluse insieme ai programmi perchè sono immagini visualizzate nei giochi
  • 83n : numeri, variabili

Quindi, nel momento in cui scarichiamo programmi/giochi in assembler utilizzeremo sempre i files con estensione .83g, per la TI83+ invece utilizzeremo quelli con estensione .8xg.

Se nel file zip che abbiamo scaricato sono invece presenti files con estensione .83p, caricheremo questi (se ne sono presenti più di uno, fate riferimento al file .txt per capire quale dovete utilizzare).

Come dicevo: ION è una shell per TI83 e TI83+, richiesta da molti giochi. In particolare per DOOM se invece della TI83 avete la TI83+ non dovete caricare ION (questo è specificato nel txt di Doom come vedremo dopo) ma MirageOS.

Fin qui dovrebbe essere tutto chiaro. Abbiamo scaricato ION, ora carichiamolo sulla calcolatrice. Nel caso della TI83 caricheremo il file ion.83g : basta cliccarci sopra e trascinarlo nella finestra di TI Device Explorer (supporta il Drag & Drop).

Vi ricordo che in realtà si tratta di archivi: compare una finestra che invita a selezionare quali files dell’archivio copiare:

Io in genere lascio tutto selezionato. Premiamo OK. Inizia il trasferimento che dura pochi secondi. La finestra di TI Device Explorer si aggiorna con la nuova situazione della calcolatrice:

Già che ci troviamo, prima di iniziare, carichiamo anche Doom.

I giochi che girano sotto ION li troviamo nella cartella ASM/Games/ION : http://www.ticalc.org/pub/83/asm/games/ion/

Scorriamo in basso alla ricerca di DOOM. Il file si chiama Doom83.zip (Doom for TI83). Come abbiamo fatto sopra per ION, scompattiamolo e carichiamo sulla calcolatrice DOOM.83P se abbiamo la TI83 oppure DOOM.8XP se abbiamo la TI83+.

Doom è un archivio con un solo file dentro, per cui non si presenterà la finestra che chiede di selezionare i files da caricare. Vi ricordo che la calcolatrice deve essere accesa, se qualcosa va storto durante il caricamente può anche essere successo che la calcolatrice si è spenta da sola per inutilizzo, quindi controllate sempre che durante queste operazioni sia accesa, altrimenti premete semplicemente il tasto ON senza eseguire nessun altra operazione sul programma su PC.

Ora la situazione su TI Device Explorer è questa:

Arrivati a questo punto siamo a metà dell’opera. Stacchiamo pure il cavetto dalla calcolatrice e premiamo su di essa il pulsante [PRGM]. Otteniamo questa schermata:

Con i tasti cursore (Su/Giu), dobbiamo selezionare ION e quindi premere il tasto blu [ENTER], compare la schermata con il nome del programma preceduto dalla scritta “prgm”, è una specie di prompt:

Premiamo di nuovo [ENTER]. ION viene installato sulla calcolatrice:

Ora premiamo di nuovo [PRGM], notiamo che nella lista, dopo l’installazione di ION dalla calcolatrice, compaiono due nuovi programmi: A e θION:

Il primo programma, A, è quello che, da adesso in poi, dobbiamo sempre far partire per primo per poter caricare i giochi scritti in assembler e che richiedono ION. Ci troviamo quindi già sul programma A, premiamo [ENTER], compare la schermata:

Notate che sopra sono rimaste le scritte precedenti (avremmo potuto cancellarle premendo il pulsante [CLEAR] prima di ritornare al menù programmi). Il cursore ora si trova dopo la scritta prgmA, premiamo [ENTER].

Finalmente parte ION. E’ quello che ci aspettavamo: una shell.

Purtroppo da questo in poi non posso allegare schermate catturate direttamente dalla calcolatrice perchè in qualche modo la shell disabilita la comunicazione verso il pc, per cui allego foto

La Shell visualizza in automatico i programmi caricati. Quando ci sono più giochi/programmi possiamo selezionarne uno o l’altro tramite il cursore su/giu.

Premiamo [ENTER] e parte la magia:

L’autore del gioco è francese, per cui questo Doom per TI83 è in lingua francese e vi ricordo che comunque si tratta di un gioco non finito. Nel menù la voce “Multi” difatti doveva servire per il multigiocatore, collegando tra loro due calcolatrici tramite il jack del collegamento dati. In Option possiamo impostare la difficoltà e regolare il contrasto (si cambiano le scelte con i pulsanti destra/sinistra e si conferma con [ENTER] per tornare nel menu principale:

Nel menù principale scegliamo quindi “Jouer” e premiamo [ENTER].

Ci ritroviamo immersi in un labirinto tridimensionale monocromatico in cui i movimenti sono davvero fluidi e senza scatti per trattarsi di una calcolatrice (seppur basata su Z80!)

Oh Mamma! Sto giocando a Doom su una calcolatrice!

Chiaramente non avete l’audio, il che limita molto l’esperienza di gioco (anche se ho potuto notare che qualcosa con audio esiste, ma non ho provato: i programmatori utilizzano qualche tecnica che permette di avere un’uscita audio sul jack di collegamento dati).

I tasti da utilizzare sono riportati nel file TXT presente nell’archivio .zip che abbiamo scaricato, ma sono relativi alla TI83+ (i cui nomi sono diversi ma si tratta sempre degli stessi pulsanti, messi nelle stesse posizioni). Se avete la TI83 i tasti da utilizzare, insomma, sono questi:

  • Frecce direzionali: movimento
  • [TRACE]: spostamento laterale a sinistra
  • [GRAPH]: spostamento laterale a destra
  • [Y=]: seleziona la prima arma
  • [WINDOW] : seleziona la seconda arma
  • [2nd] : spara
  • [ALPHA] : corre
  • [CLEAR] : ritorna al menù principale

Il gameplay è difficile, nel senso che quando c’è un nemico di fronte, a me capita di sparare di continuo ma muoio comunque perchè vengo colpito per primo. Quando si muore, il gioco viene terminato e ci si ritrova nella shell.

Da questo momento in poi, ogni volta che accenderemo la calcolatrice, ci ritroveremo nella shell di ION. Per uscire dalla shell e tornare in modalità calcolatrice premiamo il pulsante [MODE] (le altre shell potrebbero invece richiedere altri pulsanti/sequenze).

Per ritornare nella shell: [PRGM] -> selezioniamo A -> [ENTER] -> al promp “prgmA” di nuovo [ENTER]

Cancellare i giochi

Come dicevo su, la memoria sulla TI83 è limitata, per cui vi può capitare che caricando qualche gioco, TI Device Explorer vi dia un errore per memoria terminata:

Se capita… dovete necessariamente cancellare qualcosa dalla calcolatrice ma non è possibile farlo direttamente da TI Device Explorer.

O meglio: almeno con la TI83 non è possibile cancellare direttamente dal programma su PC, non ho idea se gli altri modelli abbiano questa funzione, ma penso sia probabile di si dato che premendo con il pulsante destro sui programmi da TI Device Explorer, nel menù contestuale esce “Elimina” ma è disattivato.

Quindi vediamo come cancellare qualcosa dalla memoria della calcolatrice. Dalla funzionalità normale di calcolatrice (se siete dentro ION uscite premendo [MODE]) premiamo prima [2nd] e quindi [+] (MEM). Compare la schermata di gestione della memoria, selezioniamo 2:Delete

Diamo [ENTER], compare un’altra schermata, selezioniamo 7:Prgm (al posto dei due punti c’è la freccia verso il basso per indicare che il menù continua scendendo giù):

diamo [ENTER]. Selezioniamo il programma da cancellare (chiaramente non cancellate i files di ION: A, ION, IONZ, ZMINFO e θION) e diamo [ENTER]: il programma viene cancellato subito. Usciamo da questa funzione premendo [2nd] e quindi [MODE](QUIT)

Troubleshooting

Mi è capitato alcune volte che la calcolatrice impazzisse, che programmi prima installati non funzionassero più, che lo schermo si vedeva male perchè i pixel erano sparsi a caso sul display (questo mi è capitato dopo aver installato un gioco chiamato Tetris Pro).

In questi casi la soluzione migliore è quella di resettare la calcolatrice, operazione che può essere fatta in due diversi modi: Hardware e Software.

Il metodo Hardware è quello classico: scollegare e ricollegare le batterie (almeno una batteria di sistema e la batteria tampone che si trova sotto lo sportellino con la vite dentro al vano batterie).

Se lo schermo è visibile è possibile usare il metodo Software: si può resettare la calcolatrice anche andando nel menù memoria ([2nd] e [+](MEM)]) e selezionando l’opzione 5:Reset e quindi 1:All Memory e infine 2:Reset. Questa operazione cancella tutto il contenuto della memoria, per cui se avevate qualcosa di importante salvato lo perderete.

Downloads

  • Ion (shell per TI83 e TI83+, necessaria per molti giochi in assembler)
  • Venus (shell per TI83, necessaria per alcuni giochi)
  • MirageOS (shell per TI83+, necessaria per Doom su TI83+ e altri)

Giochi che ho provato io e funzionano (sono tutti per ION):

L’archivio completo di giochi da usare con ION è qui: http://www.ticalc.org/pub/83/asm/games/ion/

Altri giochi potrebbero non avere bisogno di ION, ma di VENUS o altri Launcher. Altri giochi ancora potrebbero partire direttamente dal menù PRGM, fate sempre riferimento ai files inclusi nel file che scaricate.

Altri Links

Galleria

Se questo articolo ti è piaciuto, condividilo su un social:
Se l'articolo ti è piaciuto o ti è stato utile, potresti dedicare un minuto a leggere questa pagina, dove ho elencato alcune cose che potrebbero farmi contento? Grazie :)