Commit graph

83 commits

Author SHA1 Message Date
Kostas Missos
33457ad8f8 As always remove more uneeded stuff 2018-07-09 22:13:56 +03:00
Kostas Missos
828b616468 Add status bar (battery info)
This gets updated in menus and backup/restore options and it's still visible to other options
2018-07-09 16:06:17 +03:00
Kostas Missos
2f120d1cbb Change partial backup msg + some fixes 2018-07-09 16:02:47 +03:00
Kostas Missos
a5f2bb9d57 Support custom backcolor when logo is smaller
When the bootlogo is smaller than 720x1280, the background color will be set to match the color of bmp's 1st pixel.

This ends the limit of having to use a background color of 0x1B1B1B.
2018-07-09 15:55:09 +03:00
Kostas Missos
60905c3829 Don't run hos keygen twice + Fix memory leaks 2018-07-07 18:36:18 +03:00
Kostas Missos
19e9292128 More unfattening 2018-07-07 18:34:33 +03:00
Kostas Missos
6d556bf213 Remove null term from "" as suggested
Additionally rename the archive bits again ( :) ) to have a little better syntax.
2018-07-06 16:11:51 +03:00
Jason Tomsic
f91546a1e5 Unset archive bit on all files except official Nintendo directory (#35)
* allow for all files to unset archive bit, except Nintendo dir
* don't recalculate path length with every file
* use strlen instead of a loop
* negating the if statement to reduce conditional context
* move an operation to the beginning of the loop so we don't have to have it twice
* combining some lines and removing a var for efficiency
2018-07-06 16:02:00 +03:00
Kostas Missos
eecdca3f03 Bump version to v3.1 2018-07-05 02:03:01 +03:00
Kostas Missos
879fc643d9 Add important fuse info (like burnt eFuses) 2018-07-05 01:51:36 +03:00
Kostas Missos
5e8eb1c57a Implement ms timer and fix all timers
This will fix everything that uses a timer (or sleep).

Without this any function like eMMC/SD read/write/verify, TSEC/SE, etc can break when the time reaches the max value of the u32 microsecond timer (71minutes).

This fixes every possible breakage, including backup and restore (read/write/verify errors) that takes a lot of time.

The new max before a timer reset is now 48 days (the old one was 71 minutes)
2018-07-04 18:39:26 +03:00
Kostas Missos
ebb9ca5bf5 Fix partial+single backup/restore verification
and archive bit for switch folder.
2018-07-04 18:28:03 +03:00
Kostas Missos
d4731bb540 Split remove archive bit in two
1. Only switch folder and its subfolders/files
2. Everything in sd card
2018-07-02 17:12:15 +03:00
Kostas Missos
3e35d99a3b Bump version to v3.0 2018-07-01 20:47:54 +03:00
Kostas Missos
57399e4df1 Add restore options 2018-07-01 20:46:22 +03:00
Kostas Missos
6df5fdc9c3 Add auto boot 2018-07-01 20:45:52 +03:00
Kostas Missos
94bd9a24d3 Add global configuration and saving mechanism 2018-07-01 20:45:25 +03:00
Kostas Missos
a442737a59 Update ini parsing to the new version 2018-07-01 20:29:30 +03:00
Kostas Missos
9672650d1a Fix low battery shutdown tool
The real reason for the "battery de-sync" is a misconfig of MAX77620 low battery monitor.

So there's no real battery battery de-sync.

Thanks @natinusala and @perillamint for finding this
2018-07-01 16:58:59 +03:00
Kostas Missos
42d743d9d5 Fix build 2018-07-01 05:06:13 +03:00
Kostas Missos
ffeb8c60df Preliminary Exosphère support 2018-07-01 05:03:17 +03:00
Kostas Missos
d9dba2b182 Fix timing issues with battery desync fix 2018-07-01 04:58:37 +03:00
Kostas Missos
e5a34c3818 Small unfattening 2018-07-01 04:56:58 +03:00
Kostas Missos
0c5c827d0b Add battery/charge info + bugfixes 2018-06-28 04:05:19 +03:00
Kostas Missos
6561a3e738 Preparation for adding config + restore options 2018-06-28 00:36:18 +03:00
Kostas Missos
66b6c5cdf0 Add 16px font support back 2018-06-28 00:21:05 +03:00
Kostas Missos
3175dbc1c9 Prepare about for 16px font 2018-06-26 19:09:26 +03:00
Kostas Missos
37a15ca8ff Make Backup verifying faster by using SE's SHA256 2018-06-26 19:07:34 +03:00
Kostas Missos
3f18713f53 Add seconds timer + bugfixes 2018-06-26 19:00:46 +03:00
Kostas Missos
c215b1c74c Disable verification for now & add memcmp32sparse
When the commit with the configuration will be a available, these 3 options will exist:

- Disable verification
- Sparse verification (Fast)
- Full (Slow)

Sparse will take approx 8 minutes for rawnand.bin and Full will take 4.5 hours.
2018-06-24 23:02:35 +03:00
Kostas Missos
52506def30 Add Battery Charger & Fuel Gauge dirvers
* Add Fuel gauge configuration fix
* Add Battery de-sync fix
* Fuel gauge registers dumping
* Add help and battery status in menu
2018-06-24 22:38:32 +03:00
Kostas Missos
6961769a86 Name more hardcoded values 2018-06-24 22:31:24 +03:00
Kostas Missos
df30512fd9 [Info] Add current bus maximum rate and refactor a bit 2018-06-23 07:18:53 +03:00
Kostas Missos
532a9f9949 [Tools] dump_emmc_verify() :/
With a working verify functions, the speed is 10.5 times slower.
(A 2.5 seconds operation takes now 28 minutes)

TODO: Find a faster way!
2018-06-23 07:12:30 +03:00
Kostas Missos
f3149e0be3 FatFS and general file operations fixes
* Make FatFS thread safe via malloc and remove alloca.
* Fix memory leak from emmc gpt parsing
* Always unmount SD card in menu and when launching
* Use folders for Backup/Dump/Restore operations
* Add error report for some important f_opens
* Don't let partial dumping if backup chosen is not GPP or USER.
2018-06-23 07:04:41 +03:00
Kostas Missos
901f2bb5bd Replace hardcoded values 2018-06-23 06:37:58 +03:00
Kostas Missos
171e5ba30f Compile time configurable menu logo 2018-06-19 17:10:59 +03:00
Kostas Missos
d2291a78e2 Switch Framebuffer to ARGB by default 2018-06-19 16:53:41 +03:00
Kostas Missos
e76c2b4cb6 General additions, fixes and bugfixes 2018-06-18 09:04:13 +03:00
Kostas Missos
9d50a13ef0 Update GNU copyright for big changes
Additionally change the readme
2018-06-18 09:00:53 +03:00
Kostas Missos
b2dd070d10 [INI] Fix memory leaks + other fixes (#38)
* [INI] Fix memory leaks + other fixes

* Add ini_free
* check and return if NULL pointer in free()
* Add button check with timeout
* Fix a bug in menu rendering that tries to parse a string without existing
* Change initial cnt value to max (fixes menus with first entry not a selectable entry)
* Some & ? clarifications

* [INI] Add get selected boot cfg

- This allows to free ini as we launch the firmware and have the lowest mem leak

* [INI] Rename ini section clone/free functions
2018-06-13 11:34:32 +12:00
Kostas Missos
0f23f9baec [Tools] Fix SD files archive bit tool
Switch's filesystem sys module has a bug which rejects files if the archive bit is set.

This tool, clears this attribute and will help users using Windows to edit/copy/create files in SD card.
2018-06-11 18:28:04 +03:00
nwert
24e172b5fb Refactored the firmware loader and LP0 config. 2018-06-08 23:07:25 +12:00
nwert
120e8f5870 Fix all warning. 2018-06-08 21:42:24 +12:00
Kostas Missos
16ac26f583 [DP/GFX/SDMMC] Bugfixes
- Sanitize framebuffer. Original idea from @StevenMattera
- Change clear framebuffer to memset (for grey colors), for performance (we don't use alpha blending, so it does not matter to set it to 0xFF).
- Enable screen backlight after gfx init
- Reduce wait time for emmc/sd read/write retries to 100ms.
2018-06-06 13:29:38 +03:00
Kostas Missos
b299cb40c7 [PKG2] Switch kernel patching to crc32c based kernel id
This provides support for the 3.0.2 kernel, where pkg1 has the same id with 3.0.1.

Thanks @roblabla for noticing and providing the Debug mode kernel patch.
2018-06-05 02:04:08 +03:00
Kostas Missos
fb9e91ed0c Better dump of pkg1 + Wording 2018-06-05 01:55:32 +03:00
Kostas Missos
c43b6f8a5d SD errata, bugfixes, replace hardcoded values 2018-06-03 22:27:15 +12:00
Kostas Missos
4b806f1e7d Oups. Remove unmerged functions 2018-06-03 22:27:15 +12:00
Kostas Missos
54a0a353bc Bug fixes, wording, etc 2018-06-03 22:27:15 +12:00