Also added a check for a possible scenario where SPR may try and read/write crossing VU0 memory boundaries in to mirrored space, could cause issues in games if it happens.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5481 96395faa-99c1-11dd-bbfe-3dabce05a288
Also cleaned up the DMA change made in r5393 and added a small comment of explination to why it is now right :P
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5413 96395faa-99c1-11dd-bbfe-3dabce05a288
This gets videos working in Katamari Damaci, Baldurs Gate, Tales of Destiny 2, Suikoden Tactics and others.
May fix other games as well, these are just the popular ones :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5393 96395faa-99c1-11dd-bbfe-3dabce05a288
Put in some handling for MPG Overflows (VIF command, not videos :P)
Fixed another SSE Unpack bug i came across - Effected THPS Project 8
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5392 96395faa-99c1-11dd-bbfe-3dabce05a288
This is a workaround for the many FMV issues that occur in hardware rendering and that will take a while longer to get a proper fix.
It doesn't have any checks for the current video mode, so don't put GSdx in software mode and expect this to adapt, okay? :p
Note: It's possible to get crashes from switching renderers so please report those if you get them.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5391 96395faa-99c1-11dd-bbfe-3dabce05a288
NOTE: The 'glew' project does NOT build yet, but it will have to be decided how to approach the problem (String literal too long in glew.rc)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5382 96395faa-99c1-11dd-bbfe-3dabce05a288
* search 32-bits library on /usr/lib/../lib32 on 64 system (if they don't support Debian/Ubuntu multiarch)
* downgrade the 64-bits FATAL_ERROR to a warning. It is much more easier to use multiarch than to set a chroot.
* incorporate Micove's patch to allow keyword on PLUGIN_DIR define. (fixed issue 1233)
* Allow to use command line pcsx2 option with the linux launcher script. Thanks Rafael for the idea.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5378 96395faa-99c1-11dd-bbfe-3dabce05a288
VIF: changed a memcpy_aligned on 64-bit aligned data to memcpy_fast. Doesn't matter with the current memcpy set we use but could have caused a crash in the future.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5373 96395faa-99c1-11dd-bbfe-3dabce05a288
Added menu item (always in English): Misc -> Change Language. Displays a message that the first time wizard will be displayed after pcsx2 is restarted, and requests the user to restart.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5370 96395faa-99c1-11dd-bbfe-3dabce05a288
Translators note: I save previous translation but a careful review is mandatory
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5366 96395faa-99c1-11dd-bbfe-3dabce05a288
Also set the auto deinterlace mode in GSdx when the .ini isn't present (instead of "none").
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5270 96395faa-99c1-11dd-bbfe-3dabce05a288
Examples of speed ups:
Outrun 2006
before 43.4 - 45.7
after 44.7 - 47.33
Grand Theft Auto: San Andreas
before 63 - 66.9
after 66 - 69.5
Need for Speed Most Wanted
before 33.0 - 33.3
after 33.22 - 33.57
Burnout 2
before 46.5 - 48.3
after 53.2 - 55.5
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5246 96395faa-99c1-11dd-bbfe-3dabce05a288
*Noted small speed boosts on some games (Outrun up from 48fps to 52fps, MGS3 potentially gaining 1fps, Sega Tennis possibly 0.5fps), could be a freak occurrance tho :P
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5228 96395faa-99c1-11dd-bbfe-3dabce05a288
-Path3 Masking Changes, Gif Unit now rolls the DMA back (Path3 only) if it is using the Masking and finishes mid DMA packet.
-Vif modified to be simpler in the transfer loop and fixes issues where Flushes are called at the end of a DMA packet.
Game fixes from changes:
Outrun 2006 - Water textures and general flickering fixed, also SW mode not required for half screen issue. Caused by GIF Path 3 stopping in the wrong place.
Star Wars Episode 3: Revenge of the Sith - DMA timeouts caused by Flush at end of packet.
Had to break savestates (version change!), sorry :(
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5224 96395faa-99c1-11dd-bbfe-3dabce05a288
VIF Stall Delay hack: Modified slightly for Onimusha Blade Warriors. This expects the end of the packet to all be in the VIF1 FIFO (which doesn't exist) and the VIF to have finished, so the Stall is technically ignored now, doesn't hurt SOCOM 2.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5220 96395faa-99c1-11dd-bbfe-3dabce05a288
pcsx2: don't print window title in fullscreen because it create a white frame flickering. Seem like a wx regression
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5199 96395faa-99c1-11dd-bbfe-3dabce05a288
Previously: All presets set MTVU to disabled.
Now: Presets don't affect MTVU (except for the first preset, which disables speed hacks altogether, so MTVU gets disabled implicitly)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5196 96395faa-99c1-11dd-bbfe-3dabce05a288
The detection is based on a quickly reversed smode1 flag and needs to be done properly.
The timing itself also needs reversing and has only been tested on the VP2 intro video.
(That video now runs without audio / video desync when progressive scan is enabled :) )
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5179 96395faa-99c1-11dd-bbfe-3dabce05a288
various:
* rename the man page as requested by arch users.
* Delete pcsx2/* symlink. Was only useful for autotool removed few years ago.
* commit the top metadata of my previous branch merge.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5172 96395faa-99c1-11dd-bbfe-3dabce05a288
* change the man page to gpl3
* add missing copyrigh for zerogsshader
* re write bin2cpp tool (in perl) to avoid any copyright issue => hex2h.pl
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5155 96395faa-99c1-11dd-bbfe-3dabce05a288
* update missing copyright on
+ plugins/GSdx/config.h
+ pcsx2/MTVU.h
+ plugins/zzogl-pg/opengl/ZZHacks.h
+ plugins/spu2-x/src/DplIIdecoder.cpp
* put a copyright for trivial script file
+ pcsx2/gui/Resources/rebuild.sh
+ tools/bin2app.sh
+ plugins/zzogl-pg/opengl/shaders.sh
* remove autotool from zzogl
* apply the patch for issue 1257. Thanks very much Micove for the hard work.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5154 96395faa-99c1-11dd-bbfe-3dabce05a288
-Fixed a bug stopping GT4 running.
-VIF now waits if the VU is busy rather than spinning, causing huge slowdowns.
-Filled in some bits i missed
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5149 96395faa-99c1-11dd-bbfe-3dabce05a288
Path3 Masking: Fixed a bug which caused persona 3 not to boot, previous a hack had been put in place to get around this.
VIF: Fixed a VIF error with the rare game Realta Nua, now goes through the prologue correctly. Game requires the EE timing hack to get rid of most of the noise (Path3 masking problem with new GIF unit, unfixable).
Expecting bugs, I will be monitoring this.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5147 96395faa-99c1-11dd-bbfe-3dabce05a288
People enabled it for a performance boost and often got the reverse, so now it's gone.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5103 96395faa-99c1-11dd-bbfe-3dabce05a288
cmake: compilation fix on debian sid (and potentially ubuntu)
i18n: add some comment for potential language change in the future.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5088 96395faa-99c1-11dd-bbfe-3dabce05a288
Aligning GIF packets on state save actions seems to cause some issues with the hack.
Still hope to find a better solution.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5032 96395faa-99c1-11dd-bbfe-3dabce05a288
cmake: implement the new XDG_STD options
It allow to move all pcsx2 data from $HOME/PCSX2 to $XDG_CONFIG_DIR/pcsx2. Clearly a matter of personnal preference.
debian: drop the useless stable packet from the trunk. Only keep a copy on branch release
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5001 96395faa-99c1-11dd-bbfe-3dabce05a288
- Rewrote and simplified the TriAce gamefix
VU interpreter:
- Implemented a TriAce gamefix for vu0 interpreter
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4960 96395faa-99c1-11dd-bbfe-3dabce05a288
Apparently this is a common game breaker in PSX titles and it carried over to the PS2.
This fixes Time Crisis 2 loading and the frozen input in a horror game I have a dump of.
Please report any other titles you find fixed / broken! :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4952 96395faa-99c1-11dd-bbfe-3dabce05a288
Also added a couple important global variables to be savestated (breaks old state compat).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4941 96395faa-99c1-11dd-bbfe-3dabce05a288
- Implemented an opcode profiler which prints statistics on how often VU opcodes are used (enabled with the mVUprofileProg macro)
- Get status flag conversion function to use EAX/ECX/EDX regs when being called from EE-rec (VU0 macro mode); this should play nicer with the EE-recs regalloc system.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4940 96395faa-99c1-11dd-bbfe-3dabce05a288
(Untested, unknown what if anything it fixes, possibly ace combat series but probably not.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4937 96395faa-99c1-11dd-bbfe-3dabce05a288
Also altered some of the interpreter calls so the defines in config.h can be used again (example the #define ARITHMETICIMM)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4935 96395faa-99c1-11dd-bbfe-3dabce05a288
This fixes at least the following bug: Run a game -> ESC (GS Windows hides) -> config Video plugin and click OK -> Emulation resumes but GS window is hidden. (Solution was to click pause and then resume again, now it re-shows as it should).
Let me know if it breaks other related scenarios or if there are other similar scenarios that got fixed (or that still need fixing). E.g. pausing/configuration while at full screen, etc.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4933 96395faa-99c1-11dd-bbfe-3dabce05a288
Keys combination can be:
"alt-" and/or "ctrl-" and/or "shift-" and ( F1-F12 or KP_0-KP_9 or SPECIAL1-SPECIAL20 )
Where:
Fn is function key n
KP_n is numpad number n
SPECIALn is hardware button n (whatever that means...)
Examples:
FullscreenToggle=alt-ctrl-f12
GSwindow_CycleAspectRatio=KP_0
See full configurable strings at the first comment.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4917 96395faa-99c1-11dd-bbfe-3dabce05a288
The game attempts to loads all data in to the VIF FIFO then stall it. Something goes very wrong. Maybe one day ill replace this and the transformers gamefix with a FIFO we can turn on, but for now, this'll do.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4878 96395faa-99c1-11dd-bbfe-3dabce05a288
* Vif: Altered how resumed transfers are handled slightly on VIF side (for MFIFO).
* SPR: Now transfers data to the MFIFO even if not in MFIFO mode if it meets the conditions of the ring buffer location (SOCOM 2)
SOCOM 2 is now playable, sort of, the HUD is a mess (unless a tip shows up), looks like Path3 masking but isn't.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4876 96395faa-99c1-11dd-bbfe-3dabce05a288
Hangs also related to Phantasy Star 4 and FFX Thunder Plains, which are both still ok with this. Also the sif dma errors in Legends of Legaia should be gone again!
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4874 96395faa-99c1-11dd-bbfe-3dabce05a288
Threading VU1 took a lot of rewrites and new code to make possible (MTGS, microVU, gifUnit...), but we finally got to the point where it was feasible, and now we've done it! (so now everyone can stop complaining that pcsx2 only takes advantages of 2 cores :p).
The speedups in the games that benefit from it are great if you have a cpu with 3+ cores (generally a 10~45% speedup), however games that are GS limited can be a slowdown (especially on dual core cpu's).
The option can be found in the speedhacks section as "MTVU (Multi-Threaded microVU1)". And when enabled it should should show the VU thread-time percentage on the title bar window (Like we currently do for EE/GS/UI threads).
It is listed as a speedhack because in order for threading VU1 to have been a speedup, we need to assume that games will not send gif packets containing Signal/Finish/Label commands from path 1 (vu1's xgkick). The good news is very-few games ever do this, so the compatibility of MTVU is very high (a game that does do this will likely hang).
Note: vs2010 builds and Linux builds need to be updated to include "MTVU.h" and "MTVU.cpp".
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4865 96395faa-99c1-11dd-bbfe-3dabce05a288
The problem as I understood is is incomplete COLCLAMP support.
Thanks to sudo for the hack :)
(Unfortunately we couldn't find out more about why these FMV also *all* flicker.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4837 96395faa-99c1-11dd-bbfe-3dabce05a288
- Fixed a bug with mVU's ESIN implementation. This finally fixes the flower-petal bug in Radiata Stories (and hopefully the clouds-bug in VP2 but havn't tested). Rama and I have wanted to fix this for a long time, but never knew the problem :p
- Improved implementation of some undefined behavior that happens on branches to take into account pipeline stalls.
gif / vif:
- Added some logging code that parses gif packets. It can be enabled by the PRINT_GIF_PACKET macro in Gif.h
- Deleted some old gif code.
- On ReadFIFO_VIF1() clear the out-reg to prevent uninitialized results in case GSreadFIFO() doesn't modify it...
- Create a fallback for GSreadFIFO2() so that its always defined (as long as the plugin implements GSreadFIFO())
pcsx2:
- Organized the virtual folders in vs2008 a bit...
Note: vs2010 and Linux builds need to be modified to add Gif_Logger.cpp and delete GIFpath.cpp
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4835 96395faa-99c1-11dd-bbfe-3dabce05a288
(they were crashing with the new Gif rewrite... shouldn't anymore)
Although Jake had added the new "GSgifTransfer" callback to these plugins in the past, he forgot to modify the .def files so pcsx2 can actually use them :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4832 96395faa-99c1-11dd-bbfe-3dabce05a288
this should be the only time that an explicit flushing is needed.
doing it this way should be faster than flushing every incomplete gs packet like r4829 was doing...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4831 96395faa-99c1-11dd-bbfe-3dabce05a288
fixes Bleach bankai problem, and probably other games (wizardry/growlancer 3) but haven't tested...
Also removed a vif FlushA hack that used to be needed for tekken 4/gitaroo man but not anymore...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4829 96395faa-99c1-11dd-bbfe-3dabce05a288
some bits were kept for reference and should be deleted in the future (along with the entire GIFpath.cpp)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4823 96395faa-99c1-11dd-bbfe-3dabce05a288
Pcsx2 now has a gifUnit class which acts like the ps2's gif and executes a single gif transfer at a time (and performs path arbitration according to priority and path3 slicing).
This new code is generally a speedup for most games. Particularly VU heavy games like GoW.
This revision breaks old saved state compatibility so don't update if you wish to keep playing with your old saved states.
Leave comments if this revision fixes or breaks anything...
Message to GS Plugin authors:
This new code now uses only 1 gif callback to transfer data to the gs plugin (GSgifTransfer).
pcsx2 also is garaunteed to send full GS primitives to the plugin. So you don't have to account for partial-transfers anymore.
Thanks goes out to shadowlady who tested around 500 games for me :D
Note 1: The old gif code is still in this revision, and can be enabled by the USE_OLD_GIF macro. The old code will be deleted soon.
Note 2: This revision also enables assertion dialogs in devel builds, and changed a lot of assume cases into assertions.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4821 96395faa-99c1-11dd-bbfe-3dabce05a288
* use the standard 3 step flow: cmake, make, make install
* Remove L10N_PORTABLE option, superseeded by PACKAGE_MODE
* Extend PACKAGE_MODE to select the install directory (FHS or local bin)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4805 96395faa-99c1-11dd-bbfe-3dabce05a288
Should be a small boost in fps everywhere and otherwise likely not change anything.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4803 96395faa-99c1-11dd-bbfe-3dabce05a288
Added the tray state variable to the cdvd struct, making it safer and taking care of a previously unhandled situation.
Surprisingly this didn't break old savestate compatibility.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4786 96395faa-99c1-11dd-bbfe-3dabce05a288
This was really unsafe to do. (My fault)
Fixes savestates in Breath of Fire 5.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4783 96395faa-99c1-11dd-bbfe-3dabce05a288
=> wx directly include one gtk include file directly and it seem to use also deprecated stuff ...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4738 96395faa-99c1-11dd-bbfe-3dabce05a288
* Gsopen2 support for GS plugins => Support of the PCSX2 GS window configuration panel. Support of all PCSX2 shortcut.
* new shortcut: shift-f12 to stole the input. ZZogl shortcut must be prefixed with ctrl
* onepad: Support/fix/improve of configuration gui, multiple key, mouse/wiimote for analog joystick, dualshock3/sixaxis (basic), dual pad and experimental forcefeedback
Note: it is advices to delete OnePAD.ini
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4731 96395faa-99c1-11dd-bbfe-3dabce05a288
- Reimplemented mini/max opcodes using integer comparison operations instead of double comparison. This results in a bit less code and integer operations tend to be faster than double ops (especially on AMD cpus). Thanks to pseudonym for the idea!
- Fixed some minor bugs in mVU dev builds.
pcsx2:
- Added __fc as a shorthand macro for __fastcall since we already have __ri and __fi macros.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4713 96395faa-99c1-11dd-bbfe-3dabce05a288
Might fix problems in other games that were doing this too.
The bug was kind-of funny, it was an old line of code I had forgotten to delete xD
I also improved the console message for branch in branch delay slots to actually say the names of the branches.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4660 96395faa-99c1-11dd-bbfe-3dabce05a288
Fixes Hot Wheels Velocity Maximum Justice, and now makes the game playable with pcsx2 from what I can see :D
This revision might also fix other games that were still having problems that do branches in branch-delay slots.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4657 96395faa-99c1-11dd-bbfe-3dabce05a288
Details:
- It seems that due to legacy reasons, Lilypad is setting the current state at the GS window title, as a hack which is enabled by default (at Lilypad's main GUI tab). However, it's buggy because it only changes the display when (shift/)F2 is pressed, while the current slot actually also changes when loading/saving state via the PCSX2 main menu, so it can get out of sync (possibly with unpleasant results, especially when saving). Now it's disabled by default at Lilypad, and if enabled, displayed as "State(Lilypad)".
- PCSX2 itself now properly handles the current State slot at the GS title window.
Note: ZeroGS still changes its title independently (not via the "standard" PCSX2 mechanism) so Lilypad's title hack might still be useful for it. However, it's still buggy and can get still out of sync.
TODO: Remove this option completely from Lilypad because it's buggy? ZeroGS can still use it, but I think it can cause more harm than good. What do you think?
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4656 96395faa-99c1-11dd-bbfe-3dabce05a288
* increase a min panel size (skip when turbo string)
* shorten ee cache string with a nice tooltip
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4654 96395faa-99c1-11dd-bbfe-3dabce05a288
cmake:
* disable fomit-frame-pointer which cause crash with gcc-4.6 (it was not enabled by default but now I'm sure people will not enable it ;) )
* Try harder to pick the 32bits configuration for wx in a 64bits environment (opensuse/fedora).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4641 96395faa-99c1-11dd-bbfe-3dabce05a288
- Fix for falling through floor bug in MGS2 Demo Disc (not a proper fix but good enough for now)
- Fixed a few random tiny bugs; might not effect anything
- Coded some optimization that didn't workout well; its disabled by default, will probably remove the code later...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4640 96395faa-99c1-11dd-bbfe-3dabce05a288
This is a very light infrastructure to allow some synchronization between KB shortcuts and the GUI. Currently only used for frame limiter and aspect ratio KB shortcuts. I wanted to also use it with frame-skipping (shift-F4), however, frame skipping GUI seem to have other issues which prevent it from properly reflecting KB modifications, so it's out for now.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4627 96395faa-99c1-11dd-bbfe-3dabce05a288
[0]: it needs gold linker, tuning parameter large-function-growth to 5000 and gcc-4.6.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4617 96395faa-99c1-11dd-bbfe-3dabce05a288
Also enabling code comments again,
since the release is out now we can live with roo -1'in everything :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4614 96395faa-99c1-11dd-bbfe-3dabce05a288
i18n: allow to translate a part of system default for the language selection.
Rational: In case system default is incorrect, we will still get an english part (with the unknow-language translation)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4603 96395faa-99c1-11dd-bbfe-3dabce05a288
Hopefully allow less initial confusion (the CDVD plugin is not used by default and it will mostly stay that way, so disabled unless chosen).
Note: the Iso selector sub menu is always enabled because even when the Plugin is selected as source, selecting an ISO via the selector switches to the internal Iso reader.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4578 96395faa-99c1-11dd-bbfe-3dabce05a288
He wrote his own, faster replacement for std::vector and used it for the EE and IOP block managers.
This cuts down compiling time for some blocks from nearly 1 second to ~ 0.1 - 0.3 seconds.
With this shorter compiling time, audio and framerate should be more stable when changing levels in a game, for example.
Thanks a bunch, Firnis ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4572 96395faa-99c1-11dd-bbfe-3dabce05a288
Using ctrl + numpad 2/4/6/8/5 seem to not work on all systems. This might be a wxWidgets issue. Please read the commit comments for r4537 for some details.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4538 96395faa-99c1-11dd-bbfe-3dabce05a288
The following controls are KB only (no GUI) and they don't save nor load from the ini (thus always reset when starting pcsx2).
New KB commands:
Move image: CTRL + NUMPAD 8/2/4/6 for up/down/left/right. CTRL + NUMPAD 5 resets to center.
Vertical stretch: CTRL+ALT+ NUMPAD PLUS/MINUS/* for stretch/shrink/reset.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4537 96395faa-99c1-11dd-bbfe-3dabce05a288
For future reference:
Clearing registers on VIF reset = bad! That operation is designed to stop VIF Processing its current data, nothing more.
More importantly it causes me a great headache as it took me 2 days to find this >.<
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4519 96395faa-99c1-11dd-bbfe-3dabce05a288
This should be mandatory but (most probably) timing issues make this break more games than it fixes.
Notable exception: Mana Khemia 1 (going "off campus"), so I added it to the auto gamefix database (Only NTSC so far, anyone got the PAL CRCs?).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4512 96395faa-99c1-11dd-bbfe-3dabce05a288
Details:
The major differences between install and portable modes should now be:
1. Portable mode doesn't use the registry at all.
2. Portable mode uses the folders inside pcsx2 folder as default (install mode has some default at "my documents").
3. Portable mode tries to save relative paths at the ini file where possible*.
Specifically, portable mode now allows to select custom folders for plugins, bios, etc via the standard UI, which allows using several portable pcsx2 folder sharing the same resources (bios, iso, memcards, etc).
* Relative paths where possible = the following sequence (thanks to pseudonym for the brilliant idea):
1. If the file/folder is inside pcsx2 folder, it's saved as completely relative (to pcsx2.exe)
2. Else, if the file/folder is at the same drive as pcsx2.exe, it's saved as absolute path without the drive letter (e.g. /ISO/...)
3. Else, saved as absolute path, including the drive letter (for linux, without drive letter naturally).
This allows to create a removable drive with (one or more) pcsx2 folder on it, configure all the files/folders to point to the same drive (ISOs, save states, etc), and then take this drive, plug it into another computer (where it will be assigned with a different drive letter), and everything will continue working.
Please test it if you can. Bugs here can be inconvenient...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4507 96395faa-99c1-11dd-bbfe-3dabce05a288
1. Create inis and bios folder before then can be accessed (e.g. configure plugins, open the bios folder via "open in explorer").
2. Small fix for the "open in explorer" error dialog if a folder doesn't exist (path text was sometimes cut off)
3. Default base directory (AppRoot() - used for plugins/themes/langs) is now the pcsx2.exe folder and not CWD (probably only affects developers, but still nicer).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4496 96395faa-99c1-11dd-bbfe-3dabce05a288
Note: All files outside of pcsx2.exe folder (e.g. snapshots, memcards, bios, saved states, etc at "my documents" folder) are NOT copied automatically to the pcsx2 relative folders. So, if converting from standard install to portable and you want to keep those files, you have to copy them manually.
Bottom line: if portable mode is preferred/required, it's best to start in portable. This way no files are ever written outside of pcsx2.exe main folder (at least, that's how it should work).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4489 96395faa-99c1-11dd-bbfe-3dabce05a288
2. Game database: now always loads from pcsx2 folder (was using cwd)
details:
Portable mode: folders and file names at the ini now always saved relative in portable mode -> pcsx2 folder can be moved around, renamed, etc, and everything keeps running as normal.
Note: last elf/iso folder paths are kept absolute at the ini, and so are the last/recent iso file names. This is to allow moving pcsx2 folder around without needing to select them again. The case of putting the ISO files inside the pcsx2 folder and expecting it to work when moving the folder around is still not solved for now (but the iso can always be selected manually). Maybe will get fixed soon.
Reminder: to run in portable mode, create an empty file named "portable.ini" at the pcsx2.exe folder.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4485 96395faa-99c1-11dd-bbfe-3dabce05a288
2. Selecting ISO from the list when current source is plugin: menu now updates properly (previously: would stay at plugin).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4477 96395faa-99c1-11dd-bbfe-3dabce05a288
Removed unused items from the menus (patches and some debug items). Those will be implemented later.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4469 96395faa-99c1-11dd-bbfe-3dabce05a288
1. Restored multitap 1/2 checkboxes to the main menu.
2. Console messages now appear only on apply and only for active cards.
3. Shorter confirmation message for "duplicate card".
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4458 96395faa-99c1-11dd-bbfe-3dabce05a288
- Following rama's suggestion, and because cards can now be easily ejected/inserted, there's no more need for enabling/disabling the port. It also makes it easier to use (less configuration), and resembles the real PS2 counterpart more closely (a card can either be used or not used and that's it).
- For consistency, the MCD manager now automatically ejects cards which are "disabled" (Note: multitap cards can still be internally enabled when MT is disabled, but they not used because MT is disabled).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4453 96395faa-99c1-11dd-bbfe-3dabce05a288
1. A card at a can be dragged from a port and dropped at any empty area of the list to eject it (previously: only to an existing list line).
2. "Card:" label should fit to text size also on translation (possibly a wxWidgets bug, seem to be bypassed now).
TODO: remove the many console messages when it's considered stable.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4450 96395faa-99c1-11dd-bbfe-3dabce05a288
Major new: insert-from/remove-to file system files.
New: context menu and buttons for the new functionality (including copy which was only available via drag and drop).
Mod: slight text changes (finally should be ready for translations).
Mod: slight cleanup of functionality:
- 'Copy' changed to 'Duplicate', and can be invoked on any card, or via drag and drop to an empty port.
- drag and drop of cards: from a port to the filesystem = eject card (not swap).
- drag and drop of cards: from the filesystem to a port = insert the card to the port.
While it's functionally complete (I hope), I'm not 100% happy with the GUI. Better GUI would have been 2 separate lists (ps2 ports, unused cards) and cards can be moved between the lists. However, creating another list control, laying it out and handling the interactions between the two lists would have been a headache (even more than it already was). The major case which is hampered by the combined list is when the user has many cards on the filesystem, and he wants to insert it to a port, but the ports are way up the list so a scroll is required. This case is handled by the "Insert card" button which is available for any card on the filesystem (prompts the user to select a target port).
Let me know what you think.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4447 96395faa-99c1-11dd-bbfe-3dabce05a288
- Before: The card was reinserted after it was accessed X times (X is 128).
- After: We add another timeout limit: if card was accessed at least Y times and since then Z ms have elapsed, reinsert.
- Previous limit still stays.
Currently, X stays 128, Y is set to 2 times, and Z is set to 1800ms (if a game polls the card once a sec, it will see it reinserted on the 5th access = 4s after the initial access).
Y and Z might need some fine tunning and testing with more games.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4435 96395faa-99c1-11dd-bbfe-3dabce05a288
1. automatic apply of create/delete/copy/rename without the annoying "do this and that" dialogs.
2. auto-eject/insert mcd after mcd changes (useful especially when replacing one enabled-and-used card with another).
3. double-click/enter a line at the list invokes rename/create
4. only disabled ports are gray (easier to look at - previously: also empty)
5. when creating a new card, enter (at the name selection box) is enough to continue
6. list now stretched properly with the page.
7. Automatic creation of mcd file when opening the manager and a card is enabled but doesn't exist (easier to manage, would've been created on boot anyway).
8. as a result, now properly handles initial post-install/setup state.
9. auto eject/insert of mcd now displays at the console (also for loadstate, if applicable)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4433 96395faa-99c1-11dd-bbfe-3dabce05a288
This is a relatively big change of the MCD manager, so I'd appreciate feedback (functionality, translations, bugs, etc).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4423 96395faa-99c1-11dd-bbfe-3dabce05a288
Terminology:
Port (used only for presentation): actual PS2 port: 1-based index (1 or 2 or multitap X port Y, whrere X is 1/2 and Y is 1/2/3/4 )
list-view-index: the running index (0-based) on the MCD viewable list (first always 0, last is always <num-items-on-the-list>-1).
Slot: pcsx2 internal slot representation. the slots are always fixed as follows:
slot 0: port 1 (or multitap 1 port 1 if multitap 1 is enabled)
slot 1: port 2 (or multitap 2 port 1 if multitap 2 is enabled)
slots 2,3,4: multitap 1: remaining 3 ports
slots 5,6,7: multitap 2: remaining 3 ports
The terms view-index and slot were used interchangeably (and always called 'slot'), and this was causing many bugs when multitap 1 is disabled (because on that specific case the view index doesn't align with the slot - because the multitap 1 items are not on the list). It should now be easier to follow the code and further modify it.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4410 96395faa-99c1-11dd-bbfe-3dabce05a288
1. Bugfix: when multitap 1 was disabled, multitap 2 slots were not showing at all on dialog load (were showing only after disable+enable of MT2).
2. Bugfix: when multitap 1 was disabled and refreshing the list, multitap 2 slots were showing (the disabled) multitap 1 slots,
3. Improvement: the "Slot" column title is renamed to "PS2 Location", and now contains a proper name instead of an unuseful number.
4. MCD manager is now resizable (though the mcd list only gets resized horizontally for now, but I did make it slightly higher to allow the maximum 8 slots without vertical scroll - on my system)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4406 96395faa-99c1-11dd-bbfe-3dabce05a288
1. "backup save-states" removed from the MCD manager and added to the system menu (checkbox) just below "Save State".
2. removed multitap 1/2 from the config menu (now only available on MCD manager - this setting doesn't affect pads anyway).
3. Following rama's advice, vsync and auto-vsync are now both forced to off for all presets (and grayed-out when using presets).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4405 96395faa-99c1-11dd-bbfe-3dabce05a288
2. Removed vsync from presets.
details:
1. the exclusive-full-screen checkbox isn't connected to anything, AppConfig doesn't store this value, and the (GSsetExclusive) API is never used from PCSX2 (but seem to be supported by GSdx).
2. Now both vsync and auto-vsync are excluded from the presets (both never grayed out and never affected by the presets)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4401 96395faa-99c1-11dd-bbfe-3dabce05a288
* Fix log folder path selection.
* half fix the plugin folder path selection. Ie the use default selection.
However the register setting must be saved after the path updates.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4391 96395faa-99c1-11dd-bbfe-3dabce05a288
* allow to translate the about box
* Fix a crash when wx did not support the default locale
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4389 96395faa-99c1-11dd-bbfe-3dabce05a288
There's a new option in the GS window configuration that allows a "managed Vsync".
This new option will dynamically toggle Vsync based on the current frame rate.
If the game runs at full speed, it turns Vsync on. If it drops below full speed, Vsync is turned off.
This effectively allows Vsync to be enabled in most games while avoiding the huge performance penalty
it usually causes whenever the FPS drop below full speed.
Note that the feature currently only works nicely with GSdx DX10/11 HW rendering.
The other renderers and plugins will either ignore the Vsync switches or they'll show an
annoying black frame on each switch.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4386 96395faa-99c1-11dd-bbfe-3dabce05a288
* Add a language detection fallback. The purpose is to use a nearly identical language when the requested one is not translated.
Rational: it would reduce translation burden and avoid the cloning of po files which will be difficult to maintain properly.
* Delete previous cloning of some chineses locales
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4377 96395faa-99c1-11dd-bbfe-3dabce05a288
- Removed some more Console messages
- Changed the SIF struct "free" function to "sif_free" to avoid confusing the debug malloc libs
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4372 96395faa-99c1-11dd-bbfe-3dabce05a288
This should help with occasional crashes when pressing F9 or when configuring the GS plugin while emulation runs. (Thanks for helping with this, Jake :) )
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4363 96395faa-99c1-11dd-bbfe-3dabce05a288
- Suspend emulation when opening the manager. Avoids all kinds of file access permission trouble.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4362 96395faa-99c1-11dd-bbfe-3dabce05a288
* Translate more stuff in various place
* Fix issue with pot generation on linux namely empty string & quote in asm comment
* add missing key on generate_pot script. Note: it also updates the po files with latest pot modification
* regenerate new pot & po files.
Translator note: previous Tertiary pot miss half of the strings.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4359 96395faa-99c1-11dd-bbfe-3dabce05a288
- Cosmetic fix to some messages. Don't start the slot numbering with 0 but with 1.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4352 96395faa-99c1-11dd-bbfe-3dabce05a288
- Fixed drag and drop not updating the "Enabled" flag. This meant some changes to the oop design choice (removal of some const qualifiers). Hope you don't mind, Jake :p
- Added abort query for overwriting memcards when in copy mode (drag and drop with ctrl pressed on Windows).
- Changed the sizing a bit so the table fits into the dialog here.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4351 96395faa-99c1-11dd-bbfe-3dabce05a288
Note: Once DoA2 is ingame (start of fight), you can switch to the EE Rec until the fight is over with good speed! Hopefully one day someone will be brave enough to implement it on the rec side so you dont have to mess about :P
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4309 96395faa-99c1-11dd-bbfe-3dabce05a288
- Added an EE roundmode patch entry for AR Tonelico 2 that fixes a fall through floor bug
- Disabled an exception in the ISO file reader. It now continues working when it runs into incomplete game rips (may need a review).
- Disabled 2 annoying logs :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4307 96395faa-99c1-11dd-bbfe-3dabce05a288
-----------------------
(Jake:) here's my final patch for the pcsx2 inis and portable mode stuff:
it removes the ability to modify paths in portable mode (patchs are fixed to cwd anyway). Paths are still displayed for user convenience, read-only.
Also fixes some minor bugs and annoyances reported by users.
That should pretty well clean up most of what I broke when I rused the portable install feature in a few weeks ago.
May want to review it first, I still haven't had much time or inclination to do my usual amount of code quality control.
-----------------------
(avih:) I tested it briefly and nothing seemed horribly broken (read: looks OK after little testing). Didn't do a proper code review though.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4297 96395faa-99c1-11dd-bbfe-3dabce05a288
Cleaned up Gifdma a little, removing duplicate code. Disabled a few console writes we dont nee really.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4278 96395faa-99c1-11dd-bbfe-3dabce05a288
If you happen to test it on linux, please let me know that the presets controls appear and are usable (checkbox, the word 'Preset', a slider that can be set to 6 positions, and a colored preset name)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4277 96395faa-99c1-11dd-bbfe-3dabce05a288
Note: the code avoids some locking which turn into deadlock with GSOpen1 plugins.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4273 96395faa-99c1-11dd-bbfe-3dabce05a288
Changed a warning many users misunderstood as *Serious Problem* so it sounds (lots) less severe ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4260 96395faa-99c1-11dd-bbfe-3dabce05a288
(Implementation is a bit clunky. Might change it later to look a bit nicer, might not.)
- Changed a few more dialog layouts a bit.
- Prevent changes to the PAL/NTSC "base frame rate" in release builds.
(It's still possible to edit via pcsx2.ini or in devel/debug builds. And yeah, sorry Shadow Lady :p )
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4259 96395faa-99c1-11dd-bbfe-3dabce05a288
The new file name is simply "portable_install" (no file extension).
Since it doesn't have an extension anymore it won't look like there's something to configure in it.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4258 96395faa-99c1-11dd-bbfe-3dabce05a288
PS2 behavior is the same / close to always on, so having them optional got pointless.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4257 96395faa-99c1-11dd-bbfe-3dabce05a288
- The automatic disabled Apply on open didn't work for SysConfigDialog because GSWindowPanel and VideoPanel were using SetValue for text boxes when they initialize, which triggered a "SomethingChanged" event (it captures, among others, the wxEVT_COMMAND_TEXT_UPDATED event which is also triggered by SetValue for text boxes). The solution, per wxWindows docs, is to use ChangeValue instead, which doesn't trigger this event.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4254 96395faa-99c1-11dd-bbfe-3dabce05a288
Note: now it will be easy to add a folder selection in the appearance panel (if still exists, it does not appear on my system)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4252 96395faa-99c1-11dd-bbfe-3dabce05a288
- previously: was always not-grayed-out even if presets were enabled, and would get applied on only next restart if set only by preset.
- Also, the presets system now nicely supports menu items too.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4251 96395faa-99c1-11dd-bbfe-3dabce05a288