Hekate: cal0blank=0 not overriding exosphere.ini's blank_prodinfo_sysmmc=1

Created on 3 May 2020  路  6Comments  路  Source: CTCaer/hekate

Title's self-explanatory.

I'm trying to set up a boot config that won't blank the cal0 when booting the SysMMC through hekate, but I want fusee-primary boots to do. Exosphere.ini is set to blank both the sysmmc and the emummc.

As such, I have:

[AMS 0.12.0 (Fusee)]
payload=bootloader/payloads/fusee-primary.bin
icon=bootloader/res/icon_ams_fusee.bmp

[AMS 0.12.0 (SysNAND)]
emummc_force_disable=1
fss0=atmosphere/fusee-secondary.bin
cal0blank=0
icon=bootloader/res/icon_ams_sysnand.bmp

When I boot into the second option, the cal0 is still blanked, meaning exosphere (which is set to blank_prodinfo_sysmmc=1) is not being overridden to disable blanking.

bug fixed internally

Most helpful comment

Fixed in v5.2.1.

All 6 comments

Hmm that's weird.
The code effectively does:

(ctxt->exo_cfg.cal0_blank && *ctxt->exo_cfg.cal0_blank)
or
(!ctxt->exo_cfg.cal0_blank && cal0_blanking)

Which in your case is:
true && false
or
false && true
which equals as:
false

You sure that you haven't blanked your prodinfo another way?
If you change blank_prodinfo_sysmmc=1 to blank_prodinfo_sysmmc=0, what happens?

Never mind, I re checked the code again and I found the issue.

EDIT:
Code basically allocates 1 byte for the override instead of sizeof(bool) which is 4.
This effectively reads garbage from the heap and in your case that garbage is not 0.

It's blanked out definitely (incognito_RCM) for the emummc, but not for the sysmmc, as I use the sysmmc to play online.

Oddly enough, when I make blank_prodinfo_sysmmc=0, the prodinfo is still blanked. When I remove cal0blank=0 entirely, it shows up again.

Oh, awesome! Was just typing the answer out when you replied you found the bug :)

Thank you for your amazing work and for this incredible update.

Ye thanks for reporting it. The variable was intended to be a u8 at first but I changed it on the refactoring without fixing the allocation.

I'm preparing a new version that will have all fixes for bugs reported for the huge update.
This will happen tomorrow or tuesday. So please use blank_prodinfo_sysmmc=0 for now.

Fixed in v5.2.1.

Was this page helpful?
0 / 5 - 0 ratings