コード例 #1
0
ファイル: main.c プロジェクト: Almamu/ctrulib
int main(int argc, char** argv)
{
	// Initialize services
	gfxInitDefault();
	initCfgu();


	u8 language = 0;
	Result res;

	// Init console for text output
	consoleInit(GFX_BOTTOM, NULL);

	// Read the language field from the config savegame.
	res = CFGU_GetSystemLanguage(&language);

	// Print return value and language code
	printf("       Result: 0x%x\n", (int)res);
	printf("Language code: %d", (int)language);


	// Main loop
	while (aptMainLoop())
	{
		hidScanInput();

		u32 kDown = hidKeysDown();
		if (kDown & KEY_START)
			break; // break in order to return to hbmenu

		// Flush and swap framebuffers
		gfxFlushBuffers();
		gfxSwapBuffers();
		gspWaitForVBlank();
	}

	// Exit services
	exitCfgu();
	gfxExit();
	return 0;
}
コード例 #2
0
ファイル: platform_ctr.c プロジェクト: blakekohler/RetroArch
static void frontend_ctr_init(void *data)
{
#ifndef IS_SALAMANDER
   (void)data;
   global_t *global   = global_get_ptr();
   global->verbosity = true;

#if 0
   srvInit();
   aptInit();
   hidInit();
   fsInit();
   sdmcInit();

   APT_SetAppCpuTimeLimit(NULL, 80);
   gfxInitDefault();
#endif
   gfxInit(GSP_BGR8_OES,GSP_RGB565_OES,false);
   csndInit();
   initCfgu();
   gfxSet3D(false);
   consoleInit(GFX_BOTTOM, NULL);
#endif
}
コード例 #3
0
ファイル: main.cpp プロジェクト: Hikiruka/coffei
int main(int argc, char **argv)
{
	srvInit();	
	aptInit();
	gfxInit();
	acInit();
	initCfgu();
	ptmInit();
	hidInit(NULL);
	irrstInit(NULL);
	fsInit();
	hbInit();
	Handle fileHandle;
	u64 size;
	u32 bytesRead;
	int restore;
	
	// Set main script
	char path[256];
	if (argc > 0){	
		int latest_slash = 0;
		int i=5;
		while (argv[0][i]  != '\0'){
		if (argv[0][i] == '/'){
		latest_slash = i;
		}
		i++;
		}
		strcpy(path,&argv[0][5]);
		path[latest_slash-5] = 0;
		strcpy(start_dir,path);
		strcpy(cur_dir,path); // Set current dir
	}else{
		strcpy(start_dir,"/");
		strcpy(cur_dir,"/"); // Set current dir for GW Mode
	}
		
	while(aptMainLoop())
	{
		restore=0;		
		char error[256];
		
		errMsg = runScript((const char*)index_lua, true);
		
		if (errMsg != NULL);
                {
				// Fake error to force interpreter shutdown
				if (strstr(errMsg, "lpp_exit_04")){
					break;
				}
				
				strcpy(error,"Error: ");
				strcat(error,errMsg);
				strcat(error,"\n\nPress A to restart\nPress B to exit");
				}

						while (restore==0){
							gspWaitForVBlank();
							RefreshScreen();
							ClearScreen(0);
							ClearScreen(1);
							DebugOutput(error);
							hidScanInput();
							if(hidKeysDown() & KEY_A){
								strcpy(cur_dir,start_dir);
								restore=1;
							}else if(hidKeysDown() & KEY_B){
								restore=2;
							}
							gfxFlushBuffers();
							gfxSwapBuffers();
						}
						if (restore==2){
							break;
						}
	}
	
	fsExit();
	irrstExit();
	hidExit();
	ptmExit();
	hbExit();
	acExit();
	exitCfgu();
	gfxExit();
	aptExit();
	srvExit();

	return 0;
}
コード例 #4
0
ファイル: archive.c プロジェクト: mikemow/extdata_dump
Result backupAllExtdata(u8 *filebuffer, size_t bufsize)
{
	Result ret=0;
	u8 region=0;
	
	memset(filebuffer, 0, bufsize);

	ret = initCfgu();
	if(ret!=0)
	{
		printf("initCfgu() failed: 0x%08x\n", (unsigned int)ret);
		gfxFlushBuffers();
		gfxSwapBuffers();
		return ret;
	}

	ret = CFGU_SecureInfoGetRegion(&region);
	if(ret!=0)
	{
		printf("CFGU_SecureInfoGetRegion() failed: 0x%08x\n", (unsigned int)ret);
		gfxFlushBuffers();
		gfxSwapBuffers();
		return ret;
	}
	exitCfgu();

	
	u32* extdataList = (u32*)malloc(0x10000);
	if (extdataList==NULL)
	{
		printf("malloc failed\n");
		gfxFlushBuffers();
		gfxSwapBuffers();
		return -1;
	}
	int i;
	
	u32 extdataCount = 0;
	ret = EnumerateExtSaveData((u8*) extdataList, 0x10000, &extdataCount, false);
	if(ret!=0)
	{
		printf("EnumerateExtSaveData() failed: 0x%08x\n", (unsigned int)ret);
		gfxFlushBuffers();
		gfxSwapBuffers();
		return ret;
	}
	
	for (i=0; i<extdataCount; ++i) {
		dumpArchive(mediatype_SDMC, extdataList[i], ARCH_EXTDATA, user_extdata_dumpfolder, filebuffer, bufsize);
	}
	
	extdataCount = 0;
	ret = EnumerateExtSaveData((u8*) extdataList, 0x10000, &extdataCount, true);
	if(ret!=0)
	{
		printf("EnumerateExtSaveData() failed: 0x%08x\n", (unsigned int)ret);
		gfxFlushBuffers();
		gfxSwapBuffers();
		return ret;
	}
	
	for (i=0; i<extdataCount; ++i) {
		dumpArchive(mediatype_NAND, extdataList[i], ARCH_SHARED_EXTDATA, shared_extdata_dumpfolder, filebuffer, bufsize);
	}
	free(extdataList);
	
	printf("Success!\n");
	gfxFlushBuffers();
	gfxSwapBuffers();
	//svcSleepThread(5000000000LL);
	
	return 0;
}
コード例 #5
0
ファイル: archive.c プロジェクト: szymbar15/extdata_dump
Result backupAllExtdata(u8 *filebuffer, size_t bufsize)
{
    Result ret=0;
    u8 region=0;

    memset(filebuffer, 0, bufsize);

    ret = initCfgu();
    if(ret!=0)
    {
        printf("initCfgu() failed: 0x%08x\n", (unsigned int)ret);
        gfxFlushBuffers();
        gfxSwapBuffers();
        return ret;
    }

    ret = CFGU_SecureInfoGetRegion(&region);
    if(ret!=0)
    {
        printf("CFGU_SecureInfoGetRegion() failed: 0x%08x\n", (unsigned int)ret);
        gfxFlushBuffers();
        gfxSwapBuffers();
        return ret;
    }
    exitCfgu();

    amInit();
    u32 titleCount = 0;
    ret = AM_GetTitleCount(mediatype_SDMC, &titleCount);
    if(ret!=0)
    {
        printf("AM_GetTitleCount() failed: 0x%08x\n", (unsigned int)ret);
        gfxFlushBuffers();
        gfxSwapBuffers();
        return ret;
    }
    u64* titleList = (u64*)malloc(sizeof(u64) * titleCount);
    ret = AM_GetTitleIdList(mediatype_SDMC, titleCount, titleList);
    if(ret!=0)
    {
        printf("AM_GetTitleIdList() failed: 0x%08x\n", (unsigned int)ret);
        gfxFlushBuffers();
        gfxSwapBuffers();
        return ret;
    }

    int i;
    for (i=0; i<titleCount; ++i) {
        unsigned int title = (titleList[i]>>8) & 0xFFFFFF;
        dumpArchive(mediatype_SDMC, title, ARCH_EXTDATA, user_extdata_dumpfolder, filebuffer, bufsize);
        if (title == 0x725) {
            svcSleepThread(5000000000LL);
        }
    }
    free(titleList);
    amExit();

    for (i=0xE0000000; i<0xE0000100; ++i) {
        dumpArchive(mediatype_NAND, i, ARCH_SHARED_EXTDATA, shared_extdata_dumpfolder, filebuffer, bufsize);
    }
    for (i=0xF0000000; i<0xF0000100; ++i) {
        dumpArchive(mediatype_NAND, i, ARCH_SHARED_EXTDATA, shared_extdata_dumpfolder, filebuffer, bufsize);
    }

    printf("Success!\n");
    gfxFlushBuffers();
    gfxSwapBuffers();
    //svcSleepThread(5000000000LL);

    return 0;
}