Commit Graph

320 Commits

Author SHA1 Message Date
cottonvibes b894a7a217 some tweaks based on some optimization tips jake found.
the idea is that with SSE, doing operations that don't modify all the vectors can give false-dependencies, and in some situations prevent CPU's out-of-order execution (slows things down).
so the solution is to only use stuff like "movss" when you need to preserve the upper 3 vectors, if not, its always better(faster) to use movaps.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@751 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-12 05:32:27 +00:00
cottonvibes 3870debc22 implemented ERCPR (seems i forgot about it on my last update).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@750 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-11 23:59:51 +00:00
cottonvibes 93b85af339 optimized some stuff, and implemented all EFU opcodes.
note: most of the microVU EFU opcodes are implemented with completely different algorithms than zerorecs. this might prove to be more accurate, but i mainly did it to avoid using x87 FPU instructions (since i'm using mmx regs for storage).


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@749 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-11 23:49:39 +00:00
Jake.Stine 5d93b6bbe9 Minor PERF fixups -- moved the diagnostic msg to a less spamming-like area (on PCCR assignment, rather than on PCR update).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@748 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-11 19:08:08 +00:00
mattmenke 004d559678 Added option to control PCSX2 volume only with volume keys, instead of global windows volume. Release shift, control, and alt on deactivate. Fix for changing skip mode on alt-F4 (Accidentally removed the old fix for it in 0.9.5)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@747 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-11 17:25:51 +00:00
Jake.Stine 90263a17d6 More work on the PERF counters. Counters now selectively count or don't count depending on mode (which should keep some games happier which might try and use them, if still not being totally accurate or correct).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@746 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-11 14:09:43 +00:00
Jake.Stine dc3d9f4bfc Fixed the bug in r740 that broke speedhacks; and improved the PERF support a bit more using bitfields and more correct mode tests.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@745 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-11 07:40:23 +00:00
cottonvibes 0bcb9cc0e3 nneeve fixed min/max FPU opcodes to be more precise when running in "Full" clamp mode.
he also cleaned up some other stuff in iFPUd.cpp

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@744 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-10 23:50:17 +00:00
bigianb 022fdf1bf3 FPS2BIOS.
Small changes to makefile to enable code to compile out of the box. Fix to romdir.c to avoid uninitialised data being written to output.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@743 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-10 23:05:35 +00:00
cottonvibes 4620f4c5aa cleaned up some code (knocked off 100+ lines in Alloc.inl), and implemented 'ESUM' opcode.
<drk||Razi>cotton2: write more helpful logs kthx ;p
<cotton2>doesn't matter, no-one cares what i write since it doesn't effect anything for now
<Krakatos>cotton, stop posting those useless commit comments XD
<feal87>no no, please continue. they're fun, i look forward to read them
<feal87>from time to time
<feal87>:°D
<cotton2>lol :D
<Dwarg>Please spend more time making them more amusing.
<drk||Razi>cotton2: it does matter
<cotton2>dwarg: yeah i know!
<Dwarg>drk||Raz:  Why?  They're useless for reversion testing
<cotton2>i have to think of good stuff to write :O
<drk||Razi>when the next vu coders (if any, ever ;p) want to look at your code .. and the history is full of crap
<drk||Razi>that won't be much useful
<drk||Razi>;p
<cotton2>there won't be a next vu coder!
<Dwarg>Comments in the actual code would be more useful, wouldn't they?
<cotton2>my code is perfect!
<drk||Razi>lol
<cotton2>>.> <.<
<cotton2>but seriously
<cotton2>i don't think it can get better
<cotton2>unless like
<Dwarg>Rather than going back and comparing SVN comments to changes made way back when
<cotton2>you want to support AVX
<cotton2>or w/e intel's new SSE thing is called
<feal87>and anyway AVX is like 3 years away
<feal87>in that timeline pcsx2 i think will be stabilized
<feal87>:°D
<cotton2>yeah
<drk||Razi>cotton2: just log kthx
<drk||Razi>implemented y,x,z
<drk||Razi>:>
<cotton2>thats what the diffs are for!
<feal87>and anyway really its useless for this stage
<drk||Razi>yea i know
<feal87>until microVU is active and used by PCSX2
<cotton2>i'm just implementing different opcodes though, its not like i'm chaning features
<drk||Razi>you can tell anything from the code -- no comments or changelog needed.Right ? ;p
<feal87>then every change should be documented for regression testing
<cotton2>drk: yup!
<cotton2>well
<cotton2>its not like i'm changing stuff
<cotton2>i'm just implementing things that havn't been coded
<cotton2>so theres nothing to regress to
<feal87>yep

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@742 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-10 21:02:44 +00:00
tmkkmac 68ec2f25a8 Fixed my stupid mistakes in the previous commit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@741 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-10 20:16:13 +00:00
Jake.Stine 03a6406ff0 Added some preliminary exception handler code to the PCR's. No point in finishing it right now since the rest of the EE's exception handler is still in flux, but at least it's ready for a quick upgrade now. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@740 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-10 20:03:49 +00:00
tmkkmac 7425f1bb6e Fixed a problem in the new VU clip flag code that a history of the flag is cleared wrongly in a certain situation. Unfortunately the problem in GoW is still there :(
MMI: Optimizations for some opcodes.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@739 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-10 19:44:32 +00:00
Jake.Stine 15901551b4 Improved PCR/TIMR support -- fixed a case where games would try and read from the PCR multiple times in the same recompiled block, reuslting in bogus values, and fixed some sign extension errors on the interpreted version of MFC0.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@738 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-10 19:21:54 +00:00
arcum42 cef77785cb Fix the yuv2rgb.cpp issues, per Zeydlitz's patch in issue 100. fast_memcpy works in Linux now as of r727, so I'll leave it enabled for a while, and if it seems stable, I'll remove the switch for it, and have it permanently enabled.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@735 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-10 12:25:45 +00:00
Jake.Stine 95c2cce3d5 Folder Structure change: Renamed the 'Win32' folder to 'Windows' for several plugins. It's technically more correct and alleviates some confusion with the Win32 target/build folders generated by MSVC.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@733 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-10 11:45:20 +00:00
gabest11 d541a8da45 GSdx: sse2/ssse3 build fixed
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@730 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-10 04:37:41 +00:00
Jake.Stine 22a0eeb3e3 Minor cleanups to NTFS_CompressFile error handling, and the Linux YUV/RGB thingie.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@729 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-10 01:32:08 +00:00
Jake.Stine aef3af8a29 nneeve improves the software-emulated FPU accuracy ("Full" mode in Advanced Dialog).
Appended notes:
 * ADD in iFPUd should be bit accurate (unless it isn't. needs TESTING)
 * MUL in iFPUd with Software Emulate MUL is as much as I could get near bit accurate (not quite enough, probably. needs TESTING)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@728 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-09 23:54:38 +00:00
Jake.Stine 5dc76238bf Fixed a bug in memcpy_fast that caused memory corruption on blocks not aligned to 32-bits in length (this might fix the linux memcpy fast problem too).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@727 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-09 21:52:33 +00:00
cottonvibes 04fba65901 something.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@726 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-09 19:53:41 +00:00
cottonvibes a5d95b75c5 more lower instructions implemented
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@725 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-09 11:09:44 +00:00
cottonvibes 80f3dc5840 started on the lower instructions
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@724 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-09 08:24:52 +00:00
cottonvibes a44c6f0f83 microVU's upper instruction implementations (second pass) finished (except for clip instruction)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@723 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-09 05:28:37 +00:00
mattmenke 0c9abd6765 LilyPad: GSDX10 + fullscreen + escape workaround that's lamer than the last one, but seems to work much better and should cause no issues with GSDX+DX9, other than a slight delay.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@722 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-09 04:22:37 +00:00
gabest11 120971ec4f GSdx: Implemented edge anti-aliasing (aa1) for software mode, bios or ffx are good test subjects (not many other games use it). It's still a bit slow but could be improved a lot by not doing 4 pixels with sse for each single edge pixel, that's just a lot of unnecessary texture lookups. The bios config screen cubes are still bogus, gs_user on aa1 isn't too helpful...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@721 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-09 01:42:56 +00:00
Jake.Stine ca4ce225a0 Linux: inline asm fixes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@720 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-08 23:28:39 +00:00
Jake.Stine 71e2dc2fb4 Many small bugfixes and optimizations:
* Fixed Memcard init so that Memcard1 isn't default in both slots (oops!)
 * Fixed Memcard path logic so that cards outside your pcsx2 folder can be browsed/selected.
 * Fixed CDVD-to-BIOS time sync (I simply forgot a function call!)
 * Optimized yuvrgb_sse2, by using Mod/RM form instructions.
 * Win32: Same optimization applied to FreezeXMMRegs and FreezeMMXRegs (linux already had this optimization)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@719 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-08 20:10:09 +00:00
arcum42 25df8958b2 Linux: Straighten up or remove a few Windows/Linux differences in the code (experamental), remove some dead code, fix a mistake in the Linux version of memcpy_amd_ (still broken, though), and change optimization levels due to gcc optimization induced errors.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@718 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-08 12:37:35 +00:00
cottonvibes 804050aaef A frog in a well won't know the ocean.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@717 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-08 09:05:53 +00:00
refraction d42bf82f7b added some missing CRC's for the ffx hack when MTGS is enabled
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@715 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-07 21:15:09 +00:00
Jake.Stine dacfe85189 SPU2-X: Fixed some problems with saving/loading states, when loading from old savestate versions.
Pcsx2: Small speedup for the IOP's recClearMem (used a forceinline to cure MSVC's laxidazical inlining)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@714 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-07 19:04:37 +00:00
refraction e88cf84e9c Fixed a silly error (on my part) which stopped the Gran Turismo games loading, looks like it was the same reason Tekken 5 broke too.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@713 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-07 13:10:12 +00:00
tmkkmac 661d5442a8 Fixed a bug in the new patch code introduced in r669, and applied a patch for ICC from Issue 69. Thanks, feal87 :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@712 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-07 12:27:55 +00:00
tmkkmac 60b7edd273 A fix for some VU clamp functions, by Nneeve.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@711 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-07 11:42:45 +00:00
cottonvibes c904878257 implemented more microVU 'crap' :D
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@710 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-07 04:21:26 +00:00
mattmenke d0703dd50f LilyPad: Safely exit fullscreen on escape hack now sends the escape back to PCSX2 as well after un-maximizing the GS window.
Minor changes to the general config screen's hack section.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@709 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-07 02:58:51 +00:00
cottonvibes 4f63ac1101 implemented alot of microVU shit...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@708 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-07 02:38:05 +00:00
arcum42 56f802c80f Linux: Fix up the .S files to match recent changes. Make changes to SafeArray to avoid compiler warnings on every file.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@706 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-07 00:48:57 +00:00
refraction 5cc9704989 Fixed bug in VIF causing Tenchu "weapons" and some backgrounds not to be displayed which was introduced in r454
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@705 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-07 00:47:30 +00:00
refraction 056d8c8417 Fix for games which start VIF1 off while the DMA is paused (Crash of the Titans being one of them)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@704 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-06 22:59:01 +00:00
ramapcsx2 4b3d1ccab3 More block manager fixes/optimizations by Pseudonym.
This should be the last one (but you never know :p ).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@703 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-06 21:03:39 +00:00
Jake.Stine 954b7a5255 Buged my last commit (as usual). This one fixes savestate support. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@702 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-06 20:57:14 +00:00
Jake.Stine 97cdf187e5 Nneeve patch for "Full" FPU, improves some clamping and adds missing values to the savestate info.
Savestates: Pcsx2 now errors when it encounters a savestate made by a newer version of pcsx2.

Added a new SafeList type to the SafeArray collection (not well tested yet).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@701 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-06 19:01:30 +00:00
ramapcsx2 801d71f7f0 Fixes for the new block manager optimizations by Pseudonym.
There's a bit more speed even :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@700 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-06 17:14:30 +00:00
arcum42 3880bf5a14 Move the configuration section of Misc.h to a new file, Pcsx2Config.h.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@699 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-06 15:09:42 +00:00
ramapcsx2 9a89523532 Made the GSdx render switch thing a bit cleaner, moved it where it belongs
and changed the hotkey to F9. (Sure hope no plugin uses that yet :p )

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@698 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-06 10:04:32 +00:00
arcum42 5d971b5931 Linux: Some work on the plugin code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@697 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-06 07:20:16 +00:00
Jake.Stine 8d5b2cf6a9 Added missing files from prev commit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@696 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-06 01:45:43 +00:00
Jake.Stine 23e0ca1b1f Added googlecode's sparsehash / densehash classes, which may or may not be useful in the future.
Removed various instances of legacy VM code that is no longer needed for reference purposes.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@695 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-06 01:11:17 +00:00