Registrarse

[Música] FR | Expandir tabla de MIDIS a 510

Naren Jr.

Puto amo
Usuario de Platino
Hola amigos, hoy vengo de nuevo con un excelente tutorial, antes que nada ya esto existe, pero hay un parche que esta bastante enrredado y toma una dirección que es bastante usada en los Hacks (0x08A00000).

Para ser mas claros este: https://whackahack.com/foro/t-34512/parche-fr-510-songs-table

¿CÓMO COMENZAMOS?
Pues es muy sencillo, antes que nada necesitamos buscar espacio para añadir nuestra cantidad de midis, yo en mi ejemplo usaré 0x08FC0000.

HERRAMIENTAS
  1. HxD Editor Hexadecimal
  2. Sappy Mod

Bueno una vez teniendo todo esto comenzamos:

Abrimos nuestra ROM en HxD y añadimos este trozo de código en donde estará nuestra taba (En mi caso FC0000):

Código:
00 73 00 03 C8 20 00 03 0A 00 00 00 40 73 00 03
E8 23 00 03 03 00 01 00 80 73 00 03 D8 24 00 03
09 00 01 00 D0 73 00 03 A8 27 00 03 01 00 00 00
Recuerden, pegamos con Crtl+B en HxD:


Ahora vamos a copiar los bytes que se encuentran en 0X084A32CC hasta 0x084A3D9F es una longitud de AD4 bytes.


Estos bytes los vamos a pegar seguido de la terminación de los bytes que pegamos al comienzo, de los bytes que pegamos al comienzo de nuestra tabla, vendría siendo algo así:



Como pueden ver la dirección es 0x08FC0030 esta sería el comienzo de nuestra tabla de midis, 0x08FC0000 sería el comienzo de la tabla general, son dos conceptos en los que no hay que equivocarnos.

Ahora debemos rellenar nuestra tabla con datos para que en un futuro no sean ocupados por otras cosas de la ROM, yo he colocado la ultima midi Teachy TV tantas veces que hace que la suma sean 510 Midis.

Ahora, ¿Cómo hacemos esto?

Sencillo cada indice de midi ocupa 8 bytes, los de Teachy TV son los siguientes:

Código:
00 00 00 00 8C BE 6F 08
Entonces si queremos terminar de rellenar nuestra tabla sencillamente pegamos debajo de la tabla estos bytes:

Código:
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 8C BE 6F 08 00 00 00 00 8C BE 6F 08
00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF

Si no los adicionan, pues para cerrar la tabla tan solo sería:

Código:
00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF
Esto es por si quieren menos datos de midis.

Ahora una vez con todo esto ¿Qué hacemos?

Pues sencillo vamos a ir a estos offset's:

  • 1DD11C - Pointer 1
  • 1DD150 - Pointer 2
  • 1DD19C - Pointer 3
  • 1DD1F0 - Pointer 4
  • 1DD224 - Pointer 5

Y vamos a colocar nuestro puntero de la paleta de midis, en mi caso es 08FC0030, este dato va permutado, entonces sería 30 00 FC 08, recuerden pegar con Crtl+B

Una vez editado esos 5 punteros, vamos ahora a editar estos, en estos colocaremos el puntero de nuestra tabla general permutado en mi caso sería 00 00 FC 08:

  • 1DD0D0 - Pointer 1
  • 1DD118 - Pointer 2
  • 1DD14C - Pointer 3
  • 1DD198 - Pointer 4
  • 1DD1EC - Pointer 5
  • 1DD220 - Pointer 6
  • 1DD264 - Pointer 7
  • 1DD2B4 - Pointer 8

Listo una vez modificado todo esto, guardamos y listo!!! nuestra ROM contiene la tabla expandida.

¿CÓMO INSERTO LAS MIDIS O COMO HAGO QUE SAPPY LAS LEA?

Pues esto es bastante sencillo, Sappy contiene un archivo llamado sappy.xml, este archivo lo abrimos con Notepad++ o cualquier editor que usen, yo recomiendo Notepad++.


Una vez abierto este archivo en vuestro editor vamos a buscar la palabra "BPRE":


Una vez aquí editaremos donde dice songtable="" y colocaremos nuestra dirección de tabla, en mi caso es FC0030

Una vez hecho eso, vamos hasta el final de esa tabla y añadiremos una nueva fila que tendrá como numeración 0x15B que sería nuestra primer midi en la tabla expandida:


A su vez podemos personalizar los nombres de las midis para que Sappy nos indique cual midi es la correcta, esta numeración nueva va desde 0x15B hasta 0x1FE nos da un total de 164 midis nuevas para remplazar, una vez editado esto, puede guardar y listo, esta su sappy configurado para ello.

Para añadirla a en advance map solo añaden el indice de la midi nueva en el cabezal y listo.

CREDITOS

A mi Dios y todo poderoso @Samu que por curiosidad terminamos armando todo, si te tuviera al frente te daría un beso por chulo.
 
Última edición:

Samu

Miembro insignia
Miembro insignia
Re: FR | MIDIS | Expandir tabla de MIDIS a 510

Por si alguien quisiera ampliar la tabla de los midis en emerald (aunque la tabla original es casi el doble de grande que la de Fred xd) ha de saber que el proceso es exactamente el mismo, simplemente cambian las direcciones y los datos que contiene la tabla. Dejo los datos por aquí:

Cabecera de la tabla:
Código:
20 74 00 03 40 13 00 03 0A 00 00 00 F0 75 00 03 60 16 00 03 03 00 01 00 30 76 00 03 50 17 00 03 09 00 01 00 00 78 00 03 20 1A 00 03 01 00 00 00
Dirección de la tabla base del juego:
Código:
0x086B49F0 - 0x086B5CF0
Direcciones de los pointers a la tabla:
Código:
2E0158
2E018C
2E01D8
2E022C
2E0260
Direcciones de los pointers a la cabecera de la tabla:
Código:
2E010C
2E0154
2E0188
2E01D4
2E0228
2E025C
2E02A0
2E02F0

Señalar también que la tabla y cabeceras antiguas se pueden borrar (FF) y usar este espacio para lo que os de la gana.


PD: ya te dije ayer cuando me preguntaste que debía ser sencillo ampliarla. Claro que también te dije que lo miraría en 15 días y me has acabado enredando. Deja de empeñarte en hacerme perder tiempo para la beta, cabrón. El otro día lo mismo con la apestosa rutina de los backgrounds xDDD.
 

Naren Jr.

Puto amo
Usuario de Platino
Respuesta: FR | MIDIS | Expandir tabla de MIDIS a 510

Quienes quiera editar la tabla en Advance map y registre la lista de sus nuevas midis.

En la carpeta de Advance map/Ini

Existe un archivo llamado "Musik_en.ini"


Aquí estan las inis, si agregamos unas nuevas como se hace en el Sappy.xml todo queda bien, tambien aplica para Ruby y Emerald.


Queda así en A-Map:

 

Bugrhak

A long time ago I used to call myself "Subzero".
Respuesta: FR | MIDIS | Expandir tabla de MIDIS a 510

¡Tu lo has dicho, es un exelente tuto, al igual que lo aportado por Samu!
Sin ninguna duda muy bueno para todos aquellos que les gusta tener un apartado musical decente y "generoso" (me incluyo XD).
Justo lo que necesitaba en mi hack :awesome:
 

KeruL

Trabajando en el Proyecto Myosotis
Respuesta: FR | MIDIS | Expandir tabla de MIDIS a 510

Este tutorial le servirá a mucha gente en sus hack rom, a mi hace unos meses me hubiera servido.
 

Cheve

MoonLover~
Miembro de honor
Respuesta: FR | MIDIS | Expandir tabla de MIDIS a 510

Wohoo! Más variedad para las ambientaciones y calidad en general para el Rom.

Útil y bien explicado. Muchas gracias!
 
Arriba