Commit Graph
100 Commits
Author SHA1 Message Date
wheremyfoodat 979519f785 [PICA interpreter] Implement RSQ, MAD, CALLU and boot SM64 2022-09-26 01:05:03 +03:00
wheremyfoodat f4fabdae40 [PICA interpreter] Implement min 2022-09-26 00:07:59 +03:00
wheremyfoodat 71814debac [PICA interpreter] Implement ifc, cmp 2022-09-25 23:59:09 +03:00
wheremyfoodat cd2da6d50f [PICA] Implement dp3 2022-09-25 18:41:32 +03:00
wheremyfoodat 3706c7ee0c [PICA] Implement loops 2022-09-25 18:34:36 +03:00
wheremyfoodat a5c6fb858f [PICA] Implement int uniforms 2022-09-25 17:45:59 +03:00
wheremyfoodat 4cda023c22 Fix warnings 2022-09-25 17:19:21 +03:00
wheremyfoodat 9eb661c768 [PICA] Implement address registers 2022-09-25 16:12:35 +03:00
wheremyfoodat 63ff2ac0de [PICA interpreter] Implement mova 2022-09-25 15:35:28 +03:00
wheremyfoodat 0aaf1c317d [APT] Implement new 3DS check, [OS] Fix mem allog bug & impl more of HID 2022-09-25 03:35:40 +03:00
wheremyfoodat c4cb20f846 [Kernel/Memory] Implement datetime a bit more nicely 2022-09-24 04:40:43 +03:00
wheremyfoodat 4da023c236 [Kernel/Memory] Implement DATETIME0 2022-09-24 03:57:21 +03:00
wheremyfoodat 61212c9341 [PICA] Implement mul 2022-09-24 03:11:36 +03:00
wheremyfoodat f22d389591 [PICA] Implement add 2022-09-24 03:05:59 +03:00
wheremyfoodat 4868eebcd2 [PICA] Short attributes 2022-09-24 02:58:16 +03:00
wheremyfoodat be4fae5104 Trongle 2022-09-24 02:45:57 +03:00
wheremyfoodat 75070ca6ef [PICA interpreter] Implement dp4, end 2022-09-23 15:49:56 +03:00
wheremyfoodat ce07b7e5e0 [PICA] We can now upload floating point uniforms for real 2022-09-23 14:31:26 +03:00
wheremyfoodat 92b7ca3b8c [PICA] We can now upload floating point uniforms 2022-09-23 14:15:04 +03:00
wheremyfoodat a7bde80658 [PICA] There's 96 float uniforms, not 8 2022-09-23 04:15:28 +03:00
wheremyfoodat 9d48541e98 [PICA interpreter] Implement mov 2022-09-23 04:08:23 +03:00
wheremyfoodat 057aa57422 [PICA] Start implementing shader interpreter 2022-09-23 02:43:51 +03:00
wheremyfoodat 4b3c7955dd [PICA] Fixed vertex attribute uploads 2022-09-23 02:19:23 +03:00
wheremyfoodat a86796936f [PICA] We can now parse non-fixed attributes 2022-09-23 01:38:56 +03:00
wheremyfoodat 8770e6dc41 [PICA] Why is attribute fetching so hard 2022-09-23 00:55:16 +03:00
wheremyfoodat 39bfeda586 [PICA] More progress on attribute parsing 2022-09-22 19:17:19 +03:00
wheremyfoodat 434c840aeb [PICA] Get vertex attributes being semi-properly read 2022-09-22 16:48:43 +03:00
wheremyfoodat 1bbd377ee7 [PICA/Kernel] Fix linear heap allocation to make GPU cmd lists work 2022-09-22 16:37:31 +03:00
wheremyfoodat 93e5c268e8 [PICA] We now know how to convert attributes to f32 2022-09-22 05:08:01 +03:00
wheremyfoodat dcad7846eb [PICA] Add header for float types 2022-09-22 04:46:13 +03:00
wheremyfoodat 00d82ca6ed [PICA] Implement drawArrays, get our first triangle data 2022-09-22 04:03:55 +03:00
wheremyfoodat eb536ee147 Fiix std::filesystem::path being bad 2022-09-22 03:46:45 +03:00
wheremyfoodat 5993dc4759 [PICA] Shader uploads 2022-09-22 03:46:19 +03:00
wheremyfoodat 36a30da78d [NDM] Stub NDM service 2022-09-22 00:33:54 +03:00
wheremyfoodat aef1520f17 [Kernel] Implement GetThreadID, stub DuplicateHandle 2022-09-22 00:02:50 +03:00
wheremyfoodat 0b2e22ca6d [Memory] Implement APPMEMALLOC 2022-09-21 22:49:22 +03:00
wheremyfoodat db48d08c34 [Kernel, Memory] Add GetProcessInfo, fix memory management bugs 2022-09-21 22:43:43 +03:00
wheremyfoodat 71ca62e2cc [GPU] Get PICA register access working 2022-09-21 19:10:53 +03:00
wheremyfoodat 09000da701 [GPU/GSP] Get our first command list 2022-09-21 03:45:33 +03:00
wheremyfoodat 8692e7fc6b [GPU] Start implementing commands 2022-09-21 03:15:43 +03:00
wheremyfoodat fef585ebb3 [GSP::GPU] Add forgotten error codes 2022-09-21 01:01:02 +03:00
wheremyfoodat 1c8a9e8b56 [GSP::GPU] Stub FlushDataCache 2022-09-21 00:59:38 +03:00
wheremyfoodat cbefe3c2d0 [Kernel] Implement GetSystemTick 2022-09-21 00:48:51 +03:00
wheremyfoodat 5bcdf4d063 [Memory] Add read16 (how did I never notice this was missing?) 2022-09-21 00:33:32 +03:00
wheremyfoodat 2088b59f10 [GPU::GSP] Send VBlank1 alongside VBlank0 2022-09-21 00:33:05 +03:00
wheremyfoodat 994cb875c1 [GSP::GPU] Implement SetLCDForceBlack 2022-09-20 23:56:17 +03:00
wheremyfoodat 3ccba6db40 [GSP::GPU] We can now request interrupts 2022-09-20 23:22:35 +03:00
wheremyfoodat 194761ca54 [Kernel] Fix IPC on non-main threads 2022-09-20 19:23:16 +03:00
wheremyfoodat d3a2591d19 [Kernel] Implement ClearEvent, stub WaitSynchronization1 2022-09-20 19:02:52 +03:00
wheremyfoodat 6bfe321777 [Kernel] Allocate TLS for other threads, fix CreateThread svc 2022-09-20 17:51:24 +03:00
wheremyfoodat 77078f73b3 [Kernel] Fix ArbitrateAddress 2022-09-20 16:50:20 +03:00
wheremyfoodat 919951516a [CPU] Clean up ARM defs 2022-09-20 15:51:05 +03:00
wheremyfoodat 33fc380896 [CPU] Move ARM definitions to arm_defs.hpp file 2022-09-20 15:43:37 +03:00
wheremyfoodat 9b95bd87f1 We can now change threads 2022-09-20 15:30:41 +03:00
wheremyfoodat 1678cd6172 Hacks to let the kernel access the CPU and vice versa (TODO: Fix) 2022-09-20 03:49:53 +03:00
wheremyfoodat 0d9088eddc Add status variable to threads 2022-09-20 03:20:51 +03:00
wheremyfoodat 1ac9417d50 [Kernel] More threading work 2022-09-20 01:50:32 +03:00
wheremyfoodat 11d8a43bd8 [Kernel] More address arbiter stuff 2022-09-20 01:30:45 +03:00
wheremyfoodat 8bfa29568a [Kernel] Start implementing address arbiters 2022-09-20 00:53:39 +03:00
wheremyfoodat f100601caf [Kernel] More cleanup 2022-09-19 23:27:54 +03:00
wheremyfoodat ad07c70772 [Kernel] Cleaning up 2022-09-19 22:19:36 +03:00
wheremyfoodat 1c4348248d [Kernel] CreateThread stub 2022-09-19 16:32:07 +03:00
wheremyfoodat 765b51696e [Kernel] Stub MapMemoryBlock, hopefully touch the memory allocator for the last time in a while 2022-09-19 14:15:24 +03:00
wheremyfoodat 45c016d12e [Kernel] Hopefully implement the QueryMemory svc remotely correctly 2022-09-19 01:33:12 +03:00
wheremyfoodat 6bb2bd67df [GSP::GPU] Implement writeHwRegsWithMask 2022-09-18 23:16:36 +03:00
wheremyfoodat 99e795c141 [GSP::GPU] Implement writeHwRegs 2022-09-18 22:52:24 +03:00
wheremyfoodat a5384095df Fix GSP::GPU::RegisterInterruptRelayQueue and add ResetType defs 2022-09-18 19:08:16 +03:00
wheremyfoodat a91035abf4 Initial impl for createEvent SVC 2022-09-18 18:17:41 +03:00
wheremyfoodat 68698ae7a7 Add GSP::GPU::AcquireRight 2022-09-18 17:30:26 +03:00
wheremyfoodat a56b67f3ba Added GSP services 2022-09-18 16:38:10 +03:00
wheremyfoodat 818ade660d Rename test folder & update gitignore 2022-09-18 15:58:35 +03:00
wheremyfoodat 912405b99e Add triangle test ROM 2022-09-18 05:13:25 +03:00
wheremyfoodat 7dc2b37c5a Add hello world test ROM 2022-09-18 04:54:34 +03:00
wheremyfoodat 36453629d5 Add svcOutputDebugString, booting our first test ROM 2022-09-18 03:55:40 +03:00
wheremyfoodat 91356f1de9 Stub FS service, we now get to main in libctru 2022-09-18 03:09:35 +03:00
wheremyfoodat 083a0d04d7 Make HID::GetIPCHandles fail to skip hidInit 2022-09-18 02:38:22 +03:00
wheremyfoodat 340e0c9266 Add HID service 2022-09-18 02:31:58 +03:00
wheremyfoodat 5bc8c9d671 Make APT::GetLockHandle fail to skip aptInit 2022-09-18 02:18:40 +03:00
wheremyfoodat 6154a360c6 Hopefully we're good to start sending commands to services now 2022-09-18 00:21:32 +03:00
wheremyfoodat 208c18356b Started work on services 2022-09-17 19:51:30 +03:00
wheremyfoodat 3259c5c7a6 Better exclusive write implementation 2022-09-17 15:35:37 +03:00
wheremyfoodat ee74b375e3 Add SendSyncRequest 2022-09-17 04:55:15 +03:00
wheremyfoodat 0e66af8dae Initial implementation of ports and sessions 2022-09-17 04:37:40 +03:00
wheremyfoodat aa643c44bb connectToPort stub, acknowledge configuration memory 2022-09-17 02:02:45 +03:00
wheremyfoodat 8bb494229d Fix LDREX/STREX 2022-09-17 01:31:45 +03:00
wheremyfoodat 93f5ec7bb4 Sort of working OS allocator, except freeing is impossible 2022-09-16 23:36:55 +03:00
wheremyfoodat 2128d5060b Start implementing ControlMemory 2022-09-16 17:34:03 +03:00
wheremyfoodat 6219abd17a Stub CloseHandle 2022-09-16 16:18:12 +03:00
wheremyfoodat 0fbc5f210f Added the rest of the kernel resource functions 2022-09-16 16:05:17 +03:00
wheremyfoodat a89c850189 Lots of kernel work 2022-09-16 03:16:38 +03:00
wheremyfoodat 787397085e Print PC for unimplemented kernel calls 2022-09-15 22:47:22 +03:00
wheremyfoodat d8cf0e2de2 cp15 but better 2022-09-15 22:42:36 +03:00
wheremyfoodat 58fe2bcf18 Add cp15 2022-09-15 22:13:25 +03:00
wheremyfoodat e0204a1eff Bare minimum createAddressArbiter HLE 2022-09-15 18:43:20 +03:00
wheremyfoodat cd168bca56 Fix printing 2022-09-15 17:56:05 +03:00
wheremyfoodat c33d7e5dfb Implement main thread stack 2022-09-15 17:50:14 +03:00
wheremyfoodat 275c6dfd0c Finish ELF loading, running actual code now 2022-09-15 17:35:59 +03:00
wheremyfoodat 51689af51f Update opengl.hpp, start with ELFs 2022-09-15 14:59:44 +03:00
wheremyfoodat 1a8d563041 Adding elfio 2022-09-15 13:46:40 +03:00
wheremyfoodat 905c7ed770 Start adding memory stuff 2022-09-15 13:35:15 +03:00