Billy Laws
8bf08ed66f
Fix CircularQueue and improve debug logging + exefs loading
...
CircularQueue was looping around too early resulting in the wrong
pushbuffers being used. The debug logging is useful for interpreting the
GPU method call logs.
Exefs loading was changed to check if an NSO exists before trying to
read it, preventing exceptions that get annoying while debugging.
2020-11-22 23:56:17 +05:30
Billy Laws
c161ef0cac
Various accuracy improvements in services
...
* 'Fix' memory accounting to not measure reserved regions
* Fix some copy bugs introduced by switch to span
* Correct remap the behaviour of Modify so it actually works
2020-11-22 23:56:17 +05:30
Billy Laws
c7e5202042
Rework GPU VMM variable naming
2020-11-22 23:56:17 +05:30
Billy Laws
4c9d453008
Update formatter config for new AS and reformat
2020-11-22 23:56:17 +05:30
◱ PixelyIon
668f623256
Implement Exceptional Signal Handler + Fix Destruction Behavior
...
An exceptional signal handler allows us to convert an OS signal into a C++ exception, this allows us to alleviate a lot of crashes that would otherwise occur from signals being thrown during execution of games and be able to handle them gracefully.
2020-11-22 23:56:17 +05:30
◱ PixelyIon
3cde568c51
Run Guest on Main Emulator Thread + Remove Mutex/GroupMutex + Introduce PresentationEngine
2020-11-22 23:56:17 +05:30
◱ PixelyIon
779884edcf
Introduce TID to Logger + Fix VMM Bug + Fix NSO Backtrace + Improve Logger
2020-11-22 23:56:17 +05:30
Billy Laws
39f0345ac7
Fix bugs introduced by refactoring
...
GPU VMM was mistakenly checking the alignment of the PA rather than the
VA and NvMap::Free was not accounting for the handle index starting from
one.
2020-11-22 23:56:17 +05:30
◱ PixelyIon
c65c91e1bc
Implement NPDM, Core Mask SVCs + Fix VMM bug + Introduce Verbose Log Level
2020-11-22 23:56:17 +05:30
◱ PixelyIon
324381908b
Implement SvcMap/UnmapPhysicalMemory + Fix W-Register Writing + Improve Accuracy of SvcGetInfo
2020-11-22 23:56:17 +05:30
◱ PixelyIon
657beea070
JVM Auto-Attach + Fix Thread Exiting + Fix Thread Signal Handler
2020-11-22 23:56:17 +05:30
◱ PixelyIon
6f2cd41470
Move .patch to start of executable (Pre-Patching)
2020-11-22 23:56:17 +05:30
◱ PixelyIon
369bd469f6
Dynamic Guest Memory Base Allocation
2020-11-22 23:56:17 +05:30
◱ PixelyIon
cffbfc8034
Skip Saving Callee-Saved Registers + Fix GetMemoryObject
2020-11-22 23:56:17 +05:30
Billy Laws
31efb5e930
Correct an NSO loader bug and use the correct address space extents
2020-11-22 23:56:17 +05:30
Billy Laws
17feb68eb5
Fix audren voice sample copying
2020-11-22 23:56:17 +05:30
◱ PixelyIon
745ea19f42
Use u64
s for FmtCast
+ Remove Functional Casts + Fix VMM Bugs
2020-11-22 23:56:17 +05:30
◱ PixelyIon
1db76dee1e
NCE3: In-Process Guest Execution
2020-11-22 23:56:17 +05:30
◱ PixelyIon
90127740f0
Rework NCE/KThread/KProcess + Remove Guest Process
2020-11-22 23:56:17 +05:30
◱ PixelyIon
878cb24389
Make fmt::ptr
implicit for raw pointers + Update Submodules
2020-11-22 23:56:17 +05:30
◱ PixelyIon
02f3e37c4f
Remove KProcess Memory Functions
2020-11-22 23:56:17 +05:30
◱ PixelyIon
60e82e6af0
Rework VMM + Adapt KMemory Objects to be in-process
...
Note: This commit isn't functional on it's own, it will require the rest of NCE3 to work
2020-11-22 23:56:17 +05:30
Willi Ye
7b13f2d387
Add visibility toggle for osc
2020-11-12 22:19:55 +05:30
Willi Ye
f479aeb4ac
Add comments
2020-11-12 22:19:55 +05:30
Willi Ye
7526a985fb
Use property delegate to handle preferences
...
* Add option to disable joystick recentering
2020-11-12 22:19:55 +05:30
Willi Ye
5c4aa95da6
Add on screen controls layout edit settings
2020-11-12 22:19:55 +05:30
Willi Ye
30cf1c4b6a
Keep member names in pro guard
2020-11-12 22:19:55 +05:30
Willi Ye
22140defae
Rewrite adapter to handle any layout
2020-11-12 22:19:55 +05:30
Willi Ye
e023dbbf0a
Add joystick press and general clean up
2020-11-12 22:19:55 +05:30
Willi Ye
3057e4b29a
Add on screen controls
...
* Fix missing default constructor for dialog fragments
2020-11-12 22:19:55 +05:30
Billy Laws
85d5dd3619
Extend NvServices and implement IDirectory ( #107 )
...
* Fix alignment handling in NvHostAsGpu::AllocSpace
* Implement Ioctl{2,3} ioctls
These were added in HOS 3.0.0 in order to ease handling ioctl buffers.
* Introduce support for GPU address space remapping
* Fix nvdrv and am service bugs
Syncpoints are supposed to be allocated from ID 1, they were allocated
at 0 before. The ioctl functions were also missing from the service map
* Fix friend:u service name
* Stub NVGPU_IOCTL_CHANNEL_SET_TIMESLICE
* Stub IManagerForApplication::CheckAvailability
* Add OsFileSystem Directory support and add a size field to directory entries
The size field will be needed by the incoming HOS IDirectory support.
* Implement support for IDirectory
This is used by applications to list the contents of a directory.
* Address feedback
2020-11-03 15:10:42 +05:30
◱ PixelyIon
7ad86ec46f
Improve span::as_string
and other minor fixes
2020-10-02 15:28:48 +00:00
◱ PixelyIon
97ac45d83b
Update Logger to use NDK Logger APIs + Improve Backing API + Fix FDSAN issues
2020-10-02 15:28:48 +00:00
◱ PixelyIon
4070686897
Refactor Comments + Other Minor Fixes
2020-10-02 15:28:48 +00:00
◱ PixelyIon
429af1990a
Equal -> Brace Initializer + Remove Constexpr Auto for Integers
2020-10-02 15:28:48 +00:00
◱ PixelyIon
2764bd7c96
Use Vector for Kernel Handles + Remove Redundant Includes
2020-10-02 15:28:48 +00:00
◱ PixelyIon
20559c5dca
Introduce Custom Span Class + IPC Buffer -> Span
2020-10-02 15:28:48 +00:00
◱ PixelyIon
4d6ae9aa26
Constexpr Maps for Service Functions
2020-10-02 15:28:48 +00:00
◱ PixelyIon
157c54f918
Implement a few HID Functions + Fix FAB handler
2020-10-02 15:28:48 +00:00
◱ PixelyIon
4970e58999
Address CR Comments ( #102 )
2020-09-20 20:07:33 +00:00
◱ PixelyIon
bb2c31264d
Implement IOCTL2 & IOCTL3
2020-09-20 20:07:33 +00:00
◱ PixelyIon
a5fece8020
NVDRV IOCTL Refactor
...
Buffer -> Span + All buffers as arguments + Return -> NvStatus + Print Service Names + Function Names
2020-09-20 20:07:33 +00:00
◱ PixelyIon
70d67ef563
Constexpr Maps for NvDevice IOCTLs
2020-09-20 20:07:33 +00:00
◱ PixelyIon
20253a9573
Improve NvDevice Registration + Access
2020-09-20 20:07:33 +00:00
◱ PixelyIon
4cc3a3b2e8
Move NVDRV + IHOSBinder Internals to Discrete Components + Fix Lint
2020-09-20 20:07:33 +00:00
◱ PixelyIon
5f0073dd87
Fix Surface Deswizzling OOB writes + Fix PL README
2020-09-20 20:07:33 +00:00
Willi Ye
4076d84efc
NCA decryption ( #99 )
...
* NCA decryption
* Remove unnecessary new lines
* Remove loader error dialog
* Always show ROMs
* Address CRs
* Add subtitle padding in grid mode
2020-09-14 19:23:40 +05:30
◱ PixelyIon
65019375ca
Implement Guest Touch-Screen Support
2020-09-08 12:55:33 +00:00
Billy Laws
89718804d0
Refactor service functions to return result codes
2020-09-06 19:12:18 +00:00
Billy Laws
74a150dff1
Rework service API to be cleaner with significantly less boilerplate
...
This patch reduces the burden of adding services significantly, rather
than having to create an enum entry and add strings in the constructor
it will all be determined at runtime through RTTI. A macro is also used
in the service creation case to reduce clutter.
2020-09-06 19:12:18 +00:00