By Danny Matthews Supervised by Dr Des Watson. 8 Bit 8 Bit console released in 1983 60 Million 60 Million Units Sold 1000 Released Titles Over 1000 Released.

Slides:



Advertisements
Similar presentations
Computer Architecture
Advertisements

Chapter 11 Implementing an Assembler and a Linker Using C++ and Java.
MICROPROCESSORS TWO TYPES OF MODELS ARE USED :  PROGRAMMER’S MODEL :- THIS MODEL SHOWS FEATURES, SUCH AS INTERNAL REGISTERS, ADDRESS,DATA & CONTROL BUSES.
Design for High-Level Model Based on an Eight Bit Entertainment System Alejandro Lizaola, Ricardo Castro, Gilberto Beltran. Manuel Salim and Alejandro.
Int 2 Multimedia Revision. Digitised Sound Analogue sound recorded from person, or real instruments.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir.
Design Methodology for High-Level Model Based on an Eight Bit Entertainment System Alejandro Lizaola, Ricardo D. Castro, Gilberto Beltran. Manuel Salim.
Eee116j1 1 Digital Information Engineering Science EEE116J1 Prof Paul Maguire w.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 3: Input/output and co-processors dr.ir. A.C. Verschueren.
DAT2343 Comparison of The LMC and General Computer Models © Alan T. Pinck / Algonquin College; 2003.
Engineering Problem Solving With C++ An Object Based Approach Fundamental Concepts Chapter 1 Engineering Problem Solving.
Chapter 2 Machine Language. Machine language The only language a computer can understand directly. Each type of computer has its own unique machine language.
Processor Technology and Architecture
1 Engineering Problem Solving With C++ An Object Based Approach Fundamental Concepts Chapter 1 Engineering Problem Solving.
SECTIONS 13.1 – 13.3 Sanuja Dabade & Eilbroun Benjamin CS 257 – Dr. TY Lin SECONDARY STORAGE MANAGEMENT.
Computer Hardware What goes on inside?. Deeper.
Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are.
Table 1. Software Hierarchy Levels.. Essential Tools An assembler is a program that converts source-code programs into a machine language (object file).
The central processing unit and main memory chapter 4, Exploring the Digital Domain The Development and Basic Organization of Computers.
OllyDbg Debuger.
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.
1 CSC 2405: Computer Systems II Spring 2012 Dr. Tom Way.
1 EKT 225 MICROCONTROLLER I CHAPTER 3 I/O PORT PROGRAMMING.
Computer Organization
Interrupts. What Are Interrupts? Interrupts alter a program’s flow of control  Behavior is similar to a procedure call »Some significant differences.
How Computers Work Dr. John P. Abraham Professor UTPA.
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.
Interrupts and DMA CSCI The Role of the Operating System in Performing I/O Two main jobs of a computer are: –Processing –Performing I/O manage and.
Foundations of Computer Science Computing …it is all about Data Representation, Storage, Processing, and Communication of Data 10/4/20151CS 112 – Foundations.
AS LEVEL ICT2 Processing Different Types of Information.
Cis303a_chapt03-2a.ppt Range Overflow Fixed length of bits to hold numeric data Can hold a maximum positive number (unsigned) X X X X X X X X X X X X X.
Multimedia Elements: Sound, Animation, and Video.
Introduction to NES graphics Don Miller / NO CARRIER PlayPower.org Platform Education Director.
UBI >> Contents Chapter 2 Software Development tools Code Composer Essentials v3: Code Debugging Texas Instruments Incorporated University of Beira Interior.
Digitalized Surround Sound Effects Using ADSP BF 533 Kunal Gupta ECE 3551, 03 Fall, 2006.
Analogue & Digital. Analogue Sound Storage Devices.
Data Representation Conversion 24/04/2017.
Codes by Dr. Amin Danial Asham. References  Programmable Controllers- Theory and Implementation, 2nd Edition, L.A. Bryan and E.A. Bryan.
Chapter 12 The Principles of Computer Music Contents Digital Audio Processing Noise Reduction Audio Compression Digital Rights Management (DRM)
Interrupt driven I/O. MIPS RISC Exception Mechanism The processor operates in The processor operates in user mode user mode kernel mode kernel mode Access.
PLC ARCHITECTURE – Memory 1 by Dr. Amin Danial Asham.
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.
Storage of Data Instructions and data are held in main memory which is divided into millions of addressable storage.
MECH1500 Chapter 3.
COMP135/COMP535 Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 2 Lecture 2 – Digital Representations.
Processing Hardware, Software. Hardware Hardware Processing is performed by a computer ’ s central processing unit and is measured by the clock speed.
The Instruction Set Architecture. Hardware – Software boundary Java Program C Program Ada Program Compiler Instruction Set Architecture Microcode Hardware.
CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Principles of Computers 14 th Lecture Pavel Ježek, Ph.D.
Interrupt driven I/O Computer Organization and Assembly Language: Module 12.
PLC ARCHITECTURE – Memory 2 by Dr. Amin Danial Asham.
Designing a CPU –Reading a programs instruction from memory –Decoding the instruction –Executing the instruction –Transferring Data to/From memory / IO.
Instruction Sets. Instruction set It is a list of all instructions that a processor can execute. It is a list of all instructions that a processor can.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
1 The user’s view  A user is a person employing the computer to do useful work  Examples of useful work include spreadsheets word processing developing.
Topic: Binary Encoding – Part 1
Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir. A.C. Verschueren Eindhoven University of Technology Section of Digital.
Basic Computer Organization and Design
Engineering Problem Solving With C An Object Based Approach
Analogue & Digital.
Processor Organization and Architecture
Sanuja Dabade & Eilbroun Benjamin CS 257 – Dr. TY Lin
Control Unit Introduction Types Comparison Control Memory
Exceptions Control Flow
Registers.
How Computers Work Part 1 6 February 2008.
Chapter 1 Problem Solving with C++
Review: The whole processor
Information Representation: Machine Instructions
WJEC GCSE Computer Science
Presentation transcript:

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 Titles Revitalising the Market Major Player in Revitalising the Market After the Crash of 1983 NES Emulation “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

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

2A0X – A Modified 6502 Processor Minus Binary Coded Decimal (BCD) mode Plus 22 Memory Mapped Registers CPU Implementation switch/case Implemented as a large switch/case construct Memory divided Memory divided into several objects to reflect the varied read/write behaviour.

Pattern Tables Sprites Name Tables

PPU Implementation primitive integer In contrast to the CPU, Memory stored as primitive integer arrays arrays read/write behaviour Additional structure unnecessary as read/write behaviour largely identical largely identical for all memory. Colour Palette Colour Palette handled within its own class. accurate NES colours Provides extremely accurate NES colours through use of a mathematical algorithm. alterable hue and tint Provides alterable hue and tint to emulate TV colour adjustment Kevin Horton Algorithm devised by Kevin Horton, implemented by David de Niese David de Niese

Voltages Voltages – Two (0 or 1) Volume – Volume – 16 Levels Pitch Bending Capabilities Pitch Bending Capabilities Voltages Voltages – Sixteen (0-15) Volume – Volume – Fixed Capable of Longer Play Duration Capable of Longer Play Duration Voltages – Two (0 or 1) Volume – 16 Levels Pseudo Random Bit Sequence Allows the Playback of samples from memory Allows the Playback of samples from memory Pulse (x2) Pulse (x2) Noise Noise Triangle DMC

Mixer Pulse 1 Pulse 2 Triangle Noise DMC Mixer Analogue Signal Sound Implementation mirror Designed to mirror the NES APU structure. Down-sampling Down-sampling required to output sound at hz as NES outputs samples at ~ hz. Volume Control Volume Control

Standard Controller Movement in Four Directions Two “Action” buttons Two “Control” Buttons Movement “Control” “Action” Input Implementation 8 bit register Button states stored within an 8 bit register Listeners Listeners used to detect button presses and releases Program reads the button states from the pads periodically User definable User definable button mapping

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

Debugger Implementation System State Memory Viewer System State and Memory Viewer implemented via the manipulation of data obtained using accessor methods in the CPU and PPU. Disassembler Disassembler implemented via use of an opcode information lookup table. Index into the table via opcode number Retrieve pertinent information for opcode. Advance forward in file by length of opcode in bytes. Breakpoints Breakpoints added to and removed from a handler. Handler checks all breakpoint conditions each instruction.

Name Table Viewer Pattern Table Viewer Name Tables Scroll Lines Attribute Table Information Display Options Pattern Tables Tile and Palette Information Display Options Palettes

GraphicalAuditory