Elektronik_Header_3LŘftersteuerung mit ESP-01

 

Gameboy Programmieradapter

GameBoy is a registered Trademark of Nintendo Corporation, Ltd.

Einstieg in das Thema “Gameboy Spiele selbst programmieren” findet man am einfachsten ├╝ber eine der zahlreichen Seiten die sich bereits intensiv mit dem Thema besch├Ąftigt haben. Ich habe auf Reiner Zieglers (Stand 06/2019: site down) Seite angefangen.

Nachbau des CARTIO von Pascal Felber. Eigene Platine im EAGLE-Format, einseitig entflochten.

Erst mal eine Entschuldigung bei Lukas Zimmermann. Dessen Design habe ich n├Ąmlich verwendet um die Portierung nach EAGLE durchzuf├╝hren, aber hier Pascal Felber als Urheber der Schaltung erw├Ąhnt.

Letztlich ist es aber komplizierter: Die Originalschaltung des CartIO stammt von Pascal Felber, machte aber Probleme, wenn die Bits des Parallelport des verwendeten Rechners nicht exakt gleichzeitig schalteten. Der Versuch, die Schaltung durch einf├╝gen von Kondensatoren stabiler zu machen hat nicht richtig gefruchtet. Michael McCormac hat daraufhin einen Synchronisierungsmechanismus entwickelt der das Problem l├Âste. Darauf basiert die Schaltung des Synchronized CartIO von Lukas Zimmermann die ich dann in EAGLE umgesetzt habe.

Als ich mit dem Nachbau begann dachte ich, ich zeichne schnell das Schaltbild in EAGLE nach und entflechte dann eine einseitige Super-Duper-Platine die alle Bauteile inklusive der beiden Steckverbinder aufnimmt und sch├Ân klein ist, damit sie billig zu fertigen ist...

Na ja, nach den ersten Versuchen der Umentflechtung habe ich recht schnell einsehen m├╝ssen, dass das Design von Lukas schon ziemlich das Optimum f├╝r eine einseitige Platine darstellt. Da Lukas keine Einw├Ąnde hatte, habe ich dann kurzerhand sein Layout in EAGLE nachvollzogen, und lediglich kleine ├änderungen eingebracht, die es erlauben, alle Bauteile auf einer halben Europakarte (die nat├╝rliche Grenze f├╝r die Verwendung der Freeware-Version von EAGLE) unterzubringen.

Das Ergebnis meiner Bem├╝hungen kann als ZIP-Datei mit Schaltbild und Layout im EAGLE 3.5-Format heruntergeladen und auf der n├Ąchsten Seite angeschaut werden.

Hier das Schaltbild:

GB_Prog2_sch_resize           (Click auf das Bild f├╝r volle Aufl├Âsung)

 

Die Schaltung entspricht 1:1 dem Entwurf von Lukas, nur habe ich die Signalflussrichtung von links nach rechts orientiert.

Ich lie├č die Platine von Adrian Furrer in der Schweiz fertigen. Adrian bietet bisher ausschlie├člich einseitige Platinen an, daf├╝r ist sein Service preiswert und schnell.


Nachtrag
Adrian Furrer hat die Fertigung der Platinen von fotochemischem Verfahren auf Fr├Ąsen mit Fr├Ąsplotter umgestellt. Damit l├Ąsst sich die Platine des GB-Programmers nicht mehr fertigen . Das Problem liegt im minmalen Leiterbahnabstand. Bei der fotochemischen Umsetzung des Designs beherrschte Adrian 0,2 mm Mindestabstand, Fr├Ąser f├╝r den Fr├Ąsplotter sind minimal 0,3 mm dick, was den Mindestabstand bestimmt.
Die Platine in der vorhandenen Ausf├╝hrung l├Ąsst sich also nur noch Fotochemisch herstellen. Mir bekannte Unternehmen, die solche Arbeiten anbieten sind PCB-Pool und MME. Es gibt sicher Weitere.
Sollte jemand sich die M├╝he machen und das Design auf einen Mindestleiterbahnabstand von 0,3 mm umentflechten, biete ich an, diese Datei hier zu hosten.


Eine spannende Sache war auch die Bestellung des Gameboy-Steckers. Hier in Deutschland ist sowas offenbar nicht zu haben (zumindest hatte ich damit kein Gl├╝ck - Stand 2002). Ich habe meine 3 Stecker bei MCM in USA bestellt die ca. 6 Wochen ab Aufgabe der Bestellung unterwegs waren und zusammen fast 40 ÔéČ kosteten. Die Stecker selbst kosteten jeweils 3,60 Dollar, mithin zusammen ca. 12 ÔéČ. Der Rest war Handling & Shipping :-{ Der Hinweis auf der MCM-Seite, dass die Kosten f├╝r Transport und Verpackung nicht vorher angegeben werden k├Ânnen hat damit f├╝r mich seine Erkl├Ąrung gefunden. Andererseits muss ich gestehen, dass ich in Kenntnis dieses Missverh├Ąltnisses zwischen Warenwert und Versandkosten wahrscheinlich immer noch keinen GB-Stecker h├Ątte ;-)

Nach diesen vorbereitenden Ma├čnahmen konnte dann der Aufbau des Programmers starten.

Die wesentlichen Schritte sind Best├╝cken

  • der Dr├Ąhte zwischen und unterhalb der ICs
  • der Widerst├Ąnde und Kondensatoren
  • der IC-Sockel (die k├Ânnen nat├╝rlich weggelassen werden, aber wer schon mal einen kaputten IC wieder ausgel├Âtet hat, spendiert m├Âglicherweise das n├Ąchste Mal die Sockel ;-)
  • aller anderen Bauteile, zuletzt der beiden Stecker
    (zumindest beim Gameboy-Stecker empfiehlt es sich, vor Beginn aller anderen Arbeiten zu kontrollieren, ob alle L├Âcher f├╝r die Befestigung vorhanden, gro├č genug und an der richtigen Stelle sind)
  • der IC-Sockel mit den ICs

Halt, beinahe h├Ątte ich das vergessen.
Ich musste vor Beginn alle L├Âtaugen f├╝r die Drahtbr├╝cken mit einem 0,8 mm Bohrer nachbohren, weil die verwendeten Vias einen zu geringen Innendurchmesser hatten. Als Draht habe ich dann 0,6 mm Silberdraht verwendet. Das passt gut. Au├čerdem m├╝ssen f├╝r den Gameboy-Stecker noch einige L├Âcher gebohrt werden, die zwar im Layout eingezeichnet und auf der Platine markiert sind, aber offenbar im falschen Layer, so dass sie bei der Platinenherstellung nicht gebohrt wurden.

Den Footprint f├╝r den Niederspannungsstecker bitte ich zu entschuldigen. Ich habe bisher noch keinen Lieferanten f├╝r diesen Stecker gefunden und ihn eigentlich nur verwendet, weil ich ihn schon in der Biliothek hatte. Auf dem Foto sieht man, wie ich das Problem mit einer Einschraub-Niederspannungsbuchse gel├Âst habe. Die anderen Bauteile sind z.B. bei Reichelt erh├Ąltlich (ausgenommen der schon oben erw├Ąhnte Gameboy-Stecker).

Da der Quarzoszillator im Schaltbild nicht bezeichnet ist, hier diese  Info: der Oszillator schwingt mit 10 MHz. (Danke f├╝r den Tipp Matthias!)


Nachtrag
In m├╝hevoller Kleinarbeit hat ein Nachbauer des Programmieradapters herausgefunden, dass er sich die Fehlersuche mit einiger Wahrscheinlichkeit h├Ątte ersparen k├Ânnen, wenn er entweder meinen Tipp mit den Sockeln f├╝r die ICs ignoriert, oder alternativ nicht die billigen Sockel mit Flachfedern verwendet h├Ątte. Ein solcher Feder-Kontakt war im Sockel aufgebogen und hat in Folge das IC-Bein nicht ber├╝hrt, woraufhin trotz positivem Ergebnis des Programmertests in ReadPlus keine Cartprogrammierung durchf├╝hrbar war.
Ich erweitere hiermit meinen Ratschlag f├╝r die Sockel auf solche mit gedrehten Kontakten.

Umbau einer Cart

Um den Programmer nutzen zu k├Ânnen, bedarf es einer programmierbaren Cart. Auch hierf├╝r gibt es auf den Seiten von Reiner Ziegler massenhaft Beispiele. Ich habe gleich den ersten Vorschlag f├╝r eine 512K Cartridge verwendet und als Basis das Spiel “Tetris-DX” gekauft.

Man hat zwei Alternativen das Original-ROM von der Platine zu bekommen. Einmal die Rambo-Methode, also jeden einzelnen Pin des SMD-ICs mit einem feinen Seitenschneider direkt am Geh├Ąuse des IC abzwicken und anschlie├čend die Reste mit Pinzette und L├Âtkolben von der Platine abl├Âten. Ich habe mich f├╝r die zweite M├Âglichkeit entschieden und mit einer Stahl-Graviernadel die vorsichtig hei├č gemachten Pins einzeln hochgebogen. Auf diese Weise habe ich das ROM noch, was auch immer ich damit letztlich anfangen werde ;-))

vorbereitete CartDie Platine ohne das ROM sieht dann so aus. Im Bild ist links oben bei der Batterie ein St├╝ck Plastik zu erkennen, das ich zwischen die Platine und den vor Beginn aller Arbeiten abgel├Âteten Batterieb├╝gel gelegt habe, damit die Schaltung bei den L├Âtarbeiten spannungslos ist.

 

Flash-PROM eingel├Âtet

 

 

Nach Best├╝ckung mit dem Flash-PROM von Typ AM29F040-150JC von AMD und nachdem die Batterie wieder angel├Âtet ist, ist die umgebaute Cart einsatzbereit. Man sieht, dass das Flash-PROM “schief” eingebaut werden muss, weil die Pin-Zuordnung leicht verschoben gegen├╝ber dem Original-ROM ausgelegt ist.

Die Verbindungen zwischen den Anschl├╝ssen an den Schmalseiten des Flash-PROMs und den L├Âtpads habe ich mit d├╝nnem Kupferlackdraht ausgef├╝hrt. Eine ruhige Hand ist f├╝r die Durchf├╝hrung der Arbeiten unabdingbar.

Die Anschlussdr├Ąhte am unteren Ende des IC d├╝rfen nicht allzuweit in Richtung der Steckkontakte gef├╝hrt werden, sonst kommen sie beim Zusammenbau des Geh├Ąuses mit dem Plastiksteg oberhalb des Steckkontakts in Konflikt. Den Draht an Pin 31 des Platinensteckers habe ich entgegen dem Vorschlag auf Reiners Seite nicht direkt am Kontakt angel├Âtet, sondern in die Durchkontaktierung direkt davor eingesteckt und angel├Âtet. Auf diese Weise besteht keine Gefahr, dass das L├Âtzinn auf den vergoldeten Kontakt l├Ąuft und sp├Ąter Kontaktprobleme hervorruft.

 


Beim Aufruf dieser Funktion werden Daten an Google in USA ├╝bermittelt. Neben Ihrer IP-Adresse wird auch die URL der besuchten Seite ├╝bertragen.
Besucherzaehler

Besucher seit
25.11.2000