He creado otra función para pintar lineas como la función RenderLine, pero esta vez en vez de utilizar la instrucción de ensamblador LPM (Load Program Memory) he utilizado LD (Load Indirect). LPM utiliza 3 ciclos, mientras que LD sólo utiliza 2. El acceso a SRAM necesita un ciclo más, así que invertimos el mismo tiempo en acceder a memoria de programa con LPM que a memoria SRAM con LD.
El shield de memoria ocupa 2 pins del puerto C que necesito para pintar, tendré que modificar la placa, pero antes es necesario probar que funciona, así que por ahora pintaré en el puerto F.
No me enrollaré más, os dejo el circuito y el código (página de descargas) por si quereis probarlo.
Esquema de conexiones al monitor con el shield MegaRAM. |
Ahora sólo queda hacer un buen motor de tiles para generar mapas de juego y animaciones con sprites.
No hay comentarios:
Publicar un comentario