Listing-Printer 28X2

Beim Durchblättern alter Computerzeitschriften stieß ich auf ein Listing, mit dessen Hilfe man . Programme im. Bildschirmformat des TI (28 Zeichen pro Zeile) ausdrucken lassen konnte. Voraussetzung hierfür war allerdings ein Diskettenlaufwerk, da das Programm erst als Listfile auf Diskette gespeichert werden mußte.
Da ich (noch) kein Diskettenlaufwerk besitze und ebenfalls in den Genuß dieser Möglichkeit kommen, wollte, entwarf ich vorliegendes Programm, das ebenfalls den Ausdruck eines Listings im Bildschirmformat erlaubt. Das geht in diesem Fall zwar ohne Diskettenlaufwerk: allerdings muß die Speichererweiterung vorhanden sein, da das Programm Byte für Byte aus dem Speicher gelesen wird.

Beim Abtippen ist auf einwandfreie Eingabe der DATA-Zeilen zu achten. In Zeile 530 muß die eigene Druckerschnittstelle angepaßt werden. Folgende Vorgehensweise muß man einhalten, um ein einwandfreies Arbeiten des Programms zu gewährleisten:

  1. Einschalten des TI mit Speichererweiterung
  2. Laden des Programms, das ausgedruckt werden soll.
  3. Im Direktmodus CALL PEEK (-31952, A, B, C, D) : : PRINT A; B ; C; D eingeben und die vier Werte für A, B, C und D notieren. (Auf -31952 und den drei folgenden Adressen befinden sich die Werte für Ende und Anfang des Programmspeicherbereichs. )
  4. Speichererweiterung mit CALL LOAD (-31868, 0,. 0) ausschalten.
  5. "Listing-Printer 28X2" mit OLD CS1 laden. (Durch den Befehl CALL LOAD wird dieses Programm trotz Speichererweiterung in das VDP-RAM geladen, das auszudruckende Programm bleibt in der Speichererweiterung erhalten.)
  6. Nach RUN werden die vier notierten Werte für A, B, C und D abgefragt, die dann einzutippen sind. Danach generiert das Programm die Datensätze für den Ausdruck einer kompletten Seite, der anschließend erfolgt.

Zur Arbeitsweise des Programms
Zu Beginn werden die Basic-Token in das Datenfeld Z$() eingelesen, von wo sie sich bei Bedarf leicht wieder auslesen lassen. Danach folgt die Abfrage der zuvor notierten Werte aus den vier Speicheradressen ab -31952. Mit Hilfe dieser Werte ist es möglich, die Zeilennummern und die Anfangsadressen der Zeileninhalte zu ermitteln.
Nun wird der Zeileninhalt. Byte für Byte aus dem Speicher gelesen und festgestellt, ob es sich um ein Basic-Token handelt (Wert >127). Ist dies der Fall, wird das Token aus dem Datenfeld Z$ () gelesen und in den Datensatz eingebaut, ansonsten nur der CHR$ des Wertes.

Probleme gab es beim Einfügen bzw. Weglassen von Leerzeichen, da vor oder/und hinter einigen Token (z. B. Klammern, Komma, +, - usw.) keine Leerzeichen gesetzt weiden. Dies ließ sich mit Hilfe der Variablen U und T lösen. Der Ausdruck entspricht somit voll dem TI-Bildschirmformat.


Edgar Klöpfel
Aus: Computer Kontakt 10 / 1987, Seite

Links

Copyright-Bestimmungen: siehe Über diese Seite