Update FIRM loading magic, only deinit LCDs if they are inited, fix ntrboot naming

This commit is contained in:
Aurora Wright 2017-09-07 05:24:43 +02:00
parent bc1aa15dd7
commit 4116c1e00f
5 changed files with 8 additions and 4 deletions

View File

@ -56,5 +56,5 @@ disableMpuAndJumpToEntrypoints:
@ Jump to the ARM9 entrypoint
mov r0, r4
mov r1, r5
ldr r2, =0x2BEEF
ldr r2, =0x3BEEF
bx r6

View File

@ -116,7 +116,7 @@ void __attribute__((noreturn)) mainHandler(u32 *regs, u32 type)
//Copy header (actually optimized by the compiler)
*(ExceptionDumpHeader *)FINAL_BUFFER = dumpHeader;
i2cWriteRegister(I2C_DEV_MCU, 0x22, 1 << 0); //Shutdown LCD
if(ARESCREENSINITIALIZED) i2cWriteRegister(I2C_DEV_MCU, 0x22, 1 << 0); //Shutdown LCD
((void (*)())0xFFFF0830)(); //Ensure that all memory transfers have completed and that the data cache has been flushed

View File

@ -39,3 +39,7 @@ typedef volatile u8 vu8;
typedef volatile u16 vu16;
typedef volatile u32 vu32;
typedef volatile u64 vu64;
#define PDN_GPU_CNT (*(vu8 *)0x10141200)
#define ARESCREENSINITIALIZED (PDN_GPU_CNT != 1)

View File

@ -240,7 +240,7 @@ void configMenu(bool oldPinStatus, u32 oldPinMode)
initScreens();
static const char *bootTypes[] = { "B9S",
"B9S (ntrboothax)",
"B9S (ntrboot)",
"FIRM0",
"FIRM1" };

View File

@ -107,7 +107,7 @@ void mcuPowerOff(void)
if(bootType != FIRMLAUNCH && ARESCREENSINITIALIZED) clearScreens(false);
//Shutdown LCD
i2cWriteRegister(I2C_DEV_MCU, 0x22, 1 << 0);
if(ARESCREENSINITIALIZED) i2cWriteRegister(I2C_DEV_MCU, 0x22, 1 << 0);
//Ensure that all memory transfers have completed and that the data cache has been flushed
flushEntireDCache();