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.

Slides:



Advertisements
Similar presentations
Computer Architecture
Advertisements

Gabriel Honoré 1. What is it? A collection of software emulators –A software emulator is a computer program that imitates an electronic device or another.
Chapter 10 Input/Output Organization. Connections between a CPU and an I/O device Types of bus (Figure 10.1) –Address bus –Data bus –Control bus.
Design for High-Level Model Based on an Eight Bit Entertainment System Alejandro Lizaola, Ricardo Castro, Gilberto Beltran. Manuel Salim and Alejandro.
Design Methodology for High-Level Model Based on an Eight Bit Entertainment System Alejandro Lizaola, Ricardo D. Castro, Gilberto Beltran. Manuel Salim.
Team Monte Cristo Joseph Carrafa Sharon Clark Scott Hassett Alex Mason The Deep Fried Game Station.
Customizable Audio Kaleidoscope Agustya Mehta, Dennis Ramdass, Tony Hwang Final Project Spring 2007.
S. Barua – CPSC 240 CHAPTER 8 I/O How are I/O devices identified? Memory-mapped vs. special instructions.
Timers and Interrupts Shivendu Bhushan Summer Camp ‘13.
FPGA-Based Arcade Emulation Danny Funk, Cory Mohling, Tony Milosch, David Gartner, John Alexander Advisor: Philip Jones Client: Joseph Zambreno.
FPGA-Based Arcade Emulation Danny Funk, Cory Mohling, Tony Milosch, David Gartner, John Alexander Advisor: Philip Jones Client: Joseph Zambreno.
Ping-O-TronicColor TV GameTelstar (game console) The players controlled their paddles with dials attached directly to the machine. Additionally, as an.
MSS & AMS Name and configure MIDI controllers, devices and sound modules. Control their routing to Pro Tools MSS - Configurations can be imported or exported.
 Chasis / System cabinet  A plastic enclosure that contains most of the components of a computer (usually excluding the display, keyboard and mouse)
Chapter 1 Introduction. Computer Architecture selecting and interconnecting hardware components to create computers that meet functional, performance.
Computer Architecture and Organization
Micro-operations Are the functional, or atomic, operations of a processor. A single micro-operation generally involves a transfer between registers, transfer.
What is Director?  A tool for creating interactive CDs or interactive media and games on the Web.  Combines graphics, sound, video and other media together.
Bomberman Fredrik Ahlberg – Magnus Hultin – Adam Johansson –
Dr. Rabie A. Ramadan Al-Azhar University Lecture 6
WaveSurfer 3000 Oscilloscopes Public Release – July 1 st, 2014.
Computer Architecture and Organization Introduction.
MULTIMEDIA DEFINITION OF MULTIMEDIA
Introduction to NES graphics Don Miller / NO CARRIER PlayPower.org Platform Education Director.
Chapter 1 Introduction. Architecture & Organization 1 Architecture is those attributes visible to the programmer —Instruction set, number of bits used.
Object Orientated Data Topic 5: Multimedia Technology.
MULTIMEDIA TECHNOLOGY SMM 3001 MEDIA - VIDEO. In this chapter How digital video differs from conventional analog video How digital video differs from.
1 Hardware and Software b Hardware the physical, tangible parts of a computerthe physical, tangible parts of a computer keyboard, monitor, wires, chips,
Direct Memory Access (DMA) Microprocessors I -1. Topics to be discussed  Basic DMA Concept Basic DMA Concept  DMA pins and timing DMA pins and timing.
COMPUTER ARCHITECTURE. Recommended Text 1Computer Organization and Architecture by William Stallings 2Structured Computer Organisation Andrew S. Tanenbaum.
Michael Kelly | Keith Johnson | Eric Wells Faculty Sponsor: Dr. William H. Allen Milestone 5.
Audioprocessor for Automobiles Using the TMS320C50 DSP Ted Subonj Presentation on SPRA302 CSE671 / Dr. S. Ganesan.
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.
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
Computer Architecture 2 nd year (computer and Information Sc.)
Introduction to Interactive Media Interactive Media Tools: Authoring Applications.
Marwan Al-Namari 1 Digital Representations. Bits and Bytes Devices can only be in one of two states 0 or 1, yes or no, on or off, … Bit: a unit of data.
Module 11 Adapted By and Prepared James Tan © 2001.
School of Computer and Communication Engineering, UniMAP Mohd ridzuan mohd nor DKT 122/3 - DIGITAL SYSTEM I Chapter.
COMP135/COMP535 Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 2 Lecture 2 – Digital Representations.
Register Transfer Languages (RTL)
The labjack. WHAT IS A LABJACK? An interface box that allows a computer to interact with the real world by collecting data and passing out instructions.
Interrupt driven I/O Computer Organization and Assembly Language: Module 12.
Parts of a Computer. Two Basic Components of a Computer System Hardware Parts of the Computer System you can physically touch Software Computer Instructions.
Processor Organization and Architecture Module III.
Designing a CPU –Reading a programs instruction from memory –Decoding the instruction –Executing the instruction –Transferring Data to/From memory / IO.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
HCS12 Technical Training Module 15 – Break Module Slide 1 MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other.
Multimedia. A medium (plural media) is something that a presenter can use for presentation of information Two basic ways to present information are: –Unimedium.
Presentation 2: A More Detailed Look Advanced VLSI Design (ECE 1193) Kent Nixon, Tom Nason, Enes Eken, and Christopher Lukas January 17, 2013.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
ColecoVision Opgrade Module
Types of Micro-operation  Transfer data between registers  Transfer data from register to external  Transfer data from external to register  Perform.
Functions of Processor Operation Addressing modes Registers i/o module interface Memory module interface Interrupts.
Basic Computer Organization and Design
Micro-Operations A computer executes a program Fetch/execute cycle
William Stallings Computer Organization and Architecture
Computer System Overview
Instruction cycle Instruction: A command given to the microprocessor to perform an operation Program : A set of instructions given in a sequential.
ECEG-3202 Computer Architecture and Organization
Control Unit Introduction Types Comparison Control Memory
ECEG-3202 Computer Architecture and Organization
Registers.
NES SNES VS. Compare and Contrast.
A Top-Level View Of Computer Function And Interconnection
WJEC GCSE Computer Science
Presentation transcript:

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 type of computer. ” - BCS NES Software NES Emulator Executes on Executed on

8 Bit Video Games Console Released in 1983 Hugely Successful: 60 Million Units Sold Over 1000 Released Titles Finally Discontinued in 1995: Super Nintendo Sony Playstation – 1994 Major Player in Revitalising the Market After the Crash of 1983

NES Four Main Units Central Processing Unit (CPU) Picture Processing Unit (PPU) Audio Processing Unit (APU) Input Development Tools Debugger Name Table Viewer Pattern Table Viewer Implemented using Java 1.5

Long Time interest in Computer Emulation The NES in particular, for reasons of nostalgia Interest in the logic behind the Hardware Respect for the developers forced to work with such a constrained environment Great Extension Possibilities

151 Official Op-codes 13 Addressing Modes 7 Registers 7 Regions of Memory

Memory Mapping Uses Memory Mapping to Interact With External Hardware. Reading/Writing to Certain Locations in Memory Actually reads/writes to external memory and registers. Memory Mirroring Certain Locations in Memory "mirror" the Contents of Other Locations. Writing to a Mirrored Location Will Change the Content in All Mirroring Locations Also.

Reads From The NES Cartridge Reads/writes to the PPU, APU and I/O Registers Writing to $0800-$2000 Behaves identically to writing to $0000-$07FF Writing to $0800-$2000 Behaves identically to writing to $0000-$07FF

Renders the Generated Images to the Television Four Main Issues Colour Palettes Pattern Tables Name Tables Sprites

Colour Palettes 52 Possible Colours (Master Palette) Two Useable Palettes: Image Palette Sprite Palette 25 Colours on Screen at Any One Time Master Palette

Pattern Tables Store 8x8 Tiles 256 Tiles Per Table

Made up of 8 Tiles Made up of 4 Tiles

Name Tables 32 x 30 Table Each Element Stores a Reference to a Tile in one of the Pattern Tables These Tables are Used to Form the Backgrounds Name Table Contains References to Interpreted by the PPU as

Pattern Tables Sprites Name Tables

5 Sound Channels 2 Pulse Channels Triangle Channel Noise Channel Delta Modulation Channel (DMC) Mixer

Waveform Channels Each contain a sequence of values to be output. This sequence is stepped through at a user-defined rate (period) Until the sequence is progressed, the current sequence value is output periodically e.g. given the sequence {0,1} and a period of 5: [0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0…]

Pulse Channel Two Possible Voltages (0 or 1) Four Possible Duty Cycles 16 Level Volume Pitch Bending Capabilities

Triangle Channel 16 Possible Voltages (0-15) Fixed Volume Capable of Longer play duration than the other channels

Noise Channel Outputs a Pseudo-Random sequence of bits Two Modes: 93 Possible Voltages Possible Voltages 16 Level Volume

Delta Modulation Channel (DMC) Allows the Playback of Audio Samples From Memory Achieved Through the Use of Three Units: Memory Reader Sample Buffer Output Unit

Mixer Input: The Output of all 5 Sound Channels Output: An Analogue Audio Signal Pulse 1 Pulse 2 Triangle Noise DMC Mixer Analogue Signal

Standard Controller Movement in Four Directions Two “Action” buttons Two “Control” Buttons Movement “Control” “Action”

Debugger System State CPU Registers PPU Registers PPU State Breakpoint System Interrupt Points Register Value Points Step/Resume Functionality Disassembler Memory Viewer CPU Memory PPU Memory

Name Table Viewer Name Tables Scroll Lines Attribute Table Information Name Table Data Display Display Options

Pattern Table Viewer Pattern Tables Tile and Palette Information Display Options Palettes

GraphicalAuditory