diff --git a/README.md b/README.md index 4877d68..34a4269 100644 --- a/README.md +++ b/README.md @@ -1,241 +1,128 @@ -

- + +

+ +
+
+ + + +

-# EmulatorJS +

+ Self-hosted Javascript emulation for various system. +

-Self-hosted **Javascript** emulation for various system. +

+ ⸢ Website ⸥  + ⸢ Usage ⸥  + ⸢ Example ⸥  + ⸢ Demo ⸥  + ⸢ Beta ⸥ +


+### Issues + *If something doesn't work, please consider opening an* ***[Issue]***
*with as many details as possible, as well as the console log.* +
+ +### Audio + *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. +
+ +### Beta + +The **beta** of the emulator core is now available for *some* systems.
+To use it, please add the following line to your code. ```js EJS_BETA = true; ``` -When reporting bugs, please specify that you are using the beta version +**>> When reporting bugs, please specify that you are using the beta version** ---- +
+
+
-**⸢ [EmulatorJS Website] ⸥ ⸢ [Example Use] ⸥ ⸢ [Emulator Demo] ⸥ ⸢ [Beta] ⸥** +

Supported Systems

---- - -## Supported Systems +
#### Nintendo -**[Game Boy Advance][Nintendo Game Boy Advance]** | **[Famicom / NES][NES / Famicom]** | **[Virtual Boy][Virtual Boy]** | **[Game Boy][Nintendo Game Boy]** | **[SNES]** | **[DS][Nintendo DS]** | **[64][Nintendo 64]** +**[Game Boy Advance][Nintendo Game Boy Advance]**   |  +**[Famicom / NES][NES / Famicom]**   |  +**[Virtual Boy][Virtual Boy]**   |  +**[Game Boy][Nintendo Game Boy]**   |  +**[SNES]**   |  +**[DS][Nintendo DS]**   |  +**[64][Nintendo 64]** + +
#### Sega -**[Master System][Sega Master System]** | **[Mega Drive][Sega Mega Drive]** | **[Game Gear][Sega Game Gear]** | **[Saturn][Sega Saturn]** | **[32X][Sega 32X]** | **[CD][Sega CD]** +**[Master System][Sega Master System]**   |  +**[Mega Drive][Sega Mega Drive]**   |  +**[Game Gear][Sega Game Gear]**   |  +**[Saturn][Sega Saturn]**   |  +**[32X][Sega 32X]**   |  +**[CD][Sega CD]** + +
#### Atari -**[Jaguar][Atari Jaguar]** | **[Lynx][Atari Lynx]** | **[7800][Atari 7800]** | **[2600][Atari 2600]** +**[Jaguar][Atari Jaguar]**   |  +**[Lynx][Atari Lynx]**   |  +**[7800][Atari 7800]**   |  +**[2600][Atari 2600]** + +
#### Other -**[TurboGrafs 16 PC Engine][TurboGrafs-16 / PC Engine]** | **[WanderSwan Color][WanderSwan / Color]** | **[Neo Geo Poket][Neo Geo Poket]** | **[PlayStation]** | **[Arcade]** | **[MSX]** | **[3DO]** - ---- - - -## Usage - -*For questions please use the* ***[Issue]*** *tab.* +**[TurboGrafs 16 PC Engine][TurboGrafs-16 / PC Engine]**   |  +**[WanderSwan Color][WanderSwan / Color]**   |  +**[Neo Geo Poket][Neo Geo Poket]**   |  +**[PlayStation]**   |  +**[Arcade]**   |  +**[MSX]**   |  +**[3DO]**
-##### 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: - -```js -// 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 - -```js -EJS_oldEJSNetplayServer = true; -``` - -
- -*To self host:* - -1. Download the **[Server]**. - -2. Specify the servers address with: - -```js -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. - -```js -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: - -```js -EJS_AdUrl = 'URL'; -``` - -
- -##### Interface Color - -To use a different color for the emulator interface, use: - -```js -EJS_color = '#FF0000'; // Hex Color Code -``` - -
- -##### Direct Start - -To start the emulator immediately, add this line: - -```js -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: - -```js -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 - -```js -EJS_core = 'mame'; -``` - -and the line - -```js -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 GNU General Public License v3.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. - - -[EmulatorJS Website]: https://emulatorjs.ga/ -[Example Use]: https://coldcast.org/games/1/Super-Mario-Bros -[Emulator Demo]: https://emulatorjs.ga/demo/ -[Beta]: https://emulatorjs.ga/beta/ - [Issue]: https://github.com/ethanaobrien/emulatorjs/issues -[This repository]: https://github.com/linuxserver/emulatorjs -[Server]: https://github.com/ethanaobrien/emuserver/releases - -[the localization readme]: data/localization/ -[Read the whole license here]: LICENSE - -[NES / Famicom]: docs/NES-Famicom.md -[SNES]: docs/SNES.md -[Nintendo 64]: docs/Nintendo%2064.md -[Nintendo Game Boy]: docs/Nintendo%20Game%20Boy.md -[Nintendo Game Boy Advance]: docs/Nintendo%20Game%20Boy%20Advance.md -[Nintendo DS]: docs/Nintendo%20DS.md -[PlayStation]: docs/PlayStation.md -[Virtual Boy]: docs/Virtual%20Boy.md -[Sega Mega Drive]: docs/Sega%20Mega%20Drive.md -[Sega Master System]: docs/Sega%20Master%20System.md -[Sega CD]: docs/Sega%20CD.md -[Atari Lynx]: docs/Atari%20Lynx.md -[MSX]: docs/MSX.md -[3DO]: docs/3DO.md -[Sega 32X]: docs/Sega%2032X.md -[Atari Jaguar]: docs/Atari%20Jaguar.md -[Neo Geo Poket]: docs/Neo%20Geo%20Poket.md -[Sega Game Gear]: docs/Sega%20Game%20Gear.md -[Sega Saturn]: docs/Sega%20Saturn.md -[Atari 7800]: docs/Atari%207800.md -[WanderSwan / Color]: docs/WanderSwan-Color.md -[TurboGrafs-16 / PC Engine]: docs/TurboGrafs%2016-PC%20Engine.md -[Arcade]: docs/Arcade.md -[Atari 2600]: docs/Atari%202600.md +[NES / Famicom]: docs/Systems/NES-Famicom.md +[SNES]: docs/Systems/SNES.md +[Nintendo 64]: docs/Systems/Nintendo%2064.md +[Nintendo Game Boy]: docs/Systems/Nintendo%20Game%20Boy.md +[Nintendo Game Boy Advance]: docs/Systems/Nintendo%20Game%20Boy%20Advance.md +[Nintendo DS]: docs/Systems/Nintendo%20DS.md +[PlayStation]: docs/Systems/PlayStation.md +[Virtual Boy]: docs/Systems/Virtual%20Boy.md +[Sega Mega Drive]: docs/Systems/Sega%20Mega%20Drive.md +[Sega Master System]: docs/Systems/Sega%20Master%20System.md +[Sega CD]: docs/Systems/Sega%20CD.md +[Atari Lynx]: docs/Systems/Atari%20Lynx.md +[MSX]: docs/Systems/MSX.md +[3DO]: docs/Systems/3DO.md +[Sega 32X]: docs/Systems/Sega%2032X.md +[Atari Jaguar]: docs/Systems/Atari%20Jaguar.md +[Neo Geo Poket]: docs/Systems/Neo%20Geo%20Poket.md +[Sega Game Gear]: docs/Systems/Sega%20Game%20Gear.md +[Sega Saturn]: docs/Systems/Sega%20Saturn.md +[Atari 7800]: docs/Systems/Atari%207800.md +[WanderSwan / Color]: docs/Systems/WanderSwan-Color.md +[TurboGrafs-16 / PC Engine]: docs/Systems/TurboGrafs%2016-PC%20Engine.md +[Arcade]: docs/Systems/Arcade.md +[Atari 2600]: docs/Systems/Atari%202600.md diff --git a/docs/Emulatorjs Logo.png b/docs/Logo.png similarity index 100% rename from docs/Emulatorjs Logo.png rename to docs/Logo.png diff --git a/docs/3DO.md b/docs/Systems/3DO.md similarity index 100% rename from docs/3DO.md rename to docs/Systems/3DO.md diff --git a/docs/Arcade.md b/docs/Systems/Arcade.md similarity index 100% rename from docs/Arcade.md rename to docs/Systems/Arcade.md diff --git a/docs/Atari 2600.md b/docs/Systems/Atari 2600.md similarity index 100% rename from docs/Atari 2600.md rename to docs/Systems/Atari 2600.md diff --git a/docs/Atari 7800.md b/docs/Systems/Atari 7800.md similarity index 100% rename from docs/Atari 7800.md rename to docs/Systems/Atari 7800.md diff --git a/docs/Atari Jaguar.md b/docs/Systems/Atari Jaguar.md similarity index 100% rename from docs/Atari Jaguar.md rename to docs/Systems/Atari Jaguar.md diff --git a/docs/Atari Lynx.md b/docs/Systems/Atari Lynx.md similarity index 100% rename from docs/Atari Lynx.md rename to docs/Systems/Atari Lynx.md diff --git a/docs/MSX.md b/docs/Systems/MSX.md similarity index 100% rename from docs/MSX.md rename to docs/Systems/MSX.md diff --git a/docs/NES-Famicom.md b/docs/Systems/NES-Famicom.md similarity index 100% rename from docs/NES-Famicom.md rename to docs/Systems/NES-Famicom.md diff --git a/docs/Neo Geo Poket.md b/docs/Systems/Neo Geo Poket.md similarity index 100% rename from docs/Neo Geo Poket.md rename to docs/Systems/Neo Geo Poket.md diff --git a/docs/Nintendo 64.md b/docs/Systems/Nintendo 64.md similarity index 100% rename from docs/Nintendo 64.md rename to docs/Systems/Nintendo 64.md diff --git a/docs/Nintendo DS.md b/docs/Systems/Nintendo DS.md similarity index 100% rename from docs/Nintendo DS.md rename to docs/Systems/Nintendo DS.md diff --git a/docs/Nintendo Game Boy Advance.md b/docs/Systems/Nintendo Game Boy Advance.md similarity index 100% rename from docs/Nintendo Game Boy Advance.md rename to docs/Systems/Nintendo Game Boy Advance.md diff --git a/docs/Nintendo Game Boy.md b/docs/Systems/Nintendo Game Boy.md similarity index 100% rename from docs/Nintendo Game Boy.md rename to docs/Systems/Nintendo Game Boy.md diff --git a/docs/PlayStation.md b/docs/Systems/PlayStation.md similarity index 100% rename from docs/PlayStation.md rename to docs/Systems/PlayStation.md diff --git a/docs/SNES.md b/docs/Systems/SNES.md similarity index 100% rename from docs/SNES.md rename to docs/Systems/SNES.md diff --git a/docs/Sega 32X.md b/docs/Systems/Sega 32X.md similarity index 100% rename from docs/Sega 32X.md rename to docs/Systems/Sega 32X.md diff --git a/docs/Sega CD.md b/docs/Systems/Sega CD.md similarity index 100% rename from docs/Sega CD.md rename to docs/Systems/Sega CD.md diff --git a/docs/Sega Game Gear.md b/docs/Systems/Sega Game Gear.md similarity index 100% rename from docs/Sega Game Gear.md rename to docs/Systems/Sega Game Gear.md diff --git a/docs/Sega Master System.md b/docs/Systems/Sega Master System.md similarity index 100% rename from docs/Sega Master System.md rename to docs/Systems/Sega Master System.md diff --git a/docs/Sega Mega Drive.md b/docs/Systems/Sega Mega Drive.md similarity index 100% rename from docs/Sega Mega Drive.md rename to docs/Systems/Sega Mega Drive.md diff --git a/docs/Sega Saturn.md b/docs/Systems/Sega Saturn.md similarity index 100% rename from docs/Sega Saturn.md rename to docs/Systems/Sega Saturn.md diff --git a/docs/TurboGrafs 16-PC Engine.md b/docs/Systems/TurboGrafs 16-PC Engine.md similarity index 100% rename from docs/TurboGrafs 16-PC Engine.md rename to docs/Systems/TurboGrafs 16-PC Engine.md diff --git a/docs/Virtual Boy.md b/docs/Systems/Virtual Boy.md similarity index 100% rename from docs/Virtual Boy.md rename to docs/Systems/Virtual Boy.md diff --git a/docs/WanderSwan-Color.md b/docs/Systems/WanderSwan-Color.md similarity index 100% rename from docs/WanderSwan-Color.md rename to docs/Systems/WanderSwan-Color.md diff --git a/docs/Usage.md b/docs/Usage.md new file mode 100644 index 0000000..515ca53 --- /dev/null +++ b/docs/Usage.md @@ -0,0 +1,143 @@ +# 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: + +```js +// 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 + +```js +EJS_oldEJSNetplayServer = true; +``` + +
+ +*To self host:* + +1. Download the **[Server]**. + +2. Specify the servers address with: + +```js +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. + +```js +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: + +```js +EJS_AdUrl = 'URL'; +``` + +
+ +## Interface Color + +To use a different color for the emulator interface, use: + +```js +EJS_color = '#FF0000'; // Hex Color Code +``` + +
+ +## Direct Start + +To start the emulator immediately, add this line: + +```js +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: + +```js +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 + +To use the **MAME** system you will have to add: + +```js +EJS_core = 'mame'; +EJS_mameCore = '' // mame core options (example: '4|0') +``` + +to your code. + +Set the mame core value to the mame core number ( `1` - `6` ) + `|` + save states supported ( `0` or `1` ) + + + + +[Issue]: https://github.com/ethanaobrien/emulatorjs/issues +[Server]: https://github.com/ethanaobrien/emuserver/releases +[the localization readme]: data/localization/