|
Der NKC Emulator
Die Umsetzung einer realistischen Emulation für den NDR Klein Computer war ein lange gehegter Wunsch von mir gewesen. Berufliche Verpflichtungen haben das Projekt immer wieder verzögert und fast vergessen lassen.
Erst eine persönliche Mail von Martin Merck, der einen eigenen Emulator entwickelt, hat mich dieses Projekt wieder aufnehmen lassen. Seither sind endlose Stunden an zusätzlicher Recherche, Programmierung und Tests in das Projekt geflossen.
Inzwischen gibt es ein mehrere Updates des Emulators mit Fehlerbehebungen sowie vielen Verbesserungen und Erweiterungen. Den Entwicklungsfortschritt und die Downloads erreicht ihr hier: Versionshistorie & Downloads

Das Hauptfenster des Emulators dient zur Steuerung der Emulation und zur Visualisierung der Hardwarekomponenten. Weitere Informationen können der ausführlichen Dokumentation entnommen werden, die sich ebenfalls im Download-Bereich befindet. Das Erscheinungsbild kann je nach gewählter Konfiguration unterschiedlich sein.

Das Monitorfenster stellt die Ausgaben der Grafikkarte dar und erscheint normalerweise unterhalb des Hauptfensters. Im Bild sind außerdem der HEX-Editor und das Trace-Fenster sichtbar. Weitere Screenshots des Emulators sind auf zwei Unterseiten abrufbar.
Weitere Themen
Entwicklung
Der Emulator ist komplett in Java (JDK 17) programmiert und lässt sich sowohl auf Windows als auch auf macOS einsetzen. Die Entwicklung erfolgte unter der Entwicklungsumgebung NetBeans auf einem MacBook Pro M3. Die aktuelle Programmversion 1.20 wurde auf verschiedenen Systemen getestet.
Umfang der Emulation (Version 1.20)
In der aktuellen Version werden neben den Prozessoren 68008 und 68000 von Motorola und dem Mikroprozessor Z80 von Zilog die folgenden Baugruppen
- BANKBOOT (RAM ab Adresse 0)
- KEY (Tastaturadapter)
- GDP64K (Grafikkarte 512x256 s/w)
- GDP64HS (Grafikkarte 512x256 s/w)
- FLO2 (Floppy Disk Controller)
- CAS (Kassetteninterface)
- PROMER (EPROM Programmierer 2764)
- CENT (Druckerschnittstelle)
- UHR (Echtzeituhr)
- IOE (Eingabe und Ausgabe)
- SER (Serielle Schnittstelle)
unterstützt. Weitere Baugruppen sollen folgen.
Installation und Start
Nach dem ersten Start der Emulation wird automatisch ein Ordner für die vom Benutzer veränderbaren Daten angelegt und eine Reihe von Konfigurationsdateien, ROM-Images und Disketten-Images dorthin kopiert, so dass der Emulator sofort mit Standard-Einstellungen genutzt werden kann. Das Verzeichnis NKCEmu wird im Benutzerverzeichnis angelegt und kann später in den Einstellungen an einen anderen Ort verschoben werden.
Bekannte Einschränkungen
Es ist noch lange nicht alles perfekt und es gibt aktuell noch einige Einschränkungen, welche die Emulation ein wenig vom Verhalten der realen Hardware abweichend reagieren lassen.
- Die Darstellung bei schneller Umschaltung zwischen den Seiten der GDP64K (Flip-Modus)
flackert auf modernen Bildschirmen, bei denen es keine Nachleuchtzeit gibt. Eine Lösung ist nicht in Sicht.
- Die Emulation des Floppy-Controllers ist unvollständig und unterstützt keine Formatierungen.
Disketten-Images in vielen Standard-Formaten können innerhalb der Emulation erstellt werden.
- Derzeit werden keine Hardware-Interrupts unterstützt, es kann sein, dass nicht jede Software lauffähig ist.
- Unter Windows ist die Darstellung nur mit einer Bildschirmskalierung von 100% korrekt.
Geplante Erweiterungen
Ohne eine Priorität in der Reihenfolge festlegen zu wollen, stehen die folgenden Punkte auf meiner ToDo-Liste. Ich würde mich freuen, wenn ihr mir dazu eure Präferenzen mitteilen oder weitere Wünsche äußern würdet.
- Umsetzung der Baugruppe COL256
- Korrektur des Timings für MC 68008
- Programmieren von EEPROM's innerhalb der Emulation
- Emulation des Prozessors 8088 von Intel
- Integrierter Diasassembler für Z80 / 68000 / 8088
- Weitere Fehlerbehebungen und Verbesserungen
|