JKCemu v0.9.5 is released. JKCEMU is a software emulator that most of the products manufactured in the GDR home and small computers as well as emulating instructions issued or sold it-yourself computer. Thus JKCEMU KC is a broad-emulator, also brings the tools for too many tangential issues. JKCEMU Runs under Windows, Linux, Solaris, MacOS X and other systems with an installed Java 6 Standard Edition.
JKCemu v0.9.4 Changelog:
* Portierung auf Java 7 * Emulation des NANOS-Systems hinzugefügt * Dialog Über JKCEMU: Anzeige der Eigenschaften der Java-Laufzeitumgebung hinzugefügt * A5105: - VDIP wird nun auch an der E/A-Basisadresse 2Ch emuliert. - Dateien, die mit Hilfe der Emulatorfunktionen in den Arbeitsspeicher geladen werden sollen, werden nun auch dann in den RAM geladen, wenn gerade ROM eingeblendet ist. Das ist für ein sicheres Laden notwendig, da in der SCPX-Betriebsart der ROM ständig zyklisch eingeblendet wird. * AC1, Hübler-Grafik-MC, Kramer-MC, LLC2: * Dateityp BASIC-Programmdatei (*.bas) zum Speichern und Laden von BASIC-Programmen hinzugefügt * AC1: - Emulation der optionalen Verbindung von /M1 zum CTC-Kanal 2 hinzugefügt - VDIP wird nun auch an der E/A-Basisadresse DCh emuliert. - Anfangsadresse des SCCH-BASIC-ROMs bei Einbindung einer externen ROM-Datei nun zwischen 2000h und 4000h umschaltbar - Unterstützung für AC1-BASIC6 von Rolf Weidlich einschließlich dem zugehörigen Dateityp für BASIC-Programme (*.abc) hinzugefügt - Unterstützung für BACOBAS 3 hinzugefügt * KC85/1, KC87, Z9001: - Emulation des Echtzeituhrmoduls hinzugefügt - GIDE-Emulation hinzugefügt * KC85/2..5, HC900: - Emulation folgender Module hinzugefügt: - * M045 (4x8K Segmented User PROM) - * M046 (8x8K Segmented User PROM) - * M047 (16x8K Segmented User PROM) - * M048 (16x16K Segmented User PROM) - Laden von Dateien: - Wenn Dateien in den Adressbereich ab 8000h geladen werden sollen, wird nun geprüft, ob es sich um eine KC-BASIC-Datei handelt. Wenn ja und der IRM ist gerade eingeblendet, wird die Datei nicht in den IRM, sondern in den dahinter liegenden RAM (z.B. RAM 8) geladen, d.h., genau so, wie es der Befehl CLOAD im BASIC-Interpreter tut. In allen anderen Fällen wird die Datei in den gerade eingeblendeten Speicher geladen, ggf. auch in den IRM, d.h. genau so, wie es das CAOS-Kommando LOAD tut. - Ausgabe der Tongeneratoren optional nun auch in Stereo möglich - Tasten-Mapping verbessert: - Unter anderem wird nun automatisch der PC-Modus (z.B. MicroDOS) erkannt und einige Tasten entsprechend unterschiedlich gemappt. Dadurch ist die Option Ctrl-A...Z, ESC und TAB direkt in den Tastaturpuffer schreiben hinfällig geworden. - Tasten-Mapping erweitert um die Tasten: End, Page Down, Page Up, F11 und F12 * KC85/4: Durch Einbinden einer entsprechend großen ROM-Datei kann nun der normalerweise nur 4 KByte große CAOS ROM C auch mit 8 KByte emuliert werden. Damit ist in der KC85/4-Emulation nun auch CAOS 4.5 nutzbar. * KC85/5: Bei einer eingebundenen externen ROM-Datei für den 32 KByte großen USER-ROM müssen nicht mehr die mittleren beiden Segmente getauscht werden, d.h., es kann nun eine originale ROM-Datei unverändert eingebunden werden. * KC compact: - Tonausgabe des Sound-Generators optional nun auch in Stereo möglich - Möglichkeit zur Einbindung eines externen Betriebssystem- und BASIC-ROMs hinzugefügt * LLC2: - Option zur Darstellung der Bildschirmausgabe im 4:3-Format hinzugefügt - Option zum schnellen Einfügen von Text aus der Zwischenablage durch Abfangen des Systemaufrufs hinzugefügt - Emulation der Verbindung vom Bildsynchronimpuls zum CTC Kanal 2 hinzugefügt, - Das ermöglicht den sogenannten Split-Screen-Modus. - Unterstützung zum Einbinden von 8 KByte großen Doppel-HIRES-Zeichensatzdateien hinzugefügt - Anfangsadresse und Größe des SCCH-BASIC-ROMs bei Einbindung einer externen ROM-Datei nun zwischen 2000h (16 KByte groß) und 4000h (8 KByte groß) umschaltbar - Mapping für die Tasten Insert, Page Up, Page Down, Pos1/Home und End hinzugefügt. * PC/M: - separate Boot-Disketten für 64x16- und 80x24-Zeichen - Der ROM kann nun durch Einbinden einer entsprechend großen externen ROM-Datei auf bis zu 32 KByte vergrößert werden. * Schachcomputer SC2: Software im ROM durch die später erschienene fehlerbereinigte Version ersetzt * Z1013: GIDE wird nun neben 80h auch an der E/A-Basisadresse 40h emuliert. * ZX Spectrum: - Emulation des ZX Spectrum+ 128K hinzugefügt - Möglichkeit zur Einbindung eines externen Betriebssystem-ROMs hinzugefügt * AutoLoad und AutoInput hinzugefügt: * Nach dem Einschalten und nach RESET können Dateien automatisch in den Arbeitsspeicher geladen sowie Tastatureingaben automatisch ausgeführt werden. * Speichern von KCC- und KC-TAP-Dateien: * Wenn die Datei ein Programm für KC85/1, KC87 oder Z9001 enthält, sind Dateiname und Dateityp in getrennten Feldern einzugeben. Dadurch wird eine solche Datei nun auch konform zum Z9001-OS erzeugt. * Werkzeuge hinzugefügt: - Audio-Recorder - Dateisuche, - Aufruf auch über den Datei-Browser möglich, wenn dort ein Verzeichnis ausgewählt ist - Diskettenabbilddatei-Inspektor * Audio/Kassette: - Lautstärkeregler durch Pegelanzeige ersetzt - Unterstützung für ZX-Tape-Dateien hinzugefügt (CSW- und TZX-Dateien lesend und schreibend, ZX-TAP-Dateien nur lesend) - Audio-Funktion Töne ausgeben verwendet nun standardmäßig die Abtastrate 44100 Hz statt 22050 Hz. - Fehlermeldung aussagekräftiger gestaltet: - Wenn der Audio-Kanal nicht geöffnet werden kann, weil er bereits durch eine andere Applikation benutzt wird, erscheint das nun auch so in der Fehlermeldung. * Assembler: - Pseudobefehle INCLUDE und BINCLUDE hinzugefügt - Strukturbefehle für bedingte Assemblierung hinzugefügt: - IF, IFT, IFE, IFF, IF1, IF2, IFDEF, IFNDEF, ELSE, ENDIF - numerische Ausdrücke erweitert um Vergleichsoperationen, Multiplikation, Division, Modulo, Schiebeoperationen, bitweises AND, OR und XOR sowie das Dollar-Zeichen für die aktuelle Adresse - Relative Sprungziele können nun auch mit der Syntax - Zwischen den Argumenten werden nun auch Leerzeichen aktzeptiert. - Kommandozeile: Option -D zum Definieren von Marken hinzugefügt * BASIC-Compiler: - Netzwerkfunktionen entfernt: - Anweisungen: ACCEPT, CONNECT, DATGRAM, FLUSH und SEND, - Funktionen: DNSSERVER, GATEWAY, HOSTBYNAME, LOCALADDR, LOCALPORT, MACADDR, NETMASK, REMOTEADDR und REMOTEPORT - neue Anweisungen: INCLUDE, PAINT - Anweisung DRAW um Macro-Funktionalität erweitert - Anweisung PAUSE nun auch ohne Zeitangabe möglich - Anweisung PRINT um SPC-Funktion erweitert - Anweisung OPEN: - * Beim Öffnen einer Datei auf einem USB-Speicher kann nun auch ein Pfad angegeben werden. - * Zugriff auf das Dateisystem hinzugefügt (nur CP/M) - Funktion JOYST optimiert: - Der Rückgabewert der Funktion unterscheidet sich nun zwischen den einzelnen Zielsystemen und muss deshalb mit Hilfe folgender neu definierter Konstanten ausgewertet werden: JOYST_LEFT, JOYST_RIGHT, JOYST_UP, JOYST_DOWN, JOYST_BUTTON1, JOYST_BUTTON2, JOYST_BUTTONS - Funktion POINT geändert: - Es wird nicht mehr der Status sondern die Farbe des Pixels zurückgeliefert. Für den Status gibt es weiterhin die Funktion PTEST. - Systemvariable TARGETID$ durch Funktion IS_TARGET ersetzt, - In dem Zusammenhang wurden Konstanten für die Zielsysteme definiert. - Systemvariable TARGETADDR entfernt - Konstanten für die Grafikstifte (PEN-Anweisung) definiert: - PEN_NONE, PEN_NORMAL, PEN_RUBBER, PEN_XOR - Die für die OPEN-Anweisung einzubindenden Treiber können nun in den Optionen einzeln festgelegt werden. - USB/VDIP-Treiber: Timeout-Zeit bei Lesezugriffen vergrößert - neues Zielsystem für KC85/4..5 mit Unterstützung beider IRM-Bänke hinzugefügt * Zielsystem AC1: VDIP wird nun auch an der PIO2 unterstützt, d.h., es werden der Reihe nach folgende E/A-Basisadressen auf Vorhandensein eines VDIP-Moduls getestet: DCh, FCh und 08h * Zielsystem CP/M-kompatibel: Dateisystemtreiber hinzugefügt (siehe Anweisung OPEN) * Zielsystem LLC2: VDIP wird nun auch an der PIO2 unterstützt, d.h., es werden der Reihe nach folgende E/A-Basisadressen auf das Vorhandensein eines VDIP-Moduls getestet: DCh, FCh und E4h * Option zur Angabe der Anfangsadresse für den BSS-Bereich (Variablen und Speicherzellen) hinzugefügt, * Damit ist nun auch die Erzeugung von ROM-fähigem Programmcode möglich. * Option hinzugefügt, mit der im erzeugten Assemblercode die Kommentare mit den BASIC-Zeilen weggelassen werden können * verbesserte Code-Erzeugung durch Einsatz eines Global-Optimizers Datei-Browser: * Kopieren und Einfügen ganzer Verzeichnisbäume nun möglich * Ausschneiden und Einfügen hinzugefügt * Unterstützung für symbolische Links hinzugefügt * Manuelles Setzen des Änderungszeitpuntes nun auch ohne Angabe der Sekunden möglich * TAR-Entpacker: Unterstützung für PaxHeaders hinzugefügt Debugger: * Haltepunkte um Log-Funktionalität erweitert * Anlegen von Halte-/Log-Punkten auf Programmadressen nun auch über das Kontextmenü der Programmcodeanzeige möglich, * Dabei wird die Adresse gleich vorbelegt. * Variablen hinzugefügt * Programm kann nun in drei Geschwindigkeitsstufen auch langsam ausgeführt werden. Reassembler: Kontextmenü mit Möglichkeit zum Anlegen von Halte-/Log-Punkten auf Programmadressen im Debugger hinzugefügt Texteditor: Unterstützung für WordStar-Dateien geändert: Die Konvertierung in eine reine Textdatei erfolgt nun nicht mehr beim Öffnen der Datei, sondern manuell über den Menüpunkt WordStar-Formatierungen entfernen. Dadurch können auch solche WordStar-Dateien konvertiert werden, die beim Öffnen nicht als solche erkannt wurden. Hex-Dateivergleicher: Hinzufügen/Entfernen von mehreren Dateien nun auf einmal möglich JKCEMU-Dateiauswahldialog erweitert: * Kontextmenü hinzugefügt, * Damit ist nun auch Umbenennen, Löschen und Aktualisieren möglich. * Dateinamensfeld als Drop-Ziel aktiviert, d.h., eine Datei kann nun per Drag&Drop in das Dateinamensfeld gezogen werden. Joystick: Am Emulatorrechner angeschlossene Joysticks werden nur noch dann abgefragt, wenn gerade ein JKCEMU-Eingabefenster (Emulator-/Bildschirm-, Tastatur- oder Joystick-Fenster) aktiv ist. Dadurch werden Fehlfunktionen vermieden, wenn der Joystick auch von einem anderen gerade laufenden Programm abgefragt wird. Dialog für Verzeichnisauswahl erweitert: * Möglichkeit zum Anlegen eines Verzeichnisses hinzugefügt * Symbolische Links werden nun als solche angezeigt. * Zuletzt ausgewähltes Verzeichnis ist nun vorselektiert. Einfügen von Text im Emulatorfenster: Non-breakable Spaces werden nun in gewöhnliche Leerzeichen umgewandelt. GIDE/Festplattenemulation: * GIDE kann nun auch ohne Festplatten emuliert werden. Das ist dann sinnvoll, wenn nur die Echtzeituhr benötigt wird. * Neben Festplattenabbilddateien mit einem 256 Byte großen Kopfbereich werden nun auch RAW-Dateien ohne Kopfbereich unterstützt. Das richtige Format wird anhand der Dateigröße erkannt. Enthaltene Diskettenabbilder mit originalem Interleave ersetzt Abbilddatei von Diskette erzeugen / auf Diskette schreiben umbenannt in Abbilddatei von Datentraeger erzeugen / auf Datentraeger schreiben, da diese beiden Funktionen für alle physischen Laufwerke funkionieren. Zusätzlich wird nun beim Schreiben einer Festplattenbbilddatei auf einen Datenträger auch der Dateityp erkannt (mit oder ohne 256 Byte großen Kopfbereich) und davon abhängig der 256 Byte große Kopfbereich übersprungen. Entpacken von Disketten und Diskettenabbilddateien: * Unterstützung für DateStamper hinzugefügt * Im Dialog für die Formatauswahl werden nun die automatisch erkannten Werte entsprechend gekennzeichnet. Manuelles Erzeugen von Diskettenabbilddateien: * Unterstützung für DateStamper hinzugefügt * Unterstützung für Interleave hinzugefügt * Über den Dateiauswahldialog können nun mehrere Dateien auf einmal hinzugefügt werden. * Verzeichnisse mit den Namen 1 bis 15 können hinzugefügt werden. Die darin enthaltenen Dateien werden dann in der gleichnamigen Benutzerebene hinzugefügt. * Ändern der Dateiattribute nun auch für mehrere Dateien auf einmal möglich * Es können nun mehrere Dateien auf einmal nach oben oder unten verschoben werden. Emulation einer Diskette auf Basis eines Verzeichnisses: * Unterstützung für DateStamper hinzugefügt * Automatische Aktualisierung nun auch möglich, wenn das Verzeichnis zum Schreiben geöffnet ist. Schreibunterstützung für CopyQM-Dateien hinzugefügt: CopyQM-Dateien können nun im Dateikonverter und beim manuellen Erstellen von Diskettenabbilddateien auch erzeugt werden. Unterstützung für TeleDisk-Dateien verbessert: * In bestimmten Fällen versucht JKCEMU, in der TeleDisk-Datei enthaltene und nicht korrekt gelesene Sektoren zu reparieren. Dies wird durch eine Meldung angezeigt. * Schreibunterstützung hinzugefügt: * TeleDisk-Dateien können nun im Dateikonverter und beim manuellen Erstellen von Diskettenabbilddateien auch erzeugt werden. Rechner: Funktionen ROUND und SIG/SIGNUM in der Hilfe beschrieben Z80CTC: Zeitverhalten der CTC in Verbindung mit IO-Befehlen verbessert Bugfixes: * Speichern einer Datei über JKCEMU-Dateiauswahldialog: * Im Fall der automatischen Dateinamenserweiterung funktionierte die Warnung auf Vorhandensein der Datei nicht. * Beim Speichern einer RMC-Datei wurde eine fehlerhafte Datei erzeugt. * Laden von KC-BASIC-Dateien: * Wenn die erste BASIC-Zeile sehr lang ist, wurde eine falsche Anfangsadresse ermittelt. * Dateien im KCC-Format und der Endung *.852 bis *.855 wurden nicht als KCC-Dateien erkannt. * A5105, AC1, C80, LC80, LLC2, PC/M, Poly880, Z1013: * Es konnten keine Interrupts durch Phasenwechsel am Kassettenrecordereingang ausgelöst werden. Nachdem das behoben wurde, funktionieren nun auch spezielle Kassetten-List-Programme. * A5105: Die vom SVG erzeugten Wait-States wurden nicht emuliert. Nachdem das behoben wurde, funktioniert nun auch die emulierte Kassettenschnittstelle. * BCS3: Buchstabe b im Zeichengenerator von S/P-BASIC 3.3 korrigiert * HC900, KC85/2..5: - Die Funktion BASIC-Programm speichern... arbeitete fehlerhaft, wenn das Ende des BASIC-Programm im Adressbereich >= 8000h liegt. - Beschriftungen der Zweitbelegung der Tasten +, _ und ^ fehlten in der Tastaturansicht. - Mapping einiger Tastencodes war fehlerhaft. - Beim Reassemblieren eines Aufrufs der Systemfunktion OSTR wurde die nachfolgende Zeichenkette nicht als solche reassembliert. * KC85/1, KC87, Z9001: Emulation der Lautsprecheransteuerung entsprach nicht ganz dem Original. Nachdem das behoben wurde, funktioniert nun auch die Ausgabe von 1-Bit-Musik. * LLC2: - VDIP funktionierte nicht an der E/A-Basisadresse FCh. - Umschaltung der ROM-Disk-Anfangsadresse des SCCH-Moduls 1 funktionierte nicht. * PC/M: - CTC war nicht mit dem Systemtakt verbunden. - Hardware zur Laufwerksauswahl wurde fehlerhaft emuliert. * KCNet wurde bei einem Software-Reset nicht vollständig zurückgesetzt. * Assembler: Bei EQU-Anweisungen, die als Wert eine im Quelltext erst weiter unten deklarierte Marke enthielten, wurde falscher Code erzeugt. * BASIC-Compiler: - Anweisung INPUT # arbeitete bei lokalen Integer-Variablen fehlerhaft. - Anweisung LINE arbeitete bei Startpunkt gleich Endpunkt fehlerhaft. - Bei Verwendung der VAL-Funktion wurde in bestimmten Fällen syntaktisch falscher Assembler-Code erzeugt. - Beim Zeichnen einer Linie mit negativen Koordinaten (d.h. außerhalb des sichtbaren Bereichs) kam es zu einem Programmabsturz. - Funktion INSTR stürzte ab, wenn die optionale Startposition größer der String-Länge war. - Bei Aufruf einer USR-Funktion ohne vorherigem DEFUSR kam es zu einem Programmabsturz. Nun erscheint eine Fehlermeldung. - Beim Aufruf des Compilers über die Kommandozeile konnte kein Programm für das Zielsystem CP/M compiliert werden. - Zielsysteme CP/M, Hübler/Grafik-MC, Z9001: - Funktion INKEY$ lieferte bei eingeschalteter Option CTRL-C bricht Programm ab keine Werte. * Dateikonverter: Mit dem Konverter erzeugte KC-Audio-Dateien waren fehlerhaft. * Debugger: - Haltepunkt auf Ausgabetor konnte nicht mit einer 16-Bit-Adresse angelegt werden. - Die Funktion Über Aufruf springen funktionierte nicht richtig, wenn in der übersprungenen Funktion gewisse Stack-Operationen ausgeführt wurden. * Druckaufträge: Doppelter Eintrag Im Texteditor öffnen... im Kontextmenü wurde in Im Hex-Editor öffnen... umgeändert. * Einstellungen als Profil speichern: * Es wurde nicht gespeichert, ob ein Fenster ikonifiziert oder maximiert ist. * RAM-Floppy-Fenster: Das Fenster aktualisierte sich nicht und zeigte immer die Hardware an, die bei seinem ersten Öffnen eingestellt war. * Tastenmapping: CTRL-M lieferte abhängig vom Betriebssystem, auf dem JKCEMU lief, entweder den Code 10 oder 13. Nun wird CTRL-M immer auf den Code 13 gemappt. * Texteditor: Beim Laden einer Projektdatei wurde in manchen Fällen die zugehörige Quelltextdatei nicht gefunden. * Ein-/Ausgabe über Sound-System: * Beim Wiedereinsetzen der Ein-/Ausgabe nach einer Pause hing die Emulation eine Zeit lang. |
Download: JKCemu v0.9.5
Source: Here
Random Related Topic
0 Comments
Post a Comment