Jak podłączyć pady od Pegasusa pod USB?

Sławomir Krysztowiak

2013-06-30

Pewnego razu siedzieliśmy z dziewczyną przy komputerze, szukając gierek, w które warto zagrać. Gdy już wybraliśmy konkretny tytuł, podłączyłem joypad i.... dostałem przykaz: "musisz kupić sobie jeszcze jeden, bo bez sensu, gdy jedna osoba gra na klawiaturze" ;) Trudno dyskutować z takim argumentem. Sam nie znoszę grać na klawiaturze. (No, chyba, że chodzi o klawiaturę pianina).

Pomyślałem jednak: gdzieś w piwnicy wala się pełno joypadów od Pegasusa, może by znaleźć sposób, aby je wykorzystać? I tak doszło do realizacji tego projektu.

Trochę historii dla młodszych czytelników. Czym jest ów "Pegasus"?

W latach 90' była to popularna konsola do gier, podłączana do telewizora. To przy niej spędzało się dnie i nierzadko noce grając w Super Mario, Contrę, Micro Machines, Tanks, Mappy, Dr Mario, Ice Climber, Donkey Konk, Popeye i dziesiątki innych.

Pegasus nie był autorskim produktem żadnej rodzimej firmy, a klonem/podróbką japońskiej konsoli Nintendo Entertainment System. Na polskich bazarach do dziś można kupić kompatybilne z nim następne klony, dostępne pod setkami najdziwniejszych nazw: Fenix, Batman, Micro Com, Dendy, Power Play, Family Game, Gamevision, Family Game System i (moja ulubiona) – Poly Station.

Czy Pegasus był podróbką NESa, czy autoryzowanym przez Nintendo klonem? Za pierwszą opcją przemawia fakt, że NES nie był trudną do podrobienia konsolą. Za drugą – mało kto wie, że widywano klony innej konsoli Nintendo, mianowicie Game–Boya o nazwie Pegasus Game–Boy. Było to zjawisko bardzo rzadkie – google nie zwraca żadnego zdjęcia tegoż klona po wpisaniu hasła "Pegasus Game–Boy", ale zaręczam, że taka ciekawostka przyrodnicza faktycznie istniała. Być może więc Pegasus miał "błogosławieństwo" Nintendo na sprzedawanie klonów na polskim rynku.

Wracamy do podłączenia joypada. NES jest na tyle popularną konsolą, że wielu robiło to przede mną. Kilka–kilkanaście lat temu w ogóle było banalnie. Ówczesne PC–ty wyposażone były w wyjście drukarki. Do tego portu można było podłączyć pad od Pegasusa za pomocą prościutkiego interfejsu złożonego z 4 diod i kawałka 5–żyłowego kabla. Dziś jest gorzej – trzeba kombinować, jak to podłączyć pod USB. I bez mikroprocesora się nie obejdzie.

Ideologicznie taki interfejs powinien działać tak:

  • mikroprocesor komunikuje się z USB; przedstawia się jako urządzenie HID (Human Interface Device)
  • mikroprocesor dekoduje sygnały wysyłane przez podłączony do niego joypad (mówiące o tym, jakie przyciski są wciśnięte) i przesyła je dalej przez USB

Tym sposobem joypad będzie normalnie widziany w systemie; można go użyć do każdej gry, jaka tylko potrafi obsłużyć joysticki/pady, a nie tylko pod specyficznymi emulatorami NESa.

Co pozostaje zrobić? Zaprogramować mikroprocesor, aby wykonał stawiane mu zadania. Dokonał tego Raphaël Assénat i wyniki pracy opublikował na swej stronie – 4 NES and/or 4 SNES controller(s) to USB. W tym miejscu oddaję mu wszelkie honory i dziękuję za dokonany trud. Kod źródłowy rozwiązania dostępny jest na licencji GPL, zatem możemy go używać praktycznie bez ograniczeń. Dostępne są też schematy i projekt płytki drukowanej. Niewątpliwą zaletą jest to, że możemy podłączyć aż 4 pady pod jeden port USB! Ja zdecydowałem się na zaledwie dwa.

Pod względem "hardwaru" projekt nie jest wybitnie skomplikowany. Prócz mikroprocesora (ATMEGA8) wymaga podłączenia kwarcu 12 Mhz, dwóch kondensatorów, trzech oporników i dwóch diod Zenera. Dlatego nie chcąc bawić się w wytrawianie płytki drukowanej czy zamawianie gotowej, ATMEGĘ przylutowałem do płytki uniwersalnej, a resztę części obsadziłem wokół metodą "na pająka". Nie jest to "koszerne" ani warte zachęty podejście, jednak z racji prostoty układu zdecydowałem się na taki kompromis. Nie wybuchnie ani się nie rozsypie – to na pewno :) Czeka jedynie na obudowę.

A tak wyglądał proces tworzenia i wygląda efekt "niemal finalny":

Początkowe przymiarki
Początkowe przymiarki
W trakcie
W trakcie budowy
Checkpoint – pomiar napięcia z USB
Checkpoint – pomiar napięcia z USB
Efekt finalny z bliska
Efekt finalny z bliska
Efekt finalny z daleka
Efekt finalny z daleka
Wreszcie można grać!
Wreszcie można grać!

Cóż dodać? Projekt prosty, działa i dostarcza dużo radości. Granie przez długie godziny w Rampage World Tour z "winowajczynią" całego pozytywnego zamieszania i rozwalenie wspólnie 22 miast było piękną chwilą ;)

Edycja 15. stycznia 2014: Pomysł tak się spodobał, że otrzymałem "zamówienie" na kolejny interfejs, tym razem dla joysticka od Atari. Zbudowałem go, tym razem umieszczając w obudowie. Przy okazji interfejs do joyów od Pegasusa także włożyłem w obudowę. Efekty? Zapraszam do galerii.

Może zainteresuje Cię: