Atari BASIC: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 33:
 
Il contratto stipulato con Atari specificava la consegna entro il [[6 aprile]] [[1979]] dell'interprete funzionante (ed anche di un gestore di file, che in seguito sarebbe stato noto come DOS 1.0). Per coprirsi le spalle Atari decise però di continuare a lavorare sulla riduzione del Microsoft BASIC in modo da averne una prima versione in tempo utile per il CES del 1979, mostrarlo alla fiera e poi passare all'Atari BASIC non appena questo fosse stato completato. Ma i bonus sui tempi di consegna fecero terminare a Shepardson il lavoro prima del tempo per cui Atari decise di portare al CES l'Atari BASIC, visto che era stato completato prima della conversione del Microsoft BASIC.
 
<!--
===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'''.
I programmatori di Shepardson trovarono
* '''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>
Shepardson's programmers found problems during the first review and managed to fix some of them, but Atari had already committed ATARI BASIC to manufacturing, and the technology of the time did not permit changes. So it was manufactured with [[known bugs]], and became known (as a [[retronym]]) '''Revision A'''.
* '''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 A'''&nbsp;&ndash; First Atari BASIC cartridge. 8K [[read only memory|ROM]]. This version contained a bug in a subroutine that copied memory. Under certain conditions, deleting lines of code led to a crash condition known as the "2-line lockup".<ref name=twoline>[http://www.atarimagazines.com/compute/issue74/readers_feedback_10.php "Atari BASIC Bugs"], ''Compute!'', July 1986, pg. 10</ref>
* '''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.
*'''Revision B'''&nbsp;&ndash; Fixed all of the major [[software bug]]s in Revision A. While fixing the 2-line bug they re-introduced the same problem in a more common routine, thereby dramatically increasing the number of crashes.<ref name=twoline/> Found built-in on the 600XL and early 800XLs. Never supplied on cartridges.
*'''Revision C'''&nbsp;&ndash; Eliminated memory leak in Revision B. Found on later 800XLs, the 800XLF, XEGS and all XE computers. Limited cartridge production run.
 
A BASIC programmer can find out the version by examining a well-known ___location in memory. Entering the command <code>PRINT PEEK(43234)</code> at the READY prompt will give a result of <code>162</code> for Revision A, <code>96</code> for Revision B, and <code>234</code> for Revision C.
 
AUn BASICprogrammatore programmerpoteva cansapere findla outversione thedell'interprete versionin byuso examiningesaminando auna well-knownprecisa ___locationlocazione indi memorymemoria. Entering theIl commandcomando <code>PRINT PEEK(43234)</code> atinserito theal READY promptdella willmacchina give a result ofresistuiva <code>162</code> forper la Revision A, <code>96</code> forper la Revision B, ande <code>234</code> forper la Revision C.
<!--
==Description==
===Program editing===