PROJECT: Nintendo Emulator PROBLEM: How to write a Nintendo Entertainment System (NES) emulator for Linux that will load NES roms. OVERVIEW: The Nintendo Entertainment System is a gaming console from the 1980¡¦s that had hundreds of games for it. Players could load game cartridges into this system to play different games. Using current hardware, we can emulate the NES hardware and play the old games on Linux computers. The Nintendo Emulator would be a program that is able to load a NES game and take input from the user to simulate the control pads. The display would show exactly what a person would have seen on a television screen when they were playing USERS: Target audience is people in the Sunlab who wish to take a break from work and enjoy an old NES game. FEATURES: -emulation of the 6502 processor (the NES¡¦ core processor) -emulation of the PPU (the NES¡¦ graphics processor) -support for sound -support for loading NES roms -simple GUI for choosing games -support for multiple players on same computer -configurable keyboard input for controllers -support for multiple players over the network -centralized server for storing roms, hosting games -support for save states -better compatibility for NES roms -support more mappers used for various games -support for Light Gun using the mouse -filters to enhanced display quality PRIORITIES: The top priority is to make the emulator fully functional for at least one game. This would require the 6502 and PPU to be properly emulated, roms able to be read, and keyboard input working. The next priority would be to support more games, multiplayer network play and sound. This would require a centralized server and client components to be set up properly. Research would have to be done to support the more advanced features of some games, and sound emulation would have to be programmed. TESTING: Different NES roms could be loaded and compared to an actual NES or another emulator to ensure the results are the same. Students in the Sunlab could also test this to see whether the GUI is easy to use and if the control setup is satisfactory.