Commit graph

306 commits

Author SHA1 Message Date
ctcaer@gmail.com
961768e14e [sd tools] Utilize sd_file_read better
Additionally fix a long standing fread/fwrite bug, via a FatFS fix.
(Doesn't affect Tegra arch though)
2019-03-16 23:35:43 +02:00
Kostas Missos
491c4efe9c [FatFS] Update to R0.13c (p3) 2019-03-13 12:27:43 +02:00
Kostas Missos
ff9671c481 Bump version to v4.9.1 2019-03-10 00:38:18 +02:00
Kostas Missos
14c50ed7f8 [Stock] Add cleaner stock
[Stock]
fss0={sd path}
stock=1

Can now work for both older and new HOS versions.

- <= 6.2.0 loads nothing and removes kernel patching.
- >= 7.0.0 loads exo, wb and removes kernel patching.

This requires that fss0 {sd path} is valid. Otherwise it will fail on ini cfg parsing.

If <= 6.2.0 and no FSS0
[Stock]
stock=1

will provide a cleaner stock with no kernel patching.
2019-03-09 20:49:00 +02:00
Kostas Missos
61401d733e [eMMC Tools] Fix verif file offset and print alignment 2019-03-09 20:39:54 +02:00
Kostas Missos
be09b68532 Bump version to v4.9 2019-03-09 00:12:08 +02:00
Kostas Missos
50eff41351 [eMMC Tools] Support for partial restore
Co-Authored-By: emvym3two <emvym3two@users.noreply.github.com>
2019-03-09 00:09:36 +02:00
Kostas Missos
dfb5640bfe Performance fixes 2019-03-08 22:18:54 +02:00
Kostas Missos
f139f9c56f [FSS0] Add Fusee secondary storage parser
Using "fss0={sd path}" allows you to parse kips, exosphere and warmboot from a fusee secondary binary.

Exosphere and warmboot are overridable if these entries are defined after that.

Additionally any extra kip can be loaded as before via
kip1={sd path}/* for many
or
kip1={sd path} for a sigle one

Warning: Don't double load core kips like loader, pm, sm and ams_mitm. The result will be a hang.
2019-03-08 01:14:43 +02:00
Kostas Missos
4f4df9ccd1 [Auto boot] Change order of invoking sept
This is important, otherwise it can break tools like memloader.

Until a semi-usb init solution is found, hekate will show bootlogo and allow you to go to menu.
If >= 7.0.0 after that, it will run sept and then show logo again without a wait. For as long as rebuilding the boot process takes.
2019-03-08 00:35:43 +02:00
Kostas Missos
bafc6f4a1d [Backup & Restore] Performance changes
- Use always aligned buffers to up the speed for DMA usage. For verification, backup and restore.
- Rework verification a little bit and make default Sparse mode.

Sparse mode protects from fake sd cards, bad sectors and frequent I/O corruption. Aka, ~100% of cases.
2019-03-08 00:30:56 +02:00
Kostas Missos
b1110caed1 [Reloc patcher] Use structs and name more consts 2019-03-08 00:23:19 +02:00
Kostas Missos
e7f72b711a [Utils] btn_wait_timeout
- Allow btn_wait_timeout to be triggered immediately
- Make power options global
2019-03-08 00:22:15 +02:00
Kostas Missos
0ddc1c71a8 Bugfixes and hardcoded naming
- Make debugmode for exosphere mandatory
- Support dev RSA modulus for warmboot
- Fix a critical bug where it allowed free() to be used on a non-heap address.
- Better the makefile
2019-03-08 00:19:04 +02:00
Kostas Missos
4e7c39d6a0 [Logos] Optimize logos and save ~7KB
Additionally stop unneeded frees of menu logo to increase redrwaing performance.
2019-03-08 00:08:39 +02:00
Kostas Missos
72a81e7c2a [gfx] Make gfx context and macros global 2019-03-08 00:02:37 +02:00
Kostas Missos
2e9a89aa20 [Versioning] Better and smarter for update and sept
- Still compatible with old hekate.
- Allows for hotfix control
- Sept is now copied from actual running payload, negating the need to check update.bin
- If a foreign payload is found in sept then it is renamed and hekate copies itself. After sept run, it renames it back and continues with boot.
2019-03-07 23:53:58 +02:00
Kostas Missos
ca68818efe [Boot cfg] Proper usage of storage and structs 2019-03-07 23:41:07 +02:00
Kostas Missos
3b9bf65071 Bump version to v4.8 2019-02-24 03:09:07 +02:00
Kostas Missos
50d4cbbda1 [sept] Auto update sept payload via update.bin
This will check if payload.bin is the same version with update.bin
2019-02-24 03:04:28 +02:00
Kostas Missos
f911fab9f2 [7.0.0-7.0.1] Add full support via Atmosphere's sept 2019-02-24 03:03:17 +02:00
Kostas Missos
aae7689bf5 [7.0.0] Initial support 2019-02-24 02:58:15 +02:00
Kostas Missos
7d908c9ac5 [hos] Support new mailbox and refactor a little bit 2019-02-24 02:54:32 +02:00
Kostas Missos
2fb37db707 [Boot Config] Add HOS reboot to config
This storage allows you to reboot from HOS to the selected ini boot entry.

In the future it will be used for far more.
2019-02-24 02:43:13 +02:00
Kostas Missos
c8052e5b50 [exosphere] Support for new exo config 2019-02-24 02:34:04 +02:00
Kostas Missos
de830df7e7 Add automatic NOGC based on fuses burnt
Auto NoGC:
0: Force disable, 1: Auto (checks fuses and fw version)

And also remove customlogo. It's redudunt.
2019-02-24 01:06:24 +02:00
Kostas Missos
04907e2823 Bug fixes and refactoring
- Info tools
- Tools
- Tsec
- Many more
2019-02-24 00:59:33 +02:00
Kostas Missos
4f5fcf9fbd [config + ini] Refactor and fix bugs 2019-02-24 00:35:24 +02:00
Kostas Missos
ec890c7c97 [PMIC] Refactoring 2019-02-16 01:23:14 +02:00
Kostas Missos
4f2bbbf101 Fix GPU on Linux when booting from warmboot 2019-02-12 00:46:06 +02:00
Kostas Missos
b677d6cad3 Add max77620-rtc driver & disable alarm on shut off 2019-02-12 00:45:27 +02:00
Kostas Missos
b3f8961e45 Fix sleep with 6.X.X secmon when debug mode is on 2019-02-12 00:42:22 +02:00
Kostas Missos
2f37811aba Normalize brom patches & add sd autocalib fallback 2019-02-12 00:40:40 +02:00
Kostas Missos
5cd596e53c Add SVC generic patches
First patch allows same process on svcControlCodeMemory
2019-02-12 00:36:24 +02:00
Kostas Missos
4ae42c3a9d Small fixes and whitespace
Additionally make info functions smaller and show available fuses.
2019-02-12 00:34:35 +02:00
Kostas Missos
e105634b0d Proper warmboot exploit impl and documentation
Side effect:
Fixed a bug where the dumped patched bootrom had the warmboot exploit patch

Co-Authored-By: Balázs Triszka <balika011@gmail.com>
2018-12-17 21:10:13 +02:00
Kostas Missos
4781dc2ab4 Bump version to v4.6 2018-12-17 02:31:44 +02:00
Kostas Missos
e779e53406 Some tiny fixes 2018-12-17 02:31:00 +02:00
Kostas Missos
9f5b97620a Fix return to main when setting an autoboot option
This fixes the issue with "More configs".
2018-12-16 20:21:59 +02:00
Kostas Missos
98d715243a Fixes to update.bin reloc (breaking!)
This fixes a regression in chainloading update.bin where the added check for if it's update or not, didn't copy the reloc code. And the calling was not updated to reflect this.

Additionally:
- Delete the reloc.S relic
- Force running config_hw in case we change hw init again in the future.
2018-12-16 19:04:46 +02:00
Kostas Missos
e809745120 Auto HOS power off disabled by default
Enable it in options
2018-12-16 16:59:25 +02:00
Kostas Missos
0d9aebda7b Fix archive bits V2
It can now fix the whole nintendo folder.

A proposed usage is by using the first option and then the 2nd.
2018-12-16 16:57:49 +02:00
Kostas Missos
5ed875ce90 Make tsec checks faster and cover unluckiest cases
+ changes for readability
2018-12-16 16:55:56 +02:00
Kostas Missos
30d3c76655 Bugfixes 2018-12-16 16:52:38 +02:00
Kostas Missos
949a034500
Merge pull request #166 from balika011/warmboot
Add warmboot patches for efuse checks
2018-12-16 16:23:09 +02:00
balika011
b2893d7fb6 Add warmboot patches for efuse checks
Fixes sleep on downgrade
2018-12-16 15:21:17 +01:00
Kostas Missos
9a3fdd944e
Merge pull request #165 from balika011/overclock
Fine-tune dram configs for OC
2018-12-16 16:17:51 +02:00
balika011
8b8f3c564c Fine-tune dram configs
Helps overclocking
2018-12-16 14:51:16 +01:00
Kostas Missos
cd1bb96241
Merge pull request #164 from balika011/ipatches_fix
Fix ipatch printing
2018-12-16 14:54:43 +02:00
balika011
8b59ddf3a8 Fix ipatch printing 2018-12-16 12:35:48 +01:00
Kostas Missos
09bfed9146
Merge pull request #162 from balika011/ipatches_fix
Fix ipatches backup on dumping
2018-12-15 21:45:26 +02:00
balika011
dad380344f Fix ipatches backup on dumping 2018-12-15 17:04:14 +01:00
Yule Hou
71b0975730 Fix debug uart 2018-12-08 12:38:59 +08:00
Kostas Missos
20040ae70f Bump version to v4.5 2018-12-02 11:12:19 +02:00
Kostas Missos
22e179d1cf Add 6.2.0 support to tools
- Print TSEC info
- Dump pkg1/2
2018-12-02 11:11:07 +02:00
Kostas Missos
1b075c91bd Name hardcoded TSEC regs 2018-12-01 20:49:31 +02:00
Kostas Missos
1ac7f61f49 Add 6.2.0 exosphere support
And refactor it to its own file.
2018-12-01 20:46:59 +02:00
Kostas Missos
4b3599b2d8 6.2.0 support
Co-Authored-By: nwert <nwert@users.noreply.github.com>
Co-Authored-By: Balázs Triszka <balika011@gmail.com>
2018-11-30 23:20:15 +02:00
Kostas Missos
ceabbb0be0 Refactor hos.c 2018-11-28 21:26:16 +02:00
Kostas Missos
471c1e514c Major refactoring of main.c 2018-11-27 11:45:43 +02:00
Kostas Missos
267a04c4ac Fix HDCP + some bugfixes
Thanks @hexkyz for taking the time to recheck for the missing 6.x changes
2018-11-20 21:32:54 +02:00
Kostas Missos
4eb5b5f91b Name more hardcoded regs/vals 2018-11-10 14:11:42 +02:00
Kostas Missos
cfef8b4f72 Update libminerva to v1.1 2018-11-10 13:30:17 +02:00
Steven Mattera
14cdcc1497 Ignore hidden files when using wildcards. 2018-11-08 19:09:14 -05:00
Kostas Missos
ec1bb508b3 Fix minerva build
This is still for testing it out.
The real usage will come later.
2018-11-05 10:54:31 +02:00
Kostas Missos
cae9044c17 Minerva our DRAM trainer
Supports up to 1600MHz and periodic training.

For more check here: https://github.com/CTCaer/minerva_tc
2018-11-04 03:15:32 +02:00
Hunter
288b5c08db Add "Silent" auto full power off option 2018-09-30 13:24:30 -04:00
Kostas Missos
fac8db4238 Bump version to v4.2 2018-09-24 23:51:36 +03:00
Kostas Missos
04ac8ebd43 Allow verification cancel. Backup still remains. 2018-09-24 23:51:04 +03:00
Kostas Missos
1392e6eaf4 Add use of wildcard "*" for loading kips from a folder 2018-09-24 23:47:35 +03:00
Kostas Missos
381d5c9236 Allow toggling of auto power off from HOS waking 2018-09-24 23:45:06 +03:00
Kostas Missos
2f43b20124 Bugfixes / formating 2018-09-24 23:22:19 +03:00
Kostas Missos
c99ea77daf Bump version to v4.1 2018-09-19 17:58:26 +03:00
Kostas Missos
4ad7aedbaf -.-
Nintendo, I Am Disappoint
2018-09-19 17:57:02 +03:00
Kostas Missos
267bcd352f [PATCH] Port FS patches to 6.0.0
Co-Authored-By: Rajko Stojadinovic <admin@rajko.info>
2018-09-19 00:57:19 +03:00
Kostas Missos
db88eb31f2 Add svc/dbg &Atmosphère fs.mitm patches for 6.0.0 2018-09-19 00:55:26 +03:00
Kostas Missos
efc3fc34de Add cancel backup if VOL DOWN + UP are held
- Long press of both buttons cancels the backup process now
- Fixed an issue with partial backup when the resume was happening on the last part
2018-09-19 00:50:23 +03:00
Kostas Missos
89fb29e35e Add support for payloads with broken hw inits 2018-09-19 00:46:32 +03:00
Kostas Missos
b54cbbfc3c Fix version check for the update chainloader 2018-09-19 00:36:40 +03:00
Kostas Missos
fc0f75495e Add auto full power off if woke up from HOS.
Useful for modchips/dongles.
It shows a brief breathing style of hekate logo before powering off completely.
2018-09-19 00:34:05 +03:00
Kostas Missos
4e9b3d8157 Add proper BCT copy for dev units
Co-Authored-By: Rajko Stojadinovic <admin@rajko.info>
2018-09-19 00:28:13 +03:00
Kostas Missos
7aeac2c379 Add 4/5.X and 6.X hw config changes
Thanks to @balika011 for notice on 2.x vs 5.x changes.

(Some 2.x vs 5.x changes were added with the `fdd94ff` commit)
2018-09-19 00:11:18 +03:00
Kostas Missos
b9e348fc17 Add warnings on missing bootloader libraries 2018-09-19 00:04:58 +03:00
Kostas Missos
67a470921a Add PWM backlight support + options
- No eye blasting backlight
- Option to choose the prefered brightness
- Smooths transitions
2018-09-19 00:01:42 +03:00
Kostas Missos
780736591e Improvements to ini/payload handling
- Allow no hekate_ipl.ini and create it at 1st hekate boot
- Show Payloads/More configs options when no boot entry in main .ini
- Fix black screen on empty ini/payload folders
- Fix some stack corruption with freeing ini lists (wip)
2018-09-18 23:47:37 +03:00
Kostas Missos
fdd94ffd2b General bugfixes + hardcoded name replacement 2018-09-18 23:38:54 +03:00
Kostas Missos
59e711c91d Merge remote-tracking branch 'origin/dev' 2018-09-18 03:18:26 +03:00
Pika
4e43bd9a39 Add 6.0.0 support (#95)
Add partial 6.0.0 support
2018-09-18 03:08:05 +03:00
balika011
532dd6ddee Add ipatch and bootrom dumping 2018-09-10 01:12:28 +02:00
Kostas Missos
6da09b3b93 Bump version to v4.0 2018-08-23 05:06:10 +03:00
Kostas Missos
7803bbcd83 Add payload launching. Supports all CFW bins, Linux, Tools. 2018-08-23 05:05:31 +03:00
Kostas Missos
382f727be3 Fix all the bugs
- Mem leaks
- Stack corruption
- Div by 0
- Double frees
2018-08-23 04:37:02 +03:00
Kostas Missos
6a554eec6c Update Readme + Fix Auto Update 2018-08-23 04:27:49 +03:00
Kostas Missos
0540128709 Faster backups
- Add file pre-allocations to greatly reduce overhead of FatFS.
This was missing before, because it takes 1.5KB payload size.

Speed bumps (no verify) are between 7 to 30% for exFAT and ~50% for FAT32, depending on the workload.
2018-08-22 03:42:25 +03:00
Kostas Missos
da5a1a9641 Fix a critical bug with exFAT FatFs + a list bug
Nintendo you hear? Fix your driver already.
(for us never caused any problem, because we always sync fs dir changes to medium.)
2018-08-22 03:38:25 +03:00
Kostas Missos
c5a6ad823e Add payload/libtools launching prerequisites 2018-08-21 04:45:19 +03:00
Kostas Missos
463383abca AutoRCM disabler support for all AutoRCM versions 2018-08-21 04:43:00 +03:00
Kostas Missos
13a07663ee Add autolaunch updated bootloader (mostly for modchips) 2018-08-21 04:41:16 +03:00
Kostas Missos
5328f89ffe Add support for split inis in 'bootloader/ini'
- A new option was added to Launch.
- These can be configured for autoboot
2018-08-21 04:37:40 +03:00
Kostas Missos
7e876388b4 Bugfixes
- Fixed partial dumping filename/bar position
- Add return for menu function handler
- More files to bootloader folder
2018-08-21 04:26:14 +03:00
Kostas Missos
bf816c5107 Move everything to 'bootloader' folder to reduce clutter
+ Make everything all lowercase
2018-08-21 04:21:09 +03:00
Kostas Missos
1d623eacf9 Our 1st module. LP0 configuration. 2018-08-21 04:14:31 +03:00
Kostas Missos
3d6216a6f3 Deploy ianos. Our elf/module loader. 2018-08-21 04:12:03 +03:00
Kostas Missos
5fd9daa364 Add display_end fix for all fw + easter egg
The easter egg is sth that was forgotten in booting via hekate's hwinit.
2018-08-14 02:30:44 +03:00
Kostas Missos
6b8887b5d8 Move display_end before secmon + add boolean supp.
Currently bpmp loses access to the relevant registers when secmon or exosphere is launched.

This change provides support for all firmwares and properly sanitizes the display.
2018-08-13 12:12:53 +03:00
Kostas Missos
e5abdd938e Refactor ALL the things + enable LTO 2018-08-13 11:58:24 +03:00