AmErstellt: 17.03.2017
Anfang der neuentdeckten Leidenschaft für den KC85 - welche so in etwa im Jahr 2009 begann - stand
das Sammeln jedweder nicht vorhandener Hardware rund um den KC85. Neben den Aufsatzgeräten D002, D004,
Floppy-Disk, der Komforttastatur D005, diversen Peripheriegeräten - Drucker, Plotter, Erika 6007 - wurden
auch zahlreiche Module erworben. Darunter ganz Klassische, von MPM Mühlhausen entwickelte, aber auch
Neuentwicklungen von begabten Elektronikern und Programmierern.
Bei weitem nicht jedes Modul konnte in die Sammlung integriert werden, da es partout nicht käuflich
vorhanden war. Eines dieser Module ist das M040. Warum war auch dieses Modul so interessant?
Ab und an programmiere ich ein wenig. Hauptsächlich handelt es sich um
Grafikanwendungen - Bildschirmschoner, Slide-Shows, kleine Spiele. Die Lieblingssprachen sind C++ und PERL.
Das Betriebssystem spielt dabei eine untergeordnete Rolle. Viel wichtiger ist das Vorhandensein einer
ausgereiften Entwicklungsumgebung mit integrierten Werkzeugen, u.a. Debugger, Linker und Compiler.
Vor geraumer Zeit wurde für den KC85 ein kleines CAOS-Programm entwickelt. Es handelt sich um eine Art
Diashow. Dargestellt werden Bilder von Ausflügen und Urlauben in ganz Deutschland.
Sie können sich gern ein Video der kleinen Spielerei ansehen.
Das M040 bietet die Möglichkeit so konfiguriert zu werden, daß es als Autostartmodul zum Einsatz kommen
kann. Und genau das war die Motivation für den Nachbau.
Das kleine Programm so umzuschreiben, daß es autostartfähig wird und sofort beim Einschalten des KC
startet. Dazu wird ein M040 benötigt und es sind weitere Voraussetzungen zu schaffen, welche jedoch als
schon erfüllt betrachtet werden konnten.
Mehr als dieser Nachbau sollte es gar nicht werden. Daß letztendlich etwas viel Besseres entstanden ist,
ist natürlich erfreulich.
Für die beschriebenen Anforderungen und Zwecke hätte ein M040 vollkommen ausgereicht. Die Schaltpläne
waren vorhanden - wunderbar sauber von Mario Leubner neugezeichnet. Und es hätte sogar eine kleine
Erweiterung stattgefunden, nämlich die ebenfalls von Mario Leubner entwickelte Modifizierung, die den
Einsatz von EEPROM- statt EPROM-Schaltkreisen ermöglicht. Damit entfällt das lästige Herausnehmen der
EPROM, löschen dieser mit anschließender Neuprogrammierung und dann wieder Einsetzen in die Fassungen.
Warum ist es nicht dabei geblieben? Letztendlich kann die Frage nicht beantwortet werden. Der Hauptgrund
wird wohl der sein, daß ich mit Mario Leubner wieder Kontakt aufnahm, um ihn um Unterstützung
beim Nachbau zu bitten, wenn Verständnisprobleme auftauchen.
Mit Mario Leubner wurde schon einmal zusammengearbeitet. Damals ging es um die Entwicklung des M030.
Zusammen mit Wolfgang Harwardt und Mario Leubner wurde ein leistungsstarkes Modul entwickelt.
Durch seine Gedankenanstöße sorgte er dafür, daß es zur Entwicklung des M041 kam. Er setzte keine fertigen
Lösungen vor, sondern zwang zum Nachdenken. Kam es dann doch manchmal zum Stillstand, dann half er mit
Schaltungsvorschlägen. Natürlich ist letzten Endes ein Großteil der Entwicklung des M041 von Mario Leubner
vorgenommen worden. Aber mit ein klein wenig Stolz nehme ich für mich in Anspruch, daß auch von
mir Teile der Schaltung entworfen wurden.
Wie schon seinerzeit beim M030 war der Lerneffekt auch dieses Mal sehr groß und zum ersten Mal wurde eine
Schaltung in ihren Grundzügen auch verstanden und es wurden selbständig Teilschaltungen entwickelt.
Die Zusammenarbeit mit Mario Leubner ist immer sachlich und freundlich gewesen. Es hat immer Spaß gemacht
und war wieder eine Fundgrube des Wissens.
Was zeichnet das M041 gegenüber dem M040 aus?
Zunächst einmal ist es ein vollkommen anderer Schaltplan. Auf einer Modulplatine finden zwei gleichwertige
Module Platz, quasi zwei M041. Das M041 bietet zweimal 16 KB ROM-Speicher. Dabei können neben den
vorgesehenen EERPOM auch EPROM eingesetzt werden, dann mit der Einschränkung, daß diese nicht "in system"
programmiert werden können.
Die jeweils 16 KB teilen sich auf zwei 8 KB-EEPROM auf. Gleich dem M033 (Typestar) können diese beiden
Blöcke rotiert werden, so daß entweder EEPROM 0 oder EEPROM 1 auf, zum Beispiel, der Adresse C000
eingeblendet wird, wobei der jeweils andere dann verdeckt auf Adresse E000 liegt.
Das Modul bietet einen dreifachen Schreibschutz, wenn EEPROM mit SDP (Software data protection) eingesetzt
werden. Als erstes eben SDP, dann zum zweiten per Steuerbyte (Kennbyte) und zum dritten per Hardware. Dazu
befindet sich an der Platinenvorderseite ein DIP-Switch, mit dem jedes Submodul per Schalter
schreibgeschützt werden kann. Dieser DIP-Switch dient auch zur Einstellung des Strukturbytes. Dadurch
lassen sich die Strukturbytes 01 (Start-ROM), F1, F8 und FC einstellen.
Hauptmerkmale sind sicherlich die insgesamt 32 KB ROM-Speicher, die Autostartfunktionalität und die
Möglichkeit des "in system programmings".
Aber auch das Layout, d.h. das Design der Platine, ist gegenüber dem M040 grundlegend verändert.
Als kleines Augenschmankerl können sicher die 4 RGB-LED betrachtet werden. Getrennt für beide Submodule
zeigt jeweils die linke LED den "module on"-Status an bzw. einen aktiven Schreibvorgang auf einem der
beiden EEPROM (blau für EERPOM 0 und rot für EEPROM 1). Das Anzeigen bzw. Signalisieren des
Schreibvorgangs müssen die eingesetzten EEPROM unterstützen.
Die rechte LED zeigt generell die Aktivität (Lesen und Schreiben) auf den EEPROM an (blau und
rot; grün bleibt hier unbenutzt).
Nach dem Aufbau der Serienplatine hat sich leider ein gravierender Fehler herausgestellt, welcher durch
grobe Fahrlässigkeit entstanden ist.
Im Gegensatz zum Prototyp arbeitet die Modulpriorisierungslogik nicht korrekt, da schlichtweg das Signal
/MREQ, welches dabei unbedingt berücksichtigt werden muß, nicht mit eingebunden ist. Dadurch entstehen
ungewollte Effekte, beginnend mit der teilweisen Nichtverwendungsmöglichkeit von Modulen, welche "hinter"
dem M041 gesteckt sind, bis hin zum völligen Stillstand des Rechners.
Um diesen Fehler zu beseitigen, muß ein SMD-Schaltkreis (74LS32) auf der Lötseite der Platine angebracht
werden. Des weiteren müssen zwei Leitungen durchtrennt und weitere 10 Leitungen per Fädeldraht o.ä. verlegt
werden. Wie das genau zu erfolgen hat, ist der technischen Dokumentation zu entnehmen. Eine Abbildung hier
zeigt schematisch den Sachverhalt.
Eine Umfrage unter den Interessenten hat ergeben, daß die Mehrheit die "Bugfix"-Lösung akzeptiert, d.h. den
SMD-Schaltkreis auf der Lötseite aufzubringen und entsprechend der Beschreibung zur Fehlerbehebung
einzubinden.
Einige möchten jedoch gern eine neue Platine, mit der korrekten Schaltung. Sie sind dankenswerter Weise
bereit, den Beschaffungspreis zu bezahlen. Das Layout wurde bereits überarbeitet. Der Einsatz eines SMD-IC
läßt sich jedoch aufgrund der Bestückungsdichte nicht mehr vermeiden. Der neue Schaltkreis D22 wird nun
innerhalb der Fassung eines der EEPROM-IC eingelötet. Damit liegen alle Bauteile weiterhin auf der
Bestückungsseite.
Den Fehler habe ich ganz allein gefunden, eine Lösung zur Behebung entwickelt und diese auch getestet
und veröffentlicht.
Der Aufwand für ein vollständiges Re-Layout der Platine, mit dem Ziel den SMD-IC durch einen DIP-IC zu
ersetzen, steht meiner Meinung nach in keinem vernünftigen Verhältnis zum zu erwartenden Nutzen. Die
von mir vorgenommene Änderung behebt den Fehler und stellt damit die Funktionalität des Moduls vollständig
sicher. Eine funktional vollkommen gleichwertige Platine, welche ein vollständig anderes Layout besitzt, ist
nach meiner Ansicht nicht sinnvoll.
Nach reiflicher Überlegung wurde gemeinschaftlich der Beschluß gefaßt, dem Vorschlag Mario Leubners zu folgen
und die Neuanfertigung der Platine ohne SMD-Schaltkreis vorzusehen. Ob letztendlich Mario Leubners neuer
Schaltplanentwurf oder mein eigener als Grundlage dient, ist noch nicht entschieden. Die Neuanfertigung ist
nun für Ende des Jahres 2017 geplant.
Der Zeitplan für die Fertigstellung des überarbeiteten und fehlerbereinigten Schaltplans wurde geändert.
Mittlerweile ist der neue Schaltplan erstellt und das Layout der Platine wurde angepaßt. Es handelt sich
dabei um die Revision 3.0. Dabei ist zu beachten, daß der im KC-Labor bereitgestellte Schaltplan nicht mit
dem der Revision 3.0 identisch ist.
Die Neuanfertigung der Platinen mit dem fehlerbereinigten Schaltplan wurde Mitte Juni/2017 beauftragt. Ich
habe für mich entschieden, keine Platine der Revision 3.0 zu nehmen, da die Fehlerbehebung der Revision
21 funktional korrekt und die nachträgliche Korrektur der Platine im Gehäuse optisch nicht sichtbar ist.
Für weitere Informationen, insbesondere die technischen Aspekte und die Einsatzmöglichkeiten des M041
betreffend, wird auf das Handbuch und die Schaltpläne verwiesen. Diese können im Download-Bereich
gefunden und heruntergeladen werden. Die überarbeiteten Dokumentationen, sowohl zur Revision 21
(fehlerhafte Platine mit dem zusätzlich aufgebrachten SMD-Schaltkreis), als auch zur Revision 3.0,
befinden sich ebenfalls im Download-Bereich.
Für mich habe ich das Projekt abgerundet und eine gedruckte Ausgabe des Handbuches anfertigen lassen.
Die Qualität des Druckes ist sehr gut.
Die Fortsetzung dieses Kapitels steht nicht in direktem Zusammenhang zum Modul M041, sondern vielmehr zu der
Bilderschau, deren Programm bzw. Programmierung durch das M041 motiviert wurde. Lesen Sie dazu weiter auf der
Unterseite dieses Kapitels.
|