eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › Dziwna sprawa z 8242
Ilość wypowiedzi w tym wątku: 6

  • 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

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: