Giter Site home page Giter Site logo

libretro / desmume Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tasemulators/desmume

35.0 9.0 33.0 80.59 MB

DeSmuME is a Nintendo DS emulator

Home Page: http://desmume.org

License: GNU General Public License v2.0

C++ 45.02% C 47.66% Makefile 0.39% AppleScript 0.01% Metal 0.64% Ruby 0.03% Shell 0.03% Objective-C 0.63% Objective-C++ 3.90% Perl 0.01% Roff 0.04% M4 0.05% Batchfile 0.01% JavaScript 0.01% Assembly 0.26% Python 0.04% Pawn 1.31%

desmume's Introduction

desmume's People

Contributors

atsampson avatar bananarama203 avatar barbudreadmon avatar bearoso avatar celerizer avatar claudiuslollarius avatar cosmo-ray avatar ds22x avatar greenchili2 avatar inactive123 avatar intact avatar jules-a avatar klapeto avatar kongfl888 avatar kwyxz avatar libretroadmin avatar m4xw avatar pal1000 avatar retr0s4ge avatar rogerman avatar salz avatar soundsnow avatar spiveeworks avatar suuperw avatar tatsuya79 avatar warmenhoven avatar webgeek1234 avatar yoshisuga avatar zeromus avatar zoltanvb 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

desmume's Issues

ARM64 JIT implementation

This issue is mainly for lakka and the switch port.
It would speedup a lot the emulator, and might also help with other devices.

Null pointer dereference on startup with Unicode path

Latest HEAD and RA on Windows 10, I get this crash on starting after loading a rom:

Thread 1 received signal SIGSEGV, Segmentation fault.
0x00000000081700d4 in TSequenceItem_DMA<0, 0>::isTriggered (
    this=0xb647d18 <sequencer+152>) at ../../NDSSystem.cpp:1040
1040                    return (controller->dmaCheck && nds_timer>= controller->nextEvent);
(gdb) print controller
$1 = (DmaController *) 0x0

Resuming content restarts the game

Using the latest libretro core of desmume on windows 10 x64

Sometimes after toggling quick menu and hitting "resume" restarts the game from the beggining.

BackupDevice: WARNING! Failed to get read/write access to the save file! Will operate in RAM instead.

I just pulled from the buildbot. Running on Manjaro Linux, up to date, the game and save are held on a local file server. In the folder, there is a .dsv file for the game, but is functionally empty:

KH358DAYKH358DAYKH358DAYKH358DAY

(empty space for a few kilobytes)

\Uffffffff|<--Snip above here to create a raw sav by excluding this DeSmuME savedata footer:\Uffffffff\Uffffffff

None of the other cores I use have any issues saving to the local server. Savestates are still functional, and save to the same folder as the .dsv file.

Let me know what you need to know.

Performance Comparision between Standalone and Libretro Version

I setup both Desmume standalone and the libretro version.
The standalone version reaches more FPS than the libretro version.
The libretro version has 10 - 15 FPS difference compared to the standalone version.
I compared the windows versions of both emulators and the latest releases.

Screen Toggle Button

A button to toggle the screen layout between Top/Bottom (Left/Right) layout and Bottom/Top (Right/Left) layout. Desmume stand-alone provides already this feature.

Build fails with libpcap-1.8.1

When building the libretro core with libpcap-1.8.1 in Slackware 14.2 I recieve this build error.

In file included from /usr/include/pcap.h:43:0,
                 from ../../wifi.cpp:73:
/usr/include/pcap/pcap.h:531:26: fatal error: remote-ext.h: No such file or directory
compilation terminated.
g++ -DGIT_VERSION=\"b9b515f\" -DHAVE_OPENGL -std=gnu++11 -DHAVE_JIT -O3 -DNDEBUG -D__LIBRETRO__ -fPIC  -I../../libretro-common/include -I../.. -I../../libretro   -fpermissive -c -o../../NDSSystem.o ../../NDSSystem.cpp
Makefile.libretro:581: recipe for target '../../wifi.o' failed
make: *** [../../wifi.o] Error 1

From the relevant code in /usr/include/pcap/pcap.h.

#ifdef HAVE_REMOTE
  /* Includes most of the public stuff that is needed for the remote capture */
  #include <remote-ext.h>
#endif   /* HAVE_REMOTE */

And this diff in desmume gets me past it, but maybe there is a better way?

diff --git a/desmume/src/wifi.cpp b/desmume/src/wifi.cpp
index 63bf44bb4..dba487873 100755
--- a/desmume/src/wifi.cpp
+++ b/desmume/src/wifi.cpp
@@ -59,7 +59,7 @@
 
 // Some platforms need HAVE_REMOTE to work with libpcap, but
 // Apple platforms are not among them.
-#ifndef __APPLE__
+#if !defined( __APPLE__) && !defined(__LIBRETRO__)
        #define HAVE_REMOTE
 #endif
 

This is not a problem in Slackware current with libpcap-1.9.0.

Assertion failed in debug mode

Using latest HEAD and RA, I get a crash on startup with this assertion when building with DEBUG=1 on both Linux and Windows 10:

retroarch: ../../NDSSystem.cpp:2806: void gotInputRequest(): Assertion `!validToProcessInput' failed.

Dr.Memory crash on startup

Latest HEAD and RA on Windows 10, I get this error after trying to start a rom when running under Dr.Memory:

Error #1: UNADDRESSABLE ACCESS: reading 0x000000000000002c-0x0000000000000030 4 byte(s)
# 0 desmume_libretro.dll!Sequencer::execHardware [../../NDSSystem.cpp:1040]
# 1 desmume_libretro.dll!MakeInputDisplayString [../../NDSSystem.cpp:2692]
# 2 desmume_libretro.dll!NDS_applyFinalInput [../../NDSSystem.cpp:2993]
# 3 desmume_libretro.dll!NDS_exec<>          [../../NDSSystem.cpp:2030]
# 4 desmume_libretro.dll!NDS_endProcessingInput [../../NDSSystem.cpp:2882]
# 5 desmume_libretro.dll!retro_run           [../../frontend/libretro/libretro.cpp:1713]
# 6 nbio_mmap_win32_free                     [libretro-common/file/nbio/nbio_windowsmmap.c:197]
# 7 core_run                                 [C:\msys64\home\Administrator\RetroArch/core_impl.c:415]
# 8 runloop_iterate                          [C:\msys64\home\Administrator\RetroArch/retroarch.c:3190]
# 9 retro_task_internal_gather               [libretro-common/queues/task_queue.c:136]
#10 retro_task_threaded_gather               [libretro-common/queues/task_queue.c:376]
#11 task_queue_check                         [libretro-common/queues/task_queue.c:609]
#12 rarch_main                               [frontend/frontend.c:131]
#13 SDL_main                                 [frontend/frontend.c:154]
#14 main_getcmdline                          [gfx/drivers_shader/slang_process.cpp:458]
#15 __tmainCRTStartup                        [C:/repo/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/crtexe.c:341]
#16 .l_startw                                [C:/repo/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/crtexe.c:191]
#17 KERNEL32.dll!BaseThreadInitThunk        +0x13     (0x00007ffd42578364 <KERNEL32.dll+0x8364>)
Note: @0:00:46.333 in thread 7072
Note: instruction: mov    0x2c(%rax) -> %eax

Which is better, desmume or desmume2015 on PI3?

Hi

I read there

For Linux :

If you've got Linux or BSD, clone the repo, head to the desmume/src/frontend/libretro directory, and type "make". Copy the libretro_desmume.so library to your ~/.config/retroarch/cores directory.

For Windows :

Building and running fine on Windows with mingw now, or at least the 64-bit version,
I'm having trouble building a 32-bit version because of my makeshift Windows environment.

DLL here : https://sites.google.com/site/bearoso/misc/desmume_libretro.zip

  • First maybe you can explain this on your first GIT page for all the users :)
    For my part on RETROPIE we have your build ready on Retropie-Setup :)

  • On PI3 with a linux Debian and ARM proc we can compile and use two versions :

https://github.com/libretro/desmume2015
https://github.com/libretro/desmume (your'se)

What do you add in your version ?
It is not explain no where. On the other issue you speak about 3D acceleration with OpenGL ?
I see the two versions have update source thre is 27 days at same time.
Thanks

Dawn of Sorrow control issue

When I try and play it the Right Move Button does not work and when I try and Change which Button I want to use it comes up saying it's already use and Key Button Keeps Disappearing so can't use and get out of the Menu.

Also does it on Desmume 2015 Core.

How can this be Fixed?

New bug found - Mouse pointer not lining up in touch/absolute mode

Hello,

I have been working with @Wertz over on the libretro forum and you can find that thread at https://forums.libretro.com/t/desmume-core-mouse-very-erratic/15318/82

I'm offering a $50 bounty/payment via PayPal to anyone who can help me resolve a new bug we found, at least on my system.

First, when the option (quick menu, options, in RetroArch) is set to mouse/relative, the mouse movement is very fast (even with mouse speed on the lowest setting) and erratic.

I would rather use touch/absolute mode anyway, though, but the problem is, on the newest version of the core (and older versions of the same core) I have to click about 2 to 3 inches above where I actually want to click in order for it to work/register my click. This is on a 27" monitor at 1920x1080 resolution. Obviously, this is guesswork and you can't play a game like this.

I found an older version of a core called Desmume_Future and when setting it to absolute mode, it works flawlessly. The problem is, it doesn't have a screen gap option, so I can't use that core.

For many more details and all the troubleshooting we did plus more info on the problem itself, please visit my thread listed above.

We've worked on this for hours and hours and there are 83 posts, but it should convey the problem more clearly and hopefully a solution can be found.

I know nothing about programming, but it seems to me it might be easy to fix because if you could just copy the portion of code out of the Desmume_Future core (having to do with using the mouse in absolute mode) to the new core, the problem would be solved since it works great in the "Future" core.

I hope you understand the problem, as it is kind of difficult to explain and I would greatly appreciate some help and a resolution to this problem.

Thanks so much,

--Jason

The Legend of Zelda Phantom Hourglass - Strange Audio Issues in Dungeons/Caves

I am using the stable RetroArch 1.7.3, and the latest version of the desmume core. In The Legend of Zelda Phantom Hourglass, I am getting strange audio issues whenever I am inside of a cave or dungeon. Everywhere else in the game, the audio sounds perfectly fine and I don't have the issue. I don't know exactly how to explain it, so I have attached a recording of the audio. I think this has something to do with the echo effect the game has inside of caves and dungeons, but I am not entirely sure.
zelda.zip

Hybrid Layout: Show Both Screens option broken.

In particular it still shows both screens to the side with hybrid layout scale set to 3 in recent versions of the core. Scale 1 disables one of the screens as it should, but scale 1 is broken and runs at a lower, unreadable resolution than native. Desmume 2015 doesn't have this issue, but I presume it's out of date.

Rotate controls according to video rotation

If the video is rotated by 90 degrees the controls stay the same. The user cannot even create custom input maps because the retropad itself must be newly configured. Also mouse controls do not work because they are also not rotated. Therefore a feature is needed to rotate the controls according to the video rotation.

Exampel: Hotel Dusk

How to solve the problem in the desmume folder

BUILD desmume (target)
make[1]: Entering directory '/home/luojh/Lakka-LibreELEC/build.Lakka-ROCK64.arm-2.1-devel/desmume-64230f3/desmume'
make[1]: *** No targets specified and no makefile found. Stop.
make[1]: Leaving directory '/home/luojh/Lakka-LibreELEC/build.Lakka-ROCK64.arm-2.1-devel/desmume-64230f3/desmume'
make: *** [image] Error 2

Because of my system is LINUX, I read the README_LIN, according to the steps on desmume/SRC/frontend/posix file:
. / autogen. Sh
. / configure
But when running "make", get wrong:
Ar: u 'modifier ignored since D' is the default (see ` u ')

Ar:.. /.. /libretro-common/file/retro_stat. O: No such file or directory.

Make [1]: *** [libdesmume. A] Error 1.

Make [1] : brigade directory ` / home/luojh/Lakka - LibreELEC/build Lakka - ROCK64. Arm - 2.1-devel/f3 / desmume desmume - 64230 / SRC/frontend/posix '

Make: *** [install-recursive] Error 1.

Build fail on i386 and ARM

g++ -g -fstack-protector-strong -Wformat -Werror=format-security -DGIT_VERSION=\"' 6d28593'\" -DHAVE_OPENGL -DUSE_POSIX_MEMALIGN -D__RETRO_ARM__ -marm -DARM -DHAVE_JIT -O2 -DNDEBUG -D__LIBRETRO__ -fPIC  -I../../libretro-common/include -I../.. -I../../libretro   -fpermissive -c -o../../filter/deposterize.o ../../filter/deposterize.cpp
../../filter/deposterize.cpp: In function ‘void RenderDeposterize(SSurface, SSurface)’:
../../filter/deposterize.cpp:112:8: error: ‘size_t’ does not name a type
  const size_t w = Src.Width;
        ^
../../filter/deposterize.cpp:113:8: error: ‘size_t’ does not name a type
  const size_t h = Src.Height;
        ^
../../filter/deposterize.cpp:120:2: error: ‘size_t’ was not declared in this scope
  size_t i = 0;
  ^
../../filter/deposterize.cpp:122:14: error: expected ‘;’ before ‘x’
  for (size_t x = 0; x < w; x++, i++)
              ^
../../filter/deposterize.cpp:122:21: error: ‘x’ was not declared in this scope
  for (size_t x = 0; x < w; x++, i++)
                     ^
../../filter/deposterize.cpp:122:25: error: ‘w’ was not declared in this scope
  for (size_t x = 0; x < w; x++, i++)
                         ^
../../filter/deposterize.cpp:122:33: error: ‘i’ was not declared in this scope
  for (size_t x = 0; x < w; x++, i++)
                                 ^
../../filter/deposterize.cpp:143:14: error: expected ‘;’ before ‘y’
  for (size_t y = 1; y < h-1; y++)
              ^
../../filter/deposterize.cpp:143:21: error: ‘y’ was not declared in this scope
  for (size_t y = 1; y < h-1; y++)
                     ^
../../filter/deposterize.cpp:143:25: error: ‘h’ was not declared in this scope
  for (size_t y = 1; y < h-1; y++)
                         ^
../../filter/deposterize.cpp:145:15: error: expected ‘;’ before ‘x’
   for (size_t x = 0; x < w; x++, i++)
               ^
../../filter/deposterize.cpp:145:22: error: ‘x’ was not declared in this scope
   for (size_t x = 0; x < w; x++, i++)
                      ^
../../filter/deposterize.cpp:145:26: error: ‘w’ was not declared in this scope
   for (size_t x = 0; x < w; x++, i++)
                          ^
../../filter/deposterize.cpp:145:34: error: ‘i’ was not declared in this scope
   for (size_t x = 0; x < w; x++, i++)
                                  ^
../../filter/deposterize.cpp:167:14: error: expected ‘;’ before ‘x’
  for (size_t x = 0; x < w; x++, i++)
              ^
../../filter/deposterize.cpp:167:21: error: ‘x’ was not declared in this scope
  for (size_t x = 0; x < w; x++, i++)
                     ^
../../filter/deposterize.cpp:167:25: error: ‘w’ was not declared in this scope
  for (size_t x = 0; x < w; x++, i++)
                         ^
../../filter/deposterize.cpp:167:33: error: ‘i’ was not declared in this scope
  for (size_t x = 0; x < w; x++, i++)
                                 ^
../../filter/deposterize.cpp:188:2: error: ‘i’ was not declared in this scope
  i = 0;
  ^
../../filter/deposterize.cpp:190:14: error: expected ‘;’ before ‘x’
  for (size_t x = 0; x < w; x++, i++)
              ^
../../filter/deposterize.cpp:190:21: error: ‘x’ was not declared in this scope
  for (size_t x = 0; x < w; x++, i++)
                     ^
../../filter/deposterize.cpp:190:25: error: ‘w’ was not declared in this scope
  for (size_t x = 0; x < w; x++, i++)
                         ^
../../filter/deposterize.cpp:211:14: error: expected ‘;’ before ‘y’
  for (size_t y = 1; y < h-1; y++)
              ^
../../filter/deposterize.cpp:211:21: error: ‘y’ was not declared in this scope
  for (size_t y = 1; y < h-1; y++)
                     ^
../../filter/deposterize.cpp:211:25: error: ‘h’ was not declared in this scope
  for (size_t y = 1; y < h-1; y++)
                         ^
../../filter/deposterize.cpp:213:15: error: expected ‘;’ before ‘x’
   for (size_t x = 0; x < w; x++, i++)
               ^
../../filter/deposterize.cpp:213:22: error: ‘x’ was not declared in this scope
   for (size_t x = 0; x < w; x++, i++)
                      ^
../../filter/deposterize.cpp:213:26: error: ‘w’ was not declared in this scope
   for (size_t x = 0; x < w; x++, i++)
                          ^
../../filter/deposterize.cpp:235:14: error: expected ‘;’ before ‘x’
  for (size_t x = 0; x < w; x++, i++)
              ^
../../filter/deposterize.cpp:235:21: error: ‘x’ was not declared in this scope
  for (size_t x = 0; x < w; x++, i++)
                     ^
../../filter/deposterize.cpp:235:25: error: ‘w’ was not declared in this scope
  for (size_t x = 0; x < w; x++, i++)
                         ^

https://launchpadlibrarian.net/359277285/buildlog_ubuntu-xenial-armhf.libretro-desmume_0.9.11-r201803022350-6d28593-30~ubuntu16.04.1_BUILDING.txt.gz

https://launchpadlibrarian.net/359277171/buildlog_ubuntu-xenial-i386.libretro-desmume_0.9.11-r201803022350-6d28593-30~ubuntu16.04.1_BUILDING.txt.gz

Support Drastic Savestates

Drastic is a popular DS Emulator on Andriod and I regularly go back and forth between my computer and phone. It would be cool to be able to load Drastic savestates in DeSmuMe and save Drastic savestates in DeSmuMe.

Microphone is always on

I've been trying to play through the DS port of Resident Evil 1 on Rebirth Mode. The touch controls can be emulated rather comfortably, however there is a section that requires you to perform mouth-to-mouth to Richard via blowing into the microphone. Now, this wouldn't be an issue, however there is no way to disable the microphone. I've tried disabling it in the quick menu options, and even tried the toggle hotkey. The only noticeable change is that instead of turning off, the toggle simply switches between internal and random sound samples.

0314 - resident evil - deadly silence usa -180321-210416

Filtering for Sprites

Currently only textures can be scaled with xBRZ.
However this leads to an unequal visualizations in some games (some parts are scaled others are not).
The request would be to add also a scaling for sprites.

90 degree option

Some games like dr kawashima or hotel dusk forced the player to rotate the DS by 90 degrees.
Means the games were displayed in a book style.
This option is missing in the libretro version.

Alternative view for Hybrid Mode

One of the nice features that RetroArch has over standalone DeSmuME is Hybrid Screen. It use unused screen area to show the entire DS Screen, so user can see the whole DS experience while enjoying bigger resolution for one screen. The current layout can be illustrated as this:
retroarch

It works very well, but if accepted, I want to request another method to show the DS screen. My suggestion is heavily inspired by how DeSmuME x432r works. The setting can be found in DeSmuME x432r under View -> Screen Size -> 100% : 50%. With this setting, both Top and Bottom of DS screen will looks bigger and can be arranged symmetrically. This is how it will looks:
desmume 360x

This alternative method will have at least 2 advantages as described above:

  1. Bigger view for Top and Bottom DS screen,
  2. It looks symmetrical that give impression that the entire laptop screen has filled with game display.

Thanks.

[Feature Request] Option to have saves recorded as .sav files instead of .dsv

Currently the Desmume core writes saves as .dsv files only, which I understand is also what happens with the standalone application.

It would be useful to have an option that enables this core to export its savefiles as .sav, which would yield the following benefits:

  • saves would be immediately compatible with melonDS, both the standalone version and the libretro core that has been updated recently;
  • the same files in .sav format would be usable on flashcarts and other means of playback on actual hardware, without need to convert the .dsv file to .sav beforehand.

[Feature Request] biosnds7.bin, biosnds9.bin and firmware.bin usage

In the standalone version of DeSmuME you can use these files and boot to the BIOS before you start a game just like how it functions on a real DS.

Would it be possible to implement/backport this from the standalone for use in the Libretro core?
The standalone also features the option to save/load changes made in the firmware to a separate file which resides in the Battery folder.

This is actually the only thing I miss in the Libretro core being able to use the BIOS files.

Thanks in advance!

Feature request for 7z support please

So ive been under the mistaken impression (not really sure what i was thinking) that the newer cores were the dated ones.

This was reinforced by the fact that desmume2015 worked, while desmume did not.

Ive finally tracked this down to the fact that my games were compressed w/ 7z.

Unsure how 2015 variant ended up supporting 7z, and the newer one did not - but alas :)

Either way, every single rom - for every single non disc system i have is compressed as 7z so it would be excellent if support could be added.

not sure how much time, or how difficult it is - but i'd imagine its a worthwhile addition considering how popular 7z is.

Thanks for your time regardless!

Hybrid screen layout broken

Bug only occurs when hybrid scale is set to 1x. 3x looks fine. 1x was working normally until I updated the core today. I suspect it was a commit sometime within the last week. See screenshot.

5844 - solatorobo - red the hunter usa en fr de es it ndsi enhanced -180413-125019

Touchscreen input mapped incorrectly in hybrid layout mode with hybrid layout scale set to 3

There seems to be a touchscreen input scaling/mapping bug under the following conditions:

  • Hybrid layout mode (either hybrid/top or hybrid/bottom)
  • Hybrid Layout: Scale set to 3
  • Hybrid Layout: Cursor Always on Small Screen OFF
  • Touchscreen displayed as the (large) main screen

With this setup, the mouse cursor is drawn correctly and can be moved to any part of the touchscreen, but all input is mapped to a rectangle 1/3 the size of the touchscreen in the top left corner. The following screenshot from 'Art Academy' most clearly demonstrates the problem:

art_academy

The dotted grey lines show where I clicked and dragged the mouse. The red 'paint' lines show where the input was registered.

The problem affects the most recent version of the core (commit 2085971) running under both Windows 7 (x64) and Linux (OpenSUSE Leap 43.3). The input mapping is correct if Hybrid Layout: Scale is set to 1.

Windows x86 builds seem to be broken for a long time

RetroArch simply crashes with a standard Windows error when trying to load a ROM using x86 desmume core.
Tried it on two Windows 10 PCs, ended up with the same result.

My main PC has 64-bit Windows 10 installed, and my first guess was that's the reason x86 build doesn't work on it properly (although it would've been kinda strange). I then tried an x64 build of RetroArch + x64 desmume core, which worked just fine for me. Well, good enough, I thought. It's only logical to use x64 build on x64 system.

But I wanted to set up netplay (just for spectating) with my friend, whose PC runs 32-bit Windows 10. So I had no options but to use x86 there. When I tried to run x86 RetroArch + x86 desmume core on their PC, it crashed immediately after trying to load the ROM, the same way as it did on my PC. Which sort of confirmed my system being x64 wasn't the reason for x86 build to crash, it seems the core is just broken.

This situation doesn't change for a couple of months, so I finally decided to leave a message here. Any help? Maybe it's not broken and I'm simply doing something wrong?

Here's a log: https://pastebin.com/raw/tMLFcrW4

Native Resolution in Hybrid Mode results in distorted small screens

The current approach is to render 2D games in native resolution and to use shader to optimise the graphics.
However in native resolution (256x192) the small screens in the hybrid layout are completely distorted and unsharp. Even without the shaders (scaleFX) the small screens keep distorted.
yoshi s island ds-180325-100420

I tried to change the hybrid layout scale from 1 to 3. If I do that the layout is still the same but the shaders (scaleFX) do not work anymore.

ASAN memory error opening ROM

Using latest HEAD, I get this crash on startup when loading a ROM:

=================================================================
==26092== ERROR: AddressSanitizer: strcpy-param-overlap: memory ranges [0x600c0000a5a0,0x600c0000a5a4) and [0x600c0000a5a0, 0x600c0000a5a4) overlap
    #0 0x7fbdf0d07601 in __interceptor_strcpy (/usr/lib/x86_64-linux-gnu/libasan.so.0+0xe601)
    #1 0x7fbdc11e2130 in EMUFILE_FILE::open(char const*, char const*) /home/bp/desmume/desmume/src/frontend/libretro/../../utils/../emufile.h:306
    #2 0x7fbdc11ffc4a in EMUFILE_FILE::truncate(int) /home/bp/desmume/desmume/src/frontend/libretro/../../emufile.cpp:74
    #3 0x7fbdc1bfcb38 in BackupDevice::BackupDevice() /home/bp/desmume/desmume/src/frontend/libretro/../../mc.cpp:339
    #4 0x7fbdc1c1c8ee in MMU_struct_new::MMU_struct_new() /home/bp/desmume/desmume/src/frontend/libretro/../../MMU.cpp:2045
    #5 0x7fbdc1c356b9 in void reconstruct<MMU_struct_new>(MMU_struct_new*) /home/bp/desmume/desmume/src/frontend/libretro/../../types.h:451
    #6 0x7fbdc1c17b11 in MMU_Reset() /home/bp/desmume/desmume/src/frontend/libretro/../../MMU.cpp:1032
    #7 0x7fbdc1c4e79e in NDS_Reset() /home/bp/desmume/desmume/src/frontend/libretro/../../NDSSystem.cpp:2621
    #8 0x7fbdc1c40157 in NDS_LoadROM(char const*, char const*, char const*) /home/bp/desmume/desmume/src/frontend/libretro/../../NDSSystem.cpp:780
    #9 0x7fbdc1e950c1 in retro_load_game /home/bp/desmume/desmume/src/frontend/libretro/../../frontend/libretro/libretro.cpp:1920
    #10 0x4193cc in core_load_game /home/bp/RetroArch/core_impl.c:289
    #11 0x43ef9e in content_file_load /home/bp/RetroArch/tasks/task_content.c:626
    #12 0x43fcd3 in content_file_init /home/bp/RetroArch/tasks/task_content.c:807
    #13 0x4452fd in content_init /home/bp/RetroArch/tasks/task_content.c:1919
    #14 0x429255 in event_init_content /home/bp/RetroArch/command.c:1214
    #15 0x4294d5 in command_event_init_core /home/bp/RetroArch/command.c:1272
    #16 0x42bebb in command_event /home/bp/RetroArch/command.c:2224
    #17 0x41ca5d in retroarch_main_init /home/bp/RetroArch/retroarch.c:1279
    #18 0x43daca in content_load /home/bp/RetroArch/tasks/task_content.c:279
    #19 0x4401e0 in task_load_content /home/bp/RetroArch/tasks/task_content.c:874
    #20 0x443e93 in task_load_content_callback /home/bp/RetroArch/tasks/task_content.c:1557
    #21 0x4440d5 in task_push_load_content_from_cli /home/bp/RetroArch/tasks/task_content.c:1621
    #22 0x4166d6 in rarch_main /home/bp/RetroArch/frontend/frontend.c:115
    #23 0x416792 in main /home/bp/RetroArch/frontend/frontend.c:154
    #24 0x7fbdec0b9f44 in __libc_start_main /build/eglibc-ripdx6/eglibc-2.19/csu/libc-start.c:287
    #25 0x40e2d8 in _start (/home/bp/RetroArch/retroarch+0x40e2d8)
0x600c0000a5a0 is located 32 bytes inside of 64-byte region [0x600c0000a580,0x600c0000a5c0)
allocated by thread T0 here:
    #0 0x7fbdf0d0a81a in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.0+0x1181a)
    #1 0x7fbdc1bfc790 in BackupDevice::BackupDevice() /home/bp/desmume/desmume/src/frontend/libretro/../../mc.cpp:326
    #2 0x7fbdc1c1c8ee in MMU_struct_new::MMU_struct_new() /home/bp/desmume/desmume/src/frontend/libretro/../../MMU.cpp:2045
    #3 0x7fbdc1c356b9 in void reconstruct<MMU_struct_new>(MMU_struct_new*) /home/bp/desmume/desmume/src/frontend/libretro/../../types.h:451
    #4 0x7fbdc1c17b11 in MMU_Reset() /home/bp/desmume/desmume/src/frontend/libretro/../../MMU.cpp:1032
    #5 0x7fbdc1c4e79e in NDS_Reset() /home/bp/desmume/desmume/src/frontend/libretro/../../NDSSystem.cpp:2621
    #6 0x7fbdc1c40157 in NDS_LoadROM(char const*, char const*, char const*) /home/bp/desmume/desmume/src/frontend/libretro/../../NDSSystem.cpp:780
    #7 0x7fbdc1e950c1 in retro_load_game /home/bp/desmume/desmume/src/frontend/libretro/../../frontend/libretro/libretro.cpp:1920
    #8 0x4193cc in core_load_game /home/bp/RetroArch/core_impl.c:289
    #9 0x43ef9e in content_file_load /home/bp/RetroArch/tasks/task_content.c:626
    #10 0x43fcd3 in content_file_init /home/bp/RetroArch/tasks/task_content.c:807
    #11 0x4452fd in content_init /home/bp/RetroArch/tasks/task_content.c:1919
    #12 0x429255 in event_init_content /home/bp/RetroArch/command.c:1214
    #13 0x4294d5 in command_event_init_core /home/bp/RetroArch/command.c:1272
    #14 0x42bebb in command_event /home/bp/RetroArch/command.c:2224
    #15 0x41ca5d in retroarch_main_init /home/bp/RetroArch/retroarch.c:1279
    #16 0x43daca in content_load /home/bp/RetroArch/tasks/task_content.c:279
    #17 0x4401e0 in task_load_content /home/bp/RetroArch/tasks/task_content.c:874
    #18 0x443e93 in task_load_content_callback /home/bp/RetroArch/tasks/task_content.c:1557
    #19 0x4440d5 in task_push_load_content_from_cli /home/bp/RetroArch/tasks/task_content.c:1621
    #20 0x4166d6 in rarch_main /home/bp/RetroArch/frontend/frontend.c:115
    #21 0x416792 in main /home/bp/RetroArch/frontend/frontend.c:154
    #22 0x7fbdec0b9f44 in __libc_start_main /build/eglibc-ripdx6/eglibc-2.19/csu/libc-start.c:287
0x600c0000a5a0 is located 32 bytes inside of 64-byte region [0x600c0000a580,0x600c0000a5c0)
allocated by thread T0 here:
    #0 0x7fbdf0d0a81a in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.0+0x1181a)
    #1 0x7fbdc1bfc790 in BackupDevice::BackupDevice() /home/bp/desmume/desmume/src/frontend/libretro/../../mc.cpp:326
    #2 0x7fbdc1c1c8ee in MMU_struct_new::MMU_struct_new() /home/bp/desmume/desmume/src/frontend/libretro/../../MMU.cpp:2045
    #3 0x7fbdc1c356b9 in void reconstruct<MMU_struct_new>(MMU_struct_new*) /home/bp/desmume/desmume/src/frontend/libretro/../../types.h:451
    #4 0x7fbdc1c17b11 in MMU_Reset() /home/bp/desmume/desmume/src/frontend/libretro/../../MMU.cpp:1032
    #5 0x7fbdc1c4e79e in NDS_Reset() /home/bp/desmume/desmume/src/frontend/libretro/../../NDSSystem.cpp:2621
    #6 0x7fbdc1c40157 in NDS_LoadROM(char const*, char const*, char const*) /home/bp/desmume/desmume/src/frontend/libretro/../../NDSSystem.cpp:780
    #7 0x7fbdc1e950c1 in retro_load_game /home/bp/desmume/desmume/src/frontend/libretro/../../frontend/libretro/libretro.cpp:1920
    #8 0x4193cc in core_load_game /home/bp/RetroArch/core_impl.c:289
    #9 0x43ef9e in content_file_load /home/bp/RetroArch/tasks/task_content.c:626
    #10 0x43fcd3 in content_file_init /home/bp/RetroArch/tasks/task_content.c:807
    #11 0x4452fd in content_init /home/bp/RetroArch/tasks/task_content.c:1919
    #12 0x429255 in event_init_content /home/bp/RetroArch/command.c:1214
    #13 0x4294d5 in command_event_init_core /home/bp/RetroArch/command.c:1272
    #14 0x42bebb in command_event /home/bp/RetroArch/command.c:2224
    #15 0x41ca5d in retroarch_main_init /home/bp/RetroArch/retroarch.c:1279
    #16 0x43daca in content_load /home/bp/RetroArch/tasks/task_content.c:279
    #17 0x4401e0 in task_load_content /home/bp/RetroArch/tasks/task_content.c:874
    #18 0x443e93 in task_load_content_callback /home/bp/RetroArch/tasks/task_content.c:1557
    #19 0x4440d5 in task_push_load_content_from_cli /home/bp/RetroArch/tasks/task_content.c:1621
    #20 0x4166d6 in rarch_main /home/bp/RetroArch/frontend/frontend.c:115
    #21 0x416792 in main /home/bp/RetroArch/frontend/frontend.c:154
    #22 0x7fbdec0b9f44 in __libc_start_main /build/eglibc-ripdx6/eglibc-2.19/csu/libc-start.c:287
SUMMARY: AddressSanitizer: strcpy-param-overlap ??:0 __interceptor_strcpy
==26092== ABORTING

Using latest RA on Linux x64.

Crackling sound after a while

Sound crackles in many situations.
My reference test is Super Mario 64 DS Ghost House level.
I did a savestate there and tried various Sync options and buffer sizes but it always crackles.

Stand-alone current git for win x64 with default settings is OK.
(even with no Interpolation and no advanced SPU logic)

Tested on win7 x64 current RA and Desmume nightly, soft and GL rendering.

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.