Commit Graph

341 Commits

Author SHA1 Message Date
Jake.Stine 653d09e821 Lots of new code maintenance stuffs:
* Completely new assertion macros: pxAssert, pxAssertMsg, and pxFail, pxAssertDev (both which default to using a message).  These replace *all* wxASSERT, DevAssert, and jASSUME varieties of macros.  New macros borrow the best of all assertion worlds: MSVCRT, wxASSERT, and AtlAssume. :)
 * Rewrote the Console namespace as a structure called IConsoleWriter, and created several varieties of ConsoleWriters for handling different states of log and console availability (should help reduce overhead of console logging nicely).
 * More improvements to the PersistentThread model, using safely interlocked "Do*" style callbacks for starting and cleaning up threads.
 * Fixed console logs so that they're readable in Win32 notepad again (the log writer adds CRs to naked LFs).
 * Added AppInit.cpp -- contains constructor, destructor, OnInit, and command line parsing mess.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1950 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-04 08:27:27 +00:00
Jake.Stine 15d2824d1b (work in progress -- some of this stuff still doesn't quite work as it should)
* Rewrote Savestate code, fixed lots of stuff in PersistentThread, and renamed most "Emu"s to "Sys".
 * Removed wxScopedPtr and whipped up our own ScopedPtr that doesn't use boost's fail-style function names (and made it more thread-safe).
 * Handling exceptions across threads: Added Clone() and Rethrow() methods to BaseException, and added a Rethrow() to PersistentThread.
 * Go rid of AppInvoke macros (those were nasty!)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1929 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-29 19:16:00 +00:00
Jake.Stine aaa3b773c6 Improved MTGS (added better suspend/resume support), and work on savestates a bit (still not working tho)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1908 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-23 09:53:21 +00:00
Jake.Stine 39bd850f72 win32pthreads: Changed from _beginthreadex to CreateThread, which is the preferred method of creating threads when using dynamic CRT linking.
PCSX2/Win32:
 * Assigned names to the threads so that they show up nicely in the debugger.
 * Added more error checking in the new stdout/stderr PipeRedirection code, hopefully fixing Issue 422 (but can't reproduce the error here to be sure).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1904 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-22 17:28:48 +00:00
Jake.Stine 6907b78640 Fixes Issue 419 by checking validity of StdHandle values. Also:
* handful of minor code cleanups, and some warning removals for ICC.
 * replaced the dualshock.png with a dualshock.jpg (120k smaller!)
 * Updated the About Box, and added Zeydlitz / ZZogl to the plugin author credits.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1902 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-22 04:37:11 +00:00
Jake.Stine 8d91458c95 Win32: Added stdout and stderr pipe support for the ConsoleLogger; such that plugins using printf or fprintf will have their messages show up in the new-style console log and in the emuLog.txt file.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1897 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-21 03:33:35 +00:00
Jake.Stine 0f259e62d5 Implemented keyboard accelerator tables and a hashed global command table (should be ideal for eventual GUI extensions via plugin, and toolbars and other fanciness). Removed Pause menu and replaced it with a Suspend/Resume menu. Closing GS window behaves more nicely.
Projects: Removed FrameworkVersion descriptor, don't think it matters for C++ code.  Removed all translation files, since they're grossly out-dated and need to be remade anyway.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1894 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-20 20:54:45 +00:00
Jake.Stine beb2fd34db ZeroGS: Remove compiler errors under DXSDK Aug 2009.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1874 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-19 13:15:14 +00:00
Jake.Stine e5da378d9a Added a GSopen2 call to the GS plugin API, which is used by PCSX2 to specify its own window handle.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1840 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-17 07:31:57 +00:00
Jake.Stine c9c924fe35 Yay, craploads of fixups for the new gui:
* Lots of crashfixes and threading rules compliance (like using wxYield instead of ProcessPendingEvents)
 * Killed off some memory corruption
 * Better error handling and reporting
 * Much speedier suspend/resume during emulation
 * Revamped entire savestate system to use a RIFF-style file format (untested, will work on it soon)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1832 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-16 17:23:02 +00:00
Jake.Stine 4fbc2c26aa Fixed a bug in BiosTools.cpp that caused Bios-Not-Found errors.
MemoryCard / Multitap Renovations:
 * Memorycards should now support multitap (somewhat untested)
 * Implemented a memorycard plugin interface, using the new API defined in PluginCallbacks.h (still prelim and hackish)
 * Memorycard settings are saved to ini!
 * Multitap is now controlled by PCSX2 instead of the pad plugin (which means no multitap until we implement the gui toggles to enable it)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1817 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-13 17:11:35 +00:00
cottonvibes 7437f72259 Did a cleanup and organized EmuCore's virtual folders.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1808 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-12 06:55:05 +00:00
Jake.Stine b638f52809 Re-ordered the MSVC folder structure to split PCSX2 into two definitive sections: [App]Host and [Emu]Core (the bracketed names indicate the "long" versions which are generally used in the code to differentiate the functions and classes). If the tentative layout is good then I'll sort the files on SVN to match that layout.
(note: Patch.cpp/Patch.h is still the odd child out in this commit, as it's destiny is to become a plugin)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1804 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-12 02:58:22 +00:00
Jake.Stine 76045a4722 Cleaned up Path namespace and moved it and wxDirName to /common/Utilities.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1803 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-12 01:03:44 +00:00
Jake.Stine ea37e06654 Added libjpeg (version 7!)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1791 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-08 22:26:26 +00:00
Jake.Stine 4b4422d2dc * Better icon! Transparency in Windows Taskbar icon is still bad, but I can't figure out how to fix it (documented in code)
* Cleaned up the code of the Gamefixes a bit.
 * More svn:native props -_-

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1788 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-08 16:39:37 +00:00
Jake.Stine 77da67100e Updated to the new icon! So sleek...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1784 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-08 13:14:34 +00:00
Jake.Stine d2fbb22076 Upgraded PCSX2 core and utilities to GPLv3.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1783 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-08 12:08:10 +00:00
Jake.Stine 3b10771c36 Got rid of that old 'params' mess on console logs. Not needed anymore since wxwidgets has nicer built in formatting options (never liked it anyway)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1782 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-08 05:37:40 +00:00
Jake.Stine 50446e6930 * Added preliminary keyboard support back in (probably doesn't compile in linux)
* Fixed a deadlock in thread cancellation.
 * Muted some folder warnings when running pcsx2 for the first time.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1778 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-07 21:16:12 +00:00
cottonvibes 5148323b7c pcsx2:
Made mVU Macro ON by default again (got turned off by wx merge).
Added microVU speedhacks to GUI.
Deleted microVU_Alloc.h from project file.

Note: No speedhacks appear to be working yet during emulation.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1769 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-07 04:40:50 +00:00
Jake.Stine 1bc07c3555 wxgui: Updated to the new logo and about box pic (about box layout still sucks tho). Redid the built in resources so that they're automatically compiled from the original images, instead of having the bulky .h files on SVN (includes updates to bin2cpp tool).
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1760 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-06 19:48:57 +00:00
Jake.Stine c1a818386f wxgui: removed dependency on afxres.h, added resource/manifest versioning info to w32pthreads.v2.dll, and fixed a compile error.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1746 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-05 23:46:08 +00:00
Jake.Stine 9308d86ffc wxgui: Runs games. 'nuff said.
* Fixed some deadlock conditions by adding a message pump to semaphore waits ont he main/gui thread.
 * Many more config and init bugfixes.
 * Implemented most of the new Boot menu.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1745 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-05 23:07:23 +00:00
Jake.Stine f7a44a7af2 wxgui:
* Added /gui/AppRes.cpp : contains resource management code that used to be in /gui/App.cpp.
 * Redid disk/linux console logging to be both thread safe and crash-safe.
 * Cleaned up plugin init/open exception handlers
 * Was forced to implement a manual version of wxEventLoop because of a critical design flaw in wxWidgets' message loop exception handler.


git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1727 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-02 11:22:16 +00:00
Jake.Stine 25a31e3a03 wxgui: retooled exception handling, should eliminate warnings in GCC and remove previous initialization ambiguities. (ended up being a nice code cleanup too, yay)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1720 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-01 00:43:28 +00:00
Jake.Stine 980afabc30 wxgui:
* Moved some files around in an attempt to improve CoreEmu and UI separation.
 * Major upgrade to the UI's handling of savestates
 * Maintenance work to the C++ exception handling
 * Some improved error handling and message popups here or there

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1714 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-31 03:47:05 +00:00
Jake.Stine 396783957e wxgui:
* synched with trunk to pick up all new cdvdiso fixes.
 * configuration wizard now starts if pcsx2.ini is missing/deleted.
 * changed GetWindowChild (MSW specific?) to FindWindow.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1696 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-28 13:06:06 +00:00
Jake.Stine 4c39dd35a7 * Re-enabled PCH in release builds; fixes various mysterious crashes.
* Restored Run->Execute's old behavior when the emu is in a reset condition (plain jane bootup using CDVD plugin).
 * Fixed some CDVD init stuff on the Linux side of things.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1691 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-27 19:38:09 +00:00
Jake.Stine 670def4974 Linux only: Preliminary fixups for supporting the new improved commandline and g_Startup implementation.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1686 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-27 08:48:00 +00:00
Jake.Stine 62591d04d8 * Added the missing cd image types to the iso browser (img, bin, nrg, etc)
* Minor fix when using cdvdiso in browser mode (keeps the browser from being obscured by the GS window).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1685 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-27 03:09:38 +00:00
Jake.Stine d77ac4786d Major Fixes!
* Fixed like a gazillion bugs in the new CDVD system; memory corruption, memory leaks, failed resets, and who knows what else.
 * New commandline parameters!!  Added -skipbios/-nodisc/-usecdvd/-elf [file] options, intended replacements for the now obsolete -bootmode (bootmode should still work as it used to).
 * fixed a bug that kept -help from working, and updated -help to display all the new command lines.
 * -nogui command line now causes PCSX2 to close on escape, instead of escaping back to the GUI.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1684 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-27 02:00:25 +00:00
Jake.Stine c73375366f wxgui: Redid a bunch of the wxWidgets assertion handlers so that they're thread-safe, and fixed the wxLogError stuff to pipe through to the PCSX2 console (better than it spamming popup errors, and also makes it thread safe as well).
.. oh, and it successfully boots the BIOS now, suing the 'Boot Without Disc' menu option. :D

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1682 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-26 08:57:52 +00:00
arcum42 be6c314e27 Various changes that were accumulating. Broke off Gif.h from GS.h. Changed some defines to enums. A few other minor things.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1676 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-25 09:19:45 +00:00
cottonvibes a3f0ba5315 microVU:
- Started implementing VU macro mode (code off by default)
- Disabled Constant Propagation for Jump Addresses (this rarely was a speedup, and it slowed down recompilation time a lot in some games causing bad slowdowns (GoW))

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1675 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-24 02:48:50 +00:00
Jake.Stine e25db2a0ba wxgui: sync with trunk (boooring)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1660 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-20 16:19:33 +00:00
Jake.Stine 4b320294fc wxgui: Fixed most of the trivial bugs from the prev commit.
* Removed NoncopyableObject class and replaced it with a DeclareNoncopyableObject() macro -- which reports saner C++ compilation errors when the object copy is attempted.
 * Improved first run wizard and several configuration panels.
 * Moved the BIOS selector to its own menu item and dialog box, separate of the Settings panel.
 * Fixed various bugs preventing configuration changes from being saved.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1658 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-20 14:34:48 +00:00
cottonvibes 685ceb245c Disabled precompiled headers for release builds. This fixes the random crash introduced 2 revisions ago (caused by some crappy IPU code we need to eventually get rid of)
Since the IPU code randomly works/breaks with different changes to pcsx2, eventually we'll be able to re-enable PCH.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1656 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-20 04:02:39 +00:00
Jake.Stine 3c4b1afb49 wxgui: All kinds of mess, but still not up to running games yet.
* Borrowed wxScopedPtr from wxWidgets 2.9
 * Fixed up first-time startup procedures and folder selection
 * Implemented most of the rest of the missing configuration options, and cleaned up some ambiguities regarding bool types and bitfields.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1649 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-18 19:47:00 +00:00
gabest11 de2d3603a0 GSdx: corrected recording code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1637 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-16 16:45:26 +00:00
Jake.Stine 49144a5331 wxgui:
* Removed some erroneous language error messages during first-time startup on non-english systems.
 * Cleaned up BIOS code a bit and moved all the scatterings from Memory.cpp, Misc.cpp, etc. into a single BiosTools.cpp file.
 * Implemented BIOS selector in the config dialog.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1634 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-16 06:26:40 +00:00
Jake.Stine c415d8d694 wxgui:
* Major cleanups and improvements to the Threading namespace.
 * Created CoreEmuThread class framework, which currently runs the EEcore, IOP, and VUs with threadsafe suspension, reset, and resume features.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1624 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-15 06:17:43 +00:00
arcum42 5ce6df15bc Added some tag code in I was fiddling with. (Nothing uses it yet. I mainly wanted a backup of what I was working on.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1622 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-14 10:24:23 +00:00
cottonvibes 18a12b10b0 microVU:
- Cleaned up microVU_Compile
- Added file microVU_Branch

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1621 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-13 05:04:04 +00:00
gabest11 e9277c36d7 missing project files
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1618 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-12 22:26:39 +00:00
Jake.Stine 4836aac1f5 wxgui: separated core emulation options from user interface options (mostly! some interdependencies remain), and stripped out some of the old framelimiting toggle/cycle code, which will be replaced with a better framelimiter system soon.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1602 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-04 08:21:10 +00:00
gabest11 a41f80cfca memcpy on PcsxConfig made pcsx2 crash upon exiting, when the string members were deallocated, I guess they were added later.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1601 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-03 11:05:24 +00:00
gigaherz 4bb4bebd46 KiNGKiMO noticed a crash when specifying a iso filename in the cmdline, to make pcsx2 auto-boot that file. I fixed that, and while I was at it, change the bootmodes around.
The way it works now is:
 - Base mode: 0=normal (cdvd plugin), 1=load elf, 2=use iso loader, 3=emulate no disc
 - Bios flag: 65536+base = mode startup through bios boot process. Default is to skip bios.

So for example to load X.iso using the internal iso loader, and executing through the bios, you would now do: pcsx2.exe -bootmode 65538 X.iso

This needs implementing in linux side, and maybe changing it so it's nicer user-wise (for example, reading the number as HEX would make it 10002 instead of 65538).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1593 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-01 14:25:19 +00:00
Jake.Stine 71490981bf wxgui: synced with trunk, and started work on an improved plugin initialization procedure. (branch currently does NOT compile, sorry)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1582 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-29 14:00:00 +00:00
arcum42 56a98ca922 Converted a few of the file paths to strings, and moved the generic file manipulation functions in IsoFileFormats to their own file.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1562 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-24 03:08:14 +00:00
arcum42 a9999cbffa Reworked a few things in PcsxConfig, to make things a little more organized, and make path changes later easier. (May have broken Linux temporarily. If so, I'll fix it in a bit.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1560 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-24 00:53:40 +00:00
arcum42 20b95fd187 Added a few new calls to PathUtils, and used them to get rid of some platform specific code in the new Iso code. I also modified some other code to use the new calls, and fixed a few microVU compiler warnings.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1559 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-23 23:30:19 +00:00
Jake.Stine 3751c928d3 wxgui: synced with trunk (to acquire new CDVD/ISO api)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1558 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-23 14:58:17 +00:00
Jake.Stine bd91426bab Made a clean fix for the memzero.h template expansion bug/warning (caused by msvc treating template parameters like macros).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1556 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-23 13:40:13 +00:00
Jake.Stine aaf1acf58d wxgui: Added more functionality to configuration dialogs and more options are saved to ini.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1544 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-20 00:39:38 +00:00
cottonvibes 6c8a075131 PCSX2:
- Added *.MDF Disc Images to the "Run ISO" file browser.
I'm not entirely sure if theres any file system differences between .mdf and .iso (couldn't find much info on it); but all my .mdf files are working as-is with gigaherz's code, so I think compatibility should be fine.
- Moved "Run ISO" menu option above "Run BIOS" since users will run ISO's more often than the bios xD

microVU:
- More work in progress stuff... hopefully I finish within the next few days.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1543 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-19 00:42:11 +00:00
Jake.Stine 6e894deb67 wxgui:
* Console now uses a fixed-width font by default
 * Core PCSX2 memory structures (VTLB and Recompilers) are allocated on startup.
 * Added some more gui/ini/startup mess.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1539 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-18 03:11:51 +00:00
Jake.Stine bea9aa2d15 wxgui: minor code cleanups.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1530 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-16 10:25:24 +00:00
Jake.Stine 657660371c wxgui: Fixed crash-on-exit problem in Release builds and made the console logger thread-safe (uses messages instead of direct wxFrame method invocations).
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1529 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-16 09:58:17 +00:00
gigaherz c2e49ba245 Silence a stupid compiler warning, fix the layer1 detection code, and remove the hack I added before, as it does no good.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1527 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-16 00:04:22 +00:00
gigaherz 437d05e9f8 Give more information about the active disk even in Release builds.
Remove unnecessary re-checks at startup, so the cdvd info only shows up once (and every time the plugin notifies of a disk change).
Add a condition to print which shouldn't be printing always.
Add a little "hack" to Mechacon command 0x80 ... will get rid of it later if it doesn't help.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1525 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-15 18:23:46 +00:00
gigaherz f910d26c6e Some fixes and cleanups. Now the File->Run* options won't reset the emulation, so it might be possible to swap discs properly from nodisc, iso or whatever cdvd plugin has been selected (to switch between iso/cdvdplugin/nodisc, it's necessary to use the file menu options, as run->execute will not update the active cdvd interface).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1514 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-15 04:31:14 +00:00
gigaherz e2c31ae72a Now that having internal CDVD interfaces is easy, I added a NODISC interface, with a menu option to run the BIOS with no disc.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1513 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-15 01:17:28 +00:00
gigaherz 3f28c12fe7 Start improving the CDVD interface. Change the internal ISO interface to use it.
I will later work on getting the typical plugins to support these new functions.
I have tried to also update the linux side, but I can't compile or test it so it might not work properly.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1511 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-15 00:27:27 +00:00
gigaherz 792b1031e6 Fixed the crashing with blockdumps. It was the "iso file format" lib I took from cdvdiso.
So I axed the compressed iso (Z/BZ2) format reading, as part of fixing it. Anyone needing it can still use CDVDiso.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1501 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-13 01:11:29 +00:00
gigaherz 0d879dec90 Remade CDVDisoReader from CDVDiso, without removing the blockdump stuff.
Included CDVDiso's iso handing functions into core (with renamed filenames).
Implemented block dumping into CDVDaccess so that it also dumps from a CDVD plugin.
Made the blockdump creation use a timestamped filename (can be turned off in the code), but it needs implementing a linux version of the timestamp.
The blockdump choice doesn't get saved (yet), and I'm not sure if I should make it save, or leave it as is.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1498 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-12 22:52:39 +00:00
gigaherz 43f8746906 Implemented WIP code to run a ISO image from within pcsx2, ignoring the currently selected cdvd plugin.
I tried it and it seems to work, but I can't assure it's bugfree.
Next step is to implement internal blockdump creation and loading, and fix any problems ppl might have with this.
(And sorry for breaking linux on every commit I do. :P)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1496 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-12 17:17:57 +00:00
gigaherz bef8f8b07f Refactored the IsoFS crap to use better function names, and removed some stupid remains from when this code was part of a PS2 driver.
Added a WIP Iso reader to pcsx2. Right now it doesn't do anything (meant to be a backup in case I mess things up too much later), but the idea is to integrate iso reading, blockdump creation and loading into pcsx2, obsoleting CDVDiso and cdvdBlockDumper, and giving support for potential future features.



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1489 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-11 23:24:23 +00:00
gigaherz 14ccee3153 Renamed a few files so that they more clearly represent their meaning. This was goign to be part of a bigger change but I got annoyed before I had to chance to actually start working on it, so I'll drop this anyhow.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1486 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-11 16:39:58 +00:00
ramapcsx2 0fb4e89fe2 Removed the wait cycles hack, and made it effectively always on.
The magic values for this setting were made for the old, sometimes failing system.
It should not be needed anymore, and testing confirmed that.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1485 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-11 15:43:28 +00:00
Jake.Stine 3c195e9f9a wxgui: more of the slowly progressing.
* Implemented internationalization (i18n) framework.
 * Made a pretty configuration dialog box!
 * Many minor bugfixes.
 * Removed most of the old Win32 and Linux/GTK gui code because it was causing gettext cataloging to grab about 500 non-relevant strings (can always reference trunk for them anyway).

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1484 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-11 08:31:38 +00:00
Jake.Stine 911f922001 wxgui: Tons of changes, additions, and improvements...
* Added some icons for use in the new configuration panel.
 * Added bin2cpp project, located under a new /utilities folder (it's used to generate wx Embedded Images)
 * Renamed NewGUI folder to gui
 * Relocated Resources folder to gui/Resources

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1477 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-07 20:53:32 +00:00
Jake.Stine e36df80936 wxgui: Project file clean-ups and slow progressing on interface/configuration implementations.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1465 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-04 20:53:05 +00:00
Jake.Stine fb6a8939b0 wxgui: Moved some more files around in Common/Utilities, and merged against trunk.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1460 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-03 20:48:11 +00:00
Jake.Stine da691894c3 wxgui branch: Maintenance merge against trunk, plus many cleanups and project-level changes.
* Moved the x86 emitter to /common, so that plugins can link against it if they wish.
 * Created a new "utility" class in /common which houses string utils, fast memcpy, common exception classes, and other handy dandies.
 * Removed old-style linux automake files from the pcsx2 dir since they were hopelessly out of date (and their multi-file-per-line format makes svn merging impossible >_<)

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1454 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-03 00:49:40 +00:00
Jake.Stine fba2e4519d Fix for plugin console logging via stdout/stderr, which stopped working when we switched to the shared msvcrt dlls.
mVU: Quick fix to zero out some memory/pointers; fixes assertion failures when running debug mode builds.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1452 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-02 19:45:49 +00:00
pcsx2guide 4de732685f PCSX2: Clean up on docs,nothing important.
Note from the PCSX2 Team: After getting spammed for months in our Google code comments by a user named 'ferrarinews' and due to our inability to ban this member,we have decided to NOT make any changes to the emulator that will affect positively Gran Turismo 3 or 4 for which the user is spamming us,until he stops. Sorry to everyone else,blame him for this.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1449 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-02 00:39:58 +00:00
cottonvibes 6b2c26a617 Added 2 gamefixes to the Windows Side (untested since I don't have the games xD):
- DMA Execution hack - Fixes Fatal frame problems by ignoring dma transfers while another one is being executed.
- VU XGkick hack - Fixes Erementar Gerad by delaying XGkick. Similar to what SO3 needs, except this game needs more delay. Emulating this correctly is impossible with the current DMAC system, and will most-likely never be fixed correctly. The best (and fastest) way to simulate proper behavior is with a gamefix. (Super VU was doing this by a CRC hack, but I changed it to use this gamefix instead along with microVU.)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1437 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-26 04:27:18 +00:00
arcum42 89dc306861 The Gust fix is back in. The previous behavior is in as a gamehack for Fatal Frame, and any other games adversely affected. Checkbox not yet implemented for Windows.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1436 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-26 03:12:36 +00:00
gabest11 57bdc0e5ec Added a setup project, main advantage that it can install vc_redist and other dlls.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1393 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-18 16:23:54 +00:00
Jake.Stine b974b815ff Major Build System changes:
* Changed w32pthreads library into a DLL so that it can be used from plugins correctly. (NOTE: you will need to make sure to build and copy w32pthreads.dll into your pcsx2 folder).
 * Switched pcsx2 from static CRT to shared CRT linking (needed to ensure correct exception handling behavior in multithreaded DLL environments).
 * Switched all standard plugins in the Suite to the shared CRT, to match pcsx2's new style. :)
 * Renamed _DEBUG (depreciated) to PCSX2_DEBUG (excluding Gabest projects since the ATL still uses it).
 * Added intrin.h to Pcsx2Defs.h (so that it is included universally), and added intrin_x86.h for GCC compatibility.

Notes:
 * Current plugin version compatibility status should be unaffected.  The new shared-CRT plugins work fine with older versions of Pcsx2, and the older plugins should work fine with the new shared-CRT version of pcsx2; so long as the necessary CRT DLLs are available on the user's system.
 * All future packagings of pcsx2 will include w32pthreads.dll and the Common Runtimes (CRTs).
 * Existing users who do not have MSVC installed can obtain the CRTs by downloading the Microsoft Visual C++ 2008 Redistributable Package (anyone with msvc installed should already have all they need).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1388 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-18 08:20:19 +00:00
cottonvibes f8a94b15ff pcsx2:
- Cleanup and organizational changes of VU related stuff.
- Separated Super VU, microVU, and Interpreter files.
- Renamed all Super VU related files with an 'sVU' prefix.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1356 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-11 09:02:10 +00:00
ramapcsx2 8fc8d76f00 They are vector units, not vertex units.
(Yeah, silly commit, I know :p )

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1352 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-09 14:15:39 +00:00
Jake.Stine 154a886bf7 Re-enabled Precompiled headers in release builds. Believe it or not this fixes crashes in the IPU's coroutine system that started happening in r1319. Yes, as you might recall, we *disabled* PCH on release builds back during Pcsx2-Playground because it was causing crashes in Coroutine. Now re-enabling PCH *fixes* the crashes in Coroutine. I'm not making this up.
No, Ferrarinews, this revision *won't* improve GT4's graphics.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1327 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-05 00:42:27 +00:00
cottonvibes 07a4eb3491 microVU/pcsx2:
- Removed flaghack1 since it didn't do much over flaghack2 (except break games :p).
Flaghack2 is now renamed to "Status Flag Hack", and so-far we haven't found a single game it breaks, so compatibility is high.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1313 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-03 23:51:23 +00:00
cottonvibes eb3b31c525 microVU:
- Gave the rec a better IR (intermediate representation) implementation.
- Renamed microVU_Alloc to microVU_IR


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1298 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-31 05:45:59 +00:00
ramapcsx2 477f5fa674 Minor changes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1274 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-27 10:26:36 +00:00
cottonvibes 58c45c42ca microVU is now selectable as a GUI option from the CPU dialog box.
microVU speedhacks are also available in the speedhacks dialog.

All the GUI stuff took me a few hours, so hopefully I didn't bug anything.

Note to users:
Please remember that microVU is a W.I.P. and will have bugs; but it also fixes some games Super VU has problems with. So have fun testing.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1273 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-27 09:14:43 +00:00
gabest11 3f9a45c8aa Cleaned up the dummy MTGS gif transfer function a bit, and let the F5-F7 keys to be passed in GSkeyEvent (allows me to remove windows specific keyboard handling from the gs).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1218 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-18 10:50:43 +00:00
arcum42 9d38252d0e Let's try that again...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1202 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-16 07:24:31 +00:00
arcum42 15821b465a Work on pcsx2's Makefiles a bit. Move CDVD*.* and CdRom.* to a separate subdirectory, to make things a bit less cluttered.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1201 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-16 04:26:10 +00:00
arcum42 d676d2ee44 Break out a bunch of clutter from CDVD.h into its own file. Meant to do this a while back, but forgot about it.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1199 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-16 01:32:49 +00:00
Jake.Stine e93b101f49 Cleanup: Moved some rather intrusive instances of global namespace pollution in Sio.h into a new sio_internal.h, so that the rest of the world doesn't have to ensure the pain of having BREAK and RTS macro'd to integers. ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1198 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-16 00:43:46 +00:00
cottonvibes afc5760e6c microVU: Cleanup and added microVU_Flags.inl to the project.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1152 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-08 04:16:25 +00:00
Jake.Stine 2bf04882e3 Some code cleanups for the new vtlb optimization (no intentional functional changes -- just deleted unused code and converted all of vtlb to the new emitter syntax. Let's hope I didn't typo anything!)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1138 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-06 12:37:37 +00:00
Jake.Stine 1cf028ccf5 Optimized vtlb direct path memory operations using some crafty asm code. Expect 2-3% speedups in most things, and perhaps more in some FMVs.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1137 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-06 02:15:43 +00:00
Jake.Stine 66a8c03ded Fix bug from r1116 [essentially a misplaced jNO_DEFAULT directive].
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1129 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-04 02:06:35 +00:00
Jake.Stine 0238815248 wxGui: performing maintenance merge before weekend departure.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1120 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-02 14:06:06 +00:00
Jake.Stine 56545f0b7d *Experimental* Made new IopHwRead and IopHwWrite from scratch, in pre-preparation for a new lookup-based IOP memory manager. Could be some lingering bugs or typos. :/
Win32/vcproj: Re-structured the folder layout of the project.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1116 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-02 10:48:41 +00:00
Jake.Stine a69cfcc464 Removed VU-Skip [helps simplify the frameskipper logic] -- Use the VU Cycle Stealer hack instead for better, faster, more stable speedups of the VU1 unit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1114 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-02 09:04:47 +00:00
Jake.Stine 17caa515ac Rushed my prev commit. Here's some basic thing, only much less broken and crappy. (fixes double-spaced emuLog.txt file contents)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1099 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-01 02:53:09 +00:00
arcum42 ecddd1dd6e wxGui: Type the letter 'L' a whole bunch of times.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1097 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-01 02:15:18 +00:00
Jake.Stine e24851927a Fixed some 'too many newlines' bugs in the Console namespace.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1096 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-01 02:12:45 +00:00
Jake.Stine 31f0be6eb8 Merged drk||Raziel's "BTS Manual Protection" enhancement for the vtlb into /trunk, and combined it with Pseudonim's "Manual Block Clear" enhancement for an ideal two-phase protection system.
Most things should be a bit faster with this new system.  The system is more balanced than the previous one, in that it provides a better overall performance across most games, but some specific FMVs (like Disgaea 2's) will be a bit slower.  On the other hand, others like DQ8 and Kingdom Hearts 2 FMVs get a big speedup.  Almost all in-game stuff should be either the same or faster now.

Set a bunch of ignores for TortoiseSVN users, as suggested in Issue 166.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1083 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-29 04:24:46 +00:00
Jake.Stine 04beb1f29f wxGui branch: [linux] Minor fixes to the GUI -- Ok/Cancel buttons line up where they should now. :)
CodeBlocks Project Changes:
 * Fixed some absolute folder specifications (/home/pubuntu/) which went unnoticed.
 * Enabled Precompiled header support (speeds up compilation about 40% for me).

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1081 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-28 20:26:43 +00:00
Jake.Stine d9f367f03f wxGui Branch: [Linux] Fixes for various warnings and errors.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1078 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-27 22:00:56 +00:00
cottonvibes 5183f1eb63 pcsx2:
- fixed the 5 warnings in hacksDlg.cpp

microVU:
- major changes to microprogram logging. logs are now in html format with color-coding, hyperlinks to branch addresses, horizontal rules separating blocks, etc...
- made mmx reg usage for VI regs toggable (off by default now)
- minor changes

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1071 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-27 10:00:58 +00:00
Jake.Stine 5d36fe3839 wxGui branch: Holy crap! I converted it to unicode! This was an absolutely maddening experience. [also: Merged with /trunk]
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1069 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-27 02:04:31 +00:00
Jake.Stine 7394e99ef6 Ok, I lied -- more work on the emitter. I forgot to fix up the Jump/Call api yesterday and, along the way, did lots of major cleanups. :)
(and broke linux, probably!)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1054 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-24 11:25:10 +00:00
Jake.Stine ef565303a5 Finished the emitter, complete with code cleanups! :) (added last few SSE instructions, and inserted placebos for some future additions to the x86 portion, regarding xchg/xadd/etc).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1047 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-23 12:39:59 +00:00
arcum42 e87d224cc9 Started consolidating the various Dump routines, most of which are broken, into one file.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1044 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-22 13:25:26 +00:00
sudonim1 d7341d5b69 Protect manual pages again after running code in them for a while, should speed up some games and probably not significantly slow down any.
Related new speed hack, fast-forward a block starting at 0x81FC0 which some games (FFX) run a lot.  This block is also excluded from the previous feature.
Rearrange configuration file and speed hack dialog.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1040 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-21 23:30:06 +00:00
Jake.Stine 2dcee32079 Linux: Fix some GCC compilation errors. And update the msvc project (somehow didn't get committed last night, but only change header files so prolly didn't break anything).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1037 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-21 13:54:41 +00:00
cottonvibes 50c4a95c06 microVU: added support for logging complete micro programs saved to the files microVU0.txt/microVU1.txt (in the logs folder)
note: currently the code only lists the opcodes without the operands.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1033 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-20 19:37:41 +00:00
Jake.Stine 6f99ec45b9 Emitter: Fixed a small bug in the ModSib emitter logic which caused some forms of ESP to encode incorrectly. Implemented CALL/BSF/BSR [x86], MOVQ, MOVD, and MOVSS [mmx/xmm]. Renamed ix86_mmx.cpp and i86_sse.cpp to ix86_legacy_mmx.cpp and i8x_legacy_sse.cpp.
iMMI.cpp: Removed mucho dead pre-SSE2 code. (old code can be grabbed from a tagged revision, in case it's useful for future reference).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1011 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-19 02:14:50 +00:00
Jake.Stine 029a94ce3f Emitter: Added BTS/SETcc/TEST instructions.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1001 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-17 18:47:04 +00:00
Jake.Stine 1279fe2c21 Emitter: Implemented INC/DEC/NEG/NOT instructions. Plus: many code cleanups using a better form of template parameter inference.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@990 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-16 22:38:55 +00:00
Jake.Stine ac2f5713fc Emitter: fixed a bug in MOVSX/ZX's reg->reg form [resolves Issue 159 - missing geometry in DQ8], and moved some files around.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@988 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-16 14:45:13 +00:00
Jake.Stine 4658529970 Emitter:
* Added MUL/DIV/IMUL/IDIV to the emitter, renamed as UMUL/SMUL respectively (to remove ambiguity of the instruction behaviors).
 * Fixed a bug in the shift instruction emitter that would have caused it to emit the wrong instruction type (like a SHR instead of a SHL, for example).
 * Added type strictness to the shift instructions that take the CL register as a parameter.  Passing anything other than CL will generate compile time errors now.
 * Fixed a syntax error in one of the legacy defines.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@986 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-16 01:34:09 +00:00
Jake.Stine f228a91c93 Added CMOV to the emitter, renamed x86Struct stuff to iStruct, renamed XMMREGS / X86REGS / MMXREGS defines to iRegCnt_XMM / iRegCnt_GPR / iRegCnt_MMX, and undid a couple u32 optimizations which could have caused unexpected behavior in the future, if we ever decided to employ some particularly obscure case of self-modifying code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@985 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-15 21:00:32 +00:00
sudonim1 4d2adcae9f New speed hack mainly targeting 3D geometry.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@984 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-15 20:31:58 +00:00
Jake.Stine be430d5d89 Fixed a bug in the Emitter the caused the VU1 to screw up a bit (bad gfx and freezeups and stuff). Also: Resolved some GCC/C++ troubles.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@974 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-14 12:37:48 +00:00
Jake.Stine 6cceed6268 Many Emitter updates:
* added implementations for MOV and Shift instructions (SHL, SHR, ROL, ROR, etc).
 * Improved compilation optimization considerably, by improving inlining selection in cases where constant propagation can be resolved reliably.
 * Moved lots of code around, so that the new emitter and the legacy emitter are more clearly separated; and renamed some vars.
 * Changed recompilers to initialize the recBlocks array to 0xcc instead of 0xcd (fills the blocks with the single-byte instruction INT3, which fixes the misalignment mess that would sometimes happen when using disasm views on the RecBlocks contents).
 * Switched back to /O2 (Optimize for Speed) instead of /Ox, since MSVC (for me) generally fails to optimize Thread-Local storage in /Ox mode.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@971 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-14 01:26:57 +00:00
drkiiraziel f3370ce28f --updated to r956
--uses test8 instead of test32 when possible
--exception handling checks are a bit more strict

git-svn-id: http://pcsx2.googlecode.com/svn/branches/vtlb-exp@957 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-12 02:49:23 +00:00
cottonvibes 6775b8a5cc microVU:
- added microVU_Execution.inl
- dispatcher stuff is now recompiled with pcsx2's emitter instead of using inline asm, its cleaner than inline asm and its more portable since the asm won't have to be ported to GCC.
- lots of first-pass implementation for lower opcodes
- implemented documented branch behavior (first pass stuff only)
Note: theres some undocumented stuff branches do according to Nneeve's tests, but i won't implement those for now since 99% of games shouldn't need it, and according to the tests, the behavior seems kind-of random/erratic.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@948 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-10 19:45:27 +00:00
drkiiraziel f5e99af1ab --No longer uses 2 hacks/buffers, it just stores the info needed to generate the memops directly on the code
git-svn-id: http://pcsx2.googlecode.com/svn/branches/vtlb-exp@936 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-09 23:01:56 +00:00
drkiiraziel 6c88e99cf2 --This breaks linux.
--Basic vtlb code rewrite for full mapping using exceptions
--This is buggy & leaks ram for now


git-svn-id: http://pcsx2.googlecode.com/svn/branches/vtlb-exp@934 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-09 20:44:26 +00:00
Jake.Stine 5f354c3cee Reverted the emitter back to a c/cpp form from inl files (probably wasn't necessary, but I don't like having code in header/inl files when I can help it). Also:
* Fixed a couple potential bugs in some Rm forms of MMX instructions.
* Improved compilation times by isolating BaseBlockEx.h to the files the needed it (it uses STL junks).
* Removed some dead code form emitters and BaseBlockEx.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@921 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-07 21:54:50 +00:00
Jake.Stine bf3d124e23 Switched the emitter over to using Thread-Local storage (TLS), which removes all the templates and brings us back to a more traditional-looking, macro-free, and intellisense-friendly implementation. Plus it's a lot less prone to errors and will make debugging easier down the road. (next commit will rename the files back to .cpp and get them out of the header includes)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@919 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-07 16:54:02 +00:00
Jake.Stine 2588dc0309 Emitter renovations of a large scale sort (only up to phase 1). Intel's 'group 1' instructions now use a completely new ModRM/SIB encoder, along with a nicely object-oriented interface. I created some macros to retain backward compat for now, and will continue implementing the rest of the instructions later as I have time.
Also: Removed x86/64 instructions from the emitter.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@917 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-07 08:42:25 +00:00
Jake.Stine 7cf7a118b7 Revered Misc.cpp and vssprintf.cpp from r904. See r904 comments for details.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@911 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-04 19:50:34 +00:00
Jake.Stine 25185c75c1 wxGui branch: Merged with trunk up to r903, and resolved some Win32 compilation/link errors.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@908 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-04 16:05:14 +00:00
Jake.Stine 915c827a63 wxGui branch: Removed several unneeded files from the Win32 builds (removing them since I can reference them from trunk, and if they're deleted I won't have to spend time merging possible changes and stuff later).
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@907 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-04 15:29:56 +00:00
Jake.Stine 30339b5ca8 wxGui branch: Added the About box, and embedded images/icons into the exe. Since images are embedded now, I moved them from the /bin folder to the /pcsx2/resources folder.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@899 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-03 22:24:57 +00:00
refraction 4c41d6abb1 went a bit mental lol :P
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@897 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-03 19:17:40 +00:00
refraction 1e9f8b3c6c Fixed devel building again, assumably as jake turned the optimizations back on that he didnt want them off.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@896 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-03 19:09:38 +00:00
Jake.Stine 6562396612 wxGui branch: Finished the About Box!
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@894 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-03 17:25:57 +00:00
arcum42 b44d1590ca Fiddle with ProcessFKeys a bit, and hack in a key to turn logging on and off(F10).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@891 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-03 01:05:28 +00:00
Jake.Stine f0a97d3633 wxGui branch: Fixed Release build errors, removed WinMain.cpp and Remote Debugger stuff from the build project (slowly but surely eliminating dependencies on old code!!), and added AboutBoxDialog files, which I plan to work on next. (gotta have an about box!)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@890 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-03 00:50:39 +00:00
Jake.Stine 00528b3be3 wxGui branch: Moved and renamed some files and classes. I'm quite a bit more fond of the C# / Java naming schemes for forms and dialogs over the wxGlade frm/dlg prefixes. Namespaced all dialogs into Dialogs::. (all two of them at this point, but many more will come! .. someday)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@882 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-02 11:54:19 +00:00
Jake.Stine 2c3c5401e8 wxGui branch: major progress on many fronts!
* Added new files AppConfig.cpp and StringUtils.cpp, and removed memzero.h (we'll use the win/linux platform dependent implementations)
 * Enabled wxWidgets memory tracing since we don't use a memory trace util of our own.

 * Switched many instances of std::string to wxString.
 * Added preliminary support for configuration settings and ini file creation.
 * Added a set of parsing and splitting tools to StringUtils.

 * Set it up so that the Console log is attachable to the main window, when dragging (fun!)
 * Main window and console log window record and restore window positions between runs (only partially implemented yet)

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@881 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-02 11:30:23 +00:00
Jake.Stine cf0c53f152 wxGui branch: Merged with trunk (2 weeks of changes!)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@876 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-31 15:54:14 +00:00
Jake.Stine b3043d4c41 wxGui Branch: Added some console logging code (not yet finished). Can't really use wxWidgets built in version because it's not extensible (grr).
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@875 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-31 15:27:42 +00:00
Jake.Stine e79c1c3cd4 wxGui branch: More improvements to CheckedStaticBox. It's mostly complete now, and I'll likely move on to implementing some new dialog boxes now.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@869 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-31 07:03:32 +00:00
Jake.Stine e9d722ba1a Set zlib to use fast compression for savestate (big speedup for when making savestates).
Disabled Edit and Continue and re-enabled optimizations in devel mode (thought I disabled Edit and Continue earlier, but I guess it didn't get saved/committed correctly).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@865 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-30 18:19:05 +00:00
refraction 695608991c removed an incompatible option from devel builds (it refuses to build), presumably whoever changed it wanted the debug option on, so ive removed the optimization.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@863 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-30 17:10:57 +00:00
cottonvibes e0c3ecbc8f miscellaneous microVU changes...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@860 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-30 01:00:38 +00:00
Jake.Stine 376b694baa wxNewGui: Cleanups of the Logging dialog layout (yet unfinished).. added some helper functions for common dialog layout stuff. Still learning my way around wx. :/
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@837 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-23 10:42:08 +00:00
ramapcsx2 157e696182 - Various fixes to MMI and more changes to opcodes to mimic ps2 behavior, thanks to Nneeve.
- Brought back a gamefix for Persona games. They still have missing geometry without it (VU clip flag problem)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@835 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-22 19:40:43 +00:00
cottonvibes 3e3ffef417 microVU: moved stuff around, and implemented some other stuff... also added the file microVU_Analyze.inl to project.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@831 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-22 07:36:02 +00:00