Giter Club home page Giter Club logo

chip8-emulator-cpp's Introduction

CHIP8 Emulator using C++

Chip-8 is a simple, interpreted, programming language which was first used on some do-it-yourself computer systems in the late 1970s and early 1980s. The COSMAC VIP, DREAM 6800, and ETI 660 computers are a few examples. These computers typically were designed to use a television as a display, had between 1 and 4K of RAM, and used a 16-key hexadecimal keypad for input. The interpreter took up only 512 bytes of memory, and programs, which were entered into the computer in hexadecimal, were even smaller.

Building the project

First clone the repo with all submodules using the below command

git clone https://github.com/rushad01/chip8-emulator-cpp.git --recursive

If you didn't able to download all submodule using above comment then use the below command.

git pull && git submodule init && git submodule update --progress && git submodule status

Note:GLM is totally optional. Its only present because my project template has it and I don't want spend time removing it.

Once all of the submodules are fetched from github then run the below command to build the project if you have only one compiler. CMake will detect it and setup everything according to it without any problem.

mkdir build
cd build
cmake -G"MinGW Makefiles" -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc ..  //for Mingw GCC Toolchain
make all

Tools

  • CMake(build system)
  • clangd(lsp)
  • GCC toolchain
  • VS Code Editor(clangd plugin,CMake,CMake Tools)

Library

  • glfw(Window Management)
  • glm(Optional for this projetct)
  • glad(Higher level OpenGL API call)
  • imgui(Graphical User Interface)

CHIP8 Programs

I used Chip8 test suit to test out my emulator. program folder contain roms from various repo. I will share their link here for clearification.

chip8-emulator-cpp's People

Contributors

rushad01 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.