Commit Graph

662 Commits

Author SHA1 Message Date
Jake.Stine 274c92b832 Hopefully fixed Linux/GCC compiles of vtlb.cpp with this update (should be no functional changes for Win32 users)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@465 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00
arcum42 c8e246fbfe Fix everything else in Linux except for vtlb.cpp. Compilation is still broken, though.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@464 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00
cottonvibes f137821d9c minor FPU min/max opcode fix. minor VU Clip opcode fix.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@463 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00
cottonvibes 786eeee503 improved "Extra VU Overflow Checks" mode. this fixes the garbage in some tracks on GT4.
note: the game is still broken from r448, but you can use a saved-state to get past the intro where it hangs for now.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@462 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00
arcum42 26dfd9846c Fix a bunch of compilation errors in Linux. (It still doesn't compile, but I wanted to commit these before more changes are made...)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@461 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00
gigaherz a946fad125 Hackish-fixed the crash when you run a game through run->execute in release builds. Some code is corrupting ebp and not preserving it, so I made execute() do that instead. Put a nice fixme in there in case anyone is worried. :p
Yes you read the nickname correctly.
Yes I did take the time to fix a problem in pcsx2.
No you are not dreaming, I was bored.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@460 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00
Jake.Stine 0123e80888 Merged drk||Raziel's new VTLB codebase into Playground. It's a faster and more stable replacement for the old TLB build. It lacks the full suite of recompiler optimizations, so don't get too excited (yet). It'll get better though. :)
Important Note: VM and VTLB saves are incompatible!

Also in this revision: Part 1 of a major code cleanup to the EE recompiler.  Adding namespaces and better/safer scoping, and the Standard, Special, and MMI instructions work through a single structured opcode table now.  (other instructions will follow suite when I have the time).

Fixed some sloppiness in the R5900 disassemblers.  Those also need more work yet.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@459 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00
arcum42 77392f06a7 Fixing linux build after 457, as requested. :)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@458 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00
cottonvibes 54b02f0f21 cleaned and organized some VU files; the big change is that i separated lower/upper instructions into their own files. still room for more cleanup/organization that i'll continue to work on.
linux builds will need to remove iVUmicro.c, and add iVUmicro.cpp, iVUmicroLower.cpp, and iVUmicroUpper.cpp
hopefully arcum42 will fix them soon :p

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@457 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00
arcum42 ef5d9a291d Quick fix to r455 before I go to bed.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@456 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00
arcum42 93a4efc619 Add a few scripts for convenience.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@455 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00
arcum42 13fa966fa5 General cleanup. Get rid of some compiler warnings, change or correct a few messages, and remove a few unused variables.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@454 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00
cottonvibes 5d14c71dfb this might fix some vu1 memory overflow problems. not sure if it fixes Guitar Hero World Tour since i don't have the game, but if it doesn't then the problem lies elsewhere. also small cleanup of the files modified.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@453 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00
arcum42 7ade42c90c Update the Linux gui to be in sync with recent changes. Make some chars const, to match what they are used for, and get rid of some annoying warnings.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@452 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00
arcum42 6ce0909c3a Fix the Linux 32 debug & devbuild versions as well.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@451 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00
arcum42 f33d716691 Fix 32 bit Linux port. All _inlines are now __forceinlines.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@450 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00
cottonvibes a944a963d4 deleted some unused stuff, and fixed a VU bug that probably caused garbage in some games. i had originally done some major cleanups, but i made a bug somewhere in my code, and i couldn't find it, so i had to revert ><
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@449 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00
ramapcsx2 7730d4a66d Jake found the real problem with Tales of the Abyss. The cdvd seek command should take considerably longer than a normal block read. Added a fixed value for now (might include sector differences later), that gets rid of the vmhack crashes in that game.
Slightly adjusted the new cycle counting to better match the ps2 speed (Still not done yet).

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@448 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00
Jake.Stine cb79658661 Fixed VS 2008 Express compilation errors by changing afxres.h to afxresmw.h in pcsx2.rc. Added missing cycle ratio mods to some load/store instructions, and set up the cycle ratio mod to be a little more tweak-able.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@447 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00
Jake.Stine 1a02e88997 Added somewhat more "accurate" cycle timings, by weighting mul/div and load/store instructions to more closely match typical/avg cycle counts for those instructions on the PS2. In addition to helping fix some obscure timing glitches, it also allows the emulator to run a little more efficiently. True accuracy is impossible since we can't realistically emulate the MIPs superscalar 8-stage pipeline, branch predictions, or data cache hits/misses. But at least the "average" cycle timings should be a little closer to the real thing now.
Improved stability of both EE/X2 and EE/X3 sync hacks.  In particular, some FMVs that broke under the X2 hack should work a bit better now, and the X3 hack should behave a lot better now too (but will still break pretty much any FMV/audio sync).

X2 sync hack performance also improved, by maybe 6% or so.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@446 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00
Jake.Stine 6696e776e5 Moved the default .sln file to a more convenient location. Maybe not more appropriate, but certainly more convenient. ;)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@445 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00
Jake.Stine 8ebcc4c442 Added comments for my previous VU0 sync fix, along with some other code cleanups.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@444 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00
ramapcsx2 1b8cd7c055 Enabled the slow dvd gamefix again. It makes Tales of the Abyss crash way less (no crashes encountered with it yet). We plan to fix this properly soon, once the real issue is found :)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@443 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00
arcum42 a4404b9515 Resolve compilation errors in Linux. Leave pages of linker errors.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@442 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00
Jake.Stine 41df49b70d Improved EE/VU0 sync -- fixes 'new stage' crash in Naruto Ultimate Ninja 2 (part of Issue 58). Also rolled back some troubleshooting code that made it's way into the previous update.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@441 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00
Jake.Stine 77f46f454e Fixed a problem with EE's hsync-mode counters. They weren't detecting overflows and targets accurately. This most notably fixes several issues in Tales of the Abyss. Fixed debug mode build, it no longer causes an assertion immediately on starting a game. Removed the final warning from the new C++ build, and cleaned up some code along the way. Deleted the old SSE2EMU functions, which are no longer used since removing SSE1 support from the recompiler a while back.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@440 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00
cottonvibes 533a16116a fixed a compiler warning, and removed the 2 'flag' speedhacks. no game seemed to need them; and i think i remember someone said it breaks a game.
by 'remove' it means that they act like they're always ON.
i.e. Overflow flags aren't set for calculations, since i've only seen this hurt games. (most likely due to the ps2's floats being able to contain twice as much values before overflowing; it also could be a problem with other opcodes not 'reseting' the overflow flags when they're supposed to.)

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@439 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00
Jake.Stine 96fb132655 Created a BSCPropagate class and cleaned out the #define mess in ir5900tables.c. Fixed TLB build compilation errors. Cleaned up some of the headers and #includes use.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@438 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00
cottonvibes e0fc41331e fixed a warning in ir5900tables.c not 100% sure its correct, but it looks like what was wanted :p
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@437 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00
ramapcsx2 1f63354774 Team decided to axe 2k5 project files :p
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@436 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00
Jake.Stine 6ec2864e5e Converted codebase to use the C++ compiler. The C++ option is force-enabled through the project files manually, instead of renaming files to *.cpp (files may be renamed at a later date).
Note: VC2005 project is currently broken, as is the Linux build.  Both will be updated soon.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@435 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00
ramapcsx2 fba8545c8e Fix for the better FPU clamp, thanks to Zeydlitz.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@434 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00
arcum42 89eea7c1fb Let's not use -fomit-frame-pointer for the moment.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@433 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00
arcum42 59e37dad4b Prevent t2reg from having a chance of being assigned to the same register as t1reg. Turn FPU_ADD_SUB_HACK off for 64 bit builds.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@432 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00
cottonvibes 1bb944821c FPU Extra Overflow Clamping should be more accurate now. it should be the best mode for all games, but of course theres always those picky games...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@431 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00
cottonvibes 9663ba4a83 fix for last revision.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@430 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00
cottonvibes 49cf52a0ab added Nneeve's (q.w.e.r.t.y) fixed add/sub code. its on by default, theres a macro to turn it off. just set FPU_ADD_SUB_HACK to 0 to use the old way.
and i think i know a way to improve fpu clamping, i'm going to try and code it for my next update.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@429 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00
arcum42 d2aabc8c2e Clean up some Vif debugging code.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@428 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00
arcum42 9f00a6ac66 Stop pcsx2 from crashing in Linux if a plugin is missing.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@427 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00
cottonvibes 89e18b2aa2 small VU optimization, and reverted the recent FPU changes. the reason being that they failed my test program, but old versions worked. if it fixed games, it was just a random occurrence; and it could just as easily break games (just that we haven't tested enough).
we might add the code as a special gamefix later.

Below is the ps2 code that failed with the latest build, but worked with earlier builds.
Notice the differences between the output of a real PS2 vs PPr423.
-------------------
float x = 1000000;
float j;
int z;
for (j = .3, z = 0; z <= 5; j*=j, z++) {
	x-=j;
	SysPrintf("%d \n", x);
}
--------------------

ps2 output:
999999.687500
999999.625000
999999.625000
999999.625000
999999.625000

PP r423
999999.750000
999999.687500
999999.687500
999999.687500
999999.687500

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@426 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00
Jake.Stine 5a317846a5 Mostly added comments to some code. Also added a "safety" set of FreezeXMMRegs calls to gs.cpp, in a spot of code that should always be called from a frozen register state anyway (but better to be safe).
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@425 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00
arcum42 be9d0ea954 Add a bin directory, with the normal files associated with it.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@424 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00
ramapcsx2 6848cb6ff6 FPU again... This time it should work for all games. Thanks to q.w.e.r.t.y.1.2.3.4.5.6.7.8.9 (longest nick ever? :p ) for the precise add / sub implementation.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@423 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00
arcum42 f77724d1fc Tweak the Linux build to allow for local ini files and custom cflags.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@422 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00
ramapcsx2 f0f68b1fe1 Reverted all changes for now :( The roundmode approach is fine for the ADD and SUB opcodes, but without fixing all arithmetic opcodes, we'll still get wrong results. As usual with pcsx2 the last commit made some games worse due to that...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@421 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00
ramapcsx2 c41edc94c2 Huge precision improvements for FPU. Add and Sub now calculate the same values as on the ps2. Mul is now closer to the ps2.
This commit fixes Tales of the Abyss, Rogue Galaxy and possibly many others :)

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@420 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00
ramapcsx2 c12cb2c9ac New logos and other misc changes.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@419 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00
cottonvibes 09e87e81c7 fixed a typo from r416 (code should never be run anyways, but just in case :p)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@418 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00
cottonvibes 629f628300 minor FPU opcode change.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@417 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00
cottonvibes 77a83aa5e7 minor changes
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@416 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:30 +02:00