예제 #1
0
파일: main.c 프로젝트: yin8086/psplinkusb
/* Entry point */
int module_start(SceSize args, void *argp)
{
	int thid;
	int retv;

	retv = sceUsbStart(PSP_USBBUS_DRIVERNAME, 0, 0);
	if(retv){
		return 0;
	}
	retv = sceUsbStart(HOSTFSDRIVER_NAME, 0, 0);
	if(retv){
		return 0;
	}
	retv = sceUsbActivate(HOSTFSDRIVER_PID);

	usbAsyncRegister(ASYNC_SHELL, &g_endp);
	usbAsyncRegister(ASYNC_STDOUT, &g_stdin);
	usbWaitForConnect();

	retv = stdioTtyInit();
	stdioInstallStdoutHandler(usbStdoutPrint);
	stdioInstallStderrHandler(usbStderrPrint);

	printk("Usbshell Start!\n");

	/* Create a high priority thread */
	thid = sceKernelCreateThread("USBShell", main_thread, 12, 0x2000, 0, NULL);
	if(thid >= 0)
	{
		sceKernelStartThread(thid, args, argp);
	}
	return 0;
}
예제 #2
0
파일: main.c 프로젝트: bensaraceno/PSP
int StartUsb() {
	int result = sceUsbStart(PSP_USBBUS_DRIVERNAME, 0, 0);
	if (result < 0) { printf("Error 0x%08X starting usbbus driver.\n", result); return result; }

	result = sceUsbStart(PSP_USBACC_DRIVERNAME, 0, 0);
	if (result < 0) { printf("Error 0x%08X starting usbacc driver.\n", result); return result; }
	
	result = sceUsbStart(PSP_USBCAM_DRIVERNAME, 0, 0);
	if (result < 0) { printf("Error 0x%08X starting usbcam driver.\n", result); return result; }

	result = sceUsbStart(PSP_USBCAMMIC_DRIVERNAME, 0, 0);
	if (result < 0) printf("Error 0x%08X starting usbcammic driver.\n", result);
	return result;
}
예제 #3
0
파일: main.c 프로젝트: IgorMac/gSquare
void usbStorage()
{
  pspSdkLoadStartModule("flash0:/kd/chkreg.prx",PSP_MEMORY_PARTITION_KERNEL);
  pspSdkLoadStartModule("flash0:/kd/npdrm.prx",PSP_MEMORY_PARTITION_KERNEL);
  pspSdkLoadStartModule("flash0:/kd/semawm.prx",PSP_MEMORY_PARTITION_KERNEL);
  pspSdkLoadStartModule("flash0:/kd/usbstor.prx",PSP_MEMORY_PARTITION_KERNEL);
  pspSdkLoadStartModule("flash0:/kd/usbstormgr.prx",PSP_MEMORY_PARTITION_KERNEL);
  pspSdkLoadStartModule("flash0:/kd/usbstorms.prx",PSP_MEMORY_PARTITION_KERNEL);
  pspSdkLoadStartModule("flash0:/kd/usbstorboot.prx",PSP_MEMORY_PARTITION_KERNEL);
  pspSdkLoadStartModule("flash0:/kd/usbdevice.prx",PSP_MEMORY_PARTITION_KERNEL);
  sceUsbStart(PSP_USBBUS_DRIVERNAME,0,0);
  sceUsbStart(PSP_USBSTOR_DRIVERNAME,0,0);
  sceUsbstorBootSetCapacity(0x800000);
  sceUsbActivate(0x1c8);
}
예제 #4
0
void start_usb()
{
	pspSdkLoadStartModule("flash0:/kd/semawm.prx", PSP_MEMORY_PARTITION_KERNEL);
	pspSdkLoadStartModule("flash0:/kd/usbstor.prx", PSP_MEMORY_PARTITION_KERNEL);
	pspSdkLoadStartModule("flash0:/kd/usbstormgr.prx", PSP_MEMORY_PARTITION_KERNEL);
	pspSdkLoadStartModule("flash0:/kd/usbstorms.prx", PSP_MEMORY_PARTITION_KERNEL);
	pspSdkLoadStartModule("flash0:/kd/usbstorboot.prx", PSP_MEMORY_PARTITION_KERNEL);

	sceUsbStart(PSP_USBBUS_DRIVERNAME, 0, 0);
	sceUsbStart(PSP_USBSTOR_DRIVERNAME, 0, 0);
	sceUsbstorBootSetCapacity(0x800000);

	sceUsbActivate(0x1c8);

	usbStarted = 1;
}
예제 #5
0
int LPP_UtilsStartUsbStorage(void)
{
    if(usb1 < 0 || usb2 < 0 || usb3 < 0 || usb4 < 0 || usb5 < 0)
    {
        return -1;
    }
    if(usbStarted) return 1;

    sceUsbStart(PSP_USBBUS_DRIVERNAME, 0, 0);
    sceUsbStart(PSP_USBSTOR_DRIVERNAME, 0, 0);
    sceUsbstorBootSetCapacity(0x800000);
    sceUsbActivate(0x1c8);

    usbStarted = 1;

    return 0;

}
예제 #6
0
/**
 * Connects a device through usb
 * @param device The usbdevice to connect to
 */
void ConnectUSB(u32 device)
{
	LoadStartModule("flash0:/kd/semawm.prx");
	LoadStartModule("flash0:/kd/usbstor.prx");
    LoadStartModule("flash0:/kd/usbstormgr.prx");
    LoadStartModule("flash0:/kd/usbstorms.prx");
    LoadStartModule("flash0:/kd/usbstorboot.prx");
	LoadStartModule("flash0:/kd/usbdevice.prx");

	pspUsbDeviceSetDevice(device, 0, 0);
	sceUsbStart(PSP_USBBUS_DRIVERNAME, 0, 0);
	sceUsbStart(PSP_USBSTOR_DRIVERNAME, 0, 0);
	sceUsbstorBootSetCapacity(0x800000);
	
	sceUsbActivate(0x1c8);

	usb_mode = vlfGuiAddTextF(200, 120, "USB Mode");
	vlfGuiBottomDialog(VLF_DI_BACK, -1, 1, 230, 580, BackToUsb);
} 
예제 #7
0
int startUsbHost()
{
	tSceModule * pMod = ( tSceModule * )sceKernelFindModuleByName( "USBHostFS" );
	if ( !pMod )
	{
		if ( loadStartModule( USBHOSTFS_PRX, 0, NULL ) < 0 )
		{
			log( "Error starting usbhostfs.prx\n" );
			return -1;
		}
	}
	int ret;
	if ( fw_version < FW_500 || sceKernelInitKeyConfig() == PSP_INIT_KEYCONFIG_GAME )
	{
		ret = sceUsbStart( PSP_USBBUS_DRIVERNAME, 0, 0 );
		if ( ret != 0 )
		{
			log( "Error starting USB Bus driver (0x%08X)\n", ret );
			return -1;
		}
	}
	else
	{
		ret = sceUsbStart( PSP_USBBUS_DRIVERNAME, 0, 0 );
		if ( ret != 0 )
		{
			log( "Error starting USB Bus driver (0x%08X)\n", ret );
			return -1;
		}
	}

	ret = sceUsbStart( HOSTFSDRIVER_NAME, 0, 0 );
	if ( ret != 0 )
	{
		log( "Error starting USB Host driver (0x%08X)\n", ret );
		return -1;
	}
	ret = sceUsbActivate( HOSTFSDRIVER_PID );
	sceKernelDelayThread( 2000000 );
	return ret;
}
예제 #8
0
/*------------------------------------------------------------------------------*/
static int MyUsbStart( const char *name, unsigned int args, void *argp )
{
	if ( strcmp( name, "USBStor_Driver" ) == 0 ){ UsbSuspend(); }
	int ret = sceUsbStart( name, args, argp );
	return( ret );
}