Aktuelle Zeit: 21.04.2019 19:26

Alle Zeiten sind UTC + 1 Stunde




 Seite 1 von 1 [ 1 Beitrag ] 
Autor Nachricht
 Betreff des Beitrags: [Tutorial für NES] Reset über Controller mit PIC 12F629
BeitragVerfasst: 24.02.2014 15:27 
Hardcore SNES-Freak
Hardcore SNES-Freak
Benutzeravatar

Registriert: 23.08.2012 17:43
Beiträge: 1067
+Positive Tradingpoints+: 69 von 69
Moin Community,

angefangen hat es am 08.12.2013 im Circuit-Board als mi213 bei dem Design für ein Controllerreset brauchte. Verwirklichen wollte er das ganze auf dem Attiny85. micro hatte ihm stark unter die Arme gegriffen und recht schnell war dann auch n passende Version fertig ;). Parallel dazu wollte ich dann noch den Controllerreset für den PIC 12F629 fertig machen. mein PICKit 3 braucht halt auch seine Daseinsberechtigung :D.

Hier kann man nochmal einiges Nachlesen: http://circuit-board.de/forum/viewtopic ... 19&t=12108

Nach dem Umbau kann die Konsole per A+B+Start+Select resettet werden! Der Nachbau dauert keine Stunde :)

Und nun zum eigentlichen Tutorial :)

Hinweis:
Das Tutorial ist hauptsächlich für das europäische NES geschrieben, welches auch in den Bildern gezeigt wird. Es kann jedoch beliebig adaptiert werden.



0. Benötigte Werkzeuge und Materialien

Prinzipiell ist die Liste der Werkzeuge und Materialien doch recht übersichtlich ;)

  • PIC 12F629
  • 100nF Kerko
  • Lötausrüstung
  • Schraubendreher (Kreuz)
  • Optional: Sockel für den PIC

Natürlich sollte man den PIC auch beschreiben können!


1. PIC beschreiben und vorbereiten

Zunächst muss der PIC natürlich beschrieben werden! Das Hex-File habe ich in meiner Dropbox zur Verfügung gestellt und kann hier downgeloaded werden: https://dl.dropboxusercontent.com/u/186 ... es_igr.zip

Benötigt wird nur das Hex-File, wer am Assemblercode herum schreiben möchte, kann dies gerne tuen ;)

Hinweis:
Der PIC läuft mit seinem internen Takt von 4Mhz! Dieser wird über das sogenannte OSCCAL-Register kalibriert. Da dieser am Anfang des Programms abgefragt wird, ist es essenziell wichtig, dass dieses Register NICHT überschrieben wird bei der Programmierung des PICs! Gerade wer Programmiergeräte verwendet, die nicht von Microchip sind, sollte tunlichst darauf achten!!!


Zur Vorbereitung des PICs ist nicht viel zu sagen - es kann in zwei Schritte geteilt werden:
  1. Kerko von 100nF zwischen Pin 1 (Vcc) und Pin 8 (GND) löten, damit der interne Oszillator auch mit 4MHz arbeitet
  2. Pin 4 muss entsprechend des Resettyps auf GND oder Vcc gelegt werden.
    Konkret heißt das:
    • Konsole hat "/Reset" (Famicom): Pin 4 auf GND legen, d.h. mit Pin 8 verbinden
    • konsole hat "Reset" (NES): Pin 4 auf Vcc legen, d.h. mit Pin 1 verbinden


2. Vorbereiten der Konsole

Wie man die Konsole aufschraubt, muss ich sicherlich nicht ausdrücklich beschreiben. Ich habe auch keine Fotos. einfach solange Kreuzschrauben lösen (das sind ein Paar), bis man das Mainboard in der Hand hat :D

Hinweis:
Es gibt zwei längere Schrauben an der Modulmechanik. Diese müssen natürlich anschließend zwingend auch wieder an Ort und Stelle platziert werden! Generell gilt jedoch, dass alle Schrauben wieder dort hin sollten, wo sie waren, weil die Gewinde im NES aus Plastik sind - am Besten entsprechend der Position im NES auf einem separatem Tisch hinlegen...


Auf der Rückseite sind dann ein Paar ICs, an die wir gemütlich einige Litzen vorbereiten können. Die Litzen erst mal nicht zu kurz wählen. Hier einmal in der Übersicht:

Bild

Wir müssen an folgende ICs ran:
  • CPU
  • CIC (hier habe ich beispielhaft die Litzen für Vcc und GND angebracht)
  • 74HC368 (U7)

Los gehts ;)

2.1. Vorbereitung an der CPU

Hier eine Litze an Pin 39 und eine Litze an Pin 36 anlöten. damit alles super sitzt, sollte natürlich Pin und Litze verzinnt sein.

Bild

2.2. Vorbereitung am CIC

Hier kommen insgesamt drei Litzen ran - eine für Vcc, eine für GND und eine für den Reset.
  • Vcc liegt an Pin 16 an
  • GND liegt an den Pins 12 - 15 an (ich habe Pin 12 gewählt)
  • Resetsignal kommt beim CIC an Pin 7 an
An den drei Stellen bereiten wir Litzen vor.

Bild

Pin 7 sieht so komisch aus, weil ich den Pin vom Mainbpard getrennt hatte, um den Switchless-Mod für die RGB-Platine zu testen. Pin 7 habe ich mit einem kleinen Draht jetzt aber wieder mit der Durchkontaktierung verbunden, weil ich den Pin nicht zurück biegen wollte.

Anmerkung:
Vcc und GND können natürlich noch an vielen Stellen im NES entnommen werden!
Wer in seinem NES noch nicht den Lockout-Chip deaktiviert hat, kann dies gleich mitmachen: einfach Pin 4 des CIC vom Mainboard trennen. Wer es ganz sauber haben will, verbindet den Pin 4 noch mit GND (ich habe dazu Pin 14 gewählt). Dann kann man auch PAL-A und US-Spiele an seiner PAL-B NES zocken ;)


2.3. Vorbereitung am 74HC368 (U7)

Oben rechts am Mainboard befinden sich zwei 74HC368 - einer für Player 1 (U7) und einer für Player 2 (U8). Da der Controllereset für Player 1 sein soll, machen wir uns an U7 zu schaffen und löten eine Litze an Pin 2.

Bild


3. PIC 12F629 einbauen

Nachdem wir nun die Litzen vorbereitet haben, suchen wir uns ein gemütliches Plätzchen für den PIC aus. Ich habe den Bereich zwischen CPU und und PPU aus. Ich habe den PIC mit Heißkleber fixiert. Im Überblick schaut das ganze jetzt so aus.

Bild

Damit man nicht jede Litze einzeln nachverfolgen muss, hier nochmal in Detail :D

Bild

Im asm-File ist das ganze wie folgt dokumentiert:
;   pin configuration: (controller port pin) [Mainboard pin]
;                                ,------_-----.
;           +5V (7) [CIC Pin 16] |1          8| GND (1) [CIC Pin 15]
;   Reset in/out (-) [CIC Pin 7] |2  GP5 GP0 7| serial data in (4) [U7 74HC368 Pin 2]
;              not connected out |3  GP4 GP1 6| latch in (3)[CPU Pin 39]
;                  Reset type in |4  GP3 GP2 5| clk in (2) [CPU Pin 36]
;                                `------------'



4. Abschließende Schritte

nun ist der Mod fertig :) Vor dem Zusammenschrauben des NES am Besten noch einmal testen. Der Reset wird mit der Tastenkombination

A+B+Start+Select

ausgelöst. Beim Reset geht die Power-LED kurz aus, was aber normal ist. Das ist mir auch vorher noch nie aufgefallen ;).

Wenn alles funktioniert, kann der NES wieder zu gemacht werden!

Viel Erfolg beim Nachbauen :D


An dieser Stelle nochmal vielen Dank an mi213 für die Idee und an micro für die Oszi-Bilder :!: :!: :!:



_________________
https://github.com/borti4938
https://oshpark.com/profiles/borti4938
Offline
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
 Seite 1 von 1 [ 1 Beitrag ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:

Zurück zu Nintendo Konsolen und Handhelds