domingo, 26 de febrero de 2012

Pintando desde SRAM

Esta semana me ha llegado el módulo de MegaRAM que pedí en Rugged Circuits. He hecho una prueba muy sencilla, he creado un buffer bidimensional del mismo tamaño que el mapa de bits que tengo en memoria de programa en la primera posición de memoria del módulo y he copiado toda la información en él.

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