[E3-hacking] [RFC][PATCH 4/5] input: serio: add supportforAmstrad Delta serial keyboard port

witek mark witek_temp at wp.pl
Thu Dec 17 16:37:58 GMT 2009


I'm sorry for my latest mail written in Polish. I wanted to consult some 
amstrad keyboard thing with Janusz Krzysztofik. I accidently put to many 
recipients.


regards

Witold Markowski






Dnia 17-12-2009 o godz. 16:36 witek mark napisał(a):
> Witam,
> 
> 
> Od jakiegoś czasu obserwuję grupę dyskusyjną Amstrada. Sam posiadam
> jeden egzemplarz i coś tam sobie na nim próbuję uruchomić.
> Chciałem się podzielić kilkoma spostrzeżeniami dotyczącymi klawiatury.
> Na razie nie odpisuję na grupę tylko do Pana.
> 
> Zaintrygowany mailem dotyczącym klawiatury postanowiłem ją rozkręcić aby
> zobaczyć co w środku jest. Okazuje się, że płytka klawiatury jest
> "przyspawana" do jednej ze stron obudowy. Trzeba by wyłamać parę
> zatrzasków, żeby obejrzeć te stronę płytki drukowanej, gdzie są
> rozmieszczone elementy - dlatego na razie dałem sobie z tym spokój. Idąc
> dalej rozkręciłem tego gamepada. Jak się ponadto okazuje ten gamepad
> wpina się między amstrada a klawiaturę. Klawiatura i gamepad mają
> interfejs złożony z czterech pinów i po sprawdzeniu miernikiem okazuję
> się, że klawiatura i gamepad jeśli się je połączy razem do amstrada to
> są one podłączone równolegle do tych pinów (jestem tego pewien na 90%).
> Ponadto po rozkręceniu gamepada ukazała mi się płytka drukowana ale
> niestety nie wiem co to jest za chip elektroniczny w środku, gdyż ma on
> postać "czarnego okrągłego kleksa plastikowego" (szkoda, że nie zrobiłem
> zdjęcia). Jedno jest pewne: na tej płytce te cztery piny interfejsu były
> opisane jako GND, VCC, CLK i DATA. Czyli wnioskując musi to być jakiś
> interfejs szeregowy. Ponadto wiemy już, że klawiatura i gamepad są
> podłączane równolegle do amstrada, czyli musi to być interfejs
> szeregowy, który niejako "wspiera" połączenie kilku urządzeń do jednej
> magistrali.
> Może to jest zwykły interfejs szeregowy typu rs232?
> Załóżmy na chwilkę, że jest to interfejs rs232. Możemy wtedy stwierdzić,
> że:
> a) klawiatura generuje jakiś zestaw kodów klawiszy,
> b) gamepad generuje ten sam zestaw kodów klawiszy - może i tak być,
> wtedy gamepad zachowuje się jako "specjalna klawiatura na potrzeby gier"
> i tak naprawdę można powiedzieć że na amstradzie gra się na klawiaturze
> a gamepad tylko ułatwia "wciskanie guzików",
> c) pisze Pan, że jeśli gamepad i klawiatura są podłączone jednocześnie i
> jednocześnie cos na nich naciskamy to obserwuje Pan w sterowniku błędy
> typu: parity check failed, invalid stop bit. O ile moja znajomość
> protokołów transmisji jest dobra, to wychodzi na to, że te błędy
> występują właśnie w transmisji szeregowej rs232 (chyba, że jest jakiś
> inny podobny protokół transmisji). O ile naciska Pan przycisk tylko na
> jednym urządzeniu to wszystko jest w porządku; urządzenie wysyła np kod
> klawisza, a interfejs szeregowy dodaje jeszcze bity parzystości
> (kontrola błędów) i stopu. Jeśli teraz zaczniemy coś naciskać na drugim
> urządzeniu to ono również wysyła swój kod błędu, bity parzystości i bity
> stopu. Wtedy może dochodzić np do kolizji (klawiatura wysyła w danym
> momencie bit stopu a gamepad wysyła swój kod klawisza) i port szeregowy
> w amstradzie "głupieje" i zgłasza błędy typu parity check failed,
> invalid stop bit). Generalnie w porcie szeregowym typu rs232 można
> podłączyć kilka urządzeń równolegle, tylko jak przynajmniej dwa zaczną
> nadawać w tej samej chwili to zaczynają się kolizje.
> 
> W sterownikach linuxa nie jestem za mocny dlatego nie mam pojęcia jak
> jest napisany dotychczasowy driver. Gdybym miał oscyloskop to bym
> sprawdził komunikację na tych pinach i by się okazało czy to jest
> rzeczywiście transmisja typu rs232.
> 
> 
> Co Pan myśli o moich tezach? A mogę dostać Pańskie logi ze sterownika?
> Może coś uda się wymyślić.
> 
> 
> pozdrawiam
> 
> 
> Witold Markowski
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Dnia 14-12-2009 o godz. 1:11 Janusz Krzysztofik napisał(a):
> > Hi Dmitry,
> > 
> > Sunday 13 December 2009 00:20:03 Dmitry Torokhov napisał(a):
> > >
> > > atkbd is supposed to support PS/2 devices speaking AT keyboard protocol.
> > > We also do support such devices behind dumb controllers that do not
> > > allow querying the device but we expect those to at least produce the
> > > standard scancodes.
> > 
> > As far as I can understand, using the atkbd driver is not a good idea in
> > this
> > case because of the keyboard not producing standard scancodes, correct?
> > 
> > Isn't the hpps2atkbd.h provided keycode table an already supported way of
> > introducing exceptions to this standard scancodes requirement? Why
> > couldn't
> > this method be reused here?
> > 
> > What I am afraid of is if the driver supposed to be created instead
> > wouldn't
> > require reiplementing most of the atkbd code.
> > 
> > > I would need to know a bit more about the gamepad, but so far I still
> > > think that current attempot of creating intermediate serio module which
> > > allows to use atkbd driver is not the proper solution.
> > 
> > I modified the serio driver to send exactly what it gets from the buffer
> > and
> > examined its output with serio_raw. The gamepad (can be connected
> > simultaneously) appeared to send exactly the same scancodes as the
> > keyboard
> > did. I couldn't see how those might be destinguished whether coming from
> > the
> > keybord or from the gamepad. Thus, handling them both together as a single
> > device would probably be the only option here.
> > 
> > With both devices connected and keys pressed simultaneously, errors
> > occure at
> > the lowest level: parity check failed, invalid stop bit, etc. I don't
> > think
> > it would be possible to do anything about this. But this also means that
> > trying to query them in order to get a sensible response would probably be
> > not reliable.
> > 
> > Any thoughts?
> > 
> > Thanks,
> > Janusz
> > 
> > _______________________________________________
> > e3-hacking mailing list
> > e3-hacking at earth.li
> > http://www.earth.li/cgi-bin/mailman/listinfo/e3-hacking
> 
> ----------------------------------------------------
> Kołodziej będzie miażdżył na ringu
> 18 grudnia, Gala Boksu w Łodzi
> Zobacz:
> http://klik.wp.pl/?adr=http%3A%2F%2Fcorto.www.wp.pl%2Fas%2Fwojak18grudnia.html&sid=926
> 
> 
> 
> _______________________________________________
> e3-hacking mailing list
> e3-hacking at earth.li
> http://www.earth.li/cgi-bin/mailman/listinfo/e3-hacking

----------------------------------------------------
Podniebny prezent świąteczny
Niepowtarzalny, dla każdego
Ekspresowa dostawa
Sprawdź: http://klik.wp.pl/?adr=www.skacz.pl&sid=933





More information about the e3-hacking mailing list