SPREADSHEET E DINTORNI: UN FOGLIO ELETTRONICO IN GW-BASIC

A SPREADSHEET PROGRAM IN GW-BASIC

 

Nel Settembre del 1984 sempre sulla mia solita rivista di settore, MC Micromputer, uscì un articolo molto interessante sull'implementazione di un foglio elettronico ("SPREADSHEET") scritto in BASIC per il Commodore 64. Lo ricopiai subito (compresa una correzione uscita nel Gennaio 1985) e dopo un po' di uso lo archiviai. Sapevo dell'esistenza del Visicalc per Apple-II ma l'utilizzo di un foglio elettronico era, all'epoca, fuori dai miei interessi.

Venduto il C-64 e comperato il solito PC XT compatibile taiwanese avevo incominciato ad usare il Lotus 123, ma sempre come semplice utente. La prospettiva cambiò un attimo quando mi arrivò un Olivetti M10 da 24K e così per utilizzarlo un po' pensai di tradurre SPREADSHEET in Basic M-10: la cosa si rivelò interessante anche perché lavoravo con uno schermo ridotto e con 14K di memoria in meno rispetto al C-64; comunque tagliate alcune cose SPREADSHEET funzionò alla fine anche sull'M-10.

Il portatile Olivetti M10 (con 24K di memoria)

Circa 10 anni dopo mi interessai al Visicalc per i miei soliti studi di storia dell'informatica e così mi venne a mente che potevo, come esperimento, far girare SPREADSHEET contemporaneamente sul PC IBM, il Commodore 64 e l'Olivetti M10. Ripreso in mano il listato originale l'ho tradotto in GWBASIC (in realtà usavo il solito Quick Basic mantenendo però la compatibilità col GW),l'ho esteso ed ampliato allo stesso tempo anche per le altre due macchine. Questa caratteristica di scrivere software in BASIC portabile (!) su più modelli era una costante degli anni '80 e c'erano riviste che pubblicavano listati di programmi per più macchine (di solito Commodore 64 e Sinclair Spectrum).

L'esperimento è stato interessante anche perché oggi c'è la possibilità di far girare il tutto su emulatori per PC e quindi facilitando di molto lo sviluppo (senza contare la velocità di esecuzione...): io ho usato Win-Vice 2.1 per il C64 e VirtualT per l'M10 e qui sotto li potete vedere tutti e tre in esecuzione.

La cosa è poi proseguita perché da questa versione sono derivati altri due programmi e cioè

  • SPREADSHEET ADVANCED (arrivato alla versione 13) che è diventato praticamente un clone di Visicalc;

  • J-SPREAD (versione 3.9 e 4.0), riscritto quasi del tutto in Microsoft P.D.S. 7.1, che è stato integrato nel mio gestionale SPC-JUNIOR come base del modulo di ANALISI DI BILANCIO.

Nel download proposto a fine pagina è disponibile pure la documentazione per tutte le versioni

BASICALC (40 colonne) e SPREADSHEET ADVANCED in esecuzione

Così per curiosità ho fatto un giro per la Rete per vedere se c'erano altri programmi di foglio elettronico scritti in BASIC per altre macchine dell'epoca: ne ho trovati molti ma solo tre li ho ritenuti interessanti e comunque sono stati fatti funzionare solo alcune modifiche in quanto contenevano degli errori.

1) TABELL per Olivetti M10, Commodore 64 e Sinclair ZX Spectrum della Libreria di Software della Fratelli Fabbri Editori (n. 5) nel 1984: era presente solo il listato della versione per M-10 che è stata convertita anche per il Commodore 64 (per motivi sconosciuti - forse semplice pigrizia - la versione originale su nastro per il C-64 non implementava la maggior parte delle funzionalità del programma per M-10);

2) BASICALC scritto per l'Apple II nel 1982 da un programmatore americano: l'ho convertito anche per Commodore 64 e MBASIC86 che è la versione del Basic derivata dal MBASIC80 del mitico CP/M (questa versione funziona tramite il driver ANSI.SYS);

3) VSCALC scritto per il VIC-20 (con espansione video a 40 colonne) da un programmatore belga o olandese nel 1984: l'ho ampliato e riscritto per il VIC-20 a schermo standard, il C64, il C16 e il Plus4 e così anche il VIC-20 (sebbene espanso a 28K) ha potuto avere il "suo" foglio elettronico.

Notate in alto a destra i 9K di memoria disponibili (!!).

Ovviamente tutte e tre i programmi sono state scritti anche in GWBASIC (a 40 e 80 colonne).

Nel link sottostante potete scaricare tutte le versioni di cui è parlato in questa pagina: per le versioni non PC sono compresi anche i sorgenti ed il tutto è disponibile direttamente tramite il disco in .D64 per i Commodore e in .DSK per AppleII.

   Download: SPREADSHEET.RAR

Nota: SPREADSHEET ADVANCED è disponibile in una nuova versione ed è stato ricompilato anche sotto QB64, così da poter essere eseguito anche con i Windows più recenti.

Nota: Oltre ai programmi succitati, ne sono stati trovati altri due molto interessanti (PC-CALC e QSHEET: solo per PC-IBM) che meritano una pagina a parte.

 

HOME