Showing posts with label launchpad. Show all posts
Showing posts with label launchpad. Show all posts

Saturday, July 28, 2012

MSP430 Launchpad GamingPack

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