forum speccy.pl

ZX Spectrum => HARDWARE => Wątek zaczęty przez: gtui w 2021.12.18, 22:03:15

Tytuł: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: gtui w 2021.12.18, 22:03:15
Witam

Moje pytanie dotyczy działania dżojstika przez interfejs Kempston. Nie zawsze działa. Np. w grze Bruce Lee pomimo ustawienia w opcjach Kempstona nie reaguje na ruchy dżojstika. W innych grach działa. Co to może być?
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: Maryjan w 2021.12.18, 23:28:29
Jest to zewnętrzny interface ?
Jak tak, to firmowy, czy samoróbka ?
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: damik w 2021.12.19, 10:50:07
Może kopia gry jest uszkodzona albo przerobiona na inne sterowanie.
Sprawdź na grach z innych źródeł.
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: Jacques w 2022.02.03, 14:22:57
Czy ktoś może korzystał w ZX albo Timexie z interfejsu joysticka Tom R2 i czy będzie to bezpieczne?
Pytam, bo chodzi o Timexa, a o ile w Atari i Amidze działał mi bez problemu, tak np. użycie z C64 spowodowało uszkodzenie układu CIA ;-)
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: Maryjan w 2022.02.03, 18:24:18
Jak uszkodził Ci C64, to pisz do producenta/sprzedawcy.
Poza tym, powinno być podane, z jakimi komputerami to ma działać.

Ja bym tego do Timex-a nie podłączał.
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: Jacques w 2022.02.04, 10:55:10
C64 to dawne dzieje, zresztą te komputery są podatne na tego typu usterki.
Spectrum nie ma na liście kompatybilności, choć tak naprawdę działać jak zwykły joystick, pewnie działa z Kempstonem, ale mając doświadczenie z C64, wolę dopytać czy ktoś może używa.
Sprzedawca na razie milczy  ;)
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: steev w 2022.02.04, 11:47:21
Czy ktoś może korzystał w ZX albo Timexie z interfejsu joysticka Tom R2 i czy będzie to bezpieczne?
Pytam, bo chodzi o Timexa, a o ile w Atari i Amidze działał mi bez problemu, tak np. użycie z C64 spowodowało uszkodzenie układu CIA ;-)
Punkt pierwszy :  Z czego toto się zasila?
Bo ani ZX ani Timex nie udostępniają +5 na gnieździe joysticka...
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: Jacques w 2022.02.04, 11:50:49

Punkt pierwszy :  Z czego toto się zasila?
Bo ani ZX ani Timex nie udostępniają +5 na gnieździe joysticka...

I odpowiedziałeś pytaniem, bo w takim razie w ZX/Timexie z niczego się nie zasili  ;) Dzięki, to zamyka temat.
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: andy w 2022.02.08, 17:47:24
A propos joysticka to szukając czegoś na portalu z "az" w środku znalazłem nowego poczciwego kołka Atari 2600. Właśnie ćwiczę. Klik ma trochę inny niż oryginalne blaszki. Nie rozkręcałem jeszcze. Tylko coś mu się zdrożało od soboty...
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: tomi w 2022.02.08, 20:08:56
Tylko coś mu się zdrożało od soboty...

To coś nazywa się inflacja   ;D
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: andy w 2022.02.09, 16:54:43
50% ;)
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: steev w 2022.02.09, 17:12:15
Pewnie się Chińczykowi skończyła noworoczna promocja i ceny poszły w górę.
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: marmazzaa w 2022.03.04, 11:25:14
Cześć,

zamiast tworzyć osobny temat podzielę się z Wami moim problemem tutaj, otóż zbudowałem interfejs KAY Kempston+AY korzystając z gerberów skotiego i w grze Rick Dangerous cały czas jest aktywny lewy kierunek (nawet po odpięciu joya).

Sprawdzałem na kilku innych joystickach i jest tak samo. W innych grach nie udało mi się uruchomić interfejsu (nie wiem z jakimi działa poprawnie).
Użyłem komponentów zgodnie ze schematem...
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: damik w 2022.03.04, 11:59:30
Może masz gdzieś zwarcie na płytce albo jakiś felerny scalak wstawiłeś.
Albo też sama gra jest walnięta, sprawdź na pliku z innego źródła.
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: trojacek w 2022.03.04, 17:04:59
Zacząłbym od PRINT IN 31, bez wpiętego żadnego joysticka.
Jak wyświetli się liczba większa od 0, to fejs walnięty.

Poza tym - jakiego używasz komputera?
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: skoti w 2022.03.04, 17:15:43
Zworka J5 Joy ON/OFF jest założona ? Najlepiej pokaż fotkę interfejsu.
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: marmazzaa w 2022.03.06, 20:39:53
Interfejs podpięty do Spectrum+.
Znalazłem problem - R11 nie był wlutowany. Natomiast nadal interfejs Kempston nie pracuje poprawnie.
W grze Rick Dangerous II kierunki działają ale nie płynnie. Po wciśnięciu FIRE komputer się zresetował...
W grze Elevator Action po wyborze portu Kempston komputer się zacina..
Używam najprostszego joysticka od Atari 2600.

Po wipsaniu PRINT IN 31 bez podpiętego joya otrzymuję "2 Variable not found, 0:1"

Co jest grane?
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: trojacek w 2022.03.06, 21:29:51
Po wipsaniu PRINT IN 31 bez podpiętego joya otrzymuję "2 Variable not found, 0:1"

Co jest grane?

A, bo "IN" musisz wpisać jako słowo kluczowe, a nie jako dwie litery.
Znajdziesz je pod klawiszem "I", czyli trzeba wcisnąć caps shift + symbol shift i nie puszczając symbol shifta wcisnąć "I".
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: andy w 2022.03.06, 21:46:13
W grze Rick Dangerous II kierunki działają ale nie płynnie. Po wciśnięciu FIRE komputer się zresetował...
Co jest grane?
Dobrze jest wlutowana drabinka?
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: trojacek w 2022.03.06, 22:52:02
Dobrze jest wlutowana drabinka?

Ja bardziej podejrzewam, że dekoder jest zbyt liberalny i dane są wystawiane nie tylko przy IN 31.
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: KWF w 2022.03.06, 23:03:36
Chyba dekoduje tylko po A5.
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: marmazzaa w 2022.03.07, 12:01:04
Drabinka RNLA09G0103B0E wlutowana kropeczką od dołu patrząc na załączone zdjęcie (po stronie C2).

Możliwe że mam coś uszkodzone w samym komputerze? Może potrzebny mu recap?
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: KWF w 2022.03.07, 12:34:50
Podłącz joya do interfejsu, interfejs do Speccy oraz wykonaj program:

10 PRINT AT 0,6; IN 31
20 GO TO 10

Odpowiedzi interfejsu powinny być następujące:
1. stan bezczynny: 0
2. prawo (D0): 1
3. lewo (D1): 2
4. dół (D2): 4
5. góra (D3): 8
6. fire (D4): 16

Wartości dla kierunków pośrednich są sumą kierunków podstawowych.

Ten sam program bez interfejsu podpiętego do komputera powinien pokazywać stale wartość 255.
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: trojacek w 2022.03.07, 12:52:19
Przyczepię się :)

10 PRINT AT 0,6; IN 31; "  "
20 GO TO 10

Dlaczego tak?
Bo trzeba założyć, że wyświetlana liczba może być dwucyfrowa (a jeśli fejs jest uszkodzony - nawet 3-cyfrowa).
I jeśli potem, np. w wyniku puszczenia joysticka, wynik będzie jednocyfrowy, to należy zamazać poprzednio wyświetlone kolejne cyfry.

UWAGA: AT jest słowem kluczowym, tak samo jak IN.
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: marmazzaa w 2022.03.25, 09:18:43
Cześć po przerwie,

wklepałem programik, bez podpiętego interfejsu lub joysticka mój spectrum plus pokazuje wartość 208.
Dalej odpowiednio: 216 góra, 209 prawo, 210 lewo, 212 dół. Na przycisk fire brak reakcji (208).

Wymieniłem układy SN74HCT32N oraz SN74HCT240N na nowe z innego źródła - bez różnicy ;(

Zmontowałem drugą płytkę KAY, po wpisaniu programu mam 0, nie reaguje na kierunki, ale po wciśnięciu fire wyskakuje 16 (czyli już coś).

Podpowiedzcie mi proszę, co dalej?
Wyczyściłem złącze krawędziowe, ale bez zmian.
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: Maryjan w 2022.03.25, 09:50:18
Prawdopodobnie może być uszkodzona ULA w komputerze.
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: trojacek w 2022.03.25, 10:28:20
Prawdopodobnie może być uszkodzona ULA w komputerze.

Hmm, ciekawa spekulacja. Czemu tak uważasz?

Moim zdaniem to wina tych '240, bo zachowanie jest powtarzalne i dla obu układów - całkowicie odmienne:

Pierwszy układ ma zwaloną "górną połówkę" (bo to 2x4 bity z osobnymi strobami), która zawsze wystawia stan %1101, natomiast dolna połówka prawidłowo przekazuje kierunki na bity D0..D3.

Z kolei drugi układ ma odwrotnie - górna połówka działa prawidłowo (działa fire na D4), natomiast bity D0..D3 mają zawsze stan niski, co wskazuje na awarię dolnej połówki.

W sumie z tych 2 układów można by zrobić jeden działający, lutując je w kanapkę i usuwając niektóre piny :D

Ja bym wziął scalak z jakiegoś działającego urządzenia.
No i jakikolwiek TTL przed wsadzeniem sprawdziłbym programatorem, który ma taką funkcję.
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: Maryjan w 2022.03.25, 14:05:09
Uważam tak, bo miałem płytę ZX 48k która tak się zachowywała z różnymi interface typu Kempston.
Po wymianie ULA, wszystkie, które podłączałem zaczęły pracować prawidłowo.

Choć usterka usterce nie równa, warto rozważyć i taką możliwość.
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: andy w 2022.03.25, 21:03:23
Przetestuj bez komputera - wyciągnij 32, podłącz +5V, podaj odpowiedni stan na pin 8 podstawki i przetestuj próbnikiem TTL odpowiednie końcówki w 240 - najlepiej wejścia i wyjścia najpierw bez joya. Potem na złączu krawędziowym. Wtedy będzie jasność, czy 240 odstawia szopki, czy może 32, czy też leży ULA.
Testowanie od razu z kompem może się źle skończyć.
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: marmazzaa w 2022.03.26, 06:10:26
dzięki, tak zrobię!
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: marmazzaa w 2022.04.01, 12:16:42
Cześć,

Wyciągnąłem 74HCT32 i po zwarciu pinu 8 do masy poprawnie detekuję aktywację joysticka na złączu krawędziowym, zatem 74HCT240 jest OK.
Podejrzenie padło na 74HCT32 - na razie zauważyłem problem z wyjściem bramk (U5A)i pod pinem3.
Domyślnie piny 1 i 2 pływają i na pinie 3 panuje stan wysoki. Po ściągnięciu pinu1 (A5) do masy na pinie 3 jest niski. Niestety po ściągnięciu pinu 2 (IOREQ) do masy nadal jest stan wysoki na pinie 3.
To by tłumaczyło dlaczego 74HCT240 jest nieaktywny po podpięciu do komputera, nie da się osiągnąć stanu niskiego na pinie 3.
Dlaczego się tak dzieje? wszystkie ułady które mam zachowują się identycznie - również nowe, nieużywane.
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: trojacek w 2022.04.01, 12:58:46
Wyciągnąłem 74HCT32 i po zwarciu pinu 8 do masy poprawnie detekuję aktywację joysticka na złączu krawędziowym, zatem 74HCT240 jest OK.

Czyli działają wszystkie kierunki, fire, a na najstarszych 3 bitach jest logiczne zero?

Cytuj
Domyślnie piny 1 i 2 pływają i na pinie 3 panuje stan wysoki. Po ściągnięciu pinu1 (A5) do masy na pinie 3 jest niski. Niestety po ściągnięciu pinu 2 (IOREQ) do masy nadal jest stan wysoki na pinie 3.

Moim zdaniem testujesz to dziwacznie. Wiesz, jak działa bramka OR? Czyli taka, jak w 74x32? Żeby mieć niski stan na wyjściu, musisz mieć niski stan na OBU wejściach jednocześnie. Zwierając jedno wejście, a drugie pozostawiając losowi, to nie wiadomo tak naprawdę, co testujesz. Prawdopodobnie chwilowy poziom zakłóceń elektromagnetycznych w swojej okolicy.

Wrzuć pull-upy na oba wejścia i wtedy testuj. A skoro to bramka OR, powinna dawać takie wyniki:
0, 0 => 0
0, 1 => 1
1, 0 => 1
1, 1 => 1

I najlepiej przetestuj też U5C.

Cytuj
To by tłumaczyło dlaczego 74HCT240 jest nieaktywny po podpięciu do komputera, nie da się osiągnąć stanu niskiego na pinie 3.

Jak na razie, to moim zdaniem jeszcze nic nie tłumaczy. Zwłaszcza, że dwa egzemplarze '240 dawały różne wyniki. Równie dobrze może być coś z samą PCB, jakiś niepewny lut gdzieś lub uszkodzona/skorodowana ścieżka (lub via).
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: KWF w 2022.04.01, 13:02:50
Akurat nic by to nie tłumaczyło. Te "ściąganie" robisz przy interfejsie podpiętym do komputera? No i piny 1 I 2 (wejścia bramki OR) nie mogą pływać (float), muszą mieć jeden ze stanów TTL (niski U < 0,8 V lub wysoki U > 2,0 V), a stan pośredni jest zabroniony.

Jesteś pewien tych układów co masz? Możesz sam sprawdzić swoje układy 74x32 na płytce prototypowej podłączając do zasilanie (+5 V) do nogi 14 a masę do nogi 7. Do wyjścia bramki A (pin 3) podpiąć w szeregu rezystor 150-470R i LEDa z zasilania. A na wejściach (piny 1 i 2) możesz wymuszać logiczne 0 lub 1 poprzez zwieranie ich do masy lub zasilania. Empirycznie zobaczysz, kiedy dioda zaświeci się.

Poza tym prześledź jak działa ten interfejs. Przy normalnej pracy komputera linie adresowe, w tym A5 i linia wywołania urządzeń zewnętrznych (/IORQ) zmieniają swój stan w zależności od potrzeb oraz tego co procesor robi w danym momencie. W przypadku interfejsu typu Kempston, jego odczyt następuje z portu 31 (0x1F), więc procesor wystawia stan niski na liniach: A5 (innych adresach też, ale tu jest sprawdzana tylko ta linia), /IORQ i /RD, a następnie odczytuje stany z całej szyny danych (D0 do D7). Aby Kempston działał popranie, dekoder adresu aktywuje bufor tylko i wyłącznie dla tych trzech lini w stanie niskim. W przypadku tego konkretnego interfejsu zworka J5 musi być w pozycji 1-2, aby aktywować dekoder adresu (wejście do bramki OR z linii A5). Aby na wyjściu bramki OR (U5A) był stan niski, to oba wejścia tej bramki muszą być w stanie niskim. W następnej bramce OR dokładany jest stan linii /RD i dopiero kiedy wszystkie 3 niezbędne linie są stanie niskim aktywowany jest bufor. A bufor jest aktywny na tyle długo, aby procesor odczytał dane, a następnie jest on wylączony, do następnego odczytu z porty joysticka. Ot cała filozofia.

Pull-upy o których wspominał @trojacek, to takie z zakresu 4k7 - 10k. Choć przy układach typu LS są one zbędne.
Tytuł: Odp: Nie działa dżojstik przez interfejs Kempston
Wiadomość wysłana przez: marmazzaa w 2022.04.01, 13:52:03
Interfejs testuje na sucho, bez komputera.

Tak, macie rację, dopiero teraz zorientowałem się jakie głupoty napisałem. Sprawdziłem obie bramki OR-  bramka U5A i U5C działa.

"Czyli działają wszystkie kierunki, fire, a na najstarszych 3 bitach jest logiczne zero?" - tak, mierząc bezpośrednio analizatorem stanów logicznych sygnały D0-D4 widzę zmianę ze stanu niskiego w wysoki gdy aktywuję kierunek lub fire (A5, IOREQ i RD zwarłem do masy, wszystkie znajdują się układy w podstawkach).
Jeśli chodzi o sygnały D5-D7 to też mają w tym przypadku stan niski.