Integer BASIC

Integer BASIC

Das Apple Integer BASIC ist der BASIC-Interpreter des Apple I - dort von Cassette einzuladen - und des ursprünglichen Apple II-Modells - dort im ROM fest eingebaut und mit dem Computer ab Werk ausgeliefert. Die Integer-BASIC-Sprache beruht in Syntax und Semantik auf HP-BASIC, dem von der Firma Hewlett Packard entwickelten BASIC-Dialekt der 70er Jahre; der Integer-BASIC-Interpreter selbst ist allerdings eine ganz eigenständige Neuschöpfung.

Entstehungsgeschichte

Als Apple-Mitgründer und Entwickler Steve Wozniak den Apple I konstruierte, hatten Kleincomputer weder Display noch User-Interface; Konkurrenzgeräte wie der Altair brachten von Haus aus bestenfalls rudimentäre Ein- und Ausgaberoutinen mit, sie wurden in der Regel über Kippschalter Byte für Byte in Maschinensprache programmiert. Wozniak erfuhr im Homebrew Computer Club von dem BASIC-Interpreter, den Bill Gates für den Altair geschrieben hatte; dieser war aber für den Apple nicht brauchbar, da das Altair-BASIC nur auf einer Intel 8080-CPU lief und nicht auf der MOS Technology 6502 des Apple. Woz wollte es Gates nun gleich tun und unbedingt der erste sein, der ein BASIC für die 6502-CPU vorlegen konnte, obwohl er eigentlich eher in der Programmiersprache Fortran zuhause war. Als weiteren Anstoß gibt er das Buch "101 BASIC Computer Games" von David H. Ahl an.

Da Wozniak eigentlich Hardware-Entwickler war und kaum Kenntnisse in Software-Entwicklung hatte, ging er intuitiv an das Projekt heran: er analysierte Handbücher für HP-BASIC und leitete darauf eine Syntax für seinen BASIC-Interpreter ab. Er entschied sich, die Sprache einfach zu halten: Integer BASIC konnte nur mit 16-Bit-Ganzzahlen umgehen, Gleitkomma-Arithmetik sparte er aus. Er benötigte etwa vier Monate Entwicklungszeit und codierte den Interpreter zunächst in einem Notizbuch, um ihn dann Byte für Byte einzugeben. Bestandteil des Codes war auch ein kleines Monitorprogramm für Maschinensprache. Als Teil des Integer BASIC implementierte Wozniak außerdem eine kleine, aber vielseitige virtuelle Maschine namens "Sweet 16", die in wenigen hundert Bytes Maschinencode einen fiktiven 16-Bit-Prozessor mit 16 Registern emulierte. Viele Operationen des Interpreters ließen sich in diesem 16-bit-Pseudocode wesentlich kompakter formulieren als in nativem 6502-Code, sodass der Speicherbedarf insgesamt deutlich sank.

Wozniak bezeichnete die Entwicklung des Integer BASIC später als größte technische Herausforderung seines ganzen Berufslebens. Der gesamte Code passte mitsamt den ROM-Routinen für Bildschirmdarstellung, Tastaturansteuerung etc. in 8 KB Speicher.

Integer BASIC war nicht kompatibel zum BASIC-Dialekt von Microsoft, der auf dem BASIC des Computerherstellers DEC beruhte. Wozniak entdeckte dies eigenen Aussagen zufolge erst, als er die Programme aus "101 BASIC Computer Games" auf den Apple übertragen wollte und scheiterte. Als erstes Programm passte er das Spiel "Star Trek" an seinen Computer an.

Weiterentwicklung

Für den 1977 erschienenen Apple II erweiterte Wozniak das Integer-BASIC um einige Grafikbefehle zur Ansteuerung des neuen LoRes-Grafikmodus und der Paddles; dabei ging er wieder eher praktisch vor, er implementierte genau die Befehle, die er benötigte, um einen brauchbaren Breakout-Clone in BASIC schreiben zu können. Damals herrschte bei Apple noch die Meinung vor, der hochauflösende HiRes-Grafikmodus werde besser den Maschinensprache-Programmierern überlassen, da ein interpretiertes BASIC auf einem 1-MHz-Rechner prinzipiell zu langsam sei, um damit ansprechende HiRes-Programme zu schreiben. Erst allmählich setzte sich die Erkenntnis durch, dass viele Anwender eher Interesse an einer einfachen als an einer schnellen Grafikprogrammierung hatten.

Als Ergänzung zu Integer BASIC für den Apple II bot Apple bald noch eine "Programmer's Aid #1" (Programmierhilfe Nr. 1) genannte Erweiterung an, die aus einem weiteren ROM-Chip bestand. Diese bot Unterstützung für Sound und Musik, für hochauflösende Graphik einschließlich einer simplen Vektorgraphik, und eine Reihe von Tools z. B. zum Testen der Speicherchips des Rechners, zum Zusammenfügen zweier Programme, zum nachträglichen Neunumerieren von Programmzeilen und so weiter. Allerdings waren alle diese Möglichkeiten über Maschinensprache-Subroutinen umgesetzt, konnten also nur über kryptische CALL-Befehle aufgerufen werden und integrierten sich somit nicht sehr gut in das bestehende BASIC. Weitere Chips dieser Art, mit anderen Schwerpunkten wie z. B. Business oder Wissenschaft, waren angedacht, erschienen aber nicht mehr.

Bereits Ende 1977 bot Apple zusätzlich zum eingebauten Integer-BASIC einen von Microsoft zugekauften BASIC-Interpreter an, weil eigene Versuche der weiteren Fortentwicklung nicht gefruchtet hatten: Wozniak war der einzige, der den Code des Integer-BASIC wirklich verstand, aber er wurde bei der Entwicklung des neuen Diskettenlaufwerks für den Apple noch dringender gebraucht. Das aus dem Microsoft BASIC abgeleitete und um einige Apple-spezifische Befehle ergänzte Applesoft BASIC war deutlich langsamer und weniger sparsam im Speicherverbrauch, bot aber die schmerzlich vermisste Gleitkomma-Arithmetik und Befehle zur Darstellung des hochauflösenden "HiRes"-Grafikmodus des Apple II mit 280x192 Pixeln - Integer-BASIC war ohne Umwege über Maschinensprache nur zur Ansteuerung des "LoRes"-Grafikmodus mit 40x48 Pixeln in der Lage.

Zunächst war Applesoft BASIC als Programmkassette zu erhalten, bald dann auch auf Diskette sowie als ROM-Steckkarte, wodurch kein kostbarer RAM-Speicher mehr dafür benötigt wurde. Viele Anwender gingen bald dazu über, die ROM-Chips aus dieser Steckkarte herauszunehmen und direkt in die Hauptplatine einzusetzen, anstelle der Integer-BASIC-Chips. Die größere Beliebtheit des Applesoft BASIC wurde schließlich von Apple anerkannt: Mit Applesoft BASIC auf der Hauptplatine (und größerem Speicher) verkaufte Apple den Rechner ab 1979 als Apple II+. Bei diesem und allen späteren Modellen der Apple-II-Serie kann jedoch Integer BASIC, inklusive der "Programmierhilfe Nr. 1", weiterhin bei Bedarf von Diskette nachgeladen werden.


Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Integer BASIC — Integer BASIC, written by Steve Wozniak, was the BASIC interpreter of the Apple I and original Apple II computers. Originally available on cassette, then included in ROM on the original Apple II computer at release in 1977, it was the first… …   Wikipedia

  • Integer BASIC — Integer BASIC  первая версия интерпретатора языка программирования Бейсик, использовавшаяся на компьютерах Apple II, написанная Стивеном Возняком …   Википедия

  • Integer BASIC — El Integer BASIC, escrito por Steve Wozniak, era el interpretador BASIC de los computadores Apple I y del original Apple II. Originalmente disponible en cassette (para el Apple I), luego incluido en el ROM de la computadora original del Apple II… …   Wikipedia Español

  • Apple Integer Basic — Das Apple Integer BASIC ist der BASIC Interpreter des Apple I – dort von Cassette einzuladen – und des ursprünglichen Apple II Modells – dort im ROM fest eingebaut und mit dem Computer ab Werk ausgeliefert. Die Integer BASIC Sprache beruht in… …   Deutsch Wikipedia

  • BASIC — Класс языка: алгоритмическое, процедурное, объектное программирование Появился в: 1963 г. Расширение файлов: .bas Типизация данных: нестрогая Бейсик (от BASIC, сокращение от англ.  …   Википедия

  • BASIC-256 — с …   Википедия

  • BASIC — This article is about the programming language. For the think tank, see British American Security Information Council. For the group of countries, see BASIC countries. For other uses, see Basic (disambiguation). BASIC Screenshot of Atari BASIC,… …   Wikipedia

  • BASIC — Información general Paradigma estructurado imperativo Apareció en 1964 Diseñado por John George Kemeny; Thomas Eugene Kurtz …   Wikipedia Español

  • BASIC-PLUS — was an extended dialect of the BASIC programming language developed by Digital Equipment Corporation (DEC) for use on its RSTS/E time sharing operating system for the PDP 11 series of 16 bit minicomputers in the early 1970s through the… …   Wikipedia

  • Integer-valued polynomial — In mathematics, an integer valued polynomial P(t) is a polynomial taking an integer value P(n) for every integer n . Certainly every polynomial with integer coefficients is integer valued. There are simple examples to show that the converse is… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”