# Integer BASIC

L'Integer BASIC, escrit per Steve Wozniak, era l'interpretador BASIC dels computadors Apple I i de l'original Apple II. Originalment disponible en cassette (per l'Apple I), després inclòs en el Memòria ROM de l'ordinador original de l'Apple II en el llançament de 1977. Era la primera versió de BASIC usada per molts amos dels primers computadors personals. Milers de programes van ser escrits en el Integer BASIC.

## Little Brick Out

Steve Wozniak, que havia estat anteriorment involucrat amb Atari en el desenvolupament de la versió original del Breakout, es va fixar com una meta interna en el disseny de l'ordinador Apple II, poder reproduir fidelment aquest joc, usant solament instruccions del BASIC. Això es veu en el disseny dels modes gràfics "low-res" (de baixa resolució) i el fer de l'Apple II un dels primers microcomputadores a usar gràfics de color. Aquesta meta de disseny va ser realitzada amb el programa "Little Brick Out" quan va ser demostrat en una reunió del Homebrew Computer Club el 1976. També ha de ser observat que Wozniak no tenia cap eina de desenvolupament de programari per al processador 6502 amb excepció d'un manual de referència del llenguatge d'assemblador, i va escriure el programari amb ploma i paper i després acoblar a mà les instruccions en pur codi de màquina per al 6502.

## Relació amb el Applesoft BASIC

El defecte més freqüentment citat del Integer BASIC, com vaig poder un espera del nom, era que les seves variables eren totes nombres enters de 16 bit si era molt difícil escriure un programa que pogués fer càlculs usant nombres de punt flotant, o encara de nombres enters fora del rang de -32.768 a+32.767. Per tant, era molt difícil d'escriure programes financers o de matemàtiques.
Apple Computer llicenciar un bàsic de Microsoft, amb moltes més característiques, però també molt més lent, introduint alguns ajustos, cridant Applesoft BASIC, i va incloure la segona versió d'aquest en els ROM de l'Apple II Plus, que va ser llançat el 1979. El Integer BASIC va ser relegat a un fitxer en el sistema de disc tou que els usuaris de l'Apple II podien carregar en una targeta de RAM per la compatibilitat cap enrere, si fos necessari. L'Applesoft BASIC va ser inclòs en les ROM de tots els models d'Apple II desdde l'Apple II Plus d'ara endavant, i eventualment es va convertir en la plataforma per a molts més programes.
L'avantatge de la velocitat del Integer BASIC era en part a causa d'alguna verificació de sintaxi que era realitzada en el temps d'entrada del programa, com tan bé que els nombres eren convertits a manera binària, en comptes de fer aquestes coses en temps d'execució. Una popular tècnica d'optimització de velocitat en la majoria dels interpretadors BASIC - incloent Applesoft - és posar totes les constants usades freqüentment en variables, perquè llegir el valor de la variable és més ràpid que convertir un número des text - una diferència que arriba a ser significativa, donat, potser, centenars d'iteracions. Aquest mètode és superflu al Integer BASIC.

## Mini-Assembler i altre firmware auxiliar

Les ROM de l'Integer BASIC també van incloure un "Mini-Assembler" que permetia als programadors mecanografiar programes en llenguatge d'assemblador, línia per línia, que eren entrades en memòria. Això era, per descomptat, molt més fàcil que mirar els opcodes corresponents a llenguatge de màquina i mecanografiats. Aquestes ROM també van incloure a un interpretador per a un llenguatge bytecode de 16 bits, anomenat SWEET16, que era molt simple, compacte, i digne d'estudi. Aquestes dues característiques, algunes rutines de l'entrada/sortida de la cinta de casset, i algunes rutines rarament usades de matemàtiques de punt flotant van ser remogudes en la transició de les ROM de l'Integer BASIC a les ROM de l'Apple II Plus, per poder acomodar la mida més gran de l'interpretador Applesoft BASIC.

## Canviant entre els BASIC

Quan es corria en Apple DOS, era possible (a costa d'esborrar el programa BASIC actual de la memòria) canviar entre el BASIC de Applesoft i el Integer BASIC, mecanografiant INT (per entrar al Integer BASIC) o FP (per entrar al Applesoft BASIC) - suposant, és clar, que el llenguatge demanat era al ROM o carregat en RAM.
Hi havia també una targeta endollable que es podia instal·lar a la ranura 0 que va permetre que l'usuari canviés entre la ROM interna de la targeta o una externa.
El prompt de la línia d'ordres per al Integer BASIC era una punta de fletxa apuntant cap a la dreta (el símbol de major que) (>). (El prompt del Applesoft era un claudàtor dret), donant a l'usuari una indicació clara de qualsevol BASIC estava usant).

## Editar

El mètode d'edició per al Integer BASIC (realment part de la subrutina d'entrada de línia del monitor del sistema) era una versió lleugerament més primitiva del mètode disponible al firmware de l'Apple II Plus. Pressionar Escape seguit per A, B, C, o D mouria el cursor a la dreta, esquerra, a sota, o sobre respectivament. Calia pressionar Escape cada vegada - a diferència de l'Escape K, J, M, i I (de l'Apple II Plus i posteriors) i Escape dreta, esquerra, avall, amunt (Apple IIe i posteriors). Cada versió successiva suporta tots els mètodes anteriors, per exemple, fins i tot en l'Apple IIe, un podia pressionar l'Escape, després A i moure just un espai.
En tots els sistemes, prémer la tecla de fletxa dreta, mentre no s'estava en el mode de l'Escape, agafaria el caràcter sota el cursor, permetent que el text en pantalla fora efectivament reescrit en el buffer d'entrada.
Hi havia programes de tercers - per exemple PLE, GPLE de Northwest Synergistic Programari i posteriorment de Beagle Bros, i el GALEA - que oferien facilitats d'edició més poderoses i amigables al programador.

## Referències

* ↑ weyhrich, steven. the apple ii, 2001.10.20, page 2. «there were also several program cassettes available to purchase (assuming that you had the cassette interface). these included wozniak s basic (which took about 30 seconds to load) ...» Arxivat 2007-09-19 a Wayback Machine.
* ↑ weyhrich, steven. the apple ii, 2001.12.12, page 3 [Consulta: 16 setembre 2007]. «the [[integer]] basic, which we shipper with the first apple ii 's, was never assembler - ever. there was one handwritten copy, all handwritten, all hand-assembler.» Arxivat 2007-09-11 a Wayback Machine.

## Enllaços externs

* INTEGER BASIC Reference - From Landsnail.com 's "Apple II Programmer' s Reference" web