Jake.Stine
3bc7465b23
Rewrote hwRead32 in HW.cpp, which should give another little bit of speedup. Commented the daylights out of it while I was at it. :D
...
Fixed another small bug in the CRC display of the console.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@647 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:39 +02:00
Jake.Stine
01ecf48a6c
Applied eol-style:native to some Linux files.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@646 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:39 +02:00
Jake.Stine
1f3bdd4a08
Various fixes related to the last 2 revisions. :)
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@645 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:39 +02:00
Jake.Stine
636e4a8b42
Fixed a speed bottleneck introduced in r643, which required retooling the way the Console::Write API passes parameters. The C++ compiler doesn't optimize const string objects very well, which was leading to a lot of redundancy object creation and exception handling.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@644 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:39 +02:00
Jake.Stine
e3149cfd5f
Some cleanups of the hwRead/Write functions (maybe a small speedup)
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@643 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:39 +02:00
Jake.Stine
44f5117d24
Optimized memcpy_fast. In addition to being quite a bit faster, it also auto-preserves mmx registers now. So I was also able to remove almost every instance of FreezeMMXRegs (all except those used to guard the GS plugin calls). memcpy_fast (aka memcpy_amd_) is now faster than memcpy_raz for *all* scenarios, so it's been made the new default.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@642 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:39 +02:00
Jake.Stine
4781be9e59
Moved Coissued Load/Store instructions into iR5900CoissuedLoadStore.cpp, and disabled them via the #define PCSX2_VM_COISSUES (coissues are a very minor speedup and could have led to other emulation compatibility problems, and required in enormous amount of complicated code to implement)
...
Moved VM specific code in Memory.cpp into MemoryVM.cpp.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@641 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:39 +02:00
ramapcsx2
74a305bd0a
Few tweaks to cycles and Tekken4 works again. Picky game it is :p
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@640 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:39 +02:00
Jake.Stine
b2eb1cad4f
Made several improvements and cleanups to the memzero API - including better linux version of the header. Also changed memcpy_amd_ / memcpy_fast to use __fastcall convention.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@639 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:39 +02:00
gigaherz@gmail.com
c63a7dc032
In my previous commit I had left the spu2 read functions commented out "by mistake". I undid that and actually made them be used where they should.
...
Also a tiny bit more stuff for the DMA code.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@638 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:39 +02:00
ramapcsx2
4cd211d8ad
Cleanup work on the faster clamping code, also by tmkk :)
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@637 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:39 +02:00
cottonvibes
e8ec3e1269
Another nice update, Saqib and Nneeve managed to fix up memcards! Games that had memcard problems before should work correctly now (hopefully)
...
Note: Theres some backwards-compatibility problems with the old memcards, and Krakatos is going to make a thread about it on our forums that EVERYONE should read!
So to avoid problems, please wait till he makes the thread before using this version.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@636 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:38 +02:00
cottonvibes
a0ef6fa420
minor fix and cleanup of saveEAX, thanks to tmkk.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@635 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:38 +02:00
gigaherz@gmail.com
0340f701a9
This commit doesn't change anything of the emulator.
...
I coded a new way for the IOP to handle DMAs, but it needs too many modifications in other parts of the emulator,
and I'm not in the mood to code all that right now. If anyone wants to try & get this code actually working, go on,
else leave it #if'd away.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@634 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:38 +02:00
arcum42
a165a01495
ZeroSPU2: Add two files I forgot in my last commit.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@633 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:38 +02:00
cottonvibes
be57d5384a
made recUpdateFlags more readable while keeping most (all?) of the optimizations from last update.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@632 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:38 +02:00
ramapcsx2
c787b00cc7
Tmmk fixed a bug in saveEAX where a vector wasn't saved in some situations. He also optimized some VU functions, so this revision brings about 5% more speed ;)
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@631 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:38 +02:00
arcum42
dde14aab30
ZeroSPU2: Update the Windows project file, so it knows about the new files from r629.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@630 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:38 +02:00
arcum42
98e9c9635d
ZeroSPU2: Some defines become functions, the register list got updated and commented, some code got moved into new files, and some preliminary code for later refactoring was added.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@629 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:38 +02:00
ramapcsx2
7a456fe608
Fixed savestates for vtlb builds. They're much more reliable now :)
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@628 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:38 +02:00
ramapcsx2
9be927fd7a
Quick fix for the broken frame/vuskip by Nneeve. Doesn't restore it completely, but it'll do for now :)
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@627 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:38 +02:00
cottonvibes
b55bc0794f
Today is a great day for ps2 emulation, Tri-Ace games now work with Playground! :D That means that Star Ocean 3, Valkyrie Profile 2, and Radiata Stories all get in-game and might even be playable from start-to-finish (more testing needs to be done to find out if they're fully playable).
...
For those that don't know, Tri-Ace games use an encryption algorithm that requires bit-accurate results to boot successfully; so they're some of the pickiest games to emulate.
Credit goes to Nneeve who coded special add/sub routines for VU opcodes that make the PS2's VUs more accurate.
Since these routines are SLOW, Rama and I decided to make this a gamefix. Rama also isolated the code so it only runs the slow-routines in the functions that need them to boot the Tri-Ace games (without this, the games would run 40% slower :p).
The gamefix is called "VU Add / Sub Hack", so turn it on and have fun playing/testing tri-ace games on pcsx2-playground! :p
Note: After Krakatos does some more testing, he'll add a public beta for this revision on our forums (sometime within 24hours probably).
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@626 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:38 +02:00
arcum42
bbb97ac157
Fix an include in the OpenGL version of ZeroGS.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@625 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:38 +02:00
arcum42
db3207ee57
These variables shouldn't be static.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@624 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:38 +02:00
arcum42
c32940f989
Playing a bit of catchup.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@623 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:38 +02:00
ramapcsx2
522d6ade68
Changed default EE FPU roundmode to "chop" and made the 2 instructions that needed "nearest" rounding change the mode at runtime. Note that the default mode is now the only one that is correct. Games will break with any other mode.
...
The choice is still there though for any games that don't work with "chop".
Please report these so I can fix them as well.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@622 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:38 +02:00
Jake.Stine
9c5e3ebfa3
Renamed all Psx* files to Iop*. Someday we'll rename all the psx* functions and vars to iop*, but that's a much larger project.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@621 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:38 +02:00
Jake.Stine
3fc08b659b
Cleaned up and streamlined the namespaces quite a bit, split some code into separate modules, and cleaned up the Common.h header file by removing all the unnecessary not-so-common pieces parts.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@620 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:38 +02:00
cottonvibes
e312e9d25c
fixed an error in a recUpdateFlags() optimization that i've had for along time and for some reason never noticed :( thats to Person on #pcsx2 for pointing it out.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@619 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:38 +02:00
Jake.Stine
8d09b80fb9
Forgot to add the new BaseblockEx files from the prev commit. -_-
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@618 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:38 +02:00
Jake.Stine
cb70542e4c
Cleanups to iCore.cpp and other Dynarec code. Moved BASEBLOCKEX into its own files/headers.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@617 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:38 +02:00
Jake.Stine
46f5bb51e9
Removed "noreturn" declspec from the iR5900-32.cpp Dispatcher functions, which simply supressed the generation of an unreachable "ret" at the end of the naked functions. GCC doesn't support the directive anyway.
...
Removed some __MINGW32__ specific code, and added a GCC-friendly #define for declaring __naked functions. (another optimization directive in MSVC which GCC doesn't support and/or ignores)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@616 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:38 +02:00
Jake.Stine
2193adb127
ZeroGS: Applied the eol-style:native svn property to the DX version of ZeroGS.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@615 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:38 +02:00
Jake.Stine
c3d54de50d
ZeroGS: Fixed up the Win32 builds for OpenGL, and removed some warnings from the DX version. Removed some of the redundant and unused #defines from the project files (__WIN32__, __MSCW32__, etc).
...
Note: Compiling ZeroGS-OpenGL/Win32 requires the NVIDIA CG Toolkit. Compiling ZeroGS-DX/Win32 requires the DirectX SDK.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@614 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:38 +02:00
ramapcsx2
cf156d3c27
Added tmkk's PADDSW/PSUBSW opcodes which replace the slower interpreter ones we used so far. Great job on those tmkk!
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@613 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:37 +02:00
ramapcsx2
d0a7068f2e
Tweaked the forceinlines a bit, more speed :)
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@612 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:37 +02:00
ramapcsx2
d2129c63ae
Forceinlining these brings Fatal Frame from 159fps to 183 :)
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@611 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:37 +02:00
ramapcsx2
8447734202
Fatal frame should work now. Also repaired a *slight* mistake I made :p
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@610 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:37 +02:00
cottonvibes
25300c1222
deleted old mingw/dev++ project files
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@609 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:37 +02:00
cottonvibes
febe42c059
lol i forgot to add the renamed iCOP0 files :D
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@608 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:37 +02:00
cottonvibes
70854f099e
renamed iCP0 to iCOP0 to be consistent with the other COP files. very minor VU micro work.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@607 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:37 +02:00
Jake.Stine
1098253df7
Major bugfix/oopsie from r595 - I forgot to set the freezeregs flag, so XMM regs were getting corrupted liberally.
...
Added proper implementations for COP0's branching functions (BC0F, BC0T, etc).
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@606 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:37 +02:00
cottonvibes
1deab308d1
updated Playground readme, and added some snapshots taken by bositman which i will add to the main page.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@605 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:37 +02:00
ramapcsx2
3b1354f49c
More work on the EE cycle counts, much closer to the real ps2 now. Also added a quick method to determine what EE opcode is used by games ;)
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@604 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:37 +02:00
ramapcsx2
62e071fd6e
Full optimization gives a tad more speed ;)
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@603 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:37 +02:00
Jake.Stine
7f9311f527
Noticed a typo in Memory.cpp, from r577 changes.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@601 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:37 +02:00
ramapcsx2
2bf3aecdd5
Hackfixes for Fatal Frame 1 (and possibly other games) that workaround some alignment problems on MTGS and a problem with handling unknown VIFcommands.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@600 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:37 +02:00
cottonvibes
87271cb5b0
further optimized recQFSRV thanks to some suggestions by Jake.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@599 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:37 +02:00
cottonvibes
66125f0c95
implemented recQFSRV() so it doesn't need to call the interpreter function. also minor emitter changes.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@598 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:37 +02:00
Jake.Stine
62ea8a9541
Added __fastcall and __forceinline to yet more IPU routines, where appropriate, and implemented more coder-friendly union-based structures for some of the IPU bitfields.
...
Removed some dead code form VUmicroMemInit -- it was already being handled by memInit. Made a few other minor tweaks of the memory protection code (hoping to fix VM issues, but no luck yet).
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@597 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:37 +02:00