[ Zu Änderungshistorie ]
JTCEMU - Änderungshistorie
JTCEMU Version 2.2.1 vom 12.02.2025
-
Behobener Fehler:
Wenn man nach dem Aufruf des Assemblers oder des BASIC-Parsers
im Texteditor auf eine Fehlermeldung doppelt geklickt hat,
wurde nicht zur betreffenden Quelltextzeile im Texteditor gesprungen.
JTCEMU Version 2.2 vom 25.01.2025
-
Emulation der von Volker Pohlers an EMR-ES 1988 angepassten
ROM-Bank hinzugefügt
-
Emulation der Video-BUSY-Leitung beim 6K-System hinzugefügt,
In dem Zusammenhang erfolgt nun die Aktualisierung
der Bildschirmausgabe bei allen Systemen nicht mehr zyklisch,
sondern synchron zur Emulation.
Die Einstellung der Zykluszeit für die Bildschirmaktualisierung
wurde deshalb entfernt.
Hat man auf Maximale Geschwindigkeit gestellt,
erfolgt die Aktualisierung der Bildschirmausgabe weiterhin zyklisch,
und zwar aller 40 ms, d.h. 25 mal pro Sekunde.
-
Von nicht belegten Portleitungen wird nun der Wert 0
statt 1 gelesen. Das betrifft die Ports 2 und 3.
-
Zeitverhalten beim Einfügen von Text in die Emulation angepasst,
so dass im ES 4.0 beim Scrollen keine Zeichen mehr verloren gehen
-
Intel-HEX-Dateien werden nun auch mit der Endung *.ihx
unterstützt.
-
BASIC-Debugger hinzugefügt,
In dem Zusammenhang wurde der bisherige Debugger in
Maschinencode-Debugger bzw. kurz MC-Debugger umbenannt.
-
Maschinencode-Debugger:
-
Haltepunkte auf PC-Adressen und Speicherbereiche
können nun optional mit einem Namen versehen werden.
Mit diesem Namen kann der Haltepunkt mit einer Assembler-Marke
verknüpft werden.
Damit ist es möglich, die Haltepunkte bei jedem Assembler-Lauf
automatisch auf die richtige Adresse anpassen zu lassen,
sofern sich der Wert der Marke ändert.
-
Die seit dem letzten Anhalten geänderten Register
werden nun farblich hervorgehoben.
-
Assembler:
-
Nach dem Assemblieren werden nun im Texteditor die jeweiligen
Adressen zu den Quelltextzeilen eingeblendet (optional abschaltbar).
-
Option zum Übertragen von Marken an den Maschinencode-Debugger
hinzugefügt:
Ist die Option aktiv, werden bei jedem Assembler-Lauf
im Maschinencode-Debugger die Adressen der Haltepunkte angepasst,
die durch ihren Namen mit einer Marke verbunden sind.
-
Option zum Anzeigen von Marken im Reassembler hinzugefügt
-
Optional kann nun ein Listing erzeugt werden.
In dem Zusammenhang wurde die Assembler-Kommandozeilenoption
-l zu -t geändert.
Bei -l wird nun das Listing erzeugt.
-
Reassembler:
-
Einstellung zur Erkennung von Systemaufrufen hinzugefügt
- Kontextmenü hinzugefügt
- Hex-Editor: Direkteingabemodus hinzugefügt
- Speichereditor: Direkteingabemodus hinzugefügt
-
Texteditor:
-
Unterstützung für mehrere gleichzeitig geöffnete
Dateien hinzugefügt
- Neue Editierfunktionen: Block herein- und herausrücken
- Druckoptionen um Dateiname und Seitennummer erweitert
-
Beim Speichern wird nun erkannt, ob die Datei zwischenzeitlich
von einem anderen Programm geändert wurde.
- Anzeige der Text- bzw. Dateieigenschaften hinzugefügt
- Kontextmenü hinzugefügt
-
Laden eines BASIC-Programms aus dem Arbeitsspeicher:
Die Operatoren $A, $M, $O und $X
werden nun in ihrer Langform $AND, $MOD,
$OR und $XOR dargestellt.
-
BASIC-Programm prüfen und in Arbeitsspeicher laden:
Optional ist nun auch die Syntax der in der Zeitschrift
JU+TE 11/1990 vorgestellten Gleitkommaerweiterung erlaubt.
-
Funktion zum Durchnummerieren von BASIC-Programmen hinzugefügt
(RENUMBER-Funktion)
-
UTF-8 ist nun der Standardzeichensatz:
-
Beim Öffnen einer Textdatei wird versucht,
den Zeichensatz und die Kodierung zu erkennen.
Ist das nicht möglich wird UTF-8 angenommen.
Führt das jedoch zu Fehlern,
wird mit einem 8-Bit-Zeichensatz eingelesen.
-
Dateien werden mit dem gleichen Zeichensatz und der gleichen
Kodierung gespeichert, wie sie geöffnet wurden.
Ein neuer Text wird mit UTF-8 gespeichert.
-
Bei Verwendung des JTCEMU-Dateiauswahldialogs (siehe Einstellungen)
können Dateien auch mit ISO-8859-1 und ggf. mit dem
speziellen Systemzeichensatz (z.B. CP1252 bei Windows)
gespeichert werden
(Zeichensatzauswahl im JTCEMU-Dateiauswahldialog).
-
Beim Speichern einer Kassettenaufzeichnung als Sound- bzw. Tape-Datei
wird nun eine halbe Sekunde Pause angehängt,
da manche MediaPlayer Sound-Dateien nicht bis zum letzten
Sample wiedergeben.
So soll erreicht werden, dass mindestens der eigentliche Datenbereich
wiedergegeben wird und somit die mit JTCEMU erzeugten Sound-Dateien
sich immer in einen realen Computer einlesen lassen,
egal mit welchem MediaPlayer sie abgespielt werden.
-
Behobene Fehler:
-
Maschinencode-Debugger: Manuell geänderter PC-Wert
wurde nicht in die Emulation übernommen.
-
Tastaturansicht für 2K-System und EMR-ES 1988:
- BASIC-Befehle IF und CONT fehlten.
-
BASIC-Befehl TRAP war nicht in der Shift-Ebene
enthalten.
-
Z8-Emulation: Beim Lesen der Ports 0 und 1 wurden falsche Werte
zurückgeliefert, wenn die Ports auf Adressausgabe
programmiert waren.
JTCEMU Version 2.1 vom 27.08.2021
-
Laden von Intel-Hex-Dateien: Es können nun auch Dateien
geladen werden, deren Daten nicht linear angeordnet sind.
-
BASIC-Parser im Texteditor:
-
Unterstützung für externe Prozeduren und Funktionen
hinzugefügt
- Pseudo-Anweisungen ASM und BREM hinzugefügt
-
Bei den Operatoren $A, $M, $O
und $X können nun auch die Langformen $AND,
$MOD, $OR und $XOR verwendet werden.
-
Behobene Fehler:
-
Beim Speichern wurde in bestimmten Fällen eine falsche
Endadresse für das BASIC-Programm vorbelegt.
-
Texteditor: Dateien mit Zeilenende 0Dh wurden fehlerhaft
geöffnet.
-
BASIC-Parser im Texteditor:
-
REM-Befehle ohne Kommentar wurden in fehlerhaften Code
übersetzt.
-
Bei TRAP ... TO wurde das TO in ein falsches Zeichen
übersetzt.
-
Debugger: In das Feld für das Register PC ließ sich
nur ein Wert von 00H bis 0FFh eingeben.
JTCEMU Version 2.0 vom 01.04.2021
-
Trennung des Programmcodes in einen plattformunabhängigen Teil
(keine Verwendung von javax-Paketen) sowie
in einen plattformabhängigen Teil (z.B. AWT/Swing, Audio)
- Portierung auf Java 7
-
Emulation der von Rolf Weidlich entwickelten ROM-Bank hinzugefügt
(nur bei ES 4.0),
In dem Fall wird das modifizierte ES 4.0c verwendet.
-
Tastaturansichten für ES 2.3 und ES 4.0
hinzugefügt
- Werkzeugleiste um Symbol für Einstellungen erweitert
-
Möglichkeit zum Markieren von Text in der Bildschirmausgabe
und zum Kopieren dieses Textes in die Zwischenablage hinzugefügt
-
Möglichkeit zum Einfügen von Text aus der Zwischenablage
in den Emulator hinzugefügt
-
Möglichkeit zum Umschalten auf maximale Emulationsgeschwindigkeit
hinzugefügt
-
Möglichkeit zum Anhalten des Emulators (Pause) hinzugefügt
-
Speichern einer Speicherabbilddatei:
Es kann nun optional eine Startadresse angegeben werden.
Diese wird dann beim Laden angezeigt.
-
Menüeintrag Laden mit Optionen... hinzugefügt,
der die gleiche Wirkung hat wie der alte Menüpunkt
Laden...,
Dafür werden nun bei Laden... sowie beim Laden
per Drag&Drop der Dialog mit den Ladeoptionen nur noch dann angezeigt,
wenn Ladeoptionen (Anfangsadresse) zwingend eingegeben werden
müssen.
-
Menü-Shortcuts von Funktionstasten auf Alt- bzw. beim Mac
auf Command-Tastenkombinationen geändert
- Statuszeile hinzugefügt
-
Audio/Kassette: Beim Speichern der Einstellungen wird nun auch
der Status im Fenster Audio/Kassette gespeichert.
Wenn dabei eine Audiofunktion aktiviert war,
wird beim nächsten Start von JTCEMU das Fenster
Audio/Kassette automatisch geöffnet
und die entsprechende Audiofunktion wieder aktiviert.
-
Einlesen von Kassette beim 2K-System:
- Algorithmus zur Auswertung des Audiosignales verbessert
- Emulation der LED zur Anzeige des Pegels hinzugefügt
-
2K-System und EMR-ES 1988: Tastaturemulation bzgl. Shift-Taste
verbessert, dadurch Entfall der Option
Systemroutine für Tastaturabfragen emulieren
-
Einstellungen:
-
Beim Start werden die gespeicherten Einstellungen nur dann
übernommen, wenn sie mit der gleichen JTCEMU-Version
gespeichert wurden.
-
ROM-Dateien können nun auch per Drag&Drop hinzugefügt
werden.
-
Optionen Register mit %00 statt mit Zufallswerten initialisieren
und RAM mit %00 statt mit Zufallswerten initialisieren
hinzugefügt,
Damit können nun Register und RAM mit Zufallsbytes initialisiert
werden, was dem Originalverhalten entspricht.
-
Option Bildschirmanzeige auch bei gesperrtem Interrupt 4
entfernt
-
Möglichkeit zur Skalierung der Fenster hinzugefügt,
erfordert Java 9 oder höher
-
Zuletzt verwendete Dateipfade werden nicht mehr zusammen mit
den Einstellungen gespeichert, sondern in einer separaten Datei,
die bei jedem Laden oder Speichern aktualisiert wird.
-
Debugger:
-
Haltepunkte auf Speicher- und Registerzugriffe hinzugefügt
- Anzeige der internen Taktzyklen hinzugefügt
-
Anzeige der Speicherbereiche hinzugefügt,
auf die die Doppelregister zeigen
- Working Register werden nun gelb markiert.
-
Kontextmenü bei den Feldern mit den Registern hinzugefügt,
über das u.a. auch nach einer manuellen Änderung
des Registerwertes auf den Ursprungswert zurückgesetzt
werden kann
-
Assembler hinzugefügt, aufrufbar über den Texteditor
und als Kommandozeilenprogramm
-
Reassembler:
-
Der Adressbereich %0000-%000B wird nun mit .DW
übersetzt, da er Interruptvektoren enthält.
-
Das erzeugte Reassembler-Listing kann nun auch als Quellcode
für den Assembler kopiert und gespeichert werden.
-
Texteditor: Möglichkeit zum Groß-/Kleinwandeln
des markierten Texts hinzugefügt
-
Hilfeseiten können nun als Ganzes mit und ohne Hyperlinks
in die Zwischenablage kopiert werden.
-
Z8-Befehle STOP und HALT entfernt,
da es diese beim U883 bzw. Z8601 nicht gibt
-
Behobene Fehler:
-
Audio/Kassette allgemein:
Audiodaten wurden nicht ganz 100% zeitsynchron zur CPU-Emulation
erzeugt bzw. gelesen. Insbesondere bei hohen Abtastraten wurden
zu niedrige Frequenzen erzeugt bzw. zu langsam gelesen.
-
BASIC-Parser: Bei ES 4.0 wurde fälschlicherweise bei
Kleinbuchstaben in Zeichenketten gewarnt.
- Reassembler: Einige Befehle wurden falsch übersetzt.
-
Beim 6K-System wurde beim emulierten Einschalten
der Video-RAM nicht gelöscht.
-
Hilfefenster: Bei Zurück wurde zwar zur richtigen Seite,
aber mitunter zur falschen Stelle auf der Seite gesprungen.
-
Z8:
-
Befehle COM IR1 und
CP wurden falsch emuliert.
-
Befehle SUB und SBC:
H-Flag hatte einen falschen Wert.
-
Befehle DEC, DECW, INC und INCW:
V-Flag hatte in bestimmten Situationen einen falschen Wert.
-
IRQ-Register war nach RESET bis zum ersten EI-Befehl
nicht schreibgeschützt.
JTCEMU Version 1.1.1 vom 26.07.2011
-
Lizenzbestimmungen hinsichtlich der ROM-Inhalte präzisiert
-
Behobene Fehler:
-
Nach Öffnen und anschließendem Schließen
des Hex-Editors konnte dieser nicht mehr geöffnet werden.
- Diverse Fehler in der Hilfe beseitigt
JTCEMU Version 1.1 vom 12.12.2010
- Hex-Editor hinzugefügt
- Speicheransicht zu einem Speichereditor erweitert
- Debugger: Werkzeugleiste hinzugefügt
-
Dateiauswahldialog: Existiert genau ein Dateifilter,
wird dieser auch standardmäßig aktiviert.
-
Neben dem JTCEMU-eigenen Dateiauswahldialog ist nun auch
die Benutzung der Dateiauswahlbox des Betriebssystems möglich.
-
Laden von BIN-Dateien:
Die Ladeadressen werden nun aus dem Dateinamen ermittelt
(Format: dateiname_AADR.bin oder
dateiname_AADR_EADR.bin).
Ist das nicht möglich, wird das Eingabefeld
für die Anfangsadresse mit E000 vorbelegt.
In dem Zusammenhang wurde die Möglichkeit zur Einstellung
einer Standard-Ladeadresse entfernt.
-
Emulation des Kassettenrecorderanschlusses bei 4K- und 6K-Systemen:
Algorithmus zur Analog-Digital-Wandlung verbessert:
Damit lassen sich nun auch Dateien von Kassette einlesen,
deren Signale (Wellenform) beim Nulldurchgang nicht ganz so sauber sind.
-
Behobene Fehler:
-
Einstellungen: Bei Änderung des Betriebssystems
oder der RAM-Größe wurde kein RESET ausgelöst.
-
Emulation des Kassettenrecorderanschlusses beim 2K-BASIC-System:
Eingangsseitige Analog-Digital-Wandlung war fehlerhaft.
-
Z8-Reassembler: Befehle mit einer 9 im oberen Nibble
des Befehlscodes wurden falsch übersetzt.
- Rechtschreibfehler in der Hilfe behoben
JTCEMU Version 1.0 vom 18.05.2009
-
Emulation der Register %80 bis %EF hinzugefügt
(in den Einstellungen abschaltbar)
-
Hilfe:
-
Englischsprachiger Originalwortlaut und deutsche Übersetzung
der GNU-GPL 3.0 hinzugefügt
- Hilfedateien nun mehr konform zu neueren HTML-Standards
-
Behobene Fehler:
-
gelegentliches Aufhängen des Emulationsthreads beseitigt
-
Statustext im Texteditor berichtigt,
Die Positionsangabe des Cursors war falsch,
wenn die Zeile Tabulatoren enthielt.
JTCEMU Version 0.6 vom 13.08.2008
-
Unterstützung für ES 2.3 mit 128x128 Pixel
hinzugefügt
-
Emulation von 1K, 2K und 8K RAM hinzugefügt,
Bei 1K und 2K wird auch die unvollständige Adressdekodierung
emuliert.
-
Debugger: Schrittbetrieb greift nun zeitlich vor der Emulation
der Systemroutine zur Abfrage der Tastatur,
da sonst ein Haltepunkt auf der Adresse %0C56 nicht funktioniert.
- BASIC-Parser: Nach 100 Fehlern wird abgebrochen.
- Hilfe korrigiert
JTCEMU Version 0.5 vom 15.04.2008
-
RAM umschaltbar zwischen 32K und 64K
(abzüglich ROM, Video-RAM und IO-Adressbereich)
-
Tastaturfenster an die leicht geänderte Tastenbelegung
des 4K-Betriebssystems angepasst
-
Wenn Interrupt 4 gesperrt ist,
erfolgt optional keine Bildschirmausgabe mehr.
- Hilfe-Knopf im Dialog zum Laden einer Datei hinzugefügt
- Hilfe: Beschreibung des 6K-OS erweitert
-
Behobene Fehler:
- Einlesen von Audio-Daten
-
Audio-Fenster: Aktivierung/Deaktivierung der einzelnen Felder
JTCEMU Version 0.4 vom 01.04.2008
-
Hauptfenster:
- Werkzeugleiste hinzugefügt
-
Bildschirmausgabe kann als Text oder als Bild
in die Zwischenablage kopiert werden.
- Bildschirmausgabe kann als Bilddatei gespeichert werden.
-
Dateien laden und speichern:
-
Fehlermeldung erscheint, wenn eine Datei in den ROM, Video-RAM
oder in den IO-Adressbereich geladen werden soll.
-
Unterstützung für das KC-TAP-Dateiformat hinzugefügt
-
Dateiauswahldialog:
-
Beim Speichern erscheint eine Warnung,
wenn die Datei bereits existiert.
- Statuszeile hinzugefügt
-
Audio/Kassette:
- Emulation der 2K-Kassettenschnittstelle hinzugefügt
- Geschwindigkeit anpassbar
-
Texteditor:
- Werkzeugleiste hinzugefügt
-
Menüpunkt für Laden eines BASIC-Programms
aus dem Arbeitsspeicher ab Adresse %E000 hinzugefügt
-
BASIC-Parser:
-
Mehrere IF-Anweisungen in einer Zeile sind nun erlaubt.
-
Bei PTC, SETEB, SETEW, SETR
und SETRR kann Schlüsselwort PROC
weggelassen werden.
-
Anstelle PRINT kann auch ? geschrieben werden.
-
Anstelle REM kann auch ! geschrieben werden.
- Debugger: Fehlende Register (außer 0 und 1) aufgenommen
-
Tastaturfenster: Tasten mit fehlenden eckigen Klammern beschriftet
-
Einstellungen: Wenn die eingebundenen ROMs geändert werden
und dabei den Betriebssystembereich berühren,
wird ein RESET ausgelöst.
- Hilfe: Beschreibung für Debugger hinzugefügt
- Z8-Emulation vervollständigt (Ports und IPR)
-
Behobene Fehler:
-
Emulation der Systemroutine für die Tastaturabfrage
verhielt sich nicht wie die originale.
-
BASIC-Parser: Bedingung >= wurde in >>
übersetzt.
-
Audio/Kassette: Mithören funktionierte nicht
bei allen Audio-Formaten.
-
Z8-Reassembler: Register P01M wurde als P01N
angezeigt
-
Z8-Emulation:
-
Es wurden in bestimmten Fällen auch nicht
freigegebene Interrupts angenommen.
- SIO: Vorteiler teilte durch 17 statt durch 16.
- SIO: Es konnte nur ein Byte gelesen werden.
JTCEMU Version 0.3 vom 05.11.2007
-
Unterstützung des 6K-Betriebssystems ES 4.0
mit 320x192 Pixel und 16 Farben
inkl. 32 KByte Video-RAM hinzugefügt
-
Beim 4K-Betriebssystem Emulation des Kassettenrecorderanschlusses
hinzugefügt,
Die Emulation erfolgt wahlweise über das Audio-System
oder über Sound-Dateien.
-
Der gesamte Adressbereich außer ROM, Video-RAM und IO-Bereich
ist nun RAM.
Damit ergeben sich folgende Konfigurationen:
2K-Betriebssystem: 4K ROM, 52K RAM
4K-Betriebssystem: 6K ROM, 50K RAM
6K-Betriebssystem: 8K ROM, 40K RAM, 4x8K Video-RAM
- JTC-Dateiformat hinzugefügt
- Skalierung der Bildschirmausgabe einstellbar
-
Texteditor:
-
Der BASIC-Parser erlaubt nun auch:
IF <Bedingung> <Anweisung> ... und
IF <Bedingung> THEN <Zeilenummer> ...
- Split-Position wird in Einstellungen gespeichert.
- Funktion Rückgängig hinzugefügt
- Suchen und ersetzen hinzugefügt
-
Druckoptionen (Auswahl Schriftgröße) hinzugefügt
-
Reassembler und Speicheransicht: Druckoptionen
Auswahl Schriftgröße) hinzugefügt
-
Einstellungen:
- Einbindung externer ROM-Images hinzugefügt
- Standardrand bei Bildschirmausgabe einstellbar
-
Hilfe:
-
Beschreibung des 6K-Betriebssystems ES 4.0 hinzugefügt
- Beschreibung des Texteditors hinzugefügt
- Beschreibung von Tiny-MP-BASIC hinzugefügt
-
Behobene Fehler:
-
Laden von Hex-Dateien: Satzarten 3 und 5 (Startadresse)
werden ignoriert und führen nicht mehr zu einer Fehlermeldung.
-
Texteditor:
-
Speichern wurde in bestimmten Fällen nicht ausgeführt.
-
Nach Laden eines BASIC-Programms aus dem Arbeitsspeicher
war Speichern deaktiviert.
-
Z8-Emulation:
- Befehl LDC (Opcode %D3) wurde falsch emuliert.
- Ladebits der Timer wurden nicht automatisch gesetzt.
-
Z8-Reassembler: LDC, LDCI und LDEI wurden falsch wiedergegeben.
JTCEMU Version 0.2 vom 18.10.2007
-
Emulation der Timer, des Interrupt-Systems und des Zeitverhaltens
(Taktzyklen) hinzugefügt
- RAM wird mit Nullbytes anstatt mit %FF vorbelegt
-
Initialisierungsfunktion (RAM löschen + RESET)
hinzugefügt
- Fenster mit emulierter Tastaturmatrix hinzugefügt
- Texteditor mit BASIC-Parser hinzugefügt
-
Reassembler und Speicheransicht: Drucken und
Speichern unter hinzugefügt
-
Einstellungen:
- Standardladeadresse für Binärdateien festlegbar
- Zykluszeit für Bildschirmaktualisierung einstellbar
-
Größe und Position der gerade geöffneten
Fenster werden gespeichert
- Gespeicherte Einstellungen können gelöscht werden
-
Hilfe:
- Bedienung des 4K-Betriebssystems hinzugefügt
- BASIC-Kommandos vervollständigt
- BASIC-Fehlermeldungen hinzugefügt
-
Behobene Fehler:
- RESET hatte bei HALT- und STOP-Befehlen keine Wirkung
-
Debugger: Einzelschritt über Aufruf hinweg:
PUSH wurde als CALL gewertet und übersprungen
JTCEMU Version 0.1 vom 08.10.2007
- Emulation der Prozessorbefehle
- Emulation von 32 KByte RAM
-
Emulation des 2K-Betriebssystems (nur BASIC) und
des 4K-Betriebssystems (BASIC und Maschinencodeprogramme)
- Debugger
- Reassembler
- Speicheransicht
- Einstellungen speicherbar
- Unterstützte Dateiformate:
- Binärer Speicherabzug ohne Metadaten
- Intel-Hex-Format
© 2007-2021 Jens Müller