SNES: Text über eine Bank hinaus erweitern

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

Moderator: DarkZero

Antworten
ShadowFlame
Beiträge: 18
Registriert: Di Dez 24, 2002 10:57 pm

SNES: Text über eine Bank hinaus erweitern

Beitrag von 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...
Benutzeravatar
LostTemplar
Beiträge: 166
Registriert: Sa Aug 31, 2002 10:25 pm

Beitrag von 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
Beiträge: 18
Registriert: Di Dez 24, 2002 10:57 pm

Beitrag von 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...
Benutzeravatar
LostTemplar
Beiträge: 166
Registriert: Sa Aug 31, 2002 10:25 pm

Beitrag von 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
Benutzeravatar
AeternoS
Beiträge: 965
Registriert: Fr Jan 05, 2001 1:01 am

Beitrag von 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)
Benutzeravatar
LostTemplar
Beiträge: 166
Registriert: Sa Aug 31, 2002 10:25 pm

Beitrag von 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
Benutzeravatar
Katana
Beiträge: 5337
Registriert: So Jan 02, 2000 1:01 am

Beitrag von 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 ;)
Benutzeravatar
AeternoS
Beiträge: 965
Registriert: Fr Jan 05, 2001 1:01 am

Beitrag von 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
Beiträge: 18
Registriert: Di Dez 24, 2002 10:57 pm

Beitrag von 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...
Antworten