Presentation is loading. Please wait.

Presentation is loading. Please wait.

By: Aaron Knight. What is Emulation? Emulation is the process of implementing in software a set of hardware. Applications meant for another platform can.

Similar presentations


Presentation on theme: "By: Aaron Knight. What is Emulation? Emulation is the process of implementing in software a set of hardware. Applications meant for another platform can."— Presentation transcript:

1 By: Aaron Knight

2 What is Emulation? Emulation is the process of implementing in software a set of hardware. Applications meant for another platform can be run on any platform the emulator runs on. In the emulation approach, the software processes and runs the application in the same manner that the original hardware would have, which is not necessarily the fastest manner possible. An ideal emulator would produce the exact same results in the exact same manner when running applications as the original hardware.

3 What is CHIP-8? Chip 8 is a specification that was widely used in the 70’s and 80’s as a platform for games on early computing devices. It was an interpreter based system targeted for use in developing and deploying games across a variety of platforms. The following are examples of hardware that implemented CHIP-8: RCA's TELMAC 1800 COSMAC VIP ETI 660 DREAM 6800 HP-48 Calculator

4 CHIP-8: Technical Specs 64 x 32 display 16 8-bit Registers V[0] – V[F] 2 timers that count down 60 times a second, one for delays and one for sound Program Counter Index register (Winter 4-5). 4k of memory A stack for jump/return statements that goes up to a maximum of 16 levels deep

5 CHIP-8: Graphics Graphics in the CHIP-8 system are drawn in XOR mode. When a sprite is drawn, any pixels marked “1” in the binary data are flipped, and those marked “0” are left alone. The V[F] register is used for collision detection; if any pixels are flipped from 1 to 0, then V[F] is set to 1, otherwise it is 0. Because of the simplistic nature of CHIP-8’s drawing and collision detection, the system suffers from screen flickering as the drawings are done live on the screen and there is no double buffering. This is part of the actual system and is present in the emulator as well; there is no way around this due to the nature of the system.

6 StarChip-8 My CHIP-8 Emulator Written in Java Normally a bad idea for an emulator since Java is slow CHIP-8 is simple enough that speed did not matter I wanted to make it into an applet eventually ~65% compatibility Sound Support Speed Limited Customizable Input Configuratioon

7 Input

8 Demonstration Follow the instructions I give to access the source and binary files on the J drive. J:\CSIS\104-304\CHIP8 We’ll do a walkthrough of how it works with some sample applications The source is released open source under the GPLv2 license More information can be found on my site at http://slkdev.homeip.net/

9 Why Did I Choose This Project? I’ve been interested in emulation since 1998-1999 when the first (working) N64 emulator UltraHLE came out. I was fascinated by the concept. I started learning C++ as a result Emulator authors at emutalk.net recommended CHIP-8 as a starting point to writing emulators

10 What Curriculum Helped? Systems Programming Computer Organization & Design Digital Systems


Download ppt "By: Aaron Knight. What is Emulation? Emulation is the process of implementing in software a set of hardware. Applications meant for another platform can."

Similar presentations


Ads by Google