TeamFAPS / PSVita-StorageMgr

kernel plugin that automatically mounts/redirects any storage device on any mount points you want
GNU General Public License v3.0
387 stars 40 forks source link

Added installer and ability to create alternate mount profile #12

Open IDBurner opened 6 years ago

IDBurner commented 6 years ago

I have added an installer to this project (it lacks an icon).

Installer provides the following: Configure mount points on install. Re-configure mount points after install. Configure alternate mount point profile. Disable and Enable the 3G Modem (OLED 3G Vitas only) Uninstall plugin

Alternate Config provides the following: If the user holds the SQUARE button during boot, the plugin will read the config located at storage_config_mod.txt instead of the default one. Users may create an alternate set of mount points here.

andoryuu3 commented 6 years ago

This is amazing. I love both of you.

I am curious about Disable/Enable 3G Modem though. Is it a feature intended for psvsd users? What would be the benefit? I ask because I use psvsd v2.1 w/256GB microSD as my main storage device.

EDIT: Found my answer in the Issues tab. D'oh. Click --> https://github.com/CelesteBlue-dev/PSVita-StorageMgr/issues/11 <--

To sum it up for whoever else lands here, the Disable/Enable 3G Modem feature is intended to stop the Vita from searching for the 3G Modem (and, subsequently, stop it from complaining with an annoying popup when it isn't found).

It is NOT a feature to Disable/Enable the USB port the modem (and psvsd) connect to like I initially thought... Hence why I did not originally see the benefit.

CelesteBlue-dev commented 6 years ago

@IDBurner I need time to test it and so I won't merge before a few days. You did a good job, keep going.

IDBurner commented 6 years ago

@andoryuu3 you are correct in your edit. The notes could have been more clear :)

IDBurner commented 6 years ago

OK I have committed some further changes and will leave it as is for your review @CelesteBlue-dev

Added an Icon and Launch Screen (it credits you as Plugin Creator on that screen) Cleaned up some code Added the ability to alter the alternate mount configuration to the installer.

andoryuu3 commented 6 years ago

@IDBurner I've just tested your modifications in the v1.2 release and I have some feedback ready for you if it's helpful at all. Feedback points are being brought up in order of occurrence from pre-install to post-install and not by priority.

  1. Being that I already have a storage_config.txt, I wish there was an option to skip overwriting this file with new settings (perhaps have the installer detect storage_config.txt and prompt to skip setup?)
  2. I currently have the Sony Memory Card to mount as xmc0. I noticed this mount point is missing as a choice in the installer. Honestly it isn't really a big deal if the option isn't there, as I recall grw0 currently being a superior option to xmc0 in terms of functionality (can't remember at the moment if it was a specific homebrew or a limitation of xmc0), but it may be more important to others to have that choice present. So maybe offer to mount xmc0 with the start button and sd0 (once supported) with the select button?
  3. As a psvsd owner/user, I love that it's mentioned by name in the installer. But it can't be avoided that this will be used by PSTV users as well (I am in the process of setting one up to give to a friend as a gift)... So perhaps change this line: "Select how to mount the PSVSD Card." to "Select how to mount the PSVSD Card (PSV Phat 3G) or USB Mass Storage (PSTV)." or something similar. I trust your judgement, so word it however you feel most fitting.
    1. Alternatively, if you know of a way to do so (or are up for a challenge of sorts; changing the text string is no doubt easier and "good enough" for most) perhaps you could autodetect which model PSV/PSTV is running and use if/else statements to determine how to prompt the user for input (or optionally skip input for PSV Slim owners). VITAident has code for detecting models if you're interested in giving it a shot. A few points of interest exist in kernel.c at about line 78 and a bit further down as well as in fs.c at line 72.

Everything else is absolutely fantastic! 😊 I can't think of anything else I could say other than how thankful I am for any and all of your contributions. Please don't take any of my feedback as a demand or anything like one-- they're simply suggestions and you may do what you please with them (including ignore them). I just hope the feedback is at the very least helpful!

As I have mentioned on reddit, I am a terrible coder 😣 (thankfully I can read and make sense of some of it), so feedback is my main way of giving back to the scene.

IDBurner commented 6 years ago

@andoryuu3 One and Two should be easily doable. Honestly two just wasn't done so that I could try and keep the selections to the 4 buttons lol.

Three I will probably be cleaner text at first and then I will see what I can do with that other code. It looks pretty straight forward but without having a PSTV, SLIM, or OLED w/o the 3g card it would be hard for me to test to make sure it is all working.

EDIT: I have pushed the changes as stated above. I will look into adding Device checks.

andoryuu3 commented 6 years ago

@IDBurner Haha, I totally understand the four buttons thing.

As for point three, use me as a resource if you need to. Username is the same on Reddit and Twitter as it is here. The only device I don't have is an OLED w/o the 3G card. Never intended to have so many Vitas (but I admit I bought into the hype when the PSTV came out (and bought it on release day to ensure it would be exploitable)... That PSTV is the one I'm giving away, but I have an exploitable VitaTV (japanese white version) I acquired within the past year that I intend to keep.

As for my Slim... Well, I bought the OLED 3G while I was in Japan about 5-6 years ago (can't believe it's been that long already), and literally the week after I bought it I was eating dinner with my ex's family and a commercial announcing the Slim in five different colors popped on the TV. I got a little jelly and it lingered with me. After HENKaku released, I secured one for myself ASAP.

So yes, all four are on either 3.60 Enso (OLED 3G and Slim) or 3.65 Enso (testing the waters with PSTV and VitaTV). So to quickly recap with model numbers and what VITAident detects, I have:

OLED 3G (PCH-1100 (AB01); detected as PCH-1000 3G 0x00010000) Slim (PCH-2006; detected as PCH-2000 WiFi 0x00010000) VitaTV (VTE-1000; detected as VTE-1000 WiFi 0x00020000) PSTV (VTE-1001; detected as VTE-1000 WiFi 0x00020000)

Like I've already done, you could probably make some educated guesses on how VITAident gets those values and detects various models (and confirm it in the code; this part I have yet to do, but would like to).

IDBurner commented 6 years ago

@andoryuu3 Good to know!

I have pushed a build that has the changes as I stated they would be done in my last comment. I will look into adding device specific options.

Changed RTrigger to use xmc0 as a mount option in that menu. LTrigger is now the blank option. It also checks for storage_config.txt and if it exists will ask if you would like to reconfigure or skip And finally for now Option 3 is "Select how to mount the USB Mass Storage (External on PSTV or PSVSD on 3G OLED)."

IDBurner commented 6 years ago

@andoryuu3

Can you check this version? Used some tidbits from the project you linked. I see that only the Slim returns a 2000 and so it only checks for that really.

So the 4th option should show on all but that version if you can check :)

storagemgr_installer.zip

andoryuu3 commented 6 years ago

@IDBurner Hmm... It didn't work at first (I reinstalled the test version .vpk without deleting the old version)... But it did work when I deleted the app completely (via LiveArea context menu) then did a fresh install with that test version.

So mostly a success! But it makes me curious why the first time around with the test version it still showed the fourth option. Though, I'm very much aware oddities like this can happen with tech (hence why people stress the importance of following instructions lol).

I'll be heading off to work soon, but sometime later today I should be available to test anything else out that you cook up.

EDIT: I only tested on the slim, but I can test this version you linked again on my other models if you'd like later.

IDBurner commented 6 years ago

@andoryuu3 I am guessing trash was cached. I can change it to a variable that undefines at startup so there is no chance of garbage info laying around.

Thanks for checking.