Library for communicating with a Gameduino shield. Provides colour VGA display, hardware sprites with collision detection and stero sound. See http://excamera.com/sphinx/gameduino/ for more details.
Dependents: GameduinoTest SimpleGameduinoTest RobotRic
Note that to use this library you must also import the CommonTypes library because this library uses it.
To get an mbed talking to a Gameduino shield all you really have to do is connect the Gameduino to the SPI bus. I did it using an LPC11U24 mbed and wired it to the Gameduino as follows:
- mbed pin...................Gameduino pin
- 5 (MOSI)...................11 (MOSI)
- 6 (MISO)...................12 (MISO)
- 7 (SCK)....................13 (SCK)
- 8..........................9 (SEL)
- 40 (VOUT)..................5V and 3.3V
- 1 (GND)....................GND
mbed pins 5, 6 and 7 make up the SPI datalink. mbed pin 8 should be configured as a digital output and is driven low to communicate with the Gameduino.
Probably best to run the whole lot off a regulated 5V supply rather than relying on the 5V supply from the USB cable. I have had problems with the mbed's 3.3V VOUT supply. If the USB voltage is very low (nearer 4V than 5V) then the mbed's 3.3V regulator won't work properly and can't provide much current. I struggled to draw 10 mA for an LED. These problems go away if you power everything off an external 5V supply. It also means you can unplug the mbed from your computer of course.
Mounting the Gameduino is a bit awkward. I put it on some stripboard using 3 SIL sockets designed for an Arduino. Then I mounted the mbed alongside using two 20 pin SIL sockets. Unfortunately Arduino shields like the Gameduino don't fit nicely on a 0.1 inch grid (like the mbed does) so some connections have to be made using flying wires.
Here are some screenshots:
The code for generating this last display is found here:
Import programGameduinoTest
More complicated test program that generates text, coloured sprites and sound.
Here's the games console:
and the insides. Don't worry about the cables and the 8 pin chips. You don't need them if all you want is a display. They are an RS485 chip and a serial EEPROM.
Diff: Gameduino.h
- Revision:
- 1:8ff91fe70bfc
- Parent:
- 0:d199d2362859
- Child:
- 3:a1c856358996
diff -r d199d2362859 -r 8ff91fe70bfc Gameduino.h --- a/Gameduino.h Wed Nov 07 21:48:11 2012 +0000 +++ b/Gameduino.h Fri Nov 09 21:11:37 2012 +0000 @@ -157,6 +157,13 @@ // Can't think of anything to do. } + /** Clear the screen (character memory). + * @param code Character to use to clear screen. + */ + void ClearScreen( UInt8 code ) { + fill( RAM_PIC, code, 64 * 64 ); + } + /** Set default ASCII character set and palette. */ void ascii( void );