Commit Graph

264 Commits

Author SHA1 Message Date
Jake.Stine 8092692047 Linux: Quick fixes to the new .S files, and did a mild cleanup of the recLUT macros.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@688 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-05 18:27:16 +00:00
Jake.Stine 482505d241 Pseudonym Crazy-Opts Projects Inc presents: Improved block managers for EE/IOP recompilers! Basic asm optimizations combined with a technique of replacing NULL/invalid pointer checks with a direct link to a JIT dispatcher. A collab effort on irc produced this gem, which improves speed on all accounts, and even makes the linux .S files uber-simple and clean. (no more wondering if they're broke or not!)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@687 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-05 18:13:14 +00:00
arcum42 ce3a2c7d32 Linux: Fix compilation and a typo in my last commit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@686 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-05 13:42:19 +00:00
cottonvibes 76dd2488a1 microVU stuff
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@685 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-05 06:39:24 +00:00
Jake.Stine fc84ade01d IPU Bug/Feature fix: Pseudonym has coded a new yuv2rgb decoder which is up to IPU spec (which differs slightly from MPEG spec). Improves color hue/saturation on many vids, and is a bit faster too.
Dynarec: Removed RET2().

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@683 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-05 02:21:07 +00:00
cottonvibes 7fd0f67f93 pork chop sandwiches!
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@682 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-05 01:19:54 +00:00
Jake.Stine ef2e9e2093 SPU2-X: Fixes alignment condition for SSE2-dependent members of V_Core. I wanted to sneak this in quick since to do it later would have meant another savestate version.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@681 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-04 21:48:26 +00:00
Jake.Stine 7d00eb7ec6 SPU2-X: Resorted the mixer so that it's a little faster, and will be easier to apply some SSE2 opts in the future.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@680 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-04 21:32:48 +00:00
arcum42 1492382253 Linux: Get everything compiling again. There is still a nasty crahing bug or two from r675, in particular when using the menus for load and save states rather then keyboard commands. I'll work on fixing that tomorrow, but wanted it to at least compile and run.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@679 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-04 20:58:41 +00:00
Jake.Stine 74db449e88 Gah! I forgot a line in my prev commit, so the SPRdma savestate fix wasn't actually being used. Btw, this *may* fix unstable savestate problems experienced in many games, including FFX and SMT3:Nocturne (but it;s so random it's hard to know for sure).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@678 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-04 13:05:06 +00:00
Jake.Stine a7fcdbaafa Savestate version upgrade and stability fix -- added some vars that the SPRdma might like to preserve between states, and removed some old hacky VM-related stuff while I was at it.
Fixed up the Saveslot detection somewhat (File:Load > menu now greys out unavailable saveslots).

Applied ICC fixup patch from Issue 84. :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@677 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-04 13:00:32 +00:00
Jake.Stine 05e3554541 Damn buggy TortoiseSVN >_<
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@676 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-04 11:41:00 +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
cottonvibes 900d4bd485 i assume these headers aren't needed anymore but were accidentally left in VS project file :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@674 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-04 07:57:34 +00:00
cottonvibes b0217bd38a necessary change to properly compile microVU's templates (c++ is picky with templates :p)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@673 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-04 07:38:14 +00:00
cottonvibes 2add61d729 backup, just ignore this
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@672 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-04 07:11:59 +00:00
arcum42 c1a59e6cc6 Quick fix for r668; the new radio buttion hadn't been assigned to that group.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@671 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-03 21:51:55 +00:00
cottonvibes b019dc6884 minor emitter fix and dialog text tweaking.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@670 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-03 16:42:43 +00:00
ramapcsx2 57abad9d44 Pontifice from our forums fixed some cheating related code he wrote for pcsx2 earlier.
This supposedly makes using codebreaker / ar max cheats more reliable :p

Thanks for that, Pontifice ;)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@669 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-03 15:34:51 +00:00
arcum42 c4aec82c00 Fix Linux, and update to match gui changes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@668 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-03 14:32:18 +00:00
tmkkmac 6a3bf0c644 Added Nneeve's fix for some issues in VU pipeline. SPS in Arc The Lad will be fixed.
Added a temporary gamefix option for God of War, which has been broken since r659. Anyway I'll fix this problem in a proper way.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@667 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-03 12:02:38 +00:00
ramapcsx2 223156a29a You might need this one as well :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@666 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-03 09:37:09 +00:00
ramapcsx2 4286c20dda Nneeve coded a new FPU clamp mode "Full" that can help some games which wouldn't work with the other modes.
This fixes the Digimon menu for example (Gamefix will stay a while longer though, until we confirm ingame is fine as well).
He also updated the advanced dialog a bit.

Remember that this mode can break games if VU clamp is below "Extra + preserve sign"

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@665 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-03 09:27:58 +00:00
Jake.Stine 207e0345e0 SPU2-X (Linux): Did some preliminary work on the Alsa driver.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@664 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-03 04:50:26 +00:00
tmkkmac 6372375800 Fixed the problem in recompiled version of PPAC5/PEXT5. I forgot about the case with Rt == Rd.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@663 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-03 03:14:23 +00:00
arcum42 498ede1692 Linux: Fix Issue 78 (Pcsx2 crashing if you change graphical plugins).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@662 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-02 20:28:56 +00:00
Jake.Stine b7afccac7d Proper uploading of new debugger.rc and it's header file. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@661 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-02 20:20:24 +00:00
Jake.Stine 1f2509edcf Fixed a bug in r658 caused by some sloppy macros.
Win32: Moved various debugger-related dialogs into a new debugger.rc file, to help reduce clutter between both the std resources and the debugger resources.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@660 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-02 20:08:12 +00:00
tmkkmac 699cdbba1e Fixed a problem that VU clip flag wasn't propagated correctly between recompiled blocks in some cases. SPS in Rule of Rose will be fixed by this.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@659 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-02 18:45:19 +00:00
Jake.Stine 79cde4c09e Set up the x86 emitter so that it always uses MOVAPS over MOVDQA. This generates slightly faster code since movaps is 1 byte shorter than movdqa (both instructions are functionally identical). The optimization is optional via AlwaysUseMovaps defined in ix86_sse.inl
Enabled optimization stuff for zlib and bzip2 projects (Release/Devel build targets).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@658 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-02 18:39:29 +00:00
Jake.Stine 63fe0a5fdc SPU2-X: Fix for DMC1, closing Issue 17 once and for all; also added ICC patch from Issue 75.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@657 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-02 06:41:02 +00:00
mattmenke a4a7bf91dc LilyPad: fea...@yahoo.it's suggested changes for ICC compatibility
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@656 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 23:53:20 +00:00
arcum42 7d4a7d3c10 Fix up the last revision for Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@655 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 22:12:19 +00:00
Jake.Stine f270064b41 Committing the beginnings of a new PS2 Exception Handler! This is very much a work in progress, but it shouldn't really break (or fix) anything in its current state.
EE Interpreters: Fixed some signed/unsigned mistakes in some instructions, namely DIVU, DIVU1, unsigned Traps, and a couple unsigned right shifts.  (all of these were already emulated correctly in the recs)

Also: Removed the ThreadPriority stuff from Pcsx2, since it was a throwback to the days of Win95's unstable multitasker. If you really really feel like you need to change the thread priority of Pcsx2, use the Windows Task Manager or a third party util.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@654 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 21:49:17 +00:00
arcum42 b0c3151aca Fix a few typos, as well as Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@653 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 21:42:09 +00:00
Jake.Stine 2cf4bc3920 Added the second part of emitter macro functionality, by making the emitter instance configurable. We can't actually use it yet tho, since everything shares iCore, and thus everything needs to share the same emitter instance (for now!).
Fixed new emitter so it compiles in Debug builds, cleaned up the header files a bit.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@652 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 20:44:48 +00:00
tmkkmac b6f3f8e415 MMI: Added recompiled version of PPAC5/PEXT5, and optimized PADDUW a bit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@651 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 16:01:53 +00:00
cottonvibes 8fa5c65884 minor VU fix thanks to nneeve
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@650 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 15:03:18 +00:00
cottonvibes 0990cf3ccb accidentally deleted this file and didn't include some other file ><
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@649 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 14:50:27 +00:00
cottonvibes af2e99c196 these files aren't needed anymore
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@648 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 14:44:00 +00:00
cottonvibes e2d583c7fe major pcsx2 emitter change.
the emitter is now 'templified' so that you can run multiple instances such as:
eMOVRtoR<0>(EAX, ESP);
this uses emitter instance #0
to use another instance you can simply change the number in the brackets like:
eMOVRtoR<1>(EAX, ESP);
will use instance #1.

all old-functions are mapped to instance #0 by macros.
like:
#define MOVRtoR eMOVRtoR<0>


why do this to the emitter?
so we can have thread safety, and eventually thread the recompilers using different emitter instances.


note: this took me forever to get working (around 12 hours of non-stop coding).
however for some reason debug build is being extra-picky and still giving compile errors.
hopefully Jake or someone else can fix this, because i tried a few stuff, and just got more compile errors ><

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@647 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 14:42:31 +00:00
arcum42 9deff96c78 A few minor changes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@646 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 11:38:05 +00:00
arcum42 abbaa90a7d Get the Linux side of things ready for when cotton's done with microVU. I'm sure I'll have to make significant changes at that point, but it's good to have the framework in place...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@645 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 09:47:16 +00:00
Jake.Stine 2fd0e1d538 Win32: One more foopah left over from r634 needed fixing, this one caused games running at very high FPS to "freeze" for 2 second intervals at a time.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@644 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 08:50:05 +00:00
arcum42 2270ba4eee Finish the Linux implementation of memcpy_fast_. I've disabled it by default until I'm sure it's working right, but it can easily be enabled in build.sh. Should be a speed boost in Linux (which Windows already had), but I haven't tested it enough to be able to tell yet.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@643 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 08:21:14 +00:00
arcum42 ad0705de56 90% of an implementation of memcpy_fast_ for Linux. And fix debug mode.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@642 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 06:31:33 +00:00
Jake.Stine 44d47ca891 Ah fudge. -_-
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@641 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 05:26:41 +00:00
Jake.Stine cecc7cbe73 Linux: Fix the SysPageFaultExceptionFilter so that it aligns to the pagesize.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@640 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 05:24:44 +00:00
Jake.Stine 6f10835725 Enabled PCH for w32pthreads library. It compiles a *lot* faster now. ;) [whole thing rebuilds in under a second on my machine, heh]
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@639 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 05:06:25 +00:00
arcum42 88f95dd22e Fix Linux. Move most of the externs for functions in .S files in Linux to one header, and reenable using memcmp_mmx in Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@638 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 04:28:17 +00:00