GithubHelp home page GithubHelp logo

Comments (6)

thelamer avatar thelamer commented on May 15, 2024 1

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.

thelamer avatar thelamer commented on May 15, 2024 1

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 avatar thelamer commented on May 15, 2024 1

@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

zip.zip

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.

ethanaobrien avatar ethanaobrien commented on May 15, 2024

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.

ethanaobrien avatar ethanaobrien commented on May 15, 2024

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.

ethanaobrien avatar ethanaobrien commented on May 15, 2024

@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

zip.zip

Any thoughts on what I should try now?

from emulatorjs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.