26

Odp: (S)NESctrl - interfejs padów NES/SNES -> joy

Tym chińskim padem gra się bardzo dobrze. Przed wymyśleniem mojego projektu przetestowałem różne pady i wybrałem tego jednego jako przyzwoitego i fajnego spośród reszty w tych cenach, która w większości okazała się totalnym chłamem.
Ogólnie polecam też używanie oryginalnego pada od SNES. Jest inaczej, ale chińskim też lubię pograć i gra się dobrze.
Mogę porównać z joyem: jest w wielu grach łatwiej i precyzyjniej grać padem, ale to kwestia trochę przyzwyczajenia i gustu. Niektórzy twierdzą, że jak Atari, to tylko joy, żadnych padów. Co do porównania z Boomerangiem, to nie wiem, ale czytałem raczej tylko negatywne opinie o tych padach. Joya MATTa bym nie kupił nigdy w życiu, one są jak dla mnie kompletną porażką porównując do innych joyów jakie miałem - jak dla mnie joy musi mieć mikrostyki i być porządny. Jeśli jakość Boomeranga jest taka sama jak joyów MATTa, to dziękuję, ale tak jak piszę: nie wiem, bo pada w ręku nie miałem, natomiast dobrych opinii nie czytałem.

Coś jeszcze: jeśli chodzi o mój produkt, to przede wszystkim interfejs. Jakiego pada do tego podłączysz to zależy od Ciebie, a wybór jest spory, bo na moim interfejsie działają pady od NESa, SNESa, Famicoma, Pegasusa, wszelkich klonów itd. Ten chiński pad jest dołożony jakby w gratisie i nie jesteś związany z nim do końca życia.
A interfejs, to oprócz samego podłączenia się z padem, to jeszcze szereg funkcji dodatkowych w czterech trybach pracy umilających grę.

Aha, a opinie to sobie w ogóle poczytaj na ppa, bo tam było dużo większe zainteresowanie - tu na atari.org.pl kompletnie się projekt nie przyjął.
https://www.ppa.pl/forum/elektronika/36 … er-gamepad

27

Odp: (S)NESctrl - interfejs padów NES/SNES -> joy

Tak się złożyło, że ostatnio trochę pograłem w gierki.

Generalnie do grania używam mojego ulubionego oryginalnego pada od SNES, którego kiedyś kupiłem w kiepskim stanie, ale odrestaurowałem sobie pięknie.

Okazało się, że w (S)NESctrl, mod który wymyśliłem do Decathlonu, bardzo dobrze sprawdza się w grze Laura:-) Służy do wychodzenia z bagna:-) Po prostu wciskamy jeden przycisk i trzymamy, a Laura bardzo szybciutko i łatwo, oraz przy minimalnej stracie energii z tego bagna nam wychodzi:-)
Tak w ogóle, pomijając ten szczególny mod, w Laurę bardzo fajnie gra się padem od SNES-a. Wszystkie ruchy są precyzyjne i bardzo wygodnie i bezstresowo grę się przechodzi.
Info niniejsze wrzucam, bo przedwczoraj po przeszło roku od wydania tej gry, wreszcie znalazłem czas, żeby pograć. Usiadłem wieczorem, skończyłem o 4:45 nad ranem:-)

Polecam serdecznie:-)

28

Odp: (S)NESctrl - interfejs padów NES/SNES -> joy

Hej Mq,

Nadaj na priva szczegóły, chętnie nabędę jeden kontroler...

https://systemembedded.eu/
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

29

Odp: (S)NESctrl - interfejs padów NES/SNES -> joy

Miałem przyjemność przetestowania interfejsu. Działa wyśmienicie. Mq, dziękuję :)

30

Odp: (S)NESctrl - interfejs padów NES/SNES -> joy

Larek, bardzo dziękuję za ten obszerny materiał o interfejsie, fajnie to wyszło, często ludzie pytają jak coś działa, a tutaj wszystko świetnie widać. Dziękuję.

W trakcie filmu pojawiło się kilka wątpliwości i może drobnych niedopowiedzeń, więc dodam jeszcze kilka słów od siebie.

Obudową interfejsu jest koszulka termokurczliwa celowo. Chodziło o to, żeby wtyczka mieściła się bez problemu w Atari XE, Atari ST, czy Amidze 600. W pozostałych kompach jest sporo miejsca, ale w tych wymienionych modelach nie zmieści się żadna obudowa. Gniazdo pada SNES jest na osobnym kabelku, ponieważ można zamiast tego kabelka podłączyć inne przejściówki, pozwalające na podłączenie padów NES, czy innych standardów klonów NES na złączach DB9 czy DB15 (również Famicom). Pokazany w filmie kabelek i gniazdo jest identyczne jak gniazdo pada w konsoli SNES i jest to zamiennik pada do takiej właśnie konsoli. Opis przygotowania innych przejściówek jest w poście #19 w tym wątku.

Larek, w swoim programie testującym joystick masz wszystko w porządku. Jeśli chodzi o wykluczające się kierunki, to jest tak zrobione w interfejsie celowo. Nie da się prawdziwego joya wychylić naraz w lewo i prawo, czy też w górę i w dół. W padzie krzyżaka też nie da się tak wcisnąć, bo fizycznie jest tak skonstruowany, że pod spodem ma wypustek powodujący, że działa jak kołyska. Uznałem, że trzeba zapobiec niedozwolonym kierunkom, dlatego interfejs ma zaprogramowane priorytety. Kierunek krzyżaka ma zawsze najwyższy priorytet nad pozostałymi przyciskami. Czyli np. wciśnięcie przycisku skoku na ukos w lewo i jednoczesne wciśnięcie krzyżaka w prawo spowoduje skok w prawo a nie w lewo. Podobnie wciśnięcie przycisku z przypisaną funkcją w górę i jednoczesne wciśnięcie w dół spowoduje wyższy priorytet kierunku w dół. W trybie Decathlon (czy może teraz trybie Laura:-)) przycisk powodujący machanie lewo-prawo ma niższy priorytet niż krzyżak, więc wciśnięcie krzyżaka w lewo lub prawo powoduje zatrzymanie automatycznego machania i wciśnięcie tylko wybranego kierunku. Równorzędne przyciski (np. L i R oraz Start i Select) - blokują się nawzajem, tzn. wciśnięcie na ukos w lewo i na ukos w prawo jednocześnie spowoduje zablokowanie kierunków w boki i zrobi nam się tylko kierunek w górę.

W Preliminary Monty nie wpadłem na używanie trybu pierwszego do ułatwienia wchodzenia na drabinki:-) To dowodzi uniwersalności i możliwości własnej inwencji użytkowników w wykorzystaniu trybów - i bardzo mnie to cieszy. W zasadzie do tej gry projektowałem tryb drugi, gdzie mamy skoki na ukos z fire. Ten tryb z fire służył właśnie do tej gry, oraz dobrymi przykładami jest jeszcze wspomniana Cavernia, czy też Pitfall 1 i 2. Jest więcej takich gier, gdzie skacze się na fire a nie w górę. Ogólnie skoki na ukos w obu tych trybach przede wszystkim miały ułatwić te wszystkie pomysły wrednych programistów, gdzie trzeba ustawić postać co do piksela i idealnie wykonać skok na kolejną platformę:-)

Co do powielenia przycisków Start i Select z przyciskami L i R - jest tak dlatego, że interfejs działa też z padami NES wykorzystując te same tryby. Pad NES nie ma przycisków L i R, ma o cztery przyciski mniej niż SNES. W padzie SNES w zasadzie nie wykorzystuje się w grze przycisków Start i Select, jest to nawet niewygodne. Natomiast w padzie NES nie mamy dodatkowych przycisków L i R, więc Start i Select ratuje nam życie jak musimy skoczyć na ukos:-)

Ostatnia rzecz dotycząca trybów jaką chcę wyjaśnić dotyczy drugiego fire na pinie paddle. Otóż oczywiście na Atari nie ma chyba gier, które to wykorzystują, można pokusić się o implementację, choć nie spodziewam się, że nagle wszyscy zapragną taki drugi fire wykorzystywać, skoro przez wszystkie lata nigdy to nie było praktykowane na Atari. Tryb ten powstał w sumie pod Amigę. Tam jest trochę gier, które wykorzystują drugi fira właśnie na tym pinie. Były też produkowane joysticki z drugim fire niezależnym od pierwszego właśnie z przeznaczeniem dla Amigi. Dziwię się, że rozwiązanie takie nie zostało standardem we wszystkich komputerach, ponieważ oprogramowanie tego jest bardzo łatwe jak widać na testowym programie do paddle pokazanym w filmie.

Jeszcze co do samej obsługi urządzenia: przy wyborze trybów zmieniamy je krzyżakiem prawo-lewo lub alternatywnie góra-dół - wszystko jedno, funkcje te są tutaj powielone.
Przy podłączeniu interfejsu migają szybko diody - to takie powitanie na start i nic nie oznacza, natomiast zaraz po tym mruga dioda zielona i czerwona, ilość tych mrugnięć oznacza wersję firmware. Obecnie we wszystkich interfejsach jakie poszły w świat jest wersja firmware 1.1 - po jednym mrugnięciu każdej diody.
Nie planowałem aktualizacji firmware, niemniej jednak jest ona możliwa. W mikrokontrolerze jest jeszcze trochę miejsca, więc implementacja kolejnych trybów jest fizycznie możliwa. Jednak należy zwrócić uwagę, że tryby zostały dobrane uniwersalnie. Zrobienie jakiegoś trybu pod konkretną grę nie jest celowe, można to zrobić jeśli wymyślony tryb byłby znów uniwersalny i przydatny. Trybów nie może też być zbyt wiele, dlatego ograniczyłem je do czterech. Taką ilość łatwo zapamiętać i wygodnie używać. W świetle tego co pokazał na filmie Larek, faktycznie przydały by się jeszcze skosy w dół. Pytanie jednak jak taki kompletny tryb miał by wyglądać, żeby miał wszystko co potrzeba, żeby był wygodny, intuicyjny, logiczny, uniwersalny, możliwy do zapamiętania itd? Gdyby ktoś miał chęć wymyślić taki tryb, to proszę bardzo, jeśli będzie to dobrze przemyślane, to mogę uwzględnić to w firmware i zrobić taką nową wersję.
W razie nowej wersji firmware aktualizacja oprogramowania w istniejących już interfejsach jest również możliwa.

31

Odp: (S)NESctrl - interfejs padów NES/SNES -> joy

Dzięki za szczegółowe wyjaśnienie. Wczoraj zaglądałem do kodu programu testującego joya i stwierdziłem, że powinien bez zająknięcia wykryć każdą kombinację kierunków. Co ciekawe, Altirra nie potrafi wykryć wciskania przeciwnych kierunków, a przynajmniej nie umiałem takiego zjawiska wywołać. Na Atari jest to jak najbardziej możliwe (mówię z pamięci, ale niedługo sprawdzę i potwierdzę).
Niemniej jednak spróbuję dodać do programu testującego joya opcję sprawdzania drugiego fire wg standardu (S)NESctrl.

32

Odp: (S)NESctrl - interfejs padów NES/SNES -> joy

Sam port joysticka w Atari oczywiście pozwala na niezależne odczytanie każdego z pinów - do portu tego można przecież podpiąć inne urządzenia, a nie tylko joystick - można potraktować port jako po prostu port równoległy ogólnego przeznaczenia.

(S)NESctrl funkcjonalnie ma emulować prawdziwy joystick - stąd pomysł, że kierunki niedozwolone w joysticku zostały tu również zablokowane. Być może tak samo pomyślał autor Altirry i emulując joystick zrobił dokładnie tak samo jak ja w swoim interfejsie.

33

Odp: (S)NESctrl - interfejs padów NES/SNES -> joy

(S)NESctrl + Retro Receiver = Atari + pad PS4

34

Odp: (S)NESctrl - interfejs padów NES/SNES -> joy

Larek, po raz kolejny dzięki za super materiał o moim interfejsie:-) Po Twoich uśmiechach widać, że nieźle się wkręciłeś i chyba stajesz się powoli również wielbicielem padów:-)

Dopowiem, że receiver od 8bitdo działa z całym szeregiem różnorakich padów bezprzewodowych z tejże firmy, a także z padami od PS4, PS3, i jeszcze tam jakieś inne wymieniają, można doczytać.

Edit: Aha, gra Decathlon nie jest taka do końca nudna, bo bicie rekordów jest zależne od precyzyjnego wciskania fire w odpowiednich momentach w konkurencjach "pozabiegowych". Wyniki biegów zależą właściwie wyłącznie od precyzyjnego startu, ale jeśli ktoś woli, to zwykły joy w dłoń i polecam bieg na 1500m:-) Później niech napisze taki delikwent czy mu się nudziło czy nie:-) W (S)NESctrl w biegu na 1500m polecam przykleić kawałek taśmy samoprzylepnej i iść sobie zrobić kawę:-)

Ostatnio edytowany przez Mq (2018-05-12 22:23:58)

35

Odp: (S)NESctrl - interfejs padów NES/SNES -> joy

pewnie za mało grasz, na padzie gry odkrywam na nowo, w takim Green Beret to pierwszego ekranu nie potrafię przejść, jakby poziom gier ktoś niebotycznie podwyższył ;)

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

36

Odp: (S)NESctrl - interfejs padów NES/SNES -> joy

Mq napisał/a:

Wrzucam opis wyprowadzeń interfejsu i odpowiadające im wyprowadzenia wtyczek padów NES, SNES i klonów NES z wtykami DB9. Innych wersji jak DB15 nie wrzucam, bo wersji jest kilka, wygląda na to, że standard nie do końca jednolity. Sprawdzone u producenta interfejsu czyli u mnie są te trzy wtyki i w dokumentacji udostępniam tyle.

Ciekawe, z tymi różnymi wersjami DB15. Akurat wszystkie Pegazusy i inne famiklony jakie spotkałem, miały wtyczki DB15, bardzo się zdziwiłem, gdy dowiedziałem się, że były też pady z wtyczkami DB9 :)

Budowałem kilka lat temu kilka adapterów NES->USB i opis wyprowadzeń brałem wtedy stąd: https://www.kernel.org/doc/Documentatio … arport.txt