aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2018-08-16 20:47:36 -0300
committerGitHub <noreply@github.com>2018-08-16 20:47:36 -0300
commit521751795a1c97c0d97f6f8904a3be69b13d3a9d (patch)
tree942a05899c40e2de6d92a38b93a494bd96ee64b8
parent182d716867ae477c2b15a5332430dc2641fa1cc3 (diff)
Code style fixes and nits on the HLE project (#355)
* Some style fixes and nits on ITimeZoneService * Remove some unneeded usings * Remove the Ryujinx.HLE.OsHle.Handles namespace * Remove hbmenu automatic load on process exit * Rename Ns to Device, rename Os to System, rename SystemState to State * Move Exceptions and Utilities out of OsHle * Rename OsHle to HOS * Rename OsHle folder to HOS * IManagerDisplayService and ISystemDisplayService style fixes * BsdError shouldn't be public * Add a empty new line before using static * Remove unused file * Some style fixes on NPDM * Exit gracefully when the application is closed * Code style fixes on IGeneralService * Add 0x prefix on values printed as hex * Small improvements on finalization code * Move ProcessId and ThreadId out of AThreadState * Rename VFs to FileSystem * FsAccessHeader shouldn't be public. Also fix file names casing * More case changes on NPDM * Remove unused files * Move using to the correct place on NPDM * Use properties on KernelAccessControlMmio * Address PR feedback
-rw-r--r--ChocolArm64/AThread.cs2
-rw-r--r--ChocolArm64/Memory/AMemory.cs16
-rw-r--r--ChocolArm64/State/AThreadState.cs8
-rw-r--r--ChocolArm64/Translation/AILEmitterCtx.cs21
-rw-r--r--Ryujinx.Audio/IAalOutput.cs4
-rw-r--r--Ryujinx.Audio/OpenAL/OpenALAudioOut.cs24
-rw-r--r--Ryujinx.Graphics/Gal/IGalShader.cs1
-rw-r--r--Ryujinx.Graphics/Gal/OpenGL/OGLFrameBuffer.cs1
-rw-r--r--Ryujinx.Graphics/Gal/OpenGL/OGLRasterizer.cs1
-rw-r--r--Ryujinx.Graphics/Gal/OpenGL/OGLShaderProgram.cs1
-rw-r--r--Ryujinx.Graphics/Gal/Shader/ShaderDecodeSpecial.cs4
-rw-r--r--Ryujinx.HLE/Exceptions/GuestBrokeExecutionException.cs (renamed from Ryujinx.HLE/OsHle/Exceptions/GuestBrokeExecutionException.cs)2
-rw-r--r--Ryujinx.HLE/Exceptions/InvalidNpdmException.cs (renamed from Ryujinx.HLE/Loaders/Npdm/NpdmException.cs)18
-rw-r--r--Ryujinx.HLE/Exceptions/UndefinedInstructionException.cs (renamed from Ryujinx.HLE/OsHle/Exceptions/UndefinedInstructionException.cs)2
-rw-r--r--Ryujinx.HLE/Gpu/Texture/TextureHelper.cs2
-rw-r--r--Ryujinx.HLE/Gpu/Texture/TextureReader.cs2
-rw-r--r--Ryujinx.HLE/Gpu/Texture/TextureWriter.cs2
-rw-r--r--Ryujinx.HLE/HOS/Diagnostics/Demangler.cs (renamed from Ryujinx.HLE/OsHle/Diagnostics/Demangler.cs)2
-rw-r--r--Ryujinx.HLE/HOS/ErrorCode.cs (renamed from Ryujinx.HLE/OsHle/ErrorCode.cs)2
-rw-r--r--Ryujinx.HLE/HOS/ErrorModule.cs (renamed from Ryujinx.HLE/OsHle/ErrorModule.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Font/SharedFontManager.cs (renamed from Ryujinx.HLE/OsHle/Font/SharedFontManager.cs)6
-rw-r--r--Ryujinx.HLE/HOS/Font/SharedFontType.cs (renamed from Ryujinx.HLE/OsHle/Font/SharedFontType.cs)2
-rw-r--r--Ryujinx.HLE/HOS/GlobalStateTable.cs (renamed from Ryujinx.HLE/OsHle/GlobalStateTable.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Homebrew.cs (renamed from Ryujinx.HLE/OsHle/Homebrew.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Horizon.cs (renamed from Ryujinx.HLE/OsHle/Horizon.cs)81
-rw-r--r--Ryujinx.HLE/HOS/IdDictionary.cs (renamed from Ryujinx.HLE/OsHle/IdDictionary.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Ipc/IpcBuffDesc.cs (renamed from Ryujinx.HLE/OsHle/Ipc/IpcBuffDesc.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Ipc/IpcHandleDesc.cs (renamed from Ryujinx.HLE/OsHle/Ipc/IpcHandleDesc.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Ipc/IpcHandler.cs (renamed from Ryujinx.HLE/OsHle/Ipc/IpcHandler.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Ipc/IpcMagic.cs (renamed from Ryujinx.HLE/OsHle/Ipc/IpcMagic.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Ipc/IpcMessage.cs (renamed from Ryujinx.HLE/OsHle/Ipc/IpcMessage.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Ipc/IpcMessageType.cs (renamed from Ryujinx.HLE/OsHle/Ipc/IpcMessageType.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Ipc/IpcPtrBuffDesc.cs (renamed from Ryujinx.HLE/OsHle/Ipc/IpcPtrBuffDesc.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Ipc/IpcRecvListBuffDesc.cs (renamed from Ryujinx.HLE/OsHle/Ipc/IpcRecvListBuffDesc.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Ipc/ServiceProcessRequest.cs (renamed from Ryujinx.HLE/OsHle/Ipc/ServiceProcessRequest.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Kernel/AddressArbiter.cs (renamed from Ryujinx.HLE/OsHle/Kernel/AddressArbiter.cs)27
-rw-r--r--Ryujinx.HLE/HOS/Kernel/AddressSpaceType.cs (renamed from Ryujinx.HLE/OsHle/Handles/AddressSpaceType.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Kernel/KEvent.cs (renamed from Ryujinx.HLE/OsHle/Handles/KEvent.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Kernel/KMemoryBlock.cs (renamed from Ryujinx.HLE/OsHle/Handles/KMemoryBlock.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Kernel/KMemoryInfo.cs (renamed from Ryujinx.HLE/OsHle/Handles/KMemoryInfo.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Kernel/KMemoryManager.cs (renamed from Ryujinx.HLE/OsHle/Handles/KMemoryManager.cs)7
-rw-r--r--Ryujinx.HLE/HOS/Kernel/KProcessHandleTable.cs (renamed from Ryujinx.HLE/OsHle/Handles/KProcessHandleTable.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Kernel/KProcessScheduler.cs (renamed from Ryujinx.HLE/OsHle/Handles/KProcessScheduler.cs)12
-rw-r--r--Ryujinx.HLE/HOS/Kernel/KSession.cs (renamed from Ryujinx.HLE/OsHle/Handles/KSession.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Kernel/KSharedMemory.cs (renamed from Ryujinx.HLE/OsHle/Handles/KSharedMemory.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Kernel/KSynchronizationObject.cs (renamed from Ryujinx.HLE/OsHle/Handles/KSynchronizationObject.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Kernel/KThread.cs (renamed from Ryujinx.HLE/OsHle/Handles/KThread.cs)8
-rw-r--r--Ryujinx.HLE/HOS/Kernel/KTlsPageManager.cs (renamed from Ryujinx.HLE/OsHle/Handles/KTlsPageManager.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Kernel/KTransferMemory.cs (renamed from Ryujinx.HLE/OsHle/Handles/KTransferMemory.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Kernel/KernelErr.cs (renamed from Ryujinx.HLE/OsHle/Kernel/KernelErr.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Kernel/MemoryAttribute.cs (renamed from Ryujinx.HLE/OsHle/Handles/MemoryAttribute.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Kernel/MemoryPermission.cs (renamed from Ryujinx.HLE/OsHle/Handles/MemoryPermission.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Kernel/MemoryState.cs (renamed from Ryujinx.HLE/OsHle/Handles/MemoryState.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Kernel/NsTimeConverter.cs (renamed from Ryujinx.HLE/OsHle/Kernel/NsTimeConverter.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Kernel/SchedulerThread.cs (renamed from Ryujinx.HLE/OsHle/Handles/SchedulerThread.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Kernel/SvcHandler.cs (renamed from Ryujinx.HLE/OsHle/Kernel/SvcHandler.cs)15
-rw-r--r--Ryujinx.HLE/HOS/Kernel/SvcMemory.cs (renamed from Ryujinx.HLE/OsHle/Kernel/SvcMemory.cs)97
-rw-r--r--Ryujinx.HLE/HOS/Kernel/SvcSystem.cs (renamed from Ryujinx.HLE/OsHle/Kernel/SvcSystem.cs)41
-rw-r--r--Ryujinx.HLE/HOS/Kernel/SvcThread.cs (renamed from Ryujinx.HLE/OsHle/Kernel/SvcThread.cs)51
-rw-r--r--Ryujinx.HLE/HOS/Kernel/SvcThreadSync.cs (renamed from Ryujinx.HLE/OsHle/Kernel/SvcThreadSync.cs)91
-rw-r--r--Ryujinx.HLE/HOS/Kernel/ThreadQueue.cs (renamed from Ryujinx.HLE/OsHle/Handles/ThreadQueue.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Process.cs (renamed from Ryujinx.HLE/OsHle/Process.cs)137
-rw-r--r--Ryujinx.HLE/HOS/ServiceCtx.cs (renamed from Ryujinx.HLE/OsHle/ServiceCtx.cs)12
-rw-r--r--Ryujinx.HLE/HOS/Services/Acc/AccErr.cs (renamed from Ryujinx.HLE/OsHle/Services/Acc/AccErr.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Acc/IAccountServiceForApplication.cs (renamed from Ryujinx.HLE/OsHle/Services/Acc/IAccountServiceForApplication.cs)25
-rw-r--r--Ryujinx.HLE/HOS/Services/Acc/IManagerForApplication.cs (renamed from Ryujinx.HLE/OsHle/Services/Acc/IManagerForApplication.cs)8
-rw-r--r--Ryujinx.HLE/HOS/Services/Acc/IProfile.cs (renamed from Ryujinx.HLE/OsHle/Services/Acc/IProfile.cs)10
-rw-r--r--Ryujinx.HLE/HOS/Services/Am/AmErr.cs (renamed from Ryujinx.HLE/OsHle/Services/Am/AmErr.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Am/FocusState.cs (renamed from Ryujinx.HLE/OsHle/Services/Am/FocusState.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Am/IAllSystemAppletProxiesService.cs (renamed from Ryujinx.HLE/OsHle/Services/Am/IAllSystemAppletProxiesService.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Am/IApplicationCreator.cs (renamed from Ryujinx.HLE/OsHle/Services/Am/IApplicationCreator.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Am/IApplicationFunctions.cs (renamed from Ryujinx.HLE/OsHle/Services/Am/IApplicationFunctions.cs)16
-rw-r--r--Ryujinx.HLE/HOS/Services/Am/IApplicationProxy.cs (renamed from Ryujinx.HLE/OsHle/Services/Am/IApplicationProxy.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Am/IApplicationProxyService.cs (renamed from Ryujinx.HLE/OsHle/Services/Am/IApplicationProxyService.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Am/IAudioController.cs (renamed from Ryujinx.HLE/OsHle/Services/Am/IAudioController.cs)14
-rw-r--r--Ryujinx.HLE/HOS/Services/Am/ICommonStateGetter.cs (renamed from Ryujinx.HLE/OsHle/Services/Am/ICommonStateGetter.cs)16
-rw-r--r--Ryujinx.HLE/HOS/Services/Am/IDebugFunctions.cs (renamed from Ryujinx.HLE/OsHle/Services/Am/IDebugFunctions.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Am/IDisplayController.cs (renamed from Ryujinx.HLE/OsHle/Services/Am/IDisplayController.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Am/IGlobalStateController.cs (renamed from Ryujinx.HLE/OsHle/Services/Am/IGlobalStateController.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Am/IHomeMenuFunctions.cs (renamed from Ryujinx.HLE/OsHle/Services/Am/IHomeMenuFunctions.cs)10
-rw-r--r--Ryujinx.HLE/HOS/Services/Am/ILibraryAppletAccessor.cs (renamed from Ryujinx.HLE/OsHle/Services/Am/ILibraryAppletAccessor.cs)16
-rw-r--r--Ryujinx.HLE/HOS/Services/Am/ILibraryAppletCreator.cs (renamed from Ryujinx.HLE/OsHle/Services/Am/ILibraryAppletCreator.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Am/ISelfController.cs (renamed from Ryujinx.HLE/OsHle/Services/Am/ISelfController.cs)38
-rw-r--r--Ryujinx.HLE/HOS/Services/Am/IStorage.cs (renamed from Ryujinx.HLE/OsHle/Services/Am/IStorage.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Am/IStorageAccessor.cs (renamed from Ryujinx.HLE/OsHle/Services/Am/IStorageAccessor.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Am/ISystemAppletProxy.cs (renamed from Ryujinx.HLE/OsHle/Services/Am/ISystemAppletProxy.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Am/IWindowController.cs (renamed from Ryujinx.HLE/OsHle/Services/Am/IWindowController.cs)8
-rw-r--r--Ryujinx.HLE/HOS/Services/Am/MessageInfo.cs (renamed from Ryujinx.HLE/OsHle/Services/Am/MessageInfo.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Am/OperationMode.cs (renamed from Ryujinx.HLE/OsHle/Services/Am/OperationMode.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Am/StorageHelper.cs (renamed from Ryujinx.HLE/OsHle/Services/Am/StorageHelper.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Apm/IManager.cs (renamed from Ryujinx.HLE/OsHle/Services/Apm/IManager.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Apm/ISession.cs (renamed from Ryujinx.HLE/OsHle/Services/Apm/ISession.cs)6
-rw-r--r--Ryujinx.HLE/HOS/Services/Apm/PerformanceConfiguration.cs (renamed from Ryujinx.HLE/OsHle/Services/Apm/PerformanceConfiguration.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Apm/PerformanceMode.cs (renamed from Ryujinx.HLE/OsHle/Services/Apm/PerformanceMode.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Aud/AudErr.cs (renamed from Ryujinx.HLE/OsHle/Services/Aud/AudErr.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Aud/AudioOut/AudioOutData.cs (renamed from Ryujinx.HLE/OsHle/Services/Aud/AudioOut/AudioOutData.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Aud/AudioOut/IAudioOut.cs (renamed from Ryujinx.HLE/OsHle/Services/Aud/AudioOut/IAudioOut.cs)6
-rw-r--r--Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/AudioConsts.cs (renamed from Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/AudioConsts.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/BehaviorIn.cs (renamed from Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/BehaviorIn.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/BiquadFilter.cs (renamed from Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/BiquadFilter.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/IAudioRenderer.cs (renamed from Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/IAudioRenderer.cs)14
-rw-r--r--Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/MemoryPoolContext.cs (renamed from Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/MemoryPoolContext.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/MemoryPoolIn.cs (renamed from Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/MemoryPoolIn.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/MemoryPoolOut.cs (renamed from Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/MemoryPoolOut.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/MemoryPoolState.cs (renamed from Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/MemoryPoolState.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/PlayState.cs (renamed from Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/PlayState.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/Resampler.cs (renamed from Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/Resampler.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/UpdateDataHeader.cs (renamed from Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/UpdateDataHeader.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/VoiceChannelResourceIn.cs (renamed from Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/VoiceChannelResourceIn.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/VoiceContext.cs (renamed from Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/VoiceContext.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/VoiceIn.cs (renamed from Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/VoiceIn.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/VoiceOut.cs (renamed from Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/VoiceOut.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/WaveBuffer.cs (renamed from Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/WaveBuffer.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Aud/AudioRendererParameter.cs (renamed from Ryujinx.HLE/OsHle/Services/Aud/AudioRendererParameter.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Aud/IAudioDevice.cs (renamed from Ryujinx.HLE/OsHle/Services/Aud/IAudioDevice.cs)34
-rw-r--r--Ryujinx.HLE/HOS/Services/Aud/IAudioOutManager.cs (renamed from Ryujinx.HLE/OsHle/Services/Aud/IAudioOutManager.cs)20
-rw-r--r--Ryujinx.HLE/HOS/Services/Aud/IAudioRendererManager.cs (renamed from Ryujinx.HLE/OsHle/Services/Aud/IAudioRendererManager.cs)16
-rw-r--r--Ryujinx.HLE/HOS/Services/Aud/SampleFormat.cs (renamed from Ryujinx.HLE/OsHle/Services/Aud/SampleFormat.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Bcat/IBcatService.cs (renamed from Ryujinx.HLE/OsHle/Services/Bcat/IBcatService.cs)6
-rw-r--r--Ryujinx.HLE/HOS/Services/Bcat/IDeliveryCacheStorageService.cs (renamed from Ryujinx.HLE/OsHle/Services/Bcat/IDeliveryCacheStorageService.cs)6
-rw-r--r--Ryujinx.HLE/HOS/Services/Bcat/IServiceCreator.cs (renamed from Ryujinx.HLE/OsHle/Services/Bcat/IServiceCreator.cs)6
-rw-r--r--Ryujinx.HLE/HOS/Services/Bsd/BsdError.cs (renamed from Ryujinx.HLE/OsHle/Services/Bsd/BsdError.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Bsd/BsdSocket.cs (renamed from Ryujinx.HLE/OsHle/Services/Bsd/BsdSocket.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Bsd/IClient.cs (renamed from Ryujinx.HLE/OsHle/Services/Bsd/IClient.cs)6
-rw-r--r--Ryujinx.HLE/HOS/Services/Caps/IAlbumAccessorService.cs (renamed from Ryujinx.HLE/OsHle/Services/Caps/IAlbumAccessorService.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Caps/IScreenshotService.cs (renamed from Ryujinx.HLE/OsHle/Services/Caps/IScreenshotService.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Friend/IFriendService.cs (renamed from Ryujinx.HLE/OsHle/Services/Friend/IFriendService.cs)10
-rw-r--r--Ryujinx.HLE/HOS/Services/Friend/IServiceCreator.cs (renamed from Ryujinx.HLE/OsHle/Services/Friend/IServiceCreator.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/FspSrv/FsErr.cs (renamed from Ryujinx.HLE/OsHle/Services/FspSrv/FsErr.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/FspSrv/IDirectory.cs (renamed from Ryujinx.HLE/OsHle/Services/FspSrv/IDirectory.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/FspSrv/IFile.cs (renamed from Ryujinx.HLE/OsHle/Services/FspSrv/IFile.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/FspSrv/IFileSystem.cs (renamed from Ryujinx.HLE/OsHle/Services/FspSrv/IFileSystem.cs)34
-rw-r--r--Ryujinx.HLE/HOS/Services/FspSrv/IFileSystemProxy.cs (renamed from Ryujinx.HLE/OsHle/Services/FspSrv/IFileSystemProxy.cs)14
-rw-r--r--Ryujinx.HLE/HOS/Services/FspSrv/IStorage.cs (renamed from Ryujinx.HLE/OsHle/Services/FspSrv/IStorage.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Hid/IActiveVibrationDeviceList.cs (renamed from Ryujinx.HLE/OsHle/Services/Hid/IActiveVibrationDeviceList.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Hid/IAppletResource.cs (renamed from Ryujinx.HLE/OsHle/Services/Hid/IAppletResource.cs)6
-rw-r--r--Ryujinx.HLE/HOS/Services/Hid/IHidServer.cs (renamed from Ryujinx.HLE/OsHle/Services/Hid/IHidServer.cs)50
-rw-r--r--Ryujinx.HLE/HOS/Services/IIpcService.cs (renamed from Ryujinx.HLE/OsHle/Services/IIpcService.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/IpcService.cs (renamed from Ryujinx.HLE/OsHle/Services/IpcService.cs)8
-rw-r--r--Ryujinx.HLE/HOS/Services/Lm/ILogService.cs (renamed from Ryujinx.HLE/OsHle/Services/Lm/ILogService.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Lm/ILogger.cs (renamed from Ryujinx.HLE/OsHle/Services/Lm/ILogger.cs)14
-rw-r--r--Ryujinx.HLE/HOS/Services/Lm/LmLogField.cs (renamed from Ryujinx.HLE/OsHle/Services/Lm/LmLogField.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Lm/LmLogLevel.cs (renamed from Ryujinx.HLE/OsHle/Services/Lm/LmLogLevel.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Mm/IRequest.cs (renamed from Ryujinx.HLE/OsHle/Services/Mm/IRequest.cs)10
-rw-r--r--Ryujinx.HLE/HOS/Services/Nfp/DeviceState.cs (renamed from Ryujinx.HLE/OsHle/Services/Nfp/DeviceState.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nfp/IUser.cs (renamed from Ryujinx.HLE/OsHle/Services/Nfp/IUser.cs)22
-rw-r--r--Ryujinx.HLE/HOS/Services/Nfp/IUserManager.cs (renamed from Ryujinx.HLE/OsHle/Services/Nfp/IUserManager.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Nfp/State.cs (renamed from Ryujinx.HLE/OsHle/Services/Nfp/State.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nifm/IGeneralService.cs (renamed from Ryujinx.HLE/OsHle/Services/Nifm/IGeneralService.cs)22
-rw-r--r--Ryujinx.HLE/HOS/Services/Nifm/IRequest.cs (renamed from Ryujinx.HLE/OsHle/Services/Nifm/IRequest.cs)16
-rw-r--r--Ryujinx.HLE/HOS/Services/Nifm/IStaticService.cs (renamed from Ryujinx.HLE/OsHle/Services/Nifm/IStaticService.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Nifm/NifmErr.cs7
-rw-r--r--Ryujinx.HLE/HOS/Services/Ns/IAddOnContentManager.cs (renamed from Ryujinx.HLE/OsHle/Services/Ns/IAddOnContentManager.cs)8
-rw-r--r--Ryujinx.HLE/HOS/Services/Ns/IServiceGetterInterface.cs (renamed from Ryujinx.HLE/OsHle/Services/Ns/IServiceGetterInterface.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Ns/ISystemUpdateInterface.cs (renamed from Ryujinx.HLE/OsHle/Services/Ns/ISystemUpdateInterface.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Ns/IVulnerabilityManagerInterface.cs (renamed from Ryujinx.HLE/OsHle/Services/Ns/IVulnerabilityManagerInterface.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/INvDrvServices.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/INvDrvServices.cs)22
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvFd.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvFd.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvGpuAS/NvGpuASAllocSpace.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvGpuAS/NvGpuASAllocSpace.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvGpuAS/NvGpuASCtx.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvGpuAS/NvGpuASCtx.cs)3
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvGpuAS/NvGpuASIoctl.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvGpuAS/NvGpuASIoctl.cs)30
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvGpuAS/NvGpuASMapBufferEx.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvGpuAS/NvGpuASMapBufferEx.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvGpuAS/NvGpuASRemap.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvGpuAS/NvGpuASRemap.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvGpuAS/NvGpuASUnmapBuffer.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvGpuAS/NvGpuASUnmapBuffer.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvGpuGpu/NvGpuGpuGetActiveSlotMask.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuGetActiveSlotMask.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvGpuGpu/NvGpuGpuGetCharacteristics.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuGetCharacteristics.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvGpuGpu/NvGpuGpuGetTpcMasks.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuGetTpcMasks.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvGpuGpu/NvGpuGpuIoctl.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuIoctl.cs)10
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvGpuGpu/NvGpuGpuZcullGetCtxSize.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuZcullGetCtxSize.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvGpuGpu/NvGpuGpuZcullGetInfo.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuZcullGetInfo.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvHelper.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvHelper.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvHostChannel/NvChannel.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvHostChannel/NvChannel.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvHostChannel/NvChannelName.cs7
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvHostChannel/NvHostChannelIoctl.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvHostChannel/NvHostChannelIoctl.cs)20
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvHostChannel/NvHostChannelSubmitGpfifo.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvHostChannel/NvHostChannelSubmitGpfifo.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvHostCtrl/NvHostCtrlIoctl.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvHostCtrl/NvHostCtrlIoctl.cs)12
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvHostCtrl/NvHostCtrlSyncPtRead.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvHostCtrl/NvHostCtrlSyncPtRead.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvHostCtrl/NvHostCtrlSyncPtWait.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvHostCtrl/NvHostCtrlSyncPtWait.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvHostCtrl/NvHostCtrlSyncPtWaitEx.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvHostCtrl/NvHostCtrlSyncPtWaitEx.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvHostCtrl/NvHostCtrlUserCtx.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvHostCtrl/NvHostCtrlUserCtx.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvHostCtrl/NvHostEvent.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvHostCtrl/NvHostEvent.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvHostCtrl/NvHostEventState.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvHostCtrl/NvHostEventState.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvHostCtrl/NvHostSyncPt.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvHostCtrl/NvHostSyncPt.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapAlloc.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapAlloc.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapCreate.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapCreate.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapFree.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapFree.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapFromId.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapFromId.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapGetId.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapGetId.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapHandle.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapHandle.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapHandleParam.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapHandleParam.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapIoctl.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapIoctl.cs)26
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapParam.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapParam.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvResult.cs (renamed from Ryujinx.HLE/OsHle/Services/Nv/NvResult.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Pctl/IParentalControlService.cs (renamed from Ryujinx.HLE/OsHle/Services/Pctl/IParentalControlService.cs)6
-rw-r--r--Ryujinx.HLE/HOS/Services/Pctl/IParentalControlServiceFactory.cs (renamed from Ryujinx.HLE/OsHle/Services/Pctl/IParentalControlServiceFactory.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Pl/ISharedFontManager.cs (renamed from Ryujinx.HLE/OsHle/Services/Pl/ISharedFontManager.cs)18
-rw-r--r--Ryujinx.HLE/HOS/Services/Prepo/IPrepoService.cs (renamed from Ryujinx.HLE/OsHle/Services/Prepo/IPrepoService.cs)6
-rw-r--r--Ryujinx.HLE/HOS/Services/ServiceFactory.cs (renamed from Ryujinx.HLE/OsHle/Services/ServiceFactory.cs)52
-rw-r--r--Ryujinx.HLE/HOS/Services/Set/ISettingsServer.cs (renamed from Ryujinx.HLE/OsHle/Services/Set/ISettingsServer.cs)8
-rw-r--r--Ryujinx.HLE/HOS/Services/Set/ISystemSettingsServer.cs (renamed from Ryujinx.HLE/OsHle/Services/Set/ISystemSettingsServer.cs)16
-rw-r--r--Ryujinx.HLE/HOS/Services/Set/NxSettings.cs (renamed from Ryujinx.HLE/OsHle/Services/Set/NxSettings.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Sfdnsres/IResolver.cs (renamed from Ryujinx.HLE/OsHle/Services/Sfdnsres/IResolver.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Sm/IUserInterface.cs (renamed from Ryujinx.HLE/OsHle/Services/Sm/IUserInterface.cs)6
-rw-r--r--Ryujinx.HLE/HOS/Services/Spl/IRandomInterface.cs (renamed from Ryujinx.HLE/OsHle/Services/Spl/IRandomInterface.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Ssl/ISslService.cs (renamed from Ryujinx.HLE/OsHle/Services/Ssl/ISslService.cs)6
-rw-r--r--Ryujinx.HLE/HOS/Services/Time/IStaticService.cs (renamed from Ryujinx.HLE/OsHle/Services/Time/IStaticService.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Time/ISteadyClock.cs (renamed from Ryujinx.HLE/OsHle/Services/Time/ISteadyClock.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Time/ISystemClock.cs (renamed from Ryujinx.HLE/OsHle/Services/Time/ISystemClock.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Time/ITimeZoneService.cs (renamed from Ryujinx.HLE/OsHle/Services/Time/ITimeZoneService.cs)63
-rw-r--r--Ryujinx.HLE/HOS/Services/Time/SystemClockType.cs (renamed from Ryujinx.HLE/OsHle/Services/Time/SystemClockType.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Vi/Display.cs (renamed from Ryujinx.HLE/OsHle/Services/Vi/Display.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Vi/GbpBuffer.cs (renamed from Ryujinx.HLE/OsHle/Services/Vi/GbpBuffer.cs)2
-rw-r--r--Ryujinx.HLE/HOS/Services/Vi/IApplicationDisplayService.cs (renamed from Ryujinx.HLE/OsHle/Services/Vi/IApplicationDisplayService.cs)12
-rw-r--r--Ryujinx.HLE/HOS/Services/Vi/IApplicationRootService.cs (renamed from Ryujinx.HLE/OsHle/Services/Vi/IApplicationRootService.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Vi/IHOSBinderDriver.cs (renamed from Ryujinx.HLE/OsHle/Services/Vi/IHOSBinderDriver.cs)8
-rw-r--r--Ryujinx.HLE/HOS/Services/Vi/IManagerDisplayService.cs (renamed from Ryujinx.HLE/OsHle/Services/Vi/IManagerDisplayService.cs)17
-rw-r--r--Ryujinx.HLE/HOS/Services/Vi/IManagerRootService.cs (renamed from Ryujinx.HLE/OsHle/Services/Vi/IManagerRootService.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Vi/ISystemDisplayService.cs (renamed from Ryujinx.HLE/OsHle/Services/Vi/ISystemDisplayService.cs)12
-rw-r--r--Ryujinx.HLE/HOS/Services/Vi/ISystemRootService.cs (renamed from Ryujinx.HLE/OsHle/Services/Vi/ISystemRootService.cs)4
-rw-r--r--Ryujinx.HLE/HOS/Services/Vi/NvFlinger.cs (renamed from Ryujinx.HLE/OsHle/Services/Vi/NvFlinger.cs)16
-rw-r--r--Ryujinx.HLE/HOS/Services/Vi/Parcel.cs (renamed from Ryujinx.HLE/OsHle/Services/Vi/Parcel.cs)2
-rw-r--r--Ryujinx.HLE/HOS/SystemState/AppletStateMgr.cs (renamed from Ryujinx.HLE/OsHle/SystemState/AppletStateMgr.cs)6
-rw-r--r--Ryujinx.HLE/HOS/SystemState/ColorSet.cs (renamed from Ryujinx.HLE/OsHle/SystemState/ColorSet.cs)2
-rw-r--r--Ryujinx.HLE/HOS/SystemState/OpenCloseState.cs (renamed from Ryujinx.HLE/OsHle/SystemState/OpenCloseState.cs)2
-rw-r--r--Ryujinx.HLE/HOS/SystemState/SystemLanguage.cs (renamed from Ryujinx.HLE/OsHle/SystemState/SystemLanguage.cs)2
-rw-r--r--Ryujinx.HLE/HOS/SystemState/SystemStateMgr.cs (renamed from Ryujinx.HLE/OsHle/SystemState/SystemStateMgr.cs)2
-rw-r--r--Ryujinx.HLE/HOS/SystemState/UserId.cs (renamed from Ryujinx.HLE/OsHle/SystemState/UserId.cs)4
-rw-r--r--Ryujinx.HLE/HOS/SystemState/UserProfile.cs (renamed from Ryujinx.HLE/OsHle/SystemState/UserProfile.cs)2
-rw-r--r--Ryujinx.HLE/Hid/Hid.cs2
-rw-r--r--Ryujinx.HLE/Loaders/Executable.cs6
-rw-r--r--Ryujinx.HLE/Loaders/Npdm/ACI0.cs58
-rw-r--r--Ryujinx.HLE/Loaders/Npdm/ACID.cs72
-rw-r--r--Ryujinx.HLE/Loaders/Npdm/ApplicationType.cs9
-rw-r--r--Ryujinx.HLE/Loaders/Npdm/FSAccessControl.cs28
-rw-r--r--Ryujinx.HLE/Loaders/Npdm/FSAccessHeader.cs37
-rw-r--r--Ryujinx.HLE/Loaders/Npdm/FsAccessControl.cs28
-rw-r--r--Ryujinx.HLE/Loaders/Npdm/FsAccessHeader.cs37
-rw-r--r--Ryujinx.HLE/Loaders/Npdm/FsPermissionBool.cs33
-rw-r--r--Ryujinx.HLE/Loaders/Npdm/FsPermissionRw.cs45
-rw-r--r--Ryujinx.HLE/Loaders/Npdm/KernelAccessControl.cs171
-rw-r--r--Ryujinx.HLE/Loaders/Npdm/KernelAccessControlIrq.cs14
-rw-r--r--Ryujinx.HLE/Loaders/Npdm/KernelAccessControlMmio.cs22
-rw-r--r--Ryujinx.HLE/Loaders/Npdm/KernelAccessItem.cs33
-rw-r--r--Ryujinx.HLE/Loaders/Npdm/Npdm.cs85
-rw-r--r--Ryujinx.HLE/Loaders/Npdm/NpdmInfo.cs215
-rw-r--r--Ryujinx.HLE/Loaders/Npdm/ServiceAccessControl.cs26
-rw-r--r--Ryujinx.HLE/Loaders/Npdm/SvcName.cs134
-rw-r--r--Ryujinx.HLE/OsHle/MemoryType.cs25
-rw-r--r--Ryujinx.HLE/OsHle/Services/Nv/NvHostChannel/NvChannelName.cs7
-rw-r--r--Ryujinx.HLE/Switch.cs28
-rw-r--r--Ryujinx.HLE/Utilities/EndianSwap.cs (renamed from Ryujinx.HLE/OsHle/Utilities/EndianSwap.cs)4
-rw-r--r--Ryujinx.HLE/Utilities/IntUtils.cs (renamed from Ryujinx.HLE/OsHle/Utilities/IntUtils.cs)2
-rw-r--r--Ryujinx.HLE/Utilities/StringUtils.cs (renamed from Ryujinx.HLE/OsHle/Utilities/StringUtils.cs)2
-rw-r--r--Ryujinx.HLE/Utilities/StructReader.cs (renamed from Ryujinx.HLE/OsHle/Utilities/StructReader.cs)2
-rw-r--r--Ryujinx.HLE/Utilities/StructWriter.cs (renamed from Ryujinx.HLE/OsHle/Utilities/StructWriter.cs)2
-rw-r--r--Ryujinx/Config.cs2
-rw-r--r--Ryujinx/Ui/GLScreen.cs31
-rw-r--r--Ryujinx/Ui/Program.cs24
258 files changed, 1577 insertions, 1549 deletions
diff --git a/ChocolArm64/AThread.cs b/ChocolArm64/AThread.cs
index 4fc79d5e..7b8360f8 100644
--- a/ChocolArm64/AThread.cs
+++ b/ChocolArm64/AThread.cs
@@ -18,8 +18,6 @@ namespace ChocolArm64
public event EventHandler WorkFinished;
- public int ThreadId => ThreadState.ThreadId;
-
private int IsExecuting;
public AThread(ATranslator Translator, AMemory Memory, long EntryPoint)
diff --git a/ChocolArm64/Memory/AMemory.cs b/ChocolArm64/Memory/AMemory.cs
index 1b4ff6fb..566e6b54 100644
--- a/ChocolArm64/Memory/AMemory.cs
+++ b/ChocolArm64/Memory/AMemory.cs
@@ -41,7 +41,7 @@ namespace ChocolArm64.Memory
}
}
- private Dictionary<int, ArmMonitor> Monitors;
+ private Dictionary<AThreadState, ArmMonitor> Monitors;
private ConcurrentDictionary<long, IntPtr> ObservedPages;
@@ -53,7 +53,7 @@ namespace ChocolArm64.Memory
public AMemory(IntPtr Ram)
{
- Monitors = new Dictionary<int, ArmMonitor>();
+ Monitors = new Dictionary<AThreadState, ArmMonitor>();
ObservedPages = new ConcurrentDictionary<long, IntPtr>();
@@ -75,7 +75,7 @@ namespace ChocolArm64.Memory
{
ClearExclusive(State);
- Monitors.Remove(State.ThreadId);
+ Monitors.Remove(State);
}
}
@@ -93,11 +93,11 @@ namespace ChocolArm64.Memory
}
}
- if (!Monitors.TryGetValue(ThreadState.ThreadId, out ArmMonitor ThreadMon))
+ if (!Monitors.TryGetValue(ThreadState, out ArmMonitor ThreadMon))
{
ThreadMon = new ArmMonitor();
- Monitors.Add(ThreadState.ThreadId, ThreadMon);
+ Monitors.Add(ThreadState, ThreadMon);
}
ThreadMon.Position = Position;
@@ -113,7 +113,7 @@ namespace ChocolArm64.Memory
Monitor.Enter(Monitors);
- if (!Monitors.TryGetValue(ThreadState.ThreadId, out ArmMonitor ThreadMon))
+ if (!Monitors.TryGetValue(ThreadState, out ArmMonitor ThreadMon))
{
return false;
}
@@ -130,7 +130,7 @@ namespace ChocolArm64.Memory
public void ClearExclusiveForStore(AThreadState ThreadState)
{
- if (Monitors.TryGetValue(ThreadState.ThreadId, out ArmMonitor ThreadMon))
+ if (Monitors.TryGetValue(ThreadState, out ArmMonitor ThreadMon))
{
ThreadMon.ExState = false;
}
@@ -142,7 +142,7 @@ namespace ChocolArm64.Memory
{
lock (Monitors)
{
- if (Monitors.TryGetValue(ThreadState.ThreadId, out ArmMonitor ThreadMon))
+ if (Monitors.TryGetValue(ThreadState, out ArmMonitor ThreadMon))
{
ThreadMon.ExState = false;
}
diff --git a/ChocolArm64/State/AThreadState.cs b/ChocolArm64/State/AThreadState.cs
index a84e3242..7b69d817 100644
--- a/ChocolArm64/State/AThreadState.cs
+++ b/ChocolArm64/State/AThreadState.cs
@@ -40,9 +40,6 @@ namespace ChocolArm64.State
public bool Zero;
public bool Negative;
- public int ProcessId;
- public int ThreadId;
-
public bool Running { get; set; }
public long TpidrEl0 { get; set; }
@@ -100,6 +97,11 @@ namespace ChocolArm64.State
TickCounter.Start();
}
+ internal bool Synchronize()
+ {
+ return Running;
+ }
+
internal void OnBreak(long Position, int Imm)
{
Break?.Invoke(this, new AInstExceptionEventArgs(Position, Imm));
diff --git a/ChocolArm64/Translation/AILEmitterCtx.cs b/ChocolArm64/Translation/AILEmitterCtx.cs
index 3fa46e96..40e33ba8 100644
--- a/ChocolArm64/Translation/AILEmitterCtx.cs
+++ b/ChocolArm64/Translation/AILEmitterCtx.cs
@@ -110,6 +110,8 @@ namespace ChocolArm64.Translation
if (OpcIndex == 0)
{
MarkLabel(GetLabel(CurrBlock.Position));
+
+ EmitSynchronization();
}
CurrOp.Emitter(this);
@@ -117,6 +119,25 @@ namespace ChocolArm64.Translation
ILBlock.Add(new AILBarrier());
}
+ private void EmitSynchronization()
+ {
+ EmitLdarg(ATranslatedSub.StateArgIdx);
+
+ EmitPrivateCall(typeof(AThreadState), nameof(AThreadState.Synchronize));
+
+ EmitLdc_I4(0);
+
+ AILLabel LblContinue = new AILLabel();
+
+ Emit(OpCodes.Bne_Un_S, LblContinue);
+
+ EmitLdc_I8(0);
+
+ Emit(OpCodes.Ret);
+
+ MarkLabel(LblContinue);
+ }
+
public bool TryOptEmitSubroutineCall()
{
if (CurrBlock.Next == null)
diff --git a/Ryujinx.Audio/IAalOutput.cs b/Ryujinx.Audio/IAalOutput.cs
index e903c5c5..1dfac377 100644
--- a/Ryujinx.Audio/IAalOutput.cs
+++ b/Ryujinx.Audio/IAalOutput.cs
@@ -1,6 +1,8 @@
+using System;
+
namespace Ryujinx.Audio
{
- public interface IAalOutput
+ public interface IAalOutput : IDisposable
{
int OpenTrack(int SampleRate, int Channels, ReleaseCallback Callback);
diff --git a/Ryujinx.Audio/OpenAL/OpenALAudioOut.cs b/Ryujinx.Audio/OpenAL/OpenALAudioOut.cs
index 85e2d803..80a070c9 100644
--- a/Ryujinx.Audio/OpenAL/OpenALAudioOut.cs
+++ b/Ryujinx.Audio/OpenAL/OpenALAudioOut.cs
@@ -8,7 +8,7 @@ using System.Threading;
namespace Ryujinx.Audio.OpenAL
{
- public class OpenALAudioOut : IAalOutput
+ public class OpenALAudioOut : IAalOutput, IDisposable
{
private const int MaxTracks = 256;
@@ -222,10 +222,17 @@ namespace Ryujinx.Audio.OpenAL
Td.CallReleaseCallbackIfNeeded();
}
- //If it's not slept it will waste cycles
+ //If it's not slept it will waste cycles.
Thread.Sleep(10);
}
while (KeepPolling);
+
+ foreach (Track Td in Tracks.Values)
+ {
+ Td.Dispose();
+ }
+
+ Tracks.Clear();
}
public int OpenTrack(int SampleRate, int Channels, ReleaseCallback Callback)
@@ -342,5 +349,18 @@ namespace Ryujinx.Audio.OpenAL
return PlaybackState.Stopped;
}
+
+ public void Dispose()
+ {
+ Dispose(true);
+ }
+
+ protected virtual void Dispose(bool Disposing)
+ {
+ if (Disposing)
+ {
+ KeepPolling = false;
+ }
+ }
}
} \ No newline at end of file
diff --git a/Ryujinx.Graphics/Gal/IGalShader.cs b/Ryujinx.Graphics/Gal/IGalShader.cs
index 5174c039..e906e6cd 100644
--- a/Ryujinx.Graphics/Gal/IGalShader.cs
+++ b/Ryujinx.Graphics/Gal/IGalShader.cs
@@ -1,4 +1,3 @@
-using System;
using System.Collections.Generic;
namespace Ryujinx.Graphics.Gal
diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLFrameBuffer.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLFrameBuffer.cs
index 30a3de64..62f82495 100644
--- a/Ryujinx.Graphics/Gal/OpenGL/OGLFrameBuffer.cs
+++ b/Ryujinx.Graphics/Gal/OpenGL/OGLFrameBuffer.cs
@@ -1,4 +1,3 @@
-using OpenTK;
using OpenTK.Graphics.OpenGL;
using System;
using System.Collections.Generic;
diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLRasterizer.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLRasterizer.cs
index 08021478..b6e97454 100644
--- a/Ryujinx.Graphics/Gal/OpenGL/OGLRasterizer.cs
+++ b/Ryujinx.Graphics/Gal/OpenGL/OGLRasterizer.cs
@@ -1,6 +1,5 @@
using OpenTK.Graphics.OpenGL;
using System;
-using System.Collections.Generic;
namespace Ryujinx.Graphics.Gal.OpenGL
{
diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLShaderProgram.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLShaderProgram.cs
index c4e6a881..c87b0d40 100644
--- a/Ryujinx.Graphics/Gal/OpenGL/OGLShaderProgram.cs
+++ b/Ryujinx.Graphics/Gal/OpenGL/OGLShaderProgram.cs
@@ -1,7 +1,6 @@
using OpenTK.Graphics.OpenGL;
using System;
using System.Collections.Generic;
-using System.Linq;
namespace Ryujinx.Graphics.Gal.OpenGL
{
diff --git a/Ryujinx.Graphics/Gal/Shader/ShaderDecodeSpecial.cs b/Ryujinx.Graphics/Gal/Shader/ShaderDecodeSpecial.cs
index 591631ff..f1be005f 100644
--- a/Ryujinx.Graphics/Gal/Shader/ShaderDecodeSpecial.cs
+++ b/Ryujinx.Graphics/Gal/Shader/ShaderDecodeSpecial.cs
@@ -1,6 +1,4 @@
-using System;
-
-using static Ryujinx.Graphics.Gal.Shader.ShaderDecodeHelper;
+using static Ryujinx.Graphics.Gal.Shader.ShaderDecodeHelper;
namespace Ryujinx.Graphics.Gal.Shader
{
diff --git a/Ryujinx.HLE/OsHle/Exceptions/GuestBrokeExecutionException.cs b/Ryujinx.HLE/Exceptions/GuestBrokeExecutionException.cs
index 2ed7f19e..fe41b02a 100644
--- a/Ryujinx.HLE/OsHle/Exceptions/GuestBrokeExecutionException.cs
+++ b/Ryujinx.HLE/Exceptions/GuestBrokeExecutionException.cs
@@ -1,6 +1,6 @@
using System;
-namespace Ryujinx.HLE.OsHle.Exceptions
+namespace Ryujinx.HLE.Exceptions
{
public class GuestBrokeExecutionException : Exception
{
diff --git a/Ryujinx.HLE/Loaders/Npdm/NpdmException.cs b/Ryujinx.HLE/Exceptions/InvalidNpdmException.cs
index d87a6461..58d04434 100644
--- a/Ryujinx.HLE/Loaders/Npdm/NpdmException.cs
+++ b/Ryujinx.HLE/Exceptions/InvalidNpdmException.cs
@@ -1,9 +1,9 @@
-using System;
-
-namespace Ryujinx.HLE.Loaders.Npdm
-{
- public class InvalidNpdmException : Exception
- {
- public InvalidNpdmException(string ExMsg) : base(ExMsg) { }
- }
-}
+using System;
+
+namespace Ryujinx.HLE.Exceptions
+{
+ public class InvalidNpdmException : Exception
+ {
+ public InvalidNpdmException(string ExMsg) : base(ExMsg) { }
+ }
+}
diff --git a/Ryujinx.HLE/OsHle/Exceptions/UndefinedInstructionException.cs b/Ryujinx.HLE/Exceptions/UndefinedInstructionException.cs
index d9f0b8cf..24bf9efd 100644
--- a/Ryujinx.HLE/OsHle/Exceptions/UndefinedInstructionException.cs
+++ b/Ryujinx.HLE/Exceptions/UndefinedInstructionException.cs
@@ -1,6 +1,6 @@
using System;
-namespace Ryujinx.HLE.OsHle.Exceptions
+namespace Ryujinx.HLE.Exceptions
{
public class UndefinedInstructionException : Exception
{
diff --git a/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs b/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs
index 1d621c92..10a64f36 100644
--- a/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs
+++ b/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs
@@ -140,7 +140,7 @@ namespace Ryujinx.HLE.Gpu.Texture
}
}
- throw new NotImplementedException(Texture.Format.ToString());
+ throw new NotImplementedException("0x" + Texture.Format.ToString("x2"));
}
public static int CompressedTextureSize(int TextureWidth, int TextureHeight, int BlockWidth, int BlockHeight, int Bpb)
diff --git a/Ryujinx.HLE/Gpu/Texture/TextureReader.cs b/Ryujinx.HLE/Gpu/Texture/TextureReader.cs
index 0c6103af..0cf055db 100644
--- a/Ryujinx.HLE/Gpu/Texture/TextureReader.cs
+++ b/Ryujinx.HLE/Gpu/Texture/TextureReader.cs
@@ -47,7 +47,7 @@ namespace Ryujinx.HLE.Gpu.Texture
case GalTextureFormat.Astc2D10x6: return Read16BptCompressedTexture(Memory, Texture, 10, 6);
}
- throw new NotImplementedException(Texture.Format.ToString());
+ throw new NotImplementedException("0x" + Texture.Format.ToString("x2"));
}
private unsafe static byte[] Read1Bpp(IAMemory Memory, TextureInfo Texture)
diff --git a/Ryujinx.HLE/Gpu/Texture/TextureWriter.cs b/Ryujinx.HLE/Gpu/Texture/TextureWriter.cs
index 113dc6f6..6c3dda6b 100644
--- a/Ryujinx.HLE/Gpu/Texture/TextureWriter.cs
+++ b/Ryujinx.HLE/Gpu/Texture/TextureWriter.cs
@@ -1,6 +1,4 @@
using ChocolArm64.Memory;
-using Ryujinx.Graphics.Gal;
-using System;
namespace Ryujinx.HLE.Gpu.Texture
{
diff --git a/Ryujinx.HLE/OsHle/Diagnostics/Demangler.cs b/Ryujinx.HLE/HOS/Diagnostics/Demangler.cs
index 6646dede..aea979c2 100644
--- a/Ryujinx.HLE/OsHle/Diagnostics/Demangler.cs
+++ b/Ryujinx.HLE/HOS/Diagnostics/Demangler.cs
@@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
-namespace Ryujinx.HLE.OsHle.Diagnostics
+namespace Ryujinx.HLE.HOS.Diagnostics
{
static class Demangler
{
diff --git a/Ryujinx.HLE/OsHle/ErrorCode.cs b/Ryujinx.HLE/HOS/ErrorCode.cs
index 1e07f9b2..767664f8 100644
--- a/Ryujinx.HLE/OsHle/ErrorCode.cs
+++ b/Ryujinx.HLE/HOS/ErrorCode.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle
+namespace Ryujinx.HLE.HOS
{
static class ErrorCode
{
diff --git a/Ryujinx.HLE/OsHle/ErrorModule.cs b/Ryujinx.HLE/HOS/ErrorModule.cs
index 924ee951..5c6c9b05 100644
--- a/Ryujinx.HLE/OsHle/ErrorModule.cs
+++ b/Ryujinx.HLE/HOS/ErrorModule.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle
+namespace Ryujinx.HLE.HOS
{
enum ErrorModule
{
diff --git a/Ryujinx.HLE/OsHle/Font/SharedFontManager.cs b/Ryujinx.HLE/HOS/Font/SharedFontManager.cs
index 12b6973e..0be5e896 100644
--- a/Ryujinx.HLE/OsHle/Font/SharedFontManager.cs
+++ b/Ryujinx.HLE/HOS/Font/SharedFontManager.cs
@@ -1,10 +1,10 @@
using Ryujinx.HLE.Memory;
-using Ryujinx.HLE.OsHle.Utilities;
using Ryujinx.HLE.Resource;
+using Ryujinx.HLE.Utilities;
using System.Collections.Generic;
using System.IO;
-namespace Ryujinx.HLE.OsHle.Font
+namespace Ryujinx.HLE.HOS.Font
{
class SharedFontManager
{
@@ -34,7 +34,7 @@ namespace Ryujinx.HLE.OsHle.Font
Memory = Device.Memory;
- FontsPath = Path.Combine(Device.VFs.GetSystemPath(), "fonts");
+ FontsPath = Path.Combine(Device.FileSystem.GetSystemPath(), "fonts");
}
public void EnsureInitialized()
diff --git a/Ryujinx.HLE/OsHle/Font/SharedFontType.cs b/Ryujinx.HLE/HOS/Font/SharedFontType.cs
index 80f42a7d..53dca626 100644
--- a/Ryujinx.HLE/OsHle/Font/SharedFontType.cs
+++ b/Ryujinx.HLE/HOS/Font/SharedFontType.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Font
+namespace Ryujinx.HLE.HOS.Font
{
public enum SharedFontType
{
diff --git a/Ryujinx.HLE/OsHle/GlobalStateTable.cs b/Ryujinx.HLE/HOS/GlobalStateTable.cs
index fb71e46b..faf47b2e 100644
--- a/Ryujinx.HLE/OsHle/GlobalStateTable.cs
+++ b/Ryujinx.HLE/HOS/GlobalStateTable.cs
@@ -1,7 +1,7 @@
using System.Collections.Concurrent;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle
+namespace Ryujinx.HLE.HOS
{
class GlobalStateTable
{
diff --git a/Ryujinx.HLE/OsHle/Homebrew.cs b/Ryujinx.HLE/HOS/Homebrew.cs
index 90c6c4c6..1f862a4a 100644
--- a/Ryujinx.HLE/OsHle/Homebrew.cs
+++ b/Ryujinx.HLE/HOS/Homebrew.cs
@@ -1,7 +1,7 @@
using ChocolArm64.Memory;
using System.Text;
-namespace Ryujinx.HLE.OsHle
+namespace Ryujinx.HLE.HOS
{
static class Homebrew
{
diff --git a/Ryujinx.HLE/OsHle/Horizon.cs b/Ryujinx.HLE/HOS/Horizon.cs
index 1fd210dd..a5579675 100644
--- a/Ryujinx.HLE/OsHle/Horizon.cs
+++ b/Ryujinx.HLE/HOS/Horizon.cs
@@ -1,27 +1,27 @@
+using Ryujinx.HLE.HOS.Font;
+using Ryujinx.HLE.HOS.Kernel;
+using Ryujinx.HLE.HOS.SystemState;
using Ryujinx.HLE.Loaders.Executables;
using Ryujinx.HLE.Loaders.Npdm;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Font;
-using Ryujinx.HLE.OsHle.Handles;
-using Ryujinx.HLE.OsHle.SystemState;
using System;
using System.Collections.Concurrent;
using System.IO;
-namespace Ryujinx.HLE.OsHle
+namespace Ryujinx.HLE.HOS
{
public class Horizon : IDisposable
{
internal const int HidSize = 0x40000;
internal const int FontSize = 0x1100000;
- private Switch Ns;
+ private Switch Device;
private KProcessScheduler Scheduler;
private ConcurrentDictionary<int, Process> Processes;
- public SystemStateMgr SystemState { get; private set; }
+ public SystemStateMgr State { get; private set; }
internal KSharedMemory HidSharedMem { get; private set; }
internal KSharedMemory FontSharedMem { get; private set; }
@@ -30,18 +30,18 @@ namespace Ryujinx.HLE.OsHle
internal KEvent VsyncEvent { get; private set; }
- public Horizon(Switch Ns)
+ public Horizon(Switch Device)
{
- this.Ns = Ns;
+ this.Device = Device;
- Scheduler = new KProcessScheduler(Ns.Log);
+ Scheduler = new KProcessScheduler(Device.Log);
Processes = new ConcurrentDictionary<int, Process>();
- SystemState = new SystemStateMgr();
+ State = new SystemStateMgr();
- if (!Ns.Memory.Allocator.TryAllocate(HidSize, out long HidPA) ||
- !Ns.Memory.Allocator.TryAllocate(FontSize, out long FontPA))
+ if (!Device.Memory.Allocator.TryAllocate(HidSize, out long HidPA) ||
+ !Device.Memory.Allocator.TryAllocate(FontSize, out long FontPA))
{
throw new InvalidOperationException();
}
@@ -49,7 +49,7 @@ namespace Ryujinx.HLE.OsHle
HidSharedMem = new KSharedMemory(HidPA, HidSize);
FontSharedMem = new KSharedMemory(FontPA, FontSize);
- Font = new SharedFontManager(Ns, FontSharedMem.PA);
+ Font = new SharedFontManager(Device, FontSharedMem.PA);
VsyncEvent = new KEvent();
}
@@ -58,7 +58,7 @@ namespace Ryujinx.HLE.OsHle
{
if (RomFsFile != null)
{
- Ns.VFs.LoadRomFs(RomFsFile);
+ Device.FileSystem.LoadRomFs(RomFsFile);
}
string NpdmFileName = Path.Combine(ExeFsDir, "main.npdm");
@@ -67,7 +67,7 @@ namespace Ryujinx.HLE.OsHle
if (File.Exists(NpdmFileName))
{
- Ns.Log.PrintInfo(LogClass.Loader, $"Loading main.npdm...");
+ Device.Log.PrintInfo(LogClass.Loader, $"Loading main.npdm...");
using (FileStream Input = new FileStream(NpdmFileName, FileMode.Open))
{
@@ -76,7 +76,7 @@ namespace Ryujinx.HLE.OsHle
}
else
{
- Ns.Log.PrintWarning(LogClass.Loader, $"NPDM file not found, using default values!");
+ Device.Log.PrintWarning(LogClass.Loader, $"NPDM file not found, using default values!");
}
Process MainProcess = MakeProcess(MetaData);
@@ -90,7 +90,7 @@ namespace Ryujinx.HLE.OsHle
continue;
}
- Ns.Log.PrintInfo(LogClass.Loader, $"Loading {Path.GetFileNameWithoutExtension(File)}...");
+ Device.Log.PrintInfo(LogClass.Loader, $"Loading {Path.GetFileNameWithoutExtension(File)}...");
using (FileStream Input = new FileStream(File, FileMode.Open))
{
@@ -124,18 +124,20 @@ namespace Ryujinx.HLE.OsHle
bool IsNro = Path.GetExtension(FilePath).ToLower() == ".nro";
string Name = Path.GetFileNameWithoutExtension(FilePath);
- string SwitchFilePath = Ns.VFs.SystemPathToSwitchPath(FilePath);
+ string SwitchFilePath = Device.FileSystem.SystemPathToSwitchPath(FilePath);
if (IsNro && (SwitchFilePath == null || !SwitchFilePath.StartsWith("sdmc:/")))
{
string SwitchPath = $"sdmc:/switch/{Name}{Homebrew.TemporaryNroSuffix}";
- string TempPath = Ns.VFs.SwitchPathToSystemPath(SwitchPath);
+ string TempPath = Device.FileSystem.SwitchPathToSystemPath(SwitchPath);
string SwitchDir = Path.GetDirectoryName(TempPath);
+
if (!Directory.Exists(SwitchDir))
{
Directory.CreateDirectory(SwitchDir);
}
+
File.Copy(FilePath, TempPath, true);
FilePath = TempPath;
@@ -169,7 +171,7 @@ namespace Ryujinx.HLE.OsHle
ProcessId++;
}
- Process = new Process(Ns, Scheduler, ProcessId, MetaData);
+ Process = new Process(Device, Scheduler, ProcessId, MetaData);
Processes.TryAdd(ProcessId, Process);
}
@@ -186,42 +188,24 @@ namespace Ryujinx.HLE.OsHle
internal void ExitProcess(int ProcessId)
{
- if (Processes.TryGetValue(ProcessId, out Process Process) && Process.NeedsHbAbi)
- {
- string NextNro = Homebrew.ReadHbAbiNextLoadPath(Process.Memory, Process.HbAbiDataPosition);
-
- Ns.Log.PrintInfo(LogClass.Loader, $"HbAbi NextLoadPath {NextNro}");
-
- if (NextNro == string.Empty)
- {
- NextNro = "sdmc:/hbmenu.nro";
- }
-
- NextNro = NextNro.Replace("sdmc:", string.Empty);
-
- NextNro = Ns.VFs.GetFullPath(Ns.VFs.GetSdCardPath(), NextNro);
-
- if (File.Exists(NextNro))
- {
- LoadProgram(NextNro);
- }
- }
-
- if (Processes.TryRemove(ProcessId, out Process))
+ if (Processes.TryRemove(ProcessId, out Process Process))
{
- Process.StopAllThreadsAsync();
Process.Dispose();
if (Processes.Count == 0)
{
- Ns.OnFinish(EventArgs.Empty);
+ Unload();
+
+ Device.Unload();
}
}
}
- internal bool TryGetProcess(int ProcessId, out Process Process)
+ private void Unload()
{
- return Processes.TryGetValue(ProcessId, out Process);
+ VsyncEvent.Dispose();
+
+ Scheduler.Dispose();
}
public void Dispose()
@@ -235,13 +219,8 @@ namespace Ryujinx.HLE.OsHle
{
foreach (Process Process in Processes.Values)
{
- Process.StopAllThreadsAsync();
Process.Dispose();
}
-
- VsyncEvent.Dispose();
-
- Scheduler.Dispose();
}
}
}
diff --git a/Ryujinx.HLE/OsHle/IdDictionary.cs b/Ryujinx.HLE/HOS/IdDictionary.cs
index dcb8d0f7..03d15498 100644
--- a/Ryujinx.HLE/OsHle/IdDictionary.cs
+++ b/Ryujinx.HLE/HOS/IdDictionary.cs
@@ -2,7 +2,7 @@ using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle
+namespace Ryujinx.HLE.HOS
{
class IdDictionary
{
diff --git a/Ryujinx.HLE/OsHle/Ipc/IpcBuffDesc.cs b/Ryujinx.HLE/HOS/Ipc/IpcBuffDesc.cs
index 12bff0fb..346d696e 100644
--- a/Ryujinx.HLE/OsHle/Ipc/IpcBuffDesc.cs
+++ b/Ryujinx.HLE/HOS/Ipc/IpcBuffDesc.cs
@@ -1,6 +1,6 @@
using System.IO;
-namespace Ryujinx.HLE.OsHle.Ipc
+namespace Ryujinx.HLE.HOS.Ipc
{
struct IpcBuffDesc
{
diff --git a/Ryujinx.HLE/OsHle/Ipc/IpcHandleDesc.cs b/Ryujinx.HLE/HOS/Ipc/IpcHandleDesc.cs
index 609cc6e0..081b5695 100644
--- a/Ryujinx.HLE/OsHle/Ipc/IpcHandleDesc.cs
+++ b/Ryujinx.HLE/HOS/Ipc/IpcHandleDesc.cs
@@ -1,7 +1,7 @@
using System;
using System.IO;
-namespace Ryujinx.HLE.OsHle.Ipc
+namespace Ryujinx.HLE.HOS.Ipc
{
class IpcHandleDesc
{
diff --git a/Ryujinx.HLE/OsHle/Ipc/IpcHandler.cs b/Ryujinx.HLE/HOS/Ipc/IpcHandler.cs
index cdb844cf..08a4cdb5 100644
--- a/Ryujinx.HLE/OsHle/Ipc/IpcHandler.cs
+++ b/Ryujinx.HLE/HOS/Ipc/IpcHandler.cs
@@ -1,9 +1,9 @@
using ChocolArm64.Memory;
-using Ryujinx.HLE.OsHle.Handles;
+using Ryujinx.HLE.HOS.Kernel;
using System;
using System.IO;
-namespace Ryujinx.HLE.OsHle.Ipc
+namespace Ryujinx.HLE.HOS.Ipc
{
static class IpcHandler
{
diff --git a/Ryujinx.HLE/OsHle/Ipc/IpcMagic.cs b/Ryujinx.HLE/HOS/Ipc/IpcMagic.cs
index c3f9655f..72770b90 100644
--- a/Ryujinx.HLE/OsHle/Ipc/IpcMagic.cs
+++ b/Ryujinx.HLE/HOS/Ipc/IpcMagic.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Ipc
+namespace Ryujinx.HLE.HOS.Ipc
{
abstract class IpcMagic
{
diff --git a/Ryujinx.HLE/OsHle/Ipc/IpcMessage.cs b/Ryujinx.HLE/HOS/Ipc/IpcMessage.cs
index 0a64a164..c8153fdb 100644
--- a/Ryujinx.HLE/OsHle/Ipc/IpcMessage.cs
+++ b/Ryujinx.HLE/HOS/Ipc/IpcMessage.cs
@@ -1,7 +1,7 @@
using System.Collections.Generic;
using System.IO;
-namespace Ryujinx.HLE.OsHle.Ipc
+namespace Ryujinx.HLE.HOS.Ipc
{
class IpcMessage
{
diff --git a/Ryujinx.HLE/OsHle/Ipc/IpcMessageType.cs b/Ryujinx.HLE/HOS/Ipc/IpcMessageType.cs
index 3db6844e..e258accc 100644
--- a/Ryujinx.HLE/OsHle/Ipc/IpcMessageType.cs
+++ b/Ryujinx.HLE/HOS/Ipc/IpcMessageType.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Ipc
+namespace Ryujinx.HLE.HOS.Ipc
{
enum IpcMessageType
{
diff --git a/Ryujinx.HLE/OsHle/Ipc/IpcPtrBuffDesc.cs b/Ryujinx.HLE/HOS/Ipc/IpcPtrBuffDesc.cs
index f5a9f651..21f5d3bc 100644
--- a/Ryujinx.HLE/OsHle/Ipc/IpcPtrBuffDesc.cs
+++ b/Ryujinx.HLE/HOS/Ipc/IpcPtrBuffDesc.cs
@@ -1,6 +1,6 @@
using System.IO;
-namespace Ryujinx.HLE.OsHle.Ipc
+namespace Ryujinx.HLE.HOS.Ipc
{
struct IpcPtrBuffDesc
{
diff --git a/Ryujinx.HLE/OsHle/Ipc/IpcRecvListBuffDesc.cs b/Ryujinx.HLE/HOS/Ipc/IpcRecvListBuffDesc.cs
index 59191c16..1d0a8c80 100644
--- a/Ryujinx.HLE/OsHle/Ipc/IpcRecvListBuffDesc.cs
+++ b/Ryujinx.HLE/HOS/Ipc/IpcRecvListBuffDesc.cs
@@ -1,6 +1,6 @@
using System.IO;
-namespace Ryujinx.HLE.OsHle.Ipc
+namespace Ryujinx.HLE.HOS.Ipc
{
struct IpcRecvListBuffDesc
{
diff --git a/Ryujinx.HLE/OsHle/Ipc/ServiceProcessRequest.cs b/Ryujinx.HLE/HOS/Ipc/ServiceProcessRequest.cs
index 47f72cb7..da4a7e75 100644
--- a/Ryujinx.HLE/OsHle/Ipc/ServiceProcessRequest.cs
+++ b/Ryujinx.HLE/HOS/Ipc/ServiceProcessRequest.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Ipc
+namespace Ryujinx.HLE.HOS.Ipc
{
delegate long ServiceProcessRequest(ServiceCtx Context);
} \ No newline at end of file
diff --git a/Ryujinx.HLE/OsHle/Kernel/AddressArbiter.cs b/Ryujinx.HLE/HOS/Kernel/AddressArbiter.cs
index ce9ef0cd..d7df0a72 100644
--- a/Ryujinx.HLE/OsHle/Kernel/AddressArbiter.cs
+++ b/Ryujinx.HLE/HOS/Kernel/AddressArbiter.cs
@@ -1,10 +1,9 @@
using ChocolArm64.Memory;
using ChocolArm64.State;
-using Ryujinx.HLE.OsHle.Handles;
-using static Ryujinx.HLE.OsHle.ErrorCode;
+using static Ryujinx.HLE.HOS.ErrorCode;
-namespace Ryujinx.HLE.OsHle.Kernel
+namespace Ryujinx.HLE.HOS.Kernel
{
static class AddressArbiter
{
@@ -27,12 +26,12 @@ namespace Ryujinx.HLE.OsHle.Kernel
return 0;
}
- public static ulong WaitForAddressIfLessThan(Process Process,
- AThreadState ThreadState,
- AMemory Memory,
- long Address,
- int Value,
- ulong Timeout,
+ public static ulong WaitForAddressIfLessThan(Process Process,
+ AThreadState ThreadState,
+ AMemory Memory,
+ long Address,
+ int Value,
+ ulong Timeout,
bool ShouldDecrement)
{
Memory.SetExclusive(ThreadState, Address);
@@ -75,11 +74,11 @@ namespace Ryujinx.HLE.OsHle.Kernel
return WaitForAddress(Process, ThreadState, Address, Timeout);
}
- public static ulong WaitForAddressIfEqual(Process Process,
- AThreadState ThreadState,
- AMemory Memory,
- long Address,
- int Value,
+ public static ulong WaitForAddressIfEqual(Process Process,
+ AThreadState ThreadState,
+ AMemory Memory,
+ long Address,
+ int Value,
ulong Timeout)
{
if (Memory.ReadInt32(Address) != Value)
diff --git a/Ryujinx.HLE/OsHle/Handles/AddressSpaceType.cs b/Ryujinx.HLE/HOS/Kernel/AddressSpaceType.cs
index 946c51e1..c97caf42 100644
--- a/Ryujinx.HLE/OsHle/Handles/AddressSpaceType.cs
+++ b/Ryujinx.HLE/HOS/Kernel/AddressSpaceType.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Handles
+namespace Ryujinx.HLE.HOS.Kernel
{
enum AddressSpaceType
{
diff --git a/Ryujinx.HLE/OsHle/Handles/KEvent.cs b/Ryujinx.HLE/HOS/Kernel/KEvent.cs
index df5108f9..eaaafaba 100644
--- a/Ryujinx.HLE/OsHle/Handles/KEvent.cs
+++ b/Ryujinx.HLE/HOS/Kernel/KEvent.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Handles
+namespace Ryujinx.HLE.HOS.Kernel
{
class KEvent : KSynchronizationObject { }
} \ No newline at end of file
diff --git a/Ryujinx.HLE/OsHle/Handles/KMemoryBlock.cs b/Ryujinx.HLE/HOS/Kernel/KMemoryBlock.cs
index e33b6cb9..6100741b 100644
--- a/Ryujinx.HLE/OsHle/Handles/KMemoryBlock.cs
+++ b/Ryujinx.HLE/HOS/Kernel/KMemoryBlock.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Handles
+namespace Ryujinx.HLE.HOS.Kernel
{
class KMemoryBlock
{
diff --git a/Ryujinx.HLE/OsHle/Handles/KMemoryInfo.cs b/Ryujinx.HLE/HOS/Kernel/KMemoryInfo.cs
index 3f79f000..9b73b32b 100644
--- a/Ryujinx.HLE/OsHle/Handles/KMemoryInfo.cs
+++ b/Ryujinx.HLE/HOS/Kernel/KMemoryInfo.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Handles
+namespace Ryujinx.HLE.HOS.Kernel
{
class KMemoryInfo
{
diff --git a/Ryujinx.HLE/OsHle/Handles/KMemoryManager.cs b/Ryujinx.HLE/HOS/Kernel/KMemoryManager.cs
index 76c5a53d..0432aa88 100644
--- a/Ryujinx.HLE/OsHle/Handles/KMemoryManager.cs
+++ b/Ryujinx.HLE/HOS/Kernel/KMemoryManager.cs
@@ -1,12 +1,11 @@
using ChocolArm64.Memory;
using Ryujinx.HLE.Memory;
-using Ryujinx.HLE.OsHle.Kernel;
using System;
using System.Collections.Generic;
-using static Ryujinx.HLE.OsHle.ErrorCode;
+using static Ryujinx.HLE.HOS.ErrorCode;
-namespace Ryujinx.HLE.OsHle.Handles
+namespace Ryujinx.HLE.HOS.Kernel
{
class KMemoryManager
{
@@ -43,7 +42,7 @@ namespace Ryujinx.HLE.OsHle.Handles
public KMemoryManager(Process Process)
{
CpuMemory = Process.Memory;
- Allocator = Process.Ns.Memory.Allocator;
+ Allocator = Process.Device.Memory.Allocator;
long CodeRegionSize;
long MapRegionSize;
diff --git a/Ryujinx.HLE/OsHle/Handles/KProcessHandleTable.cs b/Ryujinx.HLE/HOS/Kernel/KProcessHandleTable.cs
index d22b63c6..db0eaa44 100644
--- a/Ryujinx.HLE/OsHle/Handles/KProcessHandleTable.cs
+++ b/Ryujinx.HLE/HOS/Kernel/KProcessHandleTable.cs
@@ -1,6 +1,6 @@
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Handles
+namespace Ryujinx.HLE.HOS.Kernel
{
class KProcessHandleTable
{
diff --git a/Ryujinx.HLE/OsHle/Handles/KProcessScheduler.cs b/Ryujinx.HLE/HOS/Kernel/KProcessScheduler.cs
index 7d5e2284..2120f16c 100644
--- a/Ryujinx.HLE/OsHle/Handles/KProcessScheduler.cs
+++ b/Ryujinx.HLE/HOS/Kernel/KProcessScheduler.cs
@@ -3,7 +3,7 @@ using System;
using System.Collections.Concurrent;
using System.Threading;
-namespace Ryujinx.HLE.OsHle.Handles
+namespace Ryujinx.HLE.HOS.Kernel
{
class KProcessScheduler : IDisposable
{
@@ -124,6 +124,16 @@ namespace Ryujinx.HLE.OsHle.Handles
AllThreads[Thread].WaitSync.Set();
}
+ public void ForceWakeUp(KThread Thread)
+ {
+ if (AllThreads.TryGetValue(Thread, out SchedulerThread SchedThread))
+ {
+ SchedThread.WaitSync.Set();
+ SchedThread.WaitActivity.Set();
+ SchedThread.WaitSched.Set();
+ }
+ }
+
public void ChangeCore(KThread Thread, int IdealCore, int CoreMask)
{
lock (SchedLock)
diff --git a/Ryujinx.HLE/OsHle/Handles/KSession.cs b/Ryujinx.HLE/HOS/Kernel/KSession.cs
index e85de36c..4b21d3a6 100644
--- a/Ryujinx.HLE/OsHle/Handles/KSession.cs
+++ b/Ryujinx.HLE/HOS/Kernel/KSession.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Services;
+using Ryujinx.HLE.HOS.Services;
using System;
-namespace Ryujinx.HLE.OsHle.Handles
+namespace Ryujinx.HLE.HOS.Kernel
{
class KSession : IDisposable
{
diff --git a/Ryujinx.HLE/OsHle/Handles/KSharedMemory.cs b/Ryujinx.HLE/HOS/Kernel/KSharedMemory.cs
index 5c410474..cdd31667 100644
--- a/Ryujinx.HLE/OsHle/Handles/KSharedMemory.cs
+++ b/Ryujinx.HLE/HOS/Kernel/KSharedMemory.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Handles
+namespace Ryujinx.HLE.HOS.Kernel
{
class KSharedMemory
{
diff --git a/Ryujinx.HLE/OsHle/Handles/KSynchronizationObject.cs b/Ryujinx.HLE/HOS/Kernel/KSynchronizationObject.cs
index 0e7d06f6..b83b0004 100644
--- a/Ryujinx.HLE/OsHle/Handles/KSynchronizationObject.cs
+++ b/Ryujinx.HLE/HOS/Kernel/KSynchronizationObject.cs
@@ -1,7 +1,7 @@
using System;
using System.Threading;
-namespace Ryujinx.HLE.OsHle.Handles
+namespace Ryujinx.HLE.HOS.Kernel
{
class KSynchronizationObject : IDisposable
{
diff --git a/Ryujinx.HLE/OsHle/Handles/KThread.cs b/Ryujinx.HLE/HOS/Kernel/KThread.cs
index 2b980d17..171fefc5 100644
--- a/Ryujinx.HLE/OsHle/Handles/KThread.cs
+++ b/Ryujinx.HLE/HOS/Kernel/KThread.cs
@@ -1,7 +1,7 @@
using ChocolArm64;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Handles
+namespace Ryujinx.HLE.HOS.Kernel
{
class KThread : KSynchronizationObject
{
@@ -33,18 +33,20 @@ namespace Ryujinx.HLE.OsHle.Handles
public long LastPc { get; set; }
- public int ThreadId => Thread.ThreadId;
+ public int ThreadId { get; private set; }
public KThread(
AThread Thread,
Process Process,
int ProcessorId,
- int Priority)
+ int Priority,
+ int ThreadId)
{
this.Thread = Thread;
this.Process = Process;
this.ProcessorId = ProcessorId;
this.IdealCore = ProcessorId;
+ this.ThreadId = ThreadId;
MutexWaiters = new List<KThread>();
diff --git a/Ryujinx.HLE/OsHle/Handles/KTlsPageManager.cs b/Ryujinx.HLE/HOS/Kernel/KTlsPageManager.cs
index f116f548..1fb2ce6a 100644
--- a/Ryujinx.HLE/OsHle/Handles/KTlsPageManager.cs
+++ b/Ryujinx.HLE/HOS/Kernel/KTlsPageManager.cs
@@ -1,6 +1,6 @@
using System;
-namespace Ryujinx.HLE.OsHle.Handles
+namespace Ryujinx.HLE.HOS.Kernel
{
class KTlsPageManager
{
diff --git a/Ryujinx.HLE/OsHle/Handles/KTransferMemory.cs b/Ryujinx.HLE/HOS/Kernel/KTransferMemory.cs
index 5f9c0409..6ebffa7e 100644
--- a/Ryujinx.HLE/OsHle/Handles/KTransferMemory.cs
+++ b/Ryujinx.HLE/HOS/Kernel/KTransferMemory.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Handles
+namespace Ryujinx.HLE.HOS.Kernel
{
class KTransferMemory
{
diff --git a/Ryujinx.HLE/OsHle/Kernel/KernelErr.cs b/Ryujinx.HLE/HOS/Kernel/KernelErr.cs
index a62fc1bf..e76ae11e 100644
--- a/Ryujinx.HLE/OsHle/Kernel/KernelErr.cs
+++ b/Ryujinx.HLE/HOS/Kernel/KernelErr.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Kernel
+namespace Ryujinx.HLE.HOS.Kernel
{
static class KernelErr
{
diff --git a/Ryujinx.HLE/OsHle/Handles/MemoryAttribute.cs b/Ryujinx.HLE/HOS/Kernel/MemoryAttribute.cs
index e234d7f0..8f3197cb 100644
--- a/Ryujinx.HLE/OsHle/Handles/MemoryAttribute.cs
+++ b/Ryujinx.HLE/HOS/Kernel/MemoryAttribute.cs
@@ -1,6 +1,6 @@
using System;
-namespace Ryujinx.HLE.OsHle.Handles
+namespace Ryujinx.HLE.HOS.Kernel
{
[Flags]
enum MemoryAttribute : byte
diff --git a/Ryujinx.HLE/OsHle/Handles/MemoryPermission.cs b/Ryujinx.HLE/HOS/Kernel/MemoryPermission.cs
index 416f171e..63539c2e 100644
--- a/Ryujinx.HLE/OsHle/Handles/MemoryPermission.cs
+++ b/Ryujinx.HLE/HOS/Kernel/MemoryPermission.cs
@@ -1,6 +1,6 @@
using System;
-namespace Ryujinx.HLE.OsHle.Handles
+namespace Ryujinx.HLE.HOS.Kernel
{
[Flags]
enum MemoryPermission : byte
diff --git a/Ryujinx.HLE/OsHle/Handles/MemoryState.cs b/Ryujinx.HLE/HOS/Kernel/MemoryState.cs
index 5437d6a3..2c37723c 100644
--- a/Ryujinx.HLE/OsHle/Handles/MemoryState.cs
+++ b/Ryujinx.HLE/HOS/Kernel/MemoryState.cs
@@ -1,6 +1,6 @@
using System;
-namespace Ryujinx.HLE.OsHle
+namespace Ryujinx.HLE.HOS.Kernel
{
[Flags]
enum MemoryState : uint
diff --git a/Ryujinx.HLE/OsHle/Kernel/NsTimeConverter.cs b/Ryujinx.HLE/HOS/Kernel/NsTimeConverter.cs
index 966fdaca..b8008f75 100644
--- a/Ryujinx.HLE/OsHle/Kernel/NsTimeConverter.cs
+++ b/Ryujinx.HLE/HOS/Kernel/NsTimeConverter.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Kernel
+namespace Ryujinx.HLE.HOS.Kernel
{
static class NsTimeConverter
{
diff --git a/Ryujinx.HLE/OsHle/Handles/SchedulerThread.cs b/Ryujinx.HLE/HOS/Kernel/SchedulerThread.cs
index 5bdefe74..bab7b03e 100644
--- a/Ryujinx.HLE/OsHle/Handles/SchedulerThread.cs
+++ b/Ryujinx.HLE/HOS/Kernel/SchedulerThread.cs
@@ -1,7 +1,7 @@
using System;
using System.Threading;
-namespace Ryujinx.HLE.OsHle.Handles
+namespace Ryujinx.HLE.HOS.Kernel
{
class SchedulerThread : IDisposable
{
diff --git a/Ryujinx.HLE/OsHle/Kernel/SvcHandler.cs b/Ryujinx.HLE/HOS/Kernel/SvcHandler.cs
index a33ffe5e..fcb72c14 100644
--- a/Ryujinx.HLE/OsHle/Kernel/SvcHandler.cs
+++ b/Ryujinx.HLE/HOS/Kernel/SvcHandler.cs
@@ -2,13 +2,12 @@ using ChocolArm64.Events;
using ChocolArm64.Memory;
using ChocolArm64.State;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Handles;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Threading;
-namespace Ryujinx.HLE.OsHle.Kernel
+namespace Ryujinx.HLE.HOS.Kernel
{
partial class SvcHandler
{
@@ -16,7 +15,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
private Dictionary<int, SvcFunc> SvcFuncs;
- private Switch Ns;
+ private Switch Device;
private Process Process;
private AMemory Memory;
@@ -27,7 +26,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
private static Random Rng;
- public SvcHandler(Switch Ns, Process Process)
+ public SvcHandler(Switch Device, Process Process)
{
SvcFuncs = new Dictionary<int, SvcFunc>()
{
@@ -73,7 +72,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
{ 0x34, SvcWaitForAddress }
};
- this.Ns = Ns;
+ this.Device = Device;
this.Process = Process;
this.Memory = Process.Memory;
@@ -93,19 +92,19 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (SvcFuncs.TryGetValue(e.Id, out SvcFunc Func))
{
- Ns.Log.PrintDebug(LogClass.KernelSvc, $"{Func.Method.Name} called.");
+ Device.Log.PrintDebug(LogClass.KernelSvc, $"{Func.Method.Name} called.");
Func(ThreadState);
Process.Scheduler.Reschedule(Process.GetThread(ThreadState.Tpidr));
- Ns.Log.PrintDebug(LogClass.KernelSvc, $"{Func.Method.Name} ended.");
+ Device.Log.PrintDebug(LogClass.KernelSvc, $"{Func.Method.Name} ended.");
}
else
{
Process.PrintStackTrace(ThreadState);
- throw new NotImplementedException(e.Id.ToString("x4"));
+ throw new NotImplementedException($"0x{e.Id:x4}");
}
}
diff --git a/Ryujinx.HLE/OsHle/Kernel/SvcMemory.cs b/Ryujinx.HLE/HOS/Kernel/SvcMemory.cs
index 68d87293..b9bca74a 100644
--- a/Ryujinx.HLE/OsHle/Kernel/SvcMemory.cs
+++ b/Ryujinx.HLE/HOS/Kernel/SvcMemory.cs
@@ -1,10 +1,9 @@
using ChocolArm64.State;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Handles;
-using static Ryujinx.HLE.OsHle.ErrorCode;
+using static Ryujinx.HLE.HOS.ErrorCode;
-namespace Ryujinx.HLE.OsHle.Kernel
+namespace Ryujinx.HLE.HOS.Kernel
{
partial class SvcHandler
{
@@ -14,7 +13,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if ((Size & 0x1fffff) != 0 || Size != (uint)Size)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Heap size 0x{Size:x16} is not aligned!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Heap size 0x{Size:x16} is not aligned!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize);
@@ -31,7 +30,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
}
else
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
}
}
@@ -42,7 +41,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (!PageAligned(Position))
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} is not page aligned!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} is not page aligned!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@@ -51,7 +50,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (!PageAligned(Size) || Size == 0)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize);
@@ -66,7 +65,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (Attributes != AttributeMask ||
(Attributes | MemoryAttribute.Uncached) != MemoryAttribute.Uncached)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, "Invalid memory attributes!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, "Invalid memory attributes!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidMaskValue);
@@ -81,7 +80,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (Result != 0)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
}
else
{
@@ -99,7 +98,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (!PageAligned(Src | Dst))
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, "Addresses are not page aligned!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, "Addresses are not page aligned!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@@ -108,7 +107,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (!PageAligned(Size) || Size == 0)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize);
@@ -117,7 +116,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if ((ulong)(Src + Size) <= (ulong)Src || (ulong)(Dst + Size) <= (ulong)Dst)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, "Addresses outside of range!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, "Addresses outside of range!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@@ -126,7 +125,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (!InsideAddrSpace(Src, Size))
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Src address 0x{Src:x16} out of range!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Src address 0x{Src:x16} out of range!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@@ -135,7 +134,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (!InsideNewMapRegion(Dst, Size))
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Dst address 0x{Dst:x16} out of range!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Dst address 0x{Dst:x16} out of range!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidMemRange);
@@ -146,7 +145,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (Result != 0)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
}
ThreadState.X0 = (ulong)Result;
@@ -160,7 +159,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (!PageAligned(Src | Dst))
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, "Addresses are not page aligned!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, "Addresses are not page aligned!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@@ -169,7 +168,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (!PageAligned(Size) || Size == 0)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize);
@@ -178,7 +177,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if ((ulong)(Src + Size) <= (ulong)Src || (ulong)(Dst + Size) <= (ulong)Dst)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, "Addresses outside of range!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, "Addresses outside of range!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@@ -187,7 +186,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (!InsideAddrSpace(Src, Size))
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Src address 0x{Src:x16} out of range!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Src address 0x{Src:x16} out of range!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@@ -196,7 +195,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (!InsideNewMapRegion(Dst, Size))
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Dst address 0x{Dst:x16} out of range!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Dst address 0x{Dst:x16} out of range!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidMemRange);
@@ -207,7 +206,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (Result != 0)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
}
ThreadState.X0 = (ulong)Result;
@@ -241,7 +240,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (!PageAligned(Position))
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} is not page aligned!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} is not page aligned!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@@ -250,7 +249,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (!PageAligned(Size) || Size == 0)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize);
@@ -259,7 +258,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if ((ulong)(Position + Size) <= (ulong)Position)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid region address 0x{Position:x16} / size 0x{Size:x16}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid region address 0x{Position:x16} / size 0x{Size:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@@ -270,7 +269,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if ((Permission | MemoryPermission.Write) != MemoryPermission.ReadAndWrite)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid permission {Permission}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid permission {Permission}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidPermission);
@@ -281,7 +280,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (SharedMemory == null)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid shared memory handle 0x{Handle:x8}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid shared memory handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
@@ -290,7 +289,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (!InsideAddrSpace(Position, Size) || InsideMapRegion(Position, Size) || InsideHeapRegion(Position, Size))
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} out of range!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} out of range!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@@ -299,7 +298,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (SharedMemory.Size != Size)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} does not match shared memory size 0x{SharedMemory.Size:16}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} does not match shared memory size 0x{SharedMemory.Size:16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize);
@@ -310,7 +309,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (Result != 0)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
}
ThreadState.X0 = (ulong)Result;
@@ -324,7 +323,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (!PageAligned(Position))
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} is not page aligned!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} is not page aligned!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@@ -333,7 +332,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (!PageAligned(Size) || Size == 0)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize);
@@ -342,7 +341,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if ((ulong)(Position + Size) <= (ulong)Position)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid region address 0x{Position:x16} / size 0x{Size:x16}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid region address 0x{Position:x16} / size 0x{Size:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@@ -353,7 +352,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (SharedMemory == null)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid shared memory handle 0x{Handle:x8}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid shared memory handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
@@ -362,7 +361,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (!InsideAddrSpace(Position, Size) || InsideMapRegion(Position, Size) || InsideHeapRegion(Position, Size))
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} out of range!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} out of range!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@@ -373,7 +372,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (Result != 0)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
}
ThreadState.X0 = (ulong)Result;
@@ -386,7 +385,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (!PageAligned(Position))
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} is not page aligned!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} is not page aligned!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@@ -395,7 +394,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (!PageAligned(Size) || Size == 0)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@@ -404,7 +403,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if ((ulong)(Position + Size) <= (ulong)Position)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid region address 0x{Position:x16} / size 0x{Size:x16}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid region address 0x{Position:x16} / size 0x{Size:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@@ -415,7 +414,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (Permission > MemoryPermission.ReadAndWrite || Permission == MemoryPermission.Write)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid permission {Permission}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid permission {Permission}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidPermission);
@@ -439,7 +438,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (!PageAligned(Position))
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} is not page aligned!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} is not page aligned!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@@ -448,7 +447,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (!PageAligned(Size) || Size == 0)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize);
@@ -457,7 +456,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if ((ulong)(Position + Size) <= (ulong)Position)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid region address 0x{Position:x16} / size 0x{Size:x16}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid region address 0x{Position:x16} / size 0x{Size:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@@ -466,7 +465,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (!InsideAddrSpace(Position, Size))
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid address {Position:x16}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid address {Position:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@@ -477,7 +476,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (Result != 0)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
}
ThreadState.X0 = (ulong)Result;
@@ -490,7 +489,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (!PageAligned(Position))
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} is not page aligned!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Address 0x{Position:x16} is not page aligned!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@@ -499,7 +498,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (!PageAligned(Size) || Size == 0)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Size 0x{Size:x16} is not page aligned or is zero!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidSize);
@@ -508,7 +507,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if ((ulong)(Position + Size) <= (ulong)Position)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid region address 0x{Position:x16} / size 0x{Size:x16}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid region address 0x{Position:x16} / size 0x{Size:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@@ -517,7 +516,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (!InsideAddrSpace(Position, Size))
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid address {Position:x16}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid address {Position:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
@@ -528,7 +527,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (Result != 0)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Operation failed with error 0x{Result:x}!");
}
ThreadState.X0 = (ulong)Result;
diff --git a/Ryujinx.HLE/OsHle/Kernel/SvcSystem.cs b/Ryujinx.HLE/HOS/Kernel/SvcSystem.cs
index f833745b..7cc1c858 100644
--- a/Ryujinx.HLE/OsHle/Kernel/SvcSystem.cs
+++ b/Ryujinx.HLE/HOS/Kernel/SvcSystem.cs
@@ -1,16 +1,15 @@
using ChocolArm64.Memory;
using ChocolArm64.State;
+using Ryujinx.HLE.Exceptions;
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.Services;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Exceptions;
-using Ryujinx.HLE.OsHle.Handles;
-using Ryujinx.HLE.OsHle.Ipc;
-using Ryujinx.HLE.OsHle.Services;
using System;
using System.Threading;
-using static Ryujinx.HLE.OsHle.ErrorCode;
+using static Ryujinx.HLE.HOS.ErrorCode;
-namespace Ryujinx.HLE.OsHle.Kernel
+namespace Ryujinx.HLE.HOS.Kernel
{
partial class SvcHandler
{
@@ -20,7 +19,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
private void SvcExitProcess(AThreadState ThreadState)
{
- Ns.Os.ExitProcess(ThreadState.ProcessId);
+ Device.System.ExitProcess(Process.ProcessId);
}
private void SvcClearEvent(AThreadState ThreadState)
@@ -40,7 +39,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (Obj == null)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid handle 0x{Handle:x8}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
@@ -75,7 +74,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
}
else
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid event handle 0x{Handle:x8}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid event handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
}
@@ -87,10 +86,10 @@ namespace Ryujinx.HLE.OsHle.Kernel
int HandlesCount = (int)ThreadState.X2;
ulong Timeout = ThreadState.X3;
- Ns.Log.PrintDebug(LogClass.KernelSvc,
- "HandlesPtr = " + HandlesPtr .ToString("x16") + ", " +
- "HandlesCount = " + HandlesCount.ToString("x8") + ", " +
- "Timeout = " + Timeout .ToString("x16"));
+ Device.Log.PrintDebug(LogClass.KernelSvc,
+ "HandlesPtr = 0x" + HandlesPtr .ToString("x16") + ", " +
+ "HandlesCount = 0x" + HandlesCount.ToString("x8") + ", " +
+ "Timeout = 0x" + Timeout .ToString("x16"));
if ((uint)HandlesCount > 0x40)
{
@@ -111,7 +110,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (SyncObj == null)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid handle 0x{Handle:x8}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
@@ -175,7 +174,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (Thread == null)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{ThreadHandle:x8}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{ThreadHandle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
@@ -240,7 +239,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
IpcMessage Cmd = new IpcMessage(CmdData, CmdPtr);
- long Result = IpcHandler.IpcCall(Ns, Process, Memory, Session, Cmd, CmdPtr);
+ long Result = IpcHandler.IpcCall(Device, Process, Memory, Session, Cmd, CmdPtr);
Thread.Yield();
@@ -250,7 +249,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
}
else
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid session handle 0x{Handle:x8}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid session handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
}
@@ -274,7 +273,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
string Str = AMemoryHelper.ReadAsciiString(Memory, Position, Size);
- Ns.Log.PrintWarning(LogClass.KernelSvc, Str);
+ Device.Log.PrintWarning(LogClass.KernelSvc, Str);
ThreadState.X0 = 0;
}
@@ -321,11 +320,11 @@ namespace Ryujinx.HLE.OsHle.Kernel
break;
case 6:
- ThreadState.X1 = (ulong)Process.Ns.Memory.Allocator.TotalAvailableSize;
+ ThreadState.X1 = (ulong)Process.Device.Memory.Allocator.TotalAvailableSize;
break;
case 7:
- ThreadState.X1 = (ulong)Process.Ns.Memory.Allocator.TotalUsedSize;
+ ThreadState.X1 = (ulong)Process.Device.Memory.Allocator.TotalUsedSize;
break;
case 8:
@@ -365,7 +364,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
default:
Process.PrintStackTrace(ThreadState);
- throw new NotImplementedException($"SvcGetInfo: {InfoType} {Handle:x8} {InfoId}");
+ throw new NotImplementedException($"SvcGetInfo: {InfoType} 0x{Handle:x8} {InfoId}");
}
ThreadState.X0 = 0;
diff --git a/Ryujinx.HLE/OsHle/Kernel/SvcThread.cs b/Ryujinx.HLE/HOS/Kernel/SvcThread.cs
index 04524850..69e75ec0 100644
--- a/Ryujinx.HLE/OsHle/Kernel/SvcThread.cs
+++ b/Ryujinx.HLE/HOS/Kernel/SvcThread.cs
@@ -1,11 +1,10 @@
using ChocolArm64.State;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Handles;
using System.Threading;
-using static Ryujinx.HLE.OsHle.ErrorCode;
+using static Ryujinx.HLE.HOS.ErrorCode;
-namespace Ryujinx.HLE.OsHle.Kernel
+namespace Ryujinx.HLE.HOS.Kernel
{
partial class SvcHandler
{
@@ -19,7 +18,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if ((uint)Priority > 0x3f)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid priority 0x{Priority:x8}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid priority 0x{Priority:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidPriority);
@@ -33,7 +32,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
}
else if ((uint)ProcessorId > 3)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid core id 0x{ProcessorId:x8}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid core id 0x{ProcessorId:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidCoreId);
@@ -66,7 +65,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
}
else
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
}
@@ -83,7 +82,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
{
ulong TimeoutNs = ThreadState.X0;
- Ns.Log.PrintDebug(LogClass.KernelSvc, "Timeout = " + TimeoutNs.ToString("x16"));
+ Device.Log.PrintDebug(LogClass.KernelSvc, "Timeout = 0x" + TimeoutNs.ToString("x16"));
KThread CurrThread = Process.GetThread(ThreadState.Tpidr);
@@ -114,7 +113,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
}
else
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
}
@@ -125,9 +124,9 @@ namespace Ryujinx.HLE.OsHle.Kernel
int Handle = (int)ThreadState.X0;
int Priority = (int)ThreadState.X1;
- Ns.Log.PrintDebug(LogClass.KernelSvc,
- "Handle = " + Handle .ToString("x8") + ", " +
- "Priority = " + Priority.ToString("x8"));
+ Device.Log.PrintDebug(LogClass.KernelSvc,
+ "Handle = 0x" + Handle .ToString("x8") + ", " +
+ "Priority = 0x" + Priority.ToString("x8"));
KThread Thread = GetThread(ThreadState.Tpidr, Handle);
@@ -139,7 +138,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
}
else
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
}
@@ -149,7 +148,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
{
int Handle = (int)ThreadState.X2;
- Ns.Log.PrintDebug(LogClass.KernelSvc, "Handle = " + Handle.ToString("x8"));
+ Device.Log.PrintDebug(LogClass.KernelSvc, "Handle = 0x" + Handle.ToString("x8"));
KThread Thread = GetThread(ThreadState.Tpidr, Handle);
@@ -161,7 +160,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
}
else
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
}
@@ -173,10 +172,10 @@ namespace Ryujinx.HLE.OsHle.Kernel
int IdealCore = (int)ThreadState.X1;
long CoreMask = (long)ThreadState.X2;
- Ns.Log.PrintDebug(LogClass.KernelSvc,
- "Handle = " + Handle .ToString("x8") + ", " +
- "IdealCore = " + IdealCore.ToString("x8") + ", " +
- "CoreMask = " + CoreMask .ToString("x16"));
+ Device.Log.PrintDebug(LogClass.KernelSvc,
+ "Handle = 0x" + Handle .ToString("x8") + ", " +
+ "IdealCore = 0x" + IdealCore.ToString("x8") + ", " +
+ "CoreMask = 0x" + CoreMask .ToString("x16"));
KThread Thread = GetThread(ThreadState.Tpidr, Handle);
@@ -193,7 +192,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
{
if ((IdealCore | 2) != -1)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid core id 0x{IdealCore:x8}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid core id 0x{IdealCore:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidCoreId);
@@ -202,7 +201,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
}
else if ((CoreMask & (1 << IdealCore)) == 0)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid core mask 0x{CoreMask:x8}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid core mask 0x{CoreMask:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidMaskValue);
@@ -212,7 +211,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (Thread == null)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
@@ -224,7 +223,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
//-3 is used as "don't update", the old IdealCore value is kept.
if (IdealCore == -3 && (CoreMask & (1 << Thread.IdealCore)) == 0)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid core mask 0x{CoreMask:x8}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid core mask 0x{CoreMask:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidMaskValue);
@@ -254,7 +253,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
}
else
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
}
@@ -275,7 +274,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
}
else
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
}
@@ -290,7 +289,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (Thread == null)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{Handle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
@@ -299,7 +298,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (Process.GetThread(ThreadState.Tpidr) == Thread)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Thread handle 0x{Handle:x8} is current thread!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Thread handle 0x{Handle:x8} is current thread!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidThread);
diff --git a/Ryujinx.HLE/OsHle/Kernel/SvcThreadSync.cs b/Ryujinx.HLE/HOS/Kernel/SvcThreadSync.cs
index 164a85ca..7097d0f7 100644
--- a/Ryujinx.HLE/OsHle/Kernel/SvcThreadSync.cs
+++ b/Ryujinx.HLE/HOS/Kernel/SvcThreadSync.cs
@@ -1,11 +1,10 @@
using ChocolArm64.State;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Handles;
using System;
-using static Ryujinx.HLE.OsHle.ErrorCode;
+using static Ryujinx.HLE.HOS.ErrorCode;
-namespace Ryujinx.HLE.OsHle.Kernel
+namespace Ryujinx.HLE.HOS.Kernel
{
partial class SvcHandler
{
@@ -17,23 +16,23 @@ namespace Ryujinx.HLE.OsHle.Kernel
long MutexAddress = (long)ThreadState.X1;
int WaitThreadHandle = (int)ThreadState.X2;
- Ns.Log.PrintDebug(LogClass.KernelSvc,
- "OwnerThreadHandle = " + OwnerThreadHandle.ToString("x8") + ", " +
- "MutexAddress = " + MutexAddress .ToString("x16") + ", " +
- "WaitThreadHandle = " + WaitThreadHandle .ToString("x8"));
+ Device.Log.PrintDebug(LogClass.KernelSvc,
+ "OwnerThreadHandle = 0x" + OwnerThreadHandle.ToString("x8") + ", " +
+ "MutexAddress = 0x" + MutexAddress .ToString("x16") + ", " +
+ "WaitThreadHandle = 0x" + WaitThreadHandle .ToString("x8"));
if (IsPointingInsideKernel(MutexAddress))
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid mutex address 0x{MutexAddress:x16}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid mutex address 0x{MutexAddress:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
return;
}
- if (IsWordAddressUnaligned(MutexAddress))
+ if (IsAddressNotWordAligned(MutexAddress))
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Unaligned mutex address 0x{MutexAddress:x16}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Unaligned mutex address 0x{MutexAddress:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@@ -44,7 +43,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (OwnerThread == null)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid owner thread handle 0x{OwnerThreadHandle:x8}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid owner thread handle 0x{OwnerThreadHandle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
@@ -55,7 +54,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (WaitThread == null)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid requesting thread handle 0x{WaitThreadHandle:x8}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid requesting thread handle 0x{WaitThreadHandle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
@@ -73,20 +72,20 @@ namespace Ryujinx.HLE.OsHle.Kernel
{
long MutexAddress = (long)ThreadState.X0;
- Ns.Log.PrintDebug(LogClass.KernelSvc, "MutexAddress = " + MutexAddress.ToString("x16"));
+ Device.Log.PrintDebug(LogClass.KernelSvc, "MutexAddress = 0x" + MutexAddress.ToString("x16"));
if (IsPointingInsideKernel(MutexAddress))
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid mutex address 0x{MutexAddress:x16}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid mutex address 0x{MutexAddress:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
return;
}
- if (IsWordAddressUnaligned(MutexAddress))
+ if (IsAddressNotWordAligned(MutexAddress))
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Unaligned mutex address 0x{MutexAddress:x16}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Unaligned mutex address 0x{MutexAddress:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@@ -105,24 +104,24 @@ namespace Ryujinx.HLE.OsHle.Kernel
int ThreadHandle = (int)ThreadState.X2;
ulong Timeout = ThreadState.X3;
- Ns.Log.PrintDebug(LogClass.KernelSvc,
- "MutexAddress = " + MutexAddress .ToString("x16") + ", " +
- "CondVarAddress = " + CondVarAddress.ToString("x16") + ", " +
- "ThreadHandle = " + ThreadHandle .ToString("x8") + ", " +
- "Timeout = " + Timeout .ToString("x16"));
+ Device.Log.PrintDebug(LogClass.KernelSvc,
+ "MutexAddress = 0x" + MutexAddress .ToString("x16") + ", " +
+ "CondVarAddress = 0x" + CondVarAddress.ToString("x16") + ", " +
+ "ThreadHandle = 0x" + ThreadHandle .ToString("x8") + ", " +
+ "Timeout = 0x" + Timeout .ToString("x16"));
if (IsPointingInsideKernel(MutexAddress))
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid mutex address 0x{MutexAddress:x16}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid mutex address 0x{MutexAddress:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
return;
}
- if (IsWordAddressUnaligned(MutexAddress))
+ if (IsAddressNotWordAligned(MutexAddress))
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Unaligned mutex address 0x{MutexAddress:x16}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Unaligned mutex address 0x{MutexAddress:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@@ -133,7 +132,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (Thread == null)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{ThreadHandle:x8}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{ThreadHandle:x8}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidHandle);
@@ -157,9 +156,9 @@ namespace Ryujinx.HLE.OsHle.Kernel
long CondVarAddress = (long)ThreadState.X0;
int Count = (int)ThreadState.X1;
- Ns.Log.PrintDebug(LogClass.KernelSvc,
- "CondVarAddress = " + CondVarAddress.ToString("x16") + ", " +
- "Count = " + Count .ToString("x8"));
+ Device.Log.PrintDebug(LogClass.KernelSvc,
+ "CondVarAddress = 0x" + CondVarAddress.ToString("x16") + ", " +
+ "Count = 0x" + Count .ToString("x8"));
KThread CurrThread = Process.GetThread(ThreadState.Tpidr);
@@ -179,7 +178,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
{
int MutexValue = Memory.ReadInt32(MutexAddress);
- Ns.Log.PrintDebug(LogClass.KernelSvc, "MutexValue = " + MutexValue.ToString("x8"));
+ Device.Log.PrintDebug(LogClass.KernelSvc, "MutexValue = 0x" + MutexValue.ToString("x8"));
if (MutexValue != (OwnerThreadHandle | MutexHasListenersMask))
{
@@ -192,7 +191,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
InsertWaitingMutexThreadUnsafe(OwnerThreadHandle, WaitThread);
}
- Ns.Log.PrintDebug(LogClass.KernelSvc, "Entering wait state...");
+ Device.Log.PrintDebug(LogClass.KernelSvc, "Entering wait state...");
Process.Scheduler.EnterWait(CurrThread);
}
@@ -204,24 +203,24 @@ namespace Ryujinx.HLE.OsHle.Kernel
int Value = (int)ThreadState.X2;
ulong Timeout = ThreadState.X3;
- Ns.Log.PrintDebug(LogClass.KernelSvc,
- "Address = " + Address.ToString("x16") + ", " +
- "ArbitrationType = " + Type .ToString() + ", " +
- "Value = " + Value .ToString("x8") + ", " +
- "Timeout = " + Timeout.ToString("x16"));
+ Device.Log.PrintDebug(LogClass.KernelSvc,
+ "Address = 0x" + Address.ToString("x16") + ", " +
+ "ArbitrationType = 0x" + Type .ToString() + ", " +
+ "Value = 0x" + Value .ToString("x8") + ", " +
+ "Timeout = 0x" + Timeout.ToString("x16"));
if (IsPointingInsideKernel(Address))
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid address 0x{Address:x16}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid address 0x{Address:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.NoAccessPerm);
return;
}
- if (IsWordAddressUnaligned(Address))
+ if (IsAddressNotWordAligned(Address))
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Unaligned address 0x{Address:x16}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Unaligned address 0x{Address:x16}!");
ThreadState.X0 = MakeError(ErrorModule.Kernel, KernelErr.InvalidAddress);
@@ -282,13 +281,13 @@ namespace Ryujinx.HLE.OsHle.Kernel
Process.Scheduler.WakeUp(OwnerThread);
- Ns.Log.PrintDebug(LogClass.KernelSvc, "Gave mutex to thread id " + OwnerThread.ThreadId + "!");
+ Device.Log.PrintDebug(LogClass.KernelSvc, "Gave mutex to thread id " + OwnerThread.ThreadId + "!");
}
else
{
Memory.WriteInt32ToSharedAddr(MutexAddress, 0);
- Ns.Log.PrintDebug(LogClass.KernelSvc, "No threads waiting mutex!");
+ Device.Log.PrintDebug(LogClass.KernelSvc, "No threads waiting mutex!");
}
}
}
@@ -313,7 +312,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
Process.ThreadArbiterList.Add(WaitThread);
}
- Ns.Log.PrintDebug(LogClass.KernelSvc, "Entering wait state...");
+ Device.Log.PrintDebug(LogClass.KernelSvc, "Entering wait state...");
if (Timeout != ulong.MaxValue)
{
@@ -333,7 +332,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
Process.ThreadArbiterList.Remove(WaitThread);
- Ns.Log.PrintDebug(LogClass.KernelSvc, "Timed out...");
+ Device.Log.PrintDebug(LogClass.KernelSvc, "Timed out...");
return false;
}
@@ -361,7 +360,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (WaitThread == null)
{
- Ns.Log.PrintDebug(LogClass.KernelSvc, "No more threads to wake up!");
+ Device.Log.PrintDebug(LogClass.KernelSvc, "No more threads to wake up!");
break;
}
@@ -393,7 +392,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
MutexValue = Memory.ReadInt32(MutexAddress);
}
- Ns.Log.PrintDebug(LogClass.KernelSvc, "MutexValue = " + MutexValue.ToString("x8"));
+ Device.Log.PrintDebug(LogClass.KernelSvc, "MutexValue = 0x" + MutexValue.ToString("x8"));
if (MutexValue == 0)
{
@@ -437,7 +436,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
if (OwnerThread == null)
{
- Ns.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{OwnerThreadHandle:x8}!");
+ Device.Log.PrintWarning(LogClass.KernelSvc, $"Invalid thread handle 0x{OwnerThreadHandle:x8}!");
return;
}
@@ -516,7 +515,7 @@ namespace Ryujinx.HLE.OsHle.Kernel
return ((ulong)Address + 0x1000000000) < 0xffffff000;
}
- private bool IsWordAddressUnaligned(long Address)
+ private bool IsAddressNotWordAligned(long Address)
{
return (Address & 3) != 0;
}
diff --git a/Ryujinx.HLE/OsHle/Handles/ThreadQueue.cs b/Ryujinx.HLE/HOS/Kernel/ThreadQueue.cs
index 09dcb3d0..815e86ad 100644
--- a/Ryujinx.HLE/OsHle/Handles/ThreadQueue.cs
+++ b/Ryujinx.HLE/HOS/Kernel/ThreadQueue.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Handles
+namespace Ryujinx.HLE.HOS.Kernel
{
class ThreadQueue
{
diff --git a/Ryujinx.HLE/OsHle/Process.cs b/Ryujinx.HLE/HOS/Process.cs
index 96fe3610..bfda93f4 100644
--- a/Ryujinx.HLE/OsHle/Process.cs
+++ b/Ryujinx.HLE/HOS/Process.cs
@@ -2,30 +2,29 @@ using ChocolArm64;
using ChocolArm64.Events;
using ChocolArm64.Memory;
using ChocolArm64.State;
+using Ryujinx.HLE.Exceptions;
+using Ryujinx.HLE.HOS.Diagnostics;
+using Ryujinx.HLE.HOS.Kernel;
+using Ryujinx.HLE.HOS.Services.Nv;
+using Ryujinx.HLE.HOS.SystemState;
using Ryujinx.HLE.Loaders;
using Ryujinx.HLE.Loaders.Executables;
using Ryujinx.HLE.Loaders.Npdm;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Diagnostics;
-using Ryujinx.HLE.OsHle.Exceptions;
-using Ryujinx.HLE.OsHle.Handles;
-using Ryujinx.HLE.OsHle.Kernel;
-using Ryujinx.HLE.OsHle.Services.Nv;
-using Ryujinx.HLE.OsHle.SystemState;
-using Ryujinx.HLE.OsHle.Utilities;
+using Ryujinx.HLE.Utilities;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.IO;
using System.Text;
-namespace Ryujinx.HLE.OsHle
+namespace Ryujinx.HLE.HOS
{
class Process : IDisposable
{
private const int TickFreq = 19_200_000;
- public Switch Ns { get; private set; }
+ public Switch Device { get; private set; }
public bool NeedsHbAbi { get; private set; }
@@ -57,8 +56,6 @@ namespace Ryujinx.HLE.OsHle
private ConcurrentDictionary<long, KThread> Threads;
- private KThread MainThread;
-
private List<Executable> Executables;
private Dictionary<long, string> SymbolTable;
@@ -69,14 +66,14 @@ namespace Ryujinx.HLE.OsHle
private bool Disposed;
- public Process(Switch Ns, KProcessScheduler Scheduler, int ProcessId, Npdm MetaData)
+ public Process(Switch Device, KProcessScheduler Scheduler, int ProcessId, Npdm MetaData)
{
- this.Ns = Ns;
+ this.Device = Device;
this.Scheduler = Scheduler;
this.MetaData = MetaData;
this.ProcessId = ProcessId;
- Memory = new AMemory(Ns.Memory.RamPointer);
+ Memory = new AMemory(Device.Memory.RamPointer);
MemoryManager = new KMemoryManager(this);
@@ -90,7 +87,7 @@ namespace Ryujinx.HLE.OsHle
AppletState = new AppletStateMgr();
- SvcHandler = new SvcHandler(Ns, this);
+ SvcHandler = new SvcHandler(Device, this);
Threads = new ConcurrentDictionary<long, KThread>();
@@ -106,7 +103,7 @@ namespace Ryujinx.HLE.OsHle
throw new ObjectDisposedException(nameof(Process));
}
- Ns.Log.PrintInfo(LogClass.Loader, $"Image base at 0x{ImageBase:x16}.");
+ Device.Log.PrintInfo(LogClass.Loader, $"Image base at 0x{ImageBase:x16}.");
Executable Executable = new Executable(Program, MemoryManager, Memory, ImageBase);
@@ -156,7 +153,7 @@ namespace Ryujinx.HLE.OsHle
return false;
}
- MainThread = HandleTable.GetData<KThread>(Handle);
+ KThread MainThread = HandleTable.GetData<KThread>(Handle);
if (NeedsHbAbi)
{
@@ -170,7 +167,7 @@ namespace Ryujinx.HLE.OsHle
MemoryState.MappedMemory,
MemoryPermission.ReadAndWrite);
- string SwitchPath = Ns.VFs.SystemPathToSwitchPath(Executables[0].FilePath);
+ string SwitchPath = Device.FileSystem.SystemPathToSwitchPath(Executables[0].FilePath);
Homebrew.WriteHbAbiData(Memory, HbAbiDataPosition, Handle, SwitchPath);
@@ -183,24 +180,6 @@ namespace Ryujinx.HLE.OsHle
return true;
}
- public void StopAllThreadsAsync()
- {
- if (Disposed)
- {
- throw new ObjectDisposedException(nameof(Process));
- }
-
- if (MainThread != null)
- {
- MainThread.Thread.StopExecution();
- }
-
- foreach (KThread Thread in Threads.Values)
- {
- Thread.Thread.StopExecution();
- }
- }
-
public int MakeThread(
long EntryPoint,
long StackTop,
@@ -215,18 +194,16 @@ namespace Ryujinx.HLE.OsHle
AThread CpuThread = new AThread(GetTranslator(), Memory, EntryPoint);
- KThread Thread = new KThread(CpuThread, this, ProcessorId, Priority);
+ long Tpidr = GetFreeTls();
- Thread.LastPc = EntryPoint;
+ int ThreadId = (int)((Tpidr - MemoryManager.TlsIoRegionStart) / 0x200) + 1;
- int Handle = HandleTable.OpenHandle(Thread);
+ KThread Thread = new KThread(CpuThread, this, ProcessorId, Priority, ThreadId);
- long Tpidr = GetFreeTls();
+ Thread.LastPc = EntryPoint;
- int ThreadId = (int)((Tpidr - MemoryManager.TlsIoRegionStart) / 0x200) + 1;
+ int Handle = HandleTable.OpenHandle(Thread);
- CpuThread.ThreadState.ProcessId = ProcessId;
- CpuThread.ThreadState.ThreadId = ThreadId;
CpuThread.ThreadState.CntfrqEl0 = TickFreq;
CpuThread.ThreadState.Tpidr = Tpidr;
@@ -330,7 +307,7 @@ namespace Ryujinx.HLE.OsHle
}
}
- Ns.Log.PrintDebug(LogClass.Cpu, $"Executing at 0x{e.Position:x16} {e.SubName} {NsoName}");
+ Device.Log.PrintDebug(LogClass.Cpu, $"Executing at 0x{e.Position:x16} {e.SubName} {NsoName}");
}
public void PrintStackTrace(AThreadState ThreadState)
@@ -355,7 +332,7 @@ namespace Ryujinx.HLE.OsHle
Trace.AppendLine(" " + SubName + " (" + GetNsoNameAndAddress(Position) + ")");
}
- Ns.Log.PrintInfo(LogClass.Cpu, Trace.ToString());
+ Device.Log.PrintInfo(LogClass.Cpu, Trace.ToString());
}
private string GetNsoNameAndAddress(long Position)
@@ -390,12 +367,7 @@ namespace Ryujinx.HLE.OsHle
if (Threads.Count == 0)
{
- if (ShouldDispose)
- {
- Dispose();
- }
-
- Ns.Os.ExitProcess(ProcessId);
+ Device.System.ExitProcess(ProcessId);
}
}
@@ -409,6 +381,35 @@ namespace Ryujinx.HLE.OsHle
return Thread;
}
+ private void Unload()
+ {
+ if (Disposed || Threads.Count > 0)
+ {
+ return;
+ }
+
+ Disposed = true;
+
+ foreach (object Obj in HandleTable.Clear())
+ {
+ if (Obj is KSession Session)
+ {
+ Session.Dispose();
+ }
+ }
+
+ INvDrvServices.UnloadProcess(this);
+
+ AppletState.Dispose();
+
+ if (NeedsHbAbi && Executables.Count > 0 && Executables[0].FilePath.EndsWith(Homebrew.TemporaryNroSuffix))
+ {
+ File.Delete(Executables[0].FilePath);
+ }
+
+ Device.Log.PrintInfo(LogClass.Loader, $"Process {ProcessId} exiting...");
+ }
+
public void Dispose()
{
Dispose(true);
@@ -416,41 +417,21 @@ namespace Ryujinx.HLE.OsHle
protected virtual void Dispose(bool Disposing)
{
- if (Disposing && !Disposed)
+ if (Disposing)
{
- //If there is still some thread running, disposing the objects is not
- //safe as the thread may try to access those resources. Instead, we set
- //the flag to have the Process disposed when all threads finishes.
- //Note: This may not happen if the guest code gets stuck on a infinite loop.
if (Threads.Count > 0)
{
- ShouldDispose = true;
-
- Ns.Log.PrintInfo(LogClass.Loader, $"Process {ProcessId} waiting all threads terminate...");
-
- return;
- }
-
- Disposed = true;
-
- foreach (object Obj in HandleTable.Clear())
- {
- if (Obj is KSession Session)
+ foreach (KThread Thread in Threads.Values)
{
- Session.Dispose();
+ Thread.Thread.StopExecution();
+
+ Scheduler.ForceWakeUp(Thread);
}
}
-
- if (NeedsHbAbi && Executables.Count > 0 && Executables[0].FilePath.EndsWith(Homebrew.TemporaryNroSuffix))
+ else
{
- File.Delete(Executables[0].FilePath);
+ Unload();
}
-
- INvDrvServices.UnloadProcess(this);
-
- AppletState.Dispose();
-
- Ns.Log.PrintInfo(LogClass.Loader, $"Process {ProcessId} exiting...");
}
}
}
diff --git a/Ryujinx.HLE/OsHle/ServiceCtx.cs b/Ryujinx.HLE/HOS/ServiceCtx.cs
index eb9ff5fd..d8c9fdf6 100644
--- a/Ryujinx.HLE/OsHle/ServiceCtx.cs
+++ b/Ryujinx.HLE/HOS/ServiceCtx.cs
@@ -1,13 +1,13 @@
using ChocolArm64.Memory;
-using Ryujinx.HLE.OsHle.Handles;
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.Kernel;
using System.IO;
-namespace Ryujinx.HLE.OsHle
+namespace Ryujinx.HLE.HOS
{
class ServiceCtx
{
- public Switch Ns { get; private set; }
+ public Switch Device { get; private set; }
public Process Process { get; private set; }
public AMemory Memory { get; private set; }
public KSession Session { get; private set; }
@@ -17,7 +17,7 @@ namespace Ryujinx.HLE.OsHle
public BinaryWriter ResponseData { get; private set; }
public ServiceCtx(
- Switch Ns,
+ Switch Device,
Process Process,
AMemory Memory,
KSession Session,
@@ -26,7 +26,7 @@ namespace Ryujinx.HLE.OsHle
BinaryReader RequestData,
BinaryWriter ResponseData)
{
- this.Ns = Ns;
+ this.Device = Device;
this.Process = Process;
this.Memory = Memory;
this.Session = Session;
diff --git a/Ryujinx.HLE/OsHle/Services/Acc/AccErr.cs b/Ryujinx.HLE/HOS/Services/Acc/AccErr.cs
index 5daef1aa..144d6680 100644
--- a/Ryujinx.HLE/OsHle/Services/Acc/AccErr.cs
+++ b/Ryujinx.HLE/HOS/Services/Acc/AccErr.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Acc
+namespace Ryujinx.HLE.HOS.Services.Acc
{
static class AccErr
{
diff --git a/Ryujinx.HLE/OsHle/Services/Acc/IAccountServiceForApplication.cs b/Ryujinx.HLE/HOS/Services/Acc/IAccountServiceForApplication.cs
index 34376a7b..36dfd9ef 100644
--- a/Ryujinx.HLE/OsHle/Services/Acc/IAccountServiceForApplication.cs
+++ b/Ryujinx.HLE/HOS/Services/Acc/IAccountServiceForApplication.cs
@@ -1,12 +1,11 @@
-using ChocolArm64.Memory;
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.SystemState;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Ipc;
-using Ryujinx.HLE.OsHle.SystemState;
using System.Collections.Generic;
-using static Ryujinx.HLE.OsHle.ErrorCode;
+using static Ryujinx.HLE.HOS.ErrorCode;
-namespace Ryujinx.HLE.OsHle.Services.Acc
+namespace Ryujinx.HLE.HOS.Services.Acc
{
class IAccountServiceForApplication : IpcService
{
@@ -31,7 +30,7 @@ namespace Ryujinx.HLE.OsHle.Services.Acc
public long GetUserCount(ServiceCtx Context)
{
- Context.ResponseData.Write(Context.Ns.Os.SystemState.GetUserCount());
+ Context.ResponseData.Write(Context.Device.System.State.GetUserCount());
return 0;
}
@@ -42,19 +41,19 @@ namespace Ryujinx.HLE.OsHle.Services.Acc
Context.RequestData.ReadInt64(),
Context.RequestData.ReadInt64());
- Context.ResponseData.Write(Context.Ns.Os.SystemState.TryGetUser(Uuid, out _) ? 1 : 0);
+ Context.ResponseData.Write(Context.Device.System.State.TryGetUser(Uuid, out _) ? 1 : 0);
return 0;
}
public long ListAllUsers(ServiceCtx Context)
{
- return WriteUserList(Context, Context.Ns.Os.SystemState.GetAllUsers());
+ return WriteUserList(Context, Context.Device.System.State.GetAllUsers());
}
public long ListOpenUsers(ServiceCtx Context)
{
- return WriteUserList(Context, Context.Ns.Os.SystemState.GetOpenUsers());
+ return WriteUserList(Context, Context.Device.System.State.GetOpenUsers());
}
private long WriteUserList(ServiceCtx Context, IEnumerable<UserProfile> Profiles)
@@ -84,7 +83,7 @@ namespace Ryujinx.HLE.OsHle.Services.Acc
public long GetLastOpenedUser(ServiceCtx Context)
{
- UserProfile LastOpened = Context.Ns.Os.SystemState.LastOpenUser;
+ UserProfile LastOpened = Context.Device.System.State.LastOpenUser;
LastOpened.Uuid.Write(Context.ResponseData);
@@ -97,9 +96,9 @@ namespace Ryujinx.HLE.OsHle.Services.Acc
Context.RequestData.ReadInt64(),
Context.RequestData.ReadInt64());
- if (!Context.Ns.Os.SystemState.TryGetUser(Uuid, out UserProfile Profile))
+ if (!Context.Device.System.State.TryGetUser(Uuid, out UserProfile Profile))
{
- Context.Ns.Log.PrintWarning(LogClass.ServiceAcc, $"User 0x{Uuid} not found!");
+ Context.Device.Log.PrintWarning(LogClass.ServiceAcc, $"User 0x{Uuid} not found!");
return MakeError(ErrorModule.Account, AccErr.UserNotFound);
}
@@ -111,7 +110,7 @@ namespace Ryujinx.HLE.OsHle.Services.Acc
public long InitializeApplicationInfo(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceAcc, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAcc, "Stubbed.");
return 0;
}
diff --git a/Ryujinx.HLE/OsHle/Services/Acc/IManagerForApplication.cs b/Ryujinx.HLE/HOS/Services/Acc/IManagerForApplication.cs
index ce3865f4..813a1b17 100644
--- a/Ryujinx.HLE/OsHle/Services/Acc/IManagerForApplication.cs
+++ b/Ryujinx.HLE/HOS/Services/Acc/IManagerForApplication.cs
@@ -1,8 +1,8 @@
+using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Acc
+namespace Ryujinx.HLE.HOS.Services.Acc
{
class IManagerForApplication : IpcService
{
@@ -21,14 +21,14 @@ namespace Ryujinx.HLE.OsHle.Services.Acc
public long CheckAvailability(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceAcc, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAcc, "Stubbed.");
return 0;
}
public long GetAccountId(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceAcc, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAcc, "Stubbed.");
Context.ResponseData.Write(0xcafeL);
diff --git a/Ryujinx.HLE/OsHle/Services/Acc/IProfile.cs b/Ryujinx.HLE/HOS/Services/Acc/IProfile.cs
index bb1e885e..960cc49c 100644
--- a/Ryujinx.HLE/OsHle/Services/Acc/IProfile.cs
+++ b/Ryujinx.HLE/HOS/Services/Acc/IProfile.cs
@@ -1,12 +1,12 @@
using ChocolArm64.Memory;
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.SystemState;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Ipc;
-using Ryujinx.HLE.OsHle.SystemState;
-using Ryujinx.HLE.OsHle.Utilities;
+using Ryujinx.HLE.Utilities;
using System.Collections.Generic;
using System.Text;
-namespace Ryujinx.HLE.OsHle.Services.Acc
+namespace Ryujinx.HLE.HOS.Services.Acc
{
class IProfile : IpcService
{
@@ -29,7 +29,7 @@ namespace Ryujinx.HLE.OsHle.Services.Acc
public long Get(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceAcc, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAcc, "Stubbed.");
long Position = Context.Request.ReceiveBuff[0].Position;
diff --git a/Ryujinx.HLE/OsHle/Services/Am/AmErr.cs b/Ryujinx.HLE/HOS/Services/Am/AmErr.cs
index 66224639..4e7771b8 100644
--- a/Ryujinx.HLE/OsHle/Services/Am/AmErr.cs
+++ b/Ryujinx.HLE/HOS/Services/Am/AmErr.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Am
+namespace Ryujinx.HLE.HOS.Services.Am
{
static class AmErr
{
diff --git a/Ryujinx.HLE/OsHle/Services/Am/FocusState.cs b/Ryujinx.HLE/HOS/Services/Am/FocusState.cs
index 074f159e..e8ae7223 100644
--- a/Ryujinx.HLE/OsHle/Services/Am/FocusState.cs
+++ b/Ryujinx.HLE/HOS/Services/Am/FocusState.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Am
+namespace Ryujinx.HLE.HOS.Services.Am
{
enum FocusState
{
diff --git a/Ryujinx.HLE/OsHle/Services/Am/IAllSystemAppletProxiesService.cs b/Ryujinx.HLE/HOS/Services/Am/IAllSystemAppletProxiesService.cs
index 8dc17cec..2d44526a 100644
--- a/Ryujinx.HLE/OsHle/Services/Am/IAllSystemAppletProxiesService.cs
+++ b/Ryujinx.HLE/HOS/Services/Am/IAllSystemAppletProxiesService.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Am
+namespace Ryujinx.HLE.HOS.Services.Am
{
class IAllSystemAppletProxiesService : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Am/IApplicationCreator.cs b/Ryujinx.HLE/HOS/Services/Am/IApplicationCreator.cs
index 6ee5b5c2..c5ed09f5 100644
--- a/Ryujinx.HLE/OsHle/Services/Am/IApplicationCreator.cs
+++ b/Ryujinx.HLE/HOS/Services/Am/IApplicationCreator.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Am
+namespace Ryujinx.HLE.HOS.Services.Am
{
class IApplicationCreator : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Am/IApplicationFunctions.cs b/Ryujinx.HLE/HOS/Services/Am/IApplicationFunctions.cs
index e25b524a..0a10d2a6 100644
--- a/Ryujinx.HLE/OsHle/Services/Am/IApplicationFunctions.cs
+++ b/Ryujinx.HLE/HOS/Services/Am/IApplicationFunctions.cs
@@ -1,8 +1,8 @@
+using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Am
+namespace Ryujinx.HLE.HOS.Services.Am
{
class IApplicationFunctions : IpcService
{
@@ -39,7 +39,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
long UIdLow = Context.RequestData.ReadInt64();
long UIdHigh = Context.RequestData.ReadInt64();
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
Context.ResponseData.Write(0L);
@@ -48,7 +48,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
public long GetDesiredLanguage(ServiceCtx Context)
{
- Context.ResponseData.Write(Context.Ns.Os.SystemState.DesiredLanguageCode);
+ Context.ResponseData.Write(Context.Device.System.State.DesiredLanguageCode);
return 0;
}
@@ -59,7 +59,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
string Result = GetFormattedErrorCode(ErrorCode);
- Context.Ns.Log.PrintInfo(LogClass.ServiceAm, $"Result = 0x{ErrorCode:x8} ({Result}).");
+ Context.Device.Log.PrintInfo(LogClass.ServiceAm, $"Result = 0x{ErrorCode:x8} ({Result}).");
return 0;
}
@@ -90,7 +90,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
public long GetPseudoDeviceId(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
Context.ResponseData.Write(0L);
Context.ResponseData.Write(0L);
@@ -100,7 +100,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
public long InitializeGamePlayRecording(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
@@ -109,7 +109,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
{
int State = Context.RequestData.ReadInt32();
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
diff --git a/Ryujinx.HLE/OsHle/Services/Am/IApplicationProxy.cs b/Ryujinx.HLE/HOS/Services/Am/IApplicationProxy.cs
index ec028502..4003f151 100644
--- a/Ryujinx.HLE/OsHle/Services/Am/IApplicationProxy.cs
+++ b/Ryujinx.HLE/HOS/Services/Am/IApplicationProxy.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Am
+namespace Ryujinx.HLE.HOS.Services.Am
{
class IApplicationProxy : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Am/IApplicationProxyService.cs b/Ryujinx.HLE/HOS/Services/Am/IApplicationProxyService.cs
index 6b39b265..fb518af9 100644
--- a/Ryujinx.HLE/OsHle/Services/Am/IApplicationProxyService.cs
+++ b/Ryujinx.HLE/HOS/Services/Am/IApplicationProxyService.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Am
+namespace Ryujinx.HLE.HOS.Services.Am
{
class IApplicationProxyService : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Am/IAudioController.cs b/Ryujinx.HLE/HOS/Services/Am/IAudioController.cs
index 3cb63181..8968ad72 100644
--- a/Ryujinx.HLE/OsHle/Services/Am/IAudioController.cs
+++ b/Ryujinx.HLE/HOS/Services/Am/IAudioController.cs
@@ -1,8 +1,8 @@
+using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Am
+namespace Ryujinx.HLE.HOS.Services.Am
{
class IAudioController : IpcService
{
@@ -27,7 +27,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
float AppletVolume = Context.RequestData.ReadSingle();
float LibraryAppletVolume = Context.RequestData.ReadSingle();
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
@@ -36,7 +36,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
{
Context.ResponseData.Write(1f);
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
@@ -45,7 +45,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
{
Context.ResponseData.Write(1f);
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
@@ -55,7 +55,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
float Unknown0 = Context.RequestData.ReadSingle();
long Unknown1 = Context.RequestData.ReadInt64();
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
@@ -64,7 +64,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
{
float Unknown0 = Context.RequestData.ReadSingle();
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
diff --git a/Ryujinx.HLE/OsHle/Services/Am/ICommonStateGetter.cs b/Ryujinx.HLE/HOS/Services/Am/ICommonStateGetter.cs
index 2d04151c..3cdfbbdb 100644
--- a/Ryujinx.HLE/OsHle/Services/Am/ICommonStateGetter.cs
+++ b/Ryujinx.HLE/HOS/Services/Am/ICommonStateGetter.cs
@@ -1,11 +1,11 @@
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.Kernel;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Handles;
-using Ryujinx.HLE.OsHle.Ipc;
using System.Collections.Generic;
-using static Ryujinx.HLE.OsHle.ErrorCode;
+using static Ryujinx.HLE.HOS.ErrorCode;
-namespace Ryujinx.HLE.OsHle.Services.Am
+namespace Ryujinx.HLE.HOS.Services.Am
{
class ICommonStateGetter : IpcService
{
@@ -57,7 +57,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
public long GetOperationMode(ServiceCtx Context)
{
- OperationMode Mode = Context.Ns.Os.SystemState.DockedMode
+ OperationMode Mode = Context.Device.System.State.DockedMode
? OperationMode.Docked
: OperationMode.Handheld;
@@ -68,7 +68,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
public long GetPerformanceMode(ServiceCtx Context)
{
- Apm.PerformanceMode Mode = Context.Ns.Os.SystemState.DockedMode
+ Apm.PerformanceMode Mode = Context.Device.System.State.DockedMode
? Apm.PerformanceMode.Docked
: Apm.PerformanceMode.Handheld;
@@ -81,7 +81,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
{
Context.ResponseData.Write((byte)0); //Unknown value.
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
@@ -107,7 +107,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
Context.Response.HandleDesc = IpcHandleDesc.MakeCopy(Handle);
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
diff --git a/Ryujinx.HLE/OsHle/Services/Am/IDebugFunctions.cs b/Ryujinx.HLE/HOS/Services/Am/IDebugFunctions.cs
index b07c68dd..d86743c0 100644
--- a/Ryujinx.HLE/OsHle/Services/Am/IDebugFunctions.cs
+++ b/Ryujinx.HLE/HOS/Services/Am/IDebugFunctions.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Am
+namespace Ryujinx.HLE.HOS.Services.Am
{
class IDebugFunctions : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Am/IDisplayController.cs b/Ryujinx.HLE/HOS/Services/Am/IDisplayController.cs
index 8785f071..c4d49579 100644
--- a/Ryujinx.HLE/OsHle/Services/Am/IDisplayController.cs
+++ b/Ryujinx.HLE/HOS/Services/Am/IDisplayController.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Am
+namespace Ryujinx.HLE.HOS.Services.Am
{
class IDisplayController : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Am/IGlobalStateController.cs b/Ryujinx.HLE/HOS/Services/Am/IGlobalStateController.cs
index 0fbcb284..e646327f 100644
--- a/Ryujinx.HLE/OsHle/Services/Am/IGlobalStateController.cs
+++ b/Ryujinx.HLE/HOS/Services/Am/IGlobalStateController.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Am
+namespace Ryujinx.HLE.HOS.Services.Am
{
class IGlobalStateController : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Am/IHomeMenuFunctions.cs b/Ryujinx.HLE/HOS/Services/Am/IHomeMenuFunctions.cs
index 1005fe0c..95028ca0 100644
--- a/Ryujinx.HLE/OsHle/Services/Am/IHomeMenuFunctions.cs
+++ b/Ryujinx.HLE/HOS/Services/Am/IHomeMenuFunctions.cs
@@ -1,9 +1,9 @@
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.Kernel;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Handles;
-using Ryujinx.HLE.OsHle.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Am
+namespace Ryujinx.HLE.HOS.Services.Am
{
class IHomeMenuFunctions : IpcService
{
@@ -27,7 +27,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
public long RequestToGetForeground(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
@@ -38,7 +38,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
Context.Response.HandleDesc = IpcHandleDesc.MakeCopy(Handle);
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
diff --git a/Ryujinx.HLE/OsHle/Services/Am/ILibraryAppletAccessor.cs b/Ryujinx.HLE/HOS/Services/Am/ILibraryAppletAccessor.cs
index b1955cc6..e099ec64 100644
--- a/Ryujinx.HLE/OsHle/Services/Am/ILibraryAppletAccessor.cs
+++ b/Ryujinx.HLE/HOS/Services/Am/ILibraryAppletAccessor.cs
@@ -1,9 +1,9 @@
-using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Handles;
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.Kernel;
+using Ryujinx.HLE.Logging;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Am
+namespace Ryujinx.HLE.HOS.Services.Am
{
class ILibraryAppletAccessor : IpcService
{
@@ -35,28 +35,28 @@ namespace Ryujinx.HLE.OsHle.Services.Am
Context.Response.HandleDesc = IpcHandleDesc.MakeCopy(Handle);
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
public long Start(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
public long GetResult(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
public long PushInData(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
diff --git a/Ryujinx.HLE/OsHle/Services/Am/ILibraryAppletCreator.cs b/Ryujinx.HLE/HOS/Services/Am/ILibraryAppletCreator.cs
index 66973fc6..065574c7 100644
--- a/Ryujinx.HLE/OsHle/Services/Am/ILibraryAppletCreator.cs
+++ b/Ryujinx.HLE/HOS/Services/Am/ILibraryAppletCreator.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Am
+namespace Ryujinx.HLE.HOS.Services.Am
{
class ILibraryAppletCreator : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Am/ISelfController.cs b/Ryujinx.HLE/HOS/Services/Am/ISelfController.cs
index 9b3dded2..ccd96e0d 100644
--- a/Ryujinx.HLE/OsHle/Services/Am/ISelfController.cs
+++ b/Ryujinx.HLE/HOS/Services/Am/ISelfController.cs
@@ -1,9 +1,9 @@
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.Kernel;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Handles;
-using Ryujinx.HLE.OsHle.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Am
+namespace Ryujinx.HLE.HOS.Services.Am
{
class ISelfController : IpcService
{
@@ -36,22 +36,22 @@ namespace Ryujinx.HLE.OsHle.Services.Am
public long Exit(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
-
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+
return 0;
}
public long LockExit(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
-
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+
return 0;
}
public long UnlockExit(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
-
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+
return 0;
}
@@ -63,7 +63,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
Context.Response.HandleDesc = IpcHandleDesc.MakeCopy(Handle);
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
@@ -72,7 +72,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
{
bool Enable = Context.RequestData.ReadByte() != 0 ? true : false;
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
@@ -81,7 +81,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
{
bool Enable = Context.RequestData.ReadByte() != 0 ? true : false;
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
@@ -90,7 +90,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
{
bool Enable = Context.RequestData.ReadByte() != 0 ? true : false;
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
@@ -101,7 +101,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
bool Flag2 = Context.RequestData.ReadByte() != 0 ? true : false;
bool Flag3 = Context.RequestData.ReadByte() != 0 ? true : false;
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
@@ -110,7 +110,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
{
bool Enable = Context.RequestData.ReadByte() != 0 ? true : false;
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
@@ -119,7 +119,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
{
bool Enable = Context.RequestData.ReadByte() != 0 ? true : false;
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
@@ -127,8 +127,8 @@ namespace Ryujinx.HLE.OsHle.Services.Am
public long SetScreenShotImageOrientation(ServiceCtx Context)
{
int Orientation = Context.RequestData.ReadInt32();
-
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
@@ -137,7 +137,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
{
bool Enable = Context.RequestData.ReadByte() != 0 ? true : false;
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
diff --git a/Ryujinx.HLE/OsHle/Services/Am/IStorage.cs b/Ryujinx.HLE/HOS/Services/Am/IStorage.cs
index 0aa1f571..10778122 100644
--- a/Ryujinx.HLE/OsHle/Services/Am/IStorage.cs
+++ b/Ryujinx.HLE/HOS/Services/Am/IStorage.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Am
+namespace Ryujinx.HLE.HOS.Services.Am
{
class IStorage : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Am/IStorageAccessor.cs b/Ryujinx.HLE/HOS/Services/Am/IStorageAccessor.cs
index c2a8c11e..a60cf149 100644
--- a/Ryujinx.HLE/OsHle/Services/Am/IStorageAccessor.cs
+++ b/Ryujinx.HLE/HOS/Services/Am/IStorageAccessor.cs
@@ -1,8 +1,8 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Am
+namespace Ryujinx.HLE.HOS.Services.Am
{
class IStorageAccessor : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Am/ISystemAppletProxy.cs b/Ryujinx.HLE/HOS/Services/Am/ISystemAppletProxy.cs
index e0d78e34..c08d4018 100644
--- a/Ryujinx.HLE/OsHle/Services/Am/ISystemAppletProxy.cs
+++ b/Ryujinx.HLE/HOS/Services/Am/ISystemAppletProxy.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Am
+namespace Ryujinx.HLE.HOS.Services.Am
{
class ISystemAppletProxy : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Am/IWindowController.cs b/Ryujinx.HLE/HOS/Services/Am/IWindowController.cs
index d9ab5db3..1a5a716f 100644
--- a/Ryujinx.HLE/OsHle/Services/Am/IWindowController.cs
+++ b/Ryujinx.HLE/HOS/Services/Am/IWindowController.cs
@@ -1,8 +1,8 @@
+using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Am
+namespace Ryujinx.HLE.HOS.Services.Am
{
class IWindowController : IpcService
{
@@ -21,7 +21,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
public long GetAppletResourceUserId(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
Context.ResponseData.Write(0L);
@@ -30,7 +30,7 @@ namespace Ryujinx.HLE.OsHle.Services.Am
public long AcquireForegroundRights(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
diff --git a/Ryujinx.HLE/OsHle/Services/Am/MessageInfo.cs b/Ryujinx.HLE/HOS/Services/Am/MessageInfo.cs
index bae985fb..65fddbed 100644
--- a/Ryujinx.HLE/OsHle/Services/Am/MessageInfo.cs
+++ b/Ryujinx.HLE/HOS/Services/Am/MessageInfo.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Am
+namespace Ryujinx.HLE.HOS.Services.Am
{
enum MessageInfo
{
diff --git a/Ryujinx.HLE/OsHle/Services/Am/OperationMode.cs b/Ryujinx.HLE/HOS/Services/Am/OperationMode.cs
index 632ce931..cb11fff9 100644
--- a/Ryujinx.HLE/OsHle/Services/Am/OperationMode.cs
+++ b/Ryujinx.HLE/HOS/Services/Am/OperationMode.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Am
+namespace Ryujinx.HLE.HOS.Services.Am
{
enum OperationMode
{
diff --git a/Ryujinx.HLE/OsHle/Services/Am/StorageHelper.cs b/Ryujinx.HLE/HOS/Services/Am/StorageHelper.cs
index 56e2a652..b97ffc1e 100644
--- a/Ryujinx.HLE/OsHle/Services/Am/StorageHelper.cs
+++ b/Ryujinx.HLE/HOS/Services/Am/StorageHelper.cs
@@ -1,6 +1,6 @@
using System.IO;
-namespace Ryujinx.HLE.OsHle.Services.Am
+namespace Ryujinx.HLE.HOS.Services.Am
{
class StorageHelper
{
diff --git a/Ryujinx.HLE/OsHle/Services/Apm/IManager.cs b/Ryujinx.HLE/HOS/Services/Apm/IManager.cs
index 22150d6e..50822def 100644
--- a/Ryujinx.HLE/OsHle/Services/Apm/IManager.cs
+++ b/Ryujinx.HLE/HOS/Services/Apm/IManager.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Apm
+namespace Ryujinx.HLE.HOS.Services.Apm
{
class IManager : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Apm/ISession.cs b/Ryujinx.HLE/HOS/Services/Apm/ISession.cs
index 3c9bf07c..739e264d 100644
--- a/Ryujinx.HLE/OsHle/Services/Apm/ISession.cs
+++ b/Ryujinx.HLE/HOS/Services/Apm/ISession.cs
@@ -1,8 +1,8 @@
+using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Apm
+namespace Ryujinx.HLE.HOS.Services.Apm
{
class ISession : IpcService
{
@@ -33,7 +33,7 @@ namespace Ryujinx.HLE.OsHle.Services.Apm
Context.ResponseData.Write((uint)PerformanceConfiguration.PerformanceConfiguration1);
- Context.Ns.Log.PrintStub(LogClass.ServiceApm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceApm, "Stubbed.");
return 0;
}
diff --git a/Ryujinx.HLE/OsHle/Services/Apm/PerformanceConfiguration.cs b/Ryujinx.HLE/HOS/Services/Apm/PerformanceConfiguration.cs
index 07d59285..b24adfb3 100644
--- a/Ryujinx.HLE/OsHle/Services/Apm/PerformanceConfiguration.cs
+++ b/Ryujinx.HLE/HOS/Services/Apm/PerformanceConfiguration.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Apm
+namespace Ryujinx.HLE.HOS.Services.Apm
{
enum PerformanceConfiguration : uint
{
diff --git a/Ryujinx.HLE/OsHle/Services/Apm/PerformanceMode.cs b/Ryujinx.HLE/HOS/Services/Apm/PerformanceMode.cs
index d89e2760..c4ab3cf2 100644
--- a/Ryujinx.HLE/OsHle/Services/Apm/PerformanceMode.cs
+++ b/Ryujinx.HLE/HOS/Services/Apm/PerformanceMode.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Apm
+namespace Ryujinx.HLE.HOS.Services.Apm
{
enum PerformanceMode
{
diff --git a/Ryujinx.HLE/OsHle/Services/Aud/AudErr.cs b/Ryujinx.HLE/HOS/Services/Aud/AudErr.cs
index 72c3e65e..cecea860 100644
--- a/Ryujinx.HLE/OsHle/Services/Aud/AudErr.cs
+++ b/Ryujinx.HLE/HOS/Services/Aud/AudErr.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Aud
+namespace Ryujinx.HLE.HOS.Services.Aud
{
static class AudErr
{
diff --git a/Ryujinx.HLE/OsHle/Services/Aud/AudioOut/AudioOutData.cs b/Ryujinx.HLE/HOS/Services/Aud/AudioOut/AudioOutData.cs
index 6887a38b..e25ebe66 100644
--- a/Ryujinx.HLE/OsHle/Services/Aud/AudioOut/AudioOutData.cs
+++ b/Ryujinx.HLE/HOS/Services/Aud/AudioOut/AudioOutData.cs
@@ -1,6 +1,6 @@
using System.Runtime.InteropServices;
-namespace Ryujinx.HLE.OsHle.Services.Aud.AudioOut
+namespace Ryujinx.HLE.HOS.Services.Aud.AudioOut
{
[StructLayout(LayoutKind.Sequential)]
struct AudioOutData
diff --git a/Ryujinx.HLE/OsHle/Services/Aud/AudioOut/IAudioOut.cs b/Ryujinx.HLE/HOS/Services/Aud/AudioOut/IAudioOut.cs
index d89fc293..81561f04 100644
--- a/Ryujinx.HLE/OsHle/Services/Aud/AudioOut/IAudioOut.cs
+++ b/Ryujinx.HLE/HOS/Services/Aud/AudioOut/IAudioOut.cs
@@ -1,11 +1,11 @@
using ChocolArm64.Memory;
using Ryujinx.Audio;
-using Ryujinx.HLE.OsHle.Handles;
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.Kernel;
using System;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Aud.AudioOut
+namespace Ryujinx.HLE.HOS.Services.Aud.AudioOut
{
class IAudioOut : IpcService, IDisposable
{
diff --git a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/AudioConsts.cs b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/AudioConsts.cs
index fed41959..773ef6dd 100644
--- a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/AudioConsts.cs
+++ b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/AudioConsts.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Aud.AudioRenderer
+namespace Ryujinx.HLE.HOS.Services.Aud.AudioRenderer
{
static class AudioConsts
{
diff --git a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/BehaviorIn.cs b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/BehaviorIn.cs
index 4e33de62..69b6d522 100644
--- a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/BehaviorIn.cs
+++ b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/BehaviorIn.cs
@@ -1,6 +1,6 @@
using System.Runtime.InteropServices;
-namespace Ryujinx.HLE.OsHle.Services.Aud.AudioRenderer
+namespace Ryujinx.HLE.HOS.Services.Aud.AudioRenderer
{
[StructLayout(LayoutKind.Sequential, Size = 0x10, Pack = 4)]
struct BehaviorIn
diff --git a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/BiquadFilter.cs b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/BiquadFilter.cs
index 9fa4cd33..51dddf20 100644
--- a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/BiquadFilter.cs
+++ b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/BiquadFilter.cs
@@ -1,6 +1,6 @@
using System.Runtime.InteropServices;
-namespace Ryujinx.HLE.OsHle.Services.Aud.AudioRenderer
+namespace Ryujinx.HLE.HOS.Services.Aud.AudioRenderer
{
[StructLayout(LayoutKind.Sequential, Size = 0xc, Pack = 1)]
struct BiquadFilter
diff --git a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/IAudioRenderer.cs b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/IAudioRenderer.cs
index f91a8da3..8c83338d 100644
--- a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/IAudioRenderer.cs
+++ b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/IAudioRenderer.cs
@@ -1,15 +1,15 @@
using ChocolArm64.Memory;
using Ryujinx.Audio;
using Ryujinx.Audio.Adpcm;
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.Kernel;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Handles;
-using Ryujinx.HLE.OsHle.Ipc;
-using Ryujinx.HLE.OsHle.Utilities;
+using Ryujinx.HLE.Utilities;
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
-namespace Ryujinx.HLE.OsHle.Services.Aud.AudioRenderer
+namespace Ryujinx.HLE.HOS.Services.Aud.AudioRenderer
{
class IAudioRenderer : IpcService, IDisposable
{
@@ -200,14 +200,14 @@ namespace Ryujinx.HLE.OsHle.Services.Aud.AudioRenderer
public long StartAudioRenderer(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceAudio, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAudio, "Stubbed.");
return 0;
}
public long StopAudioRenderer(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceAudio, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAudio, "Stubbed.");
return 0;
}
@@ -309,6 +309,8 @@ namespace Ryujinx.HLE.OsHle.Services.Aud.AudioRenderer
{
if (Disposing)
{
+ AudioOut.CloseTrack(Track);
+
UpdateEvent.Dispose();
}
}
diff --git a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/MemoryPoolContext.cs b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/MemoryPoolContext.cs
index b7af1d3f..2b68c40d 100644
--- a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/MemoryPoolContext.cs
+++ b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/MemoryPoolContext.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Aud.AudioRenderer
+namespace Ryujinx.HLE.HOS.Services.Aud.AudioRenderer
{
class MemoryPoolContext
{
diff --git a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/MemoryPoolIn.cs b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/MemoryPoolIn.cs
index c852b519..f6e424ee 100644
--- a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/MemoryPoolIn.cs
+++ b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/MemoryPoolIn.cs
@@ -1,6 +1,6 @@
using System.Runtime.InteropServices;
-namespace Ryujinx.HLE.OsHle.Services.Aud.AudioRenderer
+namespace Ryujinx.HLE.HOS.Services.Aud.AudioRenderer
{
[StructLayout(LayoutKind.Sequential, Size = 0x20, Pack = 4)]
struct MemoryPoolIn
diff --git a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/MemoryPoolOut.cs b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/MemoryPoolOut.cs
index dd65df86..f0621e3e 100644
--- a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/MemoryPoolOut.cs
+++ b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/MemoryPoolOut.cs
@@ -1,6 +1,6 @@
using System.Runtime.InteropServices;
-namespace Ryujinx.HLE.OsHle.Services.Aud.AudioRenderer
+namespace Ryujinx.HLE.HOS.Services.Aud.AudioRenderer
{
[StructLayout(LayoutKind.Sequential, Size = 0x10, Pack = 4)]
struct MemoryPoolOut
diff --git a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/MemoryPoolState.cs b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/MemoryPoolState.cs
index f96a0c09..6baf507c 100644
--- a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/MemoryPoolState.cs
+++ b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/MemoryPoolState.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Aud.AudioRenderer
+namespace Ryujinx.HLE.HOS.Services.Aud.AudioRenderer
{
enum MemoryPoolState : int
{
diff --git a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/PlayState.cs b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/PlayState.cs
index e8bcf64f..f09bf46e 100644
--- a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/PlayState.cs
+++ b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/PlayState.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Aud.AudioRenderer
+namespace Ryujinx.HLE.HOS.Services.Aud.AudioRenderer
{
enum PlayState : byte
{
diff --git a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/Resampler.cs b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/Resampler.cs
index 31e0ebec..baa0bc62 100644
--- a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/Resampler.cs
+++ b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/Resampler.cs
@@ -1,6 +1,6 @@
using System;
-namespace Ryujinx.HLE.OsHle.Services.Aud.AudioRenderer
+namespace Ryujinx.HLE.HOS.Services.Aud.AudioRenderer
{
static class Resampler
{
diff --git a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/UpdateDataHeader.cs b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/UpdateDataHeader.cs
index a6dfbc0b..a71e865d 100644
--- a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/UpdateDataHeader.cs
+++ b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/UpdateDataHeader.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Aud.AudioRenderer
+namespace Ryujinx.HLE.HOS.Services.Aud.AudioRenderer
{
struct UpdateDataHeader
{
diff --git a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/VoiceChannelResourceIn.cs b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/VoiceChannelResourceIn.cs
index 0916b03e..2a6f424f 100644
--- a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/VoiceChannelResourceIn.cs
+++ b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/VoiceChannelResourceIn.cs
@@ -1,6 +1,6 @@
using System.Runtime.InteropServices;
-namespace Ryujinx.HLE.OsHle.Services.Aud.AudioRenderer
+namespace Ryujinx.HLE.HOS.Services.Aud.AudioRenderer
{
[StructLayout(LayoutKind.Sequential, Size = 0x70, Pack = 1)]
struct VoiceChannelResourceIn
diff --git a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/VoiceContext.cs b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/VoiceContext.cs
index 1bf9ed73..bee574ff 100644
--- a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/VoiceContext.cs
+++ b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/VoiceContext.cs
@@ -2,7 +2,7 @@ using ChocolArm64.Memory;
using Ryujinx.Audio.Adpcm;
using System;
-namespace Ryujinx.HLE.OsHle.Services.Aud.AudioRenderer
+namespace Ryujinx.HLE.HOS.Services.Aud.AudioRenderer
{
class VoiceContext
{
diff --git a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/VoiceIn.cs b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/VoiceIn.cs
index 790affb2..fc83b65b 100644
--- a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/VoiceIn.cs
+++ b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/VoiceIn.cs
@@ -1,6 +1,6 @@
using System.Runtime.InteropServices;
-namespace Ryujinx.HLE.OsHle.Services.Aud.AudioRenderer
+namespace Ryujinx.HLE.HOS.Services.Aud.AudioRenderer
{
[StructLayout(LayoutKind.Sequential, Size = 0x170, Pack = 1)]
struct VoiceIn
diff --git a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/VoiceOut.cs b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/VoiceOut.cs
index 1fcf929f..6551acdb 100644
--- a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/VoiceOut.cs
+++ b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/VoiceOut.cs
@@ -1,6 +1,6 @@
using System.Runtime.InteropServices;
-namespace Ryujinx.HLE.OsHle.Services.Aud.AudioRenderer
+namespace Ryujinx.HLE.HOS.Services.Aud.AudioRenderer
{
[StructLayout(LayoutKind.Sequential, Size = 0x10, Pack = 4)]
struct VoiceOut
diff --git a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/WaveBuffer.cs b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/WaveBuffer.cs
index 6b56b908..bb188877 100644
--- a/Ryujinx.HLE/OsHle/Services/Aud/AudioRenderer/WaveBuffer.cs
+++ b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/WaveBuffer.cs
@@ -1,6 +1,6 @@
using System.Runtime.InteropServices;
-namespace Ryujinx.HLE.OsHle.Services.Aud.AudioRenderer
+namespace Ryujinx.HLE.HOS.Services.Aud.AudioRenderer
{
[StructLayout(LayoutKind.Sequential, Size = 0x38, Pack = 1)]
struct WaveBuffer
diff --git a/Ryujinx.HLE/OsHle/Services/Aud/AudioRendererParameter.cs b/Ryujinx.HLE/HOS/Services/Aud/AudioRendererParameter.cs
index d7e1df01..4d01a0de 100644
--- a/Ryujinx.HLE/OsHle/Services/Aud/AudioRendererParameter.cs
+++ b/Ryujinx.HLE/HOS/Services/Aud/AudioRendererParameter.cs
@@ -1,6 +1,6 @@
using System.Runtime.InteropServices;
-namespace Ryujinx.HLE.OsHle.Services.Aud
+namespace Ryujinx.HLE.HOS.Services.Aud
{
[StructLayout(LayoutKind.Sequential)]
struct AudioRendererParameter
diff --git a/Ryujinx.HLE/OsHle/Services/Aud/IAudioDevice.cs b/Ryujinx.HLE/HOS/Services/Aud/IAudioDevice.cs
index cc5fc244..2e6056ef 100644
--- a/Ryujinx.HLE/OsHle/Services/Aud/IAudioDevice.cs
+++ b/Ryujinx.HLE/HOS/Services/Aud/IAudioDevice.cs
@@ -1,11 +1,11 @@
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.Kernel;
+using Ryujinx.HLE.HOS.SystemState;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Handles;
-using Ryujinx.HLE.OsHle.Ipc;
-using Ryujinx.HLE.OsHle.SystemState;
using System.Collections.Generic;
using System.Text;
-namespace Ryujinx.HLE.OsHle.Services.Aud
+namespace Ryujinx.HLE.HOS.Services.Aud
{
class IAudioDevice : IpcService
{
@@ -55,7 +55,7 @@ namespace Ryujinx.HLE.OsHle.Services.Aud
if ((Position - BasePosition) + Buffer.Length > Size)
{
- Context.Ns.Log.PrintError(LogClass.ServiceAudio, $"Output buffer size {Size} too small!");
+ Context.Device.Log.PrintError(LogClass.ServiceAudio, $"Output buffer size {Size} too small!");
break;
}
@@ -79,14 +79,14 @@ namespace Ryujinx.HLE.OsHle.Services.Aud
string DeviceName = Encoding.ASCII.GetString(DeviceNameBuffer);
- Context.Ns.Log.PrintStub(LogClass.ServiceAudio, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAudio, "Stubbed.");
return 0;
}
public long GetActiveAudioDeviceName(ServiceCtx Context)
{
- string Name = Context.Ns.Os.SystemState.ActiveAudioOutput;
+ string Name = Context.Device.System.State.ActiveAudioOutput;
long Position = Context.Request.ReceiveBuff[0].Position;
long Size = Context.Request.ReceiveBuff[0].Size;
@@ -99,7 +99,7 @@ namespace Ryujinx.HLE.OsHle.Services.Aud
}
else
{
- Context.Ns.Log.PrintError(LogClass.ServiceAudio, $"Output buffer size {Size} too small!");
+ Context.Device.Log.PrintError(LogClass.ServiceAudio, $"Output buffer size {Size} too small!");
}
return 0;
@@ -111,7 +111,7 @@ namespace Ryujinx.HLE.OsHle.Services.Aud
Context.Response.HandleDesc = IpcHandleDesc.MakeCopy(Handle);
- Context.Ns.Log.PrintStub(LogClass.ServiceAudio, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAudio, "Stubbed.");
return 0;
}
@@ -120,7 +120,7 @@ namespace Ryujinx.HLE.OsHle.Services.Aud
{
Context.ResponseData.Write(2);
- Context.Ns.Log.PrintStub(LogClass.ServiceAudio, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAudio, "Stubbed.");
return 0;
}
@@ -141,7 +141,7 @@ namespace Ryujinx.HLE.OsHle.Services.Aud
if ((Position - BasePosition) + Buffer.Length > Size)
{
- Context.Ns.Log.PrintError(LogClass.ServiceAudio, $"Output buffer size {Size} too small!");
+ Context.Device.Log.PrintError(LogClass.ServiceAudio, $"Output buffer size {Size} too small!");
break;
}
@@ -164,7 +164,7 @@ namespace Ryujinx.HLE.OsHle.Services.Aud
string DeviceName = Encoding.UTF8.GetString(DeviceNameBuffer);
- Context.Ns.Log.PrintStub(LogClass.ServiceAudio, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAudio, "Stubbed.");
return 0;
}
@@ -173,14 +173,14 @@ namespace Ryujinx.HLE.OsHle.Services.Aud
{
Context.ResponseData.Write(1f);
- Context.Ns.Log.PrintStub(LogClass.ServiceAudio, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAudio, "Stubbed.");
return 0;
}
public long GetActiveAudioDeviceNameAuto(ServiceCtx Context)
{
- string Name = Context.Ns.Os.SystemState.ActiveAudioOutput;
+ string Name = Context.Device.System.State.ActiveAudioOutput;
(long Position, long Size) = Context.Request.GetBufferType0x22();
@@ -192,7 +192,7 @@ namespace Ryujinx.HLE.OsHle.Services.Aud
}
else
{
- Context.Ns.Log.PrintError(LogClass.ServiceAudio, $"Output buffer size {Size} too small!");
+ Context.Device.Log.PrintError(LogClass.ServiceAudio, $"Output buffer size {Size} too small!");
}
return 0;
@@ -204,7 +204,7 @@ namespace Ryujinx.HLE.OsHle.Services.Aud
Context.Response.HandleDesc = IpcHandleDesc.MakeCopy(Handle);
- Context.Ns.Log.PrintStub(LogClass.ServiceAudio, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAudio, "Stubbed.");
return 0;
}
@@ -215,7 +215,7 @@ namespace Ryujinx.HLE.OsHle.Services.Aud
Context.Response.HandleDesc = IpcHandleDesc.MakeCopy(Handle);
- Context.Ns.Log.PrintStub(LogClass.ServiceAudio, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceAudio, "Stubbed.");
return 0;
}
diff --git a/Ryujinx.HLE/OsHle/Services/Aud/IAudioOutManager.cs b/Ryujinx.HLE/HOS/Services/Aud/IAudioOutManager.cs
index 7a3bc4d4..8d2435b0 100644
--- a/Ryujinx.HLE/OsHle/Services/Aud/IAudioOutManager.cs
+++ b/Ryujinx.HLE/HOS/Services/Aud/IAudioOutManager.cs
@@ -1,15 +1,15 @@
using ChocolArm64.Memory;
using Ryujinx.Audio;
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.Kernel;
+using Ryujinx.HLE.HOS.Services.Aud.AudioOut;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Handles;
-using Ryujinx.HLE.OsHle.Ipc;
-using Ryujinx.HLE.OsHle.Services.Aud.AudioOut;
using System.Collections.Generic;
using System.Text;
-using static Ryujinx.HLE.OsHle.ErrorCode;
+using static Ryujinx.HLE.HOS.ErrorCode;
-namespace Ryujinx.HLE.OsHle.Services.Aud
+namespace Ryujinx.HLE.HOS.Services.Aud
{
class IAudioOutManager : IpcService
{
@@ -86,7 +86,7 @@ namespace Ryujinx.HLE.OsHle.Services.Aud
}
else
{
- Context.Ns.Log.PrintError(LogClass.ServiceAudio, $"Output buffer size {Size} too small!");
+ Context.Device.Log.PrintError(LogClass.ServiceAudio, $"Output buffer size {Size} too small!");
}
Context.ResponseData.Write(NameCount);
@@ -108,7 +108,7 @@ namespace Ryujinx.HLE.OsHle.Services.Aud
if (DeviceName != DefaultAudioOutput)
{
- Context.Ns.Log.PrintWarning(LogClass.Audio, "Invalid device name!");
+ Context.Device.Log.PrintWarning(LogClass.Audio, "Invalid device name!");
return MakeError(ErrorModule.Audio, AudErr.DeviceNotFound);
}
@@ -121,7 +121,7 @@ namespace Ryujinx.HLE.OsHle.Services.Aud
}
else
{
- Context.Ns.Log.PrintError(LogClass.ServiceAudio, $"Output buffer size {ReceiveSize} too small!");
+ Context.Device.Log.PrintError(LogClass.ServiceAudio, $"Output buffer size {ReceiveSize} too small!");
}
int SampleRate = Context.RequestData.ReadInt32();
@@ -134,7 +134,7 @@ namespace Ryujinx.HLE.OsHle.Services.Aud
if (SampleRate != DefaultSampleRate)
{
- Context.Ns.Log.PrintWarning(LogClass.Audio, "Invalid sample rate!");
+ Context.Device.Log.PrintWarning(LogClass.Audio, "Invalid sample rate!");
return MakeError(ErrorModule.Audio, AudErr.UnsupportedSampleRate);
}
@@ -153,7 +153,7 @@ namespace Ryujinx.HLE.OsHle.Services.Aud
ReleaseEvent.WaitEvent.Set();
};
- IAalOutput AudioOut = Context.Ns.AudioOut;
+ IAalOutput AudioOut = Context.Device.AudioOut;
int Track = AudioOut.OpenTrack(SampleRate, Channels, Callback);
diff --git a/Ryujinx.HLE/OsHle/Services/Aud/IAudioRendererManager.cs b/Ryujinx.HLE/HOS/Services/Aud/IAudioRendererManager.cs
index 5e2dec9f..faa42290 100644
--- a/Ryujinx.HLE/OsHle/Services/Aud/IAudioRendererManager.cs
+++ b/Ryujinx.HLE/HOS/Services/Aud/IAudioRendererManager.cs
@@ -1,13 +1,13 @@
using Ryujinx.Audio;
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.Services.Aud.AudioRenderer;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Ipc;
-using Ryujinx.HLE.OsHle.Services.Aud.AudioRenderer;
-using Ryujinx.HLE.OsHle.Utilities;
+using Ryujinx.HLE.Utilities;
using System.Collections.Generic;
-using static Ryujinx.HLE.OsHle.ErrorCode;
+using static Ryujinx.HLE.HOS.ErrorCode;
-namespace Ryujinx.HLE.OsHle.Services.Aud
+namespace Ryujinx.HLE.HOS.Services.Aud
{
class IAudioRendererManager : IpcService
{
@@ -36,7 +36,7 @@ namespace Ryujinx.HLE.OsHle.Services.Aud
public long OpenAudioRenderer(ServiceCtx Context)
{
- IAalOutput AudioOut = Context.Ns.AudioOut;
+ IAalOutput AudioOut = Context.Device.AudioOut;
AudioRendererParameter Params = GetAudioRendererParameter(Context);
@@ -98,7 +98,7 @@ namespace Ryujinx.HLE.OsHle.Services.Aud
Context.ResponseData.Write(Size);
- Context.Ns.Log.PrintDebug(LogClass.ServiceAudio, $"WorkBufferSize is 0x{Size:x16}.");
+ Context.Device.Log.PrintDebug(LogClass.ServiceAudio, $"WorkBufferSize is 0x{Size:x16}.");
return 0;
}
@@ -106,7 +106,7 @@ namespace Ryujinx.HLE.OsHle.Services.Aud
{
Context.ResponseData.Write(0L);
- Context.Ns.Log.PrintWarning(LogClass.ServiceAudio, $"Library Revision 0x{Params.Revision:x8} is not supported!");
+ Context.Device.Log.PrintWarning(LogClass.ServiceAudio, $"Library Revision 0x{Params.Revision:x8} is not supported!");
return MakeError(ErrorModule.Audio, AudErr.UnsupportedRevision);
}
diff --git a/Ryujinx.HLE/OsHle/Services/Aud/SampleFormat.cs b/Ryujinx.HLE/HOS/Services/Aud/SampleFormat.cs
index 06ab4929..8da80381 100644
--- a/Ryujinx.HLE/OsHle/Services/Aud/SampleFormat.cs
+++ b/Ryujinx.HLE/HOS/Services/Aud/SampleFormat.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Aud
+namespace Ryujinx.HLE.HOS.Services.Aud
{
enum SampleFormat : byte
{
diff --git a/Ryujinx.HLE/OsHle/Services/Bcat/IBcatService.cs b/Ryujinx.HLE/HOS/Services/Bcat/IBcatService.cs
index b7754d6b..6263dfa8 100644
--- a/Ryujinx.HLE/OsHle/Services/Bcat/IBcatService.cs
+++ b/Ryujinx.HLE/HOS/Services/Bcat/IBcatService.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Bcat
+namespace Ryujinx.HLE.HOS.Services.Bcat
{
class IBcatService : IpcService
{
@@ -16,6 +16,6 @@ namespace Ryujinx.HLE.OsHle.Services.Bcat
//...
};
}
-
+
}
}
diff --git a/Ryujinx.HLE/OsHle/Services/Bcat/IDeliveryCacheStorageService.cs b/Ryujinx.HLE/HOS/Services/Bcat/IDeliveryCacheStorageService.cs
index 0b84d809..7a55c6c8 100644
--- a/Ryujinx.HLE/OsHle/Services/Bcat/IDeliveryCacheStorageService.cs
+++ b/Ryujinx.HLE/HOS/Services/Bcat/IDeliveryCacheStorageService.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Bcat
+namespace Ryujinx.HLE.HOS.Services.Bcat
{
class IDeliveryCacheStorageService : IpcService
{
@@ -16,6 +16,6 @@ namespace Ryujinx.HLE.OsHle.Services.Bcat
//...
};
}
-
+
}
}
diff --git a/Ryujinx.HLE/OsHle/Services/Bcat/IServiceCreator.cs b/Ryujinx.HLE/HOS/Services/Bcat/IServiceCreator.cs
index cc1fc6f8..55583c94 100644
--- a/Ryujinx.HLE/OsHle/Services/Bcat/IServiceCreator.cs
+++ b/Ryujinx.HLE/HOS/Services/Bcat/IServiceCreator.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Bcat
+namespace Ryujinx.HLE.HOS.Services.Bcat
{
class IServiceCreator : IpcService
{
@@ -23,7 +23,7 @@ namespace Ryujinx.HLE.OsHle.Services.Bcat
long Id = Context.RequestData.ReadInt64();
MakeObject(Context, new IBcatService());
-
+
return 0;
}
diff --git a/Ryujinx.HLE/OsHle/Services/Bsd/BsdError.cs b/Ryujinx.HLE/HOS/Services/Bsd/BsdError.cs
index 114130dc..675edcc3 100644
--- a/Ryujinx.HLE/OsHle/Services/Bsd/BsdError.cs
+++ b/Ryujinx.HLE/HOS/Services/Bsd/BsdError.cs
@@ -1,7 +1,7 @@
-namespace Ryujinx.HLE.OsHle.Services.Bsd
+namespace Ryujinx.HLE.HOS.Services.Bsd
{
//bsd_errno == (SocketException.ErrorCode - 10000)
- public enum BsdError
+ enum BsdError
{
Timeout = 60
}
diff --git a/Ryujinx.HLE/OsHle/Services/Bsd/BsdSocket.cs b/Ryujinx.HLE/HOS/Services/Bsd/BsdSocket.cs
index 9cde9947..2361ed31 100644
--- a/Ryujinx.HLE/OsHle/Services/Bsd/BsdSocket.cs
+++ b/Ryujinx.HLE/HOS/Services/Bsd/BsdSocket.cs
@@ -1,7 +1,7 @@
using System.Net;
using System.Net.Sockets;
-namespace Ryujinx.HLE.OsHle.Services.Bsd
+namespace Ryujinx.HLE.HOS.Services.Bsd
{
class BsdSocket
{
diff --git a/Ryujinx.HLE/OsHle/Services/Bsd/IClient.cs b/Ryujinx.HLE/HOS/Services/Bsd/IClient.cs
index 15ce92a1..b5a457db 100644
--- a/Ryujinx.HLE/OsHle/Services/Bsd/IClient.cs
+++ b/Ryujinx.HLE/HOS/Services/Bsd/IClient.cs
@@ -1,12 +1,12 @@
-using Ryujinx.HLE.OsHle.Ipc;
-using Ryujinx.HLE.OsHle.Utilities;
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.Utilities;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Threading.Tasks;
-namespace Ryujinx.HLE.OsHle.Services.Bsd
+namespace Ryujinx.HLE.HOS.Services.Bsd
{
class IClient : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Caps/IAlbumAccessorService.cs b/Ryujinx.HLE/HOS/Services/Caps/IAlbumAccessorService.cs
index 04a81f90..6d96b769 100644
--- a/Ryujinx.HLE/OsHle/Services/Caps/IAlbumAccessorService.cs
+++ b/Ryujinx.HLE/HOS/Services/Caps/IAlbumAccessorService.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Caps
+namespace Ryujinx.HLE.HOS.Services.Caps
{
class IAlbumAccessorService : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Caps/IScreenshotService.cs b/Ryujinx.HLE/HOS/Services/Caps/IScreenshotService.cs
index 9b1005ed..5a54d563 100644
--- a/Ryujinx.HLE/OsHle/Services/Caps/IScreenshotService.cs
+++ b/Ryujinx.HLE/HOS/Services/Caps/IScreenshotService.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Caps
+namespace Ryujinx.HLE.HOS.Services.Caps
{
class IScreenshotService : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Friend/IFriendService.cs b/Ryujinx.HLE/HOS/Services/Friend/IFriendService.cs
index e241138f..3b06ba8a 100644
--- a/Ryujinx.HLE/OsHle/Services/Friend/IFriendService.cs
+++ b/Ryujinx.HLE/HOS/Services/Friend/IFriendService.cs
@@ -1,9 +1,9 @@
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.SystemState;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Ipc;
-using Ryujinx.HLE.OsHle.SystemState;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Friend
+namespace Ryujinx.HLE.HOS.Services.Friend
{
class IFriendService : IpcService
{
@@ -26,7 +26,7 @@ namespace Ryujinx.HLE.OsHle.Services.Friend
Context.RequestData.ReadInt64(),
Context.RequestData.ReadInt64());
- if (Context.Ns.Os.SystemState.TryGetUser(Uuid, out UserProfile Profile))
+ if (Context.Device.System.State.TryGetUser(Uuid, out UserProfile Profile))
{
Profile.OnlinePlayState = OpenCloseState.Closed;
}
@@ -41,7 +41,7 @@ namespace Ryujinx.HLE.OsHle.Services.Friend
Context.RequestData.ReadInt64());
//TODO.
- Context.Ns.Log.PrintStub(LogClass.ServiceFriend, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceFriend, "Stubbed.");
return 0;
}
diff --git a/Ryujinx.HLE/OsHle/Services/Friend/IServiceCreator.cs b/Ryujinx.HLE/HOS/Services/Friend/IServiceCreator.cs
index 6b9a265f..065e230d 100644
--- a/Ryujinx.HLE/OsHle/Services/Friend/IServiceCreator.cs
+++ b/Ryujinx.HLE/HOS/Services/Friend/IServiceCreator.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Friend
+namespace Ryujinx.HLE.HOS.Services.Friend
{
class IServiceCreator : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/FspSrv/FsErr.cs b/Ryujinx.HLE/HOS/Services/FspSrv/FsErr.cs
index bdc70959..39eadcec 100644
--- a/Ryujinx.HLE/OsHle/Services/FspSrv/FsErr.cs
+++ b/Ryujinx.HLE/HOS/Services/FspSrv/FsErr.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.FspSrv
+namespace Ryujinx.HLE.HOS.Services.FspSrv
{
static class FsErr
{
diff --git a/Ryujinx.HLE/OsHle/Services/FspSrv/IDirectory.cs b/Ryujinx.HLE/HOS/Services/FspSrv/IDirectory.cs
index bb4b7a03..d6ae084f 100644
--- a/Ryujinx.HLE/OsHle/Services/FspSrv/IDirectory.cs
+++ b/Ryujinx.HLE/HOS/Services/FspSrv/IDirectory.cs
@@ -1,10 +1,10 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
-namespace Ryujinx.HLE.OsHle.Services.FspSrv
+namespace Ryujinx.HLE.HOS.Services.FspSrv
{
class IDirectory : IpcService, IDisposable
{
diff --git a/Ryujinx.HLE/OsHle/Services/FspSrv/IFile.cs b/Ryujinx.HLE/HOS/Services/FspSrv/IFile.cs
index a610a3ab..194d9420 100644
--- a/Ryujinx.HLE/OsHle/Services/FspSrv/IFile.cs
+++ b/Ryujinx.HLE/HOS/Services/FspSrv/IFile.cs
@@ -1,9 +1,9 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System;
using System.Collections.Generic;
using System.IO;
-namespace Ryujinx.HLE.OsHle.Services.FspSrv
+namespace Ryujinx.HLE.HOS.Services.FspSrv
{
class IFile : IpcService, IDisposable
{
diff --git a/Ryujinx.HLE/OsHle/Services/FspSrv/IFileSystem.cs b/Ryujinx.HLE/HOS/Services/FspSrv/IFileSystem.cs
index 61c6d115..b77043bd 100644
--- a/Ryujinx.HLE/OsHle/Services/FspSrv/IFileSystem.cs
+++ b/Ryujinx.HLE/HOS/Services/FspSrv/IFileSystem.cs
@@ -1,12 +1,12 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
-using static Ryujinx.HLE.OsHle.ErrorCode;
+using static Ryujinx.HLE.HOS.ErrorCode;
-namespace Ryujinx.HLE.OsHle.Services.FspSrv
+namespace Ryujinx.HLE.HOS.Services.FspSrv
{
class IFileSystem : IpcService
{
@@ -51,7 +51,7 @@ namespace Ryujinx.HLE.OsHle.Services.FspSrv
long Mode = Context.RequestData.ReadInt64();
int Size = Context.RequestData.ReadInt32();
- string FileName = Context.Ns.VFs.GetFullPath(Path, Name);
+ string FileName = Context.Device.FileSystem.GetFullPath(Path, Name);
if (FileName == null)
{
@@ -80,7 +80,7 @@ namespace Ryujinx.HLE.OsHle.Services.FspSrv
{
string Name = ReadUtf8String(Context);
- string FileName = Context.Ns.VFs.GetFullPath(Path, Name);
+ string FileName = Context.Device.FileSystem.GetFullPath(Path, Name);
if (!File.Exists(FileName))
{
@@ -101,7 +101,7 @@ namespace Ryujinx.HLE.OsHle.Services.FspSrv
{
string Name = ReadUtf8String(Context);
- string DirName = Context.Ns.VFs.GetFullPath(Path, Name);
+ string DirName = Context.Device.FileSystem.GetFullPath(Path, Name);
if (DirName == null)
{
@@ -137,7 +137,7 @@ namespace Ryujinx.HLE.OsHle.Services.FspSrv
{
string Name = ReadUtf8String(Context);
- string DirName = Context.Ns.VFs.GetFullPath(Path, Name);
+ string DirName = Context.Device.FileSystem.GetFullPath(Path, Name);
if (!Directory.Exists(DirName))
{
@@ -159,8 +159,8 @@ namespace Ryujinx.HLE.OsHle.Services.FspSrv
string OldName = ReadUtf8String(Context, 0);
string NewName = ReadUtf8String(Context, 1);
- string OldFileName = Context.Ns.VFs.GetFullPath(Path, OldName);
- string NewFileName = Context.Ns.VFs.GetFullPath(Path, NewName);
+ string OldFileName = Context.Device.FileSystem.GetFullPath(Path, OldName);
+ string NewFileName = Context.Device.FileSystem.GetFullPath(Path, NewName);
if (!File.Exists(OldFileName))
{
@@ -187,8 +187,8 @@ namespace Ryujinx.HLE.OsHle.Services.FspSrv
string OldName = ReadUtf8String(Context, 0);
string NewName = ReadUtf8String(Context, 1);
- string OldDirName = Context.Ns.VFs.GetFullPath(Path, OldName);
- string NewDirName = Context.Ns.VFs.GetFullPath(Path, NewName);
+ string OldDirName = Context.Device.FileSystem.GetFullPath(Path, OldName);
+ string NewDirName = Context.Device.FileSystem.GetFullPath(Path, NewName);
if (!Directory.Exists(OldDirName))
{
@@ -214,7 +214,7 @@ namespace Ryujinx.HLE.OsHle.Services.FspSrv
{
string Name = ReadUtf8String(Context);
- string FileName = Context.Ns.VFs.GetFullPath(Path, Name);
+ string FileName = Context.Device.FileSystem.GetFullPath(Path, Name);
if (File.Exists(FileName))
{
@@ -240,7 +240,7 @@ namespace Ryujinx.HLE.OsHle.Services.FspSrv
string Name = ReadUtf8String(Context);
- string FileName = Context.Ns.VFs.GetFullPath(Path, Name);
+ string FileName = Context.Device.FileSystem.GetFullPath(Path, Name);
if (!File.Exists(FileName))
{
@@ -274,7 +274,7 @@ namespace Ryujinx.HLE.OsHle.Services.FspSrv
string Name = ReadUtf8String(Context);
- string DirName = Context.Ns.VFs.GetFullPath(Path, Name);
+ string DirName = Context.Device.FileSystem.GetFullPath(Path, Name);
if (!Directory.Exists(DirName))
{
@@ -309,7 +309,7 @@ namespace Ryujinx.HLE.OsHle.Services.FspSrv
{
string Name = ReadUtf8String(Context);
- Context.ResponseData.Write(Context.Ns.VFs.GetDrive().AvailableFreeSpace);
+ Context.ResponseData.Write(Context.Device.FileSystem.GetDrive().AvailableFreeSpace);
return 0;
}
@@ -318,7 +318,7 @@ namespace Ryujinx.HLE.OsHle.Services.FspSrv
{
string Name = ReadUtf8String(Context);
- Context.ResponseData.Write(Context.Ns.VFs.GetDrive().TotalSize);
+ Context.ResponseData.Write(Context.Device.FileSystem.GetDrive().TotalSize);
return 0;
}
@@ -327,7 +327,7 @@ namespace Ryujinx.HLE.OsHle.Services.FspSrv
{
string Name = ReadUtf8String(Context);
- string DirName = Context.Ns.VFs.GetFullPath(Path, Name);
+ string DirName = Context.Device.FileSystem.GetFullPath(Path, Name);
if (!Directory.Exists(DirName))
{
diff --git a/Ryujinx.HLE/OsHle/Services/FspSrv/IFileSystemProxy.cs b/Ryujinx.HLE/HOS/Services/FspSrv/IFileSystemProxy.cs
index 84a0bc3d..14edcc75 100644
--- a/Ryujinx.HLE/OsHle/Services/FspSrv/IFileSystemProxy.cs
+++ b/Ryujinx.HLE/HOS/Services/FspSrv/IFileSystemProxy.cs
@@ -1,8 +1,8 @@
+using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.FspSrv
+namespace Ryujinx.HLE.HOS.Services.FspSrv
{
class IFileSystemProxy : IpcService
{
@@ -31,35 +31,35 @@ namespace Ryujinx.HLE.OsHle.Services.FspSrv
public long OpenSdCardFileSystem(ServiceCtx Context)
{
- MakeObject(Context, new IFileSystem(Context.Ns.VFs.GetSdCardPath()));
+ MakeObject(Context, new IFileSystem(Context.Device.FileSystem.GetSdCardPath()));
return 0;
}
public long CreateSaveDataFileSystem(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceFs, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceFs, "Stubbed.");
return 0;
}
public long OpenSaveDataFileSystem(ServiceCtx Context)
{
- MakeObject(Context, new IFileSystem(Context.Ns.VFs.GetGameSavesPath()));
+ MakeObject(Context, new IFileSystem(Context.Device.FileSystem.GetGameSavesPath()));
return 0;
}
public long OpenDataStorageByCurrentProcess(ServiceCtx Context)
{
- MakeObject(Context, new IStorage(Context.Ns.VFs.RomFs));
+ MakeObject(Context, new IStorage(Context.Device.FileSystem.RomFs));
return 0;
}
public long OpenPatchDataStorageByCurrentProcess(ServiceCtx Context)
{
- MakeObject(Context, new IStorage(Context.Ns.VFs.RomFs));
+ MakeObject(Context, new IStorage(Context.Device.FileSystem.RomFs));
return 0;
}
diff --git a/Ryujinx.HLE/OsHle/Services/FspSrv/IStorage.cs b/Ryujinx.HLE/HOS/Services/FspSrv/IStorage.cs
index 56c27d03..5118fa45 100644
--- a/Ryujinx.HLE/OsHle/Services/FspSrv/IStorage.cs
+++ b/Ryujinx.HLE/HOS/Services/FspSrv/IStorage.cs
@@ -1,8 +1,8 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
using System.IO;
-namespace Ryujinx.HLE.OsHle.Services.FspSrv
+namespace Ryujinx.HLE.HOS.Services.FspSrv
{
class IStorage : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Hid/IActiveVibrationDeviceList.cs b/Ryujinx.HLE/HOS/Services/Hid/IActiveVibrationDeviceList.cs
index 12eaf706..6e666919 100644
--- a/Ryujinx.HLE/OsHle/Services/Hid/IActiveVibrationDeviceList.cs
+++ b/Ryujinx.HLE/HOS/Services/Hid/IActiveVibrationDeviceList.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Hid
+namespace Ryujinx.HLE.HOS.Services.Hid
{
class IActiveApplicationDeviceList : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Hid/IAppletResource.cs b/Ryujinx.HLE/HOS/Services/Hid/IAppletResource.cs
index 5c32ca83..012ccb40 100644
--- a/Ryujinx.HLE/OsHle/Services/Hid/IAppletResource.cs
+++ b/Ryujinx.HLE/HOS/Services/Hid/IAppletResource.cs
@@ -1,8 +1,8 @@
-using Ryujinx.HLE.OsHle.Handles;
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.Kernel;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Hid
+namespace Ryujinx.HLE.HOS.Services.Hid
{
class IAppletResource : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Hid/IHidServer.cs b/Ryujinx.HLE/HOS/Services/Hid/IHidServer.cs
index f23164ce..70f1f1f1 100644
--- a/Ryujinx.HLE/OsHle/Services/Hid/IHidServer.cs
+++ b/Ryujinx.HLE/HOS/Services/Hid/IHidServer.cs
@@ -1,11 +1,11 @@
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.Kernel;
using Ryujinx.HLE.Input;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Ipc;
-using Ryujinx.HLE.OsHle.Handles;
using System;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Hid
+namespace Ryujinx.HLE.HOS.Services.Hid
{
class IHidServer : IpcService, IDisposable
{
@@ -50,14 +50,14 @@ namespace Ryujinx.HLE.OsHle.Services.Hid
public long CreateAppletResource(ServiceCtx Context)
{
- MakeObject(Context, new IAppletResource(Context.Ns.Os.HidSharedMem));
+ MakeObject(Context, new IAppletResource(Context.Device.System.HidSharedMem));
return 0;
}
public long ActivateDebugPad(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
return 0;
}
@@ -66,7 +66,7 @@ namespace Ryujinx.HLE.OsHle.Services.Hid
{
long AppletResourceUserId = Context.RequestData.ReadInt64();
- Context.Ns.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
return 0;
}
@@ -75,7 +75,7 @@ namespace Ryujinx.HLE.OsHle.Services.Hid
{
long AppletResourceUserId = Context.RequestData.ReadInt64();
- Context.Ns.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
return 0;
}
@@ -84,7 +84,7 @@ namespace Ryujinx.HLE.OsHle.Services.Hid
{
long AppletResourceUserId = Context.RequestData.ReadInt64();
- Context.Ns.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
return 0;
}
@@ -95,7 +95,7 @@ namespace Ryujinx.HLE.OsHle.Services.Hid
long AppletResourceUserId = Context.RequestData.ReadInt64();
- Context.Ns.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
return 0;
}
@@ -106,7 +106,7 @@ namespace Ryujinx.HLE.OsHle.Services.Hid
int Unknown = Context.RequestData.ReadInt32();
long AppletResourceUserId = Context.RequestData.ReadInt64();
- Context.Ns.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
return 0;
}
@@ -124,7 +124,7 @@ namespace Ryujinx.HLE.OsHle.Services.Hid
{
Context.ResponseData.Write(0);
- Context.Ns.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
return 0;
}
@@ -134,7 +134,7 @@ namespace Ryujinx.HLE.OsHle.Services.Hid
long Unknown0 = Context.RequestData.ReadInt64();
long Unknown8 = Context.RequestData.ReadInt64();
- Context.Ns.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
return 0;
}
@@ -143,7 +143,7 @@ namespace Ryujinx.HLE.OsHle.Services.Hid
{
long Unknown = Context.RequestData.ReadInt64();
- Context.Ns.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
return 0;
}
@@ -152,7 +152,7 @@ namespace Ryujinx.HLE.OsHle.Services.Hid
{
long Unknown = Context.RequestData.ReadInt64();
- Context.Ns.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
return 0;
}
@@ -163,7 +163,7 @@ namespace Ryujinx.HLE.OsHle.Services.Hid
Context.ResponseData.Write(0L);
- Context.Ns.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
return 0;
}
@@ -173,7 +173,7 @@ namespace Ryujinx.HLE.OsHle.Services.Hid
long Unknown0 = Context.RequestData.ReadInt64();
long Unknown8 = Context.RequestData.ReadInt64();
- Context.Ns.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
return 0;
}
@@ -182,7 +182,7 @@ namespace Ryujinx.HLE.OsHle.Services.Hid
{
Context.ResponseData.Write(0L);
- Context.Ns.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
return 0;
}
@@ -193,7 +193,7 @@ namespace Ryujinx.HLE.OsHle.Services.Hid
long AppletUserResourceId = Context.RequestData.ReadInt64();
- Context.Ns.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
return 0;
}
@@ -205,7 +205,7 @@ namespace Ryujinx.HLE.OsHle.Services.Hid
long AppletUserResourceId = Context.RequestData.ReadInt64();
long NpadJoyDeviceType = Context.RequestData.ReadInt64();
- Context.Ns.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
return 0;
}
@@ -216,7 +216,7 @@ namespace Ryujinx.HLE.OsHle.Services.Hid
long AppletUserResourceId = Context.RequestData.ReadInt64();
- Context.Ns.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
return 0;
}
@@ -227,7 +227,7 @@ namespace Ryujinx.HLE.OsHle.Services.Hid
long Unknown8 = Context.RequestData.ReadInt32();
long AppletUserResourceId = Context.RequestData.ReadInt64();
- Context.Ns.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
return 0;
}
@@ -237,7 +237,7 @@ namespace Ryujinx.HLE.OsHle.Services.Hid
long AppletUserResourceId = Context.RequestData.ReadInt64();
long Unknown = Context.RequestData.ReadInt64();
- Context.Ns.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
return 0;
}
@@ -246,7 +246,7 @@ namespace Ryujinx.HLE.OsHle.Services.Hid
{
int VibrationDeviceHandle = Context.RequestData.ReadInt32();
- Context.Ns.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
Context.ResponseData.Write(0L); //VibrationDeviceInfoForIpc
@@ -264,7 +264,7 @@ namespace Ryujinx.HLE.OsHle.Services.Hid
long AppletUserResourceId = Context.RequestData.ReadInt64();
- Context.Ns.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
return 0;
}
@@ -278,7 +278,7 @@ namespace Ryujinx.HLE.OsHle.Services.Hid
public long SendVibrationValues(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceHid, "Stubbed.");
return 0;
}
diff --git a/Ryujinx.HLE/OsHle/Services/IIpcService.cs b/Ryujinx.HLE/HOS/Services/IIpcService.cs
index 60675380..f6bafe97 100644
--- a/Ryujinx.HLE/OsHle/Services/IIpcService.cs
+++ b/Ryujinx.HLE/HOS/Services/IIpcService.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services
+namespace Ryujinx.HLE.HOS.Services
{
interface IIpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/IpcService.cs b/Ryujinx.HLE/HOS/Services/IpcService.cs
index 3c1a136f..8e487d55 100644
--- a/Ryujinx.HLE/OsHle/Services/IpcService.cs
+++ b/Ryujinx.HLE/HOS/Services/IpcService.cs
@@ -1,11 +1,11 @@
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.Kernel;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Handles;
-using Ryujinx.HLE.OsHle.Ipc;
using System;
using System.Collections.Generic;
using System.IO;
-namespace Ryujinx.HLE.OsHle.Services
+namespace Ryujinx.HLE.HOS.Services
{
abstract class IpcService : IIpcService
{
@@ -91,7 +91,7 @@ namespace Ryujinx.HLE.OsHle.Services
{
Context.ResponseData.BaseStream.Seek(IsDomain ? 0x20 : 0x10, SeekOrigin.Begin);
- Context.Ns.Log.PrintDebug(LogClass.KernelIpc, $"{Service.GetType().Name}: {ProcessRequest.Method.Name}");
+ Context.Device.Log.PrintDebug(LogClass.KernelIpc, $"{Service.GetType().Name}: {ProcessRequest.Method.Name}");
long Result = ProcessRequest(Context);
diff --git a/Ryujinx.HLE/OsHle/Services/Lm/ILogService.cs b/Ryujinx.HLE/HOS/Services/Lm/ILogService.cs
index c3aeb184..d79da515 100644
--- a/Ryujinx.HLE/OsHle/Services/Lm/ILogService.cs
+++ b/Ryujinx.HLE/HOS/Services/Lm/ILogService.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Lm
+namespace Ryujinx.HLE.HOS.Services.Lm
{
class ILogService : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Lm/ILogger.cs b/Ryujinx.HLE/HOS/Services/Lm/ILogger.cs
index 90edf2ad..42d57c6f 100644
--- a/Ryujinx.HLE/OsHle/Services/Lm/ILogger.cs
+++ b/Ryujinx.HLE/HOS/Services/Lm/ILogger.cs
@@ -1,10 +1,10 @@
+using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Ipc;
using System.Collections.Generic;
using System.IO;
using System.Text;
-namespace Ryujinx.HLE.OsHle.Services.Lm
+namespace Ryujinx.HLE.HOS.Services.Lm
{
class ILogger : IpcService
{
@@ -72,11 +72,11 @@ namespace Ryujinx.HLE.OsHle.Services.Lm
switch((LmLogLevel)Level)
{
- case LmLogLevel.Trace: Context.Ns.Log.PrintDebug (LogClass.ServiceLm, Text); break;
- case LmLogLevel.Info: Context.Ns.Log.PrintInfo (LogClass.ServiceLm, Text); break;
- case LmLogLevel.Warning: Context.Ns.Log.PrintWarning(LogClass.ServiceLm, Text); break;
- case LmLogLevel.Error: Context.Ns.Log.PrintError (LogClass.ServiceLm, Text); break;
- case LmLogLevel.Critical: Context.Ns.Log.PrintError (LogClass.ServiceLm, Text); break;
+ case LmLogLevel.Trace: Context.Device.Log.PrintDebug (LogClass.ServiceLm, Text); break;
+ case LmLogLevel.Info: Context.Device.Log.PrintInfo (LogClass.ServiceLm, Text); break;
+ case LmLogLevel.Warning: Context.Device.Log.PrintWarning(LogClass.ServiceLm, Text); break;
+ case LmLogLevel.Error: Context.Device.Log.PrintError (LogClass.ServiceLm, Text); break;
+ case LmLogLevel.Critical: Context.Device.Log.PrintError (LogClass.ServiceLm, Text); break;
}
}
diff --git a/Ryujinx.HLE/OsHle/Services/Lm/LmLogField.cs b/Ryujinx.HLE/HOS/Services/Lm/LmLogField.cs
index 33593103..bd8c8e88 100644
--- a/Ryujinx.HLE/OsHle/Services/Lm/LmLogField.cs
+++ b/Ryujinx.HLE/HOS/Services/Lm/LmLogField.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Lm
+namespace Ryujinx.HLE.HOS.Services.Lm
{
enum LmLogField
{
diff --git a/Ryujinx.HLE/OsHle/Services/Lm/LmLogLevel.cs b/Ryujinx.HLE/HOS/Services/Lm/LmLogLevel.cs
index d051a595..70554c42 100644
--- a/Ryujinx.HLE/OsHle/Services/Lm/LmLogLevel.cs
+++ b/Ryujinx.HLE/HOS/Services/Lm/LmLogLevel.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Lm
+namespace Ryujinx.HLE.HOS.Services.Lm
{
enum LmLogLevel
{
diff --git a/Ryujinx.HLE/OsHle/Services/Mm/IRequest.cs b/Ryujinx.HLE/HOS/Services/Mm/IRequest.cs
index c60b7f52..e65ef086 100644
--- a/Ryujinx.HLE/OsHle/Services/Mm/IRequest.cs
+++ b/Ryujinx.HLE/HOS/Services/Mm/IRequest.cs
@@ -1,8 +1,8 @@
+using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Mm
+namespace Ryujinx.HLE.HOS.Services.Mm
{
class IRequest : IpcService
{
@@ -22,14 +22,14 @@ namespace Ryujinx.HLE.OsHle.Services.Mm
public long Initialize(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceMm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceMm, "Stubbed.");
return 0;
}
public long SetAndWait(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceMm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceMm, "Stubbed.");
return 0;
}
@@ -38,7 +38,7 @@ namespace Ryujinx.HLE.OsHle.Services.Mm
{
Context.ResponseData.Write(0);
- Context.Ns.Log.PrintStub(LogClass.ServiceMm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceMm, "Stubbed.");
return 0;
}
diff --git a/Ryujinx.HLE/OsHle/Services/Nfp/DeviceState.cs b/Ryujinx.HLE/HOS/Services/Nfp/DeviceState.cs
index 1863e0d9..04527893 100644
--- a/Ryujinx.HLE/OsHle/Services/Nfp/DeviceState.cs
+++ b/Ryujinx.HLE/HOS/Services/Nfp/DeviceState.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nfp
+namespace Ryujinx.HLE.HOS.Services.Nfp
{
enum DeviceState
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nfp/IUser.cs b/Ryujinx.HLE/HOS/Services/Nfp/IUser.cs
index 4b423ba7..eac90da4 100644
--- a/Ryujinx.HLE/OsHle/Services/Nfp/IUser.cs
+++ b/Ryujinx.HLE/HOS/Services/Nfp/IUser.cs
@@ -1,10 +1,10 @@
-using Ryujinx.HLE.Input;
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.Kernel;
+using Ryujinx.HLE.Input;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Handles;
-using Ryujinx.HLE.OsHle.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Nfp
+namespace Ryujinx.HLE.HOS.Services.Nfp
{
class IUser : IpcService
{
@@ -44,7 +44,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nfp
public long Initialize(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceNfp, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNfp, "Stubbed.");
State = State.Initialized;
@@ -53,7 +53,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nfp
public long AttachActivateEvent(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceNfp, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNfp, "Stubbed.");
int Handle = Context.Process.HandleTable.OpenHandle(ActivateEvent);
@@ -64,7 +64,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nfp
public long AttachDeactivateEvent(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceNfp, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNfp, "Stubbed.");
int Handle = Context.Process.HandleTable.OpenHandle(DeactivateEvent);
@@ -77,7 +77,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nfp
{
Context.ResponseData.Write((int)State);
- Context.Ns.Log.PrintStub(LogClass.ServiceNfp, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNfp, "Stubbed.");
return 0;
}
@@ -86,7 +86,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nfp
{
Context.ResponseData.Write((int)DeviceState);
- Context.Ns.Log.PrintStub(LogClass.ServiceNfp, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNfp, "Stubbed.");
return 0;
}
@@ -95,14 +95,14 @@ namespace Ryujinx.HLE.OsHle.Services.Nfp
{
Context.ResponseData.Write((int)NpadId);
- Context.Ns.Log.PrintStub(LogClass.ServiceNfp, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNfp, "Stubbed.");
return 0;
}
public long AttachAvailabilityChangeEvent(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceNfp, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNfp, "Stubbed.");
int Handle = Context.Process.HandleTable.OpenHandle(AvailabilityChangeEvent);
diff --git a/Ryujinx.HLE/OsHle/Services/Nfp/IUserManager.cs b/Ryujinx.HLE/HOS/Services/Nfp/IUserManager.cs
index 845ce7cf..770f0341 100644
--- a/Ryujinx.HLE/OsHle/Services/Nfp/IUserManager.cs
+++ b/Ryujinx.HLE/HOS/Services/Nfp/IUserManager.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Nfp
+namespace Ryujinx.HLE.HOS.Services.Nfp
{
class IUserManager : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nfp/State.cs b/Ryujinx.HLE/HOS/Services/Nfp/State.cs
index c1f0bb1a..0b4b3c1b 100644
--- a/Ryujinx.HLE/OsHle/Services/Nfp/State.cs
+++ b/Ryujinx.HLE/HOS/Services/Nfp/State.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nfp
+namespace Ryujinx.HLE.HOS.Services.Nfp
{
enum State
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nifm/IGeneralService.cs b/Ryujinx.HLE/HOS/Services/Nifm/IGeneralService.cs
index 83bb9f37..ec68247b 100644
--- a/Ryujinx.HLE/OsHle/Services/Nifm/IGeneralService.cs
+++ b/Ryujinx.HLE/HOS/Services/Nifm/IGeneralService.cs
@@ -1,13 +1,15 @@
+using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Ipc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
-using System.Net.Sockets;
using System.Net.NetworkInformation;
+using System.Net.Sockets;
+
+using static Ryujinx.HLE.HOS.ErrorCode;
-namespace Ryujinx.HLE.OsHle.Services.Nifm
+namespace Ryujinx.HLE.HOS.Services.Nifm
{
class IGeneralService : IpcService
{
@@ -24,16 +26,13 @@ namespace Ryujinx.HLE.OsHle.Services.Nifm
};
}
- public const int NoInternetConnection = 0x2586e;
-
- //CreateRequest(i32)
public long CreateRequest(ServiceCtx Context)
{
int Unknown = Context.RequestData.ReadInt32();
MakeObject(Context, new IRequest());
- Context.Ns.Log.PrintStub(LogClass.ServiceNifm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNifm, "Stubbed.");
return 0;
}
@@ -42,15 +41,16 @@ namespace Ryujinx.HLE.OsHle.Services.Nifm
{
if (!NetworkInterface.GetIsNetworkAvailable())
{
- return NoInternetConnection;
+ return MakeError(ErrorModule.Nifm, NifmErr.NoInternetConnection);
}
- IPHostEntry Host = Dns.GetHostEntry(Dns.GetHostName());
- IPAddress Address = Host.AddressList.FirstOrDefault(A => A.AddressFamily == AddressFamily.InterNetwork);
+ IPHostEntry Host = Dns.GetHostEntry(Dns.GetHostName());
+
+ IPAddress Address = Host.AddressList.FirstOrDefault(A => A.AddressFamily == AddressFamily.InterNetwork);
Context.ResponseData.Write(BitConverter.ToUInt32(Address.GetAddressBytes()));
- Context.Ns.Log.PrintInfo(LogClass.ServiceNifm, $"Console's local IP is {Address.ToString()}");
+ Context.Device.Log.PrintInfo(LogClass.ServiceNifm, $"Console's local IP is \"{Address}\".");
return 0;
}
diff --git a/Ryujinx.HLE/OsHle/Services/Nifm/IRequest.cs b/Ryujinx.HLE/HOS/Services/Nifm/IRequest.cs
index 2056187d..7bd30ff9 100644
--- a/Ryujinx.HLE/OsHle/Services/Nifm/IRequest.cs
+++ b/Ryujinx.HLE/HOS/Services/Nifm/IRequest.cs
@@ -1,10 +1,10 @@
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.Kernel;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Handles;
-using Ryujinx.HLE.OsHle.Ipc;
using System;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Nifm
+namespace Ryujinx.HLE.HOS.Services.Nifm
{
class IRequest : IpcService, IDisposable
{
@@ -35,14 +35,14 @@ namespace Ryujinx.HLE.OsHle.Services.Nifm
{
Context.ResponseData.Write(1);
- Context.Ns.Log.PrintStub(LogClass.ServiceNifm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNifm, "Stubbed.");
return 0;
}
public long GetResult(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceNifm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNifm, "Stubbed.");
return 0;
}
@@ -59,21 +59,21 @@ namespace Ryujinx.HLE.OsHle.Services.Nifm
public long Cancel(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceNifm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNifm, "Stubbed.");
return 0;
}
public long Submit(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceNifm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNifm, "Stubbed.");
return 0;
}
public long SetConnectionConfirmationOption(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceNifm, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNifm, "Stubbed.");
return 0;
}
diff --git a/Ryujinx.HLE/OsHle/Services/Nifm/IStaticService.cs b/Ryujinx.HLE/HOS/Services/Nifm/IStaticService.cs
index c6d773f5..19e7d247 100644
--- a/Ryujinx.HLE/OsHle/Services/Nifm/IStaticService.cs
+++ b/Ryujinx.HLE/HOS/Services/Nifm/IStaticService.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Nifm
+namespace Ryujinx.HLE.HOS.Services.Nifm
{
class IStaticService : IpcService
{
diff --git a/Ryujinx.HLE/HOS/Services/Nifm/NifmErr.cs b/Ryujinx.HLE/HOS/Services/Nifm/NifmErr.cs
new file mode 100644
index 00000000..3abeb838
--- /dev/null
+++ b/Ryujinx.HLE/HOS/Services/Nifm/NifmErr.cs
@@ -0,0 +1,7 @@
+namespace Ryujinx.HLE.HOS.Services.Nifm
+{
+ static class NifmErr
+ {
+ public const int NoInternetConnection = 300;
+ }
+} \ No newline at end of file
diff --git a/Ryujinx.HLE/OsHle/Services/Ns/IAddOnContentManager.cs b/Ryujinx.HLE/HOS/Services/Ns/IAddOnContentManager.cs
index f3e7146e..b8455d41 100644
--- a/Ryujinx.HLE/OsHle/Services/Ns/IAddOnContentManager.cs
+++ b/Ryujinx.HLE/HOS/Services/Ns/IAddOnContentManager.cs
@@ -1,8 +1,8 @@
+using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Ns
+namespace Ryujinx.HLE.HOS.Services.Ns
{
class IAddOnContentManager : IpcService
{
@@ -23,14 +23,14 @@ namespace Ryujinx.HLE.OsHle.Services.Ns
{
Context.ResponseData.Write(0);
- Context.Ns.Log.PrintStub(LogClass.ServiceNs, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNs, "Stubbed.");
return 0;
}
public static long ListAddOnContent(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceNs, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNs, "Stubbed.");
//TODO: This is supposed to write a u32 array aswell.
//It's unknown what it contains.
diff --git a/Ryujinx.HLE/OsHle/Services/Ns/IServiceGetterInterface.cs b/Ryujinx.HLE/HOS/Services/Ns/IServiceGetterInterface.cs
index 3650f8a4..a27cfe60 100644
--- a/Ryujinx.HLE/OsHle/Services/Ns/IServiceGetterInterface.cs
+++ b/Ryujinx.HLE/HOS/Services/Ns/IServiceGetterInterface.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Ns
+namespace Ryujinx.HLE.HOS.Services.Ns
{
class IServiceGetterInterface : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Ns/ISystemUpdateInterface.cs b/Ryujinx.HLE/HOS/Services/Ns/ISystemUpdateInterface.cs
index adb6add9..6ade8865 100644
--- a/Ryujinx.HLE/OsHle/Services/Ns/ISystemUpdateInterface.cs
+++ b/Ryujinx.HLE/HOS/Services/Ns/ISystemUpdateInterface.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Ns
+namespace Ryujinx.HLE.HOS.Services.Ns
{
class ISystemUpdateInterface : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Ns/IVulnerabilityManagerInterface.cs b/Ryujinx.HLE/HOS/Services/Ns/IVulnerabilityManagerInterface.cs
index 6a2c3d3b..cff334c0 100644
--- a/Ryujinx.HLE/OsHle/Services/Ns/IVulnerabilityManagerInterface.cs
+++ b/Ryujinx.HLE/HOS/Services/Ns/IVulnerabilityManagerInterface.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Ns
+namespace Ryujinx.HLE.HOS.Services.Ns
{
class IVulnerabilityManagerInterface : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/INvDrvServices.cs b/Ryujinx.HLE/HOS/Services/Nv/INvDrvServices.cs
index 4654d15f..bfc76931 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/INvDrvServices.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/INvDrvServices.cs
@@ -1,16 +1,16 @@
using ChocolArm64.Memory;
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.Kernel;
+using Ryujinx.HLE.HOS.Services.Nv.NvGpuAS;
+using Ryujinx.HLE.HOS.Services.Nv.NvGpuGpu;
+using Ryujinx.HLE.HOS.Services.Nv.NvHostChannel;
+using Ryujinx.HLE.HOS.Services.Nv.NvHostCtrl;
+using Ryujinx.HLE.HOS.Services.Nv.NvMap;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Handles;
-using Ryujinx.HLE.OsHle.Ipc;
-using Ryujinx.HLE.OsHle.Services.Nv.NvGpuAS;
-using Ryujinx.HLE.OsHle.Services.Nv.NvGpuGpu;
-using Ryujinx.HLE.OsHle.Services.Nv.NvHostChannel;
-using Ryujinx.HLE.OsHle.Services.Nv.NvHostCtrl;
-using Ryujinx.HLE.OsHle.Services.Nv.NvMap;
using System;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Nv
+namespace Ryujinx.HLE.HOS.Services.Nv
{
class INvDrvServices : IpcService, IDisposable
{
@@ -143,7 +143,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv
public long FinishInitialize(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
return 0;
}
@@ -177,14 +177,14 @@ namespace Ryujinx.HLE.OsHle.Services.Nv
{
if (CmdIn(Cmd) && Context.Request.GetBufferType0x21().Position == 0)
{
- Context.Ns.Log.PrintError(LogClass.ServiceNv, "Input buffer is null!");
+ Context.Device.Log.PrintError(LogClass.ServiceNv, "Input buffer is null!");
return NvResult.InvalidInput;
}
if (CmdOut(Cmd) && Context.Request.GetBufferType0x22().Position == 0)
{
- Context.Ns.Log.PrintError(LogClass.ServiceNv, "Output buffer is null!");
+ Context.Device.Log.PrintError(LogClass.ServiceNv, "Output buffer is null!");
return NvResult.InvalidInput;
}
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvFd.cs b/Ryujinx.HLE/HOS/Services/Nv/NvFd.cs
index 96fce80a..96f97f41 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvFd.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvFd.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv
+namespace Ryujinx.HLE.HOS.Services.Nv
{
class NvFd
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvGpuAS/NvGpuASAllocSpace.cs b/Ryujinx.HLE/HOS/Services/Nv/NvGpuAS/NvGpuASAllocSpace.cs
index 9d955d62..bca2f9f4 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvGpuAS/NvGpuASAllocSpace.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvGpuAS/NvGpuASAllocSpace.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuAS
+namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuAS
{
struct NvGpuASAllocSpace
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvGpuAS/NvGpuASCtx.cs b/Ryujinx.HLE/HOS/Services/Nv/NvGpuAS/NvGpuASCtx.cs
index e718182a..d69ec719 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvGpuAS/NvGpuASCtx.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvGpuAS/NvGpuASCtx.cs
@@ -1,8 +1,7 @@
-using ChocolArm64.Memory;
using Ryujinx.HLE.Gpu.Memory;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuAS
+namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuAS
{
class NvGpuASCtx
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvGpuAS/NvGpuASIoctl.cs b/Ryujinx.HLE/HOS/Services/Nv/NvGpuAS/NvGpuASIoctl.cs
index 3c67cef0..c9be18ea 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvGpuAS/NvGpuASIoctl.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvGpuAS/NvGpuASIoctl.cs
@@ -1,11 +1,11 @@
using ChocolArm64.Memory;
using Ryujinx.HLE.Gpu.Memory;
+using Ryujinx.HLE.HOS.Services.Nv.NvMap;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Services.Nv.NvMap;
using System;
using System.Collections.Concurrent;
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuAS
+namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuAS
{
class NvGpuASIoctl
{
@@ -42,7 +42,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuAS
long InputPosition = Context.Request.GetBufferType0x21().Position;
long OutputPosition = Context.Request.GetBufferType0x22().Position;
- Context.Ns.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success;
}
@@ -78,7 +78,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuAS
{
Args.Offset = 0;
- Context.Ns.Log.PrintWarning(LogClass.ServiceNv, $"Failed to allocate size {Size:x16}!");
+ Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Failed to allocate size {Size:x16}!");
Result = NvResult.OutOfMemory;
}
@@ -115,7 +115,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuAS
}
else
{
- Context.Ns.Log.PrintWarning(LogClass.ServiceNv,
+ Context.Device.Log.PrintWarning(LogClass.ServiceNv,
$"Failed to free offset 0x{Args.Offset:x16} size 0x{Size:x16}!");
Result = NvResult.InvalidInput;
@@ -145,7 +145,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuAS
}
else
{
- Context.Ns.Log.PrintWarning(LogClass.ServiceNv, $"Invalid buffer offset {Args.Offset:x16}!");
+ Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Invalid buffer offset {Args.Offset:x16}!");
}
}
@@ -167,7 +167,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuAS
if (Map == null)
{
- Context.Ns.Log.PrintWarning(LogClass.ServiceNv, $"Invalid NvMap handle 0x{Args.NvMapHandle:x8}!");
+ Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Invalid NvMap handle 0x{Args.NvMapHandle:x8}!");
return NvResult.InvalidInput;
}
@@ -188,7 +188,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuAS
{
string Msg = string.Format(MapErrorMsg, VA, Args.MappingSize);
- Context.Ns.Log.PrintWarning(LogClass.ServiceNv, Msg);
+ Context.Device.Log.PrintWarning(LogClass.ServiceNv, Msg);
return NvResult.InvalidInput;
}
@@ -197,7 +197,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuAS
}
else
{
- Context.Ns.Log.PrintWarning(LogClass.ServiceNv, $"Address 0x{Args.Offset:x16} not mapped!");
+ Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Address 0x{Args.Offset:x16} not mapped!");
return NvResult.InvalidInput;
}
@@ -231,7 +231,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuAS
{
string Msg = string.Format(MapErrorMsg, Args.Offset, Size);
- Context.Ns.Log.PrintWarning(LogClass.ServiceNv, Msg);
+ Context.Device.Log.PrintWarning(LogClass.ServiceNv, Msg);
Result = NvResult.InvalidInput;
}
@@ -245,7 +245,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuAS
{
Args.Offset = 0;
- Context.Ns.Log.PrintWarning(LogClass.ServiceNv, $"Failed to map size 0x{Size:x16}!");
+ Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Failed to map size 0x{Size:x16}!");
Result = NvResult.InvalidInput;
}
@@ -265,7 +265,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuAS
long InputPosition = Context.Request.GetBufferType0x21().Position;
long OutputPosition = Context.Request.GetBufferType0x22().Position;
- Context.Ns.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success;
}
@@ -275,7 +275,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuAS
long InputPosition = Context.Request.GetBufferType0x21().Position;
long OutputPosition = Context.Request.GetBufferType0x22().Position;
- Context.Ns.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success;
}
@@ -296,7 +296,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuAS
if (Map == null)
{
- Context.Ns.Log.PrintWarning(LogClass.ServiceNv, $"Invalid NvMap handle 0x{Args.NvMapHandle:x8}!");
+ Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Invalid NvMap handle 0x{Args.NvMapHandle:x8}!");
return NvResult.InvalidInput;
}
@@ -306,7 +306,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuAS
if (Result < 0)
{
- Context.Ns.Log.PrintWarning(LogClass.ServiceNv,
+ Context.Device.Log.PrintWarning(LogClass.ServiceNv,
$"Page 0x{Args.Offset:x16} size 0x{Args.Pages:x16} not allocated!");
return NvResult.InvalidInput;
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvGpuAS/NvGpuASMapBufferEx.cs b/Ryujinx.HLE/HOS/Services/Nv/NvGpuAS/NvGpuASMapBufferEx.cs
index f3ee40b6..4bdb4bf7 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvGpuAS/NvGpuASMapBufferEx.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvGpuAS/NvGpuASMapBufferEx.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuAS
+namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuAS
{
struct NvGpuASMapBufferEx
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvGpuAS/NvGpuASRemap.cs b/Ryujinx.HLE/HOS/Services/Nv/NvGpuAS/NvGpuASRemap.cs
index e0ccb113..a24221ba 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvGpuAS/NvGpuASRemap.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvGpuAS/NvGpuASRemap.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuAS
+namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuAS
{
struct NvGpuASRemap
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvGpuAS/NvGpuASUnmapBuffer.cs b/Ryujinx.HLE/HOS/Services/Nv/NvGpuAS/NvGpuASUnmapBuffer.cs
index 790da3c2..beb07fe2 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvGpuAS/NvGpuASUnmapBuffer.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvGpuAS/NvGpuASUnmapBuffer.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuAS
+namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuAS
{
struct NvGpuASUnmapBuffer
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuGetActiveSlotMask.cs b/Ryujinx.HLE/HOS/Services/Nv/NvGpuGpu/NvGpuGpuGetActiveSlotMask.cs
index 71edebbb..e20d21f9 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuGetActiveSlotMask.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvGpuGpu/NvGpuGpuGetActiveSlotMask.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuGpu
+namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuGpu
{
struct NvGpuGpuGetActiveSlotMask
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuGetCharacteristics.cs b/Ryujinx.HLE/HOS/Services/Nv/NvGpuGpu/NvGpuGpuGetCharacteristics.cs
index a519fed1..9a925138 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuGetCharacteristics.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvGpuGpu/NvGpuGpuGetCharacteristics.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuGpu
+namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuGpu
{
struct NvGpuGpuGetCharacteristics
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuGetTpcMasks.cs b/Ryujinx.HLE/HOS/Services/Nv/NvGpuGpu/NvGpuGpuGetTpcMasks.cs
index 17a7da62..751363c6 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuGetTpcMasks.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvGpuGpu/NvGpuGpuGetTpcMasks.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuGpu
+namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuGpu
{
struct NvGpuGpuGetTpcMasks
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuIoctl.cs b/Ryujinx.HLE/HOS/Services/Nv/NvGpuGpu/NvGpuGpuIoctl.cs
index c034994c..5ae45c1e 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuIoctl.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvGpuGpu/NvGpuGpuIoctl.cs
@@ -3,7 +3,7 @@ using Ryujinx.HLE.Logging;
using System;
using System.Diagnostics;
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuGpu
+namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuGpu
{
class NvGpuGpuIoctl
{
@@ -46,7 +46,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuGpu
AMemoryHelper.Write(Context.Memory, OutputPosition, Args);
- Context.Ns.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success;
}
@@ -70,7 +70,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuGpu
AMemoryHelper.Write(Context.Memory, OutputPosition, Args);
- Context.Ns.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success;
}
@@ -80,7 +80,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuGpu
long InputPosition = Context.Request.GetBufferType0x21().Position;
long OutputPosition = Context.Request.GetBufferType0x22().Position;
- Context.Ns.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success;
}
@@ -163,7 +163,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuGpu
AMemoryHelper.Write(Context.Memory, OutputPosition, Args);
- Context.Ns.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success;
}
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuZcullGetCtxSize.cs b/Ryujinx.HLE/HOS/Services/Nv/NvGpuGpu/NvGpuGpuZcullGetCtxSize.cs
index 21bcaceb..3ac9f92b 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuZcullGetCtxSize.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvGpuGpu/NvGpuGpuZcullGetCtxSize.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuGpu
+namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuGpu
{
struct NvGpuGpuZcullGetCtxSize
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuZcullGetInfo.cs b/Ryujinx.HLE/HOS/Services/Nv/NvGpuGpu/NvGpuGpuZcullGetInfo.cs
index 168051ed..4a7cafd5 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvGpuGpu/NvGpuGpuZcullGetInfo.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvGpuGpu/NvGpuGpuZcullGetInfo.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvGpuGpu
+namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuGpu
{
struct NvGpuGpuZcullGetInfo
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvHelper.cs b/Ryujinx.HLE/HOS/Services/Nv/NvHelper.cs
index 22f1fecc..d9a1c452 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvHelper.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvHelper.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv
+namespace Ryujinx.HLE.HOS.Services.Nv
{
static class NvHelper
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvHostChannel/NvChannel.cs b/Ryujinx.HLE/HOS/Services/Nv/NvHostChannel/NvChannel.cs
index 486c3806..54e709f9 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvHostChannel/NvChannel.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvHostChannel/NvChannel.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvHostChannel
+namespace Ryujinx.HLE.HOS.Services.Nv.NvHostChannel
{
class NvChannel
{
diff --git a/Ryujinx.HLE/HOS/Services/Nv/NvHostChannel/NvChannelName.cs b/Ryujinx.HLE/HOS/Services/Nv/NvHostChannel/NvChannelName.cs
new file mode 100644
index 00000000..a2b5ea4c
--- /dev/null
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvHostChannel/NvChannelName.cs
@@ -0,0 +1,7 @@
+namespace Ryujinx.HLE.HOS.Services.Nv.NvHostChannel
+{
+ enum NvChannelName
+ {
+ Gpu
+ }
+} \ No newline at end of file
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvHostChannel/NvHostChannelIoctl.cs b/Ryujinx.HLE/HOS/Services/Nv/NvHostChannel/NvHostChannelIoctl.cs
index 3e030643..842447f3 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvHostChannel/NvHostChannelIoctl.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvHostChannel/NvHostChannelIoctl.cs
@@ -1,11 +1,11 @@
using ChocolArm64.Memory;
using Ryujinx.HLE.Gpu.Memory;
+using Ryujinx.HLE.HOS.Services.Nv.NvGpuAS;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Services.Nv.NvGpuAS;
using System;
using System.Collections.Concurrent;
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvHostChannel
+namespace Ryujinx.HLE.HOS.Services.Nv.NvHostChannel
{
class NvHostChannelIoctl
{
@@ -57,7 +57,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvHostChannel
long InputPosition = Context.Request.GetBufferType0x21().Position;
long OutputPosition = Context.Request.GetBufferType0x22().Position;
- Context.Ns.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success;
}
@@ -67,7 +67,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvHostChannel
long InputPosition = Context.Request.GetBufferType0x21().Position;
long OutputPosition = Context.Request.GetBufferType0x22().Position;
- Context.Ns.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success;
}
@@ -110,7 +110,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvHostChannel
long InputPosition = Context.Request.GetBufferType0x21().Position;
long OutputPosition = Context.Request.GetBufferType0x22().Position;
- Context.Ns.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success;
}
@@ -120,7 +120,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvHostChannel
long InputPosition = Context.Request.GetBufferType0x21().Position;
long OutputPosition = Context.Request.GetBufferType0x22().Position;
- Context.Ns.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success;
}
@@ -130,7 +130,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvHostChannel
long InputPosition = Context.Request.GetBufferType0x21().Position;
long OutputPosition = Context.Request.GetBufferType0x22().Position;
- Context.Ns.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success;
}
@@ -140,7 +140,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvHostChannel
long InputPosition = Context.Request.GetBufferType0x21().Position;
long OutputPosition = Context.Request.GetBufferType0x22().Position;
- Context.Ns.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success;
}
@@ -150,7 +150,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvHostChannel
long InputPosition = Context.Request.GetBufferType0x21().Position;
long OutputPosition = Context.Request.GetBufferType0x22().Position;
- Context.Ns.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success;
}
@@ -189,7 +189,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvHostChannel
NvGpuPBEntry[] PushBuffer = NvGpuPushBuffer.Decode(Data);
- Context.Ns.Gpu.Fifo.PushBuffer(Vmm, PushBuffer);
+ Context.Device.Gpu.Fifo.PushBuffer(Vmm, PushBuffer);
}
public static NvChannel GetChannel(ServiceCtx Context, NvChannelName Channel)
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvHostChannel/NvHostChannelSubmitGpfifo.cs b/Ryujinx.HLE/HOS/Services/Nv/NvHostChannel/NvHostChannelSubmitGpfifo.cs
index ee945839..edebcfeb 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvHostChannel/NvHostChannelSubmitGpfifo.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvHostChannel/NvHostChannelSubmitGpfifo.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvHostChannel
+namespace Ryujinx.HLE.HOS.Services.Nv.NvHostChannel
{
struct NvHostChannelSubmitGpfifo
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvHostCtrl/NvHostCtrlIoctl.cs b/Ryujinx.HLE/HOS/Services/Nv/NvHostCtrl/NvHostCtrlIoctl.cs
index 7f203453..2bfe8882 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvHostCtrl/NvHostCtrlIoctl.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvHostCtrl/NvHostCtrlIoctl.cs
@@ -5,7 +5,7 @@ using System.Collections.Concurrent;
using System.Text;
using System.Threading;
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvHostCtrl
+namespace Ryujinx.HLE.HOS.Services.Nv.NvHostCtrl
{
class NvHostCtrlIoctl
{
@@ -95,7 +95,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvHostCtrl
{
if (StringValue.Length > 0x100)
{
- Context.Ns.Log.PrintError(Logging.LogClass.ServiceNv, $"{Domain}!{Name} String value size is too big!");
+ Context.Device.Log.PrintError(Logging.LogClass.ServiceNv, $"{Domain}!{Name} String value size is too big!");
}
else
{
@@ -118,7 +118,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvHostCtrl
Context.Memory.WriteBytes(OutputPosition + 0x82, SettingBuffer);
- Context.Ns.Log.PrintDebug(Logging.LogClass.ServiceNv, $"Got setting {Domain}!{Name}");
+ Context.Device.Log.PrintDebug(Logging.LogClass.ServiceNv, $"Got setting {Domain}!{Name}");
}
return NvResult.Success;
@@ -144,7 +144,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvHostCtrl
int EventId = Context.Memory.ReadInt32(InputPosition);
- Context.Ns.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceNv, "Stubbed.");
return NvResult.Success;
}
@@ -201,7 +201,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvHostCtrl
}
else
{
- Context.Ns.Log.PrintDebug(LogClass.ServiceNv, "Waiting syncpt with timeout of " + Args.Timeout + "ms...");
+ Context.Device.Log.PrintDebug(LogClass.ServiceNv, "Waiting syncpt with timeout of " + Args.Timeout + "ms...");
using (ManualResetEvent WaitEvent = new ManualResetEvent(false))
{
@@ -232,7 +232,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvHostCtrl
}
}
- Context.Ns.Log.PrintDebug(LogClass.ServiceNv, "Resuming...");
+ Context.Device.Log.PrintDebug(LogClass.ServiceNv, "Resuming...");
}
if (Extended)
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvHostCtrl/NvHostCtrlSyncPtRead.cs b/Ryujinx.HLE/HOS/Services/Nv/NvHostCtrl/NvHostCtrlSyncPtRead.cs
index 7801f467..275b6132 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvHostCtrl/NvHostCtrlSyncPtRead.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvHostCtrl/NvHostCtrlSyncPtRead.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvHostCtrl
+namespace Ryujinx.HLE.HOS.Services.Nv.NvHostCtrl
{
struct NvHostCtrlSyncptRead
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvHostCtrl/NvHostCtrlSyncPtWait.cs b/Ryujinx.HLE/HOS/Services/Nv/NvHostCtrl/NvHostCtrlSyncPtWait.cs
index 29a75dd7..96e2f968 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvHostCtrl/NvHostCtrlSyncPtWait.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvHostCtrl/NvHostCtrlSyncPtWait.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvHostCtrl
+namespace Ryujinx.HLE.HOS.Services.Nv.NvHostCtrl
{
struct NvHostCtrlSyncptWait
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvHostCtrl/NvHostCtrlSyncPtWaitEx.cs b/Ryujinx.HLE/HOS/Services/Nv/NvHostCtrl/NvHostCtrlSyncPtWaitEx.cs
index 79f84214..6aaa4718 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvHostCtrl/NvHostCtrlSyncPtWaitEx.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvHostCtrl/NvHostCtrlSyncPtWaitEx.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvHostCtrl
+namespace Ryujinx.HLE.HOS.Services.Nv.NvHostCtrl
{
struct NvHostCtrlSyncptWaitEx
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvHostCtrl/NvHostCtrlUserCtx.cs b/Ryujinx.HLE/HOS/Services/Nv/NvHostCtrl/NvHostCtrlUserCtx.cs
index 5d414a2e..fcb80836 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvHostCtrl/NvHostCtrlUserCtx.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvHostCtrl/NvHostCtrlUserCtx.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvHostCtrl
+namespace Ryujinx.HLE.HOS.Services.Nv.NvHostCtrl
{
class NvHostCtrlUserCtx
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvHostCtrl/NvHostEvent.cs b/Ryujinx.HLE/HOS/Services/Nv/NvHostCtrl/NvHostEvent.cs
index bb294d72..71e5f1e6 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvHostCtrl/NvHostEvent.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvHostCtrl/NvHostEvent.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvHostCtrl
+namespace Ryujinx.HLE.HOS.Services.Nv.NvHostCtrl
{
class NvHostEvent
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvHostCtrl/NvHostEventState.cs b/Ryujinx.HLE/HOS/Services/Nv/NvHostCtrl/NvHostEventState.cs
index fa4583b8..61870c7f 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvHostCtrl/NvHostEventState.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvHostCtrl/NvHostEventState.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvHostCtrl
+namespace Ryujinx.HLE.HOS.Services.Nv.NvHostCtrl
{
enum NvHostEventState
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvHostCtrl/NvHostSyncPt.cs b/Ryujinx.HLE/HOS/Services/Nv/NvHostCtrl/NvHostSyncPt.cs
index 47d63f79..9ffa93f2 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvHostCtrl/NvHostSyncPt.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvHostCtrl/NvHostSyncPt.cs
@@ -3,7 +3,7 @@ using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Threading;
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvHostCtrl
+namespace Ryujinx.HLE.HOS.Services.Nv.NvHostCtrl
{
class NvHostSyncpt
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapAlloc.cs b/Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapAlloc.cs
index 10634b86..bc61baad 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapAlloc.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapAlloc.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvMap
+namespace Ryujinx.HLE.HOS.Services.Nv.NvMap
{
struct NvMapAlloc
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapCreate.cs b/Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapCreate.cs
index 8f3be79d..dd4bff98 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapCreate.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapCreate.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvMap
+namespace Ryujinx.HLE.HOS.Services.Nv.NvMap
{
struct NvMapCreate
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapFree.cs b/Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapFree.cs
index bc66fc71..d946987e 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapFree.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapFree.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvMap
+namespace Ryujinx.HLE.HOS.Services.Nv.NvMap
{
struct NvMapFree
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapFromId.cs b/Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapFromId.cs
index 31c75131..e49257ea 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapFromId.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapFromId.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvMap
+namespace Ryujinx.HLE.HOS.Services.Nv.NvMap
{
struct NvMapFromId
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapGetId.cs b/Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapGetId.cs
index 780815d2..1f4f3290 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapGetId.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapGetId.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvMap
+namespace Ryujinx.HLE.HOS.Services.Nv.NvMap
{
struct NvMapGetId
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapHandle.cs b/Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapHandle.cs
index f349a03e..3f8a1517 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapHandle.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapHandle.cs
@@ -1,6 +1,6 @@
using System.Threading;
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvMap
+namespace Ryujinx.HLE.HOS.Services.Nv.NvMap
{
class NvMapHandle
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapHandleParam.cs b/Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapHandleParam.cs
index ab1b0577..b360343c 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapHandleParam.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapHandleParam.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvMap
+namespace Ryujinx.HLE.HOS.Services.Nv.NvMap
{
enum NvMapHandleParam
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapIoctl.cs b/Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapIoctl.cs
index e5b29825..782f7b80 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapIoctl.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapIoctl.cs
@@ -1,10 +1,10 @@
using ChocolArm64.Memory;
using Ryujinx.HLE.Gpu.Memory;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Utilities;
+using Ryujinx.HLE.Utilities;
using System.Collections.Concurrent;
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvMap
+namespace Ryujinx.HLE.HOS.Services.Nv.NvMap
{
class NvMapIoctl
{
@@ -29,7 +29,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvMap
case 0x010e: return GetId (Context);
}
- Context.Ns.Log.PrintWarning(LogClass.ServiceNv, $"Unsupported Ioctl command 0x{Cmd:x8}!");
+ Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Unsupported Ioctl command 0x{Cmd:x8}!");
return NvResult.NotSupported;
}
@@ -43,7 +43,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvMap
if (Args.Size == 0)
{
- Context.Ns.Log.PrintWarning(LogClass.ServiceNv, $"Invalid size 0x{Args.Size:x8}!");
+ Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Invalid size 0x{Args.Size:x8}!");
return NvResult.InvalidInput;
}
@@ -52,7 +52,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvMap
Args.Handle = AddNvMap(Context, new NvMapHandle(Size));
- Context.Ns.Log.PrintInfo(LogClass.ServiceNv, $"Created map {Args.Handle} with size 0x{Size:x8}!");
+ Context.Device.Log.PrintInfo(LogClass.ServiceNv, $"Created map {Args.Handle} with size 0x{Size:x8}!");
AMemoryHelper.Write(Context.Memory, OutputPosition, Args);
@@ -70,7 +70,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvMap
if (Map == null)
{
- Context.Ns.Log.PrintWarning(LogClass.ServiceNv, $"Invalid handle 0x{Args.Handle:x8}!");
+ Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Invalid handle 0x{Args.Handle:x8}!");
return NvResult.InvalidInput;
}
@@ -95,14 +95,14 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvMap
if (Map == null)
{
- Context.Ns.Log.PrintWarning(LogClass.ServiceNv, $"Invalid handle 0x{Args.Handle:x8}!");
+ Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Invalid handle 0x{Args.Handle:x8}!");
return NvResult.InvalidInput;
}
if ((Args.Align & (Args.Align - 1)) != 0)
{
- Context.Ns.Log.PrintWarning(LogClass.ServiceNv, $"Invalid alignment 0x{Args.Align:x8}!");
+ Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Invalid alignment 0x{Args.Align:x8}!");
return NvResult.InvalidInput;
}
@@ -130,7 +130,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvMap
//When the address is zero, we need to allocate
//our own backing memory for the NvMap.
//TODO: Is this allocation inside the transfer memory?
- if (!Context.Ns.Memory.Allocator.TryAllocate((uint)Size, out Address))
+ if (!Context.Device.Memory.Allocator.TryAllocate((uint)Size, out Address))
{
Result = NvResult.OutOfMemory;
}
@@ -159,7 +159,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvMap
if (Map == null)
{
- Context.Ns.Log.PrintWarning(LogClass.ServiceNv, $"Invalid handle 0x{Args.Handle:x8}!");
+ Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Invalid handle 0x{Args.Handle:x8}!");
return NvResult.InvalidInput;
}
@@ -168,7 +168,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvMap
{
DeleteNvMap(Context, Args.Handle);
- Context.Ns.Log.PrintInfo(LogClass.ServiceNv, $"Deleted map {Args.Handle}!");
+ Context.Device.Log.PrintInfo(LogClass.ServiceNv, $"Deleted map {Args.Handle}!");
Args.Address = Map.Address;
Args.Flags = 0;
@@ -197,7 +197,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvMap
if (Map == null)
{
- Context.Ns.Log.PrintWarning(LogClass.ServiceNv, $"Invalid handle 0x{Args.Handle:x8}!");
+ Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Invalid handle 0x{Args.Handle:x8}!");
return NvResult.InvalidInput;
}
@@ -231,7 +231,7 @@ namespace Ryujinx.HLE.OsHle.Services.Nv.NvMap
if (Map == null)
{
- Context.Ns.Log.PrintWarning(LogClass.ServiceNv, $"Invalid handle 0x{Args.Handle:x8}!");
+ Context.Device.Log.PrintWarning(LogClass.ServiceNv, $"Invalid handle 0x{Args.Handle:x8}!");
return NvResult.InvalidInput;
}
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapParam.cs b/Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapParam.cs
index 218cb700..b5213efe 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvMap/NvMapParam.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvMap/NvMapParam.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvMap
+namespace Ryujinx.HLE.HOS.Services.Nv.NvMap
{
struct NvMapParam
{
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvResult.cs b/Ryujinx.HLE/HOS/Services/Nv/NvResult.cs
index 78ae5ae3..86ecd975 100644
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvResult.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvResult.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv
+namespace Ryujinx.HLE.HOS.Services.Nv
{
static class NvResult
{
diff --git a/Ryujinx.HLE/OsHle/Services/Pctl/IParentalControlService.cs b/Ryujinx.HLE/HOS/Services/Pctl/IParentalControlService.cs
index 60a69f58..d484d312 100644
--- a/Ryujinx.HLE/OsHle/Services/Pctl/IParentalControlService.cs
+++ b/Ryujinx.HLE/HOS/Services/Pctl/IParentalControlService.cs
@@ -1,8 +1,8 @@
+using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Pctl
+namespace Ryujinx.HLE.HOS.Services.Pctl
{
class IParentalControlService : IpcService
{
@@ -32,7 +32,7 @@ namespace Ryujinx.HLE.OsHle.Services.Pctl
}
else
{
- Context.Ns.Log.PrintWarning(LogClass.ServicePctl, "Service is already initialized!");
+ Context.Device.Log.PrintWarning(LogClass.ServicePctl, "Service is already initialized!");
}
return 0;
diff --git a/Ryujinx.HLE/OsHle/Services/Pctl/IParentalControlServiceFactory.cs b/Ryujinx.HLE/HOS/Services/Pctl/IParentalControlServiceFactory.cs
index 7ef91d7f..157d594d 100644
--- a/Ryujinx.HLE/OsHle/Services/Pctl/IParentalControlServiceFactory.cs
+++ b/Ryujinx.HLE/HOS/Services/Pctl/IParentalControlServiceFactory.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Pctl
+namespace Ryujinx.HLE.HOS.Services.Pctl
{
class IParentalControlServiceFactory : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Pl/ISharedFontManager.cs b/Ryujinx.HLE/HOS/Services/Pl/ISharedFontManager.cs
index 4788c5af..92821217 100644
--- a/Ryujinx.HLE/OsHle/Services/Pl/ISharedFontManager.cs
+++ b/Ryujinx.HLE/HOS/Services/Pl/ISharedFontManager.cs
@@ -1,8 +1,8 @@
-using Ryujinx.HLE.OsHle.Font;
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Font;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Pl
+namespace Ryujinx.HLE.HOS.Services.Pl
{
class ISharedFontManager : IpcService
{
@@ -47,7 +47,7 @@ namespace Ryujinx.HLE.OsHle.Services.Pl
{
SharedFontType FontType = (SharedFontType)Context.RequestData.ReadInt32();
- Context.ResponseData.Write(Context.Ns.Os.Font.GetFontSize(FontType));
+ Context.ResponseData.Write(Context.Device.System.Font.GetFontSize(FontType));
return 0;
}
@@ -56,16 +56,16 @@ namespace Ryujinx.HLE.OsHle.Services.Pl
{
SharedFontType FontType = (SharedFontType)Context.RequestData.ReadInt32();
- Context.ResponseData.Write(Context.Ns.Os.Font.GetSharedMemoryAddressOffset(FontType));
+ Context.ResponseData.Write(Context.Device.System.Font.GetSharedMemoryAddressOffset(FontType));
return 0;
}
public long GetSharedMemoryNativeHandle(ServiceCtx Context)
{
- Context.Ns.Os.Font.EnsureInitialized();
+ Context.Device.System.Font.EnsureInitialized();
- int Handle = Context.Process.HandleTable.OpenHandle(Context.Ns.Os.FontSharedMem);
+ int Handle = Context.Process.HandleTable.OpenHandle(Context.Device.System.FontSharedMem);
Context.Response.HandleDesc = IpcHandleDesc.MakeCopy(Handle);
@@ -115,9 +115,9 @@ namespace Ryujinx.HLE.OsHle.Services.Pl
Context.Memory.WriteInt32(TypesPosition + Offset, (int)FontType);
- Context.Memory.WriteInt32(OffsetsPosition + Offset, Context.Ns.Os.Font.GetSharedMemoryAddressOffset(FontType));
+ Context.Memory.WriteInt32(OffsetsPosition + Offset, Context.Device.System.Font.GetSharedMemoryAddressOffset(FontType));
- Context.Memory.WriteInt32(FontSizeBufferPosition + Offset, Context.Ns.Os.Font.GetFontSize(FontType));
+ Context.Memory.WriteInt32(FontSizeBufferPosition + Offset, Context.Device.System.Font.GetFontSize(FontType));
return true;
}
diff --git a/Ryujinx.HLE/OsHle/Services/Prepo/IPrepoService.cs b/Ryujinx.HLE/HOS/Services/Prepo/IPrepoService.cs
index f313921a..fa39854d 100644
--- a/Ryujinx.HLE/OsHle/Services/Prepo/IPrepoService.cs
+++ b/Ryujinx.HLE/HOS/Services/Prepo/IPrepoService.cs
@@ -1,8 +1,8 @@
+using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Prepo
+namespace Ryujinx.HLE.HOS.Services.Prepo
{
class IPrepoService : IpcService
{
@@ -20,7 +20,7 @@ namespace Ryujinx.HLE.OsHle.Services.Prepo
public static long SaveReportWithUser(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServicePrepo, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServicePrepo, "Stubbed.");
return 0;
}
diff --git a/Ryujinx.HLE/OsHle/Services/ServiceFactory.cs b/Ryujinx.HLE/HOS/Services/ServiceFactory.cs
index 712698b9..babceb7d 100644
--- a/Ryujinx.HLE/OsHle/Services/ServiceFactory.cs
+++ b/Ryujinx.HLE/HOS/Services/ServiceFactory.cs
@@ -1,30 +1,28 @@
-using Ryujinx.HLE.OsHle.Services.Acc;
-using Ryujinx.HLE.OsHle.Services.Am;
-using Ryujinx.HLE.OsHle.Services.Apm;
-using Ryujinx.HLE.OsHle.Services.Aud;
-using Ryujinx.HLE.OsHle.Services.Bcat;
-using Ryujinx.HLE.OsHle.Services.Bsd;
-using Ryujinx.HLE.OsHle.Services.Caps;
-using Ryujinx.HLE.OsHle.Services.Friend;
-using Ryujinx.HLE.OsHle.Services.FspSrv;
-using Ryujinx.HLE.OsHle.Services.Hid;
-using Ryujinx.HLE.OsHle.Services.Lm;
-using Ryujinx.HLE.OsHle.Services.Mm;
-using Ryujinx.HLE.OsHle.Services.Nfp;
-using Ryujinx.HLE.OsHle.Services.Ns;
-using Ryujinx.HLE.OsHle.Services.Nv;
-using Ryujinx.HLE.OsHle.Services.Pctl;
-using Ryujinx.HLE.OsHle.Services.Pl;
-using Ryujinx.HLE.OsHle.Services.Prepo;
-using Ryujinx.HLE.OsHle.Services.Set;
-using Ryujinx.HLE.OsHle.Services.Sfdnsres;
-using Ryujinx.HLE.OsHle.Services.Sm;
-using Ryujinx.HLE.OsHle.Services.Spl;
-using Ryujinx.HLE.OsHle.Services.Ssl;
-using Ryujinx.HLE.OsHle.Services.Vi;
+using Ryujinx.HLE.HOS.Services.Acc;
+using Ryujinx.HLE.HOS.Services.Am;
+using Ryujinx.HLE.HOS.Services.Apm;
+using Ryujinx.HLE.HOS.Services.Aud;
+using Ryujinx.HLE.HOS.Services.Bsd;
+using Ryujinx.HLE.HOS.Services.Caps;
+using Ryujinx.HLE.HOS.Services.FspSrv;
+using Ryujinx.HLE.HOS.Services.Hid;
+using Ryujinx.HLE.HOS.Services.Lm;
+using Ryujinx.HLE.HOS.Services.Mm;
+using Ryujinx.HLE.HOS.Services.Nfp;
+using Ryujinx.HLE.HOS.Services.Ns;
+using Ryujinx.HLE.HOS.Services.Nv;
+using Ryujinx.HLE.HOS.Services.Pctl;
+using Ryujinx.HLE.HOS.Services.Pl;
+using Ryujinx.HLE.HOS.Services.Prepo;
+using Ryujinx.HLE.HOS.Services.Set;
+using Ryujinx.HLE.HOS.Services.Sfdnsres;
+using Ryujinx.HLE.HOS.Services.Sm;
+using Ryujinx.HLE.HOS.Services.Spl;
+using Ryujinx.HLE.HOS.Services.Ssl;
+using Ryujinx.HLE.HOS.Services.Vi;
using System;
-namespace Ryujinx.HLE.OsHle.Services
+namespace Ryujinx.HLE.HOS.Services
{
static class ServiceFactory
{
@@ -97,10 +95,10 @@ namespace Ryujinx.HLE.OsHle.Services
case "lm":
return new ILogService();
-
+
case "mm:u":
return new IRequest();
-
+
case "nfp:user":
return new IUserManager();
diff --git a/Ryujinx.HLE/OsHle/Services/Set/ISettingsServer.cs b/Ryujinx.HLE/HOS/Services/Set/ISettingsServer.cs
index 0feccfa2..690d6de9 100644
--- a/Ryujinx.HLE/OsHle/Services/Set/ISettingsServer.cs
+++ b/Ryujinx.HLE/HOS/Services/Set/ISettingsServer.cs
@@ -1,8 +1,8 @@
-using Ryujinx.HLE.OsHle.Ipc;
-using Ryujinx.HLE.OsHle.SystemState;
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.SystemState;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Set
+namespace Ryujinx.HLE.HOS.Services.Set
{
class ISettingsServer : IpcService
{
@@ -23,7 +23,7 @@ namespace Ryujinx.HLE.OsHle.Services.Set
public static long GetLanguageCode(ServiceCtx Context)
{
- Context.ResponseData.Write(Context.Ns.Os.SystemState.DesiredLanguageCode);
+ Context.ResponseData.Write(Context.Device.System.State.DesiredLanguageCode);
return 0;
}
diff --git a/Ryujinx.HLE/OsHle/Services/Set/ISystemSettingsServer.cs b/Ryujinx.HLE/HOS/Services/Set/ISystemSettingsServer.cs
index ef083e4c..dc146967 100644
--- a/Ryujinx.HLE/OsHle/Services/Set/ISystemSettingsServer.cs
+++ b/Ryujinx.HLE/HOS/Services/Set/ISystemSettingsServer.cs
@@ -1,11 +1,11 @@
-using Ryujinx.HLE.OsHle.Ipc;
-using Ryujinx.HLE.OsHle.SystemState;
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.SystemState;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
-namespace Ryujinx.HLE.OsHle.Services.Set
+namespace Ryujinx.HLE.HOS.Services.Set
{
class ISystemSettingsServer : IpcService
{
@@ -75,7 +75,7 @@ namespace Ryujinx.HLE.OsHle.Services.Set
public static long GetColorSetId(ServiceCtx Context)
{
- Context.ResponseData.Write((int)Context.Ns.Os.SystemState.ThemeColor);
+ Context.ResponseData.Write((int)Context.Device.System.State.ThemeColor);
return 0;
}
@@ -84,7 +84,7 @@ namespace Ryujinx.HLE.OsHle.Services.Set
{
int ColorSetId = Context.RequestData.ReadInt32();
- Context.Ns.Os.SystemState.ThemeColor = (ColorSet)ColorSetId;
+ Context.Device.System.State.ThemeColor = (ColorSet)ColorSetId;
return 0;
}
@@ -115,7 +115,7 @@ namespace Ryujinx.HLE.OsHle.Services.Set
{
if (StringValue.Length + 1 > ReplySize)
{
- Context.Ns.Log.PrintError(Logging.LogClass.ServiceSet, $"{AskedSetting} String value size is too big!");
+ Context.Device.Log.PrintError(Logging.LogClass.ServiceSet, $"{AskedSetting} String value size is too big!");
}
else
{
@@ -138,11 +138,11 @@ namespace Ryujinx.HLE.OsHle.Services.Set
Context.Memory.WriteBytes(ReplyPos, SettingBuffer);
- Context.Ns.Log.PrintDebug(Logging.LogClass.ServiceSet, $"{AskedSetting} set value: {NxSetting} as {NxSetting.GetType()}");
+ Context.Device.Log.PrintDebug(Logging.LogClass.ServiceSet, $"{AskedSetting} set value: {NxSetting} as {NxSetting.GetType()}");
}
else
{
- Context.Ns.Log.PrintError(Logging.LogClass.ServiceSet, $"{AskedSetting} not found!");
+ Context.Device.Log.PrintError(Logging.LogClass.ServiceSet, $"{AskedSetting} not found!");
}
return 0;
diff --git a/Ryujinx.HLE/OsHle/Services/Set/NxSettings.cs b/Ryujinx.HLE/HOS/Services/Set/NxSettings.cs
index dc4a0b96..7d1dd2ed 100644
--- a/Ryujinx.HLE/OsHle/Services/Set/NxSettings.cs
+++ b/Ryujinx.HLE/HOS/Services/Set/NxSettings.cs
@@ -1,6 +1,6 @@
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Set
+namespace Ryujinx.HLE.HOS.Services.Set
{
static class NxSettings
{
diff --git a/Ryujinx.HLE/OsHle/Services/Sfdnsres/IResolver.cs b/Ryujinx.HLE/HOS/Services/Sfdnsres/IResolver.cs
index 2fa81eb9..26dbedf4 100644
--- a/Ryujinx.HLE/OsHle/Services/Sfdnsres/IResolver.cs
+++ b/Ryujinx.HLE/HOS/Services/Sfdnsres/IResolver.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Sfdnsres
+namespace Ryujinx.HLE.HOS.Services.Sfdnsres
{
class IResolver : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Sm/IUserInterface.cs b/Ryujinx.HLE/HOS/Services/Sm/IUserInterface.cs
index a0a174f5..efa64ee7 100644
--- a/Ryujinx.HLE/OsHle/Services/Sm/IUserInterface.cs
+++ b/Ryujinx.HLE/HOS/Services/Sm/IUserInterface.cs
@@ -1,8 +1,8 @@
-using Ryujinx.HLE.OsHle.Handles;
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.Kernel;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Sm
+namespace Ryujinx.HLE.HOS.Services.Sm
{
class IUserInterface : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Spl/IRandomInterface.cs b/Ryujinx.HLE/HOS/Services/Spl/IRandomInterface.cs
index 489ca52c..6391d981 100644
--- a/Ryujinx.HLE/OsHle/Services/Spl/IRandomInterface.cs
+++ b/Ryujinx.HLE/HOS/Services/Spl/IRandomInterface.cs
@@ -1,9 +1,9 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System;
using System.Collections.Generic;
using System.Security.Cryptography;
-namespace Ryujinx.HLE.OsHle.Services.Spl
+namespace Ryujinx.HLE.HOS.Services.Spl
{
class IRandomInterface : IpcService, IDisposable
{
diff --git a/Ryujinx.HLE/OsHle/Services/Ssl/ISslService.cs b/Ryujinx.HLE/HOS/Services/Ssl/ISslService.cs
index 0bf4c144..b59527f7 100644
--- a/Ryujinx.HLE/OsHle/Services/Ssl/ISslService.cs
+++ b/Ryujinx.HLE/HOS/Services/Ssl/ISslService.cs
@@ -1,8 +1,8 @@
+using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Ssl
+namespace Ryujinx.HLE.HOS.Services.Ssl
{
class ISslService : IpcService
{
@@ -22,7 +22,7 @@ namespace Ryujinx.HLE.OsHle.Services.Ssl
{
int Version = Context.RequestData.ReadInt32();
- Context.Ns.Log.PrintStub(LogClass.ServiceSsl, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceSsl, "Stubbed.");
return 0;
}
diff --git a/Ryujinx.HLE/OsHle/Services/Time/IStaticService.cs b/Ryujinx.HLE/HOS/Services/Time/IStaticService.cs
index 55601a89..66f16501 100644
--- a/Ryujinx.HLE/OsHle/Services/Time/IStaticService.cs
+++ b/Ryujinx.HLE/HOS/Services/Time/IStaticService.cs
@@ -1,8 +1,8 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Time
+namespace Ryujinx.HLE.HOS.Services.Time
{
class IStaticService : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Time/ISteadyClock.cs b/Ryujinx.HLE/HOS/Services/Time/ISteadyClock.cs
index e2cb34e3..e4020bb1 100644
--- a/Ryujinx.HLE/OsHle/Services/Time/ISteadyClock.cs
+++ b/Ryujinx.HLE/HOS/Services/Time/ISteadyClock.cs
@@ -1,8 +1,8 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Time
+namespace Ryujinx.HLE.HOS.Services.Time
{
class ISteadyClock : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Time/ISystemClock.cs b/Ryujinx.HLE/HOS/Services/Time/ISystemClock.cs
index 27b65c3c..f574826a 100644
--- a/Ryujinx.HLE/OsHle/Services/Time/ISystemClock.cs
+++ b/Ryujinx.HLE/HOS/Services/Time/ISystemClock.cs
@@ -1,8 +1,8 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Time
+namespace Ryujinx.HLE.HOS.Services.Time
{
class ISystemClock : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Time/ITimeZoneService.cs b/Ryujinx.HLE/HOS/Services/Time/ITimeZoneService.cs
index 87ef02f9..6df28659 100644
--- a/Ryujinx.HLE/OsHle/Services/Time/ITimeZoneService.cs
+++ b/Ryujinx.HLE/HOS/Services/Time/ITimeZoneService.cs
@@ -1,10 +1,12 @@
+using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Ipc;
using System;
using System.Collections.Generic;
using System.Text;
-namespace Ryujinx.HLE.OsHle.Services.Time
+using static Ryujinx.HLE.HOS.ErrorCode;
+
+namespace Ryujinx.HLE.HOS.Services.Time
{
class ITimeZoneService : IpcService
{
@@ -51,7 +53,8 @@ namespace Ryujinx.HLE.OsHle.Services.Time
public long SetDeviceLocationName(ServiceCtx Context)
{
byte[] LocationName = Context.RequestData.ReadBytes(0x24);
- string TzID = Encoding.ASCII.GetString(LocationName).TrimEnd('\0');
+
+ string TzID = Encoding.ASCII.GetString(LocationName).TrimEnd('\0');
long ResultCode = 0;
@@ -59,9 +62,9 @@ namespace Ryujinx.HLE.OsHle.Services.Time
{
TimeZone = TimeZoneInfo.FindSystemTimeZoneById(TzID);
}
- catch (TimeZoneNotFoundException e)
+ catch (TimeZoneNotFoundException)
{
- ResultCode = 0x7BA74;
+ ResultCode = MakeError(ErrorModule.Time, 0x3dd);
}
return ResultCode;
@@ -79,12 +82,13 @@ namespace Ryujinx.HLE.OsHle.Services.Time
long BufferPosition = Context.Response.SendBuff[0].Position;
long BufferSize = Context.Response.SendBuff[0].Size;
- int i = 0;
+ int Offset = 0;
+
foreach (TimeZoneInfo info in TimeZoneInfo.GetSystemTimeZones())
{
byte[] TzData = Encoding.ASCII.GetBytes(info.Id);
- Context.Memory.WriteBytes(BufferPosition + i, TzData);
+ Context.Memory.WriteBytes(BufferPosition + Offset, TzData);
int Padding = 0x24 - TzData.Length;
@@ -93,8 +97,9 @@ namespace Ryujinx.HLE.OsHle.Services.Time
Context.ResponseData.Write((byte)0);
}
- i += 0x24;
+ Offset += 0x24;
}
+
return 0;
}
@@ -105,28 +110,31 @@ namespace Ryujinx.HLE.OsHle.Services.Time
if (BufferSize != 0x4000)
{
- Context.Ns.Log.PrintWarning(LogClass.ServiceTime, $"TimeZoneRule buffer size is 0x{BufferSize:x} (expected 0x4000)");
+ Context.Device.Log.PrintWarning(LogClass.ServiceTime, $"TimeZoneRule buffer size is 0x{BufferSize:x} (expected 0x4000)");
}
long ResultCode = 0;
byte[] LocationName = Context.RequestData.ReadBytes(0x24);
- string TzID = Encoding.ASCII.GetString(LocationName).TrimEnd('\0');
+
+ string TzID = Encoding.ASCII.GetString(LocationName).TrimEnd('\0');
// Check if the Time Zone exists, otherwise error out.
try
{
TimeZoneInfo Info = TimeZoneInfo.FindSystemTimeZoneById(TzID);
- byte[] TzData = Encoding.ASCII.GetBytes(Info.Id);
+
+ byte[] TzData = Encoding.ASCII.GetBytes(Info.Id);
// FIXME: This is not in ANY cases accurate, but the games don't care about the content of the buffer, they only pass it.
// TODO: Reverse the TZif2 conversion in PCV to make this match with real hardware.
Context.Memory.WriteBytes(BufferPosition, TzData);
}
- catch (TimeZoneNotFoundException e)
+ catch (TimeZoneNotFoundException)
{
- Context.Ns.Log.PrintWarning(LogClass.ServiceTime, $"Timezone not found for string: {TzID} (len: {TzID.Length})");
- ResultCode = 0x7BA74;
+ Context.Device.Log.PrintWarning(LogClass.ServiceTime, $"Timezone not found for string: {TzID} (len: {TzID.Length})");
+
+ ResultCode = MakeError(ErrorModule.Time, 0x3dd);
}
return ResultCode;
@@ -135,7 +143,8 @@ namespace Ryujinx.HLE.OsHle.Services.Time
private long ToCalendarTimeWithTz(ServiceCtx Context, long PosixTime, TimeZoneInfo Info)
{
DateTime CurrentTime = Epoch.AddSeconds(PosixTime);
- CurrentTime = TimeZoneInfo.ConvertTimeFromUtc(CurrentTime, Info);
+
+ CurrentTime = TimeZoneInfo.ConvertTimeFromUtc(CurrentTime, Info);
Context.ResponseData.Write((ushort)CurrentTime.Year);
Context.ResponseData.Write((byte)CurrentTime.Month);
@@ -161,12 +170,13 @@ namespace Ryujinx.HLE.OsHle.Services.Time
if (BufferSize != 0x4000)
{
- Context.Ns.Log.PrintWarning(LogClass.ServiceTime, $"TimeZoneRule buffer size is 0x{BufferSize:x} (expected 0x4000)");
+ Context.Device.Log.PrintWarning(LogClass.ServiceTime, $"TimeZoneRule buffer size is 0x{BufferSize:x} (expected 0x4000)");
}
// TODO: Reverse the TZif2 conversion in PCV to make this match with real hardware.
byte[] TzData = Context.Memory.ReadBytes(BufferPosition, 0x24);
- string TzID = Encoding.ASCII.GetString(TzData).TrimEnd('\0');
+
+ string TzID = Encoding.ASCII.GetString(TzData).TrimEnd('\0');
long ResultCode = 0;
@@ -177,10 +187,11 @@ namespace Ryujinx.HLE.OsHle.Services.Time
ResultCode = ToCalendarTimeWithTz(Context, PosixTime, Info);
}
- catch (TimeZoneNotFoundException e)
+ catch (TimeZoneNotFoundException)
{
- Context.Ns.Log.PrintWarning(LogClass.ServiceTime, $"Timezone not found for string: {TzID} (len: {TzID.Length})");
- ResultCode = 0x7BA74;
+ Context.Device.Log.PrintWarning(LogClass.ServiceTime, $"Timezone not found for string: {TzID} (len: {TzID.Length})");
+
+ ResultCode = MakeError(ErrorModule.Time, 0x3dd);
}
return ResultCode;
@@ -209,12 +220,13 @@ namespace Ryujinx.HLE.OsHle.Services.Time
if (BufferSize != 0x4000)
{
- Context.Ns.Log.PrintWarning(LogClass.ServiceTime, $"TimeZoneRule buffer size is 0x{BufferSize:x} (expected 0x4000)");
+ Context.Device.Log.PrintWarning(LogClass.ServiceTime, $"TimeZoneRule buffer size is 0x{BufferSize:x} (expected 0x4000)");
}
// TODO: Reverse the TZif2 conversion in PCV to make this match with real hardware.
byte[] TzData = Context.Memory.ReadBytes(BufferPosition, 0x24);
- string TzID = Encoding.ASCII.GetString(TzData).TrimEnd('\0');
+
+ string TzID = Encoding.ASCII.GetString(TzData).TrimEnd('\0');
long ResultCode = 0;
@@ -225,10 +237,11 @@ namespace Ryujinx.HLE.OsHle.Services.Time
return ToPosixTimeWithTz(Context, CalendarTime, Info);
}
- catch (TimeZoneNotFoundException e)
+ catch (TimeZoneNotFoundException)
{
- Context.Ns.Log.PrintWarning(LogClass.ServiceTime, $"Timezone not found for string: {TzID} (len: {TzID.Length})");
- ResultCode = 0x7BA74;
+ Context.Device.Log.PrintWarning(LogClass.ServiceTime, $"Timezone not found for string: {TzID} (len: {TzID.Length})");
+
+ ResultCode = MakeError(ErrorModule.Time, 0x3dd);
}
return ResultCode;
diff --git a/Ryujinx.HLE/OsHle/Services/Time/SystemClockType.cs b/Ryujinx.HLE/HOS/Services/Time/SystemClockType.cs
index d581d9ca..54b7df3f 100644
--- a/Ryujinx.HLE/OsHle/Services/Time/SystemClockType.cs
+++ b/Ryujinx.HLE/HOS/Services/Time/SystemClockType.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Time
+namespace Ryujinx.HLE.HOS.Services.Time
{
enum SystemClockType
{
diff --git a/Ryujinx.HLE/OsHle/Services/Vi/Display.cs b/Ryujinx.HLE/HOS/Services/Vi/Display.cs
index 3da51c47..50fe5e1d 100644
--- a/Ryujinx.HLE/OsHle/Services/Vi/Display.cs
+++ b/Ryujinx.HLE/HOS/Services/Vi/Display.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Services.Vi
+namespace Ryujinx.HLE.HOS.Services.Vi
{
class Display
{
diff --git a/Ryujinx.HLE/OsHle/Services/Vi/GbpBuffer.cs b/Ryujinx.HLE/HOS/Services/Vi/GbpBuffer.cs
index b9e9054b..4f00c3de 100644
--- a/Ryujinx.HLE/OsHle/Services/Vi/GbpBuffer.cs
+++ b/Ryujinx.HLE/HOS/Services/Vi/GbpBuffer.cs
@@ -1,6 +1,6 @@
using System.IO;
-namespace Ryujinx.HLE.OsHle.Services.Android
+namespace Ryujinx.HLE.HOS.Services.Android
{
struct GbpBuffer
{
diff --git a/Ryujinx.HLE/OsHle/Services/Vi/IApplicationDisplayService.cs b/Ryujinx.HLE/HOS/Services/Vi/IApplicationDisplayService.cs
index 17dc47e1..3006b73a 100644
--- a/Ryujinx.HLE/OsHle/Services/Vi/IApplicationDisplayService.cs
+++ b/Ryujinx.HLE/HOS/Services/Vi/IApplicationDisplayService.cs
@@ -1,12 +1,12 @@
using ChocolArm64.Memory;
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
using System.IO;
using System.Text;
-using static Ryujinx.HLE.OsHle.Services.Android.Parcel;
+using static Ryujinx.HLE.HOS.Services.Android.Parcel;
-namespace Ryujinx.HLE.OsHle.Services.Vi
+namespace Ryujinx.HLE.HOS.Services.Vi
{
class IApplicationDisplayService : IpcService
{
@@ -41,7 +41,7 @@ namespace Ryujinx.HLE.OsHle.Services.Vi
public long GetRelayService(ServiceCtx Context)
{
- MakeObject(Context, new IHOSBinderDriver(Context.Ns.Gpu.Renderer));
+ MakeObject(Context, new IHOSBinderDriver(Context.Device.Gpu.Renderer));
return 0;
}
@@ -62,7 +62,7 @@ namespace Ryujinx.HLE.OsHle.Services.Vi
public long GetIndirectDisplayTransactionService(ServiceCtx Context)
{
- MakeObject(Context, new IHOSBinderDriver(Context.Ns.Gpu.Renderer));
+ MakeObject(Context, new IHOSBinderDriver(Context.Device.Gpu.Renderer));
return 0;
}
@@ -174,7 +174,7 @@ namespace Ryujinx.HLE.OsHle.Services.Vi
{
string Name = GetDisplayName(Context);
- int Handle = Context.Process.HandleTable.OpenHandle(Context.Ns.Os.VsyncEvent);
+ int Handle = Context.Process.HandleTable.OpenHandle(Context.Device.System.VsyncEvent);
Context.Response.HandleDesc = IpcHandleDesc.MakeCopy(Handle);
diff --git a/Ryujinx.HLE/OsHle/Services/Vi/IApplicationRootService.cs b/Ryujinx.HLE/HOS/Services/Vi/IApplicationRootService.cs
index 93b05156..e86734e6 100644
--- a/Ryujinx.HLE/OsHle/Services/Vi/IApplicationRootService.cs
+++ b/Ryujinx.HLE/HOS/Services/Vi/IApplicationRootService.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Vi
+namespace Ryujinx.HLE.HOS.Services.Vi
{
class IApplicationRootService : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Vi/IHOSBinderDriver.cs b/Ryujinx.HLE/HOS/Services/Vi/IHOSBinderDriver.cs
index 85283b75..bf5f20a2 100644
--- a/Ryujinx.HLE/OsHle/Services/Vi/IHOSBinderDriver.cs
+++ b/Ryujinx.HLE/HOS/Services/Vi/IHOSBinderDriver.cs
@@ -1,11 +1,11 @@
using Ryujinx.Graphics.Gal;
-using Ryujinx.HLE.OsHle.Handles;
-using Ryujinx.HLE.OsHle.Ipc;
-using Ryujinx.HLE.OsHle.Services.Android;
+using Ryujinx.HLE.HOS.Ipc;
+using Ryujinx.HLE.HOS.Kernel;
+using Ryujinx.HLE.HOS.Services.Android;
using System;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Vi
+namespace Ryujinx.HLE.HOS.Services.Vi
{
class IHOSBinderDriver : IpcService, IDisposable
{
diff --git a/Ryujinx.HLE/OsHle/Services/Vi/IManagerDisplayService.cs b/Ryujinx.HLE/HOS/Services/Vi/IManagerDisplayService.cs
index d7a51b0e..61f0ffaa 100644
--- a/Ryujinx.HLE/OsHle/Services/Vi/IManagerDisplayService.cs
+++ b/Ryujinx.HLE/HOS/Services/Vi/IManagerDisplayService.cs
@@ -1,8 +1,8 @@
+using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Vi
+namespace Ryujinx.HLE.HOS.Services.Vi
{
class IManagerDisplayService : IpcService
{
@@ -23,26 +23,31 @@ namespace Ryujinx.HLE.OsHle.Services.Vi
public static long CreateManagedLayer(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceVi, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceVi, "Stubbed.");
+
Context.ResponseData.Write(0L); //LayerId
+
return 0;
}
public long DestroyManagedLayer(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceVi, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceVi, "Stubbed.");
+
return 0;
}
public static long AddToLayerStack(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceVi, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceVi, "Stubbed.");
+
return 0;
}
public static long SetLayerVisibility(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceVi, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceVi, "Stubbed.");
+
return 0;
}
}
diff --git a/Ryujinx.HLE/OsHle/Services/Vi/IManagerRootService.cs b/Ryujinx.HLE/HOS/Services/Vi/IManagerRootService.cs
index 7c131dac..14b8fc3c 100644
--- a/Ryujinx.HLE/OsHle/Services/Vi/IManagerRootService.cs
+++ b/Ryujinx.HLE/HOS/Services/Vi/IManagerRootService.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Vi
+namespace Ryujinx.HLE.HOS.Services.Vi
{
class IManagerRootService : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Vi/ISystemDisplayService.cs b/Ryujinx.HLE/HOS/Services/Vi/ISystemDisplayService.cs
index 360268b9..5657ba69 100644
--- a/Ryujinx.HLE/OsHle/Services/Vi/ISystemDisplayService.cs
+++ b/Ryujinx.HLE/HOS/Services/Vi/ISystemDisplayService.cs
@@ -1,8 +1,8 @@
+using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Vi
+namespace Ryujinx.HLE.HOS.Services.Vi
{
class ISystemDisplayService : IpcService
{
@@ -22,22 +22,26 @@ namespace Ryujinx.HLE.OsHle.Services.Vi
public static long SetLayerZ(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceVi, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceVi, "Stubbed.");
+
return 0;
}
public static long SetLayerVisibility(ServiceCtx Context)
{
- Context.Ns.Log.PrintStub(LogClass.ServiceVi, "Stubbed.");
+ Context.Device.Log.PrintStub(LogClass.ServiceVi, "Stubbed.");
+
return 0;
}
public static long GetDisplayMode(ServiceCtx Context)
{
+ //TODO: De-hardcode resolution.
Context.ResponseData.Write(1280);
Context.ResponseData.Write(720);
Context.ResponseData.Write(60.0f);
Context.ResponseData.Write(0);
+
return 0;
}
}
diff --git a/Ryujinx.HLE/OsHle/Services/Vi/ISystemRootService.cs b/Ryujinx.HLE/HOS/Services/Vi/ISystemRootService.cs
index 21581baa..d9b7c220 100644
--- a/Ryujinx.HLE/OsHle/Services/Vi/ISystemRootService.cs
+++ b/Ryujinx.HLE/HOS/Services/Vi/ISystemRootService.cs
@@ -1,7 +1,7 @@
-using Ryujinx.HLE.OsHle.Ipc;
+using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
-namespace Ryujinx.HLE.OsHle.Services.Vi
+namespace Ryujinx.HLE.HOS.Services.Vi
{
class ISystemRootService : IpcService
{
diff --git a/Ryujinx.HLE/OsHle/Services/Vi/NvFlinger.cs b/Ryujinx.HLE/HOS/Services/Vi/NvFlinger.cs
index 04b50bb3..12c17311 100644
--- a/Ryujinx.HLE/OsHle/Services/Vi/NvFlinger.cs
+++ b/Ryujinx.HLE/HOS/Services/Vi/NvFlinger.cs
@@ -1,17 +1,17 @@
using Ryujinx.Graphics.Gal;
using Ryujinx.HLE.Gpu.Texture;
+using Ryujinx.HLE.HOS.Kernel;
+using Ryujinx.HLE.HOS.Services.Nv.NvMap;
using Ryujinx.HLE.Logging;
-using Ryujinx.HLE.OsHle.Handles;
-using Ryujinx.HLE.OsHle.Services.Nv.NvMap;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Threading;
-using static Ryujinx.HLE.OsHle.Services.Android.Parcel;
+using static Ryujinx.HLE.HOS.Services.Android.Parcel;
-namespace Ryujinx.HLE.OsHle.Services.Android
+namespace Ryujinx.HLE.HOS.Services.Android
{
class NvFlinger : IDisposable
{
@@ -113,7 +113,7 @@ namespace Ryujinx.HLE.OsHle.Services.Android
if (Commands.TryGetValue((InterfaceName, Code), out ServiceProcessParcel ProcReq))
{
- Context.Ns.Log.PrintDebug(LogClass.ServiceVi, $"{InterfaceName} {ProcReq.Method.Name}");
+ Context.Device.Log.PrintDebug(LogClass.ServiceVi, $"{InterfaceName} {ProcReq.Method.Name}");
return ProcReq(Context, Reader);
}
@@ -164,7 +164,7 @@ namespace Ryujinx.HLE.OsHle.Services.Android
private long GbpQueueBuffer(ServiceCtx Context, BinaryReader ParcelReader)
{
- Context.Ns.Statistics.RecordGameFrameTime();
+ Context.Device.Statistics.RecordGameFrameTime();
//TODO: Errors.
int Slot = ParcelReader.ReadInt32();
@@ -307,7 +307,7 @@ namespace Ryujinx.HLE.OsHle.Services.Android
//TODO: Support double buffering here aswell, it is broken for GPU
//frame buffers because it seems to be completely out of sync.
- if (Context.Ns.Gpu.Engine3d.IsFrameBufferPosition(FbAddr))
+ if (Context.Device.Gpu.Engine3d.IsFrameBufferPosition(FbAddr))
{
//Frame buffer is rendered to by the GPU, we can just
//bind the frame buffer texture, it's not necessary to read anything.
@@ -324,7 +324,7 @@ namespace Ryujinx.HLE.OsHle.Services.Android
Renderer.QueueAction(() => Renderer.FrameBuffer.Set(Data, FbWidth, FbHeight));
}
- Context.Ns.Gpu.Renderer.QueueAction(() => ReleaseBuffer(Slot));
+ Context.Device.Gpu.Renderer.QueueAction(() => ReleaseBuffer(Slot));
}
private void ReleaseBuffer(int Slot)
diff --git a/Ryujinx.HLE/OsHle/Services/Vi/Parcel.cs b/Ryujinx.HLE/HOS/Services/Vi/Parcel.cs
index 009ed8c1..bb842795 100644
--- a/Ryujinx.HLE/OsHle/Services/Vi/Parcel.cs
+++ b/Ryujinx.HLE/HOS/Services/Vi/Parcel.cs
@@ -1,7 +1,7 @@
using System;
using System.IO;
-namespace Ryujinx.HLE.OsHle.Services.Android
+namespace Ryujinx.HLE.HOS.Services.Android
{
static class Parcel
{
diff --git a/Ryujinx.HLE/OsHle/SystemState/AppletStateMgr.cs b/Ryujinx.HLE/HOS/SystemState/AppletStateMgr.cs
index a656d218..ee0e6fea 100644
--- a/Ryujinx.HLE/OsHle/SystemState/AppletStateMgr.cs
+++ b/Ryujinx.HLE/HOS/SystemState/AppletStateMgr.cs
@@ -1,9 +1,9 @@
-using Ryujinx.HLE.OsHle.Handles;
-using Ryujinx.HLE.OsHle.Services.Am;
+using Ryujinx.HLE.HOS.Kernel;
+using Ryujinx.HLE.HOS.Services.Am;
using System;
using System.Collections.Concurrent;
-namespace Ryujinx.HLE.OsHle.SystemState
+namespace Ryujinx.HLE.HOS.SystemState
{
class AppletStateMgr : IDisposable
{
diff --git a/Ryujinx.HLE/OsHle/SystemState/ColorSet.cs b/Ryujinx.HLE/HOS/SystemState/ColorSet.cs
index adcdf00d..4d7a7e2f 100644
--- a/Ryujinx.HLE/OsHle/SystemState/ColorSet.cs
+++ b/Ryujinx.HLE/HOS/SystemState/ColorSet.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.SystemState
+namespace Ryujinx.HLE.HOS.SystemState
{
public enum ColorSet
{
diff --git a/Ryujinx.HLE/OsHle/SystemState/OpenCloseState.cs b/Ryujinx.HLE/HOS/SystemState/OpenCloseState.cs
index c43a260f..a2678b5c 100644
--- a/Ryujinx.HLE/OsHle/SystemState/OpenCloseState.cs
+++ b/Ryujinx.HLE/HOS/SystemState/OpenCloseState.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.SystemState
+namespace Ryujinx.HLE.HOS.SystemState
{
public enum OpenCloseState
{
diff --git a/Ryujinx.HLE/OsHle/SystemState/SystemLanguage.cs b/Ryujinx.HLE/HOS/SystemState/SystemLanguage.cs
index 946d0a3b..2046ed62 100644
--- a/Ryujinx.HLE/OsHle/SystemState/SystemLanguage.cs
+++ b/Ryujinx.HLE/HOS/SystemState/SystemLanguage.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.SystemState
+namespace Ryujinx.HLE.HOS.SystemState
{
public enum SystemLanguage
{
diff --git a/Ryujinx.HLE/OsHle/SystemState/SystemStateMgr.cs b/Ryujinx.HLE/HOS/SystemState/SystemStateMgr.cs
index bf0c0efb..bd1dbd78 100644
--- a/Ryujinx.HLE/OsHle/SystemState/SystemStateMgr.cs
+++ b/Ryujinx.HLE/HOS/SystemState/SystemStateMgr.cs
@@ -3,7 +3,7 @@ using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
-namespace Ryujinx.HLE.OsHle.SystemState
+namespace Ryujinx.HLE.HOS.SystemState
{
public class SystemStateMgr
{
diff --git a/Ryujinx.HLE/OsHle/SystemState/UserId.cs b/Ryujinx.HLE/HOS/SystemState/UserId.cs
index 278ea9f7..1e7c53dd 100644
--- a/Ryujinx.HLE/OsHle/SystemState/UserId.cs
+++ b/Ryujinx.HLE/HOS/SystemState/UserId.cs
@@ -1,9 +1,9 @@
-using Ryujinx.HLE.OsHle.Utilities;
+using Ryujinx.HLE.Utilities;
using System;
using System.IO;
using System.Linq;
-namespace Ryujinx.HLE.OsHle.SystemState
+namespace Ryujinx.HLE.HOS.SystemState
{
public struct UserId
{
diff --git a/Ryujinx.HLE/OsHle/SystemState/UserProfile.cs b/Ryujinx.HLE/HOS/SystemState/UserProfile.cs
index b5b52339..63852cdf 100644
--- a/Ryujinx.HLE/OsHle/SystemState/UserProfile.cs
+++ b/Ryujinx.HLE/HOS/SystemState/UserProfile.cs
@@ -1,6 +1,6 @@
using System;
-namespace Ryujinx.HLE.OsHle.SystemState
+namespace Ryujinx.HLE.HOS.SystemState
{
class UserProfile
{
diff --git a/Ryujinx.HLE/Hid/Hid.cs b/Ryujinx.HLE/Hid/Hid.cs
index 492eb30a..0353b3ba 100644
--- a/Ryujinx.HLE/Hid/Hid.cs
+++ b/Ryujinx.HLE/Hid/Hid.cs
@@ -1,4 +1,4 @@
-using Ryujinx.HLE.OsHle;
+using Ryujinx.HLE.HOS;
using System;
namespace Ryujinx.HLE.Input
diff --git a/Ryujinx.HLE/Loaders/Executable.cs b/Ryujinx.HLE/Loaders/Executable.cs
index ba5f8d7e..6a3f0b97 100644
--- a/Ryujinx.HLE/Loaders/Executable.cs
+++ b/Ryujinx.HLE/Loaders/Executable.cs
@@ -1,8 +1,8 @@
using ChocolArm64.Memory;
+using Ryujinx.HLE.HOS;
+using Ryujinx.HLE.HOS.Kernel;
using Ryujinx.HLE.Loaders.Executables;
-using Ryujinx.HLE.OsHle;
-using Ryujinx.HLE.OsHle.Handles;
-using Ryujinx.HLE.OsHle.Utilities;
+using Ryujinx.HLE.Utilities;
using System.Collections.Generic;
using System.IO;
diff --git a/Ryujinx.HLE/Loaders/Npdm/ACI0.cs b/Ryujinx.HLE/Loaders/Npdm/ACI0.cs
index 47b30a3c..fd6fd6c3 100644
--- a/Ryujinx.HLE/Loaders/Npdm/ACI0.cs
+++ b/Ryujinx.HLE/Loaders/Npdm/ACI0.cs
@@ -1,55 +1,53 @@
-using System;
+using Ryujinx.HLE.Exceptions;
using System.IO;
namespace Ryujinx.HLE.Loaders.Npdm
{
class ACI0
{
- public string TitleId;
+ private const int ACI0Magic = 'A' << 0 | 'C' << 8 | 'I' << 16 | '0' << 24;
- private int FSAccessHeaderOffset;
- private int FSAccessHeaderSize;
- private int ServiceAccessControlOffset;
- private int ServiceAccessControlSize;
- private int KernelAccessControlOffset;
- private int KernelAccessControlSize;
+ public long TitleId { get; private set; }
- public FSAccessHeader FSAccessHeader;
- public ServiceAccessControl ServiceAccessControl;
- public KernelAccessControl KernelAccessControl;
+ public int FsVersion { get; private set; }
+ public ulong FsPermissionsBitmask { get; private set; }
- public const long ACI0Magic = 'A' << 0 | 'C' << 8 | 'I' << 16 | '0' << 24;
+ public ServiceAccessControl ServiceAccessControl { get; private set; }
+ public KernelAccessControl KernelAccessControl { get; private set; }
- public ACI0(Stream ACI0Stream, int Offset)
+ public ACI0(Stream Stream, int Offset)
{
- ACI0Stream.Seek(Offset, SeekOrigin.Begin);
+ Stream.Seek(Offset, SeekOrigin.Begin);
- BinaryReader Reader = new BinaryReader(ACI0Stream);
+ BinaryReader Reader = new BinaryReader(Stream);
if (Reader.ReadInt32() != ACI0Magic)
{
throw new InvalidNpdmException("ACI0 Stream doesn't contain ACI0 section!");
}
- ACI0Stream.Seek(0x0C, SeekOrigin.Current);
+ Stream.Seek(0xc, SeekOrigin.Current);
- byte[] TempTitleId = Reader.ReadBytes(8);
- Array.Reverse(TempTitleId);
- TitleId = BitConverter.ToString(TempTitleId).Replace("-", "");
+ TitleId = Reader.ReadInt64();
- // Reserved (Not currently used, potentially to be used for lowest title ID in future.)
- ACI0Stream.Seek(0x08, SeekOrigin.Current);
+ //Reserved.
+ Stream.Seek(8, SeekOrigin.Current);
- FSAccessHeaderOffset = Reader.ReadInt32();
- FSAccessHeaderSize = Reader.ReadInt32();
- ServiceAccessControlOffset = Reader.ReadInt32();
- ServiceAccessControlSize = Reader.ReadInt32();
- KernelAccessControlOffset = Reader.ReadInt32();
- KernelAccessControlSize = Reader.ReadInt32();
+ int FsAccessHeaderOffset = Reader.ReadInt32();
+ int FsAccessHeaderSize = Reader.ReadInt32();
+ int ServiceAccessControlOffset = Reader.ReadInt32();
+ int ServiceAccessControlSize = Reader.ReadInt32();
+ int KernelAccessControlOffset = Reader.ReadInt32();
+ int KernelAccessControlSize = Reader.ReadInt32();
- FSAccessHeader = new FSAccessHeader(ACI0Stream, Offset + FSAccessHeaderOffset, FSAccessHeaderSize);
- ServiceAccessControl = new ServiceAccessControl(ACI0Stream, Offset + ServiceAccessControlOffset, ServiceAccessControlSize);
- KernelAccessControl = new KernelAccessControl(ACI0Stream, Offset + KernelAccessControlOffset, KernelAccessControlSize);
+ FsAccessHeader FsAccessHeader = new FsAccessHeader(Stream, Offset + FsAccessHeaderOffset, FsAccessHeaderSize);
+
+ FsVersion = FsAccessHeader.Version;
+ FsPermissionsBitmask = FsAccessHeader.PermissionsBitmask;
+
+ ServiceAccessControl = new ServiceAccessControl(Stream, Offset + ServiceAccessControlOffset, ServiceAccessControlSize);
+
+ KernelAccessControl = new KernelAccessControl(Stream, Offset + KernelAccessControlOffset, KernelAccessControlSize);
}
}
}
diff --git a/Ryujinx.HLE/Loaders/Npdm/ACID.cs b/Ryujinx.HLE/Loaders/Npdm/ACID.cs
index 09768a92..7ead3294 100644
--- a/Ryujinx.HLE/Loaders/Npdm/ACID.cs
+++ b/Ryujinx.HLE/Loaders/Npdm/ACID.cs
@@ -1,36 +1,29 @@
-using System;
+using Ryujinx.HLE.Exceptions;
using System.IO;
namespace Ryujinx.HLE.Loaders.Npdm
{
class ACID
{
- public byte[] RSA2048Signature;
- public byte[] RSA2048Modulus;
- public int Unknown1;
- public int Flags;
+ private const int ACIDMagic = 'A' << 0 | 'C' << 8 | 'I' << 16 | 'D' << 24;
- public string TitleIdRangeMin;
- public string TitleIdRangeMax;
+ public byte[] RSA2048Signature { get; private set; }
+ public byte[] RSA2048Modulus { get; private set; }
+ public int Unknown1 { get; private set; }
+ public int Flags { get; private set; }
- private int FSAccessControlOffset;
- private int FSAccessControlSize;
- private int ServiceAccessControlOffset;
- private int ServiceAccessControlSize;
- private int KernelAccessControlOffset;
- private int KernelAccessControlSize;
+ public long TitleIdRangeMin { get; private set; }
+ public long TitleIdRangeMax { get; private set; }
- public FSAccessControl FSAccessControl;
- public ServiceAccessControl ServiceAccessControl;
- public KernelAccessControl KernelAccessControl;
+ public FsAccessControl FsAccessControl { get; private set; }
+ public ServiceAccessControl ServiceAccessControl { get; private set; }
+ public KernelAccessControl KernelAccessControl { get; private set; }
- public const long ACIDMagic = 'A' << 0 | 'C' << 8 | 'I' << 16 | 'D' << 24;
-
- public ACID(Stream ACIDStream, int Offset)
+ public ACID(Stream Stream, int Offset)
{
- ACIDStream.Seek(Offset, SeekOrigin.Begin);
+ Stream.Seek(Offset, SeekOrigin.Begin);
- BinaryReader Reader = new BinaryReader(ACIDStream);
+ BinaryReader Reader = new BinaryReader(Stream);
RSA2048Signature = Reader.ReadBytes(0x100);
RSA2048Modulus = Reader.ReadBytes(0x100);
@@ -40,28 +33,29 @@ namespace Ryujinx.HLE.Loaders.Npdm
throw new InvalidNpdmException("ACID Stream doesn't contain ACID section!");
}
- Unknown1 = Reader.ReadInt32(); // Size field used with the above signature(?).
- Reader.ReadInt32(); // Padding / Unused
- Flags = Reader.ReadInt32(); // Bit0 must be 1 on retail, on devunit 0 is also allowed. Bit1 is unknown.
+ //Size field used with the above signature (?).
+ Unknown1 = Reader.ReadInt32();
+
+ Reader.ReadInt32();
+
+ //Bit0 must be 1 on retail, on devunit 0 is also allowed. Bit1 is unknown.
+ Flags = Reader.ReadInt32();
+
+ TitleIdRangeMin = Reader.ReadInt64();
+ TitleIdRangeMax = Reader.ReadInt64();
- byte[] TempTitleIdRangeMin = Reader.ReadBytes(8);
- Array.Reverse(TempTitleIdRangeMin);
- TitleIdRangeMin = BitConverter.ToString(TempTitleIdRangeMin).Replace("-", "");
+ int FsAccessControlOffset = Reader.ReadInt32();
+ int FsAccessControlSize = Reader.ReadInt32();
+ int ServiceAccessControlOffset = Reader.ReadInt32();
+ int ServiceAccessControlSize = Reader.ReadInt32();
+ int KernelAccessControlOffset = Reader.ReadInt32();
+ int KernelAccessControlSize = Reader.ReadInt32();
- byte[] TempTitleIdRangeMax = Reader.ReadBytes(8);
- Array.Reverse(TempTitleIdRangeMax);
- TitleIdRangeMax = BitConverter.ToString(TempTitleIdRangeMax).Replace("-", "");
+ FsAccessControl = new FsAccessControl(Stream, Offset + FsAccessControlOffset, FsAccessControlSize);
- FSAccessControlOffset = Reader.ReadInt32();
- FSAccessControlSize = Reader.ReadInt32();
- ServiceAccessControlOffset = Reader.ReadInt32();
- ServiceAccessControlSize = Reader.ReadInt32();
- KernelAccessControlOffset = Reader.ReadInt32();
- KernelAccessControlSize = Reader.ReadInt32();
+ ServiceAccessControl = new ServiceAccessControl(Stream, Offset + ServiceAccessControlOffset, ServiceAccessControlSize);
- FSAccessControl = new FSAccessControl(ACIDStream, Offset + FSAccessControlOffset, FSAccessControlSize);
- ServiceAccessControl = new ServiceAccessControl(ACIDStream, Offset + ServiceAccessControlOffset, ServiceAccessControlSize);
- KernelAccessControl = new KernelAccessControl(ACIDStream, Offset + KernelAccessControlOffset, KernelAccessControlSize);
+ KernelAccessControl = new KernelAccessControl(Stream, Offset + KernelAccessControlOffset, KernelAccessControlSize);
}
}
}
diff --git a/Ryujinx.HLE/Loaders/Npdm/ApplicationType.cs b/Ryujinx.HLE/Loaders/Npdm/ApplicationType.cs
new file mode 100644
index 00000000..ad279032
--- /dev/null
+++ b/Ryujinx.HLE/Loaders/Npdm/ApplicationType.cs
@@ -0,0 +1,9 @@
+namespace Ryujinx.HLE.Loaders.Npdm
+{
+ enum ApplicationType
+ {
+ SystemModule,
+ Application,
+ Applet
+ }
+}
diff --git a/Ryujinx.HLE/Loaders/Npdm/FSAccessControl.cs b/Ryujinx.HLE/Loaders/Npdm/FSAccessControl.cs
deleted file mode 100644
index ca8eac2e..00000000
--- a/Ryujinx.HLE/Loaders/Npdm/FSAccessControl.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using System.IO;
-
-namespace Ryujinx.HLE.Loaders.Npdm
-{
- public class FSAccessControl
- {
- public int Version;
- public ulong PermissionsBitmask;
- public int Unknown1;
- public int Unknown2;
- public int Unknown3;
- public int Unknown4;
-
- public FSAccessControl(Stream FSAccessHeaderStream, int Offset, int Size)
- {
- FSAccessHeaderStream.Seek(Offset, SeekOrigin.Begin);
-
- BinaryReader Reader = new BinaryReader(FSAccessHeaderStream);
-
- Version = Reader.ReadInt32();
- PermissionsBitmask = Reader.ReadUInt64();
- Unknown1 = Reader.ReadInt32();
- Unknown2 = Reader.ReadInt32();
- Unknown3 = Reader.ReadInt32();
- Unknown4 = Reader.ReadInt32();
- }
- }
-}
diff --git a/Ryujinx.HLE/Loaders/Npdm/FSAccessHeader.cs b/Ryujinx.HLE/Loaders/Npdm/FSAccessHeader.cs
deleted file mode 100644
index 0ba3af73..00000000
--- a/Ryujinx.HLE/Loaders/Npdm/FSAccessHeader.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using System.IO;
-
-namespace Ryujinx.HLE.Loaders.Npdm
-{
- public class FSAccessHeader
- {
- public int Version;
- public ulong PermissionsBitmask;
- public int DataSize;
- public int ContentOwnerIDSize;
- public int DataAndContentOwnerIDSize;
-
- public FSAccessHeader(Stream FSAccessHeaderStream, int Offset, int Size)
- {
- FSAccessHeaderStream.Seek(Offset, SeekOrigin.Begin);
-
- BinaryReader Reader = new BinaryReader(FSAccessHeaderStream);
-
- Version = Reader.ReadInt32();
- PermissionsBitmask = Reader.ReadUInt64();
- DataSize = Reader.ReadInt32();
-
- if (DataSize != 0x1C)
- {
- throw new InvalidNpdmException("FSAccessHeader is corrupted!");
- }
-
- ContentOwnerIDSize = Reader.ReadInt32();
- DataAndContentOwnerIDSize = Reader.ReadInt32();
-
- if (DataAndContentOwnerIDSize != 0x1C)
- {
- throw new InvalidNpdmException("ContentOwnerID section is not implemented!");
- }
- }
- }
-}
diff --git a/Ryujinx.HLE/Loaders/Npdm/FsAccessControl.cs b/Ryujinx.HLE/Loaders/Npdm/FsAccessControl.cs
new file mode 100644
index 00000000..00faf321
--- /dev/null
+++ b/Ryujinx.HLE/Loaders/Npdm/FsAccessControl.cs
@@ -0,0 +1,28 @@
+using System.IO;
+
+namespace Ryujinx.HLE.Loaders.Npdm
+{
+ class FsAccessControl
+ {
+ public int Version { get; private set; }
+ public ulong PermissionsBitmask { get; private set; }
+ public int Unknown1 { get; private set; }
+ public int Unknown2 { get; private set; }
+ public int Unknown3 { get; private set; }
+ public int Unknown4 { get; private set; }
+
+ public FsAccessControl(Stream Stream, int Offset, int Size)
+ {
+ Stream.Seek(Offset, SeekOrigin.Begin);
+
+ BinaryReader Reader = new BinaryReader(Stream);
+
+ Version = Reader.ReadInt32();
+ PermissionsBitmask = Reader.ReadUInt64();
+ Unknown1 = Reader.ReadInt32();
+ Unknown2 = Reader.ReadInt32();
+ Unknown3 = Reader.ReadInt32();
+ Unknown4 = Reader.ReadInt32();
+ }
+ }
+}
diff --git a/Ryujinx.HLE/Loaders/Npdm/FsAccessHeader.cs b/Ryujinx.HLE/Loaders/Npdm/FsAccessHeader.cs
new file mode 100644
index 00000000..50e82309
--- /dev/null
+++ b/Ryujinx.HLE/Loaders/Npdm/FsAccessHeader.cs
@@ -0,0 +1,37 @@
+using Ryujinx.HLE.Exceptions;
+using System;
+using System.IO;
+
+namespace Ryujinx.HLE.Loaders.Npdm
+{
+ class FsAccessHeader
+ {
+ public int Version { get; private set; }
+ public ulong PermissionsBitmask { get; private set; }
+
+ public FsAccessHeader(Stream Stream, int Offset, int Size)
+ {
+ Stream.Seek(Offset, SeekOrigin.Begin);
+
+ BinaryReader Reader = new BinaryReader(Stream);
+
+ Version = Reader.ReadInt32();
+ PermissionsBitmask = Reader.ReadUInt64();
+
+ int DataSize = Reader.ReadInt32();
+
+ if (DataSize != 0x1c)
+ {
+ throw new InvalidNpdmException("FsAccessHeader is corrupted!");
+ }
+
+ int ContentOwnerIdSize = Reader.ReadInt32();
+ int DataAndContentOwnerIdSize = Reader.ReadInt32();
+
+ if (DataAndContentOwnerIdSize != 0x1c)
+ {
+ throw new NotImplementedException("ContentOwnerId section is not implemented!");
+ }
+ }
+ }
+}
diff --git a/Ryujinx.HLE/Loaders/Npdm/FsPermissionBool.cs b/Ryujinx.HLE/Loaders/Npdm/FsPermissionBool.cs
new file mode 100644
index 00000000..571b7b5a
--- /dev/null
+++ b/Ryujinx.HLE/Loaders/Npdm/FsPermissionBool.cs
@@ -0,0 +1,33 @@
+namespace Ryujinx.HLE.Loaders.Npdm
+{
+ enum FsPermissionBool : ulong
+ {
+ BisCache = 0x8000000000000080,
+ EraseMmc = 0x8000000000000080,
+ GameCardCertificate = 0x8000000000000010,
+ GameCardIdSet = 0x8000000000000010,
+ GameCardDriver = 0x8000000000000200,
+ GameCardAsic = 0x8000000000000200,
+ SaveDataCreate = 0x8000000000002020,
+ SaveDataDelete0 = 0x8000000000000060,
+ SystemSaveDataCreate0 = 0x8000000000000028,
+ SystemSaveDataCreate1 = 0x8000000000000020,
+ SaveDataDelete1 = 0x8000000000004028,
+ SaveDataIterators0 = 0x8000000000000060,
+ SaveDataIterators1 = 0x8000000000004020,
+ SaveThumbnails = 0x8000000000020000,
+ PosixTime = 0x8000000000000400,
+ SaveDataExtraData = 0x8000000000004060,
+ GlobalMode = 0x8000000000080000,
+ SpeedEmulation = 0x8000000000080000,
+ NULL = 0,
+ PaddingFiles = 0xC000000000800000,
+ SaveData_Debug = 0xC000000001000000,
+ SaveData_SystemManagement = 0xC000000002000000,
+ Unknown0x16 = 0x8000000004000000,
+ Unknown0x17 = 0x8000000008000000,
+ Unknown0x18 = 0x8000000010000000,
+ Unknown0x19 = 0x8000000000000800,
+ Unknown0x1A = 0x8000000000004020
+ }
+}
diff --git a/Ryujinx.HLE/Loaders/Npdm/FsPermissionRw.cs b/Ryujinx.HLE/Loaders/Npdm/FsPermissionRw.cs
new file mode 100644
index 00000000..ca21279b
--- /dev/null
+++ b/Ryujinx.HLE/Loaders/Npdm/FsPermissionRw.cs
@@ -0,0 +1,45 @@
+namespace Ryujinx.HLE.Loaders.Npdm
+{
+ enum FsPermissionRw : ulong
+ {
+ MountContentType2 = 0x8000000000000801,
+ MountContentType5 = 0x8000000000000801,
+ MountContentType3 = 0x8000000000000801,
+ MountContentType4 = 0x8000000000000801,
+ MountContentType6 = 0x8000000000000801,
+ MountContentType7 = 0x8000000000000801,
+ Unknown0x6 = 0x8000000000000000,
+ ContentStorageAccess = 0x8000000000000800,
+ ImageDirectoryAccess = 0x8000000000001000,
+ MountBisType28 = 0x8000000000000084,
+ MountBisType29 = 0x8000000000000080,
+ MountBisType30 = 0x8000000000008080,
+ MountBisType31 = 0x8000000000008080,
+ Unknown0xD = 0x8000000000000080,
+ SdCardAccess = 0xC000000000200000,
+ GameCardUser = 0x8000000000000010,
+ SaveDataAccess0 = 0x8000000000040020,
+ SystemSaveDataAccess0 = 0x8000000000000028,
+ SaveDataAccess1 = 0x8000000000000020,
+ SystemSaveDataAccess1 = 0x8000000000000020,
+ BisPartition0 = 0x8000000000010082,
+ BisPartition10 = 0x8000000000010080,
+ BisPartition20 = 0x8000000000010080,
+ BisPartition21 = 0x8000000000010080,
+ BisPartition22 = 0x8000000000010080,
+ BisPartition23 = 0x8000000000010080,
+ BisPartition24 = 0x8000000000010080,
+ BisPartition25 = 0x8000000000010080,
+ BisPartition26 = 0x8000000000000080,
+ BisPartition27 = 0x8000000000000084,
+ BisPartition28 = 0x8000000000000084,
+ BisPartition29 = 0x8000000000000080,
+ BisPartition30 = 0x8000000000000080,
+ BisPartition31 = 0x8000000000000080,
+ BisPartition32 = 0x8000000000000080,
+ Unknown0x23 = 0xC000000000200000,
+ GameCard_System = 0x8000000000000100,
+ MountContent_System = 0x8000000000100008,
+ HostAccess = 0xC000000000400000
+ }
+}
diff --git a/Ryujinx.HLE/Loaders/Npdm/KernelAccessControl.cs b/Ryujinx.HLE/Loaders/Npdm/KernelAccessControl.cs
index 46fad63e..0b45ebfb 100644
--- a/Ryujinx.HLE/Loaders/Npdm/KernelAccessControl.cs
+++ b/Ryujinx.HLE/Loaders/Npdm/KernelAccessControl.cs
@@ -1,79 +1,40 @@
-using System.Collections.Generic;
+using Ryujinx.HLE.Exceptions;
+using System;
+using System.Collections.ObjectModel;
using System.IO;
namespace Ryujinx.HLE.Loaders.Npdm
{
- public class KernelAccessControlIRQ
+ class KernelAccessControl
{
- public uint IRQ0;
- public uint IRQ1;
- }
-
- public class KernelAccessControlMMIO
- {
- public ulong Address;
- public ulong Size;
- public bool IsRO;
- public bool IsNormal;
- }
-
- public class KernelAccessControlItems
- {
- public bool HasKernelFlags;
- public uint LowestThreadPriority;
- public uint HighestThreadPriority;
- public uint LowestCpuId;
- public uint HighestCpuId;
-
- public bool HasSVCFlags;
- public int[] SVCsAllowed;
-
- public List<KernelAccessControlMMIO> NormalMMIO;
- public List<KernelAccessControlMMIO> PageMMIO;
- public List<KernelAccessControlIRQ> IRQ;
-
- public bool HasApplicationType;
- public int ApplicationType;
-
- public bool HasKernelVersion;
- public int KernelVersionRelease;
-
- public bool HasHandleTableSize;
- public int HandleTableSize;
-
- public bool HasDebugFlags;
- public bool AllowDebug;
- public bool ForceDebug;
- }
-
- public class KernelAccessControl
- {
- public KernelAccessControlItems[] Items;
+ public ReadOnlyCollection<KernelAccessControlItem> Items;
- public KernelAccessControl(Stream FSAccessControlsStream, int Offset, int Size)
+ public KernelAccessControl(Stream Stream, int Offset, int Size)
{
- FSAccessControlsStream.Seek(Offset, SeekOrigin.Begin);
+ Stream.Seek(Offset, SeekOrigin.Begin);
- BinaryReader Reader = new BinaryReader(FSAccessControlsStream);
+ BinaryReader Reader = new BinaryReader(Stream);
- Items = new KernelAccessControlItems[Size / 4];
+ KernelAccessControlItem[] Items = new KernelAccessControlItem[Size / 4];
- for (int i = 0; i < Size / 4; i++)
+ for (int Index = 0; Index < Size / 4; Index++)
{
uint Descriptor = Reader.ReadUInt32();
- if (Descriptor == 0xFFFFFFFF) //Ignore the descriptor
+ //Ignore the descriptor.
+ if (Descriptor == 0xffffffff)
{
continue;
}
- Items[i] = new KernelAccessControlItems();
+ Items[Index] = new KernelAccessControlItem();
int LowBits = 0;
while ((Descriptor & 1) != 0)
{
Descriptor >>= 1;
+
LowBits++;
}
@@ -81,128 +42,132 @@ namespace Ryujinx.HLE.Loaders.Npdm
switch (LowBits)
{
- case 3: // Kernel flags
+ //Kernel flags.
+ case 3:
{
- Items[i].HasKernelFlags = true;
+ Items[Index].HasKernelFlags = true;
- Items[i].HighestThreadPriority = Descriptor & 0x3F;
- Items[i].LowestThreadPriority = (Descriptor >> 6) & 0x3F;
- Items[i].LowestCpuId = (Descriptor >> 12) & 0xFF;
- Items[i].HighestCpuId = (Descriptor >> 20) & 0xFF;
+ Items[Index].HighestThreadPriority = (Descriptor >> 0) & 0x3f;
+ Items[Index].LowestThreadPriority = (Descriptor >> 6) & 0x3f;
+ Items[Index].LowestCpuId = (Descriptor >> 12) & 0xff;
+ Items[Index].HighestCpuId = (Descriptor >> 20) & 0xff;
break;
}
- case 4: // Syscall mask
+ //Syscall mask.
+ case 4:
{
- Items[i].HasSVCFlags = true;
+ Items[Index].HasSvcFlags = true;
- Items[i].SVCsAllowed = new int[0x80];
+ Items[Index].AllowedSvcs = new bool[0x80];
int SysCallBase = (int)(Descriptor >> 24) * 0x18;
for (int SysCall = 0; SysCall < 0x18 && SysCallBase + SysCall < 0x80; SysCall++)
{
- Items[i].SVCsAllowed[SysCallBase + SysCall] = (int)Descriptor & 1;
+ Items[Index].AllowedSvcs[SysCallBase + SysCall] = (Descriptor & 1) != 0;
+
Descriptor >>= 1;
}
break;
}
- case 6: // Map IO/Normal - Never tested.
+ //Map IO/Normal.
+ case 6:
{
- KernelAccessControlMMIO TempNormalMMIO = new KernelAccessControlMMIO
- {
- Address = (Descriptor & 0xFFFFFF) << 12,
- IsRO = (Descriptor >> 24) != 0
- };
+ ulong Address = (Descriptor & 0xffffff) << 12;
+ bool IsRo = (Descriptor >> 24) != 0;
- if (i == Size / 4 - 1)
+ if (Index == Size / 4 - 1)
{
throw new InvalidNpdmException("Invalid Kernel Access Control Descriptors!");
}
Descriptor = Reader.ReadUInt32();
- if ((Descriptor & 0x7F) != 0x3F)
+ if ((Descriptor & 0x7f) != 0x3f)
{
throw new InvalidNpdmException("Invalid Kernel Access Control Descriptors!");
}
Descriptor >>= 7;
- TempNormalMMIO.Size = (Descriptor & 0xFFFFFF) << 12;
- TempNormalMMIO.IsNormal = (Descriptor >> 24) != 0;
- Items[i].NormalMMIO.Add(TempNormalMMIO);
- i++;
+ ulong MmioSize = (Descriptor & 0xffffff) << 12;
+ bool IsNormal = (Descriptor >> 24) != 0;
+
+ Items[Index].NormalMmio.Add(new KernelAccessControlMmio(Address, MmioSize, IsRo, IsNormal));
+
+ Index++;
break;
}
- case 7: // Map Normal Page - Never tested.
+ //Map Normal Page.
+ case 7:
{
- KernelAccessControlMMIO TempPageMMIO = new KernelAccessControlMMIO
- {
- Address = Descriptor << 12,
- Size = 0x1000,
- IsRO = false,
- IsNormal = false
- };
+ ulong Address = Descriptor << 12;
- Items[i].PageMMIO.Add(TempPageMMIO);
+ Items[Index].PageMmio.Add(new KernelAccessControlMmio(Address, 0x1000, false, false));
break;
}
- case 11: // IRQ Pair - Never tested.
+ //IRQ Pair.
+ case 11:
{
- KernelAccessControlIRQ TempIRQ = new KernelAccessControlIRQ
- {
- IRQ0 = Descriptor & 0x3FF,
- IRQ1 = (Descriptor >> 10) & 0x3FF
- };
+ Items[Index].Irq.Add(new KernelAccessControlIrq(
+ (Descriptor >> 0) & 0x3ff,
+ (Descriptor >> 10) & 0x3ff));
break;
}
- case 13: // App Type
+ //Application Type.
+ case 13:
{
- Items[i].HasApplicationType = true;
- Items[i].ApplicationType = (int)Descriptor & 7;
+ Items[Index].HasApplicationType = true;
+
+ Items[Index].ApplicationType = (int)Descriptor & 7;
break;
}
- case 14: // Kernel Release Version
+ //Kernel Release Version.
+ case 14:
{
- Items[i].HasKernelVersion = true;
+ Items[Index].HasKernelVersion = true;
- Items[i].KernelVersionRelease = (int)Descriptor;
+ Items[Index].KernelVersionRelease = (int)Descriptor;
break;
}
- case 15: // Handle Table Size
+ //Handle Table Size.
+ case 15:
{
- Items[i].HasHandleTableSize = true;
+ Items[Index].HasHandleTableSize = true;
- Items[i].HandleTableSize = (int)Descriptor;
+ Items[Index].HandleTableSize = (int)Descriptor;
break;
}
- case 16: // Debug Flags
+ //Debug Flags.
+ case 16:
{
- Items[i].HasDebugFlags = true;
+ Items[Index].HasDebugFlags = true;
- Items[i].AllowDebug = (Descriptor & 1) != 0;
- Items[i].ForceDebug = ((Descriptor >> 1) & 1) != 0;
+ Items[Index].AllowDebug = ((Descriptor >> 0) & 1) != 0;
+ Items[Index].ForceDebug = ((Descriptor >> 1) & 1) != 0;
break;
}
}
}
+
+ this.Items = Array.AsReadOnly(Items);
}
}
}
diff --git a/Ryujinx.HLE/Loaders/Npdm/KernelAccessControlIrq.cs b/Ryujinx.HLE/Loaders/Npdm/KernelAccessControlIrq.cs
new file mode 100644
index 00000000..63671331
--- /dev/null
+++ b/Ryujinx.HLE/Loaders/Npdm/KernelAccessControlIrq.cs
@@ -0,0 +1,14 @@
+namespace Ryujinx.HLE.Loaders.Npdm
+{
+ struct KernelAccessControlIrq
+ {
+ public uint Irq0 { get; private set; }
+ public uint Irq1 { get; private set; }
+
+ public KernelAccessControlIrq(uint Irq0, uint Irq1)
+ {
+ this.Irq0 = Irq0;
+ this.Irq1 = Irq1;
+ }
+ }
+} \ No newline at end of file
diff --git a/Ryujinx.HLE/Loaders/Npdm/KernelAccessControlMmio.cs b/Ryujinx.HLE/Loaders/Npdm/KernelAccessControlMmio.cs
new file mode 100644
index 00000000..1ec79c88
--- /dev/null
+++ b/Ryujinx.HLE/Loaders/Npdm/KernelAccessControlMmio.cs
@@ -0,0 +1,22 @@
+namespace Ryujinx.HLE.Loaders.Npdm
+{
+ struct KernelAccessControlMmio
+ {
+ public ulong Address { get; private set; }
+ public ulong Size { get; private set; }
+ public bool IsRo { get; private set; }
+ public bool IsNormal { get; private set; }
+
+ public KernelAccessControlMmio(
+ ulong Address,
+ ulong Size,
+ bool IsRo,
+ bool IsNormal)
+ {
+ this.Address = Address;
+ this.Size = Size;
+ this.IsRo = IsRo;
+ this.IsNormal = IsNormal;
+ }
+ }
+} \ No newline at end of file
diff --git a/Ryujinx.HLE/Loaders/Npdm/KernelAccessItem.cs b/Ryujinx.HLE/Loaders/Npdm/KernelAccessItem.cs
new file mode 100644
index 00000000..42015c3e
--- /dev/null
+++ b/Ryujinx.HLE/Loaders/Npdm/KernelAccessItem.cs
@@ -0,0 +1,33 @@
+using System.Collections.Generic;
+
+namespace Ryujinx.HLE.Loaders.Npdm
+{
+ struct KernelAccessControlItem
+ {
+ public bool HasKernelFlags { get; set; }
+ public uint LowestThreadPriority { get; set; }
+ public uint HighestThreadPriority { get; set; }
+ public uint LowestCpuId { get; set; }
+ public uint HighestCpuId { get; set; }
+
+ public bool HasSvcFlags { get; set; }
+ public bool[] AllowedSvcs { get; set; }
+
+ public List<KernelAccessControlMmio> NormalMmio { get; set; }
+ public List<KernelAccessControlMmio> PageMmio { get; set; }
+ public List<KernelAccessControlIrq> Irq { get; set; }
+
+ public bool HasApplicationType { get; set; }
+ public int ApplicationType { get; set; }
+
+ public bool HasKernelVersion { get; set; }
+ public int KernelVersionRelease { get; set; }
+
+ public bool HasHandleTableSize { get; set; }
+ public int HandleTableSize { get; set; }
+
+ public bool HasDebugFlags { get; set; }
+ public bool AllowDebug { get; set; }
+ public bool ForceDebug { get; set; }
+ }
+} \ No newline at end of file
diff --git a/Ryujinx.HLE/Loaders/Npdm/Npdm.cs b/Ryujinx.HLE/Loaders/Npdm/Npdm.cs
index eaa662f0..8aacfd99 100644
--- a/Ryujinx.HLE/Loaders/Npdm/Npdm.cs
+++ b/Ryujinx.HLE/Loaders/Npdm/Npdm.cs
@@ -1,4 +1,5 @@
-using Ryujinx.HLE.OsHle.Utilities;
+using Ryujinx.HLE.Exceptions;
+using Ryujinx.HLE.Utilities;
using System.IO;
using System.Text;
@@ -9,77 +10,69 @@ namespace Ryujinx.HLE.Loaders.Npdm
//http://switchbrew.org/index.php?title=NPDM
class Npdm
{
- public bool Is64Bits;
- public int AddressSpaceWidth;
- public byte MainThreadPriority;
- public byte DefaultCpuId;
- public int SystemResourceSize;
- public int ProcessCategory;
- public int MainEntrypointStackSize;
- public string TitleName;
- public byte[] ProductCode;
- public ulong FSPerms;
-
- private int ACI0Offset;
- private int ACI0Size;
- private int ACIDOffset;
- private int ACIDSize;
-
- public ACI0 ACI0;
- public ACID ACID;
-
- public const long NpdmMagic = 'M' << 0 | 'E' << 8 | 'T' << 16 | 'A' << 24;
-
- public Npdm(Stream NPDMStream)
+ private const int MetaMagic = 'M' << 0 | 'E' << 8 | 'T' << 16 | 'A' << 24;
+
+ public bool Is64Bits { get; private set; }
+ public int AddressSpaceWidth { get; private set; }
+ public byte MainThreadPriority { get; private set; }
+ public byte DefaultCpuId { get; private set; }
+ public int SystemResourceSize { get; private set; }
+ public int ProcessCategory { get; private set; }
+ public int MainEntrypointStackSize { get; private set; }
+ public string TitleName { get; private set; }
+ public byte[] ProductCode { get; private set; }
+
+ public ACI0 ACI0 { get; private set; }
+ public ACID ACID { get; private set; }
+
+ public Npdm(Stream Stream)
{
- BinaryReader Reader = new BinaryReader(NPDMStream);
+ BinaryReader Reader = new BinaryReader(Stream);
- if (Reader.ReadInt32() != NpdmMagic)
+ if (Reader.ReadInt32() != MetaMagic)
{
throw new InvalidNpdmException("NPDM Stream doesn't contain NPDM file!");
}
- Reader.ReadInt64(); // Padding / Unused
+ Reader.ReadInt64();
+
+ //MmuFlags, bit0: 64-bit instructions, bits1-3: address space width (1=64-bit, 2=32-bit). Needs to be <= 0xF.
+ byte MmuFlags = Reader.ReadByte();
- // MmuFlags, bit0: 64-bit instructions, bits1-3: address space width (1=64-bit, 2=32-bit). Needs to be <= 0xF
- byte MmuFlags = Reader.ReadByte();
Is64Bits = (MmuFlags & 1) != 0;
AddressSpaceWidth = (MmuFlags >> 1) & 7;
- Reader.ReadByte(); // Padding / Unused
+ Reader.ReadByte();
- MainThreadPriority = Reader.ReadByte(); // (0-63)
+ MainThreadPriority = Reader.ReadByte(); //(0-63).
DefaultCpuId = Reader.ReadByte();
- Reader.ReadInt32(); // Padding / Unused
+ Reader.ReadInt32();
- // System resource size (max size as of 5.x: 534773760). Unknown usage.
+ //System resource size (max size as of 5.x: 534773760).
SystemResourceSize = EndianSwap.Swap32(Reader.ReadInt32());
- // ProcessCategory (0: regular title, 1: kernel built-in). Should be 0 here.
+ //ProcessCategory (0: regular title, 1: kernel built-in). Should be 0 here.
ProcessCategory = EndianSwap.Swap32(Reader.ReadInt32());
- // Main entrypoint stack size
- // (Should(?) be page-aligned. In non-nspwn scenarios, values of 0 can also rarely break in Horizon.
- // This might be something auto-adapting or a security feature of some sort ?)
+ //Main entrypoint stack size.
MainEntrypointStackSize = Reader.ReadInt32();
byte[] TempTitleName = Reader.ReadBytes(0x10);
- TitleName = Encoding.UTF8.GetString(TempTitleName, 0, TempTitleName.Length).Trim('\0');
- ProductCode = Reader.ReadBytes(0x10); // Unknown value
+ TitleName = Encoding.UTF8.GetString(TempTitleName, 0, TempTitleName.Length).Trim('\0');
- NPDMStream.Seek(0x30, SeekOrigin.Current); // Skip reserved bytes
+ ProductCode = Reader.ReadBytes(0x10);
- ACI0Offset = Reader.ReadInt32();
- ACI0Size = Reader.ReadInt32();
- ACIDOffset = Reader.ReadInt32();
- ACIDSize = Reader.ReadInt32();
+ Stream.Seek(0x30, SeekOrigin.Current);
- ACI0 = new ACI0(NPDMStream, ACI0Offset);
- ACID = new ACID(NPDMStream, ACIDOffset);
+ int ACI0Offset = Reader.ReadInt32();
+ int ACI0Size = Reader.ReadInt32();
+ int ACIDOffset = Reader.ReadInt32();
+ int ACIDSize = Reader.ReadInt32();
- FSPerms = ACI0.FSAccessHeader.PermissionsBitmask & ACID.FSAccessControl.PermissionsBitmask;
+ ACI0 = new ACI0(Stream, ACI0Offset);
+ ACID = new ACID(Stream, ACIDOffset);
}
}
}
diff --git a/Ryujinx.HLE/Loaders/Npdm/NpdmInfo.cs b/Ryujinx.HLE/Loaders/Npdm/NpdmInfo.cs
deleted file mode 100644
index 72e6b3e2..00000000
--- a/Ryujinx.HLE/Loaders/Npdm/NpdmInfo.cs
+++ /dev/null
@@ -1,215 +0,0 @@
-namespace Ryujinx.HLE.Loaders.Npdm
-{
- enum FSPermissionRW : ulong
- {
- MountContentType2 = 0x8000000000000801,
- MountContentType5 = 0x8000000000000801,
- MountContentType3 = 0x8000000000000801,
- MountContentType4 = 0x8000000000000801,
- MountContentType6 = 0x8000000000000801,
- MountContentType7 = 0x8000000000000801,
- Unknown0x6 = 0x8000000000000000,
- ContentStorageAccess = 0x8000000000000800,
- ImageDirectoryAccess = 0x8000000000001000,
- MountBisType28 = 0x8000000000000084,
- MountBisType29 = 0x8000000000000080,
- MountBisType30 = 0x8000000000008080,
- MountBisType31 = 0x8000000000008080,
- Unknown0xD = 0x8000000000000080,
- SdCardAccess = 0xC000000000200000,
- GameCardUser = 0x8000000000000010,
- SaveDataAccess0 = 0x8000000000040020,
- SystemSaveDataAccess0 = 0x8000000000000028,
- SaveDataAccess1 = 0x8000000000000020,
- SystemSaveDataAccess1 = 0x8000000000000020,
- BisPartition0 = 0x8000000000010082,
- BisPartition10 = 0x8000000000010080,
- BisPartition20 = 0x8000000000010080,
- BisPartition21 = 0x8000000000010080,
- BisPartition22 = 0x8000000000010080,
- BisPartition23 = 0x8000000000010080,
- BisPartition24 = 0x8000000000010080,
- BisPartition25 = 0x8000000000010080,
- BisPartition26 = 0x8000000000000080,
- BisPartition27 = 0x8000000000000084,
- BisPartition28 = 0x8000000000000084,
- BisPartition29 = 0x8000000000000080,
- BisPartition30 = 0x8000000000000080,
- BisPartition31 = 0x8000000000000080,
- BisPartition32 = 0x8000000000000080,
- Unknown0x23 = 0xC000000000200000,
- GameCard_System = 0x8000000000000100,
- MountContent_System = 0x8000000000100008,
- HostAccess = 0xC000000000400000
- };
-
- enum FSPermissionBool : ulong
- {
- BisCache = 0x8000000000000080,
- EraseMmc = 0x8000000000000080,
- GameCardCertificate = 0x8000000000000010,
- GameCardIdSet = 0x8000000000000010,
- GameCardDriver = 0x8000000000000200,
- GameCardAsic = 0x8000000000000200,
- SaveDataCreate = 0x8000000000002020,
- SaveDataDelete0 = 0x8000000000000060,
- SystemSaveDataCreate0 = 0x8000000000000028,
- SystemSaveDataCreate1 = 0x8000000000000020,
- SaveDataDelete1 = 0x8000000000004028,
- SaveDataIterators0 = 0x8000000000000060,
- SaveDataIterators1 = 0x8000000000004020,
- SaveThumbnails = 0x8000000000020000,
- PosixTime = 0x8000000000000400,
- SaveDataExtraData = 0x8000000000004060,
- GlobalMode = 0x8000000000080000,
- SpeedEmulation = 0x8000000000080000,
- NULL = 0,
- PaddingFiles = 0xC000000000800000,
- SaveData_Debug = 0xC000000001000000,
- SaveData_SystemManagement = 0xC000000002000000,
- Unknown0x16 = 0x8000000004000000,
- Unknown0x17 = 0x8000000008000000,
- Unknown0x18 = 0x8000000010000000,
- Unknown0x19 = 0x8000000000000800,
- Unknown0x1A = 0x8000000000004020
- }
-
- enum NpdmApplicationType
- {
- SystemModule,
- Application,
- Applet
- }
-
- enum SvcName
- {
- svcUnknown0,
- svcSetHeapSize,
- svcSetMemoryPermission,
- svcSetMemoryAttribute,
- svcMapMemory,
- svcUnmapMemory,
- svcQueryMemory,
- svcExitProcess,
- svcCreateThread,
- svcStartThread,
- svcExitThread,
- svcSleepThread,
- svcGetThreadPriority,
- svcSetThreadPriority,
- svcGetThreadCoreMask,
- svcSetThreadCoreMask,
- svcGetCurrentProcessorNumber,
- svcSignalEvent,
- svcClearEvent,
- svcMapSharedMemory,
- svcUnmapSharedMemory,
- svcCreateTransferMemory,
- svcCloseHandle,
- svcResetSignal,
- svcWaitSynchronization,
- svcCancelSynchronization,
- svcArbitrateLock,
- svcArbitrateUnlock,
- svcWaitProcessWideKeyAtomic,
- svcSignalProcessWideKey,
- svcGetSystemTick,
- svcConnectToNamedPort,
- svcSendSyncRequestLight,
- svcSendSyncRequest,
- svcSendSyncRequestWithUserBuffer,
- svcSendAsyncRequestWithUserBuffer,
- svcGetProcessId,
- svcGetThreadId,
- svcBreak,
- svcOutputDebugString,
- svcReturnFromException,
- svcGetInfo,
- svcFlushEntireDataCache,
- svcFlushDataCache,
- svcMapPhysicalMemory,
- svcUnmapPhysicalMemory,
- svcGetFutureThreadInfo,
- svcGetLastThreadInfo,
- svcGetResourceLimitLimitValue,
- svcGetResourceLimitCurrentValue,
- svcSetThreadActivity,
- svcGetThreadContext3,
- svcWaitForAddress,
- svcSignalToAddress,
- svcUnknown1,
- svcUnknown2,
- svcUnknown3,
- svcUnknown4,
- svcUnknown5,
- svcUnknown6,
- svcDumpInfo,
- svcDumpInfoNew,
- svcUnknown7,
- svcUnknown8,
- svcCreateSession,
- svcAcceptSession,
- svcReplyAndReceiveLight,
- svcReplyAndReceive,
- svcReplyAndReceiveWithUserBuffer,
- svcCreateEvent,
- svcUnknown9,
- svcUnknown10,
- svcMapPhysicalMemoryUnsafe,
- svcUnmapPhysicalMemoryUnsafe,
- svcSetUnsafeLimit,
- svcCreateCodeMemory,
- svcControlCodeMemory,
- svcSleepSystem,
- svcReadWriteRegister,
- svcSetProcessActivity,
- svcCreateSharedMemory,
- svcMapTransferMemory,
- svcUnmapTransferMemory,
- svcCreateInterruptEvent,
- svcQueryPhysicalAddress,
- svcQueryIoMapping,
- svcCreateDeviceAddressSpace,
- svcAttachDeviceAddressSpace,
- svcDetachDeviceAddressSpace,
- svcMapDeviceAddressSpaceByForce,
- svcMapDeviceAddressSpaceAligned,
- svcMapDeviceAddressSpace,
- svcUnmapDeviceAddressSpace,
- svcInvalidateProcessDataCache,
- svcStoreProcessDataCache,
- svcFlushProcessDataCache,
- svcDebugActiveProcess,
- svcBreakDebugProcess,
- svcTerminateDebugProcess,
- svcGetDebugEvent,
- svcContinueDebugEvent,
- svcGetProcessList,
- svcGetThreadList,
- svcGetDebugThreadContext,
- svcSetDebugThreadContext,
- svcQueryDebugProcessMemory,
- svcReadDebugProcessMemory,
- svcWriteDebugProcessMemory,
- svcSetHardwareBreakPoint,
- svcGetDebugThreadParam,
- svcUnknown11,
- svcGetSystemInfo,
- svcCreatePort,
- svcManageNamedPort,
- svcConnectToPort,
- svcSetProcessMemoryPermission,
- svcMapProcessMemory,
- svcUnmapProcessMemory,
- svcQueryProcessMemory,
- svcMapProcessCodeMemory,
- svcUnmapProcessCodeMemory,
- svcCreateProcess,
- svcStartProcess,
- svcTerminateProcess,
- svcGetProcessInfo,
- svcCreateResourceLimit,
- svcSetResourceLimitLimitValue,
- svcCallSecureMonitor
- };
-}
diff --git a/Ryujinx.HLE/Loaders/Npdm/ServiceAccessControl.cs b/Ryujinx.HLE/Loaders/Npdm/ServiceAccessControl.cs
index ddd7d7ed..910eacb3 100644
--- a/Ryujinx.HLE/Loaders/Npdm/ServiceAccessControl.cs
+++ b/Ryujinx.HLE/Loaders/Npdm/ServiceAccessControl.cs
@@ -1,34 +1,42 @@
using System.Collections.Generic;
+using System.Collections.ObjectModel;
using System.IO;
using System.Text;
namespace Ryujinx.HLE.Loaders.Npdm
{
- public class ServiceAccessControl
+ class ServiceAccessControl
{
- public List<(string, bool)> Services = new List<(string, bool)>();
+ public IReadOnlyDictionary<string, bool> Services { get; private set; }
- public ServiceAccessControl(Stream ServiceAccessControlStream, int Offset, int Size)
+ public ServiceAccessControl(Stream Stream, int Offset, int Size)
{
- ServiceAccessControlStream.Seek(Offset, SeekOrigin.Begin);
+ Stream.Seek(Offset, SeekOrigin.Begin);
- BinaryReader Reader = new BinaryReader(ServiceAccessControlStream);
+ BinaryReader Reader = new BinaryReader(Stream);
int ByteReaded = 0;
+ Dictionary<string, bool> Services = new Dictionary<string, bool>();
+
while (ByteReaded != Size)
{
byte ControlByte = Reader.ReadByte();
- if (ControlByte == 0x00) break;
+ if (ControlByte == 0)
+ {
+ break;
+ }
- int Length = ((ControlByte & 0x07)) + 1;
- bool RegisterAllowed = ((ControlByte & 0x80) != 0);
+ int Length = ((ControlByte & 0x07)) + 1;
+ bool RegisterAllowed = ((ControlByte & 0x80) != 0);
- Services.Add((Encoding.ASCII.GetString(Reader.ReadBytes(Length), 0, Length), RegisterAllowed));
+ Services.Add(Encoding.ASCII.GetString(Reader.ReadBytes(Length), 0, Length), RegisterAllowed);
ByteReaded += Length + 1;
}
+
+ this.Services = new ReadOnlyDictionary<string, bool>(Services);
}
}
}
diff --git a/Ryujinx.HLE/Loaders/Npdm/SvcName.cs b/Ryujinx.HLE/Loaders/Npdm/SvcName.cs
new file mode 100644
index 00000000..e519e05e
--- /dev/null
+++ b/Ryujinx.HLE/Loaders/Npdm/SvcName.cs
@@ -0,0 +1,134 @@
+namespace Ryujinx.HLE.Loaders.Npdm
+{
+ enum SvcName
+ {
+ Reserved0,
+ SetHeapSize,
+ SetMemoryPermission,
+ SetMemoryAttribute,
+ MapMemory,
+ UnmapMemory,
+ QueryMemory,
+ ExitProcess,
+ CreateThread,
+ StartThread,
+ ExitThread,
+ SleepThread,
+ GetThreadPriority,
+ SetThreadPriority,
+ GetThreadCoreMask,
+ SetThreadCoreMask,
+ GetCurrentProcessorNumber,
+ SignalEvent,
+ ClearEvent,
+ MapSharedMemory,
+ UnmapSharedMemory,
+ CreateTransferMemory,
+ CloseHandle,
+ ResetSignal,
+ WaitSynchronization,
+ CancelSynchronization,
+ ArbitrateLock,
+ ArbitrateUnlock,
+ WaitProcessWideKeyAtomic,
+ SignalProcessWideKey,
+ GetSystemTick,
+ ConnectToNamedPort,
+ SendSyncRequestLight,
+ SendSyncRequest,
+ SendSyncRequestWithUserBuffer,
+ SendAsyncRequestWithUserBuffer,
+ GetProcessId,
+ GetThreadId,
+ Break,
+ OutputDebugString,
+ ReturnFromException,
+ GetInfo,
+ FlushEntireDataCache,
+ FlushDataCache,
+ MapPhysicalMemory,
+ UnmapPhysicalMemory,
+ GetFutureThreadInfo,
+ GetLastThreadInfo,
+ GetResourceLimitLimitValue,
+ GetResourceLimitCurrentValue,
+ SetThreadActivity,
+ GetThreadContext3,
+ WaitForAddress,
+ SignalToAddress,
+ Reserved1,
+ Reserved2,
+ Reserved3,
+ Reserved4,
+ Reserved5,
+ Reserved6,
+ DumpInfo,
+ DumpInfoNew,
+ Reserved7,
+ Reserved8,
+ CreateSession,
+ AcceptSession,
+ ReplyAndReceiveLight,
+ ReplyAndReceive,
+ ReplyAndReceiveWithUserBuffer,
+ CreateEvent,
+ Reserved9,
+ Reserved10,
+ MapPhysicalMemoryUnsafe,
+ UnmapPhysicalMemoryUnsafe,
+ SetUnsafeLimit,
+ CreateCodeMemory,
+ ControlCodeMemory,
+ SleepSystem,
+ ReadWriteRegister,
+ SetProcessActivity,
+ CreateSharedMemory,
+ MapTransferMemory,
+ UnmapTransferMemory,
+ CreateInterruptEvent,
+ QueryPhysicalAddress,
+ QueryIoMapping,
+ CreateDeviceAddressSpace,
+ AttachDeviceAddressSpace,
+ DetachDeviceAddressSpace,
+ MapDeviceAddressSpaceByForce,
+ MapDeviceAddressSpaceAligned,
+ MapDeviceAddressSpace,
+ UnmapDeviceAddressSpace,
+ InvalidateProcessDataCache,
+ StoreProcessDataCache,
+ FlushProcessDataCache,
+ DebugActiveProcess,
+ BreakDebugProcess,
+ TerminateDebugProcess,
+ GetDebugEvent,
+ ContinueDebugEvent,
+ GetProcessList,
+ GetThreadList,
+ GetDebugThreadContext,
+ SetDebugThreadContext,
+ QueryDebugProcessMemory,
+ ReadDebugProcessMemory,
+ WriteDebugProcessMemory,
+ SetHardwareBreakPoint,
+ GetDebugThreadParam,
+ Reserved11,
+ GetSystemInfo,
+ CreatePort,
+ ManageNamedPort,
+ ConnectToPort,
+ SetProcessMemoryPermission,
+ MapProcessMemory,
+ UnmapProcessMemory,
+ QueryProcessMemory,
+ MapProcessCodeMemory,
+ UnmapProcessCodeMemory,
+ CreateProcess,
+ StartProcess,
+ TerminateProcess,
+ GetProcessInfo,
+ CreateResourceLimit,
+ SetResourceLimitLimitValue,
+ CallSecureMonitor
+ }
+}
diff --git a/Ryujinx.HLE/OsHle/MemoryType.cs b/Ryujinx.HLE/OsHle/MemoryType.cs
deleted file mode 100644
index 64b07947..00000000
--- a/Ryujinx.HLE/OsHle/MemoryType.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-namespace Ryujinx.HLE.OsHle
-{
- enum MemoryType
- {
- Unmapped = 0,
- Io = 1,
- Normal = 2,
- CodeStatic = 3,
- CodeMutable = 4,
- Heap = 5,
- SharedMemory = 6,
- ModCodeStatic = 8,
- ModCodeMutable = 9,
- IpcBuffer0 = 10,
- MappedMemory = 11,
- ThreadLocal = 12,
- TransferMemoryIsolated = 13,
- TransferMemory = 14,
- ProcessMemory = 15,
- Reserved = 16,
- IpcBuffer1 = 17,
- IpcBuffer3 = 18,
- KernelStack = 19
- }
-} \ No newline at end of file
diff --git a/Ryujinx.HLE/OsHle/Services/Nv/NvHostChannel/NvChannelName.cs b/Ryujinx.HLE/OsHle/Services/Nv/NvHostChannel/NvChannelName.cs
deleted file mode 100644
index a46a6d98..00000000
--- a/Ryujinx.HLE/OsHle/Services/Nv/NvHostChannel/NvChannelName.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace Ryujinx.HLE.OsHle.Services.Nv.NvHostChannel
-{
- enum NvChannelName
- {
- Gpu
- }
-} \ No newline at end of file
diff --git a/Ryujinx.HLE/Switch.cs b/Ryujinx.HLE/Switch.cs
index 165922e9..03dc44e8 100644
--- a/Ryujinx.HLE/Switch.cs
+++ b/Ryujinx.HLE/Switch.cs
@@ -1,10 +1,10 @@
using Ryujinx.Audio;
using Ryujinx.Graphics.Gal;
using Ryujinx.HLE.Gpu;
+using Ryujinx.HLE.HOS;
using Ryujinx.HLE.Input;
using Ryujinx.HLE.Logging;
using Ryujinx.HLE.Memory;
-using Ryujinx.HLE.OsHle;
using System;
namespace Ryujinx.HLE
@@ -19,16 +19,14 @@ namespace Ryujinx.HLE
internal NvGpu Gpu { get; private set; }
- internal VirtualFileSystem VFs { get; private set; }
+ internal VirtualFileSystem FileSystem { get; private set; }
- public Horizon Os { get; private set; }
+ public Horizon System { get; private set; }
public PerformanceStatistics Statistics { get; private set; }
public Hid Hid { get; private set; }
- public event EventHandler Finish;
-
public Switch(IGalRenderer Renderer, IAalOutput AudioOut)
{
if (Renderer == null)
@@ -49,23 +47,23 @@ namespace Ryujinx.HLE
Gpu = new NvGpu(Renderer);
- VFs = new VirtualFileSystem();
+ FileSystem = new VirtualFileSystem();
- Os = new Horizon(this);
+ System = new Horizon(this);
Statistics = new PerformanceStatistics();
- Hid = new Hid(this, Os.HidSharedMem.PA);
+ Hid = new Hid(this, System.HidSharedMem.PA);
}
public void LoadCart(string ExeFsDir, string RomFsFile = null)
{
- Os.LoadCart(ExeFsDir, RomFsFile);
+ System.LoadCart(ExeFsDir, RomFsFile);
}
public void LoadProgram(string FileName)
{
- Os.LoadProgram(FileName);
+ System.LoadProgram(FileName);
}
public bool WaitFifo()
@@ -78,10 +76,11 @@ namespace Ryujinx.HLE
Gpu.Fifo.DispatchCalls();
}
- public virtual void OnFinish(EventArgs e)
+ internal void Unload()
{
- Os.Dispose();
- Finish?.Invoke(this, e);
+ FileSystem.Dispose();
+
+ Memory.Dispose();
}
public void Dispose()
@@ -93,8 +92,7 @@ namespace Ryujinx.HLE
{
if (Disposing)
{
- Os.Dispose();
- VFs.Dispose();
+ System.Dispose();
}
}
}
diff --git a/Ryujinx.HLE/OsHle/Utilities/EndianSwap.cs b/Ryujinx.HLE/Utilities/EndianSwap.cs
index 46a2edcb..d773516d 100644
--- a/Ryujinx.HLE/OsHle/Utilities/EndianSwap.cs
+++ b/Ryujinx.HLE/Utilities/EndianSwap.cs
@@ -1,9 +1,9 @@
-namespace Ryujinx.HLE.OsHle.Utilities
+namespace Ryujinx.HLE.Utilities
{
static class EndianSwap
{
public static short Swap16(short Value) => (short)(((Value >> 8) & 0xff) | (Value << 8));
-
+
public static int Swap32(int Value)
{
uint UintVal = (uint)Value;
diff --git a/Ryujinx.HLE/OsHle/Utilities/IntUtils.cs b/Ryujinx.HLE/Utilities/IntUtils.cs
index 010dbb20..57e9d396 100644
--- a/Ryujinx.HLE/OsHle/Utilities/IntUtils.cs
+++ b/Ryujinx.HLE/Utilities/IntUtils.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.HLE.OsHle.Utilities
+namespace Ryujinx.HLE.Utilities
{
static class IntUtils
{
diff --git a/Ryujinx.HLE/OsHle/Utilities/StringUtils.cs b/Ryujinx.HLE/Utilities/StringUtils.cs
index 90f34695..e8d6550a 100644
--- a/Ryujinx.HLE/OsHle/Utilities/StringUtils.cs
+++ b/Ryujinx.HLE/Utilities/StringUtils.cs
@@ -3,7 +3,7 @@ using System.Globalization;
using System.Linq;
using System.Text;
-namespace Ryujinx.HLE.OsHle.Utilities
+namespace Ryujinx.HLE.Utilities
{
static class StringUtils
{
diff --git a/Ryujinx.HLE/OsHle/Utilities/StructReader.cs b/Ryujinx.HLE/Utilities/StructReader.cs
index e218288b..6e942a9b 100644
--- a/Ryujinx.HLE/OsHle/Utilities/StructReader.cs
+++ b/Ryujinx.HLE/Utilities/StructReader.cs
@@ -1,7 +1,7 @@
using ChocolArm64.Memory;
using System.Runtime.InteropServices;
-namespace Ryujinx.HLE.OsHle.Utilities
+namespace Ryujinx.HLE.Utilities
{
class StructReader
{
diff --git a/Ryujinx.HLE/OsHle/Utilities/StructWriter.cs b/Ryujinx.HLE/Utilities/StructWriter.cs
index 7daa95fb..8b88105c 100644
--- a/Ryujinx.HLE/OsHle/Utilities/StructWriter.cs
+++ b/Ryujinx.HLE/Utilities/StructWriter.cs
@@ -1,7 +1,7 @@
using ChocolArm64.Memory;
using System.Runtime.InteropServices;
-namespace Ryujinx.HLE.OsHle.Utilities
+namespace Ryujinx.HLE.Utilities
{
class StructWriter
{
diff --git a/Ryujinx/Config.cs b/Ryujinx/Config.cs
index ec0f05b7..2c02c50f 100644
--- a/Ryujinx/Config.cs
+++ b/Ryujinx/Config.cs
@@ -31,7 +31,7 @@ namespace Ryujinx
Device.Log.SetEnable(LogLevel.Warning, Convert.ToBoolean(Parser.Value("Logging_Enable_Warn")));
Device.Log.SetEnable(LogLevel.Error, Convert.ToBoolean(Parser.Value("Logging_Enable_Error")));
- Device.Os.SystemState.DockedMode = Convert.ToBoolean(Parser.Value("Docked_Mode"));
+ Device.System.State.DockedMode = Convert.ToBoolean(Parser.Value("Docked_Mode"));
string[] FilteredLogClasses = Parser.Value("Logging_Filtered_Classes").Split(',', StringSplitOptions.RemoveEmptyEntries);
diff --git a/Ryujinx/Ui/GLScreen.cs b/Ryujinx/Ui/GLScreen.cs
index dfc0b9a4..2c683f5e 100644
--- a/Ryujinx/Ui/GLScreen.cs
+++ b/Ryujinx/Ui/GLScreen.cs
@@ -4,7 +4,6 @@ using OpenTK.Input;
using Ryujinx.Graphics.Gal;
using Ryujinx.HLE;
using Ryujinx.HLE.Input;
-using Ryujinx.UI.Input;
using System;
using System.Threading;
@@ -19,7 +18,7 @@ namespace Ryujinx
private const int TargetFPS = 60;
- private Switch Ns;
+ private Switch Device;
private IGalRenderer Renderer;
@@ -35,13 +34,13 @@ namespace Ryujinx
private string NewTitle;
- public GLScreen(Switch Ns, IGalRenderer Renderer)
+ public GLScreen(Switch Device, IGalRenderer Renderer)
: base(1280, 720,
new GraphicsMode(), "Ryujinx", 0,
DisplayDevice.Default, 3, 3,
GraphicsContextFlags.ForwardCompatible)
{
- this.Ns = Ns;
+ this.Device = Device;
this.Renderer = Renderer;
Location = new Point(
@@ -63,9 +62,9 @@ namespace Ryujinx
while (Exists && !IsExiting)
{
- if (Ns.WaitFifo())
+ if (Device.WaitFifo())
{
- Ns.ProcessFrame();
+ Device.ProcessFrame();
}
Renderer.RunActions();
@@ -152,7 +151,7 @@ namespace Ryujinx
//Controller Input
CurrentButton |= Config.JoyConController.GetButtons();
-
+
//Keyboard has priority stick-wise
if (LeftJoystickDX == 0 && LeftJoystickDY == 0)
{
@@ -163,7 +162,7 @@ namespace Ryujinx
{
(RightJoystickDX, RightJoystickDY) = Config.JoyConController.GetRightStick();
}
-
+
LeftJoystick = new HidJoystickPosition
{
DX = LeftJoystickDX,
@@ -226,23 +225,23 @@ namespace Ryujinx
HasTouch = true;
- Ns.Hid.SetTouchPoints(CurrentPoint);
+ Device.Hid.SetTouchPoints(CurrentPoint);
}
}
if (!HasTouch)
{
- Ns.Hid.SetTouchPoints();
+ Device.Hid.SetTouchPoints();
}
- Ns.Hid.SetJoyconButton(
+ Device.Hid.SetJoyconButton(
HidControllerId.CONTROLLER_HANDHELD,
HidControllerLayouts.Handheld_Joined,
CurrentButton,
LeftJoystick,
RightJoystick);
- Ns.Hid.SetJoyconButton(
+ Device.Hid.SetJoyconButton(
HidControllerId.CONTROLLER_HANDHELD,
HidControllerLayouts.Main,
CurrentButton,
@@ -254,10 +253,10 @@ namespace Ryujinx
{
Renderer.FrameBuffer.Render();
- Ns.Statistics.RecordSystemFrameTime();
+ Device.Statistics.RecordSystemFrameTime();
- double HostFps = Ns.Statistics.GetSystemFrameRate();
- double GameFps = Ns.Statistics.GetGameFrameRate();
+ double HostFps = Device.Statistics.GetSystemFrameRate();
+ double GameFps = Device.Statistics.GetGameFrameRate();
NewTitle = $"Ryujinx | Host FPS: {HostFps:0.0} | Game FPS: {GameFps:0.0}";
@@ -265,7 +264,7 @@ namespace Ryujinx
SwapBuffers();
- Ns.Os.SignalVsync();
+ Device.System.SignalVsync();
}
protected override void OnUnload(EventArgs e)
diff --git a/Ryujinx/Ui/Program.cs b/Ryujinx/Ui/Program.cs
index a0de2e9f..7acf73a5 100644
--- a/Ryujinx/Ui/Program.cs
+++ b/Ryujinx/Ui/Program.cs
@@ -18,11 +18,11 @@ namespace Ryujinx
IAalOutput AudioOut = new OpenALAudioOut();
- Switch Ns = new Switch(Renderer, AudioOut);
+ Switch Device = new Switch(Renderer, AudioOut);
- Config.Read(Ns);
+ Config.Read(Device);
- Ns.Log.Updated += ConsoleLog.PrintLog;
+ Device.Log.Updated += ConsoleLog.PrintLog;
if (args.Length == 1)
{
@@ -39,20 +39,20 @@ namespace Ryujinx
{
Console.WriteLine("Loading as cart with RomFS.");
- Ns.LoadCart(args[0], RomFsFiles[0]);
+ Device.LoadCart(args[0], RomFsFiles[0]);
}
else
{
Console.WriteLine("Loading as cart WITHOUT RomFS.");
- Ns.LoadCart(args[0]);
+ Device.LoadCart(args[0]);
}
}
else if (File.Exists(args[0]))
{
Console.WriteLine("Loading as homebrew.");
- Ns.LoadProgram(args[0]);
+ Device.LoadProgram(args[0]);
}
}
else
@@ -60,18 +60,14 @@ namespace Ryujinx
Console.WriteLine("Please specify the folder with the NSOs/IStorage or a NSO/NRO.");
}
- using (GLScreen Screen = new GLScreen(Ns, Renderer))
+ using (GLScreen Screen = new GLScreen(Device, Renderer))
{
- Ns.Finish += (Sender, Args) =>
- {
- Screen.Exit();
- };
-
Screen.MainLoop();
- Ns.OnFinish(EventArgs.Empty);
+
+ Device.Dispose();
}
- Environment.Exit(0);
+ AudioOut.Dispose();
}
}
}