bunnei
e9c5c563a5
Merge pull request #55 from lioncash/string
...
Core: Alter the kernel string functions to use std::string instead of const char*.
2014-08-18 21:42:44 -04:00
bunnei
10f25866e2
SVC: Added support for svc_GetSystemTick.
...
Changed HLE function return methods to be static inline functions.
2014-08-18 21:26:20 -04:00
Lioncash
98fa3f7cba
Core: Alter the kernel string functions to use std::string instead of const char*.
...
Most functions already operate on std::strings. This also removes the need to manually null terminate thread names.
2014-08-17 23:12:20 -04:00
bunnei
7ed73af78f
Merge pull request #53 from lioncash/memmap
...
Core: Fix undefined behavior in mem_map_funcs' WriteBlock function
2014-08-17 20:30:30 -04:00
Lioncash
986dd27392
Core: Fix a formatting error in svc.cpp
...
entry_point would not be added to the string. Also used StringFromFormat
so that the buffer is unnecessary.
2014-08-17 14:28:39 -04:00
Lioncash
da18671166
Core: Fix undefined behavior in mem_map_funcs' WriteBlock function
2014-08-17 14:23:54 -04:00
bunnei
bf7bc3dacd
Merge pull request #39 from bunnei/hid-minor-improvements
...
Hid minor improvements
2014-08-12 18:23:17 -04:00
bunnei
091f6cf55b
HID: Added new function entries from 3dbrew to FunctionTable.
...
HID: Fix typo with DisableGyroscopeLow command.
2014-08-12 18:08:09 -04:00
Tony Wasserka
76a586de49
Pica: Add command processor.
2014-08-12 13:47:30 +02:00
Tony Wasserka
7b6a7d7dfb
Pica/GPU: Change hardware registers to use physical addresses rather than virtual ones.
...
This cleans up the mess that address reading/writing had become and makes the code a *lot* more sensible.
This adds a physical<->virtual address converter to mem_map.h. For further accuracy, we will want to properly extend this to support a wider range of address regions. For now, this makes simply homebrew applications work in a good manner though.
2014-08-12 13:32:56 +02:00
Tony Wasserka
bd798390d5
GSP: Fix a major regression introduced in ffda035c, due to which no display transfers were triggered at all anymore.
2014-08-12 13:32:18 +02:00
Tony Wasserka
9c781a6c76
Remove the fancy RegisterSet class introduced in 4c2bff61e
.
...
While it was some nice and fancy template usage, it ultimately had many practical issues regarding length of involved expressions under regular usage as well as common code completion tools not being able to handle the structures.
Instead, we now use a more conventional approach which is a lot more clean to use.
2014-08-12 02:17:21 +02:00
bunnei
552287498a
HID: Implemented HID_User::GetIPCHandles service function.
2014-08-07 20:27:56 -04:00
bunnei
66f91b4346
SVC: Fixed typo with MapMemoryBlock DEBUG_LOG call.
2014-08-07 20:27:11 -04:00
bunnei
0805ecbaca
GPU: Updated g_last_ticks variable to be more descriptive (represents CPU tick count of last vertical line).
2014-08-06 18:20:02 -04:00
bunnei
7ada2625fe
GPU: Updated horizontal sync line counter to use framebuffer height.
2014-08-06 18:20:01 -04:00
bunnei
d4bd2f2e5d
Thread: Added more descriptive comment to WaitCurrentThread.
2014-08-06 18:19:59 -04:00
bunnei
cad2f21985
GSP: Cleaned up command buffer decoding.
...
GSP: Cleaned up code and added additional comments.
GSP: Removed unnecessary TODO comment.
GSP: Changed u32 iterators in TriggerCmdReqQueue to unsigned.
2014-08-06 18:19:56 -04:00
bunnei
36fd1c169e
GSP: Added reinitialization of other state objects.
2014-08-05 23:58:00 -04:00
bunnei
4e9f305ed2
GSP: Removed dumb GX prefixes to functions/structs in GSP namespace.
...
- Various other cleanups.
2014-08-05 23:58:00 -04:00
bunnei
99e404e221
GSP: Removed unnecessary GX_FinishCommand function.
2014-08-05 23:57:59 -04:00
bunnei
ec14ffe1cd
GSP: Implements preliminary command synchronization via GPU interrupts.
...
Core: Added a comment to explain the logic for the RunLoop iterations.
2014-08-05 23:57:53 -04:00
bunnei
c48ab0bd9e
MemMap: Fixed typo with GetPointer to VRAM address.
2014-08-05 23:54:28 -04:00
bunnei
2542350b85
AddressArbiter: Removed unnecessary HLE::Reschedule.
2014-08-05 23:54:28 -04:00
bunnei
60078baab1
AddressArbiter: Fixed bug with break statements missing from case statements.
2014-08-05 23:54:27 -04:00
bunnei
1b247b8031
SRV: Updated GetProcSemaphore to create an event instead of a mutex.
2014-08-05 23:54:27 -04:00
bunnei
4d4607041b
SVC: Removed ArbitrateAddress log message that spams to much.
2014-08-05 23:53:58 -04:00
bunnei
7a1f813be1
Kernel: Updated Event and Mutex to specify handle that they are blocking for.
2014-08-05 20:14:51 -04:00
bunnei
90aaab1df0
Merge pull request #36 from bunnei/fix-memory-unaligned-reads
...
Fix memory unaligned reads
2014-08-05 20:09:04 -04:00
bunnei
967e5629de
MemMap: Added an error for unaligned 16-bit memory reads.
2014-08-05 20:05:06 -04:00
bunnei
da81742439
MemMap: Removed Read64 function.
...
- Unused code
- Was not correct for unaligned memory reads
2014-08-05 20:01:55 -04:00
bunnei
81fa804b3c
FS: Fix port name (old port name was based on an unaligned memory read).
2014-08-05 19:58:33 -04:00
bunnei
2b52ec4829
MemMap: Fix Read32 for unaligned memory reads.
...
MemMap: Cleaned up Read32 unaligned memory access.
2014-08-05 19:58:28 -04:00
bunnei
77fc029a00
ARM: Synchronize Citra's SkyEye core with 3dmoo's.
2014-07-23 19:16:40 -04:00
Tony Wasserka
9fd2537e93
Use uniform formatting when printing hexadecimal numbers.
2014-07-23 00:44:31 +02:00
Tony Wasserka
afcb250b31
Fix a few warnings.
...
Templates shouldn't be marked as inline if they aren't defined in the header.
2014-07-23 00:44:31 +02:00
Tony Wasserka
2eb61dafc0
GPU: Clarify display transfer code.
...
Also makes the illogical component order more obvious.
2014-07-23 00:44:31 +02:00
Tony Wasserka
61e2ffd448
GPU: Add documentation.
2014-07-23 00:44:31 +02:00
Tony Wasserka
4b141791ed
GSP: Add a few comments.
2014-07-23 00:44:31 +02:00
Tony Wasserka
9b0d0c81a0
GSP: Clean up GX command processing a lot and treat command id as a u8 rather than a u32.
...
Anonymous structs are not standard C++, hence don't use them.
2014-07-23 00:44:31 +02:00
Tony Wasserka
246cb75584
RegisterSet: Simplify code by using structs for register definition instead of unions.
2014-07-23 00:33:08 +02:00
Tony Wasserka
75775e9ef4
GPU: Make use of RegisterSet.
2014-07-23 00:33:08 +02:00
Tony Wasserka
357d893b26
GPU: Make framebuffer code format-aware.
2014-07-23 00:33:08 +02:00
Tony Wasserka
9d618d0b70
GPU: Interface cleanup.
2014-07-23 00:33:08 +02:00
Tony Wasserka
46950ee4de
GPU: Initialize GPU registers to some sensible default state.
2014-07-23 00:33:08 +02:00
Tony Wasserka
baf0aa04f5
GPU: Emulate memory fills.
2014-07-23 00:33:08 +02:00
Tony Wasserka
0b4055c152
GPU: Add proper framebuffer register handling.
2014-07-23 00:33:08 +02:00
Tony Wasserka
bbc6f314eb
GPU: Properly implement display transfers.
2014-07-23 00:33:08 +02:00
Tony Wasserka
16bbc4f81b
GPU: Add display transfer configuration.
2014-07-23 00:33:08 +02:00
Tony Wasserka
ec9511e1db
GSP: HLE GXCommandId::SET_DISPLAY_TRANSFER and GXCommandId::SET_TEXTURE_COPY.
2014-07-23 00:33:08 +02:00
Tony Wasserka
cb8f49b7ea
GSP: Implement ReadHWRegs and WriteHWRegs properly.
2014-07-23 00:33:05 +02:00
Tony Wasserka
994d29f416
Use a more compatible choice of initial framebuffer addresses.
2014-07-22 22:27:27 +02:00
Lioncash
8761461003
core: Kill off type redefenitions in armdefs.h
2014-07-19 22:02:21 -04:00
bunnei
3eb89f3e98
Kernel: Added preliminary support for address arbiters.
...
AddressArbiter: Added documentation comment, fixed whitespace issue.
AddressArbiter: Fixed incorrect comment, reordered if-statement to be more clear.
SVC: Removed trailing whitespace.
2014-07-08 18:46:38 -04:00
bunnei
ba840d3200
Thread: Added functions to resume threads from address arbitration.
...
Thread: Cleaned up arbitrate address functions.
Thread: Cleaned up ArbitrateAllThreads function.
2014-07-08 18:46:15 -04:00
bunnei
59f2750482
function_wrappers: Fixed incorrect wrapper, added another.
2014-07-07 22:13:40 -04:00
bunnei
7ff92c36ed
SharedMemory: Updated MapSharedMemory to use an enum for permissions.
...
- Also added some safety checks to MapSharedMemory.
2014-07-05 10:24:54 -04:00
bunnei
882dc07929
Memory: Removed deprecated MapBlock_Shared function.
2014-07-05 10:24:54 -04:00
bunnei
7b7a435094
GSP: Fixed to use real shared memory object, various cleanups.
...
- Previously, used a hard-coded shared memory handle of 0x10002000 (as used by libctru homebrew)
GSP: Added name for shared memory.
GSP: Cleaned up assertion message.
2014-07-05 10:24:52 -04:00
bunnei
e547128185
Kernel: Added support for shared memory objects.
...
SharedMemory: Added optional name field for tracking known objects.
2014-07-05 01:21:05 -04:00
bunnei
3013015a0c
mem_map: Updated interface to expose template functions to other modules.
2014-07-04 23:46:16 -04:00
bunnei
b70c4fb48e
NCCH: Updated ExeFS memory allocation to be safer.
2014-07-04 20:37:51 -04:00
bunnei
542700ccb7
Archive: Added Init/Shutdown methods to reset kernel archive state.
2014-07-04 20:37:51 -04:00
bunnei
1099d83455
Marked AppLoader_ELF, AppLoader_NCCH, and Archive_RomFS virtual functions as "override".
2014-07-04 20:37:50 -04:00
bunnei
2d734bb6c5
Marked AppLoader_ELF, AppLoader_NCCH, and Archive_RomFS classes as "final"
2014-07-04 20:37:49 -04:00
bunnei
2c62d92551
Loader: Updated read methods to be const
...
- Required "file" handle to be made local and explicitly opened/closed as needed
2014-07-04 20:37:49 -04:00
bunnei
17a6148f9d
FileSys: Added preliminary support for applications reading the RomFS archive.
...
Archive: Fixed brace ugliness for neobrain :)
FS: Commented out unused local variables to prevent warnings.
...But keeping them here for future use.
archive_romfs: Removed unused #include.
2014-07-04 20:37:45 -04:00
bunnei
82702fedb8
APT: Added stubbed ReceiveParameter and various cleanups.
...
APT: More cleanups.
APT: Changed SignalType to be type u32.
2014-07-04 14:18:16 -04:00
bunnei
d8da707bb9
Loader: Refactored interface such that data is no longer stored by loader.
...
NCCH: Removed extra qualification ‘Loader::AppLoader_NCCH::’.
2014-06-27 17:49:01 -04:00
bunnei
48e39fc992
FS: Added stubbed code to intercept and decode file system service functions.
...
FS: Added to CMakeLists.txt
2014-06-27 16:58:30 -04:00
bunnei
8b8c8f4c13
Kernel: Added stubbed code to support creation of kernel Archive objects.
2014-06-27 16:58:30 -04:00
bunnei
0cc3e85685
Core: Removed unused directory_file_system and meta_file_system modules.
...
Core: Updated CMakeLists.txt to remove directory_file_system and meta_file_system modules.
2014-06-27 16:58:30 -04:00
bunnei
a7f1c54490
Loader: Refactored loading functions to only read data from binary if called.
...
NCCH: Updated LoadExec to use Memory::WriteBlock function to load binary code.
2014-06-24 19:30:08 -04:00
bunnei
6aebd4ac98
MemMap: Added a WriteBlock function to write a buffer of data to memory.
2014-06-24 19:30:08 -04:00
bunnei
cedc28dcc6
ELF: Refactored LoadInto(..) to use memcpy, removed unnecessary code.
2014-06-24 19:30:07 -04:00
bunnei
62b444cd17
Loader: Refactored use of const.
2014-06-24 19:30:06 -04:00
bunnei
a8c4648520
NCCH: Added RomFS loading.
2014-06-24 19:30:06 -04:00
bunnei
3da2bc6830
NCCH: Fixes reduce unnecessary logging and load logo/banner/etc. sections correctly.
...
Loader: Added ErrorNotUsed ReturnStatus type to specify when something is not used.
2014-06-24 19:30:05 -04:00
bunnei
7889cafc76
Loader: Implemented AppLoader interface for abstracting application loading.
...
- Various cleanups/refactorings to Loader, ELF, and NCCH modules.
- Added AppLoader interface to ELF and NCCH.
- Updated Qt/GLFW frontends to check AppLoader ResultStatus.
NCCH: Removed extra qualification typos.
Loader: Removed unnecessary #include's.
NCCH: Improved readability of memcmp statements.
NCCH: Added missing space.
Elf: Removed unnecessary usage of unique_ptr.
Loader: Removed unnecessary usage of unique_ptr.
2014-06-24 19:29:58 -04:00
bunnei
79a48082e2
NCCH: Changed decompression to load .code directly into memory rather than an intermediate buffer.
2014-06-17 06:30:14 -04:00
bunnei
c144ed5058
Elf: Removed unused macros, changed #include of "common.h" to just "common_types.h".
2014-06-17 06:23:46 -04:00
bunnei
13bdaa6c60
Loader: Cleaned up and removed unused code, refactored ELF namespace.
2014-06-16 23:43:33 -04:00
bunnei
1da361c7ab
Elf: Renamed modules to be consistent with new loader naming, fixed tabs -> spaces.
2014-06-16 23:43:32 -04:00
bunnei
3577dd027d
Loader: Added support for booting NCCH executables.
...
NCCH: Fixed typo in printing NCCH filename.
2014-06-16 23:43:29 -04:00
bunnei
0aca202ae9
Loader: Moved elf and loader modules to a "loader" subdirectory.
2014-06-16 18:03:13 -04:00
bunnei
2d7c46c874
Loader: Added stubbed detection of CXI and CCI files.
2014-06-16 17:53:25 -04:00
bunnei
10ae45b5e7
Loader: Removed unused CXI and DAT loading code.
2014-06-16 17:51:04 -04:00
bunnei
004df76795
Merge branch 'threading' of https://github.com/bunnei/citra
...
Conflicts:
src/core/hle/function_wrappers.h
src/core/hle/service/gsp.cpp
2014-06-14 12:13:16 -04:00
bunnei
b45a38f557
Kernel: Removed unnecessary "#pragma once".
2014-06-13 09:51:20 -04:00
bunnei
f49ac3a2d7
Kernel: Added freeing of kernel objects on emulator shutdown.
2014-06-13 09:51:19 -04:00
bunnei
83a4ad2885
Event: Updated several log messages to be assertions.
2014-06-13 09:51:18 -04:00
bunnei
edaefe9fa6
HLE: Moved "PARAM" and "RETURN" macros to function_wrappers.h (this is only module where they are needed).
2014-06-13 09:51:18 -04:00
bunnei
8957622d10
SVC: Renamed all function wrapper templates to Wrap, moved to HLE namespace.
2014-06-13 09:51:17 -04:00
bunnei
b62ef4bbd2
Thread: Renamed occurrences of "t" to "thread" to improve readability.
2014-06-13 09:51:17 -04:00
bunnei
5b7cf50a77
Thread: Cleaned up VerifyWait, fixed issue where nullptr msg could unnecessarily be logged.
2014-06-13 09:51:16 -04:00
bunnei
4620e2a741
HLE: Removed usnused EatCycles function.
2014-06-13 09:51:16 -04:00
bunnei
862db811f0
SVC: Cleaned up function wrappers to pass in correct argument types.
2014-06-13 09:51:15 -04:00
bunnei
bfdd874b1f
Thread: Moved position of * in arguments.
2014-06-13 09:51:14 -04:00
bunnei
12e2a59565
Thread: Updated VerifyWait to be more readable (but functionally the same).
2014-06-13 09:51:14 -04:00
bunnei
4d6c96b7d8
SVC: Moved declaration of "wait" variable in SendSyncRequest for improved readability.
2014-06-13 09:51:13 -04:00