Coder Social home page Coder Social logo

chipate's Introduction

chipate - a javascript CHIP-8 emulator

Try it here!

What is it?

chipate is a CHIP-8 emulator that runs in your web browser. It has a built in debugger and disassembler.

What browsers are supported?

It's been tested and works in Safari, Chrome, and Firefox.

Where do I use it?

At http://www.matthewrayfield.com/chipate/chipate.html or on your own computer by following the "How do I install it?" instructions below.

How do I use it?

Yeah, it's not exactly user friendly at the moment. Sorry about that.

But it's pretty simple:

  1. Select a ROM (they're almost all games) from the left dropdown menu.
  2. Click the "Load" button.
  3. Click the "Start" button.
  4. Play the game using the 1,2,3,4 q,w,e,r, a,s,d,f, and z,x,c,v keys. All the games have different controls, so just bang on 'em until you figure it out.

If you want to use the debugger, check the "debugger" box and the debugger / disassembler will appear. It slows down playback quite a bit, but that's okay.

If you check the "step" checkbox it will pause the playback on the current instruction. Then if you click the "Start" button it will step to the next instruction.

Unchecking the "follow" checkbox allows the disassembler window to scroll freely instead of auto-scrolling to the current instruction.

How do I install it?

If you'd like to run it off your own computer just do the following:

  1. Clone this repo.
  2. Create a new folder named "roms" inside the chipate folder.
  3. Download and unzip these roms into the new "roms" folder.
  4. Now run some sort of local webserver. If you have Python installed, you can do this by running "python -m SimpleHTTPServer" from within the chipate folder.
  5. Now access "chipate.html" through your browser. If you used the above Python server it should be "http://localhost:8000/chipate.html".

What's next?

I'm not sure. But I do have some ideas:

  • Add an assembler and create a kind of CHIP-8 IDE.
  • Optimize it. I know it can run much faster.
  • Add some sort of more intuitive interface.
  • Add the ability to drag and drop ROMs onto the window.
  • Add sound support.
  • Fix bugs (hahaha).
  • Add SCHIP support.
  • Add memory dump support for saving.

chipate's People

Contributors

matthewrayfield avatar

Stargazers

 avatar  avatar  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.