8490 Commits

Author SHA1 Message Date
Léo Lam
3be987be40 IOS/ES: Extend the "fake IOSes" hack to netplay/TAS
Netplay uses a blank NAND, which means that homebrew launchers like
Gecko will force users to install IOSes.

Expecting netplay users to have a proper NAND setup is unrealistic,
and we don't actually give them a good way of syncing NANDs, so
let's extend the hack to netplay/TAS until we have a better way
of dealing with the issue.
2017-05-01 11:32:27 +02:00
Mat M
344767a258 Merge pull request #5336 from JosJuice/memcard-shiftjis
Fix display of Japanese text in the Memory Card Manager
2017-04-30 18:22:47 -04:00
Léo Lam
58fe0f12a4 IOS: Reorder functions in IOS.cpp
Puts them in a more logical order.
2017-04-30 17:18:53 +02:00
Léo Lam
2fc5047d26 IOS: Convert the IOS kernel HLE code to a class
This changes the main IOS code (roughly the equivalent of the kernel)
to a class instead of being a set of free functions + tons of static
variables.

The reason for this change is that keeping tons of static variables
like that prevents us from making an IOS instance and reusing IOS
code easily.

Converting the IOS code to a class also allows us to mostly decouple
IOS from the PPC emulation.

The more interesting changes are in Core/IOS/IOS. Everything else is
mostly just boring stuff required by this change...

* Because the devices themselves call back to the main IOS code
  for various things (getting the current version, replying to a
  request, and other syscall-like functions), just like processes in
  IOS call kernel syscalls, we have to pass a reference to the kernel
  to anything that uses IOS syscalls.

* Change DoState to save device names instead of device IDs to simplify
  AddDevice() and get rid of an ugly static count.

* Change ES_Launch's ack to be sent at IOS boot, now that we can do
  this properly.
2017-04-30 17:18:53 +02:00
JosJuice
0e93c18902 Use _trans consistently for controllers
Some strings were marked with _trans in some places but not
others. This commit adds extra _trans markers so that the
usage of _trans is consistent.

This shouldn't have any effect on which strings actually get
translated. (Note that _trans doesn't do anything at runtime.)

I also added a few new i18n comments.
2017-04-30 14:04:21 +02:00
Tilka
f0a89f8daf Merge pull request #5342 from sepalani/ppc-analyst-crash
PPCAnalyst: Prevent a crash when outside the RAM
2017-04-30 03:47:33 +01:00
Sepalani
2f0f63fdbc PPCAnalyst: Prevent a crash when outside the RAM 2017-04-30 02:45:10 +01:00
Sepalani
02f9c03c45 HLE: Fix apploader regression 2017-04-30 02:21:50 +01:00
Léo Lam
f56a9b660d Merge pull request #5077 from ds84182/volume_directory_off_by_uno
Fix VolumeDirectory for Wii games
2017-04-29 23:57:32 +02:00
Anthony
ecf5f7d5f4 Merge pull request #4469 from sepalani/fix_xfb_debug
[HLE] Fixes XFB issues in Debug Mode
2017-04-29 12:48:53 -07:00
Anthony
4245ed8895 Merge pull request #5178 from sepalani/fix-sym-map-read
BootWiiWAD: Prevents SymbolMap loading
2017-04-29 12:48:05 -07:00
Anthony
cb2e7a6cac Merge pull request #5240 from sepalani/find_handlers
PPCAnalyst: Find interrupt/exception handlers
2017-04-29 12:44:41 -07:00
Anthony
4d3a794942 Merge pull request #5238 from sepalani/ppc-analyst-rfi
PPCAnalyst: Support return from interrupt
2017-04-29 12:44:18 -07:00
Sepalani
e8f52e467b PPCAnalyst: Find interrupt/exception handlers 2017-04-29 20:21:21 +01:00
Sepalani
7cee62bbb3 PPCAnalyst: Support return from interrupt 2017-04-29 20:16:31 +01:00
Sepalani
dd039cd311 PPCAnalyst: Skip nop alignment 2017-04-29 20:10:52 +01:00
Sepalani
3f2f3679cd PPCAnalyst: Prevent PanicAlert due to invalid read 2017-04-29 20:08:25 +01:00
Sepalani
d20a404a87 BootWiiWAD: Prevents SymbolMap loading 2017-04-29 20:00:13 +01:00
Sepalani
5f81226d8d SignatureDB: MEGA FormatHandler added 2017-04-29 19:50:21 +01:00
Sepalani
82afda94f4 SignatureDB: Use explicit construction 2017-04-29 19:50:20 +01:00
Sepalani
a9b52ce91b SignatureDB: Rewrite FormatHandler API 2017-04-29 19:50:20 +01:00
Sepalani
2daf5cb86f SignatureDB: const correctness and cleanup 2017-04-29 19:50:19 +01:00
Sepalani
f392e472cc [HLE] JitIL: Fixes invalid logs 2017-04-29 19:38:42 +01:00
Sepalani
5ea798b726 [HLE] Jit: Fixes invalid logs 2017-04-29 19:38:41 +01:00
Sepalani
51def492c7 [HLE] CachedInterpreter: Fixes invalid logs 2017-04-29 19:38:41 +01:00
Sepalani
e0e93fc3a6 [HLE] Interpreter: Fixes invalid logs 2017-04-29 19:38:40 +01:00
Sepalani
4f9e5e1141 [HLE] Added GetFirstFunctionIndex matching the start address 2017-04-29 19:38:40 +01:00
Sepalani
e259b3fa76 [HLE] Fixes XFB and invisible printf 2017-04-29 19:38:39 +01:00
Léo Lam
da880c2a98 Merge pull request #5333 from leoetlino/es-functions
IOS/ES: Handle contexts properly
2017-04-29 14:06:10 +02:00
JosJuice
d2b20f3163 Fix display of Japanese text in the Memory Card Manager 2017-04-29 11:18:08 +02:00
MerryMage
d4e2529f13 JitArm64: Use CR cache 2017-04-29 09:31:28 +01:00
MerryMage
a9fbf69cad JitArm64_RegCache: Implement caching of cr_val 2017-04-29 09:31:28 +01:00
Léo Lam
c4136d0365 IOS/ES: Handle contexts properly
This changes the IOS code to handle ES contexts inside of ES, instead
of leaking out implementation details into the IPC request dispatcher.

The intent is to clarify what's shared between every single ES context,
and what is specific to an ES context. (Not much.) This should reduce
the number of static members in the ES class.

The other changes are there just because we now keep track of the
IPC FD inside of ES.

Future plans:

* After the WAD direct launch hack is dropped, the title context
  will be made a class member.

* Have proper function prototypes, instead of having every single one
  of them take ioctlv requests. This will allow reusing IOS code in
  other parts of the Dolphin codebase without having to construct
  ioctlv requests.
2017-04-28 20:20:51 +02:00
Michael Maltese
655ab9b4e2 CMake: clean up HIDAPI build 2017-04-27 02:41:00 -07:00
Léo Lam
65d37ee2dc IOS/ES: Drop unnecessary memset for vectors
IOS doesn't do it, and we don't need it anyway, so let's not do it.
2017-04-27 00:01:26 +02:00
Léo Lam
9fc394f9c7 Merge pull request #5328 from leoetlino/wiimote-fix
Fix emulated Wiimotes
2017-04-26 23:58:53 +02:00
Léo Lam
4d42a098c3 WiimoteCommon: add static_assert for struct sizes 2017-04-26 23:53:44 +02:00
Léo Lam
6c1c8e03b8 Fix emulated Wiimotes 2017-04-26 23:30:24 +02:00
MerryMage
8799f6b64f JitArm64_SystemRegisters: Fix crXXX (set 32nd bit) 2017-04-26 21:51:47 +01:00
Léo Lam
5fa206e529 Merge pull request #5325 from spycrab/wiimote_common
Move shared Wiimote files into WiimoteCommon
2017-04-26 20:25:36 +02:00
spycrab
823dba47f5 Move shared Wiimote files into WiimoteCommon 2017-04-26 19:30:14 +02:00
Michael Maltese
82d0f6edb2 FifoDataFile: static_assert that structs are right size 2017-04-25 17:43:37 -07:00
Michael Maltese
6a6bfa0dbb FifoPlayer: subsume FifoFileStruct.h into FifoDataFile.cpp
There's no reason for it to be in its own file, and it's confusing.
2017-04-25 17:36:36 -07:00
Michael Maltese
f9a67fbf6f FifoFileStruct: replace unions with explicit padding 2017-04-25 17:36:30 -07:00
Léo Lam
1b3b7518e6 ESFormats: Fix the first field of ticket views
Looking more carefully at the IOS ticket view generation code reveals
that the first field in the TicketView struct is copied over from
the ticket version, extended to 4 bytes.
2017-04-25 20:59:40 +02:00
Léo Lam
4d52df150b Merge pull request #5317 from leoetlino/es-setuid
IOS/ES: Implement ES_SetUid
2017-04-25 20:00:28 +02:00
Markus Wick
262adbe2bc Merge pull request #5262 from MerryMage/mfspr-arm64
JitArm64: Implement timer SPRs
2017-04-25 13:31:28 +02:00
MerryMage
e3d0de7442 JitArm64: Implement timer SPRs 2017-04-25 09:20:09 +01:00
Léo Lam
cc40389f88 IOS/ES: Implement ES_SetUid
This implements ES_SetUid, which is used by the system menu to change
its own permissions. This is required for implementing permission
checks and proper NAND metadata support in the future.
2017-04-25 00:15:51 +02:00
Léo Lam
c01fda6255 IOS: Include the UID and GID in open requests
Accuracy change. Required to implement ES contexts properly.
2017-04-25 00:11:19 +02:00