Wolfvak
670ff3345c
event model seems to work
...
refactors all the ugly "pendingX" atomic operations into a single "Event" subsystem/interface thing with two operations
moves all existing code to use this instead
also changes the "bkpt" macro to also indicate unreachable code
2020-11-18 17:06:45 -03:00
Wolfvak
6b5ddf94d8
simplify the sharedmem buffers
...
also made the wait on boot unconditional
2020-11-18 17:06:30 -03:00
Wolfvak
e4dd8511cd
make interrupt handlers more lazy, most processing is done in interruptible context now
...
- completely moved MCU interrupt handling outside of the critical section
- refactored a bit of the PXI code and command names
- merge the I2C read and write cmds to be one
- remove SET_VMODE cmd, now it's always initialized to BGR565 on boot and to RGB565 on firmlaunch
- atomic-ize more stuff
2020-08-25 10:49:52 -03:00
Wolfvak
b4fccd4a3c
initial mcu events implementation
...
- backlight power control is reinstated but currently buggy, for some reason the __builtin_trap is tripped on GFX_powerOnBacklights and GFX_powerOffBacklights
- also refactored a bunch of other code pertaining to mcu and other hw init, moved the gpu init to a later point since lcd init now depends on mcu events
2020-08-21 23:36:00 -03:00
Wolfvak
03007c2b42
fix shared memory optimization problem
2020-08-15 20:30:27 -03:00
d0k3
8375434093
Properly handle TWL system data archives
2020-08-04 21:46:13 +02:00
Wolfvak
bf767f2c01
add a needed delay for new 3ds consoles ( #617 )
2020-08-04 16:41:10 -03:00
Wolfvak
4dc5661d58
use hardcoded configuration for ARM11 interrupts
2020-08-02 11:40:18 -03:00
d0k3
8863979a99
Merge branch 'thumb'
2020-08-02 15:43:28 +02:00
d0k3
0ee1368153
Fix building on Windows (cygwin)
2020-08-02 15:40:42 +02:00
d0k3
a051b07791
Don't allow the rom renamer in incompatible drives
2020-08-02 15:40:42 +02:00
d0k3
596e7e499c
Scripting: install command for game images
2020-08-02 15:40:41 +02:00
d0k3
d4d8c9a0ff
Remove force_nand from the game file installer options
2020-08-02 15:40:41 +02:00
d0k3
7fb194caea
Allow batch fixing of borked NCCH crypto flags
...
Fixes #609
2020-08-02 15:40:41 +02:00
d0k3
521fb25075
Fix titledb entry manual detection
2020-08-02 15:40:41 +02:00
d0k3
829880994f
Fix installer system CMD handling
2020-08-02 15:40:41 +02:00
aspargas2
e744be504b
perform DISA/DIFF cmac fixing automatically upon unmounting
2020-08-02 15:40:41 +02:00
aspargas2
e7fdf993a7
fix some tab/space indent mixing
...
shame on you, @d0k3 /s
2020-08-02 15:40:41 +02:00
aspargas2
89c5107733
Fix title info entry product code for TWL titles
2020-08-02 15:40:41 +02:00
aspargas2
9766a0be5e
fix handling of contents whose index and ID are unrelated
2020-08-02 15:40:41 +02:00
aspargas2
24d2a4ea5b
fix install destination logic
2020-08-02 15:40:41 +02:00
aspargas2
214edfc399
don't sort tickets until a virtual ticket dir is read
...
this makes mounting of a ticket.db almost instantaneous regardless of number of tickets it contains
2020-08-02 15:40:41 +02:00
aspargas2
cb870d2b02
fix problems with vbdri new filename handling
...
this should now disallow having non-hex characters in the title id and allow changing of the NAME_TIK and NAME_TID macros
2020-08-02 15:40:41 +02:00
d0k3
d8aeb056cb
Fix CMD & NCSD handling
2020-08-02 15:40:41 +02:00
d0k3
b8798f2aff
Check for title.db before attempting install
2020-08-02 15:40:41 +02:00
d0k3
e559c2b4a1
Fix setting the CIA console ID
2020-08-02 15:40:41 +02:00
d0k3
32b6838d32
Fix TMD CDN CIA building
2020-08-02 15:40:26 +02:00
d0k3
8fcdde29c8
Misc code beautification
2020-08-02 15:40:26 +02:00
d0k3
77f1f94e13
Improved output for game install last step
2020-08-02 15:40:26 +02:00
d0k3
e568348086
Don't overwrite existing saves when installing
...
thanks @aspargas2
2020-08-02 15:40:26 +02:00
d0k3
6116545fef
Fix batch install of game images
2020-08-02 15:40:26 +02:00
d0k3
e916476563
Take over @wolfvak's gameutil.c improvements
2020-08-02 15:40:26 +02:00
d0k3
d2c47b7977
Allow installation of game files
...
Should work for NCCH, NCSD, CIA, TMD from NUS/CDN and DSi eShop titles in NDS format
2020-08-02 15:40:26 +02:00
Wolfvak
8a7448995f
fixed overlooked ARM9 exception handler issue where code would be dumped incorrectly, modified ARM11 exception vectors to not take an entire page of compiled code
2020-07-26 10:27:48 -03:00
Wolfvak
07c009de72
fix comments for bootrom functions
2020-07-24 23:38:31 -03:00
Wolfvak
f96daa407a
potentially fix non-working FIRM builds, remove duplicated cycle wait functions
...
the sdmmc wait function is exactly the same as the one in the bootrom and worked as a drop in replacement
2020-07-24 14:22:38 -03:00
Wolfvak
f835469e19
rewrite the bootrom function header, add more operations and add ARM11 versions
...
- the bootrom is now mapped on the ARM11
- removed the waitClks in favor of a more canonical implementation (subs r0, r0, 4/5 + branch back)
2020-07-24 13:37:29 -03:00
d0k3
2791b42f6e
Fix an exception for big file searches
2020-07-24 11:02:07 +02:00
Wolfvak
d7444e144a
use a regular global pointer for sharedmem
...
fetching the thread id requires coprocessor access which means doing funky switches between thumb and arm -
it's faster to just allocate a single pointer and do an indirect load when necessary
2020-07-23 23:46:15 -03:00
Wolfvak
3973ce57df
revert back to using Thumb code for the ARM9 binary
...
leads to better density and therefore much smaller FIRM sizes
2020-07-23 20:33:46 -03:00
Wolfvak
929cc7fdcf
better hints to reduce compiled size by a few kb
...
mostly just added static const to constant arrays/buffers
2020-07-23 13:46:42 -03:00
Wolfvak
698ad9d891
fix Travis CI, take 2
2020-07-23 12:13:50 -03:00
d0k3
6b54290cf2
Fix Travis CI building (hopefully)
...
Thanks @vaguerant
2020-07-20 22:57:37 +02:00
d0k3
79768acef7
Fix a small typo in file attribute menu
2020-07-20 00:51:20 +02:00
Wolfvak
4e9721db9b
new3DS FCRAM is always enabled nowadays, so the IS_UNLOCKED check is wrong
2020-07-19 12:08:47 -03:00
Wolfvak
5e307a3f32
limit size of initrd, fix building on msys2
2020-07-19 12:03:04 -03:00
Wolfvak
6487307cf0
improved mmu and gic code
2020-07-19 11:59:52 -03:00
Wolfvak
5905fb84fb
removed the cross allocator, use the shared memory region instead for I2C and NVRAM transfers
2020-07-19 11:44:03 -03:00
Wolfvak
30f0b004c2
fixed screen init, hopefully the last commmit
...
- properly performs gpu/backlight reset
- nukes vram so the initrd had to be moved to arm9 memory, and have its size (at least temporarily) limited to 256k
2020-07-18 20:25:34 -03:00
d0k3
f20d2657fa
Revert "Use .tie extension for titledb entries"
...
This reverts commit 8ee0fac6c44622c75fd2bf2fb15bf0c06662caf8.
2020-07-13 17:27:21 +02:00