-
-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mikage fails to access titles in emulated NAND even when they are provided #18
Comments
Hey, thanks for giving it a spin! Currently Mikage does not implement full title database bookkeeping, so the title files must be renamed to 00000000.cxi. The paths in your filesystem should look like this: FWIW note that recent system versions may have some problems, so I recommend sticking to versions 4.0-9.0 for other titles. Then again fixes for newer versions are welcome too :) Let me know if this helps! |
Looks like that did the trick! Though, the path should be I haven't renamed every title file yet, and there are some that contain multiple .app's in the same folder, but it does at least get through part of the setup screen. This temporary limitation might be worth mentioning somewhere on the main readme so that others may properly set their environments up... On a semi-related note regarding titles; we over at Super Mario Bros. Next were recently hoping to implement Mikage support for the game's patcher application (alongside existing support for Citra & Luma3DS) ahead of the emulator's full release, but it's unclear from the initial release whether or not this developer edition of Mikage is currently well suited for this, given the current limitations. Namely, our requirements are that the patcher application can detect that a supported game title is installed/present, so that appropriate files can be dumped and the patcher itself can chainload the modded game on-the-fly. It's clear that Mikage is developing nicely, but given that patching on our end relies on robust title support, might it be best to wait for a later milestone? Especially if related mechanisms are prone to changing in the near future. Some clarification on this would be appreciated, given the "developer edition" naming. |
Great!
Yeah, the readme needs a minor overhaul given some recent changes, but I didn't want to delay the repo publication just because of that.
Very interesting. Could you give me a specific rundown on what exactly the process for this looks like on the real system? Are you using Luma's built-in mod feature and/or any other Luma-specific features / kernel extensions?
As a general rule of thumb, emulator-specific tweaks are discouraged. I know that some of Citra's limitations may leave you little other option, but for Mikage it's preferable to just do whatever you do on the real system (and doing anything else has a chance of just making things worse in the long run). |
Hey there!
No, we are not using Luma's or Citra's. We wish to make this a truly frictionless experience for our users and found that all existing solutions cause users to do more things than necessary and/or were too limiting for us. Our mod launcher does this on real hardware to get to the required game files:
(*) This part uses Luma's PMDBG extension to force debug the next process so I can intercept the launch of NSMB2 properly. There should be ways to do this part without that part however. To launch the mod itself:
This entire process would obviously not work on citra as it does not emulate any processes besides the game. So sadly emulator specific tweaks sadly are required: Considering Mikage emulates all sysmodules, all aspects minus the PMDBG extension we used should work. I will give it a try when I get mikage fully running.
An extension to svcGetSystemInfo to identify mikage and its build version, similar to citra's/luma's, might be helpful to identify what environment homebrew is dealing with. |
Also related to the main issue, I am getting an out of bounds read error for I am running mikage like this with eu Super Mario 3d Land
It is not quite clear to me what titles need to be dumped. The readme suggests everything just comes from game update partitions? |
I'll need to ponder on your other comments, but FTR I think you can safely comment out the error from
The readme is currently missing one required step: After bootstrap, you need to copy the folders from |
After commenting out some try/catches, it seems to come from HLE::OS::CoroutineThreadControl::ResumeFromScheduler(), so probably unrelated to the other stuff here.
|
I understand the concern, but this isn't going to happen. In my experience, such emulator-specific hacks help for a short while but then introduce new layers of problems in the long run (when the original problem isn't even there anymore). Sadly this is a consideration that no one even brought up when the feature was added in Citra, but it's a mistake that won't be repeated here.
That's an impressive level of voodoo that I'll assume you indeed have strong enough reasons to prefer. I don't see any major problem with any of these other than the Luma-specific PMDBG extension you mentioned (as long as you invalidate code caches appropriately). |
Actually it's just re-throwing an exception thrown elsewhere. Setting an exception breakpoint in gdb via |
I found the issue: It should be fixed in c06c249 and obsoletes the workaround in pxi_fs_host_file.cpp. You'll need to run bootstrap again (ideally removing I think this should fix all the issues you had, let me know if there are any other problems! |
I have dumped all titles from my 3DS system and copied them to
~/.local/share/mikage/data
, both in that directory (as generated), as well as atitle
subdirectory, but Mikage fails to access system titles anyway. Additionally, I have tried placing the files in/usr/share/mikage/nand
and/usr/share/mikage/nand/title
which also do not work.I have attached a screenshot below of the error that appears. If it helps, I'm running Fedora 41.
The text was updated successfully, but these errors were encountered: