[TUT] Switchless Multicartridge

  • Was ist das Ziel dieses Tuts?


    Wir wollen uns ein Modul bauen, bei dem wir, durch betätigen des RESET-knopfes zwischen zwei (oder mehreren) Spielen hin und her schalten können
    Nebenbei zeigt es auch eine relativ einfache Methode wie man bequem 4 EPROMs in einem Modul unterbringen kann, ohne viele Leitungen ziehen zu müssen



    Was wird benötigt?


    Neben dem normalen Gerät, wie Lötkolben, Lötzinn, Leitungen etc. benötigen wir:


    Opfermodul (in meinem Fall Troy Aikman football)
    Den 74LS139 demultiplexer
    Den 74HC393 Binary counter
    EPROMs


    und Optional


    Passend großen SRAM
    Zwei LEDs und Vorwiderstände



    By chiller3k at 2011-10-16


    Los gehts:


    Als erstes müsst ihr natürlich die EPROMs beschreiben und beschriften. Ich gehe mal davon aus, inzwischen sollte bekannt sein, wie.
    Ich benutze swapbin, wenn ihr es ohne swapbin macht, müsst ihr natürlich mehr pins umverdrahten, als ich.


    Dann befreien wir das Opfermodul von den Maskroms.


    Wenn ihr zwei Spiele benutzt, die beide z.B. 64Kbit SRAM benötigen und das Opfer nur 64Kbit SRAM hat,
    müsst ihr auch den SRAM auslöten und braucht mindestens einen 128Kbit SRAM.
    Ich benutze einen 256 Kbit, da ich den eh noch rumliegen hatte.


    So siehts dann hinterher aus.



    By chiller3k at 2011-10-16


    Jetzt müssen wir noch die verbindungen zu maskROM pin #31 auf der platine weg kratzen.
    Siehe Bild.



    By chiller3k at 2011-10-16


    74LS139 und 74HC393 verbinden


    Als nächstes werden der 74LS139 und 74HC393 verbunden. Dazu habe ich beim 74LS139 alle Pins bis auf Pin 3, 8 und 16 hoch gebogen und
    anschließend so auf den 74HC393 gesetzt, dass bei beiden pin 3 verbunden ist und pin 16 vom 74LS139 mit pin 14 vom 74HC393.
    Pin 8 vom 74LS139 wird dann so gebogen, dass man ihn leicht mit pin 7 vom 74HC393 verlöten kann. Siehe Bild.



    By chiller3k at 2011-10-16


    Ihr könnt sie auch mit leitungen verbinden, aber ich fand es so unkomplizierter. Ich würde es empfehlen auch die pins vom 74HC393
    hoch zu biegen, da es sons nicht wirklich gut ins Modul passt.


    Anlöten des SRAM


    Als nächstes nehmt ihr euren SRAM (in meinem fall den 256 Kbit SRAM). Hier biege ich pin #26 (A13) nach Oben. Jetzt kann der SRAM eingelötet werden.
    (A14 liegt anschließend auf GND, aber da ich eh nur 128Kbit benötige, ist das nicht schlimm. Wenn eure Spiele mehr benötigen, oder ihr 4 Spiele habt, die 64kbit benötigen,
    müsst ihr entsprechend überlegen wir die Adresslines beschaltet werden müssen)
    Das ganz sieht jetzt so aus.



    By chiller3k at 2011-10-16


    Als nächstes nehmen wir uns einen Seitenschneider und knipsen die pins auf der Unterseite der Platine an folgenden stellen so kurz wie möglich:


    pin #1, #22, #22, #27, #28


    Als nächstes löten wir eine (genügend lange leitung) an #26 der Platine (das ist das RESET-signal).



    EPROMs einlöten


    Jetzt nehmen wir zwei unserer EPROMs und biegen bei beiden pin #24 hoch (/OE) und löten sie in die beiden MaskROM slots.
    merkt euch, welchen EPROM ihr wo einlötet.


    Anschließens nehmen wir uns zwei Leitungen und verbinden bei beiden EPROMs pin #24 auf der Platine mit pin #31 des EPROMs. (Leitung so legen, dass sie NICHT innen liegt)
    Das ganze sollte dann so aussehen:



    By chiller3k at 2011-10-16


    jetzt nehmen wir die beiden anderen EPROMs und knicken die beinchen unten an den EPROM heran und legen den einen auf die unterseite des oberen EPROMs und
    den anderen auf die Unterseite des SRAM. Als nächstes könnt ihr einmal testen, ob ihr es genug umgeknickt habt, indem ihr die platine ins Modul legt und den Deckel schließt.
    Für den Fall das sich der Ein oder Andere wundert: wir löten den EPROM nicht unter den ersten EPROM, da sich das (europäische) Modul dann nicht mehr schließen lässt.


    Das ganze sieht dann in etwa so aus:



    By chiller3k at 2011-10-16


    Jetzt können wir bei dem Eprom, der nicht unterm SRAm angebracht ist, alle Pins mit dem andern EPROM verbinden (bis auf pin #24 natürlich, aber da dort eh kein pin steht wäre das eh schwierig ;))


    Der Eprom der mit dem SRAm verbunden wird, wird so gelegt, dass pin #16 und #17 des EPROMS an pin #14 und #15 des SRAM anliegen.
    Hier werden alle pins verbunden bis auf #1, #22, #22, #26, #27, #28 (die wurden vorher gekürzt, um ungewollte Verbindungen zu verhindern)


    Das ganze sollte jetzt in etwa so aussehen:



    By chiller3k at 2011-10-16


    Sollte der EPROM durch den Lötpunkt des Kondensators zu hoch stehen, könnt ihr die Lötstelle erhitzen und den Kondensator etwas raus drücken, so dass er nichtmehr so weit heraus ragt.


    Jetzt müssen noch die nicht verbundenen pins des Eproms verbunden werden. Ich habe dazu IDE-Kabel benutzt, da sie nicht viel Platz wegnehmen und man mehrere zusammen lassen kann.
    (Alle freien pins, bis auf #26(/OE) werden einfach mit den gleichen pins des anderen EPROMs verbunden, siehe Bild)



    By chiller3k at 2011-10-16


    (Wer genau hinschaut wird sehen, dass ich hier aus versehen das kabel verdreht habe und die drei ersten pins falsch angeschlossen hatte
    Bei dem einen pin ist mir am Bord auch die Öse abgegangen, darum die zusätzliche Leitung unten)




    Beschalten des 74LS139 und 74HC393



    Je nachdem, ob ihr LEDs zum anzeigen des aktiven Spiels benutzen wollt, wird der 74LS139 unterschiedlich beschaltet.


    Code
    MAD-1 #4 |01\/16| +5V
    	      	        A20 |02   15| GND		(nur wenn ihr LEDS benutzen wollt)
    	       74HC393 #3   |03   14| 74HC393 #3		(nur wenn ihr LEDS benutzen wollt)
    Spiel 1 Eprom 1 #24 (/OE)   |04   13| GND		(nur wenn ihr LEDS benutzen wollt)
    Spiel 1 Eprom 2 #24 (/OE)   |05   12| LED #1 Kathode	(nur wenn ihr LEDS benutzen wollt)
    Spiel 2 Eprom 1 #24 (/OE)   |06   11| LED #2 Kathode	(nur wenn ihr LEDS benutzen wollt)
    Spiel 2 Eprom 2 #24 (/OE)   |07   10| NC(frei lassen)
    			GND |08   09| NC(frei lassen)



    Um euch das googeln zu ersparen: Anode --|>|-- Kathode
    Je nachdem was für ein Opfer ihr benutzt könnt ihr A20 an unterschiedlichen Punkten abgreifen.
    Bei mir war es ein Pin am MAD-1. Zur Not einfach mal durchmessen.




    74HC393

    Code
    RESET  |01\/14| +5V
    		      GND  |02  13| NC
    	       74LS139 #3  |03  12| NC
    	   	       NC  |04  11| NC
    		       NC  |05  10| NC
    		       NC  |06  09| NC
    		      GND  |07  08| NC


    Die NC pins können theoretisch auch abgeknipst werden, so minimiet ihr das Risiko, dass irgendwelche ungewollten Kurzschlüsse entstehen.
    RESET ist die Leitung, die wir am Anfang an #26 der Platine unterm SRAM angebracht haben.


    Der pin #26 des SRAm, den wir hochgebogen haben, muss ebenfalls noch mit an pin #3 vom 74HC393.




    Wenn man keine LEDs benutz ist man jetzt fertig.


    Mit LEDs


    Möchte man zusätzlich noch LEDs anbringen, muss man am Modul entsprechend 2 löcher ausbohren und die LEDs hineinkleben.



    By chiller3k at 2011-10-16


    Jetzt wird an die Anoden beider LEDs 5V angelegt. Und der 74HC393 über einen entsprechenden Vorwiderstand entsprechend es beschaltungsplans oben an die Kathoden.
    (Ich habe low current LEDs und 1K Vorwiderstände genommen)


    Das ganze sollte jetzt in etwa so aussehen:



    By chiller3k at 2011-10-16


    Und so siehts im Einsatz aus:

    By chiller3k at 2011-10-16

    By chiller3k at 2011-10-16


    Hoffe es war alles verstädnlich beschrieben und vielleicht kanns der Ein oder Andere gebrauchen.
    Fragen gerne posten.


    mfg
    Chiller3k

  • Saubere Arbeit. Finde ich total Klasse!


    Das muss ich mir noch mal in Ruhe durchlesen.
    Mit der reset-Funktion finde ich schon klasse, aber mir währe eine Schalterversion lieber wegen mehr Kontrolle über das gewünschte Game.


    PS: Wer einen großen SRAM Speicher für günstiges Geld sucht, sollte nach einem Mario Paint Ausschau halten.

  • Also für Zelda AST auf 2 TSOPs hab ich Red nen PIC programmiert um zwischen den 4 Games zu switched per RESET. Wenn interesse besteht, kann ich die hex mit beschreibung auch mal reinstellen

  • Jo, klar. Interesse habe ich daran!
    Aber auch hier währe mir eine Steuerung über Kippschalter lieber, da man so mehr Kontroller hat bzw gezielter das Wunschgame wählen kann. Glaube aber das es keinen Kippschalter mit 4 Stellungen bekommt, da müsste man wohl mit 2 Kippschaltern arbeiten.


    Zum SNES2TSOP: Ist das schon getestet? Könnte man auch einen SNES2TSOP mit 2x 16Mbit games damit nutzen? Welchen PIC hast du verwendet?

  • jo is getestet.
    Hat Red auchn video von. [SNES] [Final] Zelda - The Ancient Stone Tablets
    Glaub aber als er das video gemacht hatte war noch nich alles 100% richtig verdrahtet, darum hat er n paar cuts drin ^^
    Aber Jetz läufts glaube ich alles wie gewollt.
    Mit 2 * 16Mbit geht auch.
    der PIC den ich benutzt habe für 4 * 16Mbit TSOP war der gleiche, den auch ikari fürn SuperCIC genommen hat, der 16F630
    Ich könnte das ganze glaube ich auch auf den 12F508 porten, aber dann hätte man keine LED anzeige ;)
    wenn man nur zwischen 2 TSOPs mit 32Mbit wechseln will kann man glaube ich einfach 2 Kippschalter benutzen, die jweils an die /CEs gehen, wenn du das lieber hast


    (Wenn du den mod mit den EPROMs auch lieber mit kippschalter haben willst, kannst du auch einfach nen Kippschalter statt dem binary counter an pin #3 des 139ers hängen)


    Gruß
    Chiller

  • der PIC den ich benutzt habe für 4 * 16Mbit TSOP war der gleiche, den auch ikari fürn SuperCIC genommen hat, der 16F630


    Super, den habe ich noch hier. Kannst du mir den Code für den Pic mal zu kommen lassen? Würde das dann auch mal testen. Mit red muß ich dann die Tage mal über die verkabelung quatschen. ^^
    Zum löten komme ich aber wohl erstmal nicht. Das meiste von meinem Equipment liegt noch unerreichbar in Umzugskartons. :wacko: