|
TEAM MEMBERS
Max Thrun Brittany Finch Kathleen Foster PROJECT DESCRIPTION Based on the Gameduino, the GamingPack transforms your MSP430 LaunchPad into a full fledged gaming console complete with audio / video output and two Nintendo controller sockets. Just hookup your computer monitor, plug in a controller and you'll be writing games in no time. PROJECT FEATURES - 400x300 Pixel VGA output - 256 16x16 Pixel simultaneous sprite images - Up to 256 colors per sprite - 2 Nintendo (NES) controllers - Nostalgia |
|
Video
http://www.youtube.com/watch?v=hDE0ZfmsVrw
Design
The schematic capture and PCB layout were done in CadSoft EAGLE. The PCBs were fabricated by Silver Circuits
| |
|
The GamePack is designed around a Xilinx Spartan 3A 200K Gate FPGA. It implements the same sprite rendering core as the Gameduino and communicates to the LaunchPad via SPI. The FPGA bitstream configuration is stored on an external EEPROM which was programed using a FTDI FT2232D development board and Flashrom in Linux. The FPGA 1.2V internal core voltage is provided by a TI TLV70212 low drop out regulator.
A resistor DAC provides the various voltage levels for the VGA interface and audio is achieved by passing 2 channels of digital audio through a 4KHz low pass filter. An optional SPI EEPROM can be installed to store large game data such as images and level maps. Two status LEDs indicate power and SPI data transfer to the FPGA.
2 Nintendo (NES) controller sockets are included to provide a classic gaming experience. They are ideal for this project as the interface is simple and they can be easily purchased online or simply found in a box in your closet.
With only a month and a half to complete this project designing for test was important. The GamingPack includes a 10 pin header that can plug directly into a Saleae Logic Analyzer
Schematics, layout, and CadSoft EAGLE file can be found here.
Basic Examples
Several basic examples were developed to demonstrate and show off the various functionality of the GamingPack.
|
sprites_256 - Demonstates the hardwares ability to draw up to 256 sprites simultaneously |
palettes - Shows each of the different color palette modes |
|
|
scroll - Randomly generated scrolling terrain to show off the hardwares ability to smoothly scroll backgroud images |
rotate - Example program showing the different rotation and mirror options |
|
|
controllers - Small program to show how to read the NES controllers |
background - Simple program showing how to display a background image |
|
|
random_numbers - Shows how to use random numbers and draw text |
sprite_walking - Example showing to how create a smooth walking animation |
Source code for these basic examples: https://github.com/bear24rw/gamepack/tree/master/code/examples/basics
Game Examples
The GamingPack wouldn't be a gaming pack without a few games.
Breakout / Brick Breaker
Tetris
Space Invaders
Source code for the game examples: https://github.com/bear24rw/gamepack/tree/master/code/examples/games
Resources
https://github.com/bear24rw/gamepack
http://excamera.com/sphinx/gameduino