@pkg-nec/emulatorjs 4.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/.gitattributes +1 -0
  2. package/CHANGES.md +528 -0
  3. package/CODE_OF_CONDUCT.md +128 -0
  4. package/CONTRIBUTING.md +31 -0
  5. package/LICENSE +674 -0
  6. package/README.md +284 -0
  7. package/data/compression/README.md +11 -0
  8. package/data/compression/extract7z.js +1 -0
  9. package/data/compression/extractzip.js +1 -0
  10. package/data/compression/libunrar.js +519 -0
  11. package/data/compression/libunrar.wasm +0 -0
  12. package/data/cores/README.md +22 -0
  13. package/data/cores/package.json +65 -0
  14. package/data/emulator.css +1614 -0
  15. package/data/loader.js +170 -0
  16. package/data/localization/README.md +63 -0
  17. package/data/localization/af-FR.json +339 -0
  18. package/data/localization/ar-AR.json +301 -0
  19. package/data/localization/ben-BEN.json +301 -0
  20. package/data/localization/de-GER.json +301 -0
  21. package/data/localization/el-GR.json +301 -0
  22. package/data/localization/en-US.json +339 -0
  23. package/data/localization/es-ES.json +310 -0
  24. package/data/localization/fa-AF.json +310 -0
  25. package/data/localization/hi-HI.json +301 -0
  26. package/data/localization/it-IT.json +302 -0
  27. package/data/localization/ja-JA.json +301 -0
  28. package/data/localization/jv-JV.json +301 -0
  29. package/data/localization/ko-KO.json +336 -0
  30. package/data/localization/pt-BR.json +361 -0
  31. package/data/localization/retroarch.json +617 -0
  32. package/data/localization/ro-RO.json +310 -0
  33. package/data/localization/ru-RU.json +301 -0
  34. package/data/localization/tr-TR.json +310 -0
  35. package/data/localization/vi-VN.json +302 -0
  36. package/data/localization/zh-CN.json +351 -0
  37. package/data/src/GameManager.js +464 -0
  38. package/data/src/compression.js +142 -0
  39. package/data/src/emulator.js +6158 -0
  40. package/data/src/gamepad.js +167 -0
  41. package/data/src/nipplejs.js +1 -0
  42. package/data/src/shaders.js +236 -0
  43. package/data/src/socket.io.min.js +7 -0
  44. package/data/src/storage.js +125 -0
  45. package/data/version.json +5 -0
  46. package/docs/Logo-light.png +0 -0
  47. package/docs/Logo.png +0 -0
  48. package/docs/Logo.svg +4487 -0
  49. package/docs/contributors.json +46 -0
  50. package/docs/contributors.md +125 -0
  51. package/docs/favicon.ico +0 -0
  52. package/index.html +269 -0
  53. package/package.json +35 -0
package/README.md ADDED
@@ -0,0 +1,284 @@
1
+ <div align = center>
2
+
3
+ <img width = 300 src = docs/Logo.png#gh-light-mode-only>
4
+
5
+ <br>
6
+ <br>
7
+
8
+ [![Badge License]][License]
9
+
10
+ Self-hosted **Javascript** emulation for various systems.
11
+
12
+ <br>
13
+
14
+ [![Button Website]][Website]
15
+ [![Button Usage]][Usage]<br>
16
+ [![Button Configurator]][Configurator]<br>
17
+ [![Button Demo]][Demo]<br>
18
+ [![Button Contributors]][Contributors]
19
+
20
+ Join our Discord server:
21
+
22
+ [![Join our Discord server!](https://invidget.switchblade.xyz/6akryGkETU)](https://discord.gg/6akryGkETU)
23
+
24
+ Or the Matrix server (#emulatorjs:matrix.emulatorjs.org):
25
+
26
+ <a href="https://matrix.to/#/#emulatorjs:matrix.emulatorjs.org" rel="noopener" target="_blank"><img src="https://matrix.to/img/matrix-badge.svg" alt="Chat on Matrix"></a>
27
+
28
+ </div>
29
+
30
+ <br>
31
+
32
+ > [!NOTE]
33
+ > **As of EmulatorJS version 4.0, this project is no longer a reverse-engineered version of the emulatorjs.com project. It is now a complete rewrite.**
34
+
35
+ > [!WARNING]
36
+ > As of version 4.0.9 cores and minified files are no longer included in the repository. You will need to get them separately. You can get it from [releases](https://github.com/EmulatorJS/EmulatorJS/releases) or the \* new CDN (see [this](#CDN) for more info). There is also a new version system that we will be using. (read [here](#Versioning) for more info).
37
+
38
+ > [!TIP]
39
+ > Cloning the repository is no longer recommended for production use. You should use [releases](https://github.com/EmulatorJS/EmulatorJS/releases) or the [CDN](https://cdn.emulatorjs.org/) instead.
40
+
41
+ <br>
42
+
43
+ ### Ads
44
+
45
+ *This project has no ads.* <br>
46
+ *Although, the demo page currently has an ad to help fund this project.* <br>
47
+ *Ads on the demo page may come and go depending on how many people are* <br>
48
+ *funding this project.* <br>
49
+
50
+ *You can help fund this project on* ***[patreon]***
51
+
52
+ <br>
53
+
54
+ ### Issues
55
+
56
+ *If something doesn't work, please consider opening an* ***[Issue]*** <br>
57
+ *with as many details as possible, as well as the console log.*
58
+
59
+ <br>
60
+
61
+ ### 3rd Party Projects
62
+
63
+ EmulatorJS itself is built to be a plugin, rather than an entire website. This is why there is no docker container of this project. However, there are several projects you can use that use EmulatorJS!
64
+
65
+ Looking for projects that integrate EmulatorJS? Check out https://emulatorjs.org/docs/3rd-party
66
+
67
+ <br>
68
+
69
+ ### Versioning
70
+
71
+ There are three different version names that you need to be aware of:
72
+
73
+ 1. **stable** - This will be the most stable version of the emulator both code and cores will be tested before release. It will be updated every time a new version is released on GitHub. This is the default version on the Demo.
74
+ 2. **latest** - This will contain the latest code but use the stable cores. This will be updated every time the *main* branch is updated.
75
+ 3. **nightly** - This will contain the latest code and the latest cores. The cores will be updated every day, so this is considered alpha.
76
+
77
+ <br>
78
+
79
+ ### CDN
80
+
81
+ **EmulatorJS provides a CDN** at `https://cdn.emulatorjs.org/`, allowing access to any version of the emulator.
82
+
83
+ To use it, set `EJS_pathtodata` to `https://cdn.emulatorjs.org/<version>/data/`, replacing `<version>` with `stable`, `latest`, `nightly`, or another main release.
84
+
85
+ Be sure to also update the `loader.js` path to:
86
+ `https://cdn.emulatorjs.org/<version>/data/loader.js`
87
+
88
+ <br>
89
+
90
+ ### Development:
91
+
92
+ *Run a local server with:*
93
+
94
+ 1. Open a terminal in the root of the project.
95
+
96
+ 2. Install the dependencies with:
97
+
98
+ ```sh
99
+ npm i
100
+ ```
101
+
102
+ 3. Start the minification with:
103
+
104
+ ```sh
105
+ node start
106
+ ```
107
+
108
+ 4. Open your browser and go to `http://localhost:8080/` to see the demo page.
109
+
110
+ <br>
111
+
112
+ <br>
113
+
114
+ #### Minifying
115
+
116
+ Before pushing the script files onto your production server it is recommended to minify them to save on load times as well as bandwidth.
117
+
118
+ Read the [minifying](minify/README.md) documentation for more info.
119
+
120
+ <br>
121
+
122
+ #### Localization
123
+
124
+ If you want to help with localization, please check out the [localization](data/localization/README.md) documentation.
125
+
126
+ <br>
127
+
128
+ **>> When reporting bugs, please specify what version you are using**
129
+
130
+ <br>
131
+ <br>
132
+ <br>
133
+
134
+ <h1 align = center>Supported Systems</h1>
135
+
136
+ <br>
137
+
138
+ <div align = center>
139
+
140
+ ### Nintendo
141
+
142
+ **[Game Boy Advance][Nintendo Game Boy Advance]**   | 
143
+ **[Famicom / NES][NES / Famicom]**   | 
144
+ **[Virtual Boy][Virtual Boy]**
145
+
146
+ **[Game Boy][Nintendo Game Boy]**   | 
147
+ **[SNES]**   | 
148
+ **[DS][Nintendo DS]**   | 
149
+ **[64][Nintendo 64]**
150
+
151
+ <br>
152
+ <br>
153
+
154
+ ### Sega
155
+
156
+ **[Master System][Sega Master System]**   | 
157
+ **[Mega Drive][Sega Mega Drive]**   | 
158
+ **[Game Gear][Sega Game Gear]**
159
+
160
+ **[Saturn][Sega Saturn]**   | 
161
+ **[32X][Sega 32X]**   | 
162
+ **[CD][Sega CD]**
163
+
164
+ <br>
165
+ <br>
166
+
167
+ ### Atari
168
+
169
+ **[2600][Atari 2600]**   | 
170
+ **[5200][Atari 5200]**   | 
171
+ **[7800][Atari 7800]**   | 
172
+ **[Lynx][Atari Lynx]**   | 
173
+ **[Jaguar][Atari Jaguar]**
174
+
175
+ <br>
176
+ <br>
177
+
178
+ ### Commodore
179
+
180
+ **[Commodore 64]** |
181
+ **[Commodore 128]** |
182
+ **[Commodore Amiga]**
183
+
184
+ **[Commodore PET]** |
185
+ **[Commodore Plus/4]** |
186
+ **[Commodore VIC-20]**
187
+
188
+ <br>
189
+ <br>
190
+
191
+ ### Other
192
+
193
+ **[PlayStation]**   | 
194
+ **[PlayStation Portable]**   | 
195
+ **[Arcade]**    
196
+
197
+ **[3DO]** |
198
+ **[MAME 2003]** |
199
+ **[ColecoVision]**
200
+
201
+ </div>
202
+
203
+ <br>
204
+
205
+ ## Star History
206
+
207
+ <a href="https://star-history.com/#EmulatorJS/EmulatorJS&Date">
208
+ <picture>
209
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=EmulatorJS/EmulatorJS&type=Date&theme=dark" />
210
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=EmulatorJS/EmulatorJS&type=Date" />
211
+ <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=EmulatorJS/EmulatorJS&type=Date" />
212
+ </picture>
213
+ </a>
214
+
215
+ <!-- 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 --->
216
+
217
+ [License]: LICENSE
218
+ [Issue]: https://github.com/ethanaobrien/emulatorjs/issues
219
+ [patreon]: https://patreon.com/EmulatorJS
220
+
221
+ <!-- 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 Quicklinks 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 --->
222
+
223
+ [Configurator]: https://emulatorjs.org/editor
224
+ [Contributors]: docs/contributors.md
225
+ [Website]: https://emulatorjs.org/
226
+ [Usage]: https://emulatorjs.org/docs/
227
+ [Demo]: https://demo.emulatorjs.org/
228
+
229
+
230
+ <!-- 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 Systems 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 -->
231
+
232
+ [Nintendo Game Boy Advance]: https://emulatorjs.org/docs/systems/nintendo-game-boy-advance
233
+ [Nintendo Game Boy]: https://emulatorjs.org/docs/systems/nintendo-game-boy
234
+ [Nintendo 64]: https://emulatorjs.org/docs/systems/nintendo-64
235
+ [Nintendo DS]: https://emulatorjs.org/docs/systems/nintendo-ds
236
+
237
+ [Sega Master System]: https://emulatorjs.org/docs/systems/sega-master-system
238
+ [Sega Mega Drive]: https://emulatorjs.org/docs/systems/sega-mega-drive
239
+ [Sega Game Gear]: https://emulatorjs.org/docs/systems/sega-game-gear
240
+ [Sega Saturn]: https://emulatorjs.org/docs/systems/sega-saturn
241
+ [Sega 32X]: https://emulatorjs.org/docs/systems/sega-32x
242
+ [Sega CD]: https://emulatorjs.org/docs/systems/sega-cd
243
+
244
+ [Atari Jaguar]: https://emulatorjs.org/docs/systems/atari-jaguar
245
+ [Atari Lynx]: https://emulatorjs.org/docs/systems/atari-lynx
246
+ [Atari 7800]: https://emulatorjs.org/docs/systems/atari-7800
247
+ [Atari 2600]: https://emulatorjs.org/docs/systems/atari-2600
248
+ [Atari 5200]: https://emulatorjs.org/docs/systems/atari-5200
249
+
250
+ [NES / Famicom]: https://emulatorjs.org/docs/systems/nes-famicom
251
+ [SNES]: https://emulatorjs.org/docs/systems/snes
252
+
253
+ <!--
254
+ [TurboGrafs-16 / PC Engine]: https://emulatorjs.org/systems/TurboGrafx-16
255
+ [MSX]: https://emulatorjs.org/systems/MSX
256
+ [WanderSwan / Color]: https://emulatorjs.org/systems/WonderSwan
257
+ [Neo Geo Poket]: https://emulatorjs.org/systems/Neo%20Geo%20Pocket
258
+ --->
259
+ [PlayStation]: https://emulatorjs.org/docs/systems/playstation
260
+ [PlayStation Portable]: https://emulatorjs.org/docs/systems/psp
261
+ [Virtual Boy]: https://emulatorjs.org/docs/systems/virtual-boy
262
+ [Arcade]: https://emulatorjs.org/docs/systems/arcade
263
+ [3DO]: https://emulatorjs.org/docs/systems/3do
264
+ [MAME 2003]: https://emulatorjs.org/docs/systems/mame-2003
265
+ [ColecoVision]: https://emulatorjs.org/docs/systems/colecovision
266
+
267
+ [Commodore 64]: https://emulatorjs.org/docs/systems/commodore-64
268
+ [Commodore 128]: https://emulatorjs.org/docs/systems/commodore-128
269
+ [Commodore Amiga]: https://emulatorjs.org/docs/systems/commodore-amiga
270
+ [Commodore PET]: https://emulatorjs.org/docs/systems/commodore-pet
271
+ [Commodore Plus/4]: https://emulatorjs.org/docs/systems/commodore-plus4
272
+ [Commodore VIC-20]: https://emulatorjs.org/docs/systems/commodore-vic20
273
+
274
+
275
+ <!-- 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 Badges 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 🎮 --->
276
+
277
+ [Badge License]: https://img.shields.io/badge/License-GPLv3-blue.svg?style=for-the-badge
278
+
279
+ [Button Configurator]: https://img.shields.io/badge/Code%20Generator-992cb3?style=for-the-badge
280
+ [Button Contributors]: https://img.shields.io/badge/Contributors-54b7dd?style=for-the-badge
281
+ [Button Website]: https://img.shields.io/badge/Website-736e9b?style=for-the-badge
282
+ [Button Usage]: https://img.shields.io/badge/Usage-2478b5?style=for-the-badge
283
+ [Button Demo]: https://img.shields.io/badge/Demo-528116?style=for-the-badge
284
+ [Button Beta]: https://img.shields.io/badge/Beta-bb044f?style=for-the-badge
@@ -0,0 +1,11 @@
1
+ # Compression Libraries
2
+
3
+ <!-- ## Extract7z.js
4
+
5
+ ## Extractzip.js -->
6
+
7
+ ## Libunrar.js
8
+
9
+ Emscripten port of RARLab's open-source unrar library
10
+
11
+ Source: https://github.com/tnikolai2/libunrar-js