Commit Graph

58 Commits

Author SHA1 Message Date
John Peterson 5c04af50a4 Attempt to calculate actual refresh rate (i.e. a CPU-GPU synced Mhz), no real success. Anybody have any ideas?
Is there no indication from the game when the screen refresh should occur? No, not what I could find, we currently calculate the refresh rate and m_VBeamPos from the CPU ticks progress. That works perfectly if the CPU and GPU is perfectly synced as in the single core and no-idle skipping mode. So I guess it's possible that the game doesn't indicate when the screen should be refreshed, but rather that the hardware calculate that from the CPU ticks progress. That leaves us with a problem in the dual core and idle skipping modes to calculate a CPU-GPU synced CPU ticks progress.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3447 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-15 04:30:02 +00:00
Shawn Hoffman 2301d072a6 nakee's new logmanager. added a console window for windows builds (prints to parent console on non-win32). also fix some random wxw bugs: main window's position is saved when using debugger, disabling windows from the tools menu are saved settings, some other small fixes
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2675 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-18 17:17:58 +00:00
XTra.KrazzY c674e6330f Allow for self shutdown from video plugins.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2611 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-07 23:34:16 +00:00
hrydgard 68f5cc1873 Attempt to workaround some stop hangs by using MsgWait instead of Wait. change order of dsp / video shutdown. some comments.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2379 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-22 22:49:42 +00:00
John Peterson 927815bc9b Core Stop and Start: Added alternative separate thread timer/loop based waiting, instead of same thread loop waiting. You can try it with the SETUP_TIMER_WAITING option in Setup.h.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2375 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-22 21:16:12 +00:00
John Peterson 42101f0ce6 OpenGL: Added a Setup.h option to avoid another annoying WaitForSingleObject() hanging. WaitForSingleObject() in Fifo_ExitLoop() would hang the thread it was waiting for when it arrived at Callback_PeekMessages(). Can't these waiting loops be replaced by a timer somehow? They are pretty ineffective if they hang the loop they are waiting for all the time.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2359 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-22 06:47:27 +00:00
hrydgard e6ca85c059 Fix for a single core mode stop-hang. Fix a build error in IL mode.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2328 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-21 00:54:52 +00:00
hrydgard 6cd34b318f The Mega Change Of Doom - or, fixing Stop. Almost. At least it's better than before. However, the OpenGL plugin seems to lose textures a lot between game restarts :P I think the GL plugin needs to do a lot more cleanup.
This change also includes tons of minor code formatting cleanup. Yeah, should've separated it ... sorry :(

Kills the old CPUCompare support. I'll resurrect it if I need it again, right now it mostly clutters the code.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2321 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-20 22:04:52 +00:00
memberTwo.mb2 ac80c04eab XFB in SC reverted back to its previous behavior (thx donko). But still hacked in DC (still a FIXME).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2019 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-27 20:59:27 +00:00
nakeee 2e92b94e4a Compile fix on linux
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2005 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-24 22:24:44 +00:00
memberTwo.mb2 2a13bedfc8 break my BOOLs
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2002 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-24 22:02:27 +00:00
memberTwo.mb2 1e7655b5db 1) XFB in DC proposal. This impact video plugin interface. WARNING: XFB_Draw is not CPU->VI dependent anymore. It's up to GP now. Except for some 2D homebrews which never use GPfifo&CP but direcly XFB. Well, in other words: emulated VSync is uncorrelated with CPU timings now. Tell me if it's too much hacky.
2) DC/GPfifo work: GP quicker to react. PeekMessages at a more steady rate.
3) Fix XFB address to avoid crash like with Animal Crossing gc. TODO: VI regs need proper typedef and logic.
4) Few misc. changes on the fly.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2001 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-24 14:43:17 +00:00
omegadox 8f98f0b778 Some warning and code cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1998 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-24 00:45:46 +00:00
bushing 49cfded60b set svn:eol-style=native for **.cpp
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1442 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-08 05:30:24 +00:00
memberTwo.mb2 f66b7999d8 Fix windows build. Fix InterlockedIncrement for old gcc. TOTEST on linux.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1394 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-04 13:43:03 +00:00
nakeee b64877d464 merged windows/linux atomic operations,
please test on windows


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1391 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-04 10:58:45 +00:00
hrydgard b9c6f7cb89 Hacky fix for weird video hangs in Metroid Prime 1. May think of something better later.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1290 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-24 19:31:49 +00:00
memberTwo.mb2 0f13d327b8 DC + fifo: small fix/correction ;). Remove old stupid OnIdleDC stuff. Interesting: DSPnull with DC + IdleSkipping show invalid read addr sometimes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1286 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-24 16:33:38 +00:00
magumagu9 eab369321c Linux build fixes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1248 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-22 20:11:26 +00:00
memberTwo.mb2 36bf2fedf6 More CP/GPFifo work. Fix Super Monkey Ball SC/DC. SMB force us to hack CP differently: CPU really thinks the fifo is always empty and on idle now.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1242 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-22 15:25:04 +00:00
memberTwo.mb2 e069e5997a DC fix: Since game's frame-finish-watchdog have nothing to do with RTC, the faked GP watchdog moved in scheduler. DC should work for everyone now, we just may need to adjust FAKE_GP_WATCHDOG_PERIOD. TODO if it worth it: the actual re-scheduling of the new callback is stupid, so... + Some clean up. + Remove the unused GPUCallBack.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1210 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-18 13:08:46 +00:00
nakeee db6f69c010 warning fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1207 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-18 08:58:31 +00:00
nakeee e2de566546 -dist is now -distToSend
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1185 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-15 22:32:20 +00:00
memberTwo.mb2 b1563afa8d DC "fix": "Better" watchdogThread. Need to be tested on others PC specs. Everything works with for me (nice Q6600 + 8800GT owners :p ). We may have to put some hardcoded value in GUI for helping debug on other PCs. If it doesn't work and if someone have time, tweak a bit the threshold "FourMsCount" in "GPWatchdogThread" and let me know.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1184 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-15 21:54:46 +00:00
nakeee 2a06f76f81 porting 1180 to linux
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1182 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-15 20:01:24 +00:00
memberTwo.mb2 ab1774b28a DC fix/hack: 1) now a GP-watchdog thread on core 2 locks CPU in gatherpipe (TODO better). 2) Video_SendFifoData send full fifo to GP (should be faster by avoiding the decoder to stall).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1178 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-14 22:33:48 +00:00
memberTwo.mb2 5e261fbec3 GP fifo reset fix (ZWW reset in DC at least). revert r1051 for ppl who don't own quadcore :p
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1057 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-03 09:01:14 +00:00
nakeee a1454f4f05 continue instead of sleep (please review)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1051 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-02 17:23:26 +00:00
nakeee 9b05e301e9 removed unneeded critical section to match windows
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1019 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-30 20:46:12 +00:00
Sonicadvance1 0ab16c6af0 Added InterlockedExchange to Linux side
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1018 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-30 19:48:26 +00:00
memberTwo.mb2 a5ca940d64 A bit more proper GP fifo emulation: some DC fixes, some hacks too, more comments and TODOs.
TODO: the linux part.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1017 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-30 18:13:13 +00:00
Sonicadvance1 e1eb51a010 Fix Building in Linux, removed the define for _T() in Common.h so now we can have wx headers after including Common.h. Also, InterlockedExchange isn't in Linux so I just made it assign the variable
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@809 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-09 08:51:57 +00:00
memberTwo.mb2 0464cba75e Bunch of fix for DC mode (Metroid starts now,etc.). Look stable now but need to be seriously tested. CriticalSection shouldn't be needed anymore. TODO: linux and fix that High/LowWaterMark problem (CPU waste is time waiting for an empty fifo for now)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@791 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-07 21:39:50 +00:00
memberTwo.mb2 407bd39d8b fix savestates in SC mode at least
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@779 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-05 11:52:44 +00:00
memberTwo.mb2 adb549254e reverted r777 (bad sunday morning quick commit) but the general id is there :p
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@778 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-05 08:12:27 +00:00
memberTwo.mb2 7a6c46d8a6 oops savestate in SC mode should be fixed now (bug from 760).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@777 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-05 07:56:16 +00:00
memberTwo.mb2 8d0f6d40f4 DataReader inline for OGL/DX9 and moved to VideoCommon. Large clean up.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@760 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-03 22:05:28 +00:00
nakeee d00ea2cf43 Added logging files to SConscript
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@753 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-03 05:51:55 +00:00
nakeee 3d6d64c632 Get rid of locks added InterlockedExchangeAdd function in thread.cpp
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@748 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-02 21:40:20 +00:00
memberTwo.mb2 d15d6d2b5e r729 fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@746 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-02 18:43:56 +00:00
nakeee 29fdb6837a Making sure nothing broke on windows
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@745 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-02 17:12:47 +00:00
nakeee 4923da76d7 all this to make stop work without message passing
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@744 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-02 17:03:24 +00:00
nakeee 55226f7ec4 reverting 64 bit as it doesn't work properly.
Well can't say I didn't try :-)


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@743 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-02 14:25:03 +00:00
nakeee d6219e73bd converted to 64bit (please check on windows)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@741 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-02 13:04:32 +00:00
nakeee dc3fd905c9 experimental multi-core support on linux
- Input seems not to work for some reason (please check and tell me if it's not only me)
- Skip frames is not supported

Report to me of other problems


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@740 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-02 10:43:32 +00:00
memberTwo.mb2 df9eba79b2 DataReader migration to faster one: first step.
TODO: doing it for DX9, move DataReader to VideoCommon, remove dirty debug #def if ok

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@729 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 17:29:25 +00:00
memberTwo.mb2 da088e62ad DC idle skipping part 2: video thread is woken up when "OnIdle".
For testing purpose only (I can't test with lots of games) because it may break some sync. Besides, I'm not satisfied with the way things are done.
So just uncomment "//#define THREAD_VIDEO_WAKEUP_ONIDLE" in thread.h in order to test it.
Works fine with movies, 2D and simple 3D in ZWW at least.
If it's ok I'll clean up the code.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@658 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-24 10:52:58 +00:00
XTra.KrazzY 10eef7f60e Build fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@423 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-01 13:31:24 +00:00
nakeee 4bbfff3cac many warning fixes
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@422 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-01 12:11:08 +00:00
Maarten ter Huurne 0bebbcb5f4 Replaced type "BYTE" by "u8", except where "BYTE" is used to access the Windows API.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@408 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-31 14:32:35 +00:00