Creating A Chip-8 Emulator In C
4.8 (18 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
2,707 students enrolled

Creating A Chip-8 Emulator In C

Learn to create an emulator for a 1970s machine!
4.8 (18 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
2,707 students enrolled
Created by Daniel McCarthy
Last updated 6/2020
English
English [Auto]
Current price: $13.99 Original price: $19.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • How to create an emulator for the Chip-8 machine
  • Knowledge of how instruction sets work
  • Understanding of how machines work
Course content
Expand all 17 lectures 04:57:48
+ Implementing Virtual Hardware And Essentials
10 lectures 02:05:36

In this lecture we implement the memory or RAM of the Chip-8

Implementing The Memory
14:58

In this lecture we cover the creation of registers in the Chip-8. Registers allow Chip-8 programs to store temporary information

Creating The Registers
08:38

The Chip-8 Stack allows Chip-8 programs to store addresses from subroutine calls, this allows Chip-8 programs to call subroutines and return later on

Creating The Stack
19:17

In this lecture we implement the Chip-8 keyboard so that users using our emulator will be able to play the Chip-8 games we are emulating

Creating The Keyboard
27:58

This lecture covers us initializing the Chip-8 to ensure that their is nothing uninitialized when we emulate

Initializing The Chip-8
02:10
Creating The Default Character Set
07:32
Creating The Display
12:49
Drawing Sprites To The Screen
25:07

Chip-8 has a delay timer used by the Chip-8 programs to delay the interpreter

Implementing The Delay Timer
03:12

Chip-8 has a sound timer that is used by the Chip-8 programs to sound a tone for a certain interval

Implementing The Sound Timer
03:55
+ Simulating The Instruction Set
2 lectures 02:03:30

In this lecture we start preparing for the implementation of the Chip-8 instruction set

Starting The Creation Of The Instruction Set Simulator
26:51

This lecture we implement the entire Chip-8 instruction set and have a working emulator that's capable of playing space invaders, pong and more!

Implementing The Chip-8 Instruction Set
01:36:39
Requirements
  • You must be confident in the C programming language
  • You must understand hexadecimal
  • You must understand bitwise operators and bit shifting
Description

In this fantastic course you will learn how to create your very own emulator for the Chip-8 in the C programming language. The Chip-8 is a virtual machine from the mid 1970s designed to make game development easier.

This course is great for anyone who has programming experience and would love to create an emulator but just does not know where to start or has attempted to do it but ran into problems

You are taken through every step of emulator creation, throughout this course we start by setting up our project, then we start writing code to emulate the display and keyboard from the era. We soon move to simulating the entire Chip-8 instruction set.

After you complete this course you will have a fully functioning Chip-8 emulator that can run space invaders, pong and many other classic games.

Who this course is for:
  • People interested in how to create an emulator