Commit Graph

3165 Commits

Author SHA1 Message Date
Jake.Stine 003da7d287 MAJOR: All new hwRead and hwWrite handlers (expect regressions). Details:
* Writes via 16 and 8 bit ops now use 32-bit read/modify/write operations by default; which should enable nearly complete support for all such operations (instead of the formerly spotty coverage before).
 * Eliminated almost all former 8/16-bit specific register operations.  All code shares the same 32 bit handlers now.
 * Completely revamped the developer trace logs for hardware registers!  *ALL* registers are logged now, complete with address, name, and value being read/written (and nicely formatted!).
 * Handlers are now fully page-based using templated functions (minor speedup)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3704 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-31 05:22:26 +00:00
Jake.Stine 1cac8d3948 * Added subdivided content to the u128 type (changed it from a struct to a union, added _u32[4], _u16[8], etc).
* Added ToString methods to the u128 type.
* Bugfixes for the FastFormat string utilities, namely when writing UTF8 content via the UTF16 formatter.
* MSVC: Removed obsolete disabling of unsigned/signed mismatch warning (4018)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3703 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-31 05:14:00 +00:00
gregory.hainaut@gmail.com 393333456c PCSX2 VU: Linux compilation fix and force 16 bytes alignement for VURegs
Spu2x: Use a standard destructor (POD safe stuff). Fix various segmentation faults (Issue 846)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3702 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-30 20:39:04 +00:00
gregory.hainaut@gmail.com a23c5e75b7 debian: Refresh and clean. Thanks Micove.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3701 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-30 20:32:59 +00:00
sudonim1 b5472c80ec sVU: same address translation fix as in r3697
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3700 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-30 18:26:36 +00:00
cottonvibes f438a8c8a3 pcsx2 MMI: another fix for PMFHL_CLAMP.
The dst param was never being modified since it was being passed by value instead of by reference. This leads me to believe the rest of MMI.cpp is probably riddled with errors too.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3698 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-29 05:13:12 +00:00
sudonim1 fcc6f30489 mVU, VU interpreter: fix arc the lad, freakstyle (VU1 register mapping / memory wrapping)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3697 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-27 21:25:21 +00:00
gregory.hainaut@gmail.com 72ca36954b pcsx2 MMI: u16 -> u32 for src parameter of PMFHL_CLAMP.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3696 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-27 17:51:40 +00:00
gregory.hainaut@gmail.com 07e7995464 pcsx2: Fix tons of warning (no return statement)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3695 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-27 15:49:44 +00:00
ramapcsx2 809135a3b0 GSdx:
Another round of configuration dialog renovations. 
Fixes the leftover "Skipdraw" text when hacks are disabled.
Group the options a bit nicer. Group hardware Anti Aliasing with hacks.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3693 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-27 13:48:41 +00:00
Jake.Stine bda94b16cd General emulator memory work, regarding my new policy that most (or all) cpu and hardware registers should be standard globals, as it makes our lives a lot easier in general (and their memory footprint is small so it won't adversely affect the virtual memory availability of the host operating systems). Details:
* Removed the hacky g_pVU1 pointer, which required VU1 cpu registers to be part of VU0.  Replaced it with a standard VU1 variable (mimics all other CPU registers, which are standard static vars).  We were using translation functions/tables for all VU0 memory operations anyway, so this was a no-brainer.
 * Removed code from microVU that was only there to help deal with the fact that g_pVU1 was annoying.
 * Turned eeMem->HW into a static global array eeHw [64k].

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3692 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-27 03:21:16 +00:00
gregory.hainaut@gmail.com 28dc7cfe69 PadNull: safer fclose
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3690 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-25 20:18:45 +00:00
Jake.Stine 70cd51a64b A 'nice' fix for GCC's fickle dislike of packed structs. 1) the VU registers struct no longer needs packed (the unions ensure proper packing); 2) introduction of 128-bit UQ/SQ members.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3689 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-25 15:32:17 +00:00
cottonvibes 0300f5a80e microVU: Added some logs to dev builds for checking rare cases. (VU programs that wrap around VU memory, and VU0 micro-programs that access VU1's registers by its mem-mapping at 0x4xxx)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3688 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-25 00:57:51 +00:00
Jake.Stine d19cc9d951 Eh, more VU interpreter cleanups.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3687 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-24 21:38:05 +00:00
Jake.Stine 3a8e904525 Fix GCC compilation error from prev commit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3686 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-24 18:12:19 +00:00
Jake.Stine a0389c4d18 * Redid the VIFunpacker's wrapped memory address detection (a bit more compact now)
* More VU interpreter cleanups  (VU0micro.cpp and VU1micro.cpp are just about ready for permanent removal now).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3685 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-24 17:53:27 +00:00
arcum42 0d050634ff zzogl-pg: Add the updated crc list from r3660.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3684 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-24 11:23:40 +00:00
gregory.hainaut@gmail.com 4e8c50dc9e CDVDiso: Fix the code to compile without -fpermissive
* Add some 'const'
* Add some type cast: FILE* and char*


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3683 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-23 18:35:20 +00:00
gregory.hainaut@gmail.com d71cce5495 onepad: implement setLogDir interface
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3682 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-23 18:30:48 +00:00
ramapcsx2 18663acf57 - Warn about disk emulation software on CDVD file access failure. Seems to be a too common problem people run into.
- Minor log change for SPU2-X.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3681 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-23 12:10:55 +00:00
Jake.Stine 17df6e218c VU interpreters: removed redundant VU memory masking (this also caused the VU0's memory map of VU1 regs to fail), and improved inlining a little bit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3680 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-23 08:30:10 +00:00
gregory.hainaut@gmail.com d183232e69 zzogl: Limit texture supported to 8k
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3678 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-22 10:22:07 +00:00
arcum42 661ddf088c ZZOgl-pg: Catch up with some of the changes in recent revisions of zzogl.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3677 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-22 09:42:28 +00:00
sudonim1 4da64590d9 Geh, forgot to save after writing a comment.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3674 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-21 14:51:20 +00:00
sudonim1 8aee9f652d Very nasty quick fix for sVU and VU interpreter regression in r3648. I have no idea why it's desirable to be able to move the VU registers structure after initialisation and a proper fix allowing for this is going to messy. Needs Jake's attention.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3673 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-21 14:50:45 +00:00
gregory.hainaut@gmail.com 112800cb98 common, GSnull, zzogl-pg, SPU2null: add more safety to some fclose functions. Avoid a bunch of double free and memory corruption.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3671 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-20 11:13:40 +00:00
ramapcsx2 92dbee7e79 Small updates to the game database and GSdx CRCs.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3669 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-19 13:01:26 +00:00
arcum42 66c8b8381e zzogl-pg: Quick Windows fix for an issue introduced in zzogl r218. Fix a typo.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3663 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-18 13:38:45 +00:00
arcum42 0e37310783 zzogl-pg: Copy the modified ps2hw.dat file in as well.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3661 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-18 12:44:45 +00:00
arcum42 59262101db zzogl-pg: Add in changes from zzogl r218. (I'll still need to go through r214-217 and grab any important changes, though.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3659 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-18 10:52:57 +00:00
arcum42 9a5e9e24e1 zzogl: Get a start on abstracting the memory code a bit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3657 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-18 08:54:16 +00:00
gregory.hainaut@gmail.com fcba95f4d4 CDVDlinuz:
* move content of version.h into CDVDlinuz.h (avoid a conflict with version.h located in /usr/include/alsa)
* allow cmake to build it.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3654 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-17 14:39:58 +00:00
Jake.Stine 365ffdb66c Bugfix for string formatting on some non-MSW platforms.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3652 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-17 12:09:03 +00:00
Jake.Stine 645188e0e8 GSdx: Minor optimization and some code simplifications relating to VertexKick/DrawingKick and the Packed register handlers. I also added preliminary work for a switch-based packed register dispatcher (WIP, doesn't support frameskipping yet).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3649 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-17 04:38:49 +00:00
Jake.Stine d4d98d9f62 microVU:
* Removed a DevCon from one of the mVU dispatchers and replaced it with an assertion (minor speedup for Release builds).
 * minor refactoring, encouraging mVU toward using class members and away from using quite so many macros.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3648 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-17 04:18:39 +00:00
Jake.Stine 6afa5ba769 Ok the last fix for GCC exploited a bug in MSVC's handling of taking the address of templated functions (one I've run into before). So I gave up and reverted to non-template code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3647 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-17 01:52:12 +00:00
Jake.Stine 6a18d4f50a GCC/Linux compilation fix for VTLB code modifications made earlier. These thanks to two apparently separate bugs, one in GCC 4.0-4.4 and another related one in 4.5. Sigh.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3646 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-17 01:37:19 +00:00
ramapcsx2 6798f27d4d Found and fixed the issue causing some FFX battles to hang since ~400 revs ago.
The same problem caused the hang in Phantasy Star 4 when pressing pause.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3645 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-16 18:04:05 +00:00
Jake.Stine a8e406523b Improved EE/VTLB memory management: Removes various psM/psR/psS/psH pointers and replaces them with a single unified eeMem pointer. Members of eeMem correspond to Main, Scratchpad, Hardware, etc. This simplifies the EE's memory allocation, improves compiler optimization, gets rid of some macro mess, and allows templated code to deduce the size of memory buffers automatically.
* Includes a minor tweak to DMAC.h - removed tDMA_TADR / tDMA_MADR / etc. and replaced them with a single tDMAC_ADDR class.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3644 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-16 15:57:01 +00:00
Jake.Stine 91851c6222 Trace Logging:
* Cleaned up trace logging and switched from C++ initializers to C-style const arrays.  Kinda mixed on which I like better, but decided to go with the general rule of thumb that a bit less C++ weirdness is probably a good thing.
 * Removed __assume() feature from pxFail and pxFailDev, due to the likeliness of unwanted/unexpected compiler behavior (MSVC only).  To hint the compiler that code should be unreachable, explicitly use pxAssume(false).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3643 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-16 15:01:13 +00:00
ramapcsx2 cad4158283 GSdx:
Added Haunting Ground to the list of games that get their post processing automatically removed.
The game still shows a badly blended fog but is otherwise nicely playable now.

Hacks are from an unknown coder. Thanks for figuring it out! ;)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3642 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-15 14:48:07 +00:00
ramapcsx2 d05dcc48f7 Fix a typo in the wait loop detection hack.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3641 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-14 23:47:44 +00:00
arcum42 699e623998 zzogl-pg: Work on GetRectMemAddress.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3639 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-14 08:15:19 +00:00
arcum42 e4eec943de Get rid of extraneous line breaks on the console output(Linux).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3638 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-13 19:35:32 +00:00
gregory.hainaut 2544f4c320 zzogl: update the size of the default advance panels. Avoid resizing every times.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3637 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-13 16:00:52 +00:00
ramapcsx2 a0f3f4b904 Re-fix Def Jam Fight for NY.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3636 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-12 19:58:19 +00:00
arcum42 a586d8364e pcsx2: Get Linux compiling.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3635 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-12 11:28:22 +00:00
refraction 09b52156d7 Im sure this got in there by error back when the OPH stuff revert went on.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3634 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-11 09:49:57 +00:00
refraction 45b7a18c8b Missed a couple of bits :P
Small OPH/APATH clear which shouldn't have been there.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3633 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-11 09:48:43 +00:00