Git Product home page Git Product logo

emux's Introduction

Emux

Emux is a free and open source GameBoy emulator written in C# that allows you to play the original GameBoy games on your computer. Emux is released under the GPLv3 license.

Features

  • Play GameBoy Games and relive your nostalgic memories!
    • Open ROM dumps and execute them like the original GameBoy does.
      • Support for cartridges that contain memory bank controllers v1, v2 and v3.
      • Support for cartridges that contain external memory (for e.g. save files).
    • Disable the frame limit for the boring parts of the game that take forever and you'd rather skip (such as training your Pokémon, I won't judge).
    • Listen to the good ol' tunes and sound effects that the original GameBoy produced.
  • Debugging capabilities
    • Break and continue execution whenever you want
    • View disassembly of the GameBoy memory.
    • Step through the code one instruction at a time.
    • Set breakpoints on specific memory addresses.
    • View the values of general CPU registers.
    • Virtual keypad for easier emulation of keypresses when paused or stepping through the code.
  • Oh and probably a lot of funny glitches because the emulation is far from completed at this time.

Default keybindings

GameBoy Key Keyboard binidng
Up Up
Down Down
Left Left
Right Right
A X
B Z
Start Enter
Select Left Shift

Want to contribute?

There is still much to be done so any help is welcome! Here is a couple of things you can do to contribute to the Emux project:

  • Be a follower! Star the project and get the nice fuzzles of contributing without having to do much.
  • Be a developer! Fork the project, make your changes and make a pull request.
  • Be a tester! Try out games and open issues in the GitHub issue tracker about games that cause glitches or completely fail to work.
    • Try to provide as much information as you can. If possible, find out where and when the error occurs. The more details, the easier it is to reproduce and fix.
    • IMPORTANT: Please do not upload the ROM itself if the cartridge is licensed. This project is not meant to spread (stolen) copies of games or whatsoever.

References

This project is based on the specifications of the following papers (Therefore a big shoutout to the authors!):

External libraries

  • NAudio for the sound rendering.

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.