Author Id: 27515 Author Name: G0LD_ZTHVARD0X! Post Content: Hola a todos, aqui de nuevo yo con otro tutorial, esta vez les enseñare a insertar una MIDI en su rom, explicado como se lo explicaria a un niño de 6 años, en fin, empecemos c: ============== ¿Que necesitamos ============== • Sappy 2006 (si usas Win 7/8 descarga el Mod 17.1, buscalo en el foro) • Mid2agb (viene dentro del directorio de sappy) • Una Midi • Free Space Finder • Anvil Studio (buscalo en google) • Una copia de tu ROM que morira si o si ==================== Paso 1: Seleccion de Tema ==================== Ya hemos seleccionado una melodia a insertar, yo lara el tuto usare un remix del tema de pokemon salvaje de Pokemon RZE. Ademas debemos renombrar la melodia usando solo caracteres alfanumericos sin espacios, que al mid2agb no le gustan esas cosas (?). ================ Paso 2: Loopeando ================ ¿Que es loopear? pues su nombre lo dice, loop es bucle en español, osea hacer que la MIDI se repita infinitamente, pues si no al terminar la melodia esta terminara y se quedara mudo el ROM. Para loopear solo sigue [url=http://wahackforo.com/t-17018/gba-otros-olvidate-loopear-mano]Este tutorial de loopeo[/url] pero asegurate que guardes la melodia como "MIDI FORMAT-0" o el loop no servira. ========================== Paso 3: Acomodando Instrumentos ========================== Pues esto es un poco tedioso, pues como sabras en los roms de GBA hay una gran cantidad de grupos de instrumentos (Voicegroups, VG para abreviar) los cuales contienen un conjunto de instrumentos a tocar, si tu MIDI posee un instrumento que no esta en el VG este simplemente sonara como un horrendo beep. He aqui la lista de VG y sus offset en FR (No se en Ruby sus offsets :P) [spoiler]0x48ABB0 2 - Electric Grand 13 - Xylophone 46 - Harp 47 - Timpani 48 - Strings 56 - Trumpet 60 - French Horn 73 - Flute 82 - Calliope 83 - Chiff 84 - Charang 85 - Voice 88 - Pad 1 (New Age) 100 - Brightness 101 - Goblin 0x48B078 47 - Timpani 60 - French Horn 80 - Square 81 - Sawtooth 82 - Calliope 83 - Chiff 84 - Charang 0x48B474 01 - Acoustic Grand 4, 5, 6 and 7 - Not Square instruments, but used as Square instruments in GBA Pokemon games. 47 - Timpani 48 - Strings 56 - Trumpet 60 - French Horn 80 - Square 90 - Pad 3 (Polysynth) 0x48B8B8 (Used for the second RSE battle theme) 01 - Bright Acoustic 4, 5, 6 and 7 - Not Square instruments, but used as Square instruments in GBA Pokemon games. 17 - Percussive Organ 33 - Electric Bass (Fingered) 47 - Timpani 48 - Strings 56 - Trumpet 60 - French Horn 81 - Sawtooth 82 - Calliope 83 - Chiff 90 - Pad 3 (Polysynth) 0x48F974 1 - Bright Acoustic 2 - Electric Grand 24 - Acoustic Guitar Nylon 80 - Square 81 - Sawtooth 127 - Gunshot(Used as Drum Noise) 0x48FF74 14 - Tubular Bells 17 - Percussive Organ 24 - Acoustic Guitar Nylon 47 - Timpani 56 - Trumpet 73 - Flute 80 - Square 81 - Sawtooth 87 - Bass + Lead 127 - Gunshot(Used as Drum Noise) 0x490574 17 - Percussive Organ 24 - Acoustic Guitar Nylon 29 - Overdriven Guitar 30 - Distortion Guitar 38 - Synth Bass 1 48 - Strings 56 - Trumpet 78 - Whistle 80 - Square 81 - Sawtooth 83 - Chiff 120 - Guitar Fret Noise 126 - Applause(Used as Drum Noise) 127 - Gunshot(Used as Drum Noise) 0x490B74 47 - Timpani 48 - Strings 56 - Trumpet 60 - French Horn 80 - Square 81 - Sawtooth 84 - Charang 85 - Voice 87 - Bass + Lead 88 - Pad 1 (New Age) 0x490FAC 21 - Accordian 80 - Square 81 - Sawtooth 0x491390 29 - Overdriven Guitar 30 - Distortion Guitar 38 - Synth Bass 1 62 - SynthBrass 1 80 - Square 81 - Sawtooth 83 - Chiff 84 - Charang 85 - Voice 86 - Lead Fifths 87 - Bass + Lead 88 - Pad 1 (New Age) 89 - Pad 2 (Warm) 125 - Helicopter 127 - Gunshot(Used as Drum Noise) 0x491990 14 - Tubular Bells 47 - Timpani 48 - Strings 56 - Trumpet 58 - Trombone 60 - French Horn 80 - Square 81 - Sawtooth 125 - Helicopter 0x491F90 17 - Percussive Organ 24 - Acoustic Guitar Nylon 48 - Strings 80 - Square 81 - Sawtooth 126 - Applause(Used as Drum Noise) 127 - Gunshot(Used as Drum Noise) 0x492590 10 - Music Box 17 - Percussive Organ 21 - Accordian 24 - Acoustic Guitar Nylon 48 - Strings 58 - Trombone 78 - Whistle 80 - Square 81 - Sawtooth 0x492B90 02 - Not really a square instrument, but used as such in the game. 0x492BC0 01 - Bright Acoustic 13 - Xylophone 17 - Percussive Organ 21 - Accordian 24 - Acoustic Guitar Nylon 56 - Trumpet 73 - Flute 80 - Square 81 - Sawtooth 83 - Chiff(Used here as Wave) 84 - Charang 85 - Voice(Used here as Wave) 0x4931C0 17 - Percussive Organ 24 - Acoustic Guitar Nylon 38 - Synth Bass 1 80 - Square 81 - Sawtooth 83 - Chiff 0x4935B0 01 - Bright Acoustic 17 - Percussive Organ 24 - Acoustic Guitar Nylon 48 - Strings 80 - Square 81 - Sawtooth 126 - Applause(Used as Drum Noise) 127 - Gunshot(Used as Drum Noise) 0x493BB0 01 - Bright Acoustic 17 - Percussive Organ 38 - Synth Bass 1 48 - Strings 80 - Square 81 - Sawtooth 126 - Applause(Used as Drum Noise) 0x4941B0 17 - Percussive Organ 24 - Acoustic Guitar Nylon 80 - Square 81 - Sawtooth 126 - Applause(Used as Drum Noise) 127 - Gunshot(Used as Drum Noise) 0x4947B0 01 - Bright Acoustic 13 - Xylophone 24 - Acoustic Guitar Nylon 48 - Strings 78 - Whistle 80 - Square 81 - Sawtooth 83 - Chiff 126 - Applause(Used as Drum Noise) 127 - Gunshot(Used as Drum Noise) 0x494DB0 01 - Bright Acoustic 24 - Acoustic Guitar Nylon 48 - Strings 80 - Square 81 - Sawtooth 0x4951A0 13 - Xylophone 39 - Synth Bass 2 48 - Strings 58 - Trombone 80 - Square 81 - Sawtooth 126 - Applause(Used as Drum Noise) 127 - Gunshot(Used as Drum Noise) 0x4957A0 1 - Bright Acoustic 2 - Used as a Square in GBA Pokemon games 9 - Glockenspiel 13 - Xylophone 46 - Harp 47 - Timpani 48 - Strings 56 - Trumpet 58 - Trombone 60 - French Horn 68 - Oboe 73 - Flute 80 - Square 81 - Sawtooth 82 - Calliope 0x495BFC 78 - Whistle 80 - Square 81 - Sawtooth 83 - Chiff 126 - Applause(Used as Drum Noise) 0x4961FC 47 - Timpani 48 - Strings 56 - Trumpet 80 - Square 81 - Sawtooth 84 - Charang 0x49661C 14 - Tubular Bells 17 - Percussive Organ 24 - Acoustic Guitar Nylon 47 - Timpani 48 - Strings 60 - French Horn 80 - Square 81 - Sawtooth 92 - Pad 5 (Bowed) 127 - Gunshot(Used as Drum Noise) 0x496C1C 14 - Tubular Bells 46 - Harp 47 - Timpani 48 - Strings 56 - Trumpet 60 - French Horn 73 - Flute 81 - Sawtooth 83 - Chiff 127 - Gunshot(Used as Drum Noise) 0x49721C 14 - Tubular Bells 47 - Timpani 48 - Strings 58 - Trombone 60 - French Horn 80 - Square 81 - Sawtooth 0x497678 4 and 5 - Not Squares, but interpreted by the GBA Pokemon games as such. 14 - Tubular Bells 17 - Percussive Organ 24 - Acoustic Guitar Nylon 29 - Overdriven Guitar 30 - Distortion Guitar 47 - Timpani 48 - Strings 60 - French Horn 62 - SynthBrass 1 83 - Chiff 89 - Pad 2 (Warm) 126 - Applause(Used as Drum Noise) 127 - Gunshot(Used as Drum Noise) 0x497C78 17 - Percussive Organ 21 - Accordian 29 - Overdriven Guitar 30 - Distortion Guitar 33 - Electric Bass (Fingered) 56 - Trumpet 62 - SynthBrass 1 126 - Applause(Used as Drum Noise) 127 - Gunshot(Used as Drum Noise) 0x498278 17 - Percussive Organ 24 - Acoustic Guitar Nylon 33 - Electric Bass (Fingered) 48 - Strings 80 - Square 81 - Sawtooth 87 - Bass + Lead 92 - Pad 5 (Bowed) 126 - Applause(Used as Drum Noise) 127 - Gunshot(Used as Drum Noise) 0x498878 4 - Used as synth by the game. 14 - Tubular Bells 24 - Acoustic Guitar Nylon 29 - Overdriven Guitar 30 - Distortion Guitar 31 - Guitar Harmonics 48 - Strings 53 - Voice Oohs 56 - Trumpet 60 - French Horn 62 - SynthBrass 1 80 - Square 81 - Sawtooth 126 - Applause(Used as Drum Noise) 127 - Gunshot(Used as Drum Noise) 0x498E78 4 - Used as synth. 5 - Used as synth by the game. 24 - Acoustic Guitar Nylon 48 - Strings 80 - Square 81 - Sawtooth 83 - Chiff 0x499478 14 - Tubular Bells 24 - Acoustic Guitar Nylon 48 - Strings 80 - Square 81 - Sawtooth 0x499898 01 - Bright Acoustic 21 - Accordian 48 - Strings 58 - Trombone 73 - Flute 80 - Square 81 - Sawtooth 83 - Chiff 126 - Applause(Used as Drum Noise) 127 - Gunshot(Used as Drum Noise) 0x499E98 4 - Used as synth 14 - Tubular Bells 17 - Percussive Organ 48 - Strings 80 - Square 81 - Sawtooth 0x49A2F4 01 - Bright Acoustic 05 - Used as synth. 46 - Harp 56 - Trumpet 58 - Trombone 73 - Flute 81 - Sawtooth 92 - Pad 5 (Bowed) 126 - Applause(Used as Drum Noise) 127 - Gunshot(Used as Drum Noise) 0x49A8F4 04 - Used as synth. 05 - Used as synth. 12 - Marimba(Used as synth here). 24 - Acoustic Guitar Nylon 46 - Harp 48 - Strings 73 - Flute 80 - Square 81 - Sawtooth 0x49AEF4 01 - Bright Acoustic 14 - Tubular Bells 17 - Percussive Organ 24 - Acoustic Guitar Nylon 58 - Trombone 73 - Flute 75 - Pan Flute 78 - Whistle 0x49B4F4 17 - Percussive Organ 24 - Acoustic Guitar Nylon 31 - Guitar Harmonics 48 - Strings 62 - SynthBrass 1 80 - Square 81 - Sawtooth 126 - Applause(Used as Drum Noise) 127 - Gunshot(Used as Drum Noise) 0x49BAF4 17 - Percussive Organ 21 - Accordian 24 - Acoustic Guitar Nylon 56 - Trumpet 80 - Square 81 - Sawtooth 126 - Applause(Used as Drum Noise) 127 - Gunshot(Used as Drum Noise) 0x49C0F4 17 - Percussive Organ 24 - Acoustic Guitar Nylon 45 - Pizzicato Strings 48 - Strings 60 - French Horn 73 - Flute 80 - Square 81 - Sawtooth 0x49C6F4 17 - Percussive Organ 75 - Pan Flute 80 - Square 81 - Sawtooth 127 - Gunshot(Used as Drum Noise) 0x49CCF4 47 - Timpani 56 - Trumpet 58 - Trombone 73 - Flute 81 - Sawtooth 82 - Calliope 83 - Chiff 0x49D0E4 45 - Pizzicato Strings 47 - Timpani 48 - Strings 56 - Trumpet 60 - French Horn 73 - Flute 81 - Sawtooth 82 - Calliope 83 - Chiff 85 - Voice 86 - Lead 7 fifths 89 - Pad 2 (Warm) 0x49D528 4 - Electric Piano 1 17 - Percussive Organ 24 - Acoustic Guitar Nylon 48 - Strings 73 - Flute 80 - Square 81 - Sawtooth 92 - Pad 5 (Bowed) 126 - Applause(Used as Drum Noise) 127 - Gunshot(Used as Drum Noise) 0x49DB28 1 - Bright Acoustic 4 - Electric Piano 1 17 - Percussive Organ 25 - Acoustic Guitar Steel 48 - Strings 80 - Square 81 - Sawtooth 83 - Chiff 126 - Applause(Used as Drum Noise) 127 - Gunshot(Used as Drum Noise) 0x49E128 1 - Bright Acoustic 30 - Distortion Guitar 38 - Synth Bass 1 80 - Square 81 - Sawtooth 82 - Calliope 83 - Chiff 92 - Pad 5 (Bowed) 0x49E884 13 - Xylophone 24 - Acoustic Guitar Nylon 80 - Square 81 - Sawtooth 87 - Bass + Lead 0x49F16C 13 - Xylophone 24 - Acoustic Guitar Nylon 80 - Square 81 - Sawtooth 0x49F58C 1 - Bright Acoustic 2 - Electric Grand 56 - Trumpet 60 - French Horn 80 - Square 81 - Sawtooth 83 - Chiff 0x4A01E0 47 - Timpani 48 - Strings 56 - Trumpet 58 - Trombone 60 - French Horn 81 - Sawtooth 0x4A0600 24 - Acoustic Guitar Nylon 35 - Fretless Bass 126 - Applause(Used as Drum Noise) 127 - Gunshot(Used as Drum Noise) 0x4A1008 14 - Tubular Bells 29 - Overdriven Guitar 30 - Distortion Guitar 33 - Electric Bass (Fingered) 48 - Strings 53 - Voice Oohs 60 - French Horn 62 - SynthBrass 1 78 - Whistle 81 - Sawtooth 127 - Gunshot(Used as Drum Noise) 0x4A1C08 01 - Bright Acoustic 24 - Acoustic Guitar Nylon 48 - Strings 56 - Trumpet 60 - French Horn 80 - Square 81 - Sawtooth 126 - Applause(Used as Drum Noise) 127 - Gunshot(Used as Drum Noise) 0x4A2208 17 - Percussive Organ 24 - Acoustic Guitar Nylon 48 - Strings 80 - Square 81 - Sawtooth 126 - Applause(Used as Drum Noise) 127 - Gunshot(Used as Drum Noise) 0x4A2808 17 - Percussive Organ 24 - Acoustic Guitar Nylon 48 - Strings 80 - Square 81 - Sawtooth 82 - Calliope 126 - Applause(Used as Drum Noise) 127 - Gunshot(Used as Drum Noise) 0x4A0C00 14 - Tubular Bells 31 - Guitar Harmonics 38 - Synth Bass 1 80 - Square 81 - Sawtooth 85 - Voice(For once, it's actually not used as Synth) 0x4A1608 01 - Bright Acoustic 81 - Sawtooth 127 - Gunshot(Used as Drum Noise)[/spoiler] y ahora ¿como acomodo los instrumentos si mi MIDI tiene todas los instrumentos diferentes a todos Los VG? pues aqui entra Anvil studio, con el podemos cambiar los instrumentos que toca cada track de la MIDI, para cambialo solo abre tu ROM en el anvil studio, abajo se desplegara la lista de tracks que tiene la melodia (la mia tiene 10 tracks) y en el lado derecho de cada track podemos ver el instrumento que toca. Para cambiarlo solo da click sobre el nombre del instrumento y se desplegara una ventanita que contiene todos los instrumentos disponibles, en azul estara remarcado en azul el instrumento actual, navegamos en la ventana a modo de seleccionar un nuevo instrumento que si este en el VG, le damos aceptar y listo. [spoiler][IMG]http://www.subeimagenes.com/img/a-1-1013315.jpg[/IMG][/spoiler] Repetimos con los tracks que lo necesiten y recordamos guardar la MIDI en "Export MIDI FORMAT-0" de lo contrario sappy no leera tu loop. ================== Paso 4: Convertir a .S ================== Esto que viene es mas facil, ahora tomamos nuestra MIDI, y con el puntero del mouse la arrastraremos a el icono del programa "Mid2agb", al hacerlo solo se abrira una ventana de la consola de Windows que se cierra de.inmediato, pero vemos que se creo un nuevo archivl con el nombre de nuestra MIDI, pero tiene formato. s, pues bien, ahora ya esta convertida al formato de GBA [spoiler][IMG]http://wahackforo.com/img/27515/337/3819.png[/IMG][/spoiler] ================ Paso 5: Importando ================ Ahora empieza a ponerse bueno, abriremos. nuestra copi de nuestro ROM con sappy (el ROM que morira), y en la ventana de melodias nos dirigiremos a la melodia a reemplazar, yo reemplazare la 297 (tema de pokemon salvaje) y nos iremos al costado del programa y clickearemos "Assemble Song" [spoiler][IMG]http://wahackforo.com/img/27515/337/3820.png[/IMG][/spoiler] Ahora se nos muesta una ventana como esta, y haremos lo siguiente: [spoiler][IMG]http://wahackforo.com/img/27515/337/3821.png[/IMG][/spoiler] Primer Rectangulo: Seleccionaremos el archivo .s que nos genero mid2agb. Segundo rectangulo: No se toca, es el ROM de destino Tercer rectangulo: Es el offset donde se pondra nuestra nueva melodia, busca una offset con bastante espacio libre con FSF, pegalo ahi. Cuarto rectangulo: Offset del VG que usara la melodia, en el paso 3 deje la lista de offset con los VG disponibles. Ahora procederemos a darle al boton "Cook it" y despue de un momento nos abre una ventana si queremos guardar la melodia en su indice correspondiente, le diremos que si y ¡listo! ya esta la melodia. Ahora procedemos a reproducirla, si no se escucha como quisieramos o se escuchan canales con horrendos beeps, pues repetimos el proceso de acomodar instrumentos e insertar hasta que estemos conformes como quedo, por seguridad cerremos sappy ======================== Paso 6: Meterla en Nustro ROM ======================== Ahora la insertaremos en nuestro verdadero ROM, para ello reabrimos con sappy la copia de nuestro ROM, nos dirigimos a la melodia nueva, y le daremos a "Export tracks" se nos abrira una ventana con las offsets donde se encuentra cada track de nuestra melodia, tildamos todas las casillas, y en la casilla de la derecha insertaremos la direccion y el nombre de nuestro ROM (en la barra de direcciones del explorador de windows podemos verla), escribiendo al final "$T" (ejemplo. C:\Documents and Settings\Administrador\Escritorio\Pokemon BlackWhite.GBA$T) [spoiler][IMG]http://wahackforo.com/img/27515/337/3822.png[/IMG][/spoiler] Y le daremos a "export", nos saldra una ventanita con el nombre de los archivos generados, le damos donde dice "Done", el programa se cerrara y ya hemos exportado, volvemos a cerrar sappy por seguridad Ahora reabrimos Sappy, esta vez con nuesto ROM verdadero, nos dirigimos a la melodia que cambiaremos, y le damos a "Import tracks".se nos abre una ventana, a la izquierda veremos el directorio donde esta nuestro ROM, ahi tildaremos los archivos que exporto previamente sappy (tienen el mismo nombre de nuestro ROM, solo que tienen de extension el numero de canal, por ejemplo "Pokemon BlackWhite.GBA.0" y asi sucesivamente tildamos todos los canales. En la parte. superior derecha hay tres rectangulos con tres direcciones en hex, el primero es la direccion del cabezal de las melodias, ese no debe tocarse nunca, el segundo es la offset donde pondremos nuestra MIDI, ahi ponemos la misma direccion que previamente buscamos con FSF, la tercera es la direccion del VG que usara la MIDI, ponemos la misma direccion que previamente pusimos en la copia. [spoiler][IMG]http://wahackforo.com/img/27515/337/3823.png[/IMG][/spoiler] Ahora le damos "import" se cerrara esa ventana y se abrira otra, donde nos mostrara el proceso de inserccion de la melodia nueva, en medio de eso nos hara una pregunta, le daremos que si, y ¡listo! ahoranya hemos insertado exitosamente una melodia. Mi resultado al final fue este: El tutorial es largo, pero el proceso no sule llevar mas de 15 minutos cuando le coges practica. ============= Agradecimientos ============= A GoGoJJtech por enseñarme como acomodar los instrumentos A Magnius por la lista de VG de FR A ti por leer esto