Commit Graph

4562 Commits

Author SHA1 Message Date
Jake.Stine e246d617ef Minor fix from yesterday's IPU refactoring (fixes some homebrew stuffs)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3738 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-06 16:58:10 +00:00
gregory.hainaut@gmail.com ddb33652ab GregMiscellaneous: Minor clean
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3737 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-06 12:23:45 +00:00
arcum42 3dcb931a49 Remove fullscreen from the configuration dialog, and make esc go back to windowed mode.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3736 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-06 12:09:49 +00:00
arcum42 a468a27523 GregMiscellaneous: zzogl: Got rid x & y in GLWin. Make sure nBackBuffer gets set to the right width and height.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3735 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-06 09:46:33 +00:00
gregory.hainaut@gmail.com dc49a995d6 GregMiscellaneous: zzogl: Fix fullscreen setting & remove useless library
Major issue left: widescreen.


git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3734 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-05 22:08:55 +00:00
gregory.hainaut@gmail.com 65b985698e GregMiscellaneous: zzogl: add some locking. Work far better.
The trick was to call XInitThreads in the beginning.


git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3732 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-05 16:30:47 +00:00
gregory.hainaut@gmail.com 0845dffb5b GregMiscellaneous: zzogl: rework fullscreen (to be friend with the WM). Note: it is not crash free for the moment.
* use alt-enter to toggle the fullscreen mode. (toggle quickly multiple time to crash it...) I suspect need of XLockDisplay & XUnlockDisplay
* escape: will quit for both mode

Not yet done: 
* good support of fullscreen conf flag. Which is wrong for the moment. (actually may be a source of crash)
* Better support of widescreen screen


git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3731 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-05 15:47:09 +00:00
Jake.Stine 3cfd0c68af * Rename cpuBranch[...] functions and vars to cpuEvent[...], which should be more clear and consistent as to their true purpose. (to clarify: events typically run during cpu branch instructions, but most branches don't actually have anything to do with whether or not there are events pending or events being run).
* Add some missing & ~0x0f address alignment stuff to odd-size FIFO reads/writes (thanks gregory)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3730 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-05 15:38:14 +00:00
gregory.hainaut@gmail.com 5e8f776adb GregMiscellaneous: sync from trunk (3679:3727)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3729 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-05 15:33:08 +00:00
Jake.Stine 1698382065 Simplified CPU-level exception behavior:
* Both INTC and DMAC exceptions are now issued together when possible (0x400 | 0x800 to the CAUSE register, respectively)
 * CPU exceptions are checked on every event now, instead of using scheduled interrupts on bits 30/31.  This removes the need to constantly reschedule events during interrupt-disabled states.
 * CPU exception test is moved to the top of the EE event test.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3728 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-05 15:11:19 +00:00
Jake.Stine 02b390b0e1 Changed SIF and IPU macros for hw register mappings into references. (-> into .)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3727 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-05 02:51:36 +00:00
Jake.Stine 935159ed8e IPU: Split IPU DMA stuff out into its own file, and add missing region info (got left out AGAIN >_<) and a potentially important bit of IPU information to the savestate.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3726 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-05 00:36:03 +00:00
Jake.Stine 46b89abb72 * Move the GIF register handlers from dmac to hwRead/hwWrite (like the VIF registers they aren't actually DMA-related).
* Minor cleanups to trace logging and FastFormat string stuff.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3724 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-04 14:11:50 +00:00
cottonvibes 147e4b8409 microVU:
- Fixed xmm reg corruption when calling console print functions from recompiler (win-vista+ clobber some xmm regs)
- Tweaked and commented regalloc class

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3723 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-03 05:02:03 +00:00
gregory.hainaut@gmail.com c2681d7baa debian: forgot 1 file
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3722 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-02 20:14:02 +00:00
gregory.hainaut@gmail.com 43b1fb0ca4 debian:
* remove personal rule target: has not worked since last change...
* Some fix to control. Update package std version


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3721 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-02 19:52:48 +00:00
Jake.Stine 12dbebcfd9 microVU: clear contents of microBlock on creation to avoid false cache misses.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3720 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-02 12:33:45 +00:00
gregory.hainaut@gmail.com df7708a37b pcsx2 Hw read/write: Instantiate _hwread32 template because it is used in HwWrite.cpp. It avoids link error when compiler inline template.
Note: inline the _hwread &  _hwwrite functions could be a good idea.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3719 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-02 08:28:24 +00:00
Jake.Stine 96855850f3 microVU: bugfix for prev revision (.r and .flag member mixup); and removed an unneeded check against exactMatch.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3718 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-02 02:38:54 +00:00
Jake.Stine 76d639ff39 microVU:
* Remove need for packed structs through use of unions.
 * Streamlined the microBlockManager's linked list (less heap allocs and simpler interations).
 * Use two 32 bit compares for fast block compares, instead of 6-7 individual u8 compares.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3717 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-01 16:15:18 +00:00
arcum42 1ded55f4cf Hack around Linux compilation issues for the moment.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3716 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-01 10:48:43 +00:00
arcum42 a4155a2240 Minor cleanup from the last commit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3715 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-01 10:34:02 +00:00
arcum42 e686d47cd7 ZZOgl-pg: Rework the GLX11Win.cpp code a bunch. Fix a bug leading to crashes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3714 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-01 10:28:37 +00:00
cottonvibes 009d6ba5e6 microVU:
- Code refactoring (mostly changing macros to functions/constants...)
- Made it so the disable-regAlloc option flushes every 32bit instruction, instead of every 64bit instruction (upper+lower instruction pair)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3713 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-01 04:57:10 +00:00
cottonvibes 807bd9659c pcsx2 mmi: apparently msvc does an unsigned compare jump when you have:
int src; if (src < 0xffff8000) {}
so solution is either use (int)0xffff8000 or -0x8000...
it also doesn't seem to print out warnings about this either D:

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3712 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-01 02:03:10 +00:00
Jake.Stine 27a3f11278 Remove some code from DMAC.h and into LegacyDmac.cpp (these changes are mostly related to the new dmac prep on the other branch, but I'm doing them here to help keep major refactoring differences and merge conflicts to a minimum between the two branches).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3710 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-31 21:22:39 +00:00
gregory.hainaut@gmail.com f6a541928a debian: Use english word & grammar...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3709 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-31 16:59:57 +00:00
Jake.Stine 0bb377511b Uninitialized variable fix in ScopedLock as found by Gregory, and a few more minor -> to . conversions.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3708 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-31 16:40:25 +00:00
Jake.Stine 1edb900405 Changed a few more -> to . for consistency.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3707 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-31 13:06:53 +00:00
arcum42 fe347c2c04 Fix Linux compilation, fix a potential crash, and add a build target I find useful occassionally.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3706 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-31 09:31:47 +00:00
Jake.Stine bcac59ee4f Linux/GCC fixes. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3705 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-31 05:47:54 +00:00
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
gregory.hainaut@gmail.com 9f2720540f GregMiscellaneous: Add a FRAME_RECORDING_ON define to record skipped frame based on Zeydlitz version.
Note: it dumps some .tga picture in current folder.


git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3699 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-29 12:44:55 +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