Commit Graph

22479 Commits

Author SHA1 Message Date
Florent Castelli
b5b9c0cfc3 cmake: Build XAudio 2.7 backend on Windows 2017-01-21 00:34:02 +01:00
Florent Castelli
08d6a24bbc cmake: Build HIDAPI on Windows 2017-01-21 00:34:02 +01:00
Florent Castelli
56559c51cf cmake: librt is found only on Linux 2017-01-21 00:34:02 +01:00
Matthew Parlane
83dc03416e Merge pull request #4690 from leoetlino/common-usb
IOS: Move out common USB structures
2017-01-21 12:33:06 +13:00
Matthew Parlane
2f9bf297f1 Merge pull request #4693 from lioncash/interp-naming
Interpreter: Amend parameter naming
2017-01-21 12:31:51 +13:00
Matthew Parlane
980cd6532d Merge pull request #4695 from lioncash/exi-move
Core: Move EXI source files to their own directory
2017-01-21 12:30:47 +13: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
Léo Lam
954c41d6e9 IOS: Move out common USB structures
Some structures will be reused and shared between several IOS USB
device implementations. This prepares for the upcoming USB PR.

I've also removed GetPointer calls in the trivial case (BT passthrough)
2017-01-20 18:29:21 +01:00
Florent Castelli
a7376266b3 cmake: Fix libusb on Windows and make it static 2017-01-20 17:51:29 +01:00
Florent Castelli
9e451d601c cmake: Fix glslang on Windows 2017-01-20 17:51:29 +01:00
Florent Castelli
b670f434b2 cmake: Fix bochs disasm on Windows 2017-01-20 17:51:29 +01:00
Florent Castelli
4785802b9e cmake: Move C++ standard requirement out of global scope to Source/ 2017-01-20 17:46:40 +01:00
Matthew Parlane
25c779943b Merge pull request #4687 from lioncash/ppc-state
PowerPC: Explicitly savestate PowerPCState members
2017-01-20 17:51:42 +13: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
Matthew Parlane
2acb3ef3f5 Merge pull request #4688 from leoetlino/ios-prefix
IOS: Remove IOS prefix on a few structs/enums
2017-01-20 11:04:10 +13:00
Matthew Parlane
9d792f7fe6 Merge pull request #4689 from leoetlino/check-events
Only allow reset/power when core is running
2017-01-20 10:59:39 +13:00
Léo Lam
a000a3c23f Only allow reset/power when core is running
If we don't check for Core::IsRunning(), event types such as
iosNotifyResetButton may actually be nullptr, or some random invalid
pointer (after an emulation start then shutdown) and be used when the
user triggers a reset, which causes random crashes.
2017-01-19 22:08:13 +01:00
Léo Lam
e33d943459 IOS: Remove IOS prefix on a few structs/enums
Now that IOS code is namespaced, we don't need the prefix anymore.
2017-01-19 19:10:31 +01:00
Matthew Parlane
629fcb437a Merge pull request #4683 from leoetlino/rename-ipc-hle
Reorganise the IOS HLE source files (and drop WII_IPC_HLE)
2017-01-19 20:54:35 +13: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
Matthew Parlane
01f2216e20 Merge pull request #4686 from lioncash/ppc-init
PowerPC: Minor initialization cleanup
2017-01-19 15:59:59 +13: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
Léo Lam
ef5a855b8e Update log types names from IPC_HLE to IOS
For consistency with the other changes.

WII_IPC_DVD was changed to IOS_DI, as this describes what the log type
is used for in a more specific way.
2017-01-18 21:43:37 +01:00
Léo Lam
49b9c723e2 Put IOS devices in a namespace and drop WII_IPC_HLE prefix 2017-01-18 21:42:33 +01:00
Matthew Parlane
f94bd7d865 Merge pull request #4684 from lioncash/dsp-emu
DSPEmulator: Amend variable casing
2017-01-19 09:10:58 +13:00
Matthew Parlane
06b4957348 Merge pull request #4682 from lioncash/interp-tables
Interpreter_Tables: Minor changes
2017-01-19 09:10:11 +13:00
Léo Lam
24199293d3 IOS: Reorganise the source files and IPC_HLE→IOS
IPC_HLE is actually IOS HLE. The actual IPC emulation is not in
IPC_HLE, but in HW/WII_IPC.cpp. So calling IPC_HLE IOS is more
accurate. (If IOS LLE gets ever implemented, it'll likely be at
a lower level -- Starlet LLE.)

This also totally gets rid of the IPC_HLE prefix in file names, and
moves some source files to their own subdirectories to make the file
hierarchy cleaner.

We're going to get ~14 additional source files with the USB PR,
and this is really needed to keep things from becoming a total pain.
2017-01-18 20:43:10 +01: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
Matthew Parlane
01b322d45f Merge pull request #4679 from lioncash/ipc
IPC_HLE: Namespace IPC HLE
2017-01-18 17:33:08 +13:00
Matthew Parlane
41f7995916 Merge pull request #4680 from lioncash/ir
IR: Minor changes
2017-01-18 17:31:40 +13:00
Matthew Parlane
1086f91ca1 Merge pull request #4681 from lioncash/interp-minor
Interpreter: Minor changes
2017-01-18 17:30:05 +13: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