Texteditor
Ein Texteditor dient natürlich zum Anzeigen und Bearbeiten
von Textdateien.
Der JKCEMU-Texteditor ist aber insbesondere auf die Belange
des Emulators ausgelegt.
So bietet er einerseits Zugang zum Assembler
und zum BASIC-Compiler
und andereseits kann er mit den üblichen Zeichensätzen
und teilweise auch mit den Dateiformaten der emulierten Systeme umgehen.
Alte Dateiformate werden in der Form unterstützt,
dass beim Öffnen von EDAS*4-Assemblerquelltextdateien
und diversen BASIC-Programmdateien der jeweilige Quelltext extrahiert
und in Form einer neuen Textdatei bereitstellen wird.
Sie befinden sich im JKCEMU Hauptfenster und klicken im Menü
Datei den Punkt Texteditor/Programmierung... an.
Die weitere Beschreibung bezieht sich auf das Fenster des Texteditors.
Im Editor können gleichzeitig mehrere Textdateien
angezeigt und bearbeitet werden.
Erstellen Sie einen neuen Text (Punkt Neuer Text
im Menü Datei) oder öffnen Sie eine Datei
(Menüpunkte Öffnen... und
Öffnen mit Zeichensatz...),
so wird dafür ein neues Unterfenster angelegt.
Der bereits angezeigte Text bleibt in seinem Unterfenster erhalten.
Für jedes Unterfenster sehen Sie oberhalb des Textbereiches
eine Lasche mit dem Dateinamen.
Durch Mausklick auf die entsprechende Lasche können
Sie zwischen den einzelnen Unterfenstern,
d.h. zwischen den einzelnen Texten, hin- und herschalten.
Die Editier-Funktionen finden Sie im Menü
Bearbeiten, z.B. letzte Änderung rückgängig machen,
Arbeiten mit der Zwischenablage, Suchen und Ersetzen,
mit dem Cursor zu einer bestimmten Zeile springen usw.
Nachfolgend wird auf einige Funktionen näher eingegangen.
Die nicht näher erläuterten Funktionen entsprechen denen
gewöhnlicher Texteditoren.
Mit dieser Funktion öffnen Sie eine Datei und laden
den darin enthaltenen Text in den Editor.
Dazu erscheint ein Dateiauswahldialog, in dem Sie die zu
öffnende Datei auswählen.
Der Texteditor erkennt die Dateieigenschaften automatisch und merkt
sie sich intern.
Allerdings kann der Zeichensatz nicht automatisch erkannt werden,
d.h., der Datei muss der Systemzeichensatz oder
ein dazu kompatibler Zeichensatz zugrunde liegen.
Ist das nicht der Fall, d.h. wenn einzelne Bytes nicht in Zeichen
nicht gemappt werden können, lädt der Editor
die Datei mit dem Zeichensatz ISO-8859-1 (Latin 1).
Wenn auch das auch nicht der richtige Zeichensatz ist,
müssen Sie die Datei mit dem Menüpunkt
Datei öffnen mit Zeichensatz
laden und dabei den Zeichensatz angeben.
Der Texteditor ist in der Lage, einige Dateien der emulierten Systeme
zu lesen und den eventuell darin enthaltenen Text zu extrahieren.
Dieser wird dann als neue Textdatei (Neuer Text) angezeigt.
Wird nun dieser Text gespeichert, hat man somit die Datei
in eine heute übliche Textdatei konvertiert.
Konkret kann der Editor Texte aus folgenden Dateitypen extrahieren:
-
BASIC-Programmdatei folgender BASIC-Interpreter:
- AC1 8K BASIC
- AC1 12K BASIC
- AC1 BASIC6
- AC1 BACOBAS 2 (nur Normalmodus, kein BASICODE)
- AC1 BACOBAS 3 (nur Normalmodus, kein BASICODE)
- Hübler/Grafik-MC BASIC
- Kramer-MC BASIC
- LLCBASIC (nur Normalmodus, kein BASICODE)
-
Headersave-Datei mit Dateityp "A",
wenn die Datei einen EDAS*4-Quelltext enthält
-
Headersave-Datei mit Dateityp "B"
(BASIC-Programm von einem der o.g. BASIC-Interpreter)
-
Headersave-Datei mit Dateityp "b" (Mini-/Tiny-BASIC):
- AC1 Mini-BASIC V2.1
- LLC1-BASIC V1.2
- Z1013 BASIC 3.01
-
Headersave-Datei mit Dateityp "I" oder "T",
wenn die Datei eine Textdatei enthält.
Dabei wird als Zeilenende auch der hexdezimalen Wert 1E
unterstützt.
- KCB-Datei
- KC-BASIC-Programmdatei
-
KC-TAP-Datei, wenn die darin enthaltenen Bytes dem Format einer
KC-BASIC-Programmdatei entsprechen.
Häufig sind jedoch KC-BASIC-Programme nicht als
KC-BASIC-Programmdatei gespeichert, sondern als KC-Systemdatei,
um einen Autostart zu ermöglichen.
Diese Dateien können zwar nicht direkt im Texteditor
geöffnet werden,
jedoch können Sie diese Dateien in den Emulator laden
und das BASIC-Programm aus dem Arbeitsspeicher heraus extrahieren
(siehe auch KC-BASIC-Programm
aus KCC-/KC-TAP-Datei extrahieren).
Mit dieser Funktion öffnen Sie eine Datei,
die in einem anderen als den Systemzeichensatz gespeichert wurde.
Nach der Dateiauswahl werden Sie nach dem Zeichensatz gefragt,
mit der die Datei geladen werden soll.
Achtung! Wenn Sie eine Datei mit einem anderen Zeichensatz laden,
als sie einmal erzeugt oder gespeichert wurde,
werden möglicherweise einige Zeichen falsch angezeigt
oder fehlen ganz.
Des Weiteren haben Sie die Möglichkeit, die Option
Eventuell vorhandenes Dateiendezeichen ignorieren
zu aktivieren.
Damit wird eine Datei bis zum physischen Ende eingelesen,
auch wenn vorher ein Dateiendezeichen kommt.
Ein Dateiendezeichen (Byte 1Ah) wird üblicherweise als Ende
einer Textdatei bei Speicherung auf einem blockorientierten Medium
(z.B. Kassettenaufzeichnung, CP/M-Diskettenspeicherung) verwendet.
Heute werden Dateien byte-exakt gespeichert,
so dass ein Dateiendezeichen nicht mehr notwendig ist.
Doch bei blockorientierter Speicherung wird eine Datei bis zum
Ende des Blocks eingelesen.
Dadurch können hinter dem Text noch verwirrende Bytes folgen.
Das wird mit dem Dateiendezeichen verhindert.
Diese Funktion speichert den angezeigten Text in eine Datei.
Die Dabei hat den gleichen Namen, den gleichen Zeichensatz und
auch sonst die gleichen Eigenschaften wie beim Öffnen
beziehungsweise beim letzten Speichern.
Wenn Sie einen neuen Text angelegt haben und diesen erstmalig
speichern, wird automatisch die Funktionen Speichern unter...
aufgerufen, d.h., Sie müssen den Dateinamen und
die Eigenschaften festlegen.
Sie können den angezeigten Text in einer Datei mit einem
anderen Namen und/oder mit anderen Eigenschaften speichern.
Zuerst erscheint ein Dateiauswahldialog, in dem Sie den Namen
der zu speichernden Datei bestimmen.
Nach dem Bestätigen sehen Sie ein neues Fenster,
in dem Sie die Eigenschaften angeben können.
Damit ist es auch möglich, eine Textdatei in einem anderen
als den Systemzeichensatz zu speichern oder
die Zeilenendebytes (DOS/Windows- bzw. Unix/Linux-Format)
zu ändern.
Der angezeigte Text wird gedruckt.
Mit der Funktion Druckoptionen... bestimmen Sie die
zu verwendende Schriftgröße und legen fest,
ob die Seitenzahl und der Dateiname gedruckt werden sollen.
Jede Textdatei besitzt Eigenschaften, die Sie sich mit
dieser Funktion anzeigen lassen können.
Zu den Eigenschaften gehören der vollständige Dateiname,
der Zeichensatz, die Tabulatorbreite, die Zeilenendekennung und
die Option, ob beim Speichern nicht sichtbare Zeichen am Zeilenende
(angehängte Leerzeichen und Tabulatoren) abgeschnitten werden sollen.
Möchten Sie die Eigenschaften ändern,
so speichern Sie die Datei mit der Funktion Speichern unter...
und geben dort die neuen Eigenschaften an.
Mit dieser Funktion finden Sie die zugehörige Klammer,
wenn sich der Cursor unmittelbar vor einer Klammer befindet.
Steht dagegen der Cursor an einer anderen Stelle,
springt er zur nächsten schließenden Klammer.
Der Menüpunkt Zeichenauswahl... öffnet ein Fenster,
in dem Sie beliebige, in der aktuell eingestellten Schriftart darstellbare
Unicode-Zeichen auswählen und in den Text einfügen bzw.
in die Zwischenablage kopieren können.
Die Unicode-Zeichen sind in Seiten aufgeteilt.
Es wird immer eine Seite angezeigt.
Mit den Pfeiltasten oben können Sie zur nächsten
und zur vorherigen Seite navigieren.
In dem Feld mit der hexadezimalen Seitennummer können Sie
durch Eintippen einer Nummer und anschließenden Drücken
der Enter-Taste auch direkt zu einer beliebigen Seite springen.
Jedes Unicode-Zeichen hat einen numerischen Code.
Ganz links finden Sie die Codes der Zeichen in der ersten Spalte
und oben die letzten beiden Ziffern der Codes der anderen Spalten.
Seitenumbruchzeichen (Form Feed, Code 0Ch)
können eingefügt und auch (alle auf einmal) wieder
entfernt werden.
Diese Zeichen haben jedoch nur beim Drucken eine Wirkung.
Im Editor werden die Seitenumbruchzeichen wie normale Zeichen behandelt.
Da ein Seitenumbruchzeichen jedoch ein sogenanntes nicht druckbares
Zeichen ist, hängt es von der verwendeten Schrift ab,
ob und wie dieses Zeichen angezeigt wird.
Die Tabulatorbreite wird nicht in der Textdatei gespeichert,
d.h., es wird immer die Tabulatorbreite verwendet,
die Sie gerade eingestellt haben.
Einstellen können Sie die Tabulatorbreite im Menü
Bearbeiten.
Dabei können Sie angeben,
ob der Wert als Standardwert gesetzt werden soll.
Wenn nein, gilt die Tabulatorbreite nur für das
aktuelle Unterfenster.
Wenn ja, werden alle weiteren Textdateien, die Sie öffnen
oder neu anlegen, mit dieser Tabulatorbreite angezeigt.
Dauerhaft gespeichert wird die Standardtabulatorbreite aber erst,
wenn Sie in den Einstellungen
ein Profil speichern.
WordStar war zu Zeiten der 8-Bit-Computer eine weit verbreitete
Textverarbung.
Aus diesem Grund wurden viele Dokumentationen in WordStar erstellt.
Damit Sie solche Dateien lesen können,
bietet der JKCEMU-Texteditor eine spezielle Unterstützung an:
Wenn Sie nach dem Öffnen einer Datei erkennen,
dass es sich um eine WordStar-Datei handelt,
können Sie mit dem Menüpunkt die WordStar-Formatierungen
entfernen und so eine einfache Textdatei daraus machen.
Eine WordStar-Datei erkennt man meistens daran,
dass der letzte Buchstabe eines jeden Wortes durch ein
seltsames Zeichen dargestellt wird.
Achtung! Bei einer Datei mit deutschsprachigem Inhalt
müssen Sie nach dem Entfernen der WordStar-Formatierungen
wahrscheinlich noch die Umlaute konvertieren (siehe vorherigen Abschnitt).
Die emulierten Computer kennen in ihrem Originalzustand keine
deutschen Umlaute.
Um trotzdem deutschsprachige Texte anzeigen zu können,
verwendeten einige Anwender die deutsche Variante des
ISO-646-Zeichensatzes,
bei dem anstelle der Zeichen [\]{|}~ die Umlaute zu finden sind.
Wird nun ein solcher Text in einem gewöhnlichen Texteditor
angezeigt, so sind anstelle der deutschen Umlaute eben die Zeichen
[\]{|}~ zu sehen.
Manche Anwender haben auch einen DOS-kompatiblen Zeichensatz installiert.
Wenn Sie nun eine im DOS-Zeichensatz erstellte Textdatei öffnen,
sehen Sie anstelle der deutschen Umlaute ebenfalls andere Zeichen.
Zwar können Sie mit der Funktion
Öffnen mit Zeichensatz...
die Datei gleich mit dem richtigen Zeichensatz laden,
doch falls Sie diesen nicht kennen, ist es umständlich,
alle möglichen Zeichensätze erst auszuprobieren.
Mit den Funktionen im Untermenü Deutsche Umlaute konvertieren
können Sie die deutschen Umlaute aus dem DOS-Zeichensatz
beziehungsweise aus der deutschen Variante des ISO-646-Zeichensatzes
nachträglich umwandeln, so dass sie richtig angezeigt werden.
Achtung! Vergewissern Sie sich bitte vor jedem Konvertieren,
mit welchem Zeichensatz der Text erstellt wurde
und überlegen Sie bitte sorgfältig,
ob und wie Sie Zeichen umwandeln müssen.
Dieser Abschnitt geht auf die Programmierung mit
Assembler und
BASIC-Compiler
unter Nutzung des im JKCEMU integrierten Texteditors ein.
Möchten Sie zur Programmierung jedoch einen anderen
Texteditor verwenden,
können Sie den Assembler und den BASIC-Compiler über die
Kommandozeile aufrufen (siehe hier
und hier).
Mit dem JKCEMU-Texteditor können Sie Assembler-
und BASIC-Programme schreiben und diese direkt übersetzen lassen.
Der Aufruf des Assemblers bzw.
BASIC-Compilers erfolgt über
die entsprechenden Menüeinträge im Menü
Programmierung.
Beim erstmaligen Aufruf der Menüpunkte Assemblieren und
BASIC-Programm compilieren erscheint ein Dialog zur Eingabe
bzw. Anpassung der Optionen.
Bei nachfolgenden Aufrufen dieser beiden Menüpunkte sehen Sie
den Dialog nicht mehr,
und es wird mit den gleichen Optionen assembliert bzw. compiliert.
Möchten Sie die Optionen ändern,
so verwenden Sie die Menüpunkte Assemblieren mit... und
BASIC-Programm compilieren mit....
Bei diesen beiden erscheint immer der Dialog mit den Optionen.
Ist in den Optionen bei Programmcode in Emulator laden
das Häkchen gesetzt, wird der Programmcode direkt
in den Arbeitsspeicher (RAM) des Emulators geladen,
d.h., Sie können das Programm ausführen oder
debuggen.
Nach dem Assemblieren werden links die jeweiligen Adressen eingeblendet,
sofern im Menü Programmierung →
Adressleiste nach Assemblieren anzeigen eingeschaltet ist.
Damit sehen Sie, auf welchen Adressen die jeweiligen Quelltextzeilen
assembliert wurden.
Das erleichert den Überblick bei der Arbeit mit dem
Debugger.
Außerdem ist es damit auch möglich,
über das Kontextmenü im Texteditor direkt
einen Halte-/Log-Punkt oder eine Variable im Debugger anzulegen.
Steht der Cursor dabei auf einer Zeile mit einer Marke,
wird diese als Name für den Halte-/Log-Punkt bzw.
für die Variable übernommen.
Der JKCEMU-Texteditor bietet die Möglichkeit,
ein angefangenes Assembler- oder BASIC-Programm als Projekt zu speichern
(Menüpunkte Programmierung → Projekt speichern
sowie Programmierung → Projekt speichern unter...).
Dabei wird eine Projektdatei erzeugt, die die eingestellten Optionen
sowie einen Verweis auf die Quelltextdatei enthält.
Sie können ein Projekt erst speichern,
wenn der Quelltext einmal gespeichert wurde,
damit der Name der Quelltextdatei bekannt.
Das Öffnen eines Projektes geschieht im dem Menüpunkt
Programmierung → Projektdatei öffnen....
Dabei werden die Assembler- bzw. BASIC-Compiler-Optionen geladen
und die zugehörige Quelltextdatei geöffnet.
Achtung! Wenn Sie nur die Quelltextdatei anstelle der Projektdatei
öffnen, werden die Assembler- bzw. Compiler-Optionen
nicht wieder so eingestellt, wie sie beim Speichern des Projektes waren.
Die Schrift kann man in den
JKCEMU-Einstellungen
im Reiter Schriften/Symbole unter
Schrift für Code-Bereiche ändern.