Image is 400x300 picture: 64 x 64 bytes --> 4K ( 2 ) characters: 256 characters 2 bits/pixel 16 bytes --> 4K ( 2 ) 256 characters 64 bytes each character palette: 256 x 8 bytes --> 2K ( 1 ) sprite images: each sprite 16x16x8, 256 bytes 64 sprite images --> 16K ( 8 ) X Y enable flipL, flipR, rot sprite palettes (8): 8x256x1 bytes --> 2K ( 1 ) paint buffer: 400 x 2 x 2 --> 2K ( 1 ) 30K ( 15 ) XC3S50A has: 54K blockram arranged as 3 x 2K XC3S200A has: 288K blockram arranged as 16 x 2K 5.00 PCB (2.4 x 2.1 = 5.00, $1/sq inch) 11.16 FPGA ( XC3S200A ) 1.08 config PROM ( AT45DB021D ) 1.97 VGA conn ( A35116-ND ) jameco 1010-15S is $0.89 2.00 pins, headers 2.97 oscillator ( 478-4792-1-ND ) jameco FXO-HC735-50 is $1.25 0.61 regulator (ZLDO1117G12DICT-ND) 1.02 headphone jack (CP1-3525NG-GR-ND) 1.00 discretes C1-C2 0.01uF C3-C10 0.1uF C11-C12 10uF scrolling registers range 64 * 8 = 512 Each line 1040 cycles 32 sprites 16 pixels each, 512 cycles to composite SPI speed 8 Mbit/s, 512 bytes in 1.5ms Background fetch: 1 byte from picture[x,y] 1 byte from char[x,y] 1 word from palette Content: http://www.aseprite.org 50x37 characters on screen chars can cover 256 sprites can cover 4*64 = 256 512 sprites? 32 x 16 Arduino uses: 11 MOSI 12 MISO 13 SCK Ethernet uses SS 10, SD on pin 4. We use 9. 50/50 of: 0.1 µF to 0.47 µF (445-1266-1-ND .1 uF) 0.01 µF to 0.047 (490-1313-1-ND is .01 uF) 10 uF 495-2236-1-ND Possibly copy http://www.nuelectronics.com/estore/?p=12 and use a 74HCT08D level shifter? Digikey: Web ID 34962188 Access ID 83805 BatchPCB: total 29.68 (shipping 5.35) Digikey: 2 @ 55.12 (shipping 8.31) so single ex shipping 23.40, inc shipping 31.70 Sparkfun: 1.50 3A can reconfigure itself from anywhere: ug332 p 279 shows commands to feed to the ICAP Image takes 543 pages with compression ----- Hack a day ------- Hi, you covered my J1 CPU in December, and I have just finished my latest project, Gameduino. Gameduino is a games adapter for the Arduino - or anything else with an SPI interface. It hooks up to a VGA monitor and stereo speakers to give you old-school video gaming action. 256 sprites, smooth scroll, 16 channel sound, and a beefy coprocessor, all controlled by SPI writes to a 32 Kbyte on-chip RAM. Project page: http://excamera.com/sphinx/gameduino/ Video: http://www.youtube.com/watch?v=EWn-6FB4cNQ Kickstarter has accepted the Gameduino's first production run as a project; it launches today: https://www.kickstarter.com/projects/2084212109/gameduino-an-arduino-game-adapter ------ HN ------- Implementing a complete application using an FPGA was actually surprisingly pain-free. After a while that fact that the code gets compiled into hardware stops seeming like a big difference; you just start thinking of the FPGA as a parallel computer. Anyway, I will attempt to answer any questions from HN folk here. Thanks for looking. ---- Arduino Forum ---- The Gameduino is a video game adapter for the Arduino. It handles the scrolling, sprites, collision detection, and sound. This leaves the Arduino free to run gameplay and handle whatever controller you can dream up. The example programs - videos are on each page - give you an idea of what it can do. http://excamera.com/sphinx/gameduino/ If you're interested in getting a Gameduino, the first production run is on Kickstarter: https://www.kickstarter.com/projects/2084212109/gameduino-an-arduino-game-adapter ---- Slashdot ---- Arduino gets a GPU My background is in games and graphics - I wrote games for 8- and 16-bit consoles - and later built fast graphics systems at SGI, 3dfx, and NVIDIA. I currently use the Arduino at an open source robotics company. In my spare time I have been putting these two together, and the result is the Gameduino: essentially a GPU for the Arduino. What it lacks in horsepower it makes up for in hackability: it's completely open source. http://excamera.com/sphinx/gameduino/ and signups for the first production run are over at Kickstarter: People have been building GPUs using FPGAs for a while now, but the new Gameduino - a gaming add-on for the Arduino - is a little different. It's actually a finished, documented product, and it has a production run over on Kickstarter. -- Crunchgear The Gameduino is a feature-packed video game adapter for the Arduino. It connects to stereo speakers and a VGA monitor to give you relaxing 512-color graphics, 16 channel sound, hundreds of sprites and 2D scrolling action. If we could send it back to the 80s, it would clean up! The Arduino runs the gameplay, and writes to video RAM using its fast SPI interface. The result is a surprisingly capable 8-bit games system. http://excamera.com/sphinx/gameduino/ Signups for the first batch are over at Kickstarter: https://www.kickstarter.com/projects/2084212109/gameduino-an-arduino-game-adapter -- Make blog -- http://jmsarduino.blogspot.com/ -- http://www.i-programmer.info/ -- Boing Boing Few things are more pressing today than the need to educate children in the ways of old-school 2D video game mayhem. Fortunately the solution is now at hand: the Gameduino is an Arduino attachment that supplies the necessary video game goodness. Any child presented with this http://excamera.com/sphinx/gameduino/samples/scroll/index.html would be unable to resist adding an italian plumber. Problem solved. Hello, I've been hanging on pixeljoint for a few weeks - love the place. Last week, I launched the Gameduino: [URL=https://www.kickstarter.com/projects/2084212109/gameduino-an-arduino-game-adapter]https://www.kickstarter.com/projects/2084212109/gameduino-an-arduino-game-adapter[/URL] (Logo was done by your very own iLKke, BTW) It would be really awesome to run a competition. For the prize I can supply the $263 package from the Kickstarter above. Suggested topic "a 400x304 static screen using background graphics - subject matter open" The Gameduino has some technical limitations (256 characters, 4 colors per character) that I explain in more detail here: [URL=http://excamera.com/sphinx/gameduino/artists.html]http://excamera.com/sphinx/gameduino/artists.html[/URL] And there is an online tool for checking graphics here: [URL=http://gameduino.com/live]http://gameduino.com/live[/URL] It would be really exciting to see what the talent at pixeljoint can do with the Gameduino - please let me know if you have any questions. Thanks! James jamesb@excamera.com 23ma on 3.3v line Final features: transparent backgrounds random number audio sample filter system input X output Y low pass Y = a * X + (1-a) * Yp high pass Y = a * Yp + a * (X - Xp) Y = a * Yp + a * X - a * Xp So sum of products: X, Xp, Yp have 14 multiplers left