Commit Graph

7087 Commits

Author SHA1 Message Date
Pierre Bourdon
5fcb4bb3ab Further fixes to the formatting change. WX sucks. 2016-06-24 12:16:10 +02:00
Pierre Bourdon
3570c7f03a Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Pierre Bourdon
2115e8a4a6 Add annotations for code sections that need to remain manually formatted. 2016-06-24 10:41:46 +02:00
Scott Mansell
2ec3a24e4e analytics: Collect less data about controllers.
The name field can contain personal information, particularly in the
case of bluetooth devices on OSX which get configured with the user's
full name.
2016-06-22 17:02:30 +12:00
Scott Mansell
3dfea6e996 analytics: Collect controller information.
Collects the existence of a gamecube adapter, and the type of
whatever controller is configured for the first emulated gamepad.
2016-06-21 01:48:28 +12:00
Scott Mansell
d197f489b9 analytics: Report OpenGL's adapter name too. 2016-06-20 23:54:44 +12:00
Pierre Bourdon
5982072a44 analytics: More accurate video backend name. 2016-06-19 16:36:18 +02:00
Pierre Bourdon
121f270367 Add an Analytics reporting system.
Fully opt-in, reports to analytics.dolphin-emu.org over SSL. Collects system
information and settings at Dolphin start time and game start time.

UI not implemented yet, so users are required to opt in through config editing.
2016-06-19 02:55:46 +02:00
Pierre Bourdon
c514a48f4d Merge pull request #3776 from EmptyChaos/ar-isoprop-corrupt
ActionReplay: Fix ISOProperties corrupting active code set
2016-06-05 09:29:51 +02:00
Mat M
a3e2436446 Merge pull request #3872 from JosJuice/movie-revision-nonhexadecimal
Movie: Improve handling of non-hexadecimal revision strings
2016-06-02 14:13:08 -04:00
JosJuice
9681fee86a Movie: Improve handling of non-hexadecimal revision strings 2016-06-02 18:55:35 +02:00
Matthew Parlane
7a99312687 Merge pull request #3873 from JosJuice/argh
Undo the addition of a translatable string during the string freeze
2016-05-31 08:46:25 +12:00
JosJuice
e5ffc91265 Undo the addition of a translatable string during the string freeze 2016-05-30 22:41:08 +02:00
EmptyChaos
6ab1b27477 ActionReplay: UI Consistency and Cleanup
Cleanup code style.

Move ActionReplay code->INI saving into ActionReplay namespace.

Threadsafety Cleanup: ActionReplay is accessed from the Host, Emu
and CPU Threads so the internal storage needs to be protected by a
lock to prevent vectors/strings being deleted/moved while in use by
the CPU Thread.

UI Consistency: Make ARCodes behave like Gecko Codes - only apply
changes when Apply is pressed. Save changes to INI from CheatsWindow.

ISOProperties/CheatsWindow now synchronize with each other.
2016-05-29 23:33:24 +10:00
EmptyChaos
25b072ff2b ActionReplay: Fix ISOProperties corrupting active code set
ISOProperties loads codes using ActionReplay::LoadCodes which actually applies
the codes to the global state. If a game is running then that games receives
all the codes (and ACTIVE status) from the second game being shown in
ISOProperties which is not desirable.
2016-05-29 23:33:24 +10:00
Scott Mansell
7d80aaedc7 Cleanup: fix an incorrect variable name.
For consistancy.
2016-05-29 18:14:50 +12:00
Scott Mansell
f419faa408 IPC_HLE: Close file handles before savestating. Fixes DKCR crashing.
Donkey Kong Country Returns is writing new data to some files in /tmp
when loading each level. But the savestate code was opening the files
a second time and reading some old and stale data out.

As of #3798, dolphin now correctly restores that stale data to /tmp,
which broke DKCR (and probally countless other games).

This PR closes all file handles before saving and loading savestates,
which flushes the data out and pervents this issue. (old savestates
are corrupted and will still cause crashes if loaded)
2016-05-29 16:48:46 +12:00
mimimi085181
1d90719abe Fix latency regression
On master, when polling the 1st in-game controller, Dolphin would poll all the 1st local controllers. With the 1st commit, each client waits its turn, which would dramatically increase the lag.

Now with this commit, it even polls all local controllers at once, so it should have even less latency than master in a few setups. Like one player with 3 controllers and the 2nd one with just one controller.
2016-05-24 22:13:40 +02:00
mimimi085181
ca9027879b Netplay: Fix gamecube controller mapping
This fixes issues with setups like:
Player 1 uses port 1 and player 2 uses port 3, or
player 1 uses port 2 and player 2 uses port 3, so nobody uses port 1
2016-05-24 21:59:36 +02:00
Mat M
08d45b9fea Merge pull request #3794 from EmptyChaos/frame-advance-race
Core: Add synchronization to state changes (Fix Frame Step and FIFO Player -  Issue 8718)
2016-05-22 15:19:16 -04:00
Markus Wick
ff4bc5f33d Merge pull request #3854 from degasus/arm
JitArm64: Implement MMU handling.
2016-05-21 08:46:22 +02:00
Markus Wick
ca728d792a Merge pull request #3802 from mathieui/netplay-disable-wiimotes-for-real-i-swear
Disable wiimotes on game start if running in netplay
2016-05-20 12:38:21 +02:00
mathieui
ef0f164343 Disable wiimotes on game start if running in netplay
And restore the settings on game quit
2016-05-20 12:05:29 +02:00
Markus Wick
de0f93f636 Merge pull request #3851 from JosJuice/revision-20
Movie: Better safety when writing to s_revision
2016-05-20 10:18:30 +02:00
degasus
c5e8238cc7 JitArm64: Fix dispatcher with MMU. 2016-05-20 08:32:16 +02:00
degasus
8e902abca3 JitArm64: Implement DSI exception.
Ok, this falls back on all memory instructions, but it's a way to start.
2016-05-20 08:32:16 +02:00
degasus
5db61b4bbb JitArm64: Fix broken block handling. 2016-05-19 19:20:44 +02:00
degasus
37e2e92e33 JitArm64: Handle ISI excepction. 2016-05-19 19:20:44 +02:00
degasus
95ebb2991f JitArm64: Check Exceptions on mtmsr. 2016-05-19 19:20:44 +02:00
degasus
782c68cf00 JitArm64: Clean up LWZ idle skipping. 2016-05-19 19:20:44 +02:00
JosJuice
a399966751 Movie: Better safety when writing to s_revision 2016-05-19 12:29:50 +02:00
Markus Wick
da3b03c61d Merge pull request #3829 from phire/timing_madness
Increase Audio DMA Interrupt delay to 200 cycles (Fix assorted Namco games)
2016-05-18 20:14:02 +02:00
Markus Wick
ae5d6003cd Merge pull request #3758 from phire/minor_core_timing_fix
CoreTiming: Trim max slicelength to the given value.
2016-05-18 17:56:02 +02:00
Markus Wick
e2d65778fc Merge pull request #3816 from magumagu/neogamma-hack
Add hack to IPCHLE to make NeoGamma work.
2016-05-18 17:49:58 +02:00
Markus Wick
5a36b7db24 Merge pull request #3811 from magumagu/eslaunch-timing
Fix timing regression affecting ES_LAUNCH.
2016-05-18 17:15:30 +02:00
Markus Wick
60e7c78007 Merge pull request #3840 from degasus/arm
JitArm64: Faster block linking.
2016-05-18 16:49:01 +02:00
Mat M
e5bafeb40a Merge pull request #3821 from mathieui/gcadapter-no-device
Fix a hang with the GC Adapter
2016-05-13 21:36:51 -04:00
degasus
637851fce0 JitArm64: optimize bclrx
the unconditional path is the most common, so no need to switch to far code here.
2016-05-14 00:05:55 +02:00
degasus
b6f16352e4 JitArm64: Check downcount on block linking.
This skips one B() call.
2016-05-14 00:04:58 +02:00
degasus
10e716c623 JitCommon: Pass jit block instead of host pointer on linking.
So the JIT may do more fancy stuff.
2016-05-14 00:04:58 +02:00
degasus
cf3c65fbd0 JitArm64: Use B() instead of BR() to jumo to ASM.
Avoid indirect jumps as good as possible. This is a noticeable speedup.
2016-05-14 00:04:58 +02:00
degasus
b2be9bd7f7 JitArm64: Inline JitAsm in JitArm64.
So they share the same emitter, and so they are in the same 128MB range.
This allows us to use B() to jump to the dispatcher.

However, so we have to regenerate them on every cache clear.
2016-05-14 00:04:58 +02:00
EmptyChaos
c1944f623b Core/Movie: Add ability to run code in Host context
EndPlayInput runs on the CPU thread so it can't directly call
UpdateWantDeterminism. PlayController also tries to ChangeDisc
from the CPU Thread which is also invalid. It now just pauses
execution and posts a request to the Host to fix it instead.

The Core itself also did dodgy things like PauseAndLock-ing
from the CPU Thread and SetState from EmuThread which have been
removed.
2016-05-13 09:23:44 +10:00
EmptyChaos
e8dfc8e654 Movie: Threadsafety Audit
Fix TASInputDlg which was trying to access the GUI without the GUI
lock from the CPU Thread.
2016-05-13 09:23:44 +10:00
EmptyChaos
c1922783f8 Core: Threadsafety Synchronization Fixes (Frame Advance / FifoPlayer)
Fix Frame Advance and FifoPlayer pause/unpause/stop.

CPU::EnableStepping is not atomic but is called from multiple threads
which races and leaves the system in a random state; also instruction
stepping was unstable, m_StepEvent had an almost random value because
of the dual purpose it served which could cause races where CPU::Run
would SingleStep when it was supposed to be sleeping.

FifoPlayer never FinishStateMove()d which was causing it to deadlock.
Rather than partially reimplementing CPU::Run, just use CPUCoreBase
and then call CPU::Run(). More DRY and less likely to have weird bugs
specific to the player (i.e the previous freezing on pause/stop).

Refactor PowerPC::state into CPU since it manages the state of the
CPU Thread which is controlled by CPU, not PowerPC. This simplifies
the architecture somewhat and eliminates races that can be caused by
calling PowerPC state functions directly instead of using CPU's
(because they bypassed the EnableStepping lock).
2016-05-13 09:23:44 +10:00
mathieui
8f0cbefbe5 Disable part of the adapter features for netplay
In order to avoid desyncs
2016-05-12 23:31:51 +02:00
Matthew Parlane
356f709537 Merge pull request #3810 from mathieui/fix-adapter-recording-savestate
Fix loading save states with input recording with the adapter
2016-05-12 20:53:04 +12:00
mathieui
2a0ba5aaa6 Fix loading save states with input recording with the adapter
Intended fix for issue #9508
2016-05-12 10:45:03 +02:00
mathieui
8d23ebaa6b Revert "Fix netplay desync when using wii-u adapter."
This reverts commit 429ae8fb01.

 Conflicts:
	Source/Core/Core/HW/SI_DeviceGCAdapter.cpp
	Source/Core/Core/HW/SI_DeviceGCAdapter.h
2016-05-12 02:01:35 +02:00
Scott Mansell
2c95cf0f5a Increase Audio DMA Interrupt delay to 200 cycles.
We really need hardware tests for this one. But this will do as a
quick fix for issue 9509 for 5.0
2016-05-09 14:16:32 +12:00
magumagu
cfce7a2aab Fix IPCHLE to make NeoGamma work.
NeoGamma is explicitly sending a nonsense command to the Bluetooth module;
make sure to respond with something sane.

Fixes issue 9470, a regression from PR #1856.
2016-05-07 11:37:21 -07:00
degasus
2030ad4577 SCM: Use std::string.
Those macros may be defined, or not. We should support both cases, so use std::string as it also defines the length of the string.
2016-05-05 00:22:49 +02:00
Matthew Parlane
ea82fcc24f Merge pull request #3658 from Tilka/helpers
Interpreter: simplify some helpers
2016-05-03 22:44:27 +12:00
Matthew Parlane
e0a5f1bb75 Merge pull request #3791 from spxtr/mw-timer
Use CoreTiming for MemoryWatcher.
2016-05-03 22:30:51 +12:00
magumagu
36f01e141d Fix timing regression affecting ES_LAUNCH.
Scheduling an event for zero cycles in the future actually means zero
cycles with new timing changes, but the code for IPC ACKs was depending on
it meaning "soon".

Fixes #9511.

I'm not at all confident this is actually right... but it seems to work.
2016-05-02 21:56:49 -07:00
Matthew Parlane
3d375592a2 Merge pull request #3798 from phire/goto_dino
Fix handling of Wii NAND's /tmp directory during savestate loads.
2016-05-01 11:37:33 +12:00
mathieui
542e7ba158 Make a generic rumble function
Call the appropriate rumble function for each SI Device, Should fix #9331.
Ideally we wouldn’t have to do this, but since the way things are wired,
fixing the root cause it out of the picture for now.
2016-04-30 12:54:31 +02:00
degasus
170a7f1a06 CoreTiming: Trim max slicelength to the given value.
Previously it was underclocking by 50% when there were
no events to schedule.
2016-04-30 19:28:14 +12:00
Matthew Parlane
3df4b09a94 Merge pull request #3797 from phire/casually_delete_some_code
Fix netplay desync when using wii-u adapter.
2016-04-30 17:55:06 +12:00
Mathew Maidment
45e0cb70df Merge pull request #3770 from EmptyChaos/dsp-int-fail
DSP: Fix array out of bounds
2016-04-29 20:07:07 -04:00
Mathew Maidment
b99b685f22 Merge pull request #3800 from phire/unexceptional-exceptions
Make exceptions consistent across all JITs/Interpreters (Fixes Pokemon Box)
2016-04-29 19:48:55 -04:00
Mathew Maidment
b420abc908 Merge pull request #3769 from RisingFog/remove_framestep
Remove Unused Framestop Functions
2016-04-29 19:41:25 -04:00
spxtr
b9e9a5ee3d Use CoreTiming for MemoryWatcher. 2016-04-28 21:28:15 -07:00
Scott Mansell
eb5819f88a Make exceptions consistant across all JITs/Interpeters.
They all handled it diffrently, so I've just moved it into Advance()

This fixes Pokemon Box booting in JIT/JITIL which shared a bug where
exceptions set in a scheduled event would be ignored untill the next
slice (upto 20,000 cycles).
2016-04-28 17:22:52 +12:00
Scott Mansell
8f4ac5bbad Close all files so /tmp can be deleted on save state load.
Because the file handles were open, the recursive delete was
failing. The previous commit stopped the crash but this should
make the restore actually happen has expected.
2016-04-25 18:29:49 +12:00
Scott Mansell
429ae8fb01 Fix netplay desync when using wii-u adapter.
If the game sent a command to a disconnected controller, the
wii u adapter code would return a diffrent response.

This simply deletes the speclized version of RunBuffer for the
wii-u adapter as the only diffrence was the code which detected
disconnected controllers and returned a error.
2016-04-25 15:26:31 +12:00
EmptyChaos
32239f500c VideoInterface: Fix registers not being initialized
VideoInterface::Preset was not initializing all registers, this is a problem
because it leaks register settings across games. Xenoblade Chronicles does
not like m_DisplayControlRegister having random bit patterns in it.
2016-04-17 09:35:22 +10:00
Lioncash
4ae4b241ec ChunkFile: Handle bool in a stable way across platforms
bool is not always guaranteed to be the same size on every platform.
On some platforms it may be one byte, on others it can be 8 bytes if the
platform dictates it. It's implementation-defined.

This can be problematic when it comes to storing this
data to disk (it can also be space-inefficient, but that's not really an
issue). Also say for some reason you moved your savestates to another
platform, it's possible they won't load correctly due to differences in size.

This change stores all bools to savestates as if they were a byte in size
and handles the loading of them accordingly.
2016-04-14 22:55:03 -04:00
JosJuice
be191c0473 DVDInterface/DVDThread: Don't store CoreTiming event IDs in savestates
CoreTiming event types aren't guaranteed to be stable across
runs of Dolphin, so they shouldn't be in savestates.
2016-04-11 22:14:25 +02:00
Pierre Bourdon
58d8c734b8 Merge pull request #3773 from phire/if_you_want_100_cycles_ask_for_100_cycles
"Instant" ARAM DMA shouldn't schedule and event too soon.
2016-04-11 21:46:43 +02:00
Scott Mansell
5e50c37c13 Alternative fix: promote cycleslate to an s64 everywhere.
Also changed a few functions to be static.
2016-04-10 02:13:06 +12:00
Scott Mansell
28e0607522 Fix Metroid: Other M
During boot of Other M, there is momentarily a period when VICallback's
cycles late is larger than GetTicksPerHalfLine(). Because
GetTicksPerHalfLine() returns a u32 and c++'s weird type promotion rules,
cycleslate gets promoted from a s32 to a u32 and the result of the
substraction is a really large u32.

Before ScheduleEvent accuracy improvements, ScheduleEvent took a s32, so
the result got cast back to the small negitave we expect. But it now takes
a s64 and the u32 to s64 conversion gives us a really large number (around
two seconds) and Other M times out while waiting for something.
2016-04-10 00:10:56 +12:00
Scott Mansell
662ed217d7 "Instant" ARAM DMA shouldn't schedule and event too soon.
Now that the accuracy of ScheduleEvent has changed, 0 cycles will
schedule an event as soon as possible. But this breaks ATV 2.

So we schedule it 100 cycles out (unless it's a really short copy)
2016-04-09 22:34:53 +12:00
EmptyChaos
80ff82b81a DSP: Fix integer promotion spill 2016-04-08 12:08:17 +10:00
Scott Mansell
365baeccb4 Only force progressive if we are currently in an interlaced video mode
The NES games on the Zelda Collecters Edition disk use a XFB which is
only 256 pixels wide, but has a stide of 640 pixels.

This fits our definition of a interlaced xfb, as a second line of data
could fit in the extra space. The solution is to check that we are
actually in a interlaced video mode before activating the force
progressive hack.
2016-04-06 05:12:53 +12:00
Chris Burgener
3140f9b226 Change GetStatePtr() Return to const 2016-04-05 12:45:48 -04:00
Chris Burgener
54eb8c09f9 Remove Unused Framestop Functions 2016-04-05 12:19:12 -04:00
JosJuice
2db2672810 Always clear memory when booting
Reading uninitalized memory is non-deterministic. We used to only
clear the memory when using EmulatedBS2_GC or FifoPlayer, but we
now do it during Memory::Init instead so it always gets done.
2016-04-01 21:35:26 +02:00
Scott Mansell
fbcac2598a Use a sane default for the controller update rate.
Previously the default queryed the controller 4500 times a second,
Wasn't really a problem for most games as they set it to a sane
value. But fifoplayer didn't, and so in my profile dolphin spends
12% of the cpu time reading the controllers.

This new default value (I just took what the gamecube bios set)
drops that to 1.2% of cpu time and increase the framerate of the
silent hill fifo by 10-12%
2016-03-27 09:02:52 +13:00
Pierre Bourdon
bd200bd195 Merge pull request #3736 from BhaaLseN/issue-9135
Rewrite NAND Content handling in ES to fix Issue 9135
2016-03-26 05:00:08 +01:00
Pierre Bourdon
21eb1cd158 Merge pull request #3635 from phire/lazy_comex
Implement BLR Overflow handling for Windows.
2016-03-26 01:42:54 +01:00
Scott Mansell
d61baef2f6 Disable JitArm64's inline timebase implemenation, as it's incorrect.
The interpeted version is correct.
2016-03-24 05:17:10 +13:00
Scott Mansell
27beef1ff4 Store an inverted copy of lastOCfactor.
The inverse operation is more common, especially when games check the
timer rapidly. So we do the division once and store the inverted copy.
2016-03-24 05:17:10 +13:00
Scott Mansell
407f86e01a Mark global variables with g_ prefix 2016-03-24 04:32:12 +13:00
Scott Mansell
67dc26cf1d CoreTiming: Fix 31bit overflow for events scheduling.
Events scheduled more than 4.12 seconds in the future (2.96 seconds for
Wii games) would overflow the sign bit and get scheduled in the past
instead, causing them to fire instantly.
2016-03-24 04:27:14 +13:00
Scott Mansell
2ebbfd6f85 Adjust cycle counts so they are accurate to the jit block level
Previously GlobalTimer was only updated at the end of each slice
when CoreTiming::Advance() was called, so it could be upto 20,000
cycles off.

This was causing huge problems with games which made heavy use of
the time base register, such as OoT (virtual console) and Pokemon
puzzle.

I've also made it so event scheduling will be accurate to the jit
block level, instead of accurate to the slice.
2016-03-24 04:24:53 +13:00
BhaaL
0aeac66222 clear the NAND data cache on ES_LAUNCH to avoid leaving files open
also, clear it on Device_ES::Close, just to make sure nothing remains open.
2016-03-20 13:50:19 +01:00
BhaaL
a449ef4e11 properly open/close the file to avoid rapid open/close cycles
ES_OPENCONTENT and ES_CLOSECONTENT now call Open and Close respectively,
as the old code did.
2016-03-20 13:10:51 +01:00
BhaaL
8a6d9e1e0b hide the distinction between WAD and File from ES
instead, leave all the management with the NANDContentLoader.

for file data (directly on the NAND), this opens the file on-demand and
returns the requested chunk when asked for it.
for on-the-fly decrypted WAD data, we just keep the decoded buffer in
memory, like we've done before - except that we don't give away any objects
we don't want to.
2016-03-20 13:10:50 +01:00
BhaaL
8fd2f05741 remove all accesses to m_pContent
this fixes the crashes, but leaves the "else" part of ES_READCONTENT
temporarily broken until the next commit.

WAD access that are performed on the encrypted WAD will most likely fail
with this commit.
2016-03-20 13:10:49 +01:00
BhaaL
598c3dbe2f get rid of the cached pointer inside ES
only fixes half the issues, since we still cache a pointer from
SContentAccess.m_pContent to SNANDContent.m_data (which is free'd along
with the rest of the NAND data cached inside the CNANDContentManager when
ClearCache is called)
2016-03-20 13:10:48 +01:00
BhaaL
1e28d06f26 fix some style inconsistencies that drove me nuts 2016-03-20 13:10:47 +01:00
Scott Mansell
c5b3a2efac Implement BLR Overflow handling for Windows. 2016-03-20 00:41:28 +13:00
Pierre Bourdon
f0e25b8477 Merge pull request #3668 from RisingFog/wii_movie_sysconf
Apply Wii Settings on Movie Recording/Playback
2016-03-14 01:42:37 +01:00
Ryan Houdek
03071c0c5c Merge pull request #3711 from degasus/arm
JitArm64: Implement dcbx
2016-03-12 17:38:00 -05:00
Lioncash
84b0a930da NetPlayServer: Get rid of some explicit deallocations 2016-03-08 19:31:36 -05:00
Pierre Bourdon
370e91d4c0 Merge pull request #3708 from ismail/miniupnpc-api-16
Fix build with MINIUPNPC_API_VERSION >= 16
2016-03-07 13:49:26 +01:00
degasus
54a4d68c9a JitArm64: implement dcbx 2016-03-05 00:29:38 +01:00
Ryan Houdek
8f75594de7 Merge pull request #3694 from degasus/arm
JitArm64: Small improvements.
2016-03-04 18:01:25 -05:00
Pierre Bourdon
3b6af8c7a5 Merge pull request #3691 from rukai/netplayWiiRemoval
Netplay Wii Remote Removal
2016-03-04 23:45:07 +01:00
degasus
9bf50fb93d JitArm64: Fix mulli.
mulli has no inst.OE
2016-03-04 22:51:47 +01:00
degasus
9ed465f4ac JitArm64: Implement mulhwx 2016-03-04 22:51:46 +01:00
degasus
889a0d396d JitArm64: Align farcode entry points to 16 bytes 2016-03-04 22:49:02 +01:00
degasus
eaa0e275db JitArm64: Use immediate WriteExceptionExit more often. 2016-03-04 22:49:01 +01:00
degasus
689205f0a4 JitArm64: small cleanup, no changes 2016-03-04 22:49:01 +01:00
degasus
7b017c6a65 JitArm64: Use a register as PC argument for the dispatcher. 2016-03-04 19:50:12 +01:00
degasus
050932ed23 JitArm64: Rename global registers. 2016-03-04 19:50:12 +01:00
degasus
57d76cefb0 JitArm64: Merge WriteExceptionExit. 2016-03-04 19:50:12 +01:00
degasus
55b9ce9b5b JitArm64: Store memory pointer once, not per block. 2016-03-04 19:50:12 +01:00
degasus
56c8f65bc2 JitArm64: Precheck for exceptions before calling PowerPC::CheckExceptions. 2016-03-04 19:50:12 +01:00
degasus
aea48c4591 JitArm64: Drop unused WriteExceptionExit. 2016-03-04 19:50:11 +01:00
degasus
c5b0dc98c2 JitArm64: Fix LWZ idle skipping. 2016-03-04 19:50:11 +01:00
İsmail Dönmez
20f8b471a8 Fix build with MINIUPNPC_API_VERSION >= 16
miniupnp commit c4991916e5c12a7754e935e71a5313e75af6aeb9 introduced a
4th statusCode parameter to miniwget function. This parameter is set
to a value returned by the UPnP device. We have to check if it's set
to 200 to make sure the result is a success. Also, we now have to check
if descXML is set in the error case and free it.
2016-03-04 10:59:57 +02:00
Pierre Bourdon
f752c6e704 Merge pull request #3589 from mathieui/gcadapter-recording
Fix recording a movie with the GC Adapter
2016-03-03 02:02:29 +01:00
Mathew Maidment
c2802f96a6 Merge pull request #3655 from jcowgill/spelling-fixes
Fix some very minor spelling mistakes
2016-03-02 14:04:05 -05:00
Rukai
1b65adcd56 Fully remove wii remote netplay UI code and remove reference to WiimoteReal in NetPlayClient.cpp 2016-03-02 21:02:15 +11:00
Dolphin Bot
ab50dd1926 Merge pull request #3667 from RisingFog/fix_savestates
Fix savestates if a device is changed after a savestate is made
2016-03-01 15:35:09 +01:00
Ryan Houdek
36b476ed76 Merge pull request #3683 from Sonicadvance1/aarch64_fix_fcmp
[AArch64] Fix fcmp.
2016-03-01 09:29:56 -05:00
Ryan Houdek
344a4ddc9b Merge pull request #3685 from degasus/arm
JitArm64: Optimize addi
2016-03-01 09:29:42 -05:00
Chris Burgener
7991605ad9 Fix savestates if a device is changed after a savestate is made 2016-03-01 09:28:04 -05:00
Pierre Bourdon
392051bd69 Merge pull request #3679 from JosJuice/seek-log-sign
DVDInterface: Log seek offsets with a more intuitive sign
2016-02-29 16:49:39 +01:00
degasus
e2725792d4 JitArm64: Optimize addi 2016-02-29 08:39:24 +01:00
degasus
4478146c80 JitArm64: Split addi from arith_imm.
They ARM assembly has different immediate versions for logic and additions, so there is no use in merging those instructions.
2016-02-29 08:39:14 +01:00
Chris Burgener
b1c8198cec Move SetData logic to within SysConf.cpp 2016-02-28 19:42:15 -05:00
Ryan Houdek
abaa8fc24d [AArch64] Fix fcmp.
Fixes Luigi's head vanishing. Was due to a mishandling of nans.
Confirmed fixed by hardware test.
2016-02-28 13:15:47 -06:00
degasus
68defb72a3 JitArm64: Don't generate the carry if it's not used any more. 2016-02-27 21:27:29 +01:00
JosJuice
9427d6efb9 DVDInterface: Log seek offsets with a more intuitive sign 2016-02-27 15:20:49 +01:00
Pierre Bourdon
1b37b39d64 Merge pull request #3673 from mmastrac/dvd_nobackwardsbuffer
[DVD] Ignore buffer when seeking backwards
2016-02-26 13:14:47 +01:00
Pierre Bourdon
1d07fee367 Merge pull request #3432 from stenzek/bba-tap-win
EXI: Refactor Windows BBA-TAP interface to a read thread, crash fixes, cleanups
2016-02-26 12:46:20 +01:00
mathieui
4fe2886c2c [netplay] Use the device only if it’s a gc controller or similar
(bad things could happen if we wire up the gba with netplay)
2016-02-25 22:58:21 +01:00
mathieui
7b2c54ad93 [Movie] allow recording with any pad
(bongo/dancemat/adapter…)
2016-02-25 22:58:21 +01:00
mathieui
d61ef9a95a [SI] add a way to check if the current controller is a gcpad
(or gcpad-compatible)
2016-02-25 22:58:17 +01:00
Matt Mastracci
f1a5d6c104 [DVD] Ignore buffer when seeking backwards
Unfortunately this fix re-breaks Arc Rise Fantasia, so we must restore its INI as well.
2016-02-25 12:09:25 -07:00
degasus
3286bbd9bd JitArm64: Track single precision in ps_sel. 2016-02-25 19:47:07 +01:00
degasus
141e299161 JitArm64: Track single precision in fctiwzx. 2016-02-25 19:47:07 +01:00
degasus
e0793a274f JitArm64: Track singles in fselx. 2016-02-25 19:47:07 +01:00
degasus
b4d0307b25 JitArm64: Remove LoadTo* helpers. 2016-02-25 19:47:07 +01:00
degasus
2112d8dfda JitArm64: Replace REG_IS_LOADED with REG_LOWER_PAIR 2016-02-25 19:47:07 +01:00
degasus
c30a66b2d5 JitArm64: Track singles in fabs. 2016-02-25 19:47:07 +01:00
degasus
84395b65f6 JitArm64: Track singles in psq_st. 2016-02-25 19:47:06 +01:00
degasus
fe87462be8 JitArm64: Track singles in stfs. 2016-02-25 19:47:06 +01:00
degasus
5fad3d94a0 JitArm64: Track singles in fcmpX. 2016-02-25 19:47:06 +01:00
degasus
c8948ff8c7 JitArm64: Track single precision in ps_maddXX. 2016-02-25 19:47:06 +01:00
degasus
7fd68c8761 JitArm64: Track singles in ps_sumX. 2016-02-25 19:47:06 +01:00
degasus
ca091b9e92 JitArm64: Track single precision in ps_res. 2016-02-25 19:47:06 +01:00
degasus
d185d2f704 JitArm64: Track singles in ps_mulsX. 2016-02-25 19:47:06 +01:00
degasus
6572790d8b JitArm64: Track singles in ps_mergeXX. 2016-02-25 19:47:06 +01:00
degasus
5506295123 JitArm64: Track singles in frspx. 2016-02-25 19:47:06 +01:00
degasus
0efdd5cacd JitArm64: Track singles in paired fp_logic. 2016-02-25 19:47:06 +01:00
degasus
003288a886 JitArm64: Track singles in fp_arith. 2016-02-25 19:47:05 +01:00
degasus
ae1b5ff9e8 JitArm64: Track single precision in load/store. 2016-02-25 19:47:05 +01:00
degasus
1e59dc1025 JitArm64: Single precision tracking. 2016-02-25 19:47:05 +01:00
Chris Burgener
4aa6f6c812 Apply Wii Settings on Movie Recording/Playback 2016-02-24 21:22:37 -05:00
Ryan Houdek
0e7401f350 Merge pull request #3639 from ASSympt0te/toggle-frame-limit-changes-fixes
Reword "Toggle Frame Limit" to better explain function
2016-02-24 12:15:11 -05:00
Sintendo
00cc59e83a VideoInterface: Fix comment typo 2016-02-21 09:39:01 +01:00
Tillmann Karras
3b2e170f0b Interpreter: simplify subtable handling 2016-02-20 02:20:41 +00:00
Tillmann Karras
b291b0a7c2 Interpreter: simplify mask helper 2016-02-20 01:03:46 +00:00
Tillmann Karras
af5ff9941a Interpreter: deduplicate CR0 helper 2016-02-20 01:03:37 +00:00
James Cowgill
db8dbae131 Fix some very minor spelling mistakes
Found by Lintian https://lintian.debian.org/
2016-02-19 01:48:10 +00:00
Pierre Bourdon
05f5668bcc Merge pull request #3591 from phire/VC_widescreen
Make all Virtual console games 4:3 (and cleanup GameInis)
2016-02-16 00:41:33 +01:00
blendmaster345
c61625cdd3 Relabel hotkey option for toggle frame limit to better reflect function 2016-02-15 04:11:21 -06:00
Pierre Bourdon
14cdf82a69 Merge pull request #3638 from lioncash/mmio
Memmap: Make the MMIO mapping a unique_ptr
2016-02-15 10:29:40 +01:00
Lioncash
b36b10fa78 Memmap: Make the MMIO mapping a unique_ptr 2016-02-15 00:02:00 -05:00
Matt Mastracci
4e6f58d82e [DVD] Signedness fix in realistic timing path 2016-02-14 14:27:08 -07:00
Ryan Houdek
cafc879b7c Merge pull request #3617 from degasus/arm
JitArm64: Merge FP functions.
2016-02-13 18:57:01 -05:00
Tillmann Karras
797431dda4 MMIO: correct error message 2016-02-13 17:42:24 +00:00
degasus
f259a8d6cf JitArm64: Merge more stuff into ps_maddXX. 2016-02-12 23:26:47 +01:00
degasus
8b32cd0738 JitArm64: Merge ps_sumX. 2016-02-12 10:09:57 +01:00
degasus
2d8e1bc34d JitArm64: Merge PS stuff into fp_logic. 2016-02-12 10:09:57 +01:00
degasus
52f9912c46 ArmJit64: Merge FP two operant instructions. 2016-02-12 10:09:57 +01:00
degasus
157404fd1e JitArm64: Merge ps_mulsX. 2016-02-12 10:09:57 +01:00
degasus
09af32c063 JitArm64: Merge ps_mergeXX. 2016-02-12 10:09:57 +01:00
degasus
1b6d9dfc4e JitArm64: Merge ps_maddsX. 2016-02-12 10:09:57 +01:00
degasus
19713f7c14 JitArm64: Merge scalar 4-operant instructions. 2016-02-12 10:09:53 +01:00
degasus
9c048bbc36 JitArm64: Also merge 3 way FP-PS instructions. 2016-02-10 17:41:25 +01:00
degasus
83eb1d8c31 JitArm64: Merge 3 way FP instructions. 2016-02-10 17:41:25 +01:00
Aestek
b92a80ba1b Fix: segfault in NetPlayServer::GetInterfaceListInternal for ifa_addr-less interfaces
`NetPlayServer::GetInterfaceListInternal` was crashing dolphin with a segfault when encountering a
network interface without `ifa_addr`.
2016-02-08 21:21:27 +01:00
Ryan Houdek
35d7c2bc78 Merge pull request #3593 from Sonicadvance1/Android_Mayflash_adapter
[Android] Implement support for real Wiimotes with the DolphinBar
2016-02-07 15:51:33 -05:00
Ryan Houdek
fe53461611 [Android] Implement support for real Wiimotes with the DolphinBar
This is the only way to get Wiimotes working under Android now.
This, just like the Wii U Gamecube Controller Adapter, completely goes around Android's limitations and talks with the device directly through USBManager.

Couple notes.
Continuous scanning must be enabled otherwise the Wiimotes won't be seen.
The UI doesn't expose support for this yet. One must change the Wiimote source and continuous scanning settings manually.

Testing up to two wiimotes in Taiko No Tatsujin, no reason to believe all four won't work.
2016-02-07 05:31:48 -06:00
Ryan Houdek
19cd9ecf16 Fix a few missing includes 2016-02-05 10:50:08 -06:00
Scott Mansell
baad10593e GameInis: Allow one ini to cover all VC games for a console
Since all Virtual console releases use the same emulator (though there
are multiple revisions some emulators) and generally need the same
setting, this commit allows the creation of INI files which cover all
Virtual Console games fow each system.

For example, F.ini can provide settings that all NES games have in common
and C.ini will provide settings for all Commadore 64 games.

If needed, a 3 letter ini can override settings for individual games.
2016-02-05 17:35:13 +13:00
Stenzek
98e5270b3c EXI: Use unique_ptr in CEXIEthernet 2016-01-31 23:52:43 +10:00
Stenzek
e75d37ec36 EXI: Fix crash when loading save states with BBA activated 2016-01-31 23:52:40 +10:00
Stenzek
ccc70a98f3 EXI: Refactor BBA-TAP interface for Windows to use a read thread
This also has the added benefit of not crashing under most circumstances.
Includes a few other changes, including replacing the atomic<bool> with a
Flag, as well as adding a flag for indicating read thread shutdown.
2016-01-31 23:52:33 +10:00
Pierre Bourdon
c2c1f839dd Merge pull request #3574 from palxex/master
fix El Capitan WiimoteReal pairing problem and refresh crash problem
2016-01-30 13:17:08 +01:00
Pierre Bourdon
50221088a9 Merge pull request #3576 from lioncash/boot
BootManager: Minor changes
2016-01-30 13:14:52 +01:00
Pierre Bourdon
9da8593cf4 Merge pull request #3569 from mathieui/netplay-gcpad-position
[netplay] Fix a regression
2016-01-30 11:54:31 +01:00
Pierre Bourdon
ff5d6887d1 Merge pull request #3575 from mathieui/netplay-server-cleanup
Small netplay server cleanup & fix
2016-01-30 11:51:50 +01:00
mathieui
c7750b287d netplay: default the local pad to a gc controller
if the configured local pad is none, it will make dolphin behave
incorrectly (due to the game expecting inputs from the device while it
doesn’t exist).
2016-01-28 20:24:18 +01:00
Pal Lockheart
ea44e0e3ba fix El Capitan WiimoteReal pairing problem and refresh crash problem 2016-01-28 14:29:44 +08:00
mathieui
4529930f91 gcadapter: fix an incorrect mapping for non-local devices
Remote devices would always enter an error path and get disconnected
from the gamecube, breaking netplay in the process.

Culprit is still InGamePadToLocalPad
2016-01-28 02:46:58 +01:00
mathieui
b9b4a0c530 gcadapter: set the konga setting properly
if it was used in netplay, it would read memory out of bounds
(due to the mapping method returning 4 if the device was remote) which
was 0 more often than not, causing the device in this position to be a konga.

(which may or not be the gcadapter due to the swap between local and
ingame controllers)
2016-01-28 02:39:55 +01:00
degasus
a4a2928905 FifoPlayer: Sleep while high watermark is set. 2016-01-27 07:23:17 +01:00
Lioncash
d7d0673900 BootManager: Vertically align where sensible to do so 2016-01-26 20:54:22 -05:00
Lioncash
0c920f175f BootManager: Simplify SaveConfig
Also std::array-ifies C-array members of ConfigCache
2016-01-26 20:52:57 -05:00
mathieui
aaf2be2044 bootmanager: update the supposed-end-of-enum
fixes a bug where gcadapter would fuck up netplay
2016-01-27 01:43:38 +01:00
mathieui
24cb6487d4 [netplay] Fix a regression
Introduced in 6e13496d8, pads would get assigned to their netplay
position, which breaks assumptions. With this behavior, the SI devices
should be mapped properly.
2016-01-27 01:43:31 +01:00
mathieui
8ce9191948 NetPlayServer: Make SendAsyncToClients use an unique_ptr 2016-01-27 01:34:03 +01:00
mathieui
34ae512d91 NetPlayServer: Make pad data unpacking nicer to read 2016-01-27 01:34:03 +01:00
mathieui
1c808a2835 NetPlayServer: Possible out-of-bounds access on invalid input
if a pad or wiimote number was outside bounds (e.g. 42353543232),
it would still have been read from the array, which could lead to
inappropriate consequences, like a segfault.
2016-01-27 01:33:50 +01:00
mathieui
8e1be37feb NetPlayServer: in-class initialization 2016-01-27 01:20:44 +01:00
degasus
159d83c5a9 FifoPlayer: Use more enums. 2016-01-26 19:19:21 +01:00
Mathew Maidment
48e7e5b72e Merge pull request #3567 from lioncash/netplay
NetPlayClient: Minor changes
2016-01-25 05:13:54 -05:00
Mathew Maidment
ee0fbdf087 Merge pull request #3558 from lioncash/dvd-global
DVDInterface: Reduce a global variable to translation unit scope
2016-01-25 05:13:08 -05:00
Lioncash
c434b5b3a9 NetPlayClient: Use std::array instead of C arrays for buffers 2016-01-25 04:57:21 -05:00
Lioncash
7304c863a6 NetPlayClient: Deduplicate code for player list retrieval 2016-01-25 04:57:20 -05:00
Lioncash
e6ad76fa70 NetPlayClient: Extract control mapping checking to its own function 2016-01-25 04:57:19 -05:00
Lioncash
8588c8fd31 NetPlayClient: Make SendAsync take a unique_ptr as a parameter 2016-01-25 04:57:18 -05:00
Lioncash
c2deb337aa NetPlayClient: In-class initialize variables where possible 2016-01-25 04:57:17 -05:00
Lioncash
1d8ff504a5 NetPlayClient: Make m_state private
Also turns it into an enum class.
2016-01-25 04:57:16 -05:00
Lioncash
102672a797 NetPlayClient: Make is_connected private
This is only queried, there's no need to expose it for writing.
Even if it was written to, a data member shouldn't be part of
your public API unless its part of a dumb object or trivial struct.
2016-01-25 04:57:04 -05:00
Lioncash
d9f87b8030 NetPlayClient: Remove unnecessary includes
Replace with needed ones
2016-01-24 21:46:49 -05:00
Lioncash
90f2f48ef6 DVDInterface: Use correct prefix for static local variables 2016-01-24 17:24:33 -05:00
degasus
4295751662 Fifo: More comments for SyncGPU functions. 2016-01-24 11:06:01 +01:00
degasus
cf4478dc92 Fifo: Fix SyncGPU.
CBoot::BootUp() did call CoreTiming::Advance which itself blocks on the GPU,
but the GPU thread wasn't started already. This commit moves the SyncGPU
initialization into the Fifo.cpp file and call it after BootUp().
2016-01-24 11:06:01 +01:00
Lioncash
a2dc22f016 DVDInterface: Make a global a local variable 2016-01-23 18:40:55 -05:00
mathieui
5e709f3d72 [netplay] Use the local type of each SI device
Instead of using SI_GCcontroller which would make it not work with gc
adapters, bongos, and other stuff.

Trying to fix issue #9263
2016-01-23 17:29:07 +01:00
Ryan Houdek
ae4c7661d6 Merge pull request #3212 from mickdermack/pr-recalc-flags
JIT x64: Recalculate flags after add/sub
2016-01-22 12:45:52 -05:00
Lioncash
fdf6fb47e0 VideoInterface: specify internal linkage on local variable 2016-01-21 19:25:21 -05:00
Ryan Houdek
7c3e4b34f3 Merge pull request #3541 from Sonicadvance1/fix_netplay_option_sending
Stops netplay clients from failing to send settings on game start
2016-01-21 08:51:11 -05:00
Ryan Houdek
1a20772ccd Stops netplay clients from failing to send settings on game start
Clients have no need to send their configuration information on start and the server straight out ignores it.
Not to mention it shouldn't try sending a struct as a null terminated string.

Cleans up how the server sends the configuration slightly as well.
2016-01-21 07:20:21 -06:00
Lioncash
82147f42af VideoInterface: Correct namespace indentation 2016-01-21 00:40:01 -05:00
Lioncash
f45e1bff37 VideoInterface: Change a global into a translation-unit local variable 2016-01-21 00:39:24 -05:00
Pierre Bourdon
e455ca4d58 Merge pull request #3535 from RisingFog/cya_savestate_memleak
Properly clear JIT cache on save states
2016-01-20 18:02:25 +01:00
Chris Burgener
a7a744d33c Properly clear JIT cache on save states 2016-01-20 11:20:15 -05:00
Lioncash
42e9927bca VideoInterface: Fix code style/indentation 2016-01-19 20:16:18 -05:00
Pierre Bourdon
991d3f6f96 Merge pull request #3525 from lioncash/ptr
DSPEmulator: Make CreateDSPEmulator return a unique_ptr
2016-01-19 23:54:58 +01:00
Ryan Houdek
7b9eeba168 Merge pull request #3479 from Sonicadvance1/fix_hotkeys
Fix hotkeys not reporting inputs.
2016-01-19 02:15:25 -05:00
Ryan Houdek
f73961663e Fix a typo on the size passed in to the IPL descrambler.
Fixes issue #6081
2016-01-18 04:30:30 -06:00
Lioncash
2ff5923334 DSPEmulator: Make CreateDSPEmulator return a unique_ptr 2016-01-17 22:33:21 -05:00
Lioncash
d9fec92628 VideoCommon: Header cleanup
Also remedies places where the video backends and core rely on things
being indirectly included.
2016-01-17 20:11:45 -05:00
Mathew Maidment
87464d432b Merge pull request #3501 from rohit-n/build-pch
Fix building with PCH disabled.
2016-01-13 21:07:51 -05:00
Lioncash
f2038b9e90 HW: Remove unnecessary header inclusions 2016-01-13 02:47:32 -05:00
Pierre Bourdon
8f8134f5f4 Merge pull request #3504 from degasus/master
VideoBackend: Cleanup API a bit.
2016-01-13 01:27:24 +01:00
degasus
5f244abf28 Fifo: Create a "Fifo" namespace. 2016-01-12 23:28:26 +01:00
degasus
c3481a576b VideoBackend: Remove simple wrapper functions. 2016-01-12 23:28:26 +01:00
degasus
0c92603fd5 Merge VideoBackendHardware into VideoBackend.
And rename it to VideoBackendBase because of conflicts within the backends itself.
2016-01-12 23:18:58 +01:00
Lioncash
f8fcceb99e Jit: Get rid of indirect includes 2016-01-12 00:12:36 -05:00
Rohit Nirmal
f9837d4447 Fix building with PCH disabled. 2016-01-11 13:20:47 -06:00
Pierre Bourdon
68094171f8 Merge pull request #3489 from lioncash/interp
Interpreter: Remove unnecessary includes from Interpreter.h
2016-01-11 12:43:25 +01:00
Pierre Bourdon
84c4f75aeb Merge pull request #3498 from lioncash/global
MemTools: Get rid of a global variable
2016-01-11 12:43:01 +01:00
Pierre Bourdon
7c6fe11348 Merge pull request #3499 from lioncash/hle
HLE: Move static variable out of header
2016-01-11 12:42:48 +01:00
Lioncash
984fc7fb39 ARM Jit: Use std::tie for SlowmemHandler comparison 2016-01-11 04:28:16 -05:00
Lioncash
846c904624 HLE: Move static variable out of header
It's only ever used in the implementation file.
2016-01-11 04:11:12 -05:00
Lioncash
b688a62143 MemTools: Get rid of a global variable 2016-01-11 03:24:03 -05:00
Lioncash
d9a16f7c9c Interpreter: Remove unnecessary includes from Interpreter.h
Previously the JIT code relied on indirect inclusion from this header,
this gets rid of that.
2016-01-10 18:51:12 -05:00
Lioncash
986108715d JitInterface: Get rid of a global variable 2016-01-09 14:57:50 -05:00
Ryan Houdek
54e4d90b6d Fix assert on reset button hit.
Fixes issue 9225.
2016-01-09 11:23:22 -06:00
Pierre Bourdon
5db10d83f7 Merge pull request #3477 from mmastrac/memorywatcher_crash
MemoryWatcher: Initialize m_running
2016-01-09 16:11:42 +01:00
Ryan Houdek
6862d7c7b2 Fix hotkeys not reporting inputs. 2016-01-08 23:25:36 -06:00
Pierre Bourdon
39971ec039 Merge pull request #3472 from phire/TVs_dont_have_pixels
Rework the aspect ratio calculation (Fixes 240p mode)
2016-01-09 04:27:16 +01:00
Scott Mansell
c49a82bf0a Rework aspect ratio calculations.
They are now based on signal timings rather than pixels, as it
didn't make a lot of sense to do things with pixels.

Now handles all 240i/240p/480i/480p modes without any special
casing.

Despite the diffrent equaions, this should result in the exact same aspect
ratio as the previous code.
2016-01-09 14:30:46 +13:00
Pierre Bourdon
bf1c53a6e8 Merge pull request #3451 from RisingFog/libav
Use ffmpeg for Windows Video Dumping instead of VFW
2016-01-09 01:01:05 +01:00
Matt Mastracci
a60b24c937 MemoryWatcher: Initialize m_running to false to prevent crashes on OSX in the dtor when it picks up the wrong initial value 2016-01-08 12:20:35 -07:00
Scott Mansell
9c0dae47ca Normalize aspect ratio calculations to 4:3
Video Interface simply isn't aware about widescreen.
Instead, the render class can multiply by 1.3333333 to get
the 16:9 aspect ratio.
2016-01-08 13:31:48 +13:00
Chris Burgener
c34fb3edf0 Use ffmpeg for Windows Video Dumping instead of VFW 2016-01-07 18:37:58 -05:00
mathieui
40c7a2fb7d Use the current commit hash in the netplay version
So that it contains the current commit and not an arbitrary date that
may or may not be up-to-date. This will cause tears as people will not
be able to use netplay with one diverging commit that does not touch
anything related. On the other hand, users can’t be trusted.
2016-01-07 00:17:05 +01:00
Ryan Houdek
342496563d Merge pull request #3455 from Sonicadvance1/GC_adapter_android
[Android] Add support for the Wii U Gamecube adapter under Android.
2016-01-06 15:07:09 -05:00
booto
a1db1a2082 SI: Base SI sampling on VSync & horiz lines 2016-01-06 23:47:20 +08:00
Ryan Houdek
6e503bebc4 Add a stubbed GCAdapter namespace.
This cleans up a bunch of #ifdef checks in places.
2016-01-06 00:57:08 -06:00
Ryan Houdek
1dcc199a63 Fix GCPad recalibration shortcut.
Dolphin has supported the recalibration shortcut (X+Y+Start) for quite a long while. So if someont's axises are terrible, you could easily
recalibrate.
Games even get the initial calibration upon boot(Most of the time).

While changing over the GCAdapter code, I was testing to make sure the reset and calibration shortcuts still worked, turns out they didn't work at
all.
Looking in to the problem, we capture the combination properly, and we wait three seconds until we actually fire that off recalibration.
The problem is for Nintendo's SDK to properly handle recalibrating, we need to send back data saying that it needs to recalibrate.
On hardware this is done as part of the 64bits of data the controller sends back to us.
On holding of the controller, bit 61 of the return value is set, which the Nintendo SDK catches, and then signals immediately afterwards a CMD_ORIGIN
command in order to recalibrate the controller.
We were outright ignoring this bit, so the library wasn't ever recalibrating. I suspect in the past the class itself used to use the calibration data
to to offset the data, but somewhere along the lines it got munged out of existence.

The Gamecube adapter does this shortcut in a bit of a unique way, instead of sending the command and having the library support it and what have you.
Once holding the shortcut for the amount of time, the adapter reports back that the controller has actually been disconnected. Then when you let go of
the combination, the adapter states that a new device has been connected to that port, and the recalibration happens because a new device is
"connected."

This fixes controller calibration for both emulated GC controllers and also the Wii Gamecube Adapter.
2016-01-06 00:41:00 -06:00
degasus
3ff4ec275a Throttler: Rename "framelimiter" to "emulation speed".
We don't throttle by frames, we throttle by coretiming speed.
So looking up VI for calculating the speed was just very wrong.
The new ini option is a float, 1.0f for fullspeed.
In the GUI, percentual values are used.
2016-01-05 23:39:05 +01:00
Ryan Houdek
49410576e9 Make the Wii U Gamecube adapter work with less magic.
The Wii U Gamecube controller adapter setup has always been a bit weird. It tries to be as automatic as possible to make the user experience as easy
as possible.
The problem with this approach is that it brings a large disconnect in the user experience because you have the Gamecube controller setup with regular
gamepads and then for some reason below that you have a "direct connect" option which will cause the Gamecube Adapter to overwrite the regular inputs
if something was connected.
While this works and allows the user to only click one checkbox to get the device working, it breaks the user's experience because they don't really
know what "direct connect" means and won't look it up to figure out what it is. Just expecting the device to work (At least one occurence of this in
the IRC channel in the last week).

This way around also had the terrible nature of making the code more filthy than it needed to be. The GCAdapter namespace was parasitic and hooked in
to the regular GC Controller SI class to overwrite the data that it was getting from the default configuration.
Now instead we have a specific SIDevice class for the Wii U Gamecube adapter. This class is fairly simple and is a child of the regular SI Gamecube
Pad device and only reimplements what it needs to.
This also gives the ability to configure controllers individually, which allows the user to configure rumble individually per pad input.

Overall the code is cleaner, and it fits more in line with how the rest of Dolphin works.
2016-01-05 13:44:37 -06:00
Ryan Houdek
371e9f4fae Move SI_GCAdapter over to InputCommon 2016-01-05 13:44:37 -06:00
Ryan Houdek
14e6720f22 Fix warning in VideoInterface 2016-01-05 11:54:04 -06:00
Ryan Houdek
e8e0ad3e52 Merge pull request #3408 from Tilka/fcmp
JitArm64: fix fcmpo/fcmpu
2016-01-04 22:19:32 -05:00
Ryan Houdek
b00bb300e5 Merge pull request #3447 from degasus/arm
JITArm64: Single precision + FPRF
2016-01-04 22:09:44 -05:00
jake8
cc8aeec58c Added hotkey for toggling the crop setting 2016-01-04 10:10:49 -05:00
Ryan Houdek
a898aa1585 Merge pull request #3436 from endrift/fix-libusb
HW: Fix libusb support for older libusb APIs
2016-01-03 12:35:08 -05:00
Ganael Laplanche
fb3b1e4eb0 Add missing header for sprintf() 2016-01-03 01:30:39 -08:00
Jeffrey Pfau
d4e2c9fa98 HW: Fix libusb support for older libusb APIs 2016-01-03 00:53:31 -08:00
skidau
96d8ea5537 Merge pull request #3415 from rabbott99/movie-end-pause
Movie: Fix "Pause at End of Movie" for wii games
2016-01-02 09:08:06 +11:00
Rohit Nirmal
76333b388f Fix building with PCH disabled. 2016-01-01 10:26:15 -06:00
Ryan Houdek
f836e5937f Merge pull request #3422 from Sonicadvance1/Linux_bba_bridge
Support multiple bridge interfaces in Linux.
2016-01-01 04:23:06 -05:00
Ryan Houdek
454ebb7150 Merge pull request #3417 from aserna3/remove_salt_button
[Netplay] Disabled loading savestates
2016-01-01 04:02:43 -05:00
Ryan Houdek
4e22bab71d Support multiple bridge interfaces in Linux.
This allows you to run multiple instances of Dolphin that touch the BBA (Up to a 32 interface limit)
2016-01-01 02:51:31 -06:00
Scott Mansell
5cd4619a1d Merge pull request #3413 from spxtr/follow-pointers
Allow MemoryWatcher to follow pointers
2016-01-01 21:45:44 +13:00
Rohit Nirmal
a551e8adbb Fix building with PCH disabled. 2016-01-01 02:32:53 -06:00
Anthony Serna
42c38cbbd3 Blocked netplay users from desyncing by messing with savestates. 2015-12-31 18:50:45 -06:00
rabbott99
d2ef903d1a Movie: Fix "Pause at End of Movie" for wii games.
InputUpdate() is never called during wii playback, so the pause never
executed.
2015-12-30 23:11:40 -05:00
spxtr
525fc4fe8a Allow MemoryWatcher to follow pointers 2015-12-30 19:10:31 -08:00
booto
d9e921cc2c VI: set the JP bit of VI's DTV reg when needed
The "Force NTSC-J" option was broken by 480dbb22f2
 (i.e. field-timing). A side effect of this was that it exposed a bug
 where the JP region bit of VI's DTV reg was not automatically set for wads
 from the JP region.
2015-12-31 05:36:29 +08:00
Scott Mansell
afde6ae72c Merge pull request #3403 from spxtr/reporter
Add support for sending game memory changes to outside processes
2015-12-30 15:17:47 +13:00
spxtr
2f50560602 Add support for sending game memory changes to outside processes 2015-12-29 17:59:16 -08:00
Lioncash
4bc7c0c5a8 DSPCore: Prefix globals with g_ 2015-12-29 10:40:44 -05:00
Lioncash
78565fabbc DSPCore: Make the DSP emitter global a unique_ptr 2015-12-29 10:29:02 -05:00
skidau
c16c2d9356 Merge pull request #3393 from rabbott99/desync-fix
Movie: Reset wiimotes at at start of recording/playback to fix desync issues
2015-12-29 11:58:03 +11:00
rabbott99
9e54cf80c2 Movie: Reset wiimotes at at start of recording/playback,
to prevent desync issues which occur when the a game has been opened beforehand
2015-12-28 19:44:42 -05:00
skidau
5fefc1fd79 Merge pull request #3375 from mbc07/IPLfonts
Always load system fonts from IPL dump, if available
2015-12-29 11:21:03 +11:00
skidau
d3d0aa69ce Merge pull request #3397 from skidau/dsp-acc-loop-end
Catered for the case where ADPCM audio would loop before the end of the stream
2015-12-29 10:21:12 +11:00
Markus Wick
aabcd441d9 Merge pull request #3381 from Armada651/revert-3076
Revert "Merge pull request #3076 from void-ghost/stereo3d_presets"
2015-12-28 10:18:32 +01:00
Scott Mansell
790a836736 FifoAnalyzer: Fix a few warnings that visual studio missed. 2015-12-28 20:20:30 +13:00
Scott Mansell
52d6a7505a Merge pull request #3239 from phire/cleanup-fifo-analyzers
Cleanup fifo analyzers (and fix major bugs with fifo recording)
2015-12-28 11:14:09 +13:00
skidau
5555822ca2 Catered for the case where ADPCM audio would loop before the end of the stream. Patch by hk.konpie. 2015-12-26 22:57:43 +11:00
Mateus B. Cassiano
7f1fe7a6cb Always load system fonts from IPL dump, if available 2015-12-24 15:57:54 -03:00
Scott Mansell
0216879d3e Revert "Config Hotfix: Prevent per-game settings (ie. GameINI) being stored to the global user configuration." 2015-12-24 18:25:22 +13:00
Rohit Nirmal
4163ab6a0e Fix building with PCH disabled. 2015-12-23 09:54:33 -06:00
Jules Blok
8bda12bcfd Revert "Merge pull request #3076 from void-ghost/stereo3d_presets"
This reverts commit 81414b4fa2, reversing
changes made to b926061f64.

Conflicts:
	Source/Core/DolphinWX/Frame.cpp
	Source/Core/VideoCommon/VideoConfig.cpp
	Source/Core/VideoCommon/VideoConfig.h
2015-12-23 00:35:19 +01:00
Mathew Maidment
1b69743ba1 Merge pull request #3362 from lioncash/memory
NANDContentLoader/WiiWAD: Get rid of raw delete and new
2015-12-22 06:39:12 -05:00
Scott Mansell
ce6de78854 Merge pull request #3250 from JosJuice/loadgameini-condition
BootManager: Remove unnecessary LoadGameIni condition
2015-12-22 13:24:09 +13:00
JosJuice
1b946c2ff3 BootManager: Remove unnecessary LoadGameIni condition 2015-12-22 00:54:54 +01:00
Scott Mansell
a691e1fb6d Merge pull request #2621 from AdmiralCurtiss/config-cache-methods
BootManager: Slightly clean up the config_cache.
2015-12-22 12:52:16 +13:00
Admiral H. Curtiss
4d2e9abba7 BootManager: Slightly clean up the config_cache stuff by pulling the save and restore into their own methods. 2015-12-22 00:30:25 +01:00
Admiral H. Curtiss
3149140052 Config: Hotfix to prevent per-game settings from ie. GameINIs being stored to the global user configuration. 2015-12-22 00:16:29 +01:00
Rohit Nirmal
aaa89d4f73 Silence -Wshadow and -Wmaybe-uninitialized warnings. 2015-12-21 10:06:07 -06:00
Lioncash
cbeb7034eb Volume: Make GetTMD return a vector 2015-12-19 18:00:44 -05:00
Lioncash
c78c54c546 NANDContentLoader/WiiWAD: Get rid of raw delete and new 2015-12-19 17:37:09 -05:00
degasus
94ae134bf4 Real Wiimote: Don't delay speaker data. 2015-12-17 23:48:43 +01:00
Tillmann Karras
659b42b614 JitArm64: simplify fcmpX 2015-12-16 21:17:36 +01:00
Tillmann Karras
94f0e2493c JitArm64: fall back if FPSCR is used 2015-12-16 21:17:36 +01:00
Tillmann Karras
84b1e22246 PowerPC: rename fcmpx to fcmpX
lowercase: optional Rc bit
uppercase: generic placeholder
2015-12-16 21:17:36 +01:00
Tillmann Karras
d3dfdf7767 Interpreter: don't always set FPSCR.FX on NaNs
FPSCR.FX must only be set if an exception bit changes from 0 to 1.
SetFPException() already handles this correctly.
2015-12-16 21:17:36 +01:00
Markus Wick
25a584626f Merge pull request #3127 from JosJuice/read-return
DiscIO: Improve error handling for reading integers
2015-12-15 18:16:40 +01:00
Markus Wick
e4b83d17bf Merge pull request #3270 from JosJuice/more-translations
Mark more strings for translation
2015-12-15 18:13:26 +01:00
Markus Wick
3e2ac3df43 Merge pull request #3292 from JosJuice/state-str
State: Don't use memcpy and memcmp with strings
2015-12-15 17:42:35 +01:00
Markus Wick
67557e1f91 Merge pull request #3330 from lioncash/alloc
EXI/SI: Get rid of explicit delete and new
2015-12-15 17:38:52 +01:00
JosJuice
c7e747d775 DiscIO: Improve IVolume::Read32 error handling
Callers can now check whether reads fail, either by checking the return
value or by setting the buffer to a known bad value and seeing if it stays
untouched. I've added error checks to FileSystemGCWii and Boot_BS2Emu,
but not to Boot since it doesn't check any of its other reads either.
2015-12-14 09:38:21 +01:00
Pierre Bourdon
2e5c94865b ZeldaHLE: Add support for New Play Control! Pikmin 1 2015-12-14 05:44:08 +01:00
booto
3899667c25 VI: wait until start of ACV to sample xfb addr 2015-12-14 10:44:54 +08:00
Christian Widmer
5818d72af4 Core: Fix build with portaudio enabled and pch disabled
Includes cstring in EXI_DeviceMic.cpp to fix the undeclared function
errors for memset and memcpy when building with portaudio enabled and
pch disabled. Also adds the std:: prefix to those function calls
because there is no guarantee that they are put in the global namespace
when using cstring.

Thanks to David Brooke for noticing this!
2015-12-13 19:44:54 +01:00
Lioncash
cc75f2ea14 SI: Get rid of explicit delete and new 2015-12-12 14:41:45 -05:00
Lioncash
272054ec94 EXI_Device: Get rid of explicit delete and new 2015-12-12 14:39:40 -05:00
degasus
814a7da102 ConfigManager: Add get/set for missing ini options. 2015-12-12 09:52:57 +01:00
degasus
b806792d6c JitArm64: Fallback on FPRF usage. 2015-12-12 01:56:50 +01:00
degasus
cfe65e0e91 JitArm64: Fix single precision 2015-12-12 01:56:50 +01:00
Ryan Houdek
cb5be45f72 Merge pull request #3200 from degasus/master
Throttler + Mixer: Configureable variance
2015-12-11 07:04:56 -05:00
Pierre Bourdon
8acf8cf4d0 Merge pull request #3245 from jloehr/RealWiimote-Windows-Fix
[RFC]Real Wiimote Windows "-TR" Fix
2015-12-11 04:01:38 +01:00
Lioncash
392c1335b7 Interpreter: Get rid of some aliasing casts 2015-12-09 19:14:53 -05:00
Lioncash
f7977fdee5 Jit: Fall back to interpreter when frsp's record bit is set 2015-12-09 14:11:45 -05:00
Lioncash
3acf165787 Interpreter: Update CR when FRSP's record bit is set 2015-12-09 12:51:53 -05:00
Lioncash
a98bddc352 Interpreter: Remove underscore from frsp's parameter 2015-12-09 12:50:50 -05:00
Markus Wick
3e3e6073f7 Merge pull request #3316 from sepalani/fix_poll
WSAPoll: Fixed - invalid argument was supplied
2015-12-08 09:01:52 +01:00
Markus Wick
9719804cd2 Merge pull request #3320 from lioncash/factory
DiscIO: Make factory methods return unique_ptrs
2015-12-07 19:12:15 +01:00
Lioncash
edbbf493f8 DiscIO: Make factory methods return unique_ptrs
Rather than rely on the developer to do the right thing,
just make the default behavior safely deallocate resources.

If shared semantics are ever needed in the future, the
constructor that takes a unique_ptr for shared_ptr can
be used.
2015-12-07 05:57:37 -05:00
Lioncash
e7b98e27ab EXI: Use std::array and std::unique_ptr for managing channels 2015-12-06 14:51:55 -05:00
Julian Löhr
e076098a95 Fix "-TR" Wiimotes on Windows 8/8.1/10, by using WriteFile for sending
"-TR" Wiimotes don't accept output reports via the Control Channel. HidP_SetOutputReports will send the data via the Control Channel, whereas WriteFile will send it via the Interrupt Channel. Therefore using WriteFile enables "-TR" Wiimotes on Windows. There are some issues to be aware of. First the Toshiba Bluetooth Stack needs the output report buffer to have the size of the largest output report supported by the device. This requirement is also enforced by the Windows 7 default stack. However the Toshiba Stack, will only send the actual report bytes to the device, whereas on Windows 7 the full resized buffer is sent, resulting in an error on the Wiimote. This issue renders WriteFile unusable on Windows 7 with the  default stack. On Windows 8/8.1/10 this requirement is somehow not implemented and it is possible to send smaller buffers via WriteFile to the device, enabling "-TR" Wiimotes.
2015-12-06 20:17:58 +01:00
Julian Löhr
03fc048006 Add Methods to check for Toshiba Stack
Check is done by checking the driver provider property of the HID Class Driver. As the Toshiba Bluetooth Stack provides its own.
The initial enumerated device node is a empty hid interface node. Therefore first one node is moved up and then the provider property check is done.
2015-12-06 18:19:05 +01:00
Julian Löhr
2b39219367 Remove explicit Wait on Overlap Event
GetOverlappedResult also waits on the event internally (See https://msdn.microsoft.com/en-us/library/windows/desktop/ms683209(v=vs.85).aspx). So instead of explicitly waiting for it before, use its wait. To distinguish between cancel and complete, the status of the request is used, which is saved in the "Internal" member (See https://msdn.microsoft.com/en-us/library/windows/desktop/ms684342(v=vs.85).aspx).
2015-12-06 18:16:08 +01:00
Lioncash
f6c247d10e WII_IPC_HLE_Device_usb: const correctness for function parameters
The data passed in isn't modified in these functions

Also normalizes variables with prefixed underscores in the modified
functions (and normalizes outliers to our current coding style), as
single-underscore followed by any lowercased/uppercased character is
reserved for use in the global namespace (it's a common misconception this
is assumed to only be the case for underscores followed by a capital
character, but this is only the case in C, not C++).
2015-12-05 16:14:37 -05:00
Sepalani
e1e6d2ba2c WSAPoll: Fixed - invalid argument was supplied 2015-12-05 19:39:17 +01:00
Markus Wick
297f6a097d Merge pull request #3307 from Pringo/update-url
Update Issue Tracker URL in Comment
2015-12-03 17:27:43 +01:00
degasus
f3b6afe1c5 ConfigManager: initialize m_revision
FifoPlayer don't set it, and don't need it. But it's used...
2015-12-02 21:37:12 +01:00
Pringo
aaa67ca57e Update Issue Tracker Link in Comment 2015-12-02 09:01:28 -08:00
JosJuice
f41990af38 Remove incorrect usage of _trans
It only marks a string for translation. It doesn't actually do anything
at runtime, so the message will always be displayed in English. Even if
we would've had a way to make the translation work, we shouldn't
translate this, because OSD doesn't support non-ASCII characters.

Caused by the recent merge 1c95cd5.
2015-12-02 17:13:04 +01:00
Markus Wick
abbc25f662 Merge pull request #2788 from TurboK234/3d_hotkeys
Added hotkeys for toggling different stereoscopy modes
2015-12-02 15:24:59 +01:00
Markus Wick
1c95cd5ad5 Merge pull request #2745 from AdmiralCurtiss/wiimote-disconnect-message
Display a message on screen when the emulated software disconnects a Wiimote.
2015-12-02 15:13:29 +01:00
Markus Wick
a3433e162a Merge pull request #3149 from ShadowsFriend/fname_column
DolphinWX: Add a filename column
2015-12-02 15:04:36 +01:00
Markus Wick
ec6a48ff76 Merge pull request #2876 from CastellaFactory/master
[Netplay] Add "Force Netplay Listen Port" feature that was in old netplay branch
2015-12-02 14:20:47 +01:00
Markus Wick
b0dbb6ef46 Merge pull request #3067 from JosJuice/cheat-manager-regression
Fix Cheat Manager not saving created codes
2015-12-02 14:08:32 +01:00
Pringo
d8d6c0122e Update Error Log to Remove Old Issue Tracker URL 2015-12-01 19:57:10 -08:00
Scott Mansell
97cd723492 Merge pull request #3286 from jloehr/Wiimote-Rumble-LED-Fix
Fix Prepare (Set LEDs and Rumble) on Connect and Refresh
2015-11-29 00:58:18 +13:00
Julian Löhr
31a4b2ed03 Fix Prepare (Set LEDs and Rumble) on Connect and Refresh
m_need_prepare needs to be set before the Device thread is started.
Otherwise the thread blocks on IORead and the LEDs and Rumble is executed
after the user presses a button on the Wiimote.
Also the Prepare-Call on Refresh doesn't need to reset the Index, because it is
set once on the initial Connect/Prepare. Therefore the index assignment
was refactored.
2015-11-28 12:38:19 +01:00
JosJuice
0d3c763126 State/Movie: Use char instead of u8 for game ID
Gets rid of casts.
2015-11-28 09:36:48 +01:00
JosJuice
0cb5c4637a Memmap: Replace ValidCopyRange with GetPointerForRange 2015-11-28 09:26:48 +01:00
JosJuice
2e3735b772 Memmap: More error checking for Memset
It now uses the same error checking as CopyFromEmu and CopyToEmu.
2015-11-27 18:28:53 +01:00
JosJuice
2b0bdc361f State: Don't use memcpy and memcmp with strings 2015-11-27 17:36:34 +01:00
Markus Wick
f560e8e283 Merge pull request #3285 from jloehr/Wiimote-Index-LED-Fix
Fix Wiimote Index LED
2015-11-24 18:31:57 +01:00
Scott Mansell
83bda3be46 Merge pull request #1474 from phire/DSPHLE_cleanups
DSPHLE: Remove individual byteswaps and replace with generic function.
2015-11-24 13:33:59 +13:00
Julian Löhr
aace2f694f Fix Wiimote Index LED 2015-11-23 23:24:49 +01:00
Scott Mansell
02f476cd09 FifoRecorder: Fix bug with normal vertex arrays.
Detected by the previous commit. We had forgotten to make sure the
Vertex Loader's table of normal sizes is initilzied, resulting in
the wrong offsets/sizes being used for vertices with normals.
2015-11-23 23:02:42 +13:00
Scott Mansell
3a36bfbcbb FifoAnalyzer: Double check command size while recording.
Since we now return the value, might as well check it's correct.
2015-11-23 23:02:41 +13:00
Scott Mansell
17b7102b35 FifoAnalyzer: Remove layer of indirection. 2015-11-23 23:02:40 +13:00
Scott Mansell
9872f5b518 FifoAnalyzer: Remove old code that was meant to handle EFB copies
It wasn't working, I'm not really sure why.
Since #2997 we rely on video common to mark efb copies 'written'
during recording, and for old dffs we just ignore the bad texture
while playing back in the texture cache.
2015-11-23 23:02:39 +13:00
Scott Mansell
0367c3107d FifoAnalyzer: Unify DecodeOp/DecodeCommand
We actually discovered a bug while combining the two functions with
FifoRecordAnalzyer's vertex array loading code. If per-vertex
postion or texture matrices were enabled and vertex arrays in use
then the wrong data would be used to calculate the minimum/maxmium
indices, which would result in either too much or too little vertex
data being included in the dff.

So this commit also increments the dff version number, so we can
identify old broken dffs later.
2015-11-23 23:02:38 +13:00
Scott Mansell
1656b2788d FifoAnalyzer: Convert FifoPlaybackAnalyzer to namespace 2015-11-23 23:02:38 +13:00
Scott Mansell
da7fb568de FifoAnalyzer: Convert FifoRecordAnalyzer to namespace.
And a few minor cleanups.
2015-11-23 23:02:37 +13:00
Scott Mansell
9b60fd2381 FifoAnalyzer: remove un-implemented header 2015-11-23 23:02:35 +13:00
JosJuice
74ea765427 Mark more strings for translation 2015-11-20 11:33:47 +01:00
Matthew Parlane
0e258d4621 Merge pull request #3152 from ShadowsFriend/ipl_checksum
Use CRC32 for IPL checks and update hashes
2015-11-20 14:37:13 +13:00
Lioncash
b9975694ab InputConfig: Clean up controller management 2015-11-19 02:41:33 -05:00
mathieui
680ebfeaa8 Reset the GC adapter rumble when stopping a game
And when loading a savestate, pausing, and starting dolphin as well
(right after the libusb initialization).

Intended fix for issue 9001
2015-11-18 20:48:48 +01:00
JosJuice
2005409229 Do nothing when calling CopyToEmu with a length of 0
Gecko apparently tries to read 0 bytes from the DVD to 0x00000000.
2015-11-17 21:39:46 +01:00
Michael Ehrenreich
02546ff82b JIT x64: Recalculate flags on add/sub 2015-11-17 20:19:02 +01:00
Scott Mansell
d2b03e1aad Remove individual byteswaps and replace with generic function. 2015-11-17 19:37:18 +13:00
JosJuice
1202c2ea35 Don't use GetPointer in DVDRead 2015-11-16 23:22:58 +01:00
JosJuice
e3b9e89f5a Move DVDRead from DVDInterface to Boot
It was previously an important part of DVDInterface,
but since its usage there was replaced with DVDThread,
the only remaining uses of it are in Boot and Boot_BS2Emu.
2015-11-16 23:22:53 +01:00
JosJuice
555eb1162f Memmap: Fix a CopyToEmu bug
ValidCopyRange incorrectly returned false and stopped a
CopyToEmu when pressing B+X+Start in some GameCube games
(for instance Metroid Prime) after the DVD thread was implemented
2015-11-16 23:22:49 +01:00
JosJuice
3d7afdae25 DVDThread: Performance logging 2015-11-16 23:22:44 +01:00
JosJuice
54ff4bd0cb Read disc data asynchronously in DVDThread
This gives the CPU thread more time to do CPU things.
2015-11-16 23:22:20 +01:00
JosJuice
c119ad46d0 Create DVDThread (no multithreading yet) 2015-11-16 23:20:07 +01:00
Markus Wick
1f3a81c7fb Merge pull request #3101 from JosJuice/change-disc-fix
Synchronize DVDInterface::ChangeDisc with the CPU thread properly
2015-11-16 13:27:40 +01:00
Matthew Parlane
1124be0568 Merge pull request #3256 from Parlane/net_fix_poll
Don't send return-only events to poll
2015-11-16 16:13:49 +13:00
TurboK234
6b9f4f5115 Added hotkeys for toggling different stereoscopy modes 2015-11-14 17:22:48 +02:00
Matthew Parlane
e023fddc96 Don't send return-only events to poll
Fixes some network issues where the game/system asked for POLLHUP specifically.
2015-11-14 09:10:55 +13:00
Michael Ehrenreich
3cbed527c2 Shut down HW in reverse initialization order
Fixes a race condition between Memory and CWII_IPC_HLE_Device_hid
2015-11-13 10:43:59 +01:00
Scott Mansell
973118511a Merge pull request #2742 from AdmiralCurtiss/display-savestate-stats
Display Savestate information in Overlay and Menu.
2015-11-08 02:20:56 +13:00
Scott Mansell
e6274284b0 Fifoplayer: Load the Correct version number. 2015-11-08 01:24:08 +13:00
Scott Mansell
008386fc7f Just a minor cleanup. Totally not the cause of random FifoCi failures.
This 'absolutely not' a read of uninitialized memory is '100% not'
the cause of our non-deterministic behavior on the Intel NUC.

If there was a such an error, it would show up on all FifoCi
backends equally. This is 'probably' unrelated to the fact that
the Intel NUC is the only fifoci runner not running under virtualization.
2015-11-04 23:23:35 +13:00
comex
e602eac4f9 Synchronize DVDInterface::ChangeDisc with the CPU thread properly.
This addresses a bit of thread unsafety mentioned in a comment, and
fixes a 'ScheduleEvent_Threadsafe from main thread' message.

To make this work nicely, make PauseAndLock call DeclareAsCPUThread -
i.e. while you have the CPU thread locked, you can consider yourself the
CPU thread.
2015-11-03 12:42:05 +01:00
degasus
888c377b57 Throttler + Mixer: Configureable variance 2015-11-03 08:22:36 +01:00
JosJuice
61c8ce2711 Fix GC software crashing at boot if no disc is inserted
Same fix as 0b44d7c, plus a way to skip loading the apploader
just like EmulatedBS2_Wii has been able to do for a long time.
2015-11-01 20:29:48 +01:00
Scott Mansell
9154347f5b Merge pull request #3187 from lioncash/accum
FifoAnalyzer: Replace loop with std::accumulate
2015-10-29 10:30:38 +13:00
Scott Mansell
1984416df4 Merge pull request #3186 from lioncash/dsp
DSPJitRegCache: Minor changes
2015-10-29 10:29:26 +13:00
Scott Mansell
44a40642f3 Merge pull request #2704 from RisingFog/frameadvancehold
Add Frame Advance Hold Hotkey Functionality
2015-10-28 15:31:03 +13:00
Lioncash
7a6ff8a95b DSPJitRegCache: Make the allocation array part of the DSPJitRegCache class 2015-10-24 23:36:18 -04:00
Lioncash
6b297ebcff DSPRegCache: Class access level formatting 2015-10-24 23:32:12 -04:00
Lioncash
f696b323c0 WII_IPC_HLE: Remove unused typedef 2015-10-21 13:43:22 -04:00
Lioncash
695ffefef7 FifoAnalyzer: Replace loop with std::accumulate 2015-10-19 10:29:00 -04:00
Scott Mansell
1ba600b688 Merge pull request #3145 from catzilla4/master
FreeBSD Compilation fix
2015-10-19 17:29:34 +13:00
Lioncash
c756025902 Core: Move a global into a namespace 2015-10-16 22:52:41 -04:00
Lioncash
1b3307043b DSPHLE: Remove duplicated struct
This is already present in the DSPHLE class directly
2015-10-16 13:02:21 -04:00
flacs
05e339a605 Merge pull request #3139 from JosJuice/fix-wii-root
Mark which Wii root to use in the NAND path code
2015-10-16 16:49:34 +02:00
comex
c22d1d68ab Mark which Wii root to use in the NAND path code.
It's used by both the GUI to do things like install WADs and check up on
the system menu, in which case the global root should be used, and by
/dev/es, in which case the local one should.  The latter isn't
*terribly* useful today, since no contents will ever be installed in
temporary roots (although it's still relevant for data directories), but
converting the whole thing makes sense because then it will Just Work
once the entire NAND is synced.

Because it would have been a bit of work to split it up (but I can if
desired), this commit also contains some basic cleanup of
NANDContentLoader:

(1) The useless interface class INANDContentLoader is removed and the
    methods are changed to just return CNANDContentLoader (the only
    implementation);
(2) CNANDContentManager is changed to use unique_ptr and cleaned up a
    bit.
2015-10-16 09:10:39 +02:00
Lioncash
03986c6fad UCodes: Simplify ExramRead 2015-10-15 22:48:22 -04:00
Lioncash
c420c52308 UCodes: Get rid of pointer casts 2015-10-15 22:45:03 -04:00
flacs
97fbbecdc4 Merge pull request #3168 from Tilka/miniupnpc
CMake: simplify FindMiniupnpc.cmake
2015-10-12 14:32:57 +02:00
Tillmann Karras
4eace2b49e CMake: simplify FindMiniupnpc.cmake
miniupnpc.h provides MINIUPNPC_API_VERSION since 1.7 and we require 1.7
or later, so there is no reason to have version detection code for older
versions.
2015-10-12 02:26:35 +02:00
Tillmann Karras
ae999cb43c Wiimote: simplify DoState() parameters 2015-10-11 23:37:34 +02:00
Christian Widmer
b99d1a0a20 Fix OProfile discovery and drop bfd dependency
Adds a cmake module to correctly discover OProfile and adjusts the
corresponding CMakeLists to make use of it. Additionally removes
linking against the bfd library when compiling with OProfile because
Dolphin does not use it.
2015-10-11 16:27:03 +02:00
flacs
94d20131bb Merge pull request #3151 from ShadowsFriend/memtools_unistd
Include unistd.h in memtools.cpp to fix nopch
2015-10-11 15:52:40 +02:00
flacs
e389a3cafe Merge pull request #3131 from delroth/fifo-pad
FifoDataFile: Revert PadFile changes from 4.0-1127.
2015-10-11 15:50:24 +02:00
flacs
a7b6ae8f2c Merge pull request #3160 from Tilka/style
Misc. style fixes
2015-10-11 15:36:06 +02:00
Christian Widmer
3fdaf377b0 DolphinWX: Add a filename column 2015-10-11 05:29:01 +02:00
Admiral H. Curtiss
1772eeb32f State.cpp: Extract the savestate version logic into its own function for clarity. 2015-10-11 03:21:44 +02:00
Admiral H. Curtiss
429f4ea158 SaveState/DolphinWX: Display time and date of savestate next to the load/save/select slot menu options. 2015-10-10 22:20:05 +02:00
Admiral H. Curtiss
16272f4975 SaveState/DolphinWX: Display time and date of savestate when a slot is selected, or Empty if no savestate exists in the slot. 2015-10-10 22:14:22 +02:00
Tillmann Karras
0f1b287402 Misc. style fixes 2015-10-10 17:44:42 +02:00
Christian Widmer
5fbf8f561b Use CRC32 for IPL checks and update hashes
This changes the hashing algorithm from Adler32 to CRC32 for it
is more widely used and therefore makes it easier to verify hashes.
For example the Redump database does provide CRC32 hashes, while it
doesn't have Adler32 ones.
Additionally adds new hashes from the bugtracker and the forums and
removes unknown ones.
2015-10-09 14:36:30 +02:00
Christian Widmer
6eb6fa9bf8 Include unistd.h in memtools.cpp to fix nopch
Fixes falling back to generic on non-windows builds with PCH disabled
leading to runtime crashes and the pagefault test failing. Thanks to
HdkR!
2015-10-09 11:08:17 +02:00
Lioncash
737de5e115 StreamADPCM: Convert into a namespace
No need to have a class with only static member functions
2015-10-08 19:46:55 -04:00
Lioncash
66a576548c ConfigManager: Get rid of an unnecessary smart-pointer get() call 2015-10-08 19:36:28 -04:00
Lioncash
307ef88af6 DSPEmitter: Rename Default() to FallBackToInterpreter() 2015-10-08 12:45:14 -04:00
catzilla4
867a1beb9f Added some headers to allow Dolphin to compile in my environment. 2015-10-06 19:09:57 -05:00
shuffle2
ec28d7df92 Merge pull request #3144 from lioncash/dsp
DSPIntCCUtil: Minor changes
2015-10-06 13:03:11 -07:00
shuffle2
1c97da4942 Merge pull request #3132 from sepalani/fix_mbedtls
mbedTLS: fix blocking read
2015-10-06 13:01:57 -07:00
Lioncash
f53d060d70 DSPIntCCUtil: Remove unused function GetMultiplyModifier 2015-10-05 19:40:11 -04:00
Lioncash
1a989985c1 DSPIntCCUtil: Mark translation local functions as static 2015-10-05 19:39:09 -04:00
Sepalani
8efd5d1a74 WSAGetLastError: fix return value 2015-10-06 00:15:20 +02:00
shuffle2
3b1375f78c Merge pull request #3134 from lioncash/namespace
CPU: Convert CCPU into a namespace
2015-10-04 14:22:50 -07:00
Lioncash
b730ad4406 DSPCore: Convert defines over to enums 2015-10-04 16:42:30 -04:00
Lioncash
ef1cc2cec4 CPU: Convert CCPU into a namespace
There's not much point to a class with only static member functions.
2015-10-04 15:15:10 -04:00
Lioncash
ba0a3c520b EXI_DeviceAGP: Remove unnecessary headers 2015-10-04 13:13:32 -04:00
Fog
471c835546 Add Frame Advance Hold Hotkey Functionality 2015-10-04 12:14:36 -04:00
Pierre Bourdon
a2b3cdc393 FifoDataFile: Revert PadFile changes from 4.0-1127.
Fixes #9006.
2015-10-04 13:53:01 +02:00
Sepalani
5be64d39b0 mbedTLS: fix blocking read 2015-10-04 12:24:25 +02:00
shuffle2
569d25d9b4 Merge pull request #3129 from lioncash/mailbox
DSPHWInterface: Use an enum for indicating mailbox type
2015-10-03 19:04:35 -07:00
shuffle2
81414b4fa2 Merge pull request #3076 from void-ghost/stereo3d_presets
Stereo3d presets
2015-10-03 18:10:23 -07:00
shuffle2
b926061f64 Merge pull request #3095 from void-ghost/savestate_race_condition_fix
SaveState: Fix for race condition in SaveAs(...)
2015-10-03 18:08:33 -07:00
shuffle2
4fb90bf9f6 Merge pull request #3115 from lioncash/ifx
DSPCore: Minor changes
2015-10-03 18:03:26 -07:00
shuffle2
06379cc3a0 Merge pull request #3113 from lioncash/input
InputCommon: Get rid of multiple identical define macros
2015-10-03 18:01:36 -07:00
shuffle2
a6f04b0e15 Merge pull request #3091 from Tilka/mbedtls
Update mbed TLS (PolarSSL)
2015-10-03 18:00:58 -07:00
shuffle2
8bb35c8588 Merge pull request #3083 from JosJuice/ipc-ticks
Use correct GetTicksPerSecond() value in IPC delays
2015-10-03 17:56:57 -07:00
shuffle2
f5c88fc1a9 Merge pull request #3125 from JosJuice/di-callback-pointer
Simplify getting DI pointer in IOCtl callback
2015-10-03 17:52:58 -07:00
shuffle2
b4be34bc68 Merge pull request #3124 from dolphin-emu/shuffle2-patch-1
Fix WiiSockMan::DecodeError
2015-10-03 14:59:20 -07:00
Lioncash
9c73d63d40 DSPHWInterface: Use an enum for indicating mailbox type 2015-10-03 17:53:24 -04:00
Lioncash
5464e698fc Merge pull request #3102 from rohit-n/build-pch
Fix building with PCH disabled.
2015-10-03 13:30:51 -04:00
JosJuice
bf2676a1b1 Simplify getting DI pointer in IOCtl callback
Gets rid of an odd code construct, and fixes the "Trying to run two DI
devices at once" ERROR_LOG appearing at the wrong times.
2015-10-03 11:35:29 +02:00
shuffle2
f33fae574f Fix WiiSockMan::DecodeError 2015-10-03 01:56:42 -07:00
Scott Mansell
f1a43dc6d4 Merge pull request #3118 from lioncash/junk
WiimoteEmu: Get rid of an unused clamp function
2015-10-03 16:21:00 +13:00
Scott Mansell
bcee41b65d Merge pull request #3123 from lioncash/null
Core: Replace 0 literals with nullptr
2015-10-03 16:19:46 +13:00