Dolphin, the GameCube and Wii emulator - Forums

Full Version: Custom Debugger 2020
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Source: https://github.com/TryTwo/dolphin/tree/2020_debugger
Old Version: https://forums.dolphin-emu.org/Thread-wip-debugger-build

Dolphin with custom changes to the debugger. I'm still taking input and may need to fix bugs, so check back to this thread for updates.

To use this put the Debugger2020.exe into a normal dolphin folder (with Sys, QtPlugins, etc) and run it. Ideally, you would copy a normal dolphin install folder, put this into the copy, and make a Portable.txt. You can delete the normal dolphin.exe, and just run Debugger2020.

WARNING: This should only be run in portable mode, separate from normal dolphin builds.  Put a txt file named Portable.txt in the dolphin.exe directory. When you run it, it will make a User folder in the same directory. The User folder holds the same things as documents/Dolphin Emulator/ does. You can copy over what you need.

Changes, not an exhaustive list:

Updated to 7/17/2020 version of dolphin (don't know how to fix version number).

Code Widget:
  • Added notes ability. Bookmark and make notes of lines on top of the symbol map.
WARNING: Must use symbols -> save symbol map to save your notes, which goes into your symbol map file. Should use dolphin in portable to not mess things up. Notes can be lost if you overwrite with symbols from a normal installation of dolphin, but portable mode prevents this.
  • Changed highlighting: PC is always green. Right clicked line is temporarily light blue, clicked/centered line is always blue. Looking for feedback on this.
  • Allow code to be browsed while game is running (I think the worst this can cause is no output, it hasn't crashed on me).
    Code Widget Context Menu:
  • Jump to start or end of current function.
  • Copy target memory address in load/store instructions (warning registers must have correct information in them. Need current instruction to be at the chosen line, or sometimes near it).
  • Reworked add function and added notes.
Register Widget:
  • Added option to change all register types at once.
  • Renamed r1 to sp. r2 to rtoc. To coincide with instruction labels.
Memory Widget:
  • Float and Decimal input options.
  • Input preview box that shows hex input.
  • Find Value can find values with leading zeroes and search any number of bytes.
  • Find Value also works with float and decimal input options.
  • Option to auto-update addresses in view while game is running. Colors recently changed memory.
  • Option to view u32 and float at the same time. Check alternate view and float.
  • Align-to-zero option that keeps memory view aligned so each row starts at 0.
  • Always highlight input box address.
  • Shift click to load memory address to address input box.
  • Crtl click to load memory value to value input box.
  • Highlight right-clicked and crtl clicked memory.
  • Added a second address input box for memory offsets (adds a value to the address box). Can just leave it blank if you don't need it.
    Notes/Dump tabs.
  • Ability to take notes, similar to symbols. Allows you to label and bookmark addresses. Need to use symbols -> save symbol map to save notes.
  • Added it as a tab with the dump buttons to save space. Looking for input on this layout.
Trace Widget:
  • Improved from previous version. Now found in the view menu with other major widgets.
  • Record all instructions between two points and the memory addresses accessed. Use recording to track a register or memory address forwards or backwards through the recording.
Function Finder (Diff button at top right of code widget):
  • Improved by DreamSyntax
  • Find a function by recording all functions and filtering them based on when they are executed.
Cheat search, in cheat manager:
  • Uses more efficient methods from the old Wx builds.
  • Displays hex, decimal, and float value all at once.
  • Allows unknown value search and compare to previous (leave blank).
  • Allows displayed values to auto-update - will not affect compare to previous.
Graphics Options:
  • Don't-scale-EFB-copies slider is included. Fixes bloom in most games when used correctly.
Bugs/Etc:
Decimal input doesn't take a negative. Minimally tested with Find Value.
I couldn't combine with the new Address Spaces stuff for Memory Widget.

v2: Extra option to fix bloom + shadows in sonic colors.
[Image: FprFkTt.png]

This happens to me when using it in 161 when correcting the bloom of the lights. Perhaps a code gecko to increase the resolution of the bloom is more suitable for this game. Unfortunately I don't know how to do that.
(translate by google)
---------------------------------------------------------------------
Me sucede esto al usarlo en 161 cuando se corrige el bloom de las luces. Tal vez un Codigo  gecko para aumentar la resolucion del bloom sea mas adecuado para este juego. Lamentablemente no sé como hacer eso.
I think that's completely unrelated to what's being discussed in this thread.
I'm not someone who will use this stuff but I wanted to say thank you for working on this! I wish we could get some of these changes merged into master.
Bloom fix is part of the mod, so it's fine to include discussion about it. In Sonic Colors bloom happens at 160px and shadows appear to happen at 152px. Luckily, since the values are different, the easy fix is to include an .ini feature to always scale a certain sized copy, in this case 152px. I don't know if the size ever changes though. It's a good first try I think.

Also, setting the bloom slider to 140 will fix some of the bloom, especially screen-wide bloom issues.

SonicoXXI, could you remove the picture? It's large for the thread. I see what needs to be done.

/edit Sonic often changes the size of the shadow EFB copy. I will try to add an option to filter only common bloom sizes.
/edit2 It works, I'll get it uploaded in a day or two.
Okay. I uploaded a fix for sonic colors bloom + shadows. You just tick the "Only exclude common bloom sizes" button and set the Bloom Slider to 200 & enabled.

I may rework it to have exclusions be a choice between the slider or a manual input of specific sizes. I don't think bloom sizes ever change.
Tested. Perhaps the option of choosing a manual input of specific sizes is more suitable. Sonic Colors usually does it in 40 as well and the same problem happens, when the character is further away. (I deleted the image on my Imgur profile, but the link still works, sorry)
I see some glaring issues in my debugger build that I somehow missed and will be working on shortly.

@SonicoXXI Since bloom uses 40, I don't think it's a good solution. We have some options:
*Use height and width together, as shadows may not have the same dimensions. I haven't seen the height of the 40w shadow copy.
*Find the memory address of the EFB copy using source code debugging, and use that as an identifier.. I have no idea if these are constant or shared between copies. Appear to be constant in Xenoblade.
*Filter based on order in some way. Like "the first 5 efb copies are ignored" or "only 40 if it comes after 80"

I wanted to filter based on efb copies getting pasted on top of each other with an offset (vertex call), but I think the offsets are loaded after the efb copy is made. There may be an advanced way to detect bloom copies, but it's beyond me.

For testing I could probably rig up an .ini file input that allows for include and exclude rules based on height, width, height and width, and memory address.
Thank you for fixing EFB scaling in Sonic Colors, that was the only thing that bothered me in your EFB Slider mod, now i can play without any graphical issues.
EFB Slider mod also fixes bloom in Shadow The Hedgehog, making Vertex Rounding Hack obsolete.
(11-01-2020, 10:05 PM)vlad54rus Wrote: [ -> ]Thank you for fixing EFB scaling in Sonic Colors, that was the only thing that bothered me in your EFB Slider mod, now i can play without any graphical issues.
EFB Slider mod also fixes bloom in Shadow The Hedgehog, making Vertex Rounding Hack obsolete.

Hello. How do I solve it in Sonic Colors? I can't find any additional options in Debugger2020_2.
Pages: 1 2