Commit graph

9972 commits

Author SHA1 Message Date
Liam
217bb87494 vfs_real: lock concurrent accesses 2023-06-23 00:57:24 -04:00
bunnei
7a546be139 Merge pull request #10457 from Kelebek1/optimise
Remove memory allocations in some hot paths
2023-06-22 21:53:07 -07:00
bunnei
5b3787e8a3 Merge pull request #10806 from liamwhite/worst-fs-implementation-ever
vfs_real: misc optimizations
2023-06-22 21:46:50 -07:00
Liam
db40a2f430 general: remove atomic signal and wait 2023-06-22 09:25:23 -04:00
Kelebek1
c7430e51e3 Remove memory allocations in some hot paths 2023-06-22 08:05:10 +01:00
bunnei
72a469b967 Merge pull request #10086 from Morph1984/coretiming-ng-1
core_timing: Use CNTPCT as the guest CPU tick
2023-06-21 21:12:46 -07:00
bunnei
feb4104440 Merge pull request #10841 from liamwhite/math-is-hard
vfs_concat: fix offset calculation when not aligned to file boundary
2023-06-21 21:07:08 -07:00
Narr the Reg
b24451c571 input_common: Implement native mifare support 2023-06-21 17:54:58 -06:00
lat9nq
9357aaf637 time_zone_manager: Add null terminator
We aren't null-terminating this string after the copy, and we need to.
2023-06-20 15:54:28 -04:00
lat9nq
aedaa1aa19 time_zone_manager: Stop on comma
This is a deviation from the reference time zone implementation. The
actual code will set a pointer to the time zone name here, but for us we
have a limited number of characters to work with, and the name of the
time zone here could be larger than 8 characters.

We can make the assumption that time zone names greater than five
characters in length include a comma that denotes more data. Nintendo
just truncates that data for the name, so we can do the same.

time_zone_manager: Check for length of array

Just to be double sure that we never break past the array length,
directly compare against it.
2023-06-20 15:54:05 -04:00
Liam
e1d8e0d842 vfs_concat: verify short read 2023-06-19 09:47:05 -04:00
Liam
0faeac4fcb vfs_concat: fix offset calculation when not aligned to file boundary 2023-06-18 22:21:29 -04:00
bunnei
6d055a21e3 Merge pull request #10797 from lat9nq/tzdb-patch
time: Various time zone fixes
2023-06-17 23:47:16 -07:00
lat9nq
e260539065 time_zone_service: Always write time zone rule data
Switch firmware will initialize this data even if the given parameters
are invalid. We should do the same.
2023-06-17 20:53:39 -04:00
lat9nq
59236a458c k_thread: Use a mutex and cond_var to sync bool
std::atomic<bool> is broken on MinGW and causes deadlocks there.
Use a normal cond var in its stead.
2023-06-17 15:25:36 -04:00
liamwhite
4c7987cded Merge pull request #10731 from german77/misc_fixes
service: nfc: Accuracy fixes
2023-06-16 18:18:24 -04:00
Liam
3191a97b22 vfs_real: ensure size cache is reset on write 2023-06-16 16:43:14 -04:00
Liam
b73cc6d51c patch_manager: remove unnecessary GetSize calls 2023-06-16 16:29:10 -04:00
Liam
0f7b1f067f vfs_real: misc optimizations 2023-06-16 16:29:06 -04:00
lat9nq
5173821cfa time_zone_manager: Compare to the correct boolean
Reference implementation does not compare the booleans as we had them.
Use the correct ones as in the reference.

Also adds an assert. I have been made aware of a crash here and am
not able to reproduce currently.
2023-06-15 23:05:41 -04:00
lat9nq
2ed870c2a8 nx_tzdb: Correct Antarctica spelling 2023-06-15 23:03:54 -04:00
bunnei
c307399340 Merge pull request #10729 from liamwhite/windows-is-a-meme
vfs_real: add file LRU cache for open file limits
2023-06-14 18:32:25 -07:00
Narr the Reg
6ae2249f88 service: nfc: Read tag protocol only for nfc backend 2023-06-14 18:16:23 -06:00
Narr the Reg
05fcd73843 service: nfc: Accuracy fixes 2023-06-14 18:08:35 -06:00
Liam
863d5c23d0 vfs_real: require file existence on open 2023-06-13 17:22:47 -04:00
Liam
87087b768b vfs_real: add simplified open file cache 2023-06-13 17:16:14 -04:00
bunnei
4abd6e552c Merge pull request #10603 from lat9nq/tz-more-complete
core,common: Implement missing time zone data/computations
2023-06-13 13:28:45 -07:00
Liam
729216e5d8 vfs_real: lazily open files 2023-06-13 10:37:34 -04:00
Liam
efaaa6e0bf vfs_real: add file LRU cache for open file limits 2023-06-13 10:37:34 -04:00
Liam
5b858c8306 core: decouple ARM interface from Dynarmic 2023-06-12 22:11:51 -04:00
Narr the Reg
707999d4c0 android: Add update support 2023-06-11 23:33:50 -06:00
Charles Lombardo
b1b9075f2d android: Add proper homebrew check 2023-06-09 20:17:51 -04:00
liamwhite
82dace133c Merge pull request #10623 from german77/backup
service: nfc: Add backup support
2023-06-08 21:54:12 -04:00
Liam
1b33ebdde2 nvnflinger: allow locking framerate during video playback 2023-06-08 01:15:51 -04:00
Morph
6b460f860e nvdisp: Fix SingleCore frametime reporting 2023-06-07 22:04:02 -04:00
Morph
52a219cfe9 core_timing: Fix SingleCore cycle timer 2023-06-07 21:44:42 -04:00
Morph
1b83c7eab4 (wall, native)_clock: Add GetGPUTick
Allows us to directly calculate the GPU tick without double conversion to and from the host clock tick.
2023-06-07 21:44:42 -04:00
Morph
e25d41580b time: Use compile time division for TimeSpanType conversion 2023-06-07 21:44:42 -04:00
Morph
2856fadaa0 core_timing: Use CNTPCT as the guest CPU tick
Previously, we were mixing the raw CPU frequency and CNTFRQ.
The raw CPU frequency (1020 MHz) should've never been used as CNTPCT (whose frequency is CNTFRQ) is the only counter available.
2023-06-07 21:44:42 -04:00
Morph
fb3bb63880 nvnflinger: Acquire lock prior to signaling the vsync variable 2023-06-07 21:44:42 -04:00
liamwhite
c99586dc47 Merge pull request #10591 from keve1227/localized-game-icons
Localize game icons
2023-06-07 14:03:28 -04:00
german77
4255ac45d1 service: nfc: Add backup support 2023-06-06 17:06:21 -06:00
bunnei
31ad92b287 Merge pull request #10508 from yuzu-emu/lime
Project Lime - yuzu Android Port
2023-06-05 21:43:43 -07:00
lat9nq
2556a6c78c tz_manager: Fix comparison to wrong integer 2023-06-05 15:15:23 -04:00
lat9nq
c95977a29f tz_manager: Implement missing transition times
time_zone_manager: Use s64 storage
2023-06-05 15:15:23 -04:00
lat9nq
021df7a2e1 tz_manager: Warn on unimplemented code 2023-06-05 15:15:23 -04:00
lat9nq
c82d11ff73 tz_manager: Fix character offset not advancing 2023-06-05 15:15:23 -04:00
lat9nq
95faad1413 tz_manager: Fix off-by-one error 2023-06-05 15:15:23 -04:00
lat9nq
60e705fd6d time_zone_binary: Add zoneinfo data
Adds the basic time zone data for the system archive.

time_zone_binary: Implement full system archive

time_zone_binary: Remove unneeded template

tz_binary: Make GenerateFiles static
2023-06-05 15:15:23 -04:00
Narr the Reg
c934089969 time: Implement missing services
Implements GetTotalLocationNameCount LoadLocationNameList and
GetTimeZoneRuleVersion.

tz-manager: Fix sign issue
2023-06-05 15:15:11 -04:00