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

21 comments:

  1. Saw this on DP! Is this going to be up for sale? The guys on the forums @ 43oh.com will probably be interested.

    ReplyDelete
    Replies
    1. At the moment there is no immediate plans to sell these, although if there is enough interest I'd definitely be willing to consider it. The only thing holding me back at the moment is the price per unit is fairly high with low quantities.

      Delete
    2. You might hit the guys up at the 43oh.com forums. They have a lot of booster packs that they've made and sold. I'm sure there are a lot of people that might be interested, and maybe even someone who would pick up the project.

      Delete
    3. Yes you should definitely post this on 43oh.com I'm sure lots of people would be interested in buying one.

      Delete
    4. I'd definitely be interested in buying one. What's the price per unit for the low quantities, if you don't mind me asking?

      Delete
  2. This is awesome stuff! Just Wow :-D .. saw on DP.

    ReplyDelete
  3. I would be interested in buying one. Why don't you try Kickstarter in getting funding? I would be willing to advertise for you.

    Chuckt
    from bradsprojects.com/forum

    ReplyDelete
    Replies
    1. Kickstarter would be a great place to start.

      Delete
  4. SeeedStudio and Dangerouse Prototypes would help you manufacture, espeacially if it is opensource.

    ReplyDelete
  5. Wow that's pretty sweet! Love the video.

    ReplyDelete
  6. if the price is similiar to the gameduino I'm in.

    ReplyDelete
  7. Hep, I want one too! Which price each, approximatively, the highest?

    ReplyDelete
  8. C'mon, tell me how much you want to sell this kit soldered and ship it to my home in Portugal?

    *throws money to the screen*

    ReplyDelete
  9. Do you have it in your offer? What could be total cost (I mean including shipping to Poland) of the set (of course, containing everything, incl. controllers)?

    ReplyDelete
    Replies
    1. OK, got NES game controllers - therefore when/if you'll be ready to ship the kit (or assembled device), just drop me a line (and let me know, how much is it).

      Delete
  10. I stumbles the post, that are beneficial, and your post is one of them.
    Water Filters

    ReplyDelete
  11. Content is the greatest source for expressing your feelings, throughts and precious time. Your post is fabulous and very meaningful.

    ReplyDelete
  12. Wow. This is an awesome post. I just got started using the MSP430 launchpad (it was $10 no $4.30, although its still a steal) and I found a great tutorial on the deep aspects of configuring it using this MSP430 Tutorial. once i finish with the tutorial i'm going to try and compile your code to start playing. Are you planning on selling pcb? keep up the good work.

    ReplyDelete
    Replies
    1. Hi Jay, unfortunately I don't have any plans to sell the pcb's at the moment.

      Delete