1144 Commits

Author SHA1 Message Date
d0k3
ab110bf73d Improved legit CIA build warning 2019-06-10 16:54:19 +02:00
d0k3
87d4152d4e Add handling for SD / TWLN & DLC CMD CMACs
Fixes #340
2019-06-10 16:30:40 +02:00
Wolfvak
bd74ad00d8 add initial brightness config dialog, currently inaccessible 2019-06-07 17:13:42 -03:00
Wolfvak
04bf6438de lowered circle pad sensitivity on the horizontal axis 2019-06-03 02:28:27 +02:00
d0k3
40b4e3f541 Use software keyboard instead of string input prompt 2019-06-03 02:28:27 +02:00
d0k3
ee86ffeb03 Remove old touch playground code 2019-06-03 02:28:27 +02:00
d0k3
73e3a18ea8 Remove legacy A9LH support 2019-06-03 02:28:27 +02:00
d0k3
ff491f2993 Scripting: allow NO_CANCEL flag for fill command 2019-06-03 02:28:27 +02:00
d0k3
ae5584aca0 Fix displaying alphabet preview in input tool 2019-06-03 02:28:27 +02:00
Wolfvak
b45bb966df fixed an off by one error in the UI code that caused all rectangles to be drawn one pixel lower than indicated 2019-06-03 02:28:27 +02:00
Wolfvak
648275c097 - rewrote the entrypoint detection code for clarity and size
- fixed a dumb bug during mpu setup
2019-06-03 02:28:27 +02:00
Wolfvak
f179caaef3 removed useless stack clearing and whitespace 2019-06-03 02:28:27 +02:00
Wolfvak
ca7944ce04 - enable the VFP on the ARM11
- stopped using the ITCM as the interrupt vector table
- removed dead Thumb code handler in interrupt handling
- added basic memory protection flags
2019-06-03 02:28:26 +02:00
Wolfvak
8b098fa91a improvements over the last couple of RGB565 related commits 2019-06-03 02:28:26 +02:00
Wolfvak
256f2465d8 converted all bitmaps to RGB565 2019-06-03 02:28:26 +02:00
Wolfvak
a42dbedf82 fix screenshot functionality 2019-06-03 02:28:26 +02:00
Wolfvak
6823e15584 enable write buffering on VRAM, optimize some UI drawing algorithms 2019-06-03 02:28:25 +02:00
Wolfvak
bb5182cae3 skip unnecessary fixed point conversion + multiplication in touchscreen reading code 2019-06-03 02:28:25 +02:00
Wolfvak
6dc89d7107 compile time fixed brightness bugfix, reinstated command to set brightness from ARM9 2019-06-03 02:28:25 +02:00
Wolfvak
50e97d2dab Moved most things to RGB565 2019-06-03 02:28:25 +02:00
d0k3
73d8d14bd5 Fix #478 2019-06-03 02:28:25 +02:00
d0k3
dbd8b8aca8 Included software keyboard in testing 2019-06-03 02:28:25 +02:00
d0k3
ca8c2070f5 Change how TouchboxGet() works 2019-06-03 02:28:25 +02:00
d0k3
f4fc17f145 Tweak button delay in hid.c 2019-06-03 02:28:24 +02:00
Wolfvak
7d3a5270f1 fix lodepng CRC calculation 2019-06-03 02:28:24 +02:00
d0k3
9cc31b6f56 Fix several alignment assumptions 2019-06-03 02:28:24 +02:00
d0k3
c3152838db Move touchbox functions to hid.c / hid.h 2019-06-03 02:28:24 +02:00
Wolfvak
2f64a8046a - compile with size optimizations, reduces inst cache pressure
- removed most of lodepng's optional features
- lodepng now uses the already existing CRC32 code instead of using its own copy
- fixed GIC interrupt priority
2019-06-03 02:28:24 +02:00
d0k3
cadc7e6982 Revert to old splash logo 2019-06-03 02:27:44 +02:00
d0k3
ff9fde1561 With shell closed, use the LED to signal finished operations 2019-06-03 02:27:44 +02:00
d0k3
85a189b3b6 Move testing stuff to its own menu entry 2019-06-03 02:27:44 +02:00
d0k3
df21331218 New & improved touchscreen playground 2019-06-03 02:27:44 +02:00
Wolfvak
77f857ab64 - added way to prevent a race condition when reading the touchscreen values
- simplified CODEC init and read code
- fixed I2C register

thanks to @profi200 for the last two points
2019-06-03 02:27:44 +02:00
d0k3
dad662610d Moved touch testing functions to HOME -> more... 2019-06-03 02:27:44 +02:00
d0k3
54caa3588e Added touchscreen calibration from NVRAM (thanks @wolfvak) 2019-06-03 02:27:44 +02:00
d0k3
36c03e578c Enable screenshots in touch test functions 2019-06-03 02:27:44 +02:00
d0k3
500333b011 Some source code reorganisation 2019-06-03 02:27:43 +02:00
d0k3
bc66cd0ccf Improved touchscreen calibration GUI & playground 2019-06-03 02:27:43 +02:00
Wolfvak
08b53f71e1 Fix clobbered registers on MRC/MCR/MRS/MSR C wrappers
Previously the compiler could've optimized stores/reads to be placed outside of critical sections, etc
2019-06-03 02:27:43 +02:00
Wolfvak
a6734af45d licensing bs 2019-06-03 02:27:43 +02:00
Wolfvak
46a5735f5c - fixed bug where a N3DS without extra FCRAM enabled would get stuck on boot 2019-06-03 02:27:43 +02:00
Wolfvak
ad9a9bd5a0 - turn off the LCDs when the lid closes, and turn them back on when it's open
- reset LEDs on boot
- add code to set the notification LED
- add a PXI command to verify the NVRAM is actually online
- notify the ARM9 about the shell state through the HID thing
2019-06-03 02:27:43 +02:00
Wolfvak
79aa9191f7 - clamp down the touchscreen coordinates to boundaries
- fix annoying compilation warning regarding unsigned vs signed comparison
2019-06-03 02:27:42 +02:00
Wolfvak
70757e3385 - added extremely simple calibration dialog, to be replaced by something prettier/saner/safer at a later point in time
- moved all SPI code to the ARM11
- reimplemented NVRAM reading for the new SPI interface
2019-06-03 02:27:42 +02:00
Wolfvak
b52bf3b9a5 refactored SPI and CODEC drivers, getting ready to move all SPI ops to the ARM11 2019-06-03 02:27:42 +02:00
Wolfvak
1b04ca4fa1 - added touchscreen calibration code
- added very simple 12-bit precision fixed point arithmetic code as a fast float replacement
2019-06-03 02:27:42 +02:00
Wolfvak
bf45ee3900 - added new SPI and CODEC drivers ported from linux, thanks to xerpi
- circle pad simulates dpad keys (up, right, down, left)
- raw touchscreen data is provided but currently unused
- added a simple shared memory region thing
- fixed the 10ms delay to be _after_ the backlights are turned on, thanks to profi again

as always, other stuff I probably forgot about
2019-06-03 02:27:42 +02:00
Wolfvak
bcff09a389 added a small 10ms wait before turning on the backlight, thanks to profi for reminding me of that 2019-06-03 02:27:42 +02:00
Wolfvak
f5a877d00b - implemented MCU stuff and its interrupts, thanks @profi200 for the info
- moved brightness control to the ARM11
- moved HID updating to the ARM11
- moved screen init from ARM9 to the ARM11, always performed unconditionally
- removed unnecessary SCREENINIT and SET_BRIGHTNESS pxi commands

and other stuff I probably forgot about
2019-06-03 02:27:41 +02:00
Wolfvak
5e56cd2f77 - refactored arm11/sys.c
- moved common.h from the ARM9 tree to the common code tree
- does proper deinit now on the ARM11 side

the bug that caused it to fail to launch some FIRMs has been fixed - it can even boot stock FIRMs
2019-06-03 02:27:41 +02:00