Commit Graph

164 Commits

Author SHA1 Message Date
wheremyfoodat
72b9aecda5 Thread scheduling fixes (#722)
* Add thread preemption when a thread wakes up from a timeout

* Add arbiter sleeping with timeout

Update threads.cpp

* Scheduler: Fix event numbers

* More address arbiter fixes

* Update preempt threads branch (#755)

* CI: Fix Vulkan SDK action (#723)

* GPU registers: Fix writes to some registers ignoring the mask (#725)

Co-authored-by: henry <23128103+atem2069@users.noreply.github.com>

* OLED theme

* OLED theme config fix (#736)

Co-authored-by: smiRaphi <neogt404@gmail.com>

* Adding Swedish translation

* Fix Metal renderer compilation on iOS

* [Core] Improve iOS compilation workflow

* [Qt] Hook Swedish to UI

* AppDataDocumentProvider: Typo (#740)

* More iOS work

* More iOS progress

* More iOS work

* AppDataDocumentProvider: Add missing ``COLUMN_FLAGS`` in the default document projectation (#741)

Fixes unable to copy files from device to app's internal storage problem

* More iOS work

* ios: Simplify MTKView interface (still doesn't work though)

* ios: Pass CAMetalLayer instead of void* to Obj-C++ bridging header

* Fix bridging cast

* FINALLY IOS GRAPHICS

* ios: Remove printf spam

* Metal: Reimplement some texture formats on iOS

* metal: implement texture decoder

* metal: check for format support

* metal: implement texture swizzling

* metal: remove unused texture functions

* Shadergen types: Add Metal & MSL

* Format

* Undo submodule changes

* Readme: Add Chonkystation 3

* Metal: Use std::unique_ptr for texture decode

* AppDataDocumentProvider: Allow to remove documents (#744)

* AppDataDocumentProvider: Allow to remove documents

* Typo

* Metal renderer fixes for iOS

* iOS driver: Add doc comments

* iOS: Add frontend & frontend build files (#746)

* iOS: Add SwiftUI part to repo

* Add iOS build script

* Update SDL2 submodule

* Fix iOS build script

* CI: Update xcode tools for iOS

* Update iOS_Build.yml

* Update iOS build

* Lower XCode version

* A

* Update project.pbxproj

* Update iOS_Build.yml

* Update iOS_Build.yml

* Update build.sh

* iOS: Fail on build error

* iOS: Add file picker (#747)

* iOS: Add file picker

* Fix lock placement

* Qt: Add runpog icon (#752)

* Update discord-rpc submodule (#753)

* Remove cryptoppwin submodule (#754)

---------

Co-authored-by: henry <23128103+atem2069@users.noreply.github.com>
Co-authored-by: smiRaphi <neogt404@gmail.com>
Co-authored-by: smiRaphi <87574679+smiRaphi@users.noreply.github.com>
Co-authored-by: Daniel Nylander <po@danielnylander.se>
Co-authored-by: Ishan09811 <156402647+Ishan09811@users.noreply.github.com>
Co-authored-by: Samuliak <samuliak77@gmail.com>
Co-authored-by: Albert <45282415+ggrtk@users.noreply.github.com>

---------

Co-authored-by: henry <23128103+atem2069@users.noreply.github.com>
Co-authored-by: smiRaphi <neogt404@gmail.com>
Co-authored-by: smiRaphi <87574679+smiRaphi@users.noreply.github.com>
Co-authored-by: Daniel Nylander <po@danielnylander.se>
Co-authored-by: Ishan09811 <156402647+Ishan09811@users.noreply.github.com>
Co-authored-by: Samuliak <samuliak77@gmail.com>
Co-authored-by: Albert <45282415+ggrtk@users.noreply.github.com>
2025-10-12 00:00:15 +03:00
wheremyfoodat
bd81c72608 Fix uninitialized warning and remove header pollution (#803)
* Fix uninitialized warning and remove header pollution

* Nits

* IWYU

* More IWYU
2025-08-07 23:12:45 +03:00
wheremyfoodat
6d1ef7cb4f Memory rework pt 2 (#801)
* Memory: Rework FCRAM management entirely

Disables a lot of functionality... but I didn't want to commit too much to this commit
Also reworks virtual memory management somewhat (but needs more work)

* Accurately handle MemoryState for virtual memory

Previously all non-free blocks were marked as Reserved

* Memory: Consolidate state and permission changes

Can now use a single function to change either state, permissions, or both
Also merge vmem blocks that have the same state and permissions

* Memory: Fix double reset for FCRAM manager

Fix minor bug with permission tracking

* Memory: Implement Protect operation in ControlMemory

* Memory: Implement Unmap in ControlMemory

Also do a sanity check to make sure the memory region is free for linear allocations

* Memory: Make TLS only 0x200 bytes for each thread

Also move TLS to Base region

* RO: Unmap CROs when unloaded

Thanks @noumidev

* Kernel: Return used app memory for Commit ResourceLimit

Not quite correct, but nothing to be done until process management is improved
Also remove the stack limit for CXIs (thanks amogus)

* Kernel: Report used app memory for GetProcessInfo 2

Not really correct, but it should be accurate for applications at least

* Formatting changes

* Initial fastmem support

* PCSX2 fastmem depression

* Move away from PCSX2 fastmem

* Add enum_flag_ops.hpp

* Finally building on Windows

* Almost got a PoC

* Fix arm64 builds

* This somehow works

* This also works...

* Properly fix fastmem

* Add free region manager

* Update boost

* Add ScopeExit

* Comment out asserts on Linux/Mac/Android

* Comment out ASSERT_MSG asserts too

* Fix derp

* Attempt to fix Android

* Disable fastmem on Android

* Fix Android again maybe pt 2

* android pls

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* Update host_memory.cpp

* Properly reset memory arena on reset

* Proper ashmem code for Android

* more

* Add temporary Android buildjet script for faster prototype builds

* Fix fastmem (again)

* Clean up shared memory

* Remove Android BuildJet runner

* a

* Revert "a"

This reverts commit 5443ad6f2a794c19c9b1a1567ca1c7f58eed78cd.

* Re-add ELF support

* Re-add 3DSX support

* GetSystemInfo, GetProcessInfo: Memory sizes should be in bytes

* Update Boost

* Update metal-cpp

* Fix metal renderer compilation

* Fix fastmem mapping

* Clean up fastmem code

* Fix oopsie again

* Emulator: Reorder struct

* Kernel types: Cleanup

* Cleanup

* More cleanup

* Make invalid mprotects warn instead of panicking

* Add setting for toggling fastmem

* More cleanup

* Properly initialize BSS to zeroes

* Remove unused code

* Formatting

* Cleanup

* Memory/CRO: Workaround for Pokemon XY

* NCSD loader: Fix BSS (again)

* NCSD loader: Fix BSS (again) (again)

* More memory fixes

* Memory: Remove unused code

* FS: Warn on unimplemented functions instead of panic

* Update software_keyboard.cpp

* Libretro: Add fastmem option

* FRD: Stub SaveLocalAccountData

---------

Co-authored-by: PSI-Rockin <PSI-Rockin@users.noreply.github.com>
2025-08-07 20:18:09 +03:00
wheremyfoodat
9932e58bf0 Add thread debugger 2025-07-03 16:58:56 +03:00
wheremyfoodat
228068901b Add system call intercepts to Lua 2025-07-03 13:02:10 +03:00
wheremyfoodat
86d1bde845 Temporarily give 80MB to all processes (#715) 2025-02-02 23:18:54 +02:00
wheremyfoodat
84c358660c Implement Luma icache SVCs 2025-01-03 19:21:45 +02:00
wheremyfoodat
33c3e67b31 CRO: Lighter icache flushes 2025-01-03 19:14:59 +02:00
wheremyfoodat
dc80828397 Fix typo (#680)
Co-authored-by: Noumi <139501014+noumidev@users.noreply.github.com>
2024-12-10 18:52:53 +02:00
wheremyfoodat
0f80d0af7a Rename Handle to HorizonHandle, add metal-cpp submodule, format 2024-07-23 15:22:15 +03:00
wheremyfoodat
1c9a3ac3d3 Add Y2R event delay 2024-07-02 15:30:38 +03:00
wheremyfoodat
f7c6ec3b57 Properly handle DSP interrupts in HLE 2024-02-19 18:50:41 +02:00
wheremyfoodat
f58354af06 Update DSP semaphore on semaphore event signal
Fixes Pokemon X and other DSP-needy games...
2024-02-18 03:54:00 +02:00
wheremyfoodat
491b415759 Remove thread sleepTick/waitingNs 2024-01-27 15:38:27 +02:00
wheremyfoodat
99a1a0133d Initial idle skip implementation 2024-01-27 01:58:21 +02:00
wheremyfoodat
85a2ca1bf4 Stub svcUnmapMemoryBlock 2024-01-24 19:06:39 +02:00
wheremyfoodat
c108da5e02 Moar appletting 2024-01-24 18:51:44 +02:00
wheremyfoodat
0be099d1ea Hook up KTimer to scheduler 2024-01-22 04:04:05 +02:00
wheremyfoodat
1430f1c4c2 Implement SVC 0x3B (GetThreadContext) 2024-01-02 17:18:47 +02:00
wheremyfoodat
1f7fc2274a Add vector of timer handles 2023-11-04 18:28:28 +02:00
wheremyfoodat
7c8d73071a Add cfg:s 2023-09-24 22:24:49 +03:00
wheremyfoodat
011dd1b5d9 Merge pull request #276 from wheremyfoodat/download-play
Don't die on ns:s, add wifi level config mem address
2023-09-14 23:45:32 +03:00
wheremyfoodat
e2888d839a Don't die on ns:s, add wifi level config mem address 2023-09-14 23:26:06 +03:00
wheremyfoodat
a7a4b81ea8 Fix typo 2023-09-14 17:50:41 +03:00
wheremyfoodat
712be4ce72 Split PTM services 2023-09-14 17:16:39 +03:00
wheremyfoodat
7c2167e0f2 Add SystemSaveData::OpenFile and split up frd:u and frd:a 2023-09-13 23:21:30 +03:00
wheremyfoodat
db50054128 Add nwm::UDS 2023-09-10 17:33:21 +03:00
wheremyfoodat
b394cacbc7 More CSND stubbing 2023-09-10 16:51:44 +03:00
wheremyfoodat
68346d73dc Add empty csnd service 2023-09-10 14:45:09 +03:00
wheremyfoodat
5930a3d843 Handle Amiibo tag events better 2023-09-09 01:56:39 +03:00
wheremyfoodat
7bf56c2413 [CPU] Add function for clearing JIT cache 2023-09-05 20:57:48 +03:00
wheremyfoodat
cb3f7fa134 Remove hacky timer hacks 2023-08-31 22:47:43 +03:00
wheremyfoodat
1d601e41ba Merge branch 'master' into timerz 2023-08-21 18:57:18 +03:00
wheremyfoodat
d3d426985a Add news:u 2023-08-21 16:45:35 +03:00
wheremyfoodat
434827e11e Add svcGetThreadIdealProcessor 2023-08-20 03:43:26 +03:00
wheremyfoodat
6895a1d9d6 Implement svcGetCurrentProcessorNumber 2023-08-20 01:51:24 +03:00
wheremyfoodat
c544dd1567 Add MCU::HWC 2023-08-19 17:44:28 +03:00
wheremyfoodat
51b2b8eee5 Make battery stuff configurable 2023-08-18 22:17:33 +03:00
wheremyfoodat
8881467505 I hate timers 2023-08-14 17:24:53 +03:00
wheremyfoodat
1354b0f7fa Moar timer 2023-08-14 15:13:37 +03:00
wheremyfoodat
fa58c7a7d6 OS Timers part 2 2023-08-13 23:32:07 +03:00
wheremyfoodat
6552f2998c OS timers part 1 2023-08-13 03:35:41 +03:00
wheremyfoodat
fa91c4effb Add SSL service 2023-08-12 00:12:20 +03:00
wheremyfoodat
26bb05bd8e Start separating CFG:U and CFG:I 2023-08-11 16:56:10 +03:00
wheremyfoodat
e2b82997ba Add ConfigMem FIRM stuff and GetSystemInfo modes for DDLC 2023-08-11 16:37:51 +03:00
wheremyfoodat
2bb751110b Add soc:u 2023-08-10 17:44:42 +03:00
wheremyfoodat
01a7985324 [Kernel] ExitThread should release held mutexes 2023-08-10 15:11:54 +03:00
wheremyfoodat
8d5a3d6197 [HTTP] Add service stuff 2023-08-08 17:07:12 +03:00
wheremyfoodat
e296a0b0de [Memory] Add 3D Slider shared page value 2023-08-03 13:30:02 +03:00
wheremyfoodat
fb8965942c [Kernel] Implement APIs for detecting Citra & Panda 2023-08-03 11:32:51 +03:00