Pum
Puntuación de reacción
162

Mensajes de perfil Última actividad Publicaciones Acerca

  • Uff busqué algo y no pillé nada, gracias por el link (tal vez me aventure a hacer 1 midi) xd
    Pum, preguntaas:
    Qué programa se usa para hacer un midi?
    Para midi gbc qué tonos se pueden usar?
    Tienen una extensión máxima?

    Saludines, espero no molestar con la inquietud
    Está bien, yo seguiré aprendiendo a tilear y spritear y practicando día a día para que cuando aquél momento llegue pueda hacer un buen aporte a la altura de Soolo y de tu musica.
    Sería un honor ayudarte Pum, aunque si quieres por PM podrías hacerme alguna descripción del estilo gráfico para trabajar mientras :3
    Sí, también, que así las tenemos más accesibles, aunque en ese caso, con poner un link al tema de la herramienta valdría ;)
    Es que como nadie me decía mi nick y me seguían diciendo gold, mejor me volví a poner mi viejo nick

    Pues tengo ya muchos dialogos de la beta 1, dejame buscarlos y te los mando c:
    Es posible que modificar el tempo en un momento arbitrario pueda causar desincronización. Supongo que internamente funcionará con un contador por cada canal que controla cuando se cambia de nota en función del tempo. Es posible que modificar el tempo en algun momento pueda causar que el valor de ese contador se interprete mal causando que la nota actual dure mas o menos tiempo. La verdad no sabría decirte nada mas.
    Con JavaFX. Toda la aplicaión está hecha en Java. Estoy acostumbrado a trabajar en Eclipse, en este caso con los plugins para javafx. Para el diseño y para generar el fxml también me he apoyado bastante en el Scene Builder de JavaFX.

    No había pensado en postearlo aquí, pero ya que lo sugieres supongo que lo haré en un momento.
    No es necesario que utilizes una direccion ram que esté dentro de la estructura de canales de audio pero este procedimiento te debería servir de forma general. En caso de que utilizes una direccion totalmente sin usar, considera ocupar tan solo un bit para poder utilizar los 7 restantes en el futuro.
    Lo unico que necesitas es un bit asi que puedes usar alguna direccion ram que almacene flags pero que no usa las 8 posibles. Alguna de estas 3 te podría servir pero comprueba que realmente no son utilizadas y que además no hay nada que ponga todo el byte a 0 en algún momento que pueda interrumpir la nueva funcionalidad (y si lo hay quizas sea posible poner los 7 bits restantes a 0 sin causar ningun otro problema). Haz una busqueda de Channel1Flags, Channel1Flags2 y Channel1Flags3 para comprobar los bits utilizados y los no utilizados.
    ld a, [hld] o ldd a, [hl] es la instrucción equivalente a hacer ld a, [hl] + dec hl. También existe ld a, [hli] cuyo funcionamiento te puedes imaginar.
    En cualquier caso esa instrucción solo te servía al utilizar $c0af ya que en la instrucción anterior hl era $c0b0.

    Instructions Set - z80 Heaven
    Un poco si :)

    ld a, [$c0af]
    and a, a
    ret nz
    ld hl, $c01a
    ld bc, $c04c - $c01a
    ld a, $10
    add a, [hl]
    ld [hl], a
    add hl, bc
    ld [hl], a
    add hl, bc
    ld [hl], a
    add hl, bc
    ld [hld], a
    ld [hl], $00
    ret

    Un puñado de bytes menos (aunque la direccion de c0af deberias cambiarla).
    $C0AF es el loop count del canal 4. Si el flag SOUND_LOOPING (bit 2 del campo Flags) del canal 4 esta activado a la vez que C0AF es 1, la nota actual se repetirá una vez. Seguramente este sea el problema que tienes. Antes de utilizar cualquier direccion de ram de forma arbitrara deberias asegurarte de que no estas afectando nada mas.
    db, dw y ds son directivas que significan define byte, define word, define size.

    db $00 en la dirección 0x40000 significa que el valor del byte de la direccion 0x40000 es 0x00, y que lo que venga después estará a partir de la dirección 0x40001.
    db $00, $30, $60 a partir de 0x40000 significa que 0x40000 = 0x00, 0x40001 = 0x30 y 0x40002 = 0x60

    dw $1234 en la dirección 0x20000 significa que 0x1234 esta en los 16 bits ocupados por 0x20000 y 0x20001, y que lo que venga después estará a partir de 0x20002.
    Si MiFuncion está en la dirección 0x15000, dw MiFuncion se traduce a dw $5000.

    ds se utiliza para definir un espacio o tamaño. Si wMiWramAddress: está en la dirección ram 0xC500 y viene seguido de ds $10, entonces lo que venga después empezará en 0xC510.

    En algunas ocasiones verás también el macro dn. dn significa define nybble. dn $1, $2, $3, $4 es lo mismo que db $12, $34 que a su vez es lo mismo que dw $1234.
    de?
    bc hace referencia al numero del canal. Cualquier valor que le pases se sobreescribe en la linea 2254 o 2264.
  • Cargando…
  • Cargando…
  • Cargando…
Arriba