Simons' BASIC: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Correzione genere, questo è quello che si avvicina di più come logica.
Botcrux (discussione | contributi)
m Bot: Aggiungo template {{interprogetto}} (FAQ)
 
(12 versioni intermedie di 8 utenti non mostrate)
Riga 3:
|Logo =
|Screenshot = Simons Basic Splash Screen.gif
|Didascalia = Schermata iniziale del Simons' BASIC
|Sviluppatore = David Simons per [[Commodore]]
|UltimaVersione =
|DataUltimaVersioneDataPrimaVersione = [[19841983]]
|SistemaOperativo = DOS[[Commodore 64]]
|UltimaVersioneBeta =
|DataUltimaVersioneBeta =
|SistemaOperativo = DOS
|SistemaOperativo2 =
|SistemaOperativo3 =
|SistemaOperativoAltri =
|Linguaggio =
|Genere = Integrated development environment
|Licenza =
|SoftwareLibero = no
|Lingua = inglese
|SitoWeb =
}}
'''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.
Line 26 ⟶ 20:
== Caratteristiche ==
[[File:Simons BASIC Modul Hires.JPG|thumb|Cartuccia di Simons' BASIC]]
Il programma ''Simons’ Basic'' aggiunge al Basic[[Commodore BASIC]] v.2.0 del Commodore 64, 14114 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:
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.
#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 di menokB cherispetto laalla configurazione standard.
David Simon programmò Simons' BASIC. Simon era un sedicenne di origine inglese, che aveva imparato a programmare fin dall'età di 13 anni.
 
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>.
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.
 
Il volumemanuale, 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.
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.
 
== Storia ==
Del manuale inglese, esiste anche un manuale in italiano.
David SimonSimons programmò Simons' BASIC. SimonSimons 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 1) ''Super Expander'', 2) ''Screen Graphics'' e 3) ''Ultra Basic''.
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 ==
=== Assegnazione di comandi ai tasti funzione ===
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"
 
Line 50 ⟶ 51:
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 bibbliotecabiblioteca 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. 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.
 
=== Ausili 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.
Line 73 ⟶ 74:
INKEY verifica quale stato funzione è stato premuto.
 
=== Ausili numerici ===
Il programma Simons’ Basic aggiunge al Basic v.2.0 del Commodore 64, 8 comandi di ausili numerici.
 
PRINT % <#binario>, ci dà il numero decimale di un numero binario.
Line 80 ⟶ 81:
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,
Line 87 ⟶ 88:
DIR$, sostituisce 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.
Line 94 ⟶ 95:
COPY stampa su stampante un video grafico.
 
=== Comandi di alta risoluzione ===
CIRCLE disegna una circonferenza.
 
PAINT riemppieriempie 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 (informatica)|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 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 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 impiantablocca per errore. Permette di rientrare o di andare ada 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.
Line 125 ⟶ 126:
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 dallacon [[penna ottica]], [[joystick]] èe Shadowfire[[paddle]].
 
== 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.
 
== 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 dovrestidovessi 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">{{cita pubblicazioneRivistaVG|titolo=Simons' BASICahoy|autore=Morton A. Kevelson2|rivista=Ahoy!|editore=Ion International|anno=1984|mese=febbraio|pp=57-58|lingua=en2|url=https://archive.org/stream/Ahoy_Issue_02_1984-02_Ion_International_US#page/n55/mode/2up1984|accessoautore=2Morton giugnoA. 2020Kevelson}}</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">{{cita pubblicazioneRivistaVG|run|16|94-95|4|1985|titolo=A Review of Simons' Basic|autore=Robert W. Baker|rivista=RUN|editore=IDG Communications|anno=1985|mese=aprile|pp=94-95|lingua=en|url=https://archive.org/stream/run-magazine-16/Run_Issue_16_1985_Apr#page/n95/mode/2up|accesso=2 giugno 2020}}</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 ==
Riga 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}}
 
* [http://retrocomputing.altervista.org/scansioni/scansioni.html Manuale Simons’ Basic in lingua italiana], {{pdf}}
== Altri progetti ==
{{interprogetto}}
 
{{Portale|informatica}}
 
[[Categoria:Cartucce di espansione]]
[[Categoria:Software per Commodore 64]]
[[Categoria:BASIC]]