ndr-nkc.de ndr-nbc.de
  
Startseite
News
 
NDR-NKC
Geräte Z80
Geräte 68000
Geräte 8088
 
NKC Emulator
 
Z80 Section
Baugruppen
ROM's
Software
68000 Section
Baugruppen
ROM's
PASCAL/S
Software
CP/M 68K
8088 Section
Baugruppen
Downloads
 
Bussysteme
Stromversorgung
Input / Output
Grafikkarten
Speicherkarten
Massenspeicher
Weitere Baugruppen
 
Projekte
 
Dokumentation
Datenblätter
Glossar
Portraits
Links

Impressum

 

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 umfangreiches Update des Emulators mit einigen Fehlerbehebungen und 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 immer 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.1 wurde auf verschiedenen Systemen getestet.

Umfang der Emulation (Version 1.1)

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)
  • FLO2 (Floppy Disk Controller)
  • CAS (Kassetteninterface)
  • PROMER (EPROM Programmierer 2764)
  • CENT (Druckerschnittstelle)
  • UHR (Echtzeituhr)
  • IOE (Eingabe und Ausgabe)
unterstützt. Weitere Baugruppen und Prozessoren sollen folgen.

Installation und Start

Nach dem ersten Start der Emulation wir 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.

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.
  • Das Timing bei der Verwendung des 68008 Mikroprozessors ist nicht ganz korrekt.
    Die Emulation läuft bei der Verwendung des 68008 etwa 30 Prozent zu schnell.

  • Die Darstellung bei schneller Umschaltung zwischen den Seiten der GDP64K (Flip-Modus)
    flackert auf modernen Bildschirmen, bei denen es keine Nachleuchtzeit gibt.

  • Die Emulation des Floppy-Controllers ist unvollständig und unterstützt keine Formatierungen
    außerhalb der Spezifikation des 1797 Controllers.

  • 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 SER
  • Frei skalierbare Anzeige des Monitors
  • 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