HCBASIC unter CP/M
von Mario Leubner
Das KC-System besitzt Möglichkeiten, die vielen anderen Rechnern fremd sind. Dazu gehört zum Beispiel die Ausstattung mit zwei Prozessoren: einer im Grundgerät mit 1,75 MHz getaktet und einer im D004 mit immerhin 4 MHz. Was liegt also näher, als rechenintensive Programme im D004 und damit rund 2,5mal schneller als unter CAOS abzuarbeiten? Dieser Gedanke mag zur Entwicklung des Programmes HCBASIC.COM geführt haben. Die Idee ist wirklich nicht von der Hand zu weisen, denn damit ist es möglich, BASIC-Programme im D004 abzuarbeiten.
Natürlich muß man ein paar Einschränkungen hinnehmen, denn schließlich läuft der BASIC-Interpreter auf einer anderen Hardware und muß sich wie alle anderen CP/M-Programme an die definierten Schnittstellen halten. Leider hat HCBASIC.COM außer diesen Einschränkungen noch ein paar Fehler, so zum Beispiel:
- BEEP erzeugt eine willkürliche Anzahl von Tönen.
- SOUND funktioniert nicht korrekt.
- VGET$ liefert immer den Inhalt von Bild 0.
- PTEST liefert überhaupt kein richtiges Ergebnis.
- JOYST springt an eine nicht definierte Programmadresse.
Das war der Hauptgrund, warum ich mich an der Weiterentwicklung von HCBASIC.COM versucht habe. In meiner Version 2.0 habe ich außerdem noch ein paar weitere Funktionen eingebaut, die den Komfort erhöhen sollen:
- Automatische Einstellung des 40-Zeichenmodus.
- Konvertierung der Cursortasten wie im CAOS.
- Übernahme des aktuellen Laufwerkes.
- Aufruf mit Programmname als Parameter.
- Erzeugung selbststartender Programme.
- Übertragung von CAOS-Dateien zum Grundgerät.
- Möglichkeit zum Aufruf von Programmen im Grundgerät.
Vor der Übernahme von Programmen der CAOS-Betriebsart sollten diese jedoch auf Befehle wie PEEK, POKE und CALL untersucht werden. PEEK(509) ist vielfach als Tastaturabfrage benutzt worden und muß durch INKEY$ ersetzt werden. Schwieriger ist der Ersatz bzw. das Umschreiben von Maschinencode-Unterprogrammen. Ich habe zumindest die Arbeitszellen wie unter CAOS auf den Bereich ab 300H gelegt, damit darauf ohne Umrechnung zugegriffen werden kann. Wer BASIC-Programme für eine bestimmte Betriebsart oder mit unterschiedlichen Routinen schreiben will, sollte folgenden Test benutzen:
IF DEEK(769) > 0 THEN PRINT "Das ist HCBASIC.COM"
Zu HCBASIC2.COM habe ich noch eine HELP-Datei erstellt, in der alle Besonderheiten erklärt sind. Wer HILFE.COM (ohne Z-System) benutzt, sollte die Steuerzeichen ^A und ^B mit UNIKON entfernen oder den Text mit TPKC oder ML.COM betrachten. Für weitere Hinweise und Ideen stehe ich gern zur Verfügung.
Auf dem Treffen in Gusow war außerdem ein überarbeitetes Fadendemo als "Bildschirmschoner" unter CP/M zu sehen. Es besteht aus zwei Teilen: FADEN97.SSS und FADEN97.KCC. Das KCC-File ist ein ganz normales CAOS-Programm und wurde mit EDAS erzeugt. Man kann es unter CAOS mit FLOAD laden und mit dem Menüwort %FADEN starten. FADEN97.SSS ist das Ladeprogramm, um FADEN97.KCC von HCBASIC.COM zu laden und zu starten. Damit sollen die Befehle BLOAD"NAME" und CALL* verdeutlicht werden.