Robotrontechnik-Forum

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

Robotrontechnik-Forum » Sonstiges » AT2XT keyboard converter » Themenansicht

Autor Thread - Seiten: -1-
000
01.06.2015, 17:13 Uhr
kaiOr

Avatar von kaiOr

Hi,

hat das Ding schon mal jemand nachgebaut und evtl. Probleme verspürt?
http://www.vintage-computer.com/vcforum/showthread.php?26426-AT2XT-keyboard-converter
Es dient dem Anschluss von PS/2- und AT-Tastaturen an alte XT Rechner und ist bestimmt auch für den EC1834 interessant. Mir nützt es für Experimente am P8000-Terminal (Typ3), habe keinen EC1834 und keine XT-Tastatur.
Es braucht lediglich einen PIC12F629 und etwas Kleinkraut und mit gutem Willen passt alles in den Tastaturstecker:

In SMD erst recht.

Warum frage ich?
Die dortige Firmware-Version 0.94 hat noch gewisses Potential:
-ungünstiges Timing auf XT und AT-Seite
-Spezial-Codes (die der XT nicht kennt) werden unzureichend gefiltert
-PAUSE-Taste funktioniert nicht richtig
-SysReq funktioniert nicht
-LEDs spielen gern verrückt
-Zeichensalat hier und da
etc.

Deshalb habsch bissl gebügelt und wollte meine Anpassung hier einfach zum Testen anbieten. Vielleicht auch, um zu erfahren was eine K7673.02 oder K7673.06 im Vergleich anders oder besser tut.

http://pontacko.tfn-clan.de/files/at2xt/XTATKEY_RT01.HEX
Fuses: MCLRE_OFF & CP_OFF & WDT_OFF & PWRTE_ON & INTRC_OSC_NOCLKOUT (stehen aber auch im Hexfile)
Nah am Gerät reicht ein 100nF Kerko als Abblockkondensator. Abweichend vom alten Schaltplan wird Pin4 am PIC nicht mehr gebraucht bzw. sollte immer mit auf GND.

MfG
Kai

Dieser Beitrag wurde am 02.06.2015 um 10:15 Uhr von kaiOr editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
03.06.2015, 22:29 Uhr
Dosenware



läuft ganz gut

aber die Probleme die mein kleiner XT damit hat, konnte ich bisher mangels Zeit nicht wirklich festmachen (zumindest in Qbasic/EDIT.COM von MSDos 5.0 spinnt, ab und an, die Tastatur - in Dune hatte ich bisher keine Probleme) allerdings gibts für die Ursache 4 Kandidaten...

werde deine Anpassung nächste Woche mal ausprobieren...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
04.06.2015, 13:31 Uhr
kaiOr

Avatar von kaiOr

Wollte selbst erst ne normale XT-Tastatur bzw. eine zum Umschalten in der Bucht schießen, aber die Preise...

Ob sich was bessert (?oder verschlechtert?) hängt auch von der eingesetzten Hardware ab.
XT-seitig gab es unschön kurze Taktflanken und es wurde immer die letzte Flanke unterschlagen (die das Startbit aus dem Schieberegister katapultieren soll, damit auch das letzte Datenbit nachrutscht). Das hängt aber von der Empfangsmimik im XT ab, ob störend oder nicht. Im Worst-Case-Fall gibts dadurch nur alle 8Bytes ein gültiges Byte.

AT-seitig: Von drei PS/2-Tastaturen lief bei mir nur eine Cherry. Eine Logitech und eine Microsoft initialiserten "selten" oder "hingen" nach 2-3 mal Tastendruck. Der Datenversand in Richtung Tastatur (z.B. LED-Steuerung) war einfach zu langsam.

Führendes "E0h" wurde nicht unterdrückt, wenn das nachfolgende Byte invalid/undefiniert war. Dadurch wurden Folgeeingaben u.U. fehlinterpretiert.

Und, wo ich länger suchen musste, Interruptprobleme und überschneidende Benutzung des Hardware-Timers. Das machte sich aber nur sporadisch und bei wildem Getipse bemerkbar.

MfG
Kai

Dieser Beitrag wurde am 04.06.2015 um 13:46 Uhr von kaiOr editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
04.06.2015, 20:53 Uhr
kaiOr

Avatar von kaiOr

Habe in obige Datei noch eine minimale Änderung eingebaut um ein besseres SysReq zu bekommen.

Wenn man mit einer K7673.02 oder so einem Schinken:
http://de.wikipedia.org/wiki/Datei:AT_keyboard.jpg
[SYS] drückt und loslässt werden die Bytes 54h (make) und D4 (brake) gesendet...alles schön und gut.

Auf einer AT-Tastatur drückt man zwangsweise [ALT]+[Druck] oder [ALTGR]+[Druck]. Daraus wird nach Scan-Code1 übersetzt: 38 54 - D4 B8 oder E0 38 54 - D4 E0 B8. Wegen der dort aktiven [ALT]- oder [ALTGR]-Taste verwirft das P8000-Terminal (Typ3) diesen SysReq und geht nun nicht in den Offline-Modus. Jeder anderen Kiste wär es vermutlich egal gewesen. Unterdrücken kann ich die sofortige Meldung der [ALT]-Taste nicht, da sie auch alleine zur Spielsteuerung oder sonstwas genutzt werden könnte. Bleibt nur ein Purzelbaum.
38 54 - D4 B8 oder E0 38 54 - D4 E0 B8
mutiert zu:
38 B8 54 - D4 38 B8 oder E0 38 E0 B8 54 - D4 E0 38 E0 B8

Katastrophe, aber der einzig richtige Weg.

MfG

Dieser Beitrag wurde am 04.06.2015 um 22:12 Uhr von kaiOr editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
07.06.2015, 10:31 Uhr
kaiOr

Avatar von kaiOr

Mh, noch'n paar Sachen geändert:
Die 32Byte-Ringpuffer haben nie gepuffert. ^^
Da bei richtig alten XTs PAUSE mittels [CTRL]+[NumLock] und BREAK mittels [CTRL]+[ScrollLock] ausgelöst wird, darf sich der Status der Lock-LEDs in dem Fall nicht ändern.
Außerdem habe ich die Jumper-Option reintegriert, damit auch das amerik. Forum was davon hat.

Den Quellcode gebe ich an der Stelle mit aus der Hand:
http://pontacko.tfn-clan.de/files/at2xt/XTATKEY_RT01.ZIP

...denn wenn ich weiter versuche meine Änderungen zu dokumentieren, fällt mir nur wieder irgendwas auf.

MfG
Kai

Dieser Beitrag wurde am 07.06.2015 um 10:31 Uhr von kaiOr editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
15.07.2015, 18:32 Uhr
Sogenannter_Experte

Avatar von Sogenannter_Experte

Ich habe den AT2XT Konverter heute mal am 1834 ausprobiert. Ergebnis ist, dass die Tastatur LEDs alle dreimal blinken und auf dem Monitor ein großer Cursor blinkt.
Das gleiche Problem wurde hier im Startpost schonmal beschrieben: http://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=11068

Ein funktionierender Konverter wäre super. Habe mir schon einen PIC Programmer bestellt (so ein 8 € Ding) und werde das demnächst mal ausprobieren. Leider habe ich wenig Ahnung von der entsprechenden Firmwareoptimierung. Vielleicht bekommen wir das ja gemeinsam hin ;-)

Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
16.07.2015, 15:24 Uhr
kaiOr

Avatar von kaiOr

Hallo, die Chancen stehen zumindest besser mit gebrannter Firmwareanpassung. Im Original unterschlägt der AT2XT-Converter eine Flanke am Ende der Übertragung und die Taktflanken sind an sich auch recht schmal. So könnten vom UB8821 auf der EC-Platine Bits verschluckt werden.

Der Reset des Adapters durch den EC1834 funktioniert offensichtlich wenn die LEDs dreimal aufblinken. Nur das durch den Converter gesendete "AAh-Diagnose erfolgreich beendet", wird offenbar überhört.

Der Widerstand R3 (für E0/E1-pass-through) scheint bei Dir noch zu fehlen, denn Pin4 vom Pic hat keinen internen Pull-Up den man aktivieren könnte.

MfG
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
04.08.2015, 14:48 Uhr
Sogenannter_Experte

Avatar von Sogenannter_Experte

Ich habe deine optimierte Firmware mal ausprobiert.
Damit wird der Keyboard Error 301 nun zwar nicht mehr angezeigt und die Tastatur-LEDs leuchten nur noch ZWEImal auf, aber auf Eingaben erfolgt noch immer keine Reaktion :-(

Den Widerstand und den Jumper habe ich ergänzt, das brachte aber keinen Effekt
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
05.08.2015, 21:12 Uhr
kaiOr

Avatar von kaiOr

Hallo,

dann gehen mir auch etwas die Ideen aus.
Reagieren die Tastatur-LEDs auf das Drücken von NUM-, SCROLL- oder CAPS-Lock? Den LED-Status setzt nämlich der Converter. Wenn die Tastatur vom laufenden Converter abgezogen und wieder angesteckt wird sollte sogar der vorherige LED-Status wieder hergestellt werden.
Klappt beides nicht, dann unbedingt mit anderer Tastatur gegenprüfen.

Manch seltene PS/2-Tastatur schaltet auch automatisch auf XT-Modus um und will direkt angeschlossen werden.

MfG
Kai

Dieser Beitrag wurde am 05.08.2015 um 21:16 Uhr von kaiOr editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
06.08.2015, 09:38 Uhr
kaiOr

Avatar von kaiOr

In EC1834 Heft1 steht noch was.

Es kann sein, dass das Mäuseklavier S1 auf der Hauptplatine falsch eingestellt ist (15-16 - "Schalter AUS"). Dann macht zwar der UB8821 Selbsttest mit der Tastatur, sendet aber keinen Interrupt an den Hauptprozessor wenn neue Daten reinkommen.
Solange der UB8821 das letzte Zeichen nicht los wird, klemmt er die Daten-Leitung zur Tastatur auf Low-Pegel, damit keine Zeichen verlohren gehen. Unter den Umständen hängt der AT2XT-Converter scheintot in Warteschleife und füllt nur seinen Puffer.

Dieser Beitrag wurde am 06.08.2015 um 13:29 Uhr von kaiOr editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Sonstiges ]  



Robotrontechnik-Forum

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