mirror of
https://github.com/joel16/VitaShell.git
synced 2024-12-04 01:40:54 +00:00
Fixed usb
This commit is contained in:
parent
2ca899c1c7
commit
c559a8a0fd
@ -14,7 +14,7 @@ project(VitaShell)
|
|||||||
include("${VITASDK}/share/vita.cmake" REQUIRED)
|
include("${VITASDK}/share/vita.cmake" REQUIRED)
|
||||||
set(VITA_APP_NAME "VitaShell")
|
set(VITA_APP_NAME "VitaShell")
|
||||||
set(VITA_TITLEID "VITASHELL")
|
set(VITA_TITLEID "VITASHELL")
|
||||||
set(VITA_VERSION "01.94")
|
set(VITA_VERSION "01.95")
|
||||||
|
|
||||||
# Flags and includes
|
# Flags and includes
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3 -Wno-unused-variable -Wno-unused-but-set-variable -Wno-format-truncation -fno-lto")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3 -Wno-unused-variable -Wno-unused-but-set-variable -Wno-format-truncation -fno-lto")
|
||||||
@ -205,6 +205,6 @@ add_custom_target(send
|
|||||||
)
|
)
|
||||||
|
|
||||||
add_custom_target(copy
|
add_custom_target(copy
|
||||||
COMMAND cp eboot.bin H:/app/${VITA_TITLEID}/eboot.bin
|
COMMAND cp eboot.bin G:/app/${VITA_TITLEID}/eboot.bin
|
||||||
DEPENDS eboot.bin
|
DEPENDS eboot.bin
|
||||||
)
|
)
|
||||||
|
@ -102,7 +102,12 @@ Credits
|
|||||||
Changelog
|
Changelog
|
||||||
---------
|
---------
|
||||||
|
|
||||||
|
### Changelog 1.95
|
||||||
|
|
||||||
|
- Fixed bug in USB connection, where your Memory Card could be corrupted.
|
||||||
|
|
||||||
### Changelog 1.94
|
### Changelog 1.94
|
||||||
|
|
||||||
- Added ability to umount all partitions that you can mount.
|
- Added ability to umount all partitions that you can mount.
|
||||||
- Fixed crash when using StorageMgr.
|
- Fixed crash when using StorageMgr.
|
||||||
|
|
||||||
|
2
main.h
2
main.h
@ -54,7 +54,7 @@
|
|||||||
|
|
||||||
// VitaShell version major.minor
|
// VitaShell version major.minor
|
||||||
#define VITASHELL_VERSION_MAJOR 0x01
|
#define VITASHELL_VERSION_MAJOR 0x01
|
||||||
#define VITASHELL_VERSION_MINOR 0x94
|
#define VITASHELL_VERSION_MINOR 0x95
|
||||||
|
|
||||||
#define VITASHELL_VERSION ((VITASHELL_VERSION_MAJOR << 0x18) | (VITASHELL_VERSION_MINOR << 0x10))
|
#define VITASHELL_VERSION ((VITASHELL_VERSION_MAJOR << 0x18) | (VITASHELL_VERSION_MINOR << 0x10))
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
<frame id="frame4">
|
<frame id="frame4">
|
||||||
<liveitem>
|
<liveitem>
|
||||||
<text align="left" text-align="left" word-wrap="off" ellipsis="on">
|
<text align="left" text-align="left" word-wrap="off" ellipsis="on">
|
||||||
<str size="18" color="#ffffff" shadow="on">v1.94</str>
|
<str size="18" color="#ffffff" shadow="on">v1.95</str>
|
||||||
</text>
|
</text>
|
||||||
</liveitem>
|
</liveitem>
|
||||||
</frame>
|
</frame>
|
||||||
|
@ -207,7 +207,7 @@ PLEASE_WAIT = "Please wait..."
|
|||||||
MEMORY_CARD_NOT_FOUND = "Please insert a Memory Card."
|
MEMORY_CARD_NOT_FOUND = "Please insert a Memory Card."
|
||||||
GAME_CARD_NOT_FOUND = "Please insert a Game Card."
|
GAME_CARD_NOT_FOUND = "Please insert a Game Card."
|
||||||
MICROSD_NOT_FOUND = "Please insert a microSD."
|
MICROSD_NOT_FOUND = "Please insert a microSD."
|
||||||
NO_SPACE_ERROR = "There is not enough free space on the memory\card.\At least %s more space is needed."
|
NO_SPACE_ERROR = "There is not enough free space on the Memory\Card.\At least %s more space is needed."
|
||||||
EXTENDED_PERMISSIONS_REQUIRED = "This feature requires extended permissions.\Please activate 'Enable unsafe homebrew' first."
|
EXTENDED_PERMISSIONS_REQUIRED = "This feature requires extended permissions.\Please activate 'Enable unsafe homebrew' first."
|
||||||
WIFI_ERROR = "You must use Wi-Fi to do this."
|
WIFI_ERROR = "You must use Wi-Fi to do this."
|
||||||
FTP_SERVER = "FTP server is now running at\ftp://%s:%i\\Select 'OK' to keep it in background.\Select 'Cancel' to disconnect."
|
FTP_SERVER = "FTP server is now running at\ftp://%s:%i\\Select 'OK' to keep it in background.\Select 'Cancel' to disconnect."
|
||||||
|
47
usb.c
47
usb.c
@ -135,7 +135,6 @@ int umountUsbUx0() {
|
|||||||
int remount_uma0 = 0, remount_xmc0 = 0, remount_imc0 = 0, remount_ux0 = 0;
|
int remount_uma0 = 0, remount_xmc0 = 0, remount_imc0 = 0, remount_ux0 = 0;
|
||||||
|
|
||||||
void remount_partitions() {
|
void remount_partitions() {
|
||||||
// Remount partitions
|
|
||||||
if (remount_ux0)
|
if (remount_ux0)
|
||||||
vshIoMount(0x800, NULL, 0, 0, 0, 0);
|
vshIoMount(0x800, NULL, 0, 0, 0, 0);
|
||||||
if (remount_imc0)
|
if (remount_imc0)
|
||||||
@ -154,6 +153,28 @@ SceUID startUsb(const char *usbDevicePath, const char *imgFilePath, int type) {
|
|||||||
// Destroy other apps
|
// Destroy other apps
|
||||||
sceAppMgrDestroyOtherApp();
|
sceAppMgrDestroyOtherApp();
|
||||||
|
|
||||||
|
// Load and start usbdevice module
|
||||||
|
res = taiLoadStartKernelModule(usbDevicePath, 0, NULL, 0);
|
||||||
|
if (res < 0)
|
||||||
|
goto ERROR_LOAD_MODULE;
|
||||||
|
|
||||||
|
modid = res;
|
||||||
|
|
||||||
|
// Stop MTP driver
|
||||||
|
res = sceMtpIfStopDriver(1);
|
||||||
|
if (res < 0)
|
||||||
|
goto ERROR_STOP_DRIVER;
|
||||||
|
|
||||||
|
// Set device information
|
||||||
|
res = sceUsbstorVStorSetDeviceInfo("\"PS Vita\" MC", "1.00");
|
||||||
|
if (res < 0)
|
||||||
|
goto ERROR_USBSTOR_VSTOR;
|
||||||
|
|
||||||
|
// Set image file path
|
||||||
|
res = sceUsbstorVStorSetImgFilePath(imgFilePath);
|
||||||
|
if (res < 0)
|
||||||
|
goto ERROR_USBSTOR_VSTOR;
|
||||||
|
|
||||||
// Umount all partitions
|
// Umount all partitions
|
||||||
remount_uma0 = remount_xmc0 = remount_imc0 = remount_ux0 = 0;
|
remount_uma0 = remount_xmc0 = remount_imc0 = remount_ux0 = 0;
|
||||||
if (checkFolderExist("uma0:")) {
|
if (checkFolderExist("uma0:")) {
|
||||||
@ -173,28 +194,6 @@ SceUID startUsb(const char *usbDevicePath, const char *imgFilePath, int type) {
|
|||||||
remount_ux0 = 1;
|
remount_ux0 = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load and start usbdevice module
|
|
||||||
res = taiLoadStartKernelModule(usbDevicePath, 0, NULL, 0);
|
|
||||||
if (res < 0)
|
|
||||||
goto ERROR_LOAD_MODULE;
|
|
||||||
|
|
||||||
modid = res;
|
|
||||||
|
|
||||||
// Stop MTP driver
|
|
||||||
res = sceMtpIfStopDriver(1);
|
|
||||||
if (res < 0 && res != 0x8054360C)
|
|
||||||
goto ERROR_STOP_DRIVER;
|
|
||||||
|
|
||||||
// Set device information
|
|
||||||
res = sceUsbstorVStorSetDeviceInfo("\"PS Vita\" MC", "1.00");
|
|
||||||
if (res < 0)
|
|
||||||
goto ERROR_USBSTOR_VSTOR;
|
|
||||||
|
|
||||||
// Set image file path
|
|
||||||
res = sceUsbstorVStorSetImgFilePath(imgFilePath);
|
|
||||||
if (res < 0)
|
|
||||||
goto ERROR_USBSTOR_VSTOR;
|
|
||||||
|
|
||||||
// Start USB storage
|
// Start USB storage
|
||||||
res = sceUsbstorVStorStart(type);
|
res = sceUsbstorVStorStart(type);
|
||||||
if (res < 0)
|
if (res < 0)
|
||||||
@ -203,13 +202,13 @@ SceUID startUsb(const char *usbDevicePath, const char *imgFilePath, int type) {
|
|||||||
return modid;
|
return modid;
|
||||||
|
|
||||||
ERROR_USBSTOR_VSTOR:
|
ERROR_USBSTOR_VSTOR:
|
||||||
|
remount_partitions();
|
||||||
sceMtpIfStartDriver(1);
|
sceMtpIfStartDriver(1);
|
||||||
|
|
||||||
ERROR_STOP_DRIVER:
|
ERROR_STOP_DRIVER:
|
||||||
taiStopUnloadKernelModule(modid, 0, NULL, 0, NULL, NULL);
|
taiStopUnloadKernelModule(modid, 0, NULL, 0, NULL, NULL);
|
||||||
|
|
||||||
ERROR_LOAD_MODULE:
|
ERROR_LOAD_MODULE:
|
||||||
remount_partitions();
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user