Code Monkey home page Code Monkey logo

cfxnes's Introduction

cfxnes

JavaScript NES emulator and emulation library.

cfxnes logo

🎮 Live demo

ℹ️ How to use cfxnes as a library

Features

  • Supported ROM images: iNES, NES 2.0.
  • Supported mappers: NROM, MMC1, MMC3, UNROM, CNROM, AOROM, BNROM, NINA-001, Color Dreams.
  • ROM images can be loaded from ZIP archive.
  • Persistence of battery-backed RAM (game saves) in IndexedDB.
  • Rendering using WebGL (with canvas API fallback).
  • Fullscreen mode.
  • Sound emulation using Web Audio.
  • Zapper emulation using mouse.
  • Gamepad support.
  • Customizable key bindings.
  • Plenty of configuration options.

Supported Browsers

  • Chrome (last 2 versions)
  • Firefox (last 2 versions)
  • Opera (last 2 versions)
  • IE 11, Edge >= 12
  • Safari >= 9

Known Issues

  • No sound in IE due to missing Web Audio support.
  • Poor performance in IE, Edge.
  • Very poor performance on mobile devices.
  • Occasional graphical glitches in games using MMC3 mapper.
  • See list of broken games.

Project Structure

License

Cfxnes is licensed under the MIT license.

cfxnes's People

Contributors

jpikl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cfxnes's Issues

CFNES - Access Game Memory Data and Frames

I would like to apply a machine learning algorithm to control the game based on its input but for that, I will need to have access to the pixel frames and the data of the game to see if the level is complete and that way give a reward to the algorithm. Is there a way to access that data?

image

quick sound in some games and clicks

For example In the game SuperMario - the sound of music is fast, sometimes cheeks are audible.

Is there a sound parameter in the API, which that is responsible for the play sound speed in the API?

Sorry, my English very bad.

Set min video.scale

How to set the minimum video.scale value?
For example, I do not need a value of 1, only 2, 3, and 4.

Thank you.

Virtual joystick

The api can use js to trigger input event?
beacuse I want use Virtual joystick to play

error in examples

Hi I do not understand how this works, because if you run the examples there are error

How can i setup Joypad as default alternate input?

Hi there,

is there any way i can tell the emulator to use the joypad by default and the keyboard as alternative?
The examples sadly just show how to plugit in a webpage but not how to configure the default keys.

compile lib

when I want compile lib use command "node build.js"
some error happend
ERROR - required "module$__$core$src$common" namespace never provided

How to install

How do i install this into my cpanel site. I don't know how do it. Can someone set it up and link me the files that are already setup with everything.

Save and load ?

How can I save the game ?

nes = new CFxNES({});

nes.downloadCartridge(url).then(function() {
  nes.start();
});

// save and re load ?

get the audio data

How can I get the audio data of cfxnes?
if i want send the audio data to other machine through network

Unable to run another rom after invalide mapper

Hi Dear jpikl,

Thank you for this amazing emulator.

There is a tiny problem when I load unsupported rom (ex: Invalid mapper), then I open or drag and drop another working rom it doesn't work Until I refresh the page again.

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.