• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

Dolphin DebugFast 4.0 Emulator : Memory Breakpoints - Download Links [32 & 64 bit]

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Dolphin DebugFast 4.0 x64 (64bit)
Dolphin DebugFast 4.0 x86 (32bit)
(Windows builds...)


Memory breakpoints allow pausing of the game when memory addresses of interest are read/written to. Study registers in adjacent code lines after breaking to (hopefully) find useful functions within the ASM code. Write your own ASM to inject at a line.

Shout outs to Dan Salvato for compiling these!

Also, see his Wii game modding tutorial video where he gives a basic guide on using this unique version of the emulator(and a bunch of other important stuff!).



If trying to compile a DebugFast Dolphin version yourself:
@ shuall shuall says:

If anyone is looking to compile a debugfast version of dolphin for themselves, the option on linux is
Code:
cmake -DFASTLOG='TRUE' <other options, build/directory, etc>
(it should be the same on mac/win, but linux is what I was building for)
 
Last edited:

PyotrLuzhin

Smash Journeyman
Joined
Jul 1, 2014
Messages
470
Location
Altair's Lair
Every time I try to run this build, I receive a series of messages that read "Assertion: See Log" before dolphin crashes. Does anyone have a 4.0.2 x86 build?
 

PyotrLuzhin

Smash Journeyman
Joined
Jul 1, 2014
Messages
470
Location
Altair's Lair
Wow, thanks! It seems to work perfectly now. Why does the "Cheats Enabled" option cause dolphin to crash? Also, will unchecking "Cheats Enabled" prevent me from running games through Gecko?

EDIT: It only worked once for me... Now, Dolphin gives me the same error message "Assertion: (See Log)" every time I try to load Brawl... This is bizarre.
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Wow, thanks! It seems to work perfectly now. Why does the "Cheats Enabled" option cause dolphin to crash? Also, will unchecking "Cheats Enabled" prevent me from running games through Gecko?

EDIT: It only worked once for me... Now, Dolphin gives me the same error message "Assertion: (See Log)" every time I try to load Brawl... This is bizarre.
I don't exactly know what you mean by running it "through" Gecko, but you will not be able to use Gecko cheats if you have the box unchecked. I have yet to find a DebugFast version that allows cheats, if one even exists.

I think that's the only time I've gotten that error message so I don't really have anything else for you about fixing the issue. Just remember that if you switch to a regular Dolphin 4.0 version and enable cheats, that next time you open the DebugFast version it will still be enabled.
 

PyotrLuzhin

Smash Journeyman
Joined
Jul 1, 2014
Messages
470
Location
Altair's Lair
Huh, ok. I also have been getting the (error: l=0) and "invalid callstack" messages in left-hand corner of the codes section. Could these be related to my problem? Thanks for helping me out! I can't want to use memory check breakpoints.
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Huh, ok. I also have been getting the (error: l=0) and "invalid callstack" messages in left-hand corner of the codes section. Could these be related to my problem? Thanks for helping me out! I can't want to use memory check breakpoints.
I sometime just use this one as well. It's a Dolphin 3.0 version but still gets the job done. Experiment with it if you are having problems with 4.0.
 

PyotrLuzhin

Smash Journeyman
Joined
Jul 1, 2014
Messages
470
Location
Altair's Lair
Do you use windows? If so, what version of visual studio do you have? I'm beginning to think that my out of date version of VS is causing the problem...
 

Todd Bonney

Smash Lord
Joined
Dec 17, 2005
Messages
1,098
Could you possibly make an updated build DebugFast build based on one of the latest dev builds? Maybe it will have magically fixed my memory breakpoint problem and I can contribute something again.
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Could you possibly make an updated build DebugFast build based on one of the latest dev builds? Maybe it will have magically fixed my memory breakpoint problem and I can contribute something again.
I’ve noticed that memory read/write breakpoints sometimes just straight up don’t work at certain places. It must be some weird way in which those addresses are written to or something. Not really sure.


Are you 100% sure that NOTHING is working for you?

Do this test:

Boot up Melee and sit at the CSS with no characters chosen or anything.

Set memory write breakpoint at 80480820 to 80480823.

Move cursor to go pick a character. Game should break immediately.
 

Todd Bonney

Smash Lord
Joined
Dec 17, 2005
Messages
1,098
Thanks for the response achilles. That test sounds a lot like what I used to do to try it out. I used my KO-count address and exited the CSS instead. When I set the memory breakpoint (step 2) it would break then, but NOT when the address gets written over (step 3).

Unrelated, will you scope out this build and see how it compares to the debugfast version in this thread? It sounds like the regular debug mode is improved, so potentially no need for a special build. I peep the changes every so often and this one caught my eye. It says "Dolphin debugger enhancements." The detailed comments say
Added a "Step Out" (aka "Step return") function to the debugger.
Added a RAM watch window to the debugger.
Fixed a bug when stepping in JIT mode (where there was a breakpoint at the instruction being stepped).
Those sound very good. RAM watch is always useful. If it includes RAM breakpoints, may not need DBfast, but I doubt it does. I'm not by my emulator PC atm and don't have as much time for modding, so I thought I'd tip you off.
You may want to use a DBfast version of this revision.
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Thanks for the response achilles. That test sounds a lot like what I used to do to try it out. I used my KO-count address and exited the CSS instead. When I set the memory breakpoint (step 2) it would break then, but NOT when the address gets written over (step 3).

Unrelated, will you scope out this build and see how it compares to the debugfast version in this thread? It sounds like the regular debug mode is improved, so potentially no need for a special build. I peep the changes every so often and this one caught my eye. It says "Dolphin debugger enhancements." The detailed comments say

Those sound very good. RAM watch is always useful. If it includes RAM breakpoints, may not need DBfast, but I doubt it does. I'm not by my emulator PC atm and don't have as much time for modding, so I thought I'd tip you off.
You may want to use a DBfast version of this revision.
RAM does sound very interesting! I'll have to try it out.
 

zankyou

Smash Lord
Joined
Sep 12, 2014
Messages
1,055
Is there a way to use gecko codes with the debug version of dolphin or a rev of dolphin I could do so with? Im getting assertion log errors when I try.
 

shuall

Smash Apprentice
Joined
Jun 26, 2013
Messages
155
Location
Philly
If anyone is looking to compile a debugfast version of dolphin for themselves, the option on linux is
Code:
cmake -DFASTLOG='TRUE' <other options, build/directory, etc>
it took me way too long to figure this out, so I'm hoping to save some headaches by posting it here.
(it should be the same on mac/win, but linux is what I was building for)
 
Last edited:

Wooggle

Smash Apprentice
Joined
Jul 7, 2014
Messages
83
Location
NJ, USA
When I try to run the 4.0 version
I’ve noticed that memory read/write breakpoints sometimes just straight up don’t work at certain places. It must be some weird way in which those addresses are written to or something. Not really sure.


Are you 100% sure that NOTHING is working for you?

Do this test:

Boot up Melee and sit at the CSS with no characters chosen or anything.

Set memory write breakpoint at 80480820 to 80480823.

Move cursor to go pick a character. Game should break immediately.
I'm having the same problem, none of my memory check breakpoints are working and the test that you said to do isn't working either. This is happening on dolphin version 4.0

On version 3.0, when I boot up the game, at just sits at a black screen and the game doesn't load.
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
When I try to run the 4.0 version


I'm having the same problem, none of my memory check breakpoints are working and the test that you said to do isn't working either. This is happening on dolphin version 4.0

On version 3.0, when I boot up the game, at just sits at a black screen and the game doesn't load.
Hmmm idk.

For 3.0, click "Options" at the top and make sure "Boot to Pause" is not selected. And make sure cheats are disabled.
 

Wooggle

Smash Apprentice
Joined
Jul 7, 2014
Messages
83
Location
NJ, USA
Hmmm idk.

For 3.0, click "Options" at the top and make sure "Boot to Pause" is not selected. And make sure cheats are disabled.
Okay, I unchecked "Boot to Pause" and the game loaded up in 3.0. It still ignored my memory check breakpoints, but when I did your test, as soon as I moved my cursor up to pichu's box, before I even selected it, the game paused.
Does that mean anything significant?
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Okay, I unchecked "Boot to Pause" and the game loaded up in 3.0. It still ignored my memory check breakpoints, but when I did your test, as soon as I moved my cursor up to pichu's box, before I even selected it, the game paused.
Does that mean anything significant?
Yes, the game "broke"...in a good way. That's the whole point of a memory write breakpoints. It breaks (pauses) the game on the code line that wrote a value to the memory address you specify in a range. This action has already occurred once the game pauses, so you'll need to look at the prior code lines in the "Code" tab and also look at the current values in your registers to try and figure out what was going on.
 

zankyou

Smash Lord
Joined
Sep 12, 2014
Messages
1,055
Okay, I unchecked "Boot to Pause" and the game loaded up in 3.0. It still ignored my memory check breakpoints, but when I did your test, as soon as I moved my cursor up to pichu's box, before I even selected it, the game paused.
Does that mean anything significant?
Did you find the byte for what character is selected. If you did that byte is read every frame while you havent selected your character but are hovering over them.
 

Wooggle

Smash Apprentice
Joined
Jul 7, 2014
Messages
83
Location
NJ, USA
Did you find the byte for what character is selected. If you did that byte is read every frame while you havent selected your character but are hovering over them.
I didn't find that byte, but it works sometimes and it doesn't work sometimes, so I just hope that it will work every time I use it.
 

Magus420

Smash Master
Joined
Dec 13, 2003
Messages
4,541
Location
Close to Trenton, NJ Posts: 4,071
"...\Dolphin DebugFast x86\Win32\Dolphin.exe is not a valid Win32 application"

Do I need visual studio to run it, or just for building a DebugFast version? I can run normal versions of Dolphin without issue, but its debugger is a complete joke and I can't use USB gecko with gamecube backups afaik.
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
"...\Dolphin DebugFast x86\Win32\Dolphin.exe is not a valid Win32 application"

Do I need visual studio to run it, or just for building a DebugFast version? I can run normal versions of Dolphin without issue, but its debugger is a complete joke and I can't use USB gecko with gamecube backups afaik.
I do not believe you need visual studio to run that version of Dolphin. Did you add the "/d" to the filepath to make it the Debug version?

I've never used a USB Gecko, but I really want to try one. The biggest problem I experience with Dolphin is that if the game crashes, it has no way of telling me what line of code failed. I just get a message saying the Dolphin has crashed and then the program closes completely.

I know that USB Gecko is better with this because I was reading wParam's Crazy Mod notes where he was figuring out why the "Dummy" stage (Stage ID: 0x0000) would crash the game. Turns out, trying to play the stage produces an assert for no background music and the game would then then branch to an infinite loop.

With Dolphin, the only way I know of ever being able to find this out is to find a function that the start of is executed and that the end of is not, due to the game crashing before it gets back. And then following a gazillion branch links inbetween which just gets to be incredibly tedious.

I've also experienced memory read breakpoints not working for certain things, generally, in higher memory. And I know they are being read because I change them and things move in-game...

But I'm also not a computer science guy, so I don't know the technicalities behind the limitations of breakpoints, etc. So maybe I'M just the dummy.

Also, this guy apparently does USB hacking with Dios Mios.

Oh, and Magus, if you haven't already seen, you NEED to check out wParam's SSBM Notes about his crazy mod and how he created the memory card exploit. And that's another thing...when creating the memory card exploit, he was able to see his stack traces when a failure occurred and I don't think this is possible with Dolphin.
 
Last edited:

Doq

Smash Lord
Joined
Dec 28, 2012
Messages
1,037
Location
The Lab, Sweet Home, OR
"...\Dolphin DebugFast x86\Win32\Dolphin.exe is not a valid Win32 application"

Do I need visual studio to run it, or just for building a DebugFast version? I can run normal versions of Dolphin without issue, but its debugger is a complete joke and I can't use USB gecko with gamecube backups afaik.
You grabbed the 64-bit version on a 32-bit platform?

That or you're running XP.
 

shuall

Smash Apprentice
Joined
Jun 26, 2013
Messages
155
Location
Philly
...
Oh, and Magus, if you haven't already seen, you NEED to check out wParam's SSBM notes about his crazy mod and how he created the memory card exploit. And that's another thing...when creating the memory card exploit, he was able to see his stack traces when a failure occurred and I don't think this is possible with Dolphin.
link is returning 404...bummer,

also, for the memory breakpoints not triggering, have you tried running it in interpreter mode instead of JIT? That might make a difference.
 
Last edited:

Magus420

Smash Master
Joined
Dec 13, 2003
Messages
4,541
Location
Close to Trenton, NJ Posts: 4,071
After 3 days of updating old softmods, trying DML (debugger does not work), DM (debugger works with USB loading but no longer with retail disc, and disc melee crashes loading some stages so might as well be unable to play discs despite claims they work in 2.10+...), then finally Nintendont I got everything working with USB gecko. If only I noticed "WiiRd debugger (Wii only)" on Nintendont's feature list the first time I looked (probably searched for Gecko or something) that would have been a lot quicker lol.

Can finally make a quick 1.02 code I've been wanting to do that isn't relevant to 1.00.


You grabbed the 64-bit version on a 32-bit platform?

That or you're running XP.
The file path shows I was using the 32-bit version, but yeah, I had a feeling XP was probably the issue.
 
Last edited:

MrSquishy

Smash guy, I guess.
Joined
Dec 30, 2013
Messages
12
Hi all--newbie here. I watched InternetExplorer's tutorial and am really psyched to get started, but this is the last stumbling block in my way and I just can't seem to figure it out.

Does anyone have advice/useful links/.apps/whatever for using debug dolphin on os x? I searched around for how to use cmake but I can't seem to find any documentation that makes any sort of sense. Also tried wine, but can't get that to work either. It should be apparent that I have very little experience with this sort of thing, so simple instructions would be very greatly appreciated. Thanks!
 

shuall

Smash Apprentice
Joined
Jun 26, 2013
Messages
155
Location
Philly
Hi all--newbie here. I watched InternetExplorer's tutorial and am really psyched to get started, but this is the last stumbling block in my way and I just can't seem to figure it out.

Does anyone have advice/useful links/.apps/whatever for using debug dolphin on os x? I searched around for how to use cmake but I can't seem to find any documentation that makes any sort of sense. Also tried wine, but can't get that to work either. It should be apparent that I have very little experience with this sort of thing, so simple instructions would be very greatly appreciated. Thanks!
Since you're compiling from source, you'll need cmake: http://www.cmake.org/download/ is the download page for cmake, there is one for macosx.
Then try following the directions further down the page here on github https://github.com/dolphin-emu/dolphin/#installation-on-linuxos-x in the section titled "Installation on Linux and OS X"
I don't have a mac, so I can't help you much after that. Cmake will tell you if it can't find something it needs, and usually provides helpful error messages.

Once you can compile normally, run the cmake command with -DFASTLOG='TRUE' as I stated earlier to get a build of dolphin with memory breakpoints enabled.
If anyone is looking to compile a debugfast version of dolphin for themselves, the option on linux is
Code:
cmake -DFASTLOG='TRUE' <other options, build/directory, etc>
it took me way too long to figure this out, so I'm hoping to save some headaches by posting it here.
(it should be the same on mac/win, but linux is what I was building for)
@ Achilles1515 Achilles1515 can you add a note about building your own memory breakpoint enabled dolphin from source with the -DFASTLOG='TRUE' cmake flag to the main post. I feel like that would be more helpful to some people than download links for a 4.0 windows version. (I guess even more helpful would be multiple versions for win/mac/linux that are constantly updated, but this is a start)
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Since you're compiling from source, you'll need cmake: http://www.cmake.org/download/ is the download page for cmake, there is one for macosx.
Then try following the directions further down the page here on github https://github.com/dolphin-emu/dolphin/#installation-on-linuxos-x in the section titled "Installation on Linux and OS X"
I don't have a mac, so I can't help you much after that. Cmake will tell you if it can't find something it needs, and usually provides helpful error messages.

Once you can compile normally, run the cmake command with -DFASTLOG='TRUE' as I stated earlier to get a build of dolphin with memory breakpoints enabled.


@ Achilles1515 Achilles1515 can you add a note about building your own memory breakpoint enabled dolphin from source with the -DFASTLOG='TRUE' cmake flag to the main post. I feel like that would be more helpful to some people than download links for a 4.0 windows version. (I guess even more helpful would be multiple versions for win/mac/linux that are constantly updated, but this is a start)
Done. Thanks for the info.
 

CeLL

Smash Lord
Joined
Jan 26, 2014
Messages
1,026
Location
Washington
So I can't seem to get memory breakpoints working. I assume I'm doing something stupid like before lol

So I set a breakpoint for 80480687 - 80480687 (I also tried 80480687 80480688) (stage ID byte) and set it to write and break (also tried read and write and read). When I load a stage, it doesn't break. Afterwards I can clearly see in the RAM that that byte has been changed.

Edit: I'm silly. I got it now.
 
Last edited:

theDiazzz

Smash Rookie
Joined
Dec 28, 2013
Messages
3
Location
Vernon Hills, Il
Every time I try opening DolphinD, I get the message "The program can't start because MSVCP120D.dll is missing from your computer. Try reinstalling the program to fix this problem."

So after looking around for a solution I was told that downloading Visual C++ Redistributable Packages(vcredist_X64) would help and so I did. Unfortunately the same message keeps popping up, any idea as to how to get it to work?

I should specify that the non-Debug Dolphin works fine, its just the FastDebugDolphin that's having this problem.
 
Last edited:

Doq

Smash Lord
Joined
Dec 28, 2012
Messages
1,037
Location
The Lab, Sweet Home, OR
Necrobump af, does anyone still have the old DF 3.0? Dolphin 4 does not run on my system, like, at all (GFX card too old).

nvm found it

 
Last edited:

Fizzi

Smash Ace
Joined
Feb 14, 2008
Messages
802
Location
Brooklyn, NY
Slippi.gg
FIZZI#36
Somehow in @ Dan Salvato Dan Salvato 's tutorial he was able to view how his Gecko cheats actually affected the game's code. Even with just a normal debug version of Dolphin (which at least doesn't straight up crash when cheats are enabled), I can't view any game code or memory. Is there any way I can view the effect of my code?

EDIT: In case anyone else has stupid questions while they're learning this stuff I'll answer my own question. The code only seems to be visible when the game is paused. Pausing the game allows me to see it even with cheats on. As far as memory goes, it kind of just started working after running the game for a bit.
 
Last edited:
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
Somehow in @ Dan Salvato Dan Salvato 's tutorial he was able to view how his Gecko cheats actually affected the game's code. Even with just a normal debug version of Dolphin (which at least doesn't straight up crash when cheats are enabled), I can't view any game code or memory. Is there any way I can view the effect of my code?

EDIT: In case anyone else has stupid questions while they're learning this stuff I'll answer my own question. The code only seems to be visible when the game is paused. Pausing the game allows me to see it even with cheats on. As far as memory goes, it kind of just started working after running the game for a bit.
Yes, recent builds of Dolphin have an issue where code is not visible unless the game is paused. It's kind of a nuisance, and I would probably like to bring it up with the appropriate devs at some point.
 

Aerros11

Smash Journeyman
Joined
Sep 5, 2009
Messages
284
@ Achilles1515 Achilles1515 bothering you again, but about the code you gave me to manipulate....:

Interrupt_Kneebend replaces Interrupt_PassiveStandF/B
80098ADC --> 800CAED0

I'm trying to manipulate the code through what I learned in Dan's ASM vids (so that I don't have to keep asking you) but every time I assign 800CAED0 as the breakpoint (after replacing 80098ADC with 800CAED0 in the Start.dol) the game freezes completely instead of just pausing.

Without replacing the hex, setting a break point to the original 80098ADC does everything correctly. A library of those IASA you mentioned as well as the ASM functions for asynch timers and if button presses would also be nice.

This stuff isn't easy to find for some reason even though I see other projects that are far ahead.

Thanks~ >___<
 

SinsOfApathy

Smash Journeyman
Joined
Feb 24, 2015
Messages
474
NNID
Psion312
I'm trying to manipulate the code through what I learned in Dan's ASM vids (so that I don't have to keep asking you) but every time I assign 800CAED0 as the breakpoint (after replacing 80098ADC with 800CAED0 in the Start.dol) the game freezes completely instead of just pausing.
Breakpoints completely freeze the game by design. You have to hit the Play button on the top of Dolphin to resume the game. It doesn't press the Start button.
 
Top Bottom