/emulatorjs

The original decompilation of emulatorjs. Retroarch in your browser!

Primary LanguageJavaScriptApache License 2.0Apache-2.0

EmulatorJS

Self-hosted Javascript emulation for various system.


If something doesn't work, please consider opening an Issue
with as many details as possible, as well as the console log.

The Screen Recording option currently doesn't support Audio .

The beta version of the emulator core files are now avaliable. (For limited systems)
If you would like to use it, please add the following line to your code.

EJS_BETA = true;

When reporting bugs, please specify that you are using the beta version


EmulatorJS Website ⸥ ⸢ Example Use ⸥ ⸢ Emulator Demo ⸥ ⸢ Beta


Supported Systems

Nintendo

Game Boy Advance | Famicom / NES | Virtual Boy | Game Boy | SNES | DS | 64

Sega

Master System | Mega Drive | Game Gear | Saturn | 32X | CD

Atari

Jaguar | Lynx | 7800 | 2600

Other

TurboGrafs 16 PC Engine | WanderSwan Color | Neo Geo Poket | PlayStation | Arcade | MSX | 3DO


Usage

For questions please use the Issue tab.


Setup
  1. Download this repository.
    Code ➞ Download As Zip

  2. Use a WebServer to host the emulator.

  3. Use your Browser to navigate to localhost


ROMs

ROMs can be used as zip / rar / 7z archives.


Netplay

By default Netplay is disabled,
to enable it, add the following:

// ID in your website, required for netplay. Each game in your site should have a different ID
EJS_gameID = 1;

by default, the netplay server url will be emuserver.emulatorjs.ga, but to default to the default ws.emulatorjs.com server add the following line

EJS_oldEJSNetplayServer = true;

To self host:

  1. Download the Server.

  2. Specify the servers address with:

EJS_netplayUrl = 'http://localhost:3000/'; // Absolute Url To Your Netplay Server

Custom Save Filename

To customize the filename of save states
simply add the following lines of code.

EJS_gameName = 'Game Name';

➞ Save Filename: Game Name.state


AD

To place an advertisement in front of the
play now screen, include the following line:

EJS_AdUrl = 'URL';

Interface Color

To use a different color for the emulator interface, use:

EJS_color = '#FF0000'; // Hex Color Code

Direct Start

To start the emulator immediately, add this line:

EJS_startOnLoaded = true;

For audio to play the user still
needs to interact with the page.


Custom Paths

Paths to emulator files can be customized with:

EJS_paths = {
    'fileName' : '/somepath',
    'emulator.js' : 'https://example.com/emulator.js',
    'n64-asmjs.data' : '/asdfds.data'
};

If a file is not defined, the default is used.


Localization

please see the localization readme


USING MAME SYSTEM

you must add the line

EJS_core = 'mame';

and the line

EJS_mameCore = '' // mame core options (example: '4|0')

set the mame core value to the mame core number (1 - 6) + | + save states supported (0 or 1)


LICENSE

Licenced under the Apache License 2.0

Please state changes and the licence when re-distributing

Read the whole license here

If I find a repository that does not follow the licence, I will report it.