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 ⸥
Game Boy Advance | Famicom / NES | Virtual Boy | Game Boy | SNES | DS | 64
Master System | Mega Drive | Game Gear | Saturn | 32X | CD
TurboGrafs 16 PC Engine | WanderSwan Color | Neo Geo Poket | PlayStation | Arcade | MSX | 3DO
For questions please use the Issue tab.
-
Download this repository.
Code ➞ Download As Zip
-
Use a WebServer to host the emulator.
-
Use your Browser to navigate to
localhost
ROMs can be used as zip
/ rar
/ 7z
archives.
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:
-
Download the Server.
-
Specify the servers address with:
EJS_netplayUrl = 'http://localhost:3000/'; // Absolute Url To Your Netplay Server
To customize the filename of save states
simply add the following lines of code.
EJS_gameName = 'Game Name';
➞ Save Filename: Game Name.state
To place an advertisement in front of the
play now
screen, include the following line:
EJS_AdUrl = 'URL';
To use a different color for the emulator interface, use:
EJS_color = '#FF0000'; // Hex Color Code
To start the emulator immediately, add this line:
EJS_startOnLoaded = true;
For audio to play the user still
needs to interact with the page.
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.
please see the localization readme
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
)
Licenced under the Apache License 2.0
Please state changes and the licence when re-distributing
If I find a repository that does not follow the licence, I will report it.