Rodolfo Osvaldo Bogado
97e3a3ea6f
remove fifowait flag, is not needed now as we execute all events that need to be executed even if the cpu is waiting for the fifo.
...
this way fifo will not avid other thread events to bi executed.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6514 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-04 03:44:56 +00:00
Marcos Vitali
3b7a6ce336
I've observed that "FIFO is overflown by GatherPipe" is not real overflow.
...
Really that happens because the fifo.CPReadWriteDistance is negative.
Example: CPReadWriteDistance: -864 CPEnd: 10092672 fifo.CPBase: 9568416
In SMG this is because PI_FIFO_RESET is writing and after fifo.CPReadWriteDistance will be setted to 0.
To Prevent that, I've Implemented AbortFrame function in the CommmandProcessor. It should fix overflown because of that.
Note: There is other issue (Issue 2846) where the fifo.CPReadWriteDistance is negative too but the effect is different.
I'm working to solve this.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6083 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-10 07:25:35 +00:00
Marcos Vitali
688fda1a0e
When the new FIFO is being attached We make sure there wont be SetFinish event pending if so reset this. This protection fix Eternal Darkness booting, because the second SetFinish event when it is booting seems invalid or has a bug and hang the game.
...
This is EXPERIMENTAL, in theory don't break any game but if so Revert this commit immediately please.
Note: Beside Eternal Darkness needs DirectX 11 or DirectX 9 with Zelda Hack to works fine.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5986 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-28 02:57:17 +00:00
Glenn Rice
02ce753b76
This is basicall linux code cleanup. We don not need to pass the X display handle from the video plugin anymore. The wiimote plugins now open their own display handles, and the GUI uses the display handle of the main window frame. Only the window handle from the video plugin is needed. The pWindowHandle variable now passes this instead of the display handle.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5884 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-16 14:14:57 +00:00
Marcos Vitali
10b5d2371c
My first commit :D
...
Dual Core sync fix.
When the FIFO is processing data we must not advance the cpu cycles in CoreTiming because in this way the VI will be desynchronized. So, We are waiting until the FIFO finish and while we process only the events required by the FIFO.
This should fix Issue 2072 .
This affect to all games in dual core mode.
Please, You can test all games with VPS limiter auto, 60, 50 depending of the game and compare with prev revision.
For example now NSMB in the video Intro has 60 fps (prev 30 fps) :D or SMG does't need anymore FPS Limitter Hack to get 55-60 fps
Beside the slowdowns now are more softly and the fps more stables because the VI sync is almost perfect.
The Core Timing and Fifo modifications are delicated. Please report if this hang any game. Don't forget check with prev revision.
Enjoy it! Thanks to Rodolfo for teach me all about dolphin.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5777 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-24 13:28:54 +00:00
Rodolfo Osvaldo Bogado
cb1694252b
more bug fix in dx11:
...
fixed screen clearing and simplify drawClearQuad a little
put some nice code from dx11 that i like in dx9.
modify plugin spec preparing for implementing efb poke (is not used often but is a missing functionality so..)
please test.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5710 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-15 21:19:09 +00:00
ayuanx
673b9ac179
Implemented accurate BP and accurate Watermark, this should eventually retire FAKE_Watchdog.
...
AbortFrame is not implemented yet.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5699 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-14 21:55:40 +00:00
Glenn Rice
33a64d5db0
Big restructuring of how the video plugin works. In linux and windows you shouldn't see a change in the functionality; however, there are changes in how render to main or not, and fullscreen modes, and such are handled. Input is largely restructured for the video plugin. It is now handled by the host. Keys for pausing and changing fullscreen are configurable. More will probably be later. This is probably classified as highly experimental.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5336 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-12 01:33:10 +00:00
Glenn Rice
2015d252f0
Rewrite of fullscreen toggling in linux. This goes back to using the EWMH specifications. I wasn't using it right before, but now it should work on all EWMH compliant window managers (like KDE, Metacity, Compiz, etc). Since this doesn't need an override redirect Alt-Tab works even in fullscreen mode. This also allows for some other nice things to be done.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5199 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-15 23:25:11 +00:00
Glenn Rice
2c7b484869
Fix software plugin in linux. I broke it in revision 5048.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5077 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-17 23:15:58 +00:00
Glenn Rice
c2e0c75c93
EXPERIMENTAL
...
Removed X event loops from GCPad and Wiimote plugins, and implemented an asynchronous check for keyboard and mouse buttons.
Also added an X event loop in core that handles events while the emulator is paused. Prevents unexpected behavior from events that occur while the emulator is paused.
Now there is only one event loop running at a time (besides those hidden in SDL).
I will revert this commit if other devs are unhappy with it.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5048 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-13 20:47:23 +00:00
hrydgard
2db709aeb6
Add "Auto Aspect Ratio" to both graphics plugins. It's the new default, so you can forget about switching aspect manually from now on. In the Auto mode, aspect ratio is automatically set depending on whether it's a Wii or GC game, and whether the global Wii Widescreen setting has been set. There is still the possibility to override, which can be useful for the very few GC games that do support widescreen.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4828 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-13 21:11:02 +00:00
sl1nk3.s
18e951f97a
Fix a crash when closing DirectX's window, also apply a fix from j4ck.fr0st/BhaaL @ issue 1277 to prevent two possibles hang on stop.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4756 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-30 15:08:18 +00:00
Shawn Hoffman
ac157105c5
small code cleanup: rename "dual core" stuff to CPUThread, bOnThread, etc.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4455 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-23 15:26:35 +00:00
donkopunchstania
56214e9103
Moving pixel engine and command processor from core to video common. This will break previous save states. Adds decoding single pixels to texture decoder.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4391 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-10 21:19:39 +00:00
Marcus Wanners
50593397f3
Got rid of all of jp's ////////////////////////////// lines (nearly 500 of them)!
...
Yes, I used a script :D
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4169 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-02 21:00:45 +00:00
omegadox
b71b0e3da2
GFX:
...
- FIFO changes - minor cleanup, code organization based on Nolan's changes
- Minor code cleanup
- CommandProcessor changes - Allow BP IRQ clearing for either raising or falling edges.
- Revived old SetFifoIdle code
Gets Pokemon XD to run, but will crash to any CPU-GPU desync. Other games like Metroid Prime, look happy with the new FIFO changes.
Please report any problems.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3984 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-15 07:33:35 +00:00
XTra.KrazzY
51ddedf512
Frameskipping! Complete with GUI! Even my most naive approach resulted in great speeds, even with graphic-intensive games such as Pikmin.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3949 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-08 01:39:56 +00:00
sl1nk3.s
69c0613160
Fix the FPS counter to show the 'real' framerate, also clean up its mess a bit...
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3920 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-01 18:16:12 +00:00
sl1nk3.s
7eed236df9
Fix noWX build, and lower thread priority for screenshots
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3913 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-31 01:55:26 +00:00
Nolan Check
ce8b679d76
Revert most of r3855.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3875 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-23 21:17:14 +00:00
Nolan Check
ccfc004161
CP: Replace a couple spin-waits with event signals.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3828 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-18 06:16:24 +00:00
Nolan Check
fdc2b69143
Better TV emulation. Seems to fix problem in 50 Hz PAL games where frames go backwards.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3811 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-15 22:20:59 +00:00
Nolan Check
dc7d9ab998
Switch to Video_BeginField; hopefully fix or reduce some video stability problems by using Events.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3740 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-11 02:34:16 +00:00
XTra.KrazzY
7a05aafe39
EFB Access now works from both Dual Core and Single Core modes. Thread-safe.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3644 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-02 10:16:06 +00:00
Shawn Hoffman
1780f82dac
implement peeking z value from ppc. currently only works in single core mode. the pixel format may be slightly off of what the game actually desires. someone check please? :)
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3627 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-01 13:49:49 +00:00
Nolan Check
c2e0225aa3
Move to new Virtual XFB system which correctly handles games which store multiple XFB's in memory. More OpenGL cleanup.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3591 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-29 07:30:48 +00:00
hrydgard
3d9279a73f
Graphics: (faked) bounding box support. Helps some Paper Mario effects although they're still a bit glitchy. Might also help other games? Enable with the #define in VideoCommon.h. Since there might be a speed hit it's off by default.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3580 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-28 20:04:07 +00:00
Shawn Hoffman
7b43951b7e
bunch of comments/unions in VI. No more UnknownVIRegs[0x1000]! :p some other misc stuff
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3302 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-01 02:58:35 +00:00
XTra.KrazzY
c19210b641
Working screenshots for everyone! This may not be the 'best' way to implement it but it's the most compatible, working and least mutually exclusive as possible (works with DC too). More coming soon.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2449 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-27 03:56:34 +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
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
Shawn Hoffman
ba8c2aa7e4
nakee's work on dolphin events. Also get wxw out of logmanager. This commit wants your comments
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1875 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-15 06:48:15 +00:00
nakeee
6053f26a4c
More plugin specs changes, please check that it compiles on windows as well.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1821 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-07 18:21:22 +00:00
hrydgard
4e1e220e71
Cleanup, some BOOL removal. tested to work, unlike a certain other change :p
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1515 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-12 17:59:33 +00:00
hrydgard
537cf69cce
Revert 1513
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1514 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-12 17:36:12 +00:00
nakeee
8fa5b24472
made BOOL into s8
...
I tried hard not to break windows code but please check
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1513 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-12 12:56:11 +00:00
daco65
607f5b289f
build fixings
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1500 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-11 15:12:17 +00:00
hrydgard
c26c92cffd
Fix some silly BOOL confusion
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1492 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-10 23:05:57 +00:00
bushing
30c883bcfc
set svn:eol-style=native for **.h
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1438 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-08 04:46:09 +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
337ff1f56b
More GPFifo works. PEToken management as I think it should be. Super Monkey Ball Adventures fix (the token check loop was stuck in one JITed block without any Advance() call).
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1224 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-20 12:16:51 +00:00
John Peterson
be6a6215c9
Calibrated emulated Wiimote aiming in widescreen mode. Added config menu to Wiimote. Added hide cursor option to OpenGL plugin. Added custom Wii settings and moved SYSCONF to User/Config (it will be copied by the game to Wii/shared2/sys when a game is run). Made the DSP and Video debugging windowses run on the same dll instance as the main instance.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1188 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-16 20:09:13 +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
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
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
hrydgard
6568a0e8aa
sorry, forgot this too..
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1012 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-29 22:50:52 +00:00
donkopunchstania
bbbe898839
added option to use XFB in GL, but XFB support still needs work. modified viewport to include scissor offset.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@879 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-15 14:07:03 +00:00