Druckeranpassung für Beta-Basic

Beta-Basic dürfte wohl mit Abstand die beste Basic-Implementation sein, die es für einen Homecomputer zur Zeit gibt. Etwas problematisch ist es allerdings, die Beta-Basic-Befehle auf den Drucker zu bekommen. Statt der erwarteten Token erhält man an den entsprechenden Stellen in der Regel nur unsinnige Grafikzeichen. Sie können zwar vom Hersteller (Vertreiber) eine Liste von Pokes und auch. die jeweils nötige Software für Ihr DruckerInterface erhalten, doch ist dies, selbst bei Abgabe zum Selbstkostenpreis, mit einer Geldausgabe und Wartezeit verbunden. Dabei existiert eine recht einfache Lösung, die sofort und mit fast allen Interfaces problemlos arbeitet. Beta-Basic muß ungehindert den t-Kanal zum Drucker ansprechen können, was nach der Initialisierung der Schnittstelle nicht mehr gewährleistet ist. Um dem abzuhelfen, wird nach der Initialisierung Beta-Basic mit RANDOMIZE USR 58419 erneut aufgerufen und gibt dann alle Befehle so aus, wie man es erwartet. Vielleicht definieren Sie sich einfach folgende kleine Prozedur:

9900 DEF PROC listing 
9910 LPRINT CHR$ 0; CHR$ 5;: LPRINT CHR$ 5;: RANDOMIZE USR 58419: LLIST (erste Zeile TO letzte Zeile)
9920 END PROC

Die Prozedur arbeitet in allen drei Beta-Basic-Versionen. Falls Sie über die Ausführung 3.0 verfügen, sind auch lokale übergabeparameter möglich. Der Prozedurname kann, mit Ausnahme der Version 3.0, natürlich beliebig geändert werden.

Die Einschränkung für diese) Ausführung besteht darin, daß Sie als Prozedurnamen keine, Bezeichnung wählen dürfen, die einem der normalen oder erweiterten Befehle entspricht, da dies der Interpreter mißverstehen würde. Das gezeigte Beispiel gilt für das LPRINT-III-Interface. Für andere Schnittstellen sind die entsprechenden Steuercodes einzusetzen. Das zweite LPRINT CHR$ 5 dient dem Abschalten der Sinclair-Token. Unter Umständen benötigen Sie diesen zusätzlichen Befehl aber gar nicht. Wichtig ist nur die erneute Initialisierung des Beta-Basic, das nun die Kontrolle über den Druckerkanal zurückerhält. Manchmal kann es nötig sein, die Prozedur zweimal hintereinander anzuspringen. Dies läßt sich aber durch eine entsprechende ON-ERROR-Routine leicht umgehen.


Udo Bartz
Aus: Computer Kontakt 06 / 1987, Seite

Links

Copyright-Bestimmungen: siehe Über diese Seite