Gameduino is an FPGA based sound and graphics adapter for microcontrollers. Laid out as an Arduino shield, all it really takes is a microcontroller with SPI and some code to send commands to the board which lets you toggle registers, handle memory, and drawing functions.
Once the data gets there, it is greeted by a Xilinx FPGA which puts out a 800×600 72Hz SVGA sync signal, large 512×512 pixel character scrolling backgrounds, piles of 16×16 (up to 256 color) sprites, each with per pixel transparency, rotation, flip, and if that was not enough a 12 bit frequency synth that can do 16 independent voices.
All the resources to make one of these is listed on the site under the Making a Gameduino link, but if youre interested in getting a made board there is also a kickstarter page available. There are other ways to squeeze video out of micro controllers from the basic like hackvision to AVGA or even Lucidscience AVR VGA v2, and tons of propeller projects, but this one being stand alone and portable, has a certain appeal.
Join us after the break for a quick video.
[youtube=http://www.youtube.com/watch?v=EWn-6FB4cNQ&w=450%5D
But does it do hardware transform and lighting?
Is this the first video accelerator for a modern microcontroller?
Wow. Now I have another reason to waste time with my Mega 1280 :)
Doc, it probably is. For those of us who aren’t Arduino-only fanboys, this has been around since 2008.
http://en.wikipedia.org/wiki/HYDRA_Game_Development_Kit
This isn’t doing 3D at all so no, it doesn’t do hardware transform and lighting :)
I totally love it but it’s a little sad that these things become nothing but commodities. Oh well…
BTW, why wouldn’t this thing also implement some basic math that could be useful for 3d transforms? AVR’s are not super-fast at that.
they used the bouncing ball demo from the Amiga. Classy!
Nice reference to the Amiga “kickstart” in there too.
This looks like a lot of fun. Looks like they had no problem tripling their goal.
A bit off the subject but with so many Arduino shields out there has anyone make other boards that can use them? I do not mean Arduino clones but say a board with an ARM, PIC, or Propeller chip but in the same form factor?
SPI, and I2C pretty common as is Digital IO.
It puts out an 800×600 signal, but the actual resolution appears to be 400×300.
pretty cool but only does sine or noise waves for audio
Neat device and looks a whole lot more capable than the chip on glass controllers you get built into cellphone displays but wouldn’t it be better if it had the option to drive an LCD directly? TTL LCD output (e.g. PSP, NDS) would need only the connector and tweaks to the timing. Depending which FPGA they used, LVDS output (e.g. Nokia N97) might also be possible without any extra components.
Also, SID or AY-3 audio emulation would be good and could also be shoved into that FPGA.
Nice work!
My kinda hack.
Brad
Wonder if the Arduino would be powerfull enought to emulate a NES.
i figure you could do 3d much faster with some kind of floating point unit. its mostly just vector and matrix ops.but the real consumer of cpu time is texture fill ops.
@zool, wrote up a few lines on how to achieve those square and sawtooth waves of old using multiple voices. http://excamera.com/sphinx/gameduino/cookbook.html#square-and-sawtooth-waves
I’ve been considering getting an uzebox for this kind of thing, but SVGA opens the doors to more monitor types.
On the other hand, the uzebox has more graphics modes and seems more flexible.
Anyone used the uzebox who can comment on functionality differences?
Are there libraries for the ChipKit32 Arduino compatible board? That would be sick..
Gameduino first retail:
http://www.seeedstudio.com/depot/gameduino-a-game-adapter-for-microcontrollers-p-860.html