Commit Graph

2220 Commits

Author SHA1 Message Date
Jake.Stine 2beae92272 MTGS sync fixes (thanks XS2, for being such an MTGS bitch)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2246 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-24 17:13:07 +00:00
Jake.Stine 2b47122b44 MTGS sync bugfix, and remove some console spam caused by a last sectond addition to my prev commit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2245 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-24 16:08:59 +00:00
arcum42 e68d6048f9 Change an assert not to be fatal, to prevent a few games from dying if skipping the bios in dev mode.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2244 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-24 13:45:36 +00:00
Jake.Stine 2f99d8c514 MTGS Optimization! Implemented EEcore thread sleeping and signaling. [as always: MTGS changes are experimental, and need testing to isolate potential thread sync bugs, which are usually quite random in nature]
Important Notes: I designed the new MTGS to largely favor speed on GS intensive scenes, at the possible cost of some speed loss on scenes that do very little GS work (simple boring menus, mostly).  The idea is that losing 5-10% on a menu screen that already runs *really* fast is a valid trade off for possibly gaining a few FPS for in-game scenes (especially slow ones that need it most).  So don't benchmark this thing on game menus and expect it to be faster.

The new MTGS also has several other benefits that do not currently reflect well in benchmarking:
 * It renders only two frames ahead instead of 8.  This is great for fixing laggy input problems, but bad for benchmarking.  If the new MTGS manages the same speed while having lost the queued frames count, it's a sizable achievement.

 * It works a lot nicer with the GSdx software rasterizer in general.
 * It's new design will work nicer with future DX11 multithreaded features, when supported.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2243 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-24 08:43:36 +00:00
Jake.Stine 48ca426be4 Added AtomicBitTestAndReset() to thread tools and added a Normalize helper to 'Path' namespace.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2242 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-24 08:32:39 +00:00
ramapcsx2 856bcef278 GSdx:
- Remove the silly upscale hacks from an earlier commit
- Replace them with a less silly version in CreateSource() :p
- Remove a few of the outer pixels from the visible area, as they often contain glitches

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2241 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-23 23:58:25 +00:00
ramapcsx2 0548bfb85b And another SIF timing fix.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2240 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-23 14:54:37 +00:00
arcum42 13e71c413a Remove wxHelpers.h from the codeblocks project. Add a define determining if pcsx2 tries to load PS1 games or not.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2239 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-23 13:15:48 +00:00
Jake.Stine 4828beb3c3 * Added toggles for game log output: EE StdOut, EE Deci2, and IOP StdOut. Toggles are provided via a menu in the Console Log.
Dev notes:
 * Renamed MtgsthreadObject to SysMtgsThread (matches naming pattern of other thread classes).
 * Added accessors for GetMtgs() and GetCoreThread() [rationale for them documented in source comments]
 * Removed wxHelpers namespace since we're using px name prefix instead for most stuff.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2238 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-23 06:54:24 +00:00
Jake.Stine 03909ce78c Hacked in a working synchronized MTGS option in the Video panel (it's the only option that actually works at the moment). For debugging purposes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2237 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-22 10:50:27 +00:00
arcum42 bb64ecfcf2 Attack of the non-POD type objects.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2236 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-22 10:31:36 +00:00
Jake.Stine 4116c7d379 Let's fix some major instabilities in the new MTGS design, shall we. :)
If this rev is nice and stable then I'll go ahead and break things again by implementing the planned synchronization speedups. ;)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2235 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-22 09:51:00 +00:00
Jake.Stine 87b443a873 Some preliminary work for improving multithread recoverability and deadlock handling. (not really doing much useful yet)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2234 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-22 09:47:52 +00:00
arcum42 ef2c64a28b Catch it if someone hands us a PS1 disc.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2233 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-22 05:16:56 +00:00
gigaherz 7aae31db39 Stop the crash in cdvd detection when system.cnf is too big. Probably not the best way to implement it but it should work.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2232 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-21 17:24:16 +00:00
arcum42 27c493ec9d Remove the old cpuid gcc hack. Work on IsoFileFormats a bit more.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2231 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-21 16:44:46 +00:00
Jake.Stine 0433a3872e (experimental) Partial implementation of a new model MTGS. Current features:
* Optimized switch() for dispatching ringbuffer commands (slight speedup maybe, in very GPU intensive apps)
  * Removed 8-frame queue (fixes lag when using vsync + fullscreen).  New queue is 2 frames max.
  * Restart the ring buffer on every other vsync, regardless of ringbuffer fill status (re-uses front portion of the ringbuffer more often, which should improve L2 cache performance nicely).

Planned features:
  * A few m_WritePos threshold checks: Need to implement smart logic for putting the EE thread to sleep when the MTGS ring buffer is lagging (readpos is way behind writepos), and should restart ringbuffer every frame if frames have large amounts of data.
  * Add periodic EE wakeup commands, or an EE wakeup threshold point to the Ringbuffer; to signal a sleeping EE that the ringbuffer is nearing completion and is ready for more data.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2230 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-21 07:56:29 +00:00
Jake.Stine ae1dcb7ac6 * Fixed some bugs in the SYSTEM.CNF loader (most notably it will not crash on files over 512 bytes -- some PS2 images pad their system.cnf to 32k)
* Botting NoDisc with "Skip BIOS" enabled should work now (untested).
 * Renamed StaticText / StaticHeading helpers to simply Text and Heading.
 * Made the iR5900 recompiler's stack alignment check a dynamic toggle instead of a dev/debug build preprocessor.
 * Fix annoying linux linker errors.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2229 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-21 07:44:11 +00:00
Jake.Stine 799b89ab65 Fix broken dialog box labels from last night's commit.
Add a note to the Video Panel that it DOES NOT WORK YET. ;)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2228 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-20 11:25:48 +00:00
Jake.Stine d6f9462ffa Added some more convenience operators for wx interface construction. These are intended as a substitute for wxSizerFlags(), like so:
*target += control | wxSizerFlags().Expand().Centre()
// becomes:
*target += control | pxExpand | pxCentre;

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2227 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-20 03:26:10 +00:00
Jake.Stine 08f67ebdee thought 'inline' would be unnecessary with the removal of 'static' on the main template prototypes. I was wrong. But hey, what do you expect from the C++ standards committee, who's "issues" forum is a single huge 1mb html file.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2226 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-19 14:21:26 +00:00
Jake.Stine 4aa0ebe892 Apply proper qualifier use for operator+= templates and their specializations.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2225 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-19 13:44:44 +00:00
arcum42 b11dab02ef Slap a patch on things so Linux and Windows work till it can be looked at.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2224 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-19 12:45:11 +00:00
arcum42 4dc978f70a A few more minor changes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2223 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-19 08:48:15 +00:00
arcum42 0aae87e8fd Various minor fixes. Corrected a few misspellings, fixed a console message or two, and got Linux to compile again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2222 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-19 05:55:54 +00:00
Jake.Stine 4ba3fd07dc * Speedhacks master toggle saves now.
DevStuff:
 * Added a handful of operator+= overloads for working with wxSizers -- moderately reduces code clutter. :)
 * Commented some of the wxHelpers classes (pxStaticText, wxPanelWithHelpers, etc).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2221 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-19 05:08:24 +00:00
arcum42 787d39c8bc Lets use boolean return values in a few places in the iso code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2220 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-19 03:09:19 +00:00
arcum42 cebefa6130 Fix iso loading.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2219 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-19 02:39:29 +00:00
arcum42 91113d5e9a Remove some old files from the codeblocks project.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2218 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-19 02:02:40 +00:00
Jake.Stine 1dced84153 Linux compilation fixes and fix some signed/unsigned stuff in IsoReader.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2217 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-18 16:53:44 +00:00
ramapcsx2 0f22852602 Fix the speedhack panel.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2216 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-18 13:59:49 +00:00
ramapcsx2 d8c495b064 SPU2-X:
- Set the "latency" slider adjustment resolution to 1, so it's actually possible to set the value the user wants.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2215 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-18 08:52:06 +00:00
Jake.Stine 98605ea279 Cleanup from earlier commit -- forgot to remove some obsoleted sizer code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2214 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-18 08:14:40 +00:00
Jake.Stine 2709f3c29c GSdx/SPU2-X: Perform SSE checks before entering Configuration dialog (prevents crashes on non-SSE2 machines)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2213 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-18 08:13:28 +00:00
Jake.Stine 4f9cd96e50 * Added a 'master' toggle to the Speedhacks panel.
* ... more WIP stuff on the Video options panel.
 * Spent 12 hrs working on crap text wrapping and window sizing issues.
 * Moved several UI classes to utilities (lots of project changes, breaks linux)
 * Fixed stilly bug in SPU2-X that prevented it from working (at all).
 * Lots of code cleanups, and 1 or 2 bugfixes.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2212 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-18 07:53:02 +00:00
arcum42 0cac04b028 Fix the definition of VERSION in ZeroSpu2 and OnePad.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2211 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-17 22:24:20 +00:00
arcum42 6632e5d108 A bunch of Codeblocks project changes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2210 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-17 13:50:37 +00:00
Jake.Stine df6a3e3d55 MSVC: Added missing dependency build order settings for SPU2-X
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2209 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-17 03:05:30 +00:00
arcum42 2d46db3d04 Bring back color to stdio on Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2208 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-16 21:21:59 +00:00
Jake.Stine c942e3aaca * Implemented more support for on-the-fly CDVD source changes (not well tested, probably need work).
* Fix Reelease mode compilation errors. 
 * More misc bugfixes to the UI.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2207 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-16 17:14:10 +00:00
arcum42 4ab6a9846e Quick fix on the last commit for Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2206 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-16 14:08:53 +00:00
Jake.Stine af7bb73948 Fixed the Recent Iso List, which got broken a few revs back... and many more wee bug fixes, most are too unimportant to list here!!
Code Cleanups:
 * cpuDetect: Split Win32/Linux code portions into separate modules. (probably breaks linux)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2205 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-16 13:54:32 +00:00
Jake.Stine b40dd9253d w32pthreads: Remove macro redefinition of __except (it was a nasty and entirely unnecessary hack intending to protect idiot coders from their own failure to comply to very strict SEH exception handling rules).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2204 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-16 13:51:22 +00:00
arcum42 68c0e16ac0 Hack Hw.h in half and do a bit more header cleanup. Remove a header that's unused.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2203 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-16 13:49:56 +00:00
Jake.Stine 40ed711445 SPU2-X: Implemented SPU2test - it now reports an error and returns failure on CPUs not supporting SSE2.
DevNote: SPU2-X now links against w32pthreads and x86emitter.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2202 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-16 13:14:02 +00:00
Jake.Stine a341a47f1f wxWidgets/Win32: Added tooltip duration override of 10 seconds, so the tooltips stay visible long enough to finish reading them.
For the curious: tooltip duration defaults to a function of your configured mouse doubleclick rate, which happens to be something a lot of us users probably set to something pretty fast or really fast, to avoid accidental double clicks (mine's like 1 or 2 notches away from the fastest setting).  So my tooltips only stayed visible for like 2 seconds. >_<

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2201 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-16 03:27:05 +00:00
Jake.Stine 0068ec9cd0 Removed NULL-able DoWrite/DoWriteLn in IConsoleWriter (threaded logging crashed when changing writers on the fly).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2200 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-16 03:23:59 +00:00
Jake.Stine dd0b49e80d Lots of wee bugfixes to user interface stuffs
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2199 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-16 00:40:09 +00:00
Jake.Stine a4baab103f Mode console logging updates and additions;
* Added support for indentation, as a replacement for using \t  (options include methods SetIndent and Indent, and a ConsoleIndentScope class for scoped indentation of a block of WriteLns.)
 * Use of Indent() as a modifier (the abstraction optionally allows use of indentation methods besides \t, if ever needed).
 * Minor header file cleanups: wxWidgets standard headers are now always first in PrecompiledHeader.h files (is recommended due to cross platform setup code by wx).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2198 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-15 06:26:55 +00:00
arcum42 ba37f31849 Trim and tweak a bunch of includes, and a few headers.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2197 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-14 12:02:56 +00:00