Studium-Projekt: Gamepad

perfect007

Bekanntes Gesicht
Mitglied seit
28.10.2001
Beiträge
7.726
Reaktionspunkte
0
So, nun hab ich hier mal was ganz ausgefallenes. Voraussichtlich werde ich mit einem Kollegen im nächsten Semester eine Projektarbeit machen, in der es um die „Hardwareemulation eines PS2 Gamepads“ geht.

Wollte mal in die Runde fragen, ob jemand zufällig einen halb defekten PS2 Controller daheim liegen hat, wo der Stick nicht mehr geht oder so etwas. Wenigstens einige anderen Tasten sollten gehen. Wäre zum Ausschlachten und messen an den Innereien sicherlich das Beste. Bitte melden, wenn hier jemand ein solches Pad rumliegen hat und es an einen armen ( :D ) Studenten möglichst verschenken kann ;)

Damit ihr euch vorstellen könnt, was die Aufgabe sein soll, hier mal eine Beschreibung:

Es soll mittels eines Mikrokontrollers ein Gamepad emuliert werden, so dass eine darum befindliche und selbst entworfene Peripherie die Eingaben an die entsprechende Hardware senden kann. Im speziellen Fall würden wir (zwei Personen) uns auf die Datenübertragung der Playstation 2 Controller stürzen, dessen Protokoll soweit im Internet gut bei diversen Bastlerseiten auffindbar wäre.

Aufgabenbereiche:

  • - Einarbeiten in das Protokoll, entsprechende Informationen aus dem Internet aufarbeiten (Sony selber wird da wohl nicht viel bekannt geben) und evtl., entsprechende Kommunikation mit Oszilloskopen aufnehmen
  • - Mikrokontrollerboard zusammenstellen (Testaufbau Lochraster oder ähnliches), mit einigen Tastern für die Buttons, welche die Eingaben für die Konsole darstellen. Evtl. wird hier noch ein Treiber für die Datenkommunikation gebraucht.
  • - Software für den Mikrokontroller schreiben, welche die Eingaben als serielles Signal an die Hardware sendet. Hierbei kann die Hardware die Konsole sein, oder über einem Adapter auch der PC.

Der Aufwand dafür ist zwar nicht so leicht abschätzbar, aber allgemein ein Protokoll mit entsprechenden Kommandos aufzubauen, könnte durchaus etwas umfangreich werden. Falls mit der Zeit der Aufwand zu gering wird, kann das Projekt sicherlich mit z.B. programmierbarem Tastenlayout, evtl. einem LCD-Display oder einer Unterstützung einer zweiten Hardware erweitert werden.
Ansonsten bin für kreative Ideen bzw. Informationen bezüglich der seriellen Datenübertragung und Kodierung des Padsignals offen, schreibt alles hier rein, was euch dazu noch einfällt.
 
perfect007 hat folgendes geschrieben:

Wollte mal in die Runde fragen, ob jemand zufällig einen halb defekten PS2 Controller daheim liegen hat, wo der Stick nicht mehr geht oder so etwas. Wenigstens einige anderen Tasten sollten gehen. Wäre zum Ausschlachten und messen an den Innereien sicherlich das Beste. Bitte melden, wenn hier jemand ein solches Pad rumliegen hat und es an einen armen ( :D ) Studenten möglichst verschenken kann ;)

Tut es auch ein leicht defekter Dualshock-1-Controller (2 defekte Schultertasten und ein defekter Stick)? ;)

(So könnte ich mich zumindest für etwas Anderes erkenntlich zeigen... :bigsmile:)
 
@Hüni:
Klar, besser wie nix. Der wird auseinander genommen und die Datenübetragung angeschaut. Dafür müssen halt nen paar Tasten zum Ausprobieren gehen!
Achja, du musst dich für gar nichts erkenntlich zeigen ;)

Ansonsten bin ich immernoch für weitere "Bastelwerkzeuge" offen ;) - auch für evtl. Ideen, was man damit noch umsetzen könnte. Falls die Zeit reicht und es nicht zuviel wird, würde ich gerne auch programmierbare Tastenbelegung mit einbauen, das evtl. sogar über eine Displayanzeige zur Visualisierung. Mal schauen ;)
 
Zwar bekomme ich hier kaum Antworten, aber es kann ja nicht schaden, wenn man Fragen stellt :bigsmile:

Kennt jemand Seiten oder hat sonst Informationen zum Übertragungsprotoll des GameCube GamePads. Ich würde gern beim obigen Projekt neben einem PS2 Pad auch ein GameCube Pad mit dem Mikrocontroller realisieren!
 
So, heute gab es die ersten wirklichen Ergebnisse! Die mir aus dem Internet vorliegenden Fakten und Angaben bezüglich der seriellen Kommunikation zwischen der Playstation 2 Konsole und dem Gamepad haben sich bewahrheitet, was sich in einem Praxistest an einem Logic-Analyser gezeigt hat. Wer Interesse hat, kann sich folgende Kommunikationsbeispiele mal anschauen. Diese präsentieren alle nötigen Daten- und Steuerleitungen, die man für eine Verbindung braucht.

Dieses Schaubild stellt einen kompletten Datenrahmen dar, welcher 9 Byte sendet und somit alle Tasten und Werte des Pads an die Konsole überträgt - der PS2 Controller wurde dabei im Digitalmodus betrieben, was sich hier aber nur in dem zweiten Byte wirklich ablesen lässt. PS: Keine Taste wurde hier gedrückt.

http://www.game-quiz.de/temp/Digimode_complete.jpg

Folgender Teilausschnitt zeigt das zweite Byte, in dem über Data der Controller der PS2-Konsole mitteilt, dass er im Digitalmodus betrieben wird (0x41 wird gesendet).

http://www.game-quiz.de/temp/Digimode_Byte2.jpg

Und als letztes nur ein Beispiel von vielen. Das 5te Byte wird dargestellt, wobei hier die Dreiecktaste noch gedrückt wird - zu erkennen an dem Low-Signal in den Daten.

http://www.game-quiz.de/temp/Digimode_Byte5_Dreieck.jpg

Das waren die ersten Ergebnisse ;) .. nun kann es ja an die Prorgammierung des Mikrocontrollers gehen. Danke für die (wohl nicht vorhandene) Aufmerksamkeit! :bigsmile:
 
Zurück