Commit Graph

3979 Commits

Author SHA1 Message Date
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
cottonvibes e87d55f153 microVU rec stuff
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@637 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 03:36:52 +00:00
Jake.Stine da25976c6b Re-re-fixed the Windows.h mess. PsxCommon.h still had a win32 include, and cdvd.cpp and misc.cpp had some win/linux code which I relocated. Also, cleaned up the vtlb's SysExceptionHandler stuff -- moved the platform-specific portions to WinSysExec and LnxSysExec, and moved the shared code portion to a new function in Memory.cpp.
(Yes, Linux is probably broken again.)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@636 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 03:30:19 +00:00
arcum42 0acef23784 Clean up Jakes commit in r634, and get rid of some dead code in the assembly files.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@635 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 01:03:16 +00:00
Jake.Stine ebb5339418 Yay more header file cleanup chores! Removed most of the Windows.h dependencies from non-Win32 specific files, and fixed the annoying ARRAYSIZE warnings. Let's say it together: "We all should love C's archaic include system, because it makes Jake and Arcum work really hard for no good reason."
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@634 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-28 20:55:53 +00:00
ramapcsx2 a801b6f091 Bring in the ICC patch that makes pcsx2 build on that compiler.
Thanks to fea for this one ;)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@633 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-28 20:16:28 +00:00
tmkkmac 35386b1d2a MMI: Fixed a minor issue in PSUBUB/PSUBUH, and implemented recompiled opcodes for PMTHL/PSUBUW.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@632 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-28 09:55:18 +00:00
arcum42 0fb4e4ea07 Fix a segfault issue in ConvertTo16 on ZeroGS, and make a few changes in spu2-x for later use.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@631 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-28 08:00:56 +00:00
mattmenke b66db6ffd3 LilyPad: Minor dialog updates. Display FF axis names, display version in config screen.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@630 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-27 23:29:48 +00:00
arcum42 19e56dc33e Linux: Quick fix for the last revision.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@629 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-27 23:18:01 +00:00
Jake.Stine 377830b3a9 IOP Fixes/Optimizations:
* Fixed the IOP's recExecute so that it correctly preserves X86 registers (EDI and EBX were not preserved!)
 * Optimized the recExecute procedure, seems like a nice speedup in FMVs and some games that are IOP intensive.
 * Renamed psxMemRead to iopMemRead, added new Virt/Phys functions, and fixed several instances of DMAs using translated addresses (DMAs are always physical maps).  Our IOP doesn't really emulate the tlb so it won't fix anything, but it's more correct in cas stuff is better supported in the future.
 * Removed unneeded FreezeMMXRegs, since the IOPrec doesn't use any mmx/xmm regs anyway.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@628 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-27 18:12:59 +00:00
Jake.Stine e205999744 Minor Optimization: Added Const support to Vtlb's Load and Store implementations.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@627 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-27 06:40:05 +00:00
arcum42 a5ab9ad28f Linuz CDVD Iso: Fix a major Linux bug that was preventing certain titles from loading in this plugin. Dark Cloud 2, Atelier Iris 3, and Xenosaga I for example. No more switching back and forth between Linuz and EFP. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@626 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-27 06:27:23 +00:00
arcum42 ed97a291dd Linux: Remove the ICO Gamefix, since refraction took it out on Windows.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@625 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-27 05:26:40 +00:00
arcum42 b528ef29b2 Remove forceinlining on a few functions that won't inline, a few minor tweaks, and add a warning in the build file for Linux x64 people trying to compile.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@624 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-27 04:54:07 +00:00
arcum42 1504b88a75 ZeroSPU2: Change the ini file to be more easily editable by hand in Linux, and assorted cleanup.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@622 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-27 03:30:25 +00:00
arcum42 b7d3c6316a Plugins: Add a check for libjpeg-dev to ZeroGS(Issue 60), and a few minor tweaks.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@620 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-27 01:55:11 +00:00
Jake.Stine 1feb143b2b SPU2-X: Trying a new (experimental) DMA option which may fix problems in DMC1, but might break more than it fixes? (we'll find out!)
Also - Added some options to DSound driver.  Enabling Hardware mode on dsound might improve dsound compat on some soundcard drivers, for those who can't use XA2 or have problems with XA2 stability.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@619 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-27 01:46:01 +00:00
Jake.Stine 5b09d81f36 Fixed a bug in the savestate system that caused memcards to eject when they shouldn't have (had uint instead of u64 >_<).
Developers: Changed the way PCSX2_ALIGNED16 macros work, so that they're more friendly to MSVC and Visual Assist X intellisense (more more red squigglies on vars like cpuRegs!)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@618 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-27 01:43:43 +00:00
arcum42 dd48940319 Linux: Missed a plugin or two. Now it should compile.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@617 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-27 00:24:05 +00:00
arcum42 3a8bfabd2e Linux: Get ZeroSPU2 compiling. May be modified later, because I'm not sure I'm happy about manually copying libSoundTouch.a in build.sh.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@616 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-27 00:07:07 +00:00
arcum42 7111fb2105 ZeroGS: Resolve issue 71.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@615 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-27 00:00:24 +00:00
refraction 7dc9138d04 Fix for my earlier mistake causing green blocks on videos, remind me its never good to alter memory that you arent suppose to alter ^_^
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@612 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-26 11:39:55 +00:00
Jake.Stine edc418d0e4 SPU2-X: Another sync regression fix. My earlier experiments didn't fly, so I reverted the TimeUpdate call in spu2_read also (negative impact on some dma-related things, but fixes lots of other weird stuff).
Changed several instances of afxres.rc in plugins to be afxresmw.rc (for VS Express)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@611 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-26 11:09:04 +00:00
Jake.Stine fe78c668de RC: Reverted SPR "fix" from r506 for now, since it turned many game FMVs into green screens, followed by hard locks. >_<
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@609 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-26 04:05:14 +00:00
refraction b372f359b5 Small fix for a regression i caused in r604 with Ridge Racer V, also fixed a bug in MAXbc on the VUrecs and added an optimization for MINIbc
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@605 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-26 02:13:51 +00:00
refraction 441b70239a Modified the GIF and SPR in my wierd backward dma way :P should resolve problems with the Avatar games, 24 videos and hopefully anything else which has broken due to recent changes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@604 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-25 19:31:26 +00:00
Jake.Stine 8d86297533 Damnit. LWR() is a pita.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@603 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-25 19:29:32 +00:00
Jake.Stine d200ab382d Fixed a foopah in the LWL fix from earlier. >_<
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@602 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-25 18:34:25 +00:00
Jake.Stine 8f0bacec20 Completely botched my last commit. Left the IPU's cleanup only half finished. >_<
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@601 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-25 16:57:34 +00:00
Jake.Stine c46ef87c89 Fixed bugs in LDL/LDR instructions; fixing various TLB Miss errors in assorted games (namely ones that worked in the old VM builds). The instructions were not sign-extending values into the upper 32 bits of the target register. (LDR in particular has odd rules for sign extension)
Some minor cleanups / correctness fixes to the IPU's register Read/Write functions.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@600 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-25 16:51:05 +00:00
krakatos@gmail.com 795152e7e1 More work on patches removals and cleanups
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@599 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-25 15:34:30 +00:00
ramapcsx2 bf31172d07 Ico gamefix not needed anymore.
(It's still there for Linux, I better don't touch that :p )

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@598 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-25 15:07:09 +00:00
arcum42 47bda29d23 Linux: Get most of the plugins to build. ZeroSPU2 is being stubborn...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@597 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-25 12:30:10 +00:00
tmkkmac b50b9df3cf Applied SUPERVU_VIBRANCHDELAY fix to IBGEZ/IBGTZ/IBLEZ/IBLTZ opcodes. ICO SPS will be gone without gamefix now :)
WinGUI: Added SSSE3 detection message into a CPU config dialog.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@596 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-25 09:22:36 +00:00
Jake.Stine 2110018e58 New Feature: Press TAB to toggle the framelimiter on/off (as a substitute for hitting F4 several times). Usable as a "turbo" feature, similar to other emus.
Many minor code cleanups to logging and constants.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@595 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-25 01:36:06 +00:00