From b3697b6022e2580c06533025cb53322a8fda854e Mon Sep 17 00:00:00 2001 From: BuildTools Date: Fri, 31 Mar 2017 20:42:32 +0200 Subject: [PATCH] Improved debug system to output redirected files. --- include/ctr/FS.h | 1 + release/OnionFS.plg | Bin 17120 -> 17144 bytes release/OnionFS_debug.plg | Bin 20444 -> 21460 bytes source/libctru/FS.c | 12 +++++++ source/log.c | 6 ++-- source/main.c | 70 +++++++++++++++++++++++++++----------- 6 files changed, 68 insertions(+), 21 deletions(-) diff --git a/include/ctr/FS.h b/include/ctr/FS.h index 0f5cbce..583fbe9 100644 --- a/include/ctr/FS.h +++ b/include/ctr/FS.h @@ -48,6 +48,7 @@ Result FSFILE_Read(Handle handle, u32 *bytesRead, u64 offset, void *buffer, u32 Result FSFILE_Write(Handle handle, u32 *bytesWritten, u64 offset, u32 *buffer, u32 size, u32 flushFlags); Result FSFILE_GetSize(Handle handle, u64 *size); Result FSFILE_SetSize(Handle handle, u64 size); +Result FSFILE_Flush(Handle handle); Result FSDIR_Read(Handle handle, u32 *entriesRead, u32 entrycount, u16 *buffer); Result FSDIR_Close(Handle handle); diff --git a/release/OnionFS.plg b/release/OnionFS.plg index 0a9d4df3a1a64f4272875aeadcb656d1a477fd0e..994bc1e4751037aa976dbbd2dc0ba533695d6df1 100644 GIT binary patch delta 2313 zcmY+GdrXs86u|H41KL92E3{B(r7bP;C`!Q@aOglq!HEHfY&vmvLExZIWf7$t0P^Eto>~h-|vRWSbR%Xe9r$?x3#wnPN5NwgQm6DjaQ)x3P`QMDwPMm!_%sGu#p~* zT`E76qe;Ej(jUP>I-gBev%r{UX!|&8>78o8)9NzI58*7tmRV<>lGq%|YA;lyNs|TF zaHHlqD8zQn=WqmfYLCN19MnDp6W$DKhWBurZUt6{zY2qRC;WBTMf%%t9`ERyDWXze z49}B29_jExEinYs`b2 zxGKs4=A}@4D=Hb*VQ18S=tpg|TjkSX6vSa+v;-3FjCQ~kJR0rRTMHznAvqKLDEbh< z*QhrYYx@c%R*#jYTc-MT662awvg%h|*ZFY|u8Ofi3m%MdxV~Cg2-W&JWadMev5JWp z#tgf;?hH&YXR}<6oiT2cr?5k|N;Zn(*1&`lM`LW#iA@q~qujI9iE|qyhE1{dpeJ?& z;7@#P_QEYpx45aA9hM5MhsrAnc3QqsrSou!eISoG2glOrl2~D2>=S>73^xK3bL8tT zat`d->K~cM^H!TGvLJZHY5>q+Pr`oVbQlZyr4HH8I^>tom6*EihL(j6@M5LFL>gJ| zQiPQv?6j_YybyBITB7wcwC3Z(2da&Vy+m?uqr{w4n2zs?t%()zEy{^&R8j#Z+A?4z zZn0HBGPc{?kPz&(9a0(06lv%67hq1((~ycMlX4+}{*TAoN#!fFDwX1+2pd)p|gMSu6 zYkhkc8>D6|F+kC6v*-=obS8<8?2Lw2L&K}1iRq_n&ZJ7iJ<5=3)GQQEXXjTRhhxdH#toGDOWtw1 zg*gOweB)nqIzGNRmI5~eL z;q*u@Ez_wdhKtK|>Pg~Vv0ohR*Ccf`%7-ZtFS3C)~Z zk=XT366SmE!wjaUd~BSiyN9NQg&AT=a5SY@P2WdX`eq2=!SvUROD(FUL`^8CzXQE^ zG-ETAVo%0#`UYovYb^hZp|}9aK=4zqSDjFsBe6P?29hR{7Lp4j7xBUBGVLS<&f=D= zT$sg^SqQU1lP?+wuI%t|Xu|ZoHKtN}w_3(n8ZnGGfJgEU!9^U+%Ws^QBoTmT z{31rtuM3``)AP6%!9ug57YUXKmI_YADgJ4}s|kueAULeBk{67oc6Py&B5}X#a`XsiG z_tZ`cPN$$pFikL1&?nd=ct-HLV0pHZ$4}GA^VQ<9`~ujGJ^2n(_j>vs(LX+k2}Jrc QB)=~B#`>Bt?8?*p3%^FB%>V!Z delta 2419 zcmY+Edu-EH6vyxBV=L{-ew{1rXjy;jIw{-8ev=ueyf#5LKm^>37*U3fj42WjA1Kp} z0FlIzj2uiPE?JEj_Xi|sr=n)Q{t+L<5f>e1#%<-7h-HX6BadPIUVe85o7{fxIrrRi z&pqed-=%#tvX8nBInUm%iME4>i)r@3{?)XVy|l|V;W_wml#kMSs({?U>uoW5k9XSw zXLuXC;Aelqy5<9&LF*E)AmicdNJB;wDq_Rv0F?wZAqWN)Q@KArt6Ert9Ny}+kk zdth7_>8B8mT_%P zgbwq@oED1lmpLnG3;Vr`d0kv{h7FH7$)~*=Xfan#f7JH1iy!tDQXz~3{LS2e@ zzF1y`Y)eV2pL@=A{J>cGz^XA_c+8mQG2^<&EJp~!NTh;bIr1uu17;kI=^<0sLS~of zG2cOEJNfOrNKrDANpCTFV8x~o4XHdK-0P*RCsIP+V>a^ddBqFkH9ck!d!=8w5`&Mb zOvPwE&eh;s*3O06X{cS}LQOQ^sfk9!IgGpPOs=}=Z=!L&%U?#H@OFPO8sQaxgEI%0 zHIn20Pi!>I$AY2K5m@&v)lWXKtZC>h<_mCwS4)g)+JQ0gX_x81DNc-uMae&cZlWx{ zRvkwF+I$!GiNXV+$qw{GJY+QibMMoEP}8IW4`KICaq(xVZH)$*%)9x_%my0dxuJQsON;oCP$^aOflvdgJ{l^fP|_KG+~yXD)P(_y z=L=WR9KKc<;Ne1@LYTG8%C@1sk){qpGaHFfDovzZNTp1fhj&LB3MR1GKrwSr%ylTH zw7S(;X*ThAB;fo0a^}Cw4BC3k4)*J_=^QWA10|`enY2xaUk~N=n0vAIGi1Y9Ikq#} zW7=_fc?R=y`f6IvU+TqP{YoYsROM>s%X%HX#x zfuOTvR=;N1MLL5(Wy*t?%P))UYeHYk?p=g*eIVPqt9Y&h(_LAFEgzCp%; zGrvQ?^1J}f+YA5OM0<}ZZ_x&!8BQl~ShL!+MZaF$(aq53;P$fb?*Z%8dZSuj1HD7) z!DZlw>JVABsqgIdPDe)N_ap|&?w4i6JZ|{F*p|$BiHFijC6{ zx0bx&9Ym3+Ba;~dtC9sb*V(CvH_ll?$N9}UJG@i1Y=pBdTvGZno#MAkm(Y6tt8^E> zv)jvB{Qt9oT_;9ga=fg}UJ$LOYX4PE;^N>SFtUm3>5b&?pN$o>{1MdE&F)H zV!5KB*r{9k?qZ7x#Ut0*E<~?V992B7*rzB;tc?yumtu~hrkJl7R17QXiZR8wV!0&F z7lu+)O&Q#59r%snpyJRJORe=`#Sz7`im#Si>)nb8#UqNnibugsvZg~7%Aw+j;#tLC z6wfPORID+qeM=SF6tzlAucJ$)|2Q9;znFqNK0o4XLl4TI?8pLegl8?-7TwfR`{bjW cTc6oPx# diff --git a/release/OnionFS_debug.plg b/release/OnionFS_debug.plg index 752377b68f9af3491d4c16574464a684e75189f4..08112dbd3a0ca751275579286a7b182cfd21ac6d 100644 GIT binary patch delta 5267 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 delta 4328 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 diff --git a/source/libctru/FS.c b/source/libctru/FS.c index 3734935..fbab49a 100644 --- a/source/libctru/FS.c +++ b/source/libctru/FS.c @@ -204,6 +204,18 @@ Result FSFILE_SetSize(Handle handle, u64 size) return cmdbuf[1]; } +Result FSFILE_Flush(Handle handle) +{ + u32 *cmdbuf = getThreadCommandBuffer(); + + cmdbuf[0] = 0x8090000; + + Result ret = 0; + if((ret = svc_sendSyncRequest(handle))) return ret; + + return cmdbuf[1]; +} + Result FSDIR_Read(Handle handle, u32 *entriesRead, u32 entrycount, u16 *buffer) { u32 *cmdbuf=getThreadCommandBuffer(); diff --git a/source/log.c b/source/log.c index 7a91e87..4b4c0f1 100644 --- a/source/log.c +++ b/source/log.c @@ -50,7 +50,9 @@ void WriteLog(const char *log) u32 size = (u32)strnlen(log, 0x100); u32 bytes; - if (!FSFILE_Write(g_logFile, &bytes, g_offset, (u32 *)log, size, 0x0)) - g_offset += bytes; + if (!FSFILE_Flush(g_logFile)) { + if (!FSFILE_Write(g_logFile, &bytes, g_offset, (u32 *)log, size, 0x0)) + g_offset += bytes; + } } #endif \ No newline at end of file diff --git a/source/main.c b/source/main.c index 2e850db..cd013c1 100644 --- a/source/main.c +++ b/source/main.c @@ -48,6 +48,7 @@ u64 currposs = 0; FS_archive debugsdmcArchive = {0x9, (FS_path){PATH_EMPTY, 1, (u8*)""}}; Handle debugfileout; u64 lastcurrposs = 0; +u8 safewritedebug = 1; #endif int InitFS(void) @@ -110,36 +111,57 @@ u8 checkarchive(u8* path, u8 size) { void addarchive(u8* path) { u8 len = 0; + #ifdef DEBUG_MODE + LOG("Registering new archive: %s... ", path); + #endif while(*(path + len)) len++; if (!(checkarchive(path, len)) && (archivecount < 20)) { strCat(archivelist + (10*archivecount), path); archivecount++; + #ifdef DEBUG_MODE + LOG("success\r\n"); + #endif } + #ifdef DEBUG_MODE + else { + LOG("skipped, already registered\r\n"); + } + #endif } u32 fsRegArchiveCallback(u8* path, u32 ptr, u32 isAddOnContent, u32 isAlias) { + #ifdef DEBUG_MODE + while (!safewritedebug){ + svc_sleepThread(1000000); + } + safewritedebug = 0; + #endif u32 ret, ret2; static u32 isFisrt = 1; u32 sdmcArchive = 0; - - nsDbgPrint("regArchive: %s, %08x, %08x, %08x\n", path, ptr, isAddOnContent, isAlias); ret = ((fsRegArchiveTypeDef)regArchiveHook.callCode)(path, ptr, isAddOnContent, isAlias); addarchive(path); if (isFisrt) { isFisrt = 0; - - ((fsMountArchiveTypeDef)fsMountArchive)(&sdmcArchive, 9); - #ifdef LOG_FILES - nsDbgPrint("sdmcArchive: %08x\n", sdmcArchive); + #ifdef DEBUG_MODE + LOG("Trying to open SD archive... "); #endif + ((fsMountArchiveTypeDef)fsMountArchive)(&sdmcArchive, 9); if (sdmcArchive) { ret2 = ((fsRegArchiveTypeDef)regArchiveHook.callCode)("ram:", sdmcArchive, 0, 0); - #ifdef LOG_FILES - nsDbgPrint("regArchive ret: %08x\n", ret2); + #ifdef DEBUG_MODE + if (ret2 != 0) { + LOG("failed: 0x%08X\r\n", ret2); + } else { + LOG("success.\r\n"); + } #endif } } + #ifdef DEBUG_MODE + safewritedebug = 1; + #endif return ret; } @@ -180,29 +202,41 @@ u8 findu8character(u8* in, char character) { } u32 userFsTryOpenFileCallback(u32 a1, u16 * fileName, u32 mode) { + #ifdef DEBUG_MODE + while (!safewritedebug){ + svc_sleepThread(1000000); + } + safewritedebug = 0; + #endif u16 buf[300]; u32 ret; convertUnicodeToAnsi(fileName, (u8*) buf); u8 chara = findu8character((u8*) buf, '/'); -#ifdef LOG_FILES - nsDbgPrint("path: %s\n", buf); -#endif - if ((chara) && checkarchive((u8*) buf, chara)) { - // accessing rom:/ file + #ifdef DEBUG_MODE + LOG("File %s ", (u8*)buf); + #endif buf[0] = 0; ustrCat(buf, ustrRootPath); ustrCat(buf, &fileName[chara + 1]); ret = ((userFsTryOpenFileTypeDef)userFsTryOpenFileHook.callCode)(a1, buf, 1); -#ifdef LOG_FILES - nsDbgPrint("ret: %08x\n", ret); -#endif if (ret == 0) { + #ifdef DEBUG_MODE + LOG("found in SD, redirected.\r\n"); + safewritedebug = 1; + #endif return ret; } + #ifdef DEBUG_MODE + else if (ret == 0xC8804478) {LOG("not found in SD, skipping.\r\n");} + else {LOG("returned unknown result: 0x%08X.\r\n", ret);} + #endif } + #ifdef DEBUG_MODE + safewritedebug = 1; + #endif return ((userFsTryOpenFileTypeDef)userFsTryOpenFileHook.callCode)(a1, fileName, mode); } @@ -651,10 +685,8 @@ int main() { rtEnableHook(&cfgGetRegionHook); #endif #ifdef DEBUG_MODE - LOG("\r\nFinished patching, launching game... Bye!"); - ExitLog(); + LOG("\r\nFinished patching, launching game...\r\n\r\n"); #endif - InitFS(); return 0; }