Skip to content
/ chip8 Public

Yet Another Chip8 Virtual Machine / Emulator (and Assembler).

License

Notifications You must be signed in to change notification settings

sreedevk/chip8

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CHIP-8 Virtual Machine - A Learning Journey

image

Introduction

Welcome to my CHIP-8 virtual machine (VM) project! This repository is the result of my endeavor to learn and understand the inner workings of the CHIP-8 system. CHIP-8, historically used on microcomputers in the 1970s, offers a fascinating glimpse into the world of early computing and emulation.

Project Overview

This project includes:

  • A virtual machine/emulator for the CHIP-8 language.

Learning Objectives

Through this project, I aimed to:

  • Deepen my understanding of how virtual machines and emulators function.
  • Explore the challenges of interpreting and executing CHIP-8 instructions.

Technologies Used

  • Rust
  • SDL2

Getting Started

Running the VM

  • Clone the repository: git clone https://github.com/sreedevk/chip8
  • Navigate to the directory: cd chip8
  • Copy any Chip8 ROM into the repo's directory (https://github.com/kripod/chip8-roms)
  • run:
cargo run -r roms/path/to/romfile

Contributing

While this is a personal educational project, contributions or suggestions are welcome:

  1. Fork the repository.
  2. Create your feature branch.
  3. Commit and push your changes.
  4. Create a new Pull Request.

License

This project is licensed under the GPL-3.0 license - see the LICENSE file for details.

Acknowledgments