Surová data tak, jak byla v roce 2013 stažena z Pandory (HTML zdroj bez úprav, osobní e-mailové adresy jsou maskované).
<!-------------------------------------------------------------->
<table width="100%"><tr><td align="left" valign="middle"></td><td align=right valign="middle"></td></tr></table><BR><pre>Na data do klávesnice kašlu, to není u Sapi potřeba. A pokud bych dal ten
<img src="BODY_IMAGES_WRAP_GIF"> konvertor do klávesnice, tak by nebyl problém hlídat Caps a Num a podle toho
<img src="BODY_IMAGES_WRAP_GIF">spínat ledky. No a Scroll by mohlo být jen napájení.
A propo, posíláš do klávesnice inic sekvenci? Prý se PS2 asi 6-7 let zpět
<img src="BODY_IMAGES_WRAP_GIF">inicializují samy. Pokud jo, tak ty data do klavesnice jsou bezpředmětný.
Jirka
----- PŮVODNÍ ZPRÁVA -----
Od: "Martin Lukasek (sapi@pandora.cz)" <martin.lukasek@[doména skryta]>
Komu: "Konference 'SAPI-1 a československé mikropočítače'"
<img src="BODY_IMAGES_WRAP_GIF"><sapi@pandora.cz>
Předmět: RE: RE: klavesnice
Datum: 16.6.2013 - 19:11:06
<span class="replyquote1">>
> Ahoj,
>
> zkoušel jsem to jen s klávesnicema, co mám doma a ty šlapou všechny.
<img src="BODY_IMAGES_WRAP_GIF">Interrupt mám na sestupnou hranu hodin, na kterou to pak vlastně v tom
<img src="BODY_IMAGES_WRAP_GIF">přerušení hned čtu. Pokud se posílá něco z počítače do klávesnice,
<img src="BODY_IMAGES_WRAP_GIF">tak klávesnice čte data pří vzestupné hraně a tím pádem já opět v
<img src="BODY_IMAGES_WRAP_GIF">interruptu na sestupnou hranu vystavím data, který si klávesnice při
<img src="BODY_IMAGES_WRAP_GIF">vzestupné hraně přečte.
>
> Hezký večer
>
> Martin
>
> From: Jiri Biba (sapi@pandora.cz) [mailto:unive.nb@[doména skryta]]
> Sent: Sunday, June 16, 2013 5:15 PM
> To: Konference "SAPI-1 a československé mikropočítače"
> Subject: RE: RE: klavesnice
> Importance: Low
>
> Díky náčelníku!
> Já se náhodou dostal ke scankódům v 11 bitovým zobrazení, takže to byl
<img src="BODY_IMAGES_WRAP_GIF">právě ten můj problém co jsem popisoval. Třeba tohle:
<img src="BODY_IMAGES_WRAP_GIF">http://www.urel.feec.vutbr.cz/MIA/2009/puhony/index.html
> Jak je to s převodem do 8 bitů už vím, to co jsi mi poslal to jen
<img src="BODY_IMAGES_WRAP_GIF">potvrzuje. Je to ozrcadlený a znegovaný. Celá sranda je od toho, jak v
<img src="BODY_IMAGES_WRAP_GIF">obslužným programu rotujou a rovnaj do slova těch 11 bitů.
> Díky za AT Mega, ale v ní jsem nedělal, pro mě by byl problém. S 20
<img src="BODY_IMAGES_WRAP_GIF">nohým Atmelem 51 řady to je mnohem jednodušší vejde se do krytu FRB. 51
<img src="BODY_IMAGES_WRAP_GIF">mám v malíku, mám prostředí procíky a můžu si s tím programově dělat
<img src="BODY_IMAGES_WRAP_GIF">cokoliv. Program klávesnice na LCD od študáků mám už projitej,
<img src="BODY_IMAGES_WRAP_GIF">okomentovanej a mám přesnou představu, co s tím při převracení na Sapi.
> A propo, chodí ten tvůj s každou PS2? Slyšl jsem, že některý reaguji na
<img src="BODY_IMAGES_WRAP_GIF">vzestupnou a jiný na sestupnou hranu hodin...
> Jirka
>
>
>
> From: Martin Lukasek (sapi@pandora.cz<mailto:sapi@pandora.cz>)
<img src="BODY_IMAGES_WRAP_GIF">[mailto:martin.lukasek@[doména skryta]]
> Sent: Saturday, June 15, 2013 9:10 AM
> To: Konference "SAPI-1 a československé mikropočítače"
> Subject: RE: RE: klavesnice
>
> Ahoj,
>
> scan kody z PS/2 jsou osmibitove, start+paritu+stop pouzij jen na zajisteni
<img src="BODY_IMAGES_WRAP_GIF">spravneho prijeti, pak Ti staci tech 8 bitu. Data jdou postupne od nejnizsiho
<img src="BODY_IMAGES_WRAP_GIF">bitu.
>
> START - D0 - D1 - D2 - D3 - D4 - D5 - D6 - D7 - PARITY - STOP
>
> Scan kodu je vice sad. Standardne se pouziva Set 2. Najdes ho napr. tady
<img src="BODY_IMAGES_WRAP_GIF">http://www.computer-engineering.org/ps2keyboard/scancodes2.html, pekny popis
<img src="BODY_IMAGES_WRAP_GIF">komunikace je tady http://www.computer-engineering.org/ps2protocol/ nebo tady
<img src="BODY_IMAGES_WRAP_GIF">http://proton.ucting.udg.mx/~mariocc/cap10.pdf a ja asi nejvic pouzival
<img src="BODY_IMAGES_WRAP_GIF">http://retired.beyondlogic.org/keyboard/keybrd.htm.
>
> "A" by melo posilatscan kod 1C. C7 a 438 mi zni jako bitove ozrcadlene a navic
<img src="BODY_IMAGES_WRAP_GIF">C7 zinvertovane, 438 je pak se start stop i paritou. Ale to dost zalezi, jak
<img src="BODY_IMAGES_WRAP_GIF">jsou udelane ty rutiny. Nevim na! co jak pouzivam spozdovai smycky. Ja mam
<img src="BODY_IMAGES_WRAP_GIF">interrupt na hodinach a prectu, coje na datach a nekm to soupnu, smitec. Az je
<img src="BODY_IMAGES_WRAP_GIF">to cele, strci se to do bufferu a rict si o to pak musi program, co chce znak z
<img src="BODY_IMAGES_WRAP_GIF">klavesnice.
>
> V priloze mas zdrojaci i schame, ale otazka zni, zda cizi zdrojaci nejsou vic
<img src="BODY_IMAGES_WRAP_GIF">matouci, nez si to napsat znovu. Ja vysel z nejakych existujicich knihoven, ale
<img src="BODY_IMAGES_WRAP_GIF">pak jsem tam musel udelal tolik zmen a uprav, ze bych si to ted urcite napsal
<img src="BODY_IMAGES_WRAP_GIF">znovu sam, ale uz se mi to nechce predelavat, kdyz to slape.
>
> Krasny den
>
> Martin
>
>
> From: Jiri Biba (sapi@pandora.cz<mailto:sapi@pandora.cz>)
<img src="BODY_IMAGES_WRAP_GIF">[mailto:unive.nb@[doména skryta]]
> Sent: Saturday, June 15, 2013 12:39 AM
> To: Konference "SAPI-1 a československé mikropočítače"
> Subject: Re: RE: klavesnice
> Importance: Low
>
>
> Tak jsem koukal na ten převodník PS2 na Sapi a narazil jsem na záhadu s
<img src="BODY_IMAGES_WRAP_GIF">kódovací tabulkou. Jak známo, scan kód PS2 klávesnice je jedno až
<img src="BODY_IMAGES_WRAP_GIF">vícebytovej a každej byte sestává z série 11 bitů, tedy 11 pulsů hodin,
<img src="BODY_IMAGES_WRAP_GIF">ke kterejm jsou přidaný bity kódu na datovým drátu. První bit je start,
<img src="BODY_IMAGES_WRAP_GIF">pak je 8 bitu dat, pak parita a stop. Scan kódy jsou popsaný v tabulkách
<img src="BODY_IMAGES_WRAP_GIF">formátem 0XXX hex a je do nich zahrnutý kromě dat i parita, start a stop bit.
<img src="BODY_IMAGES_WRAP_GIF">U toho převodníku se příjem scan kódu startuje start bitem, kterej se ale
<img src="BODY_IMAGES_WRAP_GIF">zahodí, pak se slízne 8 bitů, pak parita a stop bit, který se taky oboje
<img src="BODY_IMAGES_WRAP_GIF">zahodí. Takže výsledek je pouze 8 bitů kódu. Porovnával jsem PS2 tabulku
<img src="BODY_IMAGES_WRAP_GIF">popsanou 11 bitama a příjmovou tabulku převodníku popsanou 8 bitama. No a
<img src="BODY_IMAGES_WRAP_GIF">narazil jsem na to, že pro stejnej znak si tabulky neodpovídají.
> Třeba scan kód pro A je 438hex. V převodníku je ale C7 hex. Rozkreslil
<img src="BODY_IMAGES_WRAP_GIF">jsem si to po bitech a na nic jsem dlouh! o nemohl přijít. I když jsem
<img src="BODY_IMAGES_WRAP_GIF">odmazal start, paritu a! stop, zbytek byl stále rozdílný. Pak jsem si nějak
<img src="BODY_IMAGES_WRAP_GIF">všiml, že se obojí liší směrem čtení, tedy PS2 má první , tedy start
<img src="BODY_IMAGES_WRAP_GIF">bit na časový ose vpravo, kdežto převodník ho má vlevo a ještě je
<img src="BODY_IMAGES_WRAP_GIF">rozdíl v inverzi dat. Odzkoušel jsem to pro několik znaků a je to vždy
<img src="BODY_IMAGES_WRAP_GIF">stejný. Budu se do toho muset víc ponořit, abych přišel na to, proč to tak
<img src="BODY_IMAGES_WRAP_GIF">je.
> Taky jsem koukal do softu převodníku a řekl bych, že předěláním na
<img src="BODY_IMAGES_WRAP_GIF">výstup pro Sapi se soft ještě hodně zjednoduší vykucháním obsluhy LCD
<img src="BODY_IMAGES_WRAP_GIF">displeje a navíc několikanásobně zrychlí, v obsluze displeje je hromada
<img src="BODY_IMAGES_WRAP_GIF">zpožďovacích smyček, nejdelší skoro 0,4s.
>
> Jirka
> ---------------------
> sapi@pandora.cz
> Konference o SAPI-1
> ---
> POZOR! Provoz systému Pandora.cz bude k 30. listopadu 2013 ukončen.
> Více informací: http://goo.gl/b99cI
>
</span>
</pre>