]> Chaos Git - corbenik/corbenik.git/commitdiff
Improve debug log output somewhat. Still one unit tinier than nintendo's loader.
authorchaoskagami <chaos.kagami@gmail.com>
Tue, 31 May 2016 12:24:49 +0000 (08:24 -0400)
committerchaoskagami <chaos.kagami@gmail.com>
Tue, 31 May 2016 12:24:49 +0000 (08:24 -0400)
12 files changed:
external/loader/source/loader.c
external/loader/source/logger.c
external/loader/source/logger.h
external/loader/source/patch/block_cart_update.c
external/loader/source/patch/block_eshop_update.c
external/loader/source/patch/block_nim_update.c
external/loader/source/patch/friends_ver.c
external/loader/source/patch/mset_str.c
external/loader/source/patch/regionfree.c
external/loader/source/patch/ro_sigs.c
external/loader/source/patch/secinfo_sigs.c
external/loader/source/patcher.c

index e0a0269170de6cc7ea0476a6a01c815149f948fa..16bb455a67a775860805850c63ad7ab294890a5c 100644 (file)
@@ -185,7 +185,11 @@ loader_LoadProcess(Handle* process, u64 prog_handle)
         return MAKERESULT(RL_PERMANENT, RS_INVALIDARG, 1, 2);
     }
 
-       logstr("validated params\n");
+    // load code
+    progid = g_exheader.arm11systemlocalcaps.programid;
+
+       logu64(progid);
+       logstr("  validated params\n");
 
     load_config(); // First order of business - we need the config file.
 
@@ -241,8 +245,6 @@ loader_LoadProcess(Handle* process, u64 prog_handle)
         return res;
     }
 
-    // load code
-    progid = g_exheader.arm11systemlocalcaps.programid;
     if ((res = load_code(progid, &shared_addr, &original_vaddr, prog_handle,
                          g_exheader.codesetinfo.flags.flag & 1)) >= 0) {
         memcpy(&codesetinfo.name, g_exheader.codesetinfo.name, 8);
index b4406831ee9804f78b803bddaf1c1fa38247b192..4aa090a2416ae135fab57baaee634378a6cbab58 100644 (file)
@@ -54,6 +54,18 @@ void logstr(const char* str) {
        FSFILE_Write(log_file_hdl, &wrote, size, str, len, 0);
 }
 
+void logu64(u64 progId) {
+       char str[] = "Title: 0000000000000000\n";
+       u32 i = 22;
+       while(progId) {
+               static const char hexDigits[] = "0123456789ABCDEF";
+               str[i--] = hexDigits[(u32)(progId & 0xF)];
+               progId >>= 4;
+       }
+
+       logstr(str);
+}
+
 void closeLogger() {
        FSFILE_Close(log_file_hdl);
        logger_is_initd = 0;
index 912f9bdef99d141c8d08c7368fe5e159c9f10169..55f126d943309070ee5333c7b4266dbdf30440c2 100644 (file)
@@ -3,6 +3,7 @@
 
 void openLogger();
 void logstr(const char* str);
+void logu64(u64 progId);
 void closeLogger();
 
 #endif
index 5ba83fe0464c74be625e7b149c8fc4670d05e0dd..9e19a9a1ca2fd890f20cea24dee97a95e559f710 100644 (file)
@@ -11,5 +11,5 @@ disable_cart_updates(u64 progId, u8* code, u32 size)
                 sizeof(stopCartUpdatesPattern), 0, stopCartUpdatesPatch,
                 sizeof(stopCartUpdatesPatch), 2);
 
-       logstr("disable_cart_updates\n");
+       logstr("  disable_cart_updates\n");
 }
index c0c480391117dc85b68ddd9baa742f79f5db68f2..18ad438b4fcd454d18f1f870bb7d8a6e13c8a37a 100644 (file)
@@ -13,5 +13,5 @@ disable_eshop_updates(u64 progId, u8* code, u32 size)
                 skipEshopUpdateCheckPatch, sizeof(skipEshopUpdateCheckPatch),
                 1);
 
-       logstr("disable_eshop_updates\n");
+       logstr("  disable_eshop_updates\n");
 }
index c3753dabc43fa26113502d24650c171c05cac2c7..d765cbef117f7befeacf411d1513525d83a90e60 100644 (file)
@@ -11,5 +11,5 @@ disable_nim_updates(u64 progId, u8* code, u32 size)
                 sizeof(blockAutoUpdatesPattern), 0, blockAutoUpdatesPatch,
                 sizeof(blockAutoUpdatesPatch), 1);
 
-       logstr("disable_nim_updates\n");
+       logstr("  disable_nim_updates\n");
 }
index 07a0e24dfe323b3c4c81236ba8ab36b49ba61cec..618cb7ac85354983243408c62ecd130899aa9472 100644 (file)
@@ -11,5 +11,5 @@ fake_friends_version(u64 progId, u8* code, u32 size)
     patchMemory(code, size, fpdVerPattern, sizeof(fpdVerPattern), 9,
                 &fpdVerPatch, sizeof(fpdVerPatch), 1);
 
-       logstr("fake_friends_version\n");
+       logstr("  fake_friends_version\n");
 }
index f5ba815cf72e62a91e16ce5a6ac7137e6ac325d9..ee269bd1945ff7c9bfabc1f1ac3e688fb0c5a258 100644 (file)
@@ -10,5 +10,5 @@ settings_string(u64 progId, u8* code, u32 size)
     patchMemory(code, size, verPattern, sizeof(verPattern) - sizeof(u16), 0,
                 verPatch, sizeof(verPatch) - sizeof(u16), 1);
 
-       logstr("settings_string\n");
+       logstr("  settings_string\n");
 }
index 6f9d5059fe7e0e891af311400d6f576935c18b22..a7eca93248156d134989bcdff79d88f6f162f0fb 100644 (file)
@@ -12,5 +12,5 @@ region_patch(u64 progId, u8* code, u32 size)
     patchMemory(code, size, regionFreePattern, sizeof(regionFreePattern), -16,
                 regionFreePatch, sizeof(regionFreePatch), 1);
 
-       logstr("region_patch\n");
+       logstr("  region_patch\n");
 }
index 76e598035e1a7fd1f0598f365279e06a39cc11c9..6e98d77b233f703c557f338865e8dcacd314f6fb 100644 (file)
@@ -24,5 +24,5 @@ ro_sigpatch(u64 progId, u8* code, u32 size)
     patchMemory(code, size, sha256ChecksPattern2, sizeof(sha256ChecksPattern2),
                 0, stub, sizeof(stub), 1);
 
-       logstr("ro_sigpatch\n");
+       logstr("  ro_sigpatch\n");
 }
index 52b62a19780f6554ec0bce0f961c14cb0770f322..34f6225d5de659c4c563d7ebc5a0ef67c0bc1f7b 100644 (file)
@@ -12,5 +12,5 @@ secureinfo_sigpatch(u64 progId, u8* code, u32 size)
                 sizeof(secureinfoSigCheckPattern), 0, secureinfoSigCheckPatch,
                 sizeof(secureinfoSigCheckPatch), 1);
 
-       logstr("secureinfo_sigpatch\n");
+       logstr("  secureinfo_sigpatch\n");
 }
index d41fa17434c3587a950d1091a14c25806bd4c0c7..6f5a16a6e872de81ca7a75f4671102d68da24611 100644 (file)
@@ -71,7 +71,7 @@ load_config()
 
     failed_load_config = 0;
 
-       logstr("loaded config file\n");
+       logstr("  loaded config file\n");
 
     return;
 }
@@ -135,7 +135,7 @@ static int loadTitleLocaleConfig(u64 progId, u8 *regionId, u8 *languageId)
                        }
                }
 
-               logstr("langemu cfg applied\n");
+               logstr("  langemu cfg applied\n  ");
                logstr(path);
                logstr("\n");
        }
@@ -236,7 +236,7 @@ patchCfgGetLanguage(u8* code, u32 size, u8 languageId,
                             0xE3B00000; // (1 or 2 instructions)         => movs
                                         // r0, 0             (result code)
 
-                                               logstr("patched language\n");
+                                               logstr("  patched language\n");
 
                         // We're done
                         return;
@@ -273,7 +273,7 @@ patchCfgGetRegion(u8* code, u32 size, u8 regionId, u32 CFGUHandleOffset)
         }
     }
 
-       logstr("patched region\n");
+       logstr("  patched region\n");
 }
 
 static void
@@ -331,8 +331,6 @@ language_emu(u64 progId, u8* code, u32 size)
             }
         }
     }
-
-       logstr("set up langemu\n");
 }
 
 void