Atari BASIC: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Atarubot (discussione | contributi)
m fix parametri in cita web e cita libro using AWB
AlessioBot (discussione | contributi)
m WPCleaner v1.30b - Fixed using Wikipedia:Check Wikipedia - Entità per le lineette medie e lunghe (automatico)
Riga 36:
===Versioni===
I programmatori di Shepardson avevano lasciato nella prima versione dell'interprete alcuni problemi, e si erano prefissati di sistemarli in un secondo tempo. Ma Atari aveva già messo in fabbricazione le ROM dell'Atari BASIC e la tecnologia dell'epoca non permetteva cambi di programma. L'Atari BASIC fu perciò prodotto con dei [[bug|bug noti]] e fu in seguito indicato come '''Revision A'''.
* '''Revision A'''&nbsp;&ndash; Prima versione della cartuccia dell'Atari BASIC (8 kB di ROM). Questa versione conteneva un bug nella [[Funzione (informatica)|funzione]] che copiava la memoria: in determinate circostanze, la cancellatura delle righe del codice portava ad un blocco della macchina noto come "2-line lockup".<ref name=twoline>{{cita pubblicazione|url=http://www.atarimagazines.com/compute/issue74/readers_feedback_10.php|titolo=Atari BASIC Bugs|rivista=Compute!|data=luglio 1986|pagine=10|accesso=05/08/2012}}</ref>
* '''Revision B'''&nbsp;&ndash; Corretta la maggior parte dei bug della Revision A. Durante la correzione del bug "2-line bug" i programmatori reintrodussero lo stesso errore in una funzione più comune, con il risultato che il numero di blocchi aumentò considerevolmente.<ref name=twoline/> Questa versione fu preinstallata all'interno dei modelli 600XL e nei primi 800XLs e non fu mai distribuita sotto forma di cartuccia.
* '''Revision C'''&nbsp;&ndash; Eliminava i problemi di gestione della memoria della precedente Revision B. Preinstallata negli 800XLs più recenti, negli 800XLF, negli XEGS ed in tutti i computer XE. La versione su cartuccia fu prodotta in piccola serie.
 
Un programmatore poteva sapere la versione dell'interprete in uso esaminando una precisa locazione di memoria. Il comando <code>PRINT PEEK(43234)</code> inserito al READY della macchina resistuiva <code>162</code> per la Revision A, <code>96</code> per la Revision B e <code>234</code> per la Revision C.