[TUT] HiRom game on a LoRom cartridge

  • So als kleines Weihnachtsgeschenk hab ich mich dazu entschieden, das ganze mit euch zu teilen.


    Da die Preise für HiRom Opfer ja auf ebay langsam zu Teuer werden, habe ich mir überlegt, dass es doch eigentlich Möglich sein sollte,
    Ein LoRom Modul so zu modifizieren, dass man auch HiRom Games darauf spielen kann.


    Das Prinzip ist eigentlich relativ simpel:
    Der hauptunterschied bei Lo und HiRom games ist eigentlich nur, dass bei den LoRom games der A15 des SNES nicht an die Rom, sondern an den MAD-1 geht.
    Mein Ansatz war es jetzt, den A15 vom Mad-1 pin wieder abzugreifen und zurück zu führen an die Rom. Da ich aber nicht von A15-A21 alle Adresslines neu verbinden wollte,
    war die nächste Überlegung, dass man A15 einfach an die Höchste adressline des Eprom/TSOP setzt.
    d.h. bei einem 8Mbit Eprom trennt man die jetzige A19 und verbindet A19 des Eprom stattdessen mit A15.
    Soweit so gut jetzt haben wir alle Adresslines des SNES am ROM, die normal auch bei einem HiRom anliegen würden.
    Das Problem ist aber noch die Anordnung der Daten im Rom.
    von A0-A14 ist alles noch so wie es sein soll, dort ist keine änderung nötig. Bei aktivem A15 ließt der SNES jetzt aber die obere hälfte des ROM (da A15 jetzt an A19 des Rom hängt)
    Also müssen wir die Daten dementsprechend verschieben.


    Bei der Überlegung WIE genau die Daten verschoben werden müssen, hat mir Ikari_01 hilfreich zur Seite gestanden, vielen Dank nochmal dafür!


    Hab mich dann hingesetzt und ein Tool geschrieben, das genau das für mich macht.
    Es ist leider nur eine Konsolen-Applikation aber mehr bekomm ich mit meinen jetzigen Programmierskills noch nicht hin ;)


    So und nun zum eigentlichen TUT-Part:


    Als erstes benötigt ihr ein Hi-Rom Game, das 1-8MB groß ist (im Moment kommt mein Prog nur mit 1,2,3... MB klar, also 1,5MB funktioniert nicht da muss die ROM dann mit Lunar expand auf 2MB erweitert werden)


    Dann natürlich meinen Hi- to LoRom patcher


    Und zu guter letzt ein LoRom Opfer.


    Step by Step


    Gebt den Namen der Datei, die gepatched werden soll im Programm an.
    Anschließend wird die gepatchte datei als Hi_to_LoRom_DATEINAME gespeichert.


    Die Datei brennt ihr dann ganz normal auf euren TSOP


    Bisher hab ich das ganze nur mit einem einzigen EPROM getestet, an Sich sollte es aber auch mit mehreren funktionieren, man muss nur drauf achten,
    die richtigen Adresslines an den Demultiplexer anzuschließen.
    Auchnoch ungetestet ist, ob man zusätzlich auch swapbin auf die gepatchte Rom anwenden kann.
    Auch da sollte aber eigentlich nichts dagegen sprechen.


    Jetzt müsst ihr euer LoRom Opfer vorbereiten.



    By chiller3k at 2011-12-24


    Als erstes müsst ihr den MAD-1 auslöten und folgende beinchen hochbiegen, so dass sie keinen Kontakt mehr haben:
    #10, #12, #13, #14 und #15
    (veranschaulicht durch die roten Punkte)


    Die müssen anschließend neu angeschlossen werden, wie genau, sehr ihr auf dem Bild.
    #10 muss an VCC
    #12 ist eig nur wichtig für /oe 1 und 2 am MAD-1. Ich hab ihn hier an A22 vom Rom gehängt. Aber an Sich sollte es egal sein
    #13 an A19 vom Rom
    #14 an A14 vom Rom
    #15 an A13 vom Rom


    In dem Bild hab ich das Board für ein 4MB spiel vorbereitet.
    D.h. ich musste A21 vom Rom trennen (dargestellt durch den roten Strich)
    Anschließend muss der ALTE pin #15 vom MAD-1 an A21 vom Rom angeschlossen werden.
    #15 am MAD-1 ist die besagte A15 des SNES.


    Bei Spielen, die 1MB groß sind, müsst ihr A19 trennen,
    bei 2MB >= Rom > 1MB muss A20 getrennt werden
    bei 4MB >= Rom > 2MB muss A21 getrennt werden


    Und das wars auch schon. Jetzt kann der TSOP eingelötet werden und alles sollte ohne Probleme laufen.
    Falls ihr kein Risiko eingehen wollt, könnt ihr, wie ich nen ZIF Sockel einlöten.
    Dann braucht man nicht den gesamten TSOP auslöten, falls doch mal was schief gegangen ist


    In dem Sinne wünsch ich euch ein Frohes Fest und hoffe, dass der Ein oder Andere es gebrauchen kann!

  • Na klar. Ich schau mal, dass ich das eventuell ma auf Java porte, damit ich da nen vernünftiges GUi zu basteln kann.
    Aber solange tuts die alte ja auch. Scheint ja eh niemand benutzt zu haben xD