Simons' BASIC: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nuova pagina: {{S|informatica}} thumb|Cartuccia di Simons' BASIC File:Simons Basic Splash Screen.gif|thumb|Schermata iniziale del Commodore 64...
 
Botcrux (discussione | contributi)
m Bot: Aggiungo template {{interprogetto}} (FAQ)
 
(18 versioni intermedie di 9 utenti non mostrate)
Riga 1:
{{Software
{{S|informatica}}
[[File:Simons BASIC Modul Hires.JPG|thumb|CartucciaNome di= Simons' BASIC]]
|Logo =
[[File:Simons Basic Splash Screen.gif|thumb|Schermata iniziale del Commodore 64 con Simons' BASIC, con colori diversi dal normale]]
|Screenshot = Simons Basic Splash Screen.gif
|Didascalia = Schermata iniziale del Simons' BASIC
|Sviluppatore = David Simons per [[Commodore]]
|UltimaVersione =
|DataPrimaVersione = [[1983]]
|SistemaOperativo = [[Commodore 64]]
|Linguaggio =
|Genere = Integrated development environment
|Licenza =
|SoftwareLibero = no
|Lingua = inglese
}}
'''Simons' BASIC''', anche scritto erroneamente '''Simon's BASIC''' in alcune versioni, è una [[cartuccia (informatica)|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.
 
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 ==
[[File:Simons BASIC Modul Hires.JPG|thumb|Cartuccia di Simons' BASIC]]
Il programma ''Simons’ Basic'' aggiunge al [[Commodore BASIC]] 2.0 del Commodore 64 114 comandi di aiuto generico alla programmazione, di ausilio alla correzione dei programmi, di conversione fra numeri in base binaria, esadecimale e decimale. In particolare aggiunge:
#comandi di aiuto alla programmazione
#comandi di accettazione dati
#comandi di utilità disco
#comandi per grafica in alta risoluzione
#comandi per grafica in bassa risoluzione
#comandi per formare [[carattere (informatica)|caratteri]] personalizzati e comporre [[sprite (informatica)|sprite]]
#comandi per la [[programmazione strutturata]]
#comandi per un totale controllo delle forme d’onda del suono.
 
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 di 8 kB rispetto alla configurazione standard.
 
Altri effetti collaterali sono il rallentamento dell'esecuzione, intorno al 20% in certi casi<ref>{{RivistaVG/Cita|mc|25|62}}.</ref>, e alcuni scompensi al sistema, inoltre non tutte le funzionalità sono disponibili contemporaneamente, ad esempio o si usano i comandi per il suono o quelli per l'alta risoluzione<ref name=mcp65>{{RivistaVG/Cita|mc|25|65}}.</ref>.
 
Il manuale, originariamente in inglese, è completato da 4 esempi di programmazione e da un’appendice con i messaggi d’errore e un glossario dei termini. Esiste anche un'edizione in italiano.
 
== Storia ==
David Simons programmò Simons' BASIC. Simons era un sedicenne di origine inglese, che aveva imparato a programmare fin dall'età di 13 anni.{{sf}}
 
Simons' Basic fu messo in vendita per la prima volta in Italia nel 1983 e il successo fu tale che scarseggiò subito{{sf}}, perciò in breve uscirono altri programmi simili, come ''Super Expander'', ''Screen Graphics'' e ''Ultra Basic''.
 
== Comandi ==
=== 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. È 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. È utilissimo quando si ha una biblioteca di subroutine che si vogliono unire ad un nuovo programma residente.
 
=== Ausili per listare i programmi ===
FIND"stringa", cerca fra le REM o fra le virgolette la parola indicata.
 
=== Ausili 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. È 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.
 
=== Ausili per la conferma dell'INPUT e gestione testi ===
Il programma aggiunge 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.
 
=== Ausili numerici ===
Il programma aggiunge 8 comandi di ausili 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 aggiunge 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$, sostituisce il comando LOAD"$",8
 
=== Grafica con il Simons' Basic e gestione video ===
Il programma aggiunge 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 riempie di un dato colore una figura.
 
=== Sprite Editor ===
Il programma aggiunge 9 comandi di [[sprite (informatica)|sprite]] editor.
 
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 sotto forma 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 aggiunge 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 aggiunge 3 comandi di intercettazione degli errori.
 
ON ERROR è il salvagente quando si prova un programma che si blocca per errore. Permette di rientrare o di andare a una propria subroutine di errore che ci salva da un reset.
 
=== Controllo del sintetizzatore musicale ===
Il programma aggiunge 5 comandi di musica ed effetti sonori.
 
WAVE serve per scegliere la forma d'onda.
 
ENVELOPE serve per scegliere l'inviluppo.
 
=== Lettura di coordinate ===
Il programma aggiunge 4 comandi read con [[penna ottica]], [[joystick]] e [[paddle]].
 
== Accoglienza ==
La rivista ''[[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"<ref name="onosko198311">{{cita pubblicazione|titolo=Simons' Basic.|autore=Tim Onosko|rivista=[[Creative Computing]]|editore=Ziff-Davis|anno=1983|mese=novembre|p=60|lingua=en|url=https://www.atarimagazines.com/creative/v9n11/60_Simons_Basic.php|accesso=2 giugno 2020}}</ref>. ''Ahoy!'' ha scritto "Se fai qualche programmazione in BASIC e dovessi 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"<ref name="kevelson198402">{{RivistaVG|ahoy|2|57-58|2|1984|autore=Morton A. Kevelson}}</ref>. 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"<ref name="baker198504">{{RivistaVG|run|16|94-95|4|1985|titolo=A Review of Simons' Basic|autore=Robert W. Baker}}</ref>.
La rivista italiana ''[[MCmicrocomputer]]'' lo consigliava per chi poteva tollerare il generale peggioramento dei tempi di esecuzione; notava inoltre che il tool aiuta ad adattare per il Commodore 64 i molti programmi BASIC diffusi per altri computer, in particolare l'[[Apple II]]<ref name=mcp65/>.
Nel settembre 1985 la rivista ''Sperimentare'' lo descriveva come uno dei programmi più diffusi per il Commodore 64, sebbene in forma diversa dall'originale su cartuccia, e lo consigliava per sfruttare al meglio le caratteristiche della macchina, spesso nascoste<ref>{{Cita|''Sperimentare'' 9/85}}.</ref>.
 
== Note ==
<references/>
 
== Bibliografia ==
Line 12 ⟶ 143:
;Articoli
* {{RivistaVG|mc|25|62-65|12|1983|titolo=Simons' BASIC per Commodore 64}}
* {{RivistaVG|sperimentare|9|73-74|9|1985|cid=''Sperimentare'' 9/85}}
 
== Altri progetti ==
{{interprogetto}}
 
{{Portale|informatica}}
 
[[Categoria:Cartucce di espansione]]
[[Categoria:Software per Commodore 64]]
[[Categoria:BASIC]]