HI Erster Beitrag - erstes Problem :( Habe mir auf Ebay eine alte Nintendo NES geschossen, Spiele und Controller sind vom Flohmarkt. Spiele funktionieren auch, aber der Controller macht Probleme (reagiert nicht). Wie ich rausgefunden hab, kommt dort zwar 5V Versorgungsspannung an, aber kein Takt. Und damit keine Antwort... Hab schon mit meinem Oszi direkt auf der Hauptplatine der NES nachgemessen wo die Controller angesteckt werden. Es kommt aber auch hier direkt am Stecker kein Takt an. Kann mir jemand verraten, wo dieser Takt erzeugt wird? So sollten die Signale aussehen: www.mit.edu/~tarvizo/nes-controller.html
Mach mal "nintendo nes circuit" bei Google und suche nach Bildern...
Michael D. schrieb: > Kann mir jemand verraten, wo dieser Takt erzeugt wird? In meinen NES-Unterlagen (Nintendo) liefert Pin 31 (Phi2) der CPU RP2A03C den Takt für die 4021 der Joypads.
Alles bereits gesagt. Nur den TO interessierts wohl nicht ...
HI Interssiert mich schon, bin nur noch nicht zum Messen gekommen um die Theorien zu testen - Unistress. Ich melde mich wieder und danke schon mal :)
Warum hat ein Moderator meinen Post mit "In der CPU" gelöscht? Ist doch richtig? Das Programm schreibt zuerst eine 1 auf $4016 (Button States werden eingelesen). Dann liest man von $4016 (bzw. $4017 für das zweite Gamepad). Pro Lesezugriff gibt das LSB den Zustand an (1=pressed, 0=not pressed). Und zwar in der Reihenfolge: A, B, Select, Start, Up, Down, Left, Right. Dh pro Gamepad 8x lesen. Ohne Programm kein Takt.
foobar schrieb: > Ohne Programm kein Takt. Für den TO und für mich, wie sieht eine kurze Programm-Sequenz für einen Pad-Prüfadapter aus?
Das kann ich dir jetzt nur allgemeingültig beantworten. Im NMI kannst du das eigentlich zuverlässig machen, momentan mach ich das einmal pro Frame. Mit einem Codesnippet alleine fangst halt nicht viel an. Du brauchst dann noch einen Compiler, ein entsprechendes Linkerscript, musst dir EPROMs brennen, brauchst eine bootfähige Cartridge mit gültigem CIC Chip oder deaktivierst den CIC in deiner Konsole. Einfacher ist es deshalb ein Spiel einzulegen :-)
foobar schrieb: > Einfacher ist es deshalb ein Spiel einzulegen Helfen würde es, wenn man die Vorgaben von Nintendo an NES-Spieleentwickler kennen würde?
HI @foobar: Als Gast und ohne Begründung war das vielleicht eine unpassende oder unpräzise Antwort? Ein Spiel einlegen ist kein Problem. Hab "Captain skyhawk" drin :) Starten kann man das Spiel nur durch Einstecken des Controllers (erzeugt wohl ein passendes Pulssignal). Dann zieht der dauerfeuernde Kampfflieger aber immer nach rechts und man verliert. Klar, Stuern geht halt nicht ohne Takt. Bin leider noch immer nicht zum Messen gekommen....
> Bin leider noch immer nicht zum Messen gekommen....
Hallo!
So, bin endlich zum Messen gekommen :) Pin 31 der CPU liefert
tatsächlich einen digitalen Takt. Das gute, alte Analogoszi zeigt mir
etwa dreieinhalb Takte pro µs mit einer leicht runden Flanke beim
Übergang von low auf high-Level. Geht also so weit.
Der SN74LS139N (bezeichnet als Chip U3) in den das Signal eingespeist
wird, scheint auch zu arbeiten.
Danach verliert sich der Takt irgendwo in gemultiplexter Form. Aus den
Schaltplänen unter dem vorgegebenen Suchbegriff bin ich übrigens nicht
ganz schlau geworden, da ist das genauso, zum Beispiel bei
www.freeinfosociety.com/electronics/schemview.php?id=2405
An den beiden Hex-Buffern SN74HC368N kommt jedenfalls was an was so wie
das Taktsignal aussieht. Da auch dr.know schon hier einen Defekt
vermutet hat: Wie stelle ich an besten fest ob sie ihren Job tun, ohne
sie auszulöten?
:
Bearbeitet durch User
So, ist etwas her, aber über Weihnachten hatte ich endlich Zeit und die Teile (zwei 74LS von Reichelt). Nur die beiden Chips auszutauschen hat gebracht dass sie ein Signal ausgeben. Immerhin! Waren wohl wirklich hinüber. Aber das ganze hat noch nicht ganz funktioniert. Dann hab ich noch die 6 Eingangsdioden direkt an den beiden Controllerbuchsen gebrückt, da war wohl auch was kaputt, weil da ging kein Signal durch. Was auch immer Diode(n) und chip geschrottet hat? Mit diesen beiden Veränderungen geht die Sache jetzt endlich :) Da ich das alles für beide Controller ausgeführt habe, kann ich Mario und Luigi auch endlich gegeneinander antreten lassen. "Captain skyhawk" ignoriert übrigens einfach den zweiten Controller. Guten Rutsch und viel Spaß beim Zocken an alle, die geholfen haben das Problem zu lösen! Habe fertig
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.