Dopo tre anni di TI-59,
nell'ottobre del 1982 arrivò il mio primo "personal computer" il grande
VIC-20 con il proprio registratore Datassette, la VIC Expander di
3K (che portava la memoria dai 3.5K originali ai 6K) e iniziarono così i
primi esperimenti d programmazione con il Basic 2.0 Commodore. Assieme
ad un mio collega di università (ero al terzo anno della facoltà di
Ingegneria del Politecnico di Milano) pensammo di realizzare, sotto
l'influenza dei vari corsi di Programmazione, Sistemi Operativi e così
via, un ambiente di sviluppo, con il proprio linguaggio di
programmazione più evoluto del Basic, da programmare proprio sul
VIC-20. Nacque così ERRE PROJECT a circa metà del 1983:
ovviamente i mezzi a disposizione erano veramente primitivi e i
risultati modesti.
Nel frattempo la Commodore aveva
lanciato sul mercato il successore del VIC-20, il mitico C-64,
cosicché venduto il VIC, arrivò nel febbraio 1984 il 64 nudo e crudo e
nel giro di qualche mese seguirono tutte le periferiche (monitor
composito, unità floppy 1541, stampante MPS 801) e un bel po' di
software copiato qua e là (gli scambi "culturali" tra studenti erano
molto intensi).
ERRE PROJECT decollò con le varie
versioni: fu realizzato un interprete dei comandi (MCR), un vero e
proprio traduttore del linguaggio ERRE con i propri programmi di
utilità, interpreti di altri linguaggi (LISP e PILOT), assemblatori
6510, copiatori e così vai.
Fu anche utilizzato come aiuto per sostenere varie prove di
esame: ad esempio realizzammo la prova pratica dell'esame di Calcolo
Numerico programmando con ERRE la risoluzione numerica
dell'equazione del calore applicata ad un muro a forma di elle e graficando con il plotter 1520
le isoterme così calcolate.
La cronologia delle varie versioni
è riportata più avanti. Nel frattempo (siamo nel 1986) erano arrivati i
primi compatibili IBM a prezzo "studentesco" e così, trovato un
acquirente (sigh!) per il C-64, arrivò nel novembre 1986 il primo PC
compatibile (XT turbo, dual floppy da 5 e 1/4 con scheda Hercules monocromatica,
monitor e stampante). Tutto il materiale ERRE tranne un backup su
nastro e qualche stampa, lo diedi al mio amico Alberto, anche lui cultore
del C64.
Così per provare e mantenere un po'
vivo lo spirito del progetto, dopo un paio d'anni portai l'ultima
versione per C-64 (la 3.1) su PC (ricopiando a mano pazientemente
tutti i listati e facendo ovviamente gli opportuni aggiustamenti) e nacque la versione 1.0.
Era il 1989: il linguaggio utilizzato era il Quick Basic 4.5.
A questa versione seguì nel 2002 la
2.0; nel frattempo avevo scovato un C-64 con il solo registratore e un
po' di giochi su nastro ed è rinato il vecchio amore. A questo si deve
aggiungere Internet con la "scoperta" che il C64 era tutt'altro che
morto: emulatori per PC sempre più perfezionati, tutta la documentazione
disponibile, nuovo hardware e un
sacco di vecchio di hardware messo in vendita.
Il cerchio si è così chiuso,
recuperato un 1541 ho ricontattato Alberto che nel frattempo aveva
conservato tutto il proprio materiale (ERRE compreso) e dopo 23 anni la
versione 3.1 di ERRE è stata fatta girare nuovamente sul C64. Tramite un
cavo XM1541 ho portato tutto sul PC e creato i vari file D64, ho
travasato tutta la documentazione sotto Word (la documentazione era
stata scritta a sua tempo con il grande EASY SCRIPT) e
messo a disposizione il tutto per il download su questa pagina.
Ora il C64 è di nuovo attivo come
si può vedere dalla foto e fa la sua figura accanto ai vari PC.
N.B.: I file D64 sono
stati testati sotto Win-VICE 2.1, CCS-64 e C64S.
CRONOLOGIA DELLE VERSIONI DI ERRE SYSTEM
Versione |
Periodo |
Commenti |
ERRE v 1.2 |
Primavera - Estate 1983 |
Su VIC20 con espansione da 3K: due
moduli (EDITOR e TKB) e gira su nastro ed in BASIC. Vengono
"tradotte" solo le strutture di controllo (REPEAT, WHILE, CASE,
IF..THEN..ELSE). Presenti anche le varie ENDCASE, ENDWHILE e le
loro abbreviazioni. Il ciclo FOR usa ancora NEXT. Utilizza il
BASIC 2.0 Commodore come interprete R-Code. Manuale e sorgenti
recuperati (esiste anche il nastro). |
ERRE v 2.1 |
Aprile 1984 |
Su C64. Utilizza una sola unità a
dischi. Il sistema operativo è ribattezzato 64VMS. Presenti già i moduli LOGIN, MCR, EDITOR, COMPIL e TKB
(FORMAT è ancora all’interno di EDITOR). File di sistema
SYSTEM.DAT, SYSTEM2.DAT, ERROR.DAT e COERROR.DAT, TKB (del
09/1984) è ancora a immissione in memoria tramite buffer di
tastiera. Presenti come parole chiave di ERRE anche le varie CLS,
HOME, AT ecc. per il controllo del cursore. Compilata con
AUSTROSPEED. Utilizza il BASIC 2.0 Commodore come interprete
R-Code. Sorgenti recuperati su carta. |
ERRE v 2.3 |
Aprile 1985 |
Su C64. Utilizza una forma di "install"
che consente di scegliere la configurazione tra uno o due
dischi. LOGIN carica anche il primo nucleo di routine in L.M.
Stessi moduli e file di sistema precedenti con FORMAT
accessibile anche da MCR. Distribuita la prima libreria "HGR.LIB"
per l’alta risoluzione. Presente solo il manuale. |
ERRE v 3.0 |
Febbraio 1986 |
Su C64. Le routine LM sono ora in
un file separato "ERRE.LM", il programma si autoconfigura per
l’uso sui dischi. Stessi moduli e file di sistema della versione
precedente. TKB ora è un vero "tokenizzatore". Le librerie sono
tre: "CURSOR.LIB" (per la gestione del cursore - tolte le
relative parole chiave per ERRE), "HGR.LIB" (alta risoluzione) e
"WIN.LIB" (gestione a finestre). Aggiunti i programmi di utilità
(XREF, EXTCOPY, VIEW, CRYPT). Le strutture di controllo di ERRE
ora terminano con END + parola chiave e senza abbreviazioni).
Presente il manuale, il floppy degli eseguibili (lato A) e i
manuali scritti sotto EASY SCRIPT (lato B) nonché un backup dei
sorgenti su nastro. |
ERRE v 3.0 |
Marzo 1986 |
Aggiunti gli interpreti per i
linguaggi LISP e PILOT. |
ERRE v 3.1 |
Agosto 1986 |
Formalizzato completamente il
linguaggio ERRE (diagrammi sintattici). Introdotta EXCEPTION per
la gestione degli errori runtime, tolta SWAP e la "←"(sostituita
con "->"). Sostituita SYS con
CALL e CLR con CLEAR. Tolto pigreco. Ultima versione (per il
momento ....) su C64. |
ERRE v 1.0 |
Agosto 1989 (la versione su
floppy è dell’ Agosto 1992). |
Porting della versione 3.1 su PC
(per MS-DOS 3.20/3.30). MCR semplificata e come EDITOR si usa l’EDIT
Olivetti. Nuovo modulo LOE (editor guidato da sintassi). Dal
manuale per C64 trascritto il file di HELP. Gestione Colori
(copiata dal WSCOLOR per Wordstar 3.3). Aggiunta in ERRE la
funzione SEEK per l’utilizzo con i file relativi e la clausola
FORWARD per la mutua ricorsione. Nuova libreria "XT.LIB" che
unifica le tre precedenti per C64. Compilata sotto QB 4.5 (anche
se conserva tutti i numeri di riga). Utilizza il GWBASIC 3.23
come interprete R-Code. Floppy presente. N.B.: la versione 1.0
non funziona sotto Windows 2000/XP (l’anomalia è stata corretta
nel 2009). |
ERRE v 2.0 |
Agosto 2002 |
Migliorata MCR e aggiornato il
linguaggio ERRE con nuove caratteristiche (nuovo tipo LONG REAL,
reintrodotta SWAP, nuove costanti (pigreco e MAXREAL), nuovi
statement (USING, PAUSE, RANDOMIZE), passaggio funzioni nelle
procedure, numeri ottali, nuova gestione dei file relativi (FIELD),
interfaccia verso il sistema operativo (SHELL). Nuovo EDIT a
tutto schermo e reintrodotto (con il nome di EDLIN) il vecchio
editor utilizzato dalle versioni Commodore. La libreria "XT.LIB"
diventa, genericamente, "PC.LIB". Compilato sotto QB 4.5 (tolti
i numeri di riga con l’utility REMLINE). Floppy presente. N.B.:
la versione 2.0 non funziona sotto Windows 2000/XP (l’anomalia è
stata corretta nel 2009). |
|
Marzo 2009 |
Trascritti i manuale della versione
3.x per C64 e della versione 2.x per PC sotto Word. |
ERRE v 2.1 |
Marzo 2009 |
Aggiunta l’istruzione FOR..DO e
corretti tre errori della versione 2.0. Nuova compilazione sotto
Basic PDS 7.1. Floppy presente. |
|
Aprile 2009 |
Portata la versione 2.1 per C64 su
PC per l’utilizzo con l’emulatore VICE 2.1 (file ERREV21.D64):
sono stati corretti 3 bug del compilatore. Rimesso in funzione
un C64 (con Datassette C2N, drive 1541 e monitor composito) e
fatta girare la versione 3.x (dopo 23 anni !!).
Trascritti i manuali della versione 2.3 per C64 su PC sotto
Word. |
DOWNLOAD
Versioni per C-64 in
formato D64
Versioni per PC
GALLERY
|