libretro / melonds Goto Github PK
View Code? Open in Web Editor NEWThis project forked from melonds-emu/melonds
DS emulator, sorta
License: GNU General Public License v3.0
This project forked from melonds-emu/melonds
DS emulator, sorta
License: GNU General Public License v3.0
This is useful for games that have a "blow in the mic" function, like the Ace Attorney series or the underwater sections of Super Princess Peach. Desmume maps this to L3. Mario and Luigi: Bowser's Inside Story has a "Mic Test" option on it's title screen that makes it easy to test.
Trying to enable openGL on melonds causes the core to segfault. The software renderer runs fine.
The interesting part of the log is as follows:
[ERROR] GL: Invalid enum.
[ERROR] [Video]: Cannot open video driver ... Exiting ...
[ERROR] Fatal error received in: "init_video()"
[ERROR] failed_to_start_audio_driver
I have tried to debug where "invalid enum" is set but unfortunately I cannot seem to build the khronos libraries with debug support so I cannot apply any breakpoints.
I am using Fedora 29 with an Nvidia GTX 1070 on the 430.40 propriatory driver. All other cores and games run fine with openGL on my machine. Further backtrace and full log attached.
Backtrace:
#0 0x00007ffff31ff106 in __memmove_avx_unaligned_erms () at /lib64/libc.so.6
#1 0x00007fffe9e9bb3a in copy_screen(ScreenLayoutData*, unsigned int*, unsigned int) () at /mnt/games/native_emulators/retroarch/cores/melonds_libretro.so
#2 0x00007fffe9e9c014 in retro_run ()
at /mnt/games/native_emulators/retroarch/cores/melonds_libretro.so
#3 0x0000000000484ee2 in core_run () at retroarch.c:26367
#4 0x0000000000481a0a in runloop_iterate () at retroarch.c:24992
#5 0x000000000045c4f7 in rarch_main (argc=1, argv=0x7fffffffdc58, data=0x0)
at retroarch.c:6100
#6 0x00000000005da5b5 in main(int, char**) (argc=1, argv=0x7fffffffdc58)
at ui/drivers/qt/ui_qt_application.cpp:150
Full Terminal Output
[INFO] RetroArch 1.7.8 (Git 7ebeb6b572)
[INFO] === Build =======================================
[INFO] CPU Model Name: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
[INFO] Capabilities: MMX MMXEXT SSE1 SSE2 SSE3 SSSE3 SSE4 SSE4.2 AVX AVX2 AES
[INFO] Built: Aug 26 2019
[INFO] Version: 1.7.8
[INFO] Git: 7ebeb6b572
[INFO] =================================================
[INFO] Environ SET_PIXEL_FORMAT: RGB565.
[INFO] Redirecting save file to "/home/toxicshadow/.config/retroarch/saves/.srm".
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Audio]: Set audio input rate to: 30000.00 Hz.
[INFO] [Video]: Video @ 960x720
[ERROR] [Wayland]: Failed to connect to Wayland server.
[INFO] [GLX]: GLX_EXT_swap_control_tear supported.
[INFO] [GL]: Found GL context: x
[INFO] [GL]: Detecting screen resolution 3840x1880.
[INFO] [GLX]: Window manager is KWin.
[INFO] [GLX]: X = 0, Y = 0, W = 960, H = 720.
[INFO] [GLX]: Found swap function: glXSwapIntervalEXT.
[INFO] [GLX]: glXSwapIntervalEXT(1)
[INFO] [GL]: Vendor: NVIDIA Corporation, Renderer: GeForce GTX 1070/PCIe/SSE2.
[INFO] [GL]: Version: 4.6.0 NVIDIA 430.40.
[INFO] [GL]: Using resolution 960x720
[INFO] [GL]: Default shader backend found: glsl.
[INFO] [Shader driver]: Using GLSL shader backend.
[INFO] [GLSL]: Checking GLSL shader support ...
[WARN] [GL]: Stock GLSL shaders will be used.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] Setting up menu pipeline shaders for XMB ...
[INFO] [GLSL]: Compiling ribbon shader..
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Compiling simple ribbon shader..
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Compiling snow shader..
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Compiling modern snow shader..
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Compiling bokeh shader..
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Compiling snowflake shader..
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GL]: Using 4 textures.
[INFO] [GL]: Loaded 1 program(s).
[INFO] [GL]: Using GL_RGB565 for texture uploads.
[INFO] [Joypad]: Found joypad driver: "sdl2".
[INFO] [Font]: Using font rendering backend: bitmap.
[INFO] [X11]: Suspending screensaver (X11, xdg-screensaver).
[INFO] [Video]: Found display server: x11
[INFO] [PulseAudio]: Requested 24576 bytes buffer, got 18432.
[INFO] [Menu]: Found menu display driver: "gl".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Menu]: Found menu display driver: "gl".
[CDROM] Could not open /dev/sg4, please check permissions.
[CDROM] Could not open /dev/sg3, please check permissions.
[CDROM] Could not open /dev/sg2, please check permissions.
[CDROM] Could not open /dev/sg1, please check permissions.
[CDROM] Could not open /dev/sg0, please check permissions.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[WARN] [XMB] Asset missing: /home/toxicshadow/.config/retroarch/assets/xmb/monochrome/png/disc.png
[INFO] [LED]: LED driver = 'null' 0x113e400
[INFO] [MIDI]: Initializing ...
[INFO] [MIDI]: Input disabled.
[INFO] [MIDI]: Output disabled.
[INFO] [MIDI]: Initialized "alsa" driver.
[INFO] Disconnecting device from port 2.
[INFO] Disconnecting device from port 3.
[INFO] Disconnecting device from port 4.
[INFO] SRAM will not be saved.
[INFO] Loading history file: [/home/toxicshadow/.config/retroarch/content_history.lpl].
[INFO] Loading history file: [/home/toxicshadow/.config/retroarch/content_music_history.lpl].
[INFO] Loading history file: [/home/toxicshadow/.config/retroarch/content_video_history.lpl].
[INFO] Loading history file: [/home/toxicshadow/.config/retroarch/content_image_history.lpl].
[INFO] Loading favorites file: [/home/toxicshadow/.config/retroarch/content_favorites.lpl].
[INFO] [GL]: VSync => on
[INFO] [GLX]: glXSwapIntervalEXT(1)
[INFO] [GL]: VSync => on
[INFO] [GLX]: glXSwapIntervalEXT(1)
[INFO] [PulseAudio]: Pausing.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] This core is compatible with the current video driver.
[INFO] Using content: /mnt/nas_games/emulators/roms/nds/super_mario_64_ds_u.nds.
[INFO] arg #0: retroarch
[INFO] arg #1: /mnt/nas_games/emulators/roms/nds/super_mario_64_ds_u.nds
[INFO] arg #2: -s
[INFO] arg #3: /home/toxicshadow/.config/retroarch/saves
[INFO] arg #4: -c
[INFO] arg #5: /home/toxicshadow/.config/retroarch/retroarch.cfg
[INFO] arg #6: -L
[INFO] arg #7: /mnt/games/native_emulators/retroarch/cores/melonds_libretro.so
[INFO] arg #8: -v
[INFO] Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
[INFO] Unloading game..
[INFO] Unloading core..
[INFO] Unloading core symbols..
[INFO] [XINERAMA]: Xinerama version: 1.1.
[INFO] [XINERAMA]: Xinerama screens: 3.
[INFO] [XINERAMA]: Saved monitor #0.
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
[INFO] Set config file to : /home/toxicshadow/.config/retroarch/retroarch.cfg
[INFO] RetroArch 1.7.8 (Git 7ebeb6b572)
[INFO] Redirecting save file to "/home/toxicshadow/.config/retroarch/saves/super_mario_64_ds_u.srm".
[INFO] Redirecting savestate to "/mnt/nas_games/emulators/roms/nds/super_mario_64_ds_u.state".
[INFO] === Build =======================================
[INFO] CPU Model Name: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
[INFO] Capabilities: MMX MMXEXT SSE1 SSE2 SSE3 SSSE3 SSE4 SSE4.2 AVX AVX2 AES
[INFO] Built: Aug 26 2019
[INFO] Version: 1.7.8
[INFO] Git: 7ebeb6b572
[INFO] =================================================
[INFO] Loading dynamic libretro core from: "/mnt/games/native_emulators/retroarch/cores/melonds_libretro.so"
[INFO] [Overrides] no core-specific overrides found at /home/toxicshadow/.config/retroarch/config/melonDS/melonDS.cfg.
[INFO] [Overrides] no content-dir-specific overrides found at /home/toxicshadow/.config/retroarch/config/melonDS/nds.cfg.
[INFO] [Overrides] no game-specific overrides found at /home/toxicshadow/.config/retroarch/config/melonDS/super_mario_64_ds_u.cfg.
[INFO] Environ SET_VARIABLES.
[INFO] Environ GET_LOG_INTERFACE.
[INFO] Environ SET_CONTROLLER_INFO.
[INFO] Core requested VFS version >= v1, providing v3
[INFO] [Remaps]: remap directory: /home/toxicshadow/.config/retroarch/config/remaps
[INFO] Redirecting save file to "/home/toxicshadow/.config/retroarch/saves/super_mario_64_ds_u.srm".
[INFO] Redirecting savestate to "/mnt/nas_games/emulators/roms/nds/super_mario_64_ds_u.state".
[INFO] Environ SYSTEM_DIRECTORY: "/home/toxicshadow/.config/retroarch/system".
[INFO] Content loading skipped. Implementation will load it on its own.
[INFO] Environ SET_INPUT_DESCRIPTORS:
[INFO] Environ SET_PIXEL_FORMAT: XRGB8888.
[INFO] Environ SET_HW_RENDER.
[INFO] Requesting OpenGL context.
ARM9 BIOS loaded
ARM7 BIOS loaded
MAC: 00:09:BF:8C:9E:FD
FW: WIFI CRC16 = GOOD
FW: AP1 CRC16 = GOOD
FW: AP2 CRC16 = GOOD
FW: AP3 CRC16 = GOOD
FW: USER0 CRC16 = GOOD
FW: USER1 CRC16 = GOOD
Game code: ASME
ROM CRC32: E6321562
chk_size=3387, key=4A4B4A43, wanted=454D5341, offset=00000000
chk_size=1693, key=45545041, wanted=454D5341, offset=00000000
chk_size=846, key=45454359, wanted=454D5341, offset=00000000
chk_size=423, key=454D4343, wanted=454D5341, offset=000034E0
chk_size=211, key=45514759, wanted=454D5341, offset=00004F50
chk_size=105, key=454F4641, wanted=454D5341, offset=00004F50
chk_size=52, key=454E4543, wanted=454D5341, offset=00004F50
chk_size=26, key=454D5259, wanted=454D5341, offset=00004F50
chk_size=13, key=454E3542, wanted=454D5341, offset=000050F0
chk_size=6, key=454D5741, wanted=454D5341, offset=000050F0
chk_size=3, key=454D5459, wanted=454D5341, offset=000050F0
chk_size=1, key=454D5341, wanted=454D5341, offset=000050F0
ROM entry: 01000000 00000002 00000000
Cart ID: 00000FC2
ARM9: offset=00004000 entry=02004800 RAM=02004000 size=000580AC
ARM7: offset=001B0000 entry=02380000 RAM=02380000 size=00024B64
CP15Control = 00052078 (00002078->00052000)
Re-encrypting cart secure area
Save file: /home/toxicshadow/.config/retroarch/saves/super_mario_64_ds_u.sav
[INFO] Skipping SRAM load..
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Audio]: Set audio input rate to: 32823.63 Hz.
[INFO] [Video]: Video @ 6144x2304
[INFO] [Video]: Using HW render, OpenGL driver forced.
[INFO] [Video]: Using configured "gl" driver for GL HW render.
[ERROR] [Wayland]: Failed to connect to Wayland server.
[INFO] [RCHEEVOS]: testing NES (discards header)
[INFO] [RCHEEVOS]: testing Generic (plain content)
[INFO] [GLX]: GLX_EXT_swap_control_tear supported.
[INFO] [GL]: Found GL context: x
[INFO] [GL]: Detecting screen resolution 3840x1880.
[INFO] [GLX]: Window manager is KWin.
[INFO] [GLX]: X = 0, Y = 0, W = 6144, H = 2304.
[INFO] [GLX]: Creating context for requested version 3.3.
[INFO] [RCHEEVOS]: got game id 0
[INFO] [RCHEEVOS]: testing Generic (filename)
[INFO] [RCHEEVOS]: got game id 0
[INFO] [RCHEEVOS]: this game doesn't feature achievements
[INFO] [RCHEEVOS]: Load task finished
[INFO] [GLX]: Not running Mesa, trying higher versions...
[INFO] [GLX]: Creating context for version 4.6.
[INFO] [GLX]: Found swap function: glXSwapIntervalEXT.
[INFO] [GLX]: glXSwapIntervalEXT(1)
[INFO] [GL]: Vendor: NVIDIA Corporation, Renderer: GeForce GTX 1070/PCIe/SSE2.
[INFO] [GL]: Version: 4.6.0 NVIDIA 430.40.
[INFO] [GL]: Using resolution 1280x735
[INFO] [GL]: Default shader backend found: glsl.
[INFO] [Shader driver]: Using GLSL shader backend.
[INFO] [GLSL]: Checking GLSL shader support ...
[WARN] [GL]: Stock GLSL shaders will be used.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] Setting up menu pipeline shaders for XMB ...
[INFO] [GLSL]: Compiling ribbon shader..
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Compiling simple ribbon shader..
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Compiling snow shader..
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Compiling modern snow shader..
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Compiling bokeh shader..
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Compiling snowflake shader..
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GL]: Using 4 textures.
[INFO] [GL]: Loaded 1 program(s).
[INFO] [Joypad]: Found joypad driver: "sdl2".
[INFO] [Font]: Using font rendering backend: bitmap.
[ERROR] GL: Invalid enum.
[ERROR] [Video]: Cannot open video driver ... Exiting ...
[ERROR] Fatal error received in: "init_video()"
[ERROR] failed_to_start_audio_driver
CP15Control = 00002078 (00052078->00002000)
PU: region 0 = 04000033 : enabled, 04000000-08000000
PU: region 1 = 0200002B : enabled, 02000000-02400000
PU: region 2 = 027C0023 : enabled, 027C0000-02800000
PU: region 3 = 08000035 : enabled, 08000000-10000000
PU: region 4 = 023C001B : enabled, 023C0000-023C4000
PU: region 5 = 0100002F : enabled, 01000000-02000000
PU: region 6 = FFFF001D : enabled, FFFF0000-FFFF8000
PU: region 7 = 027FF017 : enabled, 027FF000-02800000
PU: CodeCacheable=00000042
PU: DataCacheable=00000042
PU: DataCacheWrite=00000002
PU: CodeRW=05100011
PU: DataRW=15111011
CP15Control = 0005707D (00002078->00057005)
PU region 0: 04000000-08000000, user=00 priv=07
PU region 1: 02000000-02400000, user=70 priv=77
PU region 2: 027C0000-02800000, user=00 priv=00
PU region 3: 08000000-10000000, user=00 priv=03
PU region 4: 023C0000-023C4000, user=00 priv=03
PU region 5: 01000000-02000000, user=00 priv=07
PU region 6: FFFF0000-FFFF8000, user=50 priv=55
PU region 7: 027FF000-02800000, user=00 priv=03
Segmentation fault (core dumped)
I reported this in another closed issue, but figured I'd open an issue specifically for it, since others are reporting this in the libretro Discord. It seems 7fe9d50 causes crashes during retro_load_game on some Win10 systems. I've tried getting a useful crash log out of it, but one dev mentioned that the makefile might not be setup to add debug symbols when building with DEBUG=1.
Just wondering the current state of wifi on this branch of melonDS, I know it was not implemented initially. Any eta or is it not planned?
I'm opening this issue to serve as a general request for updating this core to the latest version (upstream code reached version 0.9 recently and the Windows x64 libretro core is particularly outdated at this point), while also adding a bounty to provide further incentive and take into account the following features in the process:
Hopefully all of the above is realistically feasible! This would definitely make it the ultimate go-to libretro core for DS / DSi titles.
Bounty link: https://www.bountysource.com/issues/92807839-bounty-update-melonds-core-to-latest-version-extra-features
I got some issues/problems with the current core:
1.The online mode wont work even though I got winpcap/npcap installed (cant choose the internet adapter in core options).
2.Some games wont work or wont enter gameplay - probably related to save support?
3.The default for touch mode is none for me so i had to change it to mouse.
I am using the core on Windows.
Hey!
I think it would be nice to have a core option to add a gap between screens, as it can look very weird in some game without a gap.
One example is Yoshi's Island, here's what it looks without the gap, it's really obvious if you look at the stairs:
and with a gap (set to 64 pixels):
And as you can tell from these screenshots, the option already exists in standalone (idk if it necessarily means it would be easier to implement tho :p):
I can't always launch those 2 games with latest core and OpenGL (works in SW though).
I have a white screen at launch, here is the log. It happens 50% at launch. There weren't any problem with the November build from https://git.libretro.com/
log.txt
I tried the following:
$ mkdir build
$ cd build
$ cmake ..
$ make
It compiles melonDS
executable just fine, but the generated src/libcore.a
fails to load under Load Core
in RetroArch. What am I missing? Thanks.
When activating Runahead with the latest code for this core (which I assume is using the software renderer by default), I am experiencing these two effects respectively:
https://www.youtube.com/watch?v=E9qrtHKV7kQ&feature=youtu.be
Should restart the game.
MelonDS core seems to still be on v0.8.3, v0.9 has been out for a little while now, would like to see some of the improvements added for all platforms that retroarch is avaliable on not just PC.
I use retroarch/save folder for them, but got a Mario Kart DS (E).sav generated in my cache folder.
Win7 x64
Being able to control the touchscreen cursor with the right or left stick is really handy when you don't have a mouse nearby. Desmume has a core option to use either stick and maps R2 to "tap screen".
The latest buildbot builds of the core after the Jan 16th rebase to 0.9.1 will freeze for a few seconds when closing content or exiting RetroArch. It does close after awhile, but I believe it's crashing because it doesn't write changed core options to file. This seems to only happen when using Vulkan as RetroArch's video driver (using software rendering in MelonDS). glcore doesn't have the issue. I've only tested on Windows, but one user on the Libretro Discord reported it happening on Android too. A few people have said it doesn't happen on Linux, but I haven't confirmed if they were using glcore or Vulkan.
One tip for reproducing this: If you've run the core with content using glcore before, you may need to restart your machine after switching to Vulkan for it to freeze. For some reason after I successfully ran the core without issue with glcore, the issue was gone in Vulkan until I restarted.
I have a previous 0.9 build of the core that doesn't have this issue. The git hash it shows is: 7bbf8e1
melonds-armeabi: [status: fail] [recipes/android/cores-android-jni] LOG: http://p.0bl.net/27380
melonds-armeabi-v7a: [status: fail] [recipes/android/cores-android-jni] LOG: http://p.0bl.net/27381
melonds-x86: [status: fail] [recipes/android/cores-android-jni] LOG: http://p.0bl.net/27382
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
If I try to run a game with melonds (release from today) than retroarch is going to close.
Means I cannot run any game with melonds. Tested with windows 10 build
This would bring the melonDS core closer to feature parity with the Desmume core which already supports touchscreens. Given that many games rely on the touchscreen in one form or another, it should significantly boost the core's usability.
Changes to things in the system menu like Language or User Name aren't being saved/loaded. I see a firmware.bin.bak file is being created in the system folder. Not sure if that's where it's supposed to store them or not.
Downloaded yesterday's (August 11th) nightly of melonDS, and fired it up on my 8.1.0 Switch running Atmosphere with title redirection.
I do have the correct firmware.bin, bios7.bin and bios9.bin files in the system directory.
Managed to boot quite a few games just fine (although slow, but that's expected).
However, when trying to use the button combo to go back to the Quick Menu of RetroArch, the console crashes and throws out an Atmosphere (CFW) error.
This seems to be consistent with any ROM I try to boot.
It doesn't seem to use libretro's logging for the melonDS text like "unknown CP15 write op 640 027E001B".
When loading any ROM on macOS it just crashes.
The bios files are present.
RetroArch: v1.6.0 stable
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The core is missing libslirp so currently you can't use online wifi with games/homebrew.
Hi, a lot of options regarding the views are present on standalone and missing on the core.
It would be great to add it !
MelonDS is fantastic but there is no fullscreen option on the standalone, adding all of its options on the liberetro core would provide the best experience !
As reported in the issue title, with the latest version of this core Chrono Trigger DS will lead to a sudden segfault / crash right after the introduction movie plays out, as well as if you skip the intro movie by pressing a button or clicking on the emulated touchscreen. RetroArch will close itself suddenly. This happens regardless of the core options used.
I have yet to perform a bisect, but I am fairly certain that it used to work well not too long ago. I had tested this specific game quite a few times after the core rebase.
Hey there, I really like this emulator. It is a fantastic alternative to Desmume and works excellently. However, when I try to get it working on Rapberry Pi 3B, Odroid XU4 or Odroid N2, it just crashes. Seems to be something wrong with the version for Arm Linux/Android devices.
Currently melonDS supports 2 modes for touch controls: touchscreen and mouse.
It would be possible to map mouse to right stick and leave the following button setting?:
Right Stick Click = Close/Open DS lid
Right Stick = Touch movement
ZL = Touch screen Click
ZR = Mic Blow
Obviously it can be changed under options, so touchscreen controls still enabled.
I'm willing to put a $40 reward if someone can implement this.
I typically design overlays for personal use on RetroArch, but the actual output is displayed very oddly on the melonDS core. I thought it would be simple to port over my old overlays I have been using for years, but they have had to be changed with both melonDS 0.9 and 0.9.1 and I figure it was important to address this before it became a long term problem
I have taken screenshots to show exactly where the oddities are: https://imgur.com/a/SNdy9Hi
I think the solution should be to just replicate the display options on DeSmuME since they are what most people who have been using RetroArch for DS emulation for years are already used to and existing overlays already work for them.
Not having the spacing adjustable for the top/bottom view too with opengl on is mildly frustrating as well since that also breaks a few standard overlays, but I think tackling the hybrid display option is much more important
I just noticed that melonDS runs better than the Libretro version. My guess is that the threaded 3D renderer hasn't been implemented yet. This is especially noticeable in the Level Select in New Super Mario Bros.
How are you supposed to play games that need a touchscreen or use of the stylus? With Desmume, you can use the mouse cursor/click to emulate the touchscreen. I cannot find an option with this emulator.
Some games use the top screen as the main screen, so I have them set as Top Only, but for some reason that mode always acts as if Touch mode is off. I'd like to be able to use the screen switch button to glance at the bottom screen and use touch screen functions with the analog stick.
This is my 'idea' for a 'no fuss' option for single screen (and thus larger screen) gaming for the DS and 3D.
In most games the secondary screen is just used for a map or a menu (or the 3ds at least, since on the DS it's usually not interactable).
So the idea was:
A alternative to 1. and 2. if the information there is really important and requires user input is to overlay or place on top a smaller version of the secondary screen (on the same modes) for a larger than expected 'main screen', except on FMVs where both would jump to their natural size at monitor resolution for a nondistorted FMV.
Would make the (3)ds games a more traditional 'console experience' for the games where the secondary screen is not important except for video cutscenes.
I have no idea if melonds is HLE enough to recognize movies playing, and this would fail with games using engine cutscenes but that's the idea. The current alternative of just ignoring the secondary screen for the gameplay screen size can cause you to miss cutscenes or required user input easily.
OS: Kubuntu 20.04
Core version: 0.9 (https://github.com/hunterk/libretro_builds)
Problem: The game itself works perfectly fine, but whenever the game fades to black (like during transitions in cutscenes, changing floors, moving to a different area, etc) the music seems to glitch out somewhat (it sounds like crackling or stuttering). Beyond that there's no problems with the audio.
When you start the core without content... it should boot into the BIOS! :-)
I don't think it would be that hard to implement, but I don't know much about Libretro / C / C++ .
I feel like changing the variable "DirectBoot" to 1 when started with no content could do the trick? And 0 if loaded WITH content?
https://github.com/libretro/melonDS/blob/master/src/Config.cpp
Desmume maps L3 as a screen switch hotkey. It swaps the positioning of the screens in all layout modes. I find it primarily useful in the single screen modes, so I can easily see map screens and the like when I need to without it always taking up screen space.
melonDS 0.9 5ef2547, Android aarch64 core on RA 1.9.0, Android 11
When melonDS is loaded with option "JIT fast memory" enabled, loading any ROM only yields a blank screen. In RA log it says
=== Build =======================================
Capabilities: ASIMD
[INFO] Built: Aug 11 2020
[INFO] Version: 1.9.0
[INFO] Git: 6388872
[INFO] =================================================
jni_thread_destruct()
[CORE]: Loading dynamic libretro core from: "/data/user/0/com.retroarch.aarch64/cores/melonds_libretro_android.so"
[Overrides]: Core-specific overrides found at /storage/emulated/0/RetroArch/config/melonDS/melonDS.cfg.
[Overrides]: No content-dir-specific overrides found at /storage/emulated/0/RetroArch/config/melonDS/downloads.cfg.
[Overrides]: No game-specific overrides found at /storage/emulated/0/RetroArch/config/melonDS/Pokémon_Platinum_(C).cfg.
Config: appending config "/storage/emulated/0/RetroArch/config/melonDS/melonDS.cfg"
[Overrides]: Configuration overrides unloaded, original configuration restored.
**[CORE]: No content, starting dummy core.**
[Cheats]: Save game-specific cheatfile: /storage/emulated/0/RetroArch/cheats/melonDS/Pokémon_Platinum_(C).cht
Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
[CORE]: Unloading game..
[CORE]: Unloading core..
[CORE]: Unloading core symbols..
[Core Options]: Saved core options file to "/storage/emulated/0/RetroArch/config/melonDS/melonDS.opt"
Threaded video stats: Frames pushed: 965, Frames dropped: 10.
RetroArch 1.9.0 (Git 6388872)
With JIT fast memory disabled, content loads properly.
Seems only happening on Android aarch64 so far - Windows x64 build works fine.
I tried to compile the core for iOS by running
make platform=ios-arm64
, make platform=ios9
and make platform=ios
It generates a .dylib file, but after compiling retroarch and the generated core with Xcode, it doesn’t work.
An older MelonDS core I found somewhere else works.
Steps to reproduce:
The fix for the .bak file not being present didn't fix this.
I’m opening this issue to collect and investigate reports related to Runahead performance with this core (using the software renderer), which currently appears to be quite low, with huge framerate drops and stuttering anytime this option is active. Here’s a recap of what I am experiencing:
I am not expecting any miracle of course. If it is ultimately clear that this is just a matter of a very high performance requirement and there’s nothing that can be done at all, then it’s fine, but the performance difference experienced here between no Runahead and with Runahead enabled is massive, much higher than most other software cores available right now, so I’m hoping there might be some way to improve the situation.
Just as mentioned (for Theresia, didn't check other games).
The files get created, but when trying to load them
savestate: bad length 6525900
savestate: VERY BAD!!!!!! EVENT FUNCTION POINTER ID 12 IS OUT OF RANGE. HAX?????
Before the core was updated, the jni directory existed to allow building the android core. It no longer exists, and just dropping the old one in doesn't correctly build.
Nevermind it works sorry.
I am experiencing an issue affecting the entirety of the content I have tried so far with this core. Here's what happens:
Here's an example of what I am seeing with the European version of New Super Mario Bros.: https://i.imgur.com/acOSZ9M.png
This is happening with all core-options set to their default values and with runahead disabled. I have also tried changing the savefile directory to other paths, but to no avail.
There's been a few changes since the last update.
During compiling with make after cmake configuration I get this error:
[ 1%] Building CXX object CMakeFiles/melonDS.dir/src/SPI.cpp.o
/usr/bin/c++ -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -O3 -DNDEBUG -pthread -std=gnu++11 -o CMakeFiles/melonDS.dir/src/SPI.cpp.o -c /home/yuta/Documents/melonDS/src/SPI.cpp
/home/yuta/Documents/melonDS/src/SPI.cpp: In function ‘void SPI_Firmware::Reset()’:
/home/yuta/Documents/melonDS/src/SPI.cpp:147:10: error: ‘path’ was not declared in this scope
sprintf(path, "firmware.bin.bak");
The touchscreen cursor in Joystick and Mouse touch modes should hide after a few seconds of not moving. This should make the Off touch mode obsolete too, since I think it's only there to hide the cursor.
This should be (mostly) functional in upstream, but seems to need to load in a different mode. Just adding in the dsi extension provides an error about the game not being loadable on a standard DS.
OpenGL breaks the graphics in the latest build. It doesn't switch from Vulkan to Glcore/Gl automatically so I thought it was the cause but it doesn't solve anything when switching to Glcore/Gl manually.
Software is working great though with the latest commits from upstream.
Adding a core options to adjust the internal resolution.
Desmume offers a side by side option for the displays (rather than top to bottom) and this works very well in widescreen monitors.
I realise this might not be possible if upstream doesn't support it but worth a mention incase it can be added in the future.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.