Not open for further replies.

DeSmuME 0.9.13 released. High res rendering and limited debugging added to DS emulator.


Old emulators never die, they just go to sleep for a while. In this case despite being some 7 years since an official release we have a new version of the DS emulator from the official website. There have been forks and tweaks before but official stuff was nowhere really to be seen. The list of bugfixes and enhancements is extensive, including several to the movie recorder, but most interesting for those here are likely to be the enhanced resolution seen in the X432R fork has been recreated for this, and we are starting to see onboard debugging (useful for cheat makers, ROM hackers and homebrew developers) taken onboard rather than left to GDB stub (see also NitroDebugger. Linux fans might wish to note the GDB support for the Linux port has been improved too). It is noted that Windows XP and X86 builds are no longer to be a thing officially, though Windows 7 "will be dropped over my dead body" according to the changelog.
For those unfamiliar with enhanced resolution then 3d in games is unlike most 2d games in being a list of points in space rather a line of pixels. This means you can quite easily increase the apparent resolution and other aspects over what the official hardware might do, add widescreen and otherwise improve things where 2d is largely limited to what was originally there outside of tricks that don't generally work that well. The results might not be as impressive as they are for some of the home consoles you might have previously seen such techniques employed for as the DS was predominantly still a 2d device with some 3d abilities but at the same time there are a lot of full 3d games that will benefit here, including a lot of 3d games people don't know are actually 3d; New Super Mario Brothers for example is a fully 3d game but for the lives counter and other minor UI elements.

Changelog said:
0.9.12 -> 0.9.13

In this version we have added support for high-resolution 3D rendering. Try the new "GPU Scaling Factor" feature to
increase the 3D resolution beyond the native resolution of 256x192 pixels. Also, the Cocoa frontend sees continued
radical enhancements and while the Windows frontend sees some new incremental enhancements.

bug: numerous host compatibility and accuracy improvements to OpenGL renderer, tho off-by-1 sampling bugs will remain.
bug: fixes to 'edge marking', shadows, box tests, maths & depths precision, and some other rarer 3d rendering usecases
bug: fixes to AR cheat processing
bug: fixes to cheat database game identification
bug: fix interpolation at SPU loop points, emulation of SPU half/byte size registers & others
bug: backlight emulation added (for fade effects)
bug: other small ongoing fixes to 2d rendering and GPU memory maps
bug: emulate slot-1 read timings, probably for AP-related purposes
bug: general improvement to hardware component power-off state handling, especially 3d engine
bug: fix virtual fat (homebrew) building in environment with symlinks
bug: fix some rarely-bugged CPU instructions
bug: fix bugs in homebrew filesystems
bug: fix bugs in big-endian hosts
bug: fix loading gzipped files and some newer rars
bug: fix inconsistencies and omissions in command-line processing
bug: extensive improvement to wifi emulation, though wifi is still not supported.
bug: firmware file settings/management now behaves more or less sensibly as advertised
bug: fix movie (dsm) being bitrotted and failing to sync settings or manage sram properly
enh: movie (dsm) add record from state feature
enh: high-resolution 3d rendering, from 1x-16x the native resolution of 256x192 pixels
enh: texture upscaling for 3d rendering, from 1x-4x the native texture size
enh: texture smoothing option for OpenGL renderer
enh: user-selectable internal GPU bpp 15/18/24 to change from accuracy to attractiveness
enh: game-specific hacks library finally implemented internally, user-selectable.
enh: game-specific hack for popular games that randomly corrupt their sprites when going in and out of doors
enh: officially supported arm and arm64 jits and overall improvements on arm hosts
enh: emulator now makes "(backups)" states on every loadstate, for in case you hit loadstate on accident
enh: User-selectable MSAA level for OpenGL renderer.
enh: "interface" for dll/so control of a desmume core
enh: optimizations, cpu arch-specific, and otherwise, to all 3d and 2d rendering, ranging from SSE to AVX2
enh: lua - Add raw joystick API and setlayermask API (windows only)
enh: lua - Add gamecode APU for game-specific hacks in scripts and 'freelook' script functionality
enh: add options to emulate game cards more badly, to trip AP on purpose
enh: fix some save type / slot type autodetections and save memory import codepaths
enh: add fake impossible debug AR code to select CPU: DFFFFFFF 77777777/99999999
enh: add --rtc-day and --rtc-hour to specify an offset from host RTC (GBAtemp additional note. RTC = real time clock, what games use to know what time it is and adjust events or save dates accordingly. Offsets being useful for triggering said events or going on holiday and not wanting to mess things up there)
enh: support newer duc files
enh: upgrade and add some upscalers, hq3x, 6xBRZ, etc.
enh: add "interface" frontend for use via dll/so

note: windows xp and x86 support is dropped for official builds. windows 7 support will be dropped over my dead body.
bug: fix numerous bugs involving filenames and path with non-latin characters
bug: fix bugs in various display layout, rotate, vsync, gaps, and display method configurations
bug: fix bugs in user configured paths
bug: aviout/wavout is now more robust
bug: fix bugs in window clearing and various display method configurations which leave garbage on screen
enh: add fullscreen display options
enh: major revisions to mic sample feature, loaded as a bunch and rotated with hotkeys
enh: add user-facing option to control console window visibility
enh: add some crude capability for breakpoints to cpu debugger and memory viewer, and other bugfixes
enh: add "screen size ratio" for smaller sub-screens, etc.
enh: add some hotkeys
enh: add option to kill stylus input when outside the NDS screen
enh: improve cheat list UX
enh: optimizations to reduce cpu usage overall and during idle especially for high resolutions, scalers, etc.
enh: improve pen&touch support

bug: fix issues with v-sync causing frame rate issues under various circumstances
bug: fix issues when running a display window in fullscreen
enh: add native binary support for Apple Silicon CPUs
enh: Macs with an Intel Haswell or later CPU now benefit from the new AVX2 optimizations
enh: add support for Apple's Dark Mode user interface introduced in macOS Mojave
enh: add some new toolbar items for the following: Frame Advance, Enable/Disable HUD, Toggle Displays
enh: turbo inputs can now be configured with a frame-by-frame press/release pattern
enh: display windows now run their video output using Metal, if available
enh: display windows now support HiDPI monitors like Apple's Retina monitors
enh: display windows have new "Hybrid" layouts for better fit on modern widescreen monitors (View > Display Layout)
enh: display windows can now change the video source going to each individual DS screen (View > Display Video Source)
enh: display windows can now run a Heads-Up Display for reporting useful info (View > Show HUD Settings)
enh: add support for changing the NDS stylus pressure (Emulation > Show Stylus Settings)
enh: screenshots can now be captured using a dedicated tool for it (Tools > Show Screenshot Capture Tool)
enh: lots of miscellaneous stability and performance improvements

note: SDL2 now employed
note: GTK3 port added, built with meson
note: CLI and GTK ports improved, according to their respective niche (gaming vs functionality)
note: CLI: added horizontal screen layout
note: CLI: added floating-point scale factor support with HW stretching
note: CLI/GTK2: improved gdb stub for game debugging
note: CLI/GTK2/GTK3: various other improvements

0.9.11 -> 0.9.12

We decided to start skipping even versions to disambiguate official releases from several years of interim builds,
and to insulate ourselves from consideration for world record of "longest time between consecutive releases" by
creating confusion as to what constitutes a consecutive release.

Official site post
Github (source and downloads for Windows and OSX including OSX openemu version)
Linux folks either have to build it themselves (GTK3 version now available in addition to command line and GTK2 versions) or wait for it to hit repos.

GBAtemp discussion
Not open for further replies.
General chit-chat
Help Users
  • No one is chatting at the moment.
    Skelletonike @ Skelletonike: hm