TEXAS INSTRUMENTS !!!


EMULATORE TI-59 E ALTRE
 

TI-59 EMULATOR AND OTHERS

 

Il mio interesse per il mondo dell'informatica nacque appena finito il liceo, prima di partire per l'avventura universitaria al Politecnico di Milano, dopo aver acquistato il primo numero di una rivista, Micro e Personal Computer nel Settembre 1979. Così dopo aver consultato la "Guida Mercato", che era suddivisa tra Personal Computer, Calcolatrici Programmabili e Schede a Microprocessore,  e compatibilmente con il budget a disposizione decisi di acquistare una calcolatrice programmabile. Già avevo avuto una Texas Instruments SR-10 e una TI-30 così il mio primo "oggetto" programmabile fu la mitica calcolatrice TI-59, della Texas Instruments, acquistata nell'Ottobre dello stesso anno, dopo un'estate lavorativa durante la maturità liceale, seguita nel 1980 dalla stampante PC-100C e svariati moduli Solid State.

Con la TI-59 ho iniziato a programmare, essenzialmente programmi matematici utili per i corsi universitari (Analisi Matematica 2, Calcolo Numerico, Probabilità e Statistica ecc..) e di utilità ma anche giochi e sono riuscito anche a farmi pubblicare un articolo su una rivista tecnica dell'epoca, M&P Computer, che a causa della lunghezza è stato suddiviso in due parti, sui numeri 22 e 23. L'articolo riguardava un argomento che allora era molto di moda tra gli utenti di calcolatrici programmabili e cioè la cosiddetta "programmazione sintetica" che permetteva di scoprire nuove istruzioni e caratteristiche non riportate sui manuali utente. Anche se l'articolo non raggiungeva i risultati ottenuti dai vari user group tedeschi o americani (col senno di poi ero in ritardo di circa due anni) , era comunque molto interessante ed è disponibile una trascrizione qui riportata in versione PDF.

Tra parentesi, nonostante le promesse della rivista - l'iniziativa si chiamava "Il lettore è l'autore" (!) - e i miei solleciti, questo articolo non mi è mai stato pagato (e da qui è nato lo slogan "Roma ladrona".......)

Il mio articolo fu pubblicato nella rubrica "Software SOA" che all'epoca era tenuta da Lorenzo W. Poli responsabile anche del Club STI-59 che è stato l'unico esempio di club professionale italiano dedicato alla TI-59 & 58. Ho anche ritrovato alcuni bollettini dello STI-59 e li ho messi in una pagina a parte assieme ad un po' di storia.

Dopo la mia prima TI-59&PC-100C, comperai una TI-66 nell'Aprile 1984 e, qualche anno più tardi, arrivò un'altra TI-59 con PC-100C ed una TI-57: così è iniziata la mia raccolta personale delle Texas Instruments. Anche se all'inizio mi sono limitato alle sole calcolatrici programmabili in SOA - Sistema Operativo Algebrico (AOS- Algebraic Operating System in inglese), ne sono arrivate anche di altro tipo. Ad oggi (Aprile 2017) si è raggiunta la quota di 80 calcolatrici (più un'altra trentina non Texas Instruments - Casio, Sharp, HP, Litronix più una decina di calcolatrici scriventi da ufficio) ed altre sono in arrivo ......

Dopo l'arrivo della TI-65, l'unico modello mancante resta, ad oggi, la mitica SR-60 (1976-1979).

 

Il primo numero di M&P Computer......

Così, nonostante le mie due TI-59 originali fossero, e siano ancor oggi, perfettamente funzionanti ho iniziato a realizzare un emulatore già nel 1992 - ovviamente sotto MS-DOS: successivamente l'emulatore è stato esteso, perfezionato e portato quindi anche su altri modelli: così attualmente vi sono gli emulatori per:

  • TI-59 con la stampante PC-100C, Module Selector e CROM Emulator

  • TI-58C con la stampante PC-100C, Module Selector  e CROM Emulator

  • TI-58 con la stampante PC-100C, Module Selector e CROM Emulator

  • TI-57 con il programma 57TO59.EXE per la conversione automatica di programmi da TI-57 a TI-58/59

  • TI-66 con la stampante PC-200

  • TI-57LCD (e TI-57 II)

  • TI-55 (o TI-51 III)

  • TI-55 II ( e TI-56)

  • SR-52 con la stampante PC-100A

  • SR-56 con la stampante PC-100A

  • TI-53

  • TI MBA (finanziaria)

  • TI-62

  • SR-50 (non programmabile)

  • SR-60A (il primo al mondo! - the first in the world!)

  • TI Programmer (non programmabile)

Nota 1: Module Selector e CROM Emulator sono due dispositivi speciali per TI-58/58C e 59 dei quali solo il primo è stato commercializzato dalla "American Micro Products" nelle due forme automatico e manuale, mentre il secondo che era un prodotto interno della Texas Instruments viene dettagliato nel brevetto US4277827.

Nota 2: Tutti i modelli supportano i risultati ottenuti con la cosidetta "programmazione sintetica": così possiamo avere, ad esempio, i cosidetti "fractured digits" della SR-52, la visualizzazione dei numeri in esadecimale sulla TI-57, l'interrupt della PC-100C per la "grafica" (vedi sotto) ed altre caratteristiche scoperte nel corso del tempo "trafficando" con le TI.

Nota 3: Come visto prima in anteprima mondiale è disponibile il primo emulatore della Texas Instruments SR-60A !

La SR-60 (A) è una calcolatrice programmabile di tipo "desktop", l'unica realizzata dalla Texas Instruments: come detto prima è anche l'unica che non possiedo (a parte la TI-88, che però ma non è mai stata commercializzata.....) e per questo motivo merita una pagina a parte.

 

Parlano di noi ..... 

Nonostante l'ambito estremamente specialistico, l'emulatore di TI-59 ha avuto grazie ad Internet una sua, seppur limitata, diffusione. Ad esempio la rivista di Retroinformatica "Jurassic News" nel suo numero 43 del Settembre 2012 ha dedicato un articolo all'emulazione della TI-59 ed ha citato anche il nostro!

 

Le versioni (sia a 16 bit che a 32/64) dell'emulatore di TI-59 

 

Gli emulatori, inizialmente, erano tutti a 16 bit (scritti come il primo in Quick Basic 4.5 e portati ricompilati con il Microsft Basic PDS 7.1) e si usano con la tastiera: per le versioni 32/64 bit vedi più sotto ........

Sembrava escluso poterli portare in un ambiente moderno a 32/64 bit senza riscrivere totalmente il codice, ma l'impresa è riuscita! Grazie al grande QB64 è stato possibile portare sotto 32/64 bit tutti gli emulatori mantenendo la compatibilità con i file dati della versione a 16 bit. Gli eseguibili sono stati ricompilati con la versione 1.00 (la compilazione precedente era stata effettuata usando la versione "GL"): le dimensioni degli eseguibili sono dell'ordine dei 2.5÷3.0 Mb l'uno così il download corrispondente è un po' più robusto del solito. Presto arriverà anche il mouse .....

Nella pagina che segue ci sono tutte le schermate dei vari emulatori à galleria emulatori

  • Download Emulatore della TI-59 (che comprende la versione 32/64 bit e l'integrazione con BAX59 - il cross-compiler BASIC per la TI-59) ed i manuali (sia tecnico che utente) il tutto aggiornato al 7/06/2017. Come detto prima sono stati inclusi anche gli emulatori per due modelli non programmabili: il primo della SR-50/50A che è stata la prima calcolatrice realizzata con il chipset usato poi per la TI-59 (e non solo ......) ed il secondo del TI Programmer.

Un'istantanea di esecuzione per "TI-59/64" sotto Windows 7

Linguaggio BASIC Dartmouth per la TI-59 con BAX-59

 

Com'è noto, le nostre amate TI sono programmabili esclusivamente nel proprio linguaggio di tipo Assemblatore (chiamato impropriamente A.O.S. - dall'inglese Algebraic Operating System), ma ora è possibile, tramite il proprio PC, sviluppare del software utilizzando il linguaggio BASIC Dartmouth (nella versione del 1968 con alcune aggiunte specifiche per la TI-59) tramite il sistema di sviluppo BAX59 - BASIC X-Compiler for TI-59. BAX59 consente di scrivere programmi utilizzando un Editor qualsiasi e di poterli così "tradurre" in linguaggio SOA-AOS: vista anche l'importanza pratica dell'argomento a BAX-59 è stata dedicata una pagina specifica.

 

La PC-100C in grafica !! 

 

Rispetto alla versione del 2011 ci sono due file in più e precisamente TI59-ALT.EXE che è uguale a TI59.EXE con un diverso layout e funziona in modalità VGA 80x50, mentre TI59GR permette di utilizzare il codice esadecimale h25 per far funzionare PC-100C in modalità "grafica" (vedi il mitico programma PLOT60 che fu il primo del suo genere). E' possibile caricare il suddetto codice nei passi multipli di otto, tramite il tasto funzione F8, risparmiando così la sequenza di "impianto" utilizzata sulla TI-59 reale. Nella figura sotto l'esempio ottenuto facendo girare PLOT60 sull'emulatore.

Come si presenta invece il listato di PLOT60 al passo 024 che contiene il codice esadecimale.

Prossimamente in arrivo......

  • Il manuale dell'emulatore è ora disponibile anche in inglese !! ( English versione of the user's guide is available! .....)

  • E' in corso la traduzione in inglese dei programmi ( English version of the software is coming soon ....)

Note tecniche per l'emulatore di TI-59 

 

E' necessario, prima di proseguire, specificare meglio la differenza tra emulatore e simulatore. Un emulatore si prefigge lo scopo di replicare il funzionamento di un sistema (nel nostro caso caso la TI-59) e necessita sempre del software del sistema emulato (ottenuto tramite un processo detto dumping), mentre un simulatore, invece, si prefigge di arrivare allo stesso risultato riscrivendo però (in tutto o in parte) le routine del programma da simulare, in modo da renderlo comprensibile alla macchina su cui gira (DOS/Windows nel nostro caso). Sono possibili, poi, vari livelli intermedi tra queste due tipologie.

L'emulatore nella sua versione originale era un simulatore vero e proprio ma, con il passare del tempo, è diventato un emulatore della TI-59 a livello di SOA-AOS perché utilizza il dump di parte della ROM (quella che esegue le funzioni statistiche e di conversione) e i 16 registri della ROM (quelli contenenti, tra gli altri, i ben noti registri HIR); chiaramente il passo successivo è quello di avere il dump della ROM vera e propria con tutte le micro-istruzioni per ottenere l'emulazione completa (quello che è stato fatto per la TI-57 e per la TI-58/59 da Hrast Programmer nei suoi completi emulatori per questi modelli).

Di seguito vengono elencati una serie di documenti da scaricare di cui mi sono servito per realizzare gli emulatori, oltre ovviamente ai manuali ufficiali della Texas Instruments per le calcolatrici stesse:

  • TI-59 firmware   (in inglese - di Palmer O. Hanson Jr. redattore di TI-PPC Notes)

  • TI-59 hardware annotations (in inglese - di Sipke de Waal con un ottima descrizione hardware della 59)

  • SOA dictionary (in italiano - mio personale dizionario SOA-AOS con un sacco di informazioni sulle TI-57/57II/58/58C/59/66)

  • Programmazione sintetica sulle TI (in italiano - note sulla programmazione "poco ortodossa" sulle TI57/58/58C/59/66);

  • TI-PPC Notes Articles (in inglese - articoli selezionati di vari autori su argomenti "non ortodossi" da TI-PPC Notes);

  • 52 Notes (in inglese - tutti i numeri di 52-Notes dal Giugno 1976 al Maggio 1979. 52-Notes è stato il predecessore di TI-PPC Notes nonché una fonte fondamentale sulle prima generazione di programmabili TI - SR-52 & SR-56);

  • Manuale della TI-57 (mio personale - in italiano);

  • ROM dump per SR-50, TI-30, TI-57/58/59 (quattro file di testo con tutte le istruzioni - in hex - delle ROM di questi modelli !!!).

Un'altra lettura, difficile ma affascinante, è quella dei brevetti: ne consiglio due e cioè lo US3900722 sulla struttura e le istruzioni del TMC0501 - il microprocessore della SR-50,SR-52,SR-56,TI-58,TI-58C, TI-59 - e lo US4153937 che descrive la struttura delle TI-58/59.


Gli inizi della mia collezione (2009)

TI GALLERY (tutte le calcolatrici emulate...)

                         


Nota: Le immagini con sfondo azzurro sono state tratte dal sito www.datamath.org (Thanks, Joerg!)
 

HOME