Sega Mega Drive 1 Switchless Mod

    • Tutorial
    • Mega Drive 1
    • Sega Mega Drive 1 Switchless Mod

      "Vorwort" - Was ist der Switchless Mod?

      Da Sega ein japanisches Unternehmen ist und in dieser Region (wie auch in den USA) die NTSC-TV-Norm mit 60Hz verbreitet ist, wurden alle japanischen und amerikanischen Mega Drive / Genesis Spiele für diese Norm programmiert.
      In Europa war dagegen bei Erscheinen der Konsole die PAL-TV-Norm mit nur 50Hz Standard.
      Die bspw. in Deutschland erschienenen Spiele wurden allerdings nur selten an die europäische Norm angepasst, weshalb in Europa die meisten Spiele etwas langsamer (50/60Hz-Problem) und mit den bekannten "PAL-Balken" am oberen und unteren Bildschirmrand laufen. Um diese Probleme zu beheben, kann jedes Mega Drive gemoddet werden. Führt man den Mod mittels Einbau eines Mikrocontrollers, welcher über den originalen Reset-Button gesteuert wird, durch (verbaut man also keinen zusätzlichen Schalter am Gerät), spricht man von einem sogenannten "Switchless Mod".

      Im Netz gibt es bereits mehrere Tutorials zum Einbau eines Switchless Mods in einem Mega Drive / Genesis der 1. Generation. Allerdings existieren in diesem Zusammenhang 2 verschiedene Lösungsansätze (entweder der Code von "seb" oder der Code von "d4s" wird verwendet).
      Da aber keines der mir bekannten Tutorials auf beide Umbaumöglichkeiten gleichzeitig und / oder ausführlich eingeht, habe ich mir gedacht, dass ein solches Tutorial doch recht interessant sein könnte und habe daher eines erstellt. :)


      Was wird benötigt:
      • ein PIC16F630 mit dem Code für den Switchless Mod; entweder mit dem Code von "seb" (Datei "enemenemuh.hex"; lokale Sicherung im Board: Code seb.zip) oder mit dem Code von "d4s" (Datei "mega_drive_switchless_pic16f630.hex"; lokale Sicherung im Board: Code d4s.zip) oder (ganz neu) mit dem Code von borti4938 (Datei "md_switchless_jp_red.hex" oder "md_switchless_us_red.hex" (siehe dazu Schritt 0); lokale Sicherung im Board: Code borti4938.zip) --> siehe dazu Schritt 0
      • ein Hex-Inverter IC (z. B. ein 74HC4049) wenn euer Mega Drive eine "Active-High-Konsole" ist (nur bei Verwendung des Codes von "seb" notwendig (siehe dazu Schritt 1),
      • eine Duo-LED mit 3 Beinchen (gemeinsame Kathode; 3mm oder 5mm),
      • ein 220Ω-Widerstand für die LED,
      • einen Dremel oder eine Bohrmaschine für das Einbauen der LED,
      • ein Lötkolben + Lötzinn,
      • ein wenig Lötlitze,
      • ein Multimeter,
      • ein Kreuzschraubendreher,
      • eine Heißklebepistole und
      • ein Skalpell oder Cuttermesser zum Durchtrennen von Leiterbahnen
      empfohlen:
      • ein 100nF-Keramikkondensator und
      • ein wenig Schrumpfschlauch (für die LED-Beinchen)


      Und wir beginnen.



      Schritt 0 - Welcher Code?:

      Zunächst müsst ihr euch entscheiden, welchen Code ihr für den Mod verwenden möchtet. Prinzipiell sind alle 3 Varianten ("seb", "d4s" und @borti4938) zielführend. Allerdings bestehen zwischen den drei Codes (speziell in Bezug auf das Mega Drive 1) folgende Unterschiede:

      a) Bei dem Code von "d4s" ist es egal, ob es sich bei eurem Mega Drive um eine "Active-Low-" oder eine "Active-High-Variante" handelt (siehe dazu Schritt 1). Bei dem Code von "seb" muss hingegen bei einer "Active-High-Variante" ein zusätzlicher Hex-Inverter verbaut werden, damit der Mod funktioniert.

      b) Der Code von "d4s" besitzt die 3 gebräuchlichen Modi PAL+50Hz, NTSC-US+60Hz und NTSC-JP+60Hz. Der Code von "seb" besitzt hingegen 3 Hauptmodi: PAL+50Hz, NTSC-US+60hz & NTSC-JP+60Hz und 3 "Untermodi"*: PAL+60Hz, NTSC-US+50Hz & NTSC-JP+50Hz (wobei m. E. die "Untermodi" so gut wie nie genutzt werden).

      *
      Spoiler anzeigen
      Genau genommen sind es tatsächlich nur 3 Hauptmodi. Die "Untermodi" werden wie folgt realisiert:

      1.) Im PAL-Modus kann ohne Reset in den NTSC-US-Modus umgeschaltet werden (LED blinkt 3x; Farbe bleibt grün).

      2.) Im NTSC-US-Modus kann ohne Reset in den PAL-Modus umgeschaltet werden (LED blinkt 2x; LED-Farbe bleibt orange).

      3.) Im NTSC-JP-Modus kann ohne Reset in den PAL-Modus umgeschaltet werden (LED blinkt 2x; LED-Farbe bleibt rot).

      c) Der Code von "d4s" führt beim Wechseln zwischen den Modi keinen Reset des Spiels durch - der Code von "seb" hingegen beim Wechsel zwischen PAL, NTSC-US und NTSC-JP schon.

      d) Der Code von "seb" kann mit einem Mega CD / Sega CD kombiniert werden (ein eingebautes Multibios im Mega CD / Sega CD kann ebenfalls über den PIC16F630 mitgesteuert werden) - beim Code von "d4s" ist diese Kombination hingegen nicht möglich (dies ist wohl auch der wichtigste Punkt hinsichtlich der Entscheidung zwischen beiden Codevarianten).

      e) Der Code von "borti4938" kann ebenfalls mit einem Mega CD / Sega CD kombiniert werden (wie bei "seb"), benötigt aber auch keinen Hex-Inverter (wie der Code von "d4s"). Es sind die gleichen 3 Modi wie bei "d4s" implementiert und es kann beim Einbau festgelegt werden, ob beim Umschalten der Modi ein Reset der Konsole stattfinden soll (wie bei "seb") oder nicht (wie bei "d4s"). Zudem kann man auswählen, ob die Duo-LED im NTSC-JP-Modus in orangener und im NTSC-US-Modus in roter Farbe leuchten soll (= Datei "md_switchless_us_red.hex") oder ob die Duo-LED im NTSC-JP-Modus in roter und im NTSC-US-Modus in orangener Farbe leuchten soll (= Datei "md_switchless_jp_red.hex"). Der PAL-Modus wird immer mit einer grünen LED-Farbe angezeigt. Somit stellt diese Codevariante die beste Alternative dar.



      Schritt 1 - Mit oder ohne Hex-Inverter?:

      Da Öffnen und Zerlegen beim Mega Drive sehr einfach sind, habe ich an dieser Stelle auf eine genaue Dokumentation verzichtet. Denkt aber bitte stets an folgende Punkte:
      • Konsolen niemals im laufenden Betrieb zerlegen,
      • vor dem Öffnen den Netzstecker ziehen,
      • um sicherzugehen, dass sich keine Restspannung mehr im System befindet, die Konsole vor dem Öffnen noch mindestens 1x ohne Netzstecker ein- und ausschalten,
      • um Kurzschlüsse etc. zu vermeiden, sollte man sich vor dem Zerlegen "erden" (bspw. 1x an den Heizkörper greifen)
      Wenn ihr euch bei Schritt 0 für den Code von @borti4938 oder "d4s" entschieden habt, könnt ihr nun bereits zu Schritt 2 springen. Solltet ihr euch aber für den Code von "seb" entschieden haben, müsst ihr zunächst kontrollieren, ob ihr für euren Mod einen zusätzlichen Hex-Inverter benötigt oder nicht.


      Hintergrundwissen:

      Der Code von "seb" wurde eigentlich für das Sega Saturn geschrieben, funktioniert aber auch im Mega Drive. Allerdings handelt es sich bei allen Saturn-Konsolen um sogenannte "Active-Low-Systeme". Beim Mega Drive gibt es hingegen sowohl "Active-Low-" als auch "Active-High-Systeme". Bei Letzteren wird ein Hex-Inverter benötigt.


      Doch was ist der Unterschied zwischen diesen Systemen?

      Jedes Mega Drive besitzt einen Reset-Button. Betätigt ihr diesen Button, so wird dem System über eine Spannungsänderung mitgeteilt, dass ihr diesen Knopf gedrückt habt und die Reset-Funktion wird ausgelöst.


      "Active-Low-Konsole"

      Bei einer "Active-Low-Konsole" liegen 2 Pins des Reset-Buttons im laufenden Betrieb, ohne gedrückten Reset-Button (="Normalzustand"), ständig auf +5V und 2 weitere Pins auf 0V. Wird der Reset-Button aber gedrückt (er ist also aktiv), wird die Spannung an den "+5V-Pins" auf 0V geändert. Daher spricht man hier von einer "Active-Low-Konsole", bzw. einem "Active-Low-Reset".


      "Active-High-Konsole"

      Bei einer "Active-High-Konsole" liegen ebenfalls 2 Pins des Reset-Buttons im laufenden Betrieb, ohne gedrückten Reset-Button, ständig auf +5V und 2 weitere Pins auf 0V (sind also mit GND verbunden). Wird der Reset-Button aber gedrückt (er ist also aktiv), wird die Spannung an den "0V-Pins" angehoben. Daher spricht man in diesem Fall von einer "Active-High-Konsole", bzw. einem "Active-High-Reset".


      Bedeutung für den Mod:

      Unser PIC16F630, welcher später bspw. die Region der Konsole umschaltet, wird ebenfalls über den Reset-Button gesteuert. Dies geschieht, indem er am Reset-Button "lauscht", bzw. indem das Reset-Signal nicht mehr direkt vom Reset-Button zum System geschickt wird, sondern über den Mikrocontroller PIC16F630 "in der Mitte umleitet wird".
      Wie bereits erwähnt, wurde der Code von "seb" ausschließlich für das Sega Saturn, also "Active-Low-Systeme", bei denen sich bei gedrücktem Reset-Button die Spannung von +5V auf 0V ändert, entwickelt.
      Trifft der Code nun auf eine "Active-High-Konsole", so verläuft die Spannungsänderung genau andersherum. Der PIC16F630 "missinterpretiert" daher, dass bei der Konsole permanent der Reset-Button gedrückt wird und leitet diese falsche Information an das System weiter - die Konsole "hängt somit im Dauer-Reset".
      Diese Fehlfunktion kann aber mittels eines Hex-Inverters behoben werden.


      Wie funktioniert das?

      Wird bei einer "Active-High-Konsole" der Reset-Button gedrückt, so wird ein +5V-Signal zuerst zum Hex-Inverter geschickt. Der Hex-Inverter wandelt das Signal in ein 0V-Signal um, welches der PIC16F630 anschließend am Pin "Reset in" bekommt und somit korrekt interpretieren kann.
      Nun muss das Signal aber wieder zurück ins System: Der PIC16F630 sendet über den Pin "Reset out" ein 0V-Signal zurück, welches dann der Hex-Inverter wieder in ein +5V-Signal umwandelt und an das System sendet. Somit liegt nun an jedem Bauteil die richtige Spannung an und die eingebaute "Signalumleitung" funktioniert korrekt. :)


      Wie erkennt man nun, ob man eine "Active-Low-oder "Active-High-Konsole" vor sich hat?

      a) Bei folgenden Mainboard-Revisionen ist bereits bekannt, dass ein Hex-Inverter benötigt wird:
      • IC BD M5 PAL VA4
      • IC BD M5 VA4
      • Solltet ihr weitere Boards kennen, könnt ihr diese Infos gerne posten und ich werde sie im Tutorial ergänzen. ;)
      b) Ein "Pull-Down-Widerstand" als Indikator:
      Sollte sich auf der Unterseite eurer Platine in unmittelbarer Nähe zum Reset-Schalter ein SMD-Widerstand befinden (auf dem unteren Bild das Bauteil mit der "Nummer 511"), ist dies eigentlich ein sicherer Hinweis für eine "Active-High-Konsole" (Hex-Inverter wird benötigt).




      c) Spannungsmessung:
      Da auf dem Mega Drive Mainboard maximal 5V Gleichstrom anliegen, kann meiner Meinung nach auch von Laien eine Spannungsmessung mit Multimeter (mit den korrekten Einstellungen) im laufenden Betrieb relativ problemlos durchgeführt werden.
      Der Reset-Button ist (wie bereits erwähnt) stets über 2 Beinchenpaare mit der Platine verbunden. Ein Paar ist dabei immer mit Masse (GND) in Kontakt und das andere Paar mit +5V. Welches Paar was ist, findet ihr am besten heraus, indem ihr bei nicht gedrücktem Reset-Button die Spannung zwischen den 4 Beinchen des Reset-Buttons (roten Messfühler ansetzen) und einer Massefläche (bspw. das große Wärmeleitblech am Mainboard links oben; schwarzer Messfühler) messt.
      Beträgt die Spannung 0V, so habt ihr ein "Masse-Beinchen(paar)" identifiziert.
      Beträgt die Spannung hingegen 5V, so habt ihr ein "+5V-Beinchen(paar)" entdeckt.
      Merkt euch die Polung und setzt nun den schwarzen Messfühler an einem "Masse-Beinchenund den roten Messfühler an einem "+5V-Beinchen" an (das Multimeter zeigt zunächst 5V an) und drückt dann zusätzlich den Reset-Button.
      Zeigt das Multimeter nun 0V an, so handelt es sich um eine "Active-Low-Konsole" (kein Hex-Inverter wird benötigt), ändert sich der Wert auf dem Multimeter hingegen nur leicht in Richtung 0V (zeigt z.B. ca. 2,5V an*), so besitzt ihr eine "Active-High-Konsole" (Hex-Inverter wird benötigt).

      *
      Spoiler anzeigen
      Die Spannung verringert sich hier ebenfalls, da am "Masse-Beinchenpaar" die Spannung angehoben wird und somit der Spannungsunterschied zwischen "Masse-Beinchenpaar" und "+5V-Beinchenpaar" kleiner wird.

      Nun sollte klar sein, ob für den Umbau ein Hex-Inverter benötigt wird oder nicht. Der Einbau des Hex-Inverters erfolgt dann bei Schritt 5.



      Schritt 2 - Bedeutung und Funktion der Jumper:

      Bei jedem Sega Mega Drive / Genesis der 1. Generation lassen sich auf dem Mainboard die markanten Jumper JP1 bis JP4 finden. Sie sind teilweise unterschiedlich angeordnet, funktionieren aber immer nach dem gleichen Prinzip: JP1 und JP2 legen die Region der Konsole fest (englisch oder japanisch) und JP3 und JP4 sind für den Video-Mode (50Hz oder 60Hz) zuständig. Die Konfiguration der Konsole wird dabei über eine Verbindung der Jumper-Punkte mit +5V oder mit GND (Masse) festgelegt.
      Im folgenden Bild ist die "Ausgangskonfiguration" einer jeden Konsole zu sehen. Interessant erscheint dabei, dass die Punkte JP1 und JP2 sowie JP3 und JP4 immer eine Einheit bilden, also miteinander verbunden sind (linke Seite).
      Bezüglich der rechten Seite kann ich nicht mit Sicherheit sagen, ob wirklich bei jeder Konsole JP1 und JP3 immer einem "+5V-Punkt", bzw. JP2 und JP4 immer einem "GND-Punkt" gegenüberliegen (daher solltet ihr das stets überprüfen). Wäre dies nicht der Fall, gebt mir bitte Bescheid, damit ich die Info hier aufnehmen kann. ;)




      Welcher Regions- und Videomodus bei den Konsolen standardmäßig aktiviert ist, kann folgender Tabelle entnommen werden:


      Konsolenversion
      Region
      Video-Mode
      JP1 & JP2
      JP3 & JP4
      PAL
      +5V
      GND
      NTSC-US
      +5V
      +5V
      NTSC-JP
      GND
      +5V



      Achtung! Falls bei eurer Konsole ein Elektrolytkondensator mit 47µF/10V bei JP1 verbaut sein sollte, lötet den besser aus. Ich hatte bereits eine Konsole, bei der aufgrund des Elkos die Regionsumschaltung nicht funktionierte.


      Hier noch ein paar Beispiele aus der Praxis:
      Spoiler anzeigen
      Ein "IC BD M5 VA6-Board" aus einem japanischen Mega Drive. Optisch scheint es, als ob gar keine Jumperverbindungen vorhanden wären. Tatsächlich sind aber die Jumperverbindungen auf der Unterseite des Mainboards gesetzt (JP1/JP2 auf GND und JP3/JP4 auf +5V):




      Ein "IC BD M5 PAL VA5-Board" - man sieht sehr gut, dass JP1/JP2 auf +5V liegen und JP3/JP4 auf GND (auch wenn die Reihenfolge der Jumper hier anders ist):


      Teilweise existieren auch Versionen, bei denen bei JP1 oder JP2 ein Elektrolytkondensator verbaut wurde. Diesen solltet ihr am besten auslöten, damit der anschließende Mod auch definitiv funktioniert.



      Schritt 3 - Das Mainboard für den Mod vorbereiten:

      Jetzt solltet ihr genau wissen, wie die für den Mod relevanten Punkte auf eurem Board konfiguriert sind, weshalb ihr nun das Board für den Einbau des PIC16F630 (und ggf. für den Hex-Inverter) vorbereiten könnt.


      Die "Umleitung" für den Reset-Button:

      Zunächst kümmern wir uns um den Reset-Button, bei dem eine Leiterbahn mit einem Skalpell oder Cuttermesser durchtrennt werden muss. Der Cut muss logischerweise immer an dem Beinchenpaar gesetzt werden, bei dem ihr bei Schritt 1 eine Spannungsänderung durch Betätigung des Buttons festgestellt habt.
      Überprüft anschließend mit dem Multimeter (Modus Durchgangsprüfung), ob die Verbindung tatsächlich gekappt ist.
      Hier die Rück- und Vorderseite einer "Active-Low-Konsole" (siehe Schritt 1). Ich habe auch gleich die Lötpunkte für "Reset in" und "Reset out" eingezeichnet: ;)





      Solltet ihr eine "Active-High-Konsole" modden, muss der Cut immer nach dem "Pull-Down-Widerstand" (Bauteil mit der "Nummer 511") gesetzt werden. Auch hier habe ich gleich die Lötpunkte für "Reset in" und "Reset out" (der Leiterbahn folgen oder den grünen Lötstopp-Lack vorsichtig abkratzen) eingezeichnet:






      Zwei Jumperverbindungen trennen:

      Als nächstes müssen die 2 Jumperverbindungen zu +5V und / oder GND getrennt werden, da wir diese später durch unseren Mod individuell setzen lassen wollen. Schaut euch dazu die Tabelle bei Schritt 2 an und kappt die 2 Verbindungen je nach eurer Konsolenversion (PAL & JAP: 1x +5V und 1x GND; US: 2x +5V). Beachtet dabei, dass es auch Mainboards gibt, bei denen die Jumperverbindungen auf der Rückseite gesetzt sind.
      Überprüft auch hier anschließend wieder mit dem Multimeter, ob die Leiterbahnen tatsächlich getrennt sind.



      Schritt 4 - Einbau der LED:

      Damit ihr später auch erkennt, welcher Modus bei eurer Konsole gerade aktiv ist, solltet ihr die originale rote LED durch eine sogenannte Duo-LED ersetzen. Dremelt oder bohrt dazu vorsichtig die LED-Halterung auf der Innenseite der Gehäuseoberschale auf und entfernt die originale 3mm-LED.
      Danach erweitert ihr das Loch solange, bis eure Duo-LED (3mm oder 5mm) gut hineinpasst. Achtet dabei aber darauf, dass ihr das vorhandene Loch nur auf- und nicht durchbohrt, damit die LED-Abdeckung auf der Außenseite nicht beschädigt wird!
      Im Bild seht ihr das aufgebohrte Loch für eine 3mm-LED:




      Optional: Um Kurzschlüsse zu vermeiden, könnt ihr die Beinchen der LED vor dem Einkleben mit Schrumpfschlauch isolieren.
      Danach könnt ihr die LED einsetzen und mit Heißkleber fixieren.
      Des Weiteren könnt ihr hier gleich den 220Ω-Widerstand an das mittlere Beinchen der LED anlöten.



      Schritt 5 - PIC16F630 (und ggf. den Hex-Inverter) einsetzen und verkabeln:

      Nun könnt ihr den beschriebenen PIC16F630 mit Heißkleber auf der Platine fixieren und entsprechend eures gewählten Codes (siehe Schritt 0) verkabeln. Orientiert euch dabei an folgender Grafik (einfach anklicken):

      • GND und +5V könnt ihr bei den Jumpern (siehe Schritt 2) abgreifen
      • Pin Sprache out wird mit JP1 oder JP2 verbunden (gegenüber dem "+5V-" oder "GND-Lötpunkt")
      • Pin 50/60Hz out wird mit JP3 oder JP4 verbunden (gegenüber dem "+5V-" oder "GND-Lötpunkt")
      • das mittlere Beinchen der LED (also das mit dem Widerstand; siehe Schritt 4) kann enweder mit dem GND-Pin am PIC16F630 oder mit einer beliebigen Massefläche auf dem Mainboard verbunden werden
      • optional kann noch ein 100nF-Keramikkondensator zwischen den GND- und den +5V-Pin des PIC16F630 gelötet werden; eine Begründung dazu kann hier nachgelesen werden ;)




      Anmerkung zum Code von @borti4938:
      • Es kann eingestellt werden, ob beim Umschalten zwischen den 3 verfügbaren Modi ein Reset der Konsole stattfinden soll (wie bei "seb") oder nicht (wie bei "d4s"). Dies wird gesteuert, indem Pin 4 (/RoMC) mit Pin 14 (GND) verbunden wird (Reset findet statt) oder mit Pin 1 (5V) verbunden wird (kein Reset).
      • verwendet man eine Duo-LED mit Common Cathode, muss Pin 7 (LED Typ) mit Pin 14 (GND) verbunden werden
      • verwendet man eine Duo-LED mit Common Anode, muss Pin 7 (LED Typ) mit Pin 1 (5V) verbunden werden




      Solltet ihr den Code von "seb" in Verbindung mit einer "Active-High-Konsole" verwenden (siehe Schritt 1), müsst ihr diesem Anschlussplan folgen:




      Dabei ist es wichtig, dass bei dem Hex-Inverter an allen Eingängen ein definiter Pegel anliegt, damit das Bauteil stets korrekt arbeitet. Verbindet daher am besten alle ungenutzten Eingänge mit +5V (siehe Grafik).
      Optional kann auch hier ein 100nF-Keramikkondensator zwischen GND und +5V gesetzt werden.



      Schritt 6 - Finaler Funktionstest:

      Schließt nun euer Mega Drive / Genesis mit einem RGB-SCART-Kabel an den TV an. Folgende Modi sollten nun bei euch mittels der Reset-Taste aktiviert werden können:

      LED leuchtet grün:
      • = PAL-Modus
      • alle Spiele werden in 50Hz und mit "PAL-Balken" abgespielt
      • später erschienene japanische oder amerikanische Spiele mit einem sogenannten "Region-Lock" werden nicht abgespielt
      • nur Code von "seb": wird der Reset-Button nochmals kurz betätigt (LED blinkt 3x grün), laufen die Spiele ohne Neustart in 60Hz und ohne "PAL-Balken" (ist eigentlich der NTSC-US-Modus)
      LED leuchtet orange:
      • = NTSC-US-Modus (beim Code von @borti4938 (Datei "md_switchless_us_red.hex") ist der NTSC-US-Modus allerdings rot)
      • alle Spiele werden in 60Hz und ohne "PAL-Balken" abgespielt
      • später erschienene japanische oder europäische Spiele mit einem sogenannten "Region-Lock" werden nicht abgespielt
      • nur Code von "seb": wird der Reset-Button nochmals kurz betätigt (LED blinkt 2x orange), laufen die Spiele ohne Neustart in 50Hz und mit "PAL-Balken" (ist eigentlich der PAL-Modus)
      LED leuchtet rot:
      • = NTSC-JP-Modus (beim Code von @borti4938 (Datei "md_switchless_us_red.hex") ist der JP-Modus allerdings orange)
      • alle Spiele werden in 60Hz und ohne "PAL-Balken" abgespielt
      • europäische und amerikanische Spiele, bei denen (teilweise) ein sonst nicht sichtbarer japanischer Text implementiert wurde (bspw. bei Columns), zeigen diesen Test nun an
      • später erschienene amerikanische oder europäische Spiele mit einem sogenannten "Region-Lock" werden nicht abgespielt
      • nur Code von "seb": wird der Reset-Button nochmals kurz betätigt (LED blinkt 2x rot), laufen die Spiele ohne Neustart in 50Hz und mit "PAL-Balken" (ist eigentlich der PAL-Modus)
      Wird die Konsole nach dem Spielen ausgeschaltet, so wird der zuletzt ausgewählte Modus gespeichert und nach erneutem Einschalten des Gerätes wieder aktiviert.

      Natürlich hat der Reset-Button auch noch seine ursprüngliche Funktion: Wird die Taste nur kurz gedrückt, wird ein normaler Reset der Konsole ohne Modusänderung durchgeführt.

      Der Code von @borti4938 hat hierbei ein nettes Feature: Die LED geht beim Durchschalten der Modi zunächst kurz aus und fängt danach entsprechend der 3 Modi an, durch die Farben zu schalten. Somit weiß man genau, wann man die Reset-Taste loslassen muss, damit tatsächlich auch ein Umschalten der Modi und nicht nur ein einfacher Reset der Konsole erfolgt.

      Wenn nach den Testen alles ordnungsgemäß funktioniert, könnt ihr die Konsole wieder zusammensetzen und mit dem Zocken beginnen. :D


      Bei Fragen etc. schreibt einfach ins Forum ...

      Dieser Beitrag wurde bereits 27 mal editiert, zuletzt von n00b ()

    • Schönes Tut. Habs mir aber noch nicht ganz angesehen. Das mache ich später mal in Ruhe.

      Was mir gerade aufgefallen ist: (kann übers smartphone keine Zitate machen)

      b) Der Code von "d4sbesitzt die 3 gebräuchlichen Modi PAL+50Hz, NTSC-US+60Hz und NTSC-JAP+60Hz. Der Code von "sebbesitzt hingegen 6 Modi: PAL+50Hz, PAL+60Hz, NTSC-US+50Hz, NTSC-US+60Hz, NTSC-JAP+50Hz und NTSC-JAP+60Hz (wobei m. E. die Modi PAL+60Hz, NTSC-US+50Hz und NTSC-JAP+50Hz so gut wie nie genutzt werden).

      Das MD hat doch nur zwei Jumper. Einen für die Sprache (english oder jap) der andere für die Bildfrequenz (50 oder60hz). Demnach kann es doch nur max vier Modi geben. PAL+60hz ist das selbe wie NTSC-US+60hz. Englische Sprache und 60hz Bild. Genau das selbe wie bei PAL+50 und NTSC-US+50.

      Dann die Aussage das der code von d4s nicht fürs Sege CD geeignet ist würde ich noch mal etwas anpassen. Natürlich ist er fürs Sega CD geeignet. Nur nicht für einen Multibios Umbau ohne Schalter. Also entweder nen Schalter verbauen oder zur Altanatieve eine gehackte Unibios greifen.

      Ich werde auch nicht müde das immer wieder zu schreiben. ;)
      [+ ..]
    • Ja, im Prinzip liegst du mit den Modi von "sebrichtig. Allerdings behält die LED die "Regions-Farbebei und es wird an dieser Stelle kein Reset der Konsole durchgeführt. Daher könnte man hier wohl für "Außenstehendetatsächlich von 6 Modi (3 Haupt- und 3 Untermodi) sprechen, während es genau genommen tatsächlich nur 3 Modi wären...

      Exakt wäre es so (habe es mal als Spoiler eingefügt):

      1.) Im PAL-Modus kann ohne Reset in den NTSC-US-Modus umgeschaltet werden (LED-Farbe bleibt grün).

      2.) Im NTSC-US-Modus kann ohne Reset in den PAL-Modus umgeschaltet werden (LED-Farbe bleibt orange).

      3.) Im NTSC-JAP-Modus kann ohne Reset in den PAL-Modus umgeschaltet werden (LED-Farbe bleibt rot).

      Die Infos zum Mega CD habe ich nun auch noch etwas detaillierter dargestellt. ;)

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von n00b ()

    • Mal was zum Warmwerden mit dem MegaDrive ^^



      Warum macht man etwas neu, wo es schon zwei Codes gibt? Na ganz einfach, weil ich es kann :P Ich war mit beiden Codes nicht zufrieden und habe deswegen einen eigenen Code geschrieben. Meine Features:
      • Automatisches Erkennen von high-active- und low-active-reset
      • 20ms Software-Entprellung des Resetknopfes
      • Jumper zum Einstellen:
        • Automatischer Reset bei Sprachenwechsel, oder
        • kein Reset bei Sprachenwechsel (Sprachenbit wird dann erst bei manuellem Reset oder Konsolenneustart gesetzt)
        • Unterstützung einer Dual-LED mit gemeinsamer Anode oder gemeinsamer Kathode (über Jumper einstellbar)
      • Invertierter Video-Ausgang
      • Sleep-Modi während der Resetknopf nicht gedrückt wird

      Wer testen möchte - nur zu ^^

      Brainfuck-Quellcode

      1. ; -----------------------------------------------------------------------
      2. ;
      3. ; pin configuration:
      4. ;
      5. ; ,-----_-----.
      6. ; +5V |1 14| GND
      7. ; Reset Button (in) |2 A5 A0 13| free
      8. ; Reset Line (out) |3 A4 A1 12| free
      9. ; /RoLC (in) |4 A3 A2 11| /Language (out)
      10. ; (green) LED (out) |5 C5 C0 10| Language (out)
      11. ; (red) LED (out) |6 C4 C1 9| Videomode (out)
      12. ; LED_TYPE (in) |7 C3 C2 8| /Videomode (out)
      13. ; `-----------'
      14. ;
      15. ; Special purposes for pins:
      16. ;
      17. ; Pin 4 (RoLC = reset on language change)
      18. ; low = RoLC on - pic resets console if language bit has to be changed
      19. ; high = RoLC off
      20. ; -----------------------------------------------------------------------
      21. ;
      22. ; mode description:
      23. ;
      24. ; mode 1 = PAL: 50Hz, LED green
      25. ;
      26. ; mode 2 = NTSC: 60Hz, LED red
      27. ;
      28. ; mode 4 = JAP NTSC: 60Hz, LED orange
      29. ;
      30. ; -----------------------------------------------------------------------
      Alles anzeigen
      Dateien
      Ich verkaufe recht selten Moddingsachen > Bitte schreibt mir keine PNs mit direkten Anfragen. Manchmal habe ich etwas im Trödel gelistet.

      Bitte keine allg. Fragen per PN > Allgemeine Fragen gehören ins Forum - dafür ist es ja da - und nicht per PN an mich.

      Projekte: GitHub

      Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von borti4938 ()

    • Grad was Interessantes gesehen: Das MD1 - zumindest mein VA4 Board - erkennt selber, ob der Resetknopf als active-high oder -low angeschlossen ist. Es ist egal, wie herum ich den Resetausgang triggere, es funktioniert sowohl in die eine, als auch in die andere Richtung. Hauptsache der Ausgangszustand ändert sich kurzweilig :P

      Edit: Der Code nimmt natürlich trotzdem das am Ausgang, was der Resetknopf vorgibt. Sicher ist Sicher :)

      Code-Update ist einen Post hier drüber. Jetzt mit /Language-Ausgang zur Multi-BIOS-Steuerung. Gestern ganz vergessen ^^
      Ich verkaufe recht selten Moddingsachen > Bitte schreibt mir keine PNs mit direkten Anfragen. Manchmal habe ich etwas im Trödel gelistet.

      Bitte keine allg. Fragen per PN > Allgemeine Fragen gehören ins Forum - dafür ist es ja da - und nicht per PN an mich.

      Projekte: GitHub

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von borti4938 ()

    • Moin,

      ich habe heute endlich Zeit gefunden, mein VA4 MD1 mit einem Switchless auszustatten (Code von Seb).

      Beim Funktionstest funktioniert der normale Reset allerdings nicht. Die Umschaltung zwischen US/JAP/EU und 50/60 Hz funktioniert ohne Probleme, allerdings funktioniert der ganz normale Reset nicht!

      Hex-Inverter ist wie in der Anleitung beschrieben eingebaut.

      Wo dran kann das liegen?
    • So die Leiterbahn ist wirklich durch. Allerdings habe ich gerade festgestellt, dass wenn ich den Durchgang zwischen Reset In und Reset Out messe zwar kein Piepen kommt vom Multimeter allerdings zeigt er einen Wert an anstatt der 1 und dem Piepen.

      Muss ich evtl. Reset In an Reset Out und umgekehrt an den Hex-Inverter anschließen?
    • Also Reset in und Reset out stehen ja miteinander in "indirekter Verbindung". Daher zeigt dein Multimeter auch was an.

      Wenn der Hex-Inverter der gleiche wie in der Anschlussgrafik ist, kannst du dich auch nach dieser Anschlussgrafik richten. Schau aber bitte nochmal, dass alle 4 Reset-Kabel (also die an der Konsole und die, die die Verbindung zwischen Hex-Inverter und PIC herstellen) bei dir nicht vertauscht sind...
    • Jap habe gerade alles nochmal geprüft.

      Ich hab auch testweise mal Reset In und Out am Hex-Inverter getauscht. Da wechselt dann nur die Farbe der LED durchgehend :D


      Weiß ist bei mir Reset Out und Schwarz Reset In
      Bilder
      • DSC_0691crop.jpg

        817,65 kB, 3.840×2.160, 441 mal angesehen
    • Wie testest du denn den "normalen Reset"? Bei geöffneter Konsole kurz mit dem Finger auf den Gummibutton drücken? Wenn ja - manche Gummis sind im Laufe der Zeit schon sehr ausgeleiert - probier daher mal mit der Platikverlängerung, die im Gehäuse sitzt, zu reseten...
    • n00b schrieb:

      Wie testest du denn den "normalen Reset"? Bei geöffneter Konsole kurz mit dem Finger auf den Gummibutton drücken? Wenn ja - manche Gummis sind im Laufe der Zeit schon sehr ausgeleiert - probier daher mal mit der Platikverlängerung, die im Gehäuse sitzt, zu reseten...
      Genau. Habe die Konsole noch nicht wieder zusammengebaut. Vielleicht sollte ich das mal machen.


      Zu den Bildern:

      Hex-Inverter Bild:
      Anschlüsse rechte Seite des ICs von unten nach oben: Reset Out an PIC (weiß), Reset Out an Board (weiß), Reset In an Board (Schwarz), Reset In an PIC(schwarz). Die Grünen Kabel sind die 5V-Verbindungen
      Auf der linken Seite ist von unten nach oben: GND an PIC (Schwarz), 5V an PIC (weiß)

      PIC:
      linke Seite: LED-Verbindungen (rot und Grün), 5V von JP1 (weiß) und an Hex-Inv, GND (schwarz)
      rechte Seite von unten nach oben: Kabel für MCD-Umschaltung (geht zum Expansion-Port, weiß), Kabel zu JP1 (grün), MCD-Switch (blau), Reset Out an HexInv (weiß), Kabel zu JP3 (blau), Reset In an HexInv (schwarz)

      Hoffentlich steigst du da durch :D
      Bilder
      • hexinverter.jpg

        768,26 kB, 3.840×2.160, 390 mal angesehen
      Dateien
      • pic.jpg

        (1,15 MB, 372 mal heruntergeladen, zuletzt: )
    • Streets schrieb:

      Hey Storm,
      schön dass du auch mal wieder vorbei schaust. Hab mich schon gefragt wo du abgeblieben bist :smt006
      Auch wenns offtopic ist:
      Ich war lange nicht im Board aktiv, da ich eine kleine Auszeit von den Konsolen gemacht hab. Ein großer Grund war auch meine neue Freundin :) Aber heute hat mich mal wieder die Bastel-Laune gepackt :D
    • Ja, schaut von der Verkabelung alles okay aus und eigentlich funktioniert der Button ja auch, da du sonst nicht zwischen den Regionen wechseln könntest. Von daher gehe ich davon aus, dass der Gummi des Reset-Buttons nur ein wenig ausgeleiert ist und daher nicht mit dem Finger so richtig gut bedienbar ist. Wenn der Deckel auf dem MD wieder drauf ist, sollte alles laufen...
    • Wenn nichts hilft, dann lass einfach mal den Inverter am Ausgang weg - das Sega stellt sich eh automatisch auf die Reset-Art ein ;)
      Ich verkaufe recht selten Moddingsachen > Bitte schreibt mir keine PNs mit direkten Anfragen. Manchmal habe ich etwas im Trödel gelistet.

      Bitte keine allg. Fragen per PN > Allgemeine Fragen gehören ins Forum - dafür ist es ja da - und nicht per PN an mich.

      Projekte: GitHub
    • genau das meine ich ;)
      Ich verkaufe recht selten Moddingsachen > Bitte schreibt mir keine PNs mit direkten Anfragen. Manchmal habe ich etwas im Trödel gelistet.

      Bitte keine allg. Fragen per PN > Allgemeine Fragen gehören ins Forum - dafür ist es ja da - und nicht per PN an mich.

      Projekte: GitHub
    • Ich habs geschafft!

      Die Fehlerquelle war ein nicht mehr durchverbundener Via (oder Durchkontaktierung). Das habe ich festgestellt als ich die Leiterbahn vom Reset Out verfolgt habe. Als ich das repariert habe hat es funktioniert! ::dance2::

      Und borti hat recht mit dem Reset-Ausgang. Es ist vollkommen egal beim VA4 ob der Reset-Out Active-High oder Active-Low ist.

      Nun gehts an das MegaCD2 mit MultiBios :)
    • Ja genau.
      Und Pull-Up wird immer innen im IC erzeugt. Daher hast du bei einer Active Low Konsole keinen Wiederstand der den Pin auf +5V zieht. Das passiert intern im IC.
      [+ ..]

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von mi213 ()

    • Richtig :) Und jetzt denke dir intern im IC4 (sowohl links als auch rechts) noch n Pull-Up mit ~8kOhm (reiner Schätzwert), damit die Leitung nicht in der Luft hängt, wo kein Widerstand gegen Masse ist. Deswegen ist auch in der rechten Schaltung die Leitung zum IC4 in der rechten Schaltung nicht ganz auf Masse bei nichtgedrücktem Schalter.

      Der IC4 passt sich halt dem Resetknopf an. Warum Sega die Resetknöpfe unterschiedlich beschaltet hat, weiß wohl keiner so recht :whistling:

      Edit: mi213 war schneller. Nur musst du 'meist' in 'immer' ändern ;)
      Ich verkaufe recht selten Moddingsachen > Bitte schreibt mir keine PNs mit direkten Anfragen. Manchmal habe ich etwas im Trödel gelistet.

      Bitte keine allg. Fragen per PN > Allgemeine Fragen gehören ins Forum - dafür ist es ja da - und nicht per PN an mich.

      Projekte: GitHub