Commit Graph

24440 Commits

Author SHA1 Message Date
JosJuice 639ce6c484 FileSystemGCWii: Replace m_Wii with m_offset_shift
I replaced m_OffsetShift with m_Wii in bb93336 to support
the decrypt parameter for read functions. Doing that is no
longer necessary, so m_offset_shift is now used like before.
2017-05-16 22:58:57 +02:00
JosJuice 19b8f1c10a VolumeWiiCrypted: Replace ChangePartition with a partition parameter
By removing mutable state in VolumeWiiCrypted, this change makes
partition-related code simpler. It also gets rid of other ugly things,
like ISOProperties's "over 9000" loop that creates a list of
partitions by trying possible combinations, and DiscScrubber's
volume swapping that recreates the entire volume when it needs to
change partition.
2017-05-16 22:58:15 +02:00
JosJuice 74d84c5af2 VolumeWiiCrypted: Turn m_dataOffset into a constant 2017-05-16 22:56:53 +02:00
Michael Maltese 930c165c4e DSPHWInterface: cleanup gdsp_idma_in 2017-05-15 20:33:42 -07:00
Michael Maltese 5f68a0dcdd DSP: cleanup DumpDSPCode and remove temp file write 2017-05-15 15:11:09 -07:00
JosJuice f4e8a01d16 Merge pull request #5431 from leoetlino/change-disc
DVDInterface: Fix a regression with changing discs
2017-05-15 23:57:51 +02:00
Michael Maltese 59c863329d DSP-LLE: calculate code CRC _before_ swapping endianness
- Makes DSP-LLE code checksums the same as those from DSP-HLE. I'm
  assuming DSP-HLE was doing it correctly, since there are numerous
  references to these pre-endian-swapped checksums (including in
  DSPHost.cpp itself).
- Fixes disassembly when dumping code from DSP-LLE, which was using the
  wrong endianness and giving totally bogus output.
- Reveals error messages of the format, "Bah! ReadAnnotatedAssembly
  couldn't find the file ../../docs/DSP/DSP_UC_AX_07F88145.txt," which
  seems to be intended behavior that was previously hidden.
2017-05-15 14:27:39 -07:00
Leo Lam 8e38eca150 Merge pull request #5426 from spycrab/qt_c_refreshbutton
Qt: Implement Wiimote Refresh button
2017-05-15 19:51:49 +02:00
Léo Lam c660dfcbd9 DVDInterface: Fix a regression with changing discs
We were not clearing s_disc_path_to_insert, which would cause disc
changes to be only possible once.
2017-05-15 19:20:29 +02:00
Leo Lam d2d7247ebe Merge pull request #5430 from sepalani/connect-log
IOS/Network: Log IOCTL_SO_CONNECT return value
2017-05-15 18:12:56 +02:00
Sepalani b323c8b34f IOS/Network: Log IOCTL_SO_CONNECT return value 2017-05-15 17:03:03 +01:00
Sean Maas d4728807e0 Android: Add pressed dpad images for other DPIs 2017-05-15 08:32:22 -04:00
Sean Maas 3bd8890486 Android: Prevent stuck on-screen buttons 2017-05-15 08:32:07 -04:00
Michael Maltese c67bae5491 DSP-HLE: use DumpDSPCode to de-duplicate logic (and gain disassembly)
This change centralizes all of the path handling and file writing logic
in DumpDSPCode. DSP-HLE also gains the feature of DSP-LLE to
automatically disassemble dumped code and write it to an accompanying
text file.
2017-05-15 02:38:51 -07:00
Michael Maltese f985e0faac DSP: remove unused DSPLLETools
With the relocation of DumpDSPCode to DSPCodeUtils, the only remaining
function in DSPLLETools is DumpCWCode. This function 1) is not used
anywhere (not even in DSPTool), 2) doesn't seem to really do anything,
and 3) has a single comment saying "TODO make this useful :p"
2017-05-15 02:35:56 -07:00
Michael Maltese e4c779de0b DSP: move DumpDSPCode from DSPLLETools to DSPCodeUtil
This code is useful outside of DSP-LLE, and I plan to modify DSP-HLE to
use it in a future commit.
2017-05-15 02:34:43 -07:00
Michael Maltese edb16cd399 DSP-LLE: dump code if m_DumpUCode instead of DEBUG
This change makes the behavior consistent with that of DSP-HLE.
2017-05-15 02:33:50 -07:00
spycrab 4bf9f5e835 Qt: Implement Wiimote Refresh button 2017-05-15 05:14:45 +02:00
Lioncash 7baabe99d1 Host: Get rid of Host_SetStartupDebuggingParameters()
This is something that should be the responsibility of the frontend
booting the game. Making this part of the host 'interface' inherently
requires frontends to leak internal details (much like the other
UI-related functions in the interface).

This also decouples more behavior from the debugger and the
initialization process in the wx frontend. This also eliminates several
usages of the parent menubar in the debugger code window.
2017-05-14 19:12:59 -04:00
JosJuice 1e56972e4f Make Load_BS2's MSR poking more readable 2017-05-14 23:56:19 +02:00
JosJuice a6283f6eec Use SetupBAT in Load_BS2 2017-05-14 23:56:19 +02:00
JosJuice 4726c9075f Split SetupBAT into SetupMSR and SetupBAT 2017-05-14 23:56:19 +02:00
Leo Lam ed5e98c3cc Merge pull request #5419 from leoetlino/import-code-reuse
Reuse the IOS code for WAD installation
2017-05-14 23:35:43 +02:00
Leo Lam 072b24a3d2 Merge pull request #5425 from sepalani/get-interface-opt
IP/Top: Implement GetInterfaceOpt hardcoded cases
2017-05-14 23:27:53 +02:00
JosJuice 405643b902 VolumeWiiCrypted: Use std::min 2017-05-14 22:52:21 +02:00
JosJuice 5c46810a36 VolumeWiiCrypted: Store last decrypted offset instead of block number
This makes it unnecessary to reset m_last_decrypted_offset
when changing partition.
2017-05-14 22:52:21 +02:00
Sepalani 6ba8130e11 IP/Top: Implement GetInterfaceOpt hardcoded cases 2017-05-14 21:47:41 +01:00
JosJuice 651340826d Merge pull request #5424 from lioncash/override
MEGASignatureDB: Add missing override specifiers
2017-05-14 22:39:14 +02:00
Leo Lam c18c1ec6ad Merge pull request #5400 from JosJuice/volumedirectory-no-emulatedbs2wii
Don't run EmulatedBS2_Wii with VolumeDirectory
2017-05-14 22:20:54 +02:00
Lioncash 198d686a41 MEGASignatureDB: Add missing override specifiers 2017-05-14 16:20:45 -04:00
JosJuice 486de022df Don't run EmulatedBS2_Wii with VolumeDirectory
VolumeDirectory doesn't support necessities like TMDs,
so thanks to 5.0-2172 (18968ab), EmulatedBS2_Wii crashes
when the inserted disc is a VolumeDirectory.
This commit fixes that.

This commit makes our DOL booting code very similar to our
ELF booting code. One exception is that the DOL booting
code still always calls SetupBAT. (Note that EmulatedBS2_GC
calls SetupBAT even if no disc is inserted.) I'm not sure
if there's a point to the difference, but I thought I'd
better avoid changing it so that I don't break anything.
2017-05-14 22:01:36 +02:00
Leo Lam 2fca1b925f Merge pull request #4241 from JosJuice/remove-getvolume
Remove DVDInterface::GetVolume
2017-05-14 21:46:28 +02:00
Sean Maas 6190b1c4e2 Android: Animate onscreen joystick
Invalidate more often, display nub as pressed when in use, and implement
basic nub bounds.
2017-05-14 15:29:47 -04:00
JosJuice 2a2db16087 DVDInterface: Remove GetVolume
For thread safety reasons, the currently inserted volume must
only be accessed by the DVD thread (or by the CPU thread if it
calls DVDThread::WaitUntilIdle() first). After this commit,
only DVDThread.cpp can access the volume, which prevents code in
other files from accessing the volume in a non-threadsafe way.
2017-05-14 21:11:46 +02:00
Markus Wick 247cdca9b9 Merge pull request #5398 from mahdihijazi/controls_states
Android: Add pressed state to the on-screen controllers
2017-05-14 20:45:12 +02:00
Mahdi Hijazi 216a7ceea8 Android: Add pressed state to the on-screen controllers
Now the buttons will be shown in different color to indicate a press event
2017-05-14 18:41:04 +02:00
Léo Lam aa3dc9a057 IOS/ES: Consider hidden channels/system menu as channels 2017-05-14 17:39:42 +02:00
Léo Lam c8bffb0153 Reuse the IOS code for WAD installation
* Less code and logic duplication.

* Fixes a bug with the data dir not being created, steps being done in
  the wrong order.
2017-05-14 15:30:42 +02:00
Léo Lam afcda22da9 DiscIO: Add GetContent() for reading content from WADs
Direct access to the WAD bytes is required to read contents with proper
padding data (since they can sometimes end up being outside of the
data app section). Allowing the whole buffer to be accessed directly
would be error prone, so this commit adds GetContent() to WiiWAD
for getting raw content data by index.
2017-05-14 15:30:42 +02:00
Léo Lam 6916a3d85b Hide non-channel WADs
These cannot be booted, so it is bad UX to show them in the UI as if
they were regular titles, and yet have different behaviour for them.

And technically, there is no reason to allow them to be used to boot
in the first place.

Another reason they should not be shown is that Dolphin fails
spectacularly with WADs that have a valid boot content index, but are
not PPC titles (e.g. IOS WADs). The only reliable way to avoid this
is to check for the title type and only show channels, just like
the Wii System Menu.
2017-05-14 15:30:42 +02:00
Léo Lam 2058f37596 IOS/ES: Implement ImportTitleCancel properly
Mistakenly used the wrong TMD to clean up the import.

The original TMD is the one that is supposed to be used when
cancelling an import, but I forgot it's in the /import directory after
starting an import.
2017-05-14 15:30:39 +02:00
Léo Lam 5587342ca1 IOS/ES: Expose title management ioctlvs
This exposes all ES title management ioctlvs to avoid duplicating IOS
code everywhere and to make it easier to reuse (since this way it's
not unnecessarily tied to the PPC IPC mechanism anymore) and unit test.

Some functions were also renamed for consistency with the other names,
*and* with official names.
2017-05-14 15:30:09 +02:00
Léo Lam f8ffcb2483 IOS/ES: Remove unused struct 2017-05-14 15:30:08 +02:00
Leo Lam ad27e90263 Merge pull request #5420 from JosJuice/elf-setupbat
Use SetupBAT in Boot_ELF
2017-05-14 15:29:27 +02:00
JosJuice 41b3b05cfe Use SetupBAT in Boot_ELF
Sigh...
2017-05-14 15:18:58 +02:00
JosJuice 5a55957741 Boot: Pass volume as argument to functions
Avoids using DVDInterface's global state in the boot process.
2017-05-14 13:29:47 +02:00
Leo Lam 690e61b997 Merge pull request #5417 from leoetlino/constructor
IOS: Fix AddCoreDevices being called twice
2017-05-13 23:20:22 +02:00
JosJuice 807e242d05 DVDInterface: Replace SetVolume functions
It's better to just let the calling code provide a volume
object instead of needing one SetVolume for each way of
creating a volume. This simplifies InsertDiscCallback and
is needed for the following commits.
2017-05-13 22:56:11 +02:00
Léo Lam adf9218e74 IOS: Fix AddCoreDevices being called twice
Also make sure m_title_id is set as soon as possible.
2017-05-13 22:14:29 +02:00
shuffle2 0f504e7a84 Merge pull request #5416 from lcsondes/d3d12-build-fix
VS2017 build fix after upgrading project
2017-05-13 13:10:02 -07:00