Jake.Stine
1cf028ccf5
Optimized vtlb direct path memory operations using some crafty asm code. Expect 2-3% speedups in most things, and perhaps more in some FMVs.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1137 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-06 02:15:43 +00:00
cottonvibes
6a075aca03
pcsx2:
...
- PCSX2 would repetitively call CDVDopen if loading an elf file and your cdvd plugin didn't have an ISO already pre-loaded. Basically I had to switch to CDVDnull whenever I wanted to load an elf... well not anymore xD
microVU:
- Implemented the VI regs thing where if an opcode tried to access vi regs 16~31, the VU's should return vi0~15 (viReg & 0xf); technically it should never happen, but from my tests the BIOS seems to do this... so maybe some rare games do it too...
- Our VIF code apparently uses VU cycles for some stuff, so I now update the cycles variable VIF relies on.
- Minor Optimizations
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1136 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-05 02:25:48 +00:00
Jake.Stine
a7cbcae4be
Small speedup for the EE/IOP recompilers, by removing the legacy limit on the number of recompiled blocks (was causing recompilers to reset the code buffers way more than necessary).
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1135 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-05 01:26:18 +00:00
sudonim1
002b9af006
This is why a type safe emitter is important.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1134 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-04 20:14:37 +00:00
Jake.Stine
3647a635bc
Apply recent Iop HwRegister handler changes to the EE's mapping [EE has direct access to IOP memory and registers through a special tlb mapping, intended for ps2dev debugging, and generally used by bios only during boot-up).
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1133 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-04 19:04:21 +00:00
sudonim1
db41e52940
Apparently the MSB of integer register specifications in VU micro instructions is ignored, making the upper 16 registers mirror the lower 16. Changed all relevant instructions to reflect this.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1132 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-04 18:21:44 +00:00
Jake.Stine
8ab8adabf1
Improved handling of jNO_DEFAULT so that it performs a sanity check in Devel builds [currently applies to Pcsx2 only since we don't have a standard define macro for devbuild in the plugins].
...
Cleaned up and abbreviated logging for the new IOP HwRead/Write handlers.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1131 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-04 14:12:21 +00:00
arcum42
b02d6a19dd
ZeroPad: Revert the changes to the Windows files in ZeroPad, and ifdef off the changes in the common areas, as the Windows version of ZeroPad is clearly only working by voodoo and bailing wire on Windows. (Note: unable to reproduce ZeroPad working properly in any revision [including playground days] on any version of Windows available. Likely because I don't have any poultry handy to sacrifice.)
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1130 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-04 10:31:18 +00:00
Jake.Stine
66a8c03ded
Fix bug from r1116 [essentially a misplaced jNO_DEFAULT directive].
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1129 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-04 02:06:35 +00:00
arcum42
3a7865ac3f
ZeroPad: Patch to fix a bug introduced in r1125.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1128 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-03 19:30:38 +00:00
arcum42
ee3eca5b34
Zeropad: Clean up the code so that if I have to go back into it, it's easier to read.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1127 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-03 12:19:58 +00:00
arcum42
5f35cf1376
ZeroPad: Commit bolche's Analog control code, ifdeffed out, so I don't forget to add a gui for it and enable it some day.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1126 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-03 11:49:25 +00:00
arcum42
94c006efd2
ZeroPad: Apply the multiple key patch in issue 197 to ZeroPad. Currently Linux only.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1125 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-03 11:09:15 +00:00
arcum42
8504f4e9bd
Atn Jake: Please review. Quick patch to counter problems reported with r1116.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1123 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-03 05:28:13 +00:00
arcum42
a65543399c
Linux: Iron out a few issues with the configuration dialog in Linux.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1122 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-02 14:36:46 +00:00
arcum42
74ebe985f6
Plugins: Fix the dialog boxes on FWnull & USBnull so the buttons work. Fix inconsistant version numbers. Delete a stray file.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1121 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-02 14:14:34 +00:00
arcum42
92ac589187
CDVDiso: Now uses automake, is C++, isn't split into two files, and doesn't change around the working directory on us.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1118 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-02 13:42:13 +00:00
arcum42
0250605329
Linux: Quickly hack the new files into the main makefile.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1117 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-02 11:03:32 +00:00
Jake.Stine
56545f0b7d
*Experimental* Made new IopHwRead and IopHwWrite from scratch, in pre-preparation for a new lookup-based IOP memory manager. Could be some lingering bugs or typos. :/
...
Win32/vcproj: Re-structured the folder layout of the project.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1116 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-02 10:48:41 +00:00
arcum42
b560f325ae
Finish removing VU Skip from Linux, and fix a few compiler warnings left over from the work on CDVD.cpp.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1115 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-02 09:31:14 +00:00
Jake.Stine
a69cfcc464
Removed VU-Skip [helps simplify the frameskipper logic] -- Use the VU Cycle Stealer hack instead for better, faster, more stable speedups of the VU1 unit.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1114 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-02 09:04:47 +00:00
cottonvibes
f8f4c7f136
microVU: fixed some bugs in stall calculations.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1113 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-02 06:13:43 +00:00
arcum42
df31bfc51a
Lets get the null plugins working in Windows again...
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1112 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-02 05:27:35 +00:00
arcum42
465f35169f
And that's dev9, which was about as barebones as CDVDnull.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1111 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-02 04:39:05 +00:00
arcum42
6cc85d6050
And that's CDVDnull. Given how barebones this plugin is, it's closer to making a null plugin then cleaning it up...
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1110 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-02 04:12:29 +00:00
arcum42
456672168e
And there goes SPU2null. This one deserves a lot more work, though. A real gui and backporting all the changes I made to ZeroSPU2, for starters. (And again, Windows may or may not compile for it. Looking at the Visual C++ file, I'm pretty sure it already wasn't compiling.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1109 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-02 03:41:03 +00:00
arcum42
48c235830b
I don't even wan to know how these got deleted during the commit...
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1108 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-02 02:45:13 +00:00
arcum42
6fb0070c33
That's USBnull down. (And yes, I'm aware the dialog boxes for USBnull & FWnull are incorrect. For now, I just told it to use the incorrect one that was already in the plugin.)
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1107 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-02 02:29:48 +00:00
arcum42
f64723951e
Helps if I have FW.cpp in there. :(
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1106 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-02 00:56:56 +00:00
arcum42
74e0e786b7
Begin work on renovating the Null plugins. (On the Linux side, anyways, though some of that will spill over to the Windows side.) Starting with FWnull.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1105 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-02 00:51:17 +00:00
Jake.Stine
45bb6f3d2f
Bugfix for recent cleanups: SetResultSize was defined with different behaviors in two separate files, without being static. Depending on the whims of the wind, MSVC would sometimes pick the one from CDROM and link it into CDVD, overriding CDVD's version, and resulting in complete emulation failure.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1103 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-01 12:44:18 +00:00
arcum42
bc9e0b08ad
Some work on CDVD.cpp. Slight change to the branch statements in Interpreter.cpp. Restore a change to Pcsx2Defs.h that got reverted.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1102 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-01 11:06:52 +00:00
cottonvibes
b6ba2f050f
minor microVU changes
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1101 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-01 10:12:44 +00:00
Jake.Stine
17caa515ac
Rushed my prev commit. Here's some basic thing, only much less broken and crappy. (fixes double-spaced emuLog.txt file contents)
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1099 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-01 02:53:09 +00:00
Jake.Stine
e24851927a
Fixed some 'too many newlines' bugs in the Console namespace.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1096 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-01 02:12:45 +00:00
arcum42
5edb195282
Committing various cleanups I'd put aside at one point or another...
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1095 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-01 01:13:37 +00:00
Jake.Stine
1a1d51308c
Fixed a typo in the SIO2 hardware read interface: SIO2_getSend1 and getSend2 had inverted switch cases (probably been there for years).
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1094 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-30 21:28:54 +00:00
Jake.Stine
d14259b8b4
*experimental* Added forced block splitting at 4k code boundaries in PS2 memory. This fixes issues with frequent recompilation of certain uncounted manual blocks, and also allows for us to greatly simplify the memory protection and recompiler block management code, but *may* have performance penalties under specific conditions. So I've added a verbose log message to Devel builds so that we can look for any problem games that might invoke more than their fair share of tiny block splits.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1093 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-30 08:33:51 +00:00
Jake.Stine
3af9acc01d
Darned fungly header file dependencies, broke compilation in dev/release builds. >_<
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1092 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-30 01:32:39 +00:00
Jake.Stine
9513be5476
Reverted BTS due to unexpected complications, but retained a minor optimization we developed during the BTS experiment. :)
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1091 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-30 01:16:25 +00:00
refraction
7dfc4c9ea2
Some unpack fixes/changes
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1090 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-29 21:50:48 +00:00
Jake.Stine
a2fd88d952
Fixed bugs in BTS instruction emitters, and working on fixing bugs in BTS memory protection.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1089 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-29 20:55:13 +00:00
arcum42
d8617c1ee8
Get rid of duplicated code in PS2Etypes.h. :)
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1088 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-29 11:47:05 +00:00
Jake.Stine
e81fbc728d
Fixed a bug in the cpu mhz detection introduced in the prev revision, and improved the algo to be much quicker and generally more accurate than before (and with luck AMDs will agree!)
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1087 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-29 11:13:17 +00:00
Jake.Stine
41079415fa
Improved SSE detection:
...
* SSE3 detection via cpuid implemented. [fixes Linux -- the force_sse3 option should no longer be needed!]
* Instruction tests are now done for SSE3, SSE4, and SSE4.1 to confirm cpuid results (I doubt this is necessary, but the old code did it for SSE3, so I figured I'd keep it and log results anytime an inconsistency is detected).
* SSE4.2 and SSE4a detection added.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1086 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-29 10:10:33 +00:00
Jake.Stine
6e82c77e92
Bugfix for r1083. [Don't ask me what I was thinking when I wrote >>10 instead of >>12]
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1085 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-29 08:30:33 +00:00
arcum42
ad7aa893e9
All right, now that's just silly... (Fix Linux compilation.)
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1084 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-29 05:07:18 +00:00
Jake.Stine
31f0be6eb8
Merged drk||Raziel's "BTS Manual Protection" enhancement for the vtlb into /trunk, and combined it with Pseudonim's "Manual Block Clear" enhancement for an ideal two-phase protection system.
...
Most things should be a bit faster with this new system. The system is more balanced than the previous one, in that it provides a better overall performance across most games, but some specific FMVs (like Disgaea 2's) will be a bit slower. On the other hand, others like DQ8 and Kingdom Hearts 2 FMVs get a big speedup. Almost all in-game stuff should be either the same or faster now.
Set a bunch of ignores for TortoiseSVN users, as suggested in Issue 166.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1083 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-29 04:24:46 +00:00
cottonvibes
2a47e807c3
microVU:
...
- fixed a bug in the logging system causing incorrect branch-to addresses.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1077 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-27 21:58:20 +00:00
gabest11
270c8ee3d2
GSdx: more alpha test magic
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1076 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-27 21:19:50 +00:00