Comments (6)
The problem is not in compiling cores into usable web assembly, tons of people have done that in the past as tech demos and such.
The problem is you are missing the code in these blobs that connects the JS frontend to the web assembly code and all the web based settings.
You can reverse engineer all of that, but might as well just ground up your own project at that point.
from emulatorjs.
I like the enthusiasm, here are the build commands:
https://github.com/BinBashBanana/webretro/blob/master/source/readme.txt
Again I need to emphasize the amount of customization they did here to have easy no nonsense web based settings, these are not just wasm cores, they wrote stuff like mouse/gamepad emulation integration (look at the DS emulation).
Digging through sites that host this I have kind of concluded (could be wrong) that the retrogames.cc folks must maintain this.
They are using a bunch of undocumented hooks to execute functions like:
EJS_onSaveState
EJS_onLoadState
EJS_gameParentUrl
EJS_onGameStart
EJS_gameID
Along with baked in netplay support.
I mean it is possible they just dug into the minified code and expanded stuff, but they are using the vanilla libs and it just seems like they are way to familiar to not be at least affiliated in some manner with the core devs.
from emulatorjs.
@thelamer I've been reverse engineering the code and I've managed to get the retroarch.js file it uses along with the ds core, decompiled, as wasm and attempted to decrypt to c
Any thoughts on what I should try now?
Not my area of expertise, the only thing I can recommend is some kind of communication somehow. Someone made this and I doubt they care about keeping it closed source. Might just be a hurdle of not wanting to provide support or deal with public CI and build pipelines. Instead of always playing catch-up, would be cool to have the source in a community project.
from emulatorjs.
I agree! This code is very revolutionary! It's difficult to find a nintendo 64 emulator that will run but this one runs really well, and the Nintendo DS emulator is one of its kind!
So I've been looking through the code and I've found that some emulators (Like the ds emulator) use an optimizable javascript compiler called asm.js.
The nintendo 64 emulator, from what I've found, uses glupen64. Do you think we could compile this into an updated n64 wasm file?
If you know how, could you please walk me through transitioning a C application (like this) to a wasm file?
I haven't had much time to dig at the others but this is a start!
from emulatorjs.
Would you mind referring me to one of those YouTube videos that you think are most helpful. Once I get the wasm generated I can begin to reverse engineer it
from emulatorjs.
@thelamer I've been reverse engineering the code and I've managed to get the retroarch.js file it uses along with the ds core, decompiled, as wasm and attempted to decrypt to c
Any thoughts on what I should try now?
from emulatorjs.
Related Issues (20)
- [Request] Add option to add your own BIOS in demo HOT 3
- [Bug] errors download 100% HOT 3
- [Request] Allow PSX core to set between Dualshock/Standard controller HOT 1
- [Request] Make canvas the exact size of the native resolution, and let us size it ourselves using css transforms. HOT 2
- [Bug] All NDS roms freeze after rom load HOT 8
- [enhancement] add 3D Anaglyph preset color Setting
- [Bug] emulator does not work with controllers that use axis for direction. HOT 5
- 7z files of arcade Rom are disabled in Fbneo? HOT 1
- [Bug] version 4.0.10 after, the NDS console pointer cannot be moved. (mobile) HOT 1
- Cheat screen with black background
- [enhancement] Mouse Controls? HOT 4
- Did you add the game speed control setting to EmulatorJS? and if so Where did you put it? HOT 1
- [Feature-MirrorMode] Add mirror screen for head-to-head 2 or 4 players on big tablet touchscreen
- [Bug] "Start Creating" button not working in code editor
- [Bug] Degraded performance on mobile browsers since version 4.0.10 HOT 2
- [Bug] Impossible to Download the "the default fileset" HOT 3
- EmulatorJS V3 HOT 2
- Do we have Docker?
- new MAME cores
- Bug in smsplus emulator - genesis_plus_gx worked fine HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from emulatorjs.