SHOWALL FUN PRANKS HIGH VOLTAGE LAZARUS-64 PHOTOGRAPHY SPY GADGETS VIDEO GAME
Figure 18 - The AVR generating the low res wormhole animation
Figure 18 - The AVR generating the low res wormhole animation

As you can see, the resolution of the animation is extremely low, especially when displaying the text, but it is certainly dynamic and much more interesting than the static images from the past code examples. You won't do much with a 56 by 60 frame buffer, so the only option is to expand the memory with some external SRAM, which will allow full 256 by 240 or even 256 by 480 resolution and multiple frame buffers. Having more than one frame buffer is the key to making a smooth moving screen with animations or changing data as you can draw your graphics to a hidden buffer while the video driver displays a visible buffer. This concept is called "double buffering" and is the core of all video game programming and video display. The final version of the AVR VGA generator will include a dual 64K buffer video display so that images can be drawn and animated at 256 by 240 pixels.





Figure 19 - Making breadboard compatible SRAM blocks
Figure 19 - Making breadboard compatible SRAM blocks

Unfortunately, SRAM seems to only by available up to 32K in breadboard compatible DIP parts, so a little soldering will be necessary to get the needed 128K onto your breadboard. Yes, you could actually use four separate 32K DIP SRAMs connecting to a 2-4 decoder, but that would be a lot of extra wring for nothing, and it is not at all difficult to make a breadboard compatible 128K or 512K SRAM using any soldering iron and a DIP socket. Any 128K or 256K SRAM will work for this project, as the bandwidth needed is only 100 nanoseconds. Most 128K or 512K SRAMs will have between 10 and 15 nanosecond access time, so there will be no timing issues whatsoever. You only need 128K, but often a 512K SRAM will be more commonly available and possible less expensive, so you can just tie down the leftover address lines and ignore them. For 128K SRAMs, some part numbers I have tried are CY7C109B and AS7C1024B. For 512K SRAMs, the part numbers I have used are CY7C1049D and R1LP0408C. Basically, just go to your favorite online distributor and look for any 128K or 512K SRAM in a SOJ package. Remember that you are searching for 128K x8 (Kilobytes), not 128 Kilobits. The SOJ package pictured has pin spacing not much smaller than DIP, so it is very easy to solder to the socket. Any 40 Pin socket will work.

Back Home Last Next
You are Viewing... Page 10 of 16
Lucid Science Electronics from the Fringe AtomicZombie Hack-a-day SparkFun