BasiCode für den Sinclair QL

 

Jan Bredenbeek, Jahrgang 1964, programmiert seit den 80er Jahren auf Sinclair-Computern. Er schrieb seinerzeit die Bascoder für die Modelle Spectrum und QL. Heute ist er wieder (oder immer noch?) aktiv, auf github sehen wir, daß er am QL-Bascoder weiterarbeitet, um inzwischen erreichte technische Verbesserungen zu berücksichtigen.

Der Sinclair QL erschien 1984 als Nachfolger der Spectrum- Computer. QL steht für “Quantensprung“, und arbeitete nicht mehr mit dem Z80-Prozessor, sondern mit dem Motorola 68008. Als Massenspeicher verwendete er Microdrives (kleine Endloskassetten), für die er über zwei Laufwerke verfügte.

Dieser Computer ist wenig verbreitet, auch ich kenne ich kaum, deswegen lasse ich jetzt Herrn Bredenbeek selbst sprechen, mit Auszügen aus seiner Dokumentation zum aktualisierten BasiCode:

 

**BASICODE-3 LOAD & SAVE PROGRAM V1.0**

Options:

*L: LOAD BASICODE program
*T: Translate BASICODE program
*K: LIST BASICODE program
*C: Convert program to BASICODE
*W: SAVE program in BASICODE
*S: SAVE translated program
*B: Backup translation program
<ENTER>: Back to BASIC

>♦

Sie fragen sich vielleicht, wie ich es geschafft habe, aus dem Radio aufgezeichnete BASIC-Programme in den QL zu laden, denn das Gerät hatte nie eine Kassettenschnittstelle. Damals, 1987, löste ich dieses Problem mit Hilfe des Netzwerkports, fügte ein wenig einfache Elektronik hinzu und kombinierte diese mit der Übersetzersoftware auf einem EPROM, was notwendig war, weil die Lade- und Speicherroutinen ein exaktes Timing benötigten, das auf einem Standard-QL nur im ROM erreicht werden kann!

Also schnell weiter bis 2017. Wenn Sie das Glück haben, noch einen QL zu besitzen, können Sie die Kassettenschnittstelle neu aufbauen und Ihre BASICODE-Programme vom Kassetten laden, falls Sie welche haben. Aber für viele QL-Benutzer ist dies keine Option. Zunächst einmal ist die ursprüngliche QL-Hardware möglicherweise nicht verfügbar (Sie verwenden alternative Hardware oder einen Emulator), und die Wahrscheinlichkeit ist groß, dass Sie beim Umzug alle Ihre alten Kassetten weggeworfen haben, oder Sie hatten noch nie BASICODE-Programme!

Glücklicherweise gibt es immer noch Möglichkeiten, BASICODE-Programme in den QL zu laden, und es ist noch einfacher und schneller als zuvor. Es wurde ein GitHub-Repository erstellt, das Hunderte von BASICODE-Programmen enthält, die im Rundfunk ausgestrahlt und auf Kassetten und CDs veröffentlicht wurden. Diese Programme liegen in ASCII-Form vor und können problemlos in S*BASIC geladen und ausgeführt werden.

Diese neue Version von QL BASICODE erscheint 30 Jahre nach der ursprünglichen Veröffentlichung auf EPROM. Eine Menge Dinge haben sich seitdem verändert; ursprüngliche QL-Hardware wird knapp und viele QL-Enthusiasten, die noch aktiv sind oder in die Szene zurückkehren (mich eingeschlossen), verwenden jetzt Emulatoren wie QPC2, die mit Geschwindigkeiten laufen, die mehrere hundert Mal so hoch sind wie die des 68008- Prozessors des QL und verwenden SMSQ/E, das QDOSkompatible Betriebssystem mit Grafikfähigkeiten, die der ursprünglichen QL-Hardware überlegen sind.

Der ursprüngliche Code wurde aktualisiert und so weit wie möglich mit diesen Systemen kompatibel gemacht.

Der BASICODE-3C-Standard, der Farbe unterstützt, wurde ebenfalls implementiert, auch wenn nur einige wenige Anwendungsprogramme Farbgrafiken unterstützen. Und, ganz im Sinne von BASICODE, ist der Quellcode des gesamten Projekts jetzt frei­ge­geben worden. Wenn Sie also mit einer bestimmten Funktion nicht zufrieden sind, können Sie jetzt Ihre eigene Version von QL BASICODE erstellen!

Screenshot: Karsten Schenk Screenshot: Karsten Schenk

BASICODE für den QL ist in zwei Ausführungen er­hält­lich:

1. eine RAM-Version, die mit LRESPR als residente Er­wei­te­rung geladen wer­den kann;

2. eine ROM-Version, die auf EPROM gebrannt oder als Er­wei­te­rungs-ROM ge­laden wer­den kann.

Die ROM-Version unterstützt eine Kassettenschnittstelle, die am Netzwerkanschluss des QL mit etwas einfacher Elektronik aufgebaut werden kann. Sie verfügt über zusätzliche Befehle, um dies von SuperBASIC aus zu erleichtern, sowie ein spezielles CAS-Gerät zum Laden und Speichern von Dateien. Natürlich benötigen Sie native QL-Hardware, damit das funktioniert!

Wenn Sie einen Emulator verwenden oder nur BASICODE-Programme ausführen wollen, die in ASCII-Form gespeichert sind, ist die RAM-Version ausreichend. Ihr fehlen die zusätzlichen Befehle für die Kassettenunterstützung und das CAS-Gerät, aber sie ist kompatibel mit den meisten heute verfügbaren QL-Emulatoren, einschließlich QPC2, auf dem SMSQ/E und SBASIC laufen. ...

Jan Bredenbeek, September 2017

Übersetzt mit Unterstützung von DeepL Pro Translator - Thomas Rademacher im Juli 2020