Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.
Go to file
Marcos Vitali 695010520f More FIFO work, HACK Solution for extreme overflow on breakpoints.
1) What is the FIFO? The fifo is a ring queue for write (CPU) and read (GPU) the graphics commands.
2) What is the Brakpoints? The breakpoint is the FIFO mark to allow parallel work (CPU-GPU) When the GPU reached the breakpoint must stop read immediately until this Breakpoint will be removed for the CPU.
3) What is an overflow? The CPU write all room FIFO possible, and like a ring overwrite commands not processed yet.
4) ¿Why you have an overflow? In theory should not have an overflow never because the fifo has another mark (High Watermark) When the CPU Write reach this mark raise a CP interruption and the FIFO CPU WRITES should stop write until distance between READ POINTER AND WRITE POINTER will be equal to another mark (LO Watemark to prevent and overflow.
5) ¡So if impossible why you have overflows? Simple, the CP interruption is processed later and the Overflow happens. (there is a lot of theories about this)
6) ¿Why is no so simple like when CPU WRITE POINTER is near to the end of the FIFO only process pending graphics command?
Because when this happens sometimes we are in BREAKPOINT and is IMPOSIBLE process the graphics commands.

- This HACK process the pending data when CPU WRITE POINTER is 32 bytes before the end of the fifo, and if there is a Breakpoint force the situation to process the commands and prevent an overflown.
In theory you have not see "FIFO is overflown by GatherPipe nCPU thread is too fast!" anymore. But if you have a hang in game where you had this please read the NOTICE LOG in user\logs, I've added this message "FIFO is almost in overflown, BreakPoint" when the hack is activated. (I will delete this message very soon)

Good Luck!! PD: Shuffle sorry for the large commit description :P

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6662 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-27 02:55:35 +00:00
CMakeTests When the gfx debugger is saving shaders make sure the directory exists. 2010-12-14 23:19:34 +00:00
Data data/user/wii/shared2/sys/readme.txt isn't really accurate or necessary anymore. 2010-12-22 06:21:07 +00:00
Externals LUA_USE_LINUX is suitable for everything but Win32 really. 2010-12-05 16:03:48 +00:00
Installer Hg: 2010-06-09 01:37:08 +00:00
Languages/po Initial directory structure. 2009-08-09 21:01:41 +00:00
SconsTests Use the debug option for conf.CheckWXConfig on OS X as on Unix. 2010-08-10 08:30:04 +00:00
Source More FIFO work, HACK Solution for extreme overflow on breakpoints. 2010-12-27 02:55:35 +00:00
docs dsp stuff - the same ucode hash under lle and hle now (had to rename couple of dissasms), ucode dumping under hle (debug only), small dsp:read32 change (needed for some homebrew) 2010-08-05 17:00:32 +00:00
.hgeol Hg: 2010-06-09 01:37:08 +00:00
.hgignore add some patterns to hgignore 2010-06-29 22:51:40 +00:00
CMakeLists.txt Build fix for linux. svnrev.h was not found when compiling OCLTextureDecoder.cpp as that include directory was only used in Core/Common. 2010-12-19 14:02:43 +00:00
Readme.txt The --wiimote_plugin command-line option is no longer relevant. 2010-10-13 00:19:10 +00:00
SConstruct Move NSAutoreleasePool handling into the proper entry/exit points 2010-12-05 16:18:09 +00:00
license.txt Engrish. :) 2008-12-01 09:49:24 +00:00

Readme.txt

Dolphin-emu - The Gamecube / Wii Emulator
==========================================
Homesite: http://dolphin-emu.com/
Project Site: http://code.google.com/p/dolphin-emu

About: Dolphin-emu is a emulator for Gamecube, Wii, Triforce that lets you run Wii/GCN/Tri games on your Windows/Linux/MacOSX PC system

Open Source Release under GPL 2

Project Leaders: F|RES, ector

Team members: http://code.google.com/p/dolphin-emu/people/


Please read the FAQ before use: http://code.google.com/p/dolphin-emu/wiki/Facts_And_Questions

System Requirements:
* OS: Microsoft Windows (2000/XP/Vista or higher) or Linux or Apple Mac OS X.
* Processor: Fast CPU with SSE2 supported (recommended at least 2Ghz). Dual Core for speed boost.
* Graphics: Any graphics card that supports Direct3D 9 or OpenGL 2.1.

[Command line usage]
Usage: Dolphin [-h] [-d] [-l] [-e <str>] [-V <str>] [-A <str>] [-P <str>] [-W <str>]
  -h, --help                	Show this help message
  -d, --debugger            	Opens the debugger
  -l, --logger              	Opens the logger
  -e, --exec=<str>          	Loads the specified file (DOL, ELF, WAD, GCM, ISO)
  -V, --video_plugin=<str>  	Specify a video plugin
  -A, --audio_plugin=<str>  	Specify an audio plugin

[Libraries]
Cg: Cg Shading API (http://developer.nvidia.com/object/cg_toolkit.html)
WiiUse: Wiimote Bluetooth API (http://www.wiiuse.net/)
SDL: Simple DirectMedia Layer API (http://www.libsdl.org/)
*.pdb = Program Debug Database (use these symbols with a program debugger)

[DSP Plugins]
Plugin_DSP_HLE: High Level DSP Emulation
Plugin_DSP_LLE: Low Level DSP Emulation

[Video Plugins]
Plugin_VideoDX9: Render with Direct3D 9
Plugin_VideoDX11: Render with Direct3D 11
Plugin_VideoOGL: Render with OpenGL + Cg Shader Language

[Sys Files]
totaldb.dsy: Database of symbols (for devs only)
font_ansi.bin/font_sjis.bin: font dumps
setting-usa/jpn/usa.txt: config files for Wii

[Support Folders]
Cache: used to cache the ISO list
Config: emulator configuration files
Dump: anything dumped from dolphin will go here
GC: Gamecube memory cards
GameConfig: holds the INI game config files
Load: high resolution textures
Logs: logs go here
Maps: symbol tables go here (dev only)
OpenCL: OpenCL code
ScreenShots: screenshots are saved here
Shaders: post-processing shaders
StateSaves: save states are stored here
Wii: Wii saves and config is stored here