Simons' BASIC

Versione del 2 giu 2020 alle 06:23 di Roger469 (discussione | contributi) (ampliamento voce)


Simons' BASIC, anche scritto erroneamente Simon's BASIC in alcune versioni, è una cartuccia per il computer Commodore 64, pubblicata dalla Commodore nel 1983, che aumenta le capacità del linguaggio BASIC preinstallato, introducendo 114 comandi addizionali, a spese di una piccola riduzione di 8 kB della memoria RAM disponibile.

Simons' BASIC
software
Schermata del Simons' BASIC
Schermata del Simons' BASIC
Schermata del Simons' BASIC
Genereaiuto alla programmazione (non in lista)
SviluppatoreDavid Simons per Commodore
Sistema operativoDOS
Linguainglese



Cartuccia di Simons' BASIC

Un'ulteriore espansione chiamata Simons' BASIC Extension uscì in seguito su disco e cassetta e fornisce altri 91 comandi oltre a quelli della cartuccia, che deve comunque essere presente.

Caratteristiche

Simons’ Basic è un’utilità che aggiunge 1) comandi di aiuto alla programmazione, 2) comandi di accettazione dati, 3) comandi di utilità disco, 4) supplisce alla mancanza di scheda grafica con comandi per alta risoluzione, 5) comandi per bassa risoluzione, 6) comandi per formare caratteri personalizzati e comporre sprite, 7) comandi per la programmazione strutturata, e 8) comandi per un totale controllo delle forme d’onda del suono.

David Simon programmò Simons' BASIC. Simon era un sedicenne di origine inglese, che aveva imparato a programmare fin dall'età di 13 anni.

Simons’ Basic fu messo in vendita per la prima volta in Italia nel 1983 e il successo fu tale che scarseggiò subito, perciò in breve uscirono altri programmi simili, come 1) Super Expander, 2) Screen Graphics e 3) Ultra Basic.

Anche se i rivenditori e la Commodore stessa davano la cartuccia del Simons Basic con il contagocce, dato che 8 kbite di programma Simons Basic stanno in 10 cm. di nastro e occupano 64 blocchi su floppy disk, quindi vengono caricati in un attimo, si aveva la possibilità di usarlo con il registratore a nastro. Da notare che l'uso della cartuccia è rischioso, perché se ci si dimentica di spegnere il computer per inserirla o disinserirla, è facile mandare in cortocircuito il computer. Mentre la versione su nastro o su floppy non presentano altro inconveniente che invecchiano e quindi ogni tanto vanno ricopiati (backup) su nastri nuovi.

Del manuale inglese, esiste anche un manuale in italiano.

Dato che il Simons’ Basic si alloca nella memoria del Commodore 64 all’indirizzo $8000–$9FFF, si sovrascrive una parte della memoria RAM del Basic, producendo un consumo di memoria 8 KB di meno che la configurazione standard.

Comandi del Simons' Basic

Il programma Simons’ Basic aggiunge al Basic v.2.0 del Commodore 64, 14 comandi di aiuto generico alla programmazione, di ausilio alla correzione dei programmi, di conversione fra numeri in base binaria, esadecimale e decimale.

Assegnazione di comandi ai tasti funzione

KEY,#,"istruzione"

Comandi fino a 10 caratteri alle 16 funzioni che si possono combinare con i tasti funzione F1, F2, F3, ecc. sulla destra del C64 e i tasti SHIFT e LOGO Commodore.

DISPLAY provvede a mostrare tutte e 16 le funzioni.

AUTO,# iniziale,#passo, serve per numerare automaticamente la linea di programma successiva ad un Return.

RENUMBER#iniziale,#passo, serve per rinumerare le linea di programma. E’ molto utile ma bisogna stare attenti che rinumera anche le subroutine, senza aggiornare le variabili di salto condizionato.

CGOTO#=espressione aritmetica, è un’istruzione di salto non condizionato alla linea di programma che ha come risultato il numero dell’espressione aritmetica.

MERGE"nome programma",#periferica, serve per ad unire il programma residente in memoria con quello caricato per mezzo di questo comando. E’ utilissimo quando si ha una bibblioteca di subroutine che si vogliono unire ad un nuovo programma residente.

Ausilii per listare i programmi

FIND"stringa", cerca fra le REM o fra le virgolette la parola indicata.

Ausilii per la correzione (debug) dei programmi

DUMP mostra nome e contenuto delle variabili non dimensionate di un programma in memoria.

TRACE 10, mostra i numeri di linea delle istruzioni eseguite dal C64. E’ utilissimo per sapere cosa succede quando un programma si impianta.

COLD esegue un reset del C64, da usare con cautela, dopo aver salvato il lavoro.

Ausilii per la conferma dell'INPUT e gestione testi

Il programma Simons’ Basic aggiunge al Basic v.2.0 del Commodore 64, 12 comandi per la conferma dell’INPUT e la gestione dei testi.

FETCH"carattere",I,stringa, permette di controllare quali caratteri sono accettati da INPUT da tastiera.

INKEY verifica quale stato funzione è stato premuto.

Ausilii numerici

Il programma Simons’ Basic aggiunge al Basic v.2.0 del Commodore 64, 8 comandi di ausilii numerici.

PRINT % <#binario>, ci dà il numero decimale di un numero binario.

PRINT$<#esadecimale>, ci dà il numero decimale di un numero esadecimale.

Utilità disco

Il programma Simons’ Basic aggiunge al Basic v.2.0 del Commodore 64, 2 comandi di utilità disco. Qui scarseggia un po', se pensiamo a DOS Wedge, all'Epix Fast Load o ad altri programmi più complessi di gestione disco o come i disk monitor, Clone e Unguard.

DISK,"operazione", sostituisce il comando OPEN1,8,15,

DIR$, sostituissce il comando LOAD"$",8

Grafica con il Simons' Basic e gestione video

Il programma Simons’ Basic aggiunge al Basic v.2.0 del Commodore 64, comandi di bassa risoluzione.

SCRSV2,8,2,"nome,S,V", memorizza e salva su nastro o su disco, i dati sul video in bassa risoluzione.

COPY stampa su stampante un video grafico.

Comandi di alta risoluzione

CIRCLE disegna una circonferenza.

PAINT riemppie di un dato colore una figura.

Sprite Editor

Il programma Simons’ Basic aggiunge al Basic v.2.0 del Commodore 64, 9 comandi di sprite editor.

Sprite che propriamente si tradurrebbe con "folletto", è un oggetto mobile definito dall’utente, chiamato anche MOB. Per mezzo dell’editor di sprite si possono definire anche nuovi font e sono disponibili 3 comandi per la gestione di caratteri.

Il modo classico di definire sprite si fa introducendo il disegno sottoforma di DATA numerico, per mezzo di una subroutine di POKE. Simons’ Basic invece ci fornisce un’interfaccia grafica che si richiama con il comando DESIGN. Gli altri comandi per gli sprite sono at @, MEM per modificare la configurazione RAM e ROM, e MMOB che muove lo sprite.

Programmazione strutturata

Il programma Simons’ Basic aggiunge al Basic v.2.0 del Commodore 64, 10 comandi di programmazione strutturata.

PROC etichetta ogni routine usata, corrisponde al comando chiamato divisione di procedura del Cobol.

IF condizione THEN vera : ELSE falsa, i famosi comandi condizionali dei quali, nel Basic v.2.0 manca l'ELSE.

Intercettazione degli errori

Il programma Simons’ Basic aggiunge al Basic v.2.0 del Commodore 64, 3 comandi di intercettazione degli errori.

ON ERROR è il salvagente quando si prova un programma che si impianta. Permette di rientrare o di andare ad una propria subroutine di errore che ci salva da un reset.

Controllo del sintetizzatore musicale

Il programma Simons’ Basic aggiunge al Basic v.2.0 del Commodore 64, 5 comandi di musica ed effetti sonori.

WAVE serve per scegliere la forma d'onda.

ENVELOPE serve per scegliere l'inviluppo.

Lettura di coordinate con la penna ottica, joystick e paddle

Il programma Simons’ Basic aggiunge al Basic v.2.0 del Commodore 64, 4 comandi read. un bell'esempio di gioco controllato dalla penna ottica è Shadowfire.

Esempi e appendici

Il volume è completato da 4 esempi di programmazione e da un’appendice con i messaggi d’errore e un glossario dei termini.

Ricezione

Il Creative Computing ha affermato che il BASIC di Simons "trasforma quasi il C64 in un nuovo computer. Ha elogiato il "manuale molto fine" in contrasto con la scarsa documentazione di Commodore, e aveva predetto che sarebbe diventato "il linguaggio standard per programmare la macchina. Ahoy! ha scritto "Se fai qualche programmazione in BASIC e dovresti vedere questo prodotto sullo scaffale di un rivenditore, non fare domande, non esitare, compralo e basta!" La rivista ha elogiato la potenza e il "manuale eccellente" di Simons' BASIC, affermando che "il suo prezzo lo rende uno dei migliori affari disponibili per il Commodore 64". La recensione di RUN fu meno favorevole, affermando che i suoi "molti comandi potenti e utili ... sfortunatamente, erano stati implementati molto male per un pacchetto commerciale. Il controllo dei parametri dei comandi è molto limitato e molte cose sono state trascurate o ignorate."

Bibliografia

Manuali
Articoli