Commit Graph

704 Commits

Author SHA1 Message Date
Jake.Stine c12cf3bc0a Did some more work on EE/IOP synchronization, and fixed a few issues with r547 changes (should fix some regressions)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@558 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:35 +02:00
Jake.Stine 9660ad5db3 Fixed another ini bug from r555 that created the memcards in the pcsx2 root folder instead of in memcards/ folder, when using a fresh/deleted ini. :)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@557 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:35 +02:00
Jake.Stine 971df44ad9 Fixed a bug introduced in the prev revision - Pcsx2 failed to find any BIOS files after deleting the ini file.
Added 64bit int support to ssprintf, and documented its uniqueness from sprintf (with examples!)

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@556 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:35 +02:00
Jake.Stine 1a7ee2d30d Various Win32 GUI renovations: * Added a new feature under Misc -- Close GS on Escape! This will close the GS window anytime you press Escape to return to the Pcsx2 main window. It works even in DX9 fullscreen mode for seamlessly entering/leaving a game.
* Loading/saving states from the File menu should work as expected most of the time now (bugfix, yay!)

 * Ini file now versions itself and issues a one-time warning to users when ini settings have changed (which can sometimes lead to odd behavior usually fixed by deleting ini files).

 * Added a new ssprintf function which is a std::string based replacement for snprintf, without the hackish truncating behavior.

 * Converted a lot of code over to use std::string (eliminates chances of buffer overruns and truncations, and serves as a general code cleanup)

 * Added several new functions to the PathUtils.cpp, and encased them in the Path:: namespace.

 * Added a Msgbox:: namespace and moved Alert into it.  May add one or two additional dialog types in the future, if needed.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@555 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:35 +02:00
arcum42 eeb1ddca65 Plugins: In ZegoGS, convert FASTCALL to __fastcall, since it's in the new headers. Turn two #defines into functions. Adjust #includes and makefiles as suggested by Jake on all plugins.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@554 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:35 +02:00
cottonvibes fb183df3c1 Rogue Galaxy currently needs the FPU clamp hack gamefix (the one that fixes tekken 5), so i changed the gamefix text to mention that. (note: defining FPU_ADD_SUB_HACK as 0 fixes the problem without needing the gamefix)
I also made the iVUzerorec clear reg allocation info after VU recompilation/execution to prevent bad data being used in other parts of pcsx2.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@553 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:35 +02:00
arcum42 61e5a6b467 Prevent checking CPU logging on devbuilds from crashing pcsx2 immediately upon running a game.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@552 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:35 +02:00
arcum42 fbffd5228f Variable name inconsistancies between ports are irritating when its otherwise the same code... :(
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@551 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:35 +02:00
ramapcsx2 9f7f6a7ece Fixed a regression with cdvd reads. Atelier Iris has working voices again :)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@550 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:35 +02:00
arcum42 4898359203 Add Console::Alert to take SysMessages place, other then in plugins.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@549 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:35 +02:00
arcum42 ffc90048d7 Fix Linux plugin breakages from r540, and make build.sh call fetch.sh so that I am sure to notice the breakages earlier in the future.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@548 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:35 +02:00
Jake.Stine 4524fd919e *Experimental* Sync issues are very sensitive buggers. There could be some breakages in this revision, so keep an eye out, folks.
Improved the responsiveness and efficiency of the EE's INTC handler by having it raise exceptions immediately in response to interrupt handlers (the old method delayed the exception until the next branch test, which meant that a lot of common interrupts like vsync, GS, GIF/VIF, etc resulted in two consecutive branch tests when they should have needed only one).

Moved the gsIrq() in Counters.c from the vsyncStart() to the vsyncEnd().  The gsIrq() supposedly happens on the falling edge of the vsync, so this *should* be more correct.  (but more correct doesn't always mean better)

Added iopIntcTest() functions to the IOP's synchronization tools, so the IOP should now "correctly" raise exceptions when it re-enables pending IRQs.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@547 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:35 +02:00
arcum42 bbfb6ac41a Fix up Linux compiling after the last few commits. Add in my latest attempt at SysPageFaultExceptionFilter.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@546 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:35 +02:00
Jake.Stine 86ade26968 Reverted a couple experimental / debug values that accidentally snuck in on the last couple revisions.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@545 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:35 +02:00
Jake.Stine d6d54321bf Minor fixups related to console printouts, and some work on an MTGS profiler
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@544 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:35 +02:00
Jake.Stine 3957d1520c Win32: Green colors now work in the console! Yay! (so important! heh) Fixed some project file options in the plugins, and started converting all the old SysPrintf's over to color coded Console messages. (but there's... so... many... >_<) Also, interchanged the meanings of WriteLn and MsgLn since I kind of had them backwards from what I originally intended.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@543 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:35 +02:00
arcum42 898168ebae All things must pass...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@542 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:35 +02:00
Jake.Stine 899b0bc4f1 Configured all the newly-added plugins to compile properly under Win32/MSVC (ZeroSPU2, ZeroGS, ZeroPAD). Created a new solution file called pcsx2_suite_2008 which contains Pcsx2 *and* all the plugins.
Moved the PS2Edefs.h and PS2Etypes.h files into /common.  All plugins and Pcsx2 now reference the same copies of these files at all times.

Removed SubWCRev from the repository, and linked the /common/ folder to the /plugins folder (allows for people to checkout the plugins folder alone and still be able to compile without pre-build step failures).

Tweaked the MTGS throttler.  Might work a wee bit more efficiently in certain high load situations.

Fixed a rare bug in the COP2 (i think!) introduced during one of the earlier VU code cleanings.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@540 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:35 +02:00
arcum42 e8aeafdefc Add the new speedhack dialog to the Linux code.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@539 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:35 +02:00
arcum42 dc017cd99a Hook up SIGSEGV handling in the Linux port.(and correct a few misspellings)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@538 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:35 +02:00
cottonvibes 8c806870fa very minor change (increased the size of a textbox so it won't get cut-off on PC's with larger DPI settings like mine :D)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@537 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
Jake.Stine f79c6566e0 Patched in some Linux code to help get us one more step closer to working vtlb/Linux. Probably needs work, but it should be on the right path toward eventual success, I hope. :)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@536 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
Jake.Stine e60cf2a07d Added a couple new speedhack options, and redid the Speedhacks dialog box while I was at it. :) Descriptions of the speedhack options are in the dialog box.
Fixed a bug in the new CDVD Break command that caused some rare freeze-ups (Issue 101).

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@535 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
cottonvibes d3271c1616 added a toggable menu option to print cdvd reads to console. removed x64 code from iVUzerorec.cpp
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@534 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
arcum42 3e2821b752 Preliminary work on getting the Linux port in sync with the Windows port. Still not at a running state yet. :(
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@533 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
arcum42 f1dc9870e5 Apply the patch from issue 102.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@532 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
Jake.Stine 87c0ef27f4 Implemented a Linux alternative VTLB init, which uses SysMmap() to try and force an allocation below 2GB; and compacted the vtlb memory alloc code into a single large allocation while I was at it.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@531 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
arcum42 bee1d26824 Adjust indentation in zerogs to be consistant between dx and opengl, making it easier to compare the two.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@530 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
cottonvibes efa4602765 removed unused functions in iVUzerorec.cpp to avoid confusion.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@529 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
cottonvibes 9e651bc959 some more vu micro lower instruction changes.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@528 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
Jake.Stine 8b9a3f6148 Another fix attempt for the odd behavior of Run->Execute on some systems.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@527 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
Jake.Stine c6b0951799 A fix attempt for the Run->Execute command not always working as it should. This is another bug I can't seem to reproduce here. (grr, get many more of those and I'm really going to be upset)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@526 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
arcum42 269714a916 Minor Linux compilation fix, minor code refactor, and change a few SysPrintf's to Console::MsgLn's.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@525 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
cottonvibes 70463b2688 fixed some vu micro lower instructions
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@524 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
Jake.Stine db5def634d Fixed the bug that kept the Config->Controllers menu from working. Fixed a couple cut/paste typos from the previous revision.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@523 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
Jake.Stine bbfcbabf74 Fixed a bug in the vtlb build where-by the loading of the EROM would extend past the memory allocated for it. EROM files are commonly 3 megs, but only 1.5 megs is allocated (why it is this way I do not know).
Added a new namespace for PS2 memory size descriptors: Ps2MemSize, and modified the code to use them instead of hardcoded values.  And I found a handful of VM-Alloc discrepancies in the process.  Some instances of ROM1 sizes were set to 0x80000 while others were set to 0x40000.  0x40000 appears to be the more correct size of ROM1, so I used that.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@522 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
arcum42 1669c0caeb Compilation fixes for Linux.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@521 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
Jake.Stine f111f3fbb8 Attempting a fix for SuperVU memory allocation failure on some systems. Admittedly I don't have a lot of experience with Windows VirtualAlloc, and I can't reproduce the problem here, so it's a roll of the dice on whether this "fix" will actually help.
Applied patch from Issue 96 in the hope it'll make the core count display more accurate (it's not important to emulation functioning but it's fun if it works anyway ;)

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@520 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
Jake.Stine dcd7b30581 Rewritten ELF loader! Pcsx2 will now pick up CRCs and load/apply patches even when booting through the BIOS. Also fixed some memory leaks and other minor bugs.
Improved CDVD handler!  The CDVD now handles the following commands with more appropriate zeal: Break, Standby, and Stop.  Fixed a bug in the seeking code that was causing a lot of FMVs to suffer audio desyncing.  Fixed another bug that was causing some general emulation slowness.

New Savestate version!  Savestates now record vsync timing info (PAL/NTSC), which solves an age-old bug where-by PAL games would be highly unstable if you loaded the savestate before the video mode got set properly.

Removed the AtomicExchange "optimization" for single-core CPUs since it was never used in Pcsx2 anyway.

Developers: Fixed a typo in LnxThreads.cpp that caused linker errors.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@519 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
arcum42 db383d1846 Remove a few unneccessary includes, and fix a few Linux compilation errors.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@518 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
cottonvibes de2d15c126 changed the ini file name, since its incompatible with official pcsx2.ini fixed something from one of my previous vu changes.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@517 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
Jake.Stine f3fa038da4 Several cleanups to the VUmicro and COP2 code -- eliminating yet more dead code made obsolete by the SuperVU.
Improved cycle timings a bit, and fixed a problem where Co-processor instructions weren't being counted as cpu cycles.  Fixed a couple bugs in memory savestate recovery.

Compiling: Enabled PCH on non-dev builds, and removed the buffer security check from the Release vm (dev)(Dev) builds.  That was an oops on my part -- I turned it on to do some additional bug checking and forgot to turn it off.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@516 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
Jake.Stine 38d6037c9e Removed some dead code from the VUmicro. The code had long since been superseded by Zerofrog's SuperVU.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@515 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
cottonvibes b75a0111c9 added the correct paths to the pcsx2 docs in the VS project file. also added a playground readme.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@514 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
cottonvibes 909e929fb3 i debugged issue 94 for 3 hours only to find that i forgot to put 'break;' in my switch() statement :( well at least its fixed ;)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@513 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
Jake.Stine 62fa01ff39 Fixed some missing compiler options from the last revision, for the new precompiled header build system.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@512 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
Jake.Stine 5fedf498fd Development Maintenance: Added precompiled header support to the Win32 builds (dev builds only for now).
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@511 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:34 +02:00
Jake.Stine 70583d47cf Switched over to a new statically linked pthreads-based threading system, and rewrote the MTGS so that's (mostly) separated from the GIS/GIF code now. Added detection of CPU cores (both logical/hyperthreaded and physical), and moved the cpuInit code around so that it makes more sense and so the console gets spammed with less redundant info.
Win32-specific: Fixed GUI bugs from Issue 90, Issue 91, and Issue 92.

Developer info: Added new files MTGS.cpp, Threading.h, WinThreads.cpp, System.cpp, and LnxThreads.cpp.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@510 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:33 +02:00
cottonvibes ff0568b105 minor vu update
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@509 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:33 +02:00
cottonvibes ac9ea51987 fixed something from my last update.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@508 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:33 +02:00