dolphin/Source/Core
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
..
AudioCommon Use the proper type for printing the OpenAL default device name. 2010-12-07 22:38:03 +00:00
Common Cast size_t to unsigned long for printf to deal with (32-bit) 2010-12-05 18:22:41 +00:00
Core Changed the GC controller timer from a host based one to one based on the emulated hardware. This helps the emulator become more deterministic. 2010-12-10 21:24:25 +00:00
DebuggerUICommon We effectively only have a single namespace for private header files, 2010-12-05 15:28:31 +00:00
DebuggerWX Earlier versions of wxWidgets do not implicitly include <wx/wx.h>. 2010-12-05 15:36:08 +00:00
DiscIO Cast size_t to unsigned long for printf to deal with (32-bit) 2010-12-05 18:22:41 +00:00
DolphinWX Fix a linkage issue on newer linux distributions created in revision 6544. 2010-12-11 01:09:28 +00:00
DSPCore LLE JIT: Implemented the addr, lsl and lsl16 instructions in the JIT (x64 only). 2010-12-09 11:52:31 +00:00
InputCommon Make Linux/MacOSX system checks correct in the cmake build. UNIX is true on both linux and osx. The cmake build probably still doesn't work on MacOSX though. 2010-11-17 01:03:39 +00:00
InputUICommon Add an experimental CMake build system as a possible replacement for SCons. Only tested on Linux, should work on OS X and Windows in the future as well though. 2010-11-01 15:47:02 +00:00
VideoCommon 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. 2010-12-11 12:42:55 +00:00
VideoUICommon First pass at dealing with different size_t/off_t sizes in C90 environments. 2010-12-05 15:59:11 +00:00
wiiuse Move NSAutoreleasePool handling into the proper entry/exit points 2010-12-05 16:18:09 +00:00
CMakeLists.txt Linux cmake build fix. I fixed the scons build as well, so this might fix the macosx build also. 2010-11-16 00:13:33 +00:00