Autor Tema: Rutinas de ensamblador con Laddh  (Leído 452 veces)

Laddh

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 250
    • Ver Perfil
Re:Rutinas de ensamblador con Laddh
« Respuesta #15 en: Abril 29, 2024, 11:51:43 »
Y sí, lo de la música es sencillísimo de utilizar, aunque más difícil de entender, el fichero SID es más que la "partitura", es un programa en si mismo con varios datos de formato, de ahí el ,126 que se incluye al final del incbin para saltarse esos datos. Estaría bien que algún virtuoso de la creación de música nos aclarase todo lo que conlleva un fichero SID.

josepzin

  • Administrador
  • Commodore Master
  • *****
  • Mensajes: 13773
  • Commodoreador web
    • Ver Perfil
    • Mi blog
Re:Rutinas de ensamblador con Laddh
« Respuesta #16 en: Abril 29, 2024, 14:37:27 »
Yo tengo entendido que un SID no es solo los datos de la música sino también su propio "player". Pero hasta ahí llegan mis conocimientos.
www.retroinvaders.com | www.commodoreplus.org  | josepzin.blogspot.com

PacoBlog64

  • Commodore Master
  • *****
  • Mensajes: 363
  • INC $D020
    • Ver Perfil
    • PacoBlog64
Re:Rutinas de ensamblador con Laddh
« Respuesta #17 en: Abril 29, 2024, 16:30:33 »
Yo tengo entendido que un SID no es solo los datos de la música sino también su propio "player". Pero hasta ahí llegan mis conocimientos.

Es algo así, @Narcisound lo controla bastante, dicen  ;D ;D ;D Cuando haces la música en un tracker como GoatTracker, al pasarla a SID la conviertes en un programa que te permitirá reproducirla desde otro, con su dirección inicial y otras para controlar volúmenes o efectos, pero luego no puedes convertir un fichero SID en un fichero en formato tracker para modificarlo y volver a pasarlo a SID, porque lo que tiene un fichero SID es código en ensamblador, no las propias notas.
Commodoriano desde mis tiernos 7 añitos. ¿Quién necesita más de 1MHz, 64KB de RAM, 16 colores y 3 canales de sonido?

Narcisound

  • MasterSID
  • Commodore Master
  • *****
  • Mensajes: 497
  • MASTERSID
    • Ver Perfil
Re:Rutinas de ensamblador con Laddh
« Respuesta #18 en: Mayo 01, 2024, 11:34:57 »
Buenas, contesto por alusiones  ;D

Un fichero SID no es más que un programa que se ha compilado en lenguaje máquina.

¿De donde sale la fuente de ese programa?

Puede salir de varios sitios. Hoy en día, lo más común es que salga desde un editor nativo como puede ser el SIDWizard, o desde un editor externo de Windows como es el Goattracker.

En sus primeros años musicales (década de los 80´s y principios de los 90´s), los primeros "SIDs" se creaban directamente en un editor ensamblador, el cual contenía la "routine player" (el motor para la música) y los datos propios de la melodía a componer como son los sonidos o efectos, las notas propias de las melodías (tunes o sub-tunes) y efectos a usar por las melodías (vibrato, filtros, modulaciones de anillo, formas de onda, trémolos, etc).

Por tanto, en nuestro código ensamblador para la música veríamos en primer lugar todas las instrucciones (LDA, STA, BNE, etc..), de la routine player y mas abajo, mogollón de datos (datas), que serviran para dar vida a nuestra melodía.

¿Como se hacía la música desde el editor ensamblador?

Pues era una tarea durísima en la cual a base de prueba y error, ibas alterando los parámetros del SID para lograr crear los sonidos que necesitaba la música (bajos, cajas "snare", bombos, acordes arpegiados, solos "leads", vibes, pics, flautas, violines simulados (Sanxion), etc.

¿Y las melodías?

Pues de igual forma, ibas metiendo datos con la nota que iba a sonar (Do, Re, Mi, Fa.....) y su duración en milisegundos, por ejemplo, éste data: $40,$32 significa que vamos a tocar un DO en la tercera octava del SID durante 2 segundos. Luego claro está, tendremos que meter datas adicionales para decir que sonido del banco disponible va a sonar, si ese sonido va a tener un vibrato, filtro, modulación, forma de onda, etc, y durante cuanto tiempo va a usarse ese efecto en nuestra nota musical, también podemos meter mas datas para controlar el ADSR del sonido:

Ataque = El tiempo que tardará el sonido en alcanzar el volumen máximo que pongamos.

Decaimiento = El tiempo que tardará el sonido en alcanzar el volumen de sostenimiento.

Sostenimiento = El tiempo que el sonido se va a sostener en duración y volumen.

Relajación = El tiempo que tardará el sonido en alcanzar el volumen mínimo que pongamos.

Básicamente para entenderlo un poco mejor, el "Ataque" es el nacimiento del sonido, el "Decaimiento" y "Sostenimiento" es la vida que va a tener el sonido y la "Relajación", corresponde a la muerte del sonido o como éste va a desaparecer y dejarse de oír.

Y ya con todas éstas nociones, pues te ponías a meter datos y mas datos musicales hasta que por fin, compilabas el programa y al ejecutarlo deberías escuchar una hermosa melodía creada para nuestro querido SID.

¿Y hoy en día, como se hacen los SIDs?

Afortunadamente, hoy en día tenemos "editores/trackers" como antes he comentado (SIDWizard, GoatTracker), los cuales nos facilitan mucho la labor de crear música para el SID.

Si bien, en éstos editores, todavía tenemos que crear nuestro sonidos y efectos a base de meter datos (eso apenas ha cambiado), a la hora de componer las notas de nuestras melodías, tendremos la facilidad y claridad que un tracker nos ofrece. Eso si, tu imaginación, destreza y arte para decidir como va a ser la melodía que vas a crear siempre es de la misma forma. Ya sea simplemente tarareando esa melodía (eso hago yo), o improvisando con un piano, flauta, silvando o lo que sea, siempre ha sido y será así.  :)

Bueno, perdonarme el tocho pero creo que ha valido la pena.


Laddh

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 250
    • Ver Perfil
Re:Rutinas de ensamblador con Laddh
« Respuesta #19 en: Mayo 01, 2024, 13:43:56 »
Es una buena aclaración  :D

josepzin

  • Administrador
  • Commodore Master
  • *****
  • Mensajes: 13773
  • Commodoreador web
    • Ver Perfil
    • Mi blog
Re:Rutinas de ensamblador con Laddh
« Respuesta #20 en: Hoy a las 00:13:40 »
Transpolando esto del sonido al video, es como si se tuviera que:
- Definir el RGB de la paleta de los 16 colores disponibles
- Crear las rutinas que ponen los pixels en pantalla
- Y luego el gráfico en si, que son los datos que aporta el tracker.

Si la analogía no sirve es que no lo entendí jaja no me peguen...
« última modificación: Hoy a las 00:19:31 por josepzin »
www.retroinvaders.com | www.commodoreplus.org  | josepzin.blogspot.com