Pong Version 2 and vgalib for ChipKIT

I've finally got around to making the VGA driver into a library that doesn't require all that messy interrupt code in the main sketch. The actual operation is along the lines of the pixel based display used in the life games but I've re-implemented Pong with this new library as a test.

Primary: 

ChipKIT: Conway's Game of Life on VGA, now with more colours

A photo of the screen with the improved game of Life running with colour indicating age.

If you haven't already, check out my ChipKIT implementation of Conway's Game of Life because I'm not explaining all that again! In this version there are some subtle changes to it that make it more pretty to watch, although arguably more confusing to see what's going on.


Primary: 

ChipKIT: Conway's Game of Life on VGA

A photo of the game being played out on a monitor.

After the success of the ChipKIT pong demo I started to think about the ways to improve the graphics output and came up with the idea of a coarse pixel display. This is a more traditional pixel based display where a rigid grid is displayed on the screen rather than the more vector based display that I had used previously. This demands more of the CPU time because it has to copy the pixels to the display manually as there is no DMA on the UNO32, rather than only having to display the colour for a tiny fraction of each display line like the pong game did.

Primary: 

VGA Primer

Image of a VGA plug

Video Graphics Array "VGA" is a standard for computer display. It has a lot going for it in the hobby electronics field as it is a pretty simple standard and quite straight forward to implement with sufficient signalling speed, there are also a lot of monitors around to test projects on! Colour is a lot easier to generate on a VGA monitor than on a composite video monitor, but it requires a lot more speed as the frames are more detailed and there are more signals to generate.

Primary: