Giter VIP home page Giter VIP logo

mupen64plus-core's Introduction

OpenEmu

alt text

OpenEmu is an open-source project whose purpose is to bring macOS game emulation into the realm of first-class citizenship. The project leverages modern macOS technologies, such as Cocoa, Metal, Core Animation, and other third-party libraries. One third-party library example is Sparkle, which is used for auto-updating. OpenEmu uses a modular architecture, allowing for game-engine plugins, allowing OpenEmu to support a host of different emulation engines and back ends while retaining the familiar macOS native front end.

Currently, OpenEmu can load the following game engines as plugins:

Minimum Requirements

macOS Mojave 10.14.4

Building the default branch requires Xcode 14.3 and macOS Ventura.

mupen64plus-core's People

Contributors

clobber avatar cyco avatar duckey77 avatar dylanlukes avatar jweinberg avatar kjg avatar maddthesane avatar mrvacbob avatar nicoya avatar psychoh13 avatar psycx avatar vade avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mupen64plus-core's Issues

Swapping out plugins

Hello,
Apologies if this is just user error, I'm still fairly new to all of this. I'm running OpenEmu v2.0.5 on MacOS Sierra, and I want to update the following plugin (which came with v2.0.5):
~/Library/Application Support/OpenEmu/Cores/Mupen64Plus.oecoreplugin/Contents/PlugIns/mupen64plus-rsp-hle.so

This .so contains a bug, and the devs over at the mupen64plus github recently committed a patch for it. My goal, therefore, is to get mupen64plus within OpenEmu to use the patched plugin.

To attempt this, I cloned the repo containing the patch and compiled it to a .so file. I first confirmed that the patch works by running the new .so file in mupen64plus outside of OpenEmu. I then swapped it in to replace the .so at the above path. However, when I ran mupen64plus within OpenEmu, the bug was still present. This suggests that OpenEmu requires more than simply swapping out .so files, but I can't figure out what else needs to be done. What else do I need to do in order to get mupen64plus within OpenEmu to recognize the new plugin .so?

Thanks in advance!

Crash on stop in XPC mode

Mupen calls OpenGL in atexit functions on the main thread, when OpenGL hasn't been set up on the main thread.

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libGL.dylib                     0x00007fff972e44bd glDeleteTextures + 18
1   mupen64plus-video-rice.so       0x00000000055b60f2 COGLTexture::~COGLTexture() + 34 (OGLTexture.cpp:77)
2   mupen64plus-video-rice.so       0x000000000560b96b CTextureManager::RecycleAllTextures() + 155 (TextureManager.h:142)
3   mupen64plus-video-rice.so       0x000000000560b7ef CTextureManager::CleanUp() + 15 (TextureManager.cpp:124)
4   mupen64plus-video-rice.so       0x000000000560b50f CTextureManager::~CTextureManager() + 15 (TextureManager.cpp:114)
5   libsystem_c.dylib               0x00007fff9715c46b __cxa_finalize_ranges + 345
6   libsystem_c.dylib               0x00007fff9715c76f exit + 55
7   com.apple.AppKit                0x00007fff8ac16c01 -[NSApplication terminate:] + 1930
8   com.apple.CoreFoundation        0x00007fff963b34ac __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12
9   com.apple.CoreFoundation        0x00007fff96392d05 __CFRunLoopDoBlocks + 341
10  com.apple.CoreFoundation        0x00007fff96392a6b __CFRunLoopRun + 2347
11  com.apple.CoreFoundation        0x00007fff96391ed8 CFRunLoopRunSpecific + 296
12  com.apple.HIToolbox             0x00007fff8d402935 RunCurrentEventLoopInMode + 235
13  com.apple.HIToolbox             0x00007fff8d40276f ReceiveNextEventCommon + 432
14  com.apple.HIToolbox             0x00007fff8d4025af _BlockUntilNextEventMatchingListInModeWithFilter + 71
15  com.apple.AppKit                0x00007fff8aa00efa _DPSNextEvent + 1067
16  com.apple.AppKit                0x00007fff8aa0032a -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 454
17  com.apple.AppKit                0x00007fff8a9f4e84 -[NSApplication run] + 682
18  OpenEmuHelperApp                0x0000000000015827 -[OpenEmuXPCHelperApp launchApplication] + 119 (OpenEmuXPCHelperApp.m:46)
19  OpenEmuHelperApp                0x0000000000015171 main + 209 (OpenEmuHelperAppMain.m:44)
20  libdyld.dylib                   0x00007fff8d2e55ad start + 1

Mario Kart 64 Sound Issue and Incomplete Renders.

Hi team. I've been so spoiled with the fantastic work done on OpenEmu. As a complete emulation newbie I find it all so fascinating. I have had a very smooth ride with playing LOZ Ocarina of Time via Mupen64Plus, but when I play Mario Kart 64 I experience overall issues with gameplay music and complete sound loss after 20-30 minutes of gameplay on my MacBook Pro (13-inch, 2019) using OpenEmu v2.3.3 and Mupen64Plus v2.5.9.

I have sinced came to understand that I can toggle gameplay music using "L", but this seems to exasperate the issue of complete loss of sound. I toggle from "music loud" to "music soft" to "music off" and then my sound cuts out completely, without being able to recover from it. I did notice that my laptop was running hot, but I have played LOZ Ocarina of Time for hours before with no hitches.

I have a single Intel Iris Plus Graphics 645 (1536 MB) Graphics processor, a 1,4 GHz Quad-Core Intel Core i5 main processor, and 8 GB of RAM.

There also seems to be an issue rendering the train in the Kalimari Desert track in any gameplay setting except for Time Trails. But for now, my main issue remains the loss of sound.

World Rally 2 Open Emu

Hello .. pretty new to the Github thing, but can someone please help me to get a copy of World Rally 2 (Gaelco) to work please via OpenEmu. I am showing a :Coprocessor not ready fault ....from my downloaded rom. Thanks in advance =)

Mupen64 doesn't seem to be available on the compiled version.

Anyone wanna help me out? I compiled OpenEmu so I could finally play multi-disc ps1 games which just didn't work in experimental. Now that I have compiled it and am finally playing disc 2 of Metal Gear, I realize that the N64 core isn't available. Any suggestions or changes? Will all these features be together in the next release?

Fix buffer overflow in RSP DMA - SECURITY CONCERN

Recently, ParaLLeL launcher has fixed a bug in its version of its RSP code that allowed N64 code to potentially escape the emulator and perform ACE on the user's computer (see https://www.twitch.tv/videos/2147408942?t=12257s for an example of this escape in action).

The fix is here: https://gitlab.com/parallel-launcher/parallel-n64/-/commit/fa9e2e08b0c6cde117cb05cc071cdb74a9e90ad2#06a9a5c035040370b6d9d811526d9586179b3176

The equivalent code in OpenEmu's version of the Mupen core,

dram[dramaddr^S8] = spmem[memaddr^S8];
and
spmem[memaddr^S8] = dram[dramaddr^S8];
, appears to also be vulnerable to this.

I strongly recommend fixing this as soon as possible.

Hires Textures and FPS?

Does for anybody the Hires Texture Packs of GlideN64 work? I tried such texture packs as they work for me in other emulators, but not here.

Also setting the FPS Counter to „yes“ does not seem to work for me.

Other changes in the .cfg file work for me. Any help would be appreciated, thank you!

Save States are not actually saving

Either when using Quick Save, or the more deliberate Save State action, there are no .oesavestate files created in the file system. This has been an issue before, but I never really paid mind because Battery Save does work. However, it seems reasonable to include support for regular Save States.

This is the 1.99.5 core, by the way — I am not sure where development currently is, but commit
5a70d57 may just provide a fix.

Textures on some games are broken.

The 3D objects are usually fine and work really well.
However, textures in some games appear to be missing or broken.
I don't know if this is a "me" problem, but I have a feeling it's a general problem.
Since the games are still playable, I have no problem with it personally.
But if it could be fixed, it'd definitely be a huge plus.

Silicon Valley
screen shot 2013-06-23 at 1 00 09 am

Pokemon Stadium Gold Silver
screen shot 2013-06-23 at 12 54 06 am

Mario Tennis 64
screen shot 2013-06-23 at 1 03 06 am

Audio channels reversed

I've noticed this in many forks if not all... i think its with sdl getting from the output "left-first" but sdl assumes "right-first"...

instead of swapping by env config, might be better to fix by changing

if(SwapChannels == 0)

to

if(SwapChannels == 1)

I dunno.. up to you guys... Possibly fixed but I can't build or test from here. Im testing on 2.0.1 (as release on experimental)

Diddy Kong Racing freezes at 2nd Wizpig race cut scene

#36 was rejected because the core plugin was not synced with upstream. But even older versions (including 2.5) of upstream work in standalone (verified on macOS 12.3), and versions 2.5.7 and 2.5.9 do not work in OpenEmu. If the core plugins work outside of OpenEmu, then wouldn't the problem be with how they're being integrated into OpenEmu and not with the core plugins upstream? Perhaps I'm missing something?

Only shows part of the display

Only 1/4 of the screen is showing; the rest is black. I've tried all the filters but no dice. Just a quarter of the screen showing; the game works fine.

Multi player game displaying only first players screen

When playing 3 players on Diddy Kong Racing it will only show the first players screen (top left). All other screens are black. Controls seem to work fine, as you can see the other players moving around through the first players screen.

I have not tested with 2 or 4 players... I will test that as soon as I can and report back. Let me know if more information is needed and I will be more than happy to get it.

Use of undeclared identifier 'g_rdram' in MupenGameCore.m

Getting this error on Mupen64plus core: Use of undeclared identifier 'g_rdram' in MupenGameCore.m when compiling original OpenEmu with Build_All option.

Can this caused by?:
warning: using 'ALWAYS_SEARCH_USER_PATHS = YES' while building targets which define modules ('DEFINES_MODULE = YES') may fail. Please migrate to using 'ALWAYS_SEARCH_USER_PATHS = NO'.

Using MacOS 10.13.6

Changing Input (Controller Pak/Rumble Pak)

Some games (like Chameleon Twist) will display an error on startup because it is expecting a Rumble Pak:

chameleon twist u 2017-01-07 05 21 45

Is there currently a way to tell this core that a Rumble Pak is in the controller?

macOS Sierra 10.12.2
OpenEmu 2.04
Mupen64Plus 2.5.2

Cannot Build OpenEmu on macOS 14 due to Mupen64Plus Error

Summary of issue
When building OpenEmu version (375f1b6705065549d3235688353743b5a87cc3f2) I receive error

ld: warning: search path '/Users/USER/Github/OpenEmu/Mupen64Plus/../DerivedData/OpenEmu/Build/Products/Release' not found
ld: archive member '/' not a mach-o file in '/Users/USER/Github/OpenEmu/Mupen64Plus/GLideN64/src/GLideNHQ/lib/libz.a'
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I am using the latest version of Xcode in macOS 14 Sonoma and I am using Github Desktop to clone repository.

I am on an M2 Pro

Paper Mario Problems

When I try to play Paper Mario, I run into a few problems while playing it. Among them, when I am in a dark room I only get silhouettes of characters and when I am in full screen, the emulator is very slow. Also, when I save to one save file, all of the save files on the title screen are saved to different files. And I think sometimes the sprites get distorted briefly. Anyway I can fix these issues?

OpenEmuHelper Process

Sometimes after I quit OpenEmu, the OpenEmuHelper process keeps running in the background maxing out the CPU. This has happened at least 2-3 times over the last few weeks.

Steps to reproduce

  1. Launch OpenEmu and play for a while
  2. Quit the app (cmd Q is how I close everything)
  3. Wait to see if process sticks around… (it doesn't happen consistently)

Note: I usually play at night and notice this slowdown the next morning when working. Killing the process in Activity Monitor fixes the issue.

Observed Behavior

Here's a screenshot of the process (OpenEmu is not open).

screen shot 2018-11-19 at 10 07 50 am

Debugging Information

  • OpenEmu Version 2.0.7
  • macOS High Sierra 10.13.6
  • MacBook Pro (13-inch, 2017, Four Thunderbolt 3 Ports)

I hope this helps. Please reach out if you need any additional info.
I love the app and really appreciate all the hard work you all put into it!

Diddy Kong Racing crash

Hello,

I have been able to play this game all the way to the final, final boss (Wizpig 2) in the Space World. If I try to go through the door to the boss, the screen goes dark and the sound stops. It stays this way permanently. If I close the emulation, I get a message that the game couldn't communicate with the helper. I have tried saving in OpenEmu right before walking through the door, and reloading the save to try to walk through again. I have also tried saving after I've walked through the door. It allows me to save until the music stops and the screen goes dark (it crashes) and then I can't do anything on OpenEmu but close the game. Here are some reports:

OpenEmu Version: 2.0.8
macOS Version: 10.14.3

Console log:
16:17:21.741353 -0800 contextstored Duet: saveObjects async
16:17:22.248905 -0800 configd processing network kernel events
16:17:22.686111 -0800 Console trackMouse send action on mouseUp
16:17:23.353717 -0800 contextstored Duet: saveObjects async
16:17:24.252470 -0800 locationd CL: kCLConnectionMessageWatchdog
16:17:24.259018 -0800 locationd CL: kCLConnectionMessageWatchdog
16:17:24.794820 -0800 locationd CL: kCLConnectionMessageWatchdog
16:17:24.961706 -0800 locationd CL: kCLConnectionMessageWatchdog
16:17:25.213299 -0800 locationd CL: kCLConnectionMessageWatchdog
16:17:25.218509 -0800 configd processing network kernel events
16:17:26.076698 -0800 locationd CL: kCLConnectionMessageWatchdog
16:17:28.290758 -0800 configd processing network kernel events
16:17:29.580727 -0800 locationd CL: kCLConnectionMessageWatchdog
16:17:30.384105 -0800 fseventsd Resolve user group list
16:17:31.260197 -0800 configd processing network kernel events
16:17:34.080714 -0800 locationd CL: kCLConnectionMessageWatchdog
16:17:34.229995 -0800 configd processing network kernel events
16:17:34.314370 -0800 homed SecItemCopyMatching
16:17:34.315782 -0800 homed SecItemCopyMatching
16:17:34.317469 -0800 homed SecItemCopyMatching
16:17:34.319423 -0800 homed SecItemCopyMatching
16:17:36.638265 -0800 locationd CL: kCLConnectionMessageWatchdog
16:17:37.302263 -0800 configd processing network kernel events
16:17:37.568571 -0800 contextstored CL: CLLocationManager
16:17:37.569081 -0800 contextstored CL: CLLocationManager
16:17:40.271726 -0800 configd processing network kernel events
16:17:41.904442 -0800 OpenEmu trackMouse send action on mouseUp
16:17:43.241395 -0800 configd processing network kernel events
16:17:46.211504 -0800 configd processing network kernel events
16:17:46.954544 -0800 contextstored Duet: saveObjects async

Crash file (it won't let me upload it so I'm pasting the text):
Process: OpenEmuHelperApp [7621]
Path: /Applications/OpenEmu.app/Contents/Resources/OpenEmuHelperApp
Identifier: OpenEmuHelperApp
Version: 2.0.8 (2.0.8)
Code Type: X86-64 (Native)
Parent Process: OpenEmu [7618]
Responsible: OpenEmuHelperApp [7621]
User ID: 501

Date/Time: 2019-02-18 16:17:29.952 -0800
OS Version: Mac OS X 10.14.3 (18D109)
Report Version: 12
Anonymous UUID: 8F798E53-898C-E79A-55E5-94FC9F0F4254

Sleep/Wake UUID: 177473A3-BFC1-4C48-AE73-F8CEB31FAEFC

Time Awake Since Boot: 280000 seconds
Time Since Wake: 8100 seconds

System Integrity Protection: enabled

Crashed Thread: 4

Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY

Application Specific Information:
Assertion failed: (numVertex == 3), function renderTriangles, file /Users/clobber/Code/OpenEmu/Mupen64Plus/GLideN64/src/SoftwareRender.cpp, line 198.

Thread 0:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fff7d82717a mach_msg_trap + 10
1 libsystem_kernel.dylib 0x00007fff7d8276d0 mach_msg + 60
2 com.apple.CoreFoundation 0x00007fff504a0fde __CFRunLoopServiceMachPort + 337
3 com.apple.CoreFoundation 0x00007fff504a052d __CFRunLoopRun + 1654
4 com.apple.CoreFoundation 0x00007fff5049fc64 CFRunLoopRunSpecific + 463
5 com.apple.HIToolbox 0x00007fff4f736ab5 RunCurrentEventLoopInMode + 293
6 com.apple.HIToolbox 0x00007fff4f7367eb ReceiveNextEventCommon + 618
7 com.apple.HIToolbox 0x00007fff4f736568 _BlockUntilNextEventMatchingListInModeWithFilter + 64
8 com.apple.AppKit 0x00007fff4d9f1363 _DPSNextEvent + 997
9 com.apple.AppKit 0x00007fff4d9f0102 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1362
10 com.apple.AppKit 0x00007fff4d9ea165 -[NSApplication run] + 699
11 OpenEmuHelperApp 0x000000000f73aea0 -[OpenEmuXPCHelperApp launchApplication] + 77
12 OpenEmuHelperApp 0x000000000f73a540 main + 126
13 libdyld.dylib 0x00007fff7d6eded9 start + 1

Thread 1:: com.apple.NSEventThread
0 libsystem_kernel.dylib 0x00007fff7d82717a mach_msg_trap + 10
1 libsystem_kernel.dylib 0x00007fff7d8276d0 mach_msg + 60
2 com.apple.CoreFoundation 0x00007fff504a0fde __CFRunLoopServiceMachPort + 337
3 com.apple.CoreFoundation 0x00007fff504a052d __CFRunLoopRun + 1654
4 com.apple.CoreFoundation 0x00007fff5049fc64 CFRunLoopRunSpecific + 463
5 com.apple.AppKit 0x00007fff4d9f9f89 _NSEventThread + 160
6 libsystem_pthread.dylib 0x00007fff7d8e1305 _pthread_body + 126
7 libsystem_pthread.dylib 0x00007fff7d8e426f _pthread_start + 70
8 libsystem_pthread.dylib 0x00007fff7d8e0415 thread_start + 13

Thread 2:: m64pwq
0 libsystem_kernel.dylib 0x00007fff7d82a7de __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x00007fff7d8e4593 _pthread_cond_wait + 724
2 org.openemu.Mupen64Plus 0x000000001379b3d9 workqueue_thread_handler + 89
3 org.openemu.Mupen64Plus 0x000000001379b20e Fake_SDL_New_Thread + 30
4 libsystem_pthread.dylib 0x00007fff7d8e1305 _pthread_body + 126
5 libsystem_pthread.dylib 0x00007fff7d8e426f _pthread_start + 70
6 libsystem_pthread.dylib 0x00007fff7d8e0415 thread_start + 13

Thread 3:: org.openemu.core-thread
0 libsystem_kernel.dylib 0x00007fff7d8272d6 mach_wait_until + 10
1 org.openemu.OpenEmuBase 0x000000000f918ba3 -[OEGameCore runGameLoop:] + 1050
2 org.openemu.OpenEmuBase 0x000000000f91847c -[OEGameCore _gameCoreThreadWithStartEmulationCompletionHandler:] + 104
3 com.apple.Foundation 0x00007fff527fc104 NSThread__start + 1218
4 libsystem_pthread.dylib 0x00007fff7d8e1305 _pthread_body + 126
5 libsystem_pthread.dylib 0x00007fff7d8e426f _pthread_start + 70
6 libsystem_pthread.dylib 0x00007fff7d8e0415 thread_start + 13

Thread 4 Crashed:
0 libsystem_kernel.dylib 0x00007fff7d82d23e __pthread_kill + 10
1 libsystem_pthread.dylib 0x00007fff7d8e3c1c pthread_kill + 285
2 libsystem_c.dylib 0x00007fff7d7961c9 abort + 127
3 libsystem_c.dylib 0x00007fff7d75e868 __assert_rtn + 320
4 mupen64plus-video-GLideN64.so 0x00000000154fd074 renderTriangles(SPVertex const*, unsigned short const*, unsigned int) + 6052
5 mupen64plus-video-GLideN64.so 0x00000000154eb6b4 GraphicsDrawer::drawDMATriangles(unsigned int) + 340
6 mupen64plus-video-GLideN64.so 0x000000001553ff60 F3DDKR_DMA_Tri(unsigned int, unsigned int) + 304
7 mupen64plus-video-GLideN64.so 0x00000000154d56dc ProcessDList + 2012
8 mupen64plus-rsp-cxd4.so 0x000000000fbab7e0 DoRspCycles + 128
9 org.openemu.Mupen64Plus 0x0000000013695fa8 do_SP_Task + 2360
10 ??? 0x00000000209c207b 0 + 547102843

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.