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 .
⸢ Example Use ⸥ ⸢ Emulator Demo ⸥ ⸢ Beta ⸥
So I found this website called EmulatorJS.com and
I went into inspect and downloaded the resources.
I removed the ad server, and made everything work within your own domain.
This repository may soon make it possible to use all this open source.
The emulator is not illegal - the rom is - I am not responsible
for what people decide to do with this software.
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;
I have successfully rewrote the server side portion
of netplay, which you can now use 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.
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
Read the whole license here