Pintando sprites de 16x16 en ensamblador

Chit chat general. Habla con los MojonTwins y con los amigos de los MojonTwins. Reza a Vah-ka. Delinque. Aviso: está PROHIBIDO tirarse peos fuerte. Si les cortas el pescuezo, vale.

Moderador: na_th_an

Avatar de Usuario
angel
Mensajes: 23213
Registrado: Vie, 09 Ene 2009, 13:04
Ubicación: Torreznolandia
Contactar:

Re: Pintando sprites de 16x16 en ensamblador

Mensajepor angel » Mié, 11 Dic 2013, 11:42

:nath:
(_\_) (_|_) (_/_) (_|_) ILLO KE HEHEHEHEHEHEEEHEHEHEH!

¡Activa tu rainbow pechónico!
Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: Pintando sprites de 16x16 en ensamblador

Mensajepor na_th_an » Mié, 11 Dic 2013, 11:42

Hay un truco. Con la dirección en DE, para moverse hacia abajo un caracter sin importar dónde estemos, se usa este codiguito de Einar Saukas:

$this->bbcode_second_pass_code('', ' ; Move one char down. Routine by einar Saukas.
ld a, e
add a, 32
ld e, a
jr nc, _down_char_continue
ld a, d
add a, 8
ld d, a
._down_char_continue')
Solo comprueba el carry. Si sumando 32 a E te pasas de 256 es que hay un cambio de tercio, por lo que hay que ajustar también D.

Pero de todos modos, es mejor tener la tablita de 24 valores como te dije. Te quitas de todos los problemas.
Como diría Rorshach: "Urm..."
Avatar de Usuario
radastan
Mensajes: 692
Registrado: Vie, 20 Ago 2010, 12:54
Contactar:

Re: Pintando sprites de 16x16 en ensamblador

Mensajepor radastan » Mié, 11 Dic 2013, 12:04

Tomo nota, ya lo probaré esta noche. También miraré la opción de la tablita, que 48 bytes tampoco es un gasto voraz y sirve para muchas cosas.

Image
Avatar de Usuario
radastan
Mensajes: 692
Registrado: Vie, 20 Ago 2010, 12:54
Contactar:

Re: Pintando sprites de 16x16 en ensamblador

Mensajepor radastan » Mié, 11 Dic 2013, 12:18

Pues me ha podido el "ansia" y lo he probado. Efectivamente, había que sumar 8 (curiosamente tenía el mismo código pero yo seguía emperrado en sumar sólo el acarreo).

Ya está cambiado y va de perlas. :cheer:

Esta noche prepararé un test sencillito para ver que tal va en una situación real.
Avatar de Usuario
radastan
Mensajes: 692
Registrado: Vie, 20 Ago 2010, 12:54
Contactar:

Re: Pintando sprites de 16x16 en ensamblador

Mensajepor radastan » Mié, 11 Dic 2013, 22:20

Bueno este es el ejemplo final de como queda la rutina, con un retardo considerable para que se pueda apreciar el movimiento (sin retardo ves un barrido a toda pastilla arriba y abajo, no da tiempo ni a ver los sprites). Para reducir el efecto parpadeo lo que hago es imprimir en la nueva posición y borrar el rastro que se deja atrás. Vamos, que es un ejemplo real de como puede quedar.

En resumen, es perfectamente posible hacer un juego con las rutinas de sprites que hemos realizado y llenar la pantalla de bichos sin problemas. Es más no estamos limitados a 16x16, se pueden usar sprites de hasta 32x32 (e incluso más grandes) sin problemas de velocidad.

No digo que se pueda hacer un Popeye, pero si alguna cosa en plan Trap Door sin problemas.

Voy a elaborar una rutinilla simple de scroll en baja resolución, que es algo muy práctico y da mucho juego.
Adjuntos
juego.tap
De paseillo por la plaza.
(2.48 KiB) Descargado 169 veces

Volver a “General”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados