J-D-K/JKSM

[Feature Request] Ability to Stop JKSM From Reading Slot-1 3DS Flash Devices With No Game Loaded on Initial Boot(?)

Opened this issue · 1 comments

This request likely isn't titled appropriately, so hopefully my situation can better explain what's going on instead. I have a few Nintendo 3DS systems, a couple of which I use 3DS flash devices with alongside custom firmware for backup and save data related reasons. I barely just noticed that you had compiled the latest commit of JKSM and threw it on your Google Drive, decided to give it a shot and see how well it does compared to the last stable release in 2020. So far everything seems to work great, a bug I mentioned seems to have been fixed, however a new "problem" (wouldn't call it a problem, but it's a little weird) has risen. JKSM (20211211) (Beta) on initial boot will seek out any titles installed on the system and anything in slot-1 afterwards. The problem is if you use a flash device but don't have a game selected (basically the flash device is in slot-1 but nothing is loaded from it), JKSM just hangs trying to load nothing. So it clearly detects something in slot-1, in this case it detected the flash device, but because no title is loaded from it, it's trying to load nothing and it's stuck doing so until the flash device is removed from the cartridge slot or a title is loaded. The reason I bring this up is because this did NOT happen in the latest stable 2020 build, if the flash device didn't have a game loaded then JKSM (20200508) didn't detect anything in slot-1 at all, it only ever detected when something was actually loaded on the flash device. Something tells me you changed the way it detects titles on the system and or the way it reads data in slot-1, I figured since this was a beta a little mention about what's going on may be helpful for you to maybe change/fix for a future update.

J-D-K commented

I know what's happening. The same thing was probably happening with the old version, but you didn't know it. I added the Switch's threading and catching code. So, now it gets stuck launching threads to read it and catching and killing them.