Jake.Stine
6db222ff56
Account for GIFtag register 0xEE, which is (un)used by .hack//Infection [removes console spam].
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2076 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-25 11:55:53 +00:00
arcum42
f62172410f
Blind commit. Should fix my last commit.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2075 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-25 10:51:38 +00:00
arcum42
22c76d3ce8
Fix the trunk for gcc 4.4 (haven't looked at 4.3 yet), and add a few log changes I hadn't committed yet.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2074 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-25 04:48:16 +00:00
Jake.Stine
d8ba450d9c
Aligned Stack for sVU in linux/gcc (missed the .S file in the last commit).
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2073 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-24 23:36:40 +00:00
Jake.Stine
b96ab5621f
Implemented Aligned Stack for microVU and superVU (mVUs is currently ifdef'd for GCC only, since implementing aligned stack for other compilers that don't automatically assume it requires some complexity and overhead).
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2072 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-24 23:33:11 +00:00
Jake.Stine
984e79ae03
Attempt for the GCC 4.3 compilation errors introduced in r2063/2064, by selectively disabling __fastcall for the functions being used as listeners... hope it works. >_<
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2071 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-24 22:32:25 +00:00
Jake.Stine
1cd5e52023
wxWidgets/win32: Removed another sneaky inclusion of Windows.h into wx's global namespace.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2070 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-24 21:44:14 +00:00
Jake.Stine
ada3d9ed8a
Emitter rewrite, Part 2 of 5: Converted SSE comparisons and SSE conversions to constructor-less structs.
...
(also includes some header file prepwork for my next wxWidgets windows.h commit fix)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2069 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-24 21:43:28 +00:00
Jake.Stine
beed14bfee
SPU2-X: Added SVN revision info to the SPU2-X name reported back to PCSX2, so that it shows up in the plugin lists. (previously only did so in dev/debug builds, now does it for release too).
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2068 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-24 19:18:44 +00:00
Jake.Stine
6fdaea2c79
Emitter rewrite, part 1 of 5 (or so...): Re-tooled SSE arithmetic instructions to be class/template free.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2067 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-24 19:06:11 +00:00
ramapcsx2
e8d858c675
GSdx: Some fixes.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2066 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-24 18:39:36 +00:00
Jake.Stine
66d92503aa
Attempted fix for GCC compilation errors in previous revision. Also:
...
* Removed some unused sealed class container mess that liked to cause compilation errors on GCC 4.2
* Added a macro for efficient invocation of static recompiled code buffers.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2065 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-24 16:28:48 +00:00
Jake.Stine
aa2e053366
Fix the usual myriad of Linux compilation errors.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2064 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-23 21:05:32 +00:00
Jake.Stine
efc35405f8
Reorganized the exception/signal handlers, setjmp/longjmp, and SysCoreThread stuff:
...
* Exception/Signal handling now uses an EventSource, so that multiple handlers can be registered. This is in preparation for (eventual) more complete MIPS TLB support in the VTLB memory model.
* Improved code isolation, so that recompiler-specific code is primarily in iR5900-32.cpp (cleans up Counters.cpp and SysCoreThread.cpp)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2063 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-23 20:24:59 +00:00
Jake.Stine
cdb2d8f276
w32pthreads: Fixed some minor bugs in the pthread_testcancel optimization I implemented some weeks ago; ifdef'd out some code that was specific to __CLEANUP_C mode.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2062 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-23 20:09:16 +00:00
ramapcsx2
2ede953125
GSdx:
...
- Worked on the configuration dialog, bringing in the scaler option
- Changed the DeviceSize code to use Jake's kinda better method. Fixes some odd resolution games :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2061 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-23 14:32:01 +00:00
arcum42
06d3e01efe
One last pass on the register freezing code for now, and remove the remnants of the iVif workaround code.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2060 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-22 13:00:59 +00:00
Jake.Stine
1a09a7792f
Compilation errors fix: MSVC needs 'extern' qualifiers on functions declared as __forceinline, otherwise it assumes static/local scope when it compiles them.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2059 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-22 11:07:21 +00:00
ramapcsx2
6a2cca9795
GSdx:
...
- The Xenosaga fix was wrong, this is better.
- Disabled the pitch conversion code, it's too broken to be used :/
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2058 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-22 01:52:41 +00:00
arcum42
537801e466
Just cleaning up the changes in r2056 a bit.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2057 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-22 01:35:58 +00:00
arcum42
8e493ad2d2
Revamp the FreezeRegs functions.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2056 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-22 01:20:22 +00:00
ramapcsx2
fb2169f64d
GSdx:
...
Added a somewhat more accurate upscale option via GSdx.ini. Not tested much! :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2055 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-21 22:57:20 +00:00
Jake.Stine
e4330ee0ee
Reintegrated 'aligned_stack' branch. General summary [interesting to Devs only, really]:
...
* EEcore recompiler aligns the stack on entry for all platforms.
* IOP recompiler aligns stack for GCC/Mac by default (can be force-enabled for all platforms via compiler define)
* Added setjmp/longjmp to the EEcore recompiler, used by GCC to exit the recompiler in efficient form (Win32 platforms use SEH).
* aR3000a.S and aR5900.S removed and replaced with x86Emitter generated dispatchers.
* All C functions called from recompiled code use __fastcall (simple, fast, retains stack alignment in neat fashion)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2054 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-21 21:16:07 +00:00
Jake.Stine
d0ffa6bbc0
aligned_stack: sync with trunk, preping for merge.
...
git-svn-id: http://pcsx2.googlecode.com/svn/branches/aligned_stack@2053 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-21 19:38:22 +00:00
Jake.Stine
1cb9a908e8
Why didn't I think of this sooner? Added a pre-alpha announce when starting PCSX2 0.9.7 for the first time.
...
Also: Minor fixes to the console logger (Win7 report of corrupted cursor)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2052 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-21 19:19:12 +00:00
Jake.Stine
5b279e629d
GSdx: Fixed a memory leak in m_weavebob when changing interlacing modes (same thing that caused the m_merge leak -- I chose to delete instead of recycle since I doubt the texture would be useful for anything besides the 1-time interlacing setup, so no point cluttering the pool with it).
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2051 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-21 13:06:41 +00:00
ramapcsx2
81bdda2d27
GSdx:
...
Fix Xenosaga 2 and 3 fog effect, not sure it's handled correctly but at least it's handled.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2050 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-21 12:36:32 +00:00
Jake.Stine
f172829737
aligned_stack:
...
* Added -fno-strict-aliasing to the ever growing list of gcc optimizations that can potentially cause perfectly good C code to generate entirely broken results.
* Removed the preferred-stack=2, since this branch *should* run fine without it now.
* Have Release builds in Linux SIGKILL when encountering an unexpected SIGSEGV.
* Fixed some deadlock issues with the new console logger (it introduced cancel points, which is a good thing! unless you're the EE recompiler and you swallow up any attempt by GCC to cancel a thread)
* Compilation error fixes.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/aligned_stack@2049 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-21 08:57:05 +00:00
Jake.Stine
51999656ab
aligned_stack: Implement full compliment of stack alignment options for the IOP (untested in gcc/linux yet); and fix a compiler error in MSVC.
...
git-svn-id: http://pcsx2.googlecode.com/svn/branches/aligned_stack@2048 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-21 07:10:30 +00:00
Jake.Stine
54f8f33257
aligned_stack: Linux has never worked so well!
...
* made a workaround for some obscure GCC templating bug
* Fixes the assert from PersistentThread when starting the emu
git-svn-id: http://pcsx2.googlecode.com/svn/branches/aligned_stack@2047 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-21 02:23:42 +00:00
Jake.Stine
00461fdac6
aligned_stack: synced with trunk, to bring in the new console code for additional testing under a (properly working!) linux.
...
git-svn-id: http://pcsx2.googlecode.com/svn/branches/aligned_stack@2046 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-21 01:25:55 +00:00
Jake.Stine
3e1c1f939c
aligned_stack: Finished conversion of all CALLFunc and _callFunctionArg1 functions to aligned-stack safe __fastcall invocations; only IOP's psxExecute and dispatchers remain to be done. (rev is fully functional in this state tho, on win32 at least)
...
git-svn-id: http://pcsx2.googlecode.com/svn/branches/aligned_stack@2045 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-20 20:02:07 +00:00
Jake.Stine
43bac9c6a9
Brand new approach to console logging, should be a lot more efficient, and is relatively deadlock-free. Also fixes most of the scrolling issues from prev versions.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2044 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-20 19:34:57 +00:00
Jake.Stine
f8783a77ab
superVU bugfix: Disable x86 regalloc since disabling EBP allocation causes some kind of problem with it (fixes God of War2, and is probably a speedup also -- not that it matters since sVU is mainly there as reference for solving NAN/INF problems). Also, removed a bunch of code that's no longer needed thanks to EBP being removed from regalloc.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2043 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-20 19:25:14 +00:00
Jake.Stine
0f77c1a885
GSdx: Possible fix for DX10 leaking memory.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2042 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-20 11:44:43 +00:00
Jake.Stine
27174c3f5b
* Improved the framelimiter sleep mode more (less cpu used and more responsive to fps fluctuation near the 60fps line at the same time)
...
* Added timeBeginPeriod() to improve the Win32 kernel scheduler resolution (improves sleep accuracy and thread responsiveness)
* hackfixed some code that made exiting pcsx2 "slow" sometimes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2041 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-19 23:13:22 +00:00
Jake.Stine
7bf94f9db9
Cleaned up the comments in the EE Memory Map :)
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2040 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-19 15:56:18 +00:00
Jake.Stine
4047e0ee9f
wxWidgets/Win32: Cure wxWidgets of some over-joyous re-allocation of formatted strings which was (presumably) added because of limited memory constraints on portable devices (which doesn't apply to PCSX2).
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2039 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-19 15:18:32 +00:00
Jake.Stine
2cb8e571cd
Second half of __unused removal -- comment out (remove) names on unused parameters as per the guidelines of some C guideline that all compilers adhere to (this suppresses the same warnings __unused used to suppress).
...
Minor cleanups to Counters/Gif.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2038 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-19 11:53:18 +00:00
arcum42
cf4719019d
A few changes to Sif, SPR, and Gif I've had sitting around.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2037 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-19 11:45:37 +00:00
arcum42
29e8fe94e9
Change a few project options and get rid of _unused.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2036 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-19 10:42:36 +00:00
Jake.Stine
e3a5229076
aligned_stack branch progress!
...
* Implemented setjmp/longjmp method of escaping recompiled code, circumventing the deadly pitfalls of the g++ exception mess.
* Use longjmp to jump to a "safe" location (outside recompiled code) for suspending and canceling the SysCoreThread (see StateThreadCheck_LongJmp)
* I'm the stack daddy mack. That's right. Uh huh. Uh huh.
* Test for m_detached in PersistentThread::IsSelf, since Linux likes to recycle thread handles in a hurry (like, as in, consecutively)
* Fix a deadlock in the Consoole Log (seems to be GTK+ specific, and in fact I'm pretty sure wxApp->Yield() isn't thread safe and thinks it's recursive even when it's not)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/aligned_stack@2035 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-19 01:50:52 +00:00
Jake.Stine
047726a60c
aligned_stack: no real progress... just reached a point where I need to move dev over to my windows so I can have real debugging/disasm/memory dumping ability. (this is the most horrible job I've ever undertaken, btw)
...
git-svn-id: http://pcsx2.googlecode.com/svn/branches/aligned_stack@2034 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-18 19:26:07 +00:00
Jake.Stine
54f1409090
Gave the frame limiter some smarts so it can sleep the EEcore a bit if there's nothing to do for a while.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2033 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-18 17:12:02 +00:00
Jake.Stine
b1fb7f80ae
aligned_stack: sync with trunk; some bugfixes to the stack prep on entry; and re-enabled the esp/ebp integrity assertions.
...
git-svn-id: http://pcsx2.googlecode.com/svn/branches/aligned_stack@2032 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-18 14:56:48 +00:00
Jake.Stine
950c99f886
wxWidgets/Win32: Bugfixed wxLog getting perma-suspended when calling YieldIfNeeded
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2031 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-18 12:30:54 +00:00
Jake.Stine
6c631e009d
Yet more thread sync fixes, mostly to do with rapid reset/resume/suspend/exit actions.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2030 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-18 12:30:00 +00:00
Jake.Stine
877f59a255
More thread sync fixes (these mostly only showed up on linux, because of threads starting a lot slower); fixed by including a startup signal to let the creating thread know when the worker has aquired its persistent locks.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2029 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-18 03:01:10 +00:00
Jake.Stine
6b0c9cfdfe
Added some missing semaphore/mutex resets, and bugfixed the emitter when using a certain type of complex indirect sddressing ( ie, ptr32[addr + (eax*4)] )
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2026 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-17 23:30:16 +00:00
Jake.Stine
9a1f3ae9f1
aligned_stack: fix attempt #1 for RecExit. Changed the jump to a call, which (I think!) should give GCC the stackframe setup it expects to see when trying to throw an exception.
...
git-svn-id: http://pcsx2.googlecode.com/svn/branches/aligned_stack@2025 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-17 22:30:50 +00:00