diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..8692f15 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,13 @@ +# These are supported funding model platforms + +github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: EmulatorJS # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/.github/ISSUE_TEMPLATE/bug.md b/.github/ISSUE_TEMPLATE/bug.md new file mode 100644 index 0000000..432b5e5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.md @@ -0,0 +1,30 @@ +--- +name: Bug +about: Something isn't functioning as intended +title: "[Bug]" +labels: '' +assignees: '' + +--- + + +#### Make sure your issue doesn't get closed! Make sure you have done the following items + +- [ ] I have collected a **FULL** log of the console, with `EJS_DEBUG_XX` set to true, and uploaded it straight to GitHub. +- [ ] I have not made any changes to the EmulatorJS instance I am running into this bug on. +- [ ] I am on the latest version of EmulatorJS +- [ ] I have not attached any images or logs via external sites. I have uploaded them straight to GitHub and acknowledge that external sites may pose a security issue. +- [ ] I have included, **IN DETAIL**, the steps to reproduce the bug. + + diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..0a35840 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,42 @@ +name: Minify Code + +on: [push, pull_request, workflow_dispatch] + +jobs: + paths-filter: + runs-on: ubuntu-latest + outputs: + output1: ${{ steps.filter.outputs.data }} + steps: + - uses: actions/checkout@v2 + - uses: dorny/paths-filter@v2 + id: filter + with: + filters: | + data: + - 'data/**' + # run only if 'data' files were changed + - name: workflow tests + if: steps.filter.outputs.data == 'true' + run: echo "Data file" + + # run only if not 'data' files were changed + - name: not workflow tests + if: steps.filter.outputs.data != 'true' + run: echo "NOT Data file" + + next-job: + runs-on: ubuntu-latest + # Wait from the paths-filter to be completed before starting next-job + needs: paths-filter + if: needs.paths-filter.outputs.output1 == 'true' + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2 + with: + node-version: '12' + - run: cd data/minify && npm install + - run: cd data/minify && npm run build + - uses: EndBug/add-and-commit@v9 + with: + default_author: github_actions diff --git a/.gitignore b/.gitignore index 8e06e59..e8c826a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ **/node_modules/ data/minify/package-lock.json *.db -roms/ diff --git a/CHANGES.md b/CHANGES.md new file mode 100644 index 0000000..37b8cf9 --- /dev/null +++ b/CHANGES.md @@ -0,0 +1,247 @@ +# Changes + +# 4.0 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/f7fa5d41487a424233b40e903020455606d68fee) +- Fixed iOS bug for iPads +- Added netplay! (only working on new cores) + +# 3.1.5 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/f7fa5d41487a424233b40e903020455606d68fee) +- Fixed iOS bug for iPads +- Added netplay! (only working on new cores) + +# 3.1.0 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/614f5cb55e2768199ba05b756b47d0ab7ab283fd) +- Added ability to drag and drop save states. +- Fixed some "update" and "cancel" and "close" button confustion +- Removed save state retroarch messages +- Beta netplay cleanup (not yet working) +- (Theoretically) fixed a bug that did not allow iOS devices to work + +# 3.0.5 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/44c31371fb3c314cd8dea36ccbaad89fb3ab98e6) +- Fixed screen recording on devices that do not support getUserMedia api. +- Added C label buttons to nintendo 64 virtual gamepad. +- Fixed EJS_color bug. +- Savestates are pulled from the core itself, to always be correct. +- Several new cores. (a5200, beetle_vb, desmume2015, fbalpha2012_cps1, fbalpha2012_cps2, fceumm, gambatte, mame2003, mednafen_psx, mednafen_psx_hw, melonds, mgba, mupen64plus_next, nestopia, snes9x) +- D-pad for virtual gamepad. +- Updated translation files to include new menu options. +- Ability to add more than one zone object to virtual gamepads. +- Added ability to set custom menu options. +- Virtual gamepad left handed mode. +- Fixed Screen record svg. +- Updated svg icons. +- Cache "clear all" button. +- Cache button moved to menu bar. +- Added feature that will display the current downloaded size when the content length is not available. + +# 2.3.9 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/088942083e44510f07133f2074a2d63a8af477cd) +- Fixed incorrect variable referencing when update bios download data callback. +- Fixed rom storage size limits. +- Fixed download percent not showing with some files. + +# 2.3.8 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/5f176b963e4b2055983b82396378d1e3837a69c4) +- Remove broken shader. +- Add download percent message. +- Fixed UI "saving state" message not going away. + +# 2.3.7 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/8b9607becfe0aaad42b8b8486c7d379821b72125) +- Add more shaders. +- Add bold fontsize option to custom virtual gamepad settings. +- No longer set "normalOptions" from localization file. + +# 2.3.6 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/b2919bc2c3d2d4c9fe3ab4f4486790a376b7acfe) +- Remove default control mappings for gamepads. +- Upgraded invalid character regex to catch more characters. + +# 2.3.5 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/a5a9916aba041e75ee73815376ed4fd2e22701bd) +- Use regex to detect and replace invalid characters in filename/gamename settings. + +# 2.3.4 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/45d982b6362cfd29cb2eda9721066e03893ba0d8) +- Add new arcade core. +- Fix patch file game id set bug. + +# 2.3.4 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/45d982b6362cfd29cb2eda9721066e03893ba0d8) +- Add new arcade core. + +# 2.3.3 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/11bddd5a4277aa04f80b941f05cc024b3de58bfc) +- Make version in loader.js reasonable. +- Created function to return the game id to prevent unnecessary data stored. + +# 2.3.2 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/e9e017435f2c41c6c2b127024cc88ac51bdf04d9) +- Fix reference error. +- Fix bug in custom virtual gamepad processor where if value is set to 0 it will see that as the value being missing. + +# 2.3.1 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/0fd6d58e2011fa1a39bd2e11ba3d2f17773f0961) +- Use let instead of var. + +# 2.3.0 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/2fd0f545285151524262cc799efef6d996d7c6c1) +- Added ability to customize virtual gamepad UI. +- Fixed bug where shader is not set on start. + +# 2.2.9 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/018c39d4065b866487f8f18ca88c9488eab69a6d) +- Added feature to save save files to indexeddb every 5 minutes. + +# 2.2.8 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/9860d662d02b56417044cca11937448041d9cf43) +- Re-write gamepad handler. + +# 2.2.7 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/c03d18990b6536c1503bba2c640dbc13db982bb3) +- Removed un-needed FS proxy functions. + +# 2.2.6 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/fd71b5dfc2bd44d8e1f0e7c6c7b3ee1a1127a696) +- Added fps counter. +- Fixed gba core aspect. + +# 2.2.5 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/4b444ec23918149a6052807d778af82f79883c01) +- Added ability to set custom control mappings. +- Added ability to set custom default volume value. +- Fixed gamepad axis as button, gamepad varaible compared to incorrect value. +- Added ability to hide/show menu/context menu buttons. +- Added ability to set game url to other data types. + +# 2.2.3 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/41eed05677b4927bd114613040bfe4572c92c4b4) +- Fixed rar unarchiving function reference. +- Updated rar header detection. +- Removed netplay. + +# 2.2.1 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/19980deb12c3f0790176db6fc7b8b2de4069bf4e) +- Added core menu options for new cores. +- Added new mame2003 core. +- Added support for debug emscripten setting for new cores. + +# 2.0.1 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/a72222c39a793c4ff470ebb2b71c04829fee4b5e) +- Control mapping for beta cores. +- Updated beta cores. +- Beta cores now the default option! +- Added a5200 core. +- Fixed save state for new n64 core. + +# 1.2.2 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/8ab7bb3f49da373ed5d291c5f72039bbabf2fbc8) +- Moved virtual gamepad menu button to the top left as 3 lines. +- Added screen orientation lock. +- Added beta n64 core! + +# 1.2.1 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/638658e6202fd39cb5c94bedcfa00ccdf8b25840) +- Updated beta core files. + +# 1.1.6 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/fa153ba76791184d978f9fb8b69991b05b161bc8) +- Replaced axios module with custom script. +- Added pause/play for beta cores. +- Sepperated css into its own file. +- Renamed emu-min.js to emulator.min.js. + +# 1.1.5 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/2767c635b8a6e05c57e054d2f9d01ae0c4ff6d47) +- Cleaned up fetch error function. +- Cleaned up virtual gamepad event listeners. +- Add code of conduct. + +# 1.1.2 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/64731dd8219931155b4e698aa98dbf65c2120038) +- Fixed error where mame files were misnamed. +- Fixed bug where variable referenced was not defined in loader.js. +- Added .gitignore +- Added nodejs script to minify js files. +- Added audio to screen recording. +- Removed lots of dead code from emulator.js file. +- Update axios module. +- Added CORS error message +- Update nodejs buffer module. + +# 1.1.0 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/715ded4ae23c2135bc9a8b9b7599f12c905393b3) +- Added minify feature. +- Added emulatorjs logo. +- Added beta nds and gb core. +- Fixed bug where when wasm was supported on the beta cores and not the old cores, a network error would appear if not using beta. +- Added volume setting and cheats to beta cores. + +# 1.0 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/fde44b095bb89e299daaaa4c8d7deebc79019865) +- Official release of the beta cores. +- Ability to use beta cores in production. +- Ability to use the old emulatorjs netplay server. +- Set screen recording out file name to gamename if present. +- Set screenshot out file name to gamename if present. +- Fixed virtual gamepad bug where a function was referenced to as an array. + +# 0.4.26 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/0709829a11266b6ab4bbbf3e61d6dd6d3c372133) +- Sepperated emulator.js file into 2 files. +- Added support for a custom netplay server. +- Fixed netplay room password input bug. +- Fixed bug on iOS where virtual gamepad zone was un-responsive. +- Added save state location feature. +- Added mame core setting. +- Added beta cores! +- Added localization. +- Re-wrote virtual gamepad code. +- Added EJS_terminate function. +- Exposed simulate_input function to window. +- Update webrtc adapter. + +# 0.4.25 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/ef3200ef87bffe57241e05ae9646cc201142ec46) +- Moved load state on start from loader.js file to emulator.js file. +- Moved data path function from loader.js file to emulator.js file. +- Added ability to set custom path to data through `EJS_pathtodata` variable. +- Added support for custom paths. +- Expose the module and loader to window. +- Added `EJS_startOnLoaded` to start the emulator on load. +- Added quick save state slots. +- Added save state message. +- Only show save state slot in settings when save states are supported. +- Added ds pointer lock. +- Added menu button to virtual gamepad. Menu will only open when clicked on mobile. +- Created licenese +- Created official emulatorjs website. + +# 0.4.24 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/73ff641616bcd10f088a004002183760832a1afc) +- Deobsfocuted emulator.js and loader.js files to the most of my extent. +- Added quick save/load hotkeys. +- Added ability to use gamepad axis as button. +- Fixed typo in controls title. +- Only show needed inputs per system in control settings. +- Re-write the loader.js file. +- Exposed some variables to window. +- Cleaned up context menu code. +- Cleaned up some syntax in emulator.js file. +- Declared `EJS_AdUrl` through loader.js file. +- Fixed bug where mapping an axis as a button didn't work. +- Added missing legacy n64 core. +- Updated n64 core. + +# 0.4.23-07 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/83e148c82cbc8b4e835a808dcf84456975f82a7c) +- Removed not needed code. +- Added reset button to control settings. +- Added clear button to control settings. +- Added `EJS_AdUrl` option, the ability to add an ad to the emulator. +- Cleaned up some file fetching. +- Fixed RAR unarchiving. + +# 0.4.23-05 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/018c787ccf6daca58c863d38fff61910f33f98ec) +- No longer cache games with the protocols of `file:`, and `chrome-extension:`. +- Changed default keymappings. +- Added screen recording button. + +# 0.4.23-04 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/6464bbedc1cd58c023cd66656540fc174aedde8b) +- Added mame2003, snes2002, snes2005, snes2010, and vbanext cores. +- Added asmjs for all supported cores. + +# 0.4.23-03 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/c883f267e1e56ed6b6472b891f78704c6e4b4c17) +- Start loader.js deobsfocuting. +- Deobsfocute extractzip.js. +- Added `EJS_gameName`, the ability to change the file name of save states. + +# 0.4.23-02 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/5d97620b25a81e49c6ba313e586fb37a5ce66002) +- Start emulator.js deobsfocuting. + +# 0.4.23-01 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/42a7e129cfded266b72539e8d1b5978d5e4119d8) +- Added support for loading "blob:" urls. +- Added support for loading state on game start. + +# 0.4.23 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/5f5cf5cbba29cfd772d525a4c73a4bc5ea26654c) +- Added update available message. +- Fixed a bug where the 'x' from the ad iframe was still visible on game start. +- Added a2600 and mame cores. +- Remove visible 'x' +- Add rar extraction support. + +# 0.4.19 [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/4fd22871663e5896bb5d0ce29a50ad508462387a) +- Added support for 32x, 3do, a7800, arcade, bluemsx, jaguar, lynx, ngp, pce, saturn, sega, segacd, and ws cores. + +# Initial release [View Tree](https://github.com/EmulatorJS/EmulatorJS/tree/be2db16cba8bd85bf901cd89ca6de51414cea792) +- Support for unzipping zip files. +- Support for unzipping 7zip files. +- Support for vb, snes, psx, nes, nds, n64, gba, and gb systems. Only support for WASM. diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..7032dd5 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +demo.emulatorjs.org \ No newline at end of file diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..d026035 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,128 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +ethan.a.obrien@gmail.com. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. diff --git a/README.md b/README.md new file mode 100644 index 0000000..a8e4bf0 --- /dev/null +++ b/README.md @@ -0,0 +1,193 @@ + +
+ + + + +
+
+ +[![Badge License]][License] + + +Self-hosted **Javascript** emulation for various system. + +
+ +Try out netplay [here](https://demo.emulatorjs.org/demos/netplay.html)! + +
+ +[![Button Website]][Website]  +[![Button Usage]][Usage]
+[![Button Configurator]][Configurator]
+[![Button Demo]][Demo]  +[![Button Legacy]][Legacy] + +[![Button Contributors]][Contributors] + +Join our Discord server: + +[![Join our Discord server!](https://invite.caspertheghost.me/?inviteCode=6akryGkETU&format=svg)](https://discord.gg/6akryGkETU) + +
+ +
+ +### Ads + +*This project has no ads.*
+*Although, the demo page currently has an ad to help fund this project.*
+*Ads on the demo page may come and go depending on how many people are*
+*funding this project.*
+ +*You can help fund this project on* ***[patreon]*** + +
+ + + +### Issues + +*If something doesn't work, please consider opening an* ***[Issue]***
+*with as many details as possible, as well as the console log.* + +
+ +### Extensions + + **[GameLibrary]** + +   *A library overview for your **ROM** folder.* + +
+ +**>> When reporting bugs, please specify that you are using the old version** + +
+
+
+ +

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]** + +
+
+ +### Sega + +**[Master System][Sega Master System]**   |  +**[Mega Drive][Sega Mega Drive]**   |  +**[Game Gear][Sega Game Gear]** + +**[Saturn][Sega Saturn]**   |  +**[CD][Sega CD]** + +
+
+ +### Atari + +**[2600][Atari 2600]**   |  +**[5200][Atari 5200]**   |  +**[7800][Atari 7800]**   |  +**[Lynx][Atari Lynx]**   |  +**[Jaguar][Atari Jaguar]** + + +
+
+ +### Other + +**[PlayStation]**   |  +**[Arcade]**   |  +**[3DO]**   |  +**[MAME 2003]** + +
+ +
+ + + + +[License]: LICENSE +[Issue]: https://github.com/ethanaobrien/emulatorjs/issues +[patreon]: https://patreon.com/EmulatorJS + + + + +[GameLibrary]: https://github.com/Ramaerel/emulatorjs-GameLibrary + + + + +[Configurator]: https://emulatorjs.org/editor.html +[Contributors]: docs/Contributors.md +[Website]: https://emulatorjs.org/ +[Legacy]: https://coldcast.org/games/1/Super-Mario-Bros +[Usage]: https://emulatorjs.org/docs/ +[Demo]: https://demo.emulatorjs.org/ + + + + +[Nintendo Game Boy Advance]: docs/Systems/Nintendo%20Game%20Boy%20Advance.md +[Nintendo Game Boy]: docs/Systems/Nintendo%20Game%20Boy.md +[Nintendo 64]: docs/Systems/Nintendo%2064.md +[Nintendo DS]: docs/Systems/Nintendo%20DS.md + +[Sega Master System]: docs/Systems/Sega%20Master%20System.md +[Sega Mega Drive]: docs/Systems/Sega%20Mega%20Drive.md +[Sega Game Gear]: docs/Systems/Sega%20Game%20Gear.md +[Sega Saturn]: docs/Systems/Sega%20Saturn.md +[Sega 32X]: docs/Systems/Sega%2032X.md +[Sega CD]: docs/Systems/Sega%20CD.md + +[Atari Jaguar]: docs/Systems/Atari%20Jaguar.md +[Atari Lynx]: docs/Systems/Atari%20Lynx.md +[Atari 7800]: docs/Systems/Atari%207800.md +[Atari 2600]: docs/Systems/Atari%202600.md +[Atari 5200]: docs/Systems/Atari%205200.md + +[NES / Famicom]: docs/Systems/NES-Famicom.md +[SNES]: docs/Systems/SNES.md + +[TurboGrafs-16 / PC Engine]: docs/Systems/TurboGrafs%2016-PC%20Engine.md +[WanderSwan / Color]: docs/Systems/WanderSwan-Color.md +[Neo Geo Poket]: docs/Systems/Neo%20Geo%20Poket.md +[PlayStation]: docs/Systems/PlayStation.md +[Virtual Boy]: docs/Systems/Virtual%20Boy.md +[Arcade]: docs/Systems/Arcade.md +[MSX]: docs/Systems/MSX.md +[3DO]: docs/Systems/3DO.md +[MAME 2003]: docs/Systems/MAME%202003.md + + + + +[Badge License]: https://img.shields.io/badge/License-GPLv3-blue.svg?style=for-the-badge + +[Button Configurator]: https://img.shields.io/badge/Configurator-992cb3?style=for-the-badge +[Button Contributors]: https://img.shields.io/badge/Contributors-54b7dd?style=for-the-badge +[Button Website]: https://img.shields.io/badge/Website-736e9b?style=for-the-badge +[Button Legacy]: https://img.shields.io/badge/Legacy-ab910b?style=for-the-badge +[Button Usage]: https://img.shields.io/badge/Usage-2478b5?style=for-the-badge +[Button Demo]: https://img.shields.io/badge/Demo-528116?style=for-the-badge +[Button Beta]: https://img.shields.io/badge/Beta-bb044f?style=for-the-badge diff --git a/a.html b/a.html deleted file mode 100644 index 0a09e71..0000000 --- a/a.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - - -
-
-
- - - - - diff --git a/ads.txt b/ads.txt new file mode 100644 index 0000000..4cad853 --- /dev/null +++ b/ads.txt @@ -0,0 +1 @@ +google.com, pub-8832864985153925, DIRECT, f08c47fec0942fa0 \ No newline at end of file diff --git a/data/css/main.css b/data/emulator.css similarity index 100% rename from data/css/main.css rename to data/emulator.css diff --git a/data/emulator.js b/data/emulator.js index fa6d6e0..2122dd4 100644 --- a/data/emulator.js +++ b/data/emulator.js @@ -20,7 +20,6 @@ class EmulatorJS { 'mame2003': 'mame2003', 'fbalpha2012_cps1': 'arcade', 'fbalpha2012_cps2': 'arcade', - 'mednafen_psx': 'psx', 'mednafen_psx_hw': 'psx', 'melonds': 'nds', 'nestopia': 'nes', @@ -157,14 +156,27 @@ class EmulatorJS { })(); } } + checkForUpdates() { + fetch('https://raw.githack.com/EmulatorJS/EmulatorJS/main/data/version.json').then(response => { + if (response.ok) { + response.text().then(body => { + let version = JSON.parse(body); + if (this.ejs_num_version < version.current_version) { + console.log('Using emulatorjs version ' + this.ejs_num_version + ' but the newest version is ' + version.current_version + '\nopen https://github.com/EmulatorJS/EmulatorJS to update'); + } + }) + } + }) + } constructor(element, config) { - this.ejs_version = "4.0"; + this.ejs_version = "4.0.1"; + this.ejs_num_version = 40.1; + this.debug = (window.EJS_DEBUG_XX === true); + if (this.debug || (window.location && ['localhost', '127.0.0.1'].includes(location.hostname))) this.checkForUpdates(); this.netplay = false; //DO NOT ENABLE UNLESS YOU KNOW WHAT YOU'RE DOING this.config = config; - window.EJS_TESTING = this; this.currentPopup = null; this.touch = false; - this.debug = (window.EJS_DEBUG_XX === true); this.cheats = []; this.started = false; this.volume = (typeof this.config.volume === "number") ? this.config.volume : 0.5; diff --git a/data/loader.js b/data/loader.js index 7e883b8..e690be8 100644 --- a/data/loader.js +++ b/data/loader.js @@ -41,7 +41,7 @@ await loadScript('gamepad.js'); await loadScript('GameManager.js'); await loadScript('socket.io.min.js'); - await loadStyle('css/main.css'); + await loadStyle('emulator.css'); } const config = {}; config.gameUrl = window.EJS_gameUrl; @@ -51,7 +51,7 @@ config.gameName = window.EJS_gameName; config.color = window.EJS_color; config.adUrl = window.EJS_AdUrl; - config.adTimer = window.EJS_AdTimer + config.adTimer = window.EJS_AdTimer; config.VirtualGamepadSettings = window.EJS_VirtualGamepadSettings; config.buttonOpts = window.EJS_Buttons; config.volume = window.EJS_volume; @@ -83,6 +83,15 @@ } } - new EmulatorJS(EJS_player, config); + window.EJS_emulator = new EmulatorJS(EJS_player, config); + if (typeof window.EJS_onGameStart === "function") { + window.EJS_emulator.on("start", window.EJS_onGameStart); + } + if (typeof window.EJS_onLoadState === "function") { + window.EJS_emulator.on("load", window.EJS_onLoadState); + } + if (typeof window.EJS_onSaveState === "function") { + window.EJS_emulator.on("save", window.EJS_onSaveState); + } })(); \ No newline at end of file diff --git a/data/version.json b/data/version.json new file mode 100644 index 0000000..522e0c4 --- /dev/null +++ b/data/version.json @@ -0,0 +1 @@ +{ "current_version": 40.1 } diff --git a/docs/Contributors.md b/docs/Contributors.md new file mode 100644 index 0000000..3c7e218 --- /dev/null +++ b/docs/Contributors.md @@ -0,0 +1,109 @@ + +
+ +
+ +# Owner + +
+
+ +![Ethan Avatar] + +**[![Badge Ethan GitHub]][Ethan GitHub]**  + +
+
+
+
+ +# Contributors + +
+
+ +![Allan Avatar] + +### Co-Owner + +***Various Fixes & Additions*** + +**[![Badge Allan GitHub]][Allan GitHub]**  + +**[![Badge Allan Website]][Allan Website]**  + +
+
+
+ + +![Archiver Avatar] + +***Documentation Design*** + +**[![Badge Archiver GitHub]][Archiver GitHub]**  + +**[![Badge Archiver Marked]][Archiver Marked]**  + +
+
+
+ + +[![Avatar Nekro]][GitHub Nekro]    +[![Avatar Grey]][GitHub Grey]    +[![Avatar Kyle]][GitHub Kyle] +[![Avatar Protektor]][GitHub Protektor] +[![Avatar ericKuang]][GitHub ericKuang] +[![Avatar seedgou]][GitHub seedgou] + +
+ + + + +[Avatar Nekro]: https://github.com/imneckro.png?size=100 +[GitHub Nekro]: https://github.com/imneckro 'ImNekro - ck-oneman' + +[Avatar Grey]: https://github.com/Grey41.png?size=100 +[GitHub Grey]: https://github.com/Grey41 'Grey41 - Grey Hope' + +[Avatar Kyle]: https://github.com/cheesykyle.png?size=100 +[GitHub Kyle]: https://github.com/cheesykyle 'CheesyKyle - Kyle Steffel' + +[Avatar Protektor]: https://github.com/Protektor-Desura.png?size=100 +[GitHub Protektor]: https://github.com/Protektor-Desura 'Protektor-Desura - Protektor' + +[Avatar ericKuang]: https://github.com/eric183.png?size=100 +[GitHub ericKuang]: https://github.com/eric183 'eric183 - ericKuang' + +[Avatar seedgou]: https://github.com/rwv.png?size=100 +[GitHub seedgou]: https://github.com/rwv 'rwv - seedgou' + + + + +[Badge Ethan GitHub]: https://img.shields.io/badge/Ethan_O'_Brien-181717.svg?style=for-the-badge&logo=GitHub&logoColor=white + +[Ethan Avatar]: https://avatars.githubusercontent.com/u/77750390?s=90 'Ethan O\'Brien' +[Ethan GitHub]: https://github.com/ethanaobrien + + + + +[Badge Archiver GitHub]: https://img.shields.io/badge/ElectronicsArchiver-181717.svg?style=for-the-badge&logo=GitHub&logoColor=white +[Badge Archiver Marked]: https://img.shields.io/badge/MarkedDown-49a2d5.svg?style=for-the-badge&logo=GitHub&logoColor=white + +[Archiver Avatar]: https://avatars.githubusercontent.com/u/85485984?s=90 'ElectronicsArchiver - トトも' +[Archiver GitHub]: https://github.com/ElectronicsArchiver +[Archiver Marked]: https://github.com/MarkedDown + + + + +[Badge Allan GitHub]: https://img.shields.io/badge/allancoding-181717.svg?style=for-the-badge&logo=GitHub&logoColor=white +[Badge Allan Website]: https://img.shields.io/badge/AllanCoding.ga-lightgray.svg?style=for-the-badge&logo=GitHub&logoColor=white + +[Allan Avatar]: https://avatars.githubusercontent.com/u/74841470?s=90 'Allancoding - Allan Niles' +[Allan GitHub]: https://github.com/allancoding +[Allan Website]: https://allancoding.ga/ diff --git a/docs/Logo-light.png b/docs/Logo-light.png new file mode 100644 index 0000000..988f433 Binary files /dev/null and b/docs/Logo-light.png differ diff --git a/docs/Logo.png b/docs/Logo.png new file mode 100644 index 0000000..f67efc4 Binary files /dev/null and b/docs/Logo.png differ diff --git a/docs/Logo.svg b/docs/Logo.svg new file mode 100644 index 0000000..41ebbc7 --- /dev/null +++ b/docs/Logo.svg @@ -0,0 +1,4487 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/Systems/3DO.md b/docs/Systems/3DO.md new file mode 100644 index 0000000..3eeba3d --- /dev/null +++ b/docs/Systems/3DO.md @@ -0,0 +1,56 @@ +# 3DO + +## Code example + +```html +
+
+
+ + + +``` + +## ROM Type + +Your **ROM** can have the following types: +- `iso` +- `bin` +- `chd` +- `cue` + +### BIOS + +| File Name | Description | md5sum | +| ----------- | ------------- | ----------- | +| panafz1.bin | Panasonic FZ-1 | `f47264dd47fe30f73ab3c010015c155b` +| panafz10.bin | Panasonic FZ-10 | `51f2f43ae2f3508a14d9f56597e2d3ce` +| panafz10-norsa.bin | Panasonic FZ-10 [RSA Patch] | `1477bda80dc33731a65468c1f5bcbee9` +| panafz10e-anvil.bin | Panasonic FZ-10-E [Anvil] | `a48e6746bd7edec0f40cff078f0bb19f` +| panafz10e-anvil-norsa.bin | Panasonic FZ-10-E [Anvil RSA Patch] | `cf11bbb5a16d7af9875cca9de9a15e09` +| panafz1j.bin | Panasonic FZ-1J | `a496cfdded3da562759be3561317b605` +| panafz1j-norsa.bin | Panasonic FZ-1J [RSA Patch] | `f6c71de7470d16abe4f71b1444883dc8` +| goldstar.bin | Goldstar GDO-101M | `8639fd5e549bd6238cfee79e3e749114` +| sanyotry.bin | Sanyo IMP-21J TRY | `35fa1a1ebaaeea286dc5cd15487c13ea` +| 3do_arcade_saot.bin | Shootout At Old Tucson | `8970fc987ab89a7f64da9f8a8c4333ff` + +### CORES + +The *nes* system supports 1 core +- `opera` + +If set to `3do`, emulator will use the `opera` core. diff --git a/docs/Systems/Arcade.md b/docs/Systems/Arcade.md new file mode 100644 index 0000000..6c4a450 --- /dev/null +++ b/docs/Systems/Arcade.md @@ -0,0 +1,37 @@ +# Arcade + +## Code Example + +```html +
+
+
+ + + +``` + +## ROM Type + +Your **ROM** can have the following extensions: +- `zip` + +### CORES + +The *arcade* system supports 2 cores +- `fbalpha2012_cps1` +- `fbalpha2012_cps2` + +If set to `arcade`, emulator will use the `fbalpha2012_cps1` core. + diff --git a/docs/Systems/Atari 2600.md b/docs/Systems/Atari 2600.md new file mode 100644 index 0000000..fea3feb --- /dev/null +++ b/docs/Systems/Atari 2600.md @@ -0,0 +1,35 @@ +# Atari 2600 + +I do not know the file extension limits for this system.
+There is no bios for this system. + +## Code example + +```html +
+
+
+ + + + +``` + + + diff --git a/docs/Systems/Atari 5200.md b/docs/Systems/Atari 5200.md new file mode 100644 index 0000000..901ae54 --- /dev/null +++ b/docs/Systems/Atari 5200.md @@ -0,0 +1,37 @@ +# Atari 5200 + +## Code Example + +```html +
+
+
+ + + +``` + +## ROM Type + +Your **ROM** can have the following extensions: +- `a52` +- `bin` + +### CORES + +The *atari5200* system supports 1 core +- `a5200` + +If set to `atari5200`, emulator will use the `a5200` core. + diff --git a/docs/Systems/Atari 7800.md b/docs/Systems/Atari 7800.md new file mode 100644 index 0000000..16b28e7 --- /dev/null +++ b/docs/Systems/Atari 7800.md @@ -0,0 +1,33 @@ +# Atari 7800 + +I do not know the file extension limits for this system.
+There is no bios for this system. + +## Code example + +```html +
+
+
+ + + + +``` + diff --git a/docs/Systems/Atari Jaguar.md b/docs/Systems/Atari Jaguar.md new file mode 100644 index 0000000..0a9a748 --- /dev/null +++ b/docs/Systems/Atari Jaguar.md @@ -0,0 +1,37 @@ +# Atari Jaguar + + +I do not know the file extension limits for this system.
+There is no bios for this system. + + +## Code example + +```html +
+
+
+ + + + +``` + + + diff --git a/docs/Systems/Atari Lynx.md b/docs/Systems/Atari Lynx.md new file mode 100644 index 0000000..5f4f50f --- /dev/null +++ b/docs/Systems/Atari Lynx.md @@ -0,0 +1,32 @@ +# Atari Lynx + +I do not know the file extension limits for this system.
+There is no bios for this system. + +## Code example + +```html +
+
+
+ + + + +``` \ No newline at end of file diff --git a/docs/Systems/MAME 2003.md b/docs/Systems/MAME 2003.md new file mode 100644 index 0000000..daea3b8 --- /dev/null +++ b/docs/Systems/MAME 2003.md @@ -0,0 +1,35 @@ +# MAME 2003 + +## Code Example + +```html +
+
+
+ + + +``` + +## ROM Type + +Your **ROM** can have the following extensions: +- `zip` + +### CORES + +The *mame2003* system supports 2 cores +- `mame2003` + +If set to `mame2003`, emulator will use the `mame2003` core. + diff --git a/docs/Systems/NES-Famicom.md b/docs/Systems/NES-Famicom.md new file mode 100644 index 0000000..4fc4799 --- /dev/null +++ b/docs/Systems/NES-Famicom.md @@ -0,0 +1,52 @@ +# NES / Famicom + +## Code Example + +```html +
+
+
+ + + +``` + +## ROM Type + +Your **ROM** can have the following extensions: +- `fds` +- `nes` +- `unif` +- `unf` + +### BIOS + +| File Name | Description | md5sum | +| ----------- | ------------- | ----------- | +| disksys.rom | Family Computer Disk System BIOS -
Required for Famicom Disk System emulation | ca30b50f880eb660a320674ed365ef7a | +| gamegenie.nes | Game Genie add-on cartridge -
Required for Game Genei Add-on emulation
(Only supported on the fceumm core) | 7f98d77d7a094ad7d069b74bd553ec98 | + +### CORES + +The *nes* system supports 2 cores +- `fceumm` +- `nestopia` + +If set to `nes`, emulator will use the `fceumm` core. + diff --git a/docs/Systems/Nintendo 64.md b/docs/Systems/Nintendo 64.md new file mode 100644 index 0000000..a490a10 --- /dev/null +++ b/docs/Systems/Nintendo 64.md @@ -0,0 +1,42 @@ +# Nintendo 64 + +## Code Example + +```html +
+
+
+ + + +``` + +## ROM Type + +Your **ROM** can have the following extensions: +- `n64` +- `v64` +- `z64` +- `bin` +- `u1` +- `ndd` +- `gb` + +### CORES + +The *n64* system supports 1 core +- `mupen64plus_next` + +If set to `n64`, emulator will use the `mupen64plus_next` core. + diff --git a/docs/Systems/Nintendo DS.md b/docs/Systems/Nintendo DS.md new file mode 100644 index 0000000..7c5ac13 --- /dev/null +++ b/docs/Systems/Nintendo DS.md @@ -0,0 +1,54 @@ +# Nintendo DS + +## Code Example + +```html +
+
+
+ + + +``` + +## ROM Type + +Your **ROM** can have the following extensions: +- `nds` +- `bin` (desmume2015 core only) + +### BIOS (melonds core only) + +| File Name | Description | md5sum | +| ----------- | ------------- | ----------- | +| bios7.bin | NDS ARM7 BIOS - Required | df692a80a5b1bc90728bc3dfc76cd948 | +| bios9.bin | NDS ARM9 BIOS - Required | a392174eb3e572fed6447e956bde4b25 | +| firmware.bin | NDS Firmware - Required | 145eaef5bd3037cbc247c213bb3da1b3 | +| dsi_bios7.bin | DSi ARM7 BIOS - Optional | | +| dsi_bios9.bin | DSi ARM9 BIOS - Optional | | +| dsi_firmware.bin | DSi Firmware - Optional | | +| dsi_nand.bin | DSi NAND - Optional | | +| dsi_sd_card.bin | DSi SD Card - Optional | | + +### CORES + +The *nds* system supports 2 cores +- `melonds` +- `desmume2015` + +If set to `nds`, emulator will use the `melonds` core. + diff --git a/docs/Systems/Nintendo Game Boy Advance.md b/docs/Systems/Nintendo Game Boy Advance.md new file mode 100644 index 0000000..af5f054 --- /dev/null +++ b/docs/Systems/Nintendo Game Boy Advance.md @@ -0,0 +1,50 @@ +# Nintendo GameBoy Advance + +## Code Example + +```html +
+
+
+ + + +``` + +## ROM Type + +Your **ROM** can have the following extensions: +- `gb` +- `gbc` +- `gba` + +### BIOS + +| File Name | Description | md5sum | +| ----------- | ------------- | ----------- | +| gb_bios.bin | Game Boy BIOS - Optional | 32fbbd84168d3482956eb3c5051637f5 | +| gbc_bios.bin | Game Boy Color BIOS - Optional | dbfce9db9deaa2567f6a84fde55f9680 | +| gba_bios.bin | Game Boy Advance BIOS - Optional | a860e8c0b6d573d191e4ec7db1b1e4f6 | +| sgb_bios.bin | Super Game Boy BIOS - Optional | d574d4f9c12f305074798f54c091a8b4 | + +### CORES + +The *gba* system supports 1 core +- `mgba` + +If set to `gba`, emulator will use the `mgba` core. + diff --git a/docs/Systems/Nintendo Game Boy.md b/docs/Systems/Nintendo Game Boy.md new file mode 100644 index 0000000..775dff3 --- /dev/null +++ b/docs/Systems/Nintendo Game Boy.md @@ -0,0 +1,49 @@ +# Nintendo GameBoy + +## Code Example + +```html +
+
+
+ + + +``` + +## ROM Type + +Your **ROM** can have the following extensions: +- `gb` +- `gbc` +- `dmg` + +### BIOS + +| File Name | Description | md5sum | +| ----------- | ------------- | ----------- | +| gb_bios.bin | Game Boy BIOS - Optional | 32fbbd84168d3482956eb3c5051637f5 | +| gbc_bios.bin | Game Boy Color BIOS - Optional | dbfce9db9deaa2567f6a84fde55f9680 | + +### CORES + +The *gb* system supports 2 cores +- `gambatte` +- `mgba` + +If set to `gb`, emulator will use the `gambatte` core. + diff --git a/docs/Systems/PlayStation.md b/docs/Systems/PlayStation.md new file mode 100644 index 0000000..e12d060 --- /dev/null +++ b/docs/Systems/PlayStation.md @@ -0,0 +1,54 @@ +# PlayStation + +## Code Example + +```html +
+
+
+ + + +``` + +## ROM Type + +Your **ROM** can have the following extensions: +- `cue` +- `toc` +- `m3u` +- `ccd` +- `exe` +- `pbp` +- `chd` + +### BIOS + +| File Name | Description | md5sum | +| ----------- | ------------- | ----------- | +| scph5500.bin | PS1 JP BIOS - Required for JP games | 8dd7d5296a650fac7319bce665a6a53c | +| scph5501.bin | PS1 US BIOS - Required for US games | 490f666e1afb15b7362b406ed1cea246 | +| scph5502.bin | PS1 EU BIOS - Required for EU games | 32736f17079d0b2b7024407c39bd3050 | + +### CORES + +The *psx* system supports 2 cores +- `mednafen_psx_hw` +- `mednafen_psx` + +If set to `psx`, emulator will use the `mednafen_psx_hw` core. + diff --git a/docs/Systems/SNES.md b/docs/Systems/SNES.md new file mode 100644 index 0000000..b3cb058 --- /dev/null +++ b/docs/Systems/SNES.md @@ -0,0 +1,57 @@ +# SNES + +## Code Example + +```html +
+
+
+ + + +``` + +## ROM Type + +Your **ROM** can have the following extensions: +- `smc` +- `sfc` +- `swc` +- `fig` +- `bs` +- `st` + +### BIOS + +| File Name | Description | md5sum | +| ----------- | ------------- | ----------- | +| BS-X.bin | BS-X - Sore wa Namae o Nusumareta Machi no
Monogatari (Japan) (Rev 1) - Optional | fed4d8242cfbed61343d53d48432aced | +| STBIOS.bin | Sufami Turbo (Japan) - Optional | d3a44ba7d42a74d3ac58cb9c14c6a5ca | + +### CORES + +The *snes* system supports 1 core +- `snes9x` + +If set to `snes`, emulator will use the `snes9x` core. + diff --git a/docs/Systems/Sega CD.md b/docs/Systems/Sega CD.md new file mode 100644 index 0000000..1619be5 --- /dev/null +++ b/docs/Systems/Sega CD.md @@ -0,0 +1,43 @@ +# Sega CD + +I do not know the file extension limits for this system. + +## Code example + +```html +
+
+
+ + + + +``` + +## BIOS + +You can search for the BIOS you need by utilizing the **MD5** checksum. + +| Type | MD5 Checksum | +|------|--------------| +| MegaCD EU | `e66fa1dc5820d254611fdcdba0662372` +| SegaCD US | `854b9150240a198070150e4566ae1290` +| MegaCD EU | `278a9397d192149e84e820ac621a8edd` + + diff --git a/docs/Systems/Sega Game Gear.md b/docs/Systems/Sega Game Gear.md new file mode 100644 index 0000000..be9eb4c --- /dev/null +++ b/docs/Systems/Sega Game Gear.md @@ -0,0 +1,35 @@ +# Sega Game Gear + +I do not know the file extension limits for this system. + +## Code example + +```html +
+
+
+ + + + +``` + +## BIOS + +GameGear BIOS (bootrom) - Optional `672e104c3be3a238301aceffc3b23fd6` diff --git a/docs/Systems/Sega Master System.md b/docs/Systems/Sega Master System.md new file mode 100644 index 0000000..3c073a9 --- /dev/null +++ b/docs/Systems/Sega Master System.md @@ -0,0 +1,45 @@ +# Sega Master System + +I do not know the file extension limits for this system. + +## Code example + +```html +
+
+
+ + + + +``` + +## BIOS + +You can search for the BIOS you need by utilizing the **MD5** checksum. + +(bootrom) - Optional + +| Name | MD5 Checksum | Description | +|------|--------------|-------------| +| `bios_E.sms` | `840481177270d5642a14ca71ee72844c` | MasterSystem EU BIOS +| `bios_U.sms` | `840481177270d5642a14ca71ee72844c` | MasterSystem US BIOS +| `bios_J.sms` | `24a519c53f67b00640d0048ef7089105` | MasterSystem JP BIOS + + \ No newline at end of file diff --git a/docs/Systems/Sega Mega Drive.md b/docs/Systems/Sega Mega Drive.md new file mode 100644 index 0000000..a2299ce --- /dev/null +++ b/docs/Systems/Sega Mega Drive.md @@ -0,0 +1,32 @@ +# Sega Mega Drive + +I do not know the file extension limits for this system.
+There is no bios for this system. + +## Code example + +```html +
+
+
+ + + + +``` diff --git a/docs/Systems/Sega Saturn.md b/docs/Systems/Sega Saturn.md new file mode 100644 index 0000000..587ff61 --- /dev/null +++ b/docs/Systems/Sega Saturn.md @@ -0,0 +1,39 @@ +# Sega Saturn + +I do not know the file extension limits for this system. + +## Code example + +```html +
+
+
+ + + + +``` + +## BIOS + +Saturn BIOS - Optional `af5828fdff51384f99b3c4926be27762` diff --git a/docs/Systems/Virtual Boy.md b/docs/Systems/Virtual Boy.md new file mode 100644 index 0000000..86c83f4 --- /dev/null +++ b/docs/Systems/Virtual Boy.md @@ -0,0 +1,38 @@ +# Virtual Boy + +## Code Example + +```html +
+
+
+ + + +``` + +## ROM Type + +Your **ROM** can have the following extensions: +- `vb` +- `vboy` +- `bin` + +### CORES + +The *vb* system supports 1 core +- `beetle_vb` + +If set to `vb`, emulator will use the `beetle_vb` core. + diff --git a/docs/favicon.ico b/docs/favicon.ico new file mode 100644 index 0000000..4af671c Binary files /dev/null and b/docs/favicon.ico differ