Hoi minasan.
Ich finde dein Projekt ja sehr interessant. Da ich ja schon einige Erfahrung mit Microcontroller habe, habe ich mich gleich mal rangesetzt und so einen Versuchsaufbau gebaut.
Heute habe ich dann den halben Tag programmiert und ein funktionierendes "Gamepad" hingekriegt. Ich habe den Microcontroller an meinen PSX to USB converter angschlossen und er erkennt das "Gamepad". Ich hab auch schon die Schalter implementiert, das heißt, ich kann Sschalter drücken und im Computer leuchten die Lampen für den Schalter auf.
Als Microkontroller nutze ich den ATMega8, welcher aber total überdimensioniert ist. (Ich habe ihn nur verwendet, weil er auf meiner Entwicklungsplatine ist). Ein 2313 oder ähnlicher reicht.
Der MC wird mit 8 Mhz getaktet, 4Mhz habe ich auch schon hingekriegt, da müsste ich aber meinen Code noch ein bisschen optimieren.
Der Quellcode ist in Assembler geschrieben und komplett Dokumentiert. Du kannst ihn
hier runterladen.
Das Programm ist schon mehrmals getestet, mit Oszilloskop u.a.
Wenn Fragen sind, einfach fragen
Hinweis:
Bei den ganzen Information über das PSX Protokoll ist es ja eindeutig, dass alle Leitungen Low-Aktiv sind. Aber dann lese ich, dass z. B. der "start command" Befehl 0x01 ist. Das stimme aber nur, wenn die Leitungen High-Aktiv wären. Eigentlich ist der Wert 0xFE. Ich hab aber ein Programm angepasst, dass jemand, der das ließt, nicht verwirrt ist.
mfg, Martin