Code Monkey home page Code Monkey logo

desmume2015's People

Contributors

alcaro avatar aliaspider avatar alice-mkh avatar andres-asm avatar apprt avatar aquiles2k avatar athairus avatar celerizer avatar cxd4 avatar drizzt avatar fetzerch avatar fr500 avatar frangarcj avatar gregorr avatar heuripedes avatar hizzlekizzle avatar inactive123 avatar jackosdev avatar joolswills avatar jvook avatar kekun avatar kwyxz avatar monroe88 avatar oggom avatar sergiobenrocha2 avatar tobiasjakobi avatar webgeek1234 avatar zeromus 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

Watchers

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

desmume2015's Issues

Support loading state from renamed ROMs

I've running a ROM and after a while decided to move it to other directory. The emulator forgot all my saved states. I've tried saving a state to a specifed file but loading such a state is not possible (it stores ROM path?).

As a user, I would like to load state from the same but renamed ROM. Is it possible?

Proposal - "Hybrid" screen layout

See attached screenshot. It is a very common scenario in DS games, perhaps the most common of all, that one screen has all the game action on it and the other is just an info display. Hybrid mode addresses this. And why have two little screens on the side instead of just one? Well, there's space so why not. And it means you don't have to take any action in order to watch a cinematic that uses both screens. Hybrid mode would support toggling the primary screen just like single screen mode.

If I understand correctly, implementing this would only involve adding to desmume/src/libretro/libretro.cpp. My C++ and OGL knowledge are kinda weak but I could try doing it myself if nobody else wants to and a maintainer gives me the go ahead.

hybrid-mode

Request - split screens?

Would it be possible to have the ability to split the screens? Specifically, to be able to put one DS screen fullscreen on one physical monitor each would be nice.

It's not a great solution to try to just resize and span the retroarch window across two monitors.

Single Screen View Option and Toggle Screen Button

In stand-alone Desmume there is an option to display only a single screen and assign a button to toggle between them. It works well for many games where the second screen only displays a map or other information you only need to glance at from time to time. The toggle screen button could be assigned to L2 on the retropad for easy access since it's not used for anything currently.

Broken ARM build

Last commit (6643e63) broke ARM build:

clang++ -DUSE_POSIX_MEMALIGN -D__RETRO_ARM__ -marm -mfloat-abi=hard -DARM -DHAVE_JIT -DNDEBUG -O3 -D__LIBRETRO__ -fPIC -iquote src -iquote src/libretro  -D_FORTIFY_SOURCE=2  -c -o src/libretro/arm_arm/arm_jit.o src/libretro/arm_arm/arm_jit.cpp
In file included from src/libretro/arm_arm/arm_jit.cpp:28:
src/libretro/arm_arm/reg_manager.h:19:10: error: use of undeclared identifier 'memset'; did you mean 'wmemset'?
         memset(mapping, 0xFF, sizeof(mapping));
         ^~~~~~
         wmemset
/usr/include/arm-linux-gnueabihf/bits/wchar2.h:129:8: note: 'wmemset' declared here
__NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n))
       ^
/usr/include/arm-linux-gnueabihf/sys/cdefs.h:62:35: note: expanded from macro '__NTH'
#   define __NTH(fct)   __LEAF_ATTR fct throw ()
                                    ^
In file included from src/libretro/arm_arm/arm_jit.cpp:28:
src/libretro/arm_arm/reg_manager.h:19:17: error: cannot initialize a parameter of type 'wchar_t *' with an lvalue of type 'uint32_t [16]'
         memset(mapping, 0xFF, sizeof(mapping));
                ^~~~~~~
/usr/include/arm-linux-gnueabihf/bits/wchar2.h:129:26: note: passing argument to parameter '__s' here
__NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n))
                         ^
/usr/include/arm-linux-gnueabihf/sys/cdefs.h:62:35: note: expanded from macro '__NTH'
#   define __NTH(fct)   __LEAF_ATTR fct throw ()
                                    ^
In file included from src/libretro/arm_arm/arm_jit.cpp:28:
src/libretro/arm_arm/reg_manager.h:20:10: error: use of undeclared identifier 'memset'; did you mean 'wmemset'?
         memset(usage_tag, 0, sizeof(usage_tag));
         ^~~~~~
         wmemset
/usr/include/arm-linux-gnueabihf/bits/wchar2.h:129:8: note: 'wmemset' declared here
__NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n))
       ^
/usr/include/arm-linux-gnueabihf/sys/cdefs.h:62:35: note: expanded from macro '__NTH'
#   define __NTH(fct)   __LEAF_ATTR fct throw ()
                                    ^
In file included from src/libretro/arm_arm/arm_jit.cpp:28:
src/libretro/arm_arm/reg_manager.h:20:17: error: cannot initialize a parameter of type 'wchar_t *' with an lvalue of type 'uint32_t [16]'
         memset(usage_tag, 0, sizeof(usage_tag));
                ^~~~~~~~~
/usr/include/arm-linux-gnueabihf/bits/wchar2.h:129:26: note: passing argument to parameter '__s' here
__NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n))
                         ^
/usr/include/arm-linux-gnueabihf/sys/cdefs.h:62:35: note: expanded from macro '__NTH'
#   define __NTH(fct)   __LEAF_ATTR fct throw ()
                                    ^
In file included from src/libretro/arm_arm/arm_jit.cpp:28:
src/libretro/arm_arm/reg_manager.h:21:10: error: use of undeclared identifier 'memset'; did you mean 'wmemset'?
         memset(dirty, 0, sizeof(dirty));
         ^~~~~~
         wmemset
/usr/include/arm-linux-gnueabihf/bits/wchar2.h:129:8: note: 'wmemset' declared here
__NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n))
       ^
/usr/include/arm-linux-gnueabihf/sys/cdefs.h:62:35: note: expanded from macro '__NTH'
#   define __NTH(fct)   __LEAF_ATTR fct throw ()
                                    ^
In file included from src/libretro/arm_arm/arm_jit.cpp:28:
src/libretro/arm_arm/reg_manager.h:21:17: error: cannot initialize a parameter of type 'wchar_t *' with an lvalue of type 'bool [16]'
         memset(dirty, 0, sizeof(dirty));
                ^~~~~
/usr/include/arm-linux-gnueabihf/bits/wchar2.h:129:26: note: passing argument to parameter '__s' here
__NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n))
                         ^
/usr/include/arm-linux-gnueabihf/sys/cdefs.h:62:35: note: expanded from macro '__NTH'
#   define __NTH(fct)   __LEAF_ATTR fct throw ()
                                    ^
In file included from src/libretro/arm_arm/arm_jit.cpp:28:
src/libretro/arm_arm/reg_manager.h:22:10: error: use of undeclared identifier 'memset'; did you mean 'wmemset'?
         memset(weak, 0, sizeof(weak));
         ^~~~~~
         wmemset
/usr/include/arm-linux-gnueabihf/bits/wchar2.h:129:8: note: 'wmemset' declared here
__NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n))
       ^
/usr/include/arm-linux-gnueabihf/sys/cdefs.h:62:35: note: expanded from macro '__NTH'
#   define __NTH(fct)   __LEAF_ATTR fct throw ()
                                    ^
In file included from src/libretro/arm_arm/arm_jit.cpp:28:
src/libretro/arm_arm/reg_manager.h:22:17: error: cannot initialize a parameter of type 'wchar_t *' with an lvalue of type 'bool [16]'
         memset(weak, 0, sizeof(weak));
                ^~~~
/usr/include/arm-linux-gnueabihf/bits/wchar2.h:129:26: note: passing argument to parameter '__s' here
__NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n))
                         ^
/usr/include/arm-linux-gnueabihf/sys/cdefs.h:62:35: note: expanded from macro '__NTH'
#   define __NTH(fct)   __LEAF_ATTR fct throw ()
                                    ^
8 errors generated.
make[2]: *** [src/libretro/arm_arm/arm_jit.o] Error 1

add feature: rotation screen

Hello,

in Desmume you can rotate the game screen with 90,189 and 270°
It is necessary for some games like "brain age"

Thank you for your help.

LGDN

Crash in x86 and armhf linux

You can't load any rom in x86.

retroarch
libGL error: Version 4 or later of flush extension not found
libGL error: failed to load driver: i915
Microphone successfully inited.
DeSmuME 0.9.11 svn0 x86-JIT NOSSE
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Aborted

It's happening in standalone too, upstream problem? Just opening this report to not lost info about.

Ubuntu 14.10 x86
core 2 duo E7400
VGA compatible controller: Intel Corporation 82G33/G31 Express Integrated Graphics Controller (rev 0a)

Desmume libretro core runs much slower than standalone Desmume

Testing with Castlevania: Portrait of Ruin on a 2.93ghz Intel Core2 Duo with 4gb RAM. The standalone version of Desmume runs at 40-45fps in interpreted mode, 70-75fps in JIT mode (with the fps limit disabled). Libretro runs at 25-30fps in interpeted mode, 30-35fps in JIT mode, and has choppy/echoing sound.

These are all in-game, while I'm actively moving around and attacking. I tested with Desmume 0.9.9 from the Ubuntu repo, the latest Desmume SVN (r5046), libretro-desmume from hunterk's PPA, and the latest version from this repo (999558b).

Pixel artifacts in 1/16/15 build and after

Seems like something went wrong after the new core options were added. I have a build from 1/15/15 that doesn't have the issue. I tried fiddling with the new options, but nothing seems to fix it. Super Princess Peach is the game I noticed it on, but others might be affected.

1/15/15 Build:
15

1/16/15 Build (looks the same in 1/17/15 build too):
16

Some of the UI elements are a pixel to the left compared to the 1/15/15 build too.

Segfault if address space not "cleared"?

Not exactly sure of the mechanics behind this, but when I load a game after previously using the core with the same or another game, it crashes.

I checked my code, and the fix was to add this line to my unload/stop function:

coreFile.unload();

That's a Qt function (QLibrary::unload()), not a Libretro one. It seems that if I leave the core's address space intact (?) and try to load another game, it crashes. Here is a stacktrace of the crash I experienced:

CTRL+F for this: Thread 1 (Thread 5680.0x1f90):

I've only had this happen to me with DeSmuME, but I haven't really tested other cores...


Thread 76 (Thread 5680.0xe08):
#0  0x00007ff80c1c3aaa in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ff8092c913f in WaitForMultipleObjectsEx () from C:\WINDOWS\system32\KernelBase.dll
No symbol table info available.
#2  0x00007ff80b51a3b2 in USER32!MsgWaitForMultipleObjectsEx () from C:\WINDOWS\system32\user32.dll
No symbol table info available.
#3  0x000000000380dcd3 in QEventDispatcherWin32::processEvents (this=0x3dde08e0, flags=...) at kernel/qeventdispatcher_win.cpp:839
        nCount = 0
        waitRet = 258
        pHandles = {0x0 <repeats 63 times>}
        processedTimers = {a = 256, s = 0, ptr = 0x5501cc20, {array = '\000' <repeats 9000 times>, "\032T\004J", '\000' <repeats 12 times>, "\002\000\004\006", '\000' <repeats 12 times>, "Ö\003\004Ñ\000\000\000\000®\002\000\000\000\000\000\000�\000\004�\000\000\000\000\177\000\000\000\000\000\000\000�n\023\fø\177\000\000¿\000\000\000\000\000\000\000À\002ð\002\000\000\000\000k\001\000P\000\000\000\000\000\000ð\002\000\000\000\000®\002\000\000\000\000\000\000¿\000\000\000\000\000\000\000P\035\263\064\000\000\000\000J\037\026\fø\177\000\000\000\000ð\002\000\000\000\000k\001\000P\000\000\000\000@\035\263\064", '\000' <repeats 12 times>, "\177\000\000\000\000\000\000\000¿", '\000' <repeats 23 times>, "=\004\000\000\000\000\000\000\032T\004J\000\000\000\000pò²4\000\000\000\000\002\000\004\006\000\000\000\000\000\000\000\001\000\000\000\000Ö\003\000\000\000\000\000\000K\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000t\000\000\000\000\000\000\000ïn\023\fø\177\000\000t\000\000\000\000\000\000\000À\002ð\002\000\000\000\000k\001\000P\000\000\000\000\000\000ð\002\000\000\000\000K\000\000\000\000\000\000\000t\000\000\000\000\000\000\000\000\"³4\000\000\000\000J\037\026\fø\177\000\000\000\000ð\002\000\000\000\000k\001\000P\000\000\000\000ð!³4\000\000\000\000À\002ð\002\000\000\000\000t\000\000\000\000\000\000\000t\000\000\000\000\000\000\000\000\002", '\000' <repeats 14 times>, "=\004l3\000\000\000\000\000\000\000\000ø\177\000\000P\035\263\064", '\000' <repeats 12 times>, "pÄl\001\000\000\000\000Ö\003\004j\000\000\000\000ø\003\000\000\000\000\000\000\177\000\000\000\000\000\000\000@\035\263\064", '\000' <repeats 12 times>, "\026\004ð\002\001\000\000\000°\004\000\000\000\000\000\000t\000\000\000\000\000\000\000@\035\263\064\000\000\000\000\020ºé\001\000\000\000\000\001\000\000\000\177\000\000\000¿\000\000\000\000\000\000\000K\000\000\000\000\000\000\000Aÿÿÿ\000\000\000\000P\001ð\002\000\000\000\000°6\000\000\000\000\000\000\177\000\000\000\000\000\000\000�\000\000\000\000\000\000\000�®ÿÿ\000\000\000\000È\001\000\000\000\000\000\000\000\000\000\000\177\000\000\000¬\002\000\000\000\000\000\000D\000\000\000\000\000\000\000B\000\000\000\000\000\000\000\032T\004J\000\000\000\000Î\000\000\000\000\000\000\000\000\000w4\000\000\000\000\200è)O\000\000\000\000\177\000\000\000\000\000\000\000 \002\000\000\000\000\000\000\n\000\000\000\000\000\000\000<\000\000\000\000\000\000\000\002\000\004\006\000\000\000\000\004\004\000\000\000\000\000\000\032T\004J\000\000\000\000\060è)O\000\000\000\000à!³4\000\000\000\000Ö\003\004Ñ\000\000\000\000\061\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000P\001ð\002\000\000\000\000Ð\v\000\000\000\000\000\000\177\000\000\000\000\000\000\000¿\000\000\000\000\000\000\000\061¬ÿÿ\000\000\000\000\020\"³4\000\000\000\000`Äl3\000\000\000\000I\000\000\000\000\000\000\000À*\000\000\000\000\000\000\001", '\000' <repeats 15 times>, "¬\002\000\000\000\000\000\000\000\000w4\000\000\000\000\000\000ð\002\000\000\000\000t\000\000\000\000\000\000\000\000\000ð\002\000\000\000\000k\001\000P\000\000\000\000°*\000\000\000\000\000\000\004\003ð\002", '\000' <repeats 12 times>, "Xó\001U\000\000\000\000\000\000ð\002", '\000' <repeats 12 times>, "Ö\003\004Ñ\000\000\000\000k\001\000P\000\000\000\000j\000\000@", '\000' <repeats 14 times>, "ð\002\000\000\000\000°\að\002\000\000\000\000"..., q_for_alignment_1 = 0, q_for_alignment_2 = 0}}
        d = 0x36b055f0
        canWait = true
        retVal = false
        seenWM_QT_SENDPOSTEDEVENTS = false
        needWM_QT_SENDPOSTEDEVENTS = false
#4  0x00000000037b122e in QEventLoop::processEvents (this=0x5501fe20, flags=...) at kernel/qeventloop.cpp:128
        d = 0x36e9bd20
#5  0x00000000037b1507 in QEventLoop::exec (this=0x5501fe20, flags=...) at kernel/qeventloop.cpp:204
        d = 0x36e9bd20
        locker = {val = 1131832624}
        __PRETTY_FUNCTION__ = "int QEventLoop::exec(QEventLoop::ProcessEventsFlags)"
        ref = {d = 0x36e9bd20, locker = @0x5501fd90, exceptionCaught = true}
        app = 0x24fc30
#6  0x0000000003619cbf in QThread::exec (this=0x437661a0) at thread/qthread.cpp:503
        d = 0x437664c0
        locker = {val = 1131832624}
        eventLoop = {<QObject> = {_vptr.QObject = 0x3a97e50 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x3a1dcc0 <qt_meta_stringdata_QObject>, data = 0x3a1dde0 <qt_meta_data_QObject>, static_metacall = 0x37e4d4c <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x36e9bd20}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x3a700e0 <qt_meta_stringdata_Qt>, data = 0x3a7ab60 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x3a1df20 <QObject::staticMetaObject>, stringdata = 0x3a88e60 <qt_meta_stringdata_QEventLoop>, data = 0x3a88ec0 <qt_meta_data_QEventLoop>, static_metacall = 0x3848600 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        returnCode = 0
#7  0x0000000003619e59 in QThread::run (this=0x437661a0) at thread/qthread.cpp:570
No locals.
#8  0x000000000361ce53 in QThreadPrivate::start (arg=0x437661a0) at thread/qthread_win.cpp:367
        thr = 0x437661a0
        data = 0x36b40f20
#9  0x00007ff80bb7b097 in msvcrt!_beginthreadex () from C:\WINDOWS\system32\msvcrt.dll
No symbol table info available.
#10 0x00007ff80bb7b16c in msvcrt!_endthreadex () from C:\WINDOWS\system32\msvcrt.dll
No symbol table info available.
#11 0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#12 0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#13 0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 75 (Thread 5680.0x16f0):
#0  0x00007ff80c1c3aaa in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ff8092c913f in WaitForMultipleObjectsEx () from C:\WINDOWS\system32\KernelBase.dll
No symbol table info available.
#2  0x00007ff80b51a3b2 in USER32!MsgWaitForMultipleObjectsEx () from C:\WINDOWS\system32\user32.dll
No symbol table info available.
#3  0x000000000380dcd3 in QEventDispatcherWin32::processEvents (this=0x3fded990, flags=...) at kernel/qeventdispatcher_win.cpp:839
        nCount = 0
        waitRet = 258
        pHandles = {0x0 <repeats 63 times>}
        processedTimers = {a = 256, s = 0, ptr = 0x54e1cc20, {array = '\000' <repeats 9000 times>, "\032T\004J", '\000' <repeats 12 times>, "\002\000\004\006", '\000' <repeats 20 times>, "®\002\000\000\000\000\000\000\001\000\000\000\000\000\000\000[\000\000\000\000\000\000\000ïn\023\fø\177\000\000[\000\000\000\000\000\000\000À\002ð\002\000\000\000\000k\001\000P\000\000\000\000\000\000ð\002\000\000\000\000®\002\000\000\000\000\000\000[\000\000\000\000\000\000\000\200ã)O\000\000\000\000J\037\026\fø\177\000\000\000\000ð\002\000\000\000\000k\001\000P\000\000\000\000pã)O", '\000' <repeats 12 times>, "[\000\000\000\000\000\000\000[", '\000' <repeats 23 times>, "\004\004\000\000\000\000\000\000\032T\004J\000\000\000\000 ¸)O\000\000\000\000\002\000\004\006\000\000\000\000\000\000\000\001\000\000\000\000Å\000\000\000\000\000\000\000K\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000z\000\000\000\000\000\000\000ïn\023\fø\177\000\000z\000\000\000\000\000\000\000À\002ð\002\000\000\000\000k\001\000P\000\000\000\000\000\000ð\002\000\000\000\000K\000\000\000\000\000\000\000z\000\000\000\000\000\000\000PV¥4\000\000\000\000J\037\026\fø\177\000\000\000\000ð\002\000\000\000\000k\001\000P\000\000\000\000@V¥4\000\000\000\000À\002ð\002\000\000\000\000z\000\000\000\000\000\000\000z\000\000\000\000\000\000\000\000\001", '\000' <repeats 14 times>, "/\004¥4\000\000\000\000\000\000\000\000ø\177\000\000 Q¥4", '\000' <repeats 12 times>, "\220Q¥\001\000\000\000\000D\003\004\016\000\000\000\000ø\003\000\000\000\000\000\000\177\000\000\000\000\000\000\000\220Q¥4", '\000' <repeats 12 times>, "/\004ð\002\001\000\000\000°\004\000\000\000\000\000\000z\000\000\000\000\000\000\000\220Q¥4\000\000\000\000ÐÂt\001\000\000\000\000\001\000\000\000\177\000\000\000Å\000\000\000\000\000\000\000K\000\000\000\000\000\000\000¥ÿÿÿ\000\000\000\000P\001ð\002\000\000\000\000p0\000\000\000\000\000\000Å\000\004Á\000\000\000\000Å\000\000\000\000\000\000\000�®ÿÿ\000\000\000\000à\001\000\000\000\000\000\000\000\000\000\000\177\000\000\000¬\002\000\000\000\000\000\000D\000\000\000\000\000\000\000B\000\000\000\000\000\000\000\032T\004J\000\000\000\000\t\001\000\000\000\000\000\000\000\000&O\000\000\000\000\220;§4\000\000\000\000[\000\000\000\000\000\000\000\f\003\000\000\000\000\000\000\n\000\000\000\000\000\000\000<\000\000\000\000\000\000\000\002\000\004\006\000\000\000\000\061\004\000\000\000\000\000\000\032T\004J\000\000\000\000@;§4\000\000\000\000\060V¥4\000\000\000\000Å\000\004Á\000\000\000\000«\000\000\000\000\000\000\000`\000\000\000\000\000\000\000P\001ð\002\000\000\000\000\060\f\000\000\000\000\000\000\177\000\000\000\000\000\000\000[\000\000\000\000\000\000\000\061¬ÿÿ\000\000\000\000`V¥4\000\000\000\000\200Q¥4�ÿÿÿI\000\000\000\000\000\000\000À*\000\000\000\000\000\000\001", '\000' <repeats 15 times>, "¬\002\000\000\000\000\000\000\000\000w4\000\000\000\000\000\000ð\002\000\000\000\000z\000\000\000\000\000\000\000\000\000ð\002\000\000\000\000k\001\000P\000\000\000\000°*\000\000\000\000\000\000\004\003ð\002", '\000' <repeats 12 times>, "XóáT\000\000\000\000\000\000ð\002", '\000' <repeats 12 times>, "D\003\004C\000\000\000\000k\001\000P\000\000\000\000j\000\000@", '\000' <repeats 14 times>, "ð\002\000\000\000\000°\að\002\000\000\000\000"..., q_for_alignment_1 = 0, q_for_alignment_2 = 0}}
        d = 0x3f7d4e70
        canWait = true
        retVal = false
        seenWM_QT_SENDPOSTEDEVENTS = false
        needWM_QT_SENDPOSTEDEVENTS = false
#4  0x00000000037b122e in QEventLoop::processEvents (this=0x54e1fe20, flags=...) at kernel/qeventloop.cpp:128
        d = 0x3f7d4f90
#5  0x00000000037b1507 in QEventLoop::exec (this=0x54e1fe20, flags=...) at kernel/qeventloop.cpp:204
        d = 0x3f7d4f90
        locker = {val = 1308274128}
        __PRETTY_FUNCTION__ = "int QEventLoop::exec(QEventLoop::ProcessEventsFlags)"
        ref = {d = 0x3f7d4f90, locker = @0x54e1fd90, exceptionCaught = true}
        app = 0x24fc30
#6  0x0000000003619cbf in QThread::exec (this=0x4dfaad20) at thread/qthread.cpp:503
        d = 0x4dfaad60
        locker = {val = 1308274128}
        eventLoop = {<QObject> = {_vptr.QObject = 0x3a97e50 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x3a1dcc0 <qt_meta_stringdata_QObject>, data = 0x3a1dde0 <qt_meta_data_QObject>, static_metacall = 0x37e4d4c <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x3f7d4f90}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x3a700e0 <qt_meta_stringdata_Qt>, data = 0x3a7ab60 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x3a1df20 <QObject::staticMetaObject>, stringdata = 0x3a88e60 <qt_meta_stringdata_QEventLoop>, data = 0x3a88ec0 <qt_meta_data_QEventLoop>, static_metacall = 0x3848600 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        returnCode = 0
#7  0x0000000003619e59 in QThread::run (this=0x4dfaad20) at thread/qthread.cpp:570
No locals.
#8  0x000000000361ce53 in QThreadPrivate::start (arg=0x4dfaad20) at thread/qthread_win.cpp:367
        thr = 0x4dfaad20
        data = 0x4dfaae40
#9  0x00007ff80bb7b097 in msvcrt!_beginthreadex () from C:\WINDOWS\system32\msvcrt.dll
No symbol table info available.
#10 0x00007ff80bb7b16c in msvcrt!_endthreadex () from C:\WINDOWS\system32\msvcrt.dll
No symbol table info available.
#11 0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#12 0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#13 0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 74 (Thread 5680.0x1624):
#0  0x00007ff80c1c3aaa in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ff8092c913f in WaitForMultipleObjectsEx () from C:\WINDOWS\system32\KernelBase.dll
No symbol table info available.
#2  0x00007ff80b51a3b2 in USER32!MsgWaitForMultipleObjectsEx () from C:\WINDOWS\system32\user32.dll
No symbol table info available.
#3  0x000000000380dcd3 in QEventDispatcherWin32::processEvents (this=0x36965780, flags=...) at kernel/qeventdispatcher_win.cpp:839
        nCount = 0
        waitRet = 258
        pHandles = {0x0 <repeats 63 times>}
        processedTimers = {a = 256, s = 0, ptr = 0x3ee1cc20, {array = '\000' <repeats 9000 times>, "\032T\004J", '\000' <repeats 12 times>, "\002\000\004\006", '\000' <repeats 20 times>, "®\002\000\000\000\000\000\000\001\000\000\000\000\000\000\000.\000\000\000\000\000\000\000ïn\023\fø\177\000\000.\000\000\000\000\000\000\000À\002ð\002\000\000\000\000k\001\000P\000\000\000\000\000\000ð\002\000\000\000\000®\002\000\000\000\000\000\000.\000\000\000\000\000\000\000\060]®4\000\000\000\000J\037\026\fø\177\000\000\000\000ð\002\000\000\000\000k\001\000P\000\000\000\000 ]®4", '\000' <repeats 12 times>, ".\000\000\000\000\000\000\000.", '\000' <repeats 23 times>, "\070\004\000\000\000\000\000\000\032T\004J\000\000\000\000P2®4\000\000\000\000\002\000\004\006\000\000\000\000\000\000\000\001\000\000\000\000s\000\000\000\000\000\000\000K\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000+\000\000\000\000\000\000\000ïn\023\fø\177\000\000+\000\000\000\000\000\000\000À\002ð\002\000\000\000\000k\001\000P\000\000\000\000\000\000ð\002\000\000\000\000K\000\000\000\000\000\000\000+\000\000\000\000\000\000\000P�«4\000\000\000\000J\037\026\fø\177\000\000\000\000ð\002\000\000\000\000k\001\000P\000\000\000\000@�«4\000\000\000\000À\002ð\002\000\000\000\000+\000\000\000\000\000\000\000+", '\000' <repeats 23 times>, "\065\004´4\000\000\000\000\000\000\000\000ø\177\000\000 \220«4", '\000' <repeats 12 times>, "\220;´\001\000\000\000\000,\000\004Ú\000\000\000\000°\003\000\000\000\000\000\000v\000\000\000\000\000\000\000\220\220«4", '\000' <repeats 12 times>, ">\004ð\002\001\000\000\000°\004\000\000\000\000\000\000+\000\000\000\000\000\000\000\220\220«4\000\000\000\000\020\005j\001\000\000\000\000\000\000\000\000\177\000\000\000v\000\000\000\000\000\000\000K\000\000\000\000\000\000\000Òÿÿÿ\000\000\000\000P\001ð\002\000\000\000\000 -\000\000\000\000\000\000v\000\004r\000\000\000\000,\000\000\000\000\000\000\000�®ÿÿ\000\000\000\000¤", '\000' <repeats 11 times>, "\177\000\000\000¬\002\000\000\000\000\000\000D\000\000\000\000\000\000\000b\000\000\000\000\000\000\000\032T\004J\000\000\000\000*\000\000\000\000\000\000\000\000\000w4", '\000' <repeats 12 times>, ".\000\000\000\000\000\000\000¨\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000¼\000\000\000\000\000\000\000\002\000\004\006\000\000\000\000\000\004\000\000\000\000\000\000\032T\004J\000\000\000\000\060ý³4\000\000\000\000\060�«4\000\000\000\000s\000\004w", '\000' <repeats 12 times>, "\060\000\000\000\000\000\000\000P\001ð\002\000\000\000\000@\a\000\000\000\000\000\000v\000\000\000\000\000\000\000.\000\000\000\000\000\000\000\061¬ÿÿ\000\000\000\000`�«4\000\000\000\000\200;´4\000\000\000\000I\000\000\000\000\000\000\000À*\000\000\000\000\000\000\001", '\000' <repeats 15 times>, "¬\002\000\000\000\000\000\000\000\000w4\000\000\000\000\000\000ð\002\000\000\000\000+\000\000\000\000\000\000\000\000\000ð\002\000\000\000\000k\001\000Pýÿÿÿ°*\000\000\000\000\000\000\004\003ð\002", '\000' <repeats 12 times>, "Xóá>\000\000\000\000\000\000ð\002", '\000' <repeats 12 times>, ",\000\004(\000\000\000\000k\001\000P\000\000\000\000j\000\000@", '\000' <repeats 14 times>, "ð\002\000\000\000\000°\að\002\000\000\000\000"..., q_for_alignment_1 = 0, q_for_alignment_2 = 0}}
        d = 0x3d80c230
        canWait = true
        retVal = false
        seenWM_QT_SENDPOSTEDEVENTS = false
        needWM_QT_SENDPOSTEDEVENTS = false
#4  0x00000000037b122e in QEventLoop::processEvents (this=0x3ee1fe20, flags=...) at kernel/qeventloop.cpp:128
        d = 0x326a0820
#5  0x00000000037b1507 in QEventLoop::exec (this=0x3ee1fe20, flags=...) at kernel/qeventloop.cpp:204
        d = 0x326a0820
        locker = {val = 906335792}
        __PRETTY_FUNCTION__ = "int QEventLoop::exec(QEventLoop::ProcessEventsFlags)"
        ref = {d = 0x326a0820, locker = @0x3ee1fd90, exceptionCaught = true}
        app = 0x24fc30
#6  0x0000000003619cbf in QThread::exec (this=0x36059498) at thread/qthread.cpp:503
        d = 0x360595c0
        locker = {val = 906335792}
        eventLoop = {<QObject> = {_vptr.QObject = 0x3a97e50 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x3a1dcc0 <qt_meta_stringdata_QObject>, data = 0x3a1dde0 <qt_meta_data_QObject>, static_metacall = 0x37e4d4c <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x326a0820}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x3a700e0 <qt_meta_stringdata_Qt>, data = 0x3a7ab60 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x3a1df20 <QObject::staticMetaObject>, stringdata = 0x3a88e60 <qt_meta_stringdata_QEventLoop>, data = 0x3a88ec0 <qt_meta_data_QEventLoop>, static_metacall = 0x3848600 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        returnCode = 0
#7  0x0000000003619e59 in QThread::run (this=0x36059498) at thread/qthread.cpp:570
No locals.
#8  0x000000000361ce53 in QThreadPrivate::start (arg=0x36059498) at thread/qthread_win.cpp:367
        thr = 0x36059498
        data = 0x360596a0
#9  0x00007ff80bb7b097 in msvcrt!_beginthreadex () from C:\WINDOWS\system32\msvcrt.dll
No symbol table info available.
#10 0x00007ff80bb7b16c in msvcrt!_endthreadex () from C:\WINDOWS\system32\msvcrt.dll
No symbol table info available.
#11 0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#12 0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#13 0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 73 (Thread 5680.0x1914):
#0  0x00007ff80c1c3aaa in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ff8092c913f in WaitForMultipleObjectsEx () from C:\WINDOWS\system32\KernelBase.dll
No symbol table info available.
#2  0x00007ff8092c903e in WaitForMultipleObjects () from C:\WINDOWS\system32\KernelBase.dll
No symbol table info available.
#3  0x000000000376eabd in QWindowsFileSystemWatcherEngineThread::run (this=0x3de82b90) at io/qfilesystemwatcher_win.cpp:339
        handlesCopy = {d = 0x32469120}
        r = 0
        locker = {val = 1038625696}
#4  0x000000000361ce53 in QThreadPrivate::start (arg=0x3de82b90) at thread/qthread_win.cpp:367
        thr = 0x3de82b90
        data = 0x32580770
#5  0x00007ff80bb7b097 in msvcrt!_beginthreadex () from C:\WINDOWS\system32\msvcrt.dll
No symbol table info available.
#6  0x00007ff80bb7b16c in msvcrt!_endthreadex () from C:\WINDOWS\system32\msvcrt.dll
No symbol table info available.
#7  0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#8  0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#9  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 72 (Thread 5680.0x318):
#0  0x00007ff80c1c353a in ntdll!ZwWaitForSingleObject () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ff8092a415f in WaitForSingleObjectEx () from C:\WINDOWS\system32\KernelBase.dll
No symbol table info available.
#2  0x000000000361dab9 in QWaitConditionPrivate::wait (this=0x3d6aef70, wce=0x324fe240, time=4294967295) at thread/qwaitcondition_win.cpp:113
        ret = false
#3  0x000000000361dd4d in QWaitCondition::wait (this=0x3d6aeec0, mutex=0x3d6aeeb8, time=4294967295) at thread/qwaitcondition_win.cpp:178
        __PRETTY_FUNCTION__ = "bool QWaitCondition::wait(QMutex*, long unsigned int)"
        wce = 0x324fe240
        returnValue = true
#4  0x0000000031e24827 in FileInfoThread::run (this=0x3d6aeea8) at fileinfothread.cpp:212
        updateFiles = false
        locker = {val = 1030418105}
#5  0x000000000361ce53 in QThreadPrivate::start (arg=0x3d6aeea8) at thread/qthread_win.cpp:367
        thr = 0x3d6aeea8
        data = 0x36975d00
#6  0x00007ff80bb7b097 in msvcrt!_beginthreadex () from C:\WINDOWS\system32\msvcrt.dll
No symbol table info available.
#7  0x00007ff80bb7b16c in msvcrt!_endthreadex () from C:\WINDOWS\system32\msvcrt.dll
No symbol table info available.
#8  0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#9  0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#10 0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 31 (Thread 5680.0x1bc8):
#0  0x00007ff80c1c3aaa in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ff8092c913f in WaitForMultipleObjectsEx () from C:\WINDOWS\system32\KernelBase.dll
No symbol table info available.
#2  0x00007ff8092c903e in WaitForMultipleObjects () from C:\WINDOWS\system32\KernelBase.dll
No symbol table info available.
#3  0x000000000361ca14 in qt_adopted_thread_watcher_function () at thread/qthread_win.cpp:225
        ret = 258
        count = 2
        loops = 1
        handlesCopy = {d = 0x36836fa0}
        offset = 0
        handleIndex = 2
        __PRETTY_FUNCTION__ = "DWORD qt_adopted_thread_watcher_function(LPVOID)"
        threadData = 0x0
#4  0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#5  0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#6  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 30 (Thread 5680.0xd98):
#0  0x00007ff80c1c353a in ntdll!ZwWaitForSingleObject () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ff8092a415f in WaitForSingleObjectEx () from C:\WINDOWS\system32\KernelBase.dll
No symbol table info available.
#2  0x000000000361dab9 in QWaitConditionPrivate::wait (this=0x325f32e0, wce=0x364f0f80, time=4294967295) at thread/qwaitcondition_win.cpp:113
        ret = false
#3  0x000000000361dd4d in QWaitCondition::wait (this=0x36282f98, mutex=0x36282f90, time=4294967295) at thread/qwaitcondition_win.cpp:178
        __PRETTY_FUNCTION__ = "bool QWaitCondition::wait(QMutex*, long unsigned int)"
        wce = 0x364f0f80
        returnValue = false
#4  0x000000000a443765 in QSGRenderThreadEventQueue::takeEvent (this=0x36282f88, wait=true) at scenegraph/qsgthreadedrenderloop.cpp:224
        e = 0x360164d0
#5  0x000000000a2582bc in QSGRenderThread::processEventsAndWaitForMore (this=0x36282f10) at scenegraph/qsgthreadedrenderloop.cpp:657
        e = 0x3277f5e0
        __PRETTY_FUNCTION__ = "void QSGRenderThread::processEventsAndWaitForMore()"
#6  0x000000000a258697 in QSGRenderThread::run (this=0x36282f10) at scenegraph/qsgthreadedrenderloop.cpp:686
        __PRETTY_FUNCTION__ = "virtual void QSGRenderThread::run()"
#7  0x000000000361ce53 in QThreadPrivate::start (arg=0x36282f10) at thread/qthread_win.cpp:367
        thr = 0x36282f10
        data = 0x325f6330
#8  0x00007ff80bb7b097 in msvcrt!_beginthreadex () from C:\WINDOWS\system32\msvcrt.dll
No symbol table info available.
#9  0x00007ff80bb7b16c in msvcrt!_endthreadex () from C:\WINDOWS\system32\msvcrt.dll
No symbol table info available.
#10 0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#11 0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#12 0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 29 (Thread 5680.0x1d2c):
#0  0x00007ff80c1c505a in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ff80c1692d5 in ntdll!EtwEventRegister () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#2  0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#3  0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#4  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 28 (Thread 5680.0x5e8):
#0  0x00007ff80c1c505a in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ff80c1692d5 in ntdll!EtwEventRegister () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#2  0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#3  0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#4  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 27 (Thread 5680.0x1598):
#0  0x00007ff80c1c505a in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ff80c1692d5 in ntdll!EtwEventRegister () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#2  0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#3  0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#4  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 26 (Thread 5680.0x1a60):
#0  0x00007ff80c1c505a in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ff80c1692d5 in ntdll!EtwEventRegister () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#2  0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#3  0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#4  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 25 (Thread 5680.0x1614):
#0  0x00007ff8092cef04 in SetEvent () from C:\WINDOWS\system32\KernelBase.dll
No symbol table info available.
#1  0x00007ff80bec85b6 in combase!CoEnableCallCancellation () from C:\WINDOWS\system32\combase.dll
No symbol table info available.
#2  0x00007ff80be7d98b in combase!RoGetActivationFactory () from C:\WINDOWS\system32\combase.dll
No symbol table info available.
#3  0x00007ff80bec62bc in combase!CoFreeUnusedLibrariesEx () from C:\WINDOWS\system32\combase.dll
No symbol table info available.
#4  0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#5  0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#6  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 24 (Thread 5680.0x1838):
#0  0x00007ff8092a415f in WaitForSingleObjectEx () from C:\WINDOWS\system32\KernelBase.dll
No symbol table info available.
#1  0x000000006c7f2496 in ?? () from C:\msys64\mingw64\bin\SDL2.dll
No symbol table info available.
#2  0x000000006c7f2a35 in ?? () from C:\msys64\mingw64\bin\SDL2.dll
No symbol table info available.
#3  0x000000006c7ed879 in ?? () from C:\msys64\mingw64\bin\SDL2.dll
No symbol table info available.
#4  0x000000006c7aa367 in ?? () from C:\msys64\mingw64\bin\SDL2.dll
No symbol table info available.
#5  0x000000006c7f25ba in ?? () from C:\msys64\mingw64\bin\SDL2.dll
No symbol table info available.
#6  0x00007ff80bb7b097 in msvcrt!_beginthreadex () from C:\WINDOWS\system32\msvcrt.dll
No symbol table info available.
#7  0x00007ff80bb7b16c in msvcrt!_endthreadex () from C:\WINDOWS\system32\msvcrt.dll
No symbol table info available.
#8  0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#9  0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#10 0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 22 (Thread 5680.0x1d44):
#0  0x00007ff80c1c353a in ntdll!ZwWaitForSingleObject () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ff8092a415f in WaitForSingleObjectEx () from C:\WINDOWS\system32\KernelBase.dll
No symbol table info available.
#2  0x00007ff8019263db in wlanapi!WFDOpenHandleInt () from C:\WINDOWS\SYSTEM32\wlanapi.dll
No symbol table info available.
#3  0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#4  0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#5  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 21 (Thread 5680.0xed4):
#0  0x00007ff80b52f267 in USER32!CreateWindowStationA () from C:\WINDOWS\system32\user32.dll
No symbol table info available.
#1  0x00007ff80b51a3f6 in USER32!MsgWaitForMultipleObjectsEx () from C:\WINDOWS\system32\user32.dll
No symbol table info available.
#2  0x000000000380dcd3 in QEventDispatcherWin32::processEvents (this=0x3276f580, flags=...) at kernel/qeventdispatcher_win.cpp:839
        nCount = 0
        waitRet = 258
        pHandles = {0x0 <repeats 63 times>}
        processedTimers = {a = 256, s = 0, ptr = 0x358ecc20, {array = "6\b\002\000\000\000\000\000\023\001\000\000\000\000\000\000\004", '\000' <repeats 15 times>, "uõ,\000�\002\000\000\024\001", '\000' <repeats 8958 times>, "i�\004ÿ", '\000' <repeats 12 times>, "\002\000\004\006", '\000' <repeats 12 times>, "�M\004Ï\000\000\000\000®\002\000\000\000\000\000\000�M\004Ï\000\000\000\000\177\000\000\000\000\000\000\000�n\023\fø\177\000\000e\005\000\000\000\000\000\000À\002ð\002\000\000\000\000k\001\000P\000\000\000\000\000\000ð\002\000\000\000\000®\002\000\000\000\000\000\000e\005\000\000\000\000\000\000ð'n3\000\000\000\000J\037\026\fø\177\000\000\000\000ð\002\000\000\000\000k\001\000P\000\000\000\000à'n3", '\000' <repeats 12 times>, "\177\000\000\000\000\000\000\000e\005", '\000' <repeats 22 times>, "\030\004\000\000\000\000\000\000i�\004ÿ\000\000\000\000\020ým3\000\000\000\000\002\000\004\006\000\000\000\000\000\000\000\001\000\000\000\000�M\004Ï\000\000\000\000K\000\000\000\000\000\000\000�M\004Ï\000\000\000\000\177\000\000\000\000\000\000\000�n\023\fø\177\000\000Ï\004\000\000\000\000\000\000À\002ð\002\000\000\000\000k\001\000P\000\000\000\000\000\000ð\002\000\000\000\000K\000\000\000\000\000\000\000Ï\004\000\000\000\000\000\000P1n3\000\000\000\000J\037\026\fø\177\000\000\000\000ð\002\000\000\000\000k\001\000P\000\000\000\000@1n3\000\000\000\000À\002ð\002\000\000\000\000\177\000\000\000\000\000\000\000Ï\004\000\000\000\000\000\000\000\025", '\000' <repeats 14 times>, "\030\004m3\000\000\000\000\000\000\000\000ø\177\000\000 ,n3", '\000' <repeats 13 times>, "ým\001\000\000\000\000�M\004\037\000\000\000\000ø\003\000\000\000\000\000\000\177\000\000\000\000\000\000\000\220,n3", '\000' <repeats 12 times>, "\027\004ð\002\001\000\000\000°\004\000\000\000\000\000\000Ï\004\000\000\000\000\000\000\220,n3\000\000\000\000pñv\001\000\000\000\000\001\000\000\000\177\000\000\000\032\005\000\000\000\000\000\000K\000\000\000\000\000\000\000�úÿÿ\000\000\000\000P\001ð\002\000\000\000\000\020\201\000\000\000\000\000\000\177\000\000\000\000\000\000\000\023\b\000\000\000\000\000\000Epÿÿ\000\000\000\000\064\023\000\000\000\000\000\000\001\000\000\000\177\000\000\000¬\002\000\000\000\000\000\000D\000\000\000\000\000\000\000æ\000\000\000\000\000\000\000i�\004ÿ\000\000\000\000W\b\000\000\000\000\000\000\000\000W3\000\000\000\000À�l3\000\000\000\000\177\000\000\000\000\000\000\000D \000\000\000\000\000\000\n\000\000\000\000\000\000\000Ì\002\000\000\000\000\000\000\002\000\004\006\000\000\000\000\026\004\000\000\000\000\000\000i�\004ÿ\000\000\000\000p�l3\000\000\000\000\060\061n3\000\000\000\000�M\004Ï\000\000\000\000ä\032\000\000\000\000\000\000p\000\000\000\000\000\000\000P\001ð\002\000\000\000\000\200Q\000\000\000\000\000\000\177\000\000\000\000\000\000\000e\005\000\000\000\000\000\000âmÿÿ\000\000\000\000`1n3\000\000\000\000ðüm3\000\000\000\000I\000\000\000\000\000\000\000À*\000\000\000\000\000\000\001", '\000' <repeats 15 times>, "¬\002\000\000\000\000\000\000\000\000W3\000\000\000\000\000\000ð\002\000\000\000\000\177\000\000\000\000\000\000\000\000\000ð\002\000\000\000\000k\001\000P\000\000\000\000°*\000\000\000\000\000\000\004\003ð\002", '\000' <repeats 12 times>, "Xó�5\000\000\000\000\000\000ð\002", '\000' <repeats 12 times>, "�M\004Ï\000\000\000\000k\001\000P\000\000\000\000j\000\000@", '\000' <repeats 14 times>, "ð\002\000\000\000\000°\að\002\000\000\000\000"..., q_for_alignment_1 = 133174, q_for_alignment_2 = 6.5796698319262167e-319}}
        d = 0x3276fb20
        canWait = true
        retVal = false
        seenWM_QT_SENDPOSTEDEVENTS = false
        needWM_QT_SENDPOSTEDEVENTS = false
#3  0x00000000037b122e in QEventLoop::processEvents (this=0x358efe20, flags=...) at kernel/qeventloop.cpp:128
        d = 0x3276e050
#4  0x00000000037b1507 in QEventLoop::exec (this=0x358efe20, flags=...) at kernel/qeventloop.cpp:204
        d = 0x3276e050
        locker = {val = 846650640}
        __PRETTY_FUNCTION__ = "int QEventLoop::exec(QEventLoop::ProcessEventsFlags)"
        ref = {d = 0x3276e050, locker = @0x358efd90, exceptionCaught = true}
        app = 0x24fc30
#5  0x0000000003619cbf in QThread::exec (this=0x3276dc60) at thread/qthread.cpp:503
        d = 0x3276dca0
        locker = {val = 846650640}
        eventLoop = {<QObject> = {_vptr.QObject = 0x3a97e50 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x3a1dcc0 <qt_meta_stringdata_QObject>, data = 0x3a1dde0 <qt_meta_data_QObject>, static_metacall = 0x37e4d4c <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x3276e050}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x3a700e0 <qt_meta_stringdata_Qt>, data = 0x3a7ab60 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x3a1df20 <QObject::staticMetaObject>, stringdata = 0x3a88e60 <qt_meta_stringdata_QEventLoop>, data = 0x3a88ec0 <qt_meta_data_QEventLoop>, static_metacall = 0x3848600 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        returnCode = 0
#6  0x0000000003619e59 in QThread::run (this=0x3276dc60) at thread/qthread.cpp:570
No locals.
#7  0x000000000361ce53 in QThreadPrivate::start (arg=0x3276dc60) at thread/qthread_win.cpp:367
        thr = 0x3276dc60
        data = 0x3276dd80
#8  0x00007ff80bb7b097 in msvcrt!_beginthreadex () from C:\WINDOWS\system32\msvcrt.dll
No symbol table info available.
#9  0x00007ff80bb7b16c in msvcrt!_endthreadex () from C:\WINDOWS\system32\msvcrt.dll
No symbol table info available.
#10 0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#11 0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#12 0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 19 (Thread 5680.0x1d80):
#0  0x00007ff80c1c3aaa in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ff8092c913f in WaitForMultipleObjectsEx () from C:\WINDOWS\system32\KernelBase.dll
No symbol table info available.
#2  0x00007ff80b51a3b2 in USER32!MsgWaitForMultipleObjectsEx () from C:\WINDOWS\system32\user32.dll
No symbol table info available.
#3  0x000000000380dcd3 in QEventDispatcherWin32::processEvents (this=0x325455c0, flags=...) at kernel/qeventdispatcher_win.cpp:839
        nCount = 0
        waitRet = 258
        pHandles = {0x0 <repeats 63 times>}
        processedTimers = {a = 256, s = 0, ptr = 0x3535cbb0, {array = '\000' <repeats 5385 times>, "\021\004\025", '\000' <repeats 12 times>, "\002\000\004\006", '\000' <repeats 20 times>, "\v\000\000\000\000\000\000\000\003\000\004\a\000\000\000\000\003\000\000\000\000\000\000\000�n\023\fø\177\000\000\003\000\000\000\000\000\000\000À\002\217 \000\000\000\000c\001\000P\000\000\000\000\000\000\217 \000\000\000\000\v\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000 @T2\000\000\000\000J\037\026\fø\177\000\000\000\000\217 \000\000\000\000c\001\000P\000\000\000\000\220@T2", '\000' <repeats 12 times>, "\003\000\000\000\000\000\000\000\003", '\000' <repeats 23 times>, "Y\004", '\000' <repeats 14 times>, "ð?T2", '\000' <repeats 15 times>, "\001\000\000\000\000\003\000\000\000\000\000\000\000p\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000à?T2", '\000' <repeats 16 times>, "\001\000\000\000°\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000à?T2", '\000' <repeats 16 times>, "\177\000\000\000\016\000\000\000\000\000\000\000\v", '\000' <repeats 31 times>, "á\000\004å", '\000' <repeats 20 times>, "\004", '\000' <repeats 24 times>, "\021\004\025", '\000' <repeats 12 times>, "\002\000\004\006", '\000' <repeats 20 times>, "\220=T2\000\000\000\000\200\000\000\000\000\000\000\000\a\000\000\000\000\000\000\000ïn\023\fø\177\000\000\a\000\000\000\000\000\000\000À\002\217 \000\000\000\000\200=T2\000\000\000\000\000\000\217 \000\000\000\000\220=T2\000\000\000\000\a\000\000\000\000\000\000\000\220=T2\000\000\000\000\063Í\025\fø\177\000\000\000\000\217 \000\000\000\000\200=T2\000\000\000\000\200=T2\000\000\000\000\016\000\000\000\000\000\000\000\a\000\000\000\000\000\000\000\a\000\000\000\000\000\000\000°@T2\000\000\000\000\000\000\000\000-ÿÿÿ", '\000' <repeats 24 times>, "\a", '\000' <repeats 15 times>, "á\000ü1", '\000' <repeats 12 times>, "\003", '\000' <repeats 15 times>, "\001", '\000' <repeats 16 times>, "\021\004\025", '\000' <repeats 12 times>, "\002\000\004\006", '\000' <repeats 12 times>, "Ä\001\004Á\000\000\000\000\a\000\000\000\000\000\000\000Ä\001\004Á\000\000\000\000\177\000\000\000\000\000\000\000�n\023\fø\177\000\000u\001\000\000\000\000\000\000À\002\217 \000\000\000\000c\001\000P\000\000\000\000\000\000\217 \000\000\000\000\a\000\000\000\000\000\000\000u\001\000\000\000\000\000\000\000DQ2\000\000\000\000J\037\026\fø\177\000\000\000\000\217 \000\000\000\000c\001\000P\000\000\000\000ðCQ2\000\000\000\000ïn\023\fø\177\000\000\177\000\000\000\000\000\000\000u\001\000\000\000\000\000\000\000\001\000P", '\000' <repeats 12 times>, "V\004", '\000' <repeats 14 times>, "\220CQ2", '\000' <repeats 14 times>, "\217\001\000\000\000\000Ä\001\000P\000\000\000\000ø\003\000\000\000\000\000\000\177\000\000\000\000\000\000\000\200CQ2\000\000\000\000\a\000\000\000\000\000\000\000\000\000\217 \001\000\000\000p\000\000\000\000\000\000\000u\001\000\000\000\000\000\000\200CQ2\000\000\000\000ð?T2\000\000\000\000\000\000\000\000\177\000\000\000Ð/W2\000\000\000\000æA\026\fø\177\000\000\000\000\217 \000\000\000\000À/W2\000\000\000\000à?T2\000\000\000\000ÖÖ!\f\000\000\000\000\000\020\000\000îþîþ\004", '\000' <repeats 15 times>, "\177\000\000\000\000\000\000\000P\001\217 \000\000\000\000¾\002\004¸\000\000\000\000\000\000\217 \000\000\000\000~:\026\fø\177\000\000\000\060W2\000\000\000\000Ùå55\000\000\000\000c\001\000P\000\000\000\000\060\200\000\000\000\000\000\000îþîþîþîþ¾\002\004¸\000\000\000\000\000\002\217 ", '\000' <repeats 12 times>, "À\004T2\000\000\000\000pñV2\000\000\000\000À\217T2\000\000\000\000\000\t\000\000\000\000\000\000\000\000ü1\000\000\000\000°\217T2", '\000' <repeats 12 times>, "æ�\025\fø\177\000\000\004\000\001\005\000\000\000\000§\025\004¶", '\000' <repeats 12 times>, "\002\000\004\006\000\000\000\000\060\027\000\000\000\000\000\000¾\002\004¸\000\000\000\000\a\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\a\000\000\000\000\000\000\000ïn\023\fø\177\000\000\a\000\000\000\000\000\000\000À\002\217 \000\000\000\000c\001\000P\000\000\000\000\000\000\217 \000\000\000\000\a\000\000\000\000\000\000\000\a\000\000\000\000\000\000\000`ÁQ2\000\000\000\000J\037\026\fø\177\000\000\000\000\217 \000\000\000\000c\001\000P\000\000\000\000PÁQ2\000\000\000\000\000\t\000\000\000\000\000\000\a\000\000\000\000\000\000\000\a", '\000' <repeats 23 times>, "V\004", '\000' <repeats 14 times>, "ðÀQ2", '\000' <repeats 12 times>, "àÏT\001\000\000\001\000\016\000\004¶\000\000\000\000p\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000àÀQ2\000\000\000\000�\231\025\f\000\000\000\000\000\001\217 \001\000\000\000p\000\000\000\000\000\000\000\a\000\000\000\000\000\000\000àÀQ2\000\000\000\000\020\220U2\000\000\000\000\000\000\000\000\177\000\000\000\016\000\000\000\000\000\000\000\a\000\000\000\000\000\000\000\070\000\000\000\000\000\000\000\a\000\000\000\000\000\000\000\000\220U2\000\000\000\000\016\000\004\n\000\000\000\000À\217T2\000\000\000\000p\000\000\000\000\000\000\000\024\000\000\000\000\000\000\000\000\220U2\000\000\000\000\003\004\000\000\000\000\000\000\020\000\000\000\000\000\000\000\a\000\000\000\000\000\000\000§\025\004¶\000\000\000\000\031è55\000\000\000\000¾\002", '\000' <repeats 14 times>, "\016\000\004\n\000\000\000\000[\004", '\000' <repeats 14 times>, "@ÑV2\000\000\000\000\002\000\004\006\000\000\000\000Â\001\aÄ\000\000\000\000\r", '\000' <repeats 15 times>, "@ÁQ2\000\000\000\000À\217T2\000\000\000\000ðÀQ2", '\000' <repeats 12 times>, "P\001\217 \000\000\000\000À\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\001\004\000\000\000\000\000\000`êÿÿ\000\000\000\000pÁQ2\000\000\000\000\002\000\004\006\000\000\000\000\005\000\000\000\000\000\000\000`\220U2\000\000\000\000\a\000\000\000\000\000\000\000\020\220U2\000\000\000\000\a\000\000\000\000\000\000\000\000\000ü1\000\000\000\000P\000\000\000\000\000\000\000\a\000\000\000\000\000\000\000c\001\000P\000\000\000\000`êÿÿ\000\000\000\000\000½N2\000\000\000\000J\037\026\fø\177\000\000\005\000\000\000\000\000\000\000J\037\026\fø\177\000\000\000\000\217 \000\000\000\000c\001\000P\000\000\000\000\016\000\004\n", '\000' <repeats 29 times>, "\004\217 ", '\000' <repeats 12 times>, "\020½N2\000\000\000\000\060\000\000\000\000\000\000\000ðÀQ\001\000\000\000\000\002\000\004\006\000\000\000\000(\000\000\000\000\000\000\000\005\000\000\000\000\000\000\000\000½N2\000\000\000\000\016\000\004\n\000\000\000\000\016\000\000\000\000\000\000\000P\000\000\000\000\000\000\000àóQ2\000\000\000\000\000½N2\000\000\000\000àÀQ2\000\000\000\000\001\000\000\000\177\000\000\000\005\000\000\000\000\000\000\000\005\000\000\000\000\000\000\000ðÀQ2\000\000\000\000\063Í\025\fø\177\000\000\000\000\217 \000\000\000\000\005\000\004\001\000\000\000\000àÀQ2\000\000\000\000c\001\000P\000\000\000\000\016\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\217 \000\000\000\000\b\000\000\000\000\000\000\000\000ÀQ2\000\000\000\000§\025\004¶ø\177\000\000\000\000\217 \000\000\000\000\016\000\000\000\000\000\000\000à�U2\000\000\000\000\016\000\000\000\000\000\000\000\a\000\000\000\000\000\000\000\070", '\000' <repeats 15 times>, "\002\000\004\006\000\000\000\000\005\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\177\000\000\000\000\000\000\000@½N2\000\000\000\000\000\000\217 \000\000\000\000§\025\004¶", '\000' <repeats 12 times>, "\002\000\004\006\000\000\000\000\060\000\000\000\000\000\000\000\005\000\000\000\000\000\000\000\020\220U2", '\000' <repeats 12 times>, "\a\000\000\000\000\000\000\000ïn\023\fø\177\000\000\a\000\000\000\000\000\000\000À\002\217 \000\000\000\000\000\220U2\000\000\000\000\000\000\217 \000\000\000\000\020\220U2\000\000\000\000\a\000\000\000\000\000\000\000\020\220U2\000\000\000\000\063Í\025\fø\177\000\000\000\000\217 \000\000\000\000\000\220U2\000\000\000\000\000\220U2\000\000\000\000ø\002\217 \000\000\000\000\a\000\000\000\000\000\000\000\a\000\000\000\000\000\000\000\a\000\000\000\000\000\000\000§\025\004¶p\000\000\000\000ÁQ2\000\000\000\000\002\000\004\006\000\000\000\000\000ÀQ2\000\000\000\000\a\000\000\000\000\000\000\000P\000\000\000\000\000\000\000\016\000\004\n\000\000\000\000\016\000\000\000\000\000\000\000�n\023\fø\177\000\000\016\000\000\000\000\000\000\000À\002\217 \000\000\000\000\220\217U2\000\000\000\000\000\000\217 \000\000\000\000P\000\000\000\000\000\000\000§\025\004¶\000\000\000\000 \217U2\000\000\000\000\002\000\004\006ø\177\000\000\000\000\217 \000\000\000\000\220\217U2\000\000\000\000\020½N2\000\000\000\000\005\000\004\001\000\000\000\000\005\000\000\000\000\000\000\000�n\023\fø\177\000\000\005\000\000\000\000\000\000\000À\002\217 \000\000\000\000\000½N2\000\000\000\000\000\000\217 \000\000\000\000\020½N2\000\000\000\000\005\000\000\000\000\000\000\000\020½N2\000\000\000\000\063Í\025\fø\177\000\000\000\000\217 \000\000\000\000\000½N2\000\000\000\000\000½N2\000\000\000\000\001\000\000\000\000\000\000\000\005\000\000\000\000\000\000\000\005\000\000\000\000\000\000\000\177", '\000' <repeats 32 times>, "\201P2\000\000\000\000\005\000\000\000\000\000\000\000\000\220U2\000\000\000\000\005\000\000\000\000\000\000\000\000\000\217 \000\000\000\000�b\035\fø\177\000\000\a\000\004\003\000\000\000\000\001\000\000\000ø\177\000\000\000\000\217 ", '\000' <repeats 12 times>, "\016\004\004\n", '\000' <repeats 13 times>, "�P2\000\000\000\000§\025\004¶\000\000\000\000 í5\001\000\000\000\000\002\000\004\006\000\000\000\000\060\000\000\000\000\000\000\000\006\000\000\000\000\000\000\000\060\000\000\000\000\000\000\000Ð'P2\000\000\000\000\r\000\000\000\000\000\000\000ïn\023\fø\177\000\000\r\000\000\000\000\000\000\000À\002\217 \000\000\000\000\200¼N2\000\000\000\000\000\000\217 \000\000\000\000\060\000\000\000\000\000\000\000\r\000\000\000\000\000\000\000\220¼N2\000\000\000\000\063Í\025\fø\177\000\000\000\000\217 \000\000\000\000\200¼N2\000\000\000\000\200¼N2\000\000\000\000§\025\004¶\000\000\000\000\r\000\000\000\000\000\000\000\002\000\004\006\000\000\000\000\000\000\217 \000\000\000\000\v\000\000\000p\000\000\000\016\000\000\000\000\000\000\000\023\000\004\027\000\000\000\000\023\000\000\000\000\000\000\000�n\023\fø\177\000\000\023\000\000\000\000\000\000\000À\002\217 \000\000\000\000\020<T2\000\000\000\000\000\000\217 \000\000\000\000\016\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000@;T2\000\000\000\000\063Í\025\fø\177\000\000\000\000\217 \000\000\000\000\020<T2\000\000\000\000\060;T2\000\000\000\000\000\000\217 \000\000\000\000\023\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\220\201P2\000\000\000\000\063Í\025\fø\177\000\000\000\000\217 \000\000\000\000\000\201P2\000\000\000\000\000\201P2\000\000\000\000\023\000\000\000\000\000\000\000p\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\220¼N2\000\000\000\000 \217U2\000\000\000\000\000½N2\000\000\000\000\001", '\000' <repeats 15 times>, "\177\000\000\000\000\000\000\000Ð?N2", '\000' <repeats 12 times>, "\006\000\000\000\000\000\000\000§\025\004¶\000\000\000\000\000\000\217 \000\000\000\000\002\000\004\006\000\000\000\000\005", '\000' <repeats 11 times>, "p\000\000\000@9T2\000\000\000\000P\\Ïf\000\000\000\000\b\000\000\000\000\000\000\000ïn\023\fø\177\000\000\b\000\000\000\000\000\000\000À\002\217 \000\000\000\000\060\071T2\000\000\000\000\000\000\217 \000\000\000\000@9T2\000\000\000\000\b\000\000\000\000\000\000\000@9T2\000\000\000\000\063Í\025\fø\177\000\000\000\000\217 \000\000\000\000\060\071T2\000\000\000\000\060\071T2\000\000\000\000Ê\000\004Î\000\000\000\000\b\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000f\003\000\000\000\000\000\000À\002\217 p\000\000\000\000\001\000P\000\000\000\000\000\000\217 \000\000\000\000\000;T2\000\000\000\000§\025\004¶\000\000\000\000ðæV2\000\000\000\000\002\000\004\006\000\000\000\000\000\000\217 \000\000\000\000c\001\000P\000\000\000\000`\000\000\000\000\000\000\000\000çP2\000\000\000\000\017\000\000\000\000\000\000\000ïn\023\fø\177\000\000\017\000\000\000\000\000\000\000À\002\217 \000\000\000\000À8T2\000\000\000\000\000\000\217 \000\000\000\000`\000\000\000\000\000\000\000§\025\004¶\000\000\000\000Ð8T2\000\000\000\000\002\000\004\006ø\177\000\000\000\000\217 \000\000\000\000À8T2\000\000\000\000PûS2\000\000\000\000\006\000\004\002\000\000\000\000\006\000\000\000\000\000\000\000�n\023\fø\177\000\000\006\000\000\000\000\000\000\000À\002\217 \000\000\000\000@ûS2\000\000\000\000\000\000\217 \000\000\000\000PûS2\000\000\000\000\006\000\000\000\000\000\000\000PûS2\000\000\000\000\063Í\025\fø\177\000\000\000\000\217 \000\000\000\000@ûS2\000\000\000\000@ûS2\000\000\000\000\002\000\004\006\000\000\000\000\006\000\000\000\000\000\000\000\006\000\000\000\000\000\000\000p\vT2\000\000\000\000\004\000\004", '\000' <repeats 14 times>, "n\023\fø\177\000\000\000\000\000\000\000\000\000\000\006\000\000\000\000\000\000\000`\vT2\000\000\000\000\006\000\217 \000\000\000\000p\vT2\000\000\000\000\004\000\000\000\000\000\000\000p\vT2\000\000\000\000\001\000\000\000ø\177\000\000\000\000\217 \000\000\000\000§\025\004¶\000\000\000\000`\vT2\000\000\000\000\002\000\004\006\000\000\000\000\004\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000Ð\000\000\000\000\000\000\000`ÕQ2\000\000\000\000\"\000\000\000\000\000\000\000ïn\023\fø\177\000\000\"\000\000\000\000\000\000\000§\025\004¶\000\000\000\000\220\067T2\000\000\000\000\002\000\004\006\000\000\000\000Ð\000\000\000\000\000\000\000f\003\004a\000\000\000\000îþîþîþîþ§\025\004¶\000\000\000\000À\002\217 \000\000\000\000\002\000\004\006ø\177\000\000P\001\217 \000\000\000\000§\025\004¶\000\000\000\000îþîþîþîþ@mT2\000\000\000\000À\002\217 \000\000\000\000�\231\025\fø\177\000\000P\001\217 \000\000\000\000°\217T2\000\000\000\000\000\000ü1\000\000\000\000\000\000\217 \000\000\000\000\033\016\000\000\000\000\000\000f\003\004a\000\000\000\000\033\016\000\000\000\000\000\000\033\016", '\000' <repeats 14 times>, "Ê\000\004Î\000\000\000\000C\002\000\000\000\000\000\000§\025\004¶\000\000\000\000p\a", '\000' <repeats 22 times>, "@mT2\000\000\000\000\033\016\000\000\000\000\000\000°\217T2\000\000\000\000\000\000\217 \000\000\000\000æ�\025\fø\177\000\000éò55\000\000\000\000ÖÖ!\fø\177", '\000' <repeats 13 times>, "P", '\000' <repeats 12 times>, "P\\Ïf\000\000\000\000\022\000\004\026\000\000\000\000§\025\004¶ø\177\000\000\000\000\217 \000\000\000\000\002\000\004\006\000\000\000\000\000\000\217 ", '\000' <repeats 12 times>, " \000\000\000\000\000\000\000ÐMì!\000\000\000\000\v\000\000\000\000\000\000\000ïn\023\fø\177\000\000"..., q_for_alignment_1 = 0, q_for_alignment_2 = 0}}
        d = 0x32513c50
        canWait = true
        retVal = false
        seenWM_QT_SENDPOSTEDEVENTS = false
        needWM_QT_SENDPOSTEDEVENTS = false
#4  0x00000000037b122e in QEventLoop::processEvents (this=0x3535fdb0, flags=...) at kernel/qeventloop.cpp:128
        d = 0x32540b00
#5  0x00000000037b1507 in QEventLoop::exec (this=0x3535fdb0, flags=...) at kernel/qeventloop.cpp:204
        d = 0x32540b00
        locker = {val = 844182448}
        __PRETTY_FUNCTION__ = "int QEventLoop::exec(QEventLoop::ProcessEventsFlags)"
        ref = {d = 0x32540b00, locker = @0x3535fd20, exceptionCaught = true}
        app = 0x24fc30
#6  0x0000000003619cbf in QThread::exec (this=0x325132b0) at thread/qthread.cpp:503
        d = 0x32513340
        locker = {val = 844182448}
        eventLoop = {<QObject> = {_vptr.QObject = 0x3a97e50 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x3a1dcc0 <qt_meta_stringdata_QObject>, data = 0x3a1dde0 <qt_meta_data_QObject>, static_metacall = 0x37e4d4c <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x32540b00}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x3a700e0 <qt_meta_stringdata_Qt>, data = 0x3a7ab60 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x3a1df20 <QObject::staticMetaObject>, stringdata = 0x3a88e60 <qt_meta_stringdata_QEventLoop>, data = 0x3a88ec0 <qt_meta_data_QEventLoop>, static_metacall = 0x3848600 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        returnCode = -1
#7  0x000000000a1fbbfc in QQuickPixmapReader::run (this=0x325132b0) at util/qquickpixmapcache.cpp:760
No locals.
#8  0x000000000361ce53 in QThreadPrivate::start (arg=0x325132b0) at thread/qthread_win.cpp:367
        thr = 0x325132b0
        data = 0x32513420
#9  0x00007ff80bb7b097 in msvcrt!_beginthreadex () from C:\WINDOWS\system32\msvcrt.dll
No symbol table info available.
#10 0x00007ff80bb7b16c in msvcrt!_endthreadex () from C:\WINDOWS\system32\msvcrt.dll
No symbol table info available.
#11 0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#12 0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#13 0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 17 (Thread 5680.0x1d1c):
#0  0x00007ff80c1c3aaa in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ff8092c913f in WaitForMultipleObjectsEx () from C:\WINDOWS\system32\KernelBase.dll
No symbol table info available.
#2  0x00007ff80b51a3b2 in USER32!MsgWaitForMultipleObjectsEx () from C:\WINDOWS\system32\user32.dll
No symbol table info available.
#3  0x000000000380dcd3 in QEventDispatcherWin32::processEvents (this=0x32075f10, flags=...) at kernel/qeventdispatcher_win.cpp:839
        nCount = 0
        waitRet = 258
        pHandles = {0x0 <repeats 63 times>}
        processedTimers = {a = 256, s = 0, ptr = 0x3396cc20, {array = '\000' <repeats 9000 times>, "i�\004ÿ", '\000' <repeats 12 times>, "\002\000\004\006", '\000' <repeats 12 times>, "�M\004Ï\000\000\000\000®\002\000\000\000\000\000\000�M\004Ï\000\000\000\000\177\000\000\000\000\000\000\000�n\023\fø\177\000\000\263@\000\000\000\000\000\000À\002ð\002\000\000\000\000k\001\000P\000\000\000\000\000\000ð\002\000\000\000\000®\002\000\000\000\000\000\000\263@\000\000\000\000\000\000\020sj3\000\000\000\000J\037\026\fø\177\000\000\000\000ð\002\000\000\000\000k\001\000P\000\000\000\000\000sj3", '\000' <repeats 12 times>, "\177\000\000\000\000\000\000\000\263@", '\000' <repeats 22 times>, "\024\004\000\000\000\000\000\000i�\004ÿ\000\000\000\000\060Hj3\000\000\000\000\002\000\004\006\000\000\000\000\000\000\000\001\000\000\000\000�M\004Ï\000\000\000\000K\000\000\000\000\000\000\000�M\004Ï\000\000\000\000\177\000\000\000\000\000\000\000�n\023\fø\177\000\000\035@\000\000\000\000\000\000À\002ð\002\000\000\000\000k\001\000P\000\000\000\000\000\000ð\002\000\000\000\000K\000\000\000\000\000\000\000\035@\000\000\000\000\000\000p|j3\000\000\000\000J\037\026\fø\177\000\000\000\000ð\002\000\000\000\000k\001\000P\000\000\000\000`|j3\000\000\000\000À\002ð\002\000\000\000\000\177\000\000\000\000\000\000\000\035@\000\000\000\000\000\000\000\002\001", '\000' <repeats 13 times>, "\024\004j3\000\000\000\000\000\000\000\000ø\177\000\000Àwj3", '\000' <repeats 12 times>, " Hj\001\000\000\000\000�M\004&\000\000\000\000ø\003\000\000\000\000\000\000\177\000\000\000\000\000\000\000°wj3", '\000' <repeats 12 times>, "\024\004ð\002\001\000\000\000°\004\000\000\000\000\000\000\035@\000\000\000\000\000\000°wj3\000\000\000\000Ðp\a\001\000\000\000\000\000\000\000\000\177\000\000\000h@\000\000\000\000\000\000K\000\000\000\000\000\000\000M¿ÿÿ\000\000\000\000P\001ð\002\000\000\000\000ð5\004\000\000\000\000\000\177\000\000\000\000\000\000\000aC\000\000\000\000\000\000Epÿÿ\000\000\000\000l\000\001\000\000\000\000\000\001\000\000\000\177\000\000\000¬\002\000\000\000\000\000\000D\000\000\000\000\000\000\000\271\032\000\000\000\000\000\000i�\004ÿ\000\000\000\000¥C\000\000\000\000\000\000\000\000W3\000\000\000\000À(j3\000\000\000\000\177\000\000\000\000\000\000\000|\r\001\000\000\000\000\000\005\000\000\000\000\000\000\000\030j\000\000\000\000\000\000\002\000\004\006\000\000\000\000\024\004\000\000\000\000\000\000i�\004ÿ\000\000\000\000p(j3\000\000\000\000P|j3\000\000\000\000�M\004Ï\000\000\000\000�M\000\000\000\000\000\000ø\003\000\000\000\000\000\000P\001ð\002\000\000\000\000`\006\004\000\000\000\000\000\177\000\000\000\000\000\000\000\263@\000\000\000\000\000\000âmÿÿ\000\000\000\000\200|j3\000\000\000\000\020Hj3\000\000\000\000I\000\000\000\000\000\000\000À*\000\000\000\000\000\000\001", '\000' <repeats 15 times>, "¬\002\000\000\000\000\000\000\000\000W3\000\000\000\000\000\000ð\002\000\000\000\000\177\000\000\000\000\000\000\000\000\000ð\002\000\000\000\000k\001\000Pø\177\000\000°*\000\000\000\000\000\000\004\003ð\002", '\000' <repeats 12 times>, "Xó�3\000\000\000\000\000\000ð\002", '\000' <repeats 12 times>, "�M\004Ï\000\000\000\000k\001\000P\000\000\000\000j\000\000@", '\000' <repeats 14 times>, "ð\002\000\000\000\000°\að\002\000\000\000\000"..., q_for_alignment_1 = 0, q_for_alignment_2 = 0}}
        d = 0x32075f50
        canWait = true
        retVal = false
        seenWM_QT_SENDPOSTEDEVENTS = false
        needWM_QT_SENDPOSTEDEVENTS = false
#4  0x00000000037b122e in QEventLoop::processEvents (this=0x3396fe20, flags=...) at kernel/qeventloop.cpp:128
        d = 0x32076070
#5  0x00000000037b1507 in QEventLoop::exec (this=0x3396fe20, flags=...) at kernel/qeventloop.cpp:204
        d = 0x32076070
        locker = {val = 605539216}
        __PRETTY_FUNCTION__ = "int QEventLoop::exec(QEventLoop::ProcessEventsFlags)"
        ref = {d = 0x32076070, locker = @0x3396fd90, exceptionCaught = true}
        app = 0x24fc30
#6  0x0000000003619cbf in QThread::exec (this=0x2417cae0) at thread/qthread.cpp:503
        d = 0x2417cb20
        locker = {val = 605539216}
        eventLoop = {<QObject> = {_vptr.QObject = 0x3a97e50 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x3a1dcc0 <qt_meta_stringdata_QObject>, data = 0x3a1dde0 <qt_meta_data_QObject>, static_metacall = 0x37e4d4c <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x32076070}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x3a700e0 <qt_meta_stringdata_Qt>, data = 0x3a7ab60 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x3a1df20 <QObject::staticMetaObject>, stringdata = 0x3a88e60 <qt_meta_stringdata_QEventLoop>, data = 0x3a88ec0 <qt_meta_data_QEventLoop>, static_metacall = 0x3848600 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        returnCode = 0
#7  0x0000000003619e59 in QThread::run (this=0x2417cae0) at thread/qthread.cpp:570
No locals.
#8  0x000000000361ce53 in QThreadPrivate::start (arg=0x2417cae0) at thread/qthread_win.cpp:367
        thr = 0x2417cae0
        data = 0x2417cc00
#9  0x00007ff80bb7b097 in msvcrt!_beginthreadex () from C:\WINDOWS\system32\msvcrt.dll
No symbol table info available.
#10 0x00007ff80bb7b16c in msvcrt!_endthreadex () from C:\WINDOWS\system32\msvcrt.dll
No symbol table info available.
#11 0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#12 0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#13 0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 16 (Thread 5680.0xbec):
#0  0x00007ff80c1c3aaa in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ff8092c913f in WaitForMultipleObjectsEx () from C:\WINDOWS\system32\KernelBase.dll
No symbol table info available.
#2  0x00007ff80bec2e97 in combase!CoRegisterInitializeSpy () from C:\WINDOWS\system32\combase.dll
No symbol table info available.
#3  0x00007ff80bec2d48 in combase!CoRegisterInitializeSpy () from C:\WINDOWS\system32\combase.dll
No symbol table info available.
#4  0x00007ff80be7d933 in combase!RoGetActivationFactory () from C:\WINDOWS\system32\combase.dll
No symbol table info available.
#5  0x00007ff80bec62bc in combase!CoFreeUnusedLibrariesEx () from C:\WINDOWS\system32\combase.dll
No symbol table info available.
#6  0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#7  0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#8  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 15 (Thread 5680.0x1bbc):
#0  0x00007ff80bb59bc5 in msvcrt!malloc () from C:\WINDOWS\system32\msvcrt.dll
No symbol table info available.
#1  0x0000000009a64bdc in ?? () from C:\msys64\mingw64\bin\libstdc++-6.dll
No symbol table info available.
#2  0x000000000380bf10 in qt_fast_timer_proc (timerId=12416, user=915749856) at kernel/qeventdispatcher_win.cpp:336
        t = 0x36953be0
#3  0x00007ff806d42988 in WINMM!PlaySoundW () from C:\WINDOWS\SYSTEM32\winmm.dll
No symbol table info available.
#4  0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#5  0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#6  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 9 (Thread 5680.0x1454):
#0  0x00007ff80c1c505a in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ff80c1692d5 in ntdll!EtwEventRegister () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#2  0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#3  0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#4  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 8 (Thread 5680.0x8f4):
#0  0x00007ff80c1c505a in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ff80c1692d5 in ntdll!EtwEventRegister () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#2  0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#3  0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#4  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 7 (Thread 5680.0x130):
#0  0x00007ff80c1c358a in ntdll!ZwRemoveIoCompletion () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ff80838f949 in Tcpip4_WSHStringToAddress () from C:\WINDOWS\system32\mswsock.dll
No symbol table info available.
#2  0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#3  0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#4  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 6 (Thread 5680.0x534):
#0  0x00007ff80c1c3aaa in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ff8092c913f in WaitForMultipleObjectsEx () from C:\WINDOWS\system32\KernelBase.dll
No symbol table info available.
#2  0x00007ff80b51a3b2 in USER32!MsgWaitForMultipleObjectsEx () from C:\WINDOWS\system32\user32.dll
No symbol table info available.
#3  0x000000000380dcd3 in QEventDispatcherWin32::processEvents (this=0x21f8ee80, flags=...) at kernel/qeventdispatcher_win.cpp:839
        nCount = 0
        waitRet = 258
        pHandles = {0x0 <repeats 63 times>}
        processedTimers = {a = 256, s = 0, ptr = 0x2456cba0, {array = '\000' <repeats 4808 times>, "µ\006\004·", '\000' <repeats 12 times>, "\002\000\004\006", '\000' <repeats 20 times>, "îþîþ", '\000' <repeats 12 times>, "N\000\000\000\000\000\000\000ïn\023\fø\177\000\000\000\000\000\000\000\000\000\000À\002\217 \000\000\000\000N\000\000\000\000\000\000\000\000\000\217 \000\000\000\000îþîþ", '\000' <repeats 12 times>, "Ð¥ø!\000\000\000\000kÒ\034\fø\177\000\000À¥ø!\000\000\000\000N\000\000\000\000\000\000\000\000\000\217 ", '\000' <repeats 12 times>, "N\000\000\000\000\000\000\000N", '\000' <repeats 15 times>, "\003\004\004\003\000\000\000\000\v\000\000\000\000\000\000\000\004\005\000\000\000\000\000\000\200\000\000\000\000\000\000\000\064h\023\fø\177\000\000\020¥ø!\000\000\000\000\000\000\217 \000\000\000\000\026\000\000\000\000\000\000\000\035\000\000\000\000\000\000\000\001Ið\002\000\000\000\000\v\000\000\000\000\000\000\000N\000\000\000\000\000\000\000P\000\000\000\000\000\000\000P.ø!\000\000\000\000ÐMì!", '\000' <repeats 12 times>, "\002\000\004\006\177\000\000\000\003\004\004\003\000\000\000\000\005\000\000\000\000\000\000\000\005", '\000' <repeats 25 times>, "\217 \000\000\000\000\200\000\000\000\000\000\000\000c\001\000P\000\000\000\000\020¥ø!", '\000' <repeats 14 times>, "\217 \000\000\000\000ÇÜ\025\fø\177\000\000T\000\000\000\000\000\000\000c\001\000Pø\177\000\000N\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\a", '\000' <repeats 15 times>, "T\000\000\000\000\000\000\000T\000\000\000\000\000\000\000c\001\000P", '\000' <repeats 12 times>, "\020¥ø!\000\000\000\000°\000\000\000\000\000\000\000 ¥ø!\000\000\000\000\035\000\000\000\000\000\000\000\005\000\000\000\000\000\000\000\003\004ð\002\000\000\000\000\v\000\000\000\000\000\000\000Y\000\000\000\000\000\000\000\v\000\000\000\000\000\000\000\005\000\000\000\000\000\000\000\000\000\217 \000\000\000\000\020¥ø!\000\000\000\000\037¥ø!\000\000\000\000\005\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000µ\006\004·\000\000\000\000\000\000\217 \000\000\000\000\002\000\004\006\000\000\000\000\030¥ø!\000\000\000\000\063\000\000\000\000\000\000\000\006\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\f\000\000\000\000\000\000\000ïn\023\fø\177\000\000\f\000\000\000\000\000\000\000À\002\217 \000\000\000\000c\001\000P\000\000\000\000\000\000\217 \000\000\000\000\006\000\000\000\000\000\000\000\f\000\000\000\000\000\000\000ð©ø!\000\000\000\000µ\006\004·ø\177\000\000à©ø!\000\000\000\000\002\000\004\006ø\177\000\000à©ø!\000\000\000\000\003\004\004\003\000\000\000\000\005\000\000\000\000\000\000\000\003\004\004\003\000\000\000\000\177\000\000\000\000\000\000\000�n\023\fø\177\000\000ø\000\000\000\000\000\000\000À\002\217 \000\000\000\000c\001\000P\000\000\000\000\000\000\217 \000\000\000\000\005\000\000\000\000\000\000\000ø\000\000\000\000\000\000\000Pp\024$\000\000\000\000J\037\026\fø\177\000\000\000\000\217 \000\000\000\000c\001\000P\000\000\000\000@p\024$\000\000\000\000`\000\000\000\000\000\000\000\177\000\000\000\000\000\000\000ø\000\000\000\000\000\000\000\000p\024$", '\000' <repeats 12 times>, "\002\004\000\000\000\000\000\000\000\000\000\000\177\000\000\000\000p\024$", '\000' <repeats 12 times>, "P\001\217\001\000\000\000\000\003\004\004ù\000\000\000\000ø\003\000\000\000\000\000\000\177\000\000\000ø\177\000\000ðo\024$\000\000\000\000\001\000\000\000\000\000\000\000\022\000\000\000\001\000\000\000P\000\000\000\000\000\000\000ø\000\000\000\000\000\000\000ðo\024$\000\000\000\000c\001\000P\000\000\000\000\000\000\000\000\177\000\000\000ý\000\000\000\000\000\000\000\005\000\000\000\000\000\000\000\220©ø!\000\000\000\000J\037\026\fø\177\000\000\000\000\217 \000\000\000\000\002\000\004\006\000\000\000\000\200©ø!\000\000\000\000\002\000\004\006\000\000\000\000Ø\003\000\000\000\000\000\000Щø!", '\000' <repeats 12 times>, "\006\000\000\000\000\000\000\000\020\004\217 \000\000\000\000µ\006\004·\000\000\000\000\000\001\000\000\000\000\000\000P\001\217 \000\000\000\000 \000\000\000\000\000\000\000\f\000\000\000\000\000\000\000\000ªø!\000\000\000\000Wùÿÿ\025ÿÿÿ\004\000\000\000\000\000\000\000\002\000\004\006\017ÿÿÿ\n\000\000\000\001\000\000\000@\000\000\000\000\000\000\000\022\000\000\000\000\000\000\000\060p\024$\000\000\000\000\000\000\217 \000\000\000\000\000p\024$\000\000\000\000\026\000\000\000\000\000\000\000P\001\217 \000\000\000\000°\017\000\000\000\000\000\000\177\000\000\000\000\000\000\000\026\000\000\000\000\000\000\000Pùÿÿ\000\000\000\000`p\024$\000\000\000\000À\002\217 \000\000\000\000\003\000\000\000\000\000\000\000\000\000\217 \000\000\000\000\v\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000P©ø!\000\000\000\000\000\000\023$\000\000\000\000\f\000\000\000\000\000\000\000\177", '\000' <repeats 15 times>, "P\200\000\000\000\000\000\000ð©ø!\000\000\000\000\004\003\217 ", '\000' <repeats 12 times>, "\220\000\000\000\000\000\000\000\001", '\000' <repeats 15 times>, "\003\004\004\003\000\000\000\000\210\000\000\000\000\000\000\000\000\000\217 \000\000\000\000Òî\025\fø\177\000\000\000\000\217 \000\000\000\000$\a\217 \000\000\000\000ø\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000p\024$\000\000\000\000øäV$", '\000' <repeats 12 times>, " \000\000\000\000\000\000\000\001", '\000' <repeats 15 times>, "\002\000\000\000\000\000\000\000µ\006\004·\000\000\000\000\000\000\217 \000\000\000\000\002\000\004\006ø\177\000\000\000\000\217 \000\000\000\000\003\004\004\003ø\177\000\000`\017\000\000\000\000\000\000\003\004\004\003\000\000\000\000\177\000\000\000\000\000\000\000�n\023\fø\177\000\000ý\000\000\000\000\000\000\000À\002\217 \000\000\000\000ðo\024$\000\000\000\000\000\000\217 \000\000\000\000`\017\000\000\000\000\000\000ý\000\000\000\000\000\000\000\000p\024$\000\000\000\000\063Í\025\fø\177\000\000\000\000\217 \000\000\000\000ðo\024$\000\000\000\000ðo\024$", '\000' <repeats 12 times>, "\177\000\000\000\000\000\000\000µ\006\004·\000\000\000\000\001\000\000\000\000\000\000\000\002\000\004\006", '\000' <repeats 20 times>, "P©ø!", '\000' <repeats 12 times>, "\004\000\000\000\000\000\000\000ïn\023\fø\177\000\000\004\000\000\000\000\000\000\000À\002\217 \000\000\000\000@©ø!\000\000\000\000\000\000\217 \000\000\000\000P©ø!\000\000\000\000\004\000\000\000\000\000\000\000P©ø!\000\000\000\000µ\006\004·ø\177\000\000\000\000\217 \000\000\000\000\002\000\004\006\000\000\000\000@©ø!", '\000' <repeats 13 times>, "pø!", '\000' <repeats 12 times>, "\021\000\000\000\000\000\000\000ïn\023\fø\177\000\000\021\000\000\000\000\000\000\000À\002\217 \000\000\000\000ðoø!\000\000\000\000\000\000\217 \000\000\000\000\000pø!\000\000\000\000\021\000\000\000\000\000\000\000\000pø!\000\000\000\000\063Í\025\fø\177\000\000\000\000\217 \000\000\000\000ðoø!\000\000\000\000ðoø!\000\000\000\000\177\000\000\000\000\000\000\000\021\000\000\000\000\000\000\000\021\000\000\000\000\000\000\000\060çV$\000\000\000\000\b", '\000' <repeats 16 times>, "¢a\003p\000\000\000\000�ø!\000\000\000\000\021\000\000\000\000\000\000\000ðo\024$\000\000\000\000C\000\000\000ø\177\000\000\006\000\a\001\000\000\000\000\\A\215\003\000\000\000\000h�ø!\000\000\000\000\001\000\000\000\000\000\000\000\005\000\000\000\000\000\000\000ÿÿÿÿ\000\000\000\000\003\004\004\003", '\000' <repeats 12 times>, "°�ø!\000\000\000\000<\000\000\000\000\000\000\000`©ø!\000\000\000\000\004\000\000\000\000\000\000\000\000\000\217 \000\000\000\000ÖÖ!\fø\177\000\000\000\000\217 \000\000\000\000c\000\000P\000\000\000\000\004\000\a\003\000\000\000\000\000\000\000\000p\000\000\000\000p\024$\000\000\000\000�©\025\fø\177\000\000@©ø!\000\000\000\000\000\000\217 \000\000\000\000\000\000\217 ", '\000' <repeats 13 times>, "p\024$\000\000\000\000\001\000\000\000\000\000\000\000\020pø!\000\000\000\000\021\000\000\000\000\000\000\000\036\000\004\032\000\000\000\000c\000\000P", '\000' <repeats 12 times>, "þÆ!\fø\177\000\000\000\000\217 \000\000\000\000µ\006\004·p\000\000\000\000\000\217 \000\000\000\000\002\000\004\006ø\177\000\000ðoø!\000\000\000\000c\000\000P\000\000\000\000\220�ø!\000\000\000\000\004\000\004\000\000\000\000\000\004\000\000\000\000\000\000\000�n\023\fø\177\000\000\004\000\000\000\000\000\000\000À\002\217 \000\000\000\000\200�ø!\000\000\000\000\000\000\217 \000\000\000\000\220�ø!\000\000\000\000\004\000\000\000\000\000\000\000\220�ø!\000\000\000\000\063Í\025\fø\177\000\000\000\000\217 \000\000\000\000\200�ø!\000\000\000\000\200�ø!\000\000\000\000c\000\000P\000\000\000\000\004\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000pø!\000\000\000\000�©\025\fø\177\000\000\000\000\217 \000\000\000\000\000\000\217 \000\000\000\000\000\000\217 \000\000\000\000\004\000\000\000\000\000\000\000\000pø!\000\000\000\000\004", '\000' <repeats 25 times>, "\217 \000\000\000\000\001", '\000' <repeats 15 times>, "þÆ!\fø\177\000\000\000\000\217 ", '\000' <repeats 20 times>, "µ\006\004·\000\000\000\000\001éV$\001\000\000\000\002\000\004\006", '\000' <repeats 20 times>, "Pqø!\000\000\000\000µ\006\004·\000\000\000\000\021\000\000\000\000\000\000\000\002\000\004\006ø\177\000\000\021\000\000\000\000\000\000\000\220\005\004�\000\000\000\000îþîþîþîþà�ø!\000\000\000\000À\002\217 \000\000\000\000�\231\025\fø\177\000\000P\001\217 \000\000\000\000@.ø!\000\000\000\000\000\000é!\000\000\000\000\000\000\217 \000\000\000\000A\004\000\000\000\000\000\000\btW$\000\000\000\000A\004\000\000\000\000\000\000A\004\000\000\000\000\000\000#\000\000\000\000\000\000\000ý\000\004ùp\000\000\000\000X³\003\000\000\000\000\220\005\004�\000\000\000\000@\002", '\000' <repeats 22 times>, "à�ø!\000\000\000\000A\004\000\000\000\000\000\000@.ø!\000\000\000\000\000\000\217 \000\000\000\000\231�\025\fø\177\000\000éêV$\000\000\000\000\200\061W$", '\000' <repeats 28 times>, "<\000\000\000\000\000\000\000\000\000\217 \000\000\000\000ÖÖ!\fø\177\000\000\000\000\217 \000\000\000\000c\000\000P", '\000' <repeats 12 times>, "@.ø!\000\000\000\000ð-ø!\000\000\000\000�©\025\fø\177\000\000\000\000\217 \000\000\000\000\000\000\217 \000\000\000\000\000\000\217 ", '\000' <repeats 12 times>, "\220�ø!\000\000\000\000\001", '\000' <repeats 23 times>, "`qø!\000\000\000\000\b\000\a\017", '\000' <repeats 12 times>, "þÆ!\fø\177\000\000\000\000\217 ", '\000' <repeats 20 times>, "µ\006\004·p\000\000\000ðoø!\000\000\000\000@.ø!\000\000\000\000pnø!\000\000\000\000gÆ\025\fø\177", '\000' <repeats 12 times>, "\217 \000\000\000\000A\004\000\000\000\000\000\000\000n\023\fø\177\000\000&\000\000\000\000\000\000\000À\002\217 \000\000\000\000\000qø!\000\000\000\000\000\000\217 ", '\000' <repeats 21 times>, "pø!\000\000\000\000A\004\000\000\000\000\000\000Уø!\000\000\000\000\000qø!\000\000\000\000&\000\000\000\000\000\000\000\060\001\000\000\000\000\000\000&\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000Pqø!\000\000\000\000�©\025\fø\177\000\000\177", '\000' <repeats 17 times>, "\217 \000\000\000\000&\000\000\000\000\000\000\000Уø!\000\000\000\000C\000\000\000\000\000\000\000\021\000\000\000\000\000\000\000\210\000\000\000\000\000\000\000\000\000\217 \000\000\000\000\001\000\000\000\000\000\000\000&\000\004\"\000\000\000\000þÆ!\fø\177\000\000\177", '\000' <repeats 15 times>, "C\000\004G\000\000\000\000\220\000\000\000\000\000\000\000\001pø!\001\000\000\000@qø!", '\000' <repeats 20 times>, "b\000\000@\000\000\000\000@qø!\000\000\000\000\020@\000\000\000\000\000\000éP\035\fø\177\000\000\000\000\217 \000\000\000\000c\000\000P\000\000\000\000&\000\000\000\000\000\000\000ãÿÿÿp\000\000\000ÀíV$\000\000\000\000ß»}\003\000\000\000\000@.ø!", '\000' <repeats 12 times>, "\020pø!\000\000\000\000\177\000\000\000\000\000\000\000ð\000\000\000\000\000\000\000@\002\000\000\000\000\000\000\001\000\000\000\000\000\000\000ðî\023$\000\000\000\000\021\000\000\000\000\000\000\000Îÿÿÿp\000\000\000ðî\023$\000\000\000\000\001\000\000\000\000\000\000\000ðoø!\000\000\000\000\210íV$\000\000\000\000\000\000\217 \000\000\000\000ÖÖ!\fø\177\000\000\000\000\217 \000\000\000\000c\000\000P", '\000' <repeats 20 times>, "\200nø!\000\000\000\000�©\025\fø\177\000\000\000\000\217 \000\000\000\000\000\000\217 \000\000\000\000\000\000\217 ", '\000' <repeats 12 times>, "\200nø!\000\000\000\000\001", '\000' <repeats 25 times>, "\217 \000\000\000\000c\000\000P", '\000' <repeats 12 times>, "þÆ!\fø\177\000\000\000\000\217 ", '\000' <repeats 28 times>, "\001qø!\001\000\000\000pnø!", '\000' <repeats 20 times>, "b\000\000@\000\000\000\000pnø!\000\000\000\000\000\000\217 \000\000\000\000éP\035\fø\177\000\000\000\000\217 \000\000\000\000c\000\000P", '\000' <repeats 13 times>, "©q\003\000\000\000\000\001îV$\001\000\000\000\000qø!", '\000' <repeats 23 times>, "@\000\000\000\000\000qø!\000\000\000\000\000\000\217 \000\000\000\000éP\035\fø\177\000\000\000\000\217 \000\000\000\000c\000\000P", '\000' <repeats 12 times>, "\002", '\000' <repeats 15 times>, "\001\000\000\000\000\000\000\000Pqø!\000\000\000\000�©\025\fø\177\000\000\000\000\217 ", '\000' <repeats 13 times>, "qø!\000\000\000\000µ\006\004·\000\000\000\000@ïV$\000\000\000\000\002\000\004\006\000\000\000\000Pqø!\000\000\000\000àJ�\003\000\000\000\000\a\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\022\000\000\000\000\000\000\000ïn\023\fø\177\000\000\022\000\000\000\000\000\000\000À\002\217 \000\000\000\000c\001\000P\000\000\000\000\000\000\217 \000\000\000\000\a\000\000\000\000\000\000\000\022\000\000\000\000\000\000\000à¦ø!\000\000\000\000J\037\026\fø\177\000\000\000\000\217 \000\000\000\000c\001\000P\000\000\000\000Цø!\000\000\000\000\a�\210\003\000\000\000\000\022\000\000\000\000\000\000\000\022\000\000\000\000\000\000\000\000qø!", '\000' <repeats 12 times>, "\020\004V$", '\000' <repeats 12 times>, "p¦ø!", '\000' <repeats 12 times>, "hqø\001\000\000\000\000ý\000�\003\000\000\000\000È\000\000\000\000\000\000\000\031\000\000\000\000\000\000\000`¦ø!\000\000\000\000ß»}\003\000\000\000\000\030qø!\001\000\000\000p\000\000\000\000\000\000\000\022\000\000\000\000\000\000\000`¦ø!", '\000' <repeats 16 times>, "\177\000\000\000\031\000\000\000\000\000\000\000\a", '\000' <repeats 15 times>, "\002", '\000' <repeats 15 times>, "ý\000\004ù\000\000\000\000\200nø!\000\000\000\000�©\025\fø\177\000\000@\000\000\000\000\000\000\000\000\000\217 \000\000\000\000pnø!\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000µ\006\004·", '\000' <repeats 12 times>, "\002", '\000' <repeats 15 times>, "pvø!\000\000\000\000\005\000\000\000\000\000\000\000��µ\vø\177\000\000@ñV$\000\000\000\000\002\000\004\006", '\000' <repeats 12 times>, "\025�\210\003\000\000\000\000\005\000\000\000\000\000\000\000À¦ø!\000\000\000\000\200nø!\000\000\000\000p¦ø!\000\000\000\000pñV$\000\000\000\000P\001\217 \000\000\000\000p\001\000\000\000\000\000\000\031\000\000\000\000\000\000\000¸V³\003\000\000\000\000Rùÿÿ\000\000\000\000ð¦ø!\000\000\000\000\025\262�\003\034ÿÿÿ\005\000\000\000\000\000\000\000�C\210\003\000\000\000\000¸V³\003\000\000\000\000\001\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000é!\000\000\000\000(òV$\000\000\000\000\022\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000¸V³\003\000\000\000\000ðñV$\000\000\000\000ø\002\217 \000\000\000\000¸V³\003\000\000\000\000\001", '\000' <repeats 15 times>, "(òV$\000\000\000\000ý\000\004ù\000\000\000\000Àla\003\000\000\000\000¸V³\003\000\000\000\000(òV$\000\000\000\000({ø!\000\000\000\000(\a\217 \000\000\000\000\022\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000p¦ø!\000\000\000\000\061N�\003", '\000' <repeats 12 times>, "@\000\000\000\000\000\000\000\001", '\000' <repeats 15 times>, "\004\000\000\000\000\000\000\000\070\000\000\000\000\000\000\000\000\000\217 \000\000\000\000Òî\025\fø\177\000\000\000\000\217 \000\000\000\000c\001\000P\000\000\000\000\070\000\000\000\000\000\000\000p", '\000' <repeats 15 times>, "\030óV$\000\000\000\000\000\000"..., q_for_alignment_1 = 0, q_for_alignment_2 = 0}}
        d = 0x21f8b570
        canWait = true
        retVal = false
        seenWM_QT_SENDPOSTEDEVENTS = false
        needWM_QT_SENDPOSTEDEVENTS = false
#4  0x00000000037b122e in QEventLoop::processEvents (this=0x2456fda0, flags=...) at kernel/qeventloop.cpp:128
        d = 0x21f8a6e0
#5  0x00000000037b1507 in QEventLoop::exec (this=0x2456fda0, flags=...) at kernel/qeventloop.cpp:204
        d = 0x21f8a6e0
        locker = {val = 569948560}
        __PRETTY_FUNCTION__ = "int QEventLoop::exec(QEventLoop::ProcessEventsFlags)"
        ref = {d = 0x21f8a6e0, locker = @0x2456fd10, exceptionCaught = true}
        app = 0x24fc30
#6  0x0000000003619cbf in QThread::exec (this=0x21f8b240) at thread/qthread.cpp:503
        d = 0x21f8b920
        locker = {val = 569948560}
        eventLoop = {<QObject> = {_vptr.QObject = 0x3a97e50 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x3a1dcc0 <qt_meta_stringdata_QObject>, data = 0x3a1dde0 <qt_meta_data_QObject>, static_metacall = 0x37e4d4c <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x21f8a6e0}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x3a700e0 <qt_meta_stringdata_Qt>, data = 0x3a7ab60 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x3a1df20 <QObject::staticMetaObject>, stringdata = 0x3a88e60 <qt_meta_stringdata_QEventLoop>, data = 0x3a88ec0 <qt_meta_data_QEventLoop>, static_metacall = 0x3848600 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        returnCode = 0
#7  0x000000001325cfe9 in QQmlDebugServerThread::run (this=0x21f8b240) at debugger/qqmldebugserver.cpp:315
        wrapper = 0x1361e6c0 <(anonymous namespace)::Q_QGS_debugServerInstance::innerFunction()::holder>
        __PRETTY_FUNCTION__ = "virtual void QQmlDebugServerThread::run()"
        server = 0x1361e6c0 <(anonymous namespace)::Q_QGS_debugServerInstance::innerFunction()::holder>
        connection = 0x21f87b30
        eventLoop = {<QObject> = {_vptr.QObject = 0x361cd34 <QThreadPrivate::start(void*)>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x3a1dcc0 <qt_meta_stringdata_QObject>, data = 0x3a1dde0 <qt_meta_data_QObject>, static_metacall = 0x37e4d4c <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x2413d460}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x3a700e0 <qt_meta_stringdata_Qt>, data = 0x3a7ab60 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x3a1df20 <QObject::staticMetaObject>, stringdata = 0x3a88e60 <qt_meta_stringdata_QEventLoop>, data = 0x3a88ec0 <qt_meta_data_QEventLoop>, static_metacall = 0x3848600 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
#8  0x000000000361ce53 in QThreadPrivate::start (arg=0x21f8b240) at thread/qthread_win.cpp:367
        thr = 0x21f8b240
        data = 0x2413d460
#9  0x00007ff80bb7b097 in msvcrt!_beginthreadex () from C:\WINDOWS\system32\msvcrt.dll
No symbol table info available.
#10 0x00007ff80bb7b16c in msvcrt!_endthreadex () from C:\WINDOWS\system32\msvcrt.dll
No symbol table info available.
#11 0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#12 0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#13 0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 5 (Thread 5680.0xa48):
#0  0x00007ff80c1c3aaa in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ff8092c913f in WaitForMultipleObjectsEx () from C:\WINDOWS\system32\KernelBase.dll
No symbol table info available.
#2  0x00007ff80b51a3b2 in USER32!MsgWaitForMultipleObjectsEx () from C:\WINDOWS\system32\user32.dll
No symbol table info available.
#3  0x000000000380dcd3 in QEventDispatcherWin32::processEvents (this=0x21ec6c20, flags=...) at kernel/qeventdispatcher_win.cpp:839
        nCount = 0
        waitRet = 258
        pHandles = {0x0 <repeats 63 times>}
        processedTimers = {a = 256, s = 0, ptr = 0x238bcc20, {array = '\000' <repeats 9000 times>, "\022\000\004\026", '\000' <repeats 36 times>, "®\002\000\000\000\000\000\000\001\000\000\000\000\000\000\000�\b\000\000\000\000\000\000ïn\023\fø\177\000\000�\b\000\000\000\000\000\000À\002ð\002\000\000\000\000k\001\000P\000\000\000\000\000\000ð\002\000\000\000\000®\002\000\000\000\000\000\000�\b\000\000\000\000\000\000ÀÖò\002\000\000\000\000J\037\026\fø\177\000\000\000\000ð\002\000\000\000\000k\001\000P\000\000\000\000°Öò\002\000\000\000\000\a2\026\fø\177\000\000\177\000\000\000\000\000\000\000�\b\000\000\000\000\000\000\000\001\000P", '\000' <repeats 13 times>, "\004", '\000' <repeats 14 times>, "à«ò\002", '\000' <repeats 15 times>, "\001", '\000' <repeats 12 times>, "ø\003\000\000\000\000\000\000\000\001\000\000\000\000\000\000Ыò\002", '\000' <repeats 16 times>, "\001\000\000\000à*\000\000\000\000\000\000�\b\000\000\000\000\000\000Ыò\002", '\000' <repeats 12 times>, "Àoì!\177\000\000\000?\v\000\000\000\000\000\000\177\000\000\000\000\000\000\000?\v\000\000\000\000\000\000ïn\023\fø\177\000\000?\v\000\000\000\000\000\000À\002ð\002\000\000\000\000k\001,P\000\000\000\000\000\000ð\002\000\000\000\000<\"\000\000\000\000\000\000?\v\000\000\000\000\000\000à«ò\002\000\000\000\000J\037\026\fø\177\000\000\000\000ð\002\000\000\000\000?\v\004\060\000\000\000\000Ыò\002\000\000\000\000?\v\004\060\000\000\000\000\177\000\000\000\000\000\000\000?\v", '\000' <repeats 23 times>, "\004ð\002\000\000\000\000\002\000\004\006\000\000\000\000 §ò\002", '\000' <repeats 12 times>, "Ðoì\001\000\000\000\000 Öò\002\000\000\000\000ø\003\000\000\000\000\000\000\177\000\000\000\000\000\000\000o÷ÿÿ\000\000\000\000P\001ð\002\000\000\000\000г\000\000\000\000\000\000\177\000\000\000\000\000\000\000?\v\000\000\000\000\000\000o÷ÿÿ\000\000\000\000ÐÖò\002\000\000\000\000\000\000\000\000\177\000\000\000¬\002\000\000\000\000\000\000D\000\000\000\000\000\000\000\230\v\000\000\001\000\000\000\061\000\000\000\000\000\000\000\177\000\000\000\000\000\000\000\000\000ð\002", '\000' <repeats 12 times>, "\177\000\000\000\000\000\000\000ô,\000\000\000\000\000\000\n\000\000\000\000\000\000\000\064\003", '\000' <repeats 15 times>, "\004\000\000\000\000\000\000�\v\004�\000\000\000\000`\231ñ\002\000\000\000\000\003\000\004\a\000\000\000\000\f", '\000' <repeats 15 times>, "\060\000\000\000\000\000\000\000\034\000\000\000\000\000\000\000P\231ñ\002\000\000\000\000\002\000\004\006\000\000\000\000�\b\000\000\000\000\000\000\002\000\004\006\000\000\000\000à«ò\002\000\000\000\000À«ò\002", '\000' <repeats 12 times>, "À*\000\000\000\000\000\000\001", '\000' <repeats 15 times>, "¬\002\000\000\000\000\000\000°*\000\000\000\000\000\000\000\000ð\002\000\000\000\000Òî\025\fø\177\000\000\000\000ð\002\000\000\000\000k\001\000P\000\000\000\000°*\000\000\000\000\000\000à*", '\000' <repeats 14 times>, "Xó�#\000\000\000\000\000\000ð\002", '\000' <repeats 12 times>, "°*\000\000\000\000\000\000k\001\000P\000\000\000\000j\000\000@", '\000' <repeats 14 times>, "ð\002", '\000' <repeats 12 times>..., q_for_alignment_1 = 0, q_for_alignment_2 = 0}}
        d = 0x21ec6c60
        canWait = true
        retVal = false
        seenWM_QT_SENDPOSTEDEVENTS = false
        needWM_QT_SENDPOSTEDEVENTS = false
#4  0x00000000037b122e in QEventLoop::processEvents (this=0x238bfe20, flags=...) at kernel/qeventloop.cpp:128
        d = 0x21ec6d80
#5  0x00000000037b1507 in QEventLoop::exec (this=0x238bfe20, flags=...) at kernel/qeventloop.cpp:204
        d = 0x21ec6d80
        locker = {val = 569141696}
        __PRETTY_FUNCTION__ = "int QEventLoop::exec(QEventLoop::ProcessEventsFlags)"
        ref = {d = 0x21ec6d80, locker = @0x238bfd90, exceptionCaught = true}
        app = 0x24fc30
#6  0x0000000003619cbf in QThread::exec (this=0x21ec68a0) at thread/qthread.cpp:503
        d = 0x21ec6950
        locker = {val = 569141696}
        eventLoop = {<QObject> = {_vptr.QObject = 0x3a97e50 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x3a1dcc0 <qt_meta_stringdata_QObject>, data = 0x3a1dde0 <qt_meta_data_QObject>, static_metacall = 0x37e4d4c <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x21ec6d80}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x3a700e0 <qt_meta_stringdata_Qt>, data = 0x3a7ab60 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x3a1df20 <QObject::staticMetaObject>, stringdata = 0x3a88e60 <qt_meta_stringdata_QEventLoop>, data = 0x3a88ec0 <qt_meta_data_QEventLoop>, static_metacall = 0x3848600 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        returnCode = 0
#7  0x000000001324b4c8 in QQmlThreadPrivate::run (this=0x21ec68a0) at qml/ftw/qqmlthread.cpp:141
No locals.
#8  0x000000000361ce53 in QThreadPrivate::start (arg=0x21ec68a0) at thread/qthread_win.cpp:367
        thr = 0x21ec68a0
        data = 0x21ec6a30
#9  0x00007ff80bb7b097 in msvcrt!_beginthreadex () from C:\WINDOWS\system32\msvcrt.dll
No symbol table info available.
#10 0x00007ff80bb7b16c in msvcrt!_endthreadex () from C:\WINDOWS\system32\msvcrt.dll
No symbol table info available.
#11 0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#12 0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#13 0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 4 (Thread 5680.0x185c):
#0  0x00007ff80c1c505a in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ff80c1692d5 in ntdll!EtwEventRegister () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#2  0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#3  0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#4  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 3 (Thread 5680.0x928):
#0  0x00007ff80c1c505a in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ff80c1692d5 in ntdll!EtwEventRegister () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#2  0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#3  0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#4  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 2 (Thread 5680.0x1be0):
#0  0x00007ff80c1c505a in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ff80c1692d5 in ntdll!EtwEventRegister () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#2  0x00007ff80c092d92 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\system32\kernel32.dll
No symbol table info available.
#3  0x00007ff80c139f64 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#4  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 1 (Thread 5680.0x1f90):
#0  0x000000008011c217 in gfx3d_reset () at src/gfx3d.cpp:574
No locals.
#1  0x000000008011c193 in gfx3d_init () at src/gfx3d.cpp:556
        zzz = 9
#2  0x00000000800e3955 in GPUSubsystem::GPUSubsystem (this=0x3e573ab0) at src/GPU.cpp:4128
No locals.
#3  0x00000000801020b0 in NDS_Init () at src/NDSSystem.cpp:162
No locals.
#4  0x0000000080159b77 in retro_init () at src/libretro/libretro.cpp:783
        log = {log = 0x454592 <LibretroCore::logCallback(retro_log_level, char const*, ...)>}
        fw_config = {ds_type = NDS_CONSOLE_TYPE_FAT, fav_colour = 7 '\a', birth_month = 6 '\006', birth_day = 23 '\027', nickname = {68, 101, 83, 109, 117, 77, 69, 0, 0, 0}, nickname_len = 7 '\a', message = {68, 101, 83, 109, 117, 77, 69, 32, 109, 97, 107, 101, 115, 32, 121, 111, 117, 32, 104, 97, 112, 112, 121, 33, 0, 0}, message_len = 24 '\030', language = 1 '\001', touch_cal = {{adc_x = 512, adc_y = 512, screen_x = 33 '!', screen_y = 33 '!'}, {adc_x = 3584, adc_y = 2048, screen_x = 225 'á', screen_y = 129 '\201'}}}
#5  0x000000000044e950 in LibretroCore::load (this=0x3d66be30) at ../../Phoenix/backend/core/libretrocore.cpp:125
        __PRETTY_FUNCTION__ = "virtual void LibretroCore::load()"
#6  0x000000000048550c in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Core::*)()>::call(void (Core::*)(), Core*, void**) (f=&virtual table offset 144, o=0x3d66be30, arg=0x247c30) at C:/msys64/mingw64/include/QtCore/qobjectdefs_impl.h:501
No locals.
#7  0x000000000048a7bf in QtPrivate::FunctionPointer<void (Core::*)()>::call<QtPrivate::List<>, void>(void (Core::*)(), Core*, void**) (f=&virtual table offset 144, o=0x3d66be30, arg=0x247c30) at C:/msys64/mingw64/include/QtCore/qobjectdefs_impl.h:520
No locals.
#8  0x0000000000488a1d in QtPrivate::QSlotObject<void (Core::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x4428a610, r=0x3d66be30, a=0x247c30, ret=0x0) at C:/msys64/mingw64/include/QtCore/qobject_impl.h:143
No locals.
#9  0x0000000003907f4e in QtPrivate::QSlotObjectBase::call (this=0x4428a610, r=0x3d66be30, a=0x247c30) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:124
No locals.
#10 0x00000000037e268b in QMetaObject::activate (sender=0x2417c990, signalOffset=3, local_signal_index=14, argv=0x0) at kernel/qobject.cpp:3698
        obj = {d = 0x4428a610}
        receiverInSameThread = true
        sw = {receiver = 0x3d66be30, previousSender = 0x0, currentSender = {sender = 0x2417c990, signal = 17, ref = 1}, switched = true}
        callFunction = 0x4428a610
        receiver = 0x3d66be30
        method_relative = 47789
        c = 0x4428a660
        last = 0x4428a660
        locker = {val = 62084688}
        connectionLists = {connectionLists = 0x32075220}
        list = 0x36270e78
        signal_index = 17
        empty_argv = {0x0}
        currentThreadId = 0x1f90
        __PRETTY_FUNCTION__ = "static void QMetaObject::activate(QObject*, int, int, void**)"
#11 0x00000000037e1f4a in QMetaObject::activate (sender=0x2417c990, m=0x497780 <CoreControl::staticMetaObject>, local_signal_index=14, argv=0x0) at kernel/qobject.cpp:3578
No locals.
#12 0x00000000004456c5 in CoreControl::loadForwarder (this=0x2417c990) at moc/moc_corecontrol.cpp:561
No locals.
#13 0x00000000004393b0 in CoreControl::load (this=0x2417c990) at ../../Phoenix/backend/core/corecontrol.cpp:87
        __PRETTY_FUNCTION__ = "virtual void CoreControl::load()"
#14 0x000000000048535c in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CoreControl::*)()>::call(void (CoreControl::*)(), CoreControl*, void**) (f=&virtual table offset 96, o=0x2417c990, arg=0x248030) at C:/msys64/mingw64/include/QtCore/qobjectdefs_impl.h:501
No locals.
#15 0x000000000048a21f in QtPrivate::FunctionPointer<void (CoreControl::*)()>::call<QtPrivate::List<>, void>(void (CoreControl::*)(), CoreControl*, void**) (f=&virtual table offset 96, o=0x2417c990, arg=0x248030) at C:/msys64/mingw64/include/QtCore/qobjectdefs_impl.h:520
No locals.
#16 0x000000000048757d in QtPrivate::QSlotObject<void (CoreControl::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x32075b00, r=0x2417c990, a=0x248030, ret=0x0) at C:/msys64/mingw64/include/QtCore/qobject_impl.h:143
No locals.
#17 0x0000000003907f4e in QtPrivate::QSlotObjectBase::call (this=0x32075b00, r=0x2417c990, a=0x248030) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:124
No locals.
#18 0x00000000037e268b in QMetaObject::activate (sender=0x2417c850, signalOffset=3, local_signal_index=17, argv=0x0) at kernel/qobject.cpp:3698
        obj = {d = 0x32075b00}
        receiverInSameThread = true
        sw = {receiver = 0x2417c990, previousSender = 0x0, currentSender = {sender = 0x2417c850, signal = 20, ref = 1}, switched = true}
        callFunction = 0x32075b00
        receiver = 0x2417c990
        method_relative = 47789
        c = 0x32075b50
        last = 0x32075b50
        locker = {val = 62085416}
        connectionLists = {connectionLists = 0x320749e0}
        list = 0x32074d08
        signal_index = 20
        empty_argv = {0x0}
        currentThreadId = 0x1f90
        __PRETTY_FUNCTION__ = "static void QMetaObject::activate(QObject*, int, int, void**)"
#19 0x00000000037e1f4a in QMetaObject::activate (sender=0x2417c850, m=0x4974a0 <CoreControlProxy::staticMetaObject>, local_signal_index=17, argv=0x0) at kernel/qobject.cpp:3578
No locals.
#20 0x0000000000432525 in CoreControlProxy::loadForwarder (this=0x2417c850) at moc/moc_corecontrolproxy.cpp:749
No locals.
#21 0x000000000043722d in CoreControlProxy::load (this=0x2417c850) at ../../Phoenix/backend/core/corecontrolproxy.cpp:52
No locals.
#22 0x000000000043130a in CoreControlProxy::qt_static_metacall (_o=0x2417c850, _c=QMetaObject::InvokeMetaMethod, _id=38, _a=0x248880) at moc/moc_corecontrolproxy.cpp:308
        _t = 0x2417c850
#23 0x0000000000431ece in CoreControlProxy::qt_metacall (this=0x2417c850, _c=QMetaObject::InvokeMetaMethod, _id=38, _a=0x248880) at moc/moc_corecontrolproxy.cpp:601
No locals.
#24 0x00000000131d8a80 in QQmlVMEMetaObject::metaCall (this=0x320763e0, c=QMetaObject::InvokeMetaMethod, _id=43, a=0x248880) at qml/qqmlvmemetaobject.cpp:971
        id = 43
#25 0x00000000132f832c in QAbstractDynamicMetaObject::metaCall (this=0x320763e0, c=QMetaObject::InvokeMetaMethod, _id=43, a=0x248880) at C:/repo/mingw-w64-qt5/src/x86_64/qtbase/src/corelib/kernel/qobject_p.h:421
No locals.
#26 0x00000000037b8af1 in QMetaObject::metacall (object=0x2417c850, cl=QMetaObject::InvokeMetaMethod, idx=43, argv=0x248880) at kernel/qmetaobject.cpp:294
No locals.
#27 0x000000001321d9c3 in QQmlObjectOrGadget::metacall (this=0x248b20, type=QMetaObject::InvokeMetaMethod, index=43, argv=0x248880) at qml/qqmlpropertycache.cpp:1689
No locals.
#28 0x00000000131b2898 in CallMethod (object=..., index=43, returnType=43, argCount=0, argTypes=0x0, engine=0x21ec7700, callArgs=0x238c12b0) at jsruntime/qv4qobjectwrapper.cpp:1173
        args = {0x0}
#29 0x00000000131b3293 in CallPrecise (object=..., data=..., engine=0x21ec7700, callArgs=0x238c12b0) at jsruntime/qv4qobjectwrapper.cpp:1408
        unknownTypeError = {static MaxSize = 1073741800, d = 0x3960bc0 <QArrayData::shared_null>}
        returnType = 43
#30 0x00000000131b5991 in QV4::QObjectMethod::callInternal (this=0x238c1300, callData=0x238c12b0) at jsruntime/qv4qobjectwrapper.cpp:1893
        scope = {engine = 0x21ec7700, mark = 0x238c1308, size = 1}
        context = {ptr = 0x238c1308}
        object = {<QQmlMetaObject> = {_m = {ptr_value = 820743968, static FlagBit = <optimized out>, static Flag2Bit = <optimized out>, static FlagsMask = <optimized out>}}, ptr = {ptr_value = 605538384, static FlagBit = <optimized out>, static Flag2Bit = <optimized out>, static FlagsMask = <optimized out>}}
        method = {<QQmlPropertyRawData> = {{propType = 43, propTypeName = 0xbaadf00d0000002b <error: Cannot access memory at address 0xbaadf00d0000002b>}, coreIndex = 43, {notifyIndex = 0, arguments = 0x0}, {{revision = 0, metaObjectOffset = 1, {{valueTypeFlags = 65534, valueTypePropType = 65535, valueTypeCoreIndex = 61453}, {overrideIndexIsProperty = 0, overrideIndex = -1}}}, {accessors = 0xfffffffe00010000, accessorData = -4995072469926809587}}, flags = 320}, <No data fields>}
#31 0x00000000131b53f0 in QV4::QObjectMethod::call (m=0x238c1300, callData=0x238c12b0) at jsruntime/qv4qobjectwrapper.cpp:1828
        This = 0x238c1300
#32 0x0000000013361d27 in QV4::Object::call (this=0x238c1300, d=0x238c12b0) at C:/repo/mingw-w64-qt5/src/x86_64/qtdeclarative/src/qml/jsruntime/qv4object_p.h:305
No locals.
#33 0x00000000131c7964 in QV4::Runtime::callProperty (engine=0x21ec7700, nameIndex=164, callData=0x238c12b0) at jsruntime/qv4runtime.cpp:977
        scope = {engine = 0x21ec7700, mark = 0x238c12f0, size = 3}
        name = {ptr = 0x238c12f0}
        baseObject = {ptr = 0x238c12f8}
        o = {ptr = 0x238c1300}
#34 0x00000000131ba16e in QV4::Moth::VME::run (this=0x249567, engine=0x21ec7700, code=0x311b1de0 " ×\033\023", storeJumpTable=0x0) at jsruntime/qv4vme_moth.cpp:556
        tmp = 140737488355328
        instr = @0x311b1db8: {code = 0x131ba051 <QV4::Moth::VME::run(QV4::ExecutionEngine*, unsigned char const*, void***)+5911>, name = 164, argc = 0, callData = 70, base = {scope = 1, index = 68}, result = {scope = 1, index = 69}}
        callData = 0x238c12b0
        genericInstr = 0x311b1db8
        stack = 0x238c1080
        stackSize = 78
        exceptionHandler = 0x0
        scope = {engine = 0x21ec7700, mark = 0x238c1078, size = 79}
        context = {ptr = 0x238c1078}
        scopeDepth = 3
        scopes = 0x248e00
#35 0x00000000131bddf6 in QV4::Moth::VME::exec (engine=0x21ec7700, code=0x311b1168 ">�\033\023") at jsruntime/qv4vme_moth.cpp:925
        vme = {<No data fields>}
        debugger = 0x24137fb0
        retVal = 954822192
#36 0x0000000013186c7d in QV4::ScriptFunction::call (that=0x238c1000, callData=0x238c1008) at jsruntime/qv4functionobject.cpp:458
        v4 = 0x21ec7700
        scope = {engine = 0x21ec7700, mark = 0x238c1058, size = 4}
        f = {ptr = 0x238c1058}
        context = {ptr = 0x238c1060}
        ctx = {ptr = 0x238c1068}
        ctxSaver = {engine = 0x21ec7700, savedContext = 0x238c1070}
        result = {ptr = 0x404a07e0}
#37 0x0000000013361d27 in QV4::Object::call (this=0x238c1000, d=0x238c1008) at C:/repo/mingw-w64-qt5/src/x86_64/qtdeclarative/src/qml/jsruntime/qv4object_p.h:305
No locals.
#38 0x0000000013232140 in QQmlJavaScriptExpression::evaluate (this=0x44328390, context=0x437984a0, function=..., callData=0x238c1008, isUndefined=0x0) at qml/qqmljavascriptexpression.cpp:158
        ep = 0x21ec64f0
        watcher = {_c = 0x43798400, _w = 0x249730, _s = 0x44328390}
        capture = {<QQmlEnginePrivate::PropertyCapture> = {_vptr.PropertyCapture = 0x1356b690 <vtable for QQmlJavaScriptExpression::GuardCapture+16>}, engine = 0x24fc10, expression = 0x44328390, watcher = 0x249720, guards = {_first = 0x0, _last = 0x0, _flag = 0, _count = 0}, errorString = 0x0}
        lastPropertyCapture = 0x0
        v4 = 0x21ec7700
        scope = {engine = 0x21ec7700, mark = 0x238c1048, size = 2}
        result = {ptr = 0x238c1048}
        __PRETTY_FUNCTION__ = "QV4::ReturnedValue QQmlJavaScriptExpression::evaluate(QQmlContextData*, const QV4::Value&, QV4::CallData*, bool*)"
#39 0x00000000131f31f2 in QQmlBoundSignalExpression::evaluate (this=0x44328370, a=0x24b5d0) at qml/qqmlboundsignal.cpp:281
        methodIndex = 60
        callData = {ptr = 0x238c1008}
        dummy = {a = 9, s = 0, ptr = 0x249830, {array = "\231¿\200\003", '\000' <repeats 12 times>, "Àw\201=\000\000\000\000�©\025\fø\177\000\000\000\000\217 ", q_for_alignment_1 = 58769305, q_for_alignment_2 = 2.90358946304662e-316}}
        argsTypes = 0x3602a4c0
        argCount = 1
        f = {ptr = 0x238c1000}
        ep = 0x21ec64f0
        scope = {engine = 0x21ec7700, mark = 0x238c1000, size = 9}
#40 0x00000000131f383a in QQmlBoundSignal_callback (e=0x43798668, a=0x24b5d0) at qml/qqmlboundsignal.cpp:408
        prof = {<QQmlProfilerHelper> = {<QQmlProfilerDefinitions> = {<No data fields>}, profiler = 0x21f84880}, <No data fields>}
        s = 0x43798650
        engine = 0x24fc10
#41 0x000000001321dca4 in QQmlNotifier::emitNotify (endpoint=0x0, a=0x24b5d0) at qml/qqmlnotifier.cpp:94
        data = @0x249ad0: {originalSenderPtr = 1132037120, disconnectWatch = 0x249ad0, endpoint = 0x43798668}
        stack = {a = 256, s = 1, ptr = 0x249ad0, {array = "\000�yC\000\000\000\000Ð�$\000\000\000\000\000h�yC\000\000\000\000\021Þ\033\023\000\000\000\000\200�$\000\000\000\000\000\271{4\023\000\000\000\000\060�$\000\000\000\000\000\026\002\066\023\000\000\000\000X\020�#\000\000\000\000\000\000\000\000\000\200\000\000X\020�#\000\000\000\000\000\000\000\000\000\200\000\000À�$\000\000\000\000\000$m\030\023\000\000\000\000°�$\000\000\000\000\000°�$\000\000\000\000\000è�$\000\000\000\000\000\026\002\066\023\000\000\000\000x\020�#\000\000\000\000\220×�6\000\000\000\000\000wì!\000\000\000\000p\020�#\000\000\000\000h\020�#\000\000\000\000S\f\033\023\000\000\000\000`\020�#\000\000\000\000\000wì!\000\000\000\000X\020�#\000\000\000\000ú:\f\023\000\000\000\000\000wì!\000\000\000\000X\020�#\000\000\000\000\005\000\000\000\000\000\000\000\000wì!\000\000\000\000\000�$\000\000\000\000\000^¿+\023\000\000\000\000\210ûÓ=\000\000\000\000\000\000\000\000\000\200", '\000' <repeats 11 times>, "\020�#\000\000\000\000\060�$\000\000\000\000\000¶j/\023\000\000\000\000\210ûÓ=\000\000\000\000P\217�6\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000À�$\000\000\000\000\000¥##\023\000\000\000\000à�$\000\000\000\000\000\030\235$\000\000\000\000\000\020\235$\000\000\000\000\000à�$\000\000\000\000\000P\020�#\000\000\000\000\002\000\000\000\000\000\000\000H\020�#", '\000' <repeats 13 times>, "wì!\000\000\000\000H\020�#\000\000\000\000\002", '\000' <repeats 15 times>, " µV\023\000\000\000\000\020ü$\000\000\000\000\000\200ûÓ=\000\000\000\000à�$", '\000' <repeats 37 times>, "P\217�6\000\000\000\000ð�$\000\000\000\000\000\200ûÓ=\000\000\000\000x`�\003\037\000\000\000\000\000\000\000\000\200\000\000\004�{\003\000\000\000\000°N�>\000\000\000\000\000\000\000\000\000\200\000\000P\235$\000\000\000\000\000\235;@\023\000\000\000\000\020ü$\000\000\000\000\000®»+\023\000\000\000\000p\235$\000\000\000\000\000î ?\023\000\000\000\000 >�6\000\000\000\000J\037\026\fø\177\000\000èzì!", '\000' <repeats 12 times>, " \235$\000\000\000\000\000\026\002\066\023\000\000\000\000ðdì!\000\000\000\000\020¬ì0", '\000' <repeats 20 times>, "\060\004$", '\000' <repeats 13 times>, "\060>�6\000\000\000\000\070\000\000\000\000\000\000\000\000\020�\001\000\000\000\000\002\000\004\006\000\000\000\000(\000\000\000\000\000\000\000\005\000\000\000\000\000\000\000 >�6\000\000\000\000\001\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000P\000\000\000\000\000\000\000@á­=\000\000\000\000\vÊ\004Å\000\000\000\000c\001\000P\000\000\000\000\002\000\004\006\177\000\000\000\005\000\000\000\000\000\000\000\005\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000ïn\023\fø\177\000\000\023\000\000\000\000\000\000\000À\002\217 \000\000\000\000c\001\000P\000\000\000\000\000\000\217 \000\000\000\000\n\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\060w\201=\000\000\000\000J\037\026\fø\177\000\000\000\000\217 \000\000\000\000\vÊ\004Å\000\000\000\000 w\201=\000\000\000\000\002\000\004\006\000\000\000\000\023\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\020\001\000\000\000\000\000\000@á­=\000\000\000\000\035\000\000\000\000\000\000\000ïn\023\fø\177\000\000\035\000\000\000\000\000\000\000À\002\217 \000\000\000\000\200v\201=\000\000\000\000\000\000\217 \000\000\000\000\020\001\000\000\000\000\000\000\035\000\000\000\000\000\000\000\220v\201=\000\000\000\000\063Í\025\fø\177\000\000\000\000\217 \000\000\000\000\200v\201=\000\000\000\000\200v\201=\000\000\000\000\200v\201=\000\000\000\000\035\000\000\000\000\000\000\000\035\000\000\000\000\000\000\000\035\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000>�6\000\000\000\000\000Ê\004Å", '\000' <repeats 12 times>, "\035\000\000\000\000\000\000\000 \017´6\000\000\000\000B\000\217 \000\000\000\000\023\000\000\000\000\000\000\000\230\000\000\000\000\000\000\000\060>�6\000\000\000\000\001\000\000\000\000\000\000\000\060>�6\000\000\000\000\vÊ\004Åø\177\000\000\177", '\000' <repeats 15 times>, " >�6\000\000\000\000l\000\000\000\000\000\000\000\200½\210\066\000\000\000\000$\a\217 ", '\000' <repeats 12 times>, "\002\000\004\006\000\000\000\000\060>�6\000\000\000\000û5ÿÿ\000\000\000\000\023\000\004\027\000\000\000\000\020w\201=\000\000\000\000\001\000\000\000\000\000\000\000\220v\201=\000\000\000\000B\000\004F\000\000\000\000P\001\217 \000\000\000\000°\001\000\000\000\000\000\000\035\000\000\000\000\000\000\000\000\000\217 \000\000\000\000ÿ5ÿÿ\000\000\000\000 v\201=\000\000\000\000\035\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000è $\000\000\000\000\000\000\000\217 ", '\000' <repeats 12 times>, "\023\000\000\000\000\000\000\000Ñÿÿÿp\000\000\000b\000\000@\000\000\000\000\023\000\000\000\000\000\000\000\200v\201=", '\000' <repeats 12 times>, " >�6\000\000\000\000ø\002\217 \000\000\000\000\000\000\217 \000\000\000\000\020\001", '\000' <repeats 14 times>, "\004\000\000\000\000\000\000\000B\000\004F\000\000\000\000\060>�6", '\000' <repeats 12 times>, "\030\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\060\a\217 \000\000\000\000\000\000\217 \000\000\000\000ÖÖ!\fø\177\000\000\000\000\217 \000\000\000\000c\000\000P", '\000' <repeats 17 times>, "@Q@\220v\201=\000\000\000\000�©\025\fø\177\000\000\000\000\217 \000\000\000\000\000\000\217 \000\000\000\000\000\000\217 ", '\000' <repeats 12 times>, "\220v\201=\000\000\000\000\001", '\000' <repeats 20 times>, "@Q@\000\000\217 \000\000\000\000c\000\000P", '\000' <repeats 12 times>, "þÆ!\fø\177\000\000\000\000\217 ", '\000' <repeats 28 times>, "\001\000\217 \001\000\000\000\200v\201=\000\000\000\000\001\004", '\000' <repeats 14 times>, "b\000\000@\000\000\000\000\200v\201=\000\000\000\000\000\000\217 \000\000\000\000éP\035\fø\177\000\000\000\000\217 \000\000\000\000c\000\000P", '\000' <repeats 12 times>, "\vÊ\004Å\000\000\000\000\b\000\000\000\000\000\000\000\002\000\004\006\000\000\000\000\000\000\217 \000\000\000\000�b\035\fø\177\000\000\200�\210\066\000\000\000\000\vÊ\004Å\000\000\000\000\005\000\000\000\000\000\000\000\002\000\004\006ø\177\000\000\005\000\000\000\000\000\000\000À\002\217 \000\000\000\000p\002\000\000\000\000\000\000@á­=\000\000\000\000/\000\000\000\000\000\000\000ïn\023\fø\177\000\000/\000\000\000\000\000\000\000À\002\217 \000\000\000\000`u\201=\000\000\000\000\000\000\217 \000\000\000\000p\002\000\000\000\000\000\000/\000\000\000\000\000\000\000pu\201=\000\000\000\000\063Í\025\fø\177\000\000\000\000\217 \000\000\000\000`u\201=\000\000\000\000`u\201=\000\000\000\000\000½\210\066\000\000\000\000/\000\000\000\000\000\000\000/\000\000\000\000\000\000\000b\000\000@\000\000\000\000\005\000\210\066\000\000\000\000\000\000\217 \000\000\000\000\000P\035\fø\177\000\000\000\000\217 \000\000\000\000/\000\000\000\000\000\000\000 \017´6\000\000\000\000B\000,$\000\000\000\000)\000\000\000\000\000\000\000H\001\000\000\000\000\000\000\000ª$\000\000\000\000\000\001\000\000\000\000\000\000\000\000å\v2\000\000\000\000�©\025\fø\177\000\000\177", '\000' <repeats 16 times>, "¤$\000\000\000\000\000´\000\000\000\000\000\000\000\005\000\a\002\000\000\000\000\000\r\r2\000\000\000\000\000�yC\000\000\000\000ÐJ�\003\000\000\000\000\020¤$\000\000\000\000\000\030\231\220\003\000\000\000\000)\000\004-\000\000\000\000 \000\000\000\000\000\000\000\001", '\000' <repeats 15 times>, "B\000\004F\000\000\000\000\vÊ\004Å\000\000\000\000@¤$\000\000\000\000\000\002\000\004\006\000\000\000\000¨v\201=\000\000\000\000b\000\000@\000\000\000\000Ð\002\000\000\000\000\000\000@á­=\000\000\000\000\071\000\000\000\000\000\000\000ïn\023\fø\177\000\000\071\000\000\000\000\000\000\000À\002\217 \000\000\000\000Àt\201=\000\000\000\000\000\000\217 \000\000\000\000Ð\002\000\000\000\000\000\000\071\000\000\000\000\000\000\000Ðt\201=\000\000\000\000\063Í\025\fø\177\000\000\000\000\217 \000\000\000\000Àt\201=\000\000\000\000Àt\201=\000\000\000\000p\002\000\000\000\000\000\000\071\000\000\000\000\000\000\000\071\000\000\000\000\000\000\000B\000\004F\000\000\000\000ÖÖ!\fø\177\000\000\000\000\217 \000\000\000\000\000\000\000P", '\000' <repeats 12 times>, "\071\000\000\000\000\000\000\000 \017´6\000\000\000\000B\000!\fø\177\000\000/\000\000\000\000\000\000\000x\001", '\000' <repeats 14 times>, "\001\000\000\000\000\000\000\000pu\201=\000\000\000\000�©\025\fø\177\000\000\177", '\000' <repeats 17 times>, "\217 \000\000\000\000Ü\000\000\000\000\000\000\000pu\201=\000\000\000\000\001", '\000' <repeats 15 times>, "\001\000\000\000\000\000\000\000\000\000\217 \000\000\000\000c\000\000P\000\000\000\000/\000\004+\000\000\000\000þÆ!\fø\177\000\000\000\000\217 ", '\000' <repeats 12 times>, "B\000\004F\000\000\000\000p�\210\066\000\000\000\000\001\000\217 \001\000\000\000`u\201=\000\000\000\000\001\004", '\000' <repeats 14 times>, "àt\201=\000\000\000\000\071\000\000\000\000\000\000\000\000\000\217 \000\000\000\000éP\035\fø\177\000\000\000\000\217 \000\000\000\000c\000\000P\000\000\000\000/\000\000\000\000\000\000\000íÿÿÿp\000\000\000\000¦$\000\000\000\000\000$�{\003\000\000\000\000Àt\201=\000\000\000\000\023\263}\003!", '\000' <repeats 27 times>, "Ð\002", '\000' <repeats 14 times>, "\220v\201=\000\000\000\000B\000\004F", '\000' <repeats 12 times>, "\001\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000°¦$\000\000\000\000\000.¦A\n\000\000\000\000\000\000\217 \000\000\000\000ÖÖ!\fø\177\000\000\000\000\217 \000\000\000\000c\000\000P", '\000' <repeats 12 times>, "\001\000\000\000\000\000\000\000Ðt\201=\000\000\000\000�©\025\fø\177\000\000\000\000\217 \000\000\000\000\000\000\217 \000\000\000\000\000\000\217 ", '\000' <repeats 12 times>, "Ðt\201=\000\000\000\000\001", '\000' <repeats 15 times>, "\001\000\000\000\000\000\000\000\000\000\217 \000\000\000\000c\000\000P", '\000' <repeats 12 times>, "þÆ!\fø\177\000\000\000\000\217 ", '\000' <repeats 20 times>, "ð\177\062D\000\000\000\000\001�yC\001\000\000\000Àt\201=\000\000\000\000\001\004", '\000' <repeats 14 times>, "b\000\000@\000\000\000\000Àt\201=\000\000\000\000\000\000\217 \000\000\000\000éP\035\fø\177\000\000\000\000\217 \000\000\000\000c\000\000P\000\000\000\000\001\000\000\000\000\000\000\000ð\177\062D", '\000' <repeats 12 times>, "\001\000\000\000\000\000\000\000\060¨$\000\000\000\000\000(�'\n\000\000\000\000\000\004\000\000\000\000\000\000\002", '\000' <repeats 15 times>, "\001\000\000\000\000\000\000\000\200�\210\066\000\000\000\000�©\025\fø\177\000\000\001\004\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000pu\201=\000\000\000\000�©\025\fø\177\000\000\000\000\217 ", '\000' <repeats 12 times>, "`u\201=", '\000' <repeats 20 times>, "��µ\vø\177\000\000°¨$\000\000\000\000\000\001", '\000' <repeats 15 times>, "\001", '\000' <repeats 15 times>, "��µ\vø\177\000\000\020©$\000\000\000\000\000\001\000\000\000\000\000\000\000\001\004\000\000\000\000\000\000Ðt\201=", '\000' <repeats 12 times>, "Lºi\003\000\000\000\000pu\201=\000\000\000\000\200�\210\066\000\000\000\000\000©$\000\000\000\000\000èñB\n\000\000\000\000\200u\201=\000\000\000\000pu\201=\000\000\000\000pu\201=\000\000\000\000pu\201=\000\000\000\000@©$\000ÿÿÿÿXv\201=\000\000\000\000@©$\000\000\000\000\000÷ E\n\000\000\000\000pu\201=\000\000\000\000@�E\n\000\000\000\000\000�yC\000\000\000\000Ðt\201=\001\000\000\000p©$\000\000\000\000\000Ù¡E\n\000\000\000\000\000ª$\000\000\000\000\000pu\201=\000\000\000\000\000�yC", '\000' <repeats 12 times>, " ©$\000\000\000\000\000\b\033E\n\000\000\000\000\000ª$\000\000\000\000\000\000�yC\000\000\000\000Ðt\201=\000\000\000\000ð\177\062D\000\000\000\000\001\004\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000Ðt\201=\000\000\000\000�©\025\fø\177\000\000\000\000\217 \000\000\000\000\000\000\217 \000\000\000\000Àt\201=", '\000' <repeats 12 times>, " ª$\000\000\000\000\000¼´Òm\000\000\000\000Ðt\201=\000\000\000\000T\004Òm", '\000' <repeats 12 times>, "\001\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000��µ\vø\177\000\000\200ª$", '\000' <repeats 13 times>, "\001\004\000\000\000\000\000\000°ò\000\000\000\220v@\001\000\000\000\000\000\000\000¢·Òm\000\000\000\000Ðt\201=\000\000\000\000\001\000\000\000\000\000\000\000\001\000\000\000\000Àb@ÐJ�\003\000\000\000\000Àª$\000\000\000\000\000¨îJ\n\000\000\000\000ÐJ�\003\000\000\000\000\060«$", '\000' <repeats 13 times>, "\001\000\000\000\000\000\000\000ðª$\000\000\000\000\000ã²@\nÿÿÿÿðª$\000\000\000\000\000�MG\n\000\000\000\000P«$\000\000\000\000\000\001\000\000\000\000\000\000\000\000Ç\"$\000\000\000\000Ðt\201=\000\000\000\000 «$\000\000\000\000\000æ4(\n\000\000\000\000P«$\000\000\000\000\000\001�yC\000\000\000\001@«$\000\000\000\000\000èñB\n\000\000\000\000\000\210\062D\000\000\000\000++!\n\000\000\000\000\000\000\000\000\000@Y@\000\210\062D\000\000\000\000\200«$\000\000\000\000\000ÑîJ\n\000\000\000\000\000\210\062D\000\000\000\000¬�>\n\000\000\000\000\001\000\000\000\000\000\000\000(\177\062D\000\000\000\000\001\000\000\000\000\000\000\000ç3'\n\002\000\000\000°«$\000\000\000\000\000�MG\n\000\000\000\000\020¬$\000\000\000\000\000\000\000\000\000ÿÿÿÿ\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000`¬$\000\000\000\000\000æ4(\n\000\000\000\000\020¬$\000\000\000\000\000\000�yC\000\000\000\001\000¬$\000\000\000\000\000èñB\n\000\000\000\000\020\033\177C\000\000\000\000++!\n\000\000\000\000\070bà=\000\000\000\000\020\033\177C\000\000\000\000@¬$\000\000\000\000\000ÑîJ\n\000\000\000\000\020\033\177C\000\000\000\000¬�>\n\000\000\000\000\070bà=\000\000\000\000PyZ>\000\000\000\000p¬$\000\000\000\000\000ç3'\n\002\000\000\000p¬$\000\000\000\000\000�MG\n\000\000\000\000Ь$\000\000\000\000\000\001", '\000' <repeats 15 times>, "\001\000\000\000\000\000\000\000 ­$\000\000\000\000\000æ4(\n\000\000\000\000Ь$\000\000\000\000\000\060bà=\000\000\000\001À¬$\000\000\000\000\000èñB\n\000\000\000\000P\021D?\000\000\000\000++!\n\000\000\000\000\070\\Ä=\000\000\000\000P\021D?\000\000\000\000\000­$\000\000\000\000\000ÑîJ\n\000\000\000\000P\021D?\000\000\000\000¬�>\n\000\000\000\000\070\\Ä=\000\000\000\000°\vD?\000\000\000\000\060­$\000\000\000\000\000ç3'\n\002\000\000\000\060­$\000\000\000\000\000�MG\n\000\000\000\000\220­$\000\000\000\000\000\001\000\000\000\001", '\000' <repeats 11 times>, "\001\000\000\000\000\000\000\000à­$\000\000\000\000\000\vÊ\004Å\000\000\000\000\220­$\000\000\000\000\000\002\000\004\006\000\000\000\001\200­$\000\000\000\000\000èñB\n\000\000\000\000\n\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000ïn\023\fø\177\000\000\023\000\000\000\000\000\000\000À\002\217 \000\000\000\000c\001\000P\000\000\000\000\000\000\217 \000\000\000\000\n\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\060w\201=\000\000\000\000J\037\026\fø\177\000\000\000\000\217 \000\000\000\000c\001\000P\000\000\000\000 w\201=\000\000\000\000ïn\023\fø\177\000\000\023\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\001\000P", '\000' <repeats 12 times>, "#\004", '\000' <repeats 14 times>, "\220v\201=", '\000' <repeats 14 times>, "\217\001\000\000\000\000B\000\000P\000\000\000\000è\000\000\000\000\000\000\000\035\000\000\000\000\000\000\000\200v\201=\000\000\000\000\035\000\000\000\000\000\000\000\000\004C?\001\000\000\000 \000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\200v\201=\000\000\000\000Ðu\201=\000\000\000\000\001\000\000\000\177\000\000\000\035\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000H\001\000\000\000\000\000\000)\000\000\000\000\000\000\000Àu\201=\000\000\000\000B\000\004F\000\000\000\000)\000\000\000\001\000\000\000À\000\000\000\000\000\000\000D", '\000' <repeats 15 times>, "/\004\000\000\000\000\000\000\034\000\000\000\000\000\000\000\200�\210\066\000\000\000\000\vÊ\004Å\000\000\000\000ø+¯\001\000\000\000\000B\000\004F\000\000\000\000(\000\000\000\000\000\000\000\005\000\000\000\000\000\000\000p�\210\066\000\000\000\000¬�>\n\000\000\000\000l\000\000\000\000\000\000\000\002\000\004\006\000\000\000\000@á­=\000\000\000\000p�\210\066\000\000\000\000p¯$\000\000\000\000\000\020w\201=\000\000\000\000\005\000\000\000\000\000\000\000\220v\201=", '\000' <repeats 12 times>, "P\001\217 \000\000\000\000°\001\000\000\000\000\000\000\035\000\000\000\000\000\000\000Я$\000\000\000\000\000ÿ5ÿÿ\000\000\000\001@w\201=\000\000\000\000°u\201=Ûÿÿÿ\b\000\000\000\000\000\000\000\006\000\000\000\000\000\000\000X÷ª6\000\000\000\000\vÊ\004Å\000\000\000\000Ð\002\000\000\000\000\000\000\000\000_=\000\000\000\000p\002\000\000\000\000\000\000\023\000\000\000\000\000\000\000àu\201=\000\000\000\000\001\066ÿÿíÿÿÿ v\201=\000\000\000\000ø\002\217 \000\000\000\000\n\000\000\000\000\000\000\000�MG\n\000\000\000\000\220°$\000\000\000\000\000°�\210\066\000\000\000\000B\000\004F\000\000\000\000\200�\210\066\000\000\000\000à°$\000\000\000\000\000P\001\217 \000\000\000\000\060\000\000\000\000\000\000\000\060\a\217 \000\000\000\000\023\000\000\000\000\000\000\000#\000\000\000\000\000\000\000\220v\201=\000\000\000\000++!\n", '\000' <repeats 12 times>, "\200\000\000\000\000\000\000\000\001", '\000' <repeats 15 times>, "\b\000\000\000\000\000\000\000p\000\000\000\000\000\000\000\000\000\217 \000\000\000\000Òî\025\fø\177\000\000\000\000\217 \000\000\000\000c\001\000P\000\000\000\000p\000\000\000\000\000\000\000 ", '\000' <repeats 15 times>, "H±$\000\000\000\000\000\000\000\217 ", '\000' <repeats 12 times>, "p\000\000\000\000\000\000\000c\001\000P\000\000\000\000b\000\000@", '\000' <repeats 14 times>, "\217 ", '\000' <repeats 12 times>, "\200v\201=\000\000\000\000�½!\fø\177\000\000\000\000\217 ", '\000' <repeats 20 times>, "\004\000\000\000\000\000\000\000\001Ç\"$\000\000\000\000\220v\201=", '\000' <repeats 12 times>, "p\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000p\000\000\000\000\000\000\000\000\000\217 \000\000\000\000�b\035\fø\177\000\000\000\000\217 \000\000\000\000c\001\000P\000\000\000\000\000\262$\000\000\000\000\000\000\000(\n\000\000\000\000\000Ç\"$\000\000\000\000ðÕ\017\062\000\000\000\000\000�yC", '\000' <repeats 12 times>, "À¸$", '\000' <repeats 29 times>, "°+\r1\000\000\000\000P\r\r2\000\000\000\000`²$\000\000\000\000\000Ö�(\n\000\000\000\000\000Ç\"$\000\000\000\000@y,$\000\000\000\000P²$\000\000\000\000\000ëÃ\f\023\000\000\000\000\b�yC\000\000\000\000EýA\n\000\000\000\000°å\v2\000\000\000\000\030\000\000\000\000\000\000\000\200\262$\000\000\000\000\000�ó;\023\000\000\000\000\b�yC\000\000\000\000Ö�(\n\000\000\000\000 ²$\000\000\000\000\000ëÃ\f\023\000\000\000\000\b�yC\000\000\000\000uö,\023\000\000\000\000\000�yC\000\000\000\000EýA\n\000\000\000\000в$\000\000\000\000\000�ó;\023\000\000\000\000\b�yC\000\000\000\000 �>\023\000\000\000\000\000�yC\000\000\000\000Ö�(\n\000\000\000", q_for_alignment_1 = 1132037120, q_for_alignment_2 = 5.5930065080906472e-315}}
        i = 0
#42 0x00000000131db611 in QQmlData::signalEmitted (object=0x43798400, index=46, a=0x24b5d0) at qml/qqmlengine.cpp:763
        ep = 0x43798668
        ddata = 0x443281d0
        __PRETTY_FUNCTION__ = "static void QQmlData::signalEmitted(QAbstractDeclarativeData*, QObject*, int, void**)"
#43 0x00000000037e2154 in QMetaObject::activate (sender=0x43798400, signalOffset=29, local_signal_index=17, argv=0x24b5d0) at kernel/qobject.cpp:3599
        signal_index = 46
        empty_argv = {0x3d817690}
        currentThreadId = 0x3a1dde0 <qt_meta_data_QObject>
        __PRETTY_FUNCTION__ = "static void QMetaObject::activate(QObject*, int, int, void**)"
#44 0x00000000037e1f4a in QMetaObject::activate (sender=0x43798400, m=0xa55ad20 <QQuickMouseArea::staticMetaObject>, local_signal_index=17, argv=0x24b5d0) at kernel/qobject.cpp:3578
No locals.
#45 0x000000000a3877ba in QQuickMouseArea::doubleClicked (this=0x43798400, _t1=0x24b630) at .moc/debug/moc_qquickmousearea_p.cpp:624
        _a = {0x0, 0x24b5f8}
#46 0x000000000a2ca88b in QQuickMouseArea::mouseDoubleClickEvent (this=0x43798400, event=0x3d8174d0) at items/qquickmousearea.cpp:800
        me = {<QObject> = {_vptr.QObject = 0xa583b70 <vtable for QQuickMouseEvent+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x3a1dcc0 <qt_meta_stringdata_QObject>, data = 0x3a1dde0 <qt_meta_data_QObject>, static_metacall = 0x37e4d4c <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x3d817690}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x3a700e0 <qt_meta_stringdata_Qt>, data = 0x3a7ab60 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x3a1df20 <QObject::staticMetaObject>, stringdata = 0xa54d200 <qt_meta_stringdata_QQuickMouseEvent>, data = 0xa54d320 <qt_meta_data_QQuickMouseEvent>, static_metacall = 0xa3765cc <QQuickMouseEvent::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, _x = 101, _y = 69, _button = Qt::LeftButton, _buttons = {i = 1}, _modifiers = {i = 0}, _wasHeld = false, _isClick = true, _accepted = true}
        d = 0x44327ff0
#47 0x000000000a278966 in QQuickItem::event (this=0x43798400, ev=0x3d8174d0) at items/qquickitem.cpp:7292
        d = 0x44327ff0
#48 0x00000000037b3c40 in QCoreApplicationPrivate::notify_helper (this=0x208fb280, receiver=0x43798400, event=0x3d8174d0) at kernel/qcoreapplication.cpp:1093
No locals.
#49 0x00000000037b3936 in QCoreApplication::notify (this=0x24fc30, receiver=0x43798400, event=0x3d8174d0) at kernel/qcoreapplication.cpp:1038
        d = 0x208fb280
        __PRETTY_FUNCTION__ = "virtual bool QCoreApplication::notify(QObject*, QEvent*)"
#50 0x000000006dd1a075 in QGuiApplication::notify (this=0x24fc30, object=0x43798400, event=0x3d8174d0) at kernel/qguiapplication.cpp:1536
No locals.
#51 0x00000000037b3850 in QCoreApplication::notifyInternal (this=0x24fc30, receiver=0x43798400, event=0x3d8174d0) at kernel/qcoreapplication.cpp:965
        result = false
        cbdata = {0x43798400, 0x3d8174d0, 0x24b80f}
        d = 0x44327ff0
        threadData = 0x208fb0a0
        loopLevelCounter = {threadData = 0x208fb0a0}
#52 0x000000000a413da5 in QCoreApplication::sendEvent (receiver=0x43798400, event=0x3d8174d0) at C:/repo/mingw-w64-qt5/src/x86_64/qtbase/src/corelib/kernel/qcoreapplication.h:224
No locals.
#53 0x000000000a289b08 in QQuickWindow::sendEvent (this=0x21f7f510, item=0x43798400, e=0x3d8174d0) at items/qquickwindow.cpp:2608
        hasFiltered = {q_hash = {{d = 0x3d817570, e = 0x3d817570}}}
        d = 0x2422c700
        __PRETTY_FUNCTION__ = "bool QQuickWindow::sendEvent(QQuickItem*, QEvent*)"
#54 0x000000000a2836e5 in QQuickWindowPrivate::deliverMouseEvent (this=0x2422c700, event=0x24bec0) at items/qquickwindow.cpp:1532
        localPos = {xp = 101, yp = 69}
        me = {d = 0x3d8174d0}
        q = 0x21f7f510
#55 0x000000000a283e1e in QQuickWindow::mouseDoubleClickEvent (this=0x21f7f510, event=0x24bec0) at items/qquickwindow.cpp:1597
        d = 0x2422c700
        __PRETTY_FUNCTION__ = "virtual void QQuickWindow::mouseDoubleClickEvent(QMouseEvent*)"
#56 0x000000006dd24948 in QWindow::event (this=0x21f7f510, ev=0x24bec0) at kernel/qwindow.cpp:1970
No locals.
#57 0x000000000a282f9f in QQuickWindow::event (this=0x21f7f510, e=0x24bec0) at items/qquickwindow.cpp:1413
        d = 0x2422c700
#58 0x00000000037b3c40 in QCoreApplicationPrivate::notify_helper (this=0x208fb280, receiver=0x21f7f510, event=0x24bec0) at kernel/qcoreapplication.cpp:1093
No locals.
#59 0x00000000037b3936 in QCoreApplication::notify (this=0x24fc30, receiver=0x21f7f510, event=0x24bec0) at kernel/qcoreapplication.cpp:1038
        d = 0x208fb280
        __PRETTY_FUNCTION__ = "virtual bool QCoreApplication::notify(QObject*, QEvent*)"
#60 0x000000006dd1a075 in QGuiApplication::notify (this=0x24fc30, object=0x21f7f510, event=0x24bec0) at kernel/qguiapplication.cpp:1536
No locals.
#61 0x00000000037b3850 in QCoreApplication::notifyInternal (this=0x24fc30, receiver=0x21f7f510, event=0x24bec0) at kernel/qcoreapplication.cpp:965
        result = false
        cbdata = {0x21f7f510, 0x24bec0, 0x24bdbf}
        d = 0x2422c700
        threadData = 0x208fb0a0
        loopLevelCounter = {threadData = 0x208fb0a0}
#62 0x000000006e040475 in QCoreApplication::sendSpontaneousEvent (receiver=0x21f7f510, event=0x24bec0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:227
No locals.
#63 0x000000006dd1b066 in QGuiApplicationPrivate::processMouseEvent (e=0x3257f030) at kernel/qguiapplication.cpp:1832
        doubleClickType = QEvent::MouseButtonDblClick
        dblClickEvent = {<QInputEvent> = {<QEvent> = {_vptr.QEvent = 0x6e1bce40 <vtable for QMouseEvent+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x3a893e0 <qt_meta_stringdata_QEvent>, data = 0x3a8ae20 <qt_meta_data_QEvent>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}, d = 0x0, t = 4, posted = 0, spont = 1, m_accept = 1, reserved = 0}, modState = {i = 0}, ts = 62128}, l = {xp = 361, yp = 139}, w = {xp = 361, yp = 139}, s = {xp = 649, yp = 276}, b = Qt::LeftButton, mouseState = {i = 1}, caps = 0, velocity = {xp = 0, yp = 0}}
        type = QEvent::MouseButtonPress
        stateChange = {i = 1}
        window = 0x21f7f510
        localPoint = {xp = 361, yp = 139}
        globalPoint = {xp = 649, yp = 276}
        button = Qt::LeftButton
        doubleClick = true
        frameStrut = false
        ev = {<QInputEvent> = {<QEvent> = {_vptr.QEvent = 0x6e1bce40 <vtable for QMouseEvent+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x3a893e0 <qt_meta_stringdata_QEvent>, data = 0x3a8ae20 <qt_meta_data_QEvent>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}, d = 0x0, t = 2, posted = 0, spont = 1, m_accept = 1, reserved = 4}, modState = {i = 0}, ts = 62128}, l = {xp = 361, yp = 139}, w = {xp = 361, yp = 139}, s = {xp = 649, yp = 276}, b = Qt::LeftButton, mouseState = {i = 1}, caps = 65536, velocity = {xp = 0, yp = 0}}
#64 0x000000006dd1a212 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x3257f030) at kernel/qguiapplication.cpp:1581
        __PRETTY_FUNCTION__ = "static void QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*)"
#65 0x000000006dd0c35c in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:625
        event = 0x3257f030
        nevents = 1
#66 0x00000000222f1734 in QWindowsGuiEventDispatcher::sendPostedEvents (this=0x208fb530) at qwindowsguieventdispatcher.cpp:84
No locals.
#67 0x000000000380c31e in qt_internal_proc (hwnd=0x180702, message=1025, wp=0, lp=0) at kernel/qeventdispatcher_win.cpp:414
        localSerialNumber = 6853
        msg = {hwnd = 0x180702, message = 1025, wParam = 0, lParam = 0, time = 4, pt = {x = 0, y = 0}}
        dispatcher = 0x208fb530
        result = 0
        q = 0x208fb530
        d = 0x21ec50d0
#68 0x00007ff80b5100dc in USER32!DispatchMessageW () from C:\WINDOWS\system32\user32.dll
No symbol table info available.
#69 0x00007ff80b50fc07 in USER32!DispatchMessageW () from C:\WINDOWS\system32\user32.dll
No symbol table info available.
#70 0x000000000380db32 in QEventDispatcherWin32::processEvents (this=0x208fb530, flags=...) at kernel/qeventdispatcher_win.cpp:817
        nCount = 0
        msg = {hwnd = 0x180702, message = 1025, wParam = 0, lParam = 0, time = 2946484, pt = {x = 649, y = 276}}
        haveMessage = true
        waitRet = 0
        pHandles = {0x4, 0x520, 0x1, 0x7ff800000002, 0xa10400a5 <compiled_funcs+507494565>, 0x7ff80c21d6d6 <ntdll!RtlpNtMakeTemporaryKey+14198>, 0x2f00000, 0x50000063, 0x0, 0x336b4608, 0x2f00000, 0x7ff80c21d6d6 <ntdll!RtlpNtMakeTemporaryKey+14198>, 0x2f00000, 0x50000063, 0x0, 0x336b4608, 0x2fede80, 0x7ff80c15a996 <ntdll!RtlFreeHeap+262>, 0x2f00000, 0x2f00000, 0x2f00000, 0x0, 0x2fede80, 0x1, 0x0, 0x336b4608, 0x2f00000, 0x50000063, 0x0, 0x7ff80c21c6fe <ntdll!RtlpNtMakeTemporaryKey+10142>, 0x2f00000, 0x0, 0x0, 0x33584280, 0x102f00001, 0x2fede70, 0x2ff9370, 0x0, 0x40000062, 0x2fede70, 0x2f00000, 0x7ff80c1d50e9 <ntdll!memset+53161>, 0x2f00000, 0x50000063, 0x2ff9300, 0x0, 0x40000000, 0x2ff9360, 0x2f00000, 0x7ff80c1d50e9 <ntdll!memset+53161>, 0x2f00000, 0x50000063, 0x0, 0x1, 0x24c880, 0x7ff80c171952 <ntdll!SbSelectProcedure+434>, 0x0, 0x0, 0x0, 0x1, 0x2ff9300, 0x7ff80c171952 <ntdll!SbSelectProcedure+434>, 0x5c000000aa0000}
        processedTimers = {a = 256, s = 0, ptr = 0x24c7c0, {array = "\002\a\030\000\000\000\000\000\023\001\000\000\000\000\000\000\t", '\000' <repeats 15 times>, "ôí,\000�\002\000\000+\001", '\000' <repeats 14 times>, "\023\001\000\000\000\000\000\000?t\000\000\000\000\000\000\200¯j\vø\177\000\000àn,\000o\003\000\000µ\001\000\000\000\000\000\000\002\a\030\000\000\000\000\000\023\001\000\000\000\000\000\000þÿÿÿ", '\000' <repeats 12 times>, "àn,\000o\003\000\000µ\001\000\000\000\000\000\000\230\a\022\000\000\000\000\000\023\001\000\000\000\000\000\000\001", '\000' <repeats 15 times>, "\037o,\000o\003\000\000µ\001\000\000\000\000\000\000\002\a\030\000\000\000\000\000\023\001\000\000\000\000\000\000\003", '\000' <repeats 15 times>, "\037o,\000o\003\000\000µ\001", '\000' <repeats 38 times>, "Ç1)®r¿\000\000\000\000\000\000\000\000\000\000p�ÿ\002\000\000\000\000\002", '\000' <repeats 15 times>, "\bFk3\000\000\000\000\220BX3\000\000\000\000�©\025\fø\177\000\000p�ÿ\002\000\000\000\000\002", '\000' <repeats 15 times>, "\bFk3\000\000\000\000\200Þþ\002\000\000\000\000�©\025\fø\177\000\000\000\000ð\002\000\000\000\000\000\000ð\002\000\000\000\000pÞþ\002", '\000' <repeats 12 times>, "\200Þþ\002\000\000\000\000y¬À\bø\177\000\000)Ð$\000\000\000\000\000Xáþ\002\000\000\000\000p�ÿ\002\000\000\000\000i�\004ÿ", '\000' <repeats 12 times>, "\002\000\004\006ø\177\000\000)Ð$\000\000\000\000\000Xáþ\002\000\000\000\000p\000\000\000\000\000\000\000\036\000\004\032\000\000\000\000\036\000\000\000\000\000\000\000�n\023\fø\177\000\000\036\000\000\000\000\000\000\000À\002ð\002\000\000\000\000ÀÖþ\002\000\000\000\000\000\000ð\002\000\000\000\000p\000\000\000\000\000\000\000\036\000\000\000\000\000\000\000ÐÖþ\002\000\000\000\000\063Í\025\fø\177\000\000\000\000ð\002\000\000\000\000ÀÖþ\002\000\000\000\000ÀÖþ\002\000\000\000\000@Ê$\000\000\000\000\000\036\000\000\000\000\000\000\000\036\000\000\000\000\000\000\000\200Þþ\002\000\000\000\000p�ÿ\002\000\000\000\000\000Ek3\000\000\000\000\000\000\000\000\177\000\000\000\000Ð$\000\000\000\000\000\036\000\000\000\000\000\000\000\220�j3\000\000\000\000\036\000ÿ\002\000\000\000\000\t\000\000\000\000\000\000\000H\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001", '\000' <repeats 15 times>, "p�ÿ\002\000\000\000\000\177", '\000' <repeats 15 times>, "p�ÿ\002\000\000\000\000p\000\000\000\000\000\000\000C\000:\000\\\000W\000I\000N\000D\000O\000W\000S\000\\\000I\000N\000F\000\\\000i\000n\000p\000u\000t\000.\000i\000n\000f\000\t\000\004\r\000\000\000\000\002\000\004\006ø\177\000\000àyÿ\002\000\000\000\000c\001\000P\000\000\000\000\n\000\004\016\000\000\000\000\020\001\000\000\000\000\000\000\001", '\000' <repeats 15 times>, "\021\000\000\000\000\000\000\000\004\001\000\000\000\000\000\000àÖþ\002\000\000\000\000\036\000\000\000\000\000\000\000\000\000ð\002\000\000\000\000c\001\000P\000\000\000\000\004\001\000\000\000\000\000\000@\001\000\000\000\000\000\000\t\000\000\000\000\000\000\000ÿÿÿÿp\000\000\000\000\000ð\002", '\000' <repeats 12 times>, "ÀÖþ\002\000\000\000\000c\001\000P\000\000\000\000b\000\000@\000\000\000\000i�\004ÿ\000\000\000\000\000\000ð\002\000\000\000\000\002\000\004\006\000\000\000\000Ðyÿ\002\000\000\000\000\017�\004�ø\177\000\000îþîþîþîþ@\002ÿ\002\000\000\000\000À\002ð\002\000\000\000\000�\231\025\fø\177\000\000P\001ð\002\000\000\000\000pj\200\064\000\000\000\000\000\000w4\000\000\000\000\000\000ð\002\000\000\000\000UI\000\000\000\000\000\000c\000\000P\000\000\000\000UI\000\000\000\000\000\000UI\000\000\000\000\000\000ÐÖþ\002\000\000\000\000\210\000\004�ø\177\000\000\000\000ð\002\000\000\000\000\017�\004�\000\000\000\000\000}\004\000\000\000\000\000i�\004ÿ", '\000' <repeats 12 times>, "\002\000\004\006\000\000\000\000UI\000\000\000\000\000\000\017�\004�\000\000\000\000îþîþîþîþ@\002ÿ\002\000\000\000\000À\002ð\002\000\000\000\000�\231\025\fø\177\000\000P\001ð\002\000\000\000\000@R\200\064\000\000\000\000\000\000w4\000\000\000\000\000\000ð\002\000\000\000\000ØJ\000\000\000\000\000\000°áv3\000\000\000\000ØJ\000\000\000\000\000\000ØJ\000\000\000\000\000\000\036\000\000\000\000\000\000\000\210\000\004�\000\000\000\000@R\200\064\000\000\000\000\017�\004�ø\177\000\000\060�\004", '\000' <repeats 21 times>, "@\002ÿ\002\000\000\000\000ØJ\000\000\000\000\000\000@R\200\064\000\000\000\000\000\000ð\002\000\000\000\000\231�\025\fø\177\000\000ùÍ$\000\000\000\000\000i�\004ÿ", '\000' <repeats 14 times>, "\004\006ø\177\000\000\000\000ð\002", '\000' <repeats 12 times>, "pØÿ\002\000\000\000\000\b\002\000\000\000\000\000\000\r\000\000\000\000\000\000\000ïn\023\fø\177\000\000\r\000\000\000\000\000\000\000@R\200\064\000\000\000\000`'\200\064\000\000\000\000\000\000ð\002\000\000\000\000pØÿ\002\000\000\000\000\r\000\000\000\000\000\000\000pØÿ\002\000\000\000\000i�\004ÿø\177\000\000\000\000ð\002\000\000\000\000\002\000\004\006\000\000\000\000`Øÿ\002", '\000' <repeats 20 times>, "\036\000\004\032\000\000\000\000\036\000\000\000\000\000\000\000�n\023\fø\177\000\000\036\000\000\000\000\000\000\000À\002ð\002\000\000\000\000@vÿ\002\000\000\000\000\000\000ð\002", '\000' <repeats 12 times>, "\036\000\000\000\000\000\000\000Pvÿ\002\000\000\000\000\063Í\025\fø\177\000\000\000\000ð\002\000\000\000\000@vÿ\002\000\000\000\000@vÿ\002\000\000\000\000\000½!\fø\177\000\000\036\000\000\000\000\000\000\000\036", '\000' <repeats 15 times>, ",\000\000\000\000\000\000\000\000G\004�", '\000' <repeats 20 times>, "\036\000\000\000\000\000\000\000°�ÿ\002\000\000\000\000\036\000\000\000ø\177\000\000\002\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000ð\002\000\000\000\000\001\000\000\000\000\000\000\000\002\000\004\006", '\000' <repeats 12 times>, "\177", '\000' <repeats 17 times>, "ð\002\000\000\000\000p\000\000\000\000\000\000\000\200Øÿ\002\000\000\000\000\r\000\000\000\000\000\000\000Àáv3\000\000\000\000\001\000\000\000\000\000\000\000pj\200\064", '\000' <repeats 12 times>, "\002\000\004\006\000\000\000\000\000\000\000\000p", '\000' <repeats 12 times>, "}\004\000\000\000\000\000\002\000\004\006", '\000' <repeats 20 times>, "­wd\tø\177\000\000\001\000\000\000\001", '\000' <repeats 11 times>, "`vÿ\002\000\000\000\000\036\000\000\000\000\000\000\000\036\000\004\032\000\000\000\000ÖÖ!\fø\177\000\000\000\000ð\002\000\000\000\000c\000\000P\000\000\000\000\002", '\000' <repeats 11 times>, "p\000\000\000\000\000ð\002\000\000\000\000\031�,\tø\177\000\000@vÿ\002\000\000\000\000c\000\000P", '\000' <repeats 12 times>, "\b\002", '\000' <repeats 24 times>, "ð\002\000\000\000\000\000àÿÿõ\177\000\000\036\000\004\032\000\000\000\000\002\000\000\000\000\000\000\000pØÿ\002\000\000\000\000\001\000\000\000\000\000\000\000H\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000ð\002\000\000\000\000ÖÖ!\fø\177\000\000\000\000ð\002\000\000\000\000c\000\000P", '\000' <repeats 12 times>, "\b\002\000\000\000\000\000\000Pvÿ\002\000\000\000\000�©\025\fø\177\000\000\000\000ð\002\000\000\000\000\000\000ð\002\000\000\000\000\000\000ð\002", '\000' <repeats 12 times>, "Pvÿ\002\000\000\000\000\001", '\000' <repeats 15 times>, "\b\002\000\000\000\000\000\000\000\000ð\002\000\000\000\000c\000\000P", '\000' <repeats 12 times>, "þÆ!\fø\177\000\000\000\000ð\002", '\000' <repeats 20 times>, "@Õ$\000\000\000\000\000\001á�V\001\000\000\000@vÿ\002", '\000' <repeats 20 times>, "b\000\000@\000\000\000\000@vÿ\002\000\000\000\000\000\000ð\002\000\000\000\000éP\035\fø\177\000\000\000\000ð\002\000\000\000\000c\000\000P\000\000\000\000Pvÿ\002\000\000\000\000,g*\tø\177\000\000\000\000\000\000\060\000\060\000\000\000\000\000\000\000\000\000Àáv3\000\000\000\000\002\000\000\000\064\000F\000\000Ò$\000\000\000\000\000R\031\027\fø\177\000\000\000\000\000\000\000\000\000\000Pvÿ\002", '\000' <repeats 38 times>, "\230\t\000\000\000\000\001", '\000' <repeats 23 times>, "Àáv3", '\000' <repeats 36 times>, "R\031\027\fø\177", '\000' <repeats 330 times>, "\002\000\000\000\000\000\000\000 �çøÿ\177\000\000\b\002\000\000\000\000\000\000Pvÿ\002\000\000\000\000�©\025\fø\177\000\000\000\000ð\002\000\000\000\000\000\000ð\002\000\000\000\000@vÿ\002", '\000' <repeats 12 times>, "\020å$\000\000\000\000\000¡\"*\tø\177\000\000\b\002\000\000\000\000\000\000 �çøÿ\177\000\000xÐ\230\tø\177\000\000Pvÿ\002\000\000\000\000\034\003\000\000\000\000\000\000ãH�\tø\177\000\000\020å$\000\000\000\000\000Pvÿ\002", '\000' <repeats 12 times>, "Pvÿ\002", '\000' <repeats 12 times>, "\004\001\000\000\000\000\000\000Pvÿ\002\000\000\000\000\060\000\000\000 \027ZtÓtÐ\021¶þ\000 É\017WÚ\017\000\000\000\002\000\000\000\000\000\000\000À\210ÿ\002\000\000\000\000Àáv3\000\000\000\000xÐ\230\tø\177\000\000\000\000\000\000\000\000\000\000êè\004\avo\000\000\004\001\000\000\000\000\000\000Pvÿ\002\000\000\000\000xÐ\230\tø\177\000\000�F�\tø\177\000\000\020F�\tø\177\000\000\000\000\000\000ø\177\000\000\000\000\000\000\000\000\000\000\020\230ÿ\002", '\000' <repeats 12 times>, "\004\001\000\000\000\000\000\000Pvÿ\002\000\000\000\000�ûèøÿ\177\000\000\020F�\tø\177\000\000\000\000\000\000\000\000\000\000Pvÿ\002\000\000\000\000\005@\000\200\000\000\000\000@Õ$\000\000\000\000\000\004\001", '\000' <repeats 22 times>, " \000\000\000 \027ZtÓtÐ\021¶þ\000 É\017WÚ\017\000\000\000Àáv3\000\000\000\000H\000I\000D\000-\000c\000o\000m\000p\000l\000i\000a\000n\000t\000 \000v\000e\000n\000d\000o\000r\000-\000d\000e\000f\000i\000n\000e\000d\000 \000d\000e\000v\000i\000c\000e\000\000\000d\000_\000r\000a\000n\000g\000e\000%\000;\000H\000I\000D\000-\000c\000o\000m\000p\000l\000i\000a\000n\000t\000 \000v\000e\000n\000d\000o\000r\000-\000d\000e\000f\000i\000n\000e\000d\000 \000d\000e\000v\000i\000c\000e", '\000' <repeats 369 times>, "^£ýÅHú\000\000\200ýèøÿ\177\000\000\000\000\000\000\000\000\000\000\020å$\000\000\000\000\000\030�ÿ\002", '\000' <repeats 12 times>, "\220Ø$\000\000\000\000\000\031�çøÿ\177\000\000^\004", '\000' <repeats 14 times>, "\030�ÿ\002\000\000\000\000^\004", '\000' <repeats 14 times>, " ìm3\000\000\000\000ÒG\000\000\000\000\000\000 �\200\064\000\000\000\000\000\000ð\002\000\000\000\000pj\200\064\000\000\000\000@R\200\064\000\000\000\000à\001", '\000' <repeats 16 times>, "\004\006\000\000\000\000\000\000ð\002\000\000\000\000\b\000\000\000\000\000\000\000¨\001\000\000\000\000\000\000i�\004ÿ\000\000\000\000b\000\000@", '\000' <repeats 14 times>, "ð\002\000\000\000\000i�\004ÿ\000\000\000\000pj\200\064\000\000\000\000\002\000\004\006\000\000\000\000\000\000ð\002\000\000\000\000\002\000\004\006\000\000\000\000\000\001\000\000\000\000\000\000\036\000\004\032\000\000\000\000\036\000\000\000\000\000\000\000�n\023\fø\177\000\000\036\000\000\000\000\000\000\000À\002ð\002\000\000\000\000ÀÖþ\002\000\000\000\000\000\000ð\002\000\000\000\000\000\001\000\000\000\000\000\000\036\000\000\000\000\000\000\000ÐÖþ\002\000\000\000\000\063Í\025\fø\177\000\000\000\000ð\002\000\000\000\000ÀÖþ\002\000\000\000\000ÀÖþ\002", '\000' <repeats 12 times>, "\036\000\000\000\000\000\000\000\036\000\000\000\000\000\000\000\000\000ð\002\000\000\000\000@ºÿ\002\000\000\000\000\000G\000\000\000\000\000\000\000\003", '\000' <repeats 14 times>, "\036\000\000\000\000\000\000\000àyÿ\002\000\000\000\000\036\000ð\002\000\000\000\000\022\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000Þþ\002\000\000\000\000\001\000\000\000\000\000\000\000àyÿ\002\000\000\000\000i�\004ÿ\000\000\000\000\177\000\000\000\000\000\000\000\002\000\004\006\000\000\000\000\000\000ð\002\000\000\000\000p\000\000\000\000\000\000\000\027\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\a\000\000\000\000\000\000\000ïn\023\fø\177\000\000\a\000\000\000\000\000\000\000À\002ð\002\000\000\000\000c\001\000P\000\000\000\000\000\000ð\002\000\000\000\000\027\000\000\000\000\000\000\000\a\000\000\000\000\000\000\000Àwÿ\002\000\000\000\000J\037\026\fø\177\000\000\000\000ð\002\000\000\000\000c\001\000P\000\000\000\000°wÿ\002\000\000\000\000i�\004ÿø\177\000\000\a\000\000\000\000\000\000\000\002\000\004\006\000\000\000\000\000\001ð\002", '\000' <repeats 12 times>, "\027\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\a\000\000\000\000\000\000\000ïn\023\fø\177\000\000\a\000\000\000\000\000\000\000À\002ð\002\000\000\000\000c\001\000P\000\000\000\000\000\000ð\002\000\000\000\000\027\000\000\000\000\000\000\000\a\000\000\000\000\000\000\000Àwÿ\002\000\000\000\000J\037\026\fø\177\000\000\000\000ð\002\000\000\000\000c\001\000P\000\000\000\000°wÿ\002\000\000\000\000\000\000\000\000\177\000\000\000\a\000\000\000\000\000\000\000\a", '\000' <repeats 24 times>, "\004\000\000\000\000\000\000\000\000\000\000ø\177\000\000Pvÿ\002", '\000' <repeats 12 times>, "\024\000\000\001\000\000\000\000\n\000ð\002\000\000\000\000ð\000\000\000\000\000\000\000\036\000\000\000\000\000\000\000@vÿ\002\000\000\000\000i�\004ÿ\000\000\000\000~�éø\001\000\000\000p\001\000\000\000\000\000\000\a\000\000\000\000\000\000\000@vÿ\002\000\000\000\000af!rCê\000\000\000\000\000\000\177\000\000\000\036\000\000\000\000\000\000\000\027\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000�n\023\fø\177\000\000\002\000\000\000\000\000\000\000\036\000\004\032\000\000\000\000k\001\024P\000\000\000\000Pvÿ\002\000\000\000\000\024\000\000\000\000\000\000\000P\001ð\002\000\000\000\000À\001\000\000\000\000\000\000N\000\000\000\000\000\000\000\000\000ð\002\000\000\000\000i�\004ÿ\000\000\000\000Ðwÿ\002\000\000\000\000°�ÿ\002\000\000\000\000\025\000\000\000\000\000\000\000\002", '\000' <repeats 11 times>, "ÿÿÿÿ\000\000\000\000\000\000\000\000\000\004$\000\000\000\000\000\002\000\004\006\000\000\000\000À�ÿ\002\000\000\000\000\a\000\000\000\000\000\000\000 Ñm\001\000\000\000\000 wÿ\002\000\000\000\000@\000\000\000\000\000\000\000Pvÿ\002\000\000\000\000°�ÿ\002\000\000\000\000P\001ð\002\000\000\000\000À\001\000\000\000\000\000\000\036\000\000\000\000\000\000\000\n\000\004\016\000\000\000\000®mÿÿ\000\000\000\000Ðwÿ\002\000\000\000\000\001\000\000\000\000\000\000\000\025\000\000\000\000\000\000\000H\að\002\000\000\000\000\a\000\000\000\000\000\000\000\t\000\000\000\000\000\000\000Pvÿ\002\000\000\000\000\000\000ð\002", '\000' <repeats 12 times>, "\a\000\000\000\000\000\000\000\001", '\000' <repeats 15 times>, "\024\000\000\000\000\000\000\000ø\002ð\002\000\000\000\000\000\000ð\002\000\000\000\000Òî\025\fø\177\000\000\000\000ð\002\000\000\000\000c\001\000P\000\000\000\000\n\000\004\016\000\000\000\000p\001", '\000' <repeats 14 times>, "hÝ$\000\000\000\000\000\000\000ð\002\000\000\000\000H\að\002\000\000\000\000\a\000\000\000\000\000\000\000c\001\000P\000\000\000\000Pvÿ\002", '\000' <repeats 20 times>, "@\001\000\000\000\000\000\000\001", '\000' <repeats 15 times>, "\024\000\000\000\000\000\000\000\070\001\000\000\000\000\000\000\000\000ð\002\000\000\000\000Òî\025\fø\177\000\000\000\000ð\002\000\000\000\000c\001\000P\000\000\000\000\070\001\000\000\000\000\000\000p\001", '\000' <repeats 14 times>, "\bÞ$\000\000\000\000\000\000\000ð\002", '\000' <repeats 12 times>, "\070\001\000\000\000\000\000\000c\001\000P\000\000\000\000b\000\000@", '\000' <repeats 14 times>, "ð\002", '\000' <repeats 12 times>, "@vÿ\002\000\000\000\000�½!\fø\177\000\000\000\000ð\002", '\000' <repeats 20 times>, "\004\000\000\000\000\000\000\000\001ß$\000\000\000\000\000Pvÿ\002", '\000' <repeats 12 times>, "\070\001\000\000\000\000\000\000\024\000\000\000\000\000\000\000\070\001\000\000\000\000\000\000\000\000ð\002\000\000\000\000�b\035\fø\177\000\000\000\000ð\002\000\000\000\000c\001\000P\000\000\000\000\001", '\000' <repeats 15 times>, "\004\000\000\000\000\000\000\000i�\004ÿ\000\000\000\000\000\000ð\002\000\000\000\000i�\004ÿ\000\000\000\000\000\000ð\002\000\000\000\000\002\000\004\006ø\177\000\000\000\000\000\000\000\000\000\000\017�\004�\000\000\000\000\005\b\000\000\000\000\000\000i�\004ÿ\000\000\000\000\177\000\000\000\000\000\000\000\002\000\004\006ø\177\000\000M9\000\000\000\000\000\000\017�\004�\000\000\000\000îþîþîþîþ@\002ÿ\002\000\000\000\000À\002ð\002\000\000\000\000�\231\025\fø\177\000\000P\001ð\002\000\000\000\000 ê\200\064\000\000\000\000\000\000w4\000\000\000\000\000\000ð\002\000\000\000\000RA\000\000\000\000\000\000\002\000\004\006\000\000\000\000RA\000\000\000\000\000\000RA", '\000' <repeats 14 times>, "¥\000\004¡\000\000\000\000\v\004\000\000\000\000\000\000i�\004ÿ\000\000\000\000°�\003\000\000\000\000\000\002\000\004\006", '\000' <repeats 12 times>, "\017�\004�\000\000\000\000îþîþîþîþ@\002ÿ\002\000\000\000\000À\002ð\002\000\000\000\000�\231\025\fø\177\000\000P\001ð\002\000\000\000\000@R\200\064\000\000\000\000\000\000w4\000\000\000\000\000\000ð\002\000\000\000\000ØJ\000\000\000\000\000\000\002\000\004\006ø\177\000\000ØJ\000\000\000\000\000\000ØJ\000\000\000\000\000\000îþîþîþîþ¥\000\004¡\000\000\000\000À\002ð\002\000\000\000\000\017�\004�ø\177\000\000\060�\004", '\000' <repeats 21 times>, "@\002ÿ\002\000\000\000\000ØJ\000\000\000\000\000\000@R\200\064\000\000\000\000\000\000ð\002\000\000\000\000\231�\025\fø\177\000\000éà$\000\000\000\000\000¥\000\004¡", '\000' <repeats 13 times>, "�\004�\000\000\000\000\000\025\004", '\000' <repeats 21 times>, "@\002ÿ\002\000\000\000\000UI\000\000\000\000\000\000pj\200\064\000\000\000\000\000\000ð\002\000\000\000\000@R\200\064\000\000\000\000`'\200\064\000\000\000\000gÆ\025\fø\177", '\000' <repeats 12 times>, "ð\002\000\000\000\000RA", '\000' <repeats 14 times>, "UI\000\000\000\000\000\000�uÿÿ\000\000\000\000\020k\201\064\000\000\000\000\060\006\004\062\000\000\000\000\000\b\000\000\000\000\000\000\002\000\004\006\000\000\000\000@R\200\064\000\000\000\000\003\002\004\005\000\000\000\000\024\000\000\000\000\000\000\000\003\002\004\005\000\000\000\000\177\000\000\000\000\000\000\000�n\023\fø\177\000\000\023\001\000\000\000\000\000\000À\002\217 \000\000\000\000c\001\000P\000\000\000\000\000\000\217 \000\000\000\000\024\000\000\000\000\000\000\000\023\001\000\000\000\000\000\000ð³ 1\000\000\000\000J\037\026\fø\177\000\000\000\000\217 \000\000\000\000c\001\000P\000\000\000\000à³ 1\000\000\000\000àçÿ\002\000\000\000\000\177\000\000\000\000\000\000\000\023\001", '\000' <repeats 22 times>, "=\004\200\064", '\000' <repeats 12 times>, "°² 1", '\000' <repeats 15 times>, "\001\000\000\000\000\003\002\000\000\000\000\000\000ø\003\000\000\000\000\000\000\177\000\000\000\000\000\000\000 ² 1\000\000\000\000`\000\000\000\000\000\000\000\000\000ð\002\001\000\000\000@\001\000\000\000\000\000\000\023\001\000\000\000\000\000\000 ² 1\000\000\000\000\177\000\000\000\000\000\000\000\001\000\000\000\177\000\000\000'\001\000\000\000\000\000\000\024\000\000\000\000\000\000\000UI\004\030\000\000\000\000c\001\000P\000\000\000\000b\000\000@", '\000' <repeats 14 times>, "ð\002\000\000\000\000°�\003\000\000\000\000\000D\004\000\000\000\000\000\000�½!\fø\177\000\000\000\000ð\002\000\000\000\000A\000\000\000\000\000\000\000\035\000\004\031\000\000\000\000\060\006\004\062\000\000\000\000RA\004\027\000\000\000\000°ê\200\064\000\000\000\000\000\000ð\002\000\000\000\000ÖÖ!\fø\177\000\000\000èÿ\002\000\000\000\000\030", '\000' <repeats 15 times>, "\002\000\004\006\000\000\000\000@R\200\064\000\000\000\000\002\000\004\006ø\177\000\000\f\000\000\000\000\000\000\000г 1\000\000\000\000\020M\004\061\000\000\000\000°² 1\000\000\000\000\005\000\000\000\000\000\000\000P\001\217 \000\000\000\000P\022\000\000\000\000\000\000\177\000\000\000\000\000\000\000\000M\004\061\000\000\000\000äùÿÿ\000\000\000\000\000´ 1\000\000\000\000\005\000\000\000\000\000\000\000\022\000\000\000\000\000\000\000\060\006\004\062ø\177\000\000\000\000\217 \000\000\000\000\002\000\004\006\000\000\000\000\000M\004\061\000\000\000\000\000\000ä0\000\000\000\000\060æþ\002\000\000\000\000J\037\026\fø\177\000\000\n\000\000\000\000\000\000\000ïn\023\fø\177\000\000\n\000\000\000\000\000\000\000\004\003\217 \000\000\000\000à�\"6\000\000\000\000\000\000\217 \000\000\000\000\000�\"6", '\000' <repeats 12 times>, "\003\004\004\005\000\000\000\000@\000\000\000\000\000\000\000@æþ\002\000\000\000\000\060\000\000\000\000\000\000\000\023\000\000\001\000\000\000\000\003\002\004\005\000\000\000\000`\000\000\000\000\000\000\000\f\000\000\000ø\177\000\000\060æþ\002\000\000\000\000À\002\217 \000\000\000\000c\001\000P\000\000\000\000¸\000\000\000\000\000\000\000àÎÿ\002\000\000\000\000\060æþ\002\000\000\000\000\200µ 1\000\000\000\000\000\000\000\000\177\000\000\000\f\000\000\000\000\000\000\000\v\000\000\000\000\000\000\000pµ 1\000\000\000\000\003\002\004\005\000\000\000\000\177\000\000\000\000\000\000\000\033\000\004\037\000\000\000\000\000\001", '\000' <repeats 14 times>, "=\004\000P", '\000' <repeats 12 times>, "P´ 1\000\000\000\000 \000\000\000\000\000\000\000P´ \001\000\000\000\000i�\004ÿø\177\000\000ø\003\000\000\000\000\000\000\177\000\000\000\000\000\000\000@´ 1\000\000\000\000�½!\f\000\000\000\000\177\000\000\000\001\000\000\000\060\001\000\000\000\000\000\000ú\000\000\000\000\000\000\000\002\000\004\006\000\000\000\000=\004\"6\000\000\000\000\001\000\000\000\177\000\000\000\r\001\000\000\000\000\000\000àæþ\002\000\000\000\000\021\000\000\001\000\000\000\000@æþ\002\000\000\000\000ø\003\000\000\000\000\000\000P\001ð\002\000\000\000\000 \000\000\000\000\000\000\000\f\000\000\000\000\000\000\000à\003\000\000\000\000\000\000¢mÿÿ\000\000\000\000\r\001\000\000\000\000\000\000@\000\000\000ñÿÿÿ\t\000\000\000\000\000\000\000\060\006\004\062\177\000\000\000\023\001\000\000\000\000\000\000\006", '\000' <repeats 15 times>, "'\001\004\"\000\000\000\000\060\000\000\000\000\000\000\000ïn\023\fø\177\000\000\b\000\000\000\000\000\000\000\002\000\004\006\000\000\000\000,\004\000\000\000\000\000\000ø\002ð\002\000\000\000\000`\000\000\000\000\000\000\000`µ 1\000\000\000\000°\231\"6\000\000\000\000P´ 1\000\000\000\000\000\000\217 \000\000\000\000P\001\217 \000\000\000\000°\020\000\000\000\000\000\000\177\000\000\000\000\000\000\000\060\000\000\000\000\000\000\000\062\að\002\000\000\000\000\001\000\000\000\000\000\000\000\002\000\004\006\000\000\000\000@æþ\002\000\000\000\000P�\"6", '\000' <repeats 12 times>, "\220\000\000\000\000\000\000\000\001", '\000' <repeats 15 times>, "\t\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000ð\002\000\000\000\000Òî\025\fø\177\000\000\000\000ð\002\000\000\000\000c\001\000P\000\000\000\000\200\000\000\000\000\000\000\000°", '\000' <repeats 15 times>, "\060\006\004\062\000\000\000\000\000\000ð\002\000\000\000\000\002\000\004\006\000\000\000\000\200\000\000\000\000\000\000\000\003\002\004\005\000\000\000\000îþîþîþîþ �\"6\000\000\000\000À\002\217 \000\000\000\000�\231\025\fø\177\000\000P\001\217 \000\000\000\000 ² 1\000\000\000\000\000\000ä0\000\000\000\000\000\000\217 \000\000\000\000'\001\000\000\000\000\000\000\004\000\000\000\000\000\000\000'\001\000\000\000\000\000\000'\001\000\000\000\000\000\000Àç$\000\000\000\000\000\003\002\004\005\000\000\000\000\220ç$\000\000\000\000\000\003\002\004\005\000\000\000\000\200\017", '\000' <repeats 22 times>, " �\"6\000\000\000\000'\001\000\000\000\000\000\000 ² 1\000\000\000\000\000\000\217 \000\000\000\000æ�\025\fø\177\000\000\071è$\000\000\000\000\000\061¤ \003", '\000' <repeats 13 times>, "¤ \003", '\000' <repeats 13 times>, "½!\fîÿÿÿ¼ç$\000\000\000\000\000ÐMì!\000\000\000\001\021\000\000\000\000\000\000\000Ðè$\000\000\000\000\000pè$\000\000\000\000\000EAm\003\000\000\000\000\003", '\000' <repeats 15 times>, " \000\000\000\000\000\000\000\021\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\063Í\025\fø\177\000\000h´ 1\000\000\000\000\061¤ \003\000\000\000\000h´ 1", '\000' <repeats 12 times>, "h´ 1\000\000\000\000\061¤ \003\000\000\000\000h´ 1\000\000\000\000\061¤ \003\000\000\000\000\f\000\000\000\000\000\000\000ïn\023\fø\177\000\000\f\000\000\000\000\000\000\000À\002ð\002\000\000\000\000pµ 1\000\000\000\000 ² 1\000\000\000\000@´ 1\000\000\000\000gÆ\025\fø\177", '\000' <repeats 12 times>, "\217 \000\000\000\000`4\030$\000\000\000\000J\037\026\fø\177\000\000\003", '\000' <repeats 15 times>, "h´ 1\000\000\000\000\061¤ \003\000\000\000\000\000´ 1\000\000\000\000\000¤ \003\000\000\000\000\000´ 1", '\000' <repeats 12 times>, "Ð\004", '\000' <repeats 14 times>, "p4\030$\000\000\000\000\060\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\001\000\000\000\000\000\000\000X\000\000\000\000\000\000\000\v\000\000\000\000\000\000\000`4\030$", '\000' <repeats 12 times>, "\005\000\000\000\000\000\000\000°\000\000\000\000\000\000\000\200\230\"6\000\000\000\000`4\030$\000\000\000\000\002", '\000' <repeats 11 times>, "\177\000\000\000\v\000\000\000\000\000\000\000\v\000\000\000\000\000\000\000ú\000\004þ\000\000\000\000\061¤ \003\000\000\000\000h´ 1\000\000\000\000C\000\004G\000\000\000\000h´ 1\000\000\000\000\061¤ \003\000\000\000\000\000\000\217 ", '\000' <repeats 12 times>, "°² 1\000\000\000\000\060\006\004\062", '\000' <repeats 12 times>, "\002\000\004\006\000\000\000\000\200\001\000\000\000\000\000\000\262\025m\003\000\000\000\000PUì!\000\000\000\000\200\000\000\000\000\000\000\000\a\000\000\000\000\000\000\000ïn\023\fø\177\000\000\a\000\000\000\000\000\000\000À\002\217 \000\000\000\000@Uì!\000\000\000\000\000\000\217 \000\000\000\000PUì!\000\000\000\000\a\000\000\000\000\000\000\000PUì!\000\000\000\000\063Í\025\fø\177\000\000\000\000\217 \000\000\000\000@Uì!\000\000\000\000@Uì!\000\000\000\000\v\000\000\000\000\000\000\000\a\000\000\000\000\000\000\000\a", '\000' <repeats 15 times>, " î$\000Èÿÿÿ\000\000\000\000\000\000\000\000\000Ö!\fø\177\000\000\000\000\217 \000\000\000\000\a", '\000' <repeats 15 times>, "C\000\000\000\000\000\000\000P´ 1\000\000\000\000�©\025\fø\177\000\000\000\000\217 \000\000\000\000\001\000\000\000\000\000\000\000\000\000\217 \000\000\000\000ø\002\217 \000\000\000\000P´ 1", '\000' <repeats 20 times>, "\024\000\000\000\000\000\000\000\000\000\217 \000\000\000\000c\000\000P", '\000' <repeats 12 times>, "þÆ!\fø\177\000\000\000\000\217 \000\000\000\000\062\a\217 \000\000\000\000\b\000\a\017", '\000' <repeats 12 times>, "p4\030$\000\000\000\000@´ 1", '\000' <repeats 12 times>, "\220\000\000\000\000\000\000\000\001", '\000' <repeats 15 times>, "\t\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000`Uì!\000\000\000\000\a\000\000\000\000\000\000\000\000\000\217 \000\000\000\000c\001\000P\000\000\000\000\200\000\000\000\000\000\000\000°", '\000' <repeats 15 times>, "Hì$\000p\000\000\000\000\000\217 ", '\000' <repeats 12 times>, "@Uì!\000\000\000\000c\001\000P\000\000\000\000c\001\000@", '\000' <repeats 14 times>, "\217 ", '\000' <repeats 14 times>, "\217 \000\000\000\000�»!\fø\177\000\000C\000\004G", '\000' <repeats 20 times>, "\004\000\000\000ø\177\000\000\000\000\000\000\000\000\000\000p4\030$\000\000\000\000\000\000\217 \000\000\000\000ÖÖ!\fø\177\000\000\000\000\217 \000\000\000\000c\001\000P", '\000' <repeats 12 times>, "\200\000\000\000\000\000\000\000PUì!\000\000\000\000�©\025\fø\177\000\000\000\000\217 \000\000\000\000\000\000\217 \000\000\000\000\000\000\217 ", '\000' <repeats 12 times>, "PUì!\000\000\000\000\001", '\000' <repeats 15 times>, "\200\000\000\000\000\000\000\000\000\000\217 \000\000\000\000c\001\000P\000\000\000\000@Uì!\000\000\000\000\271Æ!\fø\177", '\000' <repeats 26 times>, "\063Í\025\f\000\000\000\000\000\000\217 \001\000\000\000@Uì!\000\000\000\000`4\030$\000\000\000\000\000\001\000@\000\000\000\000c\001\000@\000\000\000\000@Uì!\000\000\000\000\000\000\217 \000\000\000\000éP\035\fø\177\000\000\000\000\217 \000\000\000\000c\001\000P\000\000\000\000\000�\"6\000\000\000\000\002\000\004\006\000\000\000\000(\000\000\000\000\000\000\000\060\006\004\062\000\000\000\000à\002\000\000\000\000\000\000p4\030$", '\000' <repeats 12 times>, "ïn\023\fø\177\000\000\000\000\000\000\000\000\000\000À\002\217 \000\000\000\000p\230\"6\000\000\000\000\000\000\217 \000\000\000\000à\002\000\000\000\000\000\000C\000\000\000\000\000\000\000\200\230\"6\000\000\000\000\001\000\000\000ø\177\000\000\000\000\217 \000\000\000\000p\230\"6\000\000\000\000p\230\"6", '\000' <repeats 12 times>, "C\000\000\000\000\000\000\000C\000\000\000\000\000\000\000 \231\"6", '\000' <repeats 29 times>, "î$\000\000\000\000\000C\000\000\000\000\000\000\000°² 1\000\000\000\000'\001\210\003\000\000\000\000\060\000\000\000\000\000\000\000\200\001\000\000\000\000\000\000°² 1\000\000\000\000\001\000\000\000\000\000\000\000$\000\000\000\000\000\000\000 \001\000\000\000\000\000\000\177", '\000' <repeats 17 times>, "\217 \000\000\000\000\004\001\000\000\000\000\000\000\177", '\000' <repeats 15 times>, "p4\030$\000\000\000\000¸\000\000\000\000\000\000\000\000\000"..., q_for_alignment_1 = 1574658, q_for_alignment_2 = 7.779844217490856e-318}}
        d = 0x21ec50d0
        canWait = false
        retVal = false
        seenWM_QT_SENDPOSTEDEVENTS = true
        needWM_QT_SENDPOSTEDEVENTS = false
#71 0x00000000222f15fc in QWindowsGuiEventDispatcher::processEvents (this=0x208fb530, flags=...) at qwindowsguieventdispatcher.cpp:74
        oldFlags = {i = 0}
        __PRETTY_FUNCTION__ = "virtual bool QWindowsGuiEventDispatcher::processEvents(QEventLoop::ProcessEventsFlags)"
        __FUNCTION__ = "processEvents"
        rc = true
#72 0x00000000037b122e in QEventLoop::processEvents (this=0x24fac0, flags=...) at kernel/qeventloop.cpp:128
        d = 0x36229880
#73 0x00000000037b1507 in QEventLoop::exec (this=0x24fac0, flags=...) at kernel/qeventloop.cpp:204
        d = 0x36229880
        locker = {val = 546288048}
        __PRETTY_FUNCTION__ = "int QEventLoop::exec(QEventLoop::ProcessEventsFlags)"
        ref = {d = 0x36229880, locker = @0x24fa30, exceptionCaught = true}
        app = 0x24fc30
#74 0x00000000037b3eef in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1229
        threadData = 0x208fb0a0
        __PRETTY_FUNCTION__ = "static int QCoreApplication::exec()"
        eventLoop = {<QObject> = {_vptr.QObject = 0x3a97e50 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x3a1dcc0 <qt_meta_stringdata_QObject>, data = 0x3a1dde0 <qt_meta_data_QObject>, static_metacall = 0x37e4d4c <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x36229880}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x3a700e0 <qt_meta_stringdata_Qt>, data = 0x3a7ab60 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x3a1df20 <QObject::staticMetaObject>, stringdata = 0x3a88e60 <qt_meta_stringdata_QEventLoop>, data = 0x3a88ec0 <qt_meta_data_QEventLoop>, static_metacall = 0x3848600 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        returnCode = 0
#75 0x000000006dd1a020 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1527
No locals.
#76 0x00000000004024be in SDL_main (argc=1, argv=0x208fae10) at ../../Phoenix/frontend/cpp/main.cpp:235
        app = {<QCoreApplication> = {<QObject> = {_vptr.QObject = 0x6e1be640 <vtable for QGuiApplication+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x3a1dcc0 <qt_meta_stringdata_QObject>, data = 0x3a1dde0 <qt_meta_data_QObject>, static_metacall = 0x37e4d4c <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x208fb280}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x3a700e0 <qt_meta_stringdata_Qt>, data = 0x3a7ab60 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x3a1df20 <QObject::staticMetaObject>, stringdata = 0x3a88fc0 <qt_meta_stringdata_QCoreApplication>, data = 0x3a891e0 <qt_meta_data_QCoreApplication>, static_metacall = 0x3848780 <QCoreApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, static self = 0x24fc30}, static staticMetaObject = {d = {superdata = 0x3a89340 <QCoreApplication::staticMetaObject>, stringdata = 0x6e146fa0 <qt_meta_stringdata_QGuiApplication>, data = 0x6e147480 <qt_meta_data_QGuiApplication>, static_metacall = 0x6dd2065a <QGuiApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        engine = {<QQmlEngine> = {<QJSEngine> = {<QObject> = {_vptr.QObject = 0x13568900 <vtable for QQmlApplicationEngine+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x3a1dcc0 <qt_meta_stringdata_QObject>, data = 0x3a1dde0 <qt_meta_data_QObject>, static_metacall = 0x37e4d4c <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x21ec64f0}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x3a700e0 <qt_meta_stringdata_Qt>, data = 0x3a7ab60 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x3a1df20 <QObject::staticMetaObject>, stringdata = 0x1349f4a0 <qt_meta_stringdata_QJSEngine>, data = 0x1349f4e0 <qt_meta_data_QJSEngine>, static_metacall = 0x1313b4a0 <QJSEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d = 0x21ec73e0}, static staticMetaObject = {d = {superdata = 0x13486160 <QJSEngine::staticMetaObject>, stringdata = 0x135540e0 <qt_meta_stringdata_QQmlEngine>, data = 0x135541c0 <qt_meta_data_QQmlEngine>, static_metacall = 0x132956e0 <QQmlEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x13554240 <QQmlEngine::staticMetaObject>, stringdata = 0x1353f5a0 <qt_meta_stringdata_QQmlApplicationEngine>, data = 0x1353f700 <qt_meta_data_QQmlApplicationEngine>, static_metacall = 0x1323aaca <QQmlApplicationEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        gameControllerDBFile = {<QFileDevice> = {<QIODevice> = {<QObject> = {_vptr.QObject = 0x3a9c880 <vtable for QFile+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x3a1dcc0 <qt_meta_stringdata_QObject>, data = 0x3a1dde0 <qt_meta_data_QObject>, static_metacall = 0x37e4d4c <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x36228a10}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x3a700e0 <qt_meta_stringdata_Qt>, data = 0x3a7ab60 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x3a1df20 <QObject::staticMetaObject>, stringdata = 0x3a857e0 <qt_meta_stringdata_QIODevice>, data = 0x3a858e0 <qt_meta_data_QIODevice>, static_metacall = 0x38439f0 <QIODevice::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x3a859a0 <QIODevice::staticMetaObject>, stringdata = 0x3a856c0 <qt_meta_stringdata_QFileDevice>, data = 0x3a85700 <qt_meta_data_QFileDevice>, static_metacall = 0x38438f0 <QFileDevice::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x3a85740 <QFileDevice::staticMetaObject>, stringdata = 0x3a855c0 <qt_meta_stringdata_QFile>, data = 0x3a855e0 <qt_meta_data_QFile>, static_metacall = 0x38437f0 <QFile::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        prop = {d = 0x36228d90}
        path = {static null = {<No data fields>}, d = 0x36228f70}
        pathVar = {d = {data = {c = 112 'p', uc = 112 'p', s = -28816, sc = 112 'p', us = 36720, i = 908234608, u = 908234608, l = 908234608, ul = 908234608, b = 112, d = 4.4872751817689139e-315, f = 2.42233727e-006, real = 4.4872751817689139e-315, ll = 908234608, ull = 908234608, o = 0x36228f70, ptr = 0x36228f70, shared = 0x36228f70}, type = 10, is_shared = 0, is_null = 0}}
#77 0x000000000045803a in console_main ()
No symbol table info available.
#78 0x00000000004580f1 in WinMain ()
No symbol table info available.
#79 0x00000000004013ed in __tmainCRTStartup () at C:/repo/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/crtexe.c:332
        lock_free = <optimized out>
        fiberid = <optimized out>
        nested = <optimized out>
        lpszCommandLine = <optimized out>
        StartupInfo = {cb = 104, lpReserved = 0x2f0a070 "", lpDesktop = 0x2f17530 "Winsta0\\Default", lpTitle = 0x2f15a40 "C:\\msys64\\home\\athairus\\phx-build\\frontend\\Phoenix.exe", dwX = 0, dwY = 0, dwXSize = 0, dwYSize = 0, dwXCountChars = 0, dwYCountChars = 0, dwFillAttribute = 0, dwFlags = 256, wShowWindow = 0, cbReserved2 = 0, lpReserved2 = 0x0, hStdInput = 0x1b8, hStdOutput = 0x1b8, hStdError = 0x1b8}
        inDoubleQuote = <optimized out>
#80 0x00000000004014fb in WinMainCRTStartup () at C:/repo/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/crtexe.c:184
        ret = 255
warning: can't find linker symbol for virtual table for `QEventLoop' value
warning:   found `QThreadPrivate::createEventDispatcher(QThreadData*)' instead

Rotating screen to "Book mode"

I haven't seen the Desmume rotation option in core options. Some games need it to play in 'book mode', like Hotel Dusk.

Retroarch rotation doesn't do the same thing, I tried and it squishes the picture.

Isn't it implemented or am I missing something?

Thank you.

Screen Separation feature

Any chance of getting the screen separation features from the emu. Details from their documentation:

View | Screen Separation

This option controls how far the two windows should be apart of each other, in other words: how big the border between them should be. Valid choices are: None (which is the default), narrow border (which is slightly larger), DS (which is about the same amount of room there is on a real Nintendo DS).

View | Screen Separation | White,Gray,Black

Changes the colour of the gap. Savvy users may discover that they can edit this in the ini file to be any color they want.

View | Screen Separation | Editable via border dragging

When enabled, you can pick any gap size you want by dragging the bottom edge (not a corner) of the main window.

This would be great for crafting an overlay to look like the real thing!

validToProcessInput assertion failure crash

I just built the Desmume core on Linux. When I launch a ROM, RetroArch crashes after half a second with the following in the terminal:

Microphone successfully inited.
DeSmuME 0.9.11 svn0 x64-JIT
Attempting change to 3d core to: SoftRasterizer
SoftRast Initialized with cores=1
RetroArch [WARN] :: rarch_log_libretro :: [libretro WARN] :: Save directory is not defined. Fallback on  using SYSTEM directory ...

ROM game code: YKWE
ROM serial: NTR-YKWE-USA
ROM chipID: 00007FC2
ROM internal name: KIRBY USDX E
ROM developer: Nintendo

Slot1 auto-selected device type: Retail MC+ROM
Slot2 auto-selected device type: None (0xFF)
DeSmuME .dsv save file not found. Trying to load an old raw .sav file.
CPU mode: JIT
JIT: max block size 100 instruction(s)
Already decrypted.
Autodetecting with autodetect_size=3
fish: Job 1, “retroarch” terminated by signal SIGSEGV (Address boundary error)

Tried two different ROMs, got the Address Boundary Error each time.

Core crash

Hello I got a problem with desmume core it crash immediately when i launch it. Here some gdb output :

(gdb) start
Temporary breakpoint 1 at 0x4141a0: file frontend/frontend.c, line 138.
Starting program: /usr/bin/retroarch -L 
/usr/lib/libretro/desmume_libretro.so New\ Super\ Mario\ Bros.\ 
\(E\).nds
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".

Temporary breakpoint 1, main (argc=4, argv=0x7fffffffe0d8)
    at frontend/frontend.c:138
138 frontend/frontend.c: Aucun fichier ou dossier de ce type.
(gdb) continue
Continuing.
[New Thread 0x7ffff6651700 (LWP 1132)]
DeSmuME 0.9.11 svn0 x64 NOSSE
Attempting change to 3d core to: SoftRasterizer
[New Thread 0x7fffc9110700 (LWP 1133)]
[New Thread 0x7fffc890f700 (LWP 1134)]
[New Thread 0x7fffc810e700 (LWP 1135)]
[New Thread 0x7fffc790d700 (LWP 1136)]
SoftRast Initialized with cores=4
[New Thread 0x7fffb957e700 (LWP 1176)]

Thread 1 "retroarch" received signal SIGSEGV, Segmentation fault.
0x00007fffd10564f3 in TSequenceItem_DMA<0, 0>::isTriggered (
    this=0x7fffd38d4780 <sequencer+128>) at src/NDSSystem.cpp:970
970 src/NDSSystem.cpp: Aucun fichier ou dossier de ce type.
(gdb) continue
Continuing.
Couldn't get registers: Aucun processus de ce type.
Couldn't get registers: Aucun processus de ce type.
Couldn't get registers: Aucun processus de ce type.
(gdb) continue
Continuing.
Couldn't get registers: Aucun processus de ce type.
(gdb) [Thread 0x7fffb957e700 (LWP 1176) exited]
[Thread 0x7fffc790d700 (LWP 1136) exited]
[Thread 0x7fffc810e700 (LWP 1135) exited]
[Thread 0x7fffc890f700 (LWP 1134) exited]
[Thread 0x7fffc9110700 (LWP 1133) exited]
[Thread 0x7ffff6651700 (LWP 1132) exited]

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.
quit

Missing background

Unsure if this issue is in any other games but Dragonball Ultimate Butouden seems to be missing backgrounds during gameplay. I tried it on the standalone version and it worked fine (tested on 0.9.11 and 0.9.6).

Here is an example. standalone on the left, latest core build on the right.

image

undefined references when compile with DEBUG=1

g++ -Wl,-Bsymbolic-functions -Wl,-z,relro -fPIC -shared -Wl,--no-undefined -Wl,--version-script=src/libretro/link.T -o desmume_libretro.so src/armcpu.o src/arm_instructions.o src/bios.o src/cp15.o src/common.o src/emufile.o src/encrypt.o src/FIFO.o src/firmware.o src/GPU.o src/mc.o src/path.o src/readwrite.o src/wifi.o src/MMU.o src/NDSSystem.o src/render3D.o src/rtc.o src/saves.o src/slot1.o src/slot2.o src/SPU.o src/matrix.o src/gfx3d.o src/thumb_instructions.o src/utils/advanscene.o src/utils/datetime.o src/utils/emufat.o src/utils/fsnitro.o src/utils/xstring.o src/utils/decrypt/crc.o src/utils/decrypt/decrypt.o src/utils/decrypt/header.o src/utils/task.o src/utils/vfat.o src/utils/libfat/cache.o src/utils/libfat/directory.o src/utils/libfat/disc.o src/utils/libfat/fatdir.o src/utils/libfat/fatfile.o src/utils/libfat/filetime.o src/utils/libfat/file_allocation_table.o src/utils/libfat/libfat.o src/utils/libfat/libfat_public_api.o src/utils/libfat/lock.o src/utils/libfat/partition.o src/utils/tinyxml/tinystr.o src/utils/tinyxml/tinyxml.o src/utils/tinyxml/tinyxmlerror.o src/utils/tinyxml/tinyxmlparser.o src/addons/slot2_auto.o src/addons/slot2_mpcf.o src/addons/slot2_paddle.o src/addons/slot2_gbagame.o src/addons/slot2_none.o src/addons/slot2_rumblepak.o src/addons/slot2_guitarGrip.o src/addons/slot2_expMemory.o src/addons/slot2_piano.o src/addons/slot2_passme.o src/addons/slot1_none.o src/addons/slot1_r4.o src/addons/slot1comp_mc.o src/addons/slot1comp_rom.o src/addons/slot1comp_protocol.o src/addons/slot1_retail_mcrom.o src/addons/slot1_retail_mcrom_debug.o src/addons/slot1_retail_nand.o src/addons/slot1_retail_auto.o src/cheatSystem.o src/texcache.o src/rasterize.o src/mic.o src/driver.o src/libretro/libretro.o src/libretro/scrc32.o src/arm_jit.o src/utils/AsmJit/core/assembler.o src/utils/AsmJit/core/assert.o src/utils/AsmJit/core/buffer.o src/utils/AsmJit/core/compiler.o src/utils/AsmJit/core/compilercontext.o src/utils/AsmJit/core/compilerfunc.o src/utils/AsmJit/core/compileritem.o src/utils/AsmJit/core/context.o src/utils/AsmJit/core/cpuinfo.o src/utils/AsmJit/core/defs.o src/utils/AsmJit/core/func.o src/utils/AsmJit/core/logger.o src/utils/AsmJit/core/memorymanager.o src/utils/AsmJit/core/memorymarker.o src/utils/AsmJit/core/operand.o src/utils/AsmJit/core/stringbuilder.o src/utils/AsmJit/core/stringutil.o src/utils/AsmJit/core/virtualmemory.o src/utils/AsmJit/core/zonememory.o src/utils/AsmJit/x86/x86assembler.o src/utils/AsmJit/x86/x86compiler.o src/utils/AsmJit/x86/x86compilercontext.o src/utils/AsmJit/x86/x86compilerfunc.o src/utils/AsmJit/x86/x86compileritem.o src/utils/AsmJit/x86/x86cpuinfo.o src/utils/AsmJit/x86/x86defs.o src/utils/AsmJit/x86/x86func.o src/utils/AsmJit/x86/x86operand.o src/utils/AsmJit/x86/x86util.o src/utils/ConvertUTF.o src/fs-linux.o src/ROMReader.o src/utils/dlditool.o src/version.o -lpthread
src/armcpu.o: In function `_MMU_accesstime<0, (MMU_ACCESS_TYPE)0u, 32, (MMU_ACCESS_DIRECTION)0u, true>':
/home/sergio/Projects/libretro/desmume/desmume/desmume/src/MMU_timing.h:322: undefined reference to `DebugEventData'
/home/sergio/Projects/libretro/desmume/desmume/desmume/src/MMU_timing.h:323: undefined reference to `DebugEventData'
/home/sergio/Projects/libretro/desmume/desmume/desmume/src/MMU_timing.h:322: undefined reference to `DebugEventData'
/home/sergio/Projects/libretro/desmume/desmume/desmume/src/MMU_timing.h:323: undefined reference to `DebugEventData'
src/armcpu.o: In function `HandleDebugEvent(EDEBUG_EVENT)':
/home/sergio/Projects/libretro/desmume/desmume/desmume/src/debug.h:210: undefined reference to `HandleDebugEvent_Read()'
/home/sergio/Projects/libretro/desmume/desmume/desmume/src/debug.h:211: undefined reference to `HandleDebugEvent_Write()'
/home/sergio/Projects/libretro/desmume/desmume/desmume/src/debug.h:212: undefined reference to `HandleDebugEvent_Execute()'
/home/sergio/Projects/libretro/desmume/desmume/desmume/src/debug.h:213: undefined reference to `HandleDebugEvent_ACL_Exception()'
/home/sergio/Projects/libretro/desmume/desmume/desmume/src/debug.h:214: undefined reference to `HandleDebugEvent_CacheMiss()'
src/arm_instructions.o: In function `_MMU_accesstime<0, (MMU_ACCESS_TYPE)1u, 16, (MMU_ACCESS_DIRECTION)1u, true>':
/home/sergio/Projects/libretro/desmume/desmume/desmume/src/MMU_timing.h:322: undefined reference to `DebugEventData'
/home/sergio/Projects/libretro/desmume/desmume/desmume/src/MMU_timing.h:323: undefined reference to `DebugEventData'
src/arm_instructions.o: In function `_MMU_accesstime<0, (MMU_ACCESS_TYPE)1u, 32, (MMU_ACCESS_DIRECTION)1u, true>':
/home/sergio/Projects/libretro/desmume/desmume/desmume/src/MMU_timing.h:322: undefined reference to `DebugEventData'
/home/sergio/Projects/libretro/desmume/desmume/desmume/src/MMU_timing.h:323: undefined reference to `DebugEventData'
/home/sergio/Projects/libretro/desmume/desmume/desmume/src/MMU_timing.h:322: undefined reference to `DebugEventData'
src/arm_instructions.o:/home/sergio/Projects/libretro/desmume/desmume/desmume/src/MMU_timing.h:323: more undefined references to `DebugEventData' follow
src/NDSSystem.o: In function `NDS_exec(int)':
/home/sergio/Projects/libretro/desmume/desmume/desmume/src/NDSSystem.cpp:1935: undefined reference to `DEBUG_Notify'
/home/sergio/Projects/libretro/desmume/desmume/desmume/src/NDSSystem.cpp:1935: undefined reference to `DebugNotify::NextFrame()'
src/NDSSystem.o: In function `NDS_FakeBoot()':
/home/sergio/Projects/libretro/desmume/desmume/desmume/src/NDSSystem.cpp:2219: undefined reference to `DEBUG_reset()'
src/thumb_instructions.o: In function `_MMU_accesstime<0, (MMU_ACCESS_TYPE)1u, 32, (MMU_ACCESS_DIRECTION)0u, true>':
/home/sergio/Projects/libretro/desmume/desmume/desmume/src/MMU_timing.h:322: undefined reference to `DebugEventData'
/home/sergio/Projects/libretro/desmume/desmume/desmume/src/MMU_timing.h:323: undefined reference to `DebugEventData'
src/thumb_instructions.o: In function `_MMU_accesstime<0, (MMU_ACCESS_TYPE)1u, 32, (MMU_ACCESS_DIRECTION)1u, true>':
/home/sergio/Projects/libretro/desmume/desmume/desmume/src/MMU_timing.h:322: undefined reference to `DebugEventData'
/home/sergio/Projects/libretro/desmume/desmume/desmume/src/MMU_timing.h:323: undefined reference to `DebugEventData'
src/thumb_instructions.o: In function `_MMU_accesstime<0, (MMU_ACCESS_TYPE)1u, 16, (MMU_ACCESS_DIRECTION)1u, true>':
/home/sergio/Projects/libretro/desmume/desmume/desmume/src/MMU_timing.h:322: undefined reference to `DebugEventData'
src/thumb_instructions.o:/home/sergio/Projects/libretro/desmume/desmume/desmume/src/MMU_timing.h:323: more undefined references to `DebugEventData' follow
collect2: error: ld returned 1 exit status

desmume crashing after I load a 7z rom, I need these debug symbols to do a proper back trace.

X432R as a new core/branch?

The addition of X432R made the current code messy.
Also, would be easier to work on it without worrying of breaking the emulator.

Black pixels pop up

Black pixels pop up in the main window, everytime you walk, there are 3 in the left side of totodile, 1 in the right side of the girl. It started with commit eb1313e.

retroarch-0302-194628

Build fail on i386 and ARM

It seems commit 168aa38 broke it.

src/GPU.cpp: In member function 'void GPUEngineA::_RenderLine_DispCapture_Blend(const u16*, const u16*, u16*, size_t, size_t)':
src/GPU.cpp:3761:84: error: there are no arguments to 'GPU_RenderLine_DispCapture_BlendFunc' that depend on a template parameter, so a declaration of 'GPU_RenderLine_DispCapture_BlendFunc' must be available [-fpermissive]
    dst[i] = GPU_RenderLine_DispCapture_BlendFunc(colorA, colorB, blendEVA, blendEVB);
                                                                                    ^

i386:
https://launchpadlibrarian.net/216635259/buildlog_ubuntu-trusty-i386.libretro-desmume_0.9.11%2Br5064~15~ubuntu14.04.1_BUILDING.txt.gz

ARM:
https://launchpadlibrarian.net/216635703/buildlog_ubuntu-trusty-armhf.libretro-desmume_0.9.11%2Br5064~15~ubuntu14.04.1_BUILDING.txt.gz

bug: no microphone

Hello,

in Desmume, you can use your microphone on windows and linux (if you compile with openhal library).
Could you add this functionality in the libretro desmume core?

Thank you for your help.

LGDN.

No support for auto-patching ?

I tried using autopatch feature from retroarch, but it doesn't seem to work. If this is not a bug, is there any plan to add support for this feature in the future ?

Segfault in x86, using clang

The core run some time with the content, but it gets a segfault. If you build with debug=1, core works! Then I builded with debug=1 and OPTIMIZE = -O3, to get the segfault (are there any better way to do this?):

Starting program: /usr/bin/retroarch 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[New Thread 0xb0560b40 (LWP 20972)]
[Thread 0xb0560b40 (LWP 20972) exited]
Microphone successfully inited.
DeSmuME 0.9.11 svn0 x86-JIT
Attempting change to 3d core to: SoftRasterizer
SoftRast Initialized with cores=1
read_7zip_file: Openend archive /home/xubuntu/Downloads/0434 - New Super Mario Bros. (U)(Psyfer).7z. Now trying to extract 0434 - New Super Mario Bros. (U)(Psyfer).nds
RetroArch [WARN] :: rarch_log_libretro :: [libretro WARN] :: Save directory is not defined. Fallback on using SYSTEM directory ...

ROM game code: A2DE
ROM serial: NTR-A2DE-USA
ROM chipID: 00001FC2
ROM internal name: NEW MARIO
ROM developer: Nintendo

Slot1 auto-selected device type: Retail MC+ROM
Slot2 auto-selected device type: None (0xFF)
Backup size: 64 Kbit
CPU mode: JIT
JIT: max block size 100 instruction(s)
Already decrypted.
[New Thread 0xb0560b40 (LWP 21006)]

Program received signal SIGSEGV, Segmentation fault.
0x9ae548ef in ?? () from /usr/lib/libretro/desmume_libretro.so

(gdb) bt full
#0  0x9ae548ef in ?? () from /usr/lib/libretro/desmume_libretro.so
No symbol table info available.
#1  0x9ae541cb in ?? () from /usr/lib/libretro/desmume_libretro.so
No symbol table info available.
#2  0x9ae53a9d in ?? () from /usr/lib/libretro/desmume_libretro.so
No symbol table info available.
#3  0x9ae5335b in ?? () from /usr/lib/libretro/desmume_libretro.so
No symbol table info available.
#4  0x9ae521a9 in ?? () from /usr/lib/libretro/desmume_libretro.so
No symbol table info available.
#5  0x9ae93dcd in ?? () from /usr/lib/libretro/desmume_libretro.so
No symbol table info available.
#6  0x9ae94a32 in ?? () from /usr/lib/libretro/desmume_libretro.so
No symbol table info available.
#7  0x9ae3724a in ?? () from /usr/lib/libretro/desmume_libretro.so
No symbol table info available.
#8  0x9ae3bf57 in ?? () from /usr/lib/libretro/desmume_libretro.so
No symbol table info available.
#9  0x9aea7dd0 in retro_run () from /usr/lib/libretro/desmume_libretro.so
No symbol table info available.
#10 0x0805e3b1 in ?? ()
No symbol table info available.
#11 0x0805286d in ?? ()
No symbol table info available.
#12 0xb6828a83 in __libc_start_main (main=0x80527d0, argc=1, argv=0xbffff244, init=0x80f3bd0, fini=0x80f3c40, rtld_fini=0xb7fed180 <_dl_fini>, stack_end=0xbffff23c) at libc-start.c:287
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1231314944, 0, 0, 0, -1815781075, 1764918591}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x1, 0x8052920}, data = {prev = 0x0, 
              cleanup = 0x0, canceltype = 1}}}
        not_first_call = <optimized out>
#13 0x08052941 in ?? ()
No symbol table info available.

Core freeze randomly

Hello With lot of game i tried the core freeze randomly, I never in the moment in the game. I had to killall -9 retroarch to quit. And there is no error message in the terminal. I am the only one to experience this ?

Option to change color/size of 'mouse' pointer

Playing on a large screen the cross shaped pointer used to show the current 'mouse' location is very hard to see or invisible on lighter backgrounds since it is by default set to white. Can an option be added to toggle it a few other colors like black, red, green, yellow and an option to increase the thickness of the cross itself?

Edit: I was able to accomplish this by manually changing the color value in DrawPointerLine in libretro.cpp and the length of the crosshairs in DrawPointer. I'll see if I can understand enough to create more options and interface with the main menu to toggle settings.

Block Size core option

Desmume allows you to set the block size when using dynamic recompilation, preventing some games from glitching when it's active.

[Help] Crashing with Desmume

So first things first I am on an Iphone 5s and Jailbroken (so I am always using the most up to date version of retroarch) IOS 9. The problem I'm dealing with is whenever I download and try to load either a zip or a 7z the app just crashes or long freezes. The only clue I've seen to fix this issue is to enable interpreter mode, however I don't see any of the options most people mention in the core menu (such as switching to interpreter mode).

Lastly if someone already knows this fact then it would save me many more hours of trying to find a solution. Anybody know if 3D sections (in particular Phoenix Wright: Apollo Justice) work in the RetroArch Desmume? It doesn't work on iNDS or nds4ios, so Im just trying retroarch as a last ditch effort.

SideNote: Thanks fr500 for redirecting me to the desmume side of libretro, I'm new to the github forums let alone libretro.

Edit: Not even .nds files are working, any idea?

Fake mic noise support

Desmume has an option to play a fake microphone noise even when there's no physical mic available.
I think it would be helpful to have it available in the libretro port too since certain games cannot be finished without using a mic.

potential security flaws

A debian dev asked me to report this.

flawfinder 1.27
Number of dangerous functions in C/C++ ruleset: 160

./desmume/src/Disassembler.cpp:86:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:97:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:107:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:118:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:130:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:142:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:155:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:164:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:174:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:186:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:199:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:212:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:225:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:247:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:257:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:261:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1609:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1614:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1619:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1624:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1632:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1637:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1642:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1647:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1654:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1659:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1664:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1669:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1676:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1681:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1688:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1693:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1698:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1703:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1708:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1713:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1718:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1723:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1728:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1733:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1738:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1743:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1750:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1755:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1760:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1765:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1770:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1775:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1780:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1785:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1790:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1795:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1800:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1805:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1812:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1817:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1822:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1827:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1832:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1837:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1842:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1847:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1852:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1857:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1862:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1867:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1874:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1879:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1884:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1889:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1894:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1899:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1904:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1909:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1914:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1919:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1924:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1929:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1936:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1941:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1948:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1953:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1958:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1963:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1970:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1975:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1982:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1984:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1991:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:1993:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2000:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2008:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2013:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2018:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2023:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2030:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2035:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2040:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2045:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2052:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2057:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2062:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2067:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2074:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2079:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2084:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2089:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2096:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2101:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2107:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2112:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2120:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2122:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2128:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2130:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2135:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2180:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2185:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2230:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2235:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2240:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2287:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2292:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2337:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2342:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2387:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2392:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2439:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2444:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2449:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2494:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2499:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2544:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2549:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2596:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2601:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2646:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2651:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2696:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2701:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2749:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2754:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2801:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2806:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2855:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2861:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2867:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2873:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2879:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2885:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2891:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2897:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2903:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2909:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2915:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2921:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2927:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2928:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2934:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2935:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2941:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2942:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2948:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2949:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2957:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2963:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2969:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2975:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2981:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2987:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2993:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:2999:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3005:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3011:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3017:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3023:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3029:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3035:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3041:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3048:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3058:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3061:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3069:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3072:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3080:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3083:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3091:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3094:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3102:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3105:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3113:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3116:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3124:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3127:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3137:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3140:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3148:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3151:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3159:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3162:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3170:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3173:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3181:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3184:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3192:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3195:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3203:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3206:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3224:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3248:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3289:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3292:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3302:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3305:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3313:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3345:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3351:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3357:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3363:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3369:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3375:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3381:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3387:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3393:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3399:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3405:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3411:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3417:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3423:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3429:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3435:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3441:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3447:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3453:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3459:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3465:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3471:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3477:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3483:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3489:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3495:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3501:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3507:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3513:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3519:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3526:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3533:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3540:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3546:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3552:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3558:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3564:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3570:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3576:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3582:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3588:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3594:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3600:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3606:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3612:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3618:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3624:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3630:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3636:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3642:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3648:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3654:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3660:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3666:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3685:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3692:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3699:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3706:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3719:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3726:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/Disassembler.cpp:3732:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/NDSSystem.cpp:141:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/NDSSystem.cpp:321:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination.
  Consider using strncat or strlcat (warning, strncat is easily misused). 
./desmume/src/arm_jit.cpp:66:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be
  exploited. Use a constant for the format specification. 
./desmume/src/arm_jit.cpp:3947:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/arm_jit.cpp:3952:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination.
  Consider using strncat or strlcat (warning, strncat is easily misused). 
./desmume/src/arm_jit.cpp:4353:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/arm_jit.cpp:4375:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/armcpu.cpp:652:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/armcpu.cpp:657:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/cheatSystem.cpp:35:  [4] (buffer) sscanf:
  The scanf() family's %s operation, without a limit specification,
  permits buffer overflows. Specify a limit to %s, or use a different input
  function. 
./desmume/src/cheatSystem.cpp:49:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/cheatSystem.cpp:646:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination.
  Consider using strncat or strlcat (warning, strncat is easily misused). 
./desmume/src/common.cpp:397:  [4] (format) vprintf:
  If format strings can be influenced by an attacker, they can be
  exploited. Use a constant for the format specification. 
./desmume/src/common.h:32:  [4] (buffer) sscanf:
  The scanf() family's %s operation, without a limit specification,
  permits buffer overflows. Specify a limit to %s, or use a different input
  function. 
./desmume/src/common.h:35:  [4] (buffer) sscanf:
  The scanf() family's %s operation, without a limit specification,
  permits buffer overflows. Specify a limit to %s, or use a different input
  function. 
./desmume/src/cp15.cpp:167:  [4] (race) access:
  This usually indicates a security flaw.  If an attacker can change
  anything along the path between the call to access() and the file's actual
  use (e.g., by moving files), the attacker can exploit the race
  condition. Set up the correct permissions (e.g., using setuid()) and try to
  open the file directly. 
./desmume/src/cp15.cpp:172:  [4] (race) access:
  This usually indicates a security flaw.  If an attacker can change
  anything along the path between the call to access() and the file's actual
  use (e.g., by moving files), the attacker can exploit the race
  condition. Set up the correct permissions (e.g., using setuid()) and try to
  open the file directly. 
./desmume/src/cp15.h:124:  [4] (race) access:
  This usually indicates a security flaw.  If an attacker can change
  anything along the path between the call to access() and the file's actual
  use (e.g., by moving files), the attacker can exploit the race
  condition. Set up the correct permissions (e.g., using setuid()) and try to
  open the file directly. 
./desmume/src/debug.cpp:41:  [4] (race) access:
  This usually indicates a security flaw.  If an attacker can change
  anything along the path between the call to access() and the file's actual
  use (e.g., by moving files), the attacker can exploit the race
  condition. Set up the correct permissions (e.g., using setuid()) and try to
  open the file directly. 
./desmume/src/debug.cpp:45:  [4] (race) access:
  This usually indicates a security flaw.  If an attacker can change
  anything along the path between the call to access() and the file's actual
  use (e.g., by moving files), the attacker can exploit the race
  condition. Set up the correct permissions (e.g., using setuid()) and try to
  open the file directly. 
./desmume/src/debug.cpp:47:  [4] (race) access:
  This usually indicates a security flaw.  If an attacker can change
  anything along the path between the call to access() and the file's actual
  use (e.g., by moving files), the attacker can exploit the race
  condition. Set up the correct permissions (e.g., using setuid()) and try to
  open the file directly. 
./desmume/src/debug.cpp:262:  [4] (format) vprintf:
  If format strings can be influenced by an attacker, they can be
  exploited. Use a constant for the format specification. 
./desmume/src/debug.cpp:266:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/debug.cpp:270:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be
  exploited, and note that sprintf variations do not always \0-terminate. Use a
  constant for the format specification. 
./desmume/src/debug.cpp:301:  [4] (format) vprintf:
  If format strings can be influenced by an attacker, they can be
  exploited. Use a constant for the format specification. 
./desmume/src/debug.h:68:  [4] (format) vprintf:
  If format strings can be influenced by an attacker, they can be
  exploited. Use a constant for the format specification. 
./desmume/src/emufile.h:81:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be
  exploited. Use a constant for the format specification. 
./desmume/src/emufile.h:179:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be
  exploited. Use a constant for the format specification. 
./desmume/src/emufile.h:184:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be
  exploited, and note that sprintf variations do not always \0-terminate. Use a
  constant for the format specification. 
./desmume/src/emufile.h:189:  [4] (format) vsprintf:
  Potential format string problem. Make format string constant. 
./desmume/src/emufile.h:293:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/emufile.h:320:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be
  exploited. Use a constant for the format specification. 
./desmume/src/emufile.h:323:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be
  exploited. Use a constant for the format specification. 
./desmume/src/fs-linux.c:60:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/fs-linux.c:66:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/fs-linux.c:89:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/fs-linux.c:94:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/fs-windows.c:35:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/libretro/dirent_win32/dirent.c:46:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination.
  Consider using strncat or strlcat (warning, strncat is easily misused). 
./desmume/src/libretro/dirent_win32/dirent.c:46:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/libretro/libretro.cpp:683:  [4] (format) vsprintf:
  Potential format string problem. Make format string constant. 
./desmume/src/libretro/libretro.cpp:1128:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/mc.cpp:65:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be
  exploited. Use a constant for the format specification. 
./desmume/src/mc.cpp:246:  [4] (race) access:
  This usually indicates a security flaw.  If an attacker can change
  anything along the path between the call to access() and the file's actual
  use (e.g., by moving files), the attacker can exploit the race
  condition. Set up the correct permissions (e.g., using setuid()) and try to
  open the file directly. 
./desmume/src/mc.cpp:936:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be
  exploited. Use a constant for the format specification. 
./desmume/src/mc.cpp:945:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be
  exploited. Use a constant for the format specification. 
./desmume/src/mc.cpp:1062:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/path.h:300:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/path.h:306:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination.
  Consider using strncat or strlcat (warning, strncat is easily misused). 
./desmume/src/types.h:73:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be
  exploited, and note that sprintf variations do not always \0-terminate. Use a
  constant for the format specification. 
./desmume/src/types.h:73:  [4] (format) _snprintf:
  If format strings can be influenced by an attacker, they can be
  exploited, and note that sprintf variations do not always \0-terminate. Use a
  constant for the format specification. 
./desmume/src/utils/AsmJit/core/apibegin.h:21:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be
  exploited, and note that sprintf variations do not always \0-terminate. Use a
  constant for the format specification. 
./desmume/src/utils/AsmJit/core/apibegin.h:22:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be
  exploited, and note that sprintf variations do not always \0-terminate. Use a
  constant for the format specification. 
./desmume/src/utils/AsmJit/core/apibegin.h:22:  [4] (format) _snprintf:
  If format strings can be influenced by an attacker, they can be
  exploited, and note that sprintf variations do not always \0-terminate. Use a
  constant for the format specification. 
./desmume/src/utils/AsmJit/core/apiend.h:14:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be
  exploited, and note that sprintf variations do not always \0-terminate. Use a
  constant for the format specification. 
./desmume/src/utils/AsmJit/core/apiend.h:15:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be
  exploited, and note that sprintf variations do not always \0-terminate. Use a
  constant for the format specification. 
./desmume/src/utils/AsmJit/core/compiler.cpp:243:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be
  exploited, and note that sprintf variations do not always \0-terminate. Use a
  constant for the format specification. 
./desmume/src/utils/AsmJit/core/compileritem.cpp:95:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be
  exploited, and note that sprintf variations do not always \0-terminate. Use a
  constant for the format specification. 
./desmume/src/utils/AsmJit/core/logger.cpp:45:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be
  exploited, and note that sprintf variations do not always \0-terminate. Use a
  constant for the format specification. 
./desmume/src/utils/AsmJit/core/stringbuilder.cpp:340:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be
  exploited, and note that sprintf variations do not always \0-terminate. Use a
  constant for the format specification. 
./desmume/src/utils/datetime.h:787:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/utils/dlditool.c:213:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination.
  Consider using strncat or strlcat (warning, strncat is easily misused). 
./desmume/src/utils/dlditool.c:233:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/utils/dlditool.c:236:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination.
  Consider using strncat or strlcat (warning, strncat is easily misused). 
./desmume/src/utils/dlditool.c:256:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/utils/dlditool.c:257:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/utils/dlditool.c:261:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/utils/dlditool.c:282:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/utils/dlditool.c:284:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/utils/dlditool.c:285:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination.
  Consider using strncat or strlcat (warning, strncat is easily misused). 
./desmume/src/utils/dlditool.c:297:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination.
  Consider using strncat or strlcat (warning, strncat is easily misused). 
./desmume/src/utils/emufat.cpp:273:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be
  exploited. Use a constant for the format specification. 
./desmume/src/utils/glcorearb.h:662:  [4] (race) access:
  This usually indicates a security flaw.  If an attacker can change
  anything along the path between the call to access() and the file's actual
  use (e.g., by moving files), the attacker can exploit the race
  condition. Set up the correct permissions (e.g., using setuid()) and try to
  open the file directly. 
./desmume/src/utils/glcorearb.h:682:  [4] (race) access:
  This usually indicates a security flaw.  If an attacker can change
  anything along the path between the call to access() and the file's actual
  use (e.g., by moving files), the attacker can exploit the race
  condition. Set up the correct permissions (e.g., using setuid()) and try to
  open the file directly. 
./desmume/src/utils/glcorearb.h:1295:  [4] (race) access:
  This usually indicates a security flaw.  If an attacker can change
  anything along the path between the call to access() and the file's actual
  use (e.g., by moving files), the attacker can exploit the race
  condition. Set up the correct permissions (e.g., using setuid()) and try to
  open the file directly. 
./desmume/src/utils/glcorearb.h:1380:  [4] (race) access:
  This usually indicates a security flaw.  If an attacker can change
  anything along the path between the call to access() and the file's actual
  use (e.g., by moving files), the attacker can exploit the race
  condition. Set up the correct permissions (e.g., using setuid()) and try to
  open the file directly. 
./desmume/src/utils/glcorearb.h:2210:  [4] (race) access:
  This usually indicates a security flaw.  If an attacker can change
  anything along the path between the call to access() and the file's actual
  use (e.g., by moving files), the attacker can exploit the race
  condition. Set up the correct permissions (e.g., using setuid()) and try to
  open the file directly. 
./desmume/src/utils/glcorearb.h:2223:  [4] (race) access:
  This usually indicates a security flaw.  If an attacker can change
  anything along the path between the call to access() and the file's actual
  use (e.g., by moving files), the attacker can exploit the race
  condition. Set up the correct permissions (e.g., using setuid()) and try to
  open the file directly. 
./desmume/src/utils/glcorearb.h:2651:  [4] (race) access:
  This usually indicates a security flaw.  If an attacker can change
  anything along the path between the call to access() and the file's actual
  use (e.g., by moving files), the attacker can exploit the race
  condition. Set up the correct permissions (e.g., using setuid()) and try to
  open the file directly. 
./desmume/src/utils/glcorearb.h:2668:  [4] (race) access:
  This usually indicates a security flaw.  If an attacker can change
  anything along the path between the call to access() and the file's actual
  use (e.g., by moving files), the attacker can exploit the race
  condition. Set up the correct permissions (e.g., using setuid()) and try to
  open the file directly. 
./desmume/src/utils/vfat.cpp:67:  [4] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. 
./desmume/src/utils/xstring.cpp:97:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/utils/xstring.cpp:101:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/utils/xstring.cpp:105:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/utils/xstring.cpp:109:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/utils/xstring.cpp:171:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/utils/xstring.cpp:217:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/utils/xstring.cpp:736:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/utils/xstring.cpp:741:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). 
./desmume/src/wifi.cpp:323:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be
  exploited. Use a constant for the format specification. 
./desmume/src/addons/slot1_r4.cpp:52:  [3] (random) srand:
  This function is not sufficiently random for security-related
  functions such as key and nonce creation. use a more secure technique for
  acquiring random values. 
./desmume/src/path.h:330:  [3] (random) srand:
  This function is not sufficiently random for security-related
  functions such as key and nonce creation. use a more secure technique for
  acquiring random values. 
./desmume/src/utils/AsmJit/core/lock.h:49:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead. 
./desmume/src/utils/AsmJit/core/lock.h:54:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead. 
./desmume/src/utils/dlditool.c:229:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker.  They can have any content and length, and the same variable
  can be set more than once. Check environment variables carefully before
  using them. 
./desmume/src/utils/dlditool.c:271:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker.  They can have any content and length, and the same variable
  can be set more than once. Check environment variables carefully before
  using them. 
./desmume/src/Disassembler.cpp:26:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/Disassembler.cpp:45:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/Disassembler.cpp:64:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/Disassembler.cpp:83:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/Disassembler.cpp:85:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/Disassembler.cpp:94:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/Disassembler.cpp:96:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/Disassembler.cpp:139:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/Disassembler.cpp:141:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/Disassembler.cpp:150:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/Disassembler.cpp:152:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/Disassembler.cpp:154:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/Disassembler.cpp:196:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/Disassembler.cpp:198:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/Disassembler.cpp:209:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/Disassembler.cpp:211:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/Disassembler.cpp:238:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/Disassembler.cpp:269:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/Disassembler.cpp:3231:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/Disassembler.cpp:3235:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/Disassembler.cpp:3257:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/Disassembler.cpp:3262:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/Disassembler.cpp:3269:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/Disassembler.cpp:3274:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/Disassembler.cpp:3320:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/Disassembler.cpp:3328:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/Disassembler.cpp:3339:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/Disassembler.cpp:3672:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/Disassembler.cpp:3678:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/Disassembler.cpp:3712:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/Disassembler.cpp:3738:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/Disassembler.cpp:3746:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/Disassembler.cpp:3754:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/Disassembler.cpp:3761:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/Disassembler.cpp:3768:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/GPU.cpp:2386:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/GPU.cpp:2403:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/GPU.cpp:2427:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/GPU.cpp:2465:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/GPU.cpp:2707:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/GPU.cpp:3541:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/MMU.cpp:116:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/MMU.cpp:138:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/NDSSystem.cpp:139:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/NDSSystem.cpp:142:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination.
  Consider using strncat or strlcat (warning, strncat is easily misused).
  Risk is low because the source is a constant string.
./desmume/src/NDSSystem.cpp:213:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/NDSSystem.cpp:307:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). Risk
  is low because the source is a constant string.
./desmume/src/NDSSystem.cpp:312:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). Risk
  is low because the source is a constant string.
./desmume/src/NDSSystem.cpp:314:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). Risk
  is low because the source is a constant string.
./desmume/src/NDSSystem.cpp:315:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/NDSSystem.cpp:323:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination.
  Consider using strncat or strlcat (warning, strncat is easily misused).
  Risk is low because the source is a constant string.
./desmume/src/NDSSystem.cpp:328:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/NDSSystem.cpp:348:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/NDSSystem.cpp:470:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/NDSSystem.cpp:597:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/NDSSystem.cpp:699:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination.
  Consider using strncat or strlcat (warning, strncat is easily misused).
  Risk is low because the source is a constant string.
./desmume/src/NDSSystem.cpp:1636:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/NDSSystem.cpp:1673:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/NDSSystem.cpp:1976:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/NDSSystem.cpp:2036:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/NDSSystem.cpp:2087:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/NDSSystem.cpp:2176:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/NDSSystem.cpp:2185:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/NDSSystem.cpp:2461:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/NDSSystem.cpp:2466:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/NDSSystem.cpp:2762:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/NDSSystem.cpp:2763:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/NDSSystem.cpp:2772:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/NDSSystem.cpp:2773:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/NDSSystem.h:100:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/NDSSystem.h:101:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/NDSSystem.h:336:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/NDSSystem.h:337:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/NDSSystem.h:516:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). Risk
  is low because the source is a constant string.
./desmume/src/NDSSystem.h:517:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). Risk
  is low because the source is a constant string.
./desmume/src/NDSSystem.h:518:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). Risk
  is low because the source is a constant string.
./desmume/src/NDSSystem.h:550:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/NDSSystem.h:551:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/NDSSystem.h:557:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/OGLRender.cpp:2736:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/OGLRender.cpp:3303:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/OGLRender.cpp:4091:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/OGLRender_3_2.cpp:1261:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/ROMReader.c:66:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/addons/slot1_retail_mcrom_debug.cpp:144:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/addons/slot1comp_protocol.cpp:35:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/addons/slot2_expMemory.cpp:192:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/arm_jit.cpp:297:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/arm_jit.cpp:3946:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/arm_jit.cpp:3948:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/arm_jit.cpp:4046:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/arm_jit.cpp:4111:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/arm_jit.cpp:4383:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/arm_jit.cpp:4384:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/arm_jit.cpp:4385:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/arm_jit.cpp:4420:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/arm_jit.cpp:4421:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/arm_jit.cpp:4433:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/armcpu.cpp:232:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/armcpu.cpp:647:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/cheatSystem.cpp:641:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/cheatSystem.cpp:645:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/cheatSystem.cpp:666:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/cheatSystem.cpp:691:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/cheatSystem.cpp:692:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/cheatSystem.cpp:694:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/cheatSystem.cpp:761:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/cheatSystem.cpp:770:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/cheatSystem.cpp:839:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/cheatSystem.cpp:857:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/cheatSystem.cpp:867:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/cheatSystem.cpp:871:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/cheatSystem.cpp:887:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/cheatSystem.cpp:888:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/cheatSystem.cpp:927:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/cheatSystem.h:48:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/common.h:56:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/debug.cpp:105:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/debug.cpp:263:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/debug.cpp:267:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/debug.cpp:356:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/debug.cpp:360:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/debug.cpp:361:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/debug.cpp:362:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/debug.cpp:363:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/debug.cpp:364:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/debug.cpp:365:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/debug.cpp:366:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/debug.cpp:367:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/debug.cpp:368:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/debug.cpp:369:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/debug.cpp:370:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/debug.cpp:371:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/debug.cpp:372:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/debug.cpp:373:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/debug.cpp:374:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/debug.cpp:375:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/debug.cpp:376:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/debug.cpp:377:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/debug.cpp:378:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/emufile.cpp:66:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/emufile.cpp:84:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/emufile.h:154:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/emufile.h:230:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/emufile.h:272:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/emufile.h:285:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/emufile.h:289:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/emufile.h:298:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/emufile.h:299:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/encrypt.cpp:33:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:87:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:104:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:116:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:123:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:148:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:177:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:193:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:204:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:210:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:234:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:258:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/firmware.cpp:285:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:309:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:342:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:455:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:515:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:527:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/firmware.cpp:543:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:544:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:545:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:546:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:576:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:581:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:585:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/firmware.cpp:591:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:592:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:593:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:594:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:614:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/firmware.cpp:750:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:862:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:879:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:882:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:885:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:888:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:889:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:893:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:894:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:895:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:908:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.cpp:969:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/firmware.h:116:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/fs-linux.c:40:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/fs-linux.c:83:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/fs-windows.c:32:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/fs.h:36:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/fs.h:37:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/libretro/libretro.cpp:284:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/libretro/libretro.cpp:431:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range. 
  If source untrusted, check both minimum and maximum, even if the input
  had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended). 
./desmume/src/libretro/libretro.cpp:543:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range. 
  If source untrusted, check both minimum and maximum, even if the input
  had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended). 
./desmume/src/libretro/libretro.cpp:550:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range. 
  If source untrusted, check both minimum and maximum, even if the input
  had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended). 
./desmume/src/libretro/libretro.cpp:594:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range. 
  If source untrusted, check both minimum and maximum, even if the input
  had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended). 
./desmume/src/libretro/libretro.cpp:596:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range. 
  If source untrusted, check both minimum and maximum, even if the input
  had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended). 
./desmume/src/libretro/libretro.cpp:679:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/libretro/libretro.cpp:1040:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/libretro/libretro.cpp:1126:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/libretro/libretro.cpp:1127:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/libretro/libretro.cpp:1129:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). Risk
  is low because the source is a constant string.
./desmume/src/matrix.cpp:108:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/matrix.cpp:198:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/matrix.cpp:407:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/mc.cpp:239:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/mc.cpp:1060:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/mc.cpp:1081:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/mc.cpp:1084:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/mc.cpp:1242:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/mc.cpp:1327:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/mc.cpp:1364:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/mc.cpp:1420:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/mc.cpp:1431:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/mc.cpp:1471:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/mc.cpp:1485:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/mc.cpp:1486:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/mic.h:26:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/path.cpp:69:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/path.cpp:91:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/path.cpp:117:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/path.cpp:151:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/path.cpp:210:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/path.cpp:227:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/path.h:80:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/path.h:99:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/path.h:100:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/path.h:101:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/path.h:102:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/path.h:103:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/path.h:104:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/path.h:105:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/path.h:106:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/path.h:107:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/path.h:108:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/path.h:109:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/path.h:283:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/path.h:357:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/render3D.cpp:296:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/rtc.cpp:218:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/saves.cpp:658:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/saves.cpp:999:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/texcache.cpp:97:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/texcache.cpp:196:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/texcache.cpp:197:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/texcache.cpp:386:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/types.h:445:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/AsmJit/core/assembler.cpp:163:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/AsmJit/core/assembler.cpp:167:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/AsmJit/core/assembler.cpp:175:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/utils/AsmJit/core/buffer.cpp:31:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/AsmJit/core/compiler.cpp:233:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/AsmJit/core/compileritem.cpp:91:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/AsmJit/core/compileritem.cpp:173:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/AsmJit/core/cpuinfo.h:85:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/AsmJit/core/cpuinfo.h:87:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/AsmJit/core/logger.cpp:40:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/AsmJit/core/logger.cpp:111:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/AsmJit/core/logger.h:131:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/AsmJit/core/memorymanager.cpp:1165:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/utils/AsmJit/core/operand.h:205:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/AsmJit/core/operand.h:211:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/AsmJit/core/podvector.h:98:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/AsmJit/core/podvector.h:112:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/AsmJit/core/podvector.h:123:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/AsmJit/core/stringbuilder.cpp:23:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/AsmJit/core/stringbuilder.cpp:138:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/AsmJit/core/stringbuilder.cpp:171:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/AsmJit/core/stringbuilder.cpp:205:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/AsmJit/core/stringbuilder.cpp:226:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/AsmJit/core/stringbuilder.cpp:307:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/AsmJit/core/stringbuilder.cpp:313:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/AsmJit/core/stringbuilder.cpp:338:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/AsmJit/core/stringbuilder.h:192:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/AsmJit/core/stringutil.cpp:35:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/AsmJit/core/stringutil.cpp:64:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/AsmJit/core/zonememory.cpp:83:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/AsmJit/x86/x86assembler.cpp:670:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/utils/AsmJit/x86/x86assembler.cpp:746:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/utils/AsmJit/x86/x86assembler.cpp:2561:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/AsmJit/x86/x86assembler.cpp:2665:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/AsmJit/x86/x86compiler.cpp:387:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/AsmJit/x86/x86compiler.cpp:390:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/utils/AsmJit/x86/x86compilercontext.cpp:1445:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/AsmJit/x86/x86compilercontext.cpp:1495:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/AsmJit/x86/x86compilerfunc.cpp:128:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/AsmJit/x86/x86compilerfunc.cpp:340:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/AsmJit/x86/x86cpuinfo.cpp:33:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/AsmJit/x86/x86cpuinfo.cpp:170:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/AsmJit/x86/x86cpuinfo.cpp:176:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/AsmJit/x86/x86cpuinfo.cpp:177:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/AsmJit/x86/x86cpuinfo.cpp:178:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/AsmJit/x86/x86defs.h:2185:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/ConvertUTF.c:174:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/advanscene.cpp:39:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/utils/advanscene.cpp:42:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/advanscene.cpp:71:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/advanscene.cpp:72:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/advanscene.h:30:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/advanscene.h:31:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/datetime.h:786:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/datetime.h:794:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/decrypt/crc.h:133:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/decrypt/crc.h:138:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/decrypt/crc.h:152:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/decrypt/crc.h:175:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/decrypt/decrypt.cpp:399:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/decrypt/header.h:33:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/decrypt/header.h:34:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/decrypt/header.h:35:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/decrypt/header.h:39:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/decrypt/header.h:86:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/decrypt/header.h:95:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/dlditool.c:204:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/dlditool.c:205:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/dlditool.c:206:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/dlditool.c:218:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/utils/dlditool.c:239:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/utils/dlditool.c:296:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination.
  Consider using strncat or strlcat (warning, strncat is easily misused).
  Risk is low because the source is a constant string.
./desmume/src/utils/dlditool.c:300:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/utils/dlditool.c:836:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/emufat.cpp:422:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/emufat.cpp:425:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/emufat.cpp:430:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/emufat.cpp:449:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/emufat.cpp:450:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/emufat.cpp:451:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/emufat.cpp:975:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/utils/emufat.cpp:1009:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/emufat.cpp:1075:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/utils/emufat.cpp:1095:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/emufat.cpp:1104:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/emufat.cpp:1116:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/emufat.cpp:1171:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/utils/emufat.cpp:1227:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/emufat.cpp:1263:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/utils/emufat.cpp:1539:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/utils/emufat.cpp:1618:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/utils/emufat.h:517:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/utils/emufat.h:518:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/utils/fsnitro.cpp:178:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/fsnitro.cpp:181:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/fsnitro.cpp:184:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/utils/fsnitro.cpp:192:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/fsnitro.cpp:195:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/fsnitro.cpp:198:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/utils/fsnitro.cpp:207:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/fsnitro.cpp:243:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/fsnitro.cpp:244:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/fsnitro.cpp:261:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/fsnitro.cpp:262:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/fsnitro.cpp:304:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/utils/fsnitro.cpp:488:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/utils/fsnitro.cpp:504:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/fsnitro.cpp:522:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/libfat/cache.cpp:171:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/libfat/cache.cpp:195:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/libfat/cache.cpp:227:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/libfat/cache.cpp:261:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/libfat/cache.cpp:323:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/libfat/directory.cpp:407:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/libfat/directory.cpp:512:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/libfat/directory.cpp:555:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/libfat/directory.cpp:772:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/libfat/directory.cpp:923:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/libfat/directory.h:72:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/libfat/fatdir.cpp:303:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/libfat/libfat.cpp:124:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/libfat/libfat_public_api.cpp:37:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/libfat/libfat_public_api.cpp:39:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/libfat/partition.cpp:99:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/libfat/partition.cpp:115:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/libfat/partition.h:70:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/vfat.cpp:46:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/vfat.cpp:133:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move
  things around to create a race condition, control its ancestors, or change
  its contents?. 
./desmume/src/utils/xstring.cpp:210:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/xstring.cpp:241:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/xstring.cpp:246:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/xstring.cpp:247:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/utils/xstring.cpp:254:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/xstring.cpp:256:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/utils/xstring.cpp:259:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/utils/xstring.cpp:262:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/utils/xstring.cpp:273:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/xstring.cpp:276:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/xstring.cpp:334:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/xstring.cpp:343:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/xstring.cpp:351:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/utils/xstring.cpp:379:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range. 
  If source untrusted, check both minimum and maximum, even if the input
  had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended). 
./desmume/src/utils/xstring.cpp:383:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range. 
  If source untrusted, check both minimum and maximum, even if the input
  had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended). 
./desmume/src/utils/xstring.cpp:387:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range. 
  If source untrusted, check both minimum and maximum, even if the input
  had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended). 
./desmume/src/utils/xstring.cpp:493:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/xstring.cpp:585:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/xstring.cpp:586:  [2] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source has a constant maximum length.
./desmume/src/utils/xstring.cpp:735:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/xstring.cpp:740:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/utils/xstring.h:110:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/wifi.cpp:1775:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/wifi.cpp:1872:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/wifi.cpp:1875:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/wifi.cpp:1944:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/wifi.cpp:2081:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/wifi.cpp:2142:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/wifi.cpp:2172:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/wifi.cpp:2174:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/wifi.cpp:2218:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/wifi.cpp:2229:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/wifi.cpp:2242:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/wifi.cpp:2263:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/wifi.cpp:2297:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/wifi.cpp:2298:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/wifi.cpp:2300:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/wifi.cpp:2319:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/wifi.cpp:2362:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/wifi.cpp:2363:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/wifi.cpp:2364:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/wifi.cpp:2370:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination. Make
  sure destination can always hold the source data. 
./desmume/src/wifi.h:602:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/wifi.h:603:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/wifi.h:604:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/wifi.h:605:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/wifi.h:606:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/wifi.h:607:  [2] (buffer) char:
  Statically-sized arrays can be overflowed. Perform bounds checking,
  use functions that limit length, or ensure that the size is larger than
  the maximum possible length. 
./desmume/src/Disassembler.cpp:247:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/Disassembler.cpp:257:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/Disassembler.cpp:261:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/Disassembler.cpp:265:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/MMU.cpp:2061:  [1] (buffer) read:
  Check buffer boundaries if used in a loop. 
./desmume/src/MMU.cpp:4492:  [1] (buffer) read:
  Check buffer boundaries if used in a loop. 
./desmume/src/MMU.cpp:4552:  [1] (buffer) read:
  Check buffer boundaries if used in a loop. 
./desmume/src/MMU.cpp:4724:  [1] (buffer) read:
  Check buffer boundaries if used in a loop. 
./desmume/src/MMU.h:100:  [1] (buffer) read:
  Check buffer boundaries if used in a loop. 
./desmume/src/NDSSystem.cpp:2764:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/NDSSystem.cpp:2774:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/OGLRender.cpp:546:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/OGLRender.cpp:557:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/addons/slot1_retail_mcrom.cpp:103:  [1] (buffer) read:
  Check buffer boundaries if used in a loop. 
./desmume/src/addons/slot1_retail_mcrom_debug.cpp:216:  [1] (buffer) read:
  Check buffer boundaries if used in a loop. 
./desmume/src/addons/slot1_retail_nand.cpp:180:  [1] (buffer) read:
  Check buffer boundaries if used in a loop. 
./desmume/src/addons/slot1_retail_nand.cpp:207:  [1] (buffer) read:
  Check buffer boundaries if used in a loop. 
./desmume/src/addons/slot1comp_rom.cpp:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop. 
./desmume/src/addons/slot1comp_rom.h:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop. 
./desmume/src/arm_jit.cpp:3951:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination.
  Consider using strncat or strlcat (warning, strncat is easily misused).
  Risk is low because the source is a constant character.
./desmume/src/cheatSystem.cpp:567:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/cheatSystem.cpp:577:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/cheatSystem.cpp:669:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/cheatSystem.cpp:684:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/cheatSystem.cpp:772:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/cheatSystem.cpp:773:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/cheatSystem.cpp:775:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/cheatSystem.cpp:778:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/cheatSystem.cpp:927:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/cheatSystem.cpp:929:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/cheatSystem.cpp:944:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/cheatSystem.cpp:946:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/cheatSystem.cpp:946:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/cheatSystem.cpp:952:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/cheatSystem.cpp:953:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/cheatSystem.cpp:975:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/common.cpp:40:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/common.cpp:53:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/debug.cpp:268:  [1] (buffer) sprintf:
  Does not check for buffer overflows. Use snprintf or vsnprintf. Risk
  is low because the source is a constant character.
./desmume/src/emufile.h:83:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop. 
./desmume/src/emufile.h:198:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop. 
./desmume/src/emufile.h:328:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop. 
./desmume/src/emufile.h:329:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop. 
./desmume/src/firmware.cpp:255:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/firmware.cpp:316:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/firmware.cpp:616:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/firmware.cpp:617:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/firmware.cpp:927:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/firmware.cpp:933:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/fs-linux.c:62:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). Risk
  is low because the source is a constant character.
./desmume/src/fs-linux.c:91:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). Risk
  is low because the source is a constant character.
./desmume/src/fs-windows.c:33:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/fs-windows.c:41:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/fs-windows.c:43:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/fs-windows.c:65:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/fs-windows.c:67:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/libretro/arm_arm/arm_gen.cpp:43:  [1] (free) memalign:
  On some systems (though not Linux-based systems) an attempt to free()
  results from memalign() may fail. This may, on a few systems, be
  exploitable.  Also note that memalign() may not check that the boundary
  parameter is correct. Use posix_memalign instead (defined in POSIX's
  1003.1d).  Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as
  legacy in SUSv2, and is no longer defined in SUSv3.  In some cases,
  malloc()'s alignment may be sufficient. 
./desmume/src/libretro/dirent_win32/dirent.c:39:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/libretro/dirent_win32/dirent.c:44:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/libretro/libretro.cpp:285:  [1] (port) snprintf:
  On some very old systems, snprintf is incorrectly implemented and
  permits buffer overflows; there are also incompatible standard definitions
  of it. Check it during installation, or use something else. 
./desmume/src/libretro/libretro.cpp:1092:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/mc.cpp:328:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/mc.cpp:328:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/mc.cpp:402:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/mc.cpp:439:  [1] (buffer) read:
  Check buffer boundaries if used in a loop. 
./desmume/src/mc.cpp:766:  [1] (buffer) read:
  Check buffer boundaries if used in a loop. 
./desmume/src/mc.cpp:1014:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/mc.cpp:1016:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/mc.cpp:1017:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/mc.cpp:1036:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/mc.cpp:1038:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/mc.cpp:1039:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/mc.cpp:1055:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/mc.cpp:1058:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/mc.cpp:1063:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/mc.cpp:1067:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/mc.cpp:1539:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/mc.h:153:  [1] (buffer) read:
  Check buffer boundaries if used in a loop. 
./desmume/src/path.cpp:70:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/path.cpp:92:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/path.cpp:118:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/path.cpp:156:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/path.cpp:212:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/path.cpp:245:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/path.h:129:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/path.h:137:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/path.h:156:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/path.h:158:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/path.h:266:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/path.h:273:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/path.h:277:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/path.h:377:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/readwrite.cpp:113:  [1] (buffer) read:
  Check buffer boundaries if used in a loop. 
./desmume/src/utils/AsmJit/core/logger.cpp:153:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/AsmJit/core/stringbuilder.cpp:199:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/AsmJit/core/zonememory.cpp:72:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/AsmJit/x86/x86compilerfunc.cpp:139:  [1] (port) snprintf:
  On some very old systems, snprintf is incorrectly implemented and
  permits buffer overflows; there are also incompatible standard definitions
  of it. Check it during installation, or use something else. 
./desmume/src/utils/advanscene.cpp:44:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/advanscene.cpp:44:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/advanscene.cpp:164:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/datetime.h:795:  [1] (buffer) sscanf:
  it's unclear if the %s limit in the format string is small enough.
  Check that the limit is sufficiently small, or use a different input
  function. 
./desmume/src/utils/decrypt/crc.h:90:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop. 
./desmume/src/utils/dlditool.c:168:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/dlditool.c:168:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/dlditool.c:171:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/dlditool.c:171:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/dlditool.c:234:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/dlditool.c:234:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/dlditool.c:235:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination.
  Consider using strncat or strlcat (warning, strncat is easily misused).
  Risk is low because the source is a constant character.
./desmume/src/utils/dlditool.c:258:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination.
  Consider using strncat or strlcat (warning, strncat is easily misused).
  Risk is low because the source is a constant character.
./desmume/src/utils/dlditool.c:260:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). Risk
  is low because the source is a constant character.
./desmume/src/utils/dlditool.c:283:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination.
  Consider using strncat or strlcat (warning, strncat is easily misused).
  Risk is low because the source is a constant character.
./desmume/src/utils/dlditool.c:291:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination.
  Consider using strncpy or strlcpy (warning, strncpy is easily misused). Risk
  is low because the source is a constant character.
./desmume/src/utils/emufat.cpp:1384:  [1] (buffer) read:
  Check buffer boundaries if used in a loop. 
./desmume/src/utils/emufat.cpp:1454:  [1] (buffer) read:
  Check buffer boundaries if used in a loop. 
./desmume/src/utils/emufat.cpp:1476:  [1] (buffer) read:
  Check buffer boundaries if used in a loop. 
./desmume/src/utils/emufat.h:505:  [1] (buffer) read:
  Check buffer boundaries if used in a loop. 
./desmume/src/utils/emufat.h:507:  [1] (buffer) read:
  Check buffer boundaries if used in a loop. 
./desmume/src/utils/emufat.h:509:  [1] (buffer) read:
  Check buffer boundaries if used in a loop. 
./desmume/src/utils/libfat/directory.cpp:598:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/libfat/directory.cpp:939:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/libfat/directory.cpp:943:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/libfat/directory.cpp:945:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/libfat/directory.cpp:949:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/libfat/directory.cpp:992:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/libfat/fatdir.cpp:306:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/utils/libfat/fatdir.cpp:395:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/utils/libfat/fatdir.cpp:598:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/utils/libfat/fatfile.cpp:156:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/utils/libfat/fatfile.cpp:365:  [1] (buffer) read:
  Check buffer boundaries if used in a loop. 
./desmume/src/utils/libfat/fatfile.h:66:  [1] (buffer) read:
  Check buffer boundaries if used in a loop. 
./desmume/src/utils/libfat/libfat.cpp:90:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/libfat/libfat.cpp:104:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/libfat/mem_allocate.h:42:  [1] (free) memalign:
  On some systems (though not Linux-based systems) an attempt to free()
  results from memalign() may fail. This may, on a few systems, be
  exploitable.  Also note that memalign() may not check that the boundary
  parameter is correct. Use posix_memalign instead (defined in POSIX's
  1003.1d).  Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as
  legacy in SUSv2, and is no longer defined in SUSv3.  In some cases,
  malloc()'s alignment may be sufficient. 
./desmume/src/utils/libfat/partition.cpp:206:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/utils/libfat/partition.cpp:208:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/utils/vfat.cpp:52:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/utils/vfat.cpp:59:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/vfat.cpp:65:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/vfat.cpp:65:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/vfat.cpp:98:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/xstring.cpp:29:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/xstring.cpp:37:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/xstring.cpp:59:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/xstring.cpp:74:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/xstring.cpp:123:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/xstring.cpp:124:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/xstring.cpp:125:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/xstring.cpp:126:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/xstring.cpp:127:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/xstring.cpp:131:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/xstring.cpp:135:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/xstring.cpp:139:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/xstring.cpp:143:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/xstring.cpp:158:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/xstring.cpp:160:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/xstring.cpp:161:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/xstring.cpp:184:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/xstring.cpp:204:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/xstring.cpp:205:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/xstring.cpp:206:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/xstring.cpp:207:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/xstring.cpp:208:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/xstring.cpp:742:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated (it could cause a
  crash if unprotected). 
./desmume/src/utils/xstring.h:85:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop. 
./desmume/src/wifi.cpp:1869:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for
  invalid pointers. 
./desmume/src/wifi.cpp:2145:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct
  maximum size to add). Consider strlcat or automatically resizing strings. 
./desmume/src/wifi.cpp:2149:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination.
  Consider using strncat or strlcat (warning, strncat is easily misused).
  Risk is low because the source is a constant character.

Hits = 969
Lines analyzed = 141082 in 2.35 seconds (76221 lines/second)
Physical Source Lines of Code (SLOC) = 100781
Hits@level = [0]   0 [1] 168 [2] 429 [3]   6 [4] 366 [5]   0
Hits@level+ = [0+] 969 [1+] 969 [2+] 801 [3+] 372 [4+] 366 [5+]   0
Hits/KSLOC@level+ = [0+] 9.61491 [1+] 9.61491 [2+] 7.94793 [3+] 3.69117 [4+] 3.63164 [5+]   0
Minimum risk level = 1
Not every hit is necessarily a security vulnerability.
There may be other security vulnerabilities; review your code!

Thanks!

Increase Dead Zone for Analog Cursor Control

Most times when I move the touch screen cursor with the analog stick it keeps moving even when I let it go. I think it must be because the dead zone is really small, because I don't have that problem with analog control in Mupen, Mednafen or MAME. An increased default dead zone or an option to increase dead zone percentage like what was added to Mupen would be helpful.

Depth comparison threshold core option

You can change the depth comparison threshold under 3D settings in Desmume, but not in the libretro port.
This option is needed for a few games to prevent visual glitches from happening (missing cursor in the Advance Wars games and shadow issues in Zelda PH/ST for example).

Core option request - Add spacing between the two screens.

I think it would be nice to be able to add some black space in-between the two ds screens. It might make it feel more natural for some games since the screens are apart on the handheld. I don't know if normal desmume can do this or not. For a visual reference of what I'm asking for https://www.youtube.com/watch?v=xKo3yguZm_s how he has it setup on the side of the screen separated a bit. It looks more correct than being right next to each other. It would be even more awesome if that setup could be recreated but thats probably asking to much. I just figured I would mention this since desmume is getting some attention right now.

Segfault if you Open Archive as Folder

I'm getting segfault if I try to "Open Archive as Folder", it happens with zip or 7z. It works if I Load Archive with Core.

I can't get a full backtrace, see #58

Program received signal SIGSEGV, Segmentation fault.
0x00007fffbb20ea17 in Sequencer::execHardware() () from /home/sergio/Games/RetroArch/cores/desmume_libretro.so
(gdb) bt full
#0  0x00007fffbb20ea17 in Sequencer::execHardware() () from /home/sergio/Games/RetroArch/cores/desmume_libretro.so
No symbol table info available.
#1  0x00007fffbb2104c3 in NDS_exec(int) () from /home/sergio/Games/RetroArch/cores/desmume_libretro.so
No symbol table info available.
#2  0x00007fffbb2749e4 in retro_run () from /home/sergio/Games/RetroArch/cores/desmume_libretro.so
No symbol table info available.
#3  0x000000000041c416 in rarch_main_iterate (sleep_ms=sleep_ms@entry=0x7fffffffddf0) at runloop.c:1130
        i = <optimized out>
        trigger_input = <optimized out>
        cmd = {fullscreen_toggle = <optimized out>, overlay_next_pressed = <optimized out>, grab_mouse_pressed = <optimized out>, menu_pressed = <optimized out>, 
          quit_key_pressed = <optimized out>, screenshot_pressed = <optimized out>, mute_pressed = <optimized out>, osk_pressed = <optimized out>, 
          volume_up_pressed = <optimized out>, volume_down_pressed = <optimized out>, reset_pressed = <optimized out>, disk_prev_pressed = <optimized out>, 
          disk_next_pressed = <optimized out>, disk_eject_pressed = <optimized out>, movie_record = <optimized out>, save_state_pressed = <optimized out>, 
          load_state_pressed = <optimized out>, slowmotion_pressed = <optimized out>, shader_next_pressed = <optimized out>, shader_prev_pressed = <optimized out>, 
          fastforward_pressed = <optimized out>, hold_pressed = <optimized out>, old_hold_pressed = false, state_slot_increase = <optimized out>, 
          state_slot_decrease = <optimized out>, pause_pressed = <optimized out>, frameadvance_pressed = <optimized out>, rewind_pressed = <optimized out>, 
          netplay_flip_pressed = <optimized out>, cheat_index_plus_pressed = <optimized out>, cheat_index_minus_pressed = <optimized out>, cheat_toggle_pressed = <optimized out>}
        do_quit = <optimized out>
        last_input = 0
        driver = 0x7bbc80 <g_driver>
        settings = 0x7fffec567010
        input = <optimized out>
        system = <optimized out>
        old_input = <optimized out>
#4  0x00000000004125e7 in rarch_main (argc=<optimized out>, argv=<optimized out>, data=0x0) at frontend/frontend.c:345
        sleep_ms = 0
        args = 0x0
        ret = <optimized out>
        settings = 0x7fffec567010
        driver = <optimized out>
#5  0x00007ffff23deec5 in __libc_start_main (main=0x40f010 <main>, argc=1, argv=0x7fffffffdf18, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, 
    stack_end=0x7fffffffdf08) at libc-start.c:287
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -6620443363659441001, 4255767, 140737488346896, 0, 0, 6620443364724350103, 6620451626623081623}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x50d520 <__libc_csu_init>, 0x7fffffffdf18}, data = {prev = 0x0, cleanup = 0x0, canceltype = 5297440}}}
        not_first_call = <optimized out>
#6  0x000000000040f040 in _start ()
No symbol table info available.

Add Support for External BIOS and Firmware Images

Standalone has the ability to load the two ARM images and the firmware image. They could be autoloaded if they exist in the system folder or have a core option to use them or not. For full parity you'd also need core options for all the boxes you can check in the BIOS and Firmware sections of the Emulation settings dialog under Config in stand alone.

Emulate lid close

Hi in some game it is needed to close the DS to solve puzzle. In the previous libretro port of desmume it was possible by pressing L2. In the current port this doesn't work anymore.

Rumble support

Is it possible to add rumble support to this core? Standalone seems to support it. There are 37 games which supports it, like Mario & Luigi: Partners in Time and Metroid Prime Pinball.

It uses the GBA slot, so it'll need to be supported as well.

Proposal Hotspot buttons

What does someone think of the idea of having hotspot buttons for some games? Games like say Super Princess Peach which have four areas in the touchscreen, instead of having to use the touchscreen, the user could configure four buttons that work for those 'hotspots'.
peach

The hotspot locations would have to be configured on a per-game basis, maybe keep a database of them in the codebase. Any thoughts if I should persue it?

Other games could be New Super Mario Bros (use the stored item), Super Mario 64 DS (move the camera).

Black top screen

Playing Pokemon - HeartGold Version (Europe) (Rev 10) [crc b64a5efb] some time, and the top screen becomes black. You can see the chat box yet.

retroarch-0809-203206

Screen gap scaling

The gap between screens setting isn't multiplied by the internal resolution scaling at the moment.

Additionally the left/right type of view is wrong (half the size vertically it seems).

Nds games crashing the core

most games i tried on the same device crash now, and this seems to have started recently.
What seems to be common is a line 'Autodetecting with autodetect_size=3' on those that crash. Trace Memory (USA) is not crashing for example, and doesn't have the line.
This line exists on the file ./desmume/src/mc.cpp (memory card) on the desmume core source.

A example from order of ecclesia
Normal output before crash:

i30817@AIVAS:~$ retroarch
DeSmuME 0.9.11 svn0 x64 NOSSE
Attempting change to 3d core to: SoftRasterizer
SoftRast Initialized with cores=1

Slot1 auto-selected device type: Retail MC+ROM
Slot2 auto-selected device type: None (0xFF)
DeSmuME .dsv save file not found. Trying to load an old raw .sav file.
CPU mode: JIT
JIT: max block size 12 instruction(s)
Already decrypted.
Autodetecting with autodetect_size=3
Segmentation fault (core dumped)

The path is fairly long, but not outlandish:
/media/i30817/Games/Nintendo DS/Castlevania - Order of Ecclesia (Europe) (En,Fr,De,Es,It)/Castlevania - Order of Ecclesia (Europe) (En,Fr,De,Es,It).nds

Finding the 'Ecclesia' lines with strace -o debug.txt -f -e trace=open retroarch
showed me the file was found correctly, but saves weren't:

24755 open("/media/i30817/Games/Nintendo DS/Castlevania - Order of Ecclesia (Europe) (En,Fr,De,Es,It)/Castlevania - Order of Ecclesia (Europe) (En,Fr,De,Es,It).nds", O_RDONLY) = 4
24755 open("desmume.ddb", O_RDONLY) = -1 ENOENT (No such file or directory)
24755 open("/media/i30817/Games/Nintendo DS/Castlevania - Order of Ecclesia (Europe) (En,Fr,De,Es,It)/Castlevania - Order of Ecclesia (Europe) (En,Fr,De,Es,It).sav", O_RDONLY) = -1 ENOENT (No such file or directory)
24755 open("/media/i30817/Games/Nintendo DS/Castlevania - Order of Ecclesia (Europe) (En,Fr,De,Es,It)/Castlevania - Order of Ecclesia (Europe) (En,Fr,De,Es,It).dsv", O_RDWR|O_CREAT|O_TRUNC, 0666) = -1 EROFS (Read-only file system)

(contrary to what may appear, i'm dead certain that the .dsv file it tried to open doesn't exist, just like the .sav file. There is no file except the nds rom in that dir).

Searching for '.dsv' shows that desmume crashed before it tried to open the preexisting dsv file of the game (that worked on previous versions) that exists on "/home/i30817/.config/retroarch/saves/Castlevania - Order of Ecclesia (Europe) (En,Fr,De,Es,It).dsv". The only lines with '.sav' or '.dsv' on the strace file are those shown here.
(if that helps or is relevant).

Last few lines of strace before the crash appear unimportant:

24755 open("/home/i30817/.config/retroarch/content_music_history.lpl", O_RDONLY) = 19
24755 open("/home/i30817/.config/retroarch/content_video_history.lpl", O_RDONLY) = 19
24755 open("/home/i30817/.config/retroarch/content_image_history.lpl", O_RDONLY) = 19
24755 open("custom.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
24755 open("/sys/devices/system/cpu/online", O_RDONLY|O_CLOEXEC) = 19
24755 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0} ---
24766 +++ killed by SIGSEGV (core dumped) +++
24765 +++ killed by SIGSEGV (core dumped) +++
24764 +++ killed by SIGSEGV (core dumped) +++
24755 +++ killed by SIGSEGV (core dumped) +++

couldn't compile the desmume core using DEBUG=1 NOCLEAN=1 ./libretro-build.sh desmume since it fails at building with a lot of versions of this on debug:

src/debug.cpp:227:4: error: invalid use of incomplete type ‘class EMUFILE’

and a lot of undefined references in the nondebug version, for example:

/media/i30817/Huggin/Documents/projects/libretro-super/libretro-desmume/desmume/src/MMU_timing.h:330: undefined reference to `DebugEventData'

The normal gdb on the ppa core only shows that the SIGSEGV originates in a fseek.c: No such file or directory. but completely and utterly useless for debugging, since filenames and positions of functions calls are lost on the libretro desmume core on the testing ppa which i'm using.

Crackly audio in Zelda Phantom Hourglass compared to Desmume standalone

There are some severe audio crackling problems using latest Retroarch stable /w latest updated Desmume core. I've tested on Desmume standalone v5548 and the sound is much cleaner. Tested using Windows 7. No interpolation used in standalone. I tried to keep the other settings extremely close, like bus timing on, both on JIT recompiler w/ block size 12.

I've recorded two short sequences where this is very easy to hear, near the beginning of the game. I've also tested the game on my physical DS and it is nowhere near as noisy as the RA core, sounds very close to the standalone.

Retroarch
Standalone

Crash before ROM loads

I can boot up and use DeSmuME just fine for about two or three times, then any other time I attempt to boot a ROM, I get this in the command line:

Microphone successfully inited.
DeSmuME 0.9.11 svn0 x64-JIT
Attempting change to 3d core to: SoftRasterizer
SoftRast Initialized with cores=4

ROM game code: CJRE
ROM serial: NTR-CJRE-USA
ROM chipID: 00007FC2
ROM internal name: DQM:JOKER2
ROM developer: Nintendo

Slot1 auto-selected device type: Retail MC+ROM
Slot2 auto-selected device type: None (0xFF)
DeSmuME .dsv save file not found. Trying to load an old raw .sav file.
CPU mode: Interpreter
Already Decrypted

Then RetroArch crashes. (Using DQM: Joker 2 as an example here). If I delete my DeSmuME config file, it'll work just fine again for the next two or three times, then I'm back to this issue again. I've had this problem for a few months now, and can't seem to track down anyone else that does.

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.