Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Use retail console type for GC, instead of devkit #8564
This removes some old hack where Gamecube games are marked as running on a devkit; YAGCD §220.127.116.11.2 explains the different values for 0x8000002C. Note that Wii titles already use the production version (except when actually running development titles):
I don't know too much of the context of the old hack, but blaming does give some very old comments that claim it is related to DSP timing. Since that's improved a lot in the past decade, I doubt this hack is no longer needed.
I have not tested this myself, as I do not own Ikaruga.
For the most part (read as: your average Dolphin end-user) we don't really care too much about them.
We could opt to leave the DevKit setting as reminder-comment, but you probably hate commented out code as much as I do.
I assumed all games had stubbed out
That said, I also have seen that game can give different output based on the boot magic word at 0x80000020 (I know the DVD code gives a bit more debug logging about the disc header if it's set to jtag). That is currently hardcoded at bootrom:
I did some testing, and it looks like OSReport does actually work directly when the console type is set to devkit. Patching HLE functions (after first generating symbols from the signature database) previously caused OSReport output to show up twice (once from whatever it's doing internally, and once from the HLE patch). With this change, there is no direct OSReport output immediately, but it still shows up fine after doing the HLE patch.
If we do want to have it be configurable, it would probably be best to allow setting both the boot type and the console type from the UI (probably as a dropdown with all of the options, not just a checkbox to switch between "retail 3" and "latest devkit HW").
Yes, last time this came up, it was decided to leave the type indicator as devkit for reasons such as debug logs. Probably the comment about Ikaruga should be removed (the code path is different, but practically it doesn't matter anymore).
IIRC, HLE patching debug logs may also find other debug functions which have been compiled out (e.g.
There doesn't really seem to be a reason to change the default, unless there is some known compat issue which would be solved. Otherwise it just seems like adding Yet Another Option for no discernible benefit.