-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news-2.dfn.de!n
ews.dfn.de!2.eu.feeder.erje.net!feeder.erje.net!feeder1.feed.usenet.farm!feed.u
senet.farm!aioe.org!peer02.ams4!peer.am4.highwinds-media.com!news.highwinds-med
ia.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neo
strada.pl!news.neostrada.pl.POSTED!not-for-mail
Newsgroups: pl.misc.elektronika
X-Mozilla-News-Host: news://news.tpi.pl:119
From: Atlantis <m...@w...pl>
Subject: Kontroler klawiatury 8042/8242 i translacja kodów
Date: Sun, 9 Aug 2020 19:01:48 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
Thunderbird/68.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Language: pl
Content-Transfer-Encoding: 8bit
Lines: 49
Message-ID: <5f302bfc$0$544$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 83.4.163.27
X-Trace: 1596992508 unt-rea-a-02.news.neostrada.pl 544 83.4.163.27:34520
X-Complaints-To: a...@n...neostrada.pl
X-Received-Bytes: 3290
X-Received-Body-CRC: 1028315919
Xref: news-archive.icm.edu.pl pl.misc.elektronika:756057
[ ukryj nagłówki ]Jakiś czas temu realizując równolegle dwa podobne projekty natrafiłem na
pewien problem. Co prawda obydwa projekty chwilowo znajdują się w stanie
zawieszenia z powodu braku czau, ale sprawa nie daje mi spokoju. Może
ktoś będzie wiedział o co chodzi...
Pierwszy projekt to komputerek retro na polskim mikroprocesorze MCY7880
(dokładniej opisany tutaj:
https://hackaday.io/project/161333-polon-7880). Drugi to komputerek
oparty na MOS6502
(https://hackaday.io/project/163714-6502-retro-compu
ter). W obydwu
wykorzystałem kontroler 8242, stosowany kiedyś powszechnie w pecetowych
płytach głównych.
Pisząc kod do obsługi tego kontrolera wzorowałem się głównie na tej
stronie: https://wiki.osdev.org/%228042%22_PS/2_Controller.
W komputerze na MCY7880 całość jest zmontowana na płytkach
uniwersalnych, z połączeniami wykonanymi dużą ilością kynaru. MOS6502 to
już projekt wykonany na płytkach drukowanych. Na pierwszym komputerku
wszystko zadziałało właściwie od razu, po usunięciu jakichś drobnych
bugów. Natomiast ten z MOS-em generował problemy - kontroler niby
przechodził inicjalizację, reagował na naciśnięcia klawiszy ale
przesyłał jakieś kompletne bzdury. Dopiero po chwili dotarło do mnie, że
skan kody nie są przypadkowe, ale należą do starszego zestawu z czasów
komputerów XT, który jest wykorzystywany po włączeniu translacji.
Problem w tym, że ja translacji nie włączałem. Kod dla 6502 był
właściwie tłumaczony z asemblera 8080 i wszystkie stałe pozostawiłem
takimi, jakie były. Myślałem, że winę za to może ponosić jakiś mniej
standardowy egzemplarz 8042, jednak próbowałem kilku różnych układów i
zamieniałem je miedzy komputerami - zachowanie nie przenosiło się wraz z
nimi.
Czy jest jakaś sprzętowa przyczyna, która mogłaby to tłumaczyć? Jakiś
pin podciągnięty do plusa/masy, który mógłbym pominąć w drugim projekcie?
Kod procedury inicjującej kontroler pod 8080 wygląda następująco:
https://pastebin.pl/view/7c42cd6f
Ta sama procedura dla MOS6502:
https://pastebin.pl/view/3da5e5d1
Z ciekawości spróbowałem jeszcze przetestować z MC6802, przy pomocy
innej płytki mojego autorstwa. Korzystałem z tego samego modułu z
kontrolerem klawiatury co w MOS6502 i układ też zachowywał się tak samo,
udostępniając skan kody XT.
Kod dla MC6802 poniżej.
https://pastebin.pl/view/5bfcecc1
Następne wpisy z tego wątku
- 09.08.20 20:02 Włodzimierz Wojtiuk
- 09.08.20 23:42 Atlantis
Najnowsze wątki z tej grupy
- Dlaczego energia elektryczna jest droga i cały czas drożeje
- twardy dysk stuka
- Oclenie alkalicznych akumulatorów
- Powerbank jednonapieciowy, a trzynapieciowy
- Lustra w maszynie ASML
- DC blocker i buczące toroidy
- Problemy TSMC cd
- Detektor
- Może tutaj się uda: [NTG] Elewacja / dziurawa Churka
- Falownik jednofazowy a żarówka
- Agregat i "legalność" instalacji
- Uziom
- (Ponownie) odkryto, że ładowanie pulsacyjne robi dobrze
- driver led ?
- Długość wtyku zasilającego ?5.5mm
Najnowsze wątki
- 2024-05-04 Bonusowe pytanie rozliczenie sie z elektrownia - fotowoltaika.
- 2024-05-04 Ujawnienie porady prawnej prokuraturze
- 2024-05-04 Jaką kamerkę samochodową polecacie?
- 2024-05-04 Warszawa => Spedytor międzynarodowy <=
- 2024-05-04 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-04 Warszawa => Inżynier DevOps (projekt JP) <=
- 2024-05-04 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-05-04 Łódź => Business Development Manager - obszar bezpieczeństwa IT <=
- 2024-05-04 Warszawa => Interactive/Experience Designer <=
- 2024-05-04 Berlin => IT Systems Administrator and Customer Support Engineer <=
- 2024-05-04 Warszawa => Mid IT Recruiter <=
- 2024-05-04 Odpowiedzialność PORTALU za reklamy
- 2024-05-04 Lunar Rover był elektrykiem. Ważył 35 kg Zasięg 80 km Na Księżycu w 1971 r.
- 2024-05-04 Marki => ERP Implementer <=
- 2024-05-04 Gdańsk => Head of International Freight Forwarding Department <=