Ganbare Goemon 2

    • Official Post

    Hallo liebe Community,


    wie der eine oder andere eventuell schon mitbekommen hat, versuche ich mich momentan an einer deutschen Übersetzung zu Ganbare Goemon 2 für das SNES. Die Grundlage hierfür bildet die englische Übersetzung von DDS, Tom und FlashPV.


    Da das ganze eine Art Verehrung für die Serie und ein Herzensprojekt ist, möchte ich das alles gerne so gut wie möglich selbst in die Hand nehmen und gleichzeitig meinen Hacking-Horizont erweitern.


    Ich habe bisher die Table erstellt, das Alphabet um die deutschen Umlaute und scharf-s ergänzt und erfolgreich implementiert, sowie ca. 60% aller Grafiken erfolgreich "übersetzt".


    Was mir jedoch noch sehr viele Kopfschmerzen bereitet sind die sogenannten Pointer. Es hat sich für mich herausgestellt, dass es doch sehr leidig ist ohne dieses Wissen zu arbeiten. Und genau da kommen die alten Hasen ins Spiel. Ich brauche Hilfe bei der Suche den Pointer bzw. Pointer-Listen und ggf. der Neuberechnung bei Texterweiterungen.


    Ich würde mich wahnsinnig freuen, wenn sich jemand das ganze mal angucken könnte. Im Moment geht es mir tatsächlich nur um die Pointer. Das von mir bisher erarbeitete kann ich hierbei gerne zur Verfügung stellen. Für alle Handzeichen bedanke ich mich schon mal vorab :)

    Deep into that darkness peering,
    long I stood there,
    wondering, fearing, doubting,
    dreaming dreams
    no mortal ever dared to dream before.


    Edgar Allan Poe

    • Official Post

    Moin,


    ich hab mir die Rom mal angeschaut. Leider folgt der Textblock keinem liniearen Pointersystem. Einmal hier und einmal da. Aber ich hab dir schonmal ein drittel der Texte rausgezogen.


    Kannst du schon anfangen zu Übersetzen.



    Gruß


    red

    • Official Post

    Okay, vielen Dank schon mal für die Daten!

    Leider folgt der Textblock keinem liniearen Pointersystem.

    Das hatte ich irgendwie befürchtet. Kannst du mir anhand des Spiels erklären, wie ich da überhaupt einen Pointer finde?

    • Official Post

    Grüße,


    erstmal gesundes Neues. Sorry, war etwas viel los und immer die Bude voll ;)


    Also, dein Text beginnt ja bei Rom Adresse 380000 - Die ROM ist Lowrom, demnach wenn du Lunar Adress anmachst und bei PC Adresse 380000 eingibst, spuckt er F08000 aus.



    Im Rom sind die ersten drei Dialoge an einer stelle hintereinander gepackt: Hab bei mir mal die ROM Position eingetragen, so konnte ich das besser Tracen.


    Die Zahlen sind die Pointer die abgerufen werden: Findest du bei PC Adresse 03a208 -> Drück im SNesEdit bei 03a208 auf F5 und dann F8 - Differenz 34800.


    Wenn du dann auf 03a20A bzw C gehst siehst du dann das er auf die Rom Adresse zeigt. Das sind die Pointer die glaube ich genutzt werden, wenn du zu unterschiedlichen Zeiten den Shop usw aufsuchst.



    Aber kommen wir mal noch zu den anderen Pointern. Also der erste Beginnt eigentlich bei 3800A9 / "Oh, your#ve come!..."


    Ich hab also im Spiel bevor der Text geöffnet wird mit Geiger einen Savestate gemacht und dann CPU getraced, bis der Dialog aufgerufen wird, er muss nicht durchlaufen, es reichen die ersten paas Wörter,


    3800A9 ist im ROM die Adresse F080A9 - Öffne den Trace, suche nur 80A9. Irgendwann findest du diese und musst dann schauen wo er das aufgerufen hat. Meine Doku nutzt aber den nächsten Dialog, nämlich "Actually...." Fängt an bei 3800D5 / Also Rom F080D5.


    $FE/9000 AC D0 19 LDY $19D0 [$8A:19D0] A:0003 X:0580 Y:0000 D:0000 DB:8A S:0186 P:envmxdizc HC:0428 VC:247 FC:47 I:00

    $FE/9003 DA PHX A:0003 X:0580 Y:0000 D:0000 DB:8A S:0186 P:envmxdiZc HC:0468 VC:247 FC:47 I:00

    $FE/9004 5A PHY A:0003 X:0580 Y:0000 D:0000 DB:8A S:0184 P:envmxdiZc HC:0502 VC:247 FC:47 I:00

    $FE/9005 A5 18 LDA $18 [$00:0018] A:0003 X:0580 Y:0000 D:0000 DB:8A S:0182 P:envmxdiZc HC:0536 VC:247 FC:47 I:00

    $FE/9007 18 CLC A:80D5 X:0580 Y:0000 D:0000 DB:8A S:0182 P:eNvmxdizc HC:0610 VC:247 FC:47 I:00

    $FE/9008 6D D0 19 ADC $19D0 [$8A:19D0] A:80D5 X:0580 Y:0000 D:0000 DB:8A S:0182 P:eNvmxdizc HC:0628 VC:247 FC:47 I:00

    $FE/900B AA TAX A:80D5 X:0580 Y:0000 D:0000 DB:8A S:0182 P:eNvmxdizc HC:0668 VC:247 FC:47 I:00

    $FE/900C C9 00 80 CMP #$8000 A:80D5 X:80D5 Y:0000 D:0000 DB:8A S:0182 P:eNvmxdizc HC:0686 VC:247 FC:47 I:00

    $FE/900F B0 08 BCS $08 [$9019] A:80D5 X:80D5 Y:0000 D:0000 DB:8A S:0182 P:envmxdizC HC:0710 VC:247 FC:47 I:00

    $FE/9019 BF 00 00 F0 LDA $F00000,x[$F0:80D5] A:80D5 X:80D5 Y:0000 D:0000 DB:8A S:0182 P:envmxdizC HC:0734 VC:247 FC:47 I:00



    Hier lädst er von F080D5 - bzw 38 00 D5. Du musst schauen wo das 80D5 herkommt, geh in deinem Dump zurück: Man sieht das immer wenn du die 08D5 einfach in Notepad++ markiest:



    Er holt sich die Adresse von 000018 / Lädst diese mit LDA $18, LDA heißt LadeInAccumulator, was er ja auch macht, da bei A: dann 80D5 stehen hat.


    Die 80D5 kannst du wieder markieren und wenn du weiter nach oben verfolgst, findest du dann den "hardcoded" Pointer. Im Grundegenommen sind alle genauso abgelegt. die dann folgen.



    War das soweit nachzuvollziehen?


    Gruß


    red

    • Official Post

    Oha, da steckt viel Input drin. Vielen Dank RedScorpion für die ausführliche Erklärung. Ich werde versuchen das ganze anhand deines Beispiels mal nachzusehen. Sollte ich irgendwo anecken, komme ich direkt wieder auf dich zu.


    Eine Frage habe ich vorab: Warum machst du die Differenz 34800? Das verstehe ich nicht ganz.

    • Official Post

    Eine Frage habe ich vorab: Warum machst du die Differenz 34800? Das verstehe ich nicht ganz.

    Huch, mal direkt vergessen. Naja, wieso ;)


    Ich weiß, dass der Text bei 380000 anfängt. Und ich weiß wo die Pointer sind, anhand vom Trace. Demnach die 34800.


    Wir können auch irgendwann nen Live Session machen, da erkläre ich dir das nochmal verbal.


    Gruß


    red

    • Official Post

    Hallo liebe Community,


    ich hatte in meinem Eingangspost erwähnt, dass ich bereits viele der Grafiken übersetzt habe. Hierbei sei zu erwähnen, dass das Startmenü als auch die Menüs im Spiel, die Levelnamen, die diversen Einkaufsläden und auch die Spielhallen alle aus Grafiken bestehen, obwohl es offensichtlich Buchstaben sind. Ich war daher schon etwas fleißig und habe noch ein wenig weiter gebastelt. Gerne möchte ich euch die bisherigen Ergebnisse auf den folgenden Bildern nicht vorenthalten (alles ist noch nicht perfekt!). Parallel arbeite ich mich in der Übersetzung voran, die vom Chef persönlich, RedScorpion, in Form von Hacking-Unterstützung ermöglicht wird. Da ich aktuell zeitlich etwas eingeschränkt bin, arbeite ich mich Stück für Stück voran. Ich bitte daher um euer Verständnis, dass ich kein Datum oder ähnliches hinsichtliche der Fertigstellung nennen kann.






  • Respekt, sieht klasse aus!

    Meine Lieblings SNES-RPGs:


    1. Lufia II
    2. Final Fantasy VI
    3. Terranigma, Seiken Densetsu III
    4. Tengai Makyō Zero, Dragon Quest III SNES-Remake
    5. Star Ocean, Shiren the Wanderer
    6. Chrono Trigger
    7. Final Fantasy V, Magical Land of Wozz
    8. Seiken Densetsu II, Zelda: A Link to the Past


    Lieblings-Charaktere: Terra & Shadow (FF 6), Tia & Dekar (Lufia), Carlie (Seiken III), Subaru (TMZ), Schala (CT)

  • Ich habs noch nie gespielt, aber schon viel von der Reihe gehört. Sollen aber sehr gute Spiele sein. Wenn man nur mehr Zeit hätte, das alles zu spielen. :D

    Meine Lieblings SNES-RPGs:


    1. Lufia II
    2. Final Fantasy VI
    3. Terranigma, Seiken Densetsu III
    4. Tengai Makyō Zero, Dragon Quest III SNES-Remake
    5. Star Ocean, Shiren the Wanderer
    6. Chrono Trigger
    7. Final Fantasy V, Magical Land of Wozz
    8. Seiken Densetsu II, Zelda: A Link to the Past


    Lieblings-Charaktere: Terra & Shadow (FF 6), Tia & Dekar (Lufia), Carlie (Seiken III), Subaru (TMZ), Schala (CT)

  • Klasse Projekt, gefällt mir sehr :thumbup:

    Der westliche Titel war "The Legend of the Mystical Ninja", welches es übrigens auch auf Deutsch gab ;)

    Hierin haben die Charaktere andere Namen bekommen und auch das Logo ist natürlich ein anderes.

    Goemon heißt z.b. Kid Ying und Ebisumarus Name ist Dr. Yang (Sasuke müsste ich nachsehen).

    Daher könnte man sich vll. überlegen darauß ein "The Legend of the Mystical Ninja 2" zu machen.

    Nur mal so als Anregung :saint:

    • Official Post

    Goemon heißt z.b. Kid Ying und Ebisumarus Name ist Dr. Yang (Sasuke müsste ich nachsehen).

    Das ist richtig. Aber diese Namen finde ich sowas von daneben, dass die auf keinen Fall mehr ins Spiel kommen :S


    Daher könnte man sich vll. überlegen darauß ein "The Legend of the Mystical Ninja 2" zu machen.

    Das werde ich mir noch überlegen :)

    • Official Post

    Kleines Update zum Wochenende: Dank RedScorpion Unterstützung sind die Texte mittlerweile zu gut einem Drittel übersetzt. Nach der kleinen Exkursion zu MegaMan Legends werde ich mich jetzt wieder verstärkt der Übersetzung der Texte und der restlichen Grafiken von Ganbare Goemon 2 widmen. Das Intro scheint wohl ziemlich tricky zu sein, aber so wie ich den guten Red verstanden habe, hat er schon einen Plan in petto :) Das nächste Update folgt!

    • Official Post

    Liebe Goemon-Freunde,


    es gibt nach einer längeren "Pause" Neuigkeiten zum Projektfortschritt! Der aktuelle Status ist wie folgend:


    Übersetzung: 100%

    Grafiken: 80%


    Das Spiel ist komplett übersetzt und RedScorpion hat nunmehr alle Texte wieder ins Spiel gebracht und ich war bei den Grafiken auch weiterhin fleißig. Es steht noch ein wenig Arbeit vor uns. Parallel zu den Grafiken läuft gerade eine interne Beta-Testphase, um die größten Fauxpas zu korrigieren. Als kleines Schmankerl gibt es nachfolgend neue Screenshots aus dem Spiel. Es bleibt spannend - und wir hoffen ihr bleibt interessiert ^^