Anuncio del foro
  • Visita el area de tutoriales sobre pokéhacking.
    No es una pila de documentos para resolver dudas puntuales sino una wiki dinámica donde investigar y publicar técnicas para que la comunidad mejore.

    Tutoriales Herramientas
  • Wah es una comunidad hispana dedicada a la creación y modificación de contenido creativo sobre Pokémon.

    Ver todos los Hacks Hall de la Fama
    • Novedades Pokemon Mirage
    • MHM febrero PK Neosun
    • Beta del Pokemon Light Platinum
    • Pokemon Crono, el Mejor Hack del Año 2010
  • El museo donde se exponen los trabajos de dibujantes de sprites seleccionados para que sirvan de ejemplo a seguir por otros spriters.

    Ver Galerías
  • Con autoaprendizaje, y descargando aquí los archivos necesarios, el único límite será tu propia imaginación.

    Descargas Códigos Tiles Parches Hacks Herramientas
  • T
  • H
  • S
  • D

Loopear Midis

Aprende a Loopear Midis

Loopear midis

¿Cómo hacerlo?

Índice

  • ¿Qué necesito para loopear midis?
  • Midi sin looping
  • Cosas interesantes del .s
  • Explicación hacer un loop
  • Midi con loopings
  • En resumen..
  • Para loopear midis, necesitaremos los siguientes items.

    • Sappy 2006 (12)
    • Bloc de notas o Wordpad
    • Arcivo .s lsto para ensamblar en sappy.
    • Tener desactivado la opción de windows "Ocultar las extenciones de archivo para tipos de archivo conocidos". [Se desactiva en propiedades de carpeta.]
    • Mid2Agb
    • Antes que nada convierte tu midi a archivo .s con mid2Agb, tu midi debe estar "adaptado" con los instrumentos que soporta el ROM y así evitar esos orrendos beeps.

      Bien una vez que tienes el archivo listo ábrelo con el block de notas o el wordPad (con la opción del menú contextual "abrir con..." dando click derecho sobre él...) una vez hecho esto familiaricemonos un poco con lo que vamos a ver. Este es un archivo .s del midi de Ecruteack town de Pokémon Gold, este archivo es el original que obtenemos al convertir el midi con Mid2Agb a archivo .s por lo tanto no está loopeado aún...

      • Primero, os enseñaré un .s sin modificar, sin looping.

      .include "MPlayDef.s" .equ PKMGS-ECRUTEAK_grp, voicegroup000 .equ PKMGS-ECRUTEAK_pri, 0 .equ PKMGS-ECRUTEAK_rev, 0 .equ PKMGS-ECRUTEAK_mvl, 127 .equ PKMGS-ECRUTEAK_key, 0 .equ PKMGS-ECRUTEAK_tbs, 1 .equ PKMGS-ECRUTEAK_exg, 0 .equ PKMGS-ECRUTEAK_cmp, 1 .section .rodata .global PKMGS-ECRUTEAK .align 2 @**************** Track 1 (Midi-Chn.1) ****************@ PKMGS-ECRUTEAK_1: .byte KEYSH , PKMGS-ECRUTEAK_key+0 @ 000 ---------------------------------------- .byte TEMPO , 97*PKMGS-ECRUTEAK_tbs/2 .byte VOICE , 1 01 .byte VOL , 90*PKMGS-ECRUTEAK_mvl/mxv .byte PAN , c_v+0 .byte W60 .byte N24 , Cn4 , v100 .byte W06 .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 50*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 30*PKMGS-ECRUTEAK_mvl/mxv .byte W18 @ 001 ---------------------------------------- .byte W60 .byte 90*PKMGS-ECRUTEAK_mvl/mxv .byte N24 .byte W06 .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 50*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 30*PKMGS-ECRUTEAK_mvl/mxv .byte W18 @ 002 ---------------------------------------- .byte W96 @ 003 ---------------------------------------- .byte 90*PKMGS-ECRUTEAK_mvl/mxv .byte N24 , Bn3 .byte W06 .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 50*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 30*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 90*PKMGS-ECRUTEAK_mvl/mxv .byte N24 , Cn4 .byte W06 .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 50*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 30*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 90*PKMGS-ECRUTEAK_mvl/mxv .byte N24 , Dn4 .byte W06 .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 50*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 30*PKMGS-ECRUTEAK_mvl/mxv .byte W30 @ 004 ---------------------------------------- .byte W96 @ 005 ---------------------------------------- .byte W60 .byte 90*PKMGS-ECRUTEAK_mvl/mxv .byte N12 , Gn4 .byte W12 .byte An4 .byte W12 .byte As4 .byte W12 @ 006 ---------------------------------------- .byte W48 .byte Gs4 .byte W12 .byte Gn4 .byte W12 .byte Fn4 .byte W12 .byte N36 , Cn5 .byte W12 @ 007 ---------------------------------------- .byte W24 .byte N12 , Cs5 .byte W06 .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 90*PKMGS-ECRUTEAK_mvl/mxv .byte N24 , Dn5 .byte W06 .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 50*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 30*PKMGS-ECRUTEAK_mvl/mxv .byte W18 .byte 90*PKMGS-ECRUTEAK_mvl/mxv .byte N24 , Bn4 .byte W06 .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 50*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 30*PKMGS-ECRUTEAK_mvl/mxv .byte W06 @ 008 ---------------------------------------- .byte 90*PKMGS-ECRUTEAK_mvl/mxv .byte N03 , As3 .byte W03 .byte N24 , Bn3 .byte W09 .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 50*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 30*PKMGS-ECRUTEAK_mvl/mxv .byte W12 .byte 90*PKMGS-ECRUTEAK_mvl/mxv .byte N12 , Cn4 .byte W12 .byte En4 .byte W12 .byte N24 , Gn4 .byte W06 .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 50*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 30*PKMGS-ECRUTEAK_mvl/mxv .byte W18 @ 009 ---------------------------------------- .byte 90*PKMGS-ECRUTEAK_mvl/mxv .byte N24 , As4 .byte W06 .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 50*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 30*PKMGS-ECRUTEAK_mvl/mxv .byte W18 .byte 90*PKMGS-ECRUTEAK_mvl/mxv .byte N12 , Gn4 .byte W24 .byte As4 .byte W12 .byte Cs5 .byte W12 .byte En5 .byte W12 @ 010 ---------------------------------------- .byte VOL , 90*PKMGS-ECRUTEAK_mvl/mxv .byte N24 , An3 .byte W06 .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 50*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 30*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 90*PKMGS-ECRUTEAK_mvl/mxv .byte N24 , Cn4 .byte W06 .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 50*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 30*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 90*PKMGS-ECRUTEAK_mvl/mxv .byte N12 , Fn4 .byte W48 @ 011 ---------------------------------------- .byte VOL , 90*PKMGS-ECRUTEAK_mvl/mxv .byte N03 , En4 .byte W03 .byte N24 , Fn4 .byte W09 .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 50*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 30*PKMGS-ECRUTEAK_mvl/mxv .byte W12 .byte 90*PKMGS-ECRUTEAK_mvl/mxv .byte N06 , Gn4 .byte W12 .byte N12 , An4 .byte W12 .byte Gn4 .byte W36 @ 012 ---------------------------------------- .byte VOL , 80*PKMGS-ECRUTEAK_mvl/mxv .byte N04 , En5 .byte W06 .byte Cn5 .byte W06 .byte An4 .byte W06 .byte Cn5 .byte W06 .byte An4 .byte W06 .byte Cn5 .byte W06 .byte En5 .byte W06 .byte Cn5 .byte W06 .byte En5 .byte W06 .byte Cn5 .byte W06 .byte An4 .byte W06 .byte Cn5 .byte W06 .byte An4 .byte W06 .byte Cn5 .byte W06 .byte En5 .byte W06 .byte Cn5 .byte W06 @ 013 ---------------------------------------- .byte Dn5 .byte W06 .byte Bn4 .byte W06 .byte An4 .byte W06 .byte Bn4 .byte W06 .byte An4 .byte W06 .byte Bn4 .byte W06 .byte Dn5 .byte W06 .byte Bn4 .byte W06 .byte Dn5 .byte W06 .byte Bn4 .byte W06 .byte An4 .byte W06 .byte Bn4 .byte W06 .byte An4 .byte W06 .byte Bn4 .byte W06 .byte An4 .byte W06 .byte Bn4 .byte W06 @ 014 ---------------------------------------- PKMGS-ECRUTEAK_1_014: .byte N04 , Dn5 , v100 .byte W06 .byte Bn4 .byte W06 .byte Gn4 .byte W06 .byte Bn4 .byte W06 .byte Gn4 .byte W06 .byte Bn4 .byte W06 .byte Dn5 .byte W06 .byte Bn4 .byte W06 .byte Dn5 .byte W06 .byte Bn4 .byte W06 .byte Gn4 .byte W06 .byte Bn4 .byte W06 .byte Gn4 .byte W06 .byte Bn4 .byte W06 .byte Dn5 .byte W06 .byte Fn5 .byte W06 .byte PEND @ 015 ---------------------------------------- PKMGS-ECRUTEAK_1_015: .byte N04 , An5 , v100 .byte W06 .byte En5 .byte W06 .byte Cn5 .byte W06 .byte An4 .byte W06 .byte En5 .byte W06 .byte Cn5 .byte W06 .byte An4 .byte W06 .byte En4 .byte W06 .byte Cn5 .byte W06 .byte An4 .byte W06 .byte En4 .byte W06 .byte Cn4 .byte W06 .byte An4 .byte W06 .byte En4 .byte W06 .byte Cn4 .byte W06 .byte An3 .byte W06 .byte PEND @ 016 ---------------------------------------- PKMGS-ECRUTEAK_1_016: .byte N04 , Fn4 , v100 .byte W06 .byte An4 .byte W06 .byte Cn5 .byte W06 .byte An4 .byte W06 .byte Cn5 .byte W06 .byte An4 .byte W06 .byte Cn5 .byte W06 .byte Fn5 .byte W06 .byte Fn4 .byte W06 .byte An4 .byte W06 .byte Cn5 .byte W06 .byte An4 .byte W06 .byte Cn5 .byte W06 .byte An4 .byte W06 .byte Cn5 .byte W06 .byte Fn5 .byte W06 .byte PEND @ 017 ---------------------------------------- PKMGS-ECRUTEAK_1_017: .byte N04 , Gn4 , v100 .byte W06 .byte Bn4 .byte W06 .byte Dn5 .byte W06 .byte Bn4 .byte W06 .byte Dn5 .byte W06 .byte Bn4 .byte W06 .byte Dn5 .byte W06 .byte Gn5 .byte W06 .byte Gn4 .byte W06 .byte Bn4 .byte W06 .byte Dn5 .byte W06 .byte Bn4 .byte W06 .byte Dn5 .byte W06 .byte Bn4 .byte W06 .byte Dn5 .byte W06 .byte Gn5 .byte W06 .byte PEND @ 018 ---------------------------------------- .byte VOL , 90*PKMGS-ECRUTEAK_mvl/mxv .byte N48 , En5 .byte W48 .byte Gn5 .byte W48 @ 019 ---------------------------------------- .byte VOL , 80*PKMGS-ECRUTEAK_mvl/mxv .byte N04 , As5 .byte W06 .byte Gn5 .byte W06 .byte En5 .byte W06 .byte Cs5 .byte W06 .byte Gn5 .byte W06 .byte En5 .byte W06 .byte Cs5 .byte W06 .byte As4 .byte W06 .byte En5 .byte W06 .byte Cs5 .byte W06 .byte As4 .byte W06 .byte Gn4 .byte W06 .byte As4 .byte W06 .byte Gn4 .byte W06 .byte En4 .byte W06 .byte Cs4 .byte W06 @ 020 ---------------------------------------- .byte En5 .byte W06 .byte Cn5 .byte W06 .byte An4 .byte W06 .byte Cn5 .byte W06 .byte An4 .byte W06 .byte Cn5 .byte W06 .byte En5 .byte W06 .byte Cn5 .byte W06 .byte En5 .byte W06 .byte Cn5 .byte W06 .byte An4 .byte W06 .byte Cn5 .byte W06 .byte An4 .byte W06 .byte Cn5 .byte W06 .byte En5 .byte W06 .byte Cn5 .byte W06 @ 021 ---------------------------------------- .byte Dn5 .byte W06 .byte Cn5 .byte W06 .byte Gs4 .byte W06 .byte Cn5 .byte W06 .byte Gs4 .byte W06 .byte Cn5 .byte W06 .byte Dn5 .byte W06 .byte Cn5 .byte W06 .byte Dn5 .byte W06 .byte Cn5 .byte W06 .byte Gs4 .byte W06 .byte Cn5 .byte W06 .byte Gs4 .byte W06 .byte Cn5 .byte W06 .byte Gs4 .byte W06 .byte Cn5 .byte W06 @ 022 ---------------------------------------- .byte PATT .word PKMGS-ECRUTEAK_1_014 @ 023 ---------------------------------------- .byte PATT .word PKMGS-ECRUTEAK_1_015 @ 024 ---------------------------------------- .byte PATT .word PKMGS-ECRUTEAK_1_016 @ 025 ---------------------------------------- .byte PATT .word PKMGS-ECRUTEAK_1_017 @ 026 ---------------------------------------- .byte VOL , 89*PKMGS-ECRUTEAK_mvl/mxv .byte N48 , En5 , v100 .byte W48 .byte Gn5 .byte W48 @ 027 ---------------------------------------- .byte FINE @**************** Track 2 (Midi-Chn.2) ****************@ PKMGS-ECRUTEAK_2: .byte KEYSH , PKMGS-ECRUTEAK_key+0 @ 000 ---------------------------------------- .byte VOICE , 1 <----Instrumentos .byte VOL , 120*PKMGS-ECRUTEAK_mvl/mxv .byte PAN , c_v+0 .byte W60 .byte W03 .byte N03 , Gn4 , v100 .byte W03 .byte Cn5 .byte W03 .byte N24 , En5 .byte W24 .byte W03 @ 001 ---------------------------------------- .byte W60 .byte W03 .byte N03 , An4 .byte W03 .byte Cn5 .byte W03 .byte N24 , Fn5 .byte W24 .byte W03 @ 002 ---------------------------------------- .byte W60 .byte N12 , Dn5 .byte W12 .byte Cn5 .byte W12 .byte Gs4 .byte W12 @ 003 ---------------------------------------- .byte N24 , Gn4 .byte W24 .byte An4 .byte W24 .byte Bn4 .byte W24 .byte Gn3 .byte W24 @ 004 ---------------------------------------- .byte N03 , Cs4 .byte W03 .byte N32 , Dn4 .byte W09 .byte VOL , 110*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 100*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 90*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 80*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 120*PKMGS-ECRUTEAK_mvl/mxv .byte N06 , Cn4 .byte W12 .byte N48 .byte W06 .byte VOL , 110*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 100*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 90*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 80*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 65*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 50*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 35*PKMGS-ECRUTEAK_mvl/mxv .byte W06 @ 005 ---------------------------------------- .byte 120*PKMGS-ECRUTEAK_mvl/mxv .byte N36 , Fn4 .byte W06 .byte VOL , 110*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 100*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 90*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 80*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 65*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 120*PKMGS-ECRUTEAK_mvl/mxv .byte N12 , En4 .byte W24 .byte N12 .byte W12 .byte Fn4 .byte W12 .byte Gn4 .byte W12 @ 006 ---------------------------------------- .byte En4 .byte W12 .byte N06 , Cn4 .byte W12 .byte N12 .byte W12 .byte N06 , An3 .byte W06 .byte N03 , Fn3 .byte W03 .byte An3 .byte W03 .byte N48 , Cn4 .byte W06 .byte VOL , 110*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 100*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 90*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 80*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 65*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 50*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 35*PKMGS-ECRUTEAK_mvl/mxv .byte W06 @ 007 ---------------------------------------- .byte 120*PKMGS-ECRUTEAK_mvl/mxv .byte N12 , En4 .byte W12 .byte N06 , Gn4 .byte W12 .byte N12 , En4 .byte W12 .byte N36 , Dn4 .byte W06 .byte VOL , 110*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 100*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 90*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 80*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 65*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 120*PKMGS-ECRUTEAK_mvl/mxv .byte N24 , Ds4 .byte W06 .byte VOL , 110*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 100*PKMGS-ECRUTEAK_mvl/mxv .byte W06 .byte 90*PKMGS-ECRUTEAK_mvl/mxv .byte W06 @ 008 ---------------------------------------- .byte 120*PKMGS-ECRUTEAK_mvl/mxv .byte N03 , Cs5 .byte W03 .byte N32 , Dn5 .byte W32 .byte W01 .byte N06 , Cn5 .byte W12 .byte N48 .byte W48 @ 009 ---------------------------------------- .byte N36 , Fn5 .byte W36 .byte N12 , En5 .byte W24 .byte N12 .byte W12 .byte Fn5 .byte W12 .byte N06 , Gn5 .byte W06 .byte N03 , Cn5 .byte W03 .byte En5 .byte W03 @ 010 ---------------------------------------- .byte N12 , An5 .byte W12 .byte N06 , En5 .byte W12 .byte N12 .byte W12 .byte N06 , Cn5 .byte W12 .byte N12 .byte W12 .byte N06 , An4 .byte W12 .byte N12 , Bn4 .byte W12 .byte N06 , Cn5 .byte W06 .byte N03 , Gn4 .byte W03 .byte Bn4 .byte W03 @ 011 ---------------------------------------- .byte N36 , En5 .byte W36 .byte N06 , Dn5 .byte W12 .byte N24 .byte W24 .byte N12 , En4 .byte W12 .byte Gn4 .byte W12 @ 012 ---------------------------------------- .byte N03 , Gs4 .byte W03 .byte N44 , An4 .byte W44 .byte W01 .byte N12 , An3 .byte W12 .byte N06 , Cn4 .byte W12 .byte N12 , En4 .byte W12 .byte N36 , Dn4 .byte W12 @ 013 ---------------------------------------- .byte W24 .byte N12 , Cn4 .byte W24 .byte Bn3 .byte W24 .byte N24 , Fn4 .byte W24 @ 014 ---------------------------------------- .byte N36 , Gn4 .byte W36 .byte N24 , Fn4 .byte W36 .byte En4 .byte W24 @ 015 ---------------------------------------- .byte N12 , Dn4 .byte W12 .byte N06 , Cn4 .byte W12 .byte N12 , Bn3 .byte W12 .byte N06 , Cn4 .byte W24 .byte N12 , Bn3 .byte W24 .byte Cn4 .byte W12 @ 016 ---------------------------------------- .byte N48 , An3 .byte W60 .byte N12 , Fn4 .byte W12 .byte En4 .byte W12 .byte Dn4 .byte W12 @ 017 ---------------------------------------- .byte N24 , Cn4 .byte W36 .byte N12 , Bn3 .byte W24 .byte Cn4 .byte W12 .byte Dn4 .byte W12 .byte Ds4 .byte W12 @ 018 ---------------------------------------- .byte En4 .byte W06 .byte VOL , 80*PKMGS-ECRUTEAK_mvl/mxv .byte W90 @ 019 ---------------------------------------- .byte 120*PKMGS-ECRUTEAK_mvl/mxv .byte N24 , Dn4 .byte W24 .byte Cs4 .byte W24 .byte Fn4 .byte W24 .byte Gn4 .byte W24 @ 020 ---------------------------------------- .byte N03 , Gs4 .byte W03 .byte N32 , An4 .byte W32 .byte W01 .byte N06 , En4 .byte W12 .byte N06 .byte W12 .byte N12 .byte W12 .byte N03 , Gs4 .byte W03 .byte N09 , An4 .byte W09 .byte N06 , En4 .byte W12 @ 021 ---------------------------------------- .byte N12 .byte W12 .byte N06 , Dn4 .byte W12 .byte N12 , Cs4 .byte W12 .byte N36 , Dn4 .byte W36 .byte N12 , Bn3 .byte W12 .byte Fn4 .byte W12 @ 022 ---------------------------------------- .byte N36 , Gn4 .byte W36 .byte N06 , Dn4 .byte W12 .byte N06 .byte W12 .byte N12 .byte W12 .byte Gn4 .byte W12 .byte N06 , Dn4 .byte W12 @ 023 ---------------------------------------- .byte N03 , As4 .byte W03 .byte N32 , Bn4 .byte W32 .byte W01 .byte N12 , Cn5 .byte W12 .byte N24 , An4 .byte W24 .byte N12 , An3 .byte W12 .byte Cn4 .byte W12 @ 024 ---------------------------------------- .byte N48 , Fn4 .byte W60 .byte N12 , Gn4 .byte W12 .byte Fn4 .byte W12 .byte En4 .byte W12 @ 025 ---------------------------------------- .byte N48 , Dn4 .byte W60 .byte N12 , Bn3 .byte W12 .byte Cn4 .byte W12 .byte Dn4 .byte W12 @ 026 ---------------------------------------- .byte N48 , En4 .byte W96 @ 027 ---------------------------------------- .byte FINE @**************** Track 3 (Midi-Chn.3) ****************@ PKMGS-ECRUTEAK_3: .byte KEYSH , PKMGS-ECRUTEAK_key+0 @ 000 ---------------------------------------- .byte VOICE , 23 .byte VOL , 90*PKMGS-ECRUTEAK_mvl/mxv .byte PAN , c_v+0 .byte N12 , Cn2 , v100 .byte W12 .byte Gn2 .byte W12 .byte Dn3 .byte W12 .byte N60 , En3 .byte W60 @ 001 ---------------------------------------- .byte N12 , Cn2 .byte W12 .byte An2 .byte W12 .byte En3 .byte W12 .byte N60 , Fn3 .byte W60 @ 002 ---------------------------------------- PKMGS-ECRUTEAK_3_002: .byte N12 , Cn2 , v100 .byte W12 .byte Gn2 .byte W12 .byte Dn3 .byte W12 .byte N60 , En3 .byte W60 .byte PEND @ 003 ---------------------------------------- .byte N24 , Gn3 .byte W24 .byte Fs3 .byte W24 .byte Fn3 .byte W24 .byte N12 , Bn2 .byte W12 .byte Gn2 .byte W12 @ 004 ---------------------------------------- .byte PATT .word PKMGS-ECRUTEAK_3_002 @ 005 ---------------------------------------- .byte N12 , Cs2 , v100 .byte W12 .byte Gn2 .byte W12 .byte As2 .byte W12 .byte Dn3 .byte W24 .byte Cs3 .byte W12 .byte Dn3 .byte W12 .byte En3 .byte W12 @ 006 ---------------------------------------- .byte Dn2 .byte W12 .byte N06 , An2 .byte W12 .byte N12 , En3 .byte W12 .byte N06 , Fn3 .byte W12 .byte N48 , Gs3 .byte W48 @ 007 ---------------------------------------- .byte N12 , Gn2 .byte W12 .byte Dn3 .byte W12 .byte Fn3 .byte W12 .byte Gs3 .byte W12 .byte Bn3 .byte W12 .byte N06 , Gn3 .byte W06 .byte N30 , Gs3 .byte W30 @ 008 ---------------------------------------- .byte N12 , Cn2 .byte W12 .byte Gn2 .byte W12 .byte Dn3 .byte W12 .byte En3 .byte W12 .byte Gn3 .byte W12 .byte Cn4 .byte W12 .byte Dn4 .byte W12 .byte En4 .byte W12 @ 009 ---------------------------------------- .byte Cs2 .byte W12 .byte As2 .byte W12 .byte Dn3 .byte W12 .byte Cs3 .byte W12 .byte En3 .byte W12 .byte Dn3 .byte W12 .byte Fn3 .byte W12 .byte N06 , Gn3 .byte W12 @ 010 ---------------------------------------- .byte N48 , Fn2 .byte W48 .byte N12 , An3 .byte W12 .byte N06 , Cn4 .byte W12 .byte N12 , Dn4 .byte W12 .byte N06 , En4 .byte W12 @ 011 ---------------------------------------- .byte N12 , Gn1 .byte W12 .byte Dn2 .byte W12 .byte Gn2 .byte W12 .byte Fs2 .byte W12 .byte An2 .byte W12 .byte Gn2 .byte W12 .byte Bn2 .byte W12 .byte Dn3 .byte W12 @ 012 ---------------------------------------- PKMGS-ECRUTEAK_3_012: .byte N30 , Fn2 , v100 .byte W36 .byte N06 .byte W12 .byte N30 .byte W36 .byte N06 , Cn2 .byte W12 .byte PEND @ 013 ---------------------------------------- PKMGS-ECRUTEAK_3_013: .byte N30 , Fn2 , v100 .byte W36 .byte N06 .byte W12 .byte N06 .byte W12 .byte N18 .byte W24 .byte N06 .byte W12 .byte PEND @ 014 ---------------------------------------- PKMGS-ECRUTEAK_3_014: .byte N30 , En2 , v100 .byte W36 .byte N06 , Bn2 .byte W12 .byte En2 .byte W12 .byte N18 .byte W24 .byte N06 , Bn2 .byte W12 .byte PEND @ 015 ---------------------------------------- PKMGS-ECRUTEAK_3_015: .byte N30 , An2 , v100 .byte W36 .byte N06 .byte W12 .byte Gs2 .byte W12 .byte N06 .byte W12 .byte Gn2 .byte W12 .byte Fs2 .byte W12 .byte PEND @ 016 ---------------------------------------- PKMGS-ECRUTEAK_3_016: .byte N30 , Dn2 , v100 .byte W36 .byte N06 , An2 .byte W12 .byte Dn2 .byte W12 .byte N06 .byte W12 .byte En2 .byte W12 .byte Fn2 .byte W12 .byte PEND @ 017 ---------------------------------------- PKMGS-ECRUTEAK_3_017: .byte N30 , Gn2 , v100 .byte W36 .byte N06 , Dn3 .byte W12 .byte Gn2 .byte W12 .byte N06 .byte W12 .byte An2 .byte W12 .byte As2 .byte W12 .byte PEND @ 018 ---------------------------------------- .byte N03 , Bn2 .byte W03 .byte N21 , Cn3 .byte W21 .byte N24 , En3 .byte W24 .byte Gn3 .byte W24 .byte Bn3 .byte W24 @ 019 ---------------------------------------- .byte As3 .byte W24 .byte Gn3 .byte W24 .byte En3 .byte W24 .byte Cs3 .byte W24 @ 020 ---------------------------------------- .byte PATT .word PKMGS-ECRUTEAK_3_012 @ 021 ---------------------------------------- .byte PATT .word PKMGS-ECRUTEAK_3_013 @ 022 ---------------------------------------- .byte PATT .word PKMGS-ECRUTEAK_3_014 @ 023 ---------------------------------------- .byte PATT .word PKMGS-ECRUTEAK_3_015 @ 024 ---------------------------------------- .byte PATT .word PKMGS-ECRUTEAK_3_016 @ 025 ---------------------------------------- .byte PATT .word PKMGS-ECRUTEAK_3_017 @ 026 ---------------------------------------- .byte N03 , Bn2 , v100 .byte W03 .byte N21 , Cn3 .byte W21 .byte N24 , Gn2 .byte W24 .byte En2 .byte W24 .byte Dn2 .byte W24 @ 027 ---------------------------------------- .byte FINE @******************************************************@ .align 2 PKMGS-ECRUTEAK: .byte 3 @ NumTrks .byte 0 @ NumBlks .byte PKMGS-ECRUTEAK_pri @ Priority .byte PKMGS-ECRUTEAK_rev @ Reverb. .word PKMGS-ECRUTEAK_grp .word PKMGS-ECRUTEAK_1 .word PKMGS-ECRUTEAK_2 .word PKMGS-ECRUTEAK_3 .end
      Parace complicado con tanta "cosa", no lo es créeme, dale un vistazo a las anotaciones para familiarizarnos un poco con lo relevante.

      Cosas interesantes del .s.

      @**************** Track 1 (Midi-Chn.1) ****************@

      Una melodía está formada por tracks o pistas, en este caso verás que este midi solo tiene tres tracks... en este código se marca el inicio de la primera. Ojo que las tracks esten enumeradas no significa que se reproduzca primero la uno y luego la dos, todas se reproducen al mismo tiempo en sappy pero cada una tiene parámetros diferentes como instrumentos, volumen, etc.


      PKMGS-ECRUTEAK_1:

      Este es el "nombre" del primer track.

      [En caso de ser el track 2, el nombre sería PKMGS-ECRUTEAK_2, si fuese 3 sería PKMGS-ECRUTEAK_3 y así sucesivamente, con tantos tracks tenga la melodía.]


      @ 000 ----------------------------------------

      Medida del track (la cantidad de medidas dependerá del midi)



      .byte VOICE , 1

      Aquí se especifica el instrumento que se toca en el track (01 significa Bright Acoustic, el cual es un instrumento).



      .byte VOL , 90*PKMGS-ECRUTEAK_mvl/mxv

      Volumen del track (generalmente los midis tienen un solo volumen especificado, en este caso no es así, el volumen varía según las notas).



      .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv

      Otra indicación de volumen que corrobora lo que dije anteriormente.



      @ 001 ----------------------------------------

      Otra medida del primer track



      .byte FINE <------

      .FINE marca el final del primer track (y siendo que todos los tracks se reproducen al mismo tiempo también significa el fin de la melodía), pueden ver que esta track tenía 27 medidas.


      Como verás son pocos los datos que vamos a manejar, para hacer el looping enfocate solo en los datos que puse anteriormente, son los más "importantes" por así decirlo.

      Para hacer que una melodía se repita y no termine cuando llegue a .FINE necesitaremos los siguientes "códigos" antes de.. .FINE

      .byte GOTO [indicará que cuando llegue a este punto la canción salte a el punto especificado]
      .word [Aquí debe ir el  nombre del track, para el track 1 a la que pertenece el .FINE agrgando además "_loop"]
      .byte W06
      .FINE

      Entonces en nuestro caso nos quedará así

      .byte GOTO
      .word PKMGS-ECRUTEAK_1_loop
      .byte W06
      .FINE

      Este es el primer paso para hacer que nuestra track se repita, solo sustituimos el .FINE original por ese código. He marcado en negrita el nombre del primer track, recuerda este variará según el nombre del midi que conviertieron a .s

      Ahora para que funcione correctamente debemos especificar desde que medida se repetirá la melodía (recuerden que hay melodías que no se repiten desde el inicio si no desde la antes de la mitad.)Por ejemplo, si queremos hacer que el track se repita desde el principio vamos a la medida 000 del track 1 y hagamos lo siguente (lo que hay que hacer está en negrita y las indicaciones en azul.)

      @**************** Track 1 (Midi-Chn.1) ****************@
      
      PKMGS-ECRUTEAK_1:
      .byte KEYSH , PKMGS-ECRUTEAK_key+0
      @ 000 ---------------------------------------- Medida 000 del track 1
      PKMGS-ECRUTEAK_1_loop:escribimos el nombre del track más "_loop:"
      PKMGS-ECRUTEAK_1_000: escribimos el nombre del track más el número de la medida en la que estamos, en este caso 000
      .byte TEMPO , 97*PKMGS-ECRUTEAK_tbs/2
      .byte VOICE , 1
      .byte VOL , 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte PAN , c_v+0
      .byte W60
      .byte N24 , Cn4 , v100
      .byte W06
      .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 50*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 30*PKMGS-ECRUTEAK_mvl/mxv
      .byte W18

      Teniendo eso más nuestros códigos anteriores al final del track tenemos lista la edición de looping.

      En resumen:Al final de cada track debes poner:

      .byte GOTO

      .word PKMGS-ECRUTEAK_1_loop

      .byte W06

      .FINE

      [Recuerden: .word nombretrack_numerotrack_loop]

      Y debes escribir lo siguiente al principio de la medida seleccionada de la track en donde se empezará a repetir la melodía.

      PKMGS-ECRUTEAK_1_loop:

      PKMGS-ECRUTEAK_1_000:

      *Aclaración: Has de colocar, nombretrack_numerotrack_loop

      y nombretrack_numerotrack_medida

      Por último solo queda hacer lo mismo para cada track de nuestro midi. Recuerda que si lo deseas puedes cambiar el punto de inicio de repetición cambiando la posición del segundo código. En vez de poner que el track se repita a partir del principio, poniendo esto;

      PKMGS-ECRUTEAK_1_000:

      Pondremos que se repita a partir de la parte 010. Y se pondría así:

      PKMGS-ECRUTEAK_1_010:

      Y poniendo eso así, conseguiremos que se repita a partir de la parte "010" del track.


      Bueno chicos pues ya estamos terminando, por último mostraré como quedó el looping en este archivo. Es el archivo original ya loopeado por mí, en negrita están los códigos que ya aprendimos a insertar.

      Para entenderlo mejor, comparen el archivo .s de aquí abajo (el modificado) con el de más arriba, que está sin modificar.

      .include "MPlayDef.s"
      
      .equ PKMGS-ECRUTEAK_grp, voicegroup000
      .equ PKMGS-ECRUTEAK_pri, 0
      .equ PKMGS-ECRUTEAK_rev, 0
      .equ PKMGS-ECRUTEAK_mvl, 127
      .equ PKMGS-ECRUTEAK_key, 0
      .equ PKMGS-ECRUTEAK_tbs, 1
      .equ PKMGS-ECRUTEAK_exg, 0
      .equ PKMGS-ECRUTEAK_cmp, 1
      
      .section .rodata
      .global PKMGS-ECRUTEAK
      .align 2
      
      @**************** Track 1 (Midi-Chn.1) ****************@
      
      PKMGS-ECRUTEAK_1:
      .byte KEYSH , PKMGS-ECRUTEAK_key+0
      @ 000 ----------------------------------------
      PKMGS-ECRUTEAK_1_loop:
      PKMGS-ECRUTEAK_1_00:
      .byte TEMPO , 97*PKMGS-ECRUTEAK_tbs/2
      .byte VOICE , 1
      .byte VOL , 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte PAN , c_v+0
      .byte W60
      .byte N24 , Cn4 , v100
      .byte W06
      .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 50*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 30*PKMGS-ECRUTEAK_mvl/mxv
      .byte W18
      @ 001 ----------------------------------------
      .byte W60
      .byte 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte N24
      .byte W06
      .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 50*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 30*PKMGS-ECRUTEAK_mvl/mxv
      .byte W18
      @ 002 ----------------------------------------
      .byte W96
      @ 003 ----------------------------------------
      .byte 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte N24 , Bn3
      .byte W06
      .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 50*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 30*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte N24 , Cn4
      .byte W06
      .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 50*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 30*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte N24 , Dn4
      .byte W06
      .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 50*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 30*PKMGS-ECRUTEAK_mvl/mxv
      .byte W30
      @ 004 ----------------------------------------
      .byte W96
      @ 005 ----------------------------------------
      .byte W60
      .byte 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte N12 , Gn4
      .byte W12
      .byte An4
      .byte W12
      .byte As4
      .byte W12
      @ 006 ----------------------------------------
      .byte W48
      .byte Gs4
      .byte W12
      .byte Gn4
      .byte W12
      .byte Fn4
      .byte W12
      .byte N36 , Cn5
      .byte W12
      @ 007 ----------------------------------------
      .byte W24
      .byte N12 , Cs5
      .byte W06
      .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte N24 , Dn5
      .byte W06
      .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 50*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 30*PKMGS-ECRUTEAK_mvl/mxv
      .byte W18
      .byte 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte N24 , Bn4
      .byte W06
      .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 50*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 30*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      @ 008 ----------------------------------------
      .byte 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte N03 , As3
      .byte W03
      .byte N24 , Bn3
      .byte W09
      .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 50*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 30*PKMGS-ECRUTEAK_mvl/mxv
      .byte W12
      .byte 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte N12 , Cn4
      .byte W12
      .byte En4
      .byte W12
      .byte N24 , Gn4
      .byte W06
      .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 50*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 30*PKMGS-ECRUTEAK_mvl/mxv
      .byte W18
      @ 009 ----------------------------------------
      .byte 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte N24 , As4
      .byte W06
      .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 50*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 30*PKMGS-ECRUTEAK_mvl/mxv
      .byte W18
      .byte 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte N12 , Gn4
      .byte W24
      .byte As4
      .byte W12
      .byte Cs5
      .byte W12
      .byte En5
      .byte W12
      @ 010 ----------------------------------------
      .byte VOL , 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte N24 , An3
      .byte W06
      .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 50*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 30*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte N24 , Cn4
      .byte W06
      .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 50*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 30*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte N12 , Fn4
      .byte W48
      @ 011 ----------------------------------------
      .byte VOL , 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte N03 , En4
      .byte W03
      .byte N24 , Fn4
      .byte W09
      .byte VOL , 70*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 50*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 30*PKMGS-ECRUTEAK_mvl/mxv
      .byte W12
      .byte 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte N06 , Gn4
      .byte W12
      .byte N12 , An4
      .byte W12
      .byte Gn4
      .byte W36
      @ 012 ----------------------------------------
      .byte VOL , 80*PKMGS-ECRUTEAK_mvl/mxv
      .byte N04 , En5
      .byte W06
      .byte Cn5
      .byte W06
      .byte An4
      .byte W06
      .byte Cn5
      .byte W06
      .byte An4
      .byte W06
      .byte Cn5
      .byte W06
      .byte En5
      .byte W06
      .byte Cn5
      .byte W06
      .byte En5
      .byte W06
      .byte Cn5
      .byte W06
      .byte An4
      .byte W06
      .byte Cn5
      .byte W06
      .byte An4
      .byte W06
      .byte Cn5
      .byte W06
      .byte En5
      .byte W06
      .byte Cn5
      .byte W06
      @ 013 ----------------------------------------
      .byte Dn5
      .byte W06
      .byte Bn4
      .byte W06
      .byte An4
      .byte W06
      .byte Bn4
      .byte W06
      .byte An4
      .byte W06
      .byte Bn4
      .byte W06
      .byte Dn5
      .byte W06
      .byte Bn4
      .byte W06
      .byte Dn5
      .byte W06
      .byte Bn4
      .byte W06
      .byte An4
      .byte W06
      .byte Bn4
      .byte W06
      .byte An4
      .byte W06
      .byte Bn4
      .byte W06
      .byte An4
      .byte W06
      .byte Bn4
      .byte W06
      @ 014 ----------------------------------------
      PKMGS-ECRUTEAK_1_014:
      .byte N04 , Dn5 , v100
      .byte W06
      .byte Bn4
      .byte W06
      .byte Gn4
      .byte W06
      .byte Bn4
      .byte W06
      .byte Gn4
      .byte W06
      .byte Bn4
      .byte W06
      .byte Dn5
      .byte W06
      .byte Bn4
      .byte W06
      .byte Dn5
      .byte W06
      .byte Bn4
      .byte W06
      .byte Gn4
      .byte W06
      .byte Bn4
      .byte W06
      .byte Gn4
      .byte W06
      .byte Bn4
      .byte W06
      .byte Dn5
      .byte W06
      .byte Fn5
      .byte W06
      .byte PEND
      @ 015 ----------------------------------------
      PKMGS-ECRUTEAK_1_015:
      .byte N04 , An5 , v100
      .byte W06
      .byte En5
      .byte W06
      .byte Cn5
      .byte W06
      .byte An4
      .byte W06
      .byte En5
      .byte W06
      .byte Cn5
      .byte W06
      .byte An4
      .byte W06
      .byte En4
      .byte W06
      .byte Cn5
      .byte W06
      .byte An4
      .byte W06
      .byte En4
      .byte W06
      .byte Cn4
      .byte W06
      .byte An4
      .byte W06
      .byte En4
      .byte W06
      .byte Cn4
      .byte W06
      .byte An3
      .byte W06
      .byte PEND
      @ 016 ----------------------------------------
      PKMGS-ECRUTEAK_1_016:
      .byte N04 , Fn4 , v100
      .byte W06
      .byte An4
      .byte W06
      .byte Cn5
      .byte W06
      .byte An4
      .byte W06
      .byte Cn5
      .byte W06
      .byte An4
      .byte W06
      .byte Cn5
      .byte W06
      .byte Fn5
      .byte W06
      .byte Fn4
      .byte W06
      .byte An4
      .byte W06
      .byte Cn5
      .byte W06
      .byte An4
      .byte W06
      .byte Cn5
      .byte W06
      .byte An4
      .byte W06
      .byte Cn5
      .byte W06
      .byte Fn5
      .byte W06
      .byte PEND
      @ 017 ----------------------------------------
      PKMGS-ECRUTEAK_1_017:
      .byte N04 , Gn4 , v100
      .byte W06
      .byte Bn4
      .byte W06
      .byte Dn5
      .byte W06
      .byte Bn4
      .byte W06
      .byte Dn5
      .byte W06
      .byte Bn4
      .byte W06
      .byte Dn5
      .byte W06
      .byte Gn5
      .byte W06
      .byte Gn4
      .byte W06
      .byte Bn4
      .byte W06
      .byte Dn5
      .byte W06
      .byte Bn4
      .byte W06
      .byte Dn5
      .byte W06
      .byte Bn4
      .byte W06
      .byte Dn5
      .byte W06
      .byte Gn5
      .byte W06
      .byte PEND
      @ 018 ----------------------------------------
      .byte VOL , 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte N48 , En5
      .byte W48
      .byte Gn5
      .byte W48
      @ 019 ----------------------------------------
      .byte VOL , 80*PKMGS-ECRUTEAK_mvl/mxv
      .byte N04 , As5
      .byte W06
      .byte Gn5
      .byte W06
      .byte En5
      .byte W06
      .byte Cs5
      .byte W06
      .byte Gn5
      .byte W06
      .byte En5
      .byte W06
      .byte Cs5
      .byte W06
      .byte As4
      .byte W06
      .byte En5
      .byte W06
      .byte Cs5
      .byte W06
      .byte As4
      .byte W06
      .byte Gn4
      .byte W06
      .byte As4
      .byte W06
      .byte Gn4
      .byte W06
      .byte En4
      .byte W06
      .byte Cs4
      .byte W06
      @ 020 ----------------------------------------
      .byte En5
      .byte W06
      .byte Cn5
      .byte W06
      .byte An4
      .byte W06
      .byte Cn5
      .byte W06
      .byte An4
      .byte W06
      .byte Cn5
      .byte W06
      .byte En5
      .byte W06
      .byte Cn5
      .byte W06
      .byte En5
      .byte W06
      .byte Cn5
      .byte W06
      .byte An4
      .byte W06
      .byte Cn5
      .byte W06
      .byte An4
      .byte W06
      .byte Cn5
      .byte W06
      .byte En5
      .byte W06
      .byte Cn5
      .byte W06
      @ 021 ----------------------------------------
      .byte Dn5
      .byte W06
      .byte Cn5
      .byte W06
      .byte Gs4
      .byte W06
      .byte Cn5
      .byte W06
      .byte Gs4
      .byte W06
      .byte Cn5
      .byte W06
      .byte Dn5
      .byte W06
      .byte Cn5
      .byte W06
      .byte Dn5
      .byte W06
      .byte Cn5
      .byte W06
      .byte Gs4
      .byte W06
      .byte Cn5
      .byte W06
      .byte Gs4
      .byte W06
      .byte Cn5
      .byte W06
      .byte Gs4
      .byte W06
      .byte Cn5
      .byte W06
      @ 022 ----------------------------------------
      .byte PATT
      .word PKMGS-ECRUTEAK_1_014
      @ 023 ----------------------------------------
      .byte PATT
      .word PKMGS-ECRUTEAK_1_015
      @ 024 ----------------------------------------
      .byte PATT
      .word PKMGS-ECRUTEAK_1_016
      @ 025 ----------------------------------------
      .byte PATT
      .word PKMGS-ECRUTEAK_1_017
      @ 026 ----------------------------------------
      .byte VOL , 89*PKMGS-ECRUTEAK_mvl/mxv
      .byte N48 , En5 , v100
      .byte W48
      .byte Gn5
      .byte W48
      @ 027 ----------------------------------------
      .byte GOTO
      .word PKMGS-ECRUTEAK_1_loop
      .byte W06
      .byte FINE
      
      @**************** Track 2 (Midi-Chn.2) ****************@
      
      PKMGS-ECRUTEAK_2:
      .byte KEYSH , PKMGS-ECRUTEAK_key+0
      @ 000 ----------------------------------------
      PKMGS-ECRUTEAK_2_loop:
      PKMGS-ECRUTEAK_2_00:
      .byte VOICE , 48
      .byte VOL , 60*PKMGS-ECRUTEAK_mvl/mxv
      .byte PAN , c_v+0
      .byte W60
      .byte W03
      .byte N03 , Gn4 , v100
      .byte W03
      .byte Cn5
      .byte W03
      .byte N24 , En5
      .byte W24
      .byte W03
      @ 001 ----------------------------------------
      .byte W60
      .byte W03
      .byte N03 , An4
      .byte W03
      .byte Cn5
      .byte W03
      .byte N24 , Fn5
      .byte W24
      .byte W03
      @ 002 ----------------------------------------
      .byte W60
      .byte N12 , Dn5
      .byte W12
      .byte Cn5
      .byte W12
      .byte Gs4
      .byte W12
      @ 003 ----------------------------------------
      .byte N24 , Gn4
      .byte W24
      .byte An4
      .byte W24
      .byte Bn4
      .byte W24
      .byte Gn3
      .byte W24
      @ 004 ----------------------------------------
      .byte N03 , Cs4
      .byte W03
      .byte N32 , Dn4
      .byte W09
      .byte VOL , 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 80*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 70*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 60*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 100*PKMGS-ECRUTEAK_mvl/mxv
      .byte N06 , Cn4
      .byte W12
      .byte N48
      .byte W06
      .byte VOL , 900*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 80*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 70*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 60*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 45*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 40*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 25*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      @ 005 ----------------------------------------
      .byte 100*PKMGS-ECRUTEAK_mvl/mxv
      .byte N36 , Fn4
      .byte W06
      .byte VOL , 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 80*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 70*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 60*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 45*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 100*PKMGS-ECRUTEAK_mvl/mxv
      .byte N12 , En4
      .byte W24
      .byte N12
      .byte W12
      .byte Fn4
      .byte W12
      .byte Gn4
      .byte W12
      @ 006 ----------------------------------------
      .byte En4
      .byte W12
      .byte N06 , Cn4
      .byte W12
      .byte N12
      .byte W12
      .byte N06 , An3
      .byte W06
      .byte N03 , Fn3
      .byte W03
      .byte An3
      .byte W03
      .byte N48 , Cn4
      .byte W06
      .byte VOL , 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 80*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 70*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 60*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 45*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 30*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 25*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      @ 007 ----------------------------------------
      .byte 100*PKMGS-ECRUTEAK_mvl/mxv
      .byte N12 , En4
      .byte W12
      .byte N06 , Gn4
      .byte W12
      .byte N12 , En4
      .byte W12
      .byte N36 , Dn4
      .byte W06
      .byte VOL , 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 80*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 70*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 60*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 45*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 100*PKMGS-ECRUTEAK_mvl/mxv
      .byte N24 , Ds4
      .byte W06
      .byte VOL , 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      .byte 70*PKMGS-ECRUTEAK_mvl/mxv
      .byte W06
      @ 008 ----------------------------------------
      .byte 100*PKMGS-ECRUTEAK_mvl/mxv
      .byte N03 , Cs5
      .byte W03
      .byte N32 , Dn5
      .byte W32
      .byte W01
      .byte N06 , Cn5
      .byte W12
      .byte N48
      .byte W48
      @ 009 ----------------------------------------
      .byte N36 , Fn5
      .byte W36
      .byte N12 , En5
      .byte W24
      .byte N12
      .byte W12
      .byte Fn5
      .byte W12
      .byte N06 , Gn5
      .byte W06
      .byte N03 , Cn5
      .byte W03
      .byte En5
      .byte W03
      @ 010 ----------------------------------------
      .byte N12 , An5
      .byte W12
      .byte N06 , En5
      .byte W12
      .byte N12
      .byte W12
      .byte N06 , Cn5
      .byte W12
      .byte N12
      .byte W12
      .byte N06 , An4
      .byte W12
      .byte N12 , Bn4
      .byte W12
      .byte N06 , Cn5
      .byte W06
      .byte N03 , Gn4
      .byte W03
      .byte Bn4
      .byte W03
      @ 011 ----------------------------------------
      .byte N36 , En5
      .byte W36
      .byte N06 , Dn5
      .byte W12
      .byte N24
      .byte W24
      .byte N12 , En4
      .byte W12
      .byte Gn4
      .byte W12
      @ 012 ----------------------------------------
      .byte N03 , Gs4
      .byte W03
      .byte N44 , An4
      .byte W44
      .byte W01
      .byte N12 , An3
      .byte W12
      .byte N06 , Cn4
      .byte W12
      .byte N12 , En4
      .byte W12
      .byte N36 , Dn4
      .byte W12
      @ 013 ----------------------------------------
      .byte W24
      .byte N12 , Cn4
      .byte W24
      .byte Bn3
      .byte W24
      .byte N24 , Fn4
      .byte W24
      @ 014 ----------------------------------------
      .byte N36 , Gn4
      .byte W36
      .byte N24 , Fn4
      .byte W36
      .byte En4
      .byte W24
      @ 015 ----------------------------------------
      .byte N12 , Dn4
      .byte W12
      .byte N06 , Cn4
      .byte W12
      .byte N12 , Bn3
      .byte W12
      .byte N06 , Cn4
      .byte W24
      .byte N12 , Bn3
      .byte W24
      .byte Cn4
      .byte W12
      @ 016 ----------------------------------------
      .byte N48 , An3
      .byte W60
      .byte N12 , Fn4
      .byte W12
      .byte En4
      .byte W12
      .byte Dn4
      .byte W12
      @ 017 ----------------------------------------
      .byte N24 , Cn4
      .byte W36
      .byte N12 , Bn3
      .byte W24
      .byte Cn4
      .byte W12
      .byte Dn4
      .byte W12
      .byte Ds4
      .byte W12
      @ 018 ----------------------------------------
      .byte En4
      .byte W06
      .byte VOL , 60*PKMGS-ECRUTEAK_mvl/mxv
      .byte W90
      @ 019 ----------------------------------------
      .byte 100*PKMGS-ECRUTEAK_mvl/mxv
      .byte N24 , Dn4
      .byte W24
      .byte Cs4
      .byte W24
      .byte Fn4
      .byte W24
      .byte Gn4
      .byte W24
      @ 020 ----------------------------------------
      .byte N03 , Gs4
      .byte W03
      .byte N32 , An4
      .byte W32
      .byte W01
      .byte N06 , En4
      .byte W12
      .byte N06
      .byte W12
      .byte N12
      .byte W12
      .byte N03 , Gs4
      .byte W03
      .byte N09 , An4
      .byte W09
      .byte N06 , En4
      .byte W12
      @ 021 ----------------------------------------
      .byte N12
      .byte W12
      .byte N06 , Dn4
      .byte W12
      .byte N12 , Cs4
      .byte W12
      .byte N36 , Dn4
      .byte W36
      .byte N12 , Bn3
      .byte W12
      .byte Fn4
      .byte W12
      @ 022 ----------------------------------------
      .byte N36 , Gn4
      .byte W36
      .byte N06 , Dn4
      .byte W12
      .byte N06
      .byte W12
      .byte N12
      .byte W12
      .byte Gn4
      .byte W12
      .byte N06 , Dn4
      .byte W12
      @ 023 ----------------------------------------
      .byte N03 , As4
      .byte W03
      .byte N32 , Bn4
      .byte W32
      .byte W01
      .byte N12 , Cn5
      .byte W12
      .byte N24 , An4
      .byte W24
      .byte N12 , An3
      .byte W12
      .byte Cn4
      .byte W12
      @ 024 ----------------------------------------
      .byte N48 , Fn4
      .byte W60
      .byte N12 , Gn4
      .byte W12
      .byte Fn4
      .byte W12
      .byte En4
      .byte W12
      @ 025 ----------------------------------------
      .byte N48 , Dn4
      .byte W60
      .byte N12 , Bn3
      .byte W12
      .byte Cn4
      .byte W12
      .byte Dn4
      .byte W12
      @ 026 ----------------------------------------
      .byte N48 , En4
      .byte W96
      @ 027 ----------------------------------------
      .byte GOTO
      .word PKMGS-ECRUTEAK_2_loop
      .byte W06
      .byte FINE
      
      @**************** Track 3 (Midi-Chn.3) ****************@
      
      PKMGS-ECRUTEAK_3:
      .byte KEYSH , PKMGS-ECRUTEAK_key+0
      @ 000 ----------------------------------------
      PKMGS-ECRUTEAK_3_loop:
      PKMGS-ECRUTEAK_3_00:
      .byte VOICE , 1
      .byte VOL , 90*PKMGS-ECRUTEAK_mvl/mxv
      .byte PAN , c_v+0
      .byte N12 , Cn2 , v100
      .byte W12
      .byte Gn2
      .byte W12
      .byte Dn3
      .byte W12
      .byte N60 , En3
      .byte W60
      @ 001 ----------------------------------------
      .byte N12 , Cn2
      .byte W12
      .byte An2
      .byte W12
      .byte En3
      .byte W12
      
      .byte N60 , Fn3
      .byte W60
      @ 002 ----------------------------------------
      PKMGS-ECRUTEAK_3_002:
      .byte N12 , Cn2 , v100
      .byte W12
      .byte Gn2
      .byte W12
      .byte Dn3
      .byte W12
      .byte N60 , En3
      .byte W60
      .byte PEND
      @ 003 ----------------------------------------
      .byte N24 , Gn3
      .byte W24
      .byte Fs3
      .byte W24
      .byte Fn3
      .byte W24
      .byte N12 , Bn2
      .byte W12
      .byte Gn2
      .byte W12
      @ 004 ----------------------------------------
      .byte PATT
      .word PKMGS-ECRUTEAK_3_002
      @ 005 ----------------------------------------
      .byte N12 , Cs2 , v100
      .byte W12
      .byte Gn2
      .byte W12
      .byte As2
      .byte W12
      .byte Dn3
      .byte W24
      .byte Cs3
      .byte W12
      .byte Dn3
      .byte W12
      .byte En3
      .byte W12
      @ 006 ----------------------------------------
      .byte Dn2
      .byte W12
      .byte N06 , An2
      .byte W12
      .byte N12 , En3
      .byte W12
      .byte N06 , Fn3
      .byte W12
      .byte N48 , Gs3
      .byte W48
      @ 007 ----------------------------------------
      .byte N12 , Gn2
      .byte W12
      .byte Dn3
      .byte W12
      .byte Fn3
      .byte W12
      .byte Gs3
      .byte W12
      .byte Bn3
      .byte W12
      .byte N06 , Gn3
      .byte W06
      .byte N30 , Gs3
      .byte W30
      @ 008 ----------------------------------------
      .byte N12 , Cn2
      .byte W12
      .byte Gn2
      .byte W12
      .byte Dn3
      .byte W12
      .byte En3
      .byte W12
      .byte Gn3
      .byte W12
      .byte Cn4
      .byte W12
      .byte Dn4
      .byte W12
      .byte En4
      .byte W12
      @ 009 ----------------------------------------
      .byte Cs2
      .byte W12
      .byte As2
      .byte W12
      .byte Dn3
      .byte W12
      .byte Cs3
      .byte W12
      .byte En3
      .byte W12
      .byte Dn3
      .byte W12
      .byte Fn3
      .byte W12
      .byte N06 , Gn3
      .byte W12
      @ 010 ----------------------------------------
      .byte N48 , Fn2
      .byte W48
      .byte N12 , An3
      .byte W12
      .byte N06 , Cn4
      .byte W12
      .byte N12 , Dn4
      .byte W12
      .byte N06 , En4
      .byte W12
      @ 011 ----------------------------------------
      .byte N12 , Gn1
      .byte W12
      .byte Dn2
      .byte W12
      .byte Gn2
      .byte W12
      .byte Fs2
      .byte W12
      .byte An2
      .byte W12
      .byte Gn2
      .byte W12
      .byte Bn2
      .byte W12
      .byte Dn3
      .byte W12
      @ 012 ----------------------------------------
      PKMGS-ECRUTEAK_3_012:
      .byte N30 , Fn2 , v100
      .byte W36
      .byte N06
      .byte W12
      .byte N30
      .byte W36
      .byte N06 , Cn2
      .byte W12
      .byte PEND
      @ 013 ----------------------------------------
      PKMGS-ECRUTEAK_3_013:
      .byte N30 , Fn2 , v100
      .byte W36
      .byte N06
      .byte W12
      .byte N06
      .byte W12
      .byte N18
      .byte W24
      .byte N06
      .byte W12
      .byte PEND
      @ 014 ----------------------------------------
      PKMGS-ECRUTEAK_3_014:
      .byte N30 , En2 , v100
      .byte W36
      .byte N06 , Bn2
      .byte W12
      .byte En2
      .byte W12
      .byte N18
      .byte W24
      .byte N06 , Bn2
      .byte W12
      .byte PEND
      @ 015 ----------------------------------------
      PKMGS-ECRUTEAK_3_015:
      .byte N30 , An2 , v100
      .byte W36
      .byte N06
      .byte W12
      .byte Gs2
      .byte W12
      .byte N06
      .byte W12
      .byte Gn2
      .byte W12
      .byte Fs2
      .byte W12
      .byte PEND
      @ 016 ----------------------------------------
      PKMGS-ECRUTEAK_3_016:
      .byte N30 , Dn2 , v100
      .byte W36
      .byte N06 , An2
      .byte W12
      .byte Dn2
      .byte W12
      .byte N06
      .byte W12
      .byte En2
      .byte W12
      .byte Fn2
      .byte W12
      .byte PEND
      @ 017 ----------------------------------------
      PKMGS-ECRUTEAK_3_017:
      .byte N30 , Gn2 , v100
      .byte W36
      .byte N06 , Dn3
      .byte W12
      .byte Gn2
      .byte W12
      .byte N06
      .byte W12
      .byte An2
      .byte W12
      .byte As2
      .byte W12
      .byte PEND
      @ 018 ----------------------------------------
      .byte N03 , Bn2
      .byte W03
      .byte N21 , Cn3
      .byte W21
      .byte N24 , En3
      .byte W24
      .byte Gn3
      .byte W24
      .byte Bn3
      .byte W24
      @ 019 ----------------------------------------
      .byte As3
      .byte W24
      .byte Gn3
      .byte W24
      .byte En3
      .byte W24
      .byte Cs3
      .byte W24
      @ 020 ----------------------------------------
      .byte PATT
      .word PKMGS-ECRUTEAK_3_012
      @ 021 ----------------------------------------
      .byte PATT
      .word PKMGS-ECRUTEAK_3_013
      @ 022 ----------------------------------------
      .byte PATT
      .word PKMGS-ECRUTEAK_3_014
      @ 023 ----------------------------------------
      .byte PATT
      .word PKMGS-ECRUTEAK_3_015
      @ 024 ----------------------------------------
      .byte PATT
      .word PKMGS-ECRUTEAK_3_016
      @ 025 ----------------------------------------
      .byte PATT
      .word PKMGS-ECRUTEAK_3_017
      @ 026 ----------------------------------------
      .byte N03 , Bn2 , v100
      .byte W03
      .byte N21 , Cn3
      .byte W21
      .byte N24 , Gn2
      .byte W24
      .byte En2
      .byte W24
      .byte Dn2
      .byte W24
      @ 027 ----------------------------------------
      .byte GOTO
      .word PKMGS-ECRUTEAK_3_loop
      .byte W06
      .byte FINE
      
      @******************************************************@
      .align 2
      
      PKMGS-ECRUTEAK:
      .byte 3 @ NumTrks
      .byte 0 @ NumBlks
      .byte PKMGS-ECRUTEAK_pri @ Priority
      .byte PKMGS-ECRUTEAK_rev @ Reverb.
      
      .word PKMGS-ECRUTEAK_grp
      
      .word PKMGS-ECRUTEAK_1
      .word PKMGS-ECRUTEAK_2
      .word PKMGS-ECRUTEAK_3
      
      .end

      Cuando hayas terminado tu gran aventura de edición de looping, guarda los cambios del archivo. Luego inserta tu .s con sappy como sueles hacerlo (recuerda tener desactivada la opción de carpeta para ocultar extenciones de archivo) y comprueven el resultado.

      Resumiendo en cinco sencillos pasos..

      1. Tener lista tu melodía en .s, y la abres con el wordpad.
      2. Poner al principio de cada track "nombretrack_numerotrack_loop:" y "nombretrack_numerotrack_posicióntrack:"
      3. Poner al final de cada track ".byte GOTO" ".word nombretrack_numerotrack_loop" y ".byte W06".
      4. Hacerle el mismo proceso a todos los tracks del archivo .s
      5. Guardar los cambios efectuados e insertar el archivo .s con el sappy y mirar los resultados obtenidos.
PHO

Tutorial escrito por Ricc!.
Web designed by Serg!o.
Hosting powered by HostingGazel.

Pokémon y todos sus respectivos nombres son marcas registradas y © de Nintendo Nintendo 1996-2010.

Para más información véase el aviso legal.