¿Que es Fortaleza Reznor?
Fortaleza Reznor es un foro de SMWH (Super Mario World Hacking) Aquí modificamos (hackeamos) el juego de Mario World a nuestro gusto y enseñamos a otros a saber a manejar el hacking de SMW usando la famosa herramienta "Lunar Magic".
¡Regístrate!
Únete a nuestra comunidad!, te ayudaremos en cada duda que tengas respecto al SMWH. Aparte podrás participar en eventos que hay en el foro y descargar los recursos que crean nuestros usuarios.
¡ANÍMATE! ¡Te divertirás en nuestro foro!
Atte:
La administracion.
Fortaleza Reznor
¡Bienvenido a Fortaleza Reznor!
¿Que es Fortaleza Reznor?
Fortaleza Reznor es un foro de SMWH (Super Mario World Hacking) Aquí modificamos (hackeamos) el juego de Mario World a nuestro gusto y enseñamos a otros a saber a manejar el hacking de SMW usando la famosa herramienta "Lunar Magic".
¡Regístrate!
Únete a nuestra comunidad!, te ayudaremos en cada duda que tengas respecto al SMWH. Aparte podrás participar en eventos que hay en el foro y descargar los recursos que crean nuestros usuarios.
¡ANÍMATE! ¡Te divertirás en nuestro foro!
Atte:
La administracion.
Fortaleza Reznor
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.
¡Super Mario World Hacking en español! ¡Ayuda, tips, diversión y más!
Tema: [Tutorial] Hackear la musica de NDS Lun Abr 11, 2016 4:05 pm
(Si, se que habia prometido uno de porting de SMW, pero este tutorial es mas sencillo de hacer)
Bueno, para los que no sepan, desde finales del año pasado me interese en hackear la musica de los juegos de DS, ya que sonaba como algo interesante, el problema es que los tutoriales que hay en internet son muy malos y te dicen que unas cosas son imposibles, aun cuando eso no es verdad, por lo que comence a buscar documentacion del formato .sseq (cuyo equivalente en el SNES seria el .mml o .txt) para poder hacer mis propios ports. Despues de bastante tiempo de investigacion y experimentacion, descubri la manera mas facil, rapida y ademas optima de insertar musica a un ROM de DS.
Ahora viene lo interesante. Esto aplica para solo un juego? No! La mayoria de los juegos de DS usan exactamente el mismo formato y motor de musica, por lo que una vez aprendes a hackear uno, puedes hackear la musica de muchos juegos, entre ellos incluidos los Etrian Odyssey, Mario, Pokemon, Castlevania, etc. Claro, habran unas cosas que cambian ligeramente, como los instrumentos, pero aparte de eso todo es exactamente igual, por lo que al final del tutorial podran hackear facilmente cualquier juego de DS.
Muy bien, con esa pequeña historia de lado, empezaremos por la lista de materiales necesarios para lograr insertar musica custom.
- Materiales -
seqconv y smfconv: Estos dos programas son los que nos ayudaran a convertir un archivo .mid al formato que usa el NDS, que es el .sseq.
VGMTrans: Programa que nos facilitara mucho la labor de insercion, ya que provee el lugar exacto en el ROM que debemos editar. Tambien es util para extraer musica de los juegos de NDS en formato MIDI, por si queremos editar la musica que ya estaba incluida en el ROM. Si el ROM no funciona con este programa, entonces no es posible editarle la musica. Si ya tenian el programa, descarguenlo otra vez porque esta es la version mas nueva y con mas compatibilidad que hay hasta ahora.
HxD: En realidad cualquier Hex Editor sirve, pero en este tutorial se usara este en especifico. Con esto insertaremos la musica.
FL Studio: Este sera el programa principal que usaremos para editar los MIDIs que querramos insertar a nuestros ROMs. Recomiendo las versiones 8, 9 o 10, ya que de la 11 en adelante, el programa maneja el tempo de manera diferente, por lo que nos podra dar problemas. No pongo link por ser un programa popular ya que Foroactivo despues nos da una infraccion, asi que busquenlo en Google (pero busquen las versiones especificas que mencione). No necesitan bajarselo full; la version de prueba es suficiente para nosotros.
Anvil Studio: Si, lo se, estaran pensando "Por que necesito DOS editores de MIDIs?", y es comprensible, pero aqui va la razon: El FL Studio no es un programa especificamente hecho para MIDIs, por lo que no tiene todas las funciones que necesitamos nosotros (aunque en realidad solo es una), por lo que necesitamos tambien el Anvil Studio. Esto solo nos va a servir para una cosa en especifico, pero esa cosa es muy importante, por lo que necesitan bajarselo.
MIDIs: Al contrario del SMW, sin esto no hacen nada.
Un ROM de NDS: Tampoco voy a dar un link para bajarlos.
Mucha paciencia: No tengo que explicar esto, verdad?
Bien, esa es la lista de materiales necesarios por ahora. Mas tarde veran por que.
Como nota rapida antes de empezar, la musica del DS tiene limitaciones, pero la mayoria no nos van a molestar, excepto esta: Como los MIDIs, la musica solo puede tener 16 canales. Son el doble de canales para trabajar que los que tenemos en el SNES, asi que deberian ser mas que necesarios, pero mirenlo por el lado bueno, ninguno de ellos se vera interrumpido por los SFX! Tambien, estos canales pueden tener la cantidad de acordes (por si no entienden la imagen, son notas que tocan al mismo tiempo en un mismo canal) que quieran, asi que no se deben preocupar por separarlos o borrarlos.
Y ya con eso explicado, podemos comenzar!
- Preparando el MIDI -
Asumiendo que ya tienes el MIDI que quieres insertar y el ROM del juego (en mi caso sera el ROM de Etrian Odyssey 3 y este MIDI que ya tiene los instrumentos puestos porque perdi el original, pero ignoren ese pequeñito detalle), debes abrir el VGMTrans y arrastrar tu ROM encima, esto hara que el VGMTrans deje de responder por un segundo o dos (depende del ROM, obvio, hay unos que los abre instantaneamente, y hay otros en los que se tarda un poco mas), y despues saldran varias cosas en la ventana, como lo podran ver en la siguiente imagen:
Ignoraremos lo que esta a la izquierda, ya que lo que necesitamos esta en la parte de abajo. Ven esos nombres todos en mayuscula? Pues esa es la musica del juego. Ahi deben buscar cual es la musica que quieren reemplazar. Si no saben cual es cual (ya que en unos juegos salen nombres muy raros), pueden darle click a los nombres de abajo y luego presionar el pequeño boton de Play que sale en la parte de arriba del programa, esto reproducira la musica y les dejara saber cual es la que quieren reemplazar. En este ejemplo yo quiero reemplazar la que se llama BATTLE_LASTBOSS, asi que la selecciono, le doy click al boton de Play para asegurarme que es esa, y como lo es, entonces me voy al siguiente paso.
Una vez encontrado el tema que quieren reemplazar, deben darle click derecho y escoger la opcion de Save as MIDI and DLS. Se les abrira una ventana preguntando en donde quieren guardar los archivos, ponganlo en el escritorio para que sea mas facil. Ahora veran que salieron dos archivos: Un archivo .mid con el nombre que salia en el VGMTrans y un .dls, que tambien sale con el mismo nombre. Como nosotros queremos insertar musica nueva (es decir, no queremos editar la original y volverla a insertar), entonces borramos el archivo .mid y nos dejamos el .dls.
Muy bien, ahora lo que vamos a hacer es abrir el FL Studio y abrir nuestro MIDI ahi yendo a File → Open y escogiendo el MIDI. Cuando hagamos eso nos saldra esta ventanita:
Ahi tenemos que asegurarnos que las opciones esten marcadas a como estan en la imagen, despues de eso le damos a Accept. Con eso ya abrimos el MIDI en el FL Studio, y tambien podran notar que se abre otra ventana pequeña llamada Fruity LSD, no la cierren, la vamos a necesitar. Presionamos el boton marcado en la siguiente imagen:
Ahora buscamos el archivo .dls que generamos con el VGMTrans anteriormente, y lo abrimos en el Fruity LSD.
Bien, ahora, que acabamos de hacer? Pues el archivo .dls es el soundfont que usa el tema que queremos reemplazar (hay unos juegos que usan el mismo soundfont para toda la musica, pero en mi caso se usa uno distinto para cada tema), y con abrirlo en el Fruity LSD hacemos que el FL Studio lo aplique temporalmente al MIDI para poder escucharlo con los instrumentos del juego. Si reproducen el MIDI asi a como esta, es muy muy seguro que sonara mal, o simplemente no suene del todo, y esto es normal, ya que la mayoria de las veces el soundfont que se usa en el juego no queda con los instrumentos que los MIDIs tienen puestos, asi que debemos cambiarlos manualmente para que suenen bien a la hora de insertarlo.
Antes de hacer esto, debemos probar los instrumentos para ver cual es cual, asi que damos click en el primer canal del MIDI:
Despues damos click en el primer canal, pero del Fruity LSD:
Con esto nos saldra una lista que contiene los instrumentos del .dls, y saldran todos con el nombre de Unnamed Instrument, ahi hacemos doble click en el primero y luego presionamos teclas random de la parte de arriba de tu teclado (las teclas qwertyuiop), al hacer esto el FL Studio producira sonidos, ya que usa el teclado de tu computadora y simula un teclado electrico, asi que esas teclas de arriba tocaran unas notas un tanto altas, con eso te daras cuenta mas o menos de cual instrumento es. Haz esto con todos los instrumentos que sale en la lista, y apunta en algun lado que instrumento es, o al menos a cual se parece mas, y tambien anota si no es un instrumento solo, sino la percusion, ya que esto sera importante.
Una vez hayas identificado los instrumentos ya se los podras poner a los canales de tu MIDI. Ahora, pueden cambiarlos desde el Fruity LSD o desde la ventana llamada Channel Settings que sale en la parte de la derecha de la pantalla al hacer click en un canal, el problema es que si lo cambian y le dan a Play, notaran que volveran al instrumento de antes, como si no hubieras hecho cambio alguno, y esto es normal, ya que asi no es como se cambian los instrumentos. Para hacer esto debes dar click en la parte con notas que esta justo al lado del boton de los canales:
Esto nos abrira otra ventana, esta es llamada Piano Roll, aqui podran editar, quitar y agregar notas si asi lo desean, pero en este ejemplo no lo haremos. Ahora nos vamos a la ventana de Channel Settings sin cerrar el Piano Roll, y vamos a la parte que dice PATCH, notaran que hay un numero a la derecha, pues ese numero es el numero del instrumento que debemos cambiar para que sea igual al numero del instrumento del DLS, por lo que debemos hacer click derecho encima de ese numero, y luego elegir la opcion de Edit events in Piano Roll, asi:
Ahora notaran que los palitos de la parte de abajo del Piano Roll cambiaron a un color solido, esto es porque cambiamos de editar el velocity (piensen en la intensidad de la nota), cosa que no queremos editar, y ahora cambio a editar el instrumento que sonara en el canal, o en esa parte del canal. Esta forma de cambiar el instrumento es bastante intuitiva; solo muevan el color hasta que el nombre del instrumento sea igual al numero que necesitamos. Por ejemplo, yo quiero que use el instrumento numero 3, si movemos el numero de donde dice PATCH en Channel Settings, veremos que se llama Electric Grand Piano, pues entonces ahora debo mover el color que sale en la parte de abajo del Piano Roll hasta que el nombre del instrumento que sale en la esquina superior izquierda del FL Studio sea Electric Grand Piano:
Si necesitan un poco mas de precision (ya que si mueves el color con el tamaño de ventana default, seguramente se saltara varios instrumentos), entonces manten presionada la barra de la parte de arriba del area con color, o sea esta, y la arrastras hacia arriba para que tengas un area mayor:
Deben ajustar los instrumentos con todos los canales, y finalmente darle al boton de Play para ver si suena bien. Ahora, van a haber ocasiones en que los instrumentos sonaran una o dos octavas mas alto o mas bajo que con los instrumentos de MIDI, y esto es normal ya que a veces tienen afinacion distinta, por lo que deben corregirlo. Para esto simplemente abrimos el canal que suene muy alto o muy bajo en el Piano Roll, presionamos Control + A para seleccionar todas las notas y veran que se tornan de un color rosado, ahora mantengan presionada alguna nota y muevanla para arriba o abajo. Ahora, para que no quede desafinado, deben moverla una octava entera, para saber esto deben ver la nota y si por ejemplo dice C4 y queremos que suene mas alto el canal, entonces deben moverla hasta C5 (aun teneniendo todas las notas del canal seleccionadas eso si, ya que esto movera todo el canal hacia arriba una octava). Si las notas solo salen como cilindros pequeños y no dice nada, entonces deben de posar el cursor sobre este boton y mover la ruedita de scroll del mouse haria arriba, esto ampliara las notas y los dejara saber que tipo de nota es:
Una vez ya hayan arreglado todos los canales (lo siento por no entrar mas en detalle, pero esto es algo que varia mucho, por lo que esto es todo lo que les puedo dar de informacion), debemos exportar el MIDI, para ello hacemos click en File y luego en Save as..., escogemos el escritorio como destino y en Tipo ponemos MIDI file, asi:
Pueden sobreescribir el MIDI viejo o guardarlo con otro nombre, no importa. Antes de salirte del FL Studio verifica en donde es que el MIDI se deberia de repetir, en otras palabras, necesitamos saber en donde se loopea (en el caso de que lo haga, claro), en mi caso, el tema que quiero insertar se loopea en este lugar con un 9 arriba en el Piano Roll:
Guardamos este numero, ya que lo necesitaremos despues. Si la musica que quieres insertar se loopea bien desde el inicio (es decir, cuando termina de sonar el MIDI empieza otra vez desde 0 y suena a como deberia), entonces no debes anotar nada.
Ahora si, debemos pasarnos al Anvil Studio. Cuando lo abran, carguen el MIDI que acabamos de exportar con File → Open Song..., ahora vamos a darle click al numero que les dije que recordaran (el del loop) en la parte de la derecha:
Una vez hecho eso, le dan click a View → Piano Roll Editor, esto abrira el Piano Roll y nos dejara ver las notas. Ahora no movemos nada en el Piano Roll, en cambio, debemos dar click en un boton que sale arriba y que dice New Cue:
Eso nos abrira una ventana que dice Enter a name to bookmark this position, y ahi ponen [ y presionan Ok. Ahora, en el Piano Roll nos movemos hasta el final del MIDI, veran que saldra una delgada linea roja en la parte donde sale el tiempo, pues ese es en donde termina el MIDI:
Ahora le damos click a esa linea roja y nos aseguramos que la flecha azul que sale este del lado derecho de esa linea:
Una vez hecho eso, damos click en el boton de New que sale al lado de Cue y ponemos ]. Con esto marcamos el loop; todo lo que esta entre los "cue" [ y ], sera lo que se repetira infinitamente cuando termine de tocar el MIDI por primera vez en el juego. Ahora lo que falta es exportarlo, para ello van a File → Export MIDI-format 0 file..., es importante seleccionar esta opcion y no la de Save Song o Save Song As, ya que se exporta de diferentes maneras, y solo esta funciona bien. Ponen el MIDI en el escritorio con cualquier nombre, pero asegurense de que no tenga espacios, y listo, con eso tenemos el MIDI listo para convertirlo a .sseq.
- Convirtiendo el MIDI a .sseq -
Esta parte es la mas sencilla del tutorial, puesto a que solo tiene dos pasos. Primero deben agarrar el MIDI y arrastrarlo al programa llamado smfconv, eso generara un archivo .smf, ahora ese archivo nuevo lo arrastran al programa llamado seqconv y listo, con eso tendran el .sseq listo para ser insertado.
- Insertando el .sseq -
Esto es un poquito mas complicado, ya que si una condicion (que mencionare pronto) no se cumple, hay que usar un proceso mas largo de insercion. Para saber si esa condicion se cumple o no, deben abrir el archivo .sseq que acaban de crear en el HxD, y despues presionar Control + A para seleccionar todo. Con esto seleccionaran todos los bytes del archivo, y en la parte inferior del programa veran cuantos bytes exactamente usa:
Este numero es muy importante, asi que apuntenlo en algun lado y guardenlo, ya que tenemos que comparar ese numero con el de la musica que vamos a reemplazar. Por que? Pues porque nuestro .sseq debe ser mas pequeño o del mismo tamaño que el original. Para saber el tamaño de la musica original, abrimos nuevamente (si es que cerraron el programa por alguna razon) nuestro ROM en el VGMTrans, seleccionamos la musica que queremos reemplazar y luego en la parte izquierda (junto a la parte que dice Coll info en vertical) seleccionamos el primer elemento que nos sale, ya que esa es la secuencia que queremos reemplazar, y en la aprte de abajo del VGMTrans nos saldra el tamaño, y ademas nos saldra el offset, algo que tambien debemos apuntar en algun lado:
Como ven, en mi caso, el .sseq que quiero insertar es de 3794 bytes (en hexadecimal), y la musica que quiero reemplazar es de 45AC bytes, por lo que no hay problema, asi que vamos a insertarla de una vez. Recuerdan el numero de Offsset resaltado en azul en la captura mas reciente? Pues es hora de usarlo. Abrimos nuestro ROM en el HxD, presionamos Control + G (o si asi lo prefieren, van a Search → Goto...) y en la ventana que sale ponemos el numero del offset sin el 0x, asi:
Se aseguran de que las opciones esten marcadas igual a la imagen, y le dan a Ok. Esto los llevara a la parte del ROM en donde estara insertada la musica original, y en donde insertaremos nuestra musica custom. Aqui deben tener mucho cuidado, ya que si reemplazan mas de lo que deberian, el ROM puede dejar de funcionar. Para hacer un poco mas facil esto, primero nos debemos fijar en el tamaño original de la musica que nos da el VGMTrans, en mi caso eso seria 45AC, asi que seleccionamos todos los bytes comenzando por el byte en donde nos dejo el HxD hasta el byte 45AC, de esta manera:
Si se fijan abajo, se daran cuenta que son exactamente 45AC bytes los que seleccione, puesto a que ese numero de bytes era el que el VGMTrans nos indicaba, asi que una vez que los tengan todos seleccionados damos click derecho en alguna parte de esos bytes y elegimos la opcion de Fill selection, y, sin modificar nada, le damos a Ok (tomaria captura, pero por alguna razon la ventanita sale completamente blanca si lo hago...), eso hara que todos los 45AC bytes que seleccionamos se conviertan a puros 00; esto es lo que queremos. Ahora volvemos a presionar Control + G para abrir la ventana de Goto y le damos a Ok, ya que el offset que usamos antes deberia de seguir ahi intacto, esto nos llevara nuevamente al inicio de la secuencia. Ahora lo que debemos hacer es ir a la pestaña de nuestro .sseq (en caso de que no cerraran nunca el HxD), presionamos Control + A y luego Control + C, esto hara que se copie todo el archivo para luego pegarlo en nuestro ROM, que es lo que vamos a hacer ahora. Ahora para pegar el archivo debemos presionar Control + B, enfasis en el B, ya que si usamos el tradicional Control + V estaremos insertando bytes en vez de reemplazar los ya existentes, por lo que romperemos nuestro ROM. No se preocupen si quedaron muchos 00 al final, esto no afectara en lo mas minimo.
Listo! Con esto ya hemos insertado musica custom. Para probar que funciono pueden hacer dos cosas: La primera es cerrar el VGMTrans y volverlo a abrir, despues volver a cargar nuestro ROM y seleccionar la musica que queriamos reemplazar y luego presionar el boton de Play, si suena la musica que acabamos de insertar sin problemas, entonces funciono, lo malo de esto es que no nos permite escuchar el loop, por lo que la mejor forma de probarlo es abriendo el ROM en su emulador de eleccion (el mio es el Desmume), ir a la parte del juego en donde suena la musica, o en su defecto, ir al sound test si es que tiene, y probar. El resultado de la musica que acabo de insertar yo se puede escuchar en el siguiente video:
Muy bien, pero que pasa si la musica que queremos insertar es mas grande que la original? Se podra insertar de la misma manera? NO! Si lo intentan hacer asi lo mas seguro es que terminen rompiendo el ROM o la musica que le sigue. Pero no se preocupen! Aun hay una forma de insertar esa musica que es mas grande que la original; no se fien de los demas tutoriales de musica de DS que les dice que es imposible, porque siempre hay otra manera. Este metodo no esta explicado en ningun lado, por lo que me tomo un poco de tiempo averiguarlo por mi mismo, pero no se preocupen, que lo voy a tratar de explicar para ustedes lo mejor que pueda.
- Insertando musica mas grande que las originales -
Recuerdan al inicio del tutorial que dije que los materiales eran los necesarios por ahora? Pues aqui viene la razon: Para este paso extra necesitamos un programa mas llamado DSLazy, el cual podran descargar de aqui:
Este pequeño programa lo que hara sera decompilar nuestro ROM, lo que nos ayudara a editar el archivo que contiene toda la musica y todo lo relacionado con el sonido, y volver a compilarlo. Se tiene que hacer de esta forma ya que el archivo que contiene la musica esta encriptado en el ROM, por lo que no podemos editarlo asi a como esta, ademas de que si se pudiera editar, necesitariamos modificar muchas partes del ROM para que apunten a otros lados ya que se aumentara el tamaño del archivo, asi que tenemos que usar el DSLazy para que nos haga todo esto automaticamente.
Bueno, lo primero que debemos hacer es mover nuestro ROM a la carpeta del DSLazy (pueden dejarlo en la carpeta del emulador si quieren, pero es mas facil y rapido de esta manera) y abren el programa, no el archivo .bat. Al abrirlo les saldra una ventana asi, y deberan presionar el siguiente boton para buscar el ROM:
Lo buscan y lo abren en el programa. Seguido de esto, dan click en el boton con un serrucho y un icono de guardado con el nombre de NDS Unpack, esto decompilara el ROM en una carpeta llamada NDS_UNPACK que se abrira automaticamente cuando el programa termina de hacer lo suyo. Dentro de la carpeta que se abre deberan meterse a la carpeta llamada Data y ahi buscar un archivo llamado sound_data.sdat, si no esta a simple vista, lo mas seguro es que este dentro de otra carpeta, usualmente es una llamada Snd o Sound. Una vez que lo encuentren deben abrir el archivo en el HxD y presionan Control + F. En la ventana de busqueda deben asegurarse de que en Datatype salga Text-string, en Search Direction debe estar en All, y lo que vamos a buscar se llama FAT (que son las siglas de File Allocation Table), asi:
Esto los dejara en el lugar en donde inician las tablas que le dicen al ROM donde estara nuestra musica y de que tamaño es. Lo podemos comprobar con la parte de la derecha del HxD, ya que se veran unas letras seleccionadas que dicen FAT:
Despues de que el Control + F los dejara en la parte inicial del FAT, tienen que presionar la tecla [→] de, obviamente, su teclado, exactamente 9 veces. Esto nos dejara al inicio de los bytes que le indican al ROM en donde esta la musica del primer slot del juego. Estos slots los podemos ver con el VGMTrans:
En mi caso, quiero el slot 15 (DUNGEON6), asi que tenemos ese numero en mente y volvemos al HxD. Ahi en el lugar que nos dejo el presionar la tecla derecha 9 veces, presionamos la tecla de abajo [↓] 14 veces (ya que nos estamos posicionando en el primer slot), o las veces equivalentes al slot que quieren reemplazar -1. Por ejemplo, si quiero reemplazar el slot 9 tengo que presionar abajo 8 veces, si quiero el slot 24 entonces presiono abajo 23 veces y asi.
Una vez ahi tendremos 4 bytes o numeros de dos digitos; estos 4 bytes corresponderan al lugar en el .sdat (OJO, en el .sdat, no en el ROM), y los 4 bytes que estan despues de esos corresponderan al tamaño del .sseq. Ok, quizas no hayan entendido, pero no se preocupen, ya lo explicare mejor.
Lo primero que debemos modificar es lo del tamaño del .sseq. Esto lo vemos facilmente al seleccionar todos los bytes del .sseq con el HxD (Control + A) y fijandonos en la parte de abajo del programa [Imagen]. Ahora, podemos poner los bytes asi a como estan? No, ya que estas tablas usan el formato Little Endian, que en palabras sencillas, son bytes volteados, asi que deben de tomar los bytes y darles vuelta. Por ejemplo, mi .sseq, como bien recuerdan, pesa 3794 bytes, que convertidos a Little Endian serian 9437. Ven como cambie de lugar el 94 y el 37? Pues eso deben hacer con el suyo; si el tamaño es algo como 790, entonces lo que deben hacer es ponerlo como 9007, ya que los bytes no pueden tener un solo numero, y aunque no se muestre, siempre habra un 0 antes de el.
Bueno, entonces como el tamaño que yo quiero es 9437 (otra vez, porque es Little Endian de 3794), debo editar los 4 bytes que estan despues de los 4 bytes del lugar en donde estara la musica, y quedaria asi:
Los ultimos dos bytes quedan en 00 porque no los necesitamos. Ahora, para saber el lugar en donde lo vamos a insertar es muy facil; debemos ir al puro final del archivo .sdat y dar click despues del ultimo byte del archivo, o sea aqui, y veremos que abajo sale el Offset que necesitamos usar:
Ahora tomamos ese numero y lo ponemos al reves. Para hacer este proceso un poco mas sencillo ya que ahora estaremos lidiando con 3 bytes en vez de 2, les recomiendo separarlos, asi que en mi caso el Offset seria 8EC7E4, pero para que se vea mejor y sea mas facil de voltear, lo cambio a 8E C7 E4, y una vez ahi lo convierto a Little Endian al poner los bytes al reves, y quedaria como E4 C7 BE, este es el numero que vamos a poner en FAT.
Cuando tengamos ese numero, antes de volver a la tabla que debemos editar de arriba, vamos a pegar el .sseq al final del archivo, asi que copiamos el archivo .sseq como antes, y luego vamos a la pestaña del .sdat y lo pegamos al final con Control + V; esto añadira el archivo al final, pero no se preocupen, no pasara nada malo esta vez ya que no estamos editando el ROM directamente.
Muy bien, ya tenemos la musica insertada al final del archivo de sonido, ahora solo nos falta editar la tabla para que el juego vaya exactamente a ese punto cuando cargue la musica. Para volver al mismo lugar en donde estabamos editando, presionamos Control + F, buscamos FAT como Text-string, y luego bajamos un poco hasta que veamos dos numeros rojos, que son los que acabamos de editar y corresponden al tamaño del .sseq. Nos movemos 4 bytes para atras y ahi ponemos el Offset de donde estara la musica nueva, que si recuerdan sera E4 C7 BE en vez del 60 A5 01 que tenia mi .sdat originalmente. Quedara asi:
Una vez se aseguran de que editaron los bytes correspondientes, pueden guardar el archivo .sdat. Si se fijan, en el lugar en donde esta el .sdat salio un nuevo archivo que se llama exactamente igual, pero con extension .bak, esto es porque el HxD crea automaticamente un backup (copia sin editar del archivo) en caso de que algo salga mal. Este archivo .bak lo tenemos que mover al escritorio o a algun otro lugar que no sea el lugar en donde esta el .sdat, la razon para esto es porque el DSLazy insertara el backup al ROM, lo cual no lo rompera ni nada, pero tomara espacio de forma innecesaria.
Una vez que hayan quitado el backup de la carpeta en donde se encuentra el .sdat, pueden ir de nuevo a la carpeta base del DSLazy, abrir el programa (si lo cerraron), y ahora deben presionar el boton del final llamado NDS Packer, se les abrira una ventana preguntandoles el nombre que le quieran poner al ROM nuevo, le ponen lo que sea y lo guardan. Si son observadores se daran cuenta que este nuevo ROM compilado es mas liviano que el ROM original, pues esto es normal y es debido a que el DSLazy no incluye todos los bytes vacios que los ROMs comunmente incluyen al final, pero no se preocupen, que todos los emuladores lo correran normalmente a como si estuvieran del tamaño original.
Ahora si, prueben la musica en el VGMTrans o en el emulador directamente y podran ver que funciona. Felicitaciones! Lograron insertar musica a su ROM que era mas grande que las originales!
Con esto concluiria el tutorial; quizas no sea muy util para las personas de aqui, pero uno nunca sabe. Como siempre, si tienen alguna duda o simplemente no entienden algo, posteenla y la respondere en cuanto pueda. Tambien si por alguna razon algun link se cae, haganmelo saber para volverlo a subir, ya que no se muy bien si a Dropbox le gustan los programas que decompilan ROMs.
__________________________________________________ Mario's New Quest [Revival]: Demo final [Cancelado]
SMW: The Eternal Night:
Status: Congelado, quizas por siempre.
Última edición por Michael el Sáb Mayo 25, 2019 6:16 pm, editado 3 veces
Pinci Spiny
Posts : 310
Tema: Re: [Tutorial] Hackear la musica de NDS Lun Abr 11, 2016 6:53 pm
__________________________________________________ Firma en remodelacion
Carld923 Reznor
Posts : 2223
Tema: Re: [Tutorial] Hackear la musica de NDS Lun Abr 18, 2016 5:57 pm
Ok, quiero tratar de aportarles un dato para este tutorial
Cuando trataba de insertar mi musica que era mas grande de lo que podia insertar en la compilacion del megaman zero en el ds me di cuenta que habia mas de 4 archivos .sdat
Deduciendo que yo queria cambiar musica del sound_data_z2 (la del megaman zero 2) probe con esa, y segui todo el tuto, pero me fije que no se habia insertado. Luego trate otra cosa diferente y esta ves si inserto, pero cual fue la causa? Segun yo es esto:
Ven esa imagen? por experimentar me di cuenta de eso, no se si lo pueda explicar bien, (quisas la imagen por si sola lo haga?) Pero por lo que expongo, creo cada sound data diferente hace que el conteo de las canciones se tome de manera diferente debido a que es una compialcion de juegos y no uno individual, asi que por cada sound data, hay que contar de diferente manera. Por ejemplo, si quisiera meterle canciones al MZ3, tendria que empesar el conteo de las canciones desde BGM_ZC3_161 y no desde el principio, por que ya es otro sound data y no el que voy a utilizar