[ Zu JTCEMU/JTCemuFX-Versionen ]
JTCEMU - Eigenschaften/Neuerungen der einzelnen Versionen
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 ES1988: 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