Giter VIP home page Giter VIP logo

tasemulators / desmume Goto Github PK

View Code? Open in Web Editor NEW
2.7K 112.0 517.0 94.97 MB

DeSmuME is a Nintendo DS emulator

Home Page: http://desmume.org

License: GNU General Public License v2.0

Makefile 0.35% Shell 0.03% M4 0.05% C++ 45.17% C 47.05% Batchfile 0.01% AppleScript 0.01% Ruby 0.03% Objective-C 0.75% Objective-C++ 4.27% Python 0.04% Assembly 0.23% JavaScript 0.01% Roff 0.04% Metal 0.62% Meson 0.08% CMake 0.07% Pawn 1.22%
emulator nds c-plus-plus arm cpp emulation

desmume's Introduction

desmume's People

Contributors

aikku93 avatar anlsh avatar atsampson avatar awforsythe avatar cosmo-ray avatar davg-qqq avatar fpscan avatar inactive123 avatar intact avatar janisozaur avatar jules-a avatar keppl avatar klapeto avatar linkmauve avatar lino5000 avatar lucianposton avatar maddthesane avatar matrixdj96 avatar mjunix avatar retr0s4ge avatar rofl0r avatar rogerman avatar salz avatar simonafek avatar suuperw avatar thecapypara avatar thesourcehim avatar windwakr avatar yackerw 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

desmume's Issues

Homie Rollerz (U) - No character on top selection screen on both render

On the racer selection screen, the top screen should show the selected racer (3d model).

2202 - homie rollerz u __21917

--- ROM INFO ---
ROM game code: YHRE
ROM serial: NTR-YHRE-USA
ROM chipID: 00000FC2
ROM internal name: HOMIEROLLERZ
ROM developer: Unknown

--- PC INFO ---
CPU: Intel i5-4670K
GPU: AMD Radeon 7950
Driver version: Crimson ReLive Edition 16.12.2 (December 2016)
OS: Windows 7 x64

MacOS: HUD settings in Preferences do not do anything

In the Preferences menus, the HUD boxes don't seem to do anything. I don't know whether it's because it's reading from another settings file, but the HUD settings only seem to work when changing them from the View settings in the menu bar. Hopefully the pictures illustrate what I'm talking about.

screen shot 2017-03-02 at 10 26 04 am

screen shot 2017-03-02 at 10 26 31 am

Also, where is the settings file located? As in, when I save the settings, where does it go? I can't seem to find it in ~/Library.

Mario Kart DS decal graphic glitch

This bug is related to the commit " OpenGL Renderer: Allow all opaque non-shadow polygons to write to depth buffer"

Before this commit:
before

After this commit:
after

Ultimate Mortal Kombat: corrupted graphics on upper pause screen

https://i.imgur.com/5zCWerg.png
The corrupted part of the graphics are the previous screen's graphics with a different palette.

I think this game is DMA'ing its upper pause screen background to 0x06210000, and any parts it tries to do at 0x06218000+ don't seem to take hold?

The intro screens use that same addresses, but VRAM is set up differently. Some pics of no$gba's IO map:
https://i.imgur.com/ejRR42o.png
https://i.imgur.com/VuIGSGV.png (no$gba doesn't show any of the upper pause screen correct)

Is this some sort of mirroring issue or something?

My Puppy Shop (E) - White screen on start with ARM9 error

After loading the game, DesMuMe hangs with "ARM9: Undefined instruction: 0x002D40F8 PC=0x01FB8000" on the output console.

This problem affect also the (U) version of the game (Puppy Palace).

--- ROM INFO ---
ROM game code: YPTP
ROM serial: NTR-YPTP-EUR
ROM chipID: 00001FC2
ROM internal name: MYPUPPYSHOP
ROM developer: Ubi Soft Entertainment

--- PC INFO ---
CPU: Intel i5-4670K
GPU: AMD Radeon 7950
Driver version: Crimson ReLive Edition 16.12.2 (December 2016)
OS: Windows 7 x64

QT Frontend

I was browsing the wiki and noticed that there was work being done on a cross platform QT GUI. Is that still a thing? Also, if it isn't a thing, could you give me some pointers of where i could start to learn how to do it?

SPU.cpp {Read,Write}{Byte,Word} code is wrong

Hello,

The ReadByte, ReadWord and their Write counterpart methods in SPU.cpp are filled with the following wrong code:

(u8)(thischan.timer + 1)

The intention was probably to take the second byte of a 2-byte u16 field. Endianess issues aside, this is wrong - it adds 1 to thischan.timer field value (not address) and converts it to u8 pointer before dereferencing. You probably meant:

((u8)&thischan.timer + 1)

This first takes thischan.timer pointer, converts the pointer to u8*, increments the address and deferences it.

I have created a patch for gentoo 0.9.11 version. It contains many things (most of them already fixed here) but it also has chunks for this file.

desmume.zip

Pokemon Ranger (E) - Swapped Layer order on OpenGL 3.2 Render

On the character selection screen, on OpenGL render the character silouette is in front of the character itself:

0986 - pokemon ranger e ogl

Softrenderer is fine:
0986 - pokemon ranger e soft

--- ROM INFO ---
ROM game code: ARGP
ROM serial: NTR-ARGP-EUR
ROM chipID: 00001FC2
ROM internal name: POKE RANGER
ROM developer: Nintendo

--- PC INFO ---
CPU: Intel i5-4670K
GPU: AMD Radeon 7950
Driver version: Crimson ReLive Edition 16.12.2 (December 2016)
OS: Windows 7 x64

MacOS: touch input incorrectly mapped

When using the mouse to send input to the touch screen on the Mac, it is mapped incorrectly. See the video for details. The touch input looks like it's mapped to the upper right corner?

touchprob.zip

Running on MacBook Pro 2016 15 inch.
GPU: AMD Radeon Pro 460 (probably irrelevant here)

Star Wars The Clone Wars (E) - Black screen after starting a game

After the main title screen, when you start a game, it simply shows a black screen but DesMuMe isn't hanged (infinite loop)?

More info from SourceForge bugtracker:

The regression on the intro was introduced on 3396, as mtabachenko commented:

"core:- fix timings in THUMB CPU mode (fix bug #2879374 and break SW: CW JA intro :(, maybe mistake in WiFi emulation);"

--- ROM INFO ---
ROM game code: CLWP
ROM serial: NTR-CLWP-EUR
ROM chipID: 0000FFC2
ROM internal name: SW:CW JA
ROM developer: LucasArts Entertainment

--- PC INFO ---
CPU: Intel i5-4670K
GPU: AMD Radeon 7950
Driver version: Crimson ReLive Edition 16.12.2 (December 2016)
OS: Windows 7 x64

New Touch Party Game (E) - Corrupted Main Titles Screen on Both Render

On main title screen, the top screen title is corrupted on both renderer.

On OpenGL 3.2, there is a brown rectangle:

opengl

On Softrasterizer the title is cut in half and stretched:
softrast

--- ROM INFO ---
ROM game code: AWQP
ROM serial: NTR-AWQP-EUR
ROM chipID: 00000FC2
ROM internal name: TPARTY
ROM developer: Unknown

--- PC INFO ---

CPU: Intel i5-4670K
GPU: AMD Radeon 7950
Driver version: Crimson ReLive Edition 16.12.2 (December 2016)
OS: Windows 7 x64

Imagine Teacher (E) - Silouette of interactive objects doesn't render correctly

Start a new game, skip the intro then click on the door at your right, press the "tick" button on bottom right and the entire background is missing, with the flashing furniture. This problem affect both render.

2604 - imagine teacher e __26604

--- ROM INFO ---
ROM game code: CITP
ROM serial: NTR-CITP-EUR
ROM chipID: 00000FC2
ROM internal name: TEACHER
ROM developer: Ubi Soft Entertainment

--- PC INFO ---
CPU: Intel i5-4670K
GPU: AMD Radeon 7950
Driver version: Crimson ReLive Edition 16.12.2 (December 2016)
OS: Windows 7 x64

SM64DS 3D OpenGL Render Issue

SoftRasterizer:
1
OpenGL 3.2:
2

SoftRasterizer is closer to the real hardware in this case. The colors are off in OpenGL.

Skipping?

In the 12/06 Git compile, some games are skipping video and attempting to skip opening logos. Ex: Rune Factory 3. Attempts to skip opening logo's, and skips the following animation altogether, going straight to the title menu. Didn't do it on the 12/05 Compile.

Linux build instructions out of date?

Build instructions for linux have not been updated to reflect the new location of the autotools scripts. As well, they still reference subversion.

OpenGL: wireframe issues in Picross 3D

The wireframe rendering in the OpenGL renderer has some differences with hardware in this game(and probably others that use it?).

https://i.imgur.com/AviL83A.jpg
https://i.imgur.com/tEZXjSy.png

https://i.imgur.com/7QRKg5p.jpg
https://i.imgur.com/9jMSzu0.png

I don't really know my 3D terminology, but there are some edges facing the camera that don't render on the DS. Also, there is something going on at the edge of the screen where the wireframe gets clipped(?).

Visual Studio 2017 - Unable to load project


C:\Software\Development\projects\desmume\desmume\src\frontend\windows\DeSmuME.vcxproj : error  : Unable to read the project file "DeSmuME.vcxproj".
C:\Software\Development\projects\desmume\desmume\src\frontend\windows\desmume.props(65,14): A numeric comparison was attempted on "$(NDS_VSVER)" that evaluates to "" instead of a number, in condition "'$(NDS_VSVER)' < '14' AND '$(SSE_Level)' > '20'".

C:\Software\Development\projects\desmume\desmume\src\frontend\windows\DeSmuME.vcxproj : error  : Unable to read the project file "DeSmuME.vcxproj".
C:\Software\Development\projects\desmume\desmume\src\frontend\windows\desmume.props(65,14): A numeric comparison was attempted on "$(NDS_VSVER)" that evaluates to "" instead of a number, in condition "'$(NDS_VSVER)' < '14' AND '$(SSE_Level)' > '20'".

matrix.h length issue 32bit

memset functions for 32bit don't compile without setting them to sizeof(x)*elementcount

x=16,32 ..

actually LENGTH is capital sometimes ..
btw: commandline doesn't work ? --option tries loading --option.rom
(linux 32build)

Mario Kart DS shadow glitch on 150 cc mirror tracks.

This bug only happens on Grand Prix 150 cc mirror tracks, and I suspect the shadow is filter out by back face culling.

mario kart ds

steps to reproduce this bug:
(1) download latest test build from official web site.
(2) change renderer to OpenGL 3.2
(3) run Mario Kart DS
(4) select GRAND PRIX mode 150 cc mirror tracks

======
code related to this bug

`Render3DError OpenGLRenderer_3_2::SetupPolygon(const POLY &thePoly)
{
const PolygonAttributes attr = thePoly.getAttributes();

// Set up depth test mode
static const GLenum oglDepthFunc[2] = {GL_LESS, GL_EQUAL};
glDepthFunc(oglDepthFunc[attr.enableDepthEqualTest]);

// Set up culling mode
if ( (attr.polygonMode == POLYGON_MODE_SHADOW) && (attr.polygonID != 0) )
{
	glEnable(GL_CULL_FACE);
	glCullFace(GL_BACK);
}
    else
    {
        ......
    }

`
disable OpenGL face culling for shadow polygons should fix this bug.

Mario Kart DS save file:
Mario Kart DS (USA).zip

Mario Kart DS stuck in black screen.

Mario Kart DS stuck in black screen if press "start" or "A" to skip intro after start a match.

Tested with win32 latest test build downloaded from https://ci.appveyor.com/project/zeromus/desmume/build/artifacts .

OS: Windows 8.1 x64
display card: nVidia GTX 760M

Steps to reproduce this bug:
(1) download desmume test build from https://ci.appveyor.com/project/zeromus/desmume/build/artifacts
(2) load Mario Kart DS (US)
(3) start a racing:
GRAND PRIX --> 150 CC --> select Yoshi --> MUSHROOM CUP
(4) press start button quickly to skip the intro
(5) if not stuck in black screen, just quit the match and repeat step (3) to step (5)

I always get stuck in black screen by repeat step (3) to step (5) less than 3 times.

my desmume.ini can download from here: http://www.mediafire.com/file/gaj3ka3farze3r8/desmume_ini.zip

screen

Transformers Autobot (I) - Black screen after intro

The italian version of this game shows black screen after you start a new game. The (U) version works perfectly.

--- ROM INFO ---
ROM game code: AFZI
ROM serial: NTR-AFZI-ITA
ROM chipID: 00003FC2
ROM internal name: TRANSFORMERS
ROM developer: Activision

--- PC INFO ---
CPU: Intel i5-4670K
GPU: AMD Radeon 7950
Driver version: Crimson ReLive Edition 16.12.2 (December 2016)
OS: Windows 7 x64

Winter Sports 2009 The Next Challenge (E) - Glitched graphic on both screen

As you can see from the screenshot, on the top screen there is a line that corrupt the image on the background. Sometimes the same line corrupt the bottom screen. This problem affect both render.

3093 - winter sports 2009 the next challenge e __23782

--- ROM INFO ---
ROM game code: CWSP
ROM serial: NTR-CWSP-EUR
ROM chipID: 00001FC2
ROM internal name: WINTERSPORTS
ROM developer: Unknown

--- PC INFO ---
CPU: Intel i5-4670K
GPU: AMD Radeon 7950
Driver version: Crimson ReLive Edition 16.12.2 (December 2016)
OS: Windows 7 x64

Ultimate Mortal Kombat (E) - Slightly wrong offset on tiled graphic?

As you can see from the screenshot, many of the graphical elements have some garbage on the bottom of it. This affect both render.

1773 - ultimate mortal kombat e __27508

--- ROM INFO ---
ROM game code: YUTP
ROM serial: NTR-YUTP-EUR
ROM chipID: 00003FC2
ROM internal name: ULTIMATE MK
ROM developer: Midway (before it was Tradewest)

--- PC INFO ---
CPU: Intel i5-4670K
GPU: AMD Radeon 7950
Driver version: Crimson ReLive Edition 16.12.2 (December 2016)
OS: Windows 7 x64

Android port

Please make an android port official , on Android have Drastic but you have to paid , and the other it's port unofficial from Desmume and it's have a poor perfomance

Legacy Intel iGPU (1st and 2nd generations Intel Core) - Both OpenGL renderers crash Desmume immediately on load ROM

Since SVN 5195 (fec691b). Tested with Final Fantasy IV.
Console log:

DeSmuME 0.9.12 git#1e96e738 x64-JIT SSE2
- compiled: Dec 24 2016 16:16:18

Microphone successfully inited.
DeSmuME 0.9.12 git#1e96e738 x64-JIT SSE2
Attempting change to 3d core to: OpenGL Old
WGL OpenGL mode: hardware
OpenGL: Successfully created shaders.
OpenGL: Successfully created postprocess shaders.
OpenGL: Successfully created FBOs.
OpenGL: Successfully created multisampled FBO.
OpenGL: Renderer initialized successfully (v2.1.0).
[ Driver Info -
    Version: 3.1.0 - Build 9.17.10.4459
    Vendor: Intel
    Renderer: Intel(R) HD Graphics 3000 ]
GL display context pixel format: 4

ROM game code: YF4E
ROM serial: NTR-YF4E-USA
ROM chipID: 00007FC2
ROM internal name: FF4
ROM developer: Square-Enix

Slot1 auto-selected device type: Retail MC+ROM
Slot2 auto-selected device type: None (0xFF)
BackupDevice: size = 512 Kbit
CPU mode: JIT
JIT: max block size 15 instruction(s)
Already decrypted.
Loading C:\Software\NDS\Roms\Final Fantasy IV.nds was successful
Emulation unpaused

GPU.cpp and texcache.cpp still hardcode to bind SSE2 colorspace covert functions even enable AVX2 extension.

void GPUEngineBase::_RenderPixelsCustomVRAM(GPUEngineCompositorInfo &compInfo)
{
.........
if (OUTPUTFORMAT == NDSColorFormat_BGR666_Rev)
{
ColorspaceConvert555To6665Opaque_SSE2(src16[0], src[0], src[1]);
ColorspaceConvert555To6665Opaque_SSE2(src16[1], src[2], src[3]);
}
else
{
ColorspaceConvert555To8888Opaque_SSE2(src16[0], src[0], src[1]);
ColorspaceConvert555To8888Opaque_SSE2(src16[1], src[2], src[3]);
}
..............
}

High CPU Usage When No Game is Loaded or Paused Emulation

I'm glad this moved on from SourceForge. GitHub is better. I was thinking about creating an account there to submit this bug report. Good thing I waited. Didn't expect this. Props for the move.

Anyways, someone on Reddit made an unofficial build where DeSmuME stopped using the CPU so heavily when no game is loaded or when the emulation is paused.

Thread:
https://www.reddit.com/r/emulation/comments/5i3yye/a_question_about_ds_local_multiplayer_emulation/db6qp48/

Build that fixes the CPU intensity when idling:
https://filebin.net/pceyvokrb4ltjqyt

The user claims that input is being checked too often and the window is being redrawn when nothing is changing.

Only regression with that is HUD display (FPS, pressed buttons, etc.) cannot be drawn on-screen regardless if enabled/disabled in the menus. I was hoping that maybe this CPU idle intensity fix could be included along with fixing the HUD code to display as well.

Replace DirectInput with XInput

Something I noticed with using an Xbox 360 controller and that is both the LT and RT can cancel each other out. This makes mapping those triggers to the L and R buttons on a DS a pain during game play. This is a symptom of using the DirectInput API for Xbox 360 controllers. XInput API doesn't have this issue. I was wondering if this was being considered at all during development of DeSmuME?

DesMume AVX2 build screen pixel shift.

I compiled a DesMume AVX2 build with vs2015 by changing "desmume.props" SSE_Level to 40 and AVX_Level to 20. The program ran fine except screen pixel shift as picture below.

avx2

OpenGL renderer crashes when using single core and 3x internal resolution.

OpenGL render is broken when using single core and internal resolution higher than 1x, tested with latest test x64 build on windows 8.1.

my settings:
2x-settings

2x internal resolution:
2x

3x internal resolution:
emulator will crash immediately

Step to reproduce:
(1) download test build git#7b13501 from official web site.
(2) run emulator and change render to opengl 3.2, HD prescale to 2 or 3
(3) close emulator
(4) run emulator with command line parameter "--num-cores 1" to force using single core.
(5) 2x internal resolution will cause graphic glitch as picture above.
(6) 3x internal resolution will crash immediately.

Windows: Crash in memory viewer when selecting "Full" region.

This crash happens when ROM loading is set to streaming. This is caused by the code interpreting the "Full" region option as the "CartROM" option, and vice versa.

Another issue with the memory viewer is that the region options don't update if you close the ROM and change the ROM loading option, which can lead to crashes.

Assertion failure in Water Horse Legend Of The Deep

When running desmume (gtk frontend) commit 241f50e compiled under Linux Mint 18.1 the following assertion failure is encountered in the first level of Water Horse Legend Of The Deep:

desmume: ../../matrix.cpp:287: void MatrixStackLoadMatrix(MatrixStack*, size_t, const s32*): Assertion `pos<31' failed.

Looking quickly at matrix.cpp, it looks like the assert may be off by one and should be:
assert(pos<=31);

My reasoning here is that where this is called in gfx3d.cpp, the size_t argument is masked with 31.

Adjusting this assert (and another identical assert in matrix.cpp on line 276) and recompiling results in no further assertion failures in Water Horse.

But I don't otherwise know anything about the code, so the developers should confirm whether this is correct or not.

Monster Trucks DS (E) - Top screen is not cleared correctly on both render

Start a race and then pause it with Start. Press Select and you will go back to the menu. The top screen is not clearly corrected and show the cars from the race in front of the title.

0467 - monster trucks ds e __19687

--- ROM INFO ---
ROM game code: AMXP
ROM serial: NTR-AMXP-EUR
ROM chipID: 00001FC2
ROM internal name: MONSTERTRUCK
ROM developer: Majesco Sales Inc

--- PC INFO ---
CPU: Intel i5-4670K
GPU: AMD Radeon 7950
Driver version: Crimson ReLive Edition 16.12.2 (December 2016)
OS: Windows 7 x64

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.