A weblog focused on interesting circuits, ideas, schematics and other information about microelectronics and microcontrollers.
E-books
Disclaimer
Because I have not tested all electronic circuits mentioned on this pages, I cannot attest to their accuracy; therefore, I do not provide a warranty of any kind and cannot be held responsible in any manner.
AVGA - AVR Video game
AVGA is TILE-based AVR interrupt driven audio-video driver for a single-chip game console. Or: It's a great board for developing and prototzping AVR video stuff!
Author says: "When I started with the AVRs, i was wondering if it would be possible to create a fluid game like Super Mario Bros, based solely on theese awesome MCUs, to generate video by software, without any external components. I searched the web and found many AVR based fixed tile engines, suitable for tetris etc. Then, after some time and experimenting, I found the legendary color m16-based AVR Pacman project, written by Albert Seward. Mr. Pacman and Ghosts in his project moved smoothly, without jumping the tiles. I adopted the excelent idea - mapping tile graphics both to RAM and PGM - from his driver and the platform begin to grow."
Everything can be customized to meet your game needs and to occupy as little flash as possible. AVGA is not part-specific. It will run in any mega AVR with at least one full 16-bit timer/counter for video.
The optimal resolution chosen for PAL is 192x144 (not overclocked). This resolution is 4:3 and dividable by eight. Each PAL frame has 288 lines, so when doubling each scanline, it covers the whole screen, with no unmapped area. For NTSC it is 160x120. Note that you can make up your own video resolution, of course. You can even change height of the tiles. Resolution with 5 cycles per pixel could get much higher when overclocked. It's possible to achieve even 320x240.