Dante Gonzales and Ian Doten

Similar documents
Programming The Nintendo Game Boy Advance: The Unofficial Guide Copyright (c)2003 by Jonathan S. Harbour --

Game Boy Color. System Design. David Campbell, Jonathan Leung, Bailey Forrest

8-Bit Wonderland. Executing custom Code on the Nintendo Game Boy. Belial

6.111 Final Project Jonathan Downey Lauri Kauppila Brian Myhre

FPGABoy An Implementation of the Nintendo GameBoy on an FPGA


MICROPROCESSOR B.Tech. th ECE

Topic 3. ARM Cortex M3(i) Memory Management and Access. Department of Electronics Academic Year 14/15. (ver )

LEGO RCX Hitachi H8/3292

Digital IP Cell 8-bit Microcontroller PE80

EXPERIMENT NO. 1 THE MKT 8085 MICROPROCESSOR TRAINER

Ultimate1MB expansion features

Chapter 3. Z80 Instructions & Assembly Language. Von Neumann Architecture. Memory. instructions. program. data

Microprocessors/Microcontrollers

ENE 334 Microprocessors

Microcomputer Architecture and Programming

Processing Unit CS206T

History and Basic Processor Architecture

Chapter 7 Central Processor Unit (S08CPUV2)

The hell of CPU debugging

The 9S12 in Expanded Mode - Using MSI logic to build ports Huang Chapter 14

Microprocessors and rpeanut. Eric McCreath

3.1 Description of Microprocessor. 3.2 History of Microprocessor

Microprocessors. Microprocessors and rpeanut. Memory. Eric McCreath

The Fighting Meerkats Originally by

Description of the Simulator

CC411: Introduction To Microprocessors

Control Unit: The control unit provides the necessary timing and control Microprocessor resembles a CPU exactly.

The Microcontroller. Lecture Set 3. Major Microcontroller Families. Example Microcontroller Families Cont. Example Microcontroller Families

MOS 6502 Architecture

CHAPTER 5 : Introduction to Intel 8085 Microprocessor Hardware BENG 2223 MICROPROCESSOR TECHNOLOGY

V8-uRISC 8-bit RISC Microprocessor AllianceCORE Facts Core Specifics VAutomation, Inc. Supported Devices/Resources Remaining I/O CLBs

Game Boy: Complete Technical Reference

SOLUTION MANUAL FOR THE 8051 MICROCONTROLLER 4TH EDITION BY MACKENZIE AND PHAN

1. Introduction to Assembly Language

EB-51 Low-Cost Emulator

8051 Overview and Instruction Set

Write A General Form Of The Assembly

Chapter 1. Microprocessor architecture ECE Dr. Mohamed Mahmoud.

EEE3410 Microcontroller Applications Department of Electrical Engineering Lecture 4 The 8051 Architecture

Microcontrollers. Microcontroller

8051 Microcontrollers

Computers Are Your Future

CHAPTER ASSEMBLY LANGUAGE PROGRAMMING

icroprocessor istory of Microprocessor ntel 8086:

MICROPROCESSOR MICROPROCESSOR. From the above description, we can draw the following block diagram to represent a microprocessor based system: Output

Architecture & Instruction set of 8085 Microprocessor and 8051 Micro Controller

Unit I. Introduction Microcontrollers and Embedded processors Overview of the 8051 Inside the 8051 Addressing Modes

EE2007 Microprocessor systems.

Evolution of CPUs & Memory in Video Game Consoles. Curtis Geiger & Matthew Meehan

The Instruction Set. Chapter 5

MSMF GATE CENTRE. Sub: MICROPROCESSORS. Time: 50min Date: Marks:33

MICROCONTROLLER UNIT 1

Virtual Machine Tutorial

EE 308: Microcontrollers

Four Categories Of 8085 Instructions That >>>CLICK HERE<<<

MOTENC Axis PCI Motion & I/O Control Board. Reference Manual Rev 1A, April Copyright 2004 VITAL Systems Inc

Chapter 2 COMPUTER SYSTEM HARDWARE

Microprocessor Architecture

8051 Microcontroller

1. INTRODUCTION TO MICROPROCESSOR AND MICROCOMPUTER ARCHITECTURE:

Terminology, Types of Computers & Computer Hardware

8086 INTERNAL ARCHITECTURE

Course Introduction. Purpose: Objectives: Content: 27 pages 4 questions. Learning Time: 20 minutes

2. List the five interrupt pins available in INTR, TRAP, RST 7.5, RST 6.5, RST 5.5.

CPE 323 MSP430 INSTRUCTION SET ARCHITECTURE (ISA)

ARM ARCHITECTURE. Contents at a glance:

Intel 8086 MICROPROCESSOR ARCHITECTURE

Microcontrollers. Fig. 1 gives a comparison of a microprocessor system and a microcontroller system.

Lecture Objectives. Introduction to Computing Chapter 0. Topics. Numbering Systems 04/09/2017

Accumulator and memory instructions 1. Loads, stores, and transfers 2. Arithmetic operations 3. Multiply and divide 4. Logical operations 5. Data test

Microprocessor Architecture. mywbut.com 1

CG2007 Microprocessor systems.

OEM-Product Catalogue

QUESTION BANK. EE 6502 / Microprocessor and Microcontroller. Unit I Processor. PART-A (2-Marks)

Understanding the basic building blocks of a microcontroller device in general. Knows the terminologies like embedded and external memory devices,

Intel 8086 MICROPROCESSOR. By Y V S Murthy

Question Bank Microprocessor and Microcontroller

Total Impact briq. Hardware Reference. 31st July Revision Overview 2

Register Are Two Names For The Same Place

Moodle WILLINGDON COLLEGE SANGLI (B. SC.-II) Digital Electronics

Survey. Motivation 29.5 / 40 class is required

Hardware and Software Architecture. Chapter 2

The Central Processing Unit

UNIT IV MICROCONTROLLER

AVR Microcontrollers Architecture

ECE 471 Embedded Systems Lecture 2

Microcontroller & Interfacing

E3940 Microprocessor Systems Laboratory. Introduction to the Z80

EE 308 Spring Lecture 28 March 30, 2012 Review for Exam 2. Introduction to the MC9S12 Expanded Mode

Internal architecture of 8086

MICROPROCESSOR TECHNOLOGY

Product Technical Brief S3C2412 Rev 2.2, Apr. 2006

Small Computer Monitor User Guide

Microprocessor. By Mrs. R.P.Chaudhari Mrs.P.S.Patil

The x86 Microprocessors. Introduction. The 80x86 Microprocessors. 1.1 Assembly Language

Introduction. A Look Inside a Laptop Computer. What is inside a laptop computer? What is Inside a Laptop Computer?

MOTENC-Lite 4-Axis PCI Motion & I/O Control Board. Reference Manual Rev 1.1, June 20, Copyright 2005 VITAL Systems Inc

Structure of Computer Systems

Product Technical Brief S3C2413 Rev 2.2, Apr. 2006

Transcription:

Dante Gonzales and Ian Doten

Overview History Game Boy and Game Boy Color Specs CPU architectures Intel 8080 Zilog Z80 Sharp LR35902 Sharp LR35902 in depth Changes from the Z80 to the LR35902 Memory Cartridge compatibility

History The Game Boy was released in 1989 and worldwide by 1990. The Game Boy Color was released worldwide in 1998. The first Handheld system released by Nintendo was the Game & Watch Series.

Game Boy and Game Boy Color Specs Specifications Gameboy Gameboy Color CPU 8-bit Sharp LR35902 4Mhz 8-bit Sharp LR35902 4Mhz or 8MHz (two running modes) BUS 8-bit data-bus 16-bit address-bus RAM 8kB internal up to 32kB external 32kB internal up t o32kb external Video RAM 8kB internal 16Kb internal Video Display: Reflective LCD 160x144 dots (physical) Sprites: 40 sprites of 8x8 / 8x16 Color Palette 4 shades of grey 10, 32, or 56 colors on screen. From a palette of 32,768 Supports 4 colors per sprite 1 color being transparent ROM (Based on cartridge) On-CPU-Die 256 bit bootstrap 16kBit up to 4Mbit are known. Possibly 8Mbit? (Debated)

Game Boy and Game Boy Color Specs (Cont.) Specifications Gameboy Gameboy Color Sound Communication Sound: 1 Mono Speaker. Stereo headphone jack 4 sound channels. -Each can be mapped to either L or R speaker or both 1 programmable PCM (Pulse Code Modulation) 4-bit wave channel, -64 4bit samples in 1x64 bank array or 2x32 bank array 1 noise generator. 1 audio input from cartridge. 2 Pulse wave generators 2 Square wave channels one serial port, up to four Gameboys can be connected together using these ports (wire linking) Infrared communications port Power 6 Volt, 0.7 Watt 4 AA Batteries) 3 Volt, 0.6 Watts 2 AA Batteries)

CPU architectures Intel 8080 Released in 1974 Zilog Z80 Released in 1976 Binary compatibility with the Intel 8080 Sharp LR35902 Based on the Intel 8080 and Zilog Z80 Removed unneeded features from the Z80 Used memory mapping for IO devices instead of using separate address space.

Intel 8080 Specifications: 16-bit wide address bus 8-bit wide data bus Allowed access to 64K of byte addressable memory 8-bit accumulator 8-bit status register Six 8-bit general purpose registers 16-bit stack pointer 16-bit program counter Intel 8080 registers 1 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 (bit position) Main registers A Flags AF (accumulator and flags) B C BC D E DE H L HL (indirect address) Index registers SP Stack Pointer Program counter PC Program Counter Status register S Z I H - P - C Flags

Zilog Z80 Specifications: 16-bit wide address bus 8-bit wide data bus Allowed access to 64K of byte addressable memory 8-bit accumulator 8-bit status register Six 8-bit general purpose registers 16-bit stack pointer 16-bit program counter Enhanced instruction set Added 256 more instructions Two special registers IX and IY Allowed for base + offset memory addressing Interrupt system Binary compatibility w/ Intel 8080 Designed by the same team that designed the Intel 8080

Sharp LR35902 Customized hybrid of Intel 8080 and Zilog Z80. Uses instruction extender from the Z80. Only uses a single address space. Communication with I/O devices were mapped to memory. Only retained the single Intel 8080 register set Uses custom flag registers. Reused some of the Z80 flags.

Customized Hybrid The Game Boy uses a computer chip similar to an Intel 8080. It contains all of the instructions of an 8080 except there are no exchange instructions. In many ways the processor is more similar to the Zilog Z80 processor. Compared to the Z80, some instructions have been added and some have been taken away. - http://marc.rawer.de/gameboy/docs/gbcpuman.pdf (p. 6)

Instruction Extender (Opcode 0xCB) Adopted the Zilog Z80 s instruction set extension. Did not use all of the extended instructions. Kept the bit-manipulation instruction set. These instructions were used to set, reset, and test specific bits from registers or memory. Very useful for programmers to test and debug their code with.

Trade off of single address space Advantages Small and fixed number of devices only used 128 bytes of memory No need for In or Out instructions. Load and Store were used to read from and write to devices. Disadvantages Special circuitry was required to redirect data operations to the devices in use. Used up some of the limited 64kB of memory.

Memory The Game Boy supported a single address space. All interactions and mappings took place here. Game Boy has 64KB of memory due to the CPU address bus was 16 bits wide. Everything form from I/O, working RAM, external RAM, video RAM, and other special memory areas has to be accessed through this 64KB space. Many games have megabytes of ROM.

Memory Management A technique known as memory banking was used to solve this issue. The same space was reused to map different parts of the games ROM. Games for the Game Boy were divided into equally sized chunks called banks. The first bank was permanently mapped to addresses (0x0000-0x3FFF), the first 16kB of address space. The rest of them were alternately mapped to addresses (0x4000-0x7FFF). Switching the banks allowed game cartridge ROM to be as big as it needed. However, this required the game programmer to be responsible for the bank switching.

Memory Mapping Distribution of the 64kB address space Addresses (0xE000 0xFDFF) not typically used. This space echoes (0xC000 0xDDFF) Memory Address Purpose 0x0000-0x3FFF Permanently mapped ROM Bank 0x4000-0x7FFF Area for switch ROM Bank 0x8000-0x9FFF Video RAM 0xA000-0xBFFF Area for switchable external RAM banks 0xC000-0xCFFF Game Boy s working RAM bank 0 0xD000-0xDFFF Game Boy s working RAM bank 1 0xFE00-0xFEFF Sprite Attribute Table 0xFF00-0xFF7F Devices Mappings. Used to access I/O devices 0xFF80-0xFFFE High RAM Area 0xFFFF Interrupt Enable Register

Game Cartridge memory management Each cartridge had a special unit which implemented the mechanisms for memory banking, called the Memory Bank Controller (MBC). There are many different types of MBCs MBC1 max 2mB ROM and max 32kB RAM MBC3 max 2mB ROM and max 32kB RAM and timer

Questions?

Sources http://marc.rawer.de/gameboy/docu_1.htm#1.1 https://en.wikipedia.org/wiki/game_boy https://en.wikipedia.org/wiki/game_boy_color http://marc.rawer.de/gameboy/docs/gbcpuman.pdf https://realboyemulator.wordpress.com/2013/01/01/thenintendo-game-boy-1/ https://realboyemulator.wordpress.com/2013/01/02/thenintendo-game-boy-part-2/ https://realboyemulator.wordpress.com/2013/01/02/thenintendo-game-boy-part-3/ http://bgb.bircd.org/pandocs.htm