Commit Graph

3646 Commits

Author SHA1 Message Date
Justin Chadwick
e110f1049c [NetPlay] Make the Memory Card A/B setting sync across netplay.
Fixes issue 6575.
2013-09-03 17:41:52 -04:00
Rachel Bryk
8ae10b3e12 [NetPlay] Allow recording movies during netplay.
Fixes issue 6207.
2013-09-03 15:50:41 -04:00
Ryan Houdek
39ad48dfa5 [ARM] lmw implementation. 2013-09-03 09:55:15 +00:00
Ryan Houdek
30cd436e86 [ARM] Merge load instructions in to one. Also rapid prototype 13 more load instructions. This disables fastmem currently for loads. 2013-09-03 09:22:43 +00:00
Ryan Houdek
d4d6eb562e [ARM] Fix and enable fastmem for 32bit stores. 2013-09-03 05:05:10 +00:00
Ryan Houdek
cc2fa4a003 [ARM] Merge all store instructions in to one. This disables fastmem on stores currently. Hit isn't noticeable since I've also implemented 5 more store instructions with this. 2013-09-03 04:11:25 +00:00
Ryan Houdek
dfce0f3b0b [ARM] Merge all store instructions in to one. This disables fastmem on stores currently. Hit isn't noticeable since I've also implemented 5 more store instructions with this. 2013-09-03 04:08:15 +00:00
comex
5b9254a1cd fix android. 2013-09-02 17:30:31 -04:00
comex
50520c7c3d Make fastmem work under a debugger on OS X.
Not only do debuggers catch the expected SIGSEGV by default, I'm not
sure there's a working way to configure either gdb or lldb not to.  This
commit uses an OS X-specific mechanism to add an exception handler that
runs before the default one.
2013-09-02 17:26:32 -04:00
comex
4c3230bcde Remove accessType from BackPatch's signature in favor of getting it from DisassembleMov.
It isn't easily accessible with sigaction or Mach exceptions (well,
requires an additional system call in the latter), and isn't necessary.

(and get rid of the enum, because it's only used once, and the comments
are more expressive than enum names)
2013-09-02 16:55:22 -04:00
Ryan Houdek
a7f3264fed [ARM] Merge a bunch of arithmetic JIT instructions and rapid prototyping of a bunch more. 2013-09-02 14:15:37 +00:00
Ryan Houdek
e7157e7c52 [Android] Fix fastmem and enable. 2013-09-02 04:10:21 -05:00
Lioncash
0219049c03 Fix an accidental duplicate if-statement handling of 0x1007 in WII_IPC_HLE_Device_net.cpp 2013-09-02 01:28:48 -04:00
comex
35b8dfbe0c A few more warnings. 2013-09-01 23:33:35 -04:00
comex
2630169229 More warnings: mark/avert truncating conversions from float. 2013-09-01 22:59:35 -04:00
comex
4f5729dd59 MSVC warnings. 2013-09-01 22:59:32 -04:00
comex
de0a5fdfbb More trivial warning fixes. 2013-09-01 22:59:18 -04:00
comex
c08f06f8c9 Fix IOCTLV_SO_GETADDRINFO.
It tried to cast incoming pointers to native ones.  The values are
required to be null anyway, so it doesn't really matter, but it fixes a
warning at least.
2013-09-01 22:58:40 -04:00
comex
186527544b Fix use of deprecated APIs in IOdarwin.mm. 2013-09-01 22:58:38 -04:00
comex
fd7cf5bb71 A bunch of trivial changes to fix clang warnings. 2013-09-01 22:58:33 -04:00
comex
71fde876df A fix to my fix to my fix. Sorry.
(Avoid uninitialized m_pFile when loading WADs.)
2013-09-01 17:15:16 -04:00
comex
a6f6695ecd Work around MSVC bug, and make it less likely to happen again. Ew.
MSVC insisted on using a copy assignment where a move was intended and
ought to be used.  This would have been caught, because the class in
question inherits from NonCopyable, which declares a move assignment
operator, which is supposed to delete the implicitly declared copy
assignment operator, but of course MSVC didn't do that either, causing a
class that should have been safe to be unsafe.
2013-09-01 00:04:50 -04:00
comex
5209abeb03 Better error reporting for ES / NANDContentLoader. 2013-08-31 23:49:29 -04:00
Jasper St. Pierre
3e049a130b NetPlay: bump proto
As it changed with the pad mapping change.
2013-08-31 23:29:12 -04:00
Matthew Parlane
ffe710b4e8 Recvfrom tidy and store laste error. 2013-09-01 15:15:55 +12:00
Matthew Parlane
1c106abf13 Fix sendto.
This fixes Opera, sorry [SS]
2013-09-01 14:30:07 +12:00
Matthew Parlane
b11f14c6f7 Fix setsockopt. 2013-09-01 14:03:03 +12:00
Jasper St. Pierre
22f57cf07a NetPlay: Don't bother with the host's controller settings
Use the pad mapping to calculate the number of devices
we want, and add them on each client when we get the
message.
2013-08-31 21:18:14 -04:00
comex
b187a38433 Fix inability to boot NAND contents caused by 04c41c1d38.
Might be nice to refactor this code to decrease duplication, but for now
just a fix.
2013-08-31 15:06:00 -04:00
Matthew Parlane
676d78ec41 Fixes accept.
Tested with network demo from devKitPPC :)
2013-08-31 18:47:19 +12:00
comex
04c41c1d38 Fix loading DLC using IOCTL_ES_OPENTITLECONTENT & /dev/es state save.
(Intertwined enough that's it's easier to do in one patch.)

(1) /dev/es did not support state save, which could cause crashes and
    incorrect behavior after loading.

(2) NANDContentLoader tried to read all of a title's contents into
    memory when it was first opened.  Two issues:

- If any contents were missing, it bailed out.  However, with DLC,
  only some of the contents may be downloaded, as determined by the
  permission bits in the ticket.  Instead, return an appropriate error
  when a content is accessed that doesn't exist on the filesystem
  (don't bother checking the permission bits though).

- Everything was loaded into memory - even if it consisted of 3 GB of
  songs, which caused Dolphin to lag out for quite a while (and would
  fail on 32-bit).  Instead, open content on demand.
2013-08-31 01:38:52 -04:00
Matthew Parlane
c497d62836 Fix sysmenu test connection bug on Windows. 2013-08-31 16:44:53 +12:00
Ryan Houdek
df7b4da13b [ARM] Fastmem is back. Still disabled for Android. 2013-08-31 02:33:12 +00:00
Ryan Houdek
8b0a0daf10 Revert "[ARM] Remove Fastmem. It is buggy and may never have the potential to work correctly."
This reverts commit f485d96b0b.
2013-08-31 02:33:11 +00:00
Pierre Bourdon
6428137ca4 Set XAudio2 as the default audio backend 2013-08-30 19:12:46 +02:00
Ryan Houdek
2c1337eb5f [ARM] Support both hardfp and softfp with lfs and lfd. Fixes these two instructions on Android since it uses softfp calling conventions. This adds a emitter for moving from two ARM Registers to a double VFP reg. 2013-08-30 09:38:11 +00:00
Pierre Bourdon
2ab7fc10da Rollback "DSP on Thread" to only affect LLE.
Keep the threading code in AX HLE in case we want/need to enable it again at
some point. Not too confident about refactoring it right now.
2013-08-30 09:14:30 +02:00
Ryan Houdek
7cceace1ed [ARM] Fix Savestates. 2013-08-30 06:43:18 +00:00
Ryan Houdek
10c18e75de [ARM] Fix lfs/lfd. We need to dump the fpr cache at times where VFP registers may be affected. We shouldn't need to flush D8-D15 but it doesn't seem to work. So we have to flush all registers. 2013-08-30 01:11:32 +00:00
Matthew Parlane
e7bdcc34e1 Fix some enum alignments 2013-08-28 01:12:24 +12:00
Matthew Parlane
b34a5faee7 More cleaning. 2013-08-28 01:07:43 +12:00
Matthew Parlane
75c398118f Fix headings and more. 2013-08-28 00:57:08 +12:00
Matthew Parlane
d493525050 Add socket cleanup.
Don't know what to do with remaining sockops if called from a SetRegister reset command.
2013-08-28 00:37:45 +12:00
Matthew Parlane
6748d5d087 Fix const. 2013-08-28 00:05:43 +12:00
Matthew Parlane
eebcea9174 Fixed accept.
Added helper functions.
Removed unused structs.
2013-08-27 23:58:26 +12:00
Matthew Parlane
4644a3bd16 Fix for Just Dance 4
Some clean ups.
2013-08-27 23:58:26 +12:00
Matthew Parlane
8006c878f8 Maybe libusb_exit fails when not initialized. 2013-08-27 00:58:20 +12:00
Matthew Parlane
aa7319e043 Slightly better error handling for libusb_init not working. 2013-08-27 00:46:04 +12:00
Matthew Parlane
33761c0b65 More cleaning. 2013-08-27 00:22:44 +12:00
Matthew Parlane
69bb04f79f Fixed inconsistent usage of sock and used fd instead. 2013-08-26 23:57:18 +12:00
Matthew Parlane
e8cde8464e Code style fix and cleanup. 2013-08-26 23:24:41 +12:00
Matthew Parlane
5ecd86708b Disable Wii Sockets for NetPlay and TAS 2013-08-26 23:24:01 +12:00
Matthew Parlane
15f8603d1f Merge branch 'master' into wii-network
Conflicts:
	Source/Core/Common/Src/CommonPaths.h
	Source/Core/Common/Src/FileUtil.cpp
2013-08-26 00:50:57 +00:00
Pierre Bourdon
0e8f9d8abc Fix a crash in the Wiimote registration code
The code was hitting undefined behavior, causing crashes when starting a Wii
game with Dolphin compiled with gcc >= 4.8.

Might introduce some slight change in the Wiimote activation logic.

Fixes issue 6526.
2013-08-25 21:30:43 +02:00
John Chadwick
417bfb2630 Send pad buffer to clients when they join; fixes issue 6524. 2013-08-24 21:43:33 -04:00
Pierre Bourdon
0dd98d62fc Remove 'pragma optimize' in fakepoll.h - if optimizations cause breakage the breakage should be fixed instead of disabling opts 2013-08-25 03:04:43 +02:00
Matthew Parlane
c4dec3fb3a Remove debug verify cert code. 2013-08-25 13:02:34 +12:00
Pierre Bourdon
73be79f4e0 Fix trailing whitespaces in all files where some were added 2013-08-25 02:49:58 +02:00
Pierre Bourdon
987f4945b5 Fix indentation issues 2013-08-25 02:41:02 +02:00
Matthew Parlane
5548e77438 Merge branch 'master' into wii-network 2013-08-24 23:56:31 +12:00
Matthew Parlane
d1057b2c6c Fix android part 2 of X. 2013-08-24 23:41:25 +12:00
Matthew Parlane
7de9bda35e Fixes hid.
Fix small bug in ssl when testing certain demos.
2013-08-24 23:16:58 +12:00
Pierre Bourdon
9deb63a312 Simplify a few OSD::AddMessage calls now that this function accepts std::string objects 2013-08-24 01:44:16 +02:00
Jasper St. Pierre
23ff31451f NetPlay: Rework pad mapping
Pad mapping and the UI behind it is significantly confusing,
and has been confusing users since NetPlay was introduced.

As part of a large code cleanup to help NetPlay more stable,
introduce a better pad mapping system where local pad mapping
is handled by the client. Now, all the server and other
clients know is which player have which controllers, and the
clients only know this so they can show the pad mapping in the
UI; they don't do anything else with it.

A future cleanup will use this pad mapping data to completely
ignore the pads configured in the settings pane on the host.
2013-08-23 09:40:08 -04:00
skidau
1f3a0ff10b Merge branch 'OpenAL-sane-defaults'
* OpenAL-sane-defaults:
  Removed a redundant tooltip text.
  Changed the default audio latency to 2.  Made soft_oal.dll the default on Windows builds as the old OpenAL32.dll is outdated and contains bugs.
2013-08-23 12:15:39 +10:00
Rachel Bryk
d3894a0594 Clean up wiimote-netplay. 2013-08-22 11:58:29 -04:00
Matthew Parlane
98a038aefb Fix more *nix issues. 2013-08-23 00:58:12 +12:00
Matthew Parlane
b6e054a2be Merge branch 'master' into wii-network
Conflicts:
	Source/Core/Core/Core.vcxproj
	Source/Core/Core/Core.vcxproj.filters
	Source/Core/Core/Src/CoreParameter.cpp
	Source/Core/DolphinWX/Dolphin.vcxproj
	Source/Core/DolphinWX/Dolphin.vcxproj.filters
2013-08-23 00:51:12 +12:00
Matthew Parlane
f274b3b074 Fix compile on *nix. 2013-08-23 00:13:26 +12:00
Matthew Parlane
6acbea5c3e Less verbose. Sorry. 2013-08-23 00:10:47 +12:00
Matthew Parlane
124fe24f4c Make wii-network async.
* accept still needs to be made async.
2013-08-22 23:58:56 +12:00
Ryan Houdek
272dcb8756 In Windows, if BBA can't connect to any TUNTAP device then throw a panicalert, not just an error log. 2013-08-21 03:22:14 +00:00
Scott Mansell
fa8a4cdbb5 Corrected names of GetXFBAddress* functions in header.
They were named incorrectly in VideoInterface.h, but because nobody used
them outside of VideoInterface.cpp where they were decleared until now, this
hasn't been an issue.
2013-08-20 23:25:24 +12:00
Rachel Bryk
d3c437819d NetPlay: Add blank inputs when reporting mode changes, so the buffer isn't empty if wiimote 1 isn't polled next. 2013-08-19 17:03:14 -04:00
Ryan Houdek
ba3d3311bd [ARM] If one requests a FPR to not preload but then later ask it to preload. Make sure to preload it at that time. Would have caused issues with having to make sure the non-preloaded regs were always grabbed last. 2013-08-19 18:13:08 +00:00
Ryan Houdek
8094037104 [ARM] Add ps_sum0 and a disabled ps_madd. 2013-08-19 18:13:08 +00:00
Ryan Houdek
42de733c41 [ARM] Disable floating loadstores as they cause problems. Reenable faddsx/fsubsx as it works with loadstores disabled. 2013-08-19 18:13:08 +00:00
Ryan Houdek
1675f56f02 [ARM] Disable faddsx since it causes problems in crazy taxi. 2013-08-19 12:26:25 +00:00
Ryan Houdek
b4baa4fdb9 [ARM] Add mullwx, mulhwux and half implemented srawix instructions. Change fsubsx/fmulsx slightly, still broken. 2013-08-19 06:26:34 +00:00
Jasper St. Pierre
7a41acd8ff NetPlayServer: Remove unused code
GetPlayerList is always called on the client.
2013-08-18 21:38:32 -04:00
Pierre Bourdon
5c3dcc50bc Add an INI option to not loop FIFO playback and stop emulation when it's done 2013-08-19 01:39:00 +02:00
Ryan Houdek
9f4ca0e0a7 [ARM] JitASM miroops. No functionality change. 2013-08-18 17:45:04 +00:00
Jasper St. Pierre
5782530b40 NetPlayProto: bump netplay version
Since the packet structure changed.
2013-08-18 09:10:15 -04:00
Justin Chadwick
26242de914 Increases Gamecube pad polling rate during netplay to normal. Also re-add dualcore setting syncing to netplay, which I had erroneously removed. 2013-08-18 08:19:16 -04:00
Rachel Bryk
894e29b809 Fix comments, and send wiimote mapping to new users. 2013-08-18 05:17:06 -04:00
skidau
5cec914484 Changed the default audio latency to 2. Made soft_oal.dll the default on Windows builds as the old OpenAL32.dll is outdated and contains bugs. 2013-08-18 17:03:21 +10:00
Ryan Houdek
7294fe5a3f Change per instruction run counts to u64 on all platforms. JIT64 and JITIL runcount isn't implemented properly(and is disabled) so this doesn't effect them. 2013-08-18 00:15:47 +00:00
Matthew Parlane
d0d162e6ad Fix really stupid optimise on Windows.
Possibly explains speed difference from master.
2013-08-17 12:16:51 +12:00
Ryan Houdek
da560ecefc On CoreParemeter member object creation make sure to set bEnableDebugging, bAutomaticStart, and bBootToPause to default values so they aren't unitialized. This caused a issue in particular on the Android builds where bBootToPause would cause the games to boot in to a paused state, effectively causing the application to need to be forced closed and reran multiple times in order to test anything. 2013-08-16 07:30:53 -05:00
Matthew Parlane
9de7611ff9 Merge branch 'master' into wii-network
Conflicts:
	CMakeLists.txt
	Source/Core/Core/Core.vcxproj
	Source/Core/DolphinWX/Dolphin.vcxproj
	Source/Core/DolphinWX/Dolphin.vcxproj.filters
	Source/Dolphin_2010.sln
	Source/VSProps/Dolphin.Win32.props
	Source/VSProps/Dolphin.x64.props
2013-08-16 19:17:07 +12:00
Rachel Bryk
c7025989f8 Probably worthless commit that may fix wiimote netplay buffer problems. 2013-08-15 22:31:36 -04:00
Matthew Parlane
417552b21e Not sure what that was. 2013-08-16 01:06:44 +12:00
Rachel Bryk
6d67ea2fda Merge remote-tracking branch 'origin/master' into wiimote-netplay 2013-08-15 09:00:04 -04:00
Matthew Parlane
d8b39b9dcf Support PolarSSL on *nix
Removed unneeded PolarSSL directories.
Remove duplicate sha1 and md5 files.
Define out SSL test file writing.
Fix format string bug and warning.
2013-08-15 23:36:17 +12:00
Matthew Parlane
b93d62dcb8 Remove LTCG and platform toolset, fix code style. 2013-08-15 21:43:43 +12:00
Matthew Parlane
fede38985e Replace OpenSSL with PolarSSL
Works on windows, not yet cmake.
2013-08-15 20:47:47 +12:00
Jasper St. Pierre
1826fce946 NetPlay: Make sure the server knows it's stopped when it's stopped
This is embarassing.
2013-08-14 18:36:09 -04:00
Ryan Houdek
7f3c06de27 [ARM] Add a few instructions. 2013-08-12 02:52:56 +00:00
Jasper St. Pierre
d0729983b0 Check for GC BIOS in userdir before sysdir 2013-08-11 14:13:45 -04:00
Ryan Houdek
4ed8972c30 [ARM] Implement andx, andi_rc, and andis_rc. 2013-08-11 08:21:17 +00:00
Ryan Houdek
42aef24d78 [ARM] IMM support for all integer instructions that call ComputeRC. Small FPS gains everywhere. 2013-08-11 07:41:23 +00:00
Ryan Houdek
ef83d03dc0 [ARM] Fix ori again. 2013-08-11 05:07:20 +00:00
Jordan Woyak
951d8e356a Remove some non-catastrophic IPC_HLE wiimote related PanicAlerts. We have logging for this.
Fixed issue 6464.
2013-08-10 16:50:12 -05:00
Ryan Houdek
805009abca Fix a merge fail that happened when I merged in Android. It is just a bit of duplicate code, no issues came from it. 2013-08-09 19:01:27 +00:00
Rachel Bryk
f51cb0b7eb Fix multiplayer wiimote netplay. 2013-08-07 18:00:38 -04:00
Rachel Bryk
011bcfee34 Misc netplay cleanup. 2013-08-07 10:10:40 -04:00
Rachel Bryk
d0f05291e7 Add wiimote support to netplay. 2013-08-07 08:16:41 -04:00
Rachel Bryk
88212fba67 Add new Netplay headers to the VS project. 2013-08-05 23:15:53 -04:00
Ryan Houdek
873987bc99 [ARM] Some initial support for immediates in integer. Plenty more to go. 2013-08-05 19:48:15 +00:00
Ryan Houdek
4752eae677 [ARM] Fix IMM support in the register cache. 2013-08-05 18:33:51 +00:00
Jasper St. Pierre
9f90cbee19 NetPlayServer: Close the socket when we're done with it
This would allow a new socket to be created with the same port after
we close it. However, we can't reuse it immediately because of the TCP
TIME-WAIT state.
2013-08-05 06:43:27 -04:00
Jasper St. Pierre
59ab60f37f NetPlay: Supply every player's ping data to the client
This means that we now have feature parity with the combined server
before.
2013-08-05 06:12:56 -04:00
Jasper St. Pierre
a3a222bf5b NetPlay: Remove NetPlay.h / NetPlay.cpp
Now the server and client implementations are entirely separate.
2013-08-05 05:05:06 -04:00
Jasper St. Pierre
9e63cebc93 NetPlay: Remove the base NetPlay class
It's only used by the NetPlayClient. For now, keep around NetPlay.cpp,
but we'll remove that soon.
2013-08-05 04:56:30 -04:00
Jasper St. Pierre
3b32d3c90d NetPlay: Split the server out, and make the local system manage a client as well
This should be transparent, but it may cause regressions.

The idea here is that now all players, including the host of the server,
talk to the server through TCP/IP networking. This significantly reduces
our codepaths through netplay, and will prevent strange local-only bugs
from happening.

The cleanup isn't 100% finished yet. The NetPlay dialog still drives the
server through private APIs. I eventually want to sanction off the server
entirely, so all communication is done through TCP/IP. This will allow us
to have high-traffic public servers that can relay multiple games and
lobbies at a time, and split off channel and game management to people
other than the host.

This is all still just a pipe dream, though.
2013-08-05 04:42:26 -04:00
Jasper St. Pierre
9e8655fa1f NetPlay: Remove some dead code 2013-08-05 04:25:16 -04:00
Ryan Houdek
25fc0c27f3 [ARM] Make sure to flush a register location. IMM still doesn't work... 2013-08-05 07:15:15 +00:00
Ryan Houdek
f2e43f47a4 [ARM] Add support for IMMs to the GPR reg cache. Not yet using it since it doesn't quite work 2013-08-05 05:26:32 +00:00
Ryan Houdek
f485d96b0b [ARM] Remove Fastmem. It is buggy and may never have the potential to work correctly. 2013-08-05 05:26:32 +00:00
Jasper St. Pierre
0e0f0aec6e Core: Remove dead code
We never call SetState with CORE_UNINITIALIZED, and always call
Core::Stop() directly.
2013-08-05 00:03:15 -04:00
Ryan Houdek
db93b516b0 [ARM] Missed flushing our register caches in mtmsr. This would cause a buttload of problems, including the suspected ori being wrong issue. So flush caches and reenable ori. 2013-08-05 02:15:25 +00:00
Ryan Houdek
bafed349e8 [ARM] dcbst implementation. 2013-08-04 17:44:59 +00:00
Ryan Houdek
522d38d080 [ARM] Implement cmpl 2013-08-04 17:33:43 +00:00
Ryan Houdek
f690be3e94 [ARM] Disable ori since it breaks Wind Waker. 2013-08-04 17:05:53 +00:00
Rachel Bryk
af71100867 Save DSP on thread setting to config cache when booting.
Fixes issue 6451.
2013-08-04 02:34:39 -04:00
Ryan Houdek
cf8e8c91b6 [ARM] Implement lha and fix lfs. 2013-08-03 00:48:45 +00:00
Rachel Bryk
541106d611 Increase number of save state slots to 10. 2013-08-02 20:42:30 -04:00
degasus
8f1a2bf43b fix c&p error
This error could change dual vs single core setting
2013-08-02 14:21:34 +02:00
Glenn Rice
95c234ceb3 Merge branch 'join-wiimote-scanning-thread' 2013-08-01 07:19:00 -05:00
Glenn Rice
be76dc153b Re-add the HandleWiimoteDisconnect calls to the RealWiimote::Shutdown
routine.  This is needed to actually disconnect real wiimotes and delete
the corresponding wiimote objects when the app exits.
2013-08-01 07:16:51 -05:00
Rachel Bryk
8c5bc2ba3c Allow setting dsp on thread via game ini.
Also force TWW to LLE and no dsp on thread.
2013-07-31 21:35:22 -04:00
Glenn Rice
7aae59a766 Add comments to explain the usage of the WiimoteReal Stop/Shutdown
routine usage.
2013-07-31 09:19:28 -05:00
Glenn Rice
01987be6b9 Make sure that WiimoteReal is really shutdown on app exit. Particulary
ensure that the wiimote scanning thread is joined.  This fixes a crash
on shutdown if scanning has been initiated.
2013-07-31 09:09:18 -05:00
Rachel Bryk
44d17b5da5 Add hotkeys to increase/decrease the frame limit. 2013-07-30 19:25:12 -04:00
Rachel Bryk
a33b1fcdc6 Make hotkeys for togglign IR, AR, efb copies and fog settings configurable. 2013-07-30 05:49:02 -04:00
Pierre Bourdon
8529addcc6 Removing the 'Clearing code cache' OSD message in Release builds 2013-07-29 09:56:50 +02:00
degasus
531c299bde fix movie player on linux
thx @ delroth for the patch
2013-07-28 17:55:35 +02:00
John S. Peterson
9b20280bcf Changing the Nunchuk stick axis from center to center + 1
if the other axis isn't at center

because

* it's expected by some emulated programs
2013-07-26 23:47:50 -04:00
John Peterson
23f59a82f7 Adding Nunchuk stick calibration
because it's useful for the hybrid Wiimote mode
2013-07-26 23:47:23 -04:00
Rachel Bryk
bff2bc1288 Clear patches on shutdown.
Fixes issue 6434.
2013-07-25 16:43:00 -04:00
Jasper St. Pierre
a963c621dc NetPlay: Sync across whether to save memcards or not
There's no reason this shouldn't be synced other than laziness.
2013-07-22 07:29:15 -04:00
Jasper St. Pierre
6d463d1b67 NetPlay: Allow building a server without a game
This isn't hooked up in the UI yet, but it will allow us to
basically start the server and chat system without choosing
a game.
2013-07-22 07:29:15 -04:00
Jasper St. Pierre
2631ec3cff Core: Remove an unused var 2013-07-22 07:29:15 -04:00
Rachel Bryk
41fe2e1466 Don't sync dual core setting in netplay. 2013-07-20 13:20:14 -04:00
Rachel Bryk
96219df4fd Allow non-SIDEVICE_GC_CONTROLLER controllers in netplay again. 2013-07-19 22:58:33 -04:00
Rachel Bryk
e4767aec55 Sync some important settings with server during netplay. 2013-07-19 18:48:27 -04:00
Rachel Bryk
919e54c695 Automatically connect the appropriate controllers for netplay. 2013-07-19 15:53:20 -04:00
Rachel Bryk
0e1efd7d38 Poll the controllers with the same timing as movies for netplay. Might help prevent desyncs. 2013-07-19 15:01:04 -04:00
Ryan Houdek
a3e289e802 [ARM] Reenable FMRX, it seems to work fine. 2013-07-17 04:29:17 -05:00
Ryan Houdek
86826b28dc [ARM] Implement LFD. Reorder VFP register allocation a bit. 2013-07-17 04:23:38 -05:00
Ryan Houdek
dc66b3d474 Add Read_F32 and Read_F64 helper functions to MemmapFunctions. 2013-07-17 04:22:47 -05:00
Ryan Houdek
5147e5167b [ARM] Implement xorx 2013-07-17 02:34:20 -05:00
Ryan Houdek
b30a697355 [ARM] Disable mfmsr. Implement stb and subfx. 2013-07-17 02:25:21 -05:00
Ryan Houdek
5899013876 [ARM] Implement MFTB 2013-07-17 01:35:07 -05:00
Ryan Houdek
fc6e06cb72 [ARM] Implement mfmsr 2013-07-17 01:25:06 -05:00
Ryan Houdek
bab3032185 On ARM Hosts, increase the instruction run count to 64bit. 32bit is /very/ quickly overflown. 2013-07-16 22:20:18 -05:00
Ryan Houdek
737df2a68c Patch from Degasus that removes the last of the the GL_TEXTURE_RECTANGLE usages. This is needed to have GLES3 support. 2013-07-13 17:24:23 -05:00
John Peterson
c52a583090 Removing reading of the emulated Wiimote state in the real Wiimote mode
because

* the purpose of the emulated Wiimote state in the real Wiimote mode is to store the real Wiimote state rather than synchronise with an emulated Wiimote
2013-07-11 19:11:36 -04:00
John Peterson
fd4a4410e5 Removing wait for real Wiimote connection
when

* opening the Wiimote configuration dialog
* booting from the emulated program entry point rather than a state

because

* it doesn't have meaning in these scenarios
* it has meaning when booting from a state
2013-07-11 11:32:14 -04:00
John Peterson
e36757bec1 Adding read data reply to the real Wiimote
because the emulated program expect it
2013-07-11 11:32:09 -04:00
Ryan Houdek
6e74d4b21d [Android] Disable x64MemTools' backpatching. It isn't available on x86 anyway. 2013-07-11 09:00:08 -05:00
John Chadwick
16cd26d177 Add UPnP support.
Feedback is in logs as suggested by skid_au. The checkbox is still there, but
mostly for people who would like to opt out (unfortunately, I can not be sure
how this feature may behave for some routers - there's a hell of a lot of bad
UPnP implementations.)

The Visual Studio stuff is a little messy, so I apologize if anything is a bit
off. I tested most configurations and it worked.

I also tested CMake on Debian Wheezy, Ubuntu Saucy, and Mac OS X Mountain Lion.
All seemed to be OK.
2013-07-09 18:08:43 -04:00
Ryan Houdek
379a15ba3b Make confirm on stop default enabled. 2013-07-08 02:56:40 -05:00
Pierre Bourdon
9b128e9347 Disable LPF filtering in new-ax-hle
The current implementation is broken and this is a non critical feature.

Fixes new-ax-hle regression in Super Monkey Ball.
2013-07-06 14:35:19 +02:00
Pierre Bourdon
7b40874309 Implement AX command 0x11 (SET_OPPOSITE_LR) 2013-07-06 14:35:19 +02:00
Ryan Houdek
d584150851 Remove a warning from ARM includes already defining PAGE_SIZE and a warning in the FPR cache. 2013-07-05 20:56:17 -05:00
Ryan Houdek
7d6b36bf73 Fix most ARM warnings 2013-07-05 19:56:15 -05:00
Matthew Parlane
691900aa90 Disable encryption when checking Wiimote extension for scan.
This is for when we are checking if it is a Balance Board.
2013-07-03 23:05:30 +12:00
Matthew Parlane
998c4042c2 Add ability to dump Balance Board data to local udp port.
This probably won't work on Mac...
2013-07-03 23:05:29 +12:00
Rachel Bryk
de369dcc60 Misc cleanup and fixes for some of the bad code i've written.
Fixes a buffer overflow in the sscanf, move the movie.raw to the GC folder, and stops calling GetSettings() twice.
2013-07-01 17:44:42 -04:00
Rachel Bryk
e4846de692 Add hotkeys for save/load state to/from file. 2013-06-30 19:01:30 -04:00
Jasper St. Pierre
c11ae9ea4b Revert "Core: Update default bound controls for new ExpressionParser"
This reverts commit 54e1b58199.

We now support barewords control names, so use those instead.

Conflicts:
	Source/Core/Core/Src/HW/WiimoteEmu/WiimoteEmu.cpp
2013-06-26 20:25:37 -04:00
Rachel Bryk
63a747edc0 Add shortcut to (dis)connect the balance board.
Fixes issue 6383.
2013-06-26 06:23:29 -04:00
John Peterson
e250550de3 Removing muted Wiimote audio
because that reduce writes
2013-06-25 09:24:45 -04:00
John Peterson
9e779c22b3 Removing Wii input use of an unsaved state value
because that allow the complete state to be loaded
2013-06-25 09:24:33 -04:00
John Peterson
0fd3acd152 Saving real Wiimote state
because that's simpler than reconnecting
2013-06-25 09:24:14 -04:00
Jasper St. Pierre
748ee50536 Core: Fix a typo in the binding of IR Up
Whoops.
2013-06-25 01:58:22 -04:00
Jasper St. Pierre
54e1b58199 Core: Update default bound controls for new ExpressionParser 2013-06-25 01:46:13 -04:00
Rachel Bryk
970661a0c5 Warning fix. 2013-06-24 12:30:08 -04:00
Rachel Bryk
f73a97b242 Revert "fix warning: format '%x' expects argument of type 'unsigned int*', but argument 3 has type 'u8* {aka unsigned char*}'"
This reverts commit b9953f5d6a.
2013-06-24 09:16:14 -04:00
Tetsuo55
b9953f5d6a fix warning: format '%x' expects argument of type 'unsigned int*', but argument 3 has type 'u8* {aka unsigned char*}' 2013-06-23 11:03:30 +02:00
NeoBrainX
15943de313 Revert "Added optimizations to ClassifyFloat/Double functions in Mathutil.cpp and to PPCCache.cpp"
This reverts commit 7aae9ccbc0.

Reasons:
- no test results have been provided to prove the usefulness of the patch
- broken coding style
- the author hasn't replied to any criticism
2013-06-22 12:25:03 +02:00
Rachel Bryk
266236d6a4 When loading a save state in read only that mismatches the current movie, load the input prior to the save state from the save state's movie, instead of using the current movie's input up to that point.
This prevents desyncing before the save state.
2013-06-21 01:53:50 -04:00
Rachel Bryk
716f656d28 Save sync gpu setting to dtm header. 2013-06-20 06:08:17 -04:00
Lioncash
d78f00971b Fix a free that should have been a delete. 2013-06-18 10:13:37 -04:00
booto
a518a1cbdc buffer fixes found via cppcheck/tetsuo-- 2013-06-18 13:17:50 +08:00
John Peterson
825c5ca09a Equalising the 32 and 64 bit state compression
because that allow loading both
2013-06-15 23:28:04 +02:00
Rachel Bryk
3e40f28369 Get video backend name via g_video_backend->GetName() instead of sconfig for movies, since that can be wrong.
Also, I still can't code. Or even notice when something obviously doesn't work.
2013-06-10 21:04:55 -04:00
skidau
92fdc15aa3 Implemented field order detection for PAL games. Fixes the shaking of the screen when XFB is enabled with a PAL game.
Fixes issue 6316.
2013-06-08 14:05:02 +10:00
skidau
196d152ad7 Invalidate the texture cache using the GPU thread when the CPU thread makes a request.
Fixes issue 6350.
2013-06-08 11:28:54 +10:00
eli173
7aae9ccbc0 Added optimizations to ClassifyFloat/Double functions in Mathutil.cpp and to PPCCache.cpp 2013-06-01 19:17:52 -05:00
John Peterson
80b09c074e Changing the Gecko code comparison from metadata to data comparison
because different data sometimes have the same metadata
2013-06-01 09:21:57 +02:00
John Peterson
4dad640d5f Reading shake force from calibration rather than a constant
because that allow maximum force regardless of calibration
2013-05-28 23:46:01 +02:00
John Peterson
388ddee685 Adding condition to CoreTiming state function
because ev->type might be undefined in MODE_READ
2013-05-27 23:26:17 +02:00
Rachel Bryk
ca12e7ee8f Make auto fullscreen resolution the default. 2013-05-25 13:51:52 -04:00
Rachel Bryk
026ab26755 Save settings to file when booting a game.
Fixes issue 6310.
2013-05-24 19:06:01 -04:00
John Peterson
f452a6442f Adding MMU state values to state
because that allow the MMU state to be loaded
2013-05-23 01:55:29 +02:00
Matthew Parlane
3778c96d48 Edge case where balance board returns corrupt extension type... 2013-05-22 22:39:55 +12:00
Rachel Bryk
10630989a4 Merge remote-tracking branch 'john-peterson/state4' 2013-05-21 20:14:15 -04:00
John Peterson
5e801fd6ef Adding DSP state values to state
because that allow the DSP state to be loaded
2013-05-22 02:13:23 +02:00
Rachel Bryk
10d1d19409 Set graphics settings while playing a movie in UpdateActiveConfig(), so settings can't be changed for a frame. 2013-05-21 19:20:22 -04:00
Matthew Parlane
86b4a87fef Merge branch 'wii_bb'
Adds Balance Board support.
2013-05-21 23:34:58 +12:00
Matthew Parlane
f178015461 Better checking for extension. 2013-05-21 22:54:01 +12:00
Matthew Parlane
e2b0632334 Added a method for detecting Wiimote extension.
This is run before a Wiimote will be considered.
2013-05-21 21:42:19 +12:00
John Peterson
9a1b9e9b3b Removing ISO ini presence requirement for reading movie settings
because it's not necessary for running a movie
2013-05-19 19:47:32 +02:00
Matthew Parlane
56976ad6ea Fix coding style. 2013-05-19 14:57:04 +12:00
Matthew Parlane
065d772696 Windows should have support for Balance Board now.
Needs to be tested.
2013-05-19 14:45:24 +12:00
Matthew Parlane
7208823396 Added config for enabling Balance Board.
Fixed other structures that still assumed 4 of everything.
2013-05-19 00:30:20 +12:00
Matthew Parlane
59924d0291 It never had logging here anyway... 2013-05-18 22:31:22 +12:00
Matthew Parlane
08f6ba8274 I'm bad at mac.. sorry.
Used the correct name string.
2013-05-18 22:29:51 +12:00
Matthew Parlane
0b869cf12d Add mac support for balance board. 2013-05-18 22:26:00 +12:00
Matthew Parlane
fccf377180 Fix IODummy FindWiimote method. 2013-05-18 20:35:37 +12:00
Matthew Parlane
19252f4e0e Initial commit with balance board working on Linux.
Will not work on any other platform currently.
Missing any sort of config, and definitely no emulation mode.
2013-05-18 20:31:37 +12:00
Pierre
82cd91e944 DSPJIT: the shift value must still be loaded into the correct register
Fixes issue 6295
2013-05-10 20:12:49 +02:00
skidau
98e8f8d7d0 Forced an external exception check on DI interrupts. Fixes Summoner: A Goddess Reborn.
Fixes issue 6301.
2013-05-10 00:03:00 +10:00
Ryan Houdek
09def3ed3f [Android] Add in a compiling option for GLES3 2013-05-05 23:37:01 -05:00
Glenn Rice
12d791a628 Fix some of the compiler warnings that have appeared recently. 2013-05-05 23:22:57 -05:00
skidau
719f18a122 Forced an exception check on short ARAM DMA transfers. 2013-05-04 00:19:02 +10:00
skidau
18b0556e0d Immediately process ARAM DMA transfers if they are 1 block in length. Fixes the teleportation in Beyond Good and Evil.
Fixes issue 6289.
2013-05-03 23:20:48 +10:00
LPFaint99
c80309ee1a GCMemcard: Initialize the current/previous DIR BAT pointers when creating a new memory card fixes issue 6288 2013-05-01 11:28:02 -07:00
skidau
8bcd9a74c8 Clear the texture cache when a new dol is loaded via ES_LAUNCH. Fixes the black screen in The House of the Dead 2.
Abbreviated some of the information in the window titlebar.
2013-05-01 23:51:43 +10:00
skidau
e70a277af2 Added Dance Mat support for the Family Trainer/Active Life series.
Select the dance mat via Configure > Gamecube > Port 1 > Dance Mat

The dance mat is mapped to the GC Pad:

D-Pad Up = Blue Arrow Up
D-Pad Down = Blue Arrow Down
D-Pad Left = Blue Arrow Left
D-Pad Right = Blue Square
Y Button = Orange Arrow Up
A Button = Orange Arrow Down
X Button = Orange Arrow Right
B Button = Oranage Square
2013-04-30 23:36:46 +10:00
Rachel Bryk
e5fdd301a9 Merge remote-tracking branch 'John-Peterson/state' 2013-04-29 22:32:08 -04:00
John Peterson
ef2e0a87d0 Adding option to save and load state by timestamp
Load by timestamp: load last state is expanded from 1 to 8 actions, for newest to oldest state

Save by timestamp: overwrite the oldest state (or use an empty slot if available)

Adding remaining hardcoded state keys to hotkey dialog

Adding a program exit hotkey
2013-04-30 04:13:55 +02:00
NeoBrainX
76a316ffab Don't exit when bluetooth support is not available on Windows.
Fixes running Dolphin in Wine and on regular Windows setups where bthprops.cpl is not available.

Fixes issue 6283.
2013-04-29 21:32:13 +02:00
Rachel Bryk
5afceca7a1 Apparently we can't trust m_strVideoBackend on osx. 2013-04-26 02:47:49 -04:00
Rachel Bryk
3b732f695d Show video backend and audio engine in title bar.
Fixes issue 6276.
2013-04-25 19:59:08 -04:00
Matthew Parlane
d18b71ccf9 Back to broken ES_launch but 4 wiimotes working. 2013-04-25 15:28:42 +12:00
Matthew Parlane
7c50ac931d Update before enqueue. 2013-04-25 14:37:12 +12:00
Matthew Parlane
a2b543d47f request_queue may not have anything in it on return from ExecuteCommand
i.e. when calling ES_Launch and everything is reset.

Don't call Update after queuing a request.
2013-04-25 14:24:05 +12:00
Matthew Parlane
00316e182b Cleanup session data on deconstruct. 2013-04-25 01:59:20 +12:00
Matthew Parlane
c3dbbe011d Merge branch 'master' into wii-network 2013-04-25 01:41:45 +12:00
Matthew Parlane
62ebfa0a78 Probably breaks a "fixed" issue.. 2013-04-25 01:39:33 +12:00
Matthew Parlane
e98069b647 Merge branch 'master' into wii-network 2013-04-25 01:13:14 +12:00
Matthew Parlane
c118c71eac ES needs to handle it's own reply.
pDevice was being used after free otherwise.
2013-04-25 01:11:36 +12:00
Matthew Parlane
5df545926b Tidy up and support for setting rootca. 2013-04-24 21:35:36 +12:00
Matthew Parlane
934e150596 Merge branch 'master' into wii-network
Conflicts:
	Source/Core/Core/Src/Boot/Boot_BS2Emu.cpp
	Source/Core/Core/Src/ConfigManager.cpp
	Source/Core/Core/Src/HLE/HLE_OS.h
	Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_es.cpp
	Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_es.h
	Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net.cpp
	Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net.h
2013-04-24 00:48:00 +12:00
Matthew Parlane
b652f1974f Completed port to gnutls for linux. 2013-04-24 00:32:44 +12:00
Lioncash
e3e818f83c Fix parameter naming in DSPEmulator.h. Should be "HLE" in CreateDSPEmulator's prototype, not "LLE". 2013-04-23 07:21:48 -04:00
Pierre
9a8dd7963e Merge branch 'dspjit'
Conflicts:
	Source/Core/Core/Src/DSP/Jit/DSPJitExtOps.cpp
	Source/Core/Core/Src/DSP/Jit/DSPJitMisc.cpp
	Source/Core/Core/Src/DSP/Jit/DSPJitRegCache.cpp
	Source/Core/Core/Src/DSP/Jit/DSPJitUtil.cpp
2013-04-21 12:29:18 +02:00
Ryan Houdek
9720d6b418 Allow runtime setting of fastmem in ARM and disable since it seems to be causing issues again. Cortex-A9 only? 2013-04-20 17:36:49 +00:00
lioncash
d244bca1f5 Fix a bunch of random typos in comments and logging.
Also update the comment headers for two functions in GCMemcard.cpp.
2013-04-19 09:21:45 -04:00
Ryan Houdek
47f1505499 Add a fastmem option for enabling and disabling fastmem at runtime. 2013-04-19 07:50:33 -05:00
Ryan Houdek
d524781657 Adjust some files being built or not to fix clang on Android. 2013-04-18 22:50:03 -05:00
skidau
3a6492d3a9 Tweaked the aram dma exception timing to fix the hang that occurred in Viewtiful Joe. 2013-04-18 23:11:18 +10:00
Lioncash
ec10622425 New license header introduced to the Core project.
Also, remove DolLoader.h, it doesn't have any use. Boot_DOL.cpp/.h supercedes it.
2013-04-17 22:43:11 -04:00
John Chadwick
1e6dacf1e4 Make dolphin aware of disc revision numbers. Display them under game properties and use them in netplay.
Patch by johnwchadwick.
Fixed issue 6243.
2013-04-16 22:39:05 -05:00
Lioncash
2316cb6876 Remove all tab/space mismatches from the Core project. For anyone working on a branch that heavily involves the core, I am so sorry.
- Also killed off some trailing spaces/tabs.

- Updated the license header to be consistent with the rest of the project (All projects are now done moving over to this)

- Also, killed some dangling else's (where appropriate)

Now all the tab fixing is done. No more of this crap should be needed to be pushed. Rejoice!
2013-04-16 23:14:36 -04:00
skidau
f498686289 Merge branch 'VBeam-fix'
* VBeam-fix:
  Renamed the VBeam variable for clarity.
  Fixed VBeam emulation in interlaced mode, removing the hacks in the audio timing. Fixed VBeam emulation in progressive scan mode. Retained the old VBeam speed hack.  This option has now been switched so that the accurate behaviour is on by default and the speed hack (inaccurate behaviour) is enabled when the option is checked.
2013-04-16 21:21:40 +10:00
skidau
71828e02f7 Renamed the VBeam variable for clarity. 2013-04-16 21:18:53 +10:00
skidau
61c11284ea Fixed VBeam emulation in interlaced mode, removing the hacks in the audio timing.
Fixed VBeam emulation in progressive scan mode.
Retained the old VBeam speed hack.  This option has now been switched so that the accurate behaviour is on by default and the speed hack (inaccurate behaviour) is enabled when the option is checked.
2013-04-15 20:23:25 +10:00
Ryan Houdek
44bbb54a62 Add a Androind ControllerInterface class for allowing input in a non-hacky way. Add a default GCPad.ini file so it actually works. 2013-04-14 23:02:53 -05:00
Ryan Houdek
37b67971e7 Merge remote-tracking branch 'origin/master' into Android-trash
Conflicts:
	Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp
2013-04-14 20:43:42 -05:00
Ryan Houdek
bde7ea00ef Removes the Java ButtonManager for one in the C++ source so the OSD class can call in to it each frame for drawing the buttons. Copy our assets to the dolphin-emu directory for now. Remove NativeRenderer, ButtonManager, and Button Java classes since they aren't used anymore. Buttons A, B, and Start all work and are drawn on screen now. Button input on Android is still a bit hacky, needs a proper controller interface still. Android specific button drawing code is still hanging out in SWRenderer.cpp 2013-04-14 20:39:56 -05:00
Pierre
7768b6f960 DSPJIT: Fix movToHostReg usage 2013-04-14 13:34:29 +02:00
Pierre
9299026572 DSP: fix for interpreter, jit ADDP
should probably use carry, not carry2
2013-04-14 13:34:29 +02:00
Pierre
5cbe75b389 DSPJIT: fix increase/decrease_addr_reg to match interpreter again 2013-04-14 13:34:29 +02:00
Pierre
d3de29c673 DSPJit: fix bug in DSPJitRegCache::getXReg 2013-04-14 13:34:29 +02:00
Pierre
6b5b8ab5be Implement and use MOVZX(64, 32,...)
Probably better to keep that same-register-MOV assert useful. Also,
explicit type extension documents whats happening.

Internally, this boils down to the original MOV, but without the assert.
2013-04-14 13:34:29 +02:00
Pierre
9c1d18a14c DSP/Jit: Some small optimizations to lsrn emitter 2013-04-14 13:34:29 +02:00
Pierre
6873443a9a DSPJIT: RegCache: Fix writing immediates to guest registers 2013-04-14 13:34:29 +02:00
Pierre
5440ddde14 DSP: regcache: Synch host regs back to previous state
only if we are told to not emit the fixup to get it to that state
2013-04-14 13:34:28 +02:00
Pierre
a902c720e0 DSP/Jit: Fold the test for ACMx into dsp_op_read_reg()
adds a new dsp_op_read_reg_dont_saturate for the few cases where
saturation is not appropriate
2013-04-14 13:32:13 +02:00
Pierre
54f3828555 DSPLLE: Move a bunch of helper functions from DSPJitMisc.cpp to DSPJitUtil.cpp 2013-04-14 12:05:03 +02:00
Lioncash
b91930a2d4 Really minor LogInfo consistency fix in ActionReplay.cpp.
All the other [bit size] Write LogInfo calls had a hyphen in the text.
2013-04-14 00:17:22 -04:00
Ryan Houdek
605bbf5ca8 Merge remote-tracking branch 'origin/master' into Android-trash 2013-04-13 00:58:37 -05:00
Ryan Houdek
ccf1cee203 Implement a few more store instructions on ARM 2013-04-13 05:02:27 +00:00
Ryan Houdek
62adcaf552 Fix fastmem on ARM 2013-04-12 20:19:42 +00:00
Matthew Parlane
d5ef9f3e85 Merge branch 'master' into wii-network 2013-04-12 17:11:32 +12:00
parlane
2c722bb04f GOOGLE CODE, STOP BEING CRAP please :( 2013-04-12 02:46:30 +00:00
parlane
71a1ae3a16 Make debug builds use unicode, not multibyte. 2013-04-12 02:44:48 +00:00
skidau
ef4d59a21e Refactored the SystemTimers to allow for per-UCode timing. Fixes issue 6237. 2013-04-12 12:08:05 +10:00
Matthew Parlane
2c51b34f3c Revert "How did this ever work?"
This reverts commit 04d299a418.
2013-04-12 00:45:06 +12:00
Matthew Parlane
04d299a418 How did this ever work? 2013-04-12 00:43:06 +12:00
Matthew Parlane
0c9d8d34e1 Merge branch 'master' into wii-network
Conflicts:
	Source/Core/Core/CMakeLists.txt
2013-04-11 19:55:36 +12:00
Jordan Woyak
385d8e2b15 ChunkFile has allowed me to accidentally "Do" a non-POD for the last time! 2013-04-09 19:02:22 -05:00
Jordan Woyak
018282c2b9 Track the real wiimote rumble state to drop outgoing rumble reports with no effect.
This eliminates constant streams of reports in various games that constantly send audio reports. (Just Dance 2, DKCR, etc.)
(Speaker data reports are converted to rumble reports when speaker data is disabled.)
2013-04-08 18:50:42 -05:00
Jordan Woyak
42e97e462c Look for wiimotes when "Continuous Scanning" is enabled even if a device using the MS stack is not found.
Fixed issue 6215.
2013-04-07 14:21:20 -05:00
John Chadwick
c7abf7e8d2 Allow disabling memory card writes in netplay.
Fixes issue 6217.
2013-04-07 12:18:07 -04:00
skidau
b76c7cf4f3 Bumped up the LLE period to 12600 as it seemed to be a bit more stable. 2013-04-07 21:44:44 +10:00
skidau
52053f5d95 Forced an exception check after an interrupt is generated by the DSP. Changed the timing back to 3ms/5ms periods, fixing the slowdown and garbled AX audio.
Fixed Accurate VBeam emulation when DSP HLE audio is being used.
2013-04-07 16:27:46 +10:00
Jordan Woyak
53368823cb Merge branch 'real-wiimote-minor-fixes' 2013-04-06 16:57:55 -05:00
skidau
8a2109691a Quick fix to get Zelda: Wind Waker booting again. 2013-04-07 07:18:28 +10:00
skidau
ecb4337209 Made the timing consistent between DSP HLE and DSP LLE. Fixes Lost Kingdoms II in DSP HLE mode. 2013-04-06 20:26:43 +11:00
Jordan Woyak
c32e2f33ac Fix IORead return off-by-one error in Windows real wiimote code. 2013-04-05 21:45:35 -05:00
Jordan Woyak
3c8477df03 Real Wiimotes: Invalidate last data report when any non-data input reports comes in. 2013-04-05 21:10:36 -05:00
skidau
518e7a7635 Adjusted the ARAM DMA transfer size again. Fixes the audio in the Sonic Mega Collection games. 2013-04-06 11:52:00 +11:00
Jordan Woyak
ceebed9268 Apply changes to Windows real wiimote code as suggested by bughunter2.
Fixed issue 6071.
2013-04-04 21:46:00 -05:00
Jordan Woyak
f8e52bd83a Eliminate some redundant constants. 2013-04-04 19:46:42 -05:00
Jordan Woyak
99da297951 Fix minor issue with real wiimote data report handling. 2013-04-04 19:34:00 -05:00
skidau
aaf6c3b753 Forced the exception check when the ARAM DMA transfer is between 32 and 320 blocks in size. Fixes Lost Kingdoms II. 2013-04-04 22:38:39 +11:00
Glenn Rice
3fdc46877a Make the GUI show a translated "No audio output" sound backend string. 2013-04-03 09:22:39 -05:00
Jordan Woyak
92e82a4160 Suppress warnings. 2013-04-02 15:02:02 -05:00
Pierre Bourdon
27e08f66b5 Fix build on OS X 2013-04-02 21:15:04 +02:00
Pierre Bourdon
eb06c62a6e Merge branch 'new-ax-hle'
GC and Wii games using the AX UCode should now work almost perfectly with DSP
HLE. If you get any issue, make sure the "DSP on dedicated thread" option is
disabled, and try setting framelimit to "Audio".

As a side effect, DSP HLE should not desync anymore (making it usable in
netplay and TAS) with AX games.

Conflicts:
	Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AX.h
	Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AXWii.cpp
2013-04-02 21:00:44 +02:00
Pierre Bourdon
9860137291 Initialize the audiocommon mixer on the first write to DSPCR, even if DSP is not enabled. Fixes issue 6192. 2013-04-02 20:42:07 +02:00
Pierre Bourdon
6e708005df Implement AXWii commands 08/09, aka. "upload AUXA/AUXB and use it as a temp buffer to mix to MAIN L/R/S and AUXC L", aka. "what the fuck were they thinking?!" 2013-04-02 04:12:17 +02:00
Pierre Bourdon
0220fd1940 Implemented command 03: ADD_SUB_TO_LR 2013-04-02 03:23:48 +02:00
Pierre Bourdon
74dee41b87 Add implementation for command 02: SUB_TO_LR 2013-04-02 03:10:29 +02:00
Pierre Bourdon
5c67a0bcf6 Partial fix for the EA Wii games having no sound - implement the second OUTPUT command in AXWii. Sound in videos and musics still don't play. 2013-04-02 02:53:19 +02:00
Lioncash
f36e18593b More log elaborating. Final time I'm doing this.
Logs should actually be somewhat understandable to some people outside of programming and stuff (in a way). It's certainly better than being bombarded by abbreviations when errors/general logging occur, at least.
2013-04-01 18:45:23 -04:00
Lioncash
04913a855e Update function descriptions in GCPad.cpp and Wiimote.cpp
Add inputs. Those that still need a description are tagged with [Description Needed]
2013-04-01 18:07:44 -04:00
Pierre Bourdon
49d809ac0e Merge branch 'osx-libcxx' 2013-04-01 18:17:49 +02:00
Lioncash
58159a1693 Some more logging typos and clarifications. Missed these in my last commit.
This commit mainly elaborates on some messages a little more. Also fixes some typos that slipped through the last commit.

A large change in text can be seen in EXI_DeviceMemoryCard.cpp. I added more info as to why a write to a memory card may fail. (This actually was a reason I was unable to write to a memcard recently).

Elaborations can be seen in WGL.cpp

I did change some comments in some files that I was correcting logging messages in, however this is only if I spot a typo or if an abbreviation is lower-cased. Even in that case, the amount of changes done to comments is very minimal.
2013-04-01 00:10:54 -04:00
Lioncash
f432d6038e Fix some typos and correct some capitalizations in the log messages.
Makes the logging look more orderly and less spammy when spitting out things.
2013-03-31 19:13:30 -04:00
Pierre Bourdon
4d27315cd1 Initialize the AX Thread after the sync objects are initialized 2013-03-31 01:55:41 +01:00
Pierre Bourdon
60b43eb8d3 Support the old AXWii version used in games like Wii Sports or Excite Truck 2013-03-31 00:25:00 +01:00
Pierre Bourdon
276c457bed Basic framework to support the old AXWii version used in Wii Sports and Excite Truck 2013-03-30 22:22:57 +01:00
Pierre Bourdon
79c0316243 Disable the polyphase resampler - it causes audio glitches with non integer ratios 2013-03-30 16:59:06 +01:00
Pierre Bourdon
04f9c6793b Fix the argument to the samples reading callback in voice processing - should fix issues with wiimote audio, untested 2013-03-30 14:39:59 +01:00
Pierre Bourdon
a813f9e13c Support loading polyphase resampling coeffs from User and Sys in HLE 2013-03-30 14:38:14 +01:00
Pierre Bourdon
e3b0a2c9bf Add an option to run the AX processing on the CPU thread. Fixes timing issues causing audio glitches on Wii, and should improve the overall stability of AX HLE. 2013-03-30 14:02:30 +01:00
Pierre Bourdon
c271082ec5 Add volume ramping for MAIN output, separate old volume values for each AUX channel and refactor 2013-03-30 00:55:55 +01:00
Pierre Bourdon
4b09f525f6 Fix AUX volume mixing in AXWii: implement volume ramping and MixAdd properly. Home menu sounds now work properly. 2013-03-29 22:22:24 +01:00
Pierre Bourdon
ef501137be Fix audio glitching at the end of a voice because of bad non-looping sound handling in AXWii 2013-03-29 21:02:27 +01:00
Pierre Bourdon
194ada2481 More MSVC 2010 build fixes 2013-03-29 07:55:56 -07:00
Pierre Bourdon
4895e38bd5 This change might work better if I git add the files 2013-03-29 07:31:15 -07:00
Pierre Bourdon
e9b236be05 OSX sucks at c++11 2013-03-29 13:55:55 +01:00
Pierre Bourdon
a997824f68 Add missing <functional> header include 2013-03-29 13:51:52 +01:00
Pierre Bourdon
4dc1ffbb20 Refactor the resampling code to avoid having two polyphase resampling implementations (normal/wm) 2013-03-29 13:49:36 +01:00
Pierre Bourdon
85b498ba97 Update the right cur_addr_frac after wiimote audio resampling 2013-03-29 13:18:30 +01:00
Pierre Bourdon
57d4ba8dcc Merge branch 'master' into new-ax-hle 2013-03-29 00:49:07 +01:00
skidau
b2575c6280 Removed some redundant code introduced in the last commit. 2013-03-29 00:53:30 +11:00
skidau
9b7db5954f Rounded the loop addresses to the nearest 16bit value in the loop comparison.
Fixes issue 6160.
2013-03-29 00:43:41 +11:00
skidau
e38e48923d Readded the tracking of the FIFO Writes.
Fixes issue 6165.
2013-03-28 19:36:37 +11:00
skidau
7784fa4c67 Merge branch 'master' into wii-network
# By Ryan Houdek (185) and others
# Via degasus (12) and others
* master: (625 commits)
  Revert "Don't open/close file for every file operation." as it was crashing PokePark in Windows builds.
  Array overrun fixed in VertexShaderCache for the DX11 plugin.
  Fixed DSPTool build.
  Windows build fix
  Go back to assuming every HID device is a wiimote on Windows. Fixed issue 6117. Unfixed issue 6031.
  VideoSoftware: Improve fog range adjustment by using less magic and more comments.
  revert RasterFont for VideoSoftware
  ogl: fix virtual xfb
  Windows build fix from web interface...
  Adjusted the audio loop criteria, using >= on the Wii and == on GC.  This fixes the audio static that occurred in Wii games after hours of play.
  Forced the exception check only for ARAM DMA transfers. Removed the Eternal Darkness boot hack and replaced it with an exception check.
  VideoSoftware: Implement fog range adjustment, fixing issue 6147.
  implement 4xSSAA for OGL
  move ogl-only settings into backend
  Fix description of disable fog, and move it to enhancements tab.
  Reverted rd76ca5783743 as it was made obsolete by r1d550f4496e4.
  Removed the tracking of the FIFO Writes as it was made obsolete by r1d550f4496e4.
  Forced the external exception check to occur sooner by changing the downcount.
  Mark the Direct3D9 backend deprecated.
  Prefer D3D11 and OpenGL over D3D9 by default.
  ...

Conflicts:
	CMakeLists.txt
	Source/Core/Common/Common.vcxproj.filters
	Source/Core/Common/Src/CommonPaths.h
	Source/Core/Core/Core.vcxproj.filters
	Source/Core/Core/Src/Core.cpp
	Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_FileIO.cpp
	Source/VSProps/Dolphin.Win32.props
	Source/VSProps/Dolphin.x64.props
2013-03-27 13:19:23 +11:00
skidau
5cea0d9def Revert "Don't open/close file for every file operation." as it was crashing PokePark in Windows builds.
This reverts commit efcb2abe9b.

Fixes issue 6098.
2013-03-27 13:06:15 +11:00
skidau
d33c19b0cd Revert the threading of wii-network.
This rolls back to commit bca2cac640.
2013-03-27 12:58:04 +11:00
skidau
6a6c086b50 Windows build fix 2013-03-26 18:48:57 +11:00
Jordan Woyak
b8b5afa323 Go back to assuming every HID device is a wiimote on Windows.
Fixed issue 6117.
Unfixed issue 6031.
2013-03-25 21:14:55 -05:00
skidau
51290fd482 Adjusted the audio loop criteria, using >= on the Wii and == on GC. This fixes the audio static that occurred in Wii games after hours of play.
Fixes issue 5938.
Fixes issue 6067.
2013-03-26 08:31:20 +11:00
skidau
0ccaaee38c Forced the exception check only for ARAM DMA transfers.
Removed the Eternal Darkness boot hack and replaced it with an exception check.
2013-03-26 08:23:20 +11:00
skidau
dfa1845ae1 Reverted rd76ca5783743 as it was made obsolete by r1d550f4496e4. 2013-03-25 01:01:29 +11:00
skidau
4fa61a1e7f Removed the tracking of the FIFO Writes as it was made obsolete by r1d550f4496e4. 2013-03-25 00:57:53 +11:00
skidau
1d550f4496 Forced the external exception check to occur sooner by changing the downcount.
Fixes issue 5825.
2013-03-25 00:47:44 +11:00
Ryan Houdek
d11679a06e Android mega commit of trash. 2013-03-19 21:53:09 -05:00
skidau
a6249b5388 Properly set the DMAState flag while ARAM DMA transfers are underway.
Fixes issue 6118.
2013-03-19 23:03:38 +11:00
Rachel Bryk
7c2c4662a7 Disable Vsync while holding tab to disable the frame limit, and allow toggling vsync while emulation is running in OGL.
D3D9 still doesn't support changing vsync while emulation is running.

Fixes issue 6111.
2013-03-18 20:42:18 -04:00
Ryan Houdek
b512b23407 Reenable mulli and negx, seems to work fine. 2013-03-18 07:50:52 +00:00
Jordan Woyak
8faefa3672 Windows - Don't disconnect real wiimotes on Dolphin close. (back to the old behavior)
Fixed issue 6103.
2013-03-16 18:55:01 -05:00
Jordan Woyak
98fa5006fd Fix some warnings. 2013-03-16 18:53:34 -05:00
Pierre Bourdon
9a404ca6d4 Ship by default a free DSP ROM that can handle most games with LLE
At the end of July 2011, LM published a free DSP ROM that works with games
using the Zelda UCode. His ROM only has the code to handle UCode loading and a
few utility functions, the rest is missing. This includes the four large sound
mixing functions used by the AX UCode and the DROM containing coefficients used
for polyphase resampling in AX.

This is an improved, updated version of this ROM, which changes the following:

- We now have a free DROM that works for polyphase resampling by "emulating"
  linear interpolation. The coefficients contained in the DROM are normally a
  list of { c1, c2, c3, c4 } which are used to interpolate a sample value from
  four previous samples:
    out_sample = prev1 * c1 + prev2 * c2 + prev3 * c3 + prev4 * c4

  The coefficients are chosen depending on the fractional part of the current
  position (basically, our position between the previous and the next sample).
  We can use this fact to generate (c1, c2, c3, c4) for each possible
  fractional part so that:
    out_sample = prev3 * curr_pos + prev4 * (1 - curr_pos)

  Which is the formula for linear interpolation between prev3 and prev4. Linear
  interpolation is not as good as polyphase resampling but it still works very
  well and I couldn't really hear any difference between the two. If someone
  wants to generate real polyphase filter coefficients, they are welcome to
  submit a patch.

- The IROM now contains the 4 mixing functions used by the AX UCode: mix_add,
  mix_add_two, mix_add_ramp, mix_add_ramp_two. They are large, inlined
  functions (probably for performance reasons) in the official DSP IROM, our
  version prefers to use a loop. This *should* be more performant with our DSP
  JIT implementation, but I did not benchmark that.

Because the new DSP ROM is working just as well as the official ROM in 95% of
cases, it is now shipped by default with Dolphin and will be used with DSPLLE
if you don't have an official DSP ROM in User/GC. It will still display a panic
alert at every boot to notice you that you are using a non official DSP ROM
made by us, which is not perfect.

Games using the CARD, IPL or GBA UCodes are still broken. I don't know what
games this actually impacts, but this is a very small proportion compared to
what works.
2013-03-16 23:54:55 +01:00
Jordan Woyak
059e100425 Check for HID wiimote name on Windows instead of assuming everything is a wiimote.
Fixed issue 6031.
2013-03-15 21:27:46 -05:00
Ryan Houdek
8c1091a21f Merge branch 'master' into GLSL-master
Conflicts:
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
	Source/Plugins/Plugin_VideoDX11/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoDX9/Src/VertexManager.cpp
2013-03-15 11:19:52 -05:00
Ryan Houdek
c93f7760ce Really clean up all the emitter loadstores on ARM. If a ARM device supports VFPv4, then it supports IDIVA, so handle that in CPUDetect. 2013-03-14 01:50:38 +00:00
skidau
85eab1d262 Used the scheduler to generate the interrupt for IPC. Fixes the ES_LAUNCH games. 2013-03-13 22:23:59 +11:00
degasus
382be2aabd Merge branch 'master' into GLSL-master
Conflicts:
	.gitignore
2013-03-12 11:28:56 +01:00
skidau
83fc5f4747 Merge branch 'FIFO-BP'
# By skidau (30) and Pierre Bourdon (1)
* FIFO-BP: (31 commits)
  Set g_bSignalTokenInterrupt on the main thread.  Fixes the random hang in Harry Potter: Prisoner of Azkaban.
  Used a scheduled event to generate the ARAM DMA interrupt if the DMA is greater than a certain size.  Fixes NFS:HP2 GC.
  Bumped up the disc transfer speed enough to prevent audio stuttering in Gauntlet: Dark Legacy.
  Enabled Synchronise GPU on "SPEED CHALLENGE - Jacques Villeneuve's Racing Vision".  Required to go in-game.
  Added direct GameCube controller commands to the Serial Interface emulation.  Fixes the controls in MaxPlay Classic Games Volume 1 and the Action Replay disc.
  Increased the FIFO buffer size to 2MB from 1MB.  Fixes Killer 7's Angel boss.
  Used an immediate GenerateDSPInterrupt when transferring data from ARAM to MRAM and a scheduled DSP interrupt when transferring data from MRAM to ARAM.
  Fixes the audio cutting in and out in the Resident Evil GC games using DSP HLE. Triggered the ARAM interrupt by the scheduler instead of directly in function.
  Implemented proper timing for the sample counter in the AudioInterface, removing the previous hack. Cleaned up some of the audio streaming code.
  Skipped the EE check if there is a CP interrupt pending.
  Disabled "Speed up disc transfer" from the ZTP GC game ini.
  Removed the disc seek times for GC games and removed the disc speed option on Wii games. Checked for external exceptions only in mtmsr.
  Delayed the interrupts in the EXI Channel.
  Merge aram-dma-fixes (r76a13604ef49b522281af75675f044d59a74e871)
  Added a patch that bypasses the FIFO reset code in Wallace and Gromit: Project Zoo, allowing it to go in-game.
  Made vertex loading take constant time.
  Increased the cycle time of the vertex command.  Fixes "Speed Challenge: Jacques Villeneuve's Racing Vision".
  Moved the setting of the Finish interrupt signal back to the main thread as it was causing Wii games like Resident Evil 4 (Wii) to hang.
  Profile stores, fp stores and ps stores only to the fifo write addresses list.  This should make the JIT a little faster as it will not be checking for external exceptions unnecessarily.
  ...

Conflicts:
	Source/Core/VideoCommon/Src/PixelEngine.cpp
2013-03-12 19:47:59 +11:00
Ryan Houdek
8406d9972d Fix JIT from rebasing on PPSSPP ArmEmitter. 2013-03-12 02:35:29 +00:00
Ryan Houdek
b94b4a9e8f Rebase ArmEmitter on PPSSPP's base. The loadstores are making my heart cry at this point. 2013-03-11 13:57:55 -05:00