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 a 6K) e iniziarono così i
primi esperimenti d programmazione con il Basic 2.0 Commodore. Assieme
a Renato, mio collega di università (eravamo 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. Nel contempo una rivista italiana del settore, MC
Microcomputer, aveva pubblicato sul n. 22 del Settembre 1983 un
articolo su un "linguaggio" strutturato per il VIC-20 (chiamato BASAL)
che ci diede la spinta decisiva. Una trascrizione di questo articolo è
scaricabile qui.
Nacque così ERRE PROJECT
verso la fine del 1983:
ovviamente i mezzi a disposizione erano veramente primitivi (non avevamo
neanche un compilatore BASIC per il VIC-20) e i
risultati modesti: ricordo, tra l'altro, che il manuale fu battuto al
Centro di Calcolo del Politecnico di Milano su un PDP-11/34 (!).
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ì via.
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"¼ con scheda Hercules monocromatica,
monitor e stampante ad aghi Citizen MSP-10). 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 a 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 l'Agosto del 1989: il linguaggio utilizzato era il Quick Basic 4.5
sotto MS-DOS 3.2, portata poi un mese dopo sotto MS-DOS 3.30 (il primo
di una lunga serie di cambi di Sistema Operativo......)
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 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. E così,
tanto per finire e darsi un tono, ecco una proposta di logo per ERRE
PROJECT
N.B.: I file .D64 sono
stati testati sotto Win-VICE 2.1, CCS-64 e C64S, i file .D81 sotto
Win-VICE 2.1.
CRONOLOGIA DELLE VERSIONI DI ERRE SYSTEM
Versione |
Periodo |
Sistema |
Commenti |
ERRE v 1.2 |
Primavera - Estate 1983 |
VIC20+3K |
Due
moduli (EDITOR/COMPIL 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 |
C-64 |
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.2 |
Luglio 1984 |
C-64 |
Documento "Stoneman": è la prima formalizzazione di ERRE e
presenta anche delle possibili aggiunte al linguaggio. Nel
documento si fa riferimento ad una versione 2.2 della quale non
resta traccia. Accanto ad alcune ingenuità "Stoneman" fornisce
degli spunti che saranno realizzati solo nella versione 2.6 per
PC (trent'anni dopo!). |
ERRE v 2.3 |
Aprile 1985 |
C-64 |
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.
Ritrovata gran parte dei sorgenti
su carta: è disponibile l'immagine del disco ERRE23.D64
che permette di far compilare le versioni 2.x usando l'ambiente
di programmazione della versione 3.2 |
ERRE v 3.0 |
Febbraio 1986 |
C-64 |
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 |
C-64 |
Aggiunti gli interpreti per i
linguaggi LISP e PILOT. |
ERRE v 3.1 |
Agosto 1986 |
C-64 |
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). |
PC |
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 funzionava sotto Windows 2000/XP (l’anomalia è stata corretta
nel 2009): in occasione del trentennale di ERRE per PC è stato
aggiunto anche
EDLIN!!!! |
ERRE v 2.0 |
Agosto 2002 |
PC |
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 funzionava 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 |
PC |
Aggiunta l’istruzione FOR..DO e
corretti tre errori della versione 2.0. Nuova compilazione sotto
Basic PDS 7.1. Floppy presente. |
|
Aprile 2009 |
C-64 |
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.1 (dopo 23 anni !!).
Trascritti i manuali della versione 2.3 per C64 su PC sotto
Word. |
ERRE v 2.5 |
Dicembre 2012 |
PC |
Aggiunta l’istruzione COMMON per la gestione dei moduli e la
GOTO che implementa la “famigerata” istruzione (con
l’annessa dichiarazione LABEL). Corrette anche alcune
anomalie del compilatore e del LOE. Estesa la libreria PC.LIB.
Floppy presente. |
ERRE v 1.3 |
Dicembre 2012 |
VIC20+16K |
Miglioramento della versione 1.2 per
VIC-20. Utilizzo del disco anziché del nastro, aggiunti quattro
nuovi comandi per il modulo EDITOR [PF, PRINT, TASK e NEW] ed
utilizzo della stampante. EDITOR è stato anche compilato con
AustroSpeed per VIC-20 (che nel 1983 non mi era ancora
disponibile); invece TASK deve restare in BASIC perché utilizza
il metodo del buffer di tastiera per caricare il programma
“tradotto” in memoria.
Questa versione gira su VIC-20 espanso (almeno 16K) ed è stata
fatta eseguire sull’emulatore VICE 2.1 (file ERREVIC.D64).
E' stato trascritto anche il manuale che,
originariamente, era stato battuto su un PDP 11/34 (!!) al
Politenico di Milano. |
ERRE v 2.6 |
Maggio 2014 |
PC |
Su PC. Sistemato il codice (estesi i limiti
interni del compilatore e corrette alcune anomalie):
-
la parola chiave USING diventa WRITE
-
aggiunto DO ai cicli WHILE e FOR – come
in Pascal.
-
aggiunta LOCAL per definire variabili
locali nelle procedure.
-
introdotta EXIT PROCEDURE
-
introdotta la gestione dei record (TYPE)
con WITH .
-
IF estesa con ELSIF
-
cicli LOOP..END LOOP
-
intervalli numerici nei case_label
-
uso di ‘_’ per migliorare la
leggibilità degli identificatori
-
array dinamici
-
controllo dell’uso di GOTO e RESTORE.
-
operatore IN
-
istruzione CONTINUE e operatori += -=
*= /=
-
nuove direttive di compilazione -
compresa la compilazione condizionale per le due versioni di
ERRE.
Introdotto lo strumento R-Viewer per la
visualizzazione a colori del programma .R.
Libreria PC.LIB estesa con nuove procedure e nuova libreria
MOUSE.LIB. |
ERRE v 3.2 |
Maggio 2014 |
C-64 |
Su C-64. Finalmente ripreso in mano il
progetto anche per il C64 con nuove estensioni rispetto alla
versione 3.1 del 1986.
1) Completata la gestione della
configurazione a 2 dischi che diventa la
configurazione standard per ERRE System.
2) MCR rivista con l’aggiunta del file
‘autoexec’ (simile a quello di MS-DOS) eseguito all’avvio del
sistema, nuova visualizzazione per il comando ‘dir –f’, nuovi
comandi e rifatte tutte le abbreviazioni. VIEW e XREF diventano
comandi di MCR, programma applicativo SPREAD (foglio
elettronico)
3) Correzione di tutti i moduli
interessati.
4) Nuovo editor VEDIT (scritto in GWBASIC
per PC e poi “tradotto” nel Basic 2.0 Commodore) e nuovo comando
LISTER con scelta a menu per visualizzare file sequenziali.
Aggiunto il pre-processore per il compilatore (come nella
versione per PC).
5) Nel linguaggio ERRE fatte le seguenti
aggiunte:
-
i numeri in ottale (&)
-
uso di DO con i cicli WHILE e FOR –
come in Pascal
-
EXIT PROCEDURE
-
GOTO con l’annessa LABEL con controllo
sui salti (locale)
-
uso di ← per migliorare
la leggibilità degli identificatori (come ‘_’ sul PC)
-
IF estesa con ELSIF
-
cicli LOOP..END LOOP
-
RESTORE locale
-
ritorna SWAP e pi-greco (tolti dalla
3.1)
-
i case_label consentono l’uso di
intervalli numerici (es 1..100)
-
assegnazione diretta array (come su PC)
-
array dinamici
-
istruzione CONTINUE e operatori += -= *= /=
-
estesi i limiti interni del
compilatore.
6) Definite le direttive di compilazione ($FREE,
$INCLUDE- a 2 livelli - $RCODE, $VARSEG, $DIMCOMMON, $DIM,
$NULL)
7) Aggiunti nuovi programmi di esempio (HGR
3D, file ad accesso casuale, Othello, Lowedi, demo finestre ed
altri).
8) Preparate anche versioni per disco
singolo 1541 e per il drive 1581.
Presente tutto il set di floppy (5 dischi) nel formato .D64 |
ERRE v 3.2 & v 2.6 |
Agosto 2014 |
PC & C-64 |
E' disponibile la versione elettronica del mio libro "PROGRAMMARE IN ERRE":
una lettura consigliata per chi vuole approfondire il
linguaggio! "http://www.scribd.com/doc/237882130/PROGRAMMARE-IN-ERRE"
|
ERRE v 3.2 & v 2.6 |
Ottobre 2014 |
PC & C-64 |
E' disponibile la seconda edizione della versione elettronica del mio libro "PROGRAMMARE IN ERRE":
una lettura consigliata per chi vuole approfondire il
linguaggio! Nuove estensioni per il linguaggio, sia per
PC che
per C-64, e nuovi tool per la versione 3.2 per
C-64: inoltre è
stato portato l'ambiente di sviluppo su un drive 1581 da 3"1/2.
Inserito ERRE sia in
www.roesler-ac.de/wolfram/hello.htm che in
http://rosettacode.org: i vari sorgenti
caricati sono stati tradotti in inglese.
Nuova pagina con un breve, ma completo,
tutorial per la versione 2.6.
|
ERRE v 1.3 |
Novembre 2014 |
VIC20+16K |
Aggiornata
ancora la 1.3 del Dicembre 2012. Aggiunti altri 5 comandi ed
esteso leggermente la versione di ERRE (adesso è più simile alla
2.X per C-64). E' stata anche completata la gestione del disco:
il tutto è ancora sul file per Vice 2.1 ERREVIC.D64.
E' stato completamente rifatto il
manuale. |
ERRE v 2.6 & v 3.2 |
Dicembre 2014 |
PC & C-64 |
Ulteriori correzioni e miglioramenti (PC:
VARPTR, nuove
direttive di compilazione e compilazione condizionale;
C-64:
FORWARD e
VARPTR e nuove direttive di compilazione). Aggiornati
anche i manuali. |
ERRE v 2.6 & v 3.2 |
Febbraio 2015 |
PC & C-64 |
Ulteriori correzioni e miglioramenti (UBOUND/LBOUND,
GETKEY$,
nuove
direttive di compilazione, in più CONST per la versione
C-64). Aggiornati
anche i manuali. E' disponibile la terza edizione della versione elettronica del mio libro "PROGRAMMARE IN ERRE":
una lettura consigliata per chi vuole approfondire il
linguaggio! |
ERRE v 3.0 |
Aprile 2015 |
PC |
Nuova versione di ERRE su PC: introdotto il concetto di classe
per dare al linguaggio una estensione O.O.P. Altre migliorie
riguardano nuove direttive di compilazione ($MATRIX,
$ERROR,
$LOCK/$UNLOCK, la gestione degli array (LOCAL DIM per gestire
quelli locali e REDIM per ridimensionare quelli dinamici) nonché la
sistemazione di alcuni errori. Di conseguenza è stato aggiornato
sia il mio libro "PROGRAMMARE IN ERRE" (quarta
edizione) che ERRE Poster ed i relativi manuali. |
ERRE v 3.0 (A),
v 3.2 & v 1.3 |
Marzo-Maggio 2016 |
PC, C-64 & VIC-20 |
Corrette alcune anomalie dei vari compilatori, rivista anche la
quarta edizione del libro "PROGRAMMARE IN ERRE".
Corretti alcuni errori minori dell'ambiente
di programmazione e aggiunti gli operatori relazionali in un "case_label".
Funzioni INSTR e
STRING$ (C-64)
e miglioramenti nel modulo MCR (comando HEXDUMP - unificate le
routine l.m. con il file MCR32X.LM che si affianca ad
ERRE32X.LM). Miglioramenti anche nella versione 1.3 per
VIC-20 con un set completo di
funzioni in l.m. e copertura anche dell'alta risoluzione.
L’istruzione
DIM si può usare
anche per dichiarare variabili semplici (tutte le versioni).
Completata la gestione delle eccezioni con
l’istruzione RESUME, che consente di redirigere verso una label
l’esecuzione del programma dopo un errore. Nel caso del
VIC-20 è stata introdotta anche
la EXCEPTION
(vista come procedure).
Nella versione per
C-64 completata l’implementazione delle routine in L.M. (vedi
documento separato "64VMS-LM.DOC" per i particolari).
Nella versione
PC
introdotto l’uso del mouse per il L.O.E. e per EDIT, nuova
istruzione EVENT
(con la IF
EVENT) per la gestione degli “eventi” esterni.
In entrambe le versioni introdotta la funzione
FACT: aggiornati
ovviamente i manuali. Quinta edizione del mio
libro "PROGRAMMARE IN ERRE" con più capitoli e
miglioramento degli esempi di utilizzo. |
ERRE v 3.0 (B) &
v 3.2 |
Aprile 2018 |
PC &C-64 |
Corrette alcune anomalie nelle varie versioni ed aggiornata la
sintassi del linguaggio:
In entrambe le versioni: nuova sintassi per la dichiarazione
degli array dinamici, istruzione USES
per la gestione delle "unit" - librerie - (sostituisce la
direttiva $INCLUDE),
dichiarazione di costanti "estesa", nuova
direttiva $ABORT.
Nella versione per
C-64 introdotto - come su PC - l'opzione
ALL per
CLOSE, nuovo comando
CATALOG per MCR, ampliato il programma di utilità XREF con l'opzione
-R per evidenziare le parole chiave di ERRE anziché le variabili
(come sul PC).
Nella versione PC
introdotto l'istruzione IS da
utilizzare con CASE e
CLASS (permette di far ereditare
i metodi di una classe da un'altra), le funzioni numeriche di
tipo variant, ristrutturata l'istruzione
OPEN per i file, è possibile
avere descrizioni FIELD
multilinea per i file ad accesso diretto, aggiunte le
funzioni FREEFILE
per avere il primo numero di file libero e
FILEATTR$ per avere informazioni
su un file aperto, l'operatore logico
XOR,le procedure di tipo
EXTERNAL, ristrutturata
l'istruzione GET (ora uguale a
quella del 64), e l'istruzione RESUME
(con l'aggiunta della direttiva
$NOEXCEPTION), ampliata l'istruzione
EVENT (con l'aggiunta delle
direttive
$SETUEVENT e
$RETURN), ampliato EDITOR con nuove opzioni. Rimosse le
direttive
BASE e
KEY mentre la libreria PC.LIB è
stata riorganizzata in nove "unit" tematiche.
Il
tutorial è stato
aggiornato per la versione 3.0 del linguaggio.
Aggiornati ed ampliati i manuali nonché versione aggiornata (la
sesta) del mio
libro "PROGRAMMARE IN ERRE" con più capitoli e
miglioramento degli esempi di utilizzo nonché la nuova versione
di Erre Poster. |
ERRE v 3.0 (B),
v 3.2, v 1.3 |
Novembre 2018-Febbraio 2019 |
PC, C-64 e VIC-20 |
Per PC:
"abbellito" l'ambiente di sviluppo con nuove funzionalità (anche
su EDIT ed
EDLIN). Corrette alcune anomalie
e implementate con nuove estensioni per l'istruzione
OPEN, la funzione MID$
usata per gli assegnamenti, l'istruzione
FOREACH e nuove istruzioni (CHANGE,@),
nuove funzioni (FREEMEM,
MAXFILES e
FORMAT$) e l'operatore
&.
Per C-64: implementate
l'operatore &,
le istruzioni @,FOREACH e RANDOMIZE
nonché migliorie per MCR, EDITOR e COMPIL.
Per VIC-20: introdotte
l'istruzione @,
l'operatore & e migliorate le
routine L.M.
Aggiornata tutta la documentazione. |
ERRE v 3.0 (B),
v 3.2 |
Estate 2019 |
PC & C-64 |
Introdotte le "named exceptions"
per aumentare la portabilità tra le piattaforme. Piccole
correzioni ed aggiunte con relativo aggiornamento della
documentazione. Secondo libro su ERRE per tutte le versioni:
"ERRE REFERENCE MANUAL" che
contiene l'elenco in ordine alfabetico di tutte le istruzioni
del linguaggio. |
ERRE v 3.0
(B), v 3.2(A), v 1.3 |
Estate 2020 |
Tutte le versioni |
Nuova
evoluzione del linguaggio.
Per
PC: istruzione di
assegnamento multiplo, ristrutturata l’istruzione
OPEN,
formalizzazione del concetto di “dato statico” con la
DATA … END DATA
- che sostituisce la procedura predefinita
DATA(
che resta nel C-64) - ampliata istruzione
PAUSE,
nuove istruzioni
ACCEPT,
EXEC
(che sostituisce
SHELL),
nuova funzione
POLY.
,
nuove istruzioni
LET
e
EXCHANGE
per la manipolazione dei record.
Rivista anche la precedente versione 2.6 (adesso 2.6A) per
renderla più aderente alla 3.0B.
Per
C-64: istruzione di
assegnamento multiplo, nuove istruzioni ACCEPT,
LOCAL,WRITE,PAUSE
ed EXEC:
LOCAL
consente di definire variabili locali (solo semplici) entro una
procedure, EXEC
consente la comunicazione con i dischi secondo la sintassi del
DOS Wedge, WRITE
permette la formattazione dei numeri a video. Ristrutturati
anche i file in l.m.: alcune routine sono state spostate per
rimuovere delle limitazioni in fase di compilazione. Nuovi files
in l.m. (DDPLOT
e ADD32Y)
per aumentare le funzionalità del linguaggio.
E’ possibile
utilizzare anche un “Ramdisk” sulla REU 1764 per aumentare la
velocità di compilazione: nuova procedura di partenza per ERRE
System.
Per
VIC20: aggiunte altre
routine in l.m. (USING, DDPLOT).
Resa operativa la versione 2.3X, derivata dal documento
“Stoneman” poi abbandonata e della quale era rimasto solo un
listato. E’ la prima per C64 ad avere variabili locali,
maiuscole/minuscole e compilatore a 2 passate: il tutto è stato
ripreso nella versione 3.2A. La sintassi è simile a quella della
versione 2.3, anzi da questa versione arriva la seconda passata
del compilatore della 2.3X.
Aggiornati ed ampliati i manuali nonché versione aggiornata dei
due libri "PROGRAMMARE IN ERRE" (settima edizione)
ed "ERRE REFERENCE MANUAL" nonché la nuova versione di
Erre Poster. |
ERRE v 3.0B e v 2.6A
ERRE v 3.2A |
Estate 2021 |
PC
............... C-64 |
Fix e correzioni minori per le versioni indicate. |
ERRE in generale |
Estate 2022 |
Tutte le versioni |
In occasione del quarantesimo dell'acquisto del mio primo
personal computer, il mitico VIC-20, sono state rivisitate
(correggendo anche alcuni piccoli errori) tutte le versioni di
ERRE, dalla 1.2 per VIC-20 alla 3.0B per PC, compresa la
documentazione.
Da segnalare l’introduzione di
XOR
per C-64 in forma funzionale. Ricostruita in base al manuale
la versione 3.0 per C-64, il cui dischetto era andato
perduto. |
ERRE v 3.2A
ERRE v 3.0B |
Settembre
2023 |
C-64
PC
|
Rivisitazione
di MCR: aggiunta la gestione dei file batch (.SUB)
con il nuovo comando
SUBMIT,
il comando PARTITION
per l'accesso alle partizioni del drive 1581 ed il comando
BEEP.
Piccole modifiche nei comandi
DESKCALC, RVIEW, SHOW
e
SET.
Nuovo file l.m.
TBUFFER.LM
che unifica le routine l.m. che risiedono nel buffer del nastro.
Aggiunto interprete FORTH.
Generata anche una versione per C-128 (in modo 64) con
un'unità disco 1571. Corretti pure piccoli errori delle versioni precedenti.
Nuova unit
EVAL.LIB
per estendere la funzione
VAL.
Aggiornata la documentazione. |
ERRE C-64 (tutte le versioni) |
Novembre 2023 |
C-64 |
Automatizzata l'esecuzione delle varie versioni di ERRE con
l'emulatore VICE: il file batch MAIN.BAT seguito dal nome
della versione da lanciare aggiorna il relativo batch (che è
dotato di autoboot) con l'orario tratto dal PC.
MAIN.BAT
echo off
@cls
@if %1'== ' goto :Help
@es_rtc %1
@%1
@goto :Fine
:Help
@echo usage: MAIN argument
@echo where argument can be:
errevic13,erre21,erre23,erre30,erre31,erre32x
@echo erre32_dual,erre32_mono,erre32y,errevic13
:Fine
"ES_RTC" è un eseguibile Windows che aggiorna il batch
della versione da lanciare. Ad esempio per lanciare in
automatico la versione 3.2A basterà dare
MAIN ERRE32Y
ERRE32Y sarà aggiornato così:
x64 -config \errec64\mono1581.cfg -8 \errec64\erre32y.d81
-1 \errec64\erre32. tap -keybuf TI$=\22205653\22:LOAD\22BOOT\22,8,1:\83
VICE interpreta i \22 come le virgolette, mentre \83 è il
codice PETASCII per <SHIFT>+<RUN/STOP> mentre la parte su sfondo
nero è quella aggiornata da "ES_RTC". |
DOWNLOAD
●
Versioni attuali
(C-64/VIC-20/PC)
●
Versioni storiche
Per C-64:
download completo
-
ERRE C64 2.1
(con sorgenti ed eseguibili) (*)
-
ERRE
C64 2.3 (immagine .D64) (*)
-
ERRE C64 2.3X (immagini .D64) (*)
-
ERRE C64 3.0 (immagini .D64) (*)
-
ERRE
C64 3.1
(tutte le immagini .D64) (*)
Per PC:
download completo
-
ERRE
PC 1.0
(*)
-
ERRE
PC 2.0
(*)
-
ERRE
PC 2.1
(*)
-
ERRE
PC 2.5
(*)
-
ERRE
PC 2.6
(*)
-
ERRE
PC 3.0 (*)
-
ERRE PC 3.0A (*)
●
ERRE Poster
E' disponibile per il
download un poster (circa
45x120 cm) in formato .JPG
con i diagrammi sintattici del linguaggio ERRE !!
● Il libro
"Programmare in ERRE"
E' disponibile per il
download la settima edizione del
libro "Programmare in ERRE": a richiesta possono essere rese disponibili anche
le versioni precedenti.
●
Il libro
"ERRE Reference Manual"
E' pure
disponibile per il download anche il
libro "ERRE Reference Manual" che contiene l'elenco in ordine
alfabetico di tutte le istruzioni del linguaggio ERRE nelle sue tre
versioni (V1.3 per VIC-20,
V3.2A per C-64 e la
V3.0B per PC).
Note:
Le versioni
segnate con (*) e cioè la 1.2 per VIC-20, fino alla 3.1 per C-64 e
fino alla 3.0A per PC sono riportate solo a scopo storico. Le versioni
effettive sono la V1.3 per VIC-20,
V3.2A per C-64 e la
V3.0 B per PC. La versione per PC gira
nativamente da MS-DOS 5.0 fino al prompt dei comandi di Windows
(versioni a 32 bit).
Versioni di Windows a 64 bit devono virtualizzare (io uso sia VM Player
che Dosbox).
Notes:
ERRE versions
marked with (*), namely 1.2 for VIC-20, up to 3.2 for C-64 and up to 2.6 for PC are available for historical purpose only. Actual
versions are V1.3 for VIC-20, V3.2A for C-64 and
V3.0 B
for PC. PC version runs natively from MS-DOS 5.0
up to Windows (32 bit version) command prompt. 64 bit Windows versions must use a
virtualization software (I use both VM Player and DosBox).
GALLERY
|