Commit Graph

8630 Commits

Author SHA1 Message Date
Léo Lam
c08806d107 IOS/ES: Verify containers in GetTMDStoredContents 2017-06-16 16:17:38 +02:00
Léo Lam
d77b7ac90e IOS/ES: Verify containers in SetUpStreamKey 2017-06-16 16:17:38 +02:00
Léo Lam
36c5caacf4 IOS/ES: Verify containers in ImportTmd 2017-06-16 16:17:37 +02:00
Léo Lam
54025da00f IOS/ES: Add note about verification in DiVerify
We probably don't want to verify containers there because it might
result in patched/custom games failing the check.
2017-06-16 16:17:37 +02:00
Léo Lam
8a49e1f7db IOS/ES: Verify containers in ImportTitleInit 2017-06-16 16:17:37 +02:00
Léo Lam
719af1aff4 IOS/ES: Verify containers in ImportTicket 2017-06-16 16:17:37 +02:00
Léo Lam
07d83ada39 IOS/ES: Create missing directories at boot
Something that IOS does and that Dolphin doesn't, for whatever reason.
2017-06-16 16:17:37 +02:00
Léo Lam
f3bf1d626c IOS/ES: Add helper function ReadCertStore 2017-06-16 16:17:37 +02:00
Léo Lam
88348e2903 IOS/ES: Add VerifyContainer
Will be used from several functions to verify the signatures for
different containers (TMDs, tickets, device signed blobs).

An option was added to disable signature checks, because that could be
useful for people trying to import unsigned stuff.
2017-06-16 16:17:37 +02:00
Léo Lam
34c9bf391e IOS: Correct ES return code names about signatures
-1027 is used when ES cannot find the issuer of a certificate.

-1012 is used when the signature type is invalid.
2017-06-16 15:49:40 +02:00
Shawn Hoffman
1ada68aecd windows: fix handle leak when using continuous scan 2017-06-16 04:00:32 -07:00
Shawn Hoffman
e51071a9c5 msbuild: put pugixml in Externals solution filter; fix project reference. 2017-06-15 19:06:16 -07:00
Lioncash
dd4203bec8 Core: Remove unnecessary includes
Also moves a cpp file's related header file to the top of the inclusions if it isn't already there.
2017-06-15 18:52:22 -04:00
Lioncash
b003108b8b Core: Add WiimoteCommon headers to the VS project 2017-06-15 18:38:21 -04:00
Leo Lam
8f460a1cda Merge pull request #5611 from JosJuice/reorganize-file-namespace
Reorganize File namespace
2017-06-15 23:28:36 +02:00
JosJuice
cf94ce6305 Add a namespace to OpenFStream
For consistency with the other functions in FileUtil.h.
2017-06-15 21:34:04 +02:00
JosJuice
f09ceaa735 Move IOFile to a separate file
Reduces the number of files that need to be recompiled
when making changes to FileUtil.h.
2017-06-15 21:33:50 +02:00
Leo Lam
9bc1b652fe Merge pull request #5601 from leoetlino/esformats-additions
ESFormats additions and fixes
2017-06-15 21:32:44 +02:00
Leo Lam
09c0a3caaf Merge pull request #2820 from JosJuice/filesystem
Filesystem redesign and performance improvements
2017-06-15 21:24:42 +02:00
MerryMage
44f2420517 GraphicsSettings: PH_ZNear and PH_ZFar are std::strings 2017-06-15 16:38:06 +01:00
Léo Lam
a370ad5f6d IOS/ESFormats: Fix content map writing
On Windows, this would fail because the file handle wasn't closed.
2017-06-14 23:13:46 +02:00
Léo Lam
8865208571 IOS/ESFormats: Add ParseCertChain
This will be used to avoid duplicating cert chain parsing code.
2017-06-14 22:45:30 +02:00
Léo Lam
e29f6e383f IOS/ESFormats: Add CertReader 2017-06-14 22:45:30 +02:00
Léo Lam
90280b3f84 IOS/ESFormats: Remove unused TMDReader function
The ES function that used to make use of it was changed to be more
sane, so GetRawHeader() is now unused and useless.
2017-06-14 22:45:29 +02:00
Léo Lam
6c3069be97 IOS/ESFormats: Use SignedBlobReader for TMDs and tickets 2017-06-14 22:45:29 +02:00
Léo Lam
2ec04675c9 IOS/ESFormats: Add SignedBlobReader
Allows common signature parsing code to not be duplicated.
2017-06-14 22:45:29 +02:00
JosJuice
87916fe099 Filesystem: Replace GetFileList()
Instead of expecting callers to know how the size of directory file infos
relates to which files are in which directories, filesystems now offer a
GetRoot() method, and file infos offer a way to get their children. As
a bonus, m_FileInfoVector no longer has to be created and kept around
in RAM. Only the file info objects that actually are used are created.
2017-06-14 15:23:48 +02:00
Leo Lam
54e882941c Merge pull request #5600 from leoetlino/xml-library
Externals: Add zeux/pugixml@38edf25
2017-06-14 11:13:32 +02:00
JosJuice
7c45afecb2 Filesystem: Use file info in arguments instead of path
Some callers already have the file info, making the relatively slow
FindFileInfo calls unnecessary. Callers that didn't have the file info
will now need to call FindFileInfo on their own.
2017-06-13 22:40:57 +02:00
JosJuice
07d3a39aeb Filesystem: Replace file info's full path with name
Some callers (i.e. ISOProperties) don't want the full path, so giving them
it is unnecessary. Those that do want it can use GetPathFromFSTOffset.
Not storing full paths everywhere also saves a small bit of RAM and is
necessary for a later commit. The code isn't especially pretty right now
(callers need to use FST offsets...) but it'll become better later.
2017-06-13 22:38:31 +02:00
Léo Lam
b08201654e Externals: Add zeux/pugixml@38edf25
Along with VS boilerplate to get it to build on Windows.
2017-06-13 14:05:10 +02:00
Léo Lam
18678afa6d Common: Add HttpRequest to simplify HTTP requests
Too much boilerplate that is duplicated if we use curl directly.
Let's add a simple wrapper class that hides the implementation details
and just allows to simply make HTTP requests and get responses.
2017-06-13 12:52:31 +02:00
Leo Lam
3e1a650a3f Merge pull request #5591 from leoetlino/wii-fix
Core: Misc WiiRoot fixes
2017-06-12 23:41:45 +02:00
Léo Lam
4a3537285b IOSC: Implement ImportCertificate
Same as VerifyPublicKeySign, we currently only support RSA keys
(which is all we need right now).
2017-06-12 20:33:54 +02:00
Léo Lam
1a8144c702 IOSC: Fix ImportPublicKey to work with other public key types 2017-06-12 20:33:54 +02:00
Léo Lam
2eccd45f01 IOSC: Implement GetSizeForType
Avoids duplicating sizes everywhere.
2017-06-12 20:33:53 +02:00
Léo Lam
965773bf67 IOSC: Implement VerifyPublicKeySign
Partial implementation which doesn't support ECC stuff, but good enough
for our purposes.
2017-06-12 18:24:02 +02:00
Léo Lam
a0392db833 IOSC: Add entry for the root key handle
It contains a RSA4096 public key used to validate all other
Nintendo certificates.
2017-06-12 18:24:01 +02:00
Léo Lam
8859bc91e2 IOSC: Add storage for key misc data
Will be used to store the exponent for RSA keys.
2017-06-12 18:24:01 +02:00
Léo Lam
d4f501bca6 IOSC: Replace direct access to entries with getter
Makes it slightly less likely to forget a check and end up doing an
out-of-bounds access. Also makes it obvious that we *are* indeed
checking whether the handle is valid, instead of hiding it in
HasOwnership (which won't handle the root key handle case properly).
2017-06-12 18:24:01 +02:00
Léo Lam
acf150df3f IOSC: Add structures for certificates and signatures 2017-06-12 18:24:01 +02:00
JosJuice
b3ac6de7f8 Skip GameCube IPL by default
See https://github.com/dolphin-emu/dolphin/pull/5492#issuecomment-306988942

I'm also renaming the setting because HLE_BS2 has already
been set to False automatically in existing INIs.
2017-06-11 17:51:01 +02:00
Léo Lam
17ef4c8046 StringUtil: Make SplitString return by value
Simpler usage.
2017-06-11 16:48:20 +02:00
Léo Lam
91bcd756ff Core: Remove useless ShutdownWiiRoot calls
I don't see why we need to call ShutdownWiiRoot on InitializeWiiRoot.

Also, atexit? Really? Not only is this unnecessary, it will also cause
ShutdownWiiRoot to be called twice in rapid succession for no reason.
2017-06-10 20:00:43 +02:00
Léo Lam
3eecf67a2a Core: Remove useless InitializeWiiRoot call 2017-06-10 19:52:54 +02:00
Léo Lam
8b67a3ada3 Core: Only restore config after HW shutdown
The config must only be restored after the HW has shut down, not while
it is still running, because the HW can still query the config, which
can lead to inconsistent states.

This fixes WiiRoot not being able to copy back saves on shutdown.
2017-06-10 19:50:43 +02:00
Leo Lam
1f30bd1f26 Merge pull request #5583 from shuffle2/remove-psapi
remove MemUsage, and therefor psapi dependency
2017-06-09 18:10:04 +02:00
Leo Lam
d9e8a2a7e7 Merge pull request #5584 from JosJuice/boot-tmd-valid
Boot: Check TMD validity before reading from TMD
2017-06-09 18:07:26 +02:00
Leo Lam
25850dd366 Merge pull request #5563 from leoetlino/internal-functions
IOS/ES: Make NandUtils member functions
2017-06-09 17:52:09 +02:00
JosJuice
fdd197475b Boot: Check TMD validity before reading from TMD
Otherwise Dolphin crashes when trying to boot a Wii game
with an invalid TMD.
2017-06-09 17:44:43 +02:00
Shawn Hoffman
f206a4ea9c remove MemUsage, and therefor psapi dependency 2017-06-08 22:25:46 -07:00
Leo Lam
9885a2bb28 Merge pull request #5575 from leoetlino/setup-stream-key
IOS/ES: Implement ES_SetUpStreamKey
2017-06-08 20:11:14 +02:00
Léo Lam
7b4404c7d5 IOS/ES: Implement ES_SetUpStreamKey
This ioctlv is used to get an IOSC decrypt handle for a title.
It is known to be used internally by the WFS modules, but it can also
be used from the PPC under some conditions.

Brings us down to 2 essentially unimplementable ioctlvs (syscalls which
seem to return kernel thread priorities...), and 1 known but
unimplemented ioctlv (VerifySign).
2017-06-08 18:15:03 +02:00
Léo Lam
e240e260d9 IOSC: Fix the SetOwnership implementation 2017-06-08 18:15:03 +02:00
Léo Lam
47e0a1656e IOS/ES: Make NandUtils member functions
In the future, NAND filesystem access will be limited to one IOS
instance, for safety reasons and to make it possible to consider
supporting NAND images. This means that any code accessing the NAND
filesystem must go through the FS device, both for code that is
external to IOS and internal.

Because we don't want to introduce any singleton, this requires
internal IOS code that needs NAND access to be part of an IOS device
class, so they can access the FS device easily.

Making some of the internal ES implementation functions member
functions also prevents them from being (mis)used outside of IOS,
since they cannot be called everywhere anymore.
2017-06-08 17:44:00 +02:00
Shawn Hoffman
55062afea9 move IOS::HLE::WriteReturnValue to .cpp file 2017-06-08 00:07:10 -07:00
shuffle2
327050348c Merge pull request #5576 from lioncash/filters
Core: Move SignatureDB and Config source files into filters
2017-06-07 20:41:06 -07:00
Shawn Hoffman
fd166032ab msbuild: obey some warnings about missing virtual destructors 2017-06-07 20:20:25 -07:00
Shawn Hoffman
5480efdff2 video: change multisample/AA setting to u32 2017-06-07 20:20:25 -07:00
Shawn Hoffman
9357cee2ef do not assign in conditional statements 2017-06-07 20:09:44 -07:00
Shawn Hoffman
50f34f8b05 jit64: silence signedness comparison warnings 2017-06-07 20:09:44 -07:00
Shawn Hoffman
ef9090d7da powerpc: silence an int->u32 init warning 2017-06-07 20:09:43 -07:00
Shawn Hoffman
a97d079138 jit64: quiet variable init warnings 2017-06-07 20:09:43 -07:00
Shawn Hoffman
e6c15e993b quiet some sign-conversion-in-parameter warnings 2017-06-07 20:09:43 -07:00
Shawn Hoffman
ead4f19654 ios/usbv4: initialize TransferCommand::data_address to 0 2017-06-07 19:52:08 -07:00
Shawn Hoffman
983f70c9ea ios: treat return values as s32 2017-06-07 19:52:07 -07:00
Shawn Hoffman
5b5c630afb set underlying type of some enums to quiet warnings 2017-06-07 19:52:07 -07:00
Shawn Hoffman
ebd3d43b7d ios/es: make fd s32 -> quiets warnings 2017-06-07 19:52:07 -07:00
Shawn Hoffman
8f12d7fb3c ios/net/ip/top: introduce a helper to write ip addr (quiets warning) 2017-06-07 19:52:07 -07:00
Shawn Hoffman
4a1b32afe4 windows: use proper type/constant for NET_IFINDEX in ios hle 2017-06-07 19:52:07 -07:00
Shawn Hoffman
7e75a052a4 windows/bba: pass c_str() instead of std::string object through a va_list 2017-06-07 19:52:07 -07:00
Shawn Hoffman
90f863a7a3 HLE: fix unreachable code warning 2017-06-07 19:52:07 -07:00
Shawn Hoffman
f730b775b6 quiet warnings about possibly-uninitialized variable usage 2017-06-07 19:52:07 -07:00
Shawn Hoffman
e1a3e41bf3 fix various instances of -1 being assigned to unsigned types 2017-06-07 19:52:07 -07:00
Lioncash
a093b58aad Core: Move SignatureDB and Config source files into filters
Keeps things organized instead of being in the root of Core's source
tree when using the filter view.
2017-06-07 21:57:49 -04:00
Shawn Hoffman
8d37301b19 msbuild: Remove hack for ObjectFileName (reduces build parallelism). 2017-06-07 17:30:05 -07:00
Léo Lam
7b490d7cb0 HW/WiiSaveCrypted: Don't use new/delete 2017-06-07 12:49:24 +02:00
Leo Lam
3a83ebcc35 Merge pull request #5567 from lioncash/put_time
Movie: Use std::put_time in GetRTCDisplay()
2017-06-07 10:00:31 +02:00
Leo Lam
6ee2227ba2 Merge pull request #5568 from lioncash/boot
Boot: Make BootExecutableReader hierarchy constructors explicit
2017-06-07 09:27:04 +02:00
Lioncash
d9bb2ce3af DVDInterface: Amend lint formatting issues 2017-06-07 01:20:54 -04:00
Lioncash
b676edd80c Core: include what you use
Eliminates a swath of indirectly included standard headers
2017-06-07 01:20:48 -04:00
Lioncash
b0427731b3 ElfReader: default the destructor 2017-06-06 23:03:59 -04:00
Lioncash
1af1795695 ElfReader: Make constructors explicit 2017-06-06 23:03:59 -04:00
Lioncash
1876505707 DolReader: Make constructors explicit 2017-06-06 23:03:59 -04:00
Lioncash
927a4a16f8 Boot: Make BootExecutableReader constructors explicit 2017-06-06 22:54:25 -04:00
Lioncash
acac2aeb9b Movie: Use std::put_time in GetRTCDisplay()
No need for a fixed buffer.
2017-06-06 20:56:04 -04:00
Lioncash
e5260dee6b ec_wii: Add missing <string> header 2017-06-06 20:37:43 -04:00
Lioncash
1ffc311bf3 Core: Fix vcxproj filter
This would cause the core project to fail to load.
2017-06-06 20:29:03 -04:00
Leo Lam
c07058a4ad Don't show CPU and file related OSD messages on boot (#5533)
They have been broken since 2 years and no one has noticed,
which shows that no one really cares.

And it's arguable whether showing the CPU info is really useful.
2017-06-06 13:14:30 -07:00
shuffle2
bd489008ff Merge pull request #5560 from shuffle2/gh5
Implement slider bar present on GHWT and GH5 controllers
2017-06-06 13:12:02 -07:00
Léo Lam
d50b4406a6 Boot: Restore symbol map loading 2017-06-06 16:40:00 +02:00
Léo Lam
9a3fb858f3 EXI: Always try to load IPL in GameCube mode
I don't see any reason to disable loading the IPL if bHLE_BS2 is
disabled. bHLE_BS2 should only cause us not to run the IPL, but not
skip loading it in the first place. More importantly, without always
loading it, this causes issues when trying to launch only the GC IPL
while having bHLE_BS2 = false.
2017-06-06 16:31:17 +02:00
Léo Lam
d0169fe8db Boot: Re-use the disc volume
Saves some disc IO.
2017-06-06 16:31:16 +02:00
Léo Lam
6f6a18b1b0 Boot: Remove unneeded manual HLE function scan
Not needed. And the symbols would get overwritten by the symbol map
load that is just below.
2017-06-06 16:30:55 +02:00
Léo Lam
065261dbad Boot: Unify the ELF and DOL code paths
They're essentially the same. To achieve this, this commit unifies
DolReader and ElfReader into a common interface for boot executable
readers, so the only remaining difference between ELF and DOL is
how which volume is inserted.
2017-06-06 16:30:54 +02:00
Léo Lam
22992ae41e Boot: Clean up the boot code
* Move out boot parameters to a separate struct, which is not part
  of SConfig/ConfigManager because there is no reason for it to
  be there.

* Move out file name parsing and constructing the appropriate params
  from paths to a separate function that does that, and only that.

* For every different boot type we support, add a proper struct with
  only the required parameters, with descriptive names and use
  std::variant to only store what we need.

* Clean up the bHLE_BS2 stuff which made no sense sometimes. Now
  instead of using bHLE_BS2 for two different things, both for storing
  the user config setting and as a runtime boot parameter,
  we simply replace the Disc boot params with BootParameters::IPL.

* Const correctness so it's clear what can or cannot update the config.

* Drop unused parameters and unneeded checks.

* Make a few checks a lot more concise. (Looking at you, extension
  checks for disc images.)

* Remove a mildly terrible workaround where we needed to pass an empty
  string in order to boot the GC IPL without any game inserted.
  (Not required anymore thanks to std::variant and std::optional.)

The motivation for this are multiple: cleaning up and being able to add
support for booting an installed NAND title. Without this change, it'd
be pretty much impossible to implement that.

Also, using std::visit with std::variant makes the compiler do
additional type checks: now we're guaranteed that the boot code will
handle all boot types and no invalid boot type will be possible.
2017-06-06 16:27:52 +02:00
Léo Lam
4d2fb9b9ba Core: Replace BOOT_MIOS with an explicit "is MIOS" flag
I didn't know better back then, but the boot type is only supposed to
be used for the actual boot params. It shouldn't be used or changed
after booting.
2017-06-06 16:21:58 +02:00
Giancarlo Saraceni
ef84e19d55 Implement slider bar present on GHWT and GH5 controllers 2017-06-06 04:38:20 -07:00
shuffle2
096399d371 quick UB fix for 3c0bdd74 2017-06-06 03:49:01 -07:00
Leo Lam
c0495d1d11 Merge pull request #5559 from JosJuice/discio-rename
DiscIO: Remove C/I/S prefixes from class names
2017-06-06 12:47:33 +02:00
JosJuice
b2af07a7b7 DiscIO: Remove C/I/S prefixes from class names
These prefixes were inconsistent with the rest of Dolphin.

I'm also renaming VolumeWiiCrypted to VolumeWii because of 1113b13.
2017-06-06 12:31:59 +02:00
shuffle2
3c0bdd7473 Merge pull request #5558 from Tilka/fix_warnings
Interpreter: simplify srawx/srawix
2017-06-06 03:28:19 -07:00
Tillmann Karras
7702771d61 Interpreter: simplify srawx/srawix
This also avoids -Wint-in-bool-context warnings in GCC 7.
2017-06-06 11:05:33 +01:00
Shawn Hoffman
2b0c600be5 windows: make IORead return number of valid bytes according to ReportID 2017-06-06 01:21:30 -07:00
JosJuice
d41bb375f1 Fix UB string comparisons
Also replacing auto& with const char* so that it's easier
to see that these strings aren't std::strings.
2017-06-06 09:02:29 +02:00
shuffle2
367fba8e06 Merge pull request #5199 from ligfx/default_gci_folder
Make EXIDEVICE_MEMORYCARDFOLDER the default for slot A
2017-06-05 21:56:04 -07:00
shuffle2
442e614021 Merge pull request #5536 from sepalani/getstring
HLE: Prevent GetStringVA to strip newlines
2017-06-05 21:31:09 -07:00
shuffle2
c8166951a0 Merge pull request #5418 from MerryMage/config-again-and-again
VideoConfig: Port to layered configuration system
2017-06-05 21:11:04 -07:00
Sepalani
f28f23af1d StringUtil: StringPopBackIf added 2017-06-06 05:08:51 +01:00
Sepalani
1209959012 HLE: Prevent GetStringVA to strip newlines 2017-06-06 04:31:01 +01:00
shuffle2
9a9b0eed72 Merge pull request #5552 from sepalani/hle-print-warnings
HLE_OS: Fix missing-declarations warnings
2017-06-05 20:29:31 -07:00
Sepalani
190f7cbc4f HLE_OS: Fix missing-declarations warnings 2017-06-06 04:23:54 +01:00
shuffle2
3fed604ad9 Merge pull request #4878 from ligfx/geckodownloadcodes
Move GeckoCodeDiag download logic to GeckoCodeConfig (and make it use Curl)
2017-06-05 20:00:30 -07:00
Michael Maltese
97e6ba773b Move DSP::CodesToHeader to DSPTool
It's the only place it's used, and highly-specific to DSPTool's needs.
2017-06-05 19:28:40 -07:00
Michael Maltese
1765e54ab3 DSPCodeUtil: remove GenRandomCode
It was only used in a specific DSPTool test, which was removed because
non-deterministic tests aren't really useful.
2017-06-05 19:28:40 -07:00
shuffle2
b9b3b1dc19 Merge pull request #5347 from JosJuice/do-not-translate-button-names
Don't translate button names
2017-06-05 19:05:09 -07:00
shuffle2
d51be949a9 Merge pull request #5524 from ligfx/llegba
Update free DSP ROM and coefficients to support GBA ucode
2017-06-05 18:40:20 -07:00
shuffle2
065c3d78b7 Merge pull request #5486 from sepalani/hle-print
HLE: More printf logs added
2017-06-05 17:29:13 -07:00
Michael Maltese
14da8232f6 ConfigManager: remove bAutoHideCursor
It's not used, and sounds like the same thing as `HideCursor`?
2017-06-05 16:49:28 -07:00
shuffle2
95ef785b1f Merge pull request #5537 from sepalani/hle-print-addr
HLE: Improve HLE_GeneralDebugPrint detection
2017-06-05 15:06:55 -07:00
JosJuice
c3fa0d6edf DiscIO: Use std::optional in Volume and Blob 2017-06-05 13:26:51 +02:00
Leo Lam
e23cfc2965 Merge pull request #5543 from leoetlino/manual-reformat
Fix minor formatting issues
2017-06-05 12:14:22 +02:00
JosJuice
886cb26827 Merge pull request #5523 from dolphin-emu/revert-5448-master
Revert "GeckoCode: install code handler even if no codes are activated"
2017-06-05 09:02:30 +02:00
Léo Lam
d9fd056803 Fix minor formatting issues
These were not caught by the lint script while it was broken.
2017-06-05 02:32:19 +02:00
Sepalani
ba5cb50afc HLE: Improve HLE_GeneralDebugPrint detection 2017-06-04 20:53:14 +01:00
Léo Lam
2e06756f2d Fix SetRunningGameMetadata not being called for GC titles
GC titles don't have a title ID, so this regression would cause
SetRunningGameMetadata to never be called for GC titles.
2017-06-04 18:27:52 +02:00
Leo Lam
6065525887 Merge pull request #5521 from JosJuice/check-has-partitions
Check for existance of partitions instead of disc type when appropriate
2017-06-04 10:46:59 +02:00
Leo Lam
d90d3d7f3c Merge pull request #5519 from JosJuice/titledatabase-japanese
TitleDatabase: Allow showing Japanese names for Japanese GC games
2017-06-04 10:31:45 +02:00
JosJuice
703858e217 Merge pull request #5522 from leoetlino/simpler-gettitleid
DiscIO: Use std::optional for GetTitleID instead of pointer
2017-06-04 08:57:36 +02:00
shuffle2
a2bd95a08e Merge pull request #5432 from sepalani/fd-table
IOS/Network: Emulate socket fd table
2017-06-03 21:58:41 -07:00
Sepalani
140969000e IOS/Network: Fix some error return values 2017-06-04 05:48:41 +01:00
Sepalani
3b217adc5e IOS/Network: Use Wii's fd in logs rather than host's fd 2017-06-04 05:48:40 +01:00
Sepalani
55a59421d9 IOS/Network: Handle SO_ENETRESET 2017-06-04 05:48:38 +01:00
Sepalani
3b48e613e5 IOS/Network: Handle SO_ENOMEM 2017-06-04 05:48:36 +01:00
Sepalani
a3c4070d91 IOS/Network: Handle SO_EPROTOTYPE 2017-06-04 05:48:31 +01:00
Sepalani
b327fd8b2c IOS/Network: Handle SO_EMFILE 2017-06-04 05:47:56 +01:00
Sepalani
ef20e85661 IOS/Network: Handle SO_EPROTONOSUPPORT 2017-06-04 05:47:48 +01:00
Sepalani
1c18dc48c7 IOS/Network: Handle SO_EAFNOSUPPORT 2017-06-04 05:44:48 +01:00
Sepalani
5a9e61997c IOS/Network: Emulate socket fd table 2017-06-04 04:26:25 +01:00
Shawn Hoffman
397720a9fe might as well update yet some more pointless version numbers.. 2017-06-03 18:20:40 -07:00
Michael Maltese
e3531d17d7 Update free DSP ROM and coefficients to support GBA ucode
- coef: Explicitly set 23 different values that are used by GBA UCode,
  and tweaked overall parameters to more closely match those 23 values.
- irom: Moved a few functions to their proper places, updated BootUCode
  to configure DMA transfers using AX registers as well as IX registers
  (the GBA UCode uses this to do two sequential transfers in one call),
  and added partial functions used by GBA UCode.

All functions were reverse-engineered solely based off of observed
effects on the virtual machine: register states before-and-after, dmem
interactions, and DMA transfers. The specific coefficients were observed
being read from dmem, and must be exactly those values to function
properly. I have no knowledge of how the official ROM implements these
functions, or how it is implemented overall.

Tested with The Legend of Zelda: Four Swords Adventures, Final Fantasy
Crystal Chronicles, and Billy Hatcher and the Giant Egg (to download
ChuChu Rocket!).
2017-06-03 15:16:39 -07:00
Michael Maltese
2267ddeb17 DSPAssembler: fix handling of P_REG1C
`P_REG1C` had the same value as `P_ACCL`, so was causing spurious errors
when used with ACCM registers. Gcdsptool (which calls this `P_ACCLM`)
gives it the value `P_REG | 0x1c10` instead, and handles errors in the
same block as other REG## enums.
2017-06-03 15:16:39 -07:00
Leo Lam
dda42c3c92 Revert "GeckoCode: install code handler even if no codes are activated" 2017-06-03 22:52:42 +02:00
Sepalani
ac51c80ad0 HLE: Log (v)fprintf messages 2017-06-03 21:05:14 +01:00
Sepalani
2989c0cb61 HLE: Log (v)dprintf messages 2017-06-03 21:05:13 +01:00
Sepalani
9f6d6e6921 HLE: HLE_GeneralDebugVPrint added 2017-06-03 21:03:44 +01:00
Sepalani
061dadbc61 HLE: SVR4 VAList struct added 2017-06-03 21:01:59 +01:00
Sepalani
5a4f085c10 HLE: VAList cleanup and SystemVABI namespace 2017-06-03 21:01:59 +01:00
Sepalani
e9dd0072de HLE: Variable Argument Lists support 2017-06-03 21:01:58 +01:00
Leo Lam
4b53093acb Merge pull request #5520 from sepalani/write-console
HLE: Fix __write_console implementation
2017-06-03 22:00:23 +02:00