BasiCode‑3 für 8‑bit‑ATARIs

 

 

Auf den 16-bit-Modellen von ATARI gab es BasiCode früher als auf den 8-bit-Vorgängern, allerdings nur in Version 2, also ohne Dateiarbeit, Pixelgrafik und Sound. Geschrieben hat diesen Bascoder Thomas Mäurer aus Oberhausen 1988 für Omikron-Basic.

Andreas Graf nahm sich nun vor, für die 8-bit-Modelle nachzuziehen und das gleich für Version 3. Dort gab es diverse Basics, manche wären mehr, manche weniger geeignet gewesen. Schließlich entschied er sich dafür, wie es auch schon beim AC1 (einem DDR-Selbstbaucomputer) gehandhabt worden war, für BasiCode ein eigenes Basic (für die Modelle 800XL/XE, 600XL und 130XE) zu schreiben, das auch "einfach so" benutzt werden kann, also im Direktmodus oder für das Schreiben eigener Programme mit einem allerdings sparsameren Befehlsvorrat, wie man der Abbildung entnehmen kann. Leider bedeutet das auch, dass für eine Erweiterung auf Version 3C (Farbfähigkeit) zunächst das Basic erweitert werden muss, denn es gibt keine Befehle wie COLOR, INK oder PEN. Möglicherweise reichen dafür aber auch PEEKs und POKEs, das wäre zu ergründen.

Im vorliegenden Paket sind vier Diskettenabbilder enthalten. BASICOD0.ATR entspricht der Diskette PD-305 beim ABBUC (Atari Bit Byters User Club e.V.). Alle vier Diskettenabbilder sind bootfähig dank des XDOS 2.43 von Stefan Dorndorf, das als Public Domain freigegeben ist.

                    

Die AUTORUN.SYS ist das besagte Basic von Andreas Graf. Die Diskette habe ich um eine LIESMICH.BAS erweitert, die die allernötigsten Bedienhinweise enthält.

Folgendes gibt es zu beachten:

  • Sowohl Befehle als auch Variablennamen dürfen keine Kleinbuchstaben enthalten.
  • Der LOAD-Befehl ist sehr vielseitig, deswegen ist dem Dateinamen D1: voranzustellen, wenn vom ersten Diskettenlaufwerk geladen werden soll.
  • Warum dauert das Laden so lange? Ursprünglich kennt Atari-Basic vier Lese- und Schreib-Befehle: LOAD und SAVE für die Token-Form, also die computerinterne Darstellung sowie ENTER und LIST für die Textform. Bei Andreas Grafs Basic stehen in Wahrheit die Befehle für die Textform der Programme hinter den Kommandos LOAD und SAVE. Beim Laden wird also Text eingelesen und gleich in die interne Darstellung umgewandelt - und das braucht natürlich mehr Zeit.
  • Zunächst muss das Grundprogramm geladen werden:  LOAD"D1:ROOT.BC3".
  • Als DIR-Befehl kann man die Basic-Zeile   15 O. "D:*.*",6,0:FORI=1TO36:D$=R.(0):PRINTD$;" ";:NEXTI:RETURN
    in den Bascoder (ROOT.BC3) einfügen, sie wird mit GOSUB 15 aufgerufen und stört ansonsten nicht.
  • Dann kann ein Programm hinzugeladen werden. Das Graf-Basic benutzt den LOAD-Befehl in dem Sinn wie andere Basics den MERGE-Befehl, Zeilen eines vorher im Speicher stehenden Programms werden durch neue Zeilen mit der gleichen Nummer überschrieben.
  • Der Befehl NEW löscht im Graf-Basic nur die Programmzeilen von 1000 aufwärts, der Bascoder bleibt unangetastet und der Computer ist bereit zum (Zu-)Laden des nächsten Programms.
  • Mit POKE 9,1 und RESET gelangt man ins DOS-Menü zurück.

Ich habe drei Diskettenabbilder mit Programmen verschiedener Kategorien zusammengestellt. Auf BASICOD1.ATR, wo es noch einmal eine etwas ausführlichere LIESMICH.BAS gibt, habe ich zu Vergleichszwecken auch Thomas Mäurers Bascoder kopiert, der hier leider nicht nutzbar ist, man kann ihn lediglich laden und listen. Auf BASICOD0.ATR sind "Journale", die das BasiCode-System erklären und zwei Beispielprogramme.

BASICOD3.ATR enthält z.T. Programme, die erst unter einer zukünftigen farbfähigen Version sinnvoll nutzbar sind.

 

Download Atari-BasCoder

Thomas Rademacher Juni 2019 / korrigiert und ergänzt März 2022