SNES: Text über eine Bank hinaus erweitern

Hier könnt Ihr Erfahrungen rund ums Thema "ROM-Translation" und "ROM-Hacking" austauschen

Moderator: DarkZero

Post Reply
ShadowFlame
Posts: 18
Joined: Tue Dec 24, 2002 10:57 pm
Location: irgendwo im Nirgendwo

SNES: Text über eine Bank hinaus erweitern

Post by ShadowFlame »

gibts ein tutorial wo steht, wie man dialogtexte in anderen bänken verschieben kann, also nicht einen textblock verschieben, sondern nur einen einzigen text. erweiterung von 32K auf 64K blöcke bei low-roms ist ja nicht möglich, oder?
When the last hope disappears,
when smiles turn into tears...
and when darkness covers light,
the dark flame will shine red and bright...
User avatar
LostTemplar
Posts: 166
Joined: Sat Aug 31, 2002 10:25 pm
Location: Bayern

Post by LostTemplar »

Also ein Tutorial gibt es nicht, soweit ich weiß... aber Du musst entweder darauf hoffen, dass die Pointer auf die Texte long sind (3 Byte, Bank wird mitgespeichert), oder ansonsten musst Du halt im ASM Code rumpfuschen.
Bei FF4 weiß ichs zwar nicht genau, aber beim 5er und 6er war so ein ASM Hack noch recht einfach. Andere Möglichkeiten fallen mir grad nicht ein.

Und nein, kann man nicht, LoRom Bänke haben immer 32KB.
Proof of Concept [ROM Translations]
http://temp.newclear-webs.de/poc/index.php
ShadowFlame
Posts: 18
Joined: Tue Dec 24, 2002 10:57 pm
Location: irgendwo im Nirgendwo

Post by ShadowFlame »

bei ff4 sind die adressen 2 bytes groß und können deshalb NICHT erweitert werden, obwohl die pointer bei den dialogtexten nicht auf normale art vorhanden sind --> der 1. pointer einer bank lautet nicht beispielsweise 1F81 sondern 0000 --> theoretisch würden diese pointer es ermöglich 64Kb zu nutzen.

dass hier ASM zum einsatz kommt ist mir schon klar, aber zu wissen, was man verändern muss würde das alles erleichtern
When the last hope disappears,
when smiles turn into tears...
and when darkness covers light,
the dark flame will shine red and bright...
User avatar
LostTemplar
Posts: 166
Joined: Sat Aug 31, 2002 10:25 pm
Location: Bayern

Post by LostTemplar »

Das hier ist der Code für das Laden der Pointer:

http://temp.newclear-webs.de/stuff/pointerload.txt

Und das der für das Laden des Textes:

http://temp.newclear-webs.de/stuff/characterload.txt

Was du jetzt damit machst, hängt davon ab, was genau du bezwecken willst. Ich würde das ROM erweitern und den Text auf mehr als diese drei Segmente verteilen.
Proof of Concept [ROM Translations]
http://temp.newclear-webs.de/poc/index.php
User avatar
AeternoS
Posts: 965
Joined: Fri Jan 05, 2001 1:01 am
Location: Fictitous Island
Contact:

Post by AeternoS »

hmmm... sorry, aber irgendwie hat mich das jetzt schon mal neugierig gemacht.
Hab mich zwar auch schon bei ROM-Translation versucht, das ganze aber schon wieder aufgegeben (wie's halt so ist! ;) )
Trotzdem: Was bezweckt ihr damit? Also was für einen Sinn hat das ganze?
Larc: Du bist in der Hölle. [...]
Toto: Was soll das...? Was habe ich denn getan?
Larc: Na hör mal, du hast an Frauenkleidern geschnüffelt.
---------------------------------------------------
(Seiken Densetsu ~ Legend Of Mana - Band 1)
User avatar
LostTemplar
Posts: 166
Joined: Sat Aug 31, 2002 10:25 pm
Location: Bayern

Post by LostTemplar »

Was bezwecken wir womit? Präzisier Dich bitte ^^

und @ShadowFlame:
Die Pointer beginnen zwar bei 0x0000, aber Du kannst nur 0x8000 Bytes ansprechen, weil alle LoRom Segmente bei Offset $8000 starten.
Proof of Concept [ROM Translations]
http://temp.newclear-webs.de/poc/index.php
User avatar
Katana
Posts: 5337
Joined: Sun Jan 02, 2000 1:01 am
Location: Nördliches NRW, Deutschland
Contact:

Post by Katana »

[quote=""AeternoS""]hmmm... sorry, aber irgendwie hat mich das jetzt schon mal neugierig gemacht.
Hab mich zwar auch schon bei ROM-Translation versucht, das ganze aber schon wieder aufgegeben (wie's halt so ist! ;) )
Trotzdem: Was bezweckt ihr damit? Also was für einen Sinn hat das ganze?[/quote]
Falls du das erwitern der Bänke und Umlegen der Pointer meinst, das ist ganz einfach.
Damit man mehr Platz hat ;)
User avatar
AeternoS
Posts: 965
Joined: Fri Jan 05, 2001 1:01 am
Location: Fictitous Island
Contact:

Post by AeternoS »

;) Ne, wirklich?
Ich meinte damit eigentlich eher das ganze Zahlen Zeugs...
Wie kann man sich sowas merken?
Larc: Du bist in der Hölle. [...]
Toto: Was soll das...? Was habe ich denn getan?
Larc: Na hör mal, du hast an Frauenkleidern geschnüffelt.
---------------------------------------------------
(Seiken Densetsu ~ Legend Of Mana - Band 1)
ShadowFlame
Posts: 18
Joined: Tue Dec 24, 2002 10:57 pm
Location: irgendwo im Nirgendwo

Post by ShadowFlame »

@LostTemplar: danke. weiß nicht obs mir weiterhilft, aber wenn das nicht funkt, dann kann ich das ganze eh vergessen...

@AeternoS: dieses Zahlenzeugs sind pointer und das andere zahlenzeugs repräsentiert den assembler code des spiels. im prinzip merkt man sich sowas nicht, sondern man lernt wie das alles funktioniert. also das hacken von pointern ist eigentlich basiswissen und das kannst du in jedem anständigen tutorial nachlesen wie das funkt, die feinheiten lernt man dann durch praktisches anwenden des wissens.
naja, aber wenn du vor hast den assembler code zu hacken, dann solltest du die dokumentation über den 65816 prozessor lesen (die findest du u.a. bei zophar.net). bis man das alles versteht muss man einiges an erfahrung sammeln
When the last hope disappears,
when smiles turn into tears...
and when darkness covers light,
the dark flame will shine red and bright...
Post Reply