Archive for the ‘games’ Category

Uzebox – AVR Gaming console


So lately I have been fiddling with Uzebox. It’s a game console from just a ATMega644 mcu and a AD725 (RGB-to-NTSC converter) chip. Thats the whole idea. The RGB signal is created by a manual 3:3:2 resistor based DAC, and audio is pure PWM signal.

The awesome part of this console is the “kernel”, written by Uze (Alec Bourque), which has several video modes available, and a 4 channel audio mixer, all done in interrupts, so that when you code stuff to this console, you don’t have to think about the clock cycles of your code, as the interrupt will always update the screen and audio output “behind the scenes”.

The project is now also supported well by a small but great community, that has helped Uzebox with more video modes, games, and even a realtime emulator!

I have made a few additions to the emulator (uzem), adding threading to split the SDL screen blitting from the MCU emulation in seperate threads, a funny RAM/Progmem visualizer, and a SD card FAT16 emulator. (The emulator already had SD card emulation, but I have added the FAT16 emulation)

You can buy yourself a Uzebox at Adafruit, or just download the emulator from the repository.

Games and demos(with or without source code) can be downloaded from the wiki.

My additions can be found in the SVN repo.

LEDDisplay games

So.. We can’t have a “screen” without pong or snake, can we?
When I completed the LED Displays abillity to be controlled from the computer via RS232, I wrote a nifty little module in Perl, which I called: Acme::LEDDisplay.With this module I am able to use the display just as a.. well… display :)
But ’till today, I haven’t made anything really cool. Just some small things like live Network-graph and live IRC log ;p

But today I wrote two games for it, and I’m pretty pleased about the result :)

The new scripts for today are Snake/Nibbles, Pong, and a little meaningless bouncy-script.





Meaningless script
Also made this little ball-bouncing script, which pong is built upon. It uses pretty much the same “ball” module. You can start it with as many balls you want. And it bounces them randomly about.