Commit Graph

  • f96a6d6e16 gdbstub: only spam debug logs when GDBSTUB_DEBUG is set in env master rofl0r 2026-01-09 19:03:24 +00:00
  • ceb2308be6 gdbstub: reuse port rofl0r 2026-01-09 18:59:03 +00:00
  • d1efe5797e gdb stub: prevent crashing on error rofl0r 2026-01-09 18:46:42 +00:00
  • 3924fb0f80 gdbstub: only spam debug logs when GDBSTUB_DEBUG is set in env rofl0r 2026-01-09 19:03:24 +00:00
  • bbda9d3867 gdbstub: reuse port rofl0r 2026-01-09 18:59:03 +00:00
  • 871c413c2b gdb stub: prevent crashing on error rofl0r 2026-01-09 18:46:42 +00:00
  • dedb7137d5 Cocoa Port: Major refactor, mostly involving replacing the old CocoaDSGPU class with the new CocoaGraphicsController class. - These changes replace even more Objective-C code with C++ code. - Fix building for the OpenEmu Plug-in using the latest code from previous refactors. - In the 3D Rendering Settings panel, add the ability to switch the 3D rendering engine to explicitly run OpenGL in Legacy mode or in 3.2 Core Profile mode. (dev+ builds only.) rogerman 2026-01-07 23:07:18 -08:00
  • 49dd1a5b84 Cocoa Port: Do a tiny (and possibly dubious) optimization to the xBRZ GLSL shaders. rogerman 2026-01-06 21:31:30 -08:00
  • 7a0ba8c11f Cocoa Port: Reformat spacing in ClientDisplay3DPresenter::SetHUDTouchLinePositionVertices() method to use spaces instead of tabs. rogerman 2026-01-06 21:13:38 -08:00
  • ae3ac8cd5f
    Merge 1a2b8c0f29636535708e6d29fdb031dcd2e68944 into 7f4d1802c14531191d90d4875a1f991d75457426 PlatinumMaster 2025-12-25 22:01:02 -05:00
  • 1e732b0115
    Merge a0e50b380c2224a4b95422ac86b18c43e1096f6d into 7f4d1802c14531191d90d4875a1f991d75457426 Kimpe Andy 2025-12-22 18:09:45 +00:00
  • ebe7d21653
    Merge be53737eba305c77c6784981cf8f81e0b9210ae1 into 7f4d1802c14531191d90d4875a1f991d75457426 windwakr 2025-12-19 05:29:28 +09:00
  • 8a552c6dca
    Merge ae627d68473a7e6bb41baaceb9e4d6356a6b92f8 into 7f4d1802c14531191d90d4875a1f991d75457426 Ruben 2025-12-14 16:24:19 -08:00
  • f1138e33e4
    Merge ffb713a6cb0ad142713c739828e5d836e11d8d76 into 7f4d1802c14531191d90d4875a1f991d75457426 Kapandaria 2025-12-12 10:51:31 +01:00
  • 7f4d1802c1
    Fix typo in issue template header rofl0r 2025-12-11 15:35:02 +01:00
  • b500fb5419 NDSSystem.cpp: In GameHacks::reset(), have the loop for deleting cheats objects match the loop in GameHacks::execute() for better code consistency. rogerman 2025-12-08 15:32:23 -08:00
  • 38a674d455 Windows Port/Interface: Make build files more robust and less prone to breakage for future Visual Studio versions. (Related to commit 39f27d3, 5e006a0, and PR #936.) rogerman 2025-12-08 14:53:23 -08:00
  • 5e006a009d Windows Interface: Make builds compatible with VS2012, VS2013, and VS2026. (Related to commit 39f27d3 and PR #936.) rogerman 2025-12-08 11:08:32 -08:00
  • 39f27d32d1 Windows Port: Make builds compatible with VS2012, VS2013, and VS2026. (Based on PR#936.) rogerman 2025-12-08 09:51:49 -08:00
  • 6d9f01dced Windows Port: Minor fixes to allow builds on older Visual Studio versions. rogerman 2025-12-07 20:23:06 -08:00
  • 23805ba217 gtk2: implement export battery save menu item rofl0r 2025-12-07 13:47:15 +00:00
  • f744661edf Cocoa Port: Reduce the size of legacy Release builds by stripping debugging symbols, and fix runtime for ppc32. (Regression from commit d5e4ed5.) rogerman 2025-12-07 01:39:57 -08:00
  • a0b088ea76 Fix compiling for non-Windows platforms. (Regression from commit df8816f.) rogerman 2025-12-06 20:29:49 -08:00
  • df8816f44f add system for per-game AR-style cheats (re #483) zeromus 2025-12-06 18:34:58 -05:00
  • cad94868c7
    desmume.props: VS2026 compatibility SimonAfek 2025-12-05 09:22:41 +01:00
  • e9f334fe10
    DeSmuME.vcxproj: VS2026 compatibility SimonAfek 2025-12-05 09:21:22 +01:00
  • 90b61893e4
    Merge 66c8f91a5e75a01f7a6d557b0dfe285f4bacfb23 into efd7486357ed1dbc0c6b4366b6676977b9296639 Marco Köpcke 2025-10-30 19:18:13 -04:00
  • efd7486357
    Add backup memory import/export API to interface (#932) Konstantysz 2025-10-29 16:22:56 +01:00
  • 49a9599ad4 Add backup memory import/export API to interface konstantysz 2025-10-27 19:43:00 +01:00
  • a9df2b9f41 Revert "interface API: add backup memory import/export functions (#930)" rofl0r 2025-10-27 18:18:11 +00:00
  • 0f862ddf11 Merge branch 'master' of https://github.com/TASEmulators/desmume into fix/backup-device-access-interface konstantysz 2025-10-27 15:21:23 +01:00
  • 85e857c6e7 Fix backup device access in interface API - Changed nds.backupDevice to MMU_new.backupDevice and added documentation konstantysz 2025-10-27 15:13:57 +01:00
  • 47f91c4fc2
    interface API: add backup memory import/export functions (#930) Konstantysz 2025-10-27 14:25:50 +01:00
  • 8dc6459aa3 Simplify API konstantysz 2025-10-26 16:38:55 +01:00
  • a8c725e282 Add documentation for backup import/export functions konstantysz 2025-10-24 14:01:30 +02:00
  • 353c4b92e2 Add backup memory import/export API to interface konstantysz 2025-10-21 21:25:34 +02:00
  • 84676aae89 Remove executable bit from source files Link Mauve 2025-10-05 14:27:20 +02:00
  • 2ab82a6c06 Windows Port: Fix bug where using a fixed window size for the display window would cause the display window to get shrunk by the GPU Scaling Factor. (Regression from commit d5e4ed5.) rogerman 2025-10-02 16:06:59 -07:00
  • 588b1ad15f OpenGL Renderer: Remove extraneous glFinish() calls that cause a minor performance loss on older GPUs. (Regression from commit 8238c35.) rogerman 2025-10-02 00:17:35 -07:00
  • 2f4fab6200 Fix compiling for GTK3 port. (Regression from commit d5e4ed5.) rogerman 2025-10-01 23:58:28 -07:00
  • d5e4ed57d7 GPU: Major refactor that simplifies the code and moves all GPU settings changes (except for 3D-related settings) to occur right before the beginning of line zero. All ports have been significantly affected by this change. - GPU core: GPU engine class instantiations are now allocated with new and delete operators, rather than using static Allocate() and FinalizeAndDeallocate() methods. - GPU core: GPU engines now reference an assigned GPUSubsystem object, rather than referencing the GPU global variable. - Cocoa Port: Move all CGL context creation code to its own appropriate file. This now follows the same code pattern as WGL, GLX, EGL, and SDL. - Windows Port: Reduce host memory usage for video framebuffers by using the framebuffer page system in GPUSubsystem directly instead of copying to separate DisplayBuffer structs. - WIndows Port: Slightly improve overall video performance for both DirectDraw and OpenGL by eliminating one framebuffer copy. - Windows Port: Significantly improve OpenGL video performance further (when running without video magnification filters) through better texture management, and also by eliminating one additional framebuffer copy. - Windows Port: Virtually eliminate all CPU usage when the emulation is idle by eliminating periodic video redrawing. - Windows Port: Greatly improve HUD redrawing when the emulation is idle. Window redrawing can now be up to the refresh rate of the host monitor. - Windows Port: Fix a bug where changing the video magnification filter would cause a memory leak. - GTK2 Port Only: Now supports vector fonts for HUD drawing via AGG2D_USE_VECTORFONTS, just like how the GTK3 port does it. - GTK2 / GTK3 Ports: The Code::Blocks project file now defines AGG2D_USE_VECTORFONTS for both ports. - GTK2 / GTK3 Ports: Maximum GPU Scaling Factor increased from 10.0 to 16.0. This now matches the maximum GPU Scaling Factor for the Cocoa and Windows ports. - GTK2 / GTK3 Ports: The default color format is now 18-bit RGB666 instead of 15-bit RGB555. This is the actual color format for the NDS, and now matches the default color format for the Cocoa and Windows ports. - GTK2 / GTK3 Ports: For anyone who cares to implement this -- it is now possible to set the video output color format, as the code is now ready for it. (Just set up some UI to call gtk*Event->SetColorFormat(), passing in an NDSColorFormat enum value to set the color format.) - GTK2 / GTK3 Ports: Fix a bug where taking screenshots would fail. rogerman 2025-10-01 23:17:56 -07:00
  • 815a70cd71 Colorspace Handler: Fix a compiling issue for AVX-512. (Regression from commit 586aea5.) rogerman 2025-09-27 19:27:28 -07:00
  • 335c7ad7e2 GPU: ClearWithColor() running in 15-bit color mode now always clears both native and custom buffers. - This is being done for compatibility with less sophisticated clients that don't handle the NDSDisplayInfo.isCustomSizeRequested flag. rogerman 2025-09-21 21:07:41 -07:00
  • 5610909e5c Render3D: Improve robustness of Render3DColorOut buffer binding. rogerman 2025-09-21 19:42:06 -07:00
  • c5bd273a9a Port commit 58bbe69 to GTK3 frontend thesource 2025-09-21 19:26:25 +03:00
  • 7761fdc0f0 Port commit 58bbe69 to GTK3 frontend thesource 2025-09-21 19:26:25 +03:00
  • 288a1e8347 Cocoa Port: Finish refactoring the audio output code. (Related to commit 3b07d28.) rogerman 2025-09-13 22:07:34 -07:00
  • a08de1b00a Cocoa Port: More refactoring. - Add "ClientCheatManager.cpp" and "ClientFirmwareControl.cpp" files, moving all this C++ code to their own files. - Remove the "cocoa_videofilter.mm/.h" files, which were never used and aren't planned to ever be used in the future. rogerman 2025-09-11 23:28:46 -07:00
  • 3b07d284cb Cocoa Port: Major refactor to replace the Obj-C class CocoaDSOutput with the C++ class ClientEmulationOutput. - Also replace more color-related data types from the generic uint32_t type to the more specific Color4u8 type. rogerman 2025-09-11 14:08:00 -07:00
  • 1638bc00ae saves.cpp: Improve the code consistency of other functions that have a similar file name usage pattern. (Related to commit 6754adf.) rogerman 2025-09-03 09:48:37 -07:00
  • 6754adff86 saves.cpp: Add a bit more clarity to what scan_savestates() is actually doing, which is to concatenate a file extension to a base file name, and then use the resultant file name for a check. rogerman 2025-09-02 14:17:21 -07:00
  • 9f009f4856 Cocoa Port: Rename the class "OGLVideoOutput" to "OGLDisplayPresenter". Also remove some unused, and now obsolete, class methods. rogerman 2025-08-29 11:33:05 -07:00
  • 0fb3d46798 Cocoa Port: Fix potential issues for OpenGL display views running their fetched video processing on ancient GPUs that really really want to clear the framebuffer for stability. (Regression from commit 1670e3a.) rogerman 2025-08-28 13:39:47 -07:00
  • 1670e3a750 Cocoa Port: OpenGL display views can now perform color conversions and apply the NDS Master Brightness on the GPU during video fetch, just like how Metal display views do it. - Systems with fast non-Metal capable GPUs (such as the MacBook Pro 17" Late-2011 or the iMac 27" Mid-2011) will see the most benefit, especially when running 18-bit video at high GPU scaling factors. - For older systems with slower GPUs, running the new GPU-based video postprocessing may result in an overall performance loss. In order to run the video postprocessing on the CPU like before, you can use the menu option "View > Run Filters on GPU" to control whether video postprocessing happens on the GPU or on the CPU. rogerman 2025-08-28 01:30:16 -07:00
  • a779eb7a59 gfx3d.h: Fix some comments. It's "byte", not "bit"! rogerman 2025-08-18 22:04:39 -07:00
  • 107e15d20b Linux Ports (All): Make EGL initialization more robust. rogerman 2025-08-17 21:21:13 -07:00
  • df06de4cca
    Remove OSMesa support (#905) linkmauve 2025-08-18 05:46:34 +02:00
  • b568e4359c Render3D: Huge refactor that adds the new Render3DColorOut class, which now handles the framebuffers that integrate the 3D layer and the BG0 layer. - Framebuffers are now double-buffered, which may help improve performance on games running at less than 60 FPS on host systems with weak GPUs. - For OpenGL, slightly improve framebuffer download performance on macOS. rogerman 2025-08-13 23:58:21 -07:00
  • 8238c353fc Render3D: Do some last minor refactoring tweaks. (Related to commit 2a52196.) rogerman 2025-08-09 22:16:46 -07:00
  • 2a5219649a Render3D: Do a bunch of refactor in preparation of a more substantial refactor that will follow. rogerman 2025-08-09 19:21:55 -07:00
  • 82761798cc Fix compiling on newer GCCs that are averse to referencing variables on an unexpected memory alignment. rogerman 2025-08-09 17:51:53 -07:00
  • 81683cb097 Fix memory alignment issues with bitfield structs when compiled on MSVC. rogerman 2025-08-09 16:00:34 -07:00
  • 75958772ef
    posix: in __glx_initOpenGL, add null check after XOpenDisplay (#920) En-En 2025-08-08 20:54:19 +00:00
  • 54b82e76f8 posix: refine GLX with no X server error message En-En 2025-08-08 20:37:41 +00:00
  • a7812dcea5 Cocoa Port: Don't set thread priorities on single-core systems, hopefully preventing thread starvation and helping single-core systems run more stable. rogerman 2025-08-07 21:20:17 -07:00
  • 5631f24576 posix: in __glx_initOpenGL, add null check after XOpenDisplay En-En 2025-08-08 00:34:51 +00:00
  • 4ca5101f52 Cocoa Port: Fix a performance bug where OpenGL display views weren't fully DMA'ing the video frames directly from app to GPU as intended. - This bug fix may improve video performance with certain configurations by up to 10%. (OpenGL display views only.) rogerman 2025-08-04 09:57:49 -07:00
  • 6715015cb6 Cocoa Port: Try to fix some potential issues with UI updates happening off the main thread. rogerman 2025-07-31 21:12:50 -07:00
  • 5cc55d60bd Cocoa Port: Correct the usage of the GL_UNPACK_CLIENT_STORAGE_APPLE switch in OpenGL display views. rogerman 2025-07-31 21:09:42 -07:00
  • cf5153d02d Cocoa Port: Fix building with "DeSmuME (Latest).xcodeproj" on older Xcode. (Regression from commit 445060a.) rogerman 2025-07-27 15:45:04 -07:00
  • e52e3963d0 GPU: Add AltiVec-accelerated functions for 2D layer compositing. (For PowerPC CPUs only.) - This improves GPU performance by up to 25% on a PowerPC 970MP. rogerman 2025-07-25 17:37:55 -07:00
  • 2c4ff5fea6 GPU: CopyLineExpand() and CopyLineReduce() now respect the NEEDENDIANSWAP flag for 32-bit elements. rogerman 2025-07-25 13:24:45 -07:00
  • ff7ad435d6 Texture Handler: Fix incorrect alpha masking on 16-bit direct textures for AltiVec. rogerman 2025-07-24 17:41:21 -07:00
  • 40c035f986 GPU: Fix remaining issues with display capture giving incorrect colors on big-endian systems. - This commit effectively reverts commit 6bcf70d, since this commit fixes the problem in the correct location this time. rogerman 2025-07-22 17:59:49 -07:00
  • f28dbbb5b3 GPU: Fix building for ARM NEON. (Regression from commit b6467fb.) rogerman 2025-07-22 15:44:28 -07:00
  • b6467fbd13 GPU: Begin transitioning 16-bit colors from the plain old u16 data type to the new Color5551 data type. rogerman 2025-07-22 15:00:20 -07:00
  • 12b4802a03 Refactor the union "COLOR" from GPU.h into types.h and rename it to "Color5551". This allows the union to be used in more places where appropriate. rogerman 2025-07-22 09:53:47 -07:00
  • 08394d33f9 GPU: Fix various graphical glitches on big-endian systems. - Fix a bug where max bright down would display a red screen instead of a black screen when running in 18-bit or 24-bit color mode. - Fix incorrect colors for various display capture scenarios. - 15-bit to 18-bit and 15-bit to 24-bit color conversions now assume byte swapping. This improves 2D graphics performance by up to 5%. rogerman 2025-07-19 22:29:29 -07:00
  • 6bcf70dc6d Colorspace Handler: Fix RGBA8888 to RGBA5551 color conversions in AltiVec. rogerman 2025-07-19 18:53:07 -07:00
  • f03f8943a0 Cocoa Port: Fix HUD input coordinate colors on big-endian systems. (Regression from commit deef974.) rogerman 2025-07-19 18:28:30 -07:00
  • 39973c52bc matrix.h: AltiVec accelerated functions buffer_copy_or_constant_*() and buffer_copy_or_constant_*_fast() now respect the NEEDENDIANSWAP switch. - Also do some code cleanup where appropriate. rogerman 2025-07-19 11:38:06 -07:00
  • e75b67043b Partially revert commit 0367d14. Looks like the algorithm for converting RGBA6665 to RGBA5551 colors in AltiVec doesn't need to be THAT accurate, so resimplify the algorithm again to pick up the speed. rogerman 2025-07-18 16:21:29 -07:00
  • 0367d1469d Colorspace Handler: Improve the accuracy of RGBA6665 to RGBA5551 color conversions in AltiVec. - Also do some code cleanup where appropriate. rogerman 2025-07-15 16:40:27 -07:00
  • 66b525b8dc Video Filters: Separate all xBRZ custom texture upscaling code from the standard xBRZ code. rogerman 2025-07-15 14:06:00 -07:00
  • deef974c85 Cocoa Port: Fix a bug where HUD colors would fail to work when running on macOS Leopard or Snow Leopard. - Also fix a bug on big-endian systems where HUD colors were being stored in the user defaults file in big-endian byte order instead of little-endian byte order. rogerman 2025-07-14 14:47:12 -07:00
  • 63114d0aa2 Fix texture upscaling on big-endian systems. rogerman 2025-07-12 20:25:09 -07:00
  • b962b925f5 Cocoa Port: Update CheatDatabaseViewer.xib to a file format that is compatible with Xcode 16. rogerman 2025-07-11 02:01:49 -07:00
  • 445060a0cc Cocoa Port: Update Xcode project files to reflect better build procedures. - The main Xcode project disables Metal API Validation for Debug builds, since this seems to cause runtime issues on Xcode 16. - The Xcode 3 project removes the git lookup build script for the PowerPC LLVM-Clang build, since the typical use case for this particular build won't have git commands available. rogerman 2025-07-11 01:43:54 -07:00
  • 557176faa3 Cocoa Port: Silence a compiler warning when building on older Xcode. rogerman 2025-07-11 00:45:08 -07:00
  • 266301a13a GPU: Vectorized mosaic rendering now uses an aligned working buffer, improving performance for SSE2 and AVX2. rogerman 2025-07-04 15:15:32 -07:00
  • e6500f2010 Silence even more compiler warnings. (Related to commits 2b40a2f and 22a833b.) rogerman 2025-07-04 15:00:20 -07:00
  • b23b8e7e6c Cocoa Port: Fix a bug where running OpenGL display views on modern macOS would fail. (Regression from commit a98c319.) rogerman 2025-07-04 14:46:30 -07:00
  • 22a833b52e Silence some more compiler warnings. (Related to commit 2b40a2f.) rogerman 2025-06-27 11:20:32 -07:00
  • d3ee4eaabb OpenGL Renderer: Fix rendering when a non-standard viewport is used. (Regression from commit 3db6d56. Fixes #902.) rogerman 2025-06-25 16:03:43 -07:00
  • 2b40a2f12c Take another pass at silencing a bunch of compiler warnings where appropriate. rogerman 2025-06-24 19:33:17 -07:00
  • a98c319cdf Cocoa Port: Give OpenGL display windows more chances to acquire a hardware-accelerated context before falling back to Apple Software Renderer. rogerman 2025-06-24 17:23:30 -07:00
  • 81afd288cc Cocoa Port: Silence a whole bunch of compiler warnings. rogerman 2025-06-24 17:18:53 -07:00
  • bd6a421c0c agg: don't leak non-const reference to const private member. rofl0r 2025-06-24 12:16:52 +00:00
  • 4ba1d73e22 CI: add mingw action rofl0r 2025-06-24 11:35:06 +00:00
  • c02fbdfd00 mingw Makefile: explicitly add C++ std rofl0r 2025-06-24 11:46:56 +00:00