-
1. Data: 2020-03-07 19:49:44
Temat: Dziwna sprawa z 8242
Od: Atlantis <m...@w...pl>
Jak niektórzy pamiętają, od jakiegoś czasu bawię się techniką
mikroprocesorową retro. W chwili obecnej pracuję m.in. nad dwoma
równoległymi projektami prostych komputerków: jeden wykorzystuje 6502,
drugi polski mikroprocesor MCY7880. W obydwu przypadkach zastosowałem
pecetowy kontroler klawiatury AT/PS2, czyli popularny kiedyś układ 8242.
W komputerze na MCY7880 wszystko zadziałało bez większego problemu.
Uruchomiłem przerwania, napisałem procedurę odbierającą bajt danych z
klawiatury, a następnie dodałem kod tłumaczący skankody klawiszy (w
domyślnym formacie Set 2, funkcja "translation" w kontrolerze jest
wyłączona) na ASCII. Wszystko działa.
W przypadku 6502 miałem natomiast więcej problemów. Kod przepisałem w
asemblerze 6502, nie wprowadzając do niego większych zmian (największą
była zmodyfikowanie zawartości bajtu konfiguracyjnego o jeden bit -
wyłączenie przerwań). Nic jednak nie chciało działać - funkcja
tłumacząca wyrzucała jakieś bzdury. Postanowiłem więc sprawdzić, co w
ogóle przyjmuje na wejściu. I tutaj przeżyłem spore zaskoczenie -
kontroler wysyłał kody, ale w formacie "Set 1", a przecież cały czas
używałem tej samej klawiatury i nie włączałem translacji.
Pomyślałem, że może trafił mi się jakiś dziwny egzemplarz 8242, więc
podmieniłem je między komputerami. Jednak nie - każdy komputer
zachowywał się tak samo jak przedtem.
Ktoś ma jakiś pomysł co powodu takiego stanu rzeczy?
Kod procedury inicjującej 8242 pod MCY7880:
https://pastebin.com/piUM3Dmj
Kod analogicznej procedury pod 6502:
https://pastebin.com/LgT6x83n
Ktoś ma jakiś pomysł skąd się może brać ta ciekawa sytuacja?
-
2. Data: 2020-03-07 22:02:57
Temat: Re: Dziwna sprawa z 8242
Od: "J.F." <j...@p...onet.pl>
Dnia Sat, 7 Mar 2020 19:49:44 +0100, Atlantis napisał(a):
> W przypadku 6502 miałem natomiast więcej problemów. Kod przepisałem w
> asemblerze 6502, nie wprowadzając do niego większych zmian (największą
> była zmodyfikowanie zawartości bajtu konfiguracyjnego o jeden bit -
> wyłączenie przerwań). Nic jednak nie chciało działać - funkcja
> tłumacząca wyrzucała jakieś bzdury. Postanowiłem więc sprawdzić, co w
> ogóle przyjmuje na wejściu. I tutaj przeżyłem spore zaskoczenie -
> kontroler wysyłał kody, ale w formacie "Set 1", a przecież cały czas
> używałem tej samej klawiatury i nie włączałem translacji.
> Kod procedury inicjującej 8242 pod MCY7880:
> https://pastebin.com/piUM3Dmj
>
> Kod analogicznej procedury pod 6502:
> https://pastebin.com/LgT6x83n
>
> Ktoś ma jakiś pomysł skąd się może brać ta ciekawa sytuacja?
MVI A, 09H ;Interrupts enabled, system flag set,
first port clock enabled
LDA #$08 ;Interrupts enabled, system flag reset,
first port clock enabled
To jest ta jedna zmiana ?
Jeszcze bym zasugerowal sprawdzenie linii danych ... ale tam jakies AA
i 55 jest, to chyba sprawdzili programowo ...
A na pewno masz te sama wersje zrodla i binarki ?
J.
-
3. Data: 2020-03-07 23:18:53
Temat: Re: Dziwna sprawa z 8242
Od: Atlantis <m...@w...pl>
On 07.03.2020 22:02, J.F. wrote:
> To jest ta jedna zmiana ?
Tak.
> Jeszcze bym zasugerowal sprawdzenie linii danych ... ale tam jakies AA
> i 55 jest, to chyba sprawdzili programowo ...
Linie danych na pewno nie są pomieszane ani przerwane. Na obydwu
komputerach uruchomiłem dość rozbudowane oprogramowanie, w postaci
interpreterów BASIC-a. W przypadku takiego uszkodzenia nie działałyby
prawidłowo.
Poza tym cała procedura inicjacji 8242 przechodzi do samego końca, z
związku z czym wiemy, że sterownik przyjmuje konkretne rozkazy/dane,
odpowiadając na nie we właściwy sposób.
> A na pewno masz te sama wersje zrodla i binarki ?
W sensie? Kod pisałem i kompilowałem samodzielnie, wygenerowany plik hex
osobiście grałem do EPROM-u. ;)
Na razie w przypadku 6502 problem obejdę w najprostszy możliwy sposób -
ustawiłem w konfiguracji bit odpowiedzialny za translację kodów (tak na
wszelki wypadek, gdyby mu się odwidziało) a teraz zmodyfikuję procedurę
odpowiedzialną za tłumaczenie na ASCII, aby przyjmowała dane wejściowe w
set 1.
-
4. Data: 2020-03-08 19:29:23
Temat: Re: Dziwna sprawa z 8242
Od: Cezary Grądys <c...@w...onet.pl>
W dniu 07.03.2020 o 19:49, Atlantis pisze:
> Jak niektórzy pamiętają, od jakiegoś czasu bawię się techniką
> mikroprocesorową retro. W chwili obecnej pracuję m.in. nad dwoma
> równoległymi projektami prostych komputerków: jeden wykorzystuje 6502,
> drugi polski mikroprocesor MCY7880. W obydwu przypadkach zastosowałem
> pecetowy kontroler klawiatury AT/PS2, czyli popularny kiedyś układ 8242.
>
> W komputerze na MCY7880 wszystko zadziałało bez większego problemu.
> Uruchomiłem przerwania, napisałem procedurę odbierającą bajt danych z
> klawiatury, a następnie dodałem kod tłumaczący skankody klawiszy (w
> domyślnym formacie Set 2, funkcja "translation" w kontrolerze jest
> wyłączona) na ASCII. Wszystko działa.
>
> W przypadku 6502 miałem natomiast więcej problemów. Kod przepisałem w
> asemblerze 6502, nie wprowadzając do niego większych zmian (największą
> była zmodyfikowanie zawartości bajtu konfiguracyjnego o jeden bit -
> wyłączenie przerwań). Nic jednak nie chciało działać - funkcja
> tłumacząca wyrzucała jakieś bzdury. Postanowiłem więc sprawdzić, co w
> ogóle przyjmuje na wejściu. I tutaj przeżyłem spore zaskoczenie -
> kontroler wysyłał kody, ale w formacie "Set 1", a przecież cały czas
> używałem tej samej klawiatury i nie włączałem translacji.
>
> Pomyślałem, że może trafił mi się jakiś dziwny egzemplarz 8242, więc
> podmieniłem je między komputerami. Jednak nie - każdy komputer
> zachowywał się tak samo jak przedtem.
>
> Ktoś ma jakiś pomysł co powodu takiego stanu rzeczy?
>
> Kod procedury inicjującej 8242 pod MCY7880:
> https://pastebin.com/piUM3Dmj
>
> Kod analogicznej procedury pod 6502:
> https://pastebin.com/LgT6x83n
>
> Ktoś ma jakiś pomysł skąd się może brać ta ciekawa sytuacja?
>
Jeśli to retro, to ja miałem kiedyś problem z klawiaturą tego rodzaju,
że kiedyś klawiatury miały przełącznik AT/XT ;)
Płytę główna wymieniłem na giełdzie (Grazybowska) i dopiero się
zorientowałem.
--
Cezary Grądys
c...@w...onet.pl
-
5. Data: 2020-03-08 19:54:17
Temat: Re: Dziwna sprawa z 8242
Od: Jarosław Sokołowski <j...@l...waw.pl>
Pan Cezary Grądys napisał:
> Jeśli to retro, to ja miałem kiedyś problem z klawiaturą tego
> rodzaju, że kiedyś klawiatury miały przełącznik AT/XT ;)
A jeszcze wcześniej nie miały. Najpierw był komputer PC/XT i do
niego klawiatura. Potem pojawił się PC/AT, już z nową klawiaturą.
Te dwusystemowe z przłącnikiem, to w tajwańskich klonach.
--
Jarek
-
6. Data: 2020-03-08 19:57:48
Temat: Re: Dziwna sprawa z 8242
Od: Jarosław Sokołowski <j...@l...waw.pl>
Pan Cezary Grądys napisał:
> Jeśli to retro, to ja miałem kiedyś problem z klawiaturą tego
> rodzaju, że kiedyś klawiatury miały przełącznik AT/XT ;)
A jeszcze wcześniej nie miały. Najpierw był komputer PC/XT i do
niego klawiatura. Potem pojawił się PC/AT, już z nową klawiaturą.
Te dwusystemowe z przłącznikiem, to w tajwańskich klonach.
--
Jarek