bunnei
ae93adddd1
srv::Initialize: Return "success" status code.
2014-08-30 23:23:31 -04:00
Yuri Kunde Schlesner
83c3d2bcd1
Introduce VAddr and PAddr typedefs for ARM addresses.
2014-08-31 00:04:11 -03:00
bunnei
6966fdf025
Loader: Added support for loading raw BIN executables.
...
- Useful for debugging homebrew
Qt: Updated GUI to support loading .bin files.
2014-08-28 17:51:49 -04:00
bunnei
304999dfeb
Threading: Fix thread starting to execute first instruction correctly.
2014-08-28 17:51:49 -04:00
bunnei
fb908b9395
srv::Initialize: Return "success" status code.
2014-08-28 17:51:41 -04:00
bunnei
20d169e4a1
VideoCore: Fixes rendering issues on Qt and corrects framebuffer output size.
2014-08-26 17:34:52 -04:00
Tony Wasserka
941762a573
GPU: Fix a compiler warning about redundant semicolons.
2014-08-25 22:03:19 +02:00
Tony Wasserka
26ade98411
Pica/citra-qt: Replace command list view and command list debugging code with something more sophisticated.
2014-08-25 22:03:18 +02:00
Tony Wasserka
14b24a75b3
GSP: Update framebuffer information when necessary.
2014-08-25 22:03:18 +02:00
Tony Wasserka
590c206ac8
GSP: Implement SetBufferSwap.
2014-08-25 22:03:18 +02:00
Tony Wasserka
e832bbe554
GSP: Add a helper function for convenience.
2014-08-25 22:02:33 +02:00
bunnei
0ffc966e42
Merge pull request #68 from archshift/readfile
...
Added FS functions to Archive and Archive_RomFS
2014-08-22 18:50:00 -04:00
archshift
4c4a01bf41
Added FS functions to Archive and Archive_RomFS
2014-08-22 15:45:10 -07:00
Emmanuel Gil Peyrot
ef27770a53
ARM: Remove a forgotten const in vfp.
2014-08-20 17:50:27 +00:00
Lioncash
ab4648d3ca
Core: Use std::array for managing kernel object space
...
These avoid relying on memset for clearing the arrays.
2014-08-19 00:32:48 -04:00
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