Commit Graph

94 Commits

Author SHA1 Message Date
Gregory Hainaut 585ccc1b24 core: use = default instead of trivial constructor/destructor
reported by clang-tidy

Note: drop throw() specifier as it is the 'default' in C++11 for
destructor
2017-05-13 10:38:35 +02:00
Gregory Hainaut d9efbfb178 pcsx2: don't use npos as array index 2017-01-22 16:50:55 +01:00
Gregory Hainaut 63c825d0e0 pcsx2: check return value of std functions
Avoid noisy gcc warnings
2016-11-12 17:36:06 +01:00
Gregory Hainaut 6c3a4c6927 iop bios: fix gcc warnings
* return value of function can't be const
* use unique_ptr
2016-11-08 21:53:27 +01:00
Pseudonym b3b1f3ac68 IOP: Convert most IOP memory access in the IRX HLE and debugging module to
safe access through iopMem* functions.
2016-11-08 19:08:51 +00:00
Jonathan Li 04a8efd8c3 pcsx2|common: Use _WIN32 for Windows preprocessor macro
It's predefined, unlike WIN32 and _WINDOWS (and other variants), which
are defined in the property sheets.
2016-01-27 22:41:45 +00:00
Gregory Hainaut a1ac59a48a pcsx2: add various default case statement
Note: add a note on some case note handled properly not sure how to fix them.
Actually there are potentially invalid case.
2014-07-12 12:59:23 +02:00
gregory.hainaut 40e26648c6 all: gcc warning clean (round 2)
* reorder static initialization list
* Add missing virtual desctrutor to virtual object
* int -> uint/u32/uint32 cast of for loop index
* add a missing return in pxTrySetFocus
* fix size parameter of memset m_clut
* disable missing-field-initializers warning
* disable unused-local-typedefs warning


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5685 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-28 17:32:37 +00:00
ramapcsx2 893c5a5c1e Make IOP module loads visible in dev builds as well, not just debug ones.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5419 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-22 18:03:44 +00:00
ramapcsx2 8e7bfec5a2 And a small one last:
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
2011-01-24 19:28:49 +00:00
Jake.Stine 91851c6222 Trace Logging:
* Cleaned up trace logging and switched from C++ initializers to C-style const arrays.  Kinda mixed on which I like better, but decided to go with the general rule of thumb that a bit less C++ weirdness is probably a good thing.
 * Removed __assume() feature from pxFail and pxFailDev, due to the likeliness of unwanted/unexpected compiler behavior (MSVC only).  To hint the compiler that code should be unreachable, explicitly use pxAssume(false).

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

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3624 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-09 04:10:38 +00:00
Jake.Stine 4528621d5c Enable IOP stdout and Kprintf HLE intercepts in Release mode builds.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3616 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-06 19:15:43 +00:00
Jake.Stine 912872af80 Introducing a mostly revamped Tracelog and Console log system. Various console log sources can now be toggled on/off on the fly, allowing end users to enable more verbose logging when they encounter problems. Both console and trace sources can be given automatic prefixing.
DevNotes:  DevCon logs are now available in *Release* builds as well as Devel builds, and can be enabled from the Console window's "Sources" menu.  They are disabled by default in Release builds, and are always enabled regardless of the ini setting in devel builds.  Debug logs are still strictly available in debug builds only.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3609 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-06 05:46:09 +00:00
sudonim1 915983cc71 A line that got lost somehow. Fixes iop debugging output again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3542 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-20 16:56:48 +00:00
gigaherz 0e6c4377fe I forgot to change one line. Also took the time to set a toggle for this other feature.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3317 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-26 21:32:02 +00:00
gigaherz f1630170ed Implemented a better "host:" rewrite system, which takes the path of the elf being loaded as the root of the virtual "host:". This is the same behaviour as pc-side ps2link clients. The code could probably be cleaned up a lot or made more configurable, if someone wants to improve it.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3316 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-26 21:17:21 +00:00
gigaherz a51aef5152 ioman hle: ps2link host: implementation allows writing files, not just reading. Also it's the only way we have to get binary data out of pcsx2, when running ps2 test apps.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3306 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-25 20:59:48 +00:00
sudonim1 262a806c63 Little logic error in the HLE ioman code that arcum spotted. (It's in code that isn't reachable unless there's a bug in fd allocation so it won't affect anything.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3129 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-30 17:43:20 +00:00
sudonim1 bed2664465 I was sure I'd already done this. ELF loading now working in release builds.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3098 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-28 14:53:24 +00:00
arcum42 5cc918b9dd The usual Linux things.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3096 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-28 12:15:21 +00:00
sudonim1 0fa3303be3 IOP: HLE ioman functions for paths starting with host[0-9]*:
Only open, close, read and lseek implemented for now.  Directories are not supported for now because of the need to match the dirent structure to the loaded ioman version.

To allow access the host filesystem from homebrew and games, enable the new option on the main menu.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3092 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-28 10:33:15 +00:00
sudonim1 9708f279e0 DECI2: correct NUL writing for logging to remove garbage
IOP: Fix return value on ioman.write(1, str) (stdout)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3080 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-25 22:12:14 +00:00
sudonim1 af13fec64a Nothing to see here.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2945 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-04 15:41:47 +00:00
sudonim1 b3a1397797 R3000A: rewrote module import table hooks for more extensive HLE in the near future.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2944 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-04 15:03:16 +00:00
sudonim1 9de7e8be6f Removed some playstation (1) BIOS code and started cleaning up high level implementations of iop module functions.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2940 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-04 01:15:36 +00:00
Jake.Stine 70d47bf240 Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2937 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-03 14:08:02 +00:00
sudonim1 4457fe40fc Removed all trailing whitespace in *.c *.cpp *.h because it irritates me.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2897 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-25 00:31:27 +00:00
arcum42 ba37f31849 Trim and tweak a bunch of includes, and a few headers.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2197 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-14 12:02:56 +00:00
Jake.Stine 4cb8e21f94 Much work on menus, gui features. Partially-working recent-isos menu list. Bugfix for some of the new console stuff that could have caused some funny bunny business, or crashes, in a few games. Why dat wascaly wabbit! >_<
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2100 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-31 10:03:07 +00:00
Jake.Stine 6d5690c772 Adds proper Shift-JIS decoding to the PS2 console output (conversion tables generated by gigaherz). If you have asian fonts installed, then Japanese characters will be displayed correctly in the console. :) [good test games are FFXII and Tales of the Abyss -- many others too probably but those are ones I have]
Known bug: sometimes the font won't get reset back to default immediately after japanese text is printed.  Not sure yet best way to handle that.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2094 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-30 14:32:15 +00:00
Jake.Stine 7d458d583c Revamped some console log stuff.
* Added more colors!
 * VM's EE/IOP logs (the ones that come from the emulated games themselves) are colored accordingly: EE are faint cyan, IOP are faint yellow.  They're intentionally "hard to read" because 99% of the time they're meaningless trivia (but still cool since it's what the actual devs would have used for developing the games!).

Dev Notes:
 * Removed Console.Status (specify blue/green colors manually if you want them).
 * Renamed Console.Notice to Console.Warning.
 * I changed the overloads so that both char* and wxChar* versions work like printf now (no need to use wxsFormat when working with unicode strings).  I also removed wxString& versions of the overloads.  This should (I hope) also be an easier port to wx2.9 or 3.0, when that time comes.
 * Default log color is now black instead of gray; typically you'll want to manually specify Color_Gray when doing high volume logging (like the EErec's block tracking in debug builds).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2091 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-29 13:32:40 +00:00
Jake.Stine 653d09e821 Lots of new code maintenance stuffs:
* Completely new assertion macros: pxAssert, pxAssertMsg, and pxFail, pxAssertDev (both which default to using a message).  These replace *all* wxASSERT, DevAssert, and jASSUME varieties of macros.  New macros borrow the best of all assertion worlds: MSVCRT, wxASSERT, and AtlAssume. :)
 * Rewrote the Console namespace as a structure called IConsoleWriter, and created several varieties of ConsoleWriters for handling different states of log and console availability (should help reduce overhead of console logging nicely).
 * More improvements to the PersistentThread model, using safely interlocked "Do*" style callbacks for starting and cleaning up threads.
 * Fixed console logs so that they're readable in Win32 notepad again (the log writer adds CRs to naked LFs).
 * Added AppInit.cpp -- contains constructor, destructor, OnInit, and command line parsing mess.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1950 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-04 08:27:27 +00:00
Jake.Stine d2fbb22076 Upgraded PCSX2 core and utilities to GPLv3.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1783 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-08 12:08:10 +00:00
Jake.Stine 3b10771c36 Got rid of that old 'params' mess on console logs. Not needed anymore since wxwidgets has nicer built in formatting options (never liked it anyway)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1782 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-08 05:37:40 +00:00
Jake.Stine 0238815248 wxGui: performing maintenance merge before weekend departure.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1120 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-02 14:06:06 +00:00
arcum42 5edb195282 Committing various cleanups I'd put aside at one point or another...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1095 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-01 01:13:37 +00:00
Jake.Stine 2c3c5401e8 wxGui branch: major progress on many fronts!
* Added new files AppConfig.cpp and StringUtils.cpp, and removed memzero.h (we'll use the win/linux platform dependent implementations)
 * Enabled wxWidgets memory tracing since we don't use a memory trace util of our own.

 * Switched many instances of std::string to wxString.
 * Added preliminary support for configuration settings and ini file creation.
 * Added a set of parsing and splitting tools to StringUtils.

 * Set it up so that the Console log is attachable to the main window, when dragging (fun!)
 * Main window and console log window record and restore window positions between runs (only partially implemented yet)

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@881 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-02 11:30:23 +00:00
arcum42 007c34a8b0 Since WriteLn is used for logging, and it automatically appends newlines, remove a bunch of legacy newlines from various logging functions.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@844 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-27 06:34:51 +00:00
arcum42 e0347fd285 Some header work, get rid of some dead code, and rename PsxCommon.h.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@762 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-13 04:49:23 +00:00
Jake.Stine 377830b3a9 IOP Fixes/Optimizations:
* Fixed the IOP's recExecute so that it correctly preserves X86 registers (EDI and EBX were not preserved!)
 * Optimized the recExecute procedure, seems like a nice speedup in FMVs and some games that are IOP intensive.
 * Renamed psxMemRead to iopMemRead, added new Virt/Phys functions, and fixed several instances of DMAs using translated addresses (DMAs are always physical maps).  Our IOP doesn't really emulate the tlb so it won't fix anything, but it's more correct in cas stuff is better supported in the future.
 * Removed unneeded FreezeMMXRegs, since the IOPrec doesn't use any mmx/xmm regs anyway.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@628 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-27 18:12:59 +00:00
Jake.Stine fe6f45e45e Updated the Copyright to reflect the passing of another year. :)
Updated the pcsx2_suite_2008.sln; changed SPU2ghz to SPU2-X.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@502 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-15 23:23:46 +00:00
Jake.Stine 6ebfae8ef1 Re-Added eol-style:native properties to the repository. The settings got lost when we merged from Playground to Official.
Added interface.cpp (plugin/pcsx2 interface) and savestate.cpp to SPU2ghz, to help clean up SPU2.cpp.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@463 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-09 21:15:56 +00:00
refraction aa94c30dc3 Should be the last of the trunk, gotta finish the branches/tags, but thats the main bulk transferred.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@426 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-06 20:04:37 +00:00