Commit graph

173 commits

Author SHA1 Message Date
wheremyfoodat
d5d8f869e4
Update idle_thread.cpp 2023-07-02 23:00:15 +03:00
wheremyfoodat
0b2ff6c5c8 Separate user and dev builds 2023-07-02 22:36:45 +03:00
Sky
e9b3b7c2a2 Add workaround helper for bit_cast and missing #include <bit>
Allows compilation on native macOS build system.
2023-06-18 12:33:34 -07:00
wheremyfoodat
d0ae5f0546
Merge pull request #37 from marysaka/feat/proper-hle-result
hle: Add proper type for result code
2023-06-17 18:39:36 +03:00
Mary
122b1b2727 hle: Add proper type for result code
This should clean up all HLE errorcode in the codebase.

I didn't removed Rust::Result as this should be a cleanup for another
iteration.
2023-06-16 20:09:37 +02:00
Wunkolo
fde93381a5 Use std::span for CPU register-state
Following the trend of #33: `std::span` provides some useful utility
functions like `size_bytes()` and `as_bytes()` and serves as a better
non-owning "chunk of data"-type over just passing around an
`std::array&`.
2023-06-16 07:24:37 -07:00
wheremyfoodat
0c213900bc
[FS] Actually add FlushFile 2023-06-11 23:24:12 +03:00
wheremyfoodat
7cc7dc09f4 [FS] Implement File::Flush and fix file function headers 2023-06-03 22:25:30 +03:00
wheremyfoodat
01d16fdfd1 [FS] Better DeleteFile, fclose when file session is closed 2023-05-20 02:32:36 +03:00
wheremyfoodat
09ba66ae60 [Kernel] Fully implement semaphores 2023-05-07 18:02:51 +03:00
wheremyfoodat
de537fedfb [Kernel] Add proper WakeUpAllThreads 2023-05-06 00:06:31 +03:00
wheremyfoodat
3b98b6bd03 Moar 2023-05-01 00:28:41 +03:00
wheremyfoodat
71676a79e2 [Kernel] Spam some more RescheduleThreads calls 2023-05-01 00:27:49 +03:00
wheremyfoodat
74b06da6b2 [Kernel] Handle timeout errors properly 2023-04-30 14:41:57 +03:00
wheremyfoodat
5e0c4b76ac [WaitSyncN] r1 should be -1 on timeout 2023-04-30 01:22:43 +03:00
wheremyfoodat
1d06a31113 [Kernel::WaitSyncN] Panic on handleCount == 0 2023-04-30 01:02:35 +03:00
wheremyfoodat
4ed1cf234b Fix typo 2023-04-29 22:32:38 +03:00
wheremyfoodat
dac77cdc1d [Kernel Add WakeupOneThread 2023-04-29 01:45:30 +03:00
wheremyfoodat
069fe37602 [Kernel] Always reschedule on ArbitrateAddress (Fixes MK7) 2023-04-27 00:12:27 +03:00
wheremyfoodat
f1093cda34 [Kernel] Format 2023-04-25 01:57:50 +03:00
wheremyfoodat
0eeff3535f Derp 2023-04-24 23:25:56 +03:00
wheremyfoodat
1cf8af98c2 Another one 2023-04-24 23:13:37 +03:00
wheremyfoodat
3529c9bf67 [Kernel] Fix spontaneous r0 corruption 2023-04-24 23:10:04 +03:00
wheremyfoodat
ef6cc56182 [Address Arbiter] Add comment for clarity 2023-04-24 00:55:56 +03:00
wheremyfoodat
3ed3729bb4 Reschedule threads on event signal (Required for FE:A FMV) 2023-04-24 00:53:46 +03:00
wheremyfoodat
9532e694b3 [Kernel] Acquiring threads 2023-04-23 01:07:21 +03:00
wheremyfoodat
908e1fc4fd [DSP] Add event stubs to fix games locking up 2023-04-22 20:59:34 +03:00
wheremyfoodat
2ebbb08766 [Mutex] Make less dumb 2023-04-21 21:48:07 +03:00
wheremyfoodat
91e008ad1d [Kernel] New event signalling, better Mootex 2023-04-21 21:39:59 +03:00
wheremyfoodat
5daade05d8 [GSP] Add interrupt relay event 2023-04-21 02:27:28 +03:00
wheremyfoodat
33158c7908 [Kernel] Make WaitSyncN better 2023-04-21 01:08:13 +03:00
wheremyfoodat
f575d4db82 Fix derp 2023-04-20 22:52:32 +03:00
wheremyfoodat
7f2715d06c [Kernel] Fix release mutex 2023-04-20 22:24:36 +03:00
wheremyfoodat
134d63c515 [Kernel] Moar threads 2023-04-20 22:00:51 +03:00
wheremyfoodat
920fd4cf0d [Kernel::WaitSync1] Instant timeout if ns == 0 2023-04-20 02:48:57 +03:00
wheremyfoodat
fecf038982 [APT/Kernel] More fixing hacks 2023-04-19 23:11:29 +03:00
wheremyfoodat
0b46b92bb7 [Kernel] Add idle thread 2023-04-18 20:42:17 +03:00
wheremyfoodat
c6c45408fe Starting on sync object rewrite #3 2023-04-18 03:14:25 +03:00
wheremyfoodat
075a244dd0 [FS] Implement SetSize 2023-04-11 01:11:20 +03:00
wheremyfoodat
4bef096f04 [FS] Add directory stuff, clean up 2023-03-29 00:23:55 +03:00
wheremyfoodat
1078253f6c [APT/CFG/Kernel] Smash Bros stuff 2023-03-21 22:34:29 +02:00
wheremyfoodat
5d6bf24a9d [Kernel] Add memory mirroring function & throw warning on mprotect 2023-03-21 02:32:47 +02:00
wheremyfoodat
2ab777fecd [Kernel] Implement File::SetPriority 2023-03-10 01:27:30 +02:00
wheremyfoodat
5966c02737 [Kernel] Implement File::OpenLinkFile 2023-03-10 01:04:04 +02:00
wheremyfoodat
980139e588 [Kernel] Implement CreateMemoryBlock 2023-01-29 16:29:45 +02:00
wheremyfoodat
ec7c0b86b7 Make some things panic for later 2023-01-29 02:39:17 +02:00
wheremyfoodat
4e64f722e5 [Kernel] ExitThread [FS] Start implement archive 0x2345678A 2023-01-26 17:49:17 +02:00
wheremyfoodat
f68ddebf90 Fix SleepThread SVC (Fixes nullptr access in SM3DL and Pokemon Rumble Blast) 2023-01-25 01:44:14 +02:00
wheremyfoodat
cad046d9a8 [APT] Add shared font 2023-01-23 19:32:13 +02:00
wheremyfoodat
c8a4c7d7fa [FS] Implement ReadFile for files with host OS file descriptors. 2023-01-23 13:34:31 +02:00