More complicated test program that generates text, coloured sprites and sound.
Dependencies: Gameduino mbed CommonTypes
Revision 0:13f69384ff8a, committed 2012-05-05
- Comitter:
- RichardE
- Date:
- Sat May 05 11:46:26 2012 +0000
- Child:
- 1:c8ec5f958f3c
- Commit message:
- Got mbed communicating with Gameduino and basic initialisation and character functions appear to be working.
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Gameduino.cpp Sat May 05 11:46:26 2012 +0000 @@ -0,0 +1,228 @@ +/* + * SOURCE FILE : Gameduino.cpp + * + * Definition of class Gameduino. + * Each instance of this class allows communication with + * a Gameduino shield over an SPI communications link. + * + */ + +#include "Gameduino.h" // this module's prototypes +#include "font8x8.h" // default font + +/***************/ +/* CONSTRUCTOR */ +/***************/ +// Pass pointer to SPI datalink in spi. +// Pass pointer to chip select in cs. +Gameduino::Gameduino( SPI *spi, DigitalOut *cs ) : + spi( spi ), + cs( cs ) +{ +} + +/**************/ +/* DESTRUCTOR */ +/**************/ +Gameduino::~Gameduino() { +} + +/*****************************************************/ +/* INITIALISE CONNECTION TO ADAPTER AND RESET THINGS */ +/*****************************************************/ +void Gameduino::begin() { + // Wait a bit to allow Gameduino to boot. + wait_ms( 250 ); + // Deselect the Gameduino. + *cs = 1; + wr( J1_RESET, 1 ); // HALT coprocessor + wr( VIDEO_MODE, MODE_800x600_72 ); + __wstart( RAM_SPR ); // Hide all sprites + for( int i = 0; i < 512; i++ ) { + xhide(); + } + __end(); + fill( RAM_PIC, 0, 1024 * 10 ); // Zero all character RAM + fill( RAM_SPRPAL, 0, 2048 ); // Sprite palletes black + fill( RAM_SPRIMG, 0, 64 * 256 );// Clear all sprite data + fill( VOICES, 0, 256 ); // Silence + fill( PALETTE16A, 0, 128 ); // Black 16-, 4-palletes and COMM + wr16( SCROLL_X, 0 ); + wr16( SCROLL_Y, 0 ); + wr( JK_MODE, 0 ); + wr( SPR_DISABLE, 0 ); + wr( SPR_PAGE, 0 ); + wr( IOMODE, 0 ); + wr16( BG_COLOR, 0 ); + wr16( SAMPLE_L, 0 ); + wr16( SAMPLE_R, 0 ); + wr16( SCREENSHOT_Y, 0 ); + wr( MODULATOR, 64 ); +} + +static const UInt8 stretch[16] = { + 0x00, 0x03, 0x0c, 0x0f, + 0x30, 0x33, 0x3c, 0x3f, + 0xc0, 0xc3, 0xcc, 0xcf, + 0xf0, 0xf3, 0xfc, 0xff +}; + +/***********************************************/ +/* SET DEFAULT ASCII CHARACTER SET AND PALETTE */ +/***********************************************/ +void Gameduino::ascii( void ) { + UInt8 b, h, l; + UInt16 address; + const UInt8 *ptr = font8x8; + for( UInt16 i = 0; i < 768; ++i ) { + b = *ptr++; + h = stretch[ b >> 4 ]; + l = stretch[ b & 0xf ]; + address = RAM_CHR + ( ' ' << 4 ) + ( i << 1 ); + wr( address++, h ); + wr( address, l ); + } + for( UInt16 i = 0x20; i < 0x80; ++ i) { + setpal( 4 * i + 0, TRANSPARENT ); + setpal( 4 * i + 3, RGB (255, 255, 255 ) ); + } + fill( RAM_PIC, ' ', 4096 ); +} + +/****************************/ +/* START AN SPI TRANSACTION */ +/****************************/ +// Pass address to read or write to in address. +// Bit 15 must be set for a write. +void Gameduino::__start( UInt16 address ) { + *cs = 0; // select Gameduino + spi->write( ( address >> 8 ) & 0xFF ); // send bits 8 to 15 of address + spi->write( address & 0xFF ); // send bits 0 to 7 of address +} + +/**********************************/ +/* START AN SPI WRITE TRANSACTION */ +/**********************************/ +// Pass address write to in address. +void Gameduino::__wstart( UInt16 address ) { + __start( 0x8000 | address ); +} + +/*************************/ +/* TRANSFER BYTE VIA SPI */ +/*************************/ +// Use only after a call to __start or __wstart. +// Pass data to send in data. +UInt8 Gameduino::__tr8( UInt8 data ) { + return (UInt8)spi->write( data ); +} + +/********************************/ +/* TRANSFER 16 BIT WORD VIA SPI */ +/********************************/ +// Use only after a call to __start or __wstart. +// Pass data to send in data. +UInt8 Gameduino::__tr16( UInt16 data ) { + UInt16 result; + result = spi->write( data & 0xFF ); // send and get bits 0 to 7 + result |= ( spi->write( ( data >> 8 ) & 0xFF ) << 8 ); // send and get bits 8 to 15 + return result; // return word read +} + +/**************************/ +/* END AN SPI TRANSACTION */ +/**************************/ +void Gameduino::__end( void ) { + *cs = 1; // deselect Gameduino +} + +/***************/ +/* READ A BYTE */ +/***************/ +// Pass address in Gameduino memory to read from. +// Returns byte at that address. +UInt8 Gameduino::rd( UInt16 address ) { + __start( address ); // start SPI read operation + UInt8 data = __tr8( 0 ); // read byte from Gameduino + __end(); // end of SPI operation + return data; // return byte read +} + +/**********************/ +/* READ A 16 BIT WORD */ +/**********************/ +// Pass address in Gameduino memory to read from. +// Returns byte at that address. +UInt16 Gameduino::rd16( UInt16 address ) { + __start( address ); // start SPI read operation + UInt16 data = __tr16( 0 ); + __end(); // end of SPI operation + return data; // return word read +} + +/****************/ +/* WRITE A BYTE */ +/****************/ +// Pass address to write to in address. +// Pass data to write in data. +void Gameduino::wr( UInt16 address, UInt8 data ) { + __wstart( address ); // start SPI write operation + __tr8( data ); + __end(); // end of SPI operation +} + +/***********************/ +/* WRITE A 16 BIT WORD */ +/***********************/ +// Pass address to write to in address. +// Pass data to write in data. +void Gameduino::wr16( UInt16 address, UInt16 data ) { + __wstart( address ); + __tr16( data ); + __end(); +} + +/*********************************/ +/* FILL AREA OF GAMEDUINO MEMORY */ +/*********************************/ +// Pass address to write to in address. +// Pass data to write to entire area in data. +// Pass number of bytes to write in count. +void Gameduino::fill( UInt16 address, UInt8 data, UInt16 count ) { + __wstart( address ); + while( count-- ) { + __tr8( data ); + } + __end(); +} + +/*****************/ +/* HIDE A SPRITE */ +/*****************/ +// Use only after specifying address to write to. +// Basically just writes 400 twice to SPI. +void Gameduino::xhide( void ) { + __tr16( 400 ); + __tr16( 400 ); + spr++; +} + +/***********************/ +/* CONSTRUCT RGB VALUE */ +/***********************/ +// Pass red level in r. +// Pass green level in g. +// Pass blue level in b. +// Returns RGB value. +UInt16 Gameduino::RGB( UInt8 r, UInt8 g, UInt8 b ) { + return ((((r) >> 3) << 10) | (((g) >> 3) << 5) | ((b) >> 3)); +} + +/*********************/ +/* SET PALETTE ENTRY */ +/*********************/ +// Pass pallete entry to set in pal. +// Pass RGB value to store in rgb. +void Gameduino::setpal( UInt16 pal, UInt16 rgb ) { + wr16( RAM_PAL + ( pal << 1 ), rgb ); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Gameduino.h Sat May 05 11:46:26 2012 +0000 @@ -0,0 +1,196 @@ +/* + * SOURCE FILE : Gameduino.h + * + * Definition of class Gameduino. + * Each instance of this class allows communication with + * a Gameduino shield over an SPI communications link. + * + */ + +#ifndef GameduinoDefined + + #define GameduinoDefined + + #include "mbed.h" // mbed library + #include "Types.h" // integer types + + class Gameduino { + + public : + + // Registers on Gameduino. + enum Reg { + RAM_PIC = 0x0000, // Screen Picture, 64 x 64 = 4096 bytes + RAM_CHR = 0x1000, // Screen Characters, 256 x 16 = 4096 bytes + RAM_PAL = 0x2000, // Screen Character Palette, 256 x 8 = 2048 bytes + IDENT = 0x2800, + REV = 0x2801, + FRAME = 0x2802, + VBLANK = 0x2803, + SCROLL_X = 0x2804, + SCROLL_Y = 0x2806, + JK_MODE = 0x2808, + J1_RESET = 0x2809, + SPR_DISABLE = 0x280a, + SPR_PAGE = 0x280b, + IOMODE = 0x280c, + BG_COLOR = 0x280e, + SAMPLE_L = 0x2810, + SAMPLE_R = 0x2812, + MODULATOR = 0x2814, + VIDEO_MODE = 0x2815, + SCREENSHOT_Y = 0x281e, + PALETTE16A = 0x2840, // 16-color palette RAM A, 32 bytes + PALETTE16B = 0x2860, // 16-color palette RAM B, 32 bytes + PALETTE4A = 0x2880, // 4-color palette RAM A, 8 bytes + PALETTE4B = 0x2888, // 4-color palette RAM A, 8 bytes + COMM = 0x2890, // Communication buffer + COLLISION = 0x2900, // Collision detection RAM, 256 bytes + VOICES = 0x2a00, // Voice controls + J1_CODE = 0x2b00, // J1 coprocessor microcode RAM + SCREENSHOT = 0x2c00, // screenshot line RAM + RAM_SPR = 0x3000, // Sprite Control, 512 x 4 = 2048 bytes + RAM_SPRPAL = 0x3800, // Sprite Palettes, 4 x 256 = 2048 bytes + RAM_SPRIMG = 0x4000, // Sprite Image, 64 x 256 = 16384 bytes + }; + + // Modes of operation. + enum Mode { + MODE_800x600_72 = 0, + MODE_800x600_60 = 1, + }; + + // Other constants. + enum { + TRANSPARENT = ( 1 << 15 ), + }; + + // Current sprite. Used by xsprite and xhide etc. + UInt8 spr; + + /***************/ + /* CONSTRUCTOR */ + /***************/ + // Pass pointer to SPI datalink in spi. + // Pass pointer to chip select in cs. + Gameduino( SPI *spi, DigitalOut *cs ); + + /**************/ + /* DESTRUCTOR */ + /**************/ + virtual ~Gameduino(); + + /*****************************************************/ + /* INITIALISE CONNECTION TO ADAPTER AND RESET THINGS */ + /*****************************************************/ + void begin(); + + /***********************************************/ + /* SET DEFAULT ASCII CHARACTER SET AND PALETTE */ + /***********************************************/ + void ascii( void ); + + /****************************/ + /* START AN SPI TRANSACTION */ + /****************************/ + // Pass address to read or write to in address. + // Bit 15 must be set for a write. + void __start( UInt16 address ); + + /**********************************/ + /* START AN SPI WRITE TRANSACTION */ + /**********************************/ + // Pass address write to in address. + void __wstart( UInt16 address ); + + /*************************/ + /* TRANSFER BYTE VIA SPI */ + /*************************/ + // Use only after a call to __start or __wstart. + // Pass data to send in data. + UInt8 __tr8( UInt8 data ); + + /********************************/ + /* TRANSFER 16 BIT WORD VIA SPI */ + /********************************/ + // Use only after a call to __start or __wstart. + // Pass data to send in data. + UInt8 __tr16( UInt16 data ); + + /**************************/ + /* END AN SPI TRANSACTION */ + /**************************/ + void __end( void ); + + /***************/ + /* READ A BYTE */ + /***************/ + // Pass address in Gameduino memory to read from. + // Returns byte at that address. + UInt8 rd( UInt16 address ); + + /**********************/ + /* READ A 16 BIT WORD */ + /**********************/ + // Pass address in Gameduino memory to read from. + // Returns byte at that address. + UInt16 rd16( UInt16 address ); + + /****************/ + /* WRITE A BYTE */ + /****************/ + // Pass address to write to in address. + // Pass data to write in data. + void wr( UInt16 address, UInt8 data ); + + /***********************/ + /* WRITE A 16 BIT WORD */ + /***********************/ + // Pass address to write to in address. + // Pass data to write in data. + void wr16( UInt16 address, UInt16 data ); + + /*********************************/ + /* FILL AREA OF GAMEDUINO MEMORY */ + /*********************************/ + // Pass address to write to in address. + // Pass data to write to entire area in data. + // Pass number of bytes to write in count. + void fill( UInt16 address, UInt8 data, UInt16 count ); + + /*****************/ + /* HIDE A SPRITE */ + /*****************/ + // Use only after specifying address to write to. + // Basically just writes 400 twice to SPI. + void xhide( void ); + + /***********************/ + /* CONSTRUCT RGB VALUE */ + /***********************/ + // Pass red level in r. + // Pass green level in g. + // Pass blue level in b. + // Returns RGB value. + static UInt16 RGB( UInt8 r, UInt8 g, UInt8 b ); + + /*********************/ + /* SET PALETTE ENTRY */ + /*********************/ + // Pass pallete entry to set in pal. + // Pass RGB value to store in rgb. + void setpal( UInt16 pal, UInt16 rgb ); + + private : + + // Poitner to SPI datalink. + SPI *spi; + + // Pointer to chip select digital output. + DigitalOut *cs; + + }; + +#endif + +/* END of Gameduino.h */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/GameduinoTest.cpp Sat May 05 11:46:26 2012 +0000 @@ -0,0 +1,62 @@ +/* + * SOURCE FILE : GameduinoTest.cpp + * + * Definition of class GameduinoTest. + * Tests a Gameduino object. + * + */ + +#include "GameduinoTest.h" // this module's prototypes +#include "mbed.h" // mbed library +#include "Gameduino.h" // for Gameduino class + +/***************/ +/* CONSTRUCTOR */ +/***************/ +GameduinoTest::GameduinoTest() { +} + +/**************/ +/* DESTRUCTOR */ +/**************/ +GameduinoTest::~GameduinoTest() { +} + +/****************/ +/* RUN THE TEST */ +/****************/ +void GameduinoTest::Run( void ) { + // Make a serial port for communicating with PC. + Serial pc( USBTX, USBRX ); + // Sign on message. + pc.printf( "Up and running!\r\n" ); + // Make a digital output for use with Gameduino. + DigitalOut cs( p8 ); + // Initialise an SPI link for communications with Gameduino. + // Use pin 5 for MOSI. + // Use pin 6 for MISO. + // Use pin 7 for SCK. + SPI spi( p5, p6, p7 ); + // 4MHz clock should be OK since this is default on an Arduino. + spi.frequency( 4000000 ); + // Set SPI format to use. + // Use 8 bits per SPI frame. + // Use SPI mode 0. + spi.format( 8, 0 ); + // Make a Gameduino and pass SPI link and digital output for chip select. + Gameduino gd( &spi, &cs ); + // Reset the Gameduino. + gd.begin(); + // Lets have a default ASCII character set. + gd.ascii(); + // Read from ident register. + UInt8 id = gd.rd( Gameduino::IDENT ); + // Report back to PC. + pc.printf( "Gameduino ID is 0x%02X.\r\n", (int)id ); + // Write something to character memory. + gd.__wstart( Gameduino::RAM_PIC ); + for( UInt8 c = 'A'; c <= 'Z'; ++c ) { + gd.__tr8( c ); + } + gd.__end(); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/GameduinoTest.h Sat May 05 11:46:26 2012 +0000 @@ -0,0 +1,37 @@ +/* + * SOURCE FILE : GameduinoTest.h + * + * Definition of class GameduinoTest. + * Tests a Gameduino object. + * + */ + +#ifndef GameduinoTestDefined + + #define GameduinoTestDefined + + class GameduinoTest { + + public : + + /***************/ + /* CONSTRUCTOR */ + /***************/ + GameduinoTest(); + + /**************/ + /* DESTRUCTOR */ + /**************/ + virtual ~GameduinoTest(); + + /****************/ + /* RUN THE TEST */ + /****************/ + void Run( void ); + + }; + +#endif + +/* END of GameduinoTest.h */ +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Types.h Sat May 05 11:46:26 2012 +0000 @@ -0,0 +1,22 @@ +/* + * SOURCE FILE : Types.h + * + * Various types defined for portability. + * + */ + +#ifndef TypesIncluded + + #define TypesIncluded + + typedef unsigned char UInt8; + typedef signed char Int8; + typedef unsigned short UInt16; + typedef signed short Int16; + typedef unsigned long UInt32; + typedef signed long Int32; + +#endif + +/* END of Types.h */ +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/font8x8.h Sat May 05 11:46:26 2012 +0000 @@ -0,0 +1,53 @@ +static const UInt8 font8x8[] = { + +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x18, 0x00, +0x6c, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x36, 0x7f, 0x36, 0x7f, 0x36, 0x36, 0x00, +0x0c, 0x3f, 0x68, 0x3e, 0x0b, 0x7e, 0x18, 0x00, 0x60, 0x66, 0x0c, 0x18, 0x30, 0x66, 0x06, 0x00, +0x38, 0x6c, 0x6c, 0x38, 0x6d, 0x66, 0x3b, 0x00, 0x0c, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0c, 0x18, 0x30, 0x30, 0x30, 0x18, 0x0c, 0x00, 0x30, 0x18, 0x0c, 0x0c, 0x0c, 0x18, 0x30, 0x00, +0x00, 0x18, 0x7e, 0x3c, 0x7e, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x00, 0x00, +0x3c, 0x66, 0x6e, 0x7e, 0x76, 0x66, 0x3c, 0x00, 0x18, 0x38, 0x18, 0x18, 0x18, 0x18, 0x7e, 0x00, +0x3c, 0x66, 0x06, 0x0c, 0x18, 0x30, 0x7e, 0x00, 0x3c, 0x66, 0x06, 0x1c, 0x06, 0x66, 0x3c, 0x00, +0x0c, 0x1c, 0x3c, 0x6c, 0x7e, 0x0c, 0x0c, 0x00, 0x7e, 0x60, 0x7c, 0x06, 0x06, 0x66, 0x3c, 0x00, +0x1c, 0x30, 0x60, 0x7c, 0x66, 0x66, 0x3c, 0x00, 0x7e, 0x06, 0x0c, 0x18, 0x30, 0x30, 0x30, 0x00, +0x3c, 0x66, 0x66, 0x3c, 0x66, 0x66, 0x3c, 0x00, 0x3c, 0x66, 0x66, 0x3e, 0x06, 0x0c, 0x38, 0x00, +0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x30, +0x0c, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0c, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x7e, 0x00, 0x00, 0x00, +0x30, 0x18, 0x0c, 0x06, 0x0c, 0x18, 0x30, 0x00, 0x3c, 0x66, 0x0c, 0x18, 0x18, 0x00, 0x18, 0x00, + +0x3c, 0x66, 0x6e, 0x6a, 0x6e, 0x60, 0x3c, 0x00, 0x3c, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00, +0x7c, 0x66, 0x66, 0x7c, 0x66, 0x66, 0x7c, 0x00, 0x3c, 0x66, 0x60, 0x60, 0x60, 0x66, 0x3c, 0x00, +0x78, 0x6c, 0x66, 0x66, 0x66, 0x6c, 0x78, 0x00, 0x7e, 0x60, 0x60, 0x7c, 0x60, 0x60, 0x7e, 0x00, +0x7e, 0x60, 0x60, 0x7c, 0x60, 0x60, 0x60, 0x00, 0x3c, 0x66, 0x60, 0x6e, 0x66, 0x66, 0x3c, 0x00, +0x66, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7e, 0x00, +0x3e, 0x0c, 0x0c, 0x0c, 0x0c, 0x6c, 0x38, 0x00, 0x66, 0x6c, 0x78, 0x70, 0x78, 0x6c, 0x66, 0x00, +0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7e, 0x00, 0x63, 0x77, 0x7f, 0x6b, 0x6b, 0x63, 0x63, 0x00, +0x66, 0x66, 0x76, 0x7e, 0x6e, 0x66, 0x66, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, +0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60, 0x60, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x6a, 0x6c, 0x36, 0x00, +0x7c, 0x66, 0x66, 0x7c, 0x6c, 0x66, 0x66, 0x00, 0x3c, 0x66, 0x60, 0x3c, 0x06, 0x66, 0x3c, 0x00, +0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, +0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x00, 0x63, 0x63, 0x6b, 0x6b, 0x7f, 0x77, 0x63, 0x00, +0x66, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0x66, 0x00, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x18, 0x18, 0x00, +0x7e, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x7e, 0x00, 0x7c, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7c, 0x00, +0x00, 0x60, 0x30, 0x18, 0x0c, 0x06, 0x00, 0x00, 0x3e, 0x06, 0x06, 0x06, 0x06, 0x06, 0x3e, 0x00, +0x18, 0x3c, 0x66, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + +0x1c, 0x36, 0x30, 0x7c, 0x30, 0x30, 0x7e, 0x00, 0x00, 0x00, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00, +0x60, 0x60, 0x7c, 0x66, 0x66, 0x66, 0x7c, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x60, 0x66, 0x3c, 0x00, +0x06, 0x06, 0x3e, 0x66, 0x66, 0x66, 0x3e, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00, +0x1c, 0x30, 0x30, 0x7c, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x06, 0x3c, +0x60, 0x60, 0x7c, 0x66, 0x66, 0x66, 0x66, 0x00, 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x3c, 0x00, +0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x70, 0x60, 0x60, 0x66, 0x6c, 0x78, 0x6c, 0x66, 0x00, +0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x36, 0x7f, 0x6b, 0x6b, 0x63, 0x00, +0x00, 0x00, 0x7c, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x00, +0x00, 0x00, 0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60, 0x00, 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x06, 0x07, +0x00, 0x00, 0x6c, 0x76, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00, 0x3e, 0x60, 0x3c, 0x06, 0x7c, 0x00, +0x30, 0x30, 0x7c, 0x30, 0x30, 0x30, 0x1c, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x00, +0x00, 0x00, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x63, 0x6b, 0x6b, 0x7f, 0x36, 0x00, +0x00, 0x00, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x06, 0x3c, +0x00, 0x00, 0x7e, 0x0c, 0x18, 0x30, 0x7e, 0x00, 0x0c, 0x18, 0x18, 0x70, 0x18, 0x18, 0x0c, 0x00, +0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x00, 0x30, 0x18, 0x18, 0x0e, 0x18, 0x18, 0x30, 0x00, +0x31, 0x6b, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sat May 05 11:46:26 2012 +0000 @@ -0,0 +1,18 @@ +/* + * SOURCE FILE : main.cpp + * + * Test program for a Gameduino. + * + */ + +#include "mbed.h" +#include "GameduinoTest.h" + +/****************/ +/* MAIN PROGRAM */ +/****************/ +int main() { + GameduinoTest test; + test.Run(); + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.lib Sat May 05 11:46:26 2012 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/projects/libraries/svn/mbed/trunk@43 \ No newline at end of file