Commit Graph

3255 Commits

Author SHA1 Message Date
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
refraction 81dc6726d0 VIF MFIFO:
- Proper fix for FF7 DoC. 
- Changed the handlng of .inprogress to be cleared/set with ANDs and ORs (could probably change this to a structure later), it could have interfered with MFIFO functionality.
-Un-bool'd a function in MFIFO which really didnt need to be bool'd, causing pointless passing around of data.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3632 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-11 09:16:12 +00:00
ramapcsx2 e97c68e832 Added a minor hack to MFIFO interrupt timing. Fixes FF7 DoC.
Long interrupt delays are always bad, no matter how true it is to actual console behavior.
(Issue with running code in block slices.)
Also removed outdated hacks for Devil May Cry PAL :p

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3629 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-10 10:04:17 +00:00
gregory.hainaut fa793cca25 cmake:
* move machine optimization in the global setup. In same time use i686 instead of i486
* Also build the debug with fvisibility=hidden No reason to use it only on devel. (actually same as codeblock)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3628 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-09 19:05:02 +00:00
gregory.hainaut df436f1583 zzogl copyright:
* common.h is mostly based on multiple file in ffmpeg. So apply the same licence as the original files
* Others zerofrog's file: add a note on the missing copyright notice.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3627 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-09 18:57:00 +00:00
Jake.Stine 20adde44a6 PCSX2/EEcore:
* Now using SSE for all hardware register reads and writes (mainly MFIFO stuff) [don't expect a speedup, really -- its more of a code simplification in this case].
 * [refactoring] Changed the EE Memory (vtlb) to use the u128 type instead of u64 for the 128-bit loads/stores (see mem128_t typedef)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3626 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-09 15:42:13 +00:00
arcum42 c425ece009 'static' and 'extern' do not mix.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3625 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-09 09:19:50 +00:00
Jake.Stine 8375b0a989 Refactoring:
* Added __fi and __ri, which are abbreviations for __forceinline and __releaseinline.
 * Added some static qualifiers to functions in mVU, MMI ops, and others where appropriate.
 * Removed some unnecessary __fastcall qualifiers (since GCC gets funny sometimes when you combine __fastcall and inlining).
 * Made _1mb, _16mb, _1gb values common to all emulation code (moved from newVif/mvu to Common.h) -- they're useful! :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3624 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-09 04:10:38 +00:00
ramapcsx2 dceb9a78bb GSdx:
- Few more CRCs

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3623 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-08 20:14:06 +00:00
ramapcsx2 aa8c007af3 Pseudonym found missing register allocation flushes in our recompiler loads / stores.
This is fixed now.
(Devil May Cry 1 fixed)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3622 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-08 18:05:16 +00:00
Jake.Stine 8160056911 Bugfix: EE and IOP consoles were piping through printf formatting, causing occasional crashes (introduced in r3609)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3621 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-08 16:19:37 +00:00