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