Commit Graph

153 Commits

Author SHA1 Message Date
Ac_K
4e24866b47
Update IAudioController.cs 2018-04-23 05:02:30 +02:00
gdkchan
db0aa54233 Print guest stack trace on a few points that can throw exceptions 2018-04-22 02:48:17 -03:00
gdkchan
bd9b1e2c6b Stub a few services, add support for generating call stacks on the CPU 2018-04-22 01:22:46 -03:00
Ac_K
4906acdde9 Some implementations (#99)
* Some implementations

- ICommonStateGetter
* GetBootMode
- ISelfController
* SetHandlesRequestToDisplay
- IServiceGetterInterface
- ISystemUpdateInterface
- IVulnerabilityManagerInterface
- IPrepoService
- ISettingsServer
* GetLanguageCode
- ISystemSettingsServer
* GetFirmwareVersion2
- IHOSBinderDriver
* TransactParcelAuto

* Fix Implementations

* Fix Implementations 2
2018-04-21 20:04:43 -03:00
Ac_K
434e40b8a0 Update am service (#98)
* am services implementations

Implement:
- IAllSystemAppletProxiesService
- IApplicationCreator
- IGlobalStateController
- IHomeMenuFunctions
  * RequestToGetForeground stub.
  * GetPopFromGeneralChannelEvent stub event.
- ISystemAppletProxy
  * GetCommonStateGetter
  * GetSelfController
  * GetWindowController
  * GetAudioController
  * GetDisplayController
  * GetLibraryAppletCreator
  * GetHomeMenuFunctions
  * GetGlobalStateController
  * GetApplicationCreator
  * GetDebugFunctions

* Update ServiceFactory.cs

* Update IHomeMenuFunctions.cs

* Update IHomeMenuFunctions.cs

* Update ServiceFactory.cs
2018-04-21 16:30:06 -03:00
gdkchan
90279d96ea
Implement the synchronization primitives like the Horizon kernel does (#97)
* Started to work in improving the sync primitives

* Some fixes

* Check that the mutex address matches before waking a waiting thread

* Add MutexOwner field to keep track of the thread owning the mutex, update wait list when priority changes, other tweaks

* Add new priority information to the log

* SvcSetThreadPriority should update just the WantedPriority
2018-04-21 16:07:16 -03:00
emmauss
267ea14cb5 fix typo in log (#93) 2018-04-20 12:40:33 -03:00
gdkchan
03002f6537 Add SvcSetThreadActivity, tweak SignalProcessWideKey, add fmul32i shader instructions and other small fixes 2018-04-19 16:18:30 -03:00
gdkchan
33ae6e544b [HLE/Kernel] Fix SetThreadPriority, allow nano seconds values > int.MaxValue, fix on WaitProcessWideKeyAtomic (althrough looks like it still doesn't work properly 2018-04-19 04:06:23 -03:00
gdkchan
62b2124c03 [HLE/Kernel] Dispose the thread wait even on exit 2018-04-19 01:01:46 -03:00
gdkchan
6e69cd9284 Fix bad merge, and a few other fixes 2018-04-19 00:19:22 -03:00
gdkchan
ac80e7d3f9 [HLE/Kernel] Yield when cond var is signaled 2018-04-19 00:00:29 -03:00
gdkchan
b9af34f3dd [HLE/Kernel] Somewhat improved sync primitives 2018-04-18 23:52:36 -03:00
Ac_K
7450b9d68a Update IAudioDeviceService.cs (#87)
* Update IAudioDeviceService.cs

Stubs:
- QueryAudioDeviceSystemEvent
- GetActiveChannelCount

* Update IAudioDeviceService.cs

* Update IAudioDeviceService.cs
2018-04-17 22:52:20 -03:00
Ac_K
ee6794e397 Update IAudioController.cs (#86)
* Update IAudioController.cs

Stubs:
- SetExpectedMasterVolume
- GetMainAppletExpectedMasterVolume
- GetLibraryAppletExpectedMasterVolume
- ChangeMainAppletMasterVolume
- SetTransparentVolumeRate

* Update IAudioController.cs
2018-04-17 22:39:27 -03:00
Ac_K
917fb7ad21 Update IAccountServiceForApplication.cs (#85)
Stubs:
- GetUserCount (`Write(0);` throw userland error)
2018-04-17 13:41:14 -03:00
Ac_K
ed155e6f4e Update IHidServer.cs (#84)
* Update IHidServer.cs

Stubs:
- SetGyroscopeZeroDriftMode
- SetNpadHandheldActivationMode
- SendVibrationValue
- GetPlayerLedPattern

* Update IHidServer.cs

updated
2018-04-17 13:40:22 -03:00
emmauss
b334aab435 Add special log for stubs (#81)
* add stub loglevel

* add log for stubbed methods
2018-04-16 21:24:42 -03:00
gdkchan
42ebfdff7f [GPU] Fix frame buffer being upside down in some cases 2018-04-14 00:39:24 -03:00
emmauss
bbcad307bd Add logclass, made changes to logging calls (#79)
* add logclass, made changes to logging calls

* made enum parsing case insensitive

* enable logclass on partial or complete match
2018-04-13 22:02:24 -03:00
gdkchan
435f9ffad8 [HLE] Fix hid issues on some games 2018-04-13 17:39:45 -03:00
gdkchan
c8c86a3854
Fix for current framebuffer issues (#78)
[GPU] Fix some of the current framebuffer issues
2018-04-13 15:12:58 -03:00
gdkchan
46548bbc41 [HLE/Service] Fix ToCalendarTimeWithMyRule (for real this time) 2018-04-10 21:18:20 -03:00
gdkchan
29a4fb6a57 [HLE/Service] Fix ToCalendarTimeWithMyRule 2018-04-10 21:16:27 -03:00
gdkchan
cb29b4303c [CPU] Fix CNT instruction 2018-04-10 20:58:32 -03:00
gdkchan
7b2f471d4f [GPU] Add support for the BC4/5 texture formats 2018-04-10 18:54:50 -03:00
gdkchan
ecf02f525f Remove line numbers from log 2018-04-08 17:38:27 -03:00
emmauss
b2668e659c log calling method in logs (#71) 2018-04-08 17:30:50 -03:00
gdkchan
b9aa3966c0 Merge shader branch, adding support for GLSL decompilation, a macro
interpreter, and a rewrite of the GPU code.
2018-04-08 16:41:38 -03:00
gdkchan
b27944c0b5 Bump the maximum number of threads 2018-04-06 10:53:18 -03:00
gdkchan
a7ecf6dd2d Show service short name for unimplemented commands 2018-04-06 02:38:59 -03:00
gdkchan
2fd718c163 Fix typo 2018-04-06 01:07:51 -03:00
gdkchan
dcf0f0be38 Fix possible regression on bsd 2018-04-06 01:06:34 -03:00
gdkchan
69e32e5bbc Rename services with the official interface names 2018-04-06 01:01:52 -03:00
gdkchan
4c19c908e5 Color* should be an array in NvGpuIoctlZbcSetTable 2018-04-05 10:23:52 -03:00
Starlet
1f013df7ed [ServiceNvDrv] Add 0x4703 ([/dev/nvhost-ctrl-gpu] NvGpuIoctlZbcSetTable) (#70)
[ServiceNvDrv] Add 0x4703 ([/dev/nvhost-ctrl-gpu] NvGpuIoctlZbcSetTable)
2018-04-05 10:18:13 -03:00
gdkchan
9754836c1b Fix GetAvailableLanguageCodes, stub ListAddOnContent and NvGpuAsIoctlRemap (0x4114) 2018-04-04 21:01:36 -03:00
gdkchan
2d33756878 Stub ActivateKeyboard on Hid 2018-04-04 19:44:02 -03:00
gdkchan
c8b6274456 Stub ActivateMouse on Hid 2018-04-04 19:39:47 -03:00
gdkchan
a3d6baab91 Remove useless spacing 2018-04-04 19:29:34 -03:00
emmauss
836a003c8e stubs (#69) 2018-04-04 19:16:59 -03:00
gdkchan
e0c3d9c8df Fix SvcGetThreadId 2018-04-04 16:07:44 -03:00
Ezekiel Bethel
f48f5e3f5b SVC: Add GetInfo type 20 (added in 5.0.0) to the list of explicitly unimplemented types. (#68) 2018-03-30 12:27:48 -03:00
emmauss
0d2f073152 implement isession:getperformanceconfiguration (#64) 2018-03-23 09:26:11 -03:00
emmauss
423ae5d889 handle vi:u and vi:s getdisplayservice (#66) 2018-03-23 07:44:27 -03:00
emmauss
33ad3982aa added set: getavailablelanguagecount (#65) 2018-03-23 07:42:34 -03:00
emmauss
3c82c8de8c rename some services (#63) 2018-03-21 20:30:10 -03:00
emmauss
e2a80ba29e rename some calls to current names (#61) 2018-03-21 13:28:12 -03:00
gdkchan
d4a3e8267b Allow enabling/disabling memory checks on config file 2018-03-20 18:42:13 -03:00
gdkchan
e922c3627a Rename IpcServices -> Services 2018-03-20 17:00:00 -03:00
gdkchan
1bd99e5597 Support different framebuffer offsets (fixes #59) 2018-03-20 12:18:25 -03:00
gdkchan
4314a8f3e5
[WIP] Add support for events (#60)
* Add support for events, move concept of domains to IpcService

* Support waiting for KThread, remove some test code, other tweaks

* Use move handle on NIFM since I can't test that now, it's better to leave it how it was
2018-03-19 15:58:46 -03:00
gdkchan
4940cf0ea5 Add BFI instruction, even more audout fixes 2018-03-16 00:42:44 -03:00
gdkchan
79a5939734
Improvements to audout (#58)
* Some audout refactoring and improvements

* More audio improvements

* Change ReadAsciiString to use long for the Size, avoids some casting
2018-03-15 21:06:24 -03:00
gdkchan
19564e570b Stub StartSixAxisSensor 2018-03-13 21:26:14 -03:00
gdkchan
2ed24af756 Add pl:u stub, use higher precision on CNTPCT_EL0 register tick count 2018-03-13 21:24:32 -03:00
emmauss
4d90d60119 stub some hid service functions (#57) 2018-03-13 18:59:17 -03:00
gdkchan
6f4282daf8 IAudioDeviceService -> IAudioDevice 2018-03-12 16:31:09 -03:00
gdkchan
d88b5c7621 Fix GetAudioRenderersProcessMasterVolume which was totally wrong 2018-03-12 16:29:06 -03:00
gdkchan
e32f27158f Stub GetAudioRenderersProcessMasterVolume and avoid blowing up the stack inside HDomains Dispose method 2018-03-12 02:07:48 -03:00
gdkchan
8cb23c133b Add bsd:s service variant again 2018-03-12 01:15:39 -03:00
gdkchan
7a27990faa Allow more than one process, free resources on process dispose, implement SvcExitThread 2018-03-12 01:14:12 -03:00
Ac_K
3aaa4717b6 Implement BSD Service (#54)
* Implement BSD Service

- Implementation of bsd:s & bsd:u.
- Adding an EndianSwap class.

* Corrections #1

* Correction2
2018-03-11 22:05:39 -03:00
gdkchan
28275a8976 Do not sign-extend timestamps 2018-03-10 20:51:55 -03:00
gdkchan
3777fb44cf Allow to enable/disable memory checks even on release mode through the flag, return error for invalid addresses on SvcMap*Memory svcs, do not return error on SvcQueryMemory (instead, return reserved for the end of the address space), other minor tweaks 2018-03-10 20:39:16 -03:00
gdkchan
5912bd2beb Disable memory checks by default, even on debug, move ram memory allocation inside the CPU, since the size if fixed anyway, better heap region size 2018-03-09 23:12:57 -03:00
gdkchan
4f177c9ee7 More Vi/NvFlinger/NvDrv stubs, allow paths starting with //, do not allow paths that don't start with at least a /, increase map region size 2018-03-06 17:28:03 -03:00
emmauss
4038e63de1 Implement basic performance statistics (#53)
* implement basic frame time stats

* added game frame time

* made performancestatictics class non-static

* report average framerate instead of current framerate
2018-03-06 17:18:49 -03:00
emmauss
39ed14a3d6 stub IApplicationDisplayService:CloseDisplay (#52) 2018-03-06 10:25:26 -03:00
gdkchan
2d9edddf8c Remove QueryMemory workaround 2018-03-05 16:20:30 -03:00
gdkchan
59d1b2ad83 Add MUL (vector by element), fix FCVTN, make svcs use MakeError too 2018-03-05 16:18:37 -03:00
gdkchan
0e343a748d Add FCVTL and FCVTN instruction (no Half support yet), stub SvcClearEvent 2018-03-05 12:58:56 -03:00
gdkchan
73cc30cc80 Allow multiple hid shared memory locations 2018-03-05 02:09:52 -03:00
gdkchan
344fc8a55d Try fixing NvFlinger rotation with scaling, return correct error code on WaitSignal timeout, always display window at the center of the screen 2018-03-04 20:32:18 -03:00
gdkchan
3edb66f389
Improve CPU initial translation speeds (#50)
* Add background translation to the CPU

* Do not use a separate thread for translation, implement 2 tiers translation

* Remove unnecessary usings

* Lower MinCallCountForReJit

* Remove unused variable
2018-03-04 14:09:59 -03:00
gdkchan
ee9df32e3e Do not block execution on audout append buffer 2018-03-04 01:41:35 -03:00
gdkchan
479443564c Remove unneeded log messages 2018-03-04 00:09:16 -03:00
gdkchan
8dcffe6a51 Fix hid touch screen timestamp, add more log info 2018-03-04 00:06:44 -03:00
gdkchan
7d48886750 Fix Rename* functions on FspSrv, add a separate class do hold system settings on Switch 2018-03-03 14:04:58 -03:00
gdkchan
646af2498c Fix paths using ascii instead of utf8 on IFileSystem 2018-03-03 02:24:04 -03:00
gdkchan
c14c69a10c
Refactor HID, fix issues (#48)
* Refactor HID, fix issues

* Fix on touch screen code with wrong offset

* Don't use magic values

* Replace more magic values with actual variables, fix touch screen coordinates on different window sizes
2018-03-02 22:49:17 -03:00
Ac_K
1d71e33171 Update IAudioOut.cs (#51)
Little improvements, sound looks a little better...
2018-03-02 01:06:05 -03:00
emmauss
65e04e9854 stub set_sys (#49) 2018-03-01 17:23:55 -03:00
gdkchan
5d8a615c21 Enable hardware frame buffer texture scaling 2018-02-28 23:37:40 -03:00
gdkchan
eacd432387 Fix wrong rotation direction on nvflinger 2018-02-28 19:21:04 -03:00
Ac_K
424e045940 More stubs (#47)
* Stubs implementations

Services Bsd, Nifm & SSL stubs implementations
Objects IGeneralService, IRequest stubs implementations.
Fake-Fix GetAvailableLanguageCodes stub too ^^!

* More stubs

- Fix SvcGetInfo loops by gdkchan.
- Implement stub for Sfdnsres service.
- Add more stubs for Bsd service.

* Update ServiceSfdnsres.cs
2018-02-28 17:58:04 -03:00
Ac_K
7f0bee2ff8 Stubs implementations (#45)
Services Bsd, Nifm & SSL stubs implementations
Objects IGeneralService, IRequest stubs implementations.
Fake-Fix GetAvailableLanguageCodes stub too ^^!
2018-02-28 00:31:52 -03:00
gdkchan
f876bd2a80 Change SvcGetInfo 5 to return actual heap size, remove AMemoryAlloc since it is no longer needed with direct memory access, move some memory management logic out of AMemoryMgr, change default virtual filesystem path to AppData 2018-02-27 20:45:07 -03:00
gdkchan
f6dc86c6a0 Implement SvcSetMemoryAttribute 2018-02-25 22:53:01 -03:00
gdkchan
13214ffa43 Fix regression introduced on last commit with wrong ImageEnd 2018-02-25 22:44:30 -03:00
gdkchan
950011c90f Added initial support for function names from symbol table on the cpu with tracing, fix wrong ImageEnd on executables with MOD0, fix issue on the CPU on input elimination for instruction with more than one register store 2018-02-25 22:14:58 -03:00
Ac_K
e174100474 Implement many objects, improve logging. (#42)
* Implement many objects, improve logging.

Change and rename folders of Services
Add Logging of IpcMessage.
Add "lm" Log Service.
Parse Errors of SetTerminateResult
Add Svc Calls.
Add many object implementations.

* Corrections

Forgotten Debug Conf

* Corrections 2

* Corrections 3

* Corrections 4
2018-02-25 15:58:16 -03:00
gdkchan
fba0bf8732 Refactor IPC services to have commands into separate classes, fix readme url 2018-02-25 01:34:27 -03:00
Ac_K
e90a0f0e33 Update SvcSystem.cs (#40)
* Update SvcSystem.cs

Implement SvcGetInfo 0

* Update SvcSystem.cs
2018-02-24 20:09:10 -03:00
Ac_K
8fa26a18c5 Update IpcMessage.cs (#38)
Temporary Fix by Misson20000
2018-02-24 20:08:54 -03:00
Ac_K
c9f54aabfb Update IpcHandler.cs (#39)
Temporary Fix by Misson20000
2018-02-24 20:08:29 -03:00
gdkchan
035efc913e Fix cpu issue with cmp optimization, add HINT and FRINTX (scalar) instructions, fix for NvFlinger sometimes missing free buffers 2018-02-24 11:19:28 -03:00
gdkchan
3936c93448 Map heap on heap base region, fix for thread start on homebrew, add FCVTMU and FCVTPU (general) instructions, fix FMOV (higher 64 bits) encodings, improve emit code for FCVT* (general) instructions 2018-02-23 21:59:38 -03:00
gdkchan
2ed733b1d5 Somewhat better NvFlinger (I guess) (fixes #30) 2018-02-23 18:48:27 -03:00
emmauss
1b33e2f1d4 implement single tap touchscreen (#34) 2018-02-22 10:28:27 -03:00