Commit graph

55 commits

Author SHA1 Message Date
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