FPGA-Based Arcade Emulation Danny Funk, Cory Mohling, Tony Milosch, David Gartner, John Alexander Advisor: Philip Jones Client: Joseph Zambreno.

Slides:



Advertisements
Similar presentations
FPGA-Based Arcade Emulation Danny Funk, Cory Mohling, Tony Milosch, David Gartner, John Alexander Advisor: Philip Jones Client: Joseph Zambreno.
Advertisements

Computer Parts There are many parts that work together to make a computer work.
Sumitha Ajith Saicharan Bandarupalli Mahesh Borgaonkar.
In this presentation you will:
Design Methodology for High-Level Model Based on an Eight Bit Entertainment System Alejandro Lizaola, Ricardo D. Castro, Gilberto Beltran. Manuel Salim.
Chapter 1 Computer, Internet, Web, and Basics
Computer Hardware Software Network Peripheral devices Input Breaking codes Modeling weather systems Mainframe Server System unit CPU Input Devices Data.
Types of Computers & Computer Hardware
Types of Computers & Computer Hardware Computer Technology.
Computer Basics 1 Computer Basic 1 includes two lessons:
Team Monte Cristo Joseph Carrafa Sharon Clark Scott Hassett Alex Mason The Deep Fried Game Station.
Team Monte Cristo Joseph Carrafa Sharon Clark Scott Hassett Alex Mason The Deep Fried Game Station.
COMPUTER DEVICES Input Devices Output Devices Storage Devices
Computer Parts There are many parts that work together to make a computer work.
Computer Basics Flashcards #2
FPGA-Based Arcade Emulation Danny Funk, Cory Mohling, Tony Milosch, David Gartner, John Alexander Advisor: Philip Jones Client: Joseph Zambreno.
8. INPUT, OUTPUT and storage DEVICES i/o units
Inside Inside your Computer Presentation Infotech 11 September Frederick Munro.
A Billiards Point of Sale Application Christopher Ulmer CS 470 Final Presentation.
Ashley Good David Graziano Tim Meyer Ben Petersen Matt Saladin Advisors Joseph Zambreno Phillip Jones.
Section 2.1 Identify hardware Describe processing components Compare and contrast input and output devices Compare and contrast storage devices Section.
TERMS TO KNOW. Programming Language A vocabulary and set of grammatical rules for instructing a computer to perform specific tasks. Each language has.
 Chasis / System cabinet  A plastic enclosure that contains most of the components of a computer (usually excluding the display, keyboard and mouse)
The Internal Components of a Personal Computer (PC)
PROJECT OMNIGLEAN Team Members: Kenny Trytek Derek Woods Abby Birkett Joe Briggie Advisor: Simanta Mitra Client: Kingland Systems.
Computer Organization
P13363 Touch Sensitive Piano Keys Justine Converse (ISE) James Cover (CE) Alexander Eschbach (EE) Jason Hang (ME) Ashley Trode (EE)
Bomberman Fredrik Ahlberg – Magnus Hultin – Adam Johansson –
ABSTRACT The purpose of this project is to continue to perfect the Nintendo Entertainment System (NES) emulation on an FPGA that would showcase Iowa State.
ECE 477 Design Review Team 19  Spring 2013 Paste a photo of team members here, annotated with names of team members. Calvin Mwesigwa John Marston Noah.
INTRODUCTION TO COMPUTING
Learning Targets Identify the external parts of the computer Identify examples of input devices Identify examples of output devices Define basic computer.
Translate the following message:
By: Joshua chambers INTRODUCTIONINTRODUCTION What your computer can do depends upon two things: the hardware your computer has, and the software that.
By Danny Matthews Supervised by Dr Des Watson. “ A very precise form of simulation which enables one type of computer to operate as if it were a different.
A mother board is the main circuit board for the computer system (hence the name mother board ) The mother board holds all of the other components of a.
Types of Computers & Computer Hardware
FotoGazmic Software (From left to right: Chad Zbinden, Josey Baker, Rob Mills, Myra Bergman, Tinate Dejtiranukul)
Serial Link Game Team 1 Levi Balling, Robert Christensen, James Lewis 9 RS232 Team 1CS 3710.
Panzer Division bit Central Processing Unit.
The Guts. CPU CPU Socket The CPU is generally a 2 inch ceramic square with a silicon chip located inside. The chip usually about the size of a thumbnail.
Computers Are Your Future Chapter 1 Slide 1 Introduction to the Computers & Internet Chapter 1 Concepts of Information Technology IT.
PROJECT - ZYNQ Yakir Peretz Idan Homri Semester - winter 2014 Duration - one semester.
By Danny Matthews Supervised by Dr Des Watson. 8 Bit 8 Bit console released in Million 60 Million Units Sold 1000 Released Titles Over 1000 Released.
 The TenCup Entertainment Table is an interactive table that enhances the game-play experience of Beirut for both the player and the spectator.
Bonitron A\C Demand Scheduler Alex Brown Cory Haugh Ajmer Dwivedi.
 There are many parts that work together to make a computer work.
Click once to reveal the definition. Think of the answer. Then click to see if you were correct. HARDWARE Physical parts of the computer.
Business Technology Applications Computer Basics Vocab.
Computer Parts There are many parts that work together to make a computer work.
Rolando Gaytan Clay Schumacher Josh Weisskopf Cory Simon Aaron Steil (Reiman Gardens) – Client Dr. Tien Nguyen - Advisor.
Oman College of Management and Technology Course – MM Topic 7 Production and Distribution of Multimedia Titles CS/MIS Department.
May07-02: Parking Meter Clint Hertz: Team Leader Austyn Trace: Communications Nick Hollander Christian Baldus.
Hardware/Software Basics Test Get out your DIY Test Review.
ECpE Student Database Team 21 Adviser: Tien Nguyen ECpE and Tony Moore.
Computer Components Part #2 – Input and Output. Let’s Review.
Computer Parts There are many parts that work together to make a computer work.
Abstract Hooked on Harmonix has been helping you play piano since The project takes input from a commercial MIDI keyboard and displays an image of.
FPGA-Based Arcade Emulation Danny Funk, Cory Mohling, Tony Milosch, David Gartner, John Alexander Advisor: Philip Jones Client: Joseph Zambreno.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
Part 1 WHAT SHOULD HAVE BEEN COVERED DAY ONE Ms. T. N. Jones1.
Computer Basics and Vocabulary Lecture: 1 Mrs. Najwa Almazroei1.
Chapter 1: Introduction to the Personal Computer
Section 2.1 Section 2.2 Identify hardware
Computer systems is a 10-credit unit
Drill Translate the following message:
Instructor Materials Chapter 1: Introduction to the Personal Computer
Serial Data Hub (Proj Dec13-13).
FPGA-Based Arcade Emulation
Bioinformatics (Nursing)
Presentation transcript:

FPGA-Based Arcade Emulation Danny Funk, Cory Mohling, Tony Milosch, David Gartner, John Alexander Advisor: Philip Jones Client: Joseph Zambreno

Project Objective Goal o Showcase the capabilities of reconfigurable computing platforms Problem o Continue 09/10 Senior Design team’s NES Emulation through FPGA o Create Arcade Machine that can be put on display

Conceptual Sketch Boot Loader Controls (I/O)

Functional Requirements FPGA FR 1.1 – All NES specific emulation must be performed entirely in hardware. FR 1.2 – Emulation must be contained within the FPGA Xilinx570X board.

Functional Requirements Emulator FR 2.1 – Emulator must support the instruction set used by the original NES system. FR 2.2 – Emulator must be able to run a NES ROM file from an outside source.

Functional Requirements I/O - Controls FR – Emulator must accept input from arcade style controls. FR – Emulator must accept input from NES controllers. FR – Emulator must respond to controller input with the same latency as the original NES. FR – Emulator must accept controls for up to two players.

Functional Requirements I/O – Video FR – System must be able to display images to a connected display. FR – System must output video to a screen at the original NES frame rate. FR – Emulator must use a color palette consistent with the original NES color palette. FR – Must be compatible with VGA Output.

Functional Requirements I/O – Audio FR – Emulator must generate background music for NES games. FR – Emulator must generate sound effects with the same latency as the original NES.

Functional Requirements Boot Loader FR 4.1 – Must be able to display a selectable list of games to the connected display. FR 4.2 – Must be able to load the selected ROM file to the emulator without modifying the FPGA.

Functional Requirements Cabinet FR 5.1 – Cabinet must be able to support a 103 lb. monitor. FR 5.2 – Cabinet must accept a standard 120 VAC source to power the system.

Non-Functional Requirements NFR 1.1 – Emulator must be contained within a removable control box. NFR 1.2 – All components of the emulator should be implemented as independent modules. NFR 1.3 – The Cabinet should be sturdy enough to resist collapse under normal usage. NFR 1.4 – The Cabinet should be able to fit through a 3’0” wide doorway. NFR 1.5 – Users should be able to easily understand how to play a game without off-screen instructions.

Considerations Constraints o System has to be designed around NES ROM files and NES instruction set o Only a limited amount of logic on FPGA board o Cabinet should be able to be moved from building to building on campus Technology o Using new monitor technology with old NES o Interfacing with arcade controls

Market Survey Another project currently exists (Veri NES). The source is not available. Various software emulators are available and will help with understanding the NES. Researched how similar arcade cabinets have been built. Took measurements of button layouts from original arcade cabinets.

Risks and Mitigations Unfamiliarity with FPGA coding and NES Architecture o Research with assistance of advisor Audio may require CPU to be rewritten o Start early on Audio Unforeseen extra design required o Start Early on FPGA work Little experience with woodworking o Seek outside advice and make detailed blueprints

Cost Estimate ItemPrice per unitquantitytotal price CABINETCabinet total castor wheels$5.104$20.4$727.4 speakers$182$36 4'x8' plywood$263$78Controls total screws/fasteners$30 $187 paint/primer$30 arcade monitor$5001 coin slots$331 CONTROLS Controls Total joystick$212$42 $187 button$310$30 Trackball$1151 ELECTRONICSElectronics total FPGA$1701 $185 misc cables$15 Materials total $ Labor$201500$30000 Grand Total: $

System Decomposition Breakdown o FPGA CPU PPU Video output Controller Input Boot loader Audio o Cabinet Physical Controls o Joystick o Buttons Monitor

System Design Controls o Develop an arcade style interface for the NES emulator o Create wire riggings for all the joysticks and buttons o Each button is mapped directly to the controller status register

System Design Boot loader o Develop Boot loader using Microblaze Processor provided in Xilinx tools o Present user with easy to use game selection screen o Read NES Rom files from Compact Flash o Parse NES Rom file and load contents into appropriate system memory for the FPGA o Reset back to Boot loader screen when reset is pressed

System Design

Cabinet o Use Solid Works to design detailed cabinet drawings o Purchase custom marquees o Build out of ¾” plywood o Detachable Control Box o Coin Door o Hidden screw and nail holes

System Design Audio o Write audio module that generates audio o Connect audio module to CPU o Map all audio related instructions from the CPU to the module o Connect audio module to AC97 to produce sound output o “A Implementation of the NES Audio Processing Unit” by Cedomir Segulja and Bill Dai

System Design PPU o Map CPU memory to PPU registers to allow for game scrolling o Implement Memory mappers to allow for more games to be played o PPU is implemented using a 14 stage finite state machine to render each pixel o Each pixel is stored in a buffer that is then sent to the VGA output

Test Plan Test as we go o After each step, make sure that the game plays as expected Simulate o Simulate incremental builds with ModelSim to ensure system works as expected Final Test o Ensure all functional requirements are met, and debug as necessary.

Current Status Side Scrolling – 80% Control Input – 95% Boot Loader – 40% Cabinet Design – 100% Cabinet Construction – 0% Audio – 0%

Next Semester Plan Start Construction of the Cabinet Start implementing Audio Complete implementation of boot Loader Continue working on debugging current implementation so more games can run.

Task Responsibility NameTasks(s)Total Hours John AlexanderBoot loader68.5 Danny FunkCabinet Design70 David GartnerController Input / Boot loader63 Tony MiloschScrolling, Debug current implementation104.5 Cory MohlingScrolling, Debug current implementation105.5

Questions