Setting Up Our Project And SDL
No lecture description
Description
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.
Requirements
-
You must be confident in the C programming language
-
You must understand hexadecimal
-
You must understand bitwise operators and bit shifting
Who This Course is For
People interested in how to create an emulator
What You Will be Learn
How to create an emulator for the Chip-8 machine
Knowledge of how instruction sets work
Understanding of how machines work
Dragon Zap Instructor
Daniel McCarthy is a seasoned software engineer, boasting an impressive career spanning over 14 years in the industry. Holding a Master's Degree in Advanced Computer Science from Cardiff Metropolitan University, his broad spectrum of experience encompasses everything from web development to complex compiler and interpreter development. Daniel has honed his skills in bootloader and kernel development. In testament to his proficiency in the field, he has designed two proprietary programming languages: Craft, a general-purpose language, and Marble, a web-focused language akin to PHP. Moreover, he has successfully developed compilers for the C programming language. A testament to his versatility, Daniel demonstrates proficiency in an extensive list of programming languages that includes C, C++, Java, x86 Assembly language, PIC assembly, SQL, PHP, HTML5, JavaScript, CSS, and of course, his own creations, Craft and Marble. His professional portfolio also includes the development of Linux kernel modules, a task he has executed with proficiency in a professional context. Currently, Daniel is channeling his wealth of experience and expertise into the education sector, with the aim of nurturing the next generation of professional software engineers.
Ask a question
Questions (1)
Thomas Treffry
2 years ago
Hey, any idea how to set up this project on linux? I am using regular make which worked for hello world but doesn't seem to be working now that I'm trying to call SDL_Window. It has stopped recognizing my code changes and says make is up to date, event though it isn't. I downloaded the mingw version of sdl2 and copied the files from the i686 folder. I was following along with the video but maybe that wasn't the right thing to do?
Daniel McCarthy
2 years ago
Hi, Unfortunetly I can be of limited help when you divert from the course content. I recommend following the course on Windows as shown. Then later you can work on migrating to Linux. If you insist on using Linux you must use GCC and you will be responsible for ensuring you install the correct development packages for SDL. Off the top of my head I believe the Linux package to install on debian is. libsdl2-dev
Thomas Treffry
2 years ago
I figured it out. You don't need to do any of the downloads and copy/pasting files on linux. Just install SDL2 with your package manager (it was already installed for me on Manjaro). Then build with these flags `gcc -g -lSDL2 -lSDL2main ./src/main.c -o ./bin/main`. Make is still giving me issue where it doesn't detect my changes when building after making a change. However, I am able to work around that by called `gcc` directly. Here is the linux guide I found that was able to help me set it up: https://gigi.nullneuron.net/gigilabs/how-to-set-up-sdl2-on-linux/
Daniel McCarthy
2 years ago
Yes that's the sdl dev package I was talking about. Make sure you also have the dev version not just the binary releases apt install libsdl-dev
Daniel McCarthy
2 years ago
libsdl2-dev*
Thomas Treffry
2 years ago
Thanks!