In this iteration, a simple read-ahead scheme is used where the next expected read begins as soon as the CDVD code calls FinishRead.
The expected improvement is close to 0 since a similar system is already in place in the core.
The next iteration should have an internal buffer, and use completion callbacks to initiate read-aheads as soon as the previous read is done, without waiting for the emulator to fetch the results of the previous operation.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5486 96395faa-99c1-11dd-bbfe-3dabce05a288
* Gsopen2 support for GS plugins => Support of the PCSX2 GS window configuration panel. Support of all PCSX2 shortcut.
* new shortcut: shift-f12 to stole the input. ZZogl shortcut must be prefixed with ctrl
* onepad: Support/fix/improve of configuration gui, multiple key, mouse/wiimote for analog joystick, dualshock3/sixaxis (basic), dual pad and experimental forcefeedback
Note: it is advices to delete OnePAD.ini
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4731 96395faa-99c1-11dd-bbfe-3dabce05a288
* PCSX2: Added GSgetTileinfo2 and deprecated=removed GSgetTitleInfo
* GSdx: moved to the new GSgetTitleInfo2
* New PCSX2 with new GSdx will have the new functionality, all other combos remain with old functionality.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4073 96395faa-99c1-11dd-bbfe-3dabce05a288
* Implemented support for legacy GS plugins (considered anything prior to the Reordering merge).
* Added a lot of 'const' qualifiers to the GSgifTransfer functions in both GSdx and zzogl.
DevNote: GS plugins shouldn't be modifying the data provided to them from PCSX2 -- zzogl wasn't, GSdx was. I had to do a little bit of juggling to remove the mem modifications from GSdx's TEX0/TEX2 handlers. With luck, nothing's broken. ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3536 96395faa-99c1-11dd-bbfe-3dabce05a288
* Implemented GIFPath_CopyTag, which performs a "copy-in-place" while parsing tags (big speedup over the old parse-then-copy strategy, especially with the SSE intrinsics I've included for kicks).
* Removed the old ringbuffer 'restart' mechanism and replaced it with a truly free-flowing wrapping mechanism. Utilizes the ringbuffer more efficiently, and removes quite a bit of overhead from the MTGS's PrepDataPacket call.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3458 96395faa-99c1-11dd-bbfe-3dabce05a288
PCSX2: Added an optional PS2EsetEmuVersion callback for plugins, so that plugins (like GSdx) can alter behavior based on the version of emulator calling them.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2530 96395faa-99c1-11dd-bbfe-3dabce05a288
I made it so each part can be enabled separately, but atm they are missing some code so nothing will work if enabled.
Commit is mostly for backup/history purposes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2486 96395faa-99c1-11dd-bbfe-3dabce05a288
* Fixed a savestate loading bug, when loading states made with different sets/versions of plugins.
DevNote:
* Moved some old PS2E types to PS2Edefs, since the new v2 plugin API won't use them (freezeData, keyEvent).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2380 96395faa-99c1-11dd-bbfe-3dabce05a288
Fixed a couple UI bugs: FirstTime Wizard display bug and the "Configure..." button in the plugin control panel grays out when it should.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2361 96395faa-99c1-11dd-bbfe-3dabce05a288
* Fixed like a gazillion bugs in the new CDVD system; memory corruption, memory leaks, failed resets, and who knows what else.
* New commandline parameters!! Added -skipbios/-nodisc/-usecdvd/-elf [file] options, intended replacements for the now obsolete -bootmode (bootmode should still work as it used to).
* fixed a bug that kept -help from working, and updated -help to display all the new command lines.
* -nogui command line now causes PCSX2 to close on escape, instead of escaping back to the GUI.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1684 96395faa-99c1-11dd-bbfe-3dabce05a288
Note: Nearly have a successfully booting branch! (bios crashes when it reaches CDVD api callbacks, should be a simple fix but it'll have to wait until later >_<)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1680 96395faa-99c1-11dd-bbfe-3dabce05a288
* finished most of the new plugin system (branch is buildable and runnable again, but no significant functionality has been added yet).
* Removed STGS code from the branch since I planned to kill it off anyway and it was more work to code proper support for it in wx than to remove it.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1595 96395faa-99c1-11dd-bbfe-3dabce05a288
This patch by matsuri makes playing with vsync a lot nicer, so thanks for that one ;)
Note: For now its directx 10 only, due to dx9 needing a swapchain reset..
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1526 96395faa-99c1-11dd-bbfe-3dabce05a288
I will later work on getting the typical plugins to support these new functions.
I have tried to also update the linux side, but I can't compile or test it so it might not work properly.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1511 96395faa-99c1-11dd-bbfe-3dabce05a288
* Changed w32pthreads library into a DLL so that it can be used from plugins correctly. (NOTE: you will need to make sure to build and copy w32pthreads.dll into your pcsx2 folder).
* Switched pcsx2 from static CRT to shared CRT linking (needed to ensure correct exception handling behavior in multithreaded DLL environments).
* Switched all standard plugins in the Suite to the shared CRT, to match pcsx2's new style. :)
* Renamed _DEBUG (depreciated) to PCSX2_DEBUG (excluding Gabest projects since the ATL still uses it).
* Added intrin.h to Pcsx2Defs.h (so that it is included universally), and added intrin_x86.h for GCC compatibility.
Notes:
* Current plugin version compatibility status should be unaffected. The new shared-CRT plugins work fine with older versions of Pcsx2, and the older plugins should work fine with the new shared-CRT version of pcsx2; so long as the necessary CRT DLLs are available on the user's system.
* All future packagings of pcsx2 will include w32pthreads.dll and the Common Runtimes (CRTs).
* Existing users who do not have MSVC installed can obtain the CRTs by downloading the Microsoft Visual C++ 2008 Redistributable Package (anyone with msvc installed should already have all they need).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1388 96395faa-99c1-11dd-bbfe-3dabce05a288
Because of a convenient bug in load state function, older save states with no saved pad info should still work. Don't blame me if they don't, though.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@791 96395faa-99c1-11dd-bbfe-3dabce05a288
* Moved most of the shared code between the two GUIs into platform independent source modules (System.cpp, Saveslots.cpp, and RecoverySystem.cpp)
* Created two new namespaces which house functions that need to be implemented by OS/platforms: HostGui and HostSys. HostGui is useful -- HostSys I'm not sure I'll keep around in the long run.
* Moved keyEvent struct from PS2Edefs.h to PS2Etypes.h
* Many improvements to the logic flow of the GUI (should be a little less fallible).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@675 96395faa-99c1-11dd-bbfe-3dabce05a288
I'll put up a wiki soon which covers new compilation features and stuff, like how to re-enable revision tagging, and how you can direct compiled exe/dlls to be copied to any destination of your choice (yay!) -- plus many other compiling tips (if I can remember them all! >_<)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@581 96395faa-99c1-11dd-bbfe-3dabce05a288