Was mich zum Schreiben dieses Z1013-Emulators getrieben hat, wird nicht jeder verstehen. Um ganz ehrlich zu sein, man muss es auch nicht verstehen. Und für Leute, die es dennoch verstehen möchten, habe ich die folgenden Zeilen aufgeschrieben. Versuchen Sie aber bitte nicht, aus dieser Vorgeschichte ernsthafte Schlüsse zu ziehen, schmunzeln Sie lieber einmal öfters!
Also die Geschichte des Emulators J1013 beginnt im August 2001. Die Zeiten, in denen ein Z1013 mein bester Freund war, sind schon lange in Vergessenheit geraten. Ich saß in meinem Büro und recherchierte im Internet. Der Abruf einer Seite dauerte etwas lange, und ich öffnete zum Zeitvertreib ein zweites Browser-Fenster und tippte dort, ich weiß wirklich nicht warum, einfach so "www.z1013.de" ein.
Völlig überrascht erkannte ich die Umrisse einer Z1013-Platine. Ich war fasziniert, dass es eine Homepage über diesen Mikrorechnerbausatz gab. Ich klickte mich durch jeden Winkel der liebevoll gestalteten Web-Site und der weiterführenden Links. Es gibt also tatsächlich noch Leute, die dieses Urgestein der Rechentechnik würdevoll am Leben halten.
Bei mir kamen sie wieder hoch, all die Erinnerungen an den guten alten Z1013, dem ich so viel zu verdanken habe. Er hat mich in den erlauchten Kreis der Menschen gehoben, die in der DDR einen Heimcomputer (na gut, Mikrorechnerbausatz) ihr eigen nennen durften. Aber noch viel mehr: Mit ihm habe ich so viele Nächte verbracht (Immer wenn meine Eltern ins Bett gingen, konnte ich an den Fernseher heran, der als Monitor diente.), habe so viel über die Grundprinzipien der Mikrorechentechnik und vor allem die Programmierung gelernt, zuerst Basic, dann Assembler. Auch die Hausaufgaben des Pascal-Praktikums am Anfang meines Informatik-Studiums habe ich mit dem Z1013 erledigt, während meine Kommilitonen sich für Zugangszeiten im Rechenkabinett anstellten.
Und mir wurde an diesem Augusttag noch etwas anderes bewusst: Ich habe meinen Z1013 vor Jahren einfach so in die Ecke abgeschoben und vergessen, ohne Dank und Würdigung. Nach dem Einzug der D-Mark in die DDR war er nicht mehr zeitgemäß und musste der 16-Bit-Rechentechnik weichen. Am Silvestertag 1990 traf ein im Versandhandel bestellter Atari 1040 STE ein, das Ende meiner 8-Bit-Ära war abzusehen. Ich schuf noch eine Möglichkeit, Programme und Daten vom Z1013 über eine selbst gebaute senderseitige MIDI-Schnittstelle auf den Atari ST zu übertragen (veröffentlicht in der Zeitschrift "Funkamateur", Heft 1/1992). Doch Mitte der neunziger Jahre hatte dann mein erster eigener Computer endgültig ausgedient und verschwand in irgendeinem Karton in irgendeiner Ecke auf dem Grundstück meines Elternhauses...
Irgendwie tat mir mein Z1013 leid. Ich wollte noch etwas für ihn tun. Ja, ich wollte noch vor seiner endgültigen Ruhe zeigen, dass ich durch ihn so viel gelernt hatte, dass ich diesen Computer tatsächlich in- und auswändig kannte. (Das wird bei heutigen Computern wohl niemand mehr behaupten können.) Ich musste meinen Beitrag zum Erhalt des Z1013 an die Nachwelt leisten. Es war ja immerhin der erste Computer, den auch ein Normalbürger in der DDR erwerben konnte.
Im August 2001 leitete ich bereits seit fast einem Jahr Software-Projekte, die mit Java programmiert wurden. Ich habe deshalb auch selbst diese Programmiersprache gelernt und war dabei, die Möglichkeiten von Java und den dazugehörenden APIs tiefer zu erkunden. Meine Würdigung des Z1013 sollte deshalb etwas mit Java zu tun haben. Die logische Konsequenz ist somit ein in Java geschriebener Z1013-Emulator. Ich weiß, niemand auf der Welt benötigt einen weiteren solchen Emulator, aber darum geht es ja auch gar nicht. Um meinen Emulator dennoch von den bereits existierenden abzuheben und somit interessant zu machen, soll er besonders komfortabel und plattformübergreifend sein. Ob ich das erreicht habe, können jedoch nur die leidgeprüften Anwender beurteilen.
| Das Thema Z1013-Emulator ist für mich nicht ganz neu. Bereits 1993 habe ich angefangen, auf dem Atari ST einen solchen Emulator in Assembler zu schreiben. Nachdem das Programm immer größer und unübersichtlicher wurde, habe ich das ganze mit der Programmiersprache C noch einmal getan. Mit der Zeit verlor ich jedoch die Motivation, sodass der Emulator nie vollendet wurde, obwohl er schon einige Programme anstandslos ausführen konnte. Außerdem hat sich auch gezeigt, dass die mit 8 MHz getaktete Motorola 68000 CPU des ATARI-Computers den Z1013 mit nur etwa 300 kHz emulieren wollte. Um so mehr war es für mich eine Herausforderung, mit Java auf den heute üblichen PCs die Originalgeschwindigkeit eines Z1013 (i.d.R. 2 MHz Taktfrequenz) zu erreichen. |
![]() Nie vollendeter Z1013-Emulator auf dem ATARI ST, Aus einem unerklärlichen Grund fand ich es damals schöner, wenn der Emulator den Zeichensatz invertiert. |
Vier Wochen nach dem besagten Augusttag stand das Grundgerüst des inzwischen auf J1013 getauften Emulators. Einige Nächte hatte ich geopfert, aber dafür konnten schon die ersten Z1013-Programme getestet werden. Ich war echt happy, dass meine Erwartungen an die Performance der CPU-Emulation weit übertroffen wurden. Der Pferdefuß des in Java geschriebenen Emulators zeigte sich jedoch auch bald: Die Geschwindigkeit der Grafikausgabe ist problematisch. Ich habe verschiedene Implementierungen ausprobiert, doch erst nach zweieinhalb Jahren fand ich eine akzeptable Lösung.
Das größte Problem stellte jedoch das Finden der Bugs in der CPU-Emulation dar. Ich spendierte dem J1013 deshalb einen Debugger. Doch der Durchbruch gelang erst, als ich die Funktionalität des Aufzeichnens der Befehlsausführung implementierte. So konnte ich die CPU-Emulation mit dem Emulator "Z1013EMU" von Andreas Ziermann vergleichen und so viele Fehler finden und beheben. An den Weihnachtsfeiertagen 2001 hatte ich den Emulator soweit rund gemacht, dass die Version 0.1 am 14.01.2002 veröffentlicht werden konnte. Knapp drei Jahre später, am 30.12.2004, gab ich die finale Version 1.0 frei.
© 2004 Jens Müller