Commit Graph

395 Commits

Author SHA1 Message Date
bunnei a7cc430aa4 changed "UID" to "Handle" to be a little more consistent with CTR naming 2014-05-15 18:26:28 -04:00
bunnei 367d63691f - added ThreadContext struct
- cleaned up CreateThread svc
2014-05-15 18:25:56 -04:00
bunnei cf2eb8e3d3 added ThreadQueueList class to common (taken from PPSSPP) 2014-05-15 18:19:34 -04:00
bunnei b99a5da65b - added helper function for __KernelCreateThread
- added __KernelSwitchToThread for enabling a thread
- added __KernelRotateThreadReadyQueue
2014-05-14 20:50:30 -04:00
bunnei 9f5588725c changed primary thread priority to 0x30 - this is typical, not 0x31 2014-05-14 20:49:27 -04:00
bunnei 4d7f3c74fd added function stubs for EatCycles and ReSchedule 2014-05-14 20:49:02 -04:00
bunnei 0de78eb3c4 fixed thread reset to not set stack address 2014-05-13 23:18:28 -04:00
bunnei 7d078189da various cleanups / remove unused code 2014-05-13 22:29:31 -04:00
bunnei 3838d46b90 added a bunch of threading code, recycled from PPSSPP, with lots of hacks in for 3DS... doesn't really do much yet. Just a jumping off point 2014-05-13 22:00:11 -04:00
bunnei b87536e82c changed loader to use __KernelLoadExec 2014-05-13 21:58:51 -04:00
bunnei b5ef630c9c added CreateThread, CreateMutex, and ReleaseMutex SVC stubs (just parameter decoding for now) 2014-05-13 21:58:26 -04:00
bunnei 1583d2b6f3 - added __KernelLoadExec function
- fixed some logging
2014-05-13 21:57:12 -04:00
bunnei ce4d271a53 added option to set CPSR register to arm_interface 2014-05-11 22:14:13 -04:00
bunnei 6b264518a5 added initial kernel/thread modules 2014-05-09 22:11:18 -04:00
bunnei daf7a7880a added kernel logger to common 2014-05-09 20:54:51 -04:00
bunnei bdc54d0d48 Merge pull request #15 from bunnei/hle-services
Various fixes/improvements to HLE of 3DS services, mostly cleans up GSP call decoding
2014-05-08 17:16:35 -04:00
bunnei b39cd3a64c removed unknown fields from GX_CmdBufferHeader 2014-05-08 17:12:07 -04:00
bunnei a6b047ec3b removed incorrect dolphin copyright line 2014-05-08 17:11:41 -04:00
Sethpaien e1fcb2fdfb Update FlipFramebuffer
Less calculations + fix
2014-05-08 18:05:30 +02:00
bunnei a713bd1bad fixed include of common in bit_field.h 2014-05-07 21:44:16 -04:00
bunnei 505d984f16 logger fix for linux 2014-05-07 21:34:04 -04:00
bunnei 4de763f462 removed unnecessary log message 2014-05-07 21:19:03 -04:00
bunnei 72622a1b5a - removed HLE mem "hack" and replaced with kernel mem region
- added a helper function for getting command buffer for services
- fixed bug where GSP DMA was incorrectly being done in DataSynchronizationBarrier (instead of gsp_TriggerCmdReqQueue)
2014-05-07 21:04:55 -04:00
bunnei f23e99bb85 added kernel memory to mem_map 2014-05-07 21:01:09 -04:00
bunnei 92bde183dd added GSP to loggers 2014-05-07 20:59:21 -04:00
bunnei e7a0283625 added BitField to common 2014-05-07 18:14:42 -04:00
bunnei de36d82dde - added debug logging to syscall.cpp
- added stubbed HLE syscall functions for svc_GetResourceLimit and svc_GetResourceLimitCurrentValues
2014-05-06 23:34:20 -04:00
bunnei a3a383cb7a added mem_map read for config_mem 2014-05-06 23:32:04 -04:00
bunnei 34dc0a9b07 added config_mem module for HLE of firmware configuration memory settings 2014-05-06 23:29:39 -04:00
bunnei d1472b816f - disable strict alignment on LDRD/STRD
- handle RD in STREX/STREXB
2014-05-06 21:34:00 -04:00
bunnei 9db26df05f - added better SVC logging
- added stubs for GetResourceLimit and GetResourceLimitCurrentValues SVCs
2014-05-06 17:18:20 -04:00
bunnei e3ee3e441b commented out useless debug logs that just spammed console 2014-05-06 17:17:00 -04:00
archshift bd316ca0c0 Fixed indents 2014-05-04 15:47:42 -07:00
archshift 62528320ea Check arg count before attempting to access it. 2014-05-01 20:41:42 -07:00
bunnei f7c6302009 - added CallMCR function to coprocessor HLE module
- moved instruction decoding to coprocessor HLE module
2014-05-01 23:03:50 -04:00
bunnei c1e71ae1ac fixed include in coprocessor.cpp 2014-05-01 19:21:04 -04:00
bunnei f043424915 renamed hle "mrc" module to "coprocessor" 2014-05-01 19:20:44 -04:00
bunnei 4ee72869cc - added some function wrappers for HLE
- added stub for SVC CreateAddressArbiter
- added OutputDebugString SVC
2014-05-01 18:50:36 -04:00
archshift eec40f8f6f Use runtime arguments to specify boot filename. 2014-05-01 15:13:06 -07:00
archshift 7817d6c79a Support for C++11 on OSX 2014-04-30 23:47:38 -07:00
bunnei bb7fcf79fe - added option to load a code.bin file extracted from a CXI file
- updated load launcher.dat function to use ARM11 format hack
2014-04-30 23:50:14 -04:00
bunnei 08fb71108a added symbol map load function to Qt GUI 2014-04-30 23:46:57 -04:00
bunnei 29da6e9ab5 added a module to load symbol map files for debugging 2014-04-30 23:46:06 -04:00
bunnei 924e7b6af8 fixed a bug where ExeFs code was being incorrectly masked 2014-04-30 23:31:04 -04:00
archshift 704075f04a Fixed indents 2014-04-30 20:13:28 -07:00
archshift 948cfe6d37 Reverse debugging changes 2014-04-30 20:00:44 -07:00
archshift dade106aa9 Linux support 2014-04-30 18:44:48 -07:00
archshift fb47258af7 TGA dumps work, courtesy of @bunnei 2014-04-30 18:34:49 -07:00
archshift bdc3c99904 Merge commit upstream/master into issue-7-fix 2014-04-30 18:01:12 -07:00
archshift 3dad4e3b5c Sets OGL version for Qt; will only work with Qt5 2014-04-30 17:10:38 -07:00
archshift c1b770cc0d OpenGL 3+ on OSX with GLFW 2014-04-30 17:00:36 -07:00
archshift a7f3ed003d A bit of Cmake love 2014-04-30 16:56:47 -07:00
bunnei 235dddb3f1 added virtual memory map for ExeFS (where ARM11 code is supposed to be loaded) 2014-04-30 18:31:35 -04:00
bunnei c37390f8e2 reorganized memory regions enum, added regions for ExeFS code 2014-04-30 18:31:24 -04:00
archshift 52377cf0d2 Some more experimentation 2014-04-29 19:27:01 -07:00
archshift 237d079aad Merge commit upstream/master into issue-7-fix 2014-04-28 19:44:43 -07:00
archshift 5a9c2ce5ea IT'S ALIVE! 2014-04-28 19:40:39 -07:00
bunnei d45b14fc66 Merge pull request #5 from cpp3ds/master
Travis CI script
2014-04-28 11:57:12 -04:00
archshift 5749d1eabe Fix complaints about functions that could not be found 2014-04-27 22:25:30 -07:00
archshift 5741f2fb26 Problematic class with no current implementation 2014-04-27 22:24:39 -07:00
archshift b9fc729928 Problematic template functions 2014-04-27 22:23:58 -07:00
archshift 48deb45624 Xcode complains that the class name is redundant. 2014-04-27 22:23:01 -07:00
archshift ff48c8bed3 Rect to BasicRect
Somewhere along the line an OSX header had already taken the name Rect.
2014-04-27 22:21:46 -07:00
bunnei af921daa4c added virtual address conversion for firmware FW0B 2014-04-27 22:32:51 -04:00
bunnei 81cb80997a add missing bswap functions 2014-04-27 21:49:50 -04:00
bunnei 535947a0e1 fix for issue Linux build #9, not sure why this is broken but its unused code I'm just getting rid of it 2014-04-27 21:31:50 -04:00
bunnei 438dba40c1 Merge branch 'hle-interface-updates' 2014-04-27 21:25:16 -04:00
bunnei a48c6b947d removed DISALLOW_COPY_AND_ASSIGN in favor of NonCopyable class 2014-04-27 18:29:51 -04:00
bunnei 451a14f98c fixed weird spacing 2014-04-27 18:24:54 -04:00
bunnei f76a60be05 removed commented out line - this was for an unimplemented MRC call, no longer need to leave this here 2014-04-27 18:22:30 -04:00
bunnei 1142ccba03 fixed renderer to use correct framebuffer location 2014-04-27 12:42:01 -04:00
bunnei a6c925112a hackish but working way to set the framebuffer location to VRAM (used in ARM11 demos tested thus far, e.g. yeti3DS) 2014-04-27 12:41:25 -04:00
bunnei b2a6ad52f4 added helper functions to mem_map to convert physical addresses to virtual addresses 2014-04-27 12:40:31 -04:00
bunnei f0525a1eb4 added code to LCD modules keep track of framebuffer location in FCRAM or VRAM 2014-04-27 12:39:57 -04:00
bunnei f78794961e - changed HW IO map to use virtual addresses
- added hooks to catch LCD IO read/writes
2014-04-26 14:21:40 -04:00
bunnei 9e047e32d4 added simple GSP GPU ReadHWRegs function to support returning the framebuffer address 2014-04-26 01:48:24 -04:00
bunnei a272803dcb added preliminary DataSynchronizationBarrier support with simple DMA copy 2014-04-26 01:47:52 -04:00
bunnei 25d595d869 added (fake) physical addresses for where to put framebuffer in VRAM 2014-04-26 01:32:05 -04:00
bunnei 86a515e5ac added vram to memory_map 2014-04-26 01:27:25 -04:00
Thomas Edvalson a226dc57bf Need to add Xcursor to linker? 2014-04-25 23:01:58 -04:00
bunnei cb0663de51 moved HLE::MRC to its own module, added support for catching data synchronization barrier command 2014-04-25 17:15:19 -04:00
bunnei 6151e26958 added disassembly to unimplemented instruction 2014-04-25 15:57:32 -04:00
bunnei 2672e7d883 removed some cruft 2014-04-25 15:27:47 -04:00
bunnei e08f242141 fixed bug where svc_ControlMemory was not properly getting passed in parameters 2014-04-25 15:26:27 -04:00
Thomas Edvalson c51e4822b1 Fixed CMake's import of GLFW. 2014-04-25 10:50:25 -04:00
Thomas Edvalson 08e1ba746f Resolved undefined Common::g_scm_branch error. 2014-04-25 10:34:27 -04:00
bunnei 890c7261d2 - added preliminary support for svc_MapMemoryBlock
- added shared memory region
- moarrrr cleanups to memory_map
2014-04-24 23:56:06 -04:00
bunnei b7cd4c9e90 added functions to map Heap and Shared memory space 2014-04-24 22:32:26 -04:00
bunnei 66e1f8ab33 added GSP::RegisterInterruptRelayQueue function 2014-04-24 22:20:13 -04:00
bunnei cd0664eb77 - refactored how service functions are called
- added option to create/delete service handles
2014-04-24 22:16:54 -04:00
bunnei 66a98ea686 made qt window title consistent 2014-04-23 22:49:55 -04:00
bunnei 80a040ac77 fixes to scm_rev generation to make it conistent with windows build 2014-04-23 19:13:00 -07:00
ShizZy 121960a2eb updated windows scm_rev code to use new style 2014-04-23 22:04:33 -04:00
bunnei 4405a53cf3 added scm rev generation on Linux/cmake 2014-04-23 18:43:57 -07:00
bunnei 7a136b8a84 fixes to build on linux 2014-04-22 19:42:29 -07:00
ShizZy c479921142 removed duplicate rotl/rotr functions 2014-04-22 18:47:43 -04:00
ShizZy 5c89324809 updated CMakeLists for missing files 2014-04-22 18:35:40 -04:00
Mathieu Vaillancourt 81f6062c85 Re-enable toggling window mode. 2014-04-21 23:21:02 -04:00
Mathieu Vaillancourt 5ad1aa8b68 Add a quick way to load Launcher.dat files 2014-04-21 23:15:40 -04:00
bunnei bf025ed03c fixed order of LogManager and System init 2014-04-21 22:02:32 -04:00
bunnei 7a080551ac fixed GL context acquire (applies to Qt GUI only) 2014-04-21 22:00:32 -04:00
Mathieu Vaillancourt ad0734acee Remove unused QTableView 2014-04-18 18:34:24 -04:00
Mathieu Vaillancourt e5f09b8be6 UI/debugger changes 2014-04-18 18:34:23 -04:00
bunnei 958bca606e Merge branch 'hle-interface' 2014-04-18 17:52:49 -04:00
bunnei 70c2cce963 renamed hw_lcd module to just lcd 2014-04-17 23:48:23 -04:00
bunnei c3a4b4bfca added NDMA hardware interface 2014-04-17 23:43:55 -04:00
bunnei b2baafaf8b added GSP heap memory allocation 2014-04-17 23:05:31 -04:00
bunnei 33e7d97d46 fixed bug in Memory::GetPointer 2014-04-17 21:40:42 -04:00
bunnei fb026f6b46 moved enums into Memory:: namespace 2014-04-17 21:19:32 -04:00
bunnei a9dba388eb added memory read/write to GSP heap 2014-04-17 21:15:40 -04:00
bunnei 09ffe87360 more various refactors to memory interface 2014-04-17 21:05:34 -04:00
bunnei ae99574b6d cleaned up memory interfaces a lot, removed some hackish stuff 2014-04-17 18:40:42 -04:00
bunnei 9d5a561c1b fixed framebuffer color order 2014-04-17 17:47:34 -04:00
bunnei f0797dcf1f added a new function wrapper 2014-04-16 22:19:23 -04:00
bunnei d4411acfd0 removed hard-coded framebuffer addresses from renderer_opengl.cpp 2014-04-16 21:30:10 -04:00
bunnei 9d1a17ca88 fixed bug with printing std::string in log messages 2014-04-16 21:22:15 -04:00
bunnei 795d6bf5b7 changed unknown memory read/write to report the size 2014-04-16 21:21:53 -04:00
bunnei bb5bc2df25 added class stub for HID:User service 2014-04-16 20:58:36 -04:00
bunnei b8851305bd updated service comments 2014-04-16 20:46:05 -04:00
bunnei de3dcd38f6 - fixed tabs in function_wrappers.h
- fixed log message wording in hle.cpp
- added syscall stubs for CloseHandle and WaitSynchronization1
2014-04-16 20:41:33 -04:00
bunnei 32c3462047 - added stubbed out GSP::Gpu service interface
- various cleanups/refactors to HLE services
2014-04-16 00:03:41 -04:00
bunnei acef5e0b17 removed no longer used function header 2014-04-15 23:41:52 -04:00
bunnei ffabed8c25 restructured hle:services completely to use function lookup tables 2014-04-15 23:28:03 -04:00
bunnei 386dd722e7 fixed naming for APT_U 2014-04-15 22:42:35 -04:00
bunnei 7ec5950bc4 - extracted srv: calls from service.cpp and put in its own module
- added function tables for service calls
- lots of refactoring
2014-04-15 22:40:19 -04:00
bunnei cb504e236b added helper functions for upper/lowercase strings 2014-04-14 21:25:46 -04:00
bunnei 18766b9e69 added a stub for GetLockHandle 2014-04-13 22:59:16 -04:00
bunnei 9f4d677cdf added framework for APT service (application and title launching service) 2014-04-13 16:33:45 -04:00
bunnei 524e78ece8 renamed class Interface_SRV to SRV 2014-04-13 01:22:05 -04:00
bunnei ce822b6815 replace tabs with spaces 2014-04-13 00:39:05 -04:00
bunnei 5ea4679630 added some very initial command parsing for SRV Sync 2014-04-13 00:38:48 -04:00
bunnei 67f6e41470 added a GetPointer function for reading from HLE command buffer 2014-04-13 00:37:10 -04:00
bunnei f2f63a0f05 fixed hw write declarations to not be const 2014-04-12 23:32:04 -04:00
bunnei 6f6d5158de added OS memory read/write for thread command buffer 2014-04-12 23:31:39 -04:00
bunnei b24e6f2b60 cleanups to service HLE 2014-04-12 22:08:48 -04:00
bunnei 68e198476f - added HLE to connect to "srv:" service
- added a manager for keeping track of services/ports
- added a memory mapped region for memory accessed by HLE
- added HLE for GetThreadCommandBuffer function
2014-04-12 21:55:36 -04:00
Mathieu Vaillancourt 68a8594d04 Init window size from VideoCore. Start changing the default window behavior... 2014-04-12 19:04:33 -04:00
Mathieu Vaillancourt 0ecb0365e4 Show symbols in disasm 2014-04-12 19:04:33 -04:00
Mathieu Vaillancourt 67095f8083 Implement simple LoadSymbols for ELF files 2014-04-12 19:04:32 -04:00
Mathieu Vaillancourt d046cfbba1 Add symbols map 2014-04-12 19:04:31 -04:00
bunnei 4d88318903 hacked CPU interpreter to ignore branch on SVC instruction (as we are HLEing this...) 2014-04-12 01:36:39 -04:00
bunnei cd7de52fea added a SETABORT method that does not update LR (for HLE'd SVC that does not jump appcore CPU to an IRQ vector) 2014-04-12 01:35:45 -04:00
bunnei 9a9b7b289a added a memory mapped option for HLE 2014-04-12 01:33:13 -04:00
bunnei 02fbd42e7f - renamed hle_syscall to just syscall
- added service.h as an initial service interface
2014-04-11 18:44:21 -04:00
bunnei 7ea7585898 replace tabs with spaces 2014-04-11 18:09:23 -04:00
bunnei f6c328cf37 moved hle.cpp into hle folder (due to mistake earlier) 2014-04-11 18:07:49 -04:00
bunnei ec19c679d7 Fixed GPLv2 license issue
Doing this from work via GitHub - Sorry for not combining with previous commits
2014-04-11 16:21:14 -04:00
bunnei 1c491d5c98 Fixed GPLv2 license issue
Doing this from work via GitHub - Sorry for not combining with previous commits
2014-04-11 16:20:39 -04:00
bunnei 503e584ee1 Fixed GPLv2 license issue 2014-04-11 16:19:39 -04:00
bunnei e9f0e4967d added remaining known syscall functions to Syscall_Table 2014-04-11 14:19:40 -04:00