Commit Graph

5303 Commits

Author SHA1 Message Date
ayuanx 06218e9ebb Sound System Rework: Phase 2 (cont'ed)
. Fixed super fast refresh rate issue

. Recovered <TAB> shortcut key for ThrottleSkipping

. Removed redundant "soundstream->Update()" in DSPLLE
  (Thanks to LordMark)


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4728 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-25 11:59:04 +00:00
magumagu9 eddafd450e Fix an extremely silly copy-paste error.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4727 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-24 05:21:07 +00:00
Shawn Hoffman 45307b7b38 unbreak chat for netplay (broken in last revision...)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4726 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-23 21:49:26 +00:00
Shawn Hoffman 62b6af3259 fix wxw multibyte text issues in netplay. changes by bhaal.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4725 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-23 20:46:56 +00:00
ayuanx 9eea60ca69 Sound System Rework: Phase 2
. Performance boost
  (Completely non-blocking between Sound thread and CPU thread, in the meantime keeping them thread safe)

. Both 32KHz & 48KHz sound can be handled properly now
  (But up-sampling is still not implemented, and I don't think any game requires it.)

. Strategy adjustment
  When your PC is *NOT* capable to run the game at 100%:
  >> DSound    Could yield more fluent sound than OpenAL sometimes, but you will lose the sync between video & audio (since audio is played before video to guarantee fluency)
  >> OpenAL    Ensures video & audio are always sync'ed, but sound could be intermittent(to let slow video catch up)

. Changed default frame limit to: Auto
  (Somehow this can dramatically decrease the chance of wiimote desync in game NSMB)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4724 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-23 15:34:14 +00:00
skidau 0d0a7c515f JITIL fixes:
* ble involving CR flags was branching the wrong way around.
* xorx now works when sent the same register for both the src and dest
* lbzu disabled (same as JIT) fixing a Dolphin crash
* JITIL provided with the memory exception handler fixing crashes when memory is read out of bounds.

These fixes are able to get F-Zero GX in-game when JIT FloatingPoint is disabled.  Once in-game, F-Zero retires the player just like it does in JIT.

This change might fix Dolphin crashes involving JITIL in other games too.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4723 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-23 10:51:02 +00:00
tmator acef487f8a small opencl build fix on osx
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4722 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-23 09:11:12 +00:00
Shawn Hoffman fa19e7f299 Fix a small mistake with ecowx/eciwx opcodes (thanks ayuanx)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4721 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-23 08:14:23 +00:00
tmator ea61532926 fix nowx build
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4720 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-23 07:56:55 +00:00
tmator ed84a87ed1 fix video software plugin build on osx
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4719 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-23 07:37:59 +00:00
skidau 043681a37f Dolphin now uses the first OpenCL device found on the system.
Added cast in TextureDecoder.cl to satisfy the OpenCL compiler (thanks, Orphis).

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4718 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-23 01:31:42 +00:00
ayuanx 24d8839793 Sound System Rework: Phase 1
. Fixed Sample Rate for DSP
  (Now if your CPU is capable to run game at 100%, you will get pure sound without buzz or static noise)

. Fixed Sample Rate for AI
  (Now if your CPU is capable to run game at 100%, you will get sync'ed video and audio)

. Fixed Backend list for DSPLLE

. Improved Aduio DMA a bit
  (There might be a completely redesign in following phases)

WARNING: The whole rework will take time to complete.
This commit is compilable, but could be unstable.
So you can try it and test it but don't take it as a release rev!

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4717 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-22 07:26:30 +00:00
death2droid a1fefe870c DX9: - Add hires texture loading.
- Add an option to enable the EFB scaled copy *TODO find a better place for it to go.

SOIL - Update stb_image to the latest version (1.16 to 1.18)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4716 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-22 06:47:42 +00:00
Shawn Hoffman 0da21aa115 SI: still works with things that check status reg, also doesn't make games like MK:DD hang.
(there's plenty to be done in SI, but for now...it "just works" ;p )

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4715 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-22 06:45:00 +00:00
fgfemperor acb9e7ca29 NSMB background fix. Fixes 1654.
There was a problem with the fog calculations... Now NSMB shows the background, while the fog still works!

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4714 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-21 20:30:01 +00:00
Shawn Hoffman 5e7607b700 replace SI_DUMMY with SI_NONE, an actual null device.
tweak SI a little so that it doesn't block things which block on the status reg.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4713 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-21 07:39:57 +00:00
ayuanx c3b196541d Added volume control for OpenAL, also improved its performance a bit, but don't expect too much.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4712 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-20 13:54:14 +00:00
ayuanx 51163196d3 Now OpenAL works, at least.
But Dolphin's sound stream system really needs a rethink.
Because this is the root cause of constant blocking.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4711 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-20 02:23:26 +00:00
ayuanx 7b6a0f9b72 Thread safe.
PS: The OpenAL is a mess.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4710 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-18 19:52:04 +00:00
ayuanx 97090337e3 WC24 config and mailbox files
Don't let the BIN suffix mislead you, they are not binary code

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4709 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-18 12:09:17 +00:00
ayuanx 077768501b Now Mario Kart Wii can create/read/write save file correctly.
BTW: I doubt "Zelda Twilight Princess" save file might be broken since r4704, anyone who has got this game please have a test.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4708 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-18 08:54:45 +00:00
luigi2us e39b844af6 FileIO: one more experiment: now MKWii can be played without a save file AND saves its data successfully!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4707 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-17 22:56:03 +00:00
luigi2us 0176879e45 IPC: let's try that: when reopening a device, return the device's ID, rather than an error code.
MKWii can now be played even if you don't have a save file, but it will fail to save and tell the file is corrupted each time you'll launch it.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4706 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-17 19:45:13 +00:00
Shawn Hoffman bb81ea26ca implement ppc opcodes eciwx/ecowx in interpreter. I think it's safe to do nothing for eieio
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4705 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-17 19:17:22 +00:00
luigi2us 734daf362b FileIO: update m_FileLength upon writes, so that MKWii doesn't end up seeking in rksys.dat at incredibly huge offsets.
MKWii still fails to create a new save file.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4704 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-17 19:11:40 +00:00
ayuanx f255f08a99 Fixed a potential crash when mapping keys to Wiimote
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4703 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-17 16:14:48 +00:00
ayuanx 7d1fdb85f3 Implemented Nunchuck Roll/Pitch
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4702 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-17 14:15:56 +00:00
ayuanx b0ef811786 Disabled thread synchronization check so the speed should be back, and theoretically should be even faster than r4698.
Hope it is safe to do so.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4701 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-17 04:01:34 +00:00
ayuanx 84e6070e61 This time when you click "Cancel" in Wiimote dialog, all changes are really discarded.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4700 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-16 19:12:07 +00:00
ayuanx 0ae7be2c1c Since we have been employing the FIFO BP hack for so long time, at least let's make it a decent hack.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4699 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-16 17:05:30 +00:00
Shawn Hoffman f2c060d8cb Implement some previously unknown gekko/flipper cpuid-type regs
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4698 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-16 08:59:18 +00:00
nakeee 5a417fe76c Linux compile fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4697 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-15 14:40:03 +00:00
Rodolfo Osvaldo Bogado 9c930f0825 nice little hack to make efb copies scaled with the efb so everything will look a more HD, for now there is no GUI i'm with a lot of work at home. if everyone likes this change will add it to the GUI. for now just use the config file.
it brakes sms goop so in that game avoid this . test and let me know.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4696 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-15 01:40:54 +00:00
Shawn Hoffman 19f3ed11c7 Small fix for loading wii dol/elfs with no disc present. Now EmulatedBS2() returns true only if apploader has run (since if it hasn't, we need to load the code ourselves)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4695 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-14 19:24:55 +00:00
ayuanx 66b1eb1f08 Does anyone know any game that requires the "Clear FIFO BP on Rising Edge"?
Because commenting out this behavior fixes Silent Hill Shattered Memories.

If this commit breaks any game, please report.

PS: There is a EnterCriticalSection in fifo.cpp, which performs the Read Access, but there is no EnterCriticalSection in CommandProcessor.cpp which performs the Write Access, so how can we guarantee the Write Access is atomic?


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4694 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-14 15:50:31 +00:00
Shawn Hoffman c46b289b2e VolumeDirectory: fix issues with Read() that broke non-apploader mode
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4693 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-14 05:27:29 +00:00
ayuanx e9891684ca Several elements are not properly updated on GUI with last rev, sorry.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4692 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-14 03:30:21 +00:00
ayuanx 6f1efd4873 Rearranged EmuWiimote & nJoy. Wow they can share one pad at the same time, and they also can be enabled/disabled separately.
So as long as the game supports, you can toggle controller input between them on the fly.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4691 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-14 02:23:14 +00:00
Shawn Hoffman 2d10a47c2b fix issue where loading wii game then loading gc game would cause garbage audio
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4690 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-14 01:20:56 +00:00
Shawn Hoffman fffc4e7fe3 re-add enough of the wierdo audio buffer from MEM1 hackish-thing for wii sports to work...someone needs to convince me that this is actual behavior ;p
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4689 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-13 18:16:16 +00:00
ayuanx afef9fb5f0 Code cleanup, removed extern declaration in sound streams
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4688 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-13 11:51:29 +00:00
Shawn Hoffman 4fe3e46725 Add the mixer change from issue 1479 (use sleep(1) instead of cpu yield)
Fix aram handling in wii mode - was doing strange things with aram AND mem2 space - only mem2 exists on wii. Let me know if this breaks anything...
Fix Wii BS2 HLE - don't zero out bytes 6 and 7
Thanks to skidau for finding the ssbb error cause :)
Fixes issue 303
Fixes issue 1479

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4687 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-13 07:42:15 +00:00
ayuanx 5f47aa7bb1 Fixed crash: when you try to change pad in config dialog
Fixed issue: XInput trigger source cannot be selected
Added proper close of SDL_Joystick

But still nJoy and Wiimote cannot share the same gamepad. It needs to be figured out how to do it with SDL.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4686 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-13 04:31:38 +00:00
ayuanx d476048359 Made Roll & Pitch independent from each other, you can set one to free swing while keeping the other in degrees.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4685 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-13 01:03:36 +00:00
ayuanx fad1fa4e3d Improved XTra.KrazzY's Mute-On-Pause a bit, so it won't cost any CPU time when it is not used.
Revert old Zelda-TP hack, though it really shouldn't be there...



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4684 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-12 22:30:53 +00:00
ayuanx 7be17e6531 An attempt to fix Issue 1749.
Whoever has "Zelda - Twilight Princess" please also test this revision.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4683 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-12 17:02:43 +00:00
Shawn Hoffman 57d2f39cb0 fs/fileIO: add enum for open mode, and struct for NANDStat.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4682 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-11 21:36:26 +00:00
ayuanx cca6f75110 Changed "Wiimote On" to "Input Active", so you can bypass Wiimote input when you want to use GC controller instead, even though their buttons are binded to the same keys/pads.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4681 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-11 13:57:25 +00:00
ayuanx a751efcc6e Trying to constrain the seek position when file is empty doesn't work out either, sorry.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4680 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-11 10:32:33 +00:00
ayuanx 0e5dc5b2ce Oops, a quick bug.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4679 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-11 09:57:18 +00:00