Registrarse

Nombre por defecto (Sin Callasm)

Estado
Cerrado para nuevas respuestas.
Buenas, Antes de nada me gustaría resaltar que soy nuevo en el rom hacking y tenia miedo a preguntar, ya que me parece que la información sobre mi problema esta en el foro, pero no soy capaz de interpretarla. Echadme una mano por favor.

Para empezar quería quitar la intro del Oak, así que encontré este tutorial: Click AQUI , Donde te venia un parche y por defecto viene una script en el pc que ejecuta "callasm 0x0809FC91", el cual se abre un menú donde puedes introducir el nombre.

El problema esta en que me gustaría que el nombre estuviera por defecto y no lo tenga que introducir el jugador a mano.

He seguido buscando información y he encontrado:

Originally Posted by Touched-sensei
HEX EDIT

0x12EB54: 45 66 05 08
0x054A68: 3C 4C
0x054A6A: 20 68
0x054A6C: 00 49
0x054A6E: 01 E0
0x054A7E: 34 4E
0x054B3A: 00 00
0x054B3C: 00 00
0x054A70: REVERSED POINTER TO TEXT CONTAINING YOUR DEFAULT NAME (max 8 chars, last char must be 0)
Donde yo interpreto que los 8 primeros offset son para saltarse la intro, al igual que el parche, y el ultimo (0x054A70) es el que sirve para definir el nombre.

Me voy al HxD a la direccion del offset y me encuentro:
F0 FF 0F 1F 0E CE 34 F3 E2 CC 21 21 12 11 11 11

He probado un montón de combinaciones: escribiendo el nombre normal y poniendo un 0 al final, empezar a escribir por la derecha, cambiando el 0 final por 00, cambiando el 0 final por FF, rellenando los espacios restantes hasta los 8 bytes con 00 y con FF, escribir un nombre de 7 letras y acabar en 00 y FF.

La mayoría de las veces cambia los ??? por un espacio en blanco, en otras ocasiones se reinicia el juego antes de entrar al mapa.

Espero que alguien me pueda arrojar un poco de luz sobre la solución, y gracias de antemano.
 
Última edición:

Katherine

Omnipresente
Miembro de honor
Para guardar un texto debes abrir un compilador de scripts, y compilar un offset con el nombre del jugador. Por ejemplo:

#org 0x800000
=PLAYER
Sin embargo si lo haces más largo de lo que deberías tendrás problemas seguramente. También puedes introducir tú mismo el texto en hexadecimal.

00=
01=À
02=Á
03=Â
04=Ç
05=È
06=É
07=Ê
08=Ë
09=Ì
0B=Î
0C=Ï
0D=Ò
0E=Ó
0F=Ô
10=Œ
11=Ù
12=Ú
13=Û
14=Ñ
15=ß
16=à
17=á
19=ç
1A=è
1B=é
1C=ê
1D=ë
1E=ì
20=î
21=ï
22=ò
23=ó
24=ô
25=œ
26=ù
27=ú
28=û
29=ñ
2A=º
2B=ª
2D=&
2E=+
34=[Lv]
35==
36=;
51=¿
52=¡
53=[pk]
54=[mn]
55=[po]
56=[ké]
57=[bl]
58=[oc]
59=[k]
5A=Í
5B=%
5C=(
5D=)
68=â
6F=í
79=
7A=[D]
7B=[L]
7C=[R]
85=<
86=>
A1=0
A2=1
A3=2
A4=3
A5=4
A6=5
A7=6
A8=7
A9=8
AA=9
AB=!
AC=?
AD=.
AE=-
AF=·
B0=[.]
B1=[""]
B2=""
B3=[']
B4='
B5=[m]
B6=[f]
B7=[$]
B8=,
B9=[x]
BA=/
BB=A
BC=B
BD=C
BE=D
BF=E
C0=F
C1=G
C2=H
C3=I
C4=J
C5=K
C6=L
C7=M
C8=N
C9=O
CA=P
CB=Q
CC=R
CD=S
CE=T
CF=U
D0=V
D1=W
D2=X
D3=Y
D4=Z
D5=a
D6=b
D7=c
D8=d
D9=e
DA=f
DB=g
DC=h
DD=i
DE=j
DF=k
E0=l
E1=m
E2=n
E3=o
E4=p
E5=q
E6=r
E7=s
E8=t
E9=u
EA=v
EB=w
EC=x
ED=y
EE=z
EF=[>]
F0=:
F1=Ä
F2=Ö
F3=Ü
F4=ä
F5=ö
F6=ü
F7=
F8=[d]
F9=[l]
FA=\l
FB=\p
FC=\c
FD=\v
FE=\n
FF=\x


Cada una de esas dos combinaciones corresponde a una letra. Si quieres poner PLAYER, usa CA C6 BB D3 BF CC 00 FF. Termina tu texto usando 00 y FF. No podrás usar más de 6 caracteres.

La dirección dónde lo guardes, debes permutarla. Es decir, dividir el número de dos en dos y voltear su orden. En este caso, sería:

08 80 00 00 --> 00 00 80 08 (recuerda que ésto se guarda en la ROM, es decir que debes usar el prefijo de 08 en dónde lo hayas guardado).

Ese número, debes ponerlo en 054A70, usando control + B (copiar sobreescribiendo) en un editor hexadecimal.

Miau revoir~.
 
Última edición:
  • Me gusta
Reacciones : CID
WOW, muchas gracias compañero!!! Perfectamente explicado, mis dieses.

Lo de transmutar los números ha sido la clave, ademas me había confundido con el offset:
Me voy al HxD a la direccion del offset y me encuentro:
F0 FF 0F 1F 0E CE 34 F3 E2 CC 21 21 12 11 11 11
En realidad es este:
00 00 90 08 B4 F7 86 F9 37 49 01 20 08 70 34 4E

Que esta apuntando directamente a 0x900000 y en ese offset se encuentran las ???, así que he decidido guardarlo ahí, supongo que es el lugar mas lógico.

Pues duda resuelta, y gracias de nuevo
 
Estado
Cerrado para nuevas respuestas.
Arriba