Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mupen64plus support #52

Open
Flax4 opened this issue Jan 26, 2025 · 4 comments
Open

Mupen64plus support #52

Flax4 opened this issue Jan 26, 2025 · 4 comments
Labels
component: GUI Related to the multiworld app status: question Further information is requested type: enhancement New feature or request

Comments

@Flax4
Copy link

Flax4 commented Jan 26, 2025

Is it possible to have support for Mupen64plus? This would allow for example RMG (Rosalie's Mupen GUI) to support Mido's House I believe, which would be great for, well really everybody, but especially Linux users for native support instead of a horrid Bizhawk experience or relying on running Wine for Project64.

@fenhl
Copy link
Member

fenhl commented Jan 26, 2025

Does it have a plugin interface? I haven't been able to find anything based on a quick search.

It's not an emulator supported by rando support staff or legal for racing, so it would definitely be low priority. I wouldn't be opposed to merging a PR adding support for it though.

@fenhl fenhl added type: enhancement New feature or request status: question Further information is requested component: GUI Related to the multiworld app labels Jan 26, 2025
@Rosalie241
Copy link

Rosalie241 commented Jan 26, 2025

It does have a plugin interface, see https://github.com/mupen64plus/mupen64plus-core/blob/master/doc/emuwiki-api-doc/Mupen64Plus-v2.0-Plugin-API.mediawiki

If you need to expose a configuration GUI like what Project64 supports then you can do so by exposing a m64p_error PluginConfig(void) function, though only RMG supports such a feature:
https://github.com/Rosalie241/RMG/blob/master/Source/RMG-Core/m64p/api/m64p_custom.h

@fenhl
Copy link
Member

fenhl commented Jan 26, 2025

Is there a way to manipulate the emulated N64's RAM? That would be required for multiworld functionality.

@Rosalie241
Copy link

Maybe using the DebugMemGetPointer function from the debugger API: https://github.com/mupen64plus/mupen64plus-core/blob/master/doc/emuwiki-api-doc/Mupen64Plus-v2.0-Core-Debugger.mediawiki

though enabling the debugger at compile time does have a performance cost, alternatively maybe scanning the memory from mupen64plus looking for some magic value only present in the OoT RAM might be more viable, though that is a little hacky, but doesn't have a performance cost after you found the address.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: GUI Related to the multiworld app status: question Further information is requested type: enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants