Commit graph

63 commits

Author SHA1 Message Date
CTCaer
38010ce65e nyx: utilize ini free and fix various memleaks
With the new changes the heap and heap node usage drops 95% on boot. Subsequent accesses to Launch/More config keep the counter the same.
2022-05-19 15:14:05 +03:00
CTCaer
abdf621ad5 nyx: simplify uart debug port path 2022-05-13 03:57:09 +03:00
CTCaer
c2ff5dbd1c nyx: add no box and 5 entries per line support
Icons that have `_nobox.bmp` in their name will make the grey background disappear.

Additionally a new option was added in Nyx Options called `Extended Boot Entries` that allows user to have a total of 10 entries showing up in Launch and More configs menus.
2022-05-13 03:49:32 +03:00
CTCaer
334d89973f hekate/nyx: adhere to uart driver changes 2022-05-08 05:46:23 +03:00
CTCaer
c04d423f4b nyx: add option to use right joycon as mouse control
`jcforceright=1` in nyx.ini enables that feature.
Useful for users with broken touch screen and broken left joycon rail.
2022-03-23 00:49:47 +02:00
CTCaer
9aa55c2d76 hekate/nyx: correct type on heap_init 2022-02-15 00:23:23 +02:00
CTCaer
aee5861f65 hekate/nyx: improve cyclomatic complexity 2022-01-29 01:23:40 +02:00
CTCaer
28167b7304 hekate/nyx: move emmc ops to bdk and adhere to changes 2022-01-20 13:15:04 +02:00
CTCaer
5a88f7bc06 nyx: info: highlight battery temp info if cold/hot 2022-01-16 01:37:26 +02:00
CTCaer
06e7af150e hekate/nyx: improve exceptions reporting
- Do not report HOS panic if status is 0
- Do not report LP0/MTC libs missing if failed to mount sd
- Rename panics to be explicit of their source
2022-01-16 01:33:07 +02:00
CTCaer
5894062b93 hekate/nyx: utilize bdk global header 2022-01-16 00:04:34 +02:00
CTCaer
833dda7e7c nyx: bpmp: automatically find best clock for t210
There were 4 reports of Nyx hanging or UMS and backup verification failing because of low binned Erista SoC.

This change reduces clock for hekate main and Nyx will now automatically try and find a working one.
In case Nyx hangs it will reduce it on next inject.

If Nyx works and user still has issues with UMS/Verification, manually editing nyx.ini and setting `bpmpclock=2` will fix that.
2021-05-11 09:32:38 +03:00
CTCaer
6e314933d9 Various small changes 2021-02-06 04:17:31 +02:00
CTCaer
53b44a525d Refactor emmcsn_path_impl and return serial number if needed
The refactoring also makes consecutive requests instantaneous.
2021-01-03 14:45:06 +02:00
CTCaer
60b629e57f Move display related objects to display parrent 2020-12-28 05:19:23 +02:00
CTCaer
cbbd427d3a Change coreboot error from T210B01 to Mariko
Change T210B01 name in order for users to understand that it's about Mariko.
2020-12-26 17:30:49 +02:00
CTCaer
f1386c60af hos: Fix sleep on modchiped Erista 2020-12-11 18:22:33 +02:00
CTCaer
b6ec217484 exo: Support uart logging
This can be enabled via compile time flags or exosphere.ini.
Compile time flags override exosphere.ini
2020-12-11 18:14:00 +02:00
CTCaer
ad560b650e nyx: di: Set display id we got from bootloader 2020-12-11 17:49:06 +02:00
CTCaer
14a048a496 nyx: Add SD init info from bootloader
This shows info about the sd initialization process that happened on hekate main
2020-12-11 17:46:44 +02:00
CTCaer
cf175fc00d nyx: Add alternate power saving modes
T210:
By default max power savings is enabled.
By changing `newpowersave=` to 0, it reverts to the old behavior of smaller power savings.

This was added to mitigate some strange DRAM chips, hanging from constant frequency change of a 800 MHz - 1600 MHz back and forth.

T210B01:
Defaults to a simple loop with no power savings. That's because of untrained ram.
2020-12-02 02:07:31 +02:00
CTCaer
2424ecc4f0 Disable coreboot.rom chainloading for T210B01
Unlike all RCM payloads that are based on hekate's hwinit, coreboot does full power management before sdram init is run.

Because of that and because it doesn't support T210B01, it does not hang as expected and configures all regulators and pins which can be dangerous!
2020-12-02 00:57:32 +02:00
CTCaer
e45ffab5d8 Remove stray hekate cfg set. It's handled by default. 2020-11-15 14:00:35 +02:00
CTCaer
1f5b371608 Refactor some names
Additionally:
- Do not retry to init sd if all modes failed in Nyx.
- Do not try to read/write if sdmmc controller and card are not initialized.
2020-10-23 06:32:24 +03:00
CTCaer
dae7be8ec4 nyx: Allow disabling of Joycon
Setting `jcdisable=1` in nyx.ini disables the usage of Joycon completely.

This also disables the BT pairing data dumping tool.
2020-10-20 10:21:48 +03:00
CTCaer
2f5b52223c config: Add bootloader protection
`bootprotect=1` enables protection of the `bootloader` folder inside HOS.

This disallows any reading/writing of the folder and its contents inside HOS, preventing any corruption of it.

This of course has the side-effect of homebrew that depend on it (e.g. hekate Toolbox) to not work fully.
2020-10-20 10:16:12 +03:00
CTCaer
4fc420616d nyx: Control UART debug completely via makefile
Also enables LvGL log.
2020-08-13 10:21:00 +03:00
CTCaer
b8ca88ee0a exo: Change fatal names and add stack overflow 2020-07-18 12:53:05 +03:00
CTCaer
11df6030f9 Various fixes 2020-07-18 00:54:35 +03:00
CTCaer
32e58d2bb3 hw init: Cosmetic refactoring 2020-07-17 18:08:27 +03:00
CTCaer
ab5b59e10d Refactor fatal/hard error names 2020-07-14 22:41:48 +03:00
CTCaer
029d66bd95 Fix build for lvgl UART log 2020-06-14 17:33:57 +03:00
CTCaer
6e256d29c7 Utilize hekate's BDK for hekate main and Nyx 2020-06-14 16:45:45 +03:00
CTCaer
21548545fc Equalize hekate main and Nyx sd based functions 2020-06-13 18:32:40 +03:00
CTCaer
a91378b9c1 nyx: Allow always writeable emmc via config
The key is `umsemmcrw` and resides in nyx.ini
2020-05-05 19:26:10 +03:00
CTCaer
f56d1bad04 nyx: Allow hue icons from section names 2020-05-05 19:01:08 +03:00
CTCaer
8edc9971f9 nyx: Refactor launch icon colorization
The Switch and Payload icons will be colorized by default, because they are system icons.

Users can still replace them with icons named `icon_switch_custom.bmp` and `icon_payload_custom.bmp` that do not get colorized.
2020-05-03 01:57:15 +03:00
CTCaer
4d1b59c05b Update Readme 2020-04-30 16:33:14 +03:00
CTCaer
c072041039 nyx: Add time offset
The epoch is based on HOS format.

An automatic time set will be implemented in a later version.
2020-04-30 14:51:48 +03:00
CTCaer
6d75f96ed5 nyx: Add Home Screen selection
You can now choose between Main menu and Launch/More Cfg as home screens.
2020-04-30 14:49:28 +03:00
CTCaer
ab304c9178 nyx: Small fixes in init 2020-04-30 14:45:59 +03:00
CTCaer
f5432c734c nyx: Utilize Log Window
- or + on Joy-Con displays the log screen.
If there are errors somewhere, they are normally also logged in there.
2020-04-30 14:07:26 +03:00
CTCaer
523c81f797 nyx: Add theme colors for highlight text 2020-04-30 04:04:24 +03:00
CTCaer
8c762c52e2 Various fixes and whitespace removal 2020-04-30 03:25:22 +03:00
CTCaer
08c81fe1f8 Move verification config to nyx config 2020-04-30 02:00:33 +03:00
CTCaer
034f680a8e sd fs: Move sd init/mount/helpers to their own object 2020-04-29 23:20:18 +03:00
CTCaer
5b0a0070c7 sdmmc v2: Refactor everything 2020-04-29 18:53:29 +03:00
CTCaer
0462f3b252 Add simple exception handling
This adds support for exception handling.
It should provide simple and fast reporting of crucial info and full restoration without powering off.
2020-04-27 09:56:19 +03:00
CTCaer
9c6931a17c Bugfixes
The fan driver change ensures power off in any situation where a chainload software re-enables the 5V regulator.
2020-03-21 22:28:50 +02:00
CTCaer
d50af46b03 chnldr: Support variable sizes of coreboot.rom 2020-03-21 22:18:40 +02:00