pcsx2: fixed some msvc++ compiler warnings
microVU: - Fixed a bug from r1630 (it was breaking SO3 and probably some other games)
microVU: minor cleanups
microVU: Implemented some undocumented stuff which lets Champions Return to Arms get in-game. The game still looks ugly, I´m not sure if its problems are gsdx or pcsx2
. zeroGS just renders a black screen which it no help xD Note: I still need to optimize this fix.
microVU: minor changes
wxgui: Begin work on some missing panels for the pcsx2
Fix a silly mistake I made in naming functions in Tags.h.
Disable vsync when going from "limit" to "skip" framelimit mode.
A bunch of IPU.cpp now uses Tags.h. Ironed out a few things in Tags.h.
wxgui: * Major cleanups and improvements to the Threading namespace. * Created CoreEmuThread class framework, which currently runs the EEcore, IOP, and VUs with threadsafe suspension, reset, and resume features.
Link in Tags.h, use one of my new enums in various places, and move some code in IPU.h to a new function of it´s own.
Added some tag code in I was fiddling with. (Nothing uses it yet. I mainly wanted a backup of what I was working on.)
microVU: - Cleaned up microVU_Compile - Added file microVU_Branch
forgot to set function level linking..., that trims more unused code and dlls deps, any good revision number ahead to reach? :D
doh, so many missing files
missing project files
vs2010 project files for pcsx2
Fixes for ICC compilation errors (Issue 350)
microVU: extra + preserve sign clamp mode now semi-implemented (before it would just do the same as ´normal´ in mVU)
Workaround a problem with thread affinities. Should fix some slowness issues, mainly on AMD cpus.
Revert the changes to CDVD, and clean up the changes I made to ElfHeader.cpp, getting rid of some extraneous commented out test code, and refining the comments I left a bit.
A few minor modifications to CDVD and IPU.
GSdx: fix for transparent walls in kingdom hearts (or anything else that sets AA1 with ABE off)
Here´s a better bug fix for the issue that was bugging me in r1608.
After thinking about it, I´m reverting one of the changes I made in r1608 for the moment, though I may rewrite the whole function in the future...
Worked for a bit on parseCommandLine in Elfheader.cpp.
LilyPad: A number of small fixups. DirectInput devices corresponding XInput devices should be listed as "[Detached]" when XInput is enabled. No idea if this works, as it requires an XBox 360 controller to fully test. FF Axes now sorted, rather than being displayed in the order MS returns them. Small motor DirectInput binding now correctly displays "Square" effect type in list when first created. Attempt to more accurately model "soft" vs "hard" presses. Don´t have a game where this matters,
microVU: Removed the "Exiting from Possible Infinite Loop" logic from Release builds, should be a small speedup. Its still there in debug/devel builds, so we can easily tell if a game is hanging on VU1.
microVU: some optimizations...
wxgui: maintenance sync with trunk.
wxgui: minor cleanups; renamed Utilities folder to Tools, to alleviate confusion with the Common/Utilities.
wxgui: separated core emulation options from user interface options (mostly! some interdependencies remain), and stripped out some of the old framelimiting toggle/cycle code, which will be replaced with a better framelimiter system soon.
memcpy on PcsxConfig made pcsx2
crash upon exiting, when the string members were deallocated, I guess they were added later.
GSdx: fixed the crash when booting through the bios
microVU: - Normal Clamp Mode clamps a few more stuff (Fixes Ice Age 3 falling through floor bug)
GSdx: fixed dx9 + msaa=0
GSdx: experimenting with msaa, add msaa=N to gsdx.ini to activate it (N=2,4,8)
Zeropad/Win32: Make what appears to be a fairly significant bugfix, for what it´s worth.
wxgui: * finished most of the new plugin system (branch is buildable and runnable again, but no significant functionality has been added yet). * Removed STGS code from the branch since I planned to kill it off anyway and it was more work to code proper support for it in wx than to remove it.
Add the changes from r1593 to Linux.
KiNGKiMO noticed a crash when specifying a iso filename in the cmdline, to make pcsx2
auto-boot that file. I fixed that, and while I was at it, change the bootmodes around. The way it works now is: - Base mode: 0=normal (cdvd plugin), 1=load elf, 2=use iso loader, 3=emulate no disc - Bios flag: 65536+base = mode startup through bios boot process. Default is to skip bios. So for example to load X.iso using the internal iso loader, and executing through the bios, you would now do: pcsx2.exe -bo
pcsx2: removed some msvc++ warnings from one of arcum42´s cleanups microVU: minor fixes. The ps2´s VUs (and FPU) pretty much always do sqrt(abs(x)) whenever doing sqrt´s. SSE´s sqrt will give you a NaN if x is negative instead, so force abs(x) before doing sqrt (unless the value is known to be positive).
GSdx: little code cleanup
microVU: more optimizations
microVU: Optimizations, cleanup, and fixed a bug...
Stub out some functions in the cache code.
Some cleanup around iCore.
minor fix for broken compiling
microVU: Saw that SSE4.1 has ptest, and I wanted to try it out xD untested though cuz I don´t have an SSE4.1 cpu :)
GSdx: - Trippled the number of cached textures, many games constantly recreated them - Don´t clear some shaders at each drawcall (in dx10) , which is a nice speedup (but could potentially be bad, please check..)
microVU: fixed a bug
wxgui: synced with trunk, and started work on an improved plugin initialization procedure. (branch currently does NOT compile, sorry)
More new plugin api work.
microVU: tweaked some regAlloc stuff; i think it should be faster.
NewPluginApi: Some tweaks as per Gabest suggestion; probably a tired disaster in need much review.
microVU: Improved microProgram management/searching. Instead of just having live/dead programs, we now have young/old/dead programs.
Cleaned up some loose ends I left behind in my initial rough draft of PluginCallbacks.h, and added some eol-style:native properties to /common/include files that lacked them.
Working on a brand new plugin interface, based on passing APIs via structure instead of individually binding each function (which is generally cumbersome and limited in a number of ways).
microVU: fixed a bug in my clamping code from r1568. Fixes TOTA invisible characters when clamp-mode set to ´normal´
microVU: tweaking/testing some stuff...
microVU: - Finished implementing regAlloc. Sadly the speedgain wasn´t great (0%~2% in the games I tried). I think the speedup should be bigger with a CPU that supports SSE4.1, but I don´t have one to test :p
wxgui: Improved threading model used by the log window, plus a few minor fixes to main window startup/shutdown code.
GSdx: - Automatic texture filtering should be ok now, occasionally point filtering was used. Tested it on the ps2 and figured with no mip levels LoD and minification settings are just ignored altogether. - Also run a few tests on the gather instruction with the reference rasterizer and found a fatal flaw with it. It returns the four samples for bilinear sampling (in a funny order, which isn´t documented of course, x = bl, y = br, z = tr, w = tl), but there is no way to guess which four were sel
microVU: more regAlloc work...
Quick fix for r1566.
microVU: Setting VU clamp mode to "normal" should fix sps/problems in alot of games now. I´ll list what I think should be fixed: Dawn of Mana SPS <- Should be fixed, untested ToTa Characters <- Should be fixed, untested FFXII SPS in Barheim Passage <- Should be fixed, untested KH1 floor bug <- Fixed for me, but theres still other sps on characters caused by something else Most-likely SPS in some other games is fixed as well... If anyone can confirm the games I listed are fixed, please leave a c
microVU: - Re-implemented logical min/max code - Re-implemented tri-ace gamefix - Fixed some bugs...
Fixed some bleedthrough on the colors on the console, took care of a typo I made earier, and did assorted cleanup.
Added vs2010 project files for xpad and CDVDolio, too.
GSdx: just updating vs2010 project files
Unbreak FF X-2 with the new iso code.
Converted a few of the file paths to strings, and moved the generic file manipulation functions in IsoFileFormats to their own file.
Fixed up Linux after my previous changes.
Reworked a few things in PcsxConfig, to make things a little more organized, and make path changes later easier. (May have broken Linux temporarily. If so, I´ll fix it in a bit.)
Added a few new calls to PathUtils, and used them to get rid of some platform specific code in the new Iso code. I also modified some other code to use the new calls, and fixed a few microVU compiler warnings.
wxgui: synced with trunk (to acquire new CDVD/ISO api)
Added clean_msvc.cmd, which is a batch file that deletes all the mess MSVC leaves behind even with Clean/Rebuild. Chances are if you´re having compiler/linker problems you can just double-click clean_msvc.cmd and have it fixed, rather than having to do a full re-checkout of sources (see file for more details on why).
Made a clean fix for the memzero.h template expansion bug/warning (caused by msvc treating template parameters like macros).
microVU: minor changes
wxgui: Tons of updates and fixes ... * Mostly finalized the i18n system. * fully implemented the speedhacks dialog. * improved the wxHelpers quite a lot. * added a new gamefixes icon as put together by gigaherz.
GSdx: Disabled requesting of thread safe D3D devices. This is a speedup, and we shouldn´t need the safety.
GSdx: ffxii fmv works again and even less bogus
GSdx: disabled "gather" until I can sort it out
More iso work. Timestamps work in Linux now (and use Paths.h). Worked on getting rid of other redundant code, moving the logging to the standard pcsx2 log functions, and misc cleanup.
GSdx: - trying the dx10.1-only "gather" shader instruction for palletized lookups ("8-bit texture" mode), saves 4 instructions which isn´t much but still... (not tested, don´t have ati) - may fix the intel gma "no output" bug (don´t have gma either
) - and the usual small code optimizations
Did a bit of cleanup on the new iso code, mainly so we´re using the Console functions for messages.
microVU: - More regalloc work/fixes - Implemented some untested SSE4.1 optimizations (can´t test since don´t have sse4.1 cpu) pcsx2: - Added an SSE4 instruction to the legacy emitter (just a wrapper to the new emitter function). Note: Currently tri-ace fix and logical min-max code (thing that mad DaZ safe to use) is broken with mVU. Will fix later.
microVU: - Fixed Micro Program Logging (broke it on my last commit) - More regAlloc work - Big Cleanup, deleted about a thousand lines of obsolete code.
microVU: more W.I.P. regAlloc stuff (upper opcodes are using my regAlloc class but are set to flush every opcode so speedwise this commit should be slower (or the same as before) Once I rewrite my lower opcodes to use regAlloc, I can remove all the flushes.
wxgui: Added more functionality to configuration dialogs and more options are saved to ini.
PCSX2: - Added *.MDF Disc Images to the "Run ISO" file browser. I´m not entirely sure if theres any file system differences between .mdf and .iso (couldn´t find much info on it); but all my .mdf files are working as-is with gigaherz´s code, so I think compatibility should be fine. - Moved "Run ISO" menu option above "Run BIOS" since users will run ISO´s more often than the bios xD microVU: - More work in progress stuff... hopefully I finish within the next few days.
microVU: more work in progress stuff...
microVU: cleanup (removed old mmx vi reg caching)
microVU: Work in progress stuff... (no functional change)
wxgui: * Console now uses a fixed-width font by default * Core PCSX2 memory structures (VTLB and Recompilers) are allocated on startup. * Added some more gui/ini/startup mess.
GSdx: added ltrapper´s modifications.
wxgui: Whee, a basic file browser dialog for Run Iso. Eventually it *will* do something more than log the result. >_<
wxgui: various cleanups.
wxgui: Optimizations and improvements to the console logger´s threading model.
GSdx: just squeezing a few more fps.
Fix flickering characters in god hand from r1509.
wxgui [Linux]: Updated project files, fixed docking logic.
Remove the bool from the GS exports, as Jake said.
wxgui: minor code cleanups.
wxgui: Fixed crash-on-exit problem in Release builds and made the console logger thread-safe (uses messages instead of direct wxFrame method invocations).
Matsuri sent me a cleanup of his previous patch. No changes in functionality.
Silence a stupid compiler warning, fix the layer1 detection code, and remove the hack I added before, as it does no good.
Plugin interface / GSdx changes that binds the GSdx vsync option to the pcsx2 framelimiter. This patch by matsuri makes playing with vsync a lot nicer, so thanks for that one
Note: For now its directx 10 only, due to dx9 needing a swapchain reset..
Give more information about the active disk even in Release builds. Remove unnecessary re-checks at startup, so the cdvd info only shows up once (and every time the plugin notifies of a disk change). Add a condition to print which shouldn´t be printing always. Add a little "hack" to Mechacon command 0x80 ... will get rid of it later if it doesn´t help.
Cleaner version of the EE reset optimisation, there´s no particular reason not to skip these steps every time so there´s no need for a second function.
Tweak for recompiler resets, helps a bit against the stalls when those happen.
Just a tiny cleanup, nothing interesting.
SPU2-X: Tagged public release v1.2
Cleaned up Disk Type detection code, when workign with CDs, which in turn fixes CD-based games booting (as far as I can tell).
Fixed broken blockdumping in last change. Added the possibility for plugins supporting getBuffer2 to return -2, meaning "still busy".
SPU2-X: Just the version update
Linux: Added the new menu options, and cdvd/bios running doesn´t reset the emulator on Linux, either.
Debug message slipped in.
Some fixes and cleanups. Now the File->Run* options won´t reset the emulation, so it might be possible to swap discs properly from nodisc, iso or whatever cdvd plugin has been selected (to switch between iso/cdvdplugin/nodisc, it´s necessary to use the file menu options, as run->execute will not update the active cdvd interface).
Now that having internal CDVD interfaces is easy, I added a NODISC interface, with a menu option to run the BIOS with no disc.
Start improving the CDVD interface. Change the internal ISO interface to use it. I will later work on getting the typical plugins to support these new functions. I have tried to also update the linux side, but I can´t compile or test it so it might not work properly.
Remove some messages from release builds, switch some remaining printf to Console::Status and remove a layer of bloat when checking if an iso image is double-layer.
Made the EE recompiler 64-bit constant buffer (was called a "stack" despite not being used as one) reuse recent constants rather than duplicating for every instance, resulting in less recompiler resets (e.g. espgaluda resetting every couple of seconds).
Switched from vs2008 to NSIS for creating the installer. Not final version, but putting it here as backup Instructions in the txt
wxgui: fixed up linux size (and omg it was easy for once!)
Linux: Implemented the gui
side of the new built in ISO loading functions in Linux.
wxgui: Added plugin selection dialog (complete with plugin enumeration and an exceedingly fancy progress bar), fixed some menus, added isofile recent lists, and lots more stuff is correctly saved and loaded from the configuration file. * Dev note: Re-enabled USE_STL in wxWidgets since that´s required to ensure thread safety.
Minor code conformity cleanups and svn properties settings for new cdvd code.
Fixed Linux again. Still don´t have time to actually implement adding the new features yet in Linux. (Likely won´t till next week or later)
Bugfixed thread affinity restoration during CpuSpeed detection; pcsx2
should use all your cores properly again. :)
Fixed the crashing with blockdumps. It was the "iso file format" lib I took from cdvdiso. So I axed the compressed iso (Z/BZ2) format reading, as part of fixing it. Anyone needing it can still use CDVDiso.
Shit I´m commit-spamming again. >_< Fixed a "omgf"-class bug, which just happened to work while using ISOs because of a shared variable which wasn´t meant to be shared. And more cleanups.
Fixed a "whoops" bug on CDVD closing. Removed some unused code from CDVDisoReader.
Remade CDVDisoReader from CDVDiso, without removing the blockdump stuff. Included CDVDiso´s iso handing functions into core (with renamed filenames). Implemented block dumping into CDVDaccess so that it also dumps from a CDVD plugin. Made the blockdump creation use a timestamped filename (can be turned off in the code), but it needs implementing a linux version of the timestamp. The blockdump choice doesn´t get saved (yet), and I´m not sure if I should make it save, or leave it as is.
Unbreak Linux. (I´ll wait on actually adding the new features.)
Implemented WIP code to run a ISO image from within pcsx2, ignoring the currently selected cdvd plugin. I tried it and it seems to work, but I can´t assure it´s bugfree. Next step is to implement internal blockdump creation and loading, and fix any problems ppl might have with this. (And sorry for breaking linux on every commit I do.
GSdx: game fixes and small optimizations
wxgui: Upgraded to wxWidgets 2.8.10.
Fixed up the Linux build.
wxgui: missing file updates from my previous commit.
wxgui: Fix linux builds and other additions/fixes.
SPU2-X: Fixed a problem in volume slides that caused them to update way too slow. Music in Ys 6 works again.
Refactored the IsoFS crap to use better function names, and removed some stupid remains from when this code was part of a PS2 driver. Added a WIP Iso reader to pcsx2. Right now it doesn´t do anything (meant to be a backup in case I mess things up too much later), but the idea is to integrate iso reading, blockdump creation and loading into pcsx2, obsoleting CDVDiso and cdvdBlockDumper, and giving support for potential future features.
Fixed the last commit. :(
Fixed up the Linux build. A couple minor OnePad changes.
Renamed a few files so that they more clearly represent their meaning. This was goign to be part of a bigger change but I got annoyed before I had to chance to actually start working on it, so I´ll drop this anyhow.
Removed the wait cycles hack, and made it effectively always on. The magic values for this setting were made for the old, sometimes failing system. It should not be needed anymore, and testing confirmed that.
wxgui: more of the slowly progressing. * Implemented internationalization (i18n) framework. * Made a pretty configuration dialog box! * Many minor bugfixes. * Removed most of the old Win32 and Linux/GTK gui code because it was causing gettext cataloging to grab about 500 non-relevant strings (can always reference trunk for them anyway).
Reformatted Mpeg.cpp. Reworked mpeg2sliceIDEC a bit, and added a fix which I´m not totally sure of, so it´s currently disabled. Did a few other misc cleanups.
OnePAD: All around my hat...
Onepad: Added a clear all button, and did some work on the backend.
microVU: fixed some bugs...
GSdx: New default settings, to avoid common mistakes and problems.
wxgui: Fix Linux.
wxgui: Tons of changes, additions, and improvements... * Added some icons for use in the new configuration panel. * Added bin2cpp project, located under a new /utilities folder (it´s used to generate wx Embedded Images) * Renamed NewGUI folder to gui * Relocated Resources folder to gui/Resources
GSdx: 4 bit local-local transfer crash fixed (shadow hearts)
GSdx: couple of fixes for the new palletized lookup mode