[#1] Joystick 2 button diy
Zaszła mnie chęć w zagrania w gry, które dają możliwość zagrania na dwu przyciskowym joyu.

Wykonałem swój joystick wg tego poradnika.

link

Niestety, żadna gra nie chce podjąć współpracy. AAAnalyzer po przyciśnięciu fire2 nie reaguje. Zwarcie na wtyku joysticka po przyciśnięciu fire2 jest (pin 8 + 9).



Co mogłem spartolić?

Ostatnia aktualizacja: 05.08.2017 17:01:07 przez Arturo
[#2] Re: Joystick 2 button diy

@Arturo, post #1

O Panie, a po co tak kombinować? Ja swoje dżoje przerabiałem z tego co pamiętam odcinając logikę autofire, z jednej strony styku doprowadzałem to samo co było doprowadzone wspólnie do wszystkich a do drugiego końca styku żyła do pinu 9. I tyle.

A teraz patrząc na schemat na pinouts.ru podobno button 2 ma odwrotną logikę do buttona 1. Ale mi się wierzyć nie chce bo raczej czegoś takiego nie uwzględniałem. A nawet jeśli tak, to przerwij połączenie do styku z obu stron i z jednej strony podepnij do zasilania a z drugiej do pinu 9. Rezystora nie trzeba, bo skoro Amiga spodziewa się tam przepływu prądu (a się spodziewa bo w myszce pin 9 jest prawym przyciskiem) to samo to sobie ograniczy prąd przez wewnętrzną budowę.

Ostatnia aktualizacja: 05.08.2017 17:35:14 przez teh_KaiN
[#3] Re: Joystick 2 button diy

@teh_KaiN, post #2

podobno button 2 ma odwrotną logikę do buttona 1


Nie. Odwrotną logikę drugiego przycisku ma tylko C64 (nomen-omen wykorzystane w kilku grach, głównie w wersji C64GS). Wszystko co i jak jest opisane tutaj.

z jednej strony podepnij do zasilania a z drugiej do pinu 9


Raczej odradzam. W najlepszym przypadku nie będzie to działać (chyba że na C64).


Ostatnia aktualizacja: 05.08.2017 18:06:04 przez Solo Kazuki
[#4] Re: Joystick 2 button diy

@Solo Kazuki, post #3

Dlatego napisałem że nie przypominam sobie takich hocków klocków. Drugi akapit mojego posta to czysta spekulacja. ;)

Stać nic się nie stanie, bo skoro CIA na pinie 9 bada zwarcie do masy, to domyślnie podciągnięte jest i tak do +5V, zatem dojdzie do wyrównania potencjałów i prąd nie popłynie bo napięcia najzwyczajniej w świecie nie będzie.

Ostatnia aktualizacja: 05.08.2017 18:53:47 przez teh_KaiN
[#5] Re: Joystick 2 button diy

@Arturo, post #1

Ten link powinien rozwiać wątpliwości jak podłączyć 2 button w Amidze.
[#6] Re: Joystick 2 button diy

@Arturo, post #1

Też kiedyś przerobiłem joy-a z drugim przyciskiem.
Niestety też nie dziala
Ale jak podłączę mysz zamiast joy-a to dziala
Nie wiem dlaczego na joy-u nie chce działać
[#7] Re: Joystick 2 button diy

@KRISS, post #6

Możliwe iż chodzi o to, że niektóre modele Amigi potrzebują przeróbki "aktywującej" drugi przycisk. Wytłumaczenie co i jak jest tutaj.



Edit: Z tego co widzę na pierwszym schemacie (z PPA) jest już rezystor, ale 4k7, a nie 10k.

Ostatnia aktualizacja: 06.08.2017 12:27:20 przez Solo Kazuki
[#8] Re: Joystick 2 button diy

@KRISS, post #6

Ja podłączałem drugiego FIRE bez żadnych oporników, czy kombinacji (bezpośrednio do pinu) i poprostu działało.
[#9] Re: Joystick 2 button diy

@BULI, post #8

Bo widocznie trafiłeś na Amigę która nie wymaga przeróbki (obstawiam: A500, KS1.3?). Większość Amig z KS2.0+ (choć z doświadczenia wiem że nie wszystkie, też nie miałem z tym problemu w swoich A1200) wymaga tej przeróbki.
[#10] Re: Joystick 2 button diy

@Solo Kazuki, post #9

Bo widocznie trafiłeś na Amigę która nie wymaga przeróbki


Ciekawe- posprawdzam na innych kompach ok, racja
[#11] Re: Joystick 2 button diy

@Solo Kazuki, post #9

To o co może chodzić, to brak sprzętowego podciągnięcia pod stan wysoki (stąd rezystor) w niektórych modelach. Kickstart raczej nic nie ma do tego. Nie sądzę żeby to było potrzebne, skoro myszy normalnie korzystają z tego przycisku. Chyba że same realizują podciągnięcie w swoim wewnętrznym układzie. Hmmm...

@BULI: Daj znać czy faktycznie któraś Amiga będzie wybredna z dżojem przerobionym "na chama".
[#12] Re: Joystick 2 button diy

@teh_KaiN, post #11

Kickstart raczej nic nie ma do tego.


Może się zdziwisz, ale według niejakiego Toniego Wilena ma bardzo dużo. Z linka podanego powyżej:

Reason is quite simple, most games do not adjust POTGO for two button use because KS 1.x did (accidentally I think) set it correctly. KS 2.0+ sets joyport to single button only by default (if there is no pullup resistor).


Więc jak widzisz KS ma sporo do tego. Niemniej jednak, jak już pisałem, ja nie miałem z tym problemu w swoich A1200 (KS3.0), więc dużo też zależy od konkretnego sprzętu. A z tego co pisze Toni to także i konkretnej gry (chodzi o te, które nie korzystają z lowlevel.library, bo ta biblioteka "obchodzi" ten problem).

Ostatnia aktualizacja: 06.08.2017 16:25:56 przez Solo Kazuki
[#13] Re: Joystick 2 button diy

@Solo Kazuki, post #12

Sorki, zły link. O sprawie KS było tutaj.
[#14] Re: Joystick 2 button diy

@Solo Kazuki, post #12

Niesamowite, nie słyszałem o tym wcześniej i nie miałem pojęcia, że 2-przyciskowego joya trzeba konfigurować. Co prawda nie widzę zacytowanego przez Ciebie zdania w linku do wiki icomp, ale tyle mi wystarczy. Dzięki ;)
[#15] Re: Joystick 2 button diy

@teh_KaiN, post #14

Patrz post powyżej, dałem zły link. Zorientowałem się po "czasie edycji", więc nie mogłem zedytować.

Co do sprawy z rezystorem, też nie miałem o tym pojęcia (bo nie miałem tego problemu), dopóki nie przeczytałem o tym na EAB.

Ostatnia aktualizacja: 06.08.2017 17:01:52 przez Solo Kazuki
[#16] Re: Joystick 2 button diy

@KRISS, post #6

Możliwe że myszka nie ma tego problemu z tego co pisze JOTD we wspomnianym już wątku.

I guess that there were differences between 2-button joysticks. Mine is a wico command control (best joystick ever). I always fixed 2-button control according to my wico.

Thanks for the explanation about difference between potgo in various kickstarts.
I guess in port 0 (mouse), potgo is set properly to be able to read RMB.
[#17] Re: Joystick 2 button diy

@Solo Kazuki, post #12

Ponieważ przewalczyłem problem projektując (S)NESctrl, to wypowiem się technicznie językiem zrozumiałym nie tylko dla techników.

Generalnie koncepcja drugiego przycisku polega na wykorzystaniu wejścia potencjometrycznego. W odróżnieniu od wejść kierunków i wejścia pierwszego przycisku, które są "cyfrowe". Wejścia "cyfrowe" są sprzętowo podciągnięte do plusa zasilania poprzez rezystor, więc jak nie podajemy na nie nic, to jest plus 5V czyli logiczna jedynka, a jak podamy masę, to 0V czyli zero logiczne.
Wejście potencjometryczne nie jest i nie może być podciągnięte do plusa zasilania, bo przeczyło by to ich konstrukcji, gdzie ma być odczytywany dowolny poziom (tak w skrócie, przenośni i "po ludzku"), nazwijmy to "analogowy" a nie cyfrowy.
To, czy wejście zadziała nam jako drugi przycisk bez rezystora, zależy od tego jak obsługuje to wejście dany program czy gra. Nie wiedziałem też, że zależy od kickstartu - ale to logiczne, że również kickstart może sobie jakoś tymi wejściami sterować (a raczej jakiś tam konkretny program czy biblioteka z kickstartu). Trzeba przy tym zauważyć, że pomimo kickstartu jakiś program lub gra może bezpośrednio obsługiwać port joya z pominięciem bibliotek kickstartu, których nie musi przecież używać -wtedy najlepszy kickstart nie pomoże

Ogólnie rzecz biorąc po wciśnięciu drugiego przycisku sprowadzamy wejście do zera co oznacza jego wciśnięcie (przycisku), ale jak puścimy przycisk i zostanie on w powietrzu, to wejście samo nie powróci do plusa zasilania i efekt jest taki, że pomimo puszczenia przycisku jest on cały czas wciśnięty jeżeli oczekujemy na wejściu stanu bliskiego plus 5V, czyli jedynki logicznej. Trwa to tak długo, aż rozładuje się kondensator, który tam jest w okolicach tego wejścia (piszę z głowy, nie pamiętam który to kondensator i jak to tam dokładnie wygląda, bo analizowałem to szczegółowo pół roku temu - chodzi o zasadę).

Wg mnie prawidłowo napisany program, który chce wykorzystać drugi przycisk, powinien sprawdzać, czy napięcie wzrosło choćby minimalnie powyżej zera (puszczenie przycisku) i wtedy programowo podciągnąć wejście do plusa (chyba jest taka możliwość?) lub też sprawdzać czy na wejściu jest napięcie choćby minimalnie wyższe od zera i wtedy od razu traktować to jako puszczony przycisk.

Projektując (S)NESctrl testowałem kilka gier i niektóre poprawnie obsługiwały drugi przycisk, a w niektórych drugi przycisk pozostawał wciśnięty nawet jak się go puściło (przez czas 30-60sekund). Efekt taki występuje np. w grze Flashback na mojej Amidze 500.
Rzecz najłatwiej jest obejść dolutowując na zewnątrz rezystor podciągający do plusa. Ja dałem 4k7, bo takie rezystory podciągające występowały na oryginalnych schematach Amigi 500, które analizowałem, ale nie ma znaczenia czy to będzie 1k czy 10k -grunt, żeby był taki rząd wielkości.
[#18] Re: Joystick 2 button diy

@Solo Kazuki, post #7

Wymiana rezystora z 4,7 na 10k pomogła.
Co ciekawe, samo zwarcie pinów 8 i 9 w gnieździe płyty powodowało w AAAnalyzer zapalenie się kontrolki fire1.

Moja Amiga to A1200 rev2B, KS3.0.
[#19] Re: Joystick 2 button diy

@Arturo, post #18

Eeee, to wg mnie przypadek i zbieg okoliczności z tą wymianą rezystora z 4k7 na 10k. Z punktu widzenia schematu nie powinno to zrobić żadnej różnicy.
Obstawiam, że albo ten pierwszy rezystor nie miał 4k7 (pomyłka, lub chińczyk się nie postarał), albo masz jakiś jeszcze inny problem: np. uszkodzone samo gniazdo, albo wtyk, albo kabel od joya. Może być zimny lut, połamany niekontaktujący kabel itp. Zwłaszcza biorąc pod uwagę ten drugi objaw uboczny, o którym piszesz.
[#20] Re: Joystick 2 button diy

@Mq, post #19

Temat "z brodą" ale nie znalazłem nowszego.
Ciekaw jestem czy analogicznie do Fire2 można podpiąć Fire3 do pinu 5 portu joysticka ?
w przypadku myszy do pin 5 podpięty jest 3 guzik myszy
Odpaliłem dziś MiniSlug-a, fajna gierka, tylko że wymaga 3 fire w joysticku, lub jest się skazanym na klawiaturę :(
[#21] Re: Joystick 2 button diy

@UJP, post #20

A czemu by nie? Tylko znajdź grę, która na pewno to obsłuży źeby móc przetestować.
[#22] Re: Joystick 2 button diy

@UJP, post #20

Oczywiście że można. Inna sprawa że tylko kilka gier to obsłuży. Np. Apano Sin obsługuje 3 przyciski, niektóre porty Dooma także.
[#23] Re: Joystick 2 button diy

@Solo Kazuki, post #3

witam zrobiłem sobie joy-a "za grosze" - manipulator z ali 25zł, guziki z ali - 2x2zł, kabel z przedłużacza - 22zł,
obudowa wydrukowana we własnym zakresie, muszę napisać że jestem pozytywnie zaskoczony działa bardzo "przyjemnie"



Nasuwa mi sie pytanie co do 2 fire amigi i 8bitowców (C64/Atari 65XE)

Nie. Odwrotną logikę drugiego przycisku ma tylko C64 (nomen-omen wykorzystane w kilku grach, głównie w wersji C64GS). Wszystko co i jak jest opisane tutaj.


chodzi mi o bezpieczeństwo 8bitowców, po "zwarciu" 7 i 9 pin-u (z rez. 10K ohm), pytam praktyków by sie pozbyć wątpliwości (CIA w C64 już raz upaliłem)

Ostatnia aktualizacja: 10.02.2022 23:16:43 przez mike100
1
[#24] Re: Joystick 2 button diy

@mike100, post #23

9 pin nie idzie do CIA
[#25] Re: Joystick 2 button diy

@mike100, post #23

wyglada bardzo schludnie, nawet jak na wydruk :)
[#26] Re: Joystick 2 button diy

@nekroskop, post #24

Tylko warto dodać w drugim zdaniu, że pin 9 (oraz 5) idą do SIDa...
To SID, co dla niektórych może być zaskoczeniem, kontroluje sygnały z pinu 5 i 9, które mogą być sygnałami analogowymi z potencjometrów. To SID kontroluje w C64 sygnały z "padeł" i myszy, dodatkowo też jest odpowiedzialny za generowanie liczb pseudolosowych.

Edycja: Niektóre osoby projektując zamienniki, a nawet tworząc emulatory, zapominają że SID nie jest tylko układem zajmującym się dźwiękiem. Przez to gry korzystające z losowości dziwnie się na nich mogą zachowywać. Nie wspominając o tym, że dodatkowe przyciski, myszka i wiosełka mogą nie działać w ogóle.

Ostatnia aktualizacja: 11.02.2022 07:51:49 przez Solo Kazuki
[#27] Re: Joystick 2 button diy

@Solo Kazuki, post #26

Tylko warto dodać w drugim zdaniu, że pin 9 (oraz 5) idą do SIDa...


owszem, ale też nie dzieje się to bezpośrednio.
[#28] Re: Joystick 2 button diy

@nekroskop, post #27

Chciałbym sobie zrobić joystick dla C64 i Amigi. C64 mam, a Amigi na razie nie. Czy w oparciu o to co tutaj mówiono taki schemat F2/F3 dla Amigi jest poprawny?




Ostatnia aktualizacja: 16.09.2022 14:52:48 przez ayran
[#29] Re: Joystick 2 button diy

@ayran, post #28

Tu masz dla C64 i Amigi
link

Ostatnia aktualizacja: 16.09.2022 16:33:48 przez nekroskop
[#30] Re: Joystick 2 button diy

@nekroskop, post #29

Tak, dzięki ale tu nie ma tych kondensatorów 10K a tu na ppa piszą, że bez tego np. A500 ma problemy.
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem