Commit Graph

425 Commits

Author SHA1 Message Date
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
cottonvibes 3568b5cd1a something drk||Raziel found that I forgot to commit. not very important, only effects non-MTGS/DC modes.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@397 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
arcum42 64ca08f02f Don't try to close non-existant threads. Prevents a crashing bug in Linux
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@396 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
arcum42 d01a9c6918 Temporarily block out two functions that are not being used that cause the debug version not to compile.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@395 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
drkIIRaziel 1753d21df4 --Fixed some problems on the win32 threading code, handle can be NULL, the error value is INVALID_HANDLE_VALUE. --Don't call GS_SETEVENT from CSRwrite, because it calls SetEvent and thats a kernel function that sometimes corrupts the contents of the xmm regs.Since CSRwrite is called directly from the dynarec context without flushing the xmm regs that can lead to register corruption :p.Fixes PAL FFX on my pc [got broken on 376 and up]
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@394 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
Jake.Stine b8e4a35de6 Major Fix: Found and fixed a big vmhack / COP0 bug. This should fix several games, including those in Issue 49, Issue 58, and possibly Issue 59 as well (testing of those issues and a confirmation is needed).
Code cleanup to iHw.c : Removed some rampant abuse of macros and quite a bit of unnecessary code bloat.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@393 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
Jake.Stine e8366b171a Tweaked frameskipper slightly. Behaves better when using 4 or higher as a skip setting (frameskip settings 0,0,2,4 for example)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@392 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
arcum42 389d42d83b Various Linux cleanups to match recent Windows commits.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@391 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
Jake.Stine 3696028dbe Fixed frameskipping when using a strict framerate setting (minfps==maxfps). The setting is ideal for users playing high-fps games as it allows you to disable the timestretching on your SPU2 plugin. :)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@390 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
Jake.Stine 10ea6b9c05 Grr... accidentally left in a dud line of code that broke MTGS completely. :/
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@389 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
Jake.Stine 209e073b44 Working on a special end case scenario with the frameskipper, when minfps==maxfps (using 50/50/0/0 as frameskip settings, for example). Previous versions would skip constantly. This version is better, but maybe could be improved yet.
Also: Changed default frameskip options to be a little more aggressive.  When using zeros (defaults) skipping starts around 95% instead of 90%. (57fps NTSC and 48 fps PAL). This seems to work a lot better with the new frameskipper. :)

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@388 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
Jake.Stine 61508452e7 Fixed frameskipping when using default framefate settings (it wouldn't skip until games got REALLY slow, heh). Win32: Fixed BIOS settings saving in the Configuration dialog. (rama)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@387 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:29 +02:00
Jake.Stine 9f70fb2612 Stabilized the framelimiting part of the frameskipper.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@386 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
Jake.Stine 233559de5c Repairing a minor foopah in my last commit.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@385 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
Jake.Stine 61e983b695 Improved frameskipper when running under MTGS mode, by moving it from the EE thread to the MTGS thread. Also got rid of some highly unnecessary recompiler code in iGS.cpp. Register writes to SMODE1/SMODE2 now fall back on the new modeset code in GS.cpp. (that code is entirely *not* speed critical, and maintaining a bunch of rec code for it wasn't my idea of a good time).
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@384 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
Jake.Stine bc08e7397b SPU2ghz: Improved "on exit" stability of the XA2 driver on WinXP machines, by covering up for things the driver is *supposed* to do itself (but apparently does not, in WinXp at least).
Also fixed a Pcsx2 compilation error when trying to enable the experimental IPU speedhack.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@383 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
ramapcsx2 1c8203a3af SPU2Ghz: New defaults
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@382 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
Jake.Stine a555f60477 Just committing an IPU speedhack I found a while back, in case anyone wants to play with it. It's disabled by default. Enable by uncommenting the #define in IPU.h -- might break some movies tho, I dunno.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@381 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
ramapcsx2 63398c252a More cosmetic changes ><
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@380 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
ramapcsx2 253c9b5c0f Updated about dialog
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@379 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00