Commit Graph

494 Commits

Author SHA1 Message Date
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
cottonvibes 181dc6b04a some FPU Compare opcode fixes. might fix some games that 'hang' waiting for certain conditions that never happen.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@415 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
cottonvibes 1a72fff008 fixed the other FTOI opcodes. they should all work perfectly now.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@414 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
cottonvibes 0a953edc88 more recVUMI_FTOI0 changes. should now return proper saturation.
too tired to fix the other FTOI opcodes today.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@413 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
arcum42 71d9534e3f Change most of the macros in MMI.c over to functions.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@412 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
arcum42 9863f8095d Sync with r410 for Linux. Give that GIF Warning that I get to see over and over again on the console a line break.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@411 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
Jake.Stine c228e982cc A couple minor GUI bug fixes: - DaZ mode is now disabled for SSE1 CPUs, preventing a crash when trying to OK the setting or run the Emulator with default settings. - Emulator no longer tries to run games when a BIOS hasn't been configured (usually led to a crash).
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@410 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
drkIIRaziel 43720a2d27 --fixed recCVT_W opcode saturation: now it gets correct results and its faster :p --fixed recVUMI_FTOI0/recVUMI_FTOI4/recVUMI_FTOI12/recVUMI_FTOI15: it does saturation now, but its still not 100% correct.Returns 0x7FFFFF80 instead of 0x7FFFFFFF.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@409 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
drkIIRaziel d5270d22e7 --svn:eol-style=native, part2
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@408 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
drkIIRaziel 4c3679c96f --Added svn:eol-style=native on svn properties
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@407 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
ramapcsx2 89befbf22c SPU2Ghz: Readjusted initial volumes. These give correct volume levels for fmv, ingame sounds and speech. Boost volume is still not recommended but the default volume seems loud enough already :)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@406 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
ramapcsx2 3db3e080f1 SPU2Ghz: Second part of the volume quirks update. Thanks to Gigaherz for fixing the core reset functions.
Note:
The plugin is now louder by default, so check your volume boost setting and disable it.
If the game is still too quiet, you can re-enable it again :)

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@405 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
Jake.Stine 7200d88431 Much to Guesseous distress, I have once again overlooked something small and obvious in my last commit. If I were using a table saw I'd be missing my arm at the elbow by now.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@404 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
Jake.Stine b938d41e2b SPU2ghz: Minor tweaks to the mixer that should help get rid of overflow problems. This is the first part of a 2 part commit that should help correct some old-timey volume inaccuracies in the plugin.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@403 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
Jake.Stine 2110a33996 Dah! A little snippet of debugging code made it into the last commit, which would have most assuredly broken any attempts at running the emulator. -_-
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@402 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
Jake.Stine 479795370e Bugfix: SIO's DMA-Out cycle timing was way off the mark, and sometimes caused games to "lose" some SIO-related interrupts.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@401 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
arcum42 7b2868c47b Move various things that should be in Mdec.h there, rework the defines in VUflags.c to functions, put in 64 bit versions of the Interlocked functions I previously #if 0ed, some cleaning, and, not least, make it so Linux compiles after r399.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@400 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
Jake.Stine f7fc484e58 MTGS now force-freezes all XMM/MMX registers prior to kernel calls (Sleep/SetEvent), because some versions of Windows and drivers like to muck with them.
FreezeMMXRegs / FreezeXMMRegs now track freezes and thaws, so that nested freezes won't end up unfreezing registers too early anymore.  Plus several code cleanups and ugly macro removals to a handful of other modules.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@399 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
arcum42 8ccd60b450 Minor Linux code cleanups.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@398 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00