Commit graph

5247 commits

Author SHA1 Message Date
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
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
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 7a136b8a84 fixes to build on linux 2014-04-22 19:42:29 -07:00
ShizZy 5c89324809 updated CMakeLists for missing files 2014-04-22 18:35:40 -04:00
Mathieu Vaillancourt 5ad1aa8b68 Add a quick way to load Launcher.dat files 2014-04-21 23:15:40 -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 f0797dcf1f added a new function wrapper 2014-04-16 22:19:23 -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 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 67095f8083 Implement simple LoadSymbols for ELF files 2014-04-12 19:04:32 -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 e9f0e4967d added remaining known syscall functions to Syscall_Table 2014-04-11 14:19:40 -04:00
bunnei 2bde8f2856 base code to call a syscall from ARM11 appcore 2014-04-10 23:26:12 -04:00
bunnei 01bedbf956 updated logging message 2014-04-10 22:49:12 -04:00
bunnei 5d95bb9843 cleaned up some logging messages 2014-04-10 22:45:40 -04:00
bunnei 3bd041f5b0 changed some naming/misc cleanups 2014-04-10 22:15:07 -04:00
bunnei 2a7d7ce55d - removed syscall classes (will just use HLEFunction)
- added hle.cpp and module registration
- removed unused code
2014-04-10 21:30:00 -04:00
bunnei 95f237a086 Merge branch 'master' into hle-interface 2014-04-10 20:10:18 -04:00
bunnei f68de21ad1 added initial modules for setting up SysCall HLE 2014-04-10 19:58:28 -04:00
bunnei fccbfc208c missed this file with commit 95e5436f 2014-04-10 19:57:56 -04:00
bunnei d9bb4f11c6 added Memory::GetCharPointer to read strings from HLE functions 2014-04-10 19:56:30 -04:00
bunnei 95e5436f41 cleaned up arm_interface, added a setter to set registers for use with HLE return values 2014-04-10 19:55:59 -04:00
bunnei 9527fc74ad fixed a bunch of errors in CMakeLists 2014-04-09 20:28:43 -07:00
bunnei 6b83509a7e updated CMakeLists 2014-04-09 23:09:05 -04:00
bunnei d0674cc98b fixed licensing and updated code style naming for arm_interface/arm_interpreter frontend module 2014-04-08 20:38:33 -04:00
bunnei de0a034a84 fixed project includes to use new directory structure 2014-04-08 20:15:08 -04:00
bunnei 63e46abdb8 got rid of 'src' folders in each sub-project 2014-04-08 19:25:03 -04:00
bunnei 03c245345e fixed some license headers that I missed 2014-04-08 19:19:26 -04:00
bunnei c0796cf762 fixed all license file headers in core 2014-04-08 19:15:46 -04:00
bunnei 3dc3bd5627 fixed licensing issue with core_timing being GPL v2+ instead of Dolphin's GPL v2 2014-04-08 19:11:21 -04:00
bunnei f446f79da2 Merge branch 'hardware-interface'
Conflicts:
	src/core/src/core.h
2014-04-07 00:57:37 -04:00
bunnei 6f7fd741db removed log message from hw_lcd 2014-04-06 22:56:25 -04:00
bunnei aae52e3f8f added hack physical memory reads with Memory::GetPointer 2014-04-06 22:56:08 -04:00
bunnei f0d49253e4 calling SwapBuffers from hw_lcd.cpp 2014-04-06 16:56:13 -04:00
bunnei 551b2a52e0 initialize VideoCore 2014-04-06 16:55:54 -04:00
bunnei e022717477 added g_app_core->Step and HW::Update to Core::SingleStep to be consistent with other changes made 2014-04-05 15:26:03 -04:00
bunnei ed15feebf1 changed hw_lcd to use ARM core correct tick counter instead of [what was actually] just an instruction count. this seems to fix timing issues with the 3DS_Homebrew_Pong3Dv2 demo. 2014-04-05 15:23:59 -04:00
bunnei c874c1d06c add hw_lcd.* to VS project files 2014-04-05 01:24:54 -04:00
bunnei 6433f4d6f9 added an "Update" method to update all hardware 2014-04-05 01:24:14 -04:00
bunnei 9c2355ba4f added a module for interfacing to hardware LCD 2014-04-05 01:23:51 -04:00
bunnei c1dfa75845 added a tick counter 2014-04-05 01:23:28 -04:00
bunnei 31abc42d3d added initial support for hw.cpp module 2014-04-05 00:01:07 -04:00
Mathieu Vaillancourt 9b6041d818 Remove Core::GetState(). Use new ARM_Interface instead. 2014-04-04 23:24:09 -04:00
bunnei 670ac5643a added hw module to interface h/w register reads/writes 2014-04-04 23:02:59 -04:00
bunnei 590f294d8e renamed some functions 2014-04-04 22:47:10 -04:00
bunnei c89f3a5c38 added entry point loading from ELF file 2014-04-04 22:26:25 -04:00
bunnei 69223d007e - added an interface layer for ARM cores
- cleaned up core.cpp a bit
2014-04-04 22:26:06 -04:00
bunnei d601d2e696 renamed ARM disassembler class from "Arm" to "ARM_Disasm" 2014-04-04 22:25:12 -04:00
bunnei f5f6428b97 got rid of some really poorly named macros in SkyEye core 2014-04-04 22:24:41 -04:00
bunnei 66299a4880 moved arm core to interpreter directory 2014-04-04 21:12:05 -04:00
bunnei c2d4c7d4f4 added some commented out ARMulator functions 2014-04-03 22:07:07 -04:00
bunnei 829952834a added hack to allow physical mem read/writes 2014-04-03 22:07:06 -04:00
bunnei cbd1de38be made memory #define's enum to make debugging easier 2014-04-03 22:07:05 -04:00
Mathieu Vaillancourt 564e3f5032 Add Core::GetState() for debugger 2014-04-03 21:25:39 -04:00
bunnei 20bf361b95 removed some useless log messages 2014-04-03 19:04:14 -04:00
bunnei 7bf24c066b added thumb mode emulation 2014-04-03 19:03:55 -04:00
bunnei 4860480c36 convert tabs to spaces 2014-04-01 18:48:06 -04:00
bunnei e05be0145c -converted tabs to spaces
-moved scratchpad memory out of MemArena
2014-04-01 18:48:04 -04:00
bunnei d4b529111a added very hackish ARMulator core initialization and CPU stepping 2014-03-31 22:26:50 -04:00
bunnei 85e8da6fc8 added ELF loading support to loader.cpp 2014-03-31 22:23:55 -04:00
bunnei e32c03e860 commented out bswap stuff... ARM ELF files are little endian anyway 2014-03-31 22:15:02 -04:00
bunnei a36f9492cc added support for reading/writing to stack mem 2014-03-31 21:05:51 -04:00
bunnei 4fdeadb8e2 replaced some error logs with debug asserts 2014-03-30 02:13:25 -04:00
bunnei 7c5d8f6dad removed unnecessary debug assert 2014-03-30 00:42:13 -04:00
bunnei 328c415c74 added ARM11 MMU from skyeye 2014-03-29 23:28:38 -04:00
bunnei bd38abf249 initialize mem regions 2014-03-29 21:53:41 -04:00
bunnei 6b255111d5 added various arm modules from skyeye to make project link OK 2014-03-29 21:53:07 -04:00
bunnei 20807c4d5a added a GetPointer function to Memory for use with ELF loading 2014-03-25 10:50:34 -04:00
bunnei 97e4d9f211 updated Windows project files to include ELF files 2014-03-25 10:49:56 -04:00
bunnei 872d9ae87f added Dolphin's ELF reader to the project 2014-03-25 10:47:12 -04:00
ShizZy e0cfd6b0b8 renamed FILETYPE_CTR_DIRECTORY to FILETYPE_DIRECTORY_CXI 2013-10-06 09:39:11 -04:00
ShizZy 8a95dd3f11 fixed a typo in declaration of meta file system 2013-10-06 09:24:46 -04:00
ShizZy e0cb54ea35 moved some core functions over to system module 2013-10-03 17:47:31 -04:00
ShizZy 9d79fc7aa6 added core_timing and system modules to core vcproj 2013-10-01 19:10:47 -04:00
ShizZy 4c24ea3d88 added an early function for booting from a directory 2013-10-01 19:09:49 -04:00
ShizZy 539bf8bc86 added a message option to Core::Halt function 2013-10-01 19:07:33 -04:00
ShizZy a79fb90d62 upgraded proj files to vs 2013 2013-09-26 22:48:31 -04:00
ShizZy c71868a6b1 added system.h to project 2013-09-26 22:01:09 -04:00
ShizZy a7b06698ff added meta_file_system to project 2013-09-25 21:25:46 -04:00
ShizZy 05d5113701 renamed file_sys_directory.* to directory_file_system.* 2013-09-25 21:03:42 -04:00
ShizZy 5b0b60ad6b moved file_sys back to core 2013-09-25 20:59:29 -04:00
ShizZy 00287b7a65 removed <windows.h> include from common.h and added it only where needed 2013-09-23 22:09:26 -04:00
ShizZy 29cdc1df39 moved file_sys to common 2013-09-23 22:04:56 -04:00
ShizZy e83de18f4b removed unused commented-out code 2013-09-23 21:57:54 -04:00
ShizZy 59020e8d9c renamed PSPFileInfo to just FileInfo 2013-09-23 21:55:02 -04:00
ShizZy 1af6ae2f48 added PPSSPP's file system directory module for game loading 2013-09-23 21:50:41 -04:00
ShizZy 80b85ee7e6 ppsspp file system module - currently unused 2013-09-19 23:28:34 -04:00
ShizZy 8990b51ac8 added a module for loading bootable binaries 2013-09-19 23:21:22 -04:00
ShizZy bf3938d56e added mem_map hardware writing 2013-09-19 23:13:33 -04:00
ShizZy 030c836793 added hw R/W/ memory functions 2013-09-18 23:52:51 -04:00
ShizZy cd6e998e9a refactored some mem_map stuff 2013-09-18 22:36:39 -04:00
ShizZy b2c5690413 added log msg to core 2013-09-18 22:36:07 -04:00
ShizZy 7dcfb9c1cf added ARMulator/skyeye ARM11 core to the project 2013-09-17 23:03:54 -04:00
ShizZy b8ca09160b renamed project to 'citrus' 2013-09-13 18:11:14 -04:00
ShizZy 2161364258 cleaned up VS project files 2013-09-08 21:56:54 -04:00
ShizZy 6847033b27 updated common paths 2013-09-08 13:17:27 -04:00
ShizZy 62d873da3e start of 3DS memory map 2013-09-05 23:04:04 -04:00
ShizZy d708e2d68a added core and mem_map files to the project 2013-09-05 18:33:46 -04:00
ShizZy b5c78f8a20 added an ARM disassembler from the android project 2013-09-04 23:00:12 -04:00
ShizZy 48db82013b added missing files 2013-09-04 22:10:47 -04:00
ShizZy 86495a83c1 various fixes to be able to build project 2013-09-04 22:09:15 -04:00
ShizZy 27474060e1 adding initial project layout 2013-08-29 23:35:09 -04:00