ECE497 Project GameSystem
Embedded Linux Class by Mark A. Yoder
GitHub link: https://github.com/kowalsif/GameSystem
I'm using the following template to grade. Each slot is 10 points. 0 = Missing, 5=OK, 10=Wow!
00 Executive Summary 00 Installation Instructions 00 User Instructions 00 Highlights 00 Theory of Operation 00 Work Breakdown 00 Future Work 00 Conclusions 00 Demo 00 Late Comments: I'm looking forward to seeing this. Score: 10/100
This project will be to make the beagleboard in to a functional mobile gaming system. The idea is to use emulators, buttons, and a lcd screen to allow the user to play games from multiple systems.
As the project stands there are several things that we have decided for the project. The first is that we are going to use a LCD7 Cap as our display. Additionally we have decided to attempt to control the games with an xbox controller. We have the controller available but have yet to attempt to use it with the board. Lastly we have narrowed down our systems that we may emulate down to playstation1, game cub, snes, and gameboy advanced. The current goals are to get the cape and the xbox controller to work before moving on to emulating a system.
As of Oct 26 we have gotten the LCD cape to work perfectly fine with the bone. However there is one important thing to note. Because the cape is an A2, the beaglebone must have a SD card that it can boot off of. This is not a huge issue but it is important to note.
It must be noted that there is no current Anagstrom support for the xbox controller, and as such the current state of the project must be examined. There are 2 paths that are currently open to us the first is to attempt to write a driver for the xbox360 controller to allow us to read from the controller. This path would probably take the remainder of the time allocated for the project, as neither of us know how to do that, and it will probably be quite complicated. The other path is the abandon controlling the emulator with the controller, and focus on getting the emulator up and running. We currently discussing these potential items, and will decide shortly.
The wrapper is currently the most function item on the project. It watches the gpio ports and creates key events when a gpio port receives a signal. The SNES emulator works but requires a joystick to function and will not take input from other sources. The Sega Master system emulator runs but like stated above it does not handle key event correctly rendering the games unplayable.
So after trying 3 different emulators we finally found an emulator that works, but it still has some issue that needs to be overcome. We are currently using a SEGA master system emulator, which as successfully been run. We are currently able to run Phantasy Star, and Ultima IV. However the problem lies in the fact that the emulator does not seem to be processing input events correctly. As of current the emulator can take input from the mouse.
Unfortunately was have not managed to get any emulators working properly on the Angstrom distributions. As a result we are attempting to set up a Debian flash which according to our research should have better results then the Angstrom distro. The current goal is just to try and get some game/emulator running on the BeagleBone. End with a two sentence conclusion.
The sentence count is approximate and only to give an idea of the expected length.
If you have hardware, consider Small Build, Big Execuition for ideas on the final packaging.
Give step by step instructions on how to install your project.
- Include your github path as a link like this to the read-only git site: https://github.com/MarkAYoder/gitLearn.
- Be sure your README.md is includes an up-to-date and clear description of your project so that someone who comes across you git repository can quickly learn what you did and how they can reproduce it.
- Include a Makefile for you code.
- Include any additional packages installed via opkg.
- Include kernel mods.
- If there is extra hardware needed, include links to where it can be obtained.
Once everything is installed, how do you use the program? Give details here, so if you have a long user manual, link to it here.
Here is where you brag about what your project can do.
Include a YouTube demo.
Theory of Operation
Give a high level overview of the structure of your software. Are you using GStreamer? Show a diagram of the pipeline. Are you running multiple tasks? Show what they do and how they interact.
Emulator Research - 5 hours - David
Wrapper Research - 5 hours - Ian
VisualBoy Setup - 8 hours - David/Ian
SNES Setup - 2 hours - David
Sega Master System Setup - 8 hours David/Ian
Doom Emulator Setup - 6 hours David/Ian
Wrapper - 2 hours Ian
Also list here what doesn't work yet and when you think it will be finished and who is finishing it.
Suggest addition things that could be done with this project.
Give some concluding thoughts about the project. Suggest some future additions that could make it even more interesting.
Embedded Linux Class by Mark A. Yoder