Commit graph

643 commits

Author SHA1 Message Date
CTCaer
f16159542c hekate/nyx: slight refactor 2022-12-19 05:04:50 +02:00
CTCaer
227fe9b7ea cfg: remove creation from hekate and move to Nyx
There's no reason for hekate to create the hekate config if missing, since Nyx is the sole manager of it.

So move the auto creation there to save binary space.
2022-12-19 04:41:21 +02:00
CTCaer
8d2fac60ea nyx: info: remove unused dram ids 2022-10-11 10:39:19 +03:00
CTCaer
7e7e86b713 hos: add HOS 15.0.0 support 2022-10-11 10:29:41 +03:00
CTCaer
e455fe043f nyx: add black theme option
New experimental black theme.
2022-10-11 08:32:32 +03:00
CTCaer
31c8292f23 config: set default auto hos power off to enabled for T210B01
For new users, set Auto HOS Power Off feature to enabled if T210B01 based SoC.
2022-10-11 07:51:45 +03:00
CTCaer
414721a1ff bootloader: Add animated ticker for VOL- wait
Now an animated line is drawn while bootlogo wait is active.
This will remind user to press VOL- if needed and also give visible feedback.

A new config key was added to disable it for custom bootlogos. Set `noticker=1` in `[config]` section.
It always show for default hekate one.

For now now there's no GUI option for it.
2022-10-11 07:49:17 +03:00
CTCaer
833f060c7b nyx: utilize VIC for hw rotation
It completely removes the waterfall-like slow rendering on T210B01 and speeds up even more rendering on T210.
2022-10-11 06:51:33 +03:00
CTCaer
efe6e2f206 nyx: also backup payload.bin if full not possible
Partition manager does a backup on the following if it can't do a full backup:
- bootloader (existed)
- Mariko Warmboot Storage (MWS) (existed)
- payload.bin  (newly added)
2022-10-11 06:36:06 +03:00
CTCaer
5cdee01c05 nyx: part manager: rename twrp to recovery
And add support for both twrp.img and recovery.img.
2022-10-11 06:31:24 +03:00
CTCaer
6337b06212 nyx: Rename Nyx Options to Nyx Settings
In order to not be confused with the hekate general Options.
2022-10-11 06:27:50 +03:00
CTCaer
f5fb0a1ee9 nyx: config: rename entries column var 2022-10-11 06:24:52 +03:00
CTCaer
7cac7fe095 nyx: info: warn for fuel gauge in init state
An icon and reason will be shown if design cap is 1000 mAh, which means that fuel gauge was reset and HOS not booted at least once.

A reason for the warning in battery voltage is now also given if low.
2022-10-11 06:20:19 +03:00
CTCaer
fefa7d9149 nyx: correct error message for emummc creation 2022-10-11 06:18:02 +03:00
CTCaer
4f2a6f16d3 nyx: fix use after free and a heap corruption
Fix use after free and a heap corruption on emummc config loading/freeing that could cause hangs when entering emummc window.
2022-10-11 04:37:17 +03:00
CTCaer
f41d6be8d4 nyx: do not allow padding buttons to be pressed
So closing the window from a miss-touch can be avoided.
2022-10-11 04:32:53 +03:00
CTCaer
5392971c2c hekate/nyx: utilize emmc_end 2022-10-11 04:19:29 +03:00
CTCaer
a33663f759 nyx: Add info about Sharp LQ055T1SW10 panel 2022-10-11 03:47:05 +03:00
CTCaer
fe7fd6370e hekate/nyx: push some missed changes 2022-07-01 11:33:43 +03:00
CTCaer
535ea95086 hekate/nyx: gfx: add text color defines
And reduce code size when using W/EPRINTF macros
2022-07-01 04:37:57 +03:00
CTCaer
3369dcd110 nyx: if no full backup, backup MWS folder also
When full backup is not possible, together with bootloader folder, also backup mariko warmboot storage if it exists.
2022-06-25 06:47:12 +03:00
CTCaer
677770bfee nyx: offer wipe if partitioning can backup files 2022-06-25 06:41:34 +03:00
CTCaer
e2f6e925c4 nyx: info: show total size of fat partition 2022-06-19 12:39:02 +03:00
CTCaer
0e526bf9e8 nyx: tools: fix hybrid mbr changes
- MBR is now checked if it has GPT partition, in order to avoid revival of a dead but valid GPT
- MBR secret attributes can now be cleared even if there's no GPT
2022-05-27 04:44:42 +03:00
CTCaer
358896eb7d nyx: tools: inform user on erros in archive bit fixer 2022-05-21 14:24:43 +03:00
CTCaer
369df25cd3 nyx: fatfs: add failsafes for wrong mkfs usage 2022-05-19 15:17:54 +03:00
CTCaer
af22085172 nyx: move emuMMC backup folder to {emmc_sn}/emummc 2022-05-19 15:15:36 +03:00
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
8428ce1a2e hekate/nyx: gfx: changes to putn 2022-05-19 15:06:37 +03:00
CTCaer
fb45804adf nyx: refactor various functions and add comments
Emphasis on partition manager deduplication and remove of some magic numbers.
2022-05-16 13:28:38 +03:00
CTCaer
796207a41b nyx: do not allow joycon pairing info dump on Hoag 2022-05-16 13:12:45 +03:00
CTCaer
1649d446cd nyx: options: set min year for clock offset to 2022 2022-05-16 13:12:11 +03:00
CTCaer
7459214fed nyx: info: add mov r1 print for patched t210 2022-05-16 13:06:40 +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
b9cdf5d697 nyx: fix s_printf bugs pointed by format checker 2022-05-12 16:43:18 +03:00
CTCaer
7df76bff4a nyx: input: add Sio support (for Hoag) 2022-05-09 06:13:10 +03:00
CTCaer
62d68b33c3 nyx: tools: use actual gpt entries num in part manager 2022-05-08 05:59:57 +03:00
CTCaer
c51877d588 nyx: tools: add mbr hidden attr fixer in hybrid mbr fixer 2022-05-08 05:59:32 +03:00
CTCaer
471f3c50ea nyx: tools: do not allow part manager backup/restore to hang on corruption 2022-05-08 05:57:59 +03:00
CTCaer
6d66bfc168 nyx: tools: do not allow arc bit fixer to hang on corruption
Check if path exceeds 1024 characters.
2022-05-08 05:56:44 +03:00
CTCaer
9163151dd0 nyx: info: add battery lot and another old panel rev 2022-05-08 05:55:46 +03:00
CTCaer
334d89973f hekate/nyx: adhere to uart driver changes 2022-05-08 05:46:23 +03:00
CTCaer
ae394d9f37 nyx: remove negative decimal external handling 2022-05-08 05:32:21 +03:00
CTCaer
1b7b7ab7f5 nyx: info: add new hynix chip model info 2022-05-08 05:00:46 +03:00
CTCaer
f687c4f6da hos: add support for HOS 14.0.0 2022-03-23 02:21:59 +02:00
CTCaer
5c4e895c35 nyx: update dram/touch info for HOS 14.0.0 2022-03-23 02:21:21 +02:00
CTCaer
69c312daac nyx: clear B button context on option actions
Fixes an issue that was causing an NULL pointer dereference when a certain access path was followed
2022-03-23 00:55:18 +02:00
CTCaer
b7e59dfc28 nyx: print sd oemid in hex also 2022-03-23 00:53:56 +02: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
af1ece903b nyx: Do not reserve alignment space if no extra partitions 2022-03-23 00:24:51 +02:00
CTCaer
a76ad9838e nyx: cosmetics 2022-02-15 00:29:23 +02:00
CTCaer
9aa55c2d76 hekate/nyx: correct type on heap_init 2022-02-15 00:23:23 +02:00
CTCaer
70ee61f0da More 2022 copyright updates 2022-01-29 01:43:35 +02:00
CTCaer
4a13a1d190 nyx: fix aula full emummc creation (for real this time) 2022-01-29 01:39:01 +02:00
CTCaer
2b7217242d nyx: align down resized emu sectors to cluster size 2022-01-29 01:37:57 +02:00
CTCaer
aee5861f65 hekate/nyx: improve cyclomatic complexity 2022-01-29 01:23:40 +02:00
CTCaer
d52283f0c2 nyx: add support for FULL emuMMC for OLED model
That supports creating a 64GB emuMMC partition.
That's added for consistency.
Because it's a waste of space, better use resized emuMMC.
2022-01-20 14:11:36 +02:00
CTCaer
6be12f32e6 nyx: remove nx_emmc_bis objects as they reside in bdk now 2022-01-20 14:08:39 +02:00
CTCaer
49f34581bb hos: add 13.2.1 support 2022-01-20 14:06:50 +02:00
CTCaer
0a1db98210 nyx: add eMMC hw issues reporting 2022-01-20 14:00:45 +02:00
CTCaer
781f377083 nyx: adhere to nx_emmc_bis changes 2022-01-20 13:26:24 +02:00
CTCaer
28167b7304 hekate/nyx: move emmc ops to bdk and adhere to changes 2022-01-20 13:15:04 +02:00
CTCaer
943f675046 hekate/main: move sd ops into bdk 2022-01-20 12:49:18 +02:00
CTCaer
6092994240 nyx: sd part: set attributes to folders also on restore 2022-01-16 01:38:47 +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
aa0a9da37b fatfs: default year to 2022 2022-01-16 01:09:45 +02:00
CTCaer
5894062b93 hekate/nyx: utilize bdk global header 2022-01-16 00:04:34 +02:00
CTCaer
b0fe84070f nyx: add new touch panel fw info
Additionally, do not alloc/free heap every time status bar update must run
2021-10-26 10:55:11 +03:00
CTCaer
bdd9e48606 nyx: simplify touch ic fw ids 2021-10-19 09:16:18 +03:00
CTCaer
25a7544010 nyx: add new mircon ram model info 2021-10-19 09:15:28 +03:00
CTCaer
821ad23341 nyx: add fuses keygen revision info 2021-10-19 09:14:36 +03:00
CTCaer
d8670fbd87 nyx: bis: correct lookup check 2021-10-15 16:50:56 +03:00
CTCaer
3c81ac91df nyx: fix months that have 30/31 days on date picker 2021-10-15 16:50:16 +03:00
CTCaer
147c82e0e2 nyx: fix text color on restore emmc errors 2021-10-15 16:49:28 +03:00
CTCaer
d2595a00b6 nyx: move autorcm protection in nyx 2021-10-15 16:34:15 +03:00
CTCaer
734e70b755 nyx: add samsung display/touch model info 2021-10-15 16:08:48 +03:00
CTCaer
91b08f10fd hekate/nyx: use size defines where applicable 2021-10-01 15:45:25 +03:00
CTCaer
e31d6446db nyx: correct reboot name for patched devices 2021-09-26 12:53:34 +03:00
CTCaer
609a76045a nyx: remove always true check 2021-09-26 12:16:04 +03:00
CTCaer
000ea3096a nyx: check if emuMMC path is null before producing the ID 2021-09-26 12:15:25 +03:00
CTCaer
983d661da5 nyx: add many SD manufacturers
This will now properly identify many more manufacturers.
As a reminder, it shows who made the sd card, even if the SD card has another vendor name.

In that case, it's normally because the manufacturing is outsourced and vendor only puts a label on it.
For example, now lexar, transcend and sony do not exist in the list as they don't manufacture sd card nands and microcontrollers
2021-09-17 23:45:48 +03:00
CTCaer
da08d00d21 nyx: replace Tsec Keys with Lockpick RCM
This checks if bootloader/payloads/Lockpick_RCM.bin exists and if found it allows to launch it directly from there.

Only works with Lockpick RCM copied there and is version 1.9.5 or newer.
2021-09-17 23:41:40 +03:00
CTCaer
6bd4c31965 nyx: add info for new touch panels
New 6.2" touch panel and a new firmware for 7.0"
2021-09-17 23:37:43 +03:00
CTCaer
af7bee2231 nyx: derive emuMMC ID from its main path
This allows every emuMMC to have a unique id because its path is unique.
2021-09-17 23:35:13 +03:00
CTCaer
d61be73bca nyx: add reminder that reload also checks for update.bin 2021-09-17 23:34:16 +03:00
CTCaer
0ff121284a hos: add full 13.0.0 support
- 13.0.0 master key support
- Derive proper keys per mkey revision instead of the latest for Erista devices
 This allows to identify issues with Pkg1/Pkg2 mismatch and also allows using old Exosphere/Atmosphere versions.
- Simplify pkg2 decryption because of proper keys
 7.0.0 is still done via 8.1.0 mkey because of an Exosphere bug.
- Add nogc patches
2021-09-17 23:32:13 +03:00
CTCaer
9363494c3f nyx: lower launch priority for ums boot
This fixes the backlight not being dimmed if UMS is launched from boot
2021-08-28 20:08:08 +03:00
CTCaer
792a3511da nyx: clear nand patrol for resized emummc
On used eMMCs, the usage size might exceed the new resized size.
In such cases if the nand patrol points there, it will cause the sd card to timeout because of out of bounds access.

Clearing that allows resized emuMMC to always have the same speed as full sized emuMMC.
2021-08-28 18:09:34 +03:00
CTCaer
9ba867f19e nyx: fix missing labels in launch if a previous label was big 2021-08-28 18:07:32 +03:00
CTCaer
49943ee46f nyx: unconditionally dump pk1/2 encrypted states 2021-08-28 18:06:32 +03:00
CTCaer
2a8c58af31 nyx: improve info tools
- Add Aula report
- Add new dram ids/names
- Signify that a SD card is fake if MID is 0
2021-08-28 18:05:49 +03:00
CTCaer
66cf88b967 nyx: fix percentage when restoring size unmatched emmc backup 2021-08-28 18:04:24 +03:00
CTCaer
f61e284ac0 config: add clamping of bootwait 2021-08-28 17:57:36 +03:00
CTCaer
f5ec4a3a37 hekate/Nyx: remove Sept completely
- remove any reference to sept and parsing of it
- completely refactor and simplify keygen
- use new Atmo tsec keygen for 7.0.0 and up
- simplify all info/tools that depend on hos keygen and bis keys
2021-08-28 17:53:14 +03:00
CTCaer
d8995ee9c0 hekate: clean unused stuff
Remove anything that will never be in TUI in the future.
Especially these that need modernization.
2021-08-22 16:56:05 +03:00
CTCaer
a704679990 nyx: add sandisk device report for eMMC mods 2021-07-06 19:51:00 +03:00
CTCaer
5876e1765d nyx: hos: support BIS for 12.1.0 keygen devices 2021-07-06 19:49:15 +03:00
CTCaer
e94bd23d6f nyx: info: add missing old touch fw version 2021-07-06 10:10:17 +03:00
CTCaer
cd5b93feb1 nyx: tools: improve error messaging when restore folder is empty 2021-07-06 10:09:06 +03:00
CTCaer
561a96c62a hos: small refactoring 2021-07-06 10:05:37 +03:00
CTCaer
57e6623d74 hos: 12.1.0 support 2021-07-06 10:02:52 +03:00
CTCaer
8eda2d805f nyx: explicitly state if fuses are overburnt 2021-06-08 05:57:39 +03:00
CTCaer
432d4a4ffa Use bit_count for burnt fuses counting 2021-06-08 05:57:00 +03:00
CTCaer
8058d550ab nyx: reflect 5v regulator changes 2021-06-08 05:51:52 +03:00
CTCaer
3f22601022 Bump hekate to v5.5.6 and Nyx to v1.0.3 2021-05-12 12:55:03 +03:00
CTCaer
7c450f4a5f hos: 12.0.2 support 2021-05-12 11:47:39 +03:00
CTCaer
6316d3076d nyx: fix restore logic when backup does not match emmc
- If sd backup size exceeds eMMC size, bail out.
- If partial files backup is smaller allow restoring in case user has an eMMC upgrade.
 Following the same behavior that single file backup has when it's smaller.
2021-05-12 11:47:25 +03:00
CTCaer
21e6a0cf7e pkg1: reduce struct sizes 2021-05-11 10:08:43 +03:00
CTCaer
d0fefabad7 nyx: return unknown if SD vendor is not known
TODO: Investigate which OEM/ODM makes the new Lexar SD cards.
2021-05-11 10:07:08 +03:00
CTCaer
44db160ab1 nyx: add info about new InnoLux panel revision 2021-05-11 10:04:31 +03:00
CTCaer
66b7130641 nyx: align total sectors to guarantee alignment
Helps on some sd cards with weird total sectors number.
2021-05-11 09:57:29 +03:00
CTCaer
80d9718770 GCC 11 fixes
The array/stringop warning removals are undesirable.
Consider removing them when a new GCC version moves back to saner checks for pointers.
2021-05-11 09:51:08 +03:00
CTCaer
588a834ae4 nyx: allow backing up resized emummc 2021-05-11 09:34:19 +03: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
978e8344cf nyx: check for errors in benchmark 2021-04-11 09:28:28 +03:00
CTCaer
160d6eacc0 nyx: add new touch panel id 2021-04-11 09:27:47 +03:00
CTCaer
075d8e6393 gfx: change line if max width is reached 2021-04-11 09:25:53 +03:00
CTCaer
edff6c551d hos: Add 12.0.0 support 2021-04-09 19:49:44 +03:00
CTCaer
f66ddca100 nyx: make hybrid mbr fixer smarter
Allow usage of FatFS simple gpt parsing for setting the fat partition in case its label is not hos_data.
Additionally allow hos_data partition to not be the first one.
2021-03-17 09:20:01 +02:00
CTCaer
6981c59de3 gpt: properly check that GPT is valid 2021-03-17 09:14:50 +02:00
CTCaer
f21f13b15d ums/nyx: reinit sd to update cal trimmers for max perf 2021-03-17 09:12:30 +02:00
CTCaer
ef5a01433d nyx: inform user that Fix RAW also fixes partition type 2021-03-17 09:09:59 +02:00
CTCaer
0e12d8545b Decrease stack usage on various functions 2021-03-17 09:08:34 +02:00
CTCaer
dbe431095a touch: report gpio info in case of unknown panel 2021-03-17 08:53:23 +02:00
CTCaer
fff750e609 bis: Fix BIS write for emuMMC
A last minute cleanup changed the function for writing the changed BIS sectors in emuMMC to a read.

Restore it to a sd card write.
2021-02-08 04:00:11 +02:00
CTCaer
38ce46a158 nyx: Add more info while formatting emuMMC USER 2021-02-08 03:52:23 +02:00
CTCaer
c6ec175045 Bump hekate to v5.5.4 and Nyx to v1.0.0 2021-02-06 17:32:07 +02:00
CTCaer
3b9ab66cf1 nyx: Add resized emuMMC creation 2021-02-06 17:19:37 +02:00
CTCaer
b6e458e97b sept: Correct bct buffer pointer and turn on backlight on error 2021-02-06 17:14:07 +02:00
CTCaer
c5152f6a9d nyx: Correct double emuMMC values in part manager 2021-02-06 17:12:09 +02:00
CTCaer
e5689cfe57 fatfs: Add raw emuMMC support for USER partition 2021-02-06 17:11:32 +02:00
CTCaer
f3f1d4d4f0 sdmmc: More functions use the global emmc storage 2021-02-06 17:10:13 +02:00
CTCaer
796b15a861 nyx: Correct text in Launch when missing boot entries 2021-02-06 04:47:23 +02:00
CTCaer
add351289a nyx: Show status for migration and update main window 2021-02-06 04:46:10 +02:00
CTCaer
6e314933d9 Various small changes 2021-02-06 04:17:31 +02:00
CTCaer
a31bedda97 ramdisk: Sypport variable size 2021-02-06 04:15:19 +02:00
CTCaer
a25c82a8ce nyx: Allow fix hybrid mbr tool to always run 2021-02-06 04:10:50 +02:00
CTCaer
8ccc47dfa5 nyx: Add resized raw emuMMC support in partition manager 2021-02-06 04:10:02 +02:00
CTCaer
9de5a4ba66 nyx: Swap tab for Partition Manager and Dump Pkg1/2 2021-02-06 04:07:28 +02:00
CTCaer
84e437ae5b nyx: Explicitly state status in Joycon BT dumping 2021-02-06 04:06:09 +02:00
CTCaer
9e34c5995d bis: Pull latest lockpick driver and refactor it
- Refactor various variables and functions
- Flush whole cache when full
- Allow cache to be disabled
- Add support for raw emuMMC in nyx contenxt
- Use partition names for keys (to avoid issues with different ordering)
- Add deinit function that flushes the whole cache
- Change bis lookup address
- Halve cache size to 256MB in order to support 512MB ramdisk also.

Co-Authored-By: shchmue <7903403+shchmue@users.noreply.github.com>
2021-02-06 04:05:31 +02:00
CTCaer
8683a0ff58 gfx: Accept any type in gfx_hexdump 2021-02-06 03:57:39 +02:00
CTCaer
eea5463a5c nyx: Refactor nyx extra cfg 2021-02-06 03:55:01 +02:00
CTCaer
af790aeaf8 nyx: Beef up eMMC/SD benchmark
- Added 4KB sequential and random tests that shows IOPS and rate
- The test is now faster as it does 1GB raw reads and 512GB for random reads
- Still does 3 iterations in order to cover both nands that most eMMCs and SDs have.
2021-02-06 03:51:26 +02:00
CTCaer
a8a45b215a nyx: Add emmc info about write cache and enhanced area 2021-02-06 03:44:27 +02:00
CTCaer
38f456a2ee sdmmc: Refactor again
- Refactor various variables and defines
- Removed Card/BGA and OEM ID info as they are static and useless
- Commented out bkops functions completely as not used
- Remove extra buf usage when there's already storage for storing that data
- Optimize various functions to save space
- Clean up useless or duplicate code
2021-02-06 03:41:35 +02:00
CTCaer
ea83566fc9 sept: Disallow sept if improper BCT to avoid black screen 2021-02-06 03:24:58 +02:00
CTCaer
0857d7ff0e hos: Do not clear SBK in Nyx for HOS 4.0.0 to 6.0.0 2021-02-06 03:21:14 +02:00