Fortaleza Reznor
Biblioteca de ASM FLVP3jF¡Bienvenido a Fortaleza Reznor!
¿Que es Fortaleza Reznor?
Fortaleza Reznor es un foro de SMWH (Super Mario World Hacking) Aquí modificamos (hackeamos) el juego de Mario World a nuestro gusto y enseñamos a otros a saber a manejar el hacking de SMW usando la famosa herramienta "Lunar Magic".

¡Regístrate!
Únete a nuestra comunidad!, te ayudaremos en cada duda que tengas respecto al SMWH. Aparte podrás participar en eventos que hay en el foro y descargar los recursos que crean nuestros usuarios.

¡ANÍMATE! ¡Te divertirás en nuestro foro!

Atte:
La administracion.
Fortaleza Reznor
Biblioteca de ASM FLVP3jF¡Bienvenido a Fortaleza Reznor!
¿Que es Fortaleza Reznor?
Fortaleza Reznor es un foro de SMWH (Super Mario World Hacking) Aquí modificamos (hackeamos) el juego de Mario World a nuestro gusto y enseñamos a otros a saber a manejar el hacking de SMW usando la famosa herramienta "Lunar Magic".

¡Regístrate!
Únete a nuestra comunidad!, te ayudaremos en cada duda que tengas respecto al SMWH. Aparte podrás participar en eventos que hay en el foro y descargar los recursos que crean nuestros usuarios.

¡ANÍMATE! ¡Te divertirás en nuestro foro!

Atte:
La administracion.
Fortaleza Reznor
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.


¡Super Mario World Hacking en español! ¡Ayuda, tips, diversión y más!
 
ÍndiceMiembrosRegistrarseConectarseBuscar

Comparte
 

 Biblioteca de ASM

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
lx5
Moderador Global
Moderador Global
lx5

Posts Posts : 2160


Biblioteca de ASM Empty
MensajeTema: Biblioteca de ASM   Biblioteca de ASM EmptyMiér Jul 09, 2014 3:52 pm

Este tema servira para dejar varios codigos de levelASM que pueden resultar utiles para los demas. Tambien si se puede se podria poner un video del codigo en ejecucion.
Yo tengo varios codigos por ahi asi que los ire sacando poco a poco (en cuanto haga un video para cada uno).

Bloques:
- Checa si Mario lanzo un sprite al bloque vertical u horizontalmente
- Preparar el bloque para que funcione correctamente con el sprite
- Checa en que lado Mario toca el bloque

Sprites:
- Velocidad relativa a la distancia entre el sprite y mario.
-Rutina para actualizar la posicion de un sprite cualquiera (mas util para clusters y sprites imaginarios), esta
actualiza la posicion del sprite igual como lo hacen los sprites originales del juego.
Código:

;00 velocidad
;01 fraccion de velocidad
;02 posicion low
;03 posicion high
;04 cantidad de pixeles que se movio en esta direccion, util para sprites en los que mario se puede subir
;rutina ripeada del smw, solo le hice algunas modificaciones para que sea usada para cualquier sprite
actualizarVelocidad:

   PHY

   LDA $00      ;Carga la velocidad
   BEQ .ret            ;si es 0 retorna
   
   ASL                     ; \ 
   ASL                     ;  |Multica la velocidad por 16
   ASL                     ;  |
   ASL                     ; / 
   CLC                     ; \ 
   ADC $01               ;  |incrementa la fraccion de velocidad
   STA $01               ; / 
   PHP                     
   PHP                     
   LDY #$00               
   LDA $00      ;carga denuevo la velocidad
   LSR                     ; \ 
   LSR                     ;  |la divide por 16
   LSR                     ;  |
   LSR                     ; / 
   CMP #$08               
   BCC +       
   ORA #$F0               
   DEY 
   
+

   PLP                     
   PHA                     
   ADC $02         ; \ agrega la velocidad dividida 16 al low byte de la posicion
   STA $02         ; / 
   TYA                     
   ADC $03   
   STA $03        ;agrega una cantidad 0 1 o -1 a el high byte de la posicion dependiendo el borde que esta pasando o sino atraviesa borde
   PLA                     
   PLP                     
   ADC #$00 
.ret
   
   STA $04        ;almacena la cantidad de pixeles que se movio en esta direccion

   PLY
   RTS                     ; retorna   


Misc:
- Teleport especifico a un nivel

HDMA:
- Aun ni uno.

LevelASM:
- Codigo de iluminacion dinamica por pantalla
Video: [Tienes que estar registrado y conectado para ver este vínculo]

Este tema no es para pedidos, solo para recopilacion de codigos.

__________________________________________________
Espacio en renta.


Última edición por TheLX5 el Sáb Ago 02, 2014 3:58 pm, editado 4 veces
Volver arriba Ir abajo
anonimzwx
Baby Yoshi
Baby Yoshi
anonimzwx

Posts Posts : 1260


Biblioteca de ASM Empty
MensajeTema: Re: Biblioteca de ASM   Biblioteca de ASM EmptyMiér Jul 09, 2014 5:08 pm

aaa buena idea.

Yo creo que subire varios codigos aca, te recomiendo dejar este tema en post-it y cambiale el titulo por biblioteca de codigos de asm, asi no solo subimos rutinas de level.asm sino tambien de sprites o bloques.

EDIT: Cierto yo tengo permisos de moderacion en este sub foro.
Volver arriba Ir abajo
lx5
Moderador Global
Moderador Global
lx5

Posts Posts : 2160


Biblioteca de ASM Empty
MensajeTema: Re: Biblioteca de ASM   Biblioteca de ASM EmptyMiér Jul 09, 2014 7:58 pm

lol el nombre enorme, mejor solo Biblioteca de ASM.

__________________________________________________
Espacio en renta.
Volver arriba Ir abajo
lx5
Moderador Global
Moderador Global
lx5

Posts Posts : 2160


Biblioteca de ASM Empty
MensajeTema: Re: Biblioteca de ASM   Biblioteca de ASM EmptyJue Jul 31, 2014 3:28 pm

Añadido otro:

- Teleport especifico a un nivel

__________________________________________________
Espacio en renta.
Volver arriba Ir abajo
anonimzwx
Baby Yoshi
Baby Yoshi
anonimzwx

Posts Posts : 1260


Biblioteca de ASM Empty
MensajeTema: Re: Biblioteca de ASM   Biblioteca de ASM EmptySáb Ago 02, 2014 9:41 am

agregue una rutina de velocidad relativa a la distancia entre mario y el sprite. es la rutina que use en el jamminger. es facil customizar solo debes editar las tablas.
Volver arriba Ir abajo
lx5
Moderador Global
Moderador Global
lx5

Posts Posts : 2160


Biblioteca de ASM Empty
MensajeTema: Re: Biblioteca de ASM   Biblioteca de ASM EmptySáb Ago 02, 2014 3:59 pm

Añadidas 3 rutinas para bloques y subido a dropbox la rutina de anonz.

- Checa si Mario lanzo un sprite al bloque vertical u horizontalmente
- Preparar el bloque para que funcione correctamente con el sprite
- Checa en que lado Mario toca el bloque
- Velocidad relativa a la distancia entre el sprite y mario.

__________________________________________________
Espacio en renta.
Volver arriba Ir abajo
anonimzwx
Baby Yoshi
Baby Yoshi
anonimzwx

Posts Posts : 1260


Biblioteca de ASM Empty
MensajeTema: Re: Biblioteca de ASM   Biblioteca de ASM EmptyDom Ago 10, 2014 7:14 pm

agregue una rutina para actualizar la posicion de un sprite cualquiera igual que los sprites originales del juego, util para clusters o sprites imaginarios que no tienen velocidad y debes usar una ram misc para simularla. Debes darle un valor de velocidad igual al de los sprites normales.
Volver arriba Ir abajo
anonimzwx
Baby Yoshi
Baby Yoshi
anonimzwx

Posts Posts : 1260


Biblioteca de ASM Empty
MensajeTema: Re: Biblioteca de ASM   Biblioteca de ASM EmptySáb Ago 16, 2014 8:42 pm

agrega esta:

Código:

getDrawInfo:
   PHY
   LDA $04
   STA $05
   STZ $06
   REP #$20
   
   LDA $00
   SEC
   SBC $1A
   STA $00
   
   CMP #$0100
   BCC ++
   
   CMP #$FFF1
   BCS +
   
   SEP #$20
   LDA #$01
   STA $06
   PLY
   RTL
+
   LDY $05
   INY
   STY $04
++
   LDA $02
   SEC
   SBC $1C
   STA $02
   
   CMP #$00F0
   BCS ++   

   CMP #$00E0
   BCS +
   SEP #$20
   PLY
   RTL
   
++
   CMP #$FFF1
   BCS ++
   
   SEP #$20
   LDA #$01
   STA $06
   PLY
   RTL
+
   LDY $05
   INY
   STY $04
++
   SEP #$20
   PLY
   RTL


es un get draw info para un tile.

input:
00 = posicion x del sprite + el desplazamiento en x del tile (low byte)
01 = posicion x del sprite + el desplazamiento en x del tile (high byte)
02 = posicion y del sprite + el desplazamiento en y del tile (low byte)
03 = posicion y del sprite + el desplazamiento en y del tile (high byte)
04 = tamaño del tile (00 si es de 8x8 o 02 si es de 16x16)

output:

00 = posicion x que debe tener el tile dentro de la pantalla (8 bits)
02 = posicion y que debe tener el tile dentro de la pantalla (8 bits)
04 = tamaño del sprite (si esta en los bordes tendra seteado el bit 0) (8 bits)
06 = si el tile esta en una posicion valida (si es 1 no debes poner este tile en pantalla) (8 bits)

Esta rutina es util para sprites como los cluster o los extended, tambien para sprites que usan el oam map 200. debes hacerla 1 ves por cada tile.
Volver arriba Ir abajo
Contenido patrocinado




Biblioteca de ASM Empty
MensajeTema: Re: Biblioteca de ASM   Biblioteca de ASM Empty

Volver arriba Ir abajo
 

Biblioteca de ASM

Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.

 Temas similares

-
» [xkas] JSL.asm (biblioteca de subrutinas)

Permisos de este foro:No puedes responder a temas en este foro.
Fortaleza Reznor ::  Ayuda y Recursos de SMW Hacking :: Exhibición y Archivero de Música, GFX y ASM :: Archivero de ASM-