A video game system is a collection of components that work in harmony to create an environment in which a consumer can enjoy a game presented digitally. Most video game systems consist of a few main components. These are, graphical and audio output , user input devices and a microprocessor. Combine these hardware components in the right way, and the resulting system can host a variety of video games.
The hallmark of video games is the graphical output, colloquy known as graphics . Simple character sprites like Pac-Man, Donkey Kong and Mario helped define 1980's pop culture and are instantly recognizable worldwide. Graphical output is a requirement to have a robust video-game system. Some devices provide an output to a television or computer monitor, others provide the graphical screen as part of the device. The student wanted a small, back lit, color LCD screen as a medium for graphical output. The Nokia 6100 screen fit all of these requirements. Read more about the LCD under the heading the Nokia 6100 LCD (knockoff).
Audio output is also another item that is present in video games. Audio output has not yet been designed for Pac-Man on the Go.
Video-game user input can encompass a variety of devices. User input can run the gamut from generalized keyboards and mice and gamepads to highly specialized controllers such as light guns and simulator themed joysticks. The student chose a classic gamepad as an input device and a more modern accelerometer to provide motion control. More information about the USB gamepad can be found here. Accelerometer information can be found here.
Perhaps the most important component of a video-game platform is the microprocessor. The microprocessor must combine the right combination of speed, generalization, specialization and interface ability to control and manage all the other hardware components of the system. The student chose the LPC2418 ARM 7 as the heart of the system. As a way to save time, the student purchased this chip on a breakout board that provided hardware interfaces for some of the LPC2418's features such as USB and MicroSD card support. The breakout also provided a way to charge a Polymer Lithium Ion Battery from the USB port. The Logomatic v2 Serial Datalogger provides not only the CPU but also a convenient way to interface with all other hardware components of the system.
The student focused so much on the above hardware that he neglected a battery and JTAG interface until after the project was begun. These oversights slowed progress in the early weeks of the project to a standstill. The student learned that hardware that supports the main hardware must be considered, if only briefly, before starting work. The student neglected acquire the MicroSD card, JTAG interface, a Polymer Lithium Ion Batter, and USB cables and adapters.
The LCP2418 has 512 KB of onboard memory. The chip supports up to 2GB of storage via the mirco SD interface. The microSD is discussed more here and here.
While attempting to modify the bootloader, the student learned that a JTAG interface would be necessary. The JTAG interface also allows for in depth debugging and chip control. The JTAG is discussed in the bootloader and debugging sections of this report.
The Polymer Lithium Ion battery can be charged from the Microcontroller breakout board via a powered USB connection. A battery is a good thing to have in a portable video-game system. Further discussion on the battery can be found in the battery section.
USB cables and Adapters are somewhat below the scope of this project. The author may add a section that covers these later.
The LPC2418 is the heart of the system. Each of the hardware sections above mainly deal with how each individual hardware component is interfaced with the microcontroller.