Creating A Chip-8 Emulator In C
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
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 learning how to create an emulator
Instructor
I am a software engineer that has been programming for 14+ years I have a Masters Degree in Advanced Computer Science from Cardiff Metropolitan University. My experience is extensive and covers web development all the way to compiler and interpreter development. I have also developed bootloaders and kernels that can boot from the FAT(File Allocation Table) filesystem.
I have developed two programming languages of my own. One is called Craft language. The other is called Marble which is a web language like PHP. Ive developed C compilers as well.
I have experience in the following programming languages: C, C++, Java, x86 Assembly language, PIC assembly, SQL, PHP, HTML5, JAVASCRIPT, CSS, Craft, Marble
I also have programmed Linux kernel modules professionally in the workplace.
These days I am focused on providing my years of expertise to students to help them grow as professional software engineers.