Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » Tastatur am MC80.3x » Themenansicht

Autor Thread - Seiten: -1-
000
11.01.2012, 08:12 Uhr
AE
Default Group and Edit


Die Tastatur am MC80.3x

Im Zusammenhang mit der Wiederinbetriebnahme von MC80.3x-Rechnern in Merseburg habe ich mich wieder mit diesem Komplex befaßt. Da in der Zwischenzeit alle EPROM-Inhalte zu den CRC-Summen aus der im Forumbeitrag "MC80.3x SW in EPROMs" [005] aufgeführten Tabelle bei mir vorhanden sind, konnte ich diese analysieren:

Zunächst möchte ich die dort getroffene Aussage zu den einzelnen EPROM-Varianten richtigstellen. Zu jedem Typ .30, .31 und .33 gehört genau eine Ausstattung mit Anschlußsteuerung und Kassettenmagnetband-Laufwerk (so wie im aktualisierten Kapitel "MC80" von Robotrontechnik.de angegeben).
- Die EPROMs auf der Adresse 0000H unterscheiden sich nur in einem Bit. (Man beachte den
Unterschied im CRC: 14EBH zu 4506H !)
- Die EPROMs auf der Adresse 0800H sind in allen Varianten gleich.
- Die EPROMs auf der Adresse 1000H und 1800H enthalten alle Programmteile zur
Arbeit mit dem Kassettenmagnetband-Laufwerk und sind deshalb zur jeweiligen Kombination
Ansteuerungsleiterkarte/Laufwerk zugehörig.
- Die EPROMs auf der Adresse 2000H sind in allen Varianten gleich.
- Die EPROMs auf der Adresse 2400H unterscheiden sich im Auslieferungszustand nur in der
Bildschirmausschrift nach INIT. Da in den heute noch vorhanden Rechnern aber meist vom
Nutzer programmierte EPROMs folgen, ist wegen der Einbeziehung in die Programmkettung der
EPROM auf der Adresse 2400H modifiziert.

Nun zum ominösen Bit im EPROM 0000H. Dieses Bit befindet sich in der Initialisierung der "Tastatur"-SIO und steht für zwei unterschiedliche Datenübertragungsraten zwischen Tastatur und Rechner. Und richtig, meine Nachforschungen zeigten, es gibt zwei Tastaturen für den Anschluß an den MC80.30 und -.31. Äußerlich sind diese nicht zu unterscheiden. Die Leiterkarten tragen die Bezeichnung 50300-3030.01 ÄZ1 bzw. ÄZ3.

In der Tastatur arbeitet ein Einchipmikrorechner U881 mit Bitmuster 004 oder U883. Diese sind hier in der MC80.3x-Tastatur gleichwertig. Nach der Spannungszuschaltung (RESET ohne Spannungserhöhung) werden die Ports 0 und 1 für die Nutzung externen Speichers initialisiert und dann das Programm auf der externen Adresse 080CH angesprungen. Die CRC-Summen der Tastatur-EPROMs U2716 sind ÄZ1 - 0F688H und ÄZ3 - 0BEC0H. Als Adresslatch dient eine CMOS-IS U4034.
Bei der gefundenen Variante ÄZ1 ist ein 1,23 MHz-Quarz direkt an den U881 angeschlossen. Beim ÄZ3 hat ein K1520-Systemquarz (9,832 MHz) einen eigenen Oszillator (DL004); über einen Frequenzteiler (DL093) wird der Takt in den U881 eingespeist.

Interessant ist die Schaltungslösung für die Matrix aus hochwertigen TSH-Tastern: Da für den externen Programm-EPROM bereits 12 I/O-Pins gebunden sind und Port 3 für z.B. die serielle Schnittstelle genutzt wird, erfolgt die Aktivierung einer der 12 Matrixzeilen während eines externen Speicherschreib-Befehls über die gemultiplexten 12 Daten-/Adressleitungen des EPROMs (, wobei nur jeweils ein Adressbit aktiv ist). Die 8 Tasten der Zeile werden dabei über Byte-Eingabe mit handshake in Port 2 eingelesen.
Die vier oberen Bits von Port 1 steuern über einen Treiber (DL038) die drei LEDs und den "Pieper". Die grüne Bereit-LED (oben rechts der Tastaturmitte) leuchtet also nicht einfach bei anliegender Betriebsspannung sondern wird vom Einchipmikrorechner eingeschaltet und dies zusätzlich mit einen "PIEP" signalisiert (1. Ton). Ein 7805 erzeugt aus der vom Rechnergrundgerät bereitgestellten Spannung (12V) die in der Tastatur benötigten 5V.

Der Prozessor U881 ist über Transistorstufen mit den IFSS-Leitungen verbunden. Da die Verbindung zum MC80.3x-Rechner nur vieradrig (plus Schirm) ausgeführt ist, dienen die Stromversorgungsadern gleichzeitig auch als Rückleiter für die Stromschleifen.
Die Belegung der 10-poligen EFS-Buchse an der Tastaturleitung ist:
b1 - GND, a2 - +12V, b2 - SD+, b4 - ED-; a1, a3, a4, a5 und b5 - Schirm.
Als Übertragungsformat wurden 7 Bit plus ungerades Paritätsbit gewählt. Die Bitrate beträgt für ÄZ3 9600 Bit/s.
Da bei der gewählten niedrigen Oszillatorfrequenz von 1,23 Mhz durch veränderte Programmierung nicht die im EPROM 0000H mit CRC 4506H des MC80.30 bzw. -31 gefundene Bitrate 7680 Bit/s erzeugt werden kann, ist zu vermuten, daß es Tastaturen (ÄZ1) mit einem Quarz von 1,00 MHz geben sollte.
Für jeden Tastendruck sendet die Tastur an den Rechner zwei Worte a 7 Bit. Zunächst wird ein Statuswort dann der Tastencode (ASCII für darstellbare Zeichen) übertragen.

Im Rechnergrundgerät sind die IFSS-Leitungen vom EFS-Stecker an der linken, unteren Ecke der Vorderseite vieradrig über den Koppelbus auf die ASP-Leiterkarte geführt. Das bedeutet, ohne gesteckte ASP erfolgt keine Spannungsbereitstellung für die Tastatur! Im gesamten Stromversorgungskreis der Tastatur befindet sich keine Sicherung; erst die Elektronik des Schaltnetzteiles wirkt strombegrenzend. Bei einem Kurzschluß in der Tastatur wird also wahrscheinlich ein Leiterzug bzw. ein Verbindungsdrähtchen als Sicherung wirken.

Der Kanal A der ASP-SIO ist über Optokopplerstufen angeschlossen. Die Takterzeugung für Senden und Empfang (zu/von der Tastatur) erfolgt im Kanal 0 des ASP-CTC. Zwischen dem Ausgang des CTC-Kanals 0 und den Takteingängen des SIO-Kanals A sind ein Treibergatter (DL008) und ein 1:2-Taktteiler (DL074) angeordnet. Die Zähleingänge der CTC-Kanäle 0, 1 und 2 sind auch über einen 1:2-Taktteiler (DL074) mit dem Systemtakt des K1520-Busses verbunden.

Die Initialisierung der zur Tastaturbedienung erforderlichen Kanäle des ASP-CTC bzw. der ASP-SIO erfolgt als eine der ersten Betriebssystemaktivitäten nach NETZ EIN oder RESET (d.h. Programmlauf über die Adresse 0000H,) durch ein Programmodul mit dem Kennbyte 03 auf Adresse 0B13H. Dieses Programmstück ruft den Konsolen-IY-Treiber mit der Funktion 00 auf Adresse 0351H auf. Die eigentliche Initialisierungsroutine beginnt dann ab Adresse 03D3H.
Der ASP-CTC-Kanal 0 wird initialisiert als Zähler (des 1/2 K1520-Systemtaktes), Interrupt wird verboten, die Zählkonstante ist 4 (EPROM 14EBH) bzw. 5 (EPROM 4506H).
Der ASP-CTC-Kanal 3 wird initialisiert als Zeitgeber mit Vorteiler 16 und Zählkonstante 1; der Interruptvektor wird gesetzt aber kein Interrupt zugelassen.
Der ASP-SIO-Kanal A wird zurückgesetzt, der Interruptvektor gesetzt, das Übertragungsformat auf 7 Bit plus ungerade Parität programmiert, Sender und Empfänger freigegeben und als letztes nur der Empfängerinterrupt bei jedem empfangenen Wort freigegeben.

Jedes von der ASP-SIO empfangene Zeichen der Tastatur startet so die Interrupt-Serviceroutine ab Adresse 044BH. Diese speichert ein Statuswort auf Adresse 0FB7CH und den Tastencode auf Adresse 0FB45H. Wurde ein Tastencode empfangen wird zusätzlich der Interrupt für ASP-CTC-Kanal 3 freigegeben. Dann wird die Interrupt-Serviceroutine der SIO beendet. Ein von der SIO angezeigter Empfängerfehler wird nicht ausgewertet.

Der ASP-CTC-Kanal 3 startet sofort (Zählkonstante = 1) nach Interruptfreigabe seine Interrupt-Serviceroutine bei Adresse 046FH. Als erstes wird der Interrupt für ASP-CTC-Kanal 3 wieder gesperrt. Dann beginnt die Auswertung des Statuswortes. Zu jedem möglichen Statuswort gehört ein zugeordnetes Bit im Steuerbyte auf Adresse 0FB7FH. Ein gesetztes Bit bewirkt, daß der zugehörige Tastencode durch 1BH [ESC] ersetzt wird. Damit kann z.B. ein ganzer Tastaturbereich ausgeblendet werden. Die Interrupt-Serviceroutine unterscheidet vier Statusworte:
- 1CH (Statuswort)/Bit 2=0 (0FB7FH) kennzeichnet einen Tastendruck im "großen" Tastenfeld.
Ein rückgesetztes Bit 4 bewirkt für die Buchstaben-Tasten eine Vertauschung von Groß- und Kleinschreibung.
- 1DH /Bit 0=0 kennzeichnet einen Tastendruck im rechten numerischen Tastenfeld.
- 1EH /Bit 1=0 kennzeichnet einen Druck auf eine Funktionstaste. Hier wird geprüft, ob ab der
dem Tastencode zugeordneten Adresse ein Sprungbefehl eingetragen ist (Siehe auch [Systembeschreibung Betriebssystem EGOS 30.1 Teil 1]. Wenn ja, dann wird dieser ausgeführt ansonsten wird der Tastencode in 0C3H geändert. In nachstehender Tabelle sind für jede Funktionstaste die in der Systembeschreibung gewählte Bezeichnung, der von der Tastatur gesendete Tastencode und die Adressen für die zugeordneten Sprungbefehle (aus dem EPROM 14EBH - beginnend oben links) angegeben:
06H - 01H - 0FEE2H ; 05H - 02H - 0FEDFH
04H - 04H - 0FEDCH ; 03H - 08H - 0FED9H
02H - 10H - 0FED6H ; 01H - 20H - 0FED3H
00H - 40H - 0FED0H ; 07H - 00H - 0FEE5H
Nach dem INIT-Kommando ist der entsprechende RAM-Bereich FECDH..0FEE7H mit 0FFH beschrieben, d.h. alle Funktonstasten liefern 0C3H.
- 1FH /Bit 3=0 kennzeichnet daß vor einem Tastendruck auf dem "großen" Tastenfeld bereits
die rote [CTRL]-Taste betätigt und gehalten wurde. Hier wird, anders als in der Systembeschreibung angegeben, Bit 7 des Tastencodes gesetzt.
- Ein rückgesetztes Bit 7 (0FB7FH) erzeugt für jeden Tastendruck einen "PIEP".
Nach RESET hat das Steuerbyte (0FB7FH) den Wert 90H, d.h. alle Tastenfelder und die "Kontroll"-Funktion sind freigegeben, die Buchstaben-Tasten liefern Großschreibung und es gibt keinen Tasten-"PIEP".
Der modifizierte Tastencode wird auf den Adressen 0FB62H und 0FB7DH gespeichert.
Danach wird bei rückgesetzten Bit 7 des internen Steuerbytes auf 0FB42H die Interrupt-Serviceroutine beendet.

Auf der nächst höheren Programmierebene wird mittels der Betriebssystem-Routine TST auf Adresse 00BCDH die Tastatur abgefragt. Das eigentliche Programmstück steht ab Adresse 0761H.
Hier wird geprüft ob auf der Adresse 0FB7DH ein Tastencode eingetragen ist, wenn ja wird auf diese Adresse 0FFH geschrieben und der Tastencode im Register A (Cy=1, Z=0) übergeben; sonst enthält das Register A 00H (Cy=0, Z=1). Der in der Systembeschreibung angegebene repetierende Tastendruck wird nicht unterschieden.
Mit der Routine TST lassen sich weder die Funktionstasten voneinander noch die numerischen von den gleich beschrifteten Tasten des "großen" Tastenfeldes unterscheiden.

Ergänzend sollen hier noch die Tastencodes der Nicht-Zeichentasten angeführt werden:
Pfeil nach oben - 0BH CL(ear) - 7FH
Pfeil nach unten - 0AH ENTER - 11H
Pfeil nach links - 08H OFF - 13H
Pfeil nach rechts - 0CH CR/LF - 0DH
Tabulator - 09H
Die unbeschriftete Taste des numerischen Feldes liefert SPACE - 20H.

Eine Kommando-Ausgabe des Rechnergrundgeräts an die Tastatur zum RESET oder zur Statusmeldung wurde nicht gefunden - schade. Am Ende der Initialisierung des MC80.3x, wenn in der Grundschleife des Betriebssystems eine Kommandoeingabe erwartet wird, wird ein "PIEP"-Befehl an die Tastatur gesendet (2. Ton nach dem Einschalten).

Dieser Beitrag wurde am 11.07.2014 um 19:43 Uhr von AE editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
12.01.2012, 05:15 Uhr
Thomas



... Du verwendest die falschen 'Klammern' zur Formatierung.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
12.01.2012, 09:22 Uhr
Rüdiger
Administrator
Avatar von Rüdiger


Zitat:
Thomas schrieb
... Du verwendest die falschen 'Klammern' zur Formatierung.

Korrigiert.
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
14.01.2012, 07:55 Uhr
AE
Default Group and Edit


Hat jemand bereits die EPROMs aus der MC 80.3x-Tastatur ausgelesen?
Wenn ja, würde ich bitten, mir oder Paulotto den EPROM-Inhalt als Datei zu schicken.
Wir könnten dann diesen auswerten und damit den Tastatur-Komplex am MC 80.3x vervollständigen.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
29.09.2013, 15:56 Uhr
Klaus



Hallo,

ich krame mal wieder etwas vom MC80.30 nach oben.
Zuerst mal Dank an AE für seine prima Erläuterungen in 000.

Nachdem mein MC80.30 mal wieder in greifbarer Nähe war, habe ich mich dazu hinreißen lassen, endlich mal den heiß begehrten EPROM-Inhalt der Tastatur auszulesen und für die Nachwelt zu erhalten.
Bei mir ist es die Variante ÄZ3 mit U881 (Bitmuster 004) und 9,832 MHz Quarz. Allerdings steht bei mir als Prüfsumme "E866 80/3 40.30.00" auf dem EPROM.

Ja... die ganze Sache war nicht ganz ohne Risiko, denn bisher hat sich ja noch keiner getraut, den EPROM auszulöten und auszulesen. Im schlimmsten Fall könnte der EPROM während des Auslötens defekt gehen, oder ein Bit umkippen, oder was auch immer.
Andererseits kann ihn ja auch jederzeit die berühmte EPROM-Alzheimer Krankheit erwischen.

Naja genug der Vorrede.
Unter größter Vorsicht habe ich den sehr fest sitzenden "russischen Genossen" absolut zerstörungsfrei ausgelötet. Mit der Entlötstation ging es relativ gut. Weder die Platine, noch der EPROM haben iregendwelche mechanische Schäden davon getragen.

Ganz behutsam und mit größter Vorsicht wegen statischer Aufladung, habe ich das Teil dann zum EPROM-Brenner getragen und ausgelesen. Danach gleich einen neuen EPROM (2716) gebrannt und in den inzwischen eingelöteten Sockel in der Tastatur gesteckt.

Jetzt kam der große Augenblick:
Einschalten .... und piep, piep, piep, piep..... nix ging mehr :-(
Mir standen die Schweißperlen auf der Stirn... war es das jetzt????

Ich wollte ganz laut das SCH... schreien, konnte mich aber beherrschen und bin nochmal zum EPROM-Brenner.
Den alten russischen Kollegen nochmal frisch ausgelesen .... nanu... auf einmal eine andere Prüfsumme???
Waren das schon die ersten Anzeichen von EPROM-Alzheimer?
Nochmal raus aus dem Nullkraftsockel und wieder probiert, um evtl. Kontaktprobleme o.ä. auszuschließen.
Die Prüfsumme war jetzt aber immer gleich.

Also den nächsten EPROM gebrannt und zum MC80.30 geschleppt.
Mein Puls ging hoch .... aber nach dem Einschalten kam das gewohnte Einschalt-"piep".
Mann ... Glück gehabt. Der MC80.30 funktioniert wieder, wie immer. Alle Tasten i.O.

Zum Gegentest habe ich den EPROM dann mal mit dem im MC80 eingebauten EPROM-Brenner getestet, um die Prüfsumme zu ermitteln und mit der, auf dem kleinen Aufkleber des russischen 2716, zu vergleichen ... E866 ...alles im "grünen Bereich".

Leider spucken meine beiden PC-EPROM Brenner nie eine Prüfsumme aus, die der des MC80-Brenners irgendwie ähnlich wäre. Keine Ahnung was für einen Algorithmus die damals verwendet haben.

Dieses Mal bin ich beim Basteln ernsthaft ins Schwitzen gekommen.
Es wäre wirklich großer Mist gewesen, wenn wahrscheinlich einer der letzten funktionierenden MC80.30, wegen des Eingriffs gestorben wäre.
Wie viele funktionstüchtige MC80.30 (Version 3.0/1,2) gibt es eigentlich noch?

Ok. Der EPROM-Inhalt ist für die Nachwelt nun erhalten.
Falls jemand eine MC80.30 ÄZ3 Tastatur mit EPROM-Alzheimer hat, kann er sich bei mir melden.

Eine Frage noch:
Ist der U881 mit Bistmuster 004 gleichzusetzen mit dem U883?

Viele Grüße,
Klaus

Dieser Beitrag wurde am 29.09.2013 um 15:58 Uhr von Klaus editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
29.09.2013, 16:51 Uhr
paulotto



ist nicht völlig gleich, sollte sich nach außen aber gleich verhalten.

Gruß,

Klaus
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
29.09.2013, 17:02 Uhr
Klaus




Zitat:
paulotto schrieb
ist nicht völlig gleich, sollte sich nach außen aber gleich verhalten.

Gruß,

Klaus

Danke Klaus,

die Frage war nur für den Fall, dass der U881 BM004 mal den Geist aufgeben sollte. Einen U883 hätte ich für den Ernstfall dann noch da.

Den EPROM-Inhalt sende ich Dir heute Abend zu.
Als alter Z8 Profi kannst Du zusammen mit AE sicher etwas weiter in die Tiefen des MC80.30 einsteigen ;-)

Viele Grüße,
Klaus
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
29.09.2013, 20:37 Uhr
AE
Default Group and Edit


Ich freue mich darüber, daß sich Einer gefunden und das Risiko gewagt hat, einen der Tastatur-EPROMs auszulöten sowie dann auszulesen. Meine Anerkennung!

Auch ich bin an dem EPROM-Inhalt interessiert.

Zur ominösen EPROM-Prüfsumme habe ich an anderer Stelle hier im Forum schon einmal ausgeführt. Hier nur nochmals in Kurzform:
Das zum MC 80.3x mitgelieferte Program "EPROG.V" erzeugt auf Grund von Programmierfehlern eine unbrauchbare(!) Prüfsumme. Diese ist nur in seltenen Ausnahmefällen identisch mit den Prüfsummen anderer korrekt arbeitender EPROM-Prommiergeräte.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
29.09.2013, 21:09 Uhr
Klaus




Zitat:
AE schrieb
.... Die CRC-Summen der Tastatur-EPROMs U2716 sind ÄZ1 - 0F688H und ÄZ3 - 0BEC0H. ....

@AE
Bei mir steht als Prüfsumme "E866 80/3 40.30.00" auf dem EPROM.
Wie kommt es, dass sich Deine Prüfsumme der ÄZ3-Version vom meiner unterscheidet?
Wurde die mit einem anderen CRC-Programm ermittelt, oder hast Du die Prüfsumme auch vom Aufkleber des EPROMs abgeschrieben?

@AE und paulotto,

ihr bekommt gleich Post.

Viele Grüße,
Klaus
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
29.09.2013, 22:12 Uhr
andy62



Auf meinem steht als Prüfsumme BEC0H Platine ÄZ3.Den EPROM habe ich vor längerer Zeit auch schon gesockelt und gesichert.
Interessant wären für mich die Inhalte der Speicherkarte ab Adresse 2000h.
Hier befürchte ich, das einige EPROMS nicht mehr stimmen.
Hier mal die Prüfsummen:
2000-23FF 17BF
2400-27FF 2E5D
2800-2BFF 96CB
2C00-2FFF kein ROM vorhanden
3000-33FF 22A1
3400-37FF C16C
3800-3BFF C12D
3C00-3FFF defekt.
Kann mir da jemand mit den bin Files weiterhelfen?
Grüße Andy
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
29.09.2013, 22:27 Uhr
Rüdiger
Administrator
Avatar von Rüdiger


Zitat:
Klaus schrieb
Den alten russischen Kollegen nochmal frisch ausgelesen .... nanu... auf einmal eine andere Prüfsumme???
Waren das schon die ersten Anzeichen von EPROM-Alzheimer?

Nein. Das sind (häufige) Kontaktprobleme zwischen Pins und Fassung.
Ich lese aus diesem Grund jeden EPROM, dessen Inhalt ich nicht durch CRC verifizieren kann, mehrfach aus und vergleiche die Leseergebnisse bzw. die Prüfsumme.
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
30.09.2013, 07:45 Uhr
Klaus



Hallo,

@andy62,
interssant, dass Du auch eine andere Prüsumme auf dem Tastatureprom hast.
Welchen MC80.3X hast Du genau??
Wie meldet er sich nach dem Einschalten?
Was ist bei Dir verbaut?
Ein U881 BM004 oder ein U883? Welcher Quarz ist bei Dir drin?

Nochmal zu den Prüfsummen:
Sind das die Angaben auf den EPROMs, oder hast Du die Prüfsummen selbst ermittelt?
Ich habe einen Speicherabzug von meinem MC80.30 als eine Datei da (0000-3FFF). Wobei ursprünglich nur bis 27FF bestückt war. Für meinen Datenaustausch mit dem PC habe ich noch einen EPROM ab 2800 gesteckt, wo eine MIni-Laderoutine drin ist. Der Rest danach bis 3FFF ist noch frei.
Ich schicke Dir die Datei.


@Rüdiger,
Ok. EPROM-Alzheimer hat der EPROM dann wohl noch nicht. Wahrscheinlich hast Du recht und obwohl die (veroldeten) Kontakte noch sehr gut aussehen, war es vermutlich doch ein Kontaktproblem. Wäre auch komisch gewesen, wenn ein einmal umgekipptes Bit sich wieder selbst heilen würde.
Für die Zukunft werde ich, gerade bei solchen alten Teilen, Deinen Ratschlag beherzigen und immer mehrfach auslesen und dabei auch mehrfach stecken, um soche Probleme auszuschließen.

Hier noch ein paar Fotos vom Innenleben der Tastatur.







Viele Grüße,
Klaus

Dieser Beitrag wurde am 30.09.2013 um 07:56 Uhr von Klaus editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
30.09.2013, 12:13 Uhr
Rüdiger
Administrator
Avatar von Rüdiger


Zitat:
Klaus schrieb
und dabei auch mehrfach stecken, um soche Probleme auszuschließen.

Mehrfach stecken mache ich nur, wenn wenn der EPROM instabnile Ergebnisse leifert.
Allerdings mache ich mit den gelesenen Daten stets eine stochastische Analyse. Unkontaktierte Daten- oder Adresspins äußern sich ja in typischen Datenmustern.
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
30.09.2013, 12:21 Uhr
Klaus



Ja Rüdiger,
ich hatte mir auch den DUMP des EPROM angesehen (ich wollte ja wissen, ob auch wirklich Daten drauf sind).
Eigentlich sah es auf den ersten Blick auch alles normal aus, aber da hat mich mein Blick wohl getrübt :-(

Dummerweise habe die erste (falsch gelesene) Datei gelöscht, sonst hätte ich mal vergleichen können, was gegenüber den richtigen Daten falsch war.
... nein ... im Papierkorb sind sie auch nicht mehr, da müsste ich versuchen mit einem Hilfprogramm wieder ranzukommen. .. mal sehen...

Viele Grüße,
Klaus
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
30.09.2013, 12:55 Uhr
Rüdiger
Administrator
Avatar von Rüdiger


Zitat:
Klaus schrieb
Eigentlich sah es auf den ersten Blick auch alles normal aus, aber da hat mich mein Blick wohl getrübt :-(

Wenn der EPROM Zufallszeichen liefert, kann das auch nur ein einzelnes Bytes sein, das kann durchaus statistisch unauffällig sein.
Erst wenn der EPROM konstante Ergebnisse liefert, ist eine stochastische Prüfung sinnvoll. Ich habe mir dafür ein programm geschrieben.


Zitat:
Mir standen die Schweißperlen auf der Stirn... war es das jetzt????
Ich wollte ganz laut das SCH... schreien,

So lange noch ein funktionsfähiges Gerät in der Fangemeinde existiert, würste Du sicher auch bei defektem ROM Hilfe kriegen.
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
015
30.09.2013, 12:59 Uhr
rm2
Default Group and Edit
Avatar von rm2

Hallo Andy,

kannst Du mir mal deine MC80.3x EPROM-Inhanlte zukommen lassen. ich will mal eine Blick drauf werfen.


mfg ralph
--
.
http://www.ycdt.net/mc80.3x . http://www.ycdtot.com/p8000
http://www.k1520.com/robotron http://www.audatec.net/audatec
http://www.ycdt.de/kkw-stendal
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
016
30.09.2013, 14:30 Uhr
paulotto



bei Klaus seiner Tastatur müßte nach den Programmdaten entweder ein 1,2288MHz-Quarz direkt angeschlossen sein oder ein 9,8304MHz-Quarz über einen einen 1/8-Teiler. Auch die Verwendung eines 1,23MHz-Quarzes (wie Hartmut in [000] schon geschrieben hatte) ist ohne Einschränkung möglich, da die Abweichung der Baudrate <0,1% ist.

Gruß,

Klaus
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
017
30.09.2013, 15:20 Uhr
Klaus




Zitat:
AE schrieb
Die CRC-Summen der Tastatur-EPROMs U2716 sind ÄZ1 - 0F688H und ÄZ3 - 0BEC0H. Als Adresslatch dient eine CMOS-IS U4034.
Bei der gefundenen Variante ÄZ1 ist ein 1,23 MHz-Quarz direkt an den U881 angeschlossen. Beim ÄZ3 hat ein K1520-Systemquarz (9,832 MHz) einen eigenen Oszillator (DL004); über einen Frequenzteiler (DL093) wird der Takt in den U881 eingespeist.

Ja Klaus,
dann passt aber etwas mit der bei mir aufgedruckten Prüfsumme nicht mit den im Zitat genannten überein.
Also bei mir ist ein 9,8320 Mhz Quarz am DL004 und ein DL093 als Teiler drin. Es müsste sich dann also um die ÄZ3 Variante handeln (steht auch auf der Platine "50300- 01B ÄZ 3"), allerdings mit einer anderen Prüfsumme (E866) vom EPROM.
Oder gab es noch eine andere Variante?

Leider habe ich schon wieder alles fein säuberlich zusammengebaut, sonst hätte ich den Takt nochmal nachgemessen, bzw. die Schaltung genauer beäugt.

Viele Grüße,
Klaus

Dieser Beitrag wurde am 30.09.2013 um 15:22 Uhr von Klaus editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
018
30.09.2013, 15:50 Uhr
paulotto



wieso "paßt nicht"?
mein Programmer zeigt als CCIRT-CRC doch 0BEC0h an und stimmt damit mit der Aussage von Hartmut überein...
Und der Rest mit 9,8320MHz-Quarz und Teiler ist auch okay. Theoretisch müßte der Quarz 9,8304MHz haben. Die Baudratenabweichung liegt aber unter 0,02% und ist völlig unerheblich.
Irgenwer schrieb doch jemand, daß die CRC beim MC80-Programmer irgendwie falch berechnet wird...
Mach Dir keinen Kopf, CRC ist okay und Programm auch sinnvoll

Gruß,

Klaus
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
019
30.09.2013, 15:59 Uhr
Klaus



Sorry Klaus ... Glaskugel kaputt ;-)

Ich wußte ja nicht, mit welchem Programm Ihr die Prüfsumme berechnet habt.
Deswegen auch immer meine Anmerkung, dass ich die Prüfsumme vom Original-Aufkleber auf dem EPROM in der Tastatur abgelesen habe.

Ok. Dann ist ja alles geklärt.
Nun kannst Du Z8-Fan den Code reassemblieren und berichten ;-)

Viele Grüße,
Klaus
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
020
30.09.2013, 20:31 Uhr
AE
Default Group and Edit


Zur Klarstellung der unterschiedlichen Prüfsummen:

Die "aufgedruckte" Prüfsumme wurde offensichtlich mit dem originalen Programm EPROG.V von den Geraern ermittelt. (Diese ist unbrauchbar, da sie weder von allen programmierten Bytes noch von allen Bytes des EPROMs gebildet wird.)

Wir geben dagegen stets die mit einem korrekten Algorithmus eines Programmiergeräts erzeugte an.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
021
30.09.2013, 20:34 Uhr
Klaus



Danke AE.

das wusste ich nicht.
Natürlich macht das auch Sinn.

Viele Grüße,
Klaus
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
022
30.09.2013, 20:46 Uhr
paulotto



Klaus,

brenn doch mal mit Deinem MC80.30 einen EPROM mit dem Inhalt der Tastatur und sieh nach, was er als Prüfsumme raushaut...

Gruß,

Klaus
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
023
30.09.2013, 21:33 Uhr
Klaus



Hallo Klaus,
hatte ich schon gemacht und in meinem "Roman" beschrieben.


Zitat:
Klaus schrieb
Zum Gegentest habe ich den EPROM dann mal mit dem im MC80 eingebauten EPROM-Brenner getestet, um die Prüfsumme zu ermitteln und mit der, auf dem kleinen Aufkleber des russischen 2716, zu vergleichen ... E866 ...alles im "grünen Bereich".

Viele Grüße,
Klaus
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
024
01.10.2013, 09:59 Uhr
Klaus



Hallo Rüdiger,


Zitat:
Rüdiger schrieb
Wenn der EPROM Zufallszeichen liefert, kann das auch nur ein einzelnes Bytes sein, das kann durchaus statistisch unauffällig sein.
Erst wenn der EPROM konstante Ergebnisse liefert, ist eine stochastische Prüfung sinnvoll. Ich habe mir dafür ein programm geschrieben.

Du hattest Recht.
Ich habe die gelöschte Datei wieder herstellen können und tatsächlich waren dort ab ca. der Hälfte des Speicherinhaltes auf einmal je zwei Bytes doppelt (z.B. 1A 7B 1A 7B FC F6 FC F6 u.s.w.). Das geht dann bis zum Ende so weiter.
Dies habe habe natürlich beim Schnellanblick des HEXDUMP nicht bemerkt. Möglicherweise hatte ich auch gar nicht so weit nach unten gescollt.
Blöder Kontaktfehler, oder was auch immer ... aber es ist ja nochmal alles gut gegangen.


Zitat:
Rüdiger schrieb So lange noch ein funktionsfähiges Gerät in der Fangemeinde existiert, würste Du sicher auch bei defektem ROM Hilfe kriegen.

Ja, das stimmt, Rüdiger.
Auch wenn ein wenig Mut dazugehört, den EPROM auszulöten. Paulotto hätte sicher eine Möglichkeit gefunden, das Auslesen auch ohne Löterei zu machen, aber ich bin leider nicht so ein Spezi wie er.

Mir wurde hier schon oft geholfen und ich bin jedem dafür sehr sehr dankbar.

Viele Grüße,
Klaus

Dieser Beitrag wurde am 01.10.2013 um 10:05 Uhr von Klaus editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
025
01.10.2013, 10:58 Uhr
Rüdiger
Administrator
Avatar von Rüdiger


Zitat:
Klaus schrieb
Auch wenn ein wenig Mut dazugehört, den EPROM auszulöten.

Mir steht sowas auch noch bevor: ich habe einen unikaten Plotter mit 20 eingelöteten EPROMs....
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
026
01.10.2013, 12:35 Uhr
Klaus



Hallo Rüdiger,

20 EPROMs ...heiden Arbeit .. aber rede mal mit paulotto.
Evtl. hat er eine einfache Möglichkeit die EPROMs im eingelöteten Zustand auszulesen. Er hat gestern am Telefon so etwas angedeutet. Allerdings ging es da um den oben genannten Tastatur-EPROM.

Viele Grüße,
Klaus
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
027
01.10.2013, 14:25 Uhr
Rüdiger
Administrator
Avatar von Rüdiger


Zitat:
Klaus schrieb
Evtl. hat er eine einfache Möglichkeit die EPROMs im eingelöteten Zustand auszulesen.

Das wird mir nicht langfristig helfen, es sei denn, die EPROMs lassen sich auch im eingebautem Zustand brennen.
Denn irgendwann werden die ROMs garantiert leer sein...
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
028
01.10.2013, 15:31 Uhr
Klaus



Stimmt auch wieder Rüdiger.

Ich dachte beim Auslesen im eingebauten Zustand nur an eine, möglicherweise schonendere, Methode. Wenn Du die Daten erst einmal hast, ist ein späterer Austausch der EPROMs, bei einsetztendem EPROM-Alzheimer, ja immer möglich.

Viele Grüße,
Klaus

Dieser Beitrag wurde am 01.10.2013 um 15:31 Uhr von Klaus editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
029
01.10.2013, 19:08 Uhr
paulotto



wenn man den Vpp-Pin freilegen kann, könnte man auch in der Schaltung programmieren. Man müßte dazu aber eine eigenen Brenner bauen...

Gruß,

Klaus
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
030
02.10.2013, 10:09 Uhr
paulotto



Hallo Hartmut,

hast Du bei Deinen Untersuchungen eigentlich die Schaltung der Tastatur abgenommen oder hat jemand die Schaltung parat?

Gruß,

Klaus
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
031
02.10.2013, 12:09 Uhr
paulotto



Hallo Hartmut,

was machen die Bytes 15h (NAK) und 18h (CAN[CEL]) im MC80.30 Programm?
Wann werden die Bytes 5h [ENQ [enquiry]), 4 (EOT), 0Eh (SO [shift out]), 0Fh (SI [shift in]), 10h (DLE [data line escape]), 14h (DC4) und 12h (DC2) zur Tastatur gesendet?

Gruß,

Klaus
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
032
02.10.2013, 20:33 Uhr
AE
Default Group and Edit


Die Schaltung der Tastaturen für den MC 80.3x mit den Änderungszeichen 1 und 3 liegt bei mir als Bleistiftskizze vor.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
033
04.10.2013, 20:46 Uhr
AE
Default Group and Edit


In dem von mir reassemblierten und ausgewerteten Teil des EGOS 30.1 sind mir nur folgende Stellen bekannt, wo eine Ausgabe an die Tastatur erfolgt:
- In der Bildschirmausgabe-Routine wird der Hexkode 07H zur Auslösung des "Piep" an den Tastatur-SIO-Kanal ausgegeben.
- Innerhalb der Interuptroutine zur Tastenkode-Auswertung erfolgt bei rückgesetztem Bit 7 des Statusbytes auf Adresse 0FB7FH eine Ausgabe eines Bytes 07H an die Tastatur, sodaß für jeden Tastendruck ein "Piep" erzeugt wird.
- Weiterhin erfolg in dieser Routine für ein rückgesetztes Bit 6 (0FB7FH) die Ausgabe von 12H (DC2) bzw. bei gesetztem Bit 6 die Ausgabe von 14H (DC4) an die Tastatur. Dies ist in den von Gera mitgelieferten Beschreibungen nirgendwo dokumentiert. Vom EGOS 30.1 wird es auch nicht genutzt.

Auch das Programm "FT" (Funktionstest) erwartet ausschließlich alle möglichen Zeichen von der Tastatur. (Wobei schon vorher eine Unmenge Tasten benötigt werden, um bis an diese Stelle im Programm zu gelangen... - mehr als fragwürdig!)

Mit einem von mir geschriebenen Assembler-Programm habe ich untersucht, welche Hexkodes die einzelnen Tasten liefern ohne und mit EGOS. Hier bleibt offen, was die Tastatur sendet bevor dieses Programm aktiv ist. Alle gefundenen Kodes sind von mir in [001] aufgeführt.

Eine Auswertung von Steuerkodes < 1CH findet innerhalb der EGOS-Routine TST nicht statt, sondern ist Sache der aufrufenden Programme.

Dieser Beitrag wurde am 05.10.2013 um 18:07 Uhr von AE editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
034
14.10.2013, 20:28 Uhr
AE
Default Group and Edit


Nach einem Hinweis von Klaus auf einen Assembler-Quelltext zu EPROG.V auf der Seite von rm2 habe ich diesen einmal näher betrachtet und zur "Ehrenrettung" der Geraer festgestellt:

- Es sollte eine Version 3.0 von 11/85 oder 02/90 (?) dieses Porgramms geben.

- In dieser Version sind von mir im Forum-Beitrag "MC 80.3x SW auf EPROM" [005] genannten Unzulänglichkeiten weitgehend korrigiert (d.h. es wird der "übliche" CRC über das gesamte EPROM gebildet und es erfolgt auch bei der Programmierung von 2716/32 eine Fehleranzeige).

- Die Arbeitszellen liegen dabei im System-RAM. so daß diese Programmversion relativ problemlos in den EPROM-Bereich verschoben werden kann.

Meine Frage lautet deshalb: Hat jemand aus der Leserschar zufällig diese Version? Sie ist an der Bytefolge 0FDH, 0E5H, 0DDH, 0E5H beginnend ab Adresse 0000EH (vom Programmanfang gezählt) erkennbar.

Dieser Beitrag wurde am 14.10.2013 um 20:32 Uhr von AE editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
035
14.10.2013, 21:39 Uhr
paulotto



Hallo Hartmut,

ich habe hier eine Systemkassette G3, bei der mit Hand eine Funktion "FT" mit Kennung G316.10 nachgetragen ist und auch "EPROGiV" ohne Kennung.
Leider kann ich die nicht lesen in Ermangelung eines Gerätes. Wenn ich das nächste Mal bei Dir vorbeikomme, müssen wir mal testen...

Gruß,

Klaus
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
036
18.10.2013, 18:01 Uhr
ralle



Zum mechanischen Aufbau, Lehrlinge des VEB Elektronik Gera durften die Schienen aufnieten. War auch mal eine Tagesaufgabe für mich, weil keiner der Elektronikfacharbeiter -Stifte da war und ein Elektromontierer -Stift ersetzbar war. Dafür hatte ich im gegensatz zum Rest der Klasse an dem Tag ein Radio mit DT64 zu freien verwendung.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
037
12.07.2014, 18:11 Uhr
AE
Default Group and Edit


Bisher nicht dokumentierte Details der MC80.3x-Tastatur

Im Zusammehang mit der Wiederinbetriebnahme eines mc80la beschäftigte ich mich auch mit der Tastatur des MC 80.3x. Da in der Zwischenzeit der Tastatur-EPROM mit dem CRC 0BEC0H von Klaus W. ausgelesen wurde und paulotto den Inhalt reassembliert und mit Kommentaren versehen hat, war eine erweiterte Grundlage dafür vorhanden. Mich interessierte vor allem, kann die Tastatur mehr als nur auf das Kommandowort 07H mit einem Piepton antworten. Im MC 80.3x und in den standardmäßig vom VEB Elektronik Gera gelieferten Programmen, außer dem Funktionstest "FT", ist mir bisher nichts dazu bekannt. Stets wird das zur Tastaturbedienung zugehörige Programmstück aus dem Betriebssystem EGOS 30.1 eingesetzt (Funktionalität siehe [1]).

Nach dem Zuschalten der Betriebsspannung von 12V über die IFSS-Stromschleifen initialisiert sich der Einchipmikroprozessor. Die Betriebsbereitschaft der Tastatur wird signalisiert durch Einschalten der grünen LED rechts oben im Haupttastenblock, einen kurzen "Piep" und dem Aussenden des Bytes 06H (ACK) über die serielle Schnittstelle. Zu diesem Zeitpunkt ist die ASP-SIO im MC 80.3x noch gar nicht initialisiert, sodaß es im Nirvana entschwindet...

Die Auswertung der Tastenmatrix erfolgt im polling. Nicht jede mögliche Position in den 12 Zeilen mit 8 Spalten ist mit einen TSH-Taster bestückt. In jeder Tastengruppe darf maximal eine Taste gleichzeitig betätigt sein. Bei mehreren gedrückten Tasten innerhalb einer Gruppe geht die Tastatur in eine Warteposition, aus der sie erst nach Loslassen aller Tasten wieder heraus kommt.

Höchste Priorität bei der Auswertung hat die Betätigung einer Funktionstaste (Achter-Gruppe in der Tastaturmitte). Nach dem zweiten Feststellen der gleichen, gedrückten Taste (>5ms) wird als Präambel/Status 1EH gefolgt vom zugehörigen Tastencode über die IFSS-Schleife ausgegeben.

Die nächstniedrigere Priorität genießt die Tastengruppe CTRL (rot), linke, rechte oder fixe Umschaltung und CR auf der Haupttastatur. Hier erfährt die CR-Taste eine Sonderbehandlung, d.h. beim ersten Erkennen wird 1CH gefolgt von 0DH ausgegeben und gewartet bis diese Taste wieder losgelassen wird.
Die anderen Tasten haben zunächst nur eine interne Wirkung: Das jeweilige Statusbit wird gesetzt und die zugehörige LED eingeschaltet.

Es folgt die Auswertung der restlichen Haupttastatur. Nach dem zweiten Feststellen genau einer und der gleichen betätigten Taste erfolgt das Aussenden der Präambel und des Tastencodes unter Berücksichtigung des CTRL-/Umschaltstatus.

Als letztes wird ein Tastendruck auf der numerischen Tastatur (rechts) erfaßt. Hier wird beim Aussenden der Präambel 1DH und des Tastencodes der Status von CTRL und Umschaltung nicht berücksichtigt. Für die Taste "00" werden Präambel 1DH gefolgt vom Tastencode 30H zweimal gesendet.

Unabhängig von der Auswertung der Tastenmatrix reagiert die MC80.3x-Tastatur mittels Interupt-Serviceroutine auf Steuerworte des Rechners (7 Bit, ungerade Parität):

Den Empfang des Steuerwortes 07H quittiert die Tastatur mit einem kurzen Piepton.

Nach dem Erhalt von 10H wird der Pieper dauerhaft eingeschaltet. Zur Abschaltung dient das Steuerwort 07H. Die Tonhöhe ist also fest nur die Tondauer läßt sich vom Rechner aus steuern (z.B. für Morsetöne).

Mit dem Steuerwort 0EH können die Tasten CTRL (rot), linke, rechte sowie fixe Umschaltung deaktiviert werden. Die Tastatur quittiert diesen Zustand mit dem Einschalten der grünen CTRL-LED.
Erst nach Eingang des Steuerworts 0FH erhalten diese Tasten ihre Funktion zurück. Dazu wird die CTRL-LED ausgeschaltet.

Das Steuerwort 04H blockiert die Auswertung der gesamten Tastenmatrix. Die Tastatur quittiert den Erhalt dieses Steuerworts mit dem Ausschalten der grünen Bereit-LED (rechts oben im Haupttastenfeld) und dem Senden des Wortes 15H (NAK) über die serielle Schnittstelle.
Dieser Zustand kann nur durch Abtrennen der Tastatur von der Stromversorgung (Eine andere reset-Möglichkeit besitzt die MC80.3x-Tastatur nicht.) bzw. etwas weniger rabiat durch den Empfang des Steuerworts 05H wieder verlassen werden. Als Quittung wird die Bereit-LED eingeschaltet und 06H (ACK) ausgesendet.

Mit dem Steuerwort 14H sollte auf der Tastatur der Modus "automatische Tastenwiederholung bei längerem Tastendruck" eingeschaltet und mit 13H wieder ausgeschaltet werden. Auf Grund eines Fehlers im Tastatur-Programm funktioniert das aber nicht.

Alle anderen (7 Bit) Steuerworte werden mit dem Aussenden von 18H (CAN) quittiert und lösen keine weitere Funktion in der Tastatur aus. Dies läßt sich vom Rechner aus dafür nutzen, um zu kontrollieren, ob die Tastatur angeschlossen und (zumindest teilweise) funktionstüchtig ist. Hier soll darauf hingewiesen werden, daß die Nutzung oben angeführter (nicht dokumentierter) Funktionen grundsätzliche Eingriffe in das Betriebssystem EGOS 30.1 (auf Grund dessen komplizierter Programmstruktur - siehe auch [1]) voraussetzt, da dieses ausschließlich den kurzen Piepton unterstützt sowie den Empfang eines Paars aus Präambel und Tastenkode. Die 7bitigen Quittungsworte (Das höchstwertige 8. Bit ist das Paritätsbit.) werden einfach "überlesen".

Für eine mögliche Erweiterung oder Modifikation der MC80.3x-Tastatur ist bereits ein programmierter Einsprung vorgesehen. Auch die Hauptleiterkarte verfügt über einen zugehörigen Steckverbinder.

Der Programmcode sowie die Tastencode-Tabellen belegen nur ca. 1/3 des 2 KByte großen Tastatur-EPROMs.

----------------------------------------------------------------

Es wurde nur der eine ernsthafte Programmfehler bemerkt, der die "automatische Tastenwiederholung" verhindert. Doch eine unklare Programmstruktur, falsch plazierte Maschinenbefehle und Unterprogrammaufrufe, Programmstücke, deren Funktion nicht erkennbar ist, das Fehlen einer Eigendiagnose nach reset bzw. auf Kommando einschließlich einer CRC-Kontrolle des EPROM-Inhalts sowie einige Programmschleifen, an denen es bei nicht vorgesehen Zuständen/Fehlfunktion "hängen" bleibt, lassen für mich den Schluß zu, daß zum Zeitpunkt der Programmerstellung für die Tastatur im VEB Elektronik Gera niemand in der Lage war, das Ergebnis zu kontrollieren, zu bewerten und eine mögliche Nachbesserung zu veranlassen. Ich möchte hier auch auf das "Verheizen" von 7 Volt bei der Stromversorgung der Tastatur im Längsregler MAA 7805 hinweisen (Das hat nicht einmal robotron in den seriellen Tastaturen geschafft!).

Die oben beschriebenen, bisher nicht dokumentierten Funktionen der MC80.3x-Tastatur wurden an einem mc80la überprüft. Dessen Programmsystem wurde hauptsächlich an der TU Dresden Sektion Informationstechnik geschaffen (siehe auch den Abschnitt zu den Logikanalysatoren bei robotrontechnik.de) und nur für den Einsatz im mc80la angepaßt. Das minimale Betriebssystem, genannt Monitor Version 3.0, beinhaltet auch einen debugger, was die Testung der zusätzlichen Tastaturfunktionen erleichterte. Der dortige, auf die wesentlichen Funktionen beschränkte Tastaturtreiber arbeitet im polling, d.h. die Tastaturschnittstelle wird nur abgefragt wenn das im Programm auch erforderlich ist. Er realisiert aber zusätzlich eine Umcodierung einiger Steuertasten auf eigenwillige Codes, um die anderen Programmteile der Logikanalysatoren nicht ändern zu müssen. Da er aber auch nur Paare aus Präambel und Tastencode akzeptiert, waren wahrscheinlich die erweiterten Möglichkeiten der Tastatur an der TU Dresden nicht bekannt, zumindest wurden sie in den Logikanalysatoren, die diese Tastatur einsetzten, nicht genutzt.

Offen bleibt noch eine Analyse des Tastatur-EPROMs mit dem CRC 0F688H. Doch scheinbar ist das eine ältere Version. Eine weitere EPROM-Version ist bisher nicht bekannt.

Dieser Beitrag wurde am 12.07.2014 um 20:15 Uhr von AE editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
038
12.07.2014, 19:39 Uhr
Klaus



Hallo Hartmut,

danke an Dich und paulotto für die mühevolle "Zerlegung" der MC80.3x Tastaturroutine und des Z8 Programmes der Tastatur selbst.
Für eine evtl. Fehlersuche ist es wichtig, wenn man weiß, was beim Starten bzw. Initialisieren der Tastatur vor sich geht und wie die Kommunikation zwischen Tastatur und MC80.3x abläuft.

Prima, dass bei der Analyse einer der (vermutlich letzten funktionierenden) MC80LA zur Anwendung gekommen ist, den Du (zusammen mit paulotto) zum Treffen ja ausfühlich vorgestellt hast (sofern das bei einem so kompliziertem Gerät überhaupt möglich war).

Wie viele MC80.3x gibt es eigentlich noch (ohne LA)?
Wie viele davon sind noch funktionstüchtig?
Ist da etwas bekannt?

Dank an Euch beide.
Viele Grüße,
Klaus
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
039
12.07.2014, 19:55 Uhr
paulotto



hast Du den Kode mit CRC 0F688h vorliegen? Dann könnte ich den ja mal reassemblieren und begutachten.

Gruß,

Klaus

PS: diese Präambeln dienen zur Entscheidung, aus welchem Tastenfeld der Kode kommt (um z.B. sagen zu können, woher die "0" kommt)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek