Build a Chip-8 Emulator in JavaScript that runs on a browser
Build a Chip-8 Emulator in JavaScript that runs on a browser, available at $49.99, has an average rating of 4, with 90 lectures, 6 quizzes, based on 30 reviews, and has 223 subscribers.
You will learn about How a emulator works and how to create one How microprocessor works and how to emulate them Understand how machines work Understand how devices talk wich it other How to emulate actual hardware such as memory, display, microprocessor, sound card and keyboard This course is ideal for individuals who are People that want a have an awesome project on they portfolio or People interest in create an emulator or have always dreamed on create an emulator or People interested in how hardware works or People interested in low level details of hardware It is particularly useful for People that want a have an awesome project on they portfolio or People interest in create an emulator or have always dreamed on create an emulator or People interested in how hardware works or People interested in low level details of hardware.
Enroll now: Build a Chip-8 Emulator in JavaScript that runs on a browser
Summary
Title: Build a Chip-8 Emulator in JavaScript that runs on a browser
Price: $49.99
Average Rating: 4
Number of Lectures: 90
Number of Quizzes: 6
Number of Published Lectures: 90
Number of Published Quizzes: 6
Number of Curriculum Items: 97
Number of Published Curriculum Objects: 97
Number of Practice Tests: 1
Number of Published Practice Tests: 1
Original Price: $199.99
Quality Status: approved
Status: Live
What You Will Learn
- How a emulator works and how to create one
- How microprocessor works and how to emulate them
- Understand how machines work
- Understand how devices talk wich it other
- How to emulate actual hardware such as memory, display, microprocessor, sound card and keyboard
Who Should Attend
- People that want a have an awesome project on they portfolio
- People interest in create an emulator or have always dreamed on create an emulator
- People interested in how hardware works
- People interested in low level details of hardware
Target Audiences
- People that want a have an awesome project on they portfolio
- People interest in create an emulator or have always dreamed on create an emulator
- People interested in how hardware works
- People interested in low level details of hardware
Did you ever wonder how video games work? What goes inside that little box when you press the power button? How do that tiny silicon chips talk with each other to create the amazing graphics we see on the screen and respond to each press we make on the controllers?
If you want to not only have a complete understanding of how the microprocessor talks to the memory, display, keyboard, and sound card, but also what happens inside with all the registers, so that is the course for you.
In this advanced course, you will learn how to create your very own emulator for the Chip-8 in the JavaScriptthat runs in any browser, so you can add it to your portfolio page and mesmerize job interviews with all your new knowledge.
The Chip-8 is a virtual machine from the mid-1970s designed to make game development easier. There are a number of classic video games ported to CHIP-8, such as Pong, Space Invaders, Tetris, and Pac-Man. There are also applications like a random maze generator and Conway’s Game of Life.
This course is ideal for anyone who has programming experience and always dreamed of creating their own emulator one day, or would love to create an emulator but just does not know where to start. Even someone who has attempted to create an emulator in the past and fail can greatly benefit from this course.
In this course, we will create new classes in JavaScript for each piece of hardware, to emulate the memory, the display, the sound card, and the keyboard, after that, we will jump into the so expect Chip-8, we will first implement its registers and then we will implement each of its 35 opcodes
After you complete this course you will have a fully functioning Chip-8 emulator that is capable to run hundreds of rooms available freely on the internet.
Course Curriculum
Chapter 1: Understanding what is Chip-8
Lecture 1: Understand what Chip-8 is and the challenges we will face
Chapter 2: Starting our journey creating our Chip-8 microprocessor
Lecture 1: Creating our Chip-8 virtual microprocessor
Chapter 3: Creating our Chip-8 Display
Lecture 1: Creating our Display
Chapter 4: Creating the support code (Webpack) and servers (Live Server)
Lecture 1: Setting up Webpack so we can use modern JavScript on the Browser
Lecture 2: Creating a webserver to serve our Chip-8 emulator
Chapter 5: Connecting the Display to the HTML and Scaling up the resolution
Lecture 1: Connecting the display to the HTML
Lecture 2: Creating a multiplier to make our Display larger
Lecture 3: Creating our screen and our screen buffer
Lecture 4: Drawing our Frame Buffer on the screen
Chapter 6: Creating our Chip-8 Memory
Lecture 1: Creating our memory
Chapter 7: Creating our Chip-8 Registers
Lecture 1: Creating the Registers
Lecture 2: Adding and removing values from Stack using Push and Pop
Lecture 3: Checking for Stack Overflow and Stack Underflow errors
Chapter 8: Creating our Chip-8 Keyboard
Lecture 1: Creating our Chip-8 Keyboard
Lecture 2: Mapping the Keyboard
Lecture 3: Using the mapping in our Virtual Keyboard
Lecture 4: Creating all the keyboard functions
Lecture 5: Detecting and storing key presses
Chapter 9: Create our Chip-8 charset sprites from 0-F and loading into memory
Lecture 1: Creating the Chip-8 charset
Lecture 2: Loading character set to Chip-8 memory
Chapter 10: Drawing sprites in the display
Lecture 1: Drawing a character on the display
Lecture 2: Understanding the Pixel Position and writing on the screen
Chapter 11: Implement our Chip-8 Delay Timer
Lecture 1: Implement the Delay Timer for Chip-8
Chapter 12: Implement our Chip-8 Sound Timer
Lecture 1: Creating our Chip-8 Sound Card
Lecture 2: Fixing our Sound Card and making it beep
Lecture 3: Implement the sound on the main loop
Chapter 13: Understanding Binary Files
Lecture 1: Running our Binary code manually
Chapter 14: Creating a Dissembler for Chip-8
Lecture 1: Creating our Disassembler and our first Chip-8 Instruction CLR
Chapter 15: Creating our Chip-8 Instruction Set file
Lecture 1: Creating a new simple Chip-8 instruction RET
Lecture 2: Implement Chip-8 Jump (JP) and creating arguments
Lecture 3: Returning the argument nnn from Jump (JP)
Lecture 4: Implementing the Chip-8 Call instruction
Lecture 5: Adding the Skip VX NN on the instruction set and shifting bits
Lecture 6: Refactoring our code to make easier to understand and continue
Lecture 7: Adding another Chip-8 instruction Skip next instruction – SNE VX KK
Lecture 8: Adding Chip-8 instruction LD VX KK
Lecture 9: Adding Chip-8 Instruction Add VX KK
Lecture 10: Adding Chip-8 Instruction Set VX VY
Lecture 11: Adding the Chip-8 instructions OR, AND, XOR, ADD, SUB, SHR, SUBN, SHL
Lecture 12: Testing the Chip-8 instructions OR, AND, XOR, ADD, SUB, SHR, SUBN, SHL
Lecture 13: Adding the Chip-8 instructions SNE, SET JUMP and Random
Lecture 14: Adding the Chip-8 instructions Draw DRW and introducing the nibble
Lecture 15: Adding the Chip-8 instructions Skip if key pressed (SKP)
Lecture 16: Adding the Chip-8 instructions Set Delay Timer, Set Sound Timer, and more
Lecture 17: Testing the Chip-8 instructions Set Delay Timer, Set Sound Timer and more
Chapter 16: Loading the Chip-8 ROM into the Chip-8 Memory
Lecture 1: 046 – Loading our first ROM into Chip-8 memory
Chapter 17: Understanding opCode. How Chip8 stores the data Big Endian vs Little Endian
Lecture 1: Understand the opcode structure
Lecture 2: Getting the Opcode from the Chip-8 Memory
Chapter 18: Disassembling the opCodes and sending to Chip-8 for execution
Lecture 1: Disassembling our opcode to get the Chip-8 Instruction
Chapter 19: Implementing all 35 Chip-8 Instructions
Lecture 1: Implementing Chip-8 instruction CLS
Lecture 2: Implementing Chip-8 instruction RET
Lecture 3: Implementing Chip-8 instruction Jump to Address
Lecture 4: Implementing Chip-8 instruction Call to Address (CALL)
Lecture 5: Implementing Chip-8 instruction Skip if equals (SE VX KK)
Lecture 6: Implementing Chip-8 instruction Skip if different (SNE VX KK)
Lecture 7: Implementing Chip-8 instruction Skip if registers are equal (SE VX VY)
Lecture 8: Implementing Chip-8 instruction Set registers (LD VX NN)
Lecture 9: Implementing Chip-8 instruction Add (ADD VX KK)
Lecture 10: Implementing Chip-8 instruction Load registers (LD VX VY)
Lecture 11: Implementing Chip-8 instruction OR (OR VX VY)
Lecture 12: Implementing Chip-8 instruction AND (AND VX VY)
Lecture 13: Implementing Chip-8 instruction Exclusive OR XOR (XOR VX VY)
Lecture 14: Implementing Chip-8 ADD with Carry (ADD VX VY with C)
Lecture 15: Implementing Chip-8 SUB with not Borrow (SUB VX VY)
Lecture 16: Implementing Chip-8 Shift bits to Right (SHR VX)
Lecture 17: Implementing Chip-8 SUBN with not Borrow (SUBN VX VY)
Lecture 18: Implementing Chip-8 Shift bits to Left (SHL VX)
Lecture 19: Implementing Chip-8 Skip (SNE VX VY)
Lecture 20: Implementing Chip-8 Load I (LD NNN)
Lecture 21: Implementing Chip-8 Jump (JP V0 NNN)
Lecture 22: Implementing Chip-8 Ramdon (RND VX NN)
Lecture 23: Implementing Chip-8 Drawing (DRW VX VY nibble)
Lecture 24: Debugging our display problem
Lecture 25: 74 Wrapping around the display Horizontal and Vertical (just like Pac-Man)
Lecture 26: Creating and testing a collision on the Display
Lecture 27: Implementing Chip-8 Skip is Key Pressed (SKP VX)
Lecture 28: Implementing Chip-8 Skip is Key is not Pressed (SKNP VX)
Lecture 29: Implementing Chip-8 Set from Delay Timer (LD VX DT)
Lecture 30: Implementing Chip-8 Wait for a Key(LD VX DT0)
Lecture 31: Implementing Chip-8 Wait for a Key(LD VX K)
Lecture 32: Implementing Chip-8 Set Delay Timer(LD DT VX)
Instructors
-
Icaro Lavrador
React, JavaScript, Node, Swift Expert | 25+ years Experience
Rating Distribution
- 1 stars: 2 votes
- 2 stars: 3 votes
- 3 stars: 0 votes
- 4 stars: 7 votes
- 5 stars: 18 votes
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
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!
You may also like
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024
- Top 10 Gardening Courses to Learn in November 2024