Texas TI 58C

Il mio primo strumento di calcolo automatico.

La mia calcolatrice TI58c
Figura 1-1
La mia calcolatrice TI58c

A beneficio dei miei lettori più giovani, ovvero per tutti quelli che non sanno nemmeno esistessero delle "calcolatrici programmabili" cercherò di spiegare che oggetto fosse.

Di base era una normale calcolatrice scientifica con tutte le funzioni trigonometriche dirette e inverse, logaritmi, esponenziali e le parentesi per la gestione delle precedenze degli operatori.

Proprio nella presenza delle parentesi stava la differenza con le calcolatrici antagoniste, quelle di HP (la ben nota Hewlett-Packard) che utilizzavano la "notazione polacca inversa" nota in sigla come RPN (la logica algebrica era indicata dalla sigla SOA)

Ovviamente erano dispute a non finire su quale sistema fosse il migliore vuoi perchè più semplice, o più rapido perchè si usavano meno tasti e come al solito ognuno concludeva che la sua era la calcolatrice migliore.

Le calcolatrici RPN sono scomparse, mentre Texas è scomparsa dal mondo informatico: 1-1 parità.

Tutti sappiamo usare una calcolatrice SOA: basta ricopiare l'espressione e premere "uguale" alla fine; le calcolatrici RPN invece non avevano il tasto "uguale" e quindi?

Erano gli operatori binari (termine ampolloso che indica le quattro operazioni più, meno, per e diviso che si imparano alla scuola elementare) che richiamano i due operandi (cioè i due numeri) precedentemente inseriti e producono il risultato. Per "separare" i due operandi c'era un apposito tasto "enter".

Proviamo con un esempio a capire meglio, vogliamo calcolare 3+5. In una calcolatrice SOA premeremo:

3
+
5
=

mentre in una calcolatrice RPN premeremo:

3
enter
5
+

(Capito il perchè dell'"inversa"?) Comunque siamo ancora in parità: 4 battute a testa.

Proviamo ora un esempio un po' più complesso:

3+4x(5+2)

(che fa 31). Ecco la soluzione SOA:

3
+
4
x
(
5
+
2
)
=

Sono 10 battute, invece in RPN:

5
enter
2
+
4
x
3
+

Qui sono solo 8 le battute, ma l'inserimento non è proprio intuitivo.

Il modulo intercambiabile con i programmi
Figura 1-2
Il modulo intercambiabile con i programmi

La verità sta in questi termini: per interpretare una espressione algebrica scritta in modo tradizionale il calcolatore deve tradurla in una gestione a stack (pila) che è esattamente quella che si inserisce con l'RPN. Quest'ultima quindi è una "espressione macchina" ovviamente più efficiente per la macchina ma molto meno utilizzabile da un normale essere umano: ecco perchè le calcolatrici RPN sono scomparse.

Questa spasmodica ricerca dell'efficienza era fondamentale per due aspetti: la potenza di calcolo ridicola rispetto a quelle cui siamo abituati oggi e soprattutto le limitate dimensioni delle memorie. La mia calcolatrice aveva in tutto 480 bytes (non giga, non mega, non kilo, ma bytes lisci) che dovevano bastare per i programmi e per i dati.

Le label del programma EE-13
Figura 1-3
Le label del programma EE-13

La caratteristica che differenziava queste calcolatrici da quelle "normali" era un tasto "LRN" che stava per "learn": infatti dopo aver premuto quel tasto la calcolatrice entrava in "modo apprendimento" e tutte le successive battute non venivano eseguite, ma memorizzate sotto forma di programma che si poteva eseguire successivamente.

Ad esempio si potrebbe inserire questo programma per calcolare l'area del cerchio dato il raggio:

000 76 LBL
001 11 A
002 33 X²
003 65 *
004 89 PI
005 95 =
006 92 RTN

Per usarlo è sufficiente inserire il raggio e premere il pulsante "A" nella fila superiore.

Una schedina vuota
Figura 1-4
Una schedina vuota

Questi della fila superiore, con le lettere da A ad E sono i tasti programmabili, a corredo venivano fornite delle schedine vuote per i propri programmi oppure già pronte per i programmi del modulo di libreria.

Naturalmente c'erano anche istruzioni condizionali e di salto indispensabili per poter realizzare dei programmi propriamente detti, una serie di flag, alcuni dei quali attivavano anche funzioni specifiche come il debugger (forse chiamarlo debugger è eccessivo, ma comunque aveva una certa funzionalità).

Il manuale d'uso
Figura 1-5
Il manuale d'uso

Per chi poteva permetterselo c'era anche una stampante che dava alla calcolatrice anche la parola (nel senso che poteva stampare delle stringhe di testo), mentre nella sorella maggiore TI59 si potevano inserire delle schede magnetiche sulle quali registrare programmi e dati.

Ma la mia calcolatrice disponeva della "Costant Memory" (la "C" finale della sigla) che manteneva i programmi ed i dati anche a macchina spenta. Era assai divertente vedere il professore di chimica che portava in prestito la calcolatrice con i risultati degli esercizi vantandosi del fatto che "io sono furbo, la spengo la calcolatrice così se lasciate i risultati si cancellano". Non si è mai chiesto perchè tutti volessero in prestito la mia che lui definiva "da ufficio".

Per chi volesse provare l'ebbrezza di usare una di queste calcolatrici posso segnalare la disponibilità di un emulatore per Windows (Nuova pagina).

La fonte delle informazioni era il corposo manuale in dotazione ( Figura 1-5 ) del quale riporto la pagina introduttiva (Introduzione alla TI58 (Nuova pagina)), mentre la versione completa del manuale (in inglese) la potete scaricare da qui (http://www.ti59.com/ti58-59.pdf) (Nuova pagina) e volendo anche il manuale del modulo Master Library (Nuova pagina)

C'è posta per me
Figura 1-6
C'è posta per me

Ma il manuale non raccontava proprio tutto: il caso più evidente era quello dell'istruzione HIR. Le varie istruzioni avevano un codice numerico che andava da 0 a 99, ma il numero 82 non era associato a nessuna istruzione nel manuale: ovviamente gli utilizzatori provarono ad utilizzarlo e scoprirono i vari parametri che permettevano di andare a leggere (e scrivere) lo stack in cui eranomemorizzati i risultati parziali dovuti alla precedenza degli operatori.

Accidenti, proprio il numero che mi manca!
Figura 1-7
Accidenti, proprio il numero che mi manca!

Altri scoprirono il sorgente di funzioni complesse come la conversione delle coordinate polari in rettangolari nelle quali si trovava un codice "HIR 20" mai decifrato con precisione.

Queste calcolatrici lavoravano in BCD (Binary Coded Decimal) ovvero non sfruttavano tutti i 256 valori che possono essere contenuti in un byte, ma codificavano solo due cifre decimali in ogni byte (una per ogni "mezzo byte" detto nibble) eliminando così i problemi della traduzione da binario in decimale; orbene qualcuno (un certo Stefano Laporta di Bologna) trovò il modo alquanto ingegnoso di inserire valori con combinazioni non prevste originariamente e quindi si scoprirono altre 156 istruzioni (la gran parte non faceva nulla o riproduceva comportamenti di altre istruzioni).

Il compenso per il programma pubblicato
Figura 1-8
Il compenso per il programma pubblicato

Come detto non era affatto semplice inserire questi codici ed il sottoscritto scrisse un programma con cui la calcolatrice forniva indicazioni sulla sequenza da seguire. Il programma fu pubblicato da MCmicrocomputer ed è visibile nella sezione degli articoli pubblicati.

Appresi la cosa dalla lettera di Figura 1-7 perchè nonostante controllassi quotidianamente alcune edicole quel numero di MC non arrivò mai a Rimini. Chiesi immediatamente l'arretrato che molto gentilmente mi fu inviato in omaggio e che tuttora conservo gelosamente.

Erano passati quasi due anni e la pubblicazione di quell'articolo segnò l'inizio di una nuova avventura, ma fu anche la mia prima "parcella" ( Figura 1-8 ); presentai una regolare dichiarazione dei redditi (a quei tempi era il "modello 740") che compilai da me stesso (mio padre mi aveva insegnato come fare già da qualche anno) e di li a qualche anno il ministero delle finanze mi rimborsò anche la ritenuta di acconto!

Quando passai ad uno strumento più avanzato (un Commodore 64) cominciai a carezzare l'idea di scrivere un programma che la emulasse.

Al tempo le mie conoscenze erano ancora piuttosto scarse ed i linguaggi disponibili ben poco espressivi per cui l'idea rimase nel cassetto.

Dopo quasi 40 anni ho ripreso l'idea e, dotato di mezzi ben più potenti (Visual Studio e C#) ho iniziato a lavorare ad un emulatore che potete trovare si GitHub (Nuova pagina); non è una riproduzione fedelissima, ma sicuramente efficace.

Inizio pagina
 
Precedente
Sommario
Successivo