melonDS-emu / melonDS

DS emulator, sorta
https://melonds.kuribo64.net
GNU General Public License v3.0
3.24k stars 539 forks source link

DLL/SO version of MelonDS #1136

Open theCapypara opened 3 years ago

theCapypara commented 3 years ago

Hey! I want to make a version of MelonDS that can be used for embeding into other applications. I already did something similiar with Desmume:

This interface should allow access to all major emulator controls (loading BIOS, ROM, managing savestates, I/O) and debugging functionality (accessing memory, memory / PC hooks).

Is there already some interface code which can be used as a base for this, to get me started?

RSDuck commented 3 years ago

the frontend is pretty well separated from the emulation core. We also have a frontend util as an extra layer of reuseable functionality for frontends.

Take a look at https://github.com/Arisotura/melonDS/tree/master/src/frontend

One problem is that a lot of functionality is still fixed to work via file io, like savestates or savefiles. There's a PR to change that for savestate's which is stale (https://github.com/Arisotura/melonDS/pull/959).

Pilcrow182 commented 3 years ago

Just a suggestion, you may be able to adapt the RetroArch/LibRetro port to suit your needs, since their cores are already DLLs/SOs...

Source Code: https://github.com/libretro/melonds

Nightly Build: https://buildbot.libretro.com/nightly/windows/x86_64/latest/melonds_libretro.dll.zip