Commit Graph

47 Commits

Author SHA1 Message Date
Ryan Houdek 3d37a6ce27 Removes the usage of __LINUX__ define
This is defined and set it a ton of different places.
It's checked in a whole lot more
Instead just use __linux__ like a real project should
2014-08-03 13:20:36 -05:00
Gregory Hainaut 0bf7a35a53 pcsx2: improve the GS read fifo API
1/ initReadFifo will be first called on the GS thread
    (openGL can only be done on the GS thread)

2/ readFifo will be called on the EE thread. It is not safe too access eeMem from GS
 because of memory is virtual

Fix "recent" regression (crash) on Kingdom heart and others game too.

v2: add a len check on GSState::InitReadFIFO
2014-05-06 20:28:18 +02:00
gigaherz 4a27edc8a3 Revert previous mistake.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5487 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-12-28 01:44:32 +00:00
gigaherz d2f3b4a7fc async-iso: First iteration of the experimental read-ahead system.
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
2012-12-28 01:42:39 +00:00
gregory.hainaut@gmail.com 35b9dfce3f pcsx2: zzogl:onepad: gsdx: merge linux-gsopen2 branch (4730) into trunk
* 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
2011-06-12 14:48:36 +00:00
gigaherz c46f8ae224 Undo some changes that shouldn't have been commited.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4217 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-01-15 23:55:38 +00:00
gigaherz 8bb14a6c0a I misscalculated some coords in the previous commit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4216 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-01-15 23:51:50 +00:00
Jake.Stine f2c0ff23a9 PCSX2, GSdx (patch from avih): Fix broken backward/forward compatibility regarding GSgetTitleInfo
* 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
2010-12-03 21:18:29 +00:00
Jake.Stine 49527d952c Plugin API for GS: Changed the new GSgetTitleInfo callback to use a more sensible parameter passing system.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4072 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-12-03 03:45:34 +00:00
Jake.Stine 8984e80c24 Add an SPU2reset callback to SPU2 plugins, needed to put a stop to SPU2 sound generation when resetting the PS2 VM. If a plugin doesn't implement it directly, it automatically falls back on a manual soft reset using the SPU2's builtin software Core0/1 register writes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3575 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-27 03:41:18 +00:00
Jake.Stine b6af82efa8 GSdx / zzogl-pg / pcsx2:
* 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
2010-07-19 15:49:30 +00:00
arcum42 472358345a ReorderingMTGS: zzogl-pg: Add GSgifTransfer. pcsx2: Add an include so Linux compiles.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3459 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-11 06:16:16 +00:00
Jake.Stine a9084741bc ReorderingMTGS:
* 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
2010-07-11 04:53:50 +00:00
Jake.Stine 250b5da3ab Adds support to PCSX2 for 'SetLogDir' being passed to the plugins; needed for proper UAC/user homedir mess (patch by gregory).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3111 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-29 03:36:49 +00:00
Jake.Stine 70d47bf240 Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2937 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-03 14:08:02 +00:00
sudonim1 4457fe40fc Removed all trailing whitespace in *.c *.cpp *.h because it irritates me.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2897 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-25 00:31:27 +00:00
gigaherz 86d96ffbf2 Implemented the handlers for channel 8 (dev9) in the new iop dmac. No plugins support the changes yet so don't enable it.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2571 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-06 22:18:26 +00:00
Jake.Stine 9fa4944536 GSdx: Removed obsolete/redundant options from the configuration dialog (vsync, fullscreen, and other things now controlled by 0.9.7). This only affects GSdx when run from 0.9.7 -- older versions of PCSX2 still have the same options.
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
2010-01-28 02:53:10 +00:00
gigaherz 5715c181dc I give up on the dmac branch. It will be easier to just do this in trunk, since it can be easily turned off.
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
2010-01-23 03:28:32 +00:00
Jake.Stine 7cd07da2d7 Added some info to the GS window title (finally!). Includes an fps readout!
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2425 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-11 08:02:17 +00:00
Jake.Stine 408dbd7256 * Call PADupdate from MTGS thread when using legacy GSopen -- Should fix Linux Pad instabilities.
* 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
2009-12-22 03:15:30 +00:00
Jake.Stine 9f41fc4793 (Most Plugins) Updated plugins to obey PCSX2's ini folder requests. This will fix problems with plugins failing to save settings on Vista/Win7 due to lack of Admin rights, and also ensures all the plugin inis show up where you would expect them to.
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
2009-12-19 18:30:56 +00:00
Jake.Stine cb066785cf Configuration panel code cleanups; supports slightly better handling of on-the-fly settings changes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2303 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-04 04:52:15 +00:00
Jake.Stine 1e431fb69a wtf? A working framelimiter? Turbo and slowmo hotkeys? Frameskipping?! Why it's all here! Rejoice! And then find lots of bugs, too, I'm sure. Note: Frameskipping has no gui stuff yet... I'll do that soon.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2294 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-03 15:51:39 +00:00
Jake.Stine f460985004 Same general cleanups (mostly to the VU interpreters), but on trunk this time. :) Also Fixes Issue 417 (I hope)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1900 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-21 14:19:49 +00:00
Jake.Stine 73a39b012c GSopen2: Fixed a bug in gsdx where it didn't properly handle changes to the GS base register memory pointer.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1858 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 18:45:37 +00:00
Jake.Stine e5da378d9a Added a GSopen2 call to the GS plugin API, which is used by PCSX2 to specify its own window handle.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1840 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-17 07:31:57 +00:00
Jake.Stine 179054c1a0 Corrected some missing GPLv3 headers that somehow got missed in my first pass.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1809 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-12 10:09:59 +00:00
Jake.Stine 380a66301f Fixes some warnings and a compilation error in Intel C/C++.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1798 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-09 10:38:40 +00:00
Jake.Stine 635596c412 wxgui: another sync with trunk to pick up more of those cdvd fixes.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1711 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-30 01:48:08 +00:00
Jake.Stine b4b292d219 More CDVD fixes. I *think* this revision might provide some noticeable speedups when running games directly from cd drives. Also built-in CDVD blockdumps work now (DVD images only, legacy CdRom games still don't blockdump right unless you use the cdvdiso plugin).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1701 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-28 21:23:32 +00:00
Jake.Stine 915d0c6953 More CDVD and cdvdiso bugfixes: cd-rom images should work now (ie, the old school non-DVD sort!), and improved the error and async read handling (possibly affects people running games from dvdrom)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1697 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-28 14:57:51 +00:00
Jake.Stine d77ac4786d Major Fixes!
* 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
2009-08-27 02:00:25 +00:00
Jake.Stine 9303bc5bf2 wxgui: Prepped the R5900 recompiler for the new wxWidgets-enhanced dedicated emulation thread design, and removed the old boolean-based re-entrant event checking mess.
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
2009-08-25 15:38:48 +00:00
Jake.Stine bafd21140f wxgui:
* 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
2009-08-02 16:48:03 +00:00
Jake.Stine 71490981bf wxgui: synced with trunk, and started work on an improved plugin initialization procedure. (branch currently does NOT compile, sorry)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1582 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-29 14:00:00 +00:00
gigaherz de976b8234 Remove the bool from the GS exports, as Jake said.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1531 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-16 12:38:42 +00:00
gigaherz 63a01f76ac Matsuri sent me a cleanup of his previous patch. No changes in functionality.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1528 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-16 03:34:30 +00:00
ramapcsx2 258dc05529 Plugin interface / GSdx changes that binds the GSdx vsync option to the pcsx2 framelimiter.
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
2009-07-15 19:44:06 +00:00
gigaherz e2c31ae72a Now that having internal CDVD interfaces is easy, I added a NODISC interface, with a menu option to run the BIOS with no disc.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1513 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-15 01:17:28 +00:00
gigaherz 3f28c12fe7 Start improving the CDVD interface. Change the internal ISO interface to use it.
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
2009-07-15 00:27:27 +00:00
Jake.Stine b974b815ff Major Build System changes:
* 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
2009-06-18 08:20:19 +00:00
arcum42 d8617c1ee8 Get rid of duplicated code in PS2Etypes.h. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1088 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-29 11:47:05 +00:00
mattmenke e3b40d1933 LilyPad, Plugin APIs: Slightly changed how multitap API additions work. Now enabling is handled completely by the pad plugin. If anyone ever really feels like adding support for more memcards, can move it over to PCSX2 itself.
Also add some documentation to PadApi.h.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@853 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-29 06:14:59 +00:00
mattmenke 0efde91a92 Save States: Added PADfreeze calls to PCSX2, though they're currently only implemented by LilyPad. Also fixed a bug where a save state would failed to load when the last plugin's freeze function actually saved something. Minor changes to new plugin API as well.
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
2009-03-15 09:30:31 +00:00
Jake.Stine cc930f86c5 Major GUI API Cleanups. Most likely buggy as all hell.
* 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
2009-03-04 11:33:45 +00:00
Jake.Stine 7ffd3d3aea Restructured the build system from the ground up. 3rdparty libs have been moved back into a /3rdparty folder, and are compiled as libraries. Most relevant plugins are part of the pcsx2_suite_2008.sln. Revision tagging of filenames is still there, but is now disabled by default. Pathnames with spaces shouldn't break the buildscripts anymore. Removed tons and tons of files in an effort to simplify the repository and build system management. So if a solution file you're used to using is missing, it's missing for a good reason (means the project can be built either from the Suite solution, or by double-clicking the project file from explorer, from which MSVC creates a new solution for you).
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
2009-02-24 02:08:37 +00:00