Chamber
Puntuación de reacción
1.338

Mensajes de perfil Última actividad Publicaciones Acerca

  • Antes de llamar a chequeo, el registro hl es igual a DA2C + 30*N depende del nº de pokemon que sea.

    Al entrar a chequeo ese valor se guarda en la pila mediante push hl

    En cada loop la instruccion ldi incrementa el valor de hl (ademas de guardar el contenido de la direccion a la que apunta en a)

    Por cada move que se chequee, hl se ve incrementado una vez. Si el move en el que se da la coincidencia es el segundo, se chequean dos moves hasta dar con ella (1ro y 2do) por lo que hl se habra convertido en hl+2. En el caso de pkmn numero 0, hl tendria DA2E.

    En el momento de la coincidencia se salta a @positivo; lo primero que hacemos ahí es cargar 0 en a (xor a) y guardar 0 en scriptvar.

    La instruccion pop bc recupera el valor que se guardo en la pila debido al push hl, y lo recupera en bc. En el caso de que sea el pkmn numero 0 por ejemplo, bc ahora seria DA2C, y por tanto c seria 2C.

    Como a es igual a 0 le sumamos l y le restamos c, y en nuestro ejemplo nos da 0+2E-2C = 2
    Es como un degradado lo de la sombra debajo de la axila (o una infección). Quería que se asemeje al estilo de minis (de personas) de la quinta generación que me parecen los mejores.
    Fue a proposito el pixel de la axila, el sprite de frente no me gusta como queda mas redondo dejo el original, el color de piel de los minis use la paleta de los del tcg, mientras que el pelo y eso use los colores originales del g/s/c. Si te das cuenta el mini del prota es mas flaquito en comparación de otros minis de gbc que son gorditos
    correcto, con algun pequeño matiz, siempre ten en cuenta 1 registro -> 8 bits ; 2 registros -> 16 bits:

    ld a,01 ; carga 01 en a
    ld hl,0001 ; carga 00 en h y 01 en l
    ld a,(0001) ; carga el contenido de 0001 en a

    ld a,0001 ; no es posible
    ld hl,(0001) ; no es posible

    echa un vistazo a mi guia cuando tengas tiempo :p
    no, tiene que ser push hl y pop bc para que funcione. Al hacer eso recuperas el antiguo valor de hl en bc. de esa forma puedes tener el antiguo en bc, y el nuevo en hl, y hacer calculos en base a ambos.

    por cierto ld hl,X carga el valor (de 16 bits) X, y NO el contendio. Para cargar el contenido (8 bits) debes poner X entre parentesis y cargarlo en el registro a (de 8 bits) mediante ld a,(X)
    los pointers si, pero poner la melodia al rom es el fallo, por ejemplo al importarla solo se que la puse en $1E7000, pero no se como saber donde empieza y donde termina cada canal.
    Los cambios que te he hecho yo la verdad es todo muy rebuscado con el objetivo de reducir todo el espacio posible. Lo del loop al menos es interesante, ya que te permite evitar escribir lo mismo varias veces. Con b=4 (en tu caso 4 moves), puedes ir decrementando b en cada ciclo, y, cuando llegue a 0, salir del bucle.

    Lo que hago en @positivo es tomar la nueva direccion a la que apuntaba hl al salir del bucle y restarle la que tomaba antes de entrar en el bucle. Ya que hl lo incrementas una vez con cada move que chequeas, el valor resultante de hl-bc (l-c) es la posicion (1-4) del move en que se dio la coincidencia.
    cursos:ensamblador:lenguaje_2 [El wiki de speccy.org]

    Por cierto, creo que te vendria bien echar un repaso a mi guia de asm en construccion ;)
    Esto lo saco de la guia (el link de arriba tambien lo puse en la guia):

    Entonces and a (and a,a) da como resultado el propio a sin modificar, pero la utilidad es que actualiza la flag z en funcion del contenido de a.
    el metodo dificil es de melash en skeetendo
    el metodo facil es con el midi2gsc, yo uso el ultimo.
    puedes cambiar los cp a,00 por and a y te ahorras 4 bytes en total. Igualmente ld a,00 -> xor a

    Si estas buscando desesperadamente maneras de reducir espacio puedes hacer estos cambios:

    @main
    (...)
    ret

    @chequeo
    push hl
    ld b,04
    @loop
    ldi a,(hl)
    and a
    jr z,@positivo
    dec b
    jr nz,@loop
    ld a,$01
    ld (ScriptVar),a
    ret

    @positivo
    xor a
    ld (ScriptVar),a
    pop bc
    add l
    sub c
    ld ($D006),a
    ret
    Es hora del intercambio de favores, que opinas del back del prota?
    te deje el front sprite y los minis para que veas como funciona su peinado.
    La chica seguro la reemplaze por otra, no me convence aun su diseño, ademas se parece a la prota de Pokemon Lien.
    no hay ningun post de como se hace, solo usando una melodia separada en 4 canales, y cada canal previamente loopeado, pero al crear el archivo .asm es donde me quedo trabado, pero javcdark sabe, del metodo superrequetemegadificil, pero puede.
    Cuando retoques bien el retrato de Norman no me lo muestres, quiero verlo cuando salga en definitivo en la actu, a ver que tanto nos sorprendes, ademas de que te ayudara mas la opinión de otros spriters, suerte!
    Ni ganas la vedad XD, es un personaje con un peinado muy basico, podrias modificar el mini de goku de poketto ya que tiene jopo.
  • Cargando…
  • Cargando…
  • Cargando…
Arriba