diff --git a/ipl/hos.c b/ipl/hos.c index 48b39f2..1c084f0 100755 --- a/ipl/hos.c +++ b/ipl/hos.c @@ -81,7 +81,7 @@ typedef struct _merge_kip_t #define KB_FIRMWARE_VERSION_500 4 #define KB_FIRMWARE_VERSION_MAX KB_FIRMWARE_VERSION_500 -// Exosphere magic "XBC0" +// Exosphère magic "XBC0" #define MAGIC_EXOSPHERE 0x30434258 static const u8 keyblob_keyseeds[][0x10] = { @@ -571,7 +571,7 @@ int hos_launch(ini_sec_t *cfg) if(ctxt.debugmode) _copy_bootconfig(&ctxt); - // Config Exosphere if booting Atmosphere. + // Config Exosphère if booting Atmosphère. if (ctxt.atmosphere) { vu32 *mb_exo_magic = (vu32 *)0x40002E40; diff --git a/ipl/main.c b/ipl/main.c index f18d189..4d78007 100755 --- a/ipl/main.c +++ b/ipl/main.c @@ -357,10 +357,32 @@ void print_fuseinfo() gfx_clear_grey(&gfx_ctxt, 0x1B); gfx_con_setpos(&gfx_con, 0, 0); + u32 burntFuses = 0; + for (u32 i = 0; i < 32; i++) + { + if ((fuse_read_odm(7) >> i) & 1) + burntFuses++; + } + + gfx_printf(&gfx_con, "\nSKU: %X - ", FUSE(0x110)); + switch (fuse_read_odm(4) & 3) + { + case 0: + gfx_printf(&gfx_con, "Retail\n"); + break; + case 3: + gfx_printf(&gfx_con, "Dev\n"); + break; + } + gfx_printf(&gfx_con, "Sdram ID: %d\n", (fuse_read_odm(4) >> 3) & 0x1F); + gfx_printf(&gfx_con, "Burnt fuses: %d\n", burntFuses); + gfx_printf(&gfx_con, "Secure key: %08X%08X%08X%08X\n\n\n", + byte_swap_32(FUSE(0x1A4)), byte_swap_32(FUSE(0x1A8)), byte_swap_32(FUSE(0x1AC)), byte_swap_32(FUSE(0x1B0))); + gfx_printf(&gfx_con, "%k(Unlocked) fuse cache:\n\n%k", 0xFF00DDFF, 0xFFCCCCCC); gfx_hexdump(&gfx_con, 0x7000F900, (u8 *)0x7000F900, 0x2FC); - gfx_puts(&gfx_con, "\nPress POWER to dump them to SD Card.\nPress VOL to go to the menu.\n"); + gfx_puts(&gfx_con, "Press POWER to dump them to SD Card.\nPress VOL to go to the menu.\n"); u32 btn = btn_wait(); if (btn & BTN_POWER) @@ -2054,11 +2076,8 @@ void print_battery_charger_info() bq24193_get_property(BQ24193_ChargeVoltageLimit, &value); gfx_printf(&gfx_con, "Charge voltage limit: %4d mV\n", value); - bq24193_get_property(BQ24193_ThermalRegulation, &value); - gfx_printf(&gfx_con, "Thermal threshold: %4d oC\n", value); - bq24193_get_property(BQ24193_ChargeStatus, &value); - gfx_printf(&gfx_con, "Charge status: "); + gfx_printf(&gfx_con, "Charge status: "); switch (value) { case 0: @@ -2078,7 +2097,7 @@ void print_battery_charger_info() break; } bq24193_get_property(BQ24193_TempStatus, &value); - gfx_printf(&gfx_con, "Temperature status: "); + gfx_printf(&gfx_con, "Temperature status: "); switch (value) { case 0: diff --git a/ipl/pkg1.c b/ipl/pkg1.c index 8f7cf16..e3afc18 100755 --- a/ipl/pkg1.c +++ b/ipl/pkg1.c @@ -51,7 +51,7 @@ PATCHSET_DEF(_secmon_4_patchset, { 0x2300 + 0x5D80, _NOP() }, //package2 structure. { 0x2300 + 0x5D8C, _NOP() }, //Version. { 0x2300 + 0x5EFC, _NOP() }, //Header signature. - { 0xAC8 + 0xA2C, _NOP() } //Sections SHA2. + { 0xAC8 + 0xA2C, _NOP() } //Sections SHA2. ); PATCHSET_DEF(_secmon_5_patchset,