Commit Graph

4092 Commits

Author SHA1 Message Date
skidau
02a38baf7c Build fix for OSX.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6586 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-15 11:02:58 +00:00
skidau
c584bd5333 LLE JIT: Added simple block linking at immediate CALL's and JUMP's. The code checks if the block being jump to has already been compiled and jumps there if it has, bypassing the dispatcher. This results in a speed-up of around 7 - 10%.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6585 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-15 07:08:36 +00:00
skidau
e61133625a Fixed the "Locked threads to cores" option properly. Thanks to ernesto and xenofears.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6584 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-15 02:29:06 +00:00
Glenn Rice
85ec8d268d Linux build fix.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6583 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-15 02:17:19 +00:00
skidau
f67afb4fca LLE JIT:
* Optimised the updating of g_dsp.pc in the compile loop (code by kiesel-stein)
* Added JIT version of LRI (code by kiesel-stein)
* Added JIT versions of the branch instructions (code by Jack Frost)
* DSP_SendAIBuffer fix (code by Mylek)
* Marked instructions that update g_dsp.pc in the DSP table and updated PC based on the table (speed up)
* Fixed the signed bits not being set properly in the addr instruction
* Created a MainOpFallback function to use interpreted versions of the instructions if necessary (code by kiesel-stein)
* Disabled the jit versions of subarn and addarn as they are slowing down NSMBW

The above work in both x86 and x64 modes.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6582 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-15 01:42:32 +00:00
Glenn Rice
76d9209ad4 When the gfx debugger is saving shaders make sure the directory exists.
Make sure the gfx debugger unpauses when the emulator is stopped.
When a wad is installed make sure directories exist.
For the cmake build if a header is not provided in the check_lib macro don't check for it, and assume pkg-config was supposed to work.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6581 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-14 23:19:34 +00:00
Glenn Rice
35fef1f173 Revert back to LogTypes. Fixes issue 3668.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6580 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-14 17:52:01 +00:00
skidau
7c0e08b0e7 Forced the video thread to the third core when "Lock threads to cores" is enabled. This should fix the slowdown that this option produced on CPU's with HyperThreading. Thanks to NaturalViolence for the tip.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6579 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-14 09:20:02 +00:00
Glenn Rice
e4ed7dab22 Build fix for case sensitive platforms.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6578 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-14 02:44:27 +00:00
Shawn Hoffman
4780c8f6dd Remove LOGGING from the DSPCore vcproj. It isn't really used like that anymore. This commit doesn't really change anything...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6577 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-14 01:28:21 +00:00
LPFaint99
18e95ecdfa EXI: grab the FlashID from the memory card headers and update sram to include correct id and chksum
allows using any (valid) memorycard.raw in any slot (including real memcard dumps)

Fixes issue 684.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6576 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-14 01:25:50 +00:00
Marcos Vitali
b5ba9b3479 I've fixed a beautiful bug in GPFifo the current Memory in some conditions was not assigned right. Pleaseee test again your games with FIFO hangs like WII music, WII sport, Wii resort, etc. May be this help :P
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6575 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-13 23:04:13 +00:00
NeoBrainX
7cf3ef6ddc DX9: Write a detailed description of the vertex position offset magic in drawShadedTexQuad. I hope this makes at least a bit sense to anyone but me, it's better than no documentation at all though.
DX9: Revert to the old EFB coordinate scaling. Glitches caused by higher EFB scales probably can't even be fixed properly in DX9, so let's not even mess with it...

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6573 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-13 17:49:21 +00:00
Marcos Vitali
5fd9951649 - I've implemented cache of interrupt states for PEFINISH and PETOKEN
- I've implemented calling to ProcessFifoEvents when is there is a pending event in the main queue from CP, PE & GP
- I've implemented FifoIntReset(TRUE, TRUE) in write Clear Register.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6572 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-13 07:56:54 +00:00
Marcos Vitali
dde2d1a117 Before my second part, little fixes :D 1) I was wrong the games can use also BP and BP int in multi buffer mode or or at least Pokemon XD can hehehe. Pokemon is booting again but this game also need accurate AbortFrame dont care about "GFX FIFO: Unknown Opcode" in this case 2) Fixed a stupid error in UpdateInterrupts (CUT&PASTE mistake)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6570 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-13 04:44:33 +00:00
Marko Pusljar
b56dd2ad6e DSPLLE-int AR increase, decrease finally 100% (code by kiesel-stein/dolphin-forum, great work btw!!)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6569 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-12 17:09:40 +00:00
Glenn Rice
73da637a42 Rename wii wc24 system files to lower case as on the wii itself. These files are not detected on linux unless the case matches. This fixes an issue when Mario Kart Wii (and possible other games) is run with a clean user directory that renders the game unplayable.
Also fix some compiler warnings.
On linux don't install the license.txt file.  Most distributions handle license files via a package.  For example on debian based systems this gives a lintian warning.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6568 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-12 15:25:03 +00:00
NeoBrainX
3d0ec2f2f1 Remove the watermark tightness option since it's obsolete now.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6567 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-12 10:59:06 +00:00
skidau
38b3187e8a Changed the LogWindow background colour back to black for Linux and Windows.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6566 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-12 05:38:37 +00:00
skidau
b926cb426e Disabled the paired single sum instruction (ps_sum) as it is causing
the black screen in Sonic Colours. Both JIT and JITIL have this work-around.

Re-enabled ps_mul as that instruction was not the root cause.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6565 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-12 04:53:18 +00:00
Shawn Hoffman
8e38b1a8a7 HLE_IPC_BuildFilename was actually ignoring the size argument. Fixes "/tmp/sys" error.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6564 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-12 00:38:36 +00:00
skidau
ad82dd59b9 Disabled the paired single multiply instruction (ps_mul) in JIT as it is causing the black screen in Sonic Colours. JITIL has a different bug as disabling ps_mul in JITIL did not help the issue.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6563 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-11 22:47:04 +00:00
NeoBrainX
3b6b8b718c Fix some off-by-one errors in the EFB scaling stuff.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6559 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-11 21:07:07 +00:00
Shawn Hoffman
c7b736bb56 Remove some debug stuff
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6558 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-11 20:53:10 +00:00
Shawn Hoffman
3528629d9a Use the /sys/replace file for defining char to replace and their corresponding replacement strings.
Method suggested by pune for compatibility across filesystems and nand tools.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6557 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-11 20:51:48 +00:00
Marcos Vitali
a9ca9cfd9b BIG FIFO Commit PART 1! Sometimes you need to write everything from 0, so 10 days later Ive rewrited some parts of the FIFO in Dual Core mode. Is pending use the same code for SC mode.
- Improved the GP Register Status: now this is all the time from the fifo loop.
- Improved the Interrupts manage:
	1) Removed All UpdateInturrupts from CommandProcessor Writes and Read.
	2) now the CP interrupts are schedule from the video thread and the fifo loop waiting until this happens
	3) considering Inmediate mode for the CP interrupts
	3) Implemented Interrupt CP Cache State
	4) Implemented only Overflow interrupt in GatherPipeCheck because this need to be detected quickly.
- Implemented Overflow handling like a real HW, when Hiwatermark interrupt happens this write ClearRegister with True en HI and False in LO (FifoIntReset) after that a Control Register is writed and the FIFO is processed  to LO Watermark.
- Removed all ugly code from LO and HI watermark manage
- Removed all ugly code from BP manage
- Change >= by == in the BP clauses
- Removed speed hack (1024 chunk) for better GP Status Control.
- Commented GXSetGPFifo very soon hack
- Commented FackWatchDog hack
- Commented FIFO_RW_DISTANCE = WritePointer hack

This is the beginning and the base for the future., If this broke your favorite game my apologize, only report this and will try solve it. If you have a Overflown don't worry, I've implemented the real solution code using the Overflow Interruption only need continue working for a perfect protection. Why I did it? Because is preferable a accurate and clean fifo instead hack y fifo for improve that. Thanks to DONKO for you awesome Video Plug in and skid for the chatting. PD: I have 7-10 fps more in the star fox video. bye :P


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6554 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-11 12:42:55 +00:00
Glenn Rice
24569aca3d Fix a linkage issue on newer linux distributions created in revision 6544.
Also update the menu link to dolphin-emulator.com


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6553 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-11 01:09:28 +00:00
skidau
0447abef36 Changed the GC controller timer from a host based one to one based on the emulated hardware. This helps the emulator become more deterministic.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6552 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-10 21:24:25 +00:00
NeoBrainX
7473a0cf98 VideoCommon: Use integer arithmetic instead of floating point arithmetic when dealing with EFB scales.
Should fix problems caused by EFB scales other than Native (excluding fractional!). Test whether this fixes games which work fine with native EFB resolution but show glitches with higher internal resolutions.

Also fixed numerous warnings.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6549 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-10 15:54:14 +00:00
LPFaint99
1e0b0bf84d Fixes/Cleanup for the MemcardManager.
Notable Changes:
Fixes right click menu in linux.
Fixes Issue 2412.
sram.raw file is no longer required to format a memcard
Update to use new ini sections, automatically remove default settings from ini file
enable pages setting no longer requires memcard manager to be reopened to take effect
it is no longer possible to switch to a negative page number

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6546 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-10 07:11:05 +00:00
Shawn Hoffman
2ae7f7f01f Replace characters that NTFS and HFS can't handle with '-'. Should fix issue 3443.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6545 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-10 03:47:00 +00:00
Glenn Rice
06013d5eec Make the cmake check_lib macro more versatile. It first tries pkg-config, and if that fails it then check for libraries and required headers. Also cleaned up the output a little bit.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6544 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-10 02:00:05 +00:00
skidau
c718d2e630 Fixed an issue where the emulator would remain paused when attempting to load a non-existent save-state.
Fixes issue 3665.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6543 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-09 12:04:03 +00:00
skidau
f353f80302 LLE JIT: Implemented the addr, lsl and lsl16 instructions in the JIT (x64 only).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6542 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-09 11:52:31 +00:00
LPFaint99
8fd825c18c change filename of isocache to always include extension and filesize.
Fixes issue 3669.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6541 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-08 06:46:59 +00:00
Soren Jorvang
ef093a4d35 Use the proper type for printing the OpenAL default device name.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6540 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-07 22:38:03 +00:00
Shawn Hoffman
908273d5f4 Just rephrase something :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6538 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-07 05:59:18 +00:00
Glenn Rice
2caa685c7f Fix a few more linkage issues in the cmake build.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6537 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-06 13:06:54 +00:00
Soren Jorvang
738e5e55ee Cast size_t to unsigned long for printf to deal with (32-bit)
systems where size_t is typedef int.

It's either this or use the C99 %zu but while we can probably
safely assume C99 compilers, I am not at all sure that that's the
case for stdio libraries and this solution is fairly low-impact.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6535 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-05 18:22:41 +00:00
Glenn Rice
d171f7277b Fix the nogui build on linux. The software plugin config dialog should not be built.
Fix the default wiimote emulation mouse button settings on linux.
Fix a little c++ operator precedence issue.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6534 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-05 18:10:13 +00:00
Soren Jorvang
c2f84fdccb CLRun is now used everywhere but OS X.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6532 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-05 16:57:32 +00:00
Soren Jorvang
4934cd29b3 Move NSAutoreleasePool handling into the proper entry/exit points
for the real wiimote thread as for the other threads.

Turns out we use OS X bluetooth API's that were introduced in 10.5.4.
 
Remove vestiges of previously removed wiiuse_set_bluetooth_stack().

XXX We should probably have a Common equivalent of htonl and friends.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6531 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-05 16:18:09 +00:00
NeoBrainX
5910ef259c Fix building with BBOX_SUPPORT enabled.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6530 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-05 16:15:01 +00:00
Soren Jorvang
f169def36f First pass at dealing with different size_t/off_t sizes in C90 environments.
Most of the code dealing with the LogTypes namespace was C which lead to a
lot of nonsensical casting, so I have dumbed LOG_TYPE and LOG_LEVEL down to
plain C even though the move of wiiuse into Source means we don't currently
call GenericLog from C.

Set logging threshold to MAX_LOGLEVEL at startup so debug builds will also
p  rint debugging messages before the GUI is running.

For some reason the way we use SetDefaultStyle doesn't play nice with wx 2.9
so we just get the default black text on a black background. Using a gray
background works around that problem, but I found it to also be much easier
on the eyes so I have switched the background color on all versions.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6528 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-05 15:59:11 +00:00
Soren Jorvang
e5311460a9 Earlier versions of wxWidgets do not implicitly include <wx/wx.h>.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6527 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-05 15:36:08 +00:00
Soren Jorvang
a754f8e703 We effectively only have a single namespace for private header files,
so the recent addition of VideoCommon/Src/Debugger.h clashed with
DebuggerWX/Src/Debugger.h.

The latter had atrophied anyway, so just get rid of it to resolve the
conflict.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6526 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-05 15:28:31 +00:00
NeoBrainX
9dae1e9674 VideoUICommon: Add descriptive tooltips to many options, part 1.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6525 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-05 14:37:21 +00:00
NeoBrainX
f3d6b42e83 Fix VideoCommon build configuration for DebugFast/x64.
VertexLoader: Align bounding box registers properly, the hardware reads them in 2x2 blocks.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6524 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-05 14:31:00 +00:00
NeoBrainX
7854bd7109 Merged the D3D9 debugger into VideoCommon/VideoUICommon:
Separated UI from debugger functionality. Generally cleaned up that stuff.
Most functionality needs to be reimplemented now, but will be available to D3D9, D3D11 as well as OpenGL then.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6523 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-05 14:15:36 +00:00
Shawn Hoffman
9da4fe086b allow gcc to check the format of args being passed to MsgAlert and GenericLog. Fixed nearly all warnings that arose from this, as well as some preexisting ones (some were actually crashes and/or bugs...)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6522 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-05 09:04:34 +00:00