Tutorial: Insertando MIDIs a tu ROM de Fire Emblem.

Para creaciones en base a otros FE o similares, así como preguntas o tutoriales.
Responder
Treats
Guerrero
Guerrero
Mensajes: 577
Registrado: 09 Jul 2012, 16:34

Mensaje por Treats »

Hola a todos. Con este tutorial voy a encargarme de que todos los hackers que hay por ahí sean capaces de insertar música a sus respectivos Hacks.
Debo decir que no es un proceso tan fácil, pero trataré de ser lo más detallado posible para que entiendan bien, ya que el más mínimo error puede dañarte TODO el proceso (ya pasé por eso).

Antes de comenzar, debo decir que este tutorial está basado en el tutorial de Fire Blazer, responsable de crear la herramienta más importante para la inserción de música, el parche "All-Instrument Hack". Bueno; ahora sí, comenzemos.

Requerimientos:
- El parche "All-Instrument Hack" de Blazer (Búscalo en Fire Emblem Shrine).
- Un MIDI - Ve a esta página para buscar el que quieras. (http://www.vgmusic.com/)
- HxD - Editor de Hex.
- Nightmare.
- MIDI2GBA - Herramienta para hacer posible que el MIDI se escuche en tu hack.
- Anvil Studio - Editor de MIDIs.
- NUPS - Para poder aplicar el parche.
- Notepad - Lo necesitarás.
- Calculadora.

Información importante:
- El parche de Blazer añade todos los instrumento a tu hack en el offset "107D7D0" y termina en "11B6530".
Asegúrate que en todo ese espacio no tengas nada escrito (de lo contrario, tendrás problemas... Serios). Por cierto, ve aplicando el parche desde ahora para que luego no se te olvide.
- El MIDI no puede contener más de 10 pistas (tracks) porque el juego no lo aceptará.
- Anota todos los offsets que vayas a usar en un notepad (te arrepentirás si no lo haces).

Con eso aclarado, demos comienzo a este tutorial.

Primero abres Anvil Studio y cargas tu MIDI.
SPOILER:
Imagen
Bien. Ahora, lo primero que vas a hacer aquí es borrar pistas que no esten utilizadas o no tengan notas musicales.
SPOILER:
Imagen
Como podrás ver, mi última pista está vacía, y de nada nos sirve una pista vacía. Vas a la opción de menú "Track/Delete" y la borras. Esto sirve para minimizar la cantidad de pistas que tienes en tu MIDI. Si de todas formas tienes más de diez pistas, lamentablemente tendrás que buscarte otro MIDI.
Después de descartar las pistas sin notas, debarás encontrar dónde se repite la canción. Tienes que escucharla por supuesto. En mi caso, la canción se repite en 0:46:08.
SPOILER:
Imagen
Todo el tiempo que te sobre lo borras dándole a "File/Truncate Song/Delete from current position to end". Es importante que lo hagas.
SPOILER:
Imagen
Ahora trabajaremos con el tiempo. Esta parte es algo tediosa si tienes muchas pistas (Recuerda que no puedes tener más de diez).
Le das a "View/Composer" y te saldrá esto.
SPOILER:
Imagen
Lo que harás aquí será darle a la tecla "Page Down" para ir al final de la canción y asegurarte de que ambos el tiempo y la duración tengan el mismo tiempo.
Si no es así, le das al botón "Insert Rest" para añadir recesos hasta que tu tiempo sea el mismo que la duración.
Hay casos en el que la duración aumenta. No debes permitir que eso ocurra. Si te pasa, solo dale a la tecla "Backspace" para regresar a la duración correcta (creeme que te va a pasar).
SPOILER:
Imagen
Bien. Ahora tienes que hacer lo mismo con todas las pistas (Ir al final de la canción, insertar recesos si es necesario, apretar "Backspace" si te pasas de la duración). Ah... También puedes ajustar el volumen de cada pista a tu gusto.
Después de hacer todo esto, guardas tu MIDI modificado y pasamos a MIDI2BGA. Hay una carpeta adentro que dice "mid", pon tu MIDI hay y luego vas a una aplicación que se llama "Tr.exe" (está en el mismo MIDI2GBA).
SPOILER:
Imagen
Ahora solo dale al botón "??" y espera hasta que te salga el nombre de la canción en uno de los cuadros.
SPOILER:
Imagen
Si el MIDI te salió en el cuadro izquierdo, significa que estás bien y puedes proseguir con este tutorial. Si te salió en el cuadro derecho, tienes que arreglarlo con "Anvil Studio" (No tengo idea de cómo hacer eso, además nunca me ha salido en el cuadro derecho).
Bueno, ahora vas a escuchar cómo sonaría tu MIDI en el juego.
¿Notaste que hay un juego dentro del MIDI2GBA llamado "song.gba"?
Lo vas a abrir con tu VisualBoy Advance (o el emulador de Gameboy Advance que tengas) y le das al botón "A" (cualquiera que sea la tecla que sea el botón "A" en el emulador) y la escuchas
SPOILER:
Imagen
Esa chica japonesa me da escalofríos... Lo digo en serio.

No sé si te pase, pero si escuchas que la canción se entrecorta, no debes preocuparte. Cuando la insertes en tu hack se oirá bien (si sigues los pasos siguientes al pie de la letra).
Bien. Ahora vamos a la parte más larga y frustrante de todo el proceso, el hex.

Sino haz parcheado tu ROM con el parche "All-Instrument Hack", hazlo, y también hazle un "Back-up" a tu ROM.
Abre tu editor de hex junto con tu ROM y el "song.gba".
SPOILER:
Imagen
Ve al "song.gba" y busca el offset "1B3BB8" (CTRL + G) y copia todo lo que está ahí hasta el final. Luego abres una ventana nueva (CTRL + N) y lo pegas ahí.
SPOILER:
Imagen
Todo lo que está dentro del horrible rectángulo es basura. Desaste de eso añadiendo 00s.
Ahora lo que harás es ir al tope y remplazar (CTRL + R) todos los "B1" que veas con "B2 00 00 00 00 B1 00 00 00 (Sin los espacios).
SPOILER:
Imagen
Asegúrense de que el "Datatype" esté en "Hex-values" y el "Prompt on replace" marcado. Blazer mencionó en su tutorial que habían unos "B1" que no se podían remplazar. Yo todavía no he visto tal caso. La forma de asegurarse de que el B1 se pueda remplazar es que haya un "BC" justo después del "B1", salvo el último "B1" (que no tiene "BC" después de este). Ese también lo remplazas. Se supone que la cantidad de "B1s" sea la misma cantidad de pistas que hay en tu "song.gba".
Ejemplo: Si tienes seis pistas, deben haber seis "B1s" que hay que remplazar.
Bien. Ahora copias de nuevo todo y lo pegas en cualquier espacio libre en tu ROM. Toma en consideración el tamaño de tu canción. Yo lo pondré justo debajo de donde se termina los instrumentos, "11B6540".
Debes pegarlo con "CTRL + B" en ves de "CTRL + V" no sé por qué y tampoco no me gustaría averiguarlo. Ahora guárdalo.
Por cierto. desde este punto deberás comenzar a utilizar la notepad. Comienza copiando el offset en el que pusiste tu canción.
SPOILER:
Imagen
El rectángulo azul es el comienzo del "Header" de tu canción. Copia el offset en tu notepad (el offset es el grupo de números y letras que te sale en la esquina de abajo a la izquierda).
Nota: El primer par que aparece (en mi caso "08"), esa es la cantidad de pistas que tienes en tu canción. Si tienes cuatro pistas, ese par será "04" y así, según lo que tengas.
El rectángulo amarillo es el mapa de instrumentos, "2C EA 1A 08". Lo único que harás con este puntero es cambiar el "08" por "09" (Todas las canciones que vayas a insertar en tu hack siempre usarán este puntero, y siempre harás lo mismo, cambiar "08" por "09". El horrible rectángulo verde son los punteros de tu canción. Más adelante aprenderás su función en este proceso.
Bien. Vamos para el principio (donde pusiste tu canción, en mi caso "1BB6540") y comienza a buscar los "B200000000B100000000" que agregaste (CTRL + F). Solo pon "B2" y aparecerán, uno a uno por supuesto.
SPOILER:
Imagen
De nuevo, asegúrate de que el "Datatype" sea "Hex-values".
Bien. Ahora, los cuatro pares de ceros que agregaste antes son para poner nuevos punteros. En el primero pondrás el offset el cual pusiste tu canción (en mi caso "11B6540").

NOTA: APRENDE A CONVERTIR UN OFFSET EN PUNTERO!!!

No te preocupes, si no sabes hacerlo, yo te lo enseñaré (para eso es el tutorial, ¿no?).

Bien. El offset "11B6540" lo conviertes a puntero así:
1 1B 65 40 = 40 65 1B 09
Tienes que poner los pares en reversa y el 1 solitario, ese uno se lo sumas a 8 (8+1=9). Si insertaste tu canción en los espacios vacíos que hay al final del ROM como originalmente viene (ejemplo: 001D9614, que de todas formas no es recomendable hacerlo), entonces solo incluyes el 8, dejándote con el puntero: "14 96 1D 08".

Bueno, con eso aclarado, prosigamos.
Pondrás el puntero en los ceros que están entremedio de "B2" y "B1".
SPOILER:
Imagen
Quedaría así. Con tus respectivos punteros claro.
SPOILER:
Imagen
Los otros tres pares de ceros entremedio de "B1" y "BC", no tengo la menor idea de por qué hay que incluirlos, no haces nada con ellos (al menos que yo sepa... Si alguién sabe qué se hace con ellos, haganmelo saber dejando un comentario). El punto es que no parece importar mucho; los puedes dejar así como están. Ahora, ¿Ves el "BC" circulado horriblemente?
Hay está tu próximo puntero. Hazle un "click" y mira el offset que aparece (esquina de abajo a la izquierda). Escríbelo en tu notepad y coviértelo en puntero (con el método mencionado más arriba). Harás el mismo proceso para cada "B200000000B1000000" que agregaste (recuerda que si tienes por ejemplo: seis pistas, son seis punteros que tienes que poner y recuerda poner todos los offsets y punteros en tu notepad).

Bueno, después de haber hecho el mismo proceso con todos los punteros, llegarás al final (donde está tu "Header").
SPOILER:
Imagen
¿Recuerdas los punteros que estaban en el horrible rectángulo verde?
Estos son. Lo que harás aquí es sustituir cada puntero con los que escribiste en tu notepad. Están divididos en cuatro pares. En la imágen hay ocho porque tuve que sustituir ocho punteros. De nuevo, si tienes seis pistas (o cualquier número que no pase de diez) esa será la cantidad de punteros remplazables que sustituiras. Deberá verse así, con tus respectivos punteros.
SPOILER:
Imagen
Lo de abajo son mis punteros. Recomiendo separarlos así en pares para mejor lectura y menos confusión (lo cual puede causa un error).
Ahora guardas y vamos para nightmare (por fin terminamos con lo más difícil, pero todavía no cierres tu editor de hex).

Bien, abre el módulo "Music Array Editor". Busca cualquier canción que quieras remplazar (yo usaré "Wind Across the Plains" 0x30).
El valor de la canción (en mi caso 0x30) lo multiplicarás por ocho. Abre la calculadora y ponla en Hex.
SPOILER:
Imagen
Después de multiplicar el valor de tu remplazo por ocho, sumarás el resultado con "69D6E0" (siempre usarás esa cifra).
En mi caso: 30x8=180+69D6E0=69D860.

Bien. Ahora ve al offset de tu resultado (en mi caso "69D860").
SPOILER:
Imagen
¿Cómo es posible que no pueda hacer ninguna línea recta... Nisiquiera así de pequeña?

Bueno, hay una división aquí. Los primeros cuatro pares son para que pongas el puntero de tu "Header". El mío es "11B718" (18 B7 1B 09).
Los segundos cuatro pares son la prioridad de la canción. Poner "01 00 01 00" Haría la canción audible para un mapa.
SPOILER:
Imagen
Mi canción está hecha para un mapa (como habrán visto en su título).
Tu resultado final sería este, con tus respectivos punteros.
SPOILER:
Imagen
Bien. Ahora: guarda, busca en nightmare (editor de capítutlos) la canción ponla como si fuera para el mapa, solo para que la escuches y Abre el ROM en tu VisualBoy Advance y escuchala. Si hiciste todo correctamente, la canción sonará bien, si no... Ya sabes que tendrás que pasar por todo el proceso otra vez, pero está vez tendrás la experiencia y no necesitarás mirar tanto este tutorial (lo digo por experiencia).

Bueno, gracias a todos los que lean este tutorial. Espero que sirva de algo y por ahí vendrán más tutoriales (cuando descubra de qué los voy a hacer).
Suerte y diviértanse mejorando sus hacks.

Queja: Tardé 6 horas (no exactas) haciendo este tutorial, así que más vale que sirva de algo.

Cualquier duda, comenten y los ayudaré cuando sea posible.

Drake de Cancún
Domma
Domma
Mensajes: 2471
Registrado: 17 Mar 2010, 19:43
FE Favorito: Thracia 776
Personaje fav.: Olwen

Mensaje por Drake de Cancún »

Gracias por tu contribución. Lo pondría a prueba si tuviera el tiempo y dedicación para iniciar en esto del Rom-Hacking xD

Oh, y también necesitaré mas paciencia para leer esto lentamente, porque si leo rápido es probable que se me escape algo xD
Última edición por Drake de Cancún el 24 Jul 2012, 22:13, editado 1 vez en total.

Whodao
Diabolistic
Diabolistic
Mensajes: 4802
Registrado: 03 Ago 2010, 20:07

Mensaje por Whodao »

Añadir a esto el parche repunteado de ShadowChaos, que hace lo mismo que el de Blazer pero cambiando los punteros...

http://www.feshrine.net/hacking/patches ... 1C3AC0.ups
Blazer escribió:Begins: 0x11C3AC0
Instrument map: 0x12F471C
Ends: 0x12FC830
De todos modos Zahlman FTW
Última edición por Whodao el 24 Jul 2012, 22:15, editado 1 vez en total.

Treats
Guerrero
Guerrero
Mensajes: 577
Registrado: 09 Jul 2012, 16:34

Mensaje por Treats »

Wodao CE escribió:Añadir a esto el parche repunteado de ShadowChaos, que hace lo mismo que el de Blazer pero cambiando los punteros...

http://www.feshrine.net/hacking/patches ... 1C3AC0.ups[/s]
Si... Bueno, no lo incluí porque no lo aprendí a hacer con ese parche. De todos modos gracias por tomárte la molestia de buscárlo.

Wodao CE escribió:De todos modos Zahlman FTW[/s]
Hmmm. Probablemente sí sea mejor con Zahlman, pero la aplicación cogió odio contra mí y no me quiso abrir. De modo que tuve que hacer el tutorial de esta manera.
Última edición por Treats el 24 Jul 2012, 22:22, editado 1 vez en total.

Mikey_Séregon
Oracle of yaoi
Oracle of yaoi
Mensajes: 7571
Registrado: 04 Ene 2008, 15:15

Mensaje por Mikey_Séregon »

Hmm... Ahora se como remediar los problemas de Loop con mis midis, gracias por el tuto.

Hammer Bro
Furry lover
Furry lover
Mensajes: 9178
Registrado: 03 Feb 2012, 19:06
FE Favorito: Echoes
Personaje fav.: Yoshi y Echidna

Mensaje por Hammer Bro »

Que alguien agrege este tuto al indice y buen tutorial :D

Treats
Guerrero
Guerrero
Mensajes: 577
Registrado: 09 Jul 2012, 16:34

Mensaje por Treats »

Sir_oracle_Séregon escribió:Hmm... Ahora se como remediar los problemas de Loop con mis midis, gracias por el tuto.
De nada. Ha sido un honor haberte ayudado (lo digo en serio... Eres increíble).
Christian escribió:Que alguien agrege este tuto al indice y buen tutorial :D
Muchas gracias.

Eddy
Esbirro
Esbirro
Mensajes: 337
Registrado: 29 Jun 2012, 12:48

Mensaje por Eddy »

Necesitaré repasarlo para poder aprendermelo,buen tutorial,y te apoyo con lo de la japonesa,da miedo que dan ganas de ir al baño DX *Se va al baño*

Lord Solrac
Bard
Bard
Mensajes: 2040
Registrado: 13 May 2010, 21:45

Mensaje por Lord Solrac »

Muy buen tuto, me ha gustado bastante. Nunca había intentado insertar una canción pero ahora se me facilitará bastante.

Lo único que no me agrada es que no haya link para las herramientas.

Pero salvo por eso es un excelente tutorial.

Treats
Guerrero
Guerrero
Mensajes: 577
Registrado: 09 Jul 2012, 16:34

Mensaje por Treats »

Lord Solrac escribió:Muy buen tuto, me ha gustado bastante. Nunca había intentado insertar una canción pero ahora se me facilitará bastante.

Lo único que no me agrada es que no haya link para las herramientas.

Pero salvo por eso es un excelente tutorial.
Muchas gracias, también es un honor haberte ayudado... Y lo de los links, pues en realidad no pensé en ello.

Whodao
Diabolistic
Diabolistic
Mensajes: 4802
Registrado: 03 Ago 2010, 20:07

Mensaje por Whodao »

Treats952 escribió:
De nada. Ha sido un honor haberte ayudado (lo digo en serio... Eres increíble).
:vyland:

Anyway, el uso del parche que yo posteé es idéntico al de Blazer si sabes manejarte con offset y cosas de esas, lo único que cambia es que los datos están mejor situados.

Kahx5
Domma
Domma
Mensajes: 2468
Registrado: 23 Ago 2011, 19:25

Mensaje por Kahx5 »

Gracias por el tutorial,espero que lo pongan en el indice ^^.

JuanM
Gran Ejemplo De Estupidez
Gran Ejemplo De Estupidez
Mensajes: 4062
Registrado: 15 Feb 2012, 13:39

Mensaje por JuanM »

Perfecto Tutorial, Por fin podré insertar Musica de Zelda, Mario Etc. ^^
Aunque tendré que primero aprender a Controlar mejor el HxD.

Ax Tenryuu
Wood Shooter
Wood Shooter
Mensajes: 4246
Registrado: 23 Dic 2010, 13:20

Mensaje por Ax Tenryuu »

Genial tutorial, creo que ya ascendiste muchos puestos como rom-hacker xD Anyway, en algún momento probaré el método más tranquilamente o.o

Treats
Guerrero
Guerrero
Mensajes: 577
Registrado: 09 Jul 2012, 16:34

Mensaje por Treats »

Juan Neto CC escribió:Perfecto Tutorial, Por fin podré insertar Musica de Zelda, Mario Etc. ^^
Aunque tendré que primero aprender a Controlar mejor el HxD.
Créeme que vale la pena hacerlo.
Axito escribió:Genial tutorial, creo que ya ascendiste muchos puestos como rom-hacker
Gracias, pero cuando aprenda a hacer faces es que verdaderamente habré ascendido como rom-hacker.

Responder