4.56 out of 5
36 reviews on Udemy

Creating A Chip-8 Emulator In C

Learn to create an emulator for a 1970s machine!
Daniel McCarthy
6,393 students enrolled
English [Auto]
How to create an emulator for the Chip-8 machine
Knowledge of how instruction sets work
Understanding of how machines work

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.



Setup And Structure

Chip-8 Emulator Overview
Setting Up Our Project And SDL
Structuring Our Project

Implementing Virtual Hardware And Essentials

Implementing The Memory

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

Creating The Registers

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

Creating The Stack

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 Keyboard

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

Initializing The Chip-8

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

Creating The Default Character Set
Creating The Display
Drawing Sprites To The Screen
Implementing The Delay Timer

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

Implementing The Sound Timer

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

Simulating The Instruction Set

Starting The Creation Of The Instruction Set Simulator

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

Implementing The Chip-8 Instruction Set

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!

Finishing Up

Speeding Up Our Emulator
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.6 out of 5
36 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1
30-Day Money-Back Guarantee


5 hours on-demand video
Full lifetime access
Access on mobile and TV
Certificate of Completion

External Links May Contain Affiliate Links read more

Join our Telegram Channel To Get Latest Notification & Course Updates!
Join Our Telegram For FREE Courses & Canva PremiumJOIN NOW