45 Commits

Author SHA1 Message Date
sudonim1@gmail.com
5561415088 Workaround for the MTVU deadlock on exit issue. There are actually several issues which deserve closer examination here but this fixes the symptom of zombie pcsx2 instances.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5142 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-05 19:55:44 +00:00
ramapcsx2
6dcccff206 Added a new gamefix to make ignoring of DMAC writes when it's busy optional.
This should be mandatory but (most probably) timing issues make this break more games than it fixes.
Notable exception: Mana Khemia 1 (going "off campus"), so I added it to the auto gamefix database (Only NTSC so far, anyone got the PAL CRCs?).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4512 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-03-30 10:54:43 +00:00
avihal@gmail.com
15efbf2dd3 Patch by pseudonim: Disable the state load/save menus when no active VM.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4463 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-03-20 12:32:54 +00:00
Jake.Stine
daf47b50a0 wxSavestates branch: (partially sync'd with trunk**)
* Finished up zipfile-style savestate implementation
 * Simplified BaseSaveState class, and removed lots of now-unneeded code.
 * Prepared the i18n stuff for a pcsx2_Dev.pot file (WIP), and sorted more stuff to pcsx2_Tertiary.pot.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxSavestates@4091 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-12-14 07:28:05 +00:00
Jake.Stine
1dfc69670d wxSavestates branch: still nothing to see here (yet)...
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxSavestates@4034 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-11-18 13:01:38 +00:00
Jake.Stine
5efe38b270 wxSavestates branch: (WIP, does not compile yet)
* Preliminary implementation of wx-based zip support (using wxZipInputStream and wxZipOutputStream).

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxSavestates@4033 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-11-17 14:06:51 +00:00
Jake.Stine
239c9f83d8 newHostVM: (Restored booting) -
* Added some bounds checking to debug builds for VTLB mappings.
 * Fixed a VU mapping bug that caused boot crashing
 * Fixed some startup, shutdown, and reset resource management.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/newHostVM@4021 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-11-16 00:22:18 +00:00
Jake.Stine
be1a590464 newHostVM: (WIP, may not run!) -- Applied host virtual memory mapping to the EE/IOP/VU main and on-chip memory banks. Added a new OO-based system allocator object for handling said virtual memory resources. Plus many code cleanups, and some added mess that needs to be cleaned up.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/newHostVM@4020 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-11-15 14:05:02 +00:00
Jake.Stine
4bee22a4cd newHostVM branch: Implemented VM reservation feature for all recompilers.
* SuperVU note: SuperVU recompiler now uses two separate 8mb caches for VU0 and VU1 (needed in order to simplify/saneify the reserve/alloc stages of pcsx2 app startup).
 * Added MemsetFast.inl, which houses SSE intrinsic versions of memset and memzero, for use on aligned data targets.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/newHostVM@3975 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-27 19:18:46 +00:00
Jake.Stine
f6a7c33559 Bugfix for rounding/clamping mode patches not being applied (and possibly some other obscure cpu settings bugs as well).
Cause: there were accidentally 2 instances of 'Recompiler' in the Pcsx2 emulator settings structure.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3843 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-26 19:51:54 +00:00
Jake.Stine
d36bb19612 * Fix for Issue 493 -- non-standard SYSTEM.CNF contents are handled better now.
* Some minor exception/error handling fixes and improvements.

DevNote: the BOOT2 elf loader fix is still a hackfix.  I documented the proper fix for mimicking PS2 BOOT2 parsing, but not in a mood to do the full proper implementation right now.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3442 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-09 16:51:48 +00:00
Jake.Stine
483c6878a4 UI:
* Added more thread checks when closing the program, to avoid occasional crashes or hangs.
 * Close the GS window on shutdown or critical errors.
 * Fixed part of Issue 679 (excessive CDVDiso popup errors)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3357 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-01 15:08:12 +00:00
gigaherz
f1630170ed Implemented a better "host:" rewrite system, which takes the path of the elf being loaded as the root of the virtual "host:". This is the same behaviour as pc-side ps2link clients. The code could probably be cleaned up a lot or made more configurable, if someone wants to improve it.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3316 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-26 21:17:21 +00:00
Jake.Stine
aaedf7ac6e UI: TAB should be remembered now on games that use patches. Improved and simplified some threading logic, and streamlined the vsync handlers a wee bit (they don't really matter for performance, but no point in being sloppy about them either).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3226 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-19 02:38:15 +00:00
Jake.Stine
914474ebc9 GameDatabase / Patches:
* Made all database key comparisons case-insensitive, so that "patches" and "Patches" both work as expected, etc.
 * Applied patches should be remembered properly now when using suspend/resume and savestates (hopefully -- didn't test savestates yet).

DevNotes:
 * Reorganized all game database code into a generic interface used by the emulation core (IGameDatabase), and app-side implementation (AppGameDatabase) that loads the files and provides info in a thread-safe manner.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3223 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-18 14:27:13 +00:00
cottonvibes
4de1b432c1 - Add "Enable Cheats" menu item.
Enable Cheats means enabling support from the files in "cheats\*.pnach"
Enable Patches means enabling support for the gamefixes/patches inside the game database...


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3033 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-17 05:37:32 +00:00
cottonvibes
5597a5e575 Cleanup patch.cpp...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3032 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-17 05:18:11 +00:00
Jake.Stine
63f62bf737 User Interface:
* Console Log doesn't force itself into the focus anymore when it opens
 * Suspend/Resume menu item updates more reliably.
 * Changing plugin settings while suspended works nicer; less likely to crash/hang/etc (ironically, changing plugin settings while running was more reliable).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2976 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-10 17:59:03 +00:00
Jake.Stine
70d47bf240 Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2937 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-03 14:08:02 +00:00
Jake.Stine
5d37925617 Major UI renovations!
* Added versioning info to savestates! (along with some other bugfixes)
 * Simplified the Boot and System menus -- removed the old Skip BIOS hack and replaced it with the new BOOT2 injection method (which is considered hack-free at this time).
 * Removed lots of UI deadlock gotchas.
 * Some new confirmation dialogs and better error handling.
 * Implemented an exclusive SysExecutor thread, which serves the purpose of executing system/VM commands and events in uninterrupted order (including suspend, resume, savestates, etc.)



 * ... and probably broke linux!

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2911 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-27 13:12:03 +00:00
sudonim1
4457fe40fc Removed all trailing whitespace in *.c *.cpp *.h because it irritates me.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2897 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-25 00:31:27 +00:00
sudonim1
36c9d63495 New less intrusive BIOS skip hack replacing the old BIOS skip hack. Works with Ico, Tekken 5, and probably any other games that were problematic with the old hack.
Changes to patch system required by this and fix for boot time (first field = 0) patches when booting through BIOS.
Store Sony part number for the game disc globally for future use in selecting game fixes, patches, providing information to the user, etc.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2874 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-19 23:46:12 +00:00
Jake.Stine
fa04244375 Add some new checks for blocking VM reset/shutdown while savestates are saving (avoids accidental corruption). Renamed a lot of the new event listener code so that it's consistent... ish.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2497 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-23 17:13:03 +00:00
Jake.Stine
7cd07da2d7 Added some info to the GS window title (finally!). Includes an fps readout!
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2425 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-11 08:02:17 +00:00
Jake.Stine
bee1bde1b3 More hotkey fixes
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2416 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-08 23:33:15 +00:00
arcum42
a38a27aa9c Mucked around with Elfheaders a bit. Cranked up the number of chars in DisR3000A (Because I own a few games with symbols over 64 chars). A few other things.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2407 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-02 13:27:15 +00:00
Jake.Stine
9473e69b7f Thread Local Storage Fixes:
* Implemented TlsVariable, a nifty alternative to __threadlocal, suitable for archaic operating systems that don't have native TLS support (namely Mac OS/X).
 * Added a forced reference to TLS in AppInit so that TLS is sure to be available to DLLs (otherwise windows doesn't init TLS by default).
 * Disabled TLS support in the x86emitter by default, since it's looking increasingly like we won't find a use for multithreading PS2 sub-components (can be re-enabled later if spontaneous brilliance at a later date proves me wrong).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2396 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-24 22:22:34 +00:00
Jake.Stine
0430e4dd9f Moved PADupdate() from MTGS thread to the GUI thread, and moved PADkeyEvent from EEcore thread to GUI thread.
Rationale: I realized finally the point and purpose of PADupdate was to give the PAD plugin a callback that's on the same thread as the GS window, and which is (mostly) updated in regular sync to the refresh rate (50/60hz).  So that's what it does now, finally.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2377 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-21 16:14:28 +00:00
Jake.Stine
820c9c10ee Bugfixed bad behavior when using BiosSkip and doing interface-ish things while the stub was running.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2353 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-17 14:04:09 +00:00
Jake.Stine
f60ed711cc Skip Bios hack works in EE interpreters now.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2343 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-14 14:36:13 +00:00
Jake.Stine
c17455c702 User Interface code cleanups and bugfixes. some highlights:
* Configuration panels are all modal-less now, so that you can open the config panel and leave it open while running games.
 * Handful of thread sync improvements.
 * Fixed on-the-fly interpreter/recompiler configuration.
 * Fixed plugin hotswapping (mostly works, but still a little funny at times)
 * All new assertion dialogs and popup message handlers.
 * RecentIsoList defaults to 12 instead of 6

Dev Notes:
 * I had to create a new set of assertion functions called pxAssume*.  Originally I hoped to avoid that complexity, and just use a single one-assert-fits-all case, but turned out blanketly using __assume() for all assertion cases wasn't reliable.
 * wxGuiTools: Replaced the operator, with operator& -- the latter has proper order of precedence, the former required () to scope correctly. >_<

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2339 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-14 12:18:55 +00:00
Jake.Stine
acbe1ed547 Cleanup for VsyncInThread, lots of source code comments. (it's fun reading! ...maybe)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2318 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-06 15:31:11 +00:00
Jake.Stine
a6b00be571 Potential fix for Issue 495: missing keyboard handler in Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2306 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-04 14:30:13 +00:00
Jake.Stine
1e431fb69a wtf? A working framelimiter? Turbo and slowmo hotkeys? Frameskipping?! Why it's all here! Rejoice! And then find lots of bugs, too, I'm sure. Note: Frameskipping has no gui stuff yet... I'll do that soon.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2294 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-03 15:51:39 +00:00
Jake.Stine
4828beb3c3 * Added toggles for game log output: EE StdOut, EE Deci2, and IOP StdOut. Toggles are provided via a menu in the Console Log.
Dev notes:
 * Renamed MtgsthreadObject to SysMtgsThread (matches naming pattern of other thread classes).
 * Added accessors for GetMtgs() and GetCoreThread() [rationale for them documented in source comments]
 * Removed wxHelpers namespace since we're using px name prefix instead for most stuff.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2238 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-23 06:54:24 +00:00
Jake.Stine
ae1dcb7ac6 * Fixed some bugs in the SYSTEM.CNF loader (most notably it will not crash on files over 512 bytes -- some PS2 images pad their system.cnf to 32k)
* Botting NoDisc with "Skip BIOS" enabled should work now (untested).
 * Renamed StaticText / StaticHeading helpers to simply Text and Heading.
 * Made the iR5900 recompiler's stack alignment check a dynamic toggle instead of a dev/debug build preprocessor.
 * Fix annoying linux linker errors.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2229 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-21 07:44:11 +00:00
Jake.Stine
c942e3aaca * Implemented more support for on-the-fly CDVD source changes (not well tested, probably need work).
* Fix Reelease mode compilation errors. 
 * More misc bugfixes to the UI.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2207 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-16 17:14:10 +00:00
arcum42
ba37f31849 Trim and tweak a bunch of includes, and a few headers.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2197 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-14 12:02:56 +00:00
Jake.Stine
0ed2093e5d Fix a few stability issues with on-the-fly plugin re-configuration and the F9 RenderSwitch. (all plugin settings should be changeable without having to reset emulation or anything now)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2133 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-05 13:13:02 +00:00
Jake.Stine
24d6221141 * More MXCSR fixes (roundmode / DaZ / FtZ).
* Fixed a bug in the Full-mode FPU recompiler.
 * Added some better error handling to the BIOS Rom loader.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2117 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-02 19:56:38 +00:00
Jake.Stine
376a2c94b1 Added some hourglass cursors for various things; renamed more Semaphore and Mutex APIs (I'm too indecisive >_<)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2109 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-01 09:27:16 +00:00
Jake.Stine
e2131fb954 Minor fixes to ELF loading and suspend/resume stuff.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2105 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-31 20:42:51 +00:00
Jake.Stine
4cb8e21f94 Much work on menus, gui features. Partially-working recent-isos menu list. Bugfix for some of the new console stuff that could have caused some funny bunny business, or crashes, in a few games. Why dat wascaly wabbit! >_<
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2100 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-31 10:03:07 +00:00
Jake.Stine
ada3d9ed8a Emitter rewrite, Part 2 of 5: Converted SSE comparisons and SSE conversions to constructor-less structs.
(also includes some header file prepwork for my next wxWidgets windows.h commit fix)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2069 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-24 21:43:28 +00:00
Jake.Stine
efc35405f8 Reorganized the exception/signal handlers, setjmp/longjmp, and SysCoreThread stuff:
* Exception/Signal handling now uses an EventSource, so that multiple handlers can be registered.  This is in preparation for (eventual) more complete MIPS TLB support in the VTLB memory model.
 * Improved code isolation, so that recompiler-specific code is primarily in iR5900-32.cpp (cleans up Counters.cpp and SysCoreThread.cpp)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2063 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-23 20:24:59 +00:00