DeSmuME X432R History

Desmume X432R Pokemon Black

DeSmuME X432R Development History


X432R Author: yolky-nine

Official Now Defunct Home Page - http://shikaver01.webcrow.jp/desmume_x432r/index.html

This version is a personalized adaptation of the best Nintendo DS Emulator - DeSmuME, with added experimental high-resolution 3D model rendering feature among others.

DeSmuME X432R is an unofficial mod version of DeSmuME DS Emulator. The X432R versin adds high-definition rendering of 3D game objects in DS games, upscaling resolution by up to four times (X4 or 3 or 2). You do need a powerful modern Windows PC equipped with a good CPU and an OpenGL graphics card to fully enjoy it. The DeSmuME X432R download archive contains both 32-bit and 64-bit Windows versions.

Download DeSmuME X432R - Latest Version » 

Desmume X432R Logo

X432R History

DeSmuME non-formula modified version X432R
Author: yolky-nine

For Windows Only.
There may be a fatal bug. Please use it at your own risk.


DeSmuME X432R 2015-04-19-0
Created based on official SVN r5164

High-resolution 3D rendering (experimental)
Improved Edge Marking drawing speed of high-resolution SoftRasterizer
Enable Direct3D Display Method when using standard resolution 3D renderer.


DeSmuME X432R 2015-03-15-0
Created based on official SVN r5093

View menu โ†’ Add Screen Size
Display size settings for the upper and lower screens.

Hotkey settings window โ†’ Tools โ†’ Added Swap Screen Size.
Display size switching function for upper and lower screens.

View menu โ†’ Delete Maintain Aspect Ratio.
View menu โ†’ LCDs Layout โ†’ Delete the Main screen first
View menu โ†’ LCDs Layout โ†’ Delete Sub screen first

Config menu โ†’ Display Method โ†’ Filter
Valid only when Display Method is set to Direct3D.
When turned ON, the screen is displayed using linear interpolation.

Hotkey settings window โ†’ Tools โ†’ Add Slow-Motion
Hotkey settings window โ†’ Tools โ†’ Added Toggle Slow-Motion
Slow motion function.

Config menu โ†’ Add Fast-Forward/Slow-Motion Speed Limit
Fast-Forward and Slow-Motion FPS limiter settings.

Hotkey settings window โ†’ Tools โ†’ Delete Toggle 1/2 Speed
Removed Hotkey Settings Window โ†’ Tools โ†’ Toggle 1/4 Speed

Other processing fixes.


DeSmuME X432R 2015-02-15-0
Created based on official SVN r5093

High-resolution 3D rendering (experimental)
Changed the drawing process using Post-Processing Shader.
This change will cause previous versions of shader programs to no longer work.
Added Gaussian & Sharpness / Trimmed-Mean & Sharpness to Post-Processing Shader

Desmume X432R Screenshots

DeSmuME X432R 2015-02-08-0
Created based on official SVN r5093

High-resolution 3D rendering (experimental)
Corrected processing.
Config menu โ†’ Display Method โ†’ Add Direct3D
Draws using Direct3D for output to the screen.
Config menu โ†’ Add Post-Processing Shader
Enabled only when Display Method is set to Direct3D.
Use the shader program in the D3D9_Shaders folder.
An environment that supports Direct3D 9.0c (Shader Model 3.0) is required.


DeSmuME X432R 2015-01-18-0
Created based on official SVN r5082

High-resolution 3D rendering (experimental)
Part of the processing was parallelized using PPL.
3D Settings window โ†’ Add Low-Quality Anti-Alias
This is a function that lowers the Anti-Alias image quality and draws.
Please try using it if the execution speed decreases with Anti-Alias ON.
3D Settings window โ†’ Add Low-Quality Alpha-Blend
Lowers the image quality of alpha blending when drawing 3D/2D layers to reduce CPU load.
Config menu โ†’ Display Method โ†’ Delete OpenGL/Filter.
Execution speed may decrease when used with a high-resolution OpenGL renderer.

others
It is now possible to reduce the CPU load of the Memory viewer window, etc.
Enabled when Config menu โ†’ CPU Power Saving ON.


DeSmuME X432R 2014-08-17-0
Created based on official SVN r5047

High-resolution 3D rendering (experimental)
Changed depth value calculation for OpenGL renderer.


DeSmuME X432R 2014-07-19-0
Created based on official SVN r5043

High-resolution 3D rendering (experimental)
Changed stencil test for OpenGL renderer.
Fixed an issue where some polygons were not displayed correctly.

others
Added hotkey settings window โ†’ Tools โ†’ Toggle 1/2 Speed, Toggle 1/4 Speed
This one-button function changes FPS by Decrease Speed / Increase Speed.
others
Fixed an issue where loading would fail if the ROM file name contained certain characters.


DeSmuME X432R 2014-06-29-0
Created based on official SVN r5043

High-resolution 3D rendering (experimental)
Corrected processing.


DeSmuME X432R 2014-06-14-0
Created based on official SVN r5042

High-resolution 3D rendering (experimental)
Changed internal processing to a new method.
Improved display reproducibility.
If Enable Anti-Aliasing is turned on, the boundary between 2D and 3D may become dirty.
Removed Async Mode and Debug Mode.


DeSmuME X432R 2014-05-25-1
Created based on official SVN r5038

High-resolution 3D rendering (experimental)
Fixed fog handling.
Fixed an issue where the screen was not displayed on a single-core CPU.


DeSmuME X432R 2014-05-25-0
Created based on official SVN r5038

High-resolution 3D rendering (experimental)
Improved fog handling for high-resolution renderers.
Removed Enable OpenGL Fog from the 3D Settings window.
Changed so that DirectDraw HW/SW can be selected for Display Method when using a high-resolution renderer.
However, it can only be used if the display's color depth is 32bpp.
Fixed an issue where the screen would not display correctly when the LCD layout was set to One LCD with a high-resolution renderer.


DeSmuME X432R 2014-05-18-0
Created based on official SVN r5038

High-resolution 3D rendering (experimental)
Improved processing.
Added Enable OpenGL Fog to 3D Settings window
Turning this item ON enables fog in the high-resolution OpenGL renderer.
Since it still needs to be completed, the reproducibility could be higher.
If the screen is strange, please turn it off.


DeSmuME X432R 2014-05-10-0
Created based on official SVN r5038

High-resolution 3D rendering (experimental)
Improved internal processing.
Improved display reproducibility.
Fixed a bug in the HUD display.
Config menu โ†’ High-Resolution 3D Renderer โ†’ Add Async Mode
This Async Mode is a function that separates a part of the drawing process from the main thread and executes it asynchronously.
While in use, the screen may not update properly.


DeSmuME X432R 2014-04-28-0
Created based on official SVN r5038
Changed the process slightly.

others
Fixed a bug in file path processing that was changed in the previous version.


DeSmuME X432R 2014-04-27-0
Created based on official SVN r5038

High-resolution 3D rendering (experimental)
Fixed internal processing.
Fixed an issue where 3D rendering would be incorrect when using a high-resolution OpenGL renderer on x64 builds.

others
Fixed touch input processing, file path processing, etc.


DeSmuME X432R 2014-04-20-0
Created based on official SVN r5036

High-resolution 3D rendering (experimental)
Corrected processing slightly.

others
If the OSD message display color is changed when saving the state, it will be changed back to white after the message is output.


DeSmuME X432R 2014-04-18-0
Created based on official SVN r5024

High-resolution 3D rendering (experimental)
Internal processing has been significantly revised.
It is now possible to reproduce screen effects that could not be displayed before.
The screen may need to be drawn correctly since it still needs to be completed.
Standard Mode, Simple Mode, Bilinear Downscaling, and Hacks have been abolished.
As for Hacks, we may reimplement it if we cannot deal with it through future improvements to the high-resolution Renderer itself.
Fixed an issue where a high-resolution 3D display might not work appropriately on single-core CPUs.

others
Added FPS display to the window title bar.


DeSmuME X432R 2014-03-29-0
Created based on official SVN r5024

Organize items in the Config menu.
Add submenus, change item names, etc.

Config menu โ†’ High-Resolution 3D Renderer
High-Quality Mode
High-resolution mode.
Uses sprite detection processing implemented in ver.2014-03-16.
It is currently incomplete, so movies and screen effects may not be displayed.
We have also changed the drawing process for the 2D part to avoid displaying 3D images at ordinary resolution.
Backgrounds, etc., may not be displayed correctly.
Normal Mode
Normal mode.
Performs sprite detection processing similar to high-resolution mode.
Movies and screen effects may not be displayed here either.
Image quality, such as screen fade effects, will be lower than in high-quality mode.
Background drawing uses the same processing as the standard Renderer, so the fidelity should be higher than in high-quality mode.
Simple Mode
The old way.
Performs sprite detection processing using the method used until ver.2014-03-09.
Noise tends to appear on the screen (this is noticeable when two screens are displaying 3D at the same time or when 3D is being drawn intermittently),
The display is the most reliable because almost no changes are made to the internal processing.
Try using this mode when you encounter parts that are not displayed in other modes.
If the noise is severe, turning on Bilinear Downscaling may improve the appearance.
Bilinear Downscaling
3D image reduction processing using the bilinear method, which was used in the previous version's high-quality mode, can now be turned on and off independently.
Turning this on when the noise occurs due to the sprite detection function can reduce visual discomfort.
Since sprite detection performance at the outer 3D edges decreases while in use, we recommend turning it off if it is not needed.
Removed Enable Sprite Detection
Remove 3D Opacity

Config Menu โ†’ High-Resolution 3D Renderer โ†’ Hacks
Inerframe Alpha-Blend
Moved Enable Interframe Alpha-Blend into a submenu.
Even if this item is turned on, it will not work in any software other than the required one (in other words, it is OK to leave it turned on).
Blank-Frame Skip
This is a function that skips frames where 3D is not drawn when 3D drawing is performed intermittently.
Even if it is turned on, it will not work with any software other than the required software.
The following two modes are switched depending on the frame skip setting.
Frameskip 0:
It does not skip internal drawing processing but skips blank frames in the output to the screen.
Stuttering may occur on the screen, but the display quality remains almost constant.
Frameskip 1 or more:
In addition to the above processing, a process that adjusts the frame skip interval according to the drawing timing is enabled.
The numbers specified in the frame skip settings are ignored.
It is easy to increase the frame rate, but the screen becomes distorted when adjusting the timing.
The method for determining blank frames could be more imaginative, so it may not function correctly in some situations.
If you experience problems with the screen not updating, try turning this item off.
Please note that this function is temporarily disabled during Fast Forward.
These items are intended to be temporary to compensate for imperfections in high-resolution rendering capabilities.

others
View menu โ†’ Window Size โ†’ No Resize
Changed so that the window maximize button is not disabled even if No Resize is ON.
When changing the 3D Renderer to a high-resolution version with the window maximized or turning on Maintain Aspect Ratio, etc.
Fixed an issue where the window size was incorrect.
The maximized window and full-screen state are now saved when the program exits and restored when the program is started.
There is a problem where the original window position is not saved when exiting in full-screen mode.
Other minor changes related to maximization and full screen.
You may experience problems when switching between windowed mode and full-screen mode.
View Menu โ†’ Show Menubar in Full-Screen Mode.
If you turn this item ON, the menu bar will not be hidden when you switch to full-screen mode with Alt+Enter.
Config menu โ†’ Slightly changed the internal processing of Sound Output.
Slightly changed hotkey input processing

DeSmuME Download


DeSmuME X432R 2014-03-22-1
Created based on official SVN r5024

others
Disable Open ROM changes from the previous version
If you load a ROM with invalid characters in the file name, the saved data file name will be incorrect.
I cancelled the response for now.

Known defects
Refer to the same previous item.


DeSmuME X432R 2014-03-22-0
Created based on official SVN r5024

High-resolution 3D rendering (experimental)
Config menu โ†’ High-Resolution 3D Renderer โ†’ Added Enable High-Quality Mode
Enabling/disabling high-quality mode.
By turning it on, 3D at standard resolution will be hidden and jaggies at the outer edge of 3D will be reduced.
It also improves image quality degradation caused by screen fade effects and translucent sprites, but it sometimes has no effect.
The execution speed will be slightly reduced while in use.
If the display is strange, try turning it off.

others
Changed the maximum number of Recent ROMs to 30
Fixed a bug where Open ROM could fail if the file name contained invalid characters.

Known defects
Refer to the same previous item.


DeSmuME X432R 2014-03-16-0
Created based on official SVN r5024

High-resolution 3D rendering (experimental)
Improved internal processing
Changed internal processing of sprite detection function.
Image quality deterioration due to false detection is now less likely to occur.
Improved stuttering when displaying 3D on two screens at the same time.
Config menu โ†’ High-Resolution 3D Renderer โ†’ Added Enable Interframe Alpha-Blend
We have experimentally implemented a function to combine and display two frames in situations where 3D drawing is divided into multiple frames.
Although it is designed to have as few side effects as possible, we recommend turning it off if unnecessary.
If the frame skip is set to an odd number, a correct display will not be possible (this also applies to the standard Renderer).
Config menu โ†’ High-Resolution 3D Renderer โ†’ Add Show Fade Effect
Due to changes in the sprite detection function, some screen fade effects may not be reflected correctly.
Semi-transparent polygons are displayed, overlapping the screen during fade.
If the display is strange, try turning it off.
Config menu โ†’ High-Resolution 3D Renderer โ†’ Delete Enable Dual Sprite Detection
This feature has been removed as it is no longer needed.
Config menu โ†’ High-Resolution 3D Renderer โ†’ Removed Enable Triple Layer Mode
In this version, it is always ON.

others
Changed to load touch input API for Windows7 dynamically
It can now be started on Windows Vista and other devices not supporting the API.
Minor changes to touch input processing, etc.

Known defects
The top of the screen may flicker
This is a problem with the sprite detection function.
There are frames where sprite detection is not executed in that part.
This can be avoided by setting frame skip to 1 or higher.
Abnormal termination may occur when running Open ROM/Recent ROM, changing the 3D Renderer, or closing the window.


DeSmuME X432R 2014-03-09-0
Created based on official SVN r5018

High-resolution 3D rendering (experimental)
Addressed the phenomenon of screen flickering in Fast Forward.
In addition to dealing with flickering, high-resolution 3D is no longer hidden, even during Fast Forward.
This is a temporary measure so that it may become strange depending on the frame rate, etc.
Config menu โ†’ High-Resolution 3D Renderer โ†’ Added Enable Triple Layer Mode
If this item is OFF, it will have a two-layer structure that displays sprites (normal screen with the 3D part transparent) on top of the 3D.
When set to ON, in addition to the above two layers, a three-layer structure will be created in which the normal screen is displayed below the 3D screen.
This avoids the problem of clutter when a 3D model is drawn on top of a sprite background.
Config menu โ†’ High-Resolution 3D Renderer โ†’ Add Show Overlayed Sprite
Information For debugging.
Available only when Enable Triple Layer Mode is ON.
Show/hide sprites that are displayed above 3D.
If you turn it off, the HUD will no longer be displayed.

others
Create a version with touch input disabled
This is the case with executable files with "XP" in the file name.
It should also work on Vista and XP, which do not support the touch input API for Windows 7.
Also, please try using this if you have input-related problems, such as hotkeys.
Distribution has been discontinued because the display may become strange when using the OpenGL renderer in x64 builds.
Please use the executable file for x86.

Known defects
The display becomes strange when a 3D drawing is divided into multiple frames.
See the same item in the previous version.
The screen is dirty during screen fade, etc.
The sprite detection function may be doing something wrong.
Try turning off Enable Dual Sprite Detection or turning on Enable Triple Layer Mode.
If the problem still does not improve, please turn off Enable Sprite Detection.
Abnormal termination may occur when running Open ROM/Recent ROM, changing the 3D Renderer, or closing the window.
What I wrote last time had nothing to do with it.
There are some environments that do not reproduce, so there may be a problem with the test environment, but in rare cases, abnormal termination occurs.


DeSmuME X432R 2014-03-08-0
Created based on official SVN r5018

High-resolution 3D rendering (experimental)
Improved internal processing
Reviewed the synchronization process of the sprite detection function.
Correct processing is now possible even when frame skip is set to a value other than 0.
The problem with the 3D drawing timing being off has also been resolved, and the overall sense of discomfort should have decreased.
I supported simultaneous 3D display on two screens. However, the screen may be choppy.
Due to changes in the display method between high-resolution 3D and regular screens, lines may appear at the boundary between 3D and sprites.
If you are concerned about this, please try turning off Enable Sprite Detection.
Fixed a bug related to the HUD display.
Config menu โ†’ High-Resolution 3D Renderer โ†’ Added Enable Dual Sprite Detection
Enabling/disabling the function that increases detection accuracy by performing sprite detection on two frames.
Turning it on will reduce false detections and improve image quality.
It is OK to leave it on, but if the display is strange, try turning it off.
Config menu โ†’ High-Resolution 3D Renderer โ†’ 3D Opacity โ†’ Add 50% to 100%
Available only when Enable Sprite Detection is OFF.
By lowering the opacity of the 3D part, you can make parts that are hidden when sprite detection is OFF visible.
Config menu โ†’ High-Resolution 3D Renderer โ†’ Add Show Normal Screen
Config menu โ†’ High-Resolution 3D Renderer โ†’ Add Show High-Resolution 3D
For debugging.
Switch display/hide of normal screen and high resolution 3D.
Added the ability to use the anti-aliasing (MSAA) feature of the OpenGL renderer
AntiAliasing patch: http://sourceforge.net/p/desmume/patches/156/ (author: Danyal Zia)
You can turn it on/off with Enable Anti-Aliasing in the 3D Settings window.
In environments that do not support OpenGL MSAA, it will not work even if it is turned on.
Hotkey settings window โ†’ Tools โ†’ Delete Toggle Sprite Detection

others
Slightly changed internal processing, such as enabling Sound

Known defects
The display becomes strange when a 3D drawing is divided into multiple frames.
High-resolution 3D images need to be drawn correctly when the foreground and background are being drawn alternately.
Turning off Enable Dual Sprite Detection may make things better.
Regarding abnormal termination
This occurs if you change Visual Studio's build options and build without deleting the existing object files.
The executable file that took the countermeasures no longer reproduces the problem.
We cannot guarantee that there are no serious bugs in the program, so we recommend backing up important data.
The screen may flicker during screen fades or Fast Forward.


DeSmuME X432R 2014-03-01-0
Created based on official SVN r5000
first release

High-resolution 3D rendering (experimental)
3D Settings window โ†’ Add OpenGL X2 to X4, SoftRasterizer X2 to X4 to Renderer
If this Renderer is selected, the Video Filter settings will be ignored, and the Display Method will be fixed to OpenGL.
OpenGL textures are used to display on the screen, and it will not work in environments where the texture size that can be created is less than 4096.
Additionally, OpenGL X2 to X4 can only be used in environments that support OpenGL 2.1.
While in use, the CPU load will increase significantly compared to the standard Renderer.
Execution speed varies depending on the conditions during emulation, and SoftRast seems to run faster than OpenGL in some cases.
Please note that high-resolution rendering is not reflected in DeSmuME's built-in screenshot function.
This function is a simple implementation that simply draws a high-resolution rendered 3D image on top of a normal-resolution screen.
Excessive expectations are prohibited.
Config menu โ†’ High-Resolution 3D Renderer โ†’ Added Disabled to X4
You can change the rendering resolution directly from the menu.
The high-resolution rendering function is enabled in X2 to X4 and disabled in Disabled.
Config menu โ†’ High-Resolution 3D Renderer โ†’ Add Enable Sprite Detection
Hotkey settings window โ†’ Tools โ†’ Add Toggle Sprite Detection
Detects screen fade effects and sprites drawn on the OBJ layer (displayed above 3D),
Enables/disables the function to redraw on top of high-resolution 3D.
When turned on, the sprite display will improve to some extent, but the image quality of the 3D part may deteriorate.
If you turn it off, there may be a problem where some sprites are hidden by the 3D image, which may cause the screen to flicker.
Basically, leave it ON.
If it is reimplemented in a better way and there is no longer a need to turn it off, this setting item will be removed.

Input related
Compatible with Windows 7 touch input
Changed part of gamepad/keyboard input processing so that it does not conflict with touch input
It may not work depending on the environment.
When the emulation frame rate drops, the response to hotkey input becomes slow, etc.
There are some differences from the official version.
Disable touch screen input by clicking on the top screen

Menu related
View โ†’ Window Size โ†’ Add No Resize.
A mode that changes the window to a window with a movable title bar that cannot be resized.
View โ†’ Screen Gap โ†’ Change the initial value of Editable Via Border Dragging to false.
Config โ†’ Add SoftRasterizer
It has the same functionality as the Hotkey Toggle Rasterizer.
When using a high-resolution renderer, switch between SoftRast and OpenGL while maintaining the rendering resolution.
Config โ†’ Add Enable Sound.
Enable/disable audio output without changing Sound Core settings.
Config โ†’ Added Enable CPU Power Saving.
If the CPU usage rate does not decrease even after pausing, you can reduce the CPU usage rate by turning on this item.
However, there is a possibility that emulation performance will deteriorate or some problem may occur.
Move cheat-related items such as Tools โ†’ Cheats to a position where they can be easily selected.
Tools โ†’ Add Show Console.
Show/hide console window.

Hotkey settings window
Add Tools โ†’ Toggle Sound Enabled
It has the same function as Enable Sound in the Config menu.

others
Changed to use ini file with the same name as the executable file
If you change the executable file name to DeSmuME_hogehoge.exe, the configuration file will also use DeSmuME_hogehoge.ini.
Compatible with Japanese ROM

Known issues related to high-resolution renderers
When 3D is displayed on two screens at the same time, it is not drawn in high resolution or the screen flickers.
NDS can only draw 3D on one screen, so when displaying 3D on two screens at the same time,
It seems that they are using a method of outputting to the screen while alternately switching the drawing destination.
Currently, high-resolution 3D displays do not support simultaneous output on two screens like this.
Abnormal termination may occur when running Open ROM/Recent ROM, changing the 3D Renderer, or closing the window.
Quite deadly.
The screen may flicker during Fast Forward.


ALL
Enable Video Filter to be used with high-resolution renderers
I could be more motivated.