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
Léo Lam
dd31a403db
Merge pull request #5285 from spycrab/fr_9952
...
Make title column toggleable (Issue #9952 )
2017-04-24 23:12:39 +02:00
Léo Lam
286e9b74ee
Merge pull request #5309 from leoetlino/ios-uid-gid
...
IOS: Implement UID/GID changes for the PPC
2017-04-24 22:50:03 +02:00
Michael Maltese
4c5e283e75
WiimoteReal: init and destroy ScannerBackends in same thread
...
This fixes an error condition on macOS when HIDAPI calls
IOHIDManagerCreate and IOHIDManagerClose on different threads. The
error behavior is non-deterministic, but can cause EXC_BAD_ACCES and
kill the program.
2017-04-23 17:11:27 -07:00
Léo Lam
dae950ff90
IOS: Implement UID/GID changes for the PPC
...
This will be required for permission checks in the future.
Note that this is only for the PPC as we do not have actual processes.
Keeping track of other modules' UIDs/GIDs is virtually useless anyway.
UID/GID changes are implemented in the following functions:
* ES_Launch
* ES_DIVerify
ES_SetUid is not implemented yet because it'd need further changes.
2017-04-23 23:09:44 +02:00
MerryMage
bd4cfaaed7
Jit_Integer: Use constant pool in GenerateOverflow
2017-04-22 10:15:04 +01:00
Léo Lam
b09561ece2
IOS/ES: Implement GetSharedContents (+ count)
...
Used by the system menu when importing a title from SD.
These are probably the last two ioctlvs used by a major title.
2017-04-21 19:30:20 +02:00
Markus Wick
207a95f4dc
Merge pull request #5267 from leoetlino/more-es-ioctlvs
...
IOS/ES: Implement ES_DIGetTMD and ES_DIGetTMDSize
2017-04-21 11:08:05 +02:00
Mat M
4517231a1a
Merge pull request #5287 from sepalani/rso
...
Generate Symbols From RSO Modules added
2017-04-20 20:06:03 -04:00
Sepalani
694b10da11
Generate Symbols From RSO Modules added
2017-04-21 00:32:06 +01:00
Markus Wick
936910163a
Merge pull request #5286 from lioncash/mmu
...
MMU: Get rid of pointer casts
2017-04-18 12:35:42 +02:00
Lioncash
a58d5fa8ee
MMU: Get rid of pointer casts
...
These sort of casts invoke undefined behavior (u8, u16, u32, and u64 all have
completely different alignment requirements).
2017-04-17 20:52:57 -04:00
Lioncash
9cfc671c69
MMU: Get rid of unnecessary temporaries in HostRead_[8|16|32] functions
2017-04-17 19:13:47 -04:00
spycrab
72e92add8a
Make title column toggleable (Issue #9952 )
2017-04-17 19:34:14 +02:00
JosJuice
9cd9ae902a
x86-64 support on Android
...
We can do this now that the x86-64 JIT supports PIE.
JITIL is deliberately excluded from the GUI because it
doesn't support PIE yet. (JITIL will be used if it's
set in the INI, though.)
2017-04-16 11:53:33 +02:00
Dwayne Slater
ec9579ebcd
Boot: When loading an FST for a Wii game, update IOS_MEM1_ARENA_END
...
Without doing this, Wii games loaded as an ELF will zero out the FST.
This mirrors the behavior of the actual apploader.
2017-04-15 14:03:38 -04:00
Markus Wick
a389ae0711
Merge pull request #5260 from MerryMage/CheckIfSafeAddress
...
EmuCodeBlock: Make CheckIfSafeAddress PIE-compliant
2017-04-15 13:26:05 +02:00
MerryMage
cb900106c6
IR_X86: Prefer static_cast to C-style casts
2017-04-15 10:35:40 +01:00
MerryMage
860ac52a79
IR_X86: Use PtrOffset instead of casting pointers
2017-04-15 10:35:24 +01:00
MerryMage
6d8738e6e4
IR_X86: Simplify trinary expressions
2017-04-15 10:35:01 +01:00
Markus Wick
8d4be36963
Merge pull request #5259 from MerryMage/quantload
...
Jit64: Make psq_lXX PIE-compliant
2017-04-15 11:20:09 +02:00
Markus Wick
fb805e3acb
Merge pull request #5263 from MerryMage/dcbz
...
Jit_LoadStore: Fix dbat memory access
2017-04-15 11:19:24 +02:00
MerryMage
03d07c36ae
JitArm64: Reserve W30 in SafeStoreFromReg and stfXX
...
Bug introduced in c45028a708
.
EmitBackpatchRoutine assumes that X30 is available as a temporary.
2017-04-15 08:23:14 +01:00
MerryMage
3fb886141d
JitArm64_LoadStore: Fix bug in writing byte to gather pipe
...
Introduced by c45028a708
.
2017-04-15 07:26:27 +01:00
Léo Lam
183193e6ed
IOS/ES: Implement ES_DIGetTMD and ES_DIGetTMDSize
...
Used by Metroid Prime.
2017-04-15 00:39:34 +02:00
MerryMage
b792299ef1
Jit_LoadStore: Fix dbat memory access
...
Was broken by e10b715666
2017-04-14 14:06:13 +01:00
MerryMage
daa03cd106
EmuCodeBlock: Make CheckIfSafeAddress PIE-compliant
2017-04-14 12:39:12 +01:00
MerryMage
e10b715666
Jit_LoadStore: Make dcbz PIE-compliant
2017-04-14 12:33:25 +01:00
MerryMage
cac77527e9
Jit64: Make psq_lXX PIE-compliant
2017-04-14 11:52:33 +01:00
Markus Wick
05fec44ff5
Merge pull request #5257 from MerryMage/gpfifo2
...
GPFifo: Use a pointer instead of an index
2017-04-14 12:27:51 +02:00
MerryMage
c45028a708
GPFifo: Use a pointer instead of an index
...
This simplifies code generated by the jits.
x86_64 jit now emits PIC.
2017-04-14 10:37:47 +01:00
Markus Wick
45e4a048ea
Merge pull request #4708 from degasus/PIE
...
Jit64: Use a temporary register for memory references.
2017-04-14 09:42:45 +02:00
MerryMage
f2e323de9c
ConfigManager: Increase default latency for OpenAL backend to 5
2017-04-13 10:41:18 +01:00
Lioncash
8811937756
JitArm64_RegCache: Use std::array where applicable
...
There's no need to use std::vector for fixed enum values.
2017-04-12 22:34:34 -04:00
degasus
64ccf803bd
Jit64: Use a temporary register for memory references. Part 4.
2017-04-12 20:53:17 +02:00
degasus
0ddd90b539
Jit64: Use a temporary register for memory references. Part 3.
2017-04-12 20:53:17 +02:00
degasus
78b36921d2
Jit64: Use a temporary register for memory references. Part 1.
2017-04-12 20:53:17 +02:00
Markus Wick
60d8ee4916
Merge pull request #5250 from MerryMage/psq_st
...
Jit_LoadStorePaired: Make psq_st PIE-compliant
2017-04-12 20:52:59 +02:00
MerryMage
265f0da256
Jit_LoadStorePaired: Make psq_st PIE-compliant
2017-04-12 19:30:42 +01:00
Markus Wick
2151858fb1
Merge pull request #5241 from MerryMage/stretch
...
Pitch-Preserving Audio Stretching
2017-04-12 20:27:26 +02:00
MerryMage
26514358f4
Add audio stretching as a configuration option
2017-04-12 13:56:29 +01:00
Mat M
21544f8661
Merge pull request #5228 from JosJuice/why-did-this-exist
...
Get rid of some nonsense related to booting DOL/ELF files
2017-04-12 08:07:54 -04:00
Mat M
8ecc5e9b7a
Merge pull request #5246 from MerryMage/math-util
...
Jit64AsmCommon: Make frsqrte and fres PIE-compliant
2017-04-11 16:11:19 -04:00
MerryMage
f7ed979e30
Jit64AsmCommon: Make frsqrte and fres PIE-compliant
2017-04-11 20:25:18 +01:00
MerryMage
433999d60f
ConstantPool: Return a pointer instead of an OpArg
...
This allows for greater flexibility.
2017-04-11 20:25:18 +01:00
Anthony
464df471ff
Merge pull request #5081 from lioncash/sd
...
IOS/SDIOSlot0: Separate IOCtl/IOCtlV behavior into individual functions
2017-04-11 10:38:49 -07:00
Mat M
ae80a7541d
Merge pull request #5239 from sepalani/is-valid-instruction
...
PPCTables: Do not consider OPTYPE_UNKNOWN as valid instruction
2017-04-10 16:50:22 -04:00
Markus Wick
34ac749b8b
Merge pull request #5144 from MerryMage/mfspr
...
Jit_SystemRegisters: Make mfspr PIE-compliant
2017-04-10 22:30:56 +02:00
Sepalani
27dcf92faa
PPCTables: Do not consider OPTYPE_UNKNOWN as valid instruction
2017-04-10 18:31:24 +01:00
Scott Mansell
e6476b805e
Merge pull request #5008 from ligfx/aspectheuristic
...
VideoCommon: rework anamorphic widescreen heuristic
2017-04-10 11:30:34 +12:00
Sepalani
5a1ebe232e
HLE: Add Reload() function
2017-04-09 14:02:34 +01:00
Sepalani
20a9c5b12d
HLE: Add PatchFixedFunctions() function
2017-04-09 14:02:34 +01:00
Sepalani
61b36d1f9a
PatchEngine: Add Reload() function
2017-04-09 14:02:33 +01:00
Matthew Parlane
394b847b6c
Merge pull request #5229 from lioncash/si-id
...
SI_Devices: Get rid of pointer casts for ID assignment in RunBuffer
2017-04-09 20:09:44 +12:00
Mat M
59d93f3a0d
Merge pull request #5219 from lioncash/common
...
FileSearch: Namespace functions under the Common namespace
2017-04-08 17:19:00 -04:00
Mat M
579b7538e7
Merge pull request #5224 from ligfx/cachedinterpreterhle
...
CachedInterpreter: fix HLEFunction argument
2017-04-08 17:17:28 -04:00
Mat M
ab18eba9de
Merge pull request #5105 from lioncash/namespace
...
EXI: Namespace device classes
2017-04-08 17:12:56 -04:00
Mat M
11d1124fa5
Merge pull request #5209 from leoetlino/block-es-diverify
...
IOS/ES: Block ES_DIVerify from the IPC interface
2017-04-08 16:57:40 -04:00
Mat M
d55d9f93a7
Merge pull request #5212 from leoetlino/es-unknown-ioctlvs
...
IOS/ES: Return IPC_EINVAL for unknown ioctlvs
2017-04-08 16:56:50 -04:00
Lioncash
069b70b2b4
SI_Devices: Get rid of pointer casts for ID assignment in RunBuffer
...
This is actually undefined behavior (pointer casting to a non-char type and
dereferencing it).
2017-04-08 16:36:14 -04:00
JosJuice
9d73196e4f
Boot: Make default ISO code for DOLs consistent with ELFs
2017-04-08 18:52:39 +02:00
JosJuice
0b78386044
Boot: Allow setting a default ISO for Wii DOLs
...
I have no idea why there was a special case preventing this...
2017-04-08 18:52:33 +02:00
JosJuice
6263830d6d
Boot: Always emulate BS2 once when booting a DOL
...
The old code could do it 0, 1 or 2 times.
2017-04-08 18:52:12 +02:00
JosJuice
31eec8c75b
Boot: Remove useless check
...
No disc is inserted at this point, so IsDiscInside is always false.
2017-04-08 18:45:01 +02:00
Pierre Bourdon
e7d632d1af
Merge pull request #5226 from JosJuice/ir-18n-comments
...
Add i18n comments for the acronym IR
2017-04-08 18:00:12 +02:00
MerryMage
8ad6f2cecc
AX: Add support for UCodes without LPF
2017-04-08 16:04:09 +01:00
JosJuice
254df247b1
Add i18n comments for the acronym IR
2017-04-08 16:00:09 +02:00
Michael Maltese
1bd87f5a79
CachedInterpreter: fix HLEFunction argument
2017-04-07 17:54:59 -07:00
Sepalani
eb45ea5f7f
Boot: Prevent ELF to be considered as a disc
2017-04-08 00:04:50 +01:00
MerryMage
8f8e7681b2
AX: Implement loop counter
...
Required for Rogue Squadron.
2017-04-07 20:54:34 +01:00
Lioncash
f7a2f6ad01
FileSearch: Namespace functions under the Common namespace
2017-04-07 01:02:14 -04:00
Léo Lam
60d47eaeff
IOS/ES: Return IPC_EINVAL for unknown ioctlvs
...
Instead of allowing unknown ioctlvs and faking success for both unknown
and unimplemented ioctlvs, which can possibly result in nasty, hard to
debug bugs (if the emulated software behaves unexpectedly), we should
reject unknown ioctlvs and log known, but unimplemented ioctlvs.
2017-04-06 15:18:23 +02:00
Léo Lam
98dea421ba
IOS/ES: Block ES_DIVerify from the IPC interface
...
Simple accuracy change.
DIVerify is an internal ioctlv in unpatched, up-to-date IOSes,
where calling it from the PPC just returns -1017.
2017-04-06 10:38:06 +02:00
Michael Maltese
d10d09ccc1
VideoCommon: rework anamorphic widescreen heuristic
...
Some widescreen hacks (see below) properly force anamorphic output, but
don't make the last projection in a frame 16:9, so Dolphin doesn't
display it correctly.
This changes the heuristic code to assume a frame is anamorphic based on
the total number of vertex flushes in 4:3 and 16:9 projections that
frame. It also adds a bit of "aspect ratio inertia" by making it harder
to switch aspect ratios, which takes care of aspect ratio flickering
that some games / widescreen hacks would be susceptible with the new
logic.
I've tested this on SSX Tricky's native anamorphic support, Tom Clancy's
Splinter Cell (it stayed in 4:3 the whole time), and on the following
widescreen hacks for which the heuristic doesn't currently work:
Paper Mario: The Thousand-Year Door (Gecko widescreen code from Nintendont)
C202F310 00000003
3DC08042 3DE03FD8
91EEF6D8 4E800020
60000000 00000000
04199598 4E800020
C200F500 00000004
3DE08082 3DC0402B
61CE12A2 91CFA1BC
60000000 387D015C
60000000 00000000
C200F508 00000004
3DE08082 3DC04063
61CEE8D3 91CFA1BC
60000000 7FC3F378
60000000 00000000
The Simpsons: Hit & Run (AR widescreen code from the wiki)
04004600 C002A604
04004604 C09F0014
04004608 FC002040
0400460C 4082000C
04004610 C002A608
04004614 EC630032
04004618 48220508
04041A5C 38600001
04224344 C002A60C
04224B1C 4BDDFAE4
044786B0 3FAAAAAB
04479F28 3FA33333
2017-04-05 17:23:16 -07:00
MerryMage
19eb09b086
Jit_SystemRegisters: Make mfspr PIE-compliant
2017-04-05 10:22:48 +01:00
MerryMage
38917a151d
CoreTiming: Pull globals into a single struct
2017-04-05 10:22:48 +01:00
Lioncash
14c81764df
ControllerEmu: Replace includes with forward declarations
...
Replaces includes with forward declarations where applicable, and moves
includes to where they're actually needed.
2017-04-04 20:38:30 -04:00
Léo Lam
cf0492468d
IOS/WFS: Fix logging message
2017-04-04 17:37:08 +02:00
Léo Lam
6f8c30c863
IOS/ES: Fix GetTMDView
...
We had missing checks *and* were checking for the out vector size
improperly.
Rewritten based on the actual behaviour in IOS.
2017-04-04 16:04:24 +02:00
Lioncash
0c1d56c16f
Core: Hide determinism global
...
This is only ever queried and not set outside of the Core.cpp, so this
should just be hidden internally and just have a function exposed that
allows querying it.
2017-04-03 14:56:12 -04:00
Lioncash
ad1a899a7c
Core: Make EmuThread internally linked
2017-04-03 13:27:35 -04:00
Lioncash
ed2e9e9e41
Core: Remove unnecessary forward declaration
2017-04-03 13:26:15 -04:00
Markus Wick
9d1ae76d0d
Merge pull request #5200 from lioncash/frame
...
Frame: Remove callback function prototypes from header.
2017-04-03 13:35:35 +02:00
Lioncash
b67968c3d8
Core: Remove unimplemented function prototype SetBlockStart
2017-04-03 06:34:49 -04:00
Lioncash
c457ee4995
Frame: Remove callback function prototypes from header
...
Gets rid of more direct usages of the main_frame global, keeping the
callbacks internal to the frame itself.
2017-04-03 06:34:36 -04:00
Léo Lam
0dbad29bf4
IOS: Don't expose HLE::Reset()
...
This is an implementation detail that does not have to be exposed.
It was used in WII_IPC whenever the IPC gets reset, but that does not
make much sense to me: the only time when IOS loses state and the IPC
registers are set up again is when it's reloaded. And reloading IOS
already calls Reset() indirectly.
Also, an IPC reset from the PPC definitely should not close all opened
devices!
This also gets rid of a special case for clear_devices, which is now
completely unneeded.
2017-04-02 18:00:32 +02:00
Markus Wick
fd7f7c5541
Merge pull request #5159 from ligfx/arm64warnings
...
Arm64: a slew of warning fixes
2017-04-02 17:07:17 +02:00
Markus Wick
40cfa708a8
Merge pull request #5180 from lioncash/enum
...
CPU: Convert state enum to an enum class
2017-04-02 17:01:25 +02:00
Markus Wick
86e48fc1ca
Merge pull request #5194 from lioncash/dialog
...
Frame: Make TAS dialogs private
2017-04-02 16:53:31 +02:00
Léo Lam
64b1a4d308
IOS/IPC: Remove unneeded forward declaration
...
CoreTiming.h is already included.
2017-04-02 12:41:47 +02:00
Lioncash
678905764a
Movie/Frame: Amend variable naming
...
Amends variable naming related to translation unit locals and TAS input
dialogs that were modified in the previous commit.
2017-04-02 04:11:58 -04:00
Lioncash
7f0203a5b0
Frame: Make TAS dialogs private
...
Amends the TAS callbacks to internally store functions using
std::function instead of raw function pointers. This allows binding
extra contextual state via lambda functions, as well as keeping the
dialogs internal to the main frame (on top of being a more flexible
interface).
2017-04-02 04:11:47 -04:00
Lioncash
5620f78b5c
Core: Amend VS filter tag
2017-04-02 00:30:26 -04:00
Jussi Virtanen
92ad1b9c4d
Use pointers inside ini loop to retain references to ini files
2017-04-01 17:52:25 +03:00
Michael Maltese
af63235dc4
Remove libao sound backend
...
A single person uses it[0], and it sometimes messes up the Linux
buildbots ("ninja: error: 'ao', needed by 'Binaries/dolphin-emu', missing
and no known rule to make it").
[0]: https://analytics.dolphin-emu.org/stats/popular-audio-backends.txt
2017-03-31 14:59:57 -07:00
JosJuice
020618a427
Move DVDInterface's pure (stateless) math code to a new file
2017-03-31 17:27:23 +02:00
JosJuice
f106ba70d4
Move DVD code to a new directory
2017-03-31 17:27:23 +02:00
Mat M
6b198679bc
Merge pull request #5129 from ligfx/breakpointprintf
...
Breakpoints.cpp: fix format string warnings
2017-03-31 00:13:06 -04:00
Matthew Parlane
de6c9404fc
Merge pull request #5182 from leoetlino/ios-enums
...
IOS: Move ES return codes
2017-03-30 14:57:03 +13:00
Lioncash
5637bbd1cf
MEGASignatureDB: Remove unused variable in Apply
2017-03-28 16:19:19 -04:00
Lioncash
eec4b705d5
MEGASignatureDB: Move objects where applicable
...
Signatures during loading and strings during reference retrieval can be
moved.
2017-03-28 16:18:31 -04:00
Lioncash
c0171975ea
MEGASignatureDB: Move implementation details into the cpp file
...
These functions aren't dependent on any database state and can be hidden.
2017-03-28 15:43:21 -04:00
Anthony
fee2577e25
Merge pull request #5088 from sepalani/mega_signature
...
SignatureDB: Support for WiiTools MEGA files added
2017-03-28 12:28:21 -07:00
Sepalani
4cb84d06f0
SignatureDB: Support for WiiTools MEGA files added
2017-03-28 20:16:09 +01:00
Léo Lam
68cd8fc910
IOS: Move ES return codes
...
This keeps all of the return codes in the same place and exposed
publicly (as they are not internal to ES).
I have also added proper IOSC error codes and renamed some codes
for more consistency. (Unix ones have an E prefix, others do not.)
2017-03-28 20:02:26 +02:00
Anthony
bcb1729dc9
Merge pull request #5124 from leoetlino/more-accurate-import
...
IOS/ES: Handle imports more accurately
2017-03-28 09:20:28 -07:00
Lioncash
8d98ac6509
CPU: Convert state enum to an enum class
...
Gets enum constants out of the immediate namespace. Also makes it
strongly typed like the other state enums.
2017-03-28 11:48:28 -04:00
Matthew Parlane
85d74a506f
Merge pull request #4951 from waddlesplash/haiku-2
...
Initial support for Haiku.
2017-03-28 17:19:35 +13:00
Augustin Cavalier
0831dad467
Initial support for Haiku.
2017-03-27 23:46:19 -04:00
Matthew Parlane
8c23888968
Merge pull request #5174 from lioncash/vi
...
VideoInterface: Minor changes
2017-03-28 16:15:59 +13:00
Matthew Parlane
22256d1bd8
Merge pull request #5170 from leoetlino/bt-fix
...
libusb fixes (mostly for IOS)
2017-03-28 13:47:47 +13:00
Matthew Parlane
dc2d11c1a7
Merge pull request #5172 from lioncash/dsp
...
DSPIntMultiplier: Place translation unit local functions in an anonymous namespace
2017-03-27 16:06:39 +13:00
Lioncash
adbffc24e9
VideoInterface: Make clock frequency array constexpr
...
This is only ever read from.
2017-03-26 19:30:44 -04:00
Lioncash
ec5637fe46
VideoInterface: Utilize std::array where applicable
2017-03-26 19:28:56 -04:00
Lioncash
ae29cd042e
VideoInterface: Initialize union members directly where applicable
2017-03-26 18:42:09 -04:00
Lioncash
0a7a6142eb
GCMemcardDirectory: Move flush interval constant into the cpp file
...
This isn't necessary to be within the header.
2017-03-26 17:55:30 -04:00
Lioncash
a5c5645bed
DSPIntMultiplier: Place translation unit local functions in an anonymous namespace
...
Unlike inline, this makes the functions internally linked.
2017-03-26 16:42:35 -04:00
Léo Lam
69705e3a41
IOS/ES: Handle imports more accurately
...
A set of small changes to handle title imports more accurately.
* Clean up the import directory after an import, exactly like IOS.
This should prevent the title directory from having useless leftover
contents, which could confuse the emulated software.
* More robust failsafe in case an import does not complete normally.
IOS checks for stale imports and handles them appropriately on boot.
We now do the same.
* Create all directories as IOS does. This includes the data directory.
2017-03-26 22:17:31 +02:00
Matthew Parlane
76cece8157
Merge pull request #5115 from leoetlino/proper-location-for-es-stuff
...
IOS/ES: Move shared content map, uid.sys code
2017-03-27 08:53:14 +13:00
Léo Lam
9aaaa2b924
IOS/USB: Unref libusb devices manually
2017-03-26 15:58:30 +02:00
Léo Lam
32a1b5068a
Revert "Use a single libusb context"
...
This reverts commit c8a6dc6c23
.
libusb on Windows isn't really safe to use from different threads
with a single context.
2017-03-26 15:58:30 +02:00
BhaaL
a9afd5b243
fix incomplete end-tag
2017-03-26 14:44:42 +02:00
Léo Lam
6c62cfb1aa
IOS/BTReal: Properly check for libusb failures
2017-03-26 12:22:29 +02:00
Léo Lam
7b17163a7a
IOS/ES: Move shared content map, uid.sys code
...
These are all specific to ES and belong there.
The SharedContentMap and UIDSys classes were also modernised.
2017-03-26 12:16:28 +02:00
Léo Lam
3cfd9ea9b2
IOS/BTReal: Always use config descriptor 0
...
This may fix LIBUSB_ERROR_NOT_FOUND whenever devices end up being in
an unconfigured state. We don't need anything more than the first
config descriptor anyway.
2017-03-26 12:08:53 +02:00
Markus Wick
0b6170cc33
Merge pull request #5167 from stenzek/jit64-crash
...
Jit64: Fix crash at startup
2017-03-26 09:17:21 +02:00
Anthony
fbfb94ec79
Merge pull request #5157 from sepalani/sym-name
...
Fix wrong address in zz_ symbol name
2017-03-25 19:38:16 -07:00
Matthew Parlane
5d40daa507
Merge pull request #5123 from ligfx/fixwiimoteemu
...
WiimoteEmu: refer to settings by name, not index
2017-03-26 14:56:44 +13:00
Matthew Parlane
9dd9573ec0
Merge pull request #5148 from ligfx/iptopwarning
...
IP/Top: rename private methods à la HandleXRequest
2017-03-26 14:54:31 +13:00
Stenzek
724a8437eb
Jit64: Fix crash at startup
...
This was a regression introduced by 4d8d045
. stored_stack_pointer within
PPCSTATE was being accessed before the PPCSTATE (RBP) register was
initialized.
2017-03-26 11:37:55 +10:00
Markus Wick
86e6b44271
Merge pull request #5146 from ligfx/mmuwarning
...
MMU: rewrite loop to avoid warning
2017-03-25 23:18:56 +01:00
Michael Maltese
9afe3946d1
JitArm64_Integer: fix signedness comparison warning
...
Fixes warning:
```
dolphin/Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp:1139:64: warning: comparison of integers of different signs: 'u32' (aka 'unsigned int') and 'int' [-Wsign-compare]
else if (gpr.IsImm(b) && gpr.GetImm(b) != 0 && gpr.GetImm(b) != -1)
~~~~~~~~~~~~~ ^ ~~
```
2017-03-25 14:51:10 -07:00
Michael Maltese
428bac6e32
JitArm64_Integer: remove unused imm_neg
2017-03-25 14:51:10 -07:00
Michael Maltese
5892ef1792
JitArm64_Integer: extract bit operation lambdas
...
Fixes warnings like:
```
dolphin/Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp:132:37: warning: declaration shadows a local variable [-Wshadow]
reg_imm(a, s, inst.UIMM, [](u32 a, u32 b) { return a | b; }, &ARM64XEmitter::ORRI2R);
^
/Users/michaelmaltese/Downloads/dolphin/Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp:122:7: note: previous declaration is here
u32 a = inst.RA, s = inst.RS;
^
```
2017-03-25 14:51:09 -07:00
Michael Maltese
c58ba93503
Arm64: Use PRIi64/PRIx64 for printf
2017-03-25 14:20:44 -07:00
Markus Wick
4d8d0451e3
Merge pull request #5142 from MerryMage/stored_stack_pointer
...
JitAsm: Use stored_stack_pointer instead of s_saved_rsp
2017-03-25 17:37:48 +01:00
Markus Wick
3898707ef9
Merge pull request #5141 from MerryMage/ConvertDoubleToSingle
...
EmuCodeBlock: Place ConvertDoubleToSingle temporaries on the stack
2017-03-25 17:37:29 +01:00
Sepalani
6eca605284
Fix wrong address in zz_ symbol name
2017-03-25 01:21:13 +00:00
JosJuice
f5469878ba
DVDInterface: Update comment about buffer speed
...
The actual code was changed based on mmastrac's hardware
tests, but it seems like we forgot to edit this comment.
2017-03-24 20:04:26 +01:00
Michael Maltese
a098fe57c5
IP/Top: rename private methods à la HandleXRequest
...
Fixes this warning everytime Top.h is included:
```
../Source/Core/Core/IOS/Network/IP/Top.h:76:20: warning: 'IOS::HLE::Device::NetIPTop::Close' hides overloaded virtual function [-Woverloaded-virtual]
IPCCommandResult Close(const IOCtlRequest& request);
^
../Source/Core/Core/IOS/Device.h:158:16: note: hidden overloaded virtual function 'IOS::HLE::Device::Device::Close' declared here: different number of parameters (0 vs 1)
virtual void Close();
^
```
2017-03-24 11:52:39 -07:00
Michael Maltese
8387b00f42
MMU: rewrite loop to avoid warning
...
Fixes warning:
```
dolphin/Source/Core/Core/PowerPC/MMU.cpp:278:43: warning: shift count >= width of type [-Wshift-count-overflow]
addr++, addr_translated++, val >>= 8)
```
2017-03-24 11:45:21 -07:00
MerryMage
61198199cd
JitAsm: Use stored_stack_pointer instead of s_saved_rsp
2017-03-24 11:31:40 +00:00
MerryMage
918d7fa3d1
EmuCodeBlock: Place ConvertDoubleToSingle temporaries on the stack
2017-03-24 10:59:55 +00:00
Lioncash
1d6d85963f
ARDecrypt: const correctness
2017-03-22 20:35:00 -04:00
Markus Wick
9ea59133b3
Merge pull request #5121 from MerryMage/children-happen
...
Jit64: Merge memory allocations into a single allocation
2017-03-22 22:42:46 +01:00
Matthew Parlane
8804f759b9
Merge pull request #5127 from lioncash/gcode
...
GeckoCodeConfig: Minor changes
2017-03-23 07:13:45 +13:00
Markus Wick
09f4d494ef
Merge pull request #5132 from ligfx/commentoutpagetagshift
...
MMU: comment-out unused var HW_PAGE_TAG_SHIFT
2017-03-22 09:43:45 +01:00
Michael Maltese
da6a1daef6
MMU: remove unused var HW_PAGE_TAG_SHIFT
...
It's not used, so produces a warning during compilation.
2017-03-21 23:47:10 -07:00
Michael Maltese
9e430cbdd6
Breakpoints.cpp: fix format string warnings
...
Fixes warnings:
```
dolphin/Source/Core/Core/PowerPC/BreakPoints.cpp:246:89: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat]
debug_interface->GetDescription(pc).c_str(), write ? "Write" : "Read", size * 8,
^~~~~~~~
dolphin/Source/Core/Core/PowerPC/BreakPoints.cpp:245:50: warning: field width should have type 'int', but argument has type 'unsigned long' [-Wformat]
NOTICE_LOG(MEMMAP, "MBP %08x (%s) %s%zu %0*x at %08x (%s)", pc,
~~~^
```
2017-03-21 23:25:17 -07:00
Lioncash
2f52d04e30
GeckoCodeConfig: Use compare instead of substr for comparing substrings
...
Gets rid of an unnecessary string construction.
2017-03-21 18:12:40 -04:00
Lioncash
0d0e9f626d
GeckoCodeConfig: Amend unnecessary string literals to char literals
...
Also gets rid of an unnecessary std::string construction in a loop.
std::string already has an operator+ overload to prepend characters.
2017-03-21 18:03:06 -04:00