ERRE PROJECT per C-64 e PC

ERRE PROJECT for C-64 and PC

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