Lioncash
f41e5eac2e
SI_Device: Move protected interface below public interface
2017-01-22 22:10:43 -05:00
Lioncash
7f4ef74542
SI_Device: Move the null device implementation to its own source files
2017-01-22 21:18:51 -05:00
Lioncash
a97aef2e94
Jit: Eliminate JIT global usages
2017-01-22 06:01:30 -05:00
Lioncash
a18ab5e154
JitArm64_LoadStore: Eliminate JIT global usages
2017-01-22 05:59:38 -05:00
Lioncash
4601499179
JitArm64_LoadStoreFloating: Eliminate JIT global usages
2017-01-22 05:57:44 -05:00
Lioncash
7c0b96f638
EXI_Device: Move the dummy implementation to its own source files
2017-01-22 02:15:36 -05:00
Lioncash
d2ff34e510
EXI_Channel: Remove const qualifiers from member function declaration parameters
...
Const used on value types only really has a use when used within the
definition.
2017-01-21 22:36:09 -05:00
Lioncash
387769b4e2
EXI_Channel: Move SetEXIINT implementation into the cpp file
2017-01-21 22:36:09 -05:00
Lioncash
edf8a79005
EXI_Channel: Make constructor explicit
2017-01-21 22:36:09 -05:00
Lioncash
5a85001d30
EXI_Channel: Amend variable casing
2017-01-21 22:36:04 -05:00
Lioncash
0dee9bc4f0
MMU: Change '0' literals to 'false' in IsOptimizableGatherPipeWrite
2017-01-21 21:16:41 -05:00
Lioncash
688225616e
EXI_Channel: In-class initialize variables
2017-01-21 18:44:54 -05:00
Lioncash
489e4c49bc
EXI_Channel: Move private interface below public interface
2017-01-21 18:42:18 -05:00
Lioncash
794d0a9d7c
Core: Move SI source files to their own directory
2017-01-20 19:33:24 -05:00
Lioncash
8078c18a80
Core: Move EXI source files to their own directory
...
Keeps related source files together and cleans up the root directory of HW
a little bit.
2017-01-20 16:06:35 -05:00
Mat M
b05fc9d369
Merge pull request #4692 from Orphis/cmake_cleanup
...
CMake cleanups for Windows
2017-01-20 15:25:34 -05:00
Lioncash
4d92ffb949
Interpreter: Amend parameter naming
...
Drops prefixed underscores from parameters
The C++14 standard states in section 2.10 subsection 3.2:
"Each identifier that begins with an underscore is reserved to the
implementation for use as a name in the global namespace."
It's highly unlikely an implementation will ever use '_inst' as a global
identifier, however it's better to just amend the names and alleviate
the concern altogether.
2017-01-20 14:51:00 -05:00
Lioncash
c73f4bd226
DSPTables: Hide main opcode tables
...
Hides the opcode tables that the interpreter and JIT interface with to
execute instructions.
This does not, however, hide the read-only tables that the assembler and
disassembler use.
2017-01-19 17:46:07 -05:00
Lioncash
2b5b21f2a4
DSPAssembler: Rename FindOpcode parameters
...
Having opcod and opcode as parameter names is kind of silly.
2017-01-19 17:46:01 -05:00
Lioncash
14f0e66809
DSPTables: Use std::array instead of C arrays
2017-01-19 17:07:31 -05:00
Lioncash
d266be5b56
PowerPC: Explicitly savestate PowerPCState members
...
Makes it more obvious which data is going into the savestate.
It also allows PowerPCState and InstructionCache to potentially
contain members that don't necessarily need to be saved to the save state.
It also gets rid of any potential padding data being put into the save
state.
2017-01-18 23:44:46 -05:00
Lioncash
c761f98ede
PowerPC: Simplify TLB resetting
...
Member initializers and std::array make this trivial for fixed value initialization.
2017-01-18 19:31:04 -05:00
Lioncash
b2351ddb29
PowerPC: Move CPU core initialization to its own function
2017-01-18 19:13:52 -05:00
Lioncash
e86def732a
PowerPC: Move zeroing of segment registers into ResetRegisters
2017-01-18 16:03:31 -05:00
Lioncash
cf1c194b88
DSPLLE: Amend variable casing
2017-01-18 12:50:58 -05:00
Lioncash
0f70650e93
DSPHLE: Amend variable casing
2017-01-18 12:44:27 -05:00
Lioncash
a57b378116
DSPEmulator: Amend variable casing
2017-01-18 12:20:13 -05:00
Lioncash
bba6a31eb6
Interpreter_Tables: Amend leftover comment
2017-01-18 03:03:44 -05:00
Lioncash
06488477a9
Interpreter_Tables: Ensure all instructions fit within m_allInstruction at compile-time
2017-01-18 03:03:42 -05:00
Lioncash
6c61021eb1
PPCTables: Use std::array instead of raw C arrays
2017-01-18 03:03:00 -05:00
Lioncash
1a1ce42889
Interpreter_Tables: Use std::array for instruction tables
2017-01-18 03:02:55 -05:00
Lioncash
e4ea9f7ace
Interpreter: Use std::array for instruction tables
2017-01-17 22:06:52 -05:00
Lioncash
f0abdbdeb5
Interpreter: Correct member variable casing
2017-01-17 21:50:01 -05:00
Lioncash
e9b506638f
Interpreter: Make m_EndBlock private
2017-01-17 21:16:14 -05:00
Lioncash
722162b54a
IPC_HLE: Namespace IOS HLE
...
Gets all of the IOS HLE code out of the global scope.
2017-01-17 20:46:58 -05:00
Lioncash
f1542c8e5a
Common: Namespace Network.h/.cpp
...
Necessary to avoid namespace clashes with IOS HLE's namespace name.
2017-01-17 20:46:48 -05:00
Lioncash
bb49012445
IR: Deduplicate code in Reset and FoldFallbackToInterpreter
2017-01-17 20:35:02 -05:00
Lioncash
89473d5996
IR: Clean up getNumberOfOperands
...
- Use std::array
- Make arrays constexpr where their contents aren't modified.
2017-01-17 20:22:38 -05:00
Lioncash
d3aed03563
IR: Make trivial helper functions constexpr
2017-01-17 19:42:36 -05:00
Lioncash
d1f39185dd
IR: Convert typedefs to using aliases
2017-01-17 19:40:56 -05:00
Lioncash
1516c22a22
JitILBase: Make the IRBuilder instance protected
...
There's no need to make it public.
2017-01-17 14:55:45 -05:00
Lioncash
e924814d62
JitILBase: Move protected members below public
2017-01-17 14:45:40 -05:00
Mat M
81358dbf20
Merge pull request #4674 from Orphis/require_gcc5
...
cmake: Enforce minimum GCC version
2017-01-17 14:35:38 -05:00
Mat M
ad36d4915c
Merge pull request #4668 from lioncash/cmake
...
CMakeLists: Make CMake 3.5.0 the minimum requirement
2017-01-17 14:34:03 -05:00
Lioncash
bae0158fc1
CMakeLists: Make CMake 3.5.0 the minimum requirement
2017-01-17 13:36:39 -05:00
Lioncash
8346f86ee4
IR: Remove unnecessary semicolon on namespace brace
2017-01-16 19:54:42 -05:00
Lioncash
67fc73e82c
IR: Make getNumInsts return type size_t
...
There's no need to cast here.
2017-01-16 19:38:30 -05:00
Lioncash
459a6e73c3
IR: Remove unused function
2017-01-16 19:32:13 -05:00
Lioncash
cd12b2c55f
IR: Make IRBuilder uncopyable
...
Hiding and not implementing the copy constructor is a pre-C++11 thing.
It should also be noted that a copy constructor, as defined by the
language, contains a const qualifier on its parameter, so this wouldn't
have prevented copies from being performed.
2017-01-16 18:59:17 -05:00
Lioncash
a8b2dd7fc3
IR: Use std::array instead of raw C arrays
2017-01-16 18:54:30 -05:00
Lioncash
ef3e6de875
IR: Move implementation of the constructor and Reset into the cpp file
...
Neither of these are intended to be called extremely frequently to warrant
this.
2017-01-16 18:36:11 -05:00
Lioncash
47fc72f0a8
IR: Get rid of an unimplemented member function prototype
2017-01-16 18:11:54 -05:00
Lioncash
4f75590fdb
IR: Move private details below public details
2017-01-16 18:08:11 -05:00
Lioncash
43910e474b
IR_X86: Use member initializers where applicable for RegInfo
2017-01-16 17:29:09 -05:00
Lioncash
bc7374a5e1
IR_X86: Use std::array instead of raw C arrays in RegInfo
2017-01-16 17:29:09 -05:00
Lioncash
45f7883ed8
IR_X86: Make RegInfo uncopyable
...
Hiding and not implementing the copy constructor is a pre-C++11 thing.
It should also be noted that a copy constructor, as defined by the language,
contains a const qualifier on its parameter, so this wouldn't have
prevented copies from being performed.
It also follows that if the copy constructor is deleted, then copy
assignment should also be forbidden.
2017-01-16 17:27:03 -05:00
Lioncash
6788cb7266
HW/DSP: Correct prefixes of translation-unit-local variables
...
These aren't globals.
2017-01-16 14:53:37 -05:00
Lioncash
8cc4815fe2
HW/DSP: Hide the DSP state global
2017-01-16 14:14:03 -05:00
Lioncash
c6ec5de659
HW/DSP: Use member initializers with structs/unions where applicable
2017-01-15 16:03:12 -05:00
Lioncash
3848c2a018
MemoryView: Get rid of a type-punning cast from u32 to float
...
This is undefined behavior. The bits should be memcpyed.
2017-01-15 12:16:41 -05:00
Lioncash
2108bf1be6
MemoryView: Separate memory string composition from OnPaint
...
OnPaint should only care about drawing data, not directly creating
said data.
2017-01-15 12:13:08 -05:00
Lioncash
0a6f0dfb74
Common: Add bit utility header
...
This attempts to make some bit arithmetic more self-documenting and also
make it easier during review to identify potential off-by-one errors by
making it possible to just specify which bits are being extracted.
Functions both support the case where bits being extracted can vary and
fixed bit extraction. In the case the bits are fixed, compile-time asserts
are present to prevent accidental API usage at compile-time.
e.g. Instead of shifting and masking to get bits 10 to 15,
Common::ExtractBits<10, 15>(value) can just be done instead.
2017-01-14 11:16:02 -05:00
Lioncash
45415e1057
ColorUtil: Make decodeCI8image's pal parameter const
2017-01-13 17:07:26 -05:00
Lioncash
35cc4a4202
DSPInterpreter: Get rid of a #define constant
...
This constant isn't particularly helpful, mainly because it's not
applicable to all DSP instructions. Some instructions don't have encoding
space for registers, and not all instructions that do encode registers
have one at the first five bits.
This change also has the benefit of removing all includes to the
interpreter within the JIT code, which keeps them fully separate from one
another. Changes to the interpreter header won't require some of the JIT
code to be rebuilt.
2017-01-12 20:36:52 -05:00
Lioncash
0035a4ef3d
GCMemcard: Const-correctness changes
...
A few function reference and pointer parameters are only read from.
2017-01-12 20:01:19 -05:00
Lioncash
6f08ef9a25
IOFile: Get rid of IOFile's ReleaseHandle function
...
Transfer of handles should be done via std::move.
2017-01-12 12:34:06 -05:00
Lioncash
b760479f77
BreakPoints: Use std::any_of where applicable
2017-01-11 16:37:31 -05:00
Lioncash
e97953130d
BreakPoints: Use character literals for finding single characters
...
The single character find overload is better suited over the one for
finding character sequences.
2017-01-11 10:08:14 -05:00
Lioncash
4e649c60c0
BreakPoints: Make getters const member functions
...
Just const-correctness stuff. The returned collection can't be modified,
so this makes sense.
2017-01-11 10:08:14 -05:00
Lioncash
0f8bcf412d
BreakPoints: Rename variables
...
Drops Hungarian notation where applicable.Drops Hungarian notation where
applicable.
2017-01-11 10:08:11 -05:00
Lioncash
274ab8a262
BreakPoints: Make the memchecks class member private
...
There's no need to make this public.
2017-01-11 10:07:34 -05:00
Mat M
55b82e323c
Merge pull request #4537 from JosJuice/blob-open-less-files
...
Open less files when detecting/opening blobs
2017-01-11 08:30:16 -05:00
Lioncash
93c5c0213f
BreakPoints: Convert typedefs into using aliases
2017-01-11 07:59:43 -05:00
Lioncash
50ee01754e
BreakPoints: Add initializers for TBreakPoint and TWatch
...
Ensures all members are consistently initialized.
2017-01-11 07:55:43 -05:00
Lioncash
588374349f
BreakPoints: In-class initialize TMemCheck members
...
Same thing, less code.
2017-01-11 07:53:49 -05:00
Lioncash
ea8fc594a5
Common: Move BreakPoints into Core
...
BreakPoints utilizes the jit global variable, so this was making Core and
Common cyclical dependencies on one another.
2017-01-10 05:24:44 -05:00
Lioncash
37d10064b8
JitCache: Get rid of reliance on the JIT global variable
2017-01-09 04:43:06 -05:00
Lioncash
f75aab1a85
CachedInterpreter: Separate the block cache from CachedInterpreter
...
An interpreter is not a block cache. It may utilize a block cache, it may
contain a block cache but it *is not* A block cache.
2017-01-09 04:43:05 -05:00
Lioncash
eddccb3891
CachedInterpreter: Move to its own directory
2017-01-09 04:43:05 -05:00
Lioncash
2b8ede8dc6
JitCache: Move implementation details into the cpp file
2017-01-09 04:43:04 -05:00
Lioncash
cf18aeb1eb
JitCache: Move private class details below public details
...
Also organizes cpp file organization to match the function layout.
2017-01-09 04:42:59 -05:00
Lioncash
1dab2c8816
IOFile: Correct explicit operator bool semantics
...
The operator void* variant was m_good ? m_file : nullptr;
so this was leaving out the file handle check.
2017-01-08 22:52:44 -05:00
Lioncash
00baf193ac
CodeBlock: Const correctness for IsInSpace
2017-01-08 18:40:09 -05:00
Lioncash
27350dbf1c
Jit64Base: Use size_t to represent size in LogGeneratedX86
2017-01-07 21:57:19 -05:00
Lioncash
77756b44d5
Jit64Base: Const correctness for LogGeneratedX86
2017-01-07 21:53:06 -05:00
Lioncash
9d8e8652fb
CodeBlock: Get rid of implicit sign-conversion in AllocCodeSpace
...
Size is internally stored as a size_t, so having an int parameter
would cause implicit sign-conversion from a signed value to an
unsigned value to occur.
2017-01-07 19:05:06 -05:00
Lioncash
89da37b1c6
HotkeyInputConfigDialog: Move UI creation into named functions
...
The constructor shouldn't be used as a dumping ground for all UI-related
initialization. Doing so makes it somewhat more difficult to reason about
how certain UI elements get created. It also puts unrelated identifiers in
the same scope.
This separates the UI creation out so code relevant to each component
is self-contained.
2017-01-05 16:26:42 -05:00
Mat M
e7359f247b
Merge pull request #4595 from aldelaro5/add-debugger-hotkeys
...
Add debugger hotkeys
2017-01-05 14:33:10 -05:00
Mat M
6fe621f203
Merge pull request #4589 from ligfx/cleaninputconfigdiag
...
InputConfigDiag: move function bodies out of header
2017-01-05 14:29:35 -05:00
Mat M
0de4ad334f
Merge pull request #4605 from PEmu1/tas-gamecube-contro
...
Clarify GameCube Controller in TAS Input
2017-01-05 14:28:54 -05:00
Mat M
495580637f
Merge pull request #4606 from BhaaLseN/clang-format-union
...
specify custom brace style to fix unions
2017-01-05 14:27:27 -05:00
Mat M
9da6982ac3
Merge pull request #4608 from RisingFog/input_display_newlines
...
Add missing new lines for OSD
2017-01-05 14:25:24 -05:00
Mat M
189e5f87fb
Merge pull request #4612 from PEmu1/memcard-menu
...
Don't Use Abbreviation for "Memory Card"
2017-01-05 14:22:54 -05:00
Lioncash
a10bb15f17
HLE: Add explicit initializers for OSBreakPoints' stub entry
...
No behavior change, this just makes implicit values explicit.
2017-01-05 14:15:45 -05:00
Lioncash
2941468857
HLE: Align table formatting
2017-01-05 14:13:30 -05:00
Lioncash
a93861ab49
DiscScrubber: Don't take SFileInfo instances by value
...
Avoids unnecessary copies.
2017-01-04 20:12:49 -05:00
Lioncash
c52d1e735a
DiscScrubber: Use an unsigned loop index in ParseDisc
...
Prevents an implicit signed to unsigned conversion when assigning a
partition's group number.
2017-01-04 20:03:12 -05:00
Lioncash
6ff21c48cb
DiscScrubber: Correct printf specifiers
2017-01-04 19:56:39 -05:00
Lioncash
b1a2dec78a
DiscScrubber: Convert a #define into a typed constant
2017-01-04 19:53:31 -05:00
Lioncash
045a8400e6
IOFile: Make the move constructor and move assignment operator noexcept
...
Certain parts of the standard library try to determine whether or not a
transfer operation should either be a copy or a move. The prevalent notion
of move constructors/assignment operators is that they should not throw,
they simply move an already existing resource somewhere else.
This is typically done with 'std::move_if_noexcept'. Like the name says,
if a type's move constructor is noexcept, then the functions retrieves an
r-value reference (for move semantics), or an l-value (for copy semantics)
if it is not noexcept.
As IOFile deletes the copy constructor and copy assignment operators,
using IOFile with certain parts of the standard library can fail in
unexcepted ways (especially when used with various container
implementations). This prevents that.
2017-01-04 18:37:48 -05:00