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
1. Bugfix: Some configs were affected by presets although they shouldn't have (e.g. MultitapEnabled and few more).
2. Bugfix: GUI: moving the presets slider was forcing unaffected values to last applied settings (would override settings changes which took place at the GUI while presets are enabled, e.g. most GSWindow options).
3. Better code resilience for future SysConfigDialog panels which might not be affected by presets.
4. Removed unused code and improved comments.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4237 96395faa-99c1-11dd-bbfe-3dabce05a288
DevNote: pxE's are meant for long/multiline messages only, not individual words. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4233 96395faa-99c1-11dd-bbfe-3dabce05a288
* Removed the old and complicated first page for the wizard. New page just has a language selector and some links to the CSX2 configuration guide and FAQ. The usermode/settings stuff has been supplanted by the simpler portable mode feature.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4204 96395faa-99c1-11dd-bbfe-3dabce05a288
* PCSX2 now splits settings into two files: pcsx2-ui.ini and pcsx2-vm.ini. The former is user interface clutter (window positions, confirmation dialogs, etc). The latter is virtual machine settings, speed hacks, game fixes, etc.
* Added support for PORTABLE INSTALLS!! Portable install is currently manually enabled by adding an empty "pcsx2-portable.ini" to the install location of PCSX2. Portable installs should run seamlessly from any flash drive, etc. (and will usually need Admin rights)
* PCSX2 install location and plugins folders are stored in the registry now (unless portable install is enabled, in which case no registry is used).
Notes:
* A button to enable portable installs from within PCSX2 is planned.
* NSIS installer will hopefully be upgraded to allow for a portable install option as well.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4198 96395faa-99c1-11dd-bbfe-3dabce05a288
The presets system is hopefully done, code wise. Fine-tunning the presets themselves may still take place.
- GUI behavior should be as follows:
1. Overall: any changes made to the GUI without clicking Apply or OK would be discarded (on ESC or Cancel or close ([X])).
2. On 'Presets' unchecked: As long as the config dialog is open, the GUI stays with the values of the current preset (alternative behavior is available with #define PRESETS_USE_APPLIED_CONFIG_ON_UNCHECK).
--> NOTE: OK/Cancel/Apply buttons are never disabled. This is also true for r3768. Needs fixing one day.
- Fine tuned presets with some help from rama and pseudonim. Current Presets are as follows (each preset adds to the previous one):
1 - Safest : Default settings + Individual speed hacks unticked (to make it visually clearer they're not used).
2 - Safe (faster) : Recommended speed hacks minus vuFlagHack.
3 - Balanced : enable vuFlagHack, enable EE timing hack, EE cycle rate to 1 click.
4 - Aggressive : VU cycle steal to 1 click, enable (m)vuBlockHack, VU clamp mode to 'none'.
5 - Aggressive plus : EE cycle rate to 2 clicks (maximum).
6 - Mostly Harmful : VU cycle steal to 2 clicks (maximum-1).
Note: The GUI consistency stuff turned out harder than I thought. I intentionally left in the code some commented out Console.WriteLN calls which should help debugging in case it's needed, but they should be removed eventually. I'd appreciate some regression tests and possibly code review for the entire presets system. Thanks.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4183 96395faa-99c1-11dd-bbfe-3dabce05a288
- When Presets are disabled: Nothing changes compared to earlier pcsx2 versions.
- When enabled: All important config options are grayed out, and a slider is used to select 1 of 6 overall config presets,
in the range of safest (and slowest) emulation, through trying to balance compatibility and speed, to way-too-many-hacks.
- TODO: 1. Resolve UI inconcistencies ("Cancel" button). 2. Fine-tune the presets. 3. Slight refactoring.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4182 96395faa-99c1-11dd-bbfe-3dabce05a288
* Moved VIF dynamic recompiler buffers to the recompilers section of PCSX2.
* Using RecompiledCodeReserve for the VIF SSE functions.
* Minor bugfixes to VirtualMemory class implementations.
* Improved error handling and error message display.
* [TODO] : implement a call to cpuShutdown() to clean up VIF unpack/SSE reserves.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4169 96395faa-99c1-11dd-bbfe-3dabce05a288
* A couple i18n fixes listed in Issue 915, relating to dialog message formatting for a couple specific messages.
DevNote:
* Added some missing operator+() stuff for the pxsFmt string formatter.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4160 96395faa-99c1-11dd-bbfe-3dabce05a288
* Simplified and improved (slightly) the savestate memory cleanup on error/cancellation.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4158 96395faa-99c1-11dd-bbfe-3dabce05a288
* Savestates are now 'proper' zip archives, which can be opened by any zip tool such as 7zip or winrar. PS2 virtual machine memory components are stored as individual files (such as eemem.bin, iopmem.bin, etc), and can be extracted, modified, and re-packed easily (maybe fun for hacking!)
* Savestate filenames are now based on a combination of serial code and CRC, ex: SLUS-12345_(0D386A2).00.p2s
* Savestates made during the BIOS will have meaningful CRC codes now, instead of 0000000.
* Minor improvements to error handling.
* Better support for unicode and internationalized windows installs.
* Prep work for eventual screenshots embedded into savestates (WIP)
* Changed i18n macros around a bit to help differentiate out some of the lesser needed translation items. gettext po/pot file updates will be forthcoming.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4132 96395faa-99c1-11dd-bbfe-3dabce05a288
* Finished up zipfile-style savestate implementation
* Simplified BaseSaveState class, and removed lots of now-unneeded code.
* Prepared the i18n stuff for a pcsx2_Dev.pot file (WIP), and sorted more stuff to pcsx2_Tertiary.pot.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxSavestates@4091 96395faa-99c1-11dd-bbfe-3dabce05a288
* "Browse" option in recent iso menu should translate now.
* Dialogs and config panels remember their positions more reliably (when using X or alt-F4 to close PCSX2, for example).
* Preliminary language selector dialog (available in debug builds only). Will finish it up later.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4088 96395faa-99c1-11dd-bbfe-3dabce05a288
- Added mVUcacheInitReserve and mVUcacheMaxReserve constant values for now which can be tinkered with until we implement runtime user-modifiable cache reserve-sizes.
- Improved the "microVU - cached program" printouts on dev builds.
pcsx2:
- Fixed the typos in SysOutOfMemory_EmergencyResponse()
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4087 96395faa-99c1-11dd-bbfe-3dabce05a288
Indirect jumps (JR/JALR) get a table which stores the previously jumped-to x86 code entry points, and this table is indexed by the jump-to PC address.
If current jump is jumping to a previously jumped-to address, the table will have an entry-point, but before it is returned, the microProgram for which the entry point belongs to must be validated to see if it matches the current contents of VU memory.
The program validation check is remembered and doesn't need to be performed again until after a micro memory clear (which happens when vif writes to vu micro memory).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4083 96395faa-99c1-11dd-bbfe-3dabce05a288
* Fixed command line help display for non-english (invoked via --help)
* Startup/wizard now uses default operating system language when possible.
* Added a language 'Apply' button to the first time wizard, which applies new translations immediately.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4082 96395faa-99c1-11dd-bbfe-3dabce05a288
* fixed a bug that caused certain confirmation dialogs to not remember their choices, when user had non-english language.
* Added wxWidgets-provided strings for a few things, such as Next, Back, and OK / Apply / Cancel.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4076 96395faa-99c1-11dd-bbfe-3dabce05a288
* PCSX2: Added GSgetTileinfo2 and deprecated=removed GSgetTitleInfo
* GSdx: moved to the new GSgetTitleInfo2
* New PCSX2 with new GSdx will have the new functionality, all other combos remain with old functionality.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4073 96395faa-99c1-11dd-bbfe-3dabce05a288
Here's his changelog:
GSdx, PCSX2: Fixed broken GS info at the title bar
* If the plugin doesn't support the API, PCSX2 will display only the image mode (progressive/interlaced field/frame), NON i18n!
* If the plugin does support the API, PCSX2 will not display the image mode, and instead display the info from the plugin
* GSdx now properly sends title info: resolution, image mode, deinterlace mode (weave - bff, etc)
* To enable the full GSdx title info as it used to work before it got broken: uncomment //#define GSTITLEINFO_API_FORCE_VERBOSE at GS.h of GSdx.
NOTE: When using an older pcsx2.exe with newer GS plugin, the title would contain duplicate image mode info. All other combos work fine.
* PCSX2 still displays the performance info, etc in the title bar.
Thanks a bunch for bringing this information back, Avih! :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4070 96395faa-99c1-11dd-bbfe-3dabce05a288
Note: This is technically still a hack, but it shouldnt break anything like the existing hack does, also it's closer to how it should be than anything we've done previous.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4058 96395faa-99c1-11dd-bbfe-3dabce05a288
* Added logging of host operating system and physical ram to startup.
* Removed "PhysicalCores" stuff from both x86emitter and startup logs -- physical cores is losing its relevance with all the new AMD and Intel chip designs.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4048 96395faa-99c1-11dd-bbfe-3dabce05a288
* Basic savestate loading/saving working now (needs testing).
* No support for screenshots embedded into the savestate (yet).
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxSavestates@4043 96395faa-99c1-11dd-bbfe-3dabce05a288
- Slight tweak to Path3 masking, an overlooked situation where Path3 can wait between GIFTags.
- Improved the stability of MFIFO on both sides greatly for games such at Tekken Tag (which boots again) Gran Turismo 4 and FF7 Dirge of Cerberus.
I'm expecting *Something* to break, so please report it here if something does, please make sure it is THIS revision.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4035 96395faa-99c1-11dd-bbfe-3dabce05a288
* PCSX2 uses significantly less memory when starting.
* Overall memory use reduced (mildly for some games, significantly for most).
* EE and IOP main memory are now fixed at 0x20000000 and 0x24000000 -- useful when using external cheat apps.
* Properly implemented the 'Shutdown' menu option -- Shutdown now unloads the entire PS2 virtual machine and reduced PCSX2's memory footprint to bare minimums.
* Some more meaningful errors for when memory is a problem (out of memory, low virtual memory, etc).
* Bugfix for pxsFmt when formatting long/large strings (over 1k)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4029 96395faa-99c1-11dd-bbfe-3dabce05a288
* Removed some missing / obsolete files from codeblocks projects.
* Fixed a segfault on exit
* Implemented a platform-consistent pointer value string formatter (%p has no defined standard)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/newHostVM@4026 96395faa-99c1-11dd-bbfe-3dabce05a288
* Applied the new RecompiledCodeReserve to the VIF recompilers (saves another 4-8mb of memory, depending on game).
* Fixed a bug in pxsFmt / FastFormatUnicode (string formatting).
* Final round of error handling cleanups.
(branch is basically ready for re-integration -- needs some testin for obvious/show stopping bugs, thanks!)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/newHostVM@4025 96395faa-99c1-11dd-bbfe-3dabce05a288
* Added some bounds checking to debug builds for VTLB mappings.
* Fixed a VU mapping bug that caused boot crashing
* Fixed some startup, shutdown, and reset resource management.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/newHostVM@4021 96395faa-99c1-11dd-bbfe-3dabce05a288
-Did same code for VIF0 just to standardize things a little.
If this breaks anything let me know, and make sure it is this revision please.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4013 96395faa-99c1-11dd-bbfe-3dabce05a288
* Preliminary implementation for the SpatialArrayReserve class, which will be used for recompiler lookup tables (large portions of these tables are never used by many games). Will put it to use and test it soon.
* Finished implementation of TryResize method for reservations, which will be used by PCSX2 if the operating system runs low on ram.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/newHostVM@3992 96395faa-99c1-11dd-bbfe-3dabce05a288
* Moved profiler management to the RecompiledCodeReserve class.
* Improved error handling some more.
* Numerous minor cleanups.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/newHostVM@3991 96395faa-99c1-11dd-bbfe-3dabce05a288
* SuperVU note: SuperVU recompiler now uses two separate 8mb caches for VU0 and VU1 (needed in order to simplify/saneify the reserve/alloc stages of pcsx2 app startup).
* Added MemsetFast.inl, which houses SSE intrinsic versions of memset and memzero, for use on aligned data targets.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/newHostVM@3975 96395faa-99c1-11dd-bbfe-3dabce05a288
* Security fix for Windows: Forced plugin filenames to be absolute paths, which resolves issues with windows' default path search order for DLLs, and hopefully avoids some errors for users who have installed Microsoft's Improved DLL Security patch.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3974 96395faa-99c1-11dd-bbfe-3dabce05a288
* EE and IOP recompilers are using the new RecompiledCodeReserve class.
* PS2 main memory should typically be located at 0x20000000 (code still need some cleanups)
VU0/VU1 recompilers will be implemented soon.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/newHostVM@3959 96395faa-99c1-11dd-bbfe-3dabce05a288
* Convert IsoFileFormats.cpp into a class.
* Use wxFile and wxFileInputStream instead of windows/posix specific file functions.
* Added new ScopedAlloc classes, which are very simple dependency-free templates for exception-safe allocations.
* FastFormatString: Improved performance ad fixed an obscure bug.
* Drag&Drop (UI) - Improved the friendliness and responsiveness, so that PCSX2 doesn't end up tying up an explorer window while it prompts the user or issues error messages.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxIsoFile@3934 96395faa-99c1-11dd-bbfe-3dabce05a288
* VIF now sends a 128 bit tag instead of a 64 bit tag (lower 64 bits masked to 0 -- this should mimic real hardware behavior more closely)
* Added more GIFtag logging info
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3916 96395faa-99c1-11dd-bbfe-3dabce05a288
Fix an sVU regression from way back in r3549 (God of War, Tales of the Abyss).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3850 96395faa-99c1-11dd-bbfe-3dabce05a288
Cause: there were accidentally 2 instances of 'Recompiler' in the Pcsx2 emulator settings structure.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3843 96395faa-99c1-11dd-bbfe-3dabce05a288
* Switch microVU's cache logs to DevCon (verbose only). TODO: Make a vuPerfLog for them someday.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3841 96395faa-99c1-11dd-bbfe-3dabce05a288
* Fix a potentially obscure bug in ipuCSC (color space conversion) which would have caused PCSX2 to hang on certain types of rare partial transfers.
* Remove some more dead code and structure data from the mpeg library.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3833 96395faa-99c1-11dd-bbfe-3dabce05a288
(note to devs: a sure-fire fix for GCC's templated function problems is to typecast the templated function to itself explicitly -- works nicely for all versions of GCC and the ?: operator as well).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3763 96395faa-99c1-11dd-bbfe-3dabce05a288
* All remaining code for handling partial/fragmented unpacks removed.
* vifRegs.NUM is now accurately simulated when queuing data from fragmented unpacks.
* Reduced the VIFunpack fragment buffer from 1MB to 4KB (max size of an unpack due to NUM being limited to 8 bits).
* Removed vif/vifRegs globals formally used by VIF interpreters (everything relies on the templated vifIdx now -- simpler and faster!)
* g_vifMask vars are integrated into vifStruct.
* All VIF mask register stuff uses the SSE-friendly vifStruct.MaskRow/Col vars now.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3762 96395faa-99c1-11dd-bbfe-3dabce05a288
* Link zz with libjpeg. Well it seems to get the library from another place, but better be safe for the future.
* Use -pthread as a default option (again to be safer)
* Warn about breaking of strict aliasing rule
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3761 96395faa-99c1-11dd-bbfe-3dabce05a288
* Fixed V2/V3 unpacks to behave same as the SSE unpacks (matches undefined PS2 behaviors)
* Removed legacy vifUnpacker (haven't needed it for any regression testing in forever).
* Move some VIF MARK console spam to DevCon (Ape Escape 3)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3746 96395faa-99c1-11dd-bbfe-3dabce05a288
* 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
* 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
- 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
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
* 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
* 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
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
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
* 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
* 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
* 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
* 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
* 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