9465 Commits

Author SHA1 Message Date
j4ck.fr0st
51cd032af3 Clear m_TitleIDs when opening Device_ES (Fixes Issue 3205)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6200 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-11 10:41:57 +00:00
skidau
9d57903065 Emulation accuracy improvements
* Implemented HID4.SBE flag
* Implemented but disabled MSR[IR] and MSR[DR]
* In-lined ISI exception calls
* Fixed and verified exception handling according to docs
* Code clean-up in the memory functions


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6199 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-11 02:34:51 +00:00
Shawn Hoffman
18123251d1 allow multiple titles on sysmenu versions > 3.0
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6198 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-10 21:06:59 +00:00
nodchip
ccb96be9b3 Jit64/JitIL: Enabled block merging to improved the performance. This improves the fps 4-5 faster in some games. However it decreases the fps 10 slower in other games, MP2 and etc. In this commit, the actual block merging is disabled. If you want to try block merging, please set FUNCTION_FOLLOWING_THRESHOLD to a positive integer.
Increased the size of code buffer to prevent cache clearing with block merging.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6193 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-09 02:14:03 +00:00
j4ck.fr0st
bf4a18e08c Fix a few things in ES I had lying around.
Booting newer SysMenu versions still doesn't work, tho.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6192 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-08 17:08:01 +00:00
LPFaint99
a20483eedd Hackfix launching pal games from discchannel (cause was missing tik for ios required by game)
when sysmenu asks for tik of a ios give it its own tik

Update issue 3186
it should work now :)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6191 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-08 06:23:37 +00:00
LPFaint99
d422039f0a call DIVerify when a wii game is launched directly by dolphin (adds tmd+uid)
after this revision, wii save manager (< 3.0) should show any saves on the emulated nand

fixes an old issue with GetTitleID
fixes issue 1716.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6190 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-08 00:20:19 +00:00
LPFaint99
e0383634d3 Implement parts of DIVerify that can be useful. (copy tmd to emulated nand for disc titles)
correct some parts of uid.sys as disc title ids are included
title in uid + tmd on nand is how the sysmenu knows which save files to look for.
IE games that are displayed in the disc channel at least once and have a save file will be
viewable in the sysmenu save manager

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6189 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-07 06:06:08 +00:00
baby.lueshi
dee24e5695 Added support for recording multiple GameCube controllers at once.
Fixed recording playback to automatically enable/disable the correct controllers.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6188 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-06 21:41:01 +00:00
skidau
c710ae7529 Added a speed hack for the MMU games. The speed hack is enabled by default. "Enable BAT" in the game properties enables the old accurate emulation behaviour.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6187 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-06 14:43:28 +00:00
Shawn Hoffman
5948865bcc jiggle includes in hci.h/l2cap.h: msvc <= 9 doesn't provide stdint.h
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6186 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-06 13:47:18 +00:00
Glenn Rice
c551a2ee51 Linux build fix.
Also fixed a couple of compiler warnings (one in SystemTimers.cpp that was an actual bug too!).


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6185 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-06 13:38:22 +00:00
Soren Jorvang
d02dd6d3fa std::string needs <string> rather than <string.h>.
Also some minor cleanup.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6184 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-06 12:14:18 +00:00
skidau
34aebffff9 Added an option "Alternate RFI" to the Game Properties to enable alternate interrupt timing. Try enabling this option if a game hangs, works only in the Interpreter or Dolphin crashes. This option fixes Die Hard: Vendetta and Medabots Infinity.
Fixed the interpreter to execute instructions in the right number of cycles.  It used to execute all instructions in one cycle.

Added a trace function to the interpreter making it easier to determine differences between the interpreter and the recompilers.

Removed the "Enable self modifying code check" as it was not useful.

Fixes issue 2407.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6183 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-06 10:27:33 +00:00
LPFaint99
3bdeb923ef Some work towards launching by titleid rather than content path,
update some var names in WII_IPC_HLE_Device_fs, filter out some spam logs from VolumeCommon

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6182 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-06 04:36:58 +00:00
nodchip
402b1d83e2 JitIL: Implemented 64-bit access in StoreDouble for speed up.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6181 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-06 03:09:12 +00:00
Shawn Hoffman
43c11a491a remove frivolous comments in WII_IPC_HLE_Device_usb.cpp which must've been there since the code was copy-pasta created ;p
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6179 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-05 20:54:24 +00:00
Shawn Hoffman
eda6b2a23c remove an ERROR_LOG that was left in from r6177 which could be annoying
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6178 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-05 20:49:04 +00:00
Shawn Hoffman
92eedc9cd3 Fix wiimote in homebrew
Marginally speed up old wiimote plugin by doing less memcpys
A lot of changes went into the bt dongle emulation, so please test for regressions :)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6177 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-05 20:18:13 +00:00
LPFaint99
197202798d oops, left in some code and typo with the attempted ios reload fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6176 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-05 07:38:26 +00:00
LPFaint99
9e3dd4d2d4 Work towards implementing ES_LAUNCH
returning to installed wii menu from a disc based game is working
however wiimote does not work
launching title from the wii menu has a similar issue
only tested photo channel 1.1, channel loads but wiimote does not work
as before launching channels requires sysmenu < 3.0
and you can change between sys menus via extracted wads by installing any version
IE if 4.2 is installed, right click on 2.0 wad in the gamelist and install to wiimenu
and right click on 4.2 wad and install to go back to menu 4.2



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6175 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-05 07:36:10 +00:00
nodchip
6dc16b7416 JitIL: Improved the compilation speed by fixing the bug that getNumberOfOperands() initializes the table each time it is called.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6173 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-04 14:25:39 +00:00
anusko
f4a6e585be Rollback on a DSI exception, for the instructions that need it.
Not a good thing to say, but this isn't properly tested, since I don't know of any game that generates a DSI exception. I'll try to write some homebrew to test this, but I'm pretty confident it's ok. Anyway, please take a look at it and tell me if you find some mistake :-)


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6172 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-04 01:04:37 +00:00
Shawn Hoffman
9935fe2546 Create a stub device for ios hle, and use it for /dev/usb/hid. "Fixes" monster hunter tri, which was broken by r6164
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6170 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-03 17:03:06 +00:00
dok.slade
76a5ca84d1 Removed the check on video plugin change in PluginManager::GetVideo() (Profiling shows lots of strings compare from this function).
Since plugins can't be changed when emulation is started, it's a waste of time to check if it has changed.

There may be cases where this check is needed. If so, the check should be done in another function (because GetVideo() is called very often while emulating).

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6168 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-03 09:08:33 +00:00
skidau
c08144f893 Fixed F-Zero GX in JITIL 32bit builds by using a vmem mask for memory loads.
Enabled the lbzu instruction in JITIL.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6167 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-02 15:10:12 +00:00
nodchip
38d6d539d2 JitIL: Fixed the compile error reported in r6165. Sorry for inconvenience.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6166 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-02 11:12:45 +00:00
nodchip
26eac5d22a JitIL: Fixed a bug (hack?) that NaN is considered as -0.0 in fcmpx. Implemented Nan check routine in FDCmpCR.
The bug (hack?) was introduced in r3312. I could not determine whether it was a hack or not. 

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6165 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-02 09:36:19 +00:00
Shawn Hoffman
efd9bae449 improve ios hle error handling.
remove stubbed devices. they now fall back to the base device class, which reports the device as not available.
fixes issue 3137.
start ios fd counting at 0 instead of 0x13370000. I know it's sad, but it fixes homebrew booting and such.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6164 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-02 04:17:23 +00:00
Shawn Hoffman
baf82a0849 hackfix dsp reset: fixes zelda collector's edition and some other games which reset and hang (...are there any others?)
the problem was that the streaming audio interrupts were still being triggered, causing the game to try and jump to an invalid interrupt handler. The code for dsp lle looks like a hack :( (but it works)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6163 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-02 01:36:45 +00:00
Shawn Hoffman
9220ca1afc fake /dev/stm/eventhook ... makes libogc shutup a bit
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6162 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-02 01:23:28 +00:00
Shawn Hoffman
743641965a DVD Interface forces alignment, and rejects writes to DICFG
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6161 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-02 01:21:26 +00:00
Shawn Hoffman
ab56cf9c1c stop trying to patch out OSProtectRange calls
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6160 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-02 01:20:27 +00:00
dok.slade
9e17007c90 - Fixed TimeBase and Decrementer registers so that they are updated only when needed
- Fixed RTC for GC homebrews

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6158 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-01 23:44:03 +00:00
dok.slade
8d6f98439e Fixed some race conditions with PPC exceptions and external interrupts.
This may help fixing issues related to video interrupts handling.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6157 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-01 22:03:51 +00:00
baby.lueshi
c1cac331a0 Major overhaul to input recording, including fixing major desyncs during playback and a small bug in the .DTM file format. Like netplay, some emulator options (specifically dual core and idle skipping) can cause desyncs, and the more your plugin options are similar to the ones used during recording, the more likely playback will sync.
Also, input movies are now linked to savestates instead of just selecting a file to save to and running a game and are exported at a later time. This allows you to easily continue a recording across sessions and makes rerecording possible.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6154 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-30 07:05:47 +00:00
nodchip
014e87157c JitIL: Modified "LoadDouble" with SSSE3 to improve the performance. The code is ported from Jit64.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6152 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-30 02:07:09 +00:00
nodchip
baba7f54dc JitIL: Fixed the Issue 3114. The bug was introduced because the usage of MOVSD/MOVSS was wrong. MOVSD/MOVSS don't clear the upper bits when they are used to transfer between registers. But they clear the upper bits when they are used to transfer between a register and memory.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6151 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-30 01:24:14 +00:00
anusko
3058a926cf Implemented missing lswx and stswx instructions. Tested with Wii PES 2008 (PAL), which now works (OpenGL devs please take a look at this game).
Changed the scope of some variables introduced in my previous commit (r6132).

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6147 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-29 17:53:55 +00:00
nodchip
a3df65bd02 JitIL: Added a new IR instruction, MulHighUnsigned, which computes the upper 32-bit of the multiplication of two unsigned 32-bit integers. Rewrote mulhwux with MulHighUnsigned.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6145 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-29 08:00:51 +00:00
nodchip
6f6acf3970 JitIL: Improved the register usage and remove extra MOVAPD instructions. This is for the speed optimization.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6142 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-29 02:18:06 +00:00
Soren Jorvang
1d05290be7 Include "Hash.h" rather than "hash.h" for case-sensitive file systems.
Fix some compiler warnings.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6141 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-28 15:53:01 +00:00
nodchip
ae802f0403 JitIL: Disabled the jitting of psq_l when inst.W == 1. This is a test commit to check Issue 3114.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6140 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-28 15:40:45 +00:00
skidau
eb40f765c2 Bugfix for the TLB cache used by the MMU. Thanks to drkIIRaziel for spotting it.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6138 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-28 00:37:27 +00:00
nodchip
f8e8f25408 JitIL: Reverted r6135 again. Please refer r6110, r6131, r6135, and Issue 3097 about the problem. I will check the problem after I get MP2.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6137 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-27 11:17:58 +00:00
skidau
eaa3371f92 Further optimised the JIT cache lookup. Attempted to fix the Wii games in ICC builds.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6136 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-27 09:41:48 +00:00
nodchip
d5bae7e0ad JitIL: Restored some instruction handlers reverted in r6131. If this revision does not introduce the bugs reported in Issue 3097 and r6127, the cause of the bugs is the wrong implementation of "mtcrf" which was fixed in r6134. If not, there are other bugs. I will revert again. Any way, they were my fault. I'm sorry for all.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6135 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-27 07:40:22 +00:00
nodchip
47fa91250b JitIL: Fixed the wrong implementation of "mtcrf". (The bit order was reverse...) This commit may fix the bugs reported in Issue 3097 and r6127. (I could not test them because I don't have the games which are reported.)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6134 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-27 07:25:31 +00:00
PerfectInduction
aae0e96682 Fix RTC to report the correct system time in Wii and GC titles as reported in Issue 1817
Modify GetLocalTimeSinceJan1970 to account for DST.
GetGCTime() returns only GC epoch time(used by most Wii titles.)
IPL-DEV subtracts Wii bias before copying to m_RTC(mostly used by homebrew.)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6133 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-26 19:24:47 +00:00
anusko
d082f50c34 My first commit!
Done some refactoring around the PowerPC stuff. Main changes:

* Declared CPUCoreBase class
* Wrapped the interpreter into a class and made both it and JitBase inherit from CPUCoreBase
* Avoided reinitializing interpreter's and Jit's tables

A great deal of this work was done by nodchip, so kudos to him :-)
To finish, please forgive me for my not-so-great english.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6132 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-26 17:44:13 +00:00