This page (revision-41) was last changed on 28-Jan-2024 11:14 by Andreas Tartz 

This page was created on 25-Apr-2022 12:15 by Andreas Tartz

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
41 28-Jan-2024 11:14 8 KB Andreas Tartz to previous

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 24 changed 6 lines
!Allgemeines
Da bislang für die ATARI-Rechner kein Bascoder zur Verfügung stand, waren bei der Entwicklung zwei Aspekte wesentlich:
Erstens sollte das Programm schnell entwickelt werden, um möglichst bald den ATARI-Nutzern die Mitarbeit bei BASICODE zu ermöglichen und den Software- und Datenbestand von BASICODE zugänglich zu machen.
Zweitens sollte die verwendete Hardware so einfach wie möglich und die Änderungen an Geräten so gering wie möglich sein.
Unter diesen Prioritäten hat an einigen Stellen die "Schönheit" des Programms etwas gelitten. An der Zuverlässigkeit und Portabilität wurden jedoch keine Abstriche gemacht.
Auf zwei Variablen der Hardware-Änderung wird am Ende eingegangen.
* [atari_basicode.pdf] ; aus:"BASICODE mit Programmen auf Heimcomputer", A. Graf
At line 31 removed 5 lines
!Software
Für den ATARI-Rechner stehen vor allem das ATARI-BASIC und das [Turbo-BASIC XL] zur Verfügung. Beide BASIC-Dialekte weichen in mehreren Punkten stark von den üblichen MICROSOFT-BASIC und allen daraus abgeleiteten Varianten ab. Das Grundprinzip dieser Interpreter liegt jedoch der Struktur von BASICODE zugrunde. Deshalb kamen die o.g. ATARI-BASIC nicht für BASICODE in Betracht. Nun gibt es zwar für den ATARI auch ein MICROSOFT-BASIC, aber dieses ist so groß, so schwerfällig und teilweise fehlerbehaftet, dass sich das BASICODE-Testprogramm (17K) nicht mal mehr laden, geschweige denn abarbeiten ließ. Deshalb wurde für den ATARI ein bei anderen Rechnern unüblicher Weg beschritten.
Es wurde insgesamt für BASICODE ein spezieller BASIC-Interpreter geschrieben, der zugleich die Arbeitsweise von BASICODE(Lesen und Schreiben von BASICODE-Programmen, Bearbeiten von BASICODE-Datenbeständen usw.) als seinen normalen Standart ansieht.
Dieser Interpreter bearbeitet alle in BASICODE zugelassenen BASIC-Befehle und -Funktionen.
Er kann aber auch als neuer BASIC-Interpreter selbständig benutzt werden. Dabei gibt es die folgenden Besonderheiten:
At line 37 removed 49 lines
!AND; NOT; OR
Die Operationen werden bitweise ausgeführt.
!INPUT
Der Befehl darf nur im Programm benutzt werden, im Direktmodus ist die Zuweisung zu benutzen. INPUT lässt(erweitert gegenüber BASICODE-3) mehrere Variablen, die mit Komma getrennt sind, zu.
!RESTORE
Ebenfalls über BASICODE-3 hinaus, ist hinter RESTORE auch eine Zeilennummer zulässig.
Weiterhin seien alle Funktionen und Kommandos vom neuen ATARI-Interpreter, die zusätzlich zu dem in diesem Abschnitt beschriebenen BASICODE-3-Befehlsvorrat aufgenommen wurden oder abweichendes Verhalten zeigen, alphabetisch aufgeführt:
!C.
!C.(I)
Funktion zum Schließen einer Datei. Sie nimmt einen logischen Wert an, =0 falls o.k., <>0 im Fehlerfall. I ist die logische Kanalnummer des Files (s. O.Befehl).
!CL.
Laden von BASICODE. Hier wird bei den folgendenKommandos der Punkt Pflicht. Dieses Kommando führt folgende Schritte durch:
1. Das Programm ab Zeile 1000 wird gelöscht
2. Die Datasette wird eingeschaltet. Bei Ertönen des BASICODE-Vorlauftons ist eine Taste zu drücken, danach wird das Programm eingelesen. Während dieser Zeit ist der Bildschirm abgeschaltet. Soll der Lesevorgang abgebrochen werden, ist START zu drücken.
3. Nach Beendigung des Lesens wird der Recorder vom Rechner angehalten, das Bild erscheint wieder. Jetzt setzt der Interpreter das eingelesene Programm in seine interne Darstellung um, dies kann bei langen Programmen schon einige -zig Sekunden dauern. Mit READY wird das Ende der Aktion angezeigt. Ein eventuell aufgetretener Prüfsummenfehler wird erst jetzt gemeldet. Dies gilt für den Normalfall, also sofern der Lesefehler nicht so folgenschwer war, dass die Grundstruktur des Programms zerstört wurde.
!CLR
Alle numerischen Variablen werden auf Null und die Zeichenketten auf leer gestellt. Reservierter Speicher wird freigegeben.
!CONT
Die Programmführung wird fortgesetzt, sofern die Unterbrechung zuvor durch die BREAK-Taste oder eine STOP- bzw. END-Anweisung ausgelöst wurde. Sie wird an dem Punkt wieder aufgenommen, an dem die Unterbrechung erfolgt ist. Nach einem Fehler mit Halt kann ebenfalls die Bearbeitung fortgesetzt werden.
!CS.
Das vorhandene Programm wird ab Zeile 1000 im BASICODE-Format auf Kassette gespeichert.
!D.
!D.I,J,K
Zeichnet im grafischen Betrieb eine Linie der Farbe K vom Punkt des letzten P.-Befehls oder dem Endpunkt des letzten D.-Befehls zum angegebenen Punkt I,J,K. Zur Bedeutung von I,J und K siehe den Befehl P.
!End
Die Programmführung wird beendet, alle Dateien werden geschlossen und zum Befehlsniveau zurückgekehrt.
!F
!F.(X)
Bringt die Anzahl von Bytes zurück, die nicht vom Programm genutzt werden. F.(X) verdichtet den Speicher mit der garbage collection, dies kann aber bis zu einer Minute dauern!
!G
!G.
Schaltet Grafikbetrieb ein. In ATARI-BASICODE wird nur ein Grafikmodus verwendet. Er entspricht Modus 24 in ATARI-BASIC. Es werden 192 Zeilen je 320 Bildpunkte dargestellt. Der Hintergrund ist weiß, der Vordergrund schwarz.
.
.
.