Commit graph

181 commits

Author SHA1 Message Date
darkf 090f7f8cfb Add SPU decoder mode selection to GUI/Config 2014-04-23 05:06:19 -07:00
nohbdy d136adc73f RSX Bugfixes and plugging memory leaks
BUGFIX: Add break after NV4097_SET_TEXTURE_BORDER_COLOR in RSXThread.cpp
BUGFIX: Fix parameters passed to RSXTexture::SetControl3 (they were being
passed in reverse order)
BUGFIX: Remove invalid, non-sensical call to glPixelStorei in GLGSRender.h
BUGFIX: Fix signed/unsigned comparison compiler warnings in GLGSRender.h
CHANGE: Make GLFragmentProgram::Decompiler synchronous by default
CHANGE: Update wxWidgets submodule to latest commit
BUGFIX: Fix several memory leaks
ADDED: Created a new MSVC debug configuration to output locations
  of allocations that end up leaking after the program
  is closed.
BUGFIX: Fix the stupid PadHandler crash due to the lack of a virtual d'tor
2014-04-17 15:15:43 -05:00
Peter Tissen 8ef9414406 try to reign in the vector<ptr> madness 2014-04-14 10:55:43 +02:00
Bigpet 25c3aa8e19 fixes to get llvm to compile (excepti for utils.cpp, that'll get fixed
later)

Eradicate the Array almost everywhere, some usages like Stack still
remains
2014-04-12 12:06:52 +02:00
Oil 0763e429b8 I just forgot to do it... 2014-04-10 00:42:50 +04:00
Oil 770ebaf271 Implemented small tool for generating id of HLE-Function. Fixed small issue in PADManager dialog. 2014-04-09 23:57:26 +04:00
Alexandro Sánchez Bach e89ecd192b Merge pull request #177 from Bigpet/minifix
Various warning fixes and devirtualization
2014-04-08 20:06:20 +02:00
Peter Tissen 4066950975 Various warning fixes and devirtualization
* Remove ArrayString
* devirtualize GetCount and SetCount, they're no longer needed
* set storage duration of fmt::placeholder to extern to be consistent
* make length unsigned and the return value of sprintf signed
* remove dead code "s.Close()" is never reached
* devirtualize WrteToLog()
* devirtualize Ini functions
2014-04-08 19:41:47 +02:00
Eriksson Monteiro e65d1a3dd9 replace CLK_TCK for CLOCKS_PER_SEC 2014-04-06 22:51:36 +01:00
O1L bbbe2f8916 GUI: Pad Settings dialog reworked. 2014-04-05 18:26:45 +04:00
lioncash d0c9d7c0ae Use spaces for vertical alignment 2014-04-04 09:25:38 -04:00
Alexandro Sánchez Bach fc9a90e220 Merge pull request #160 from Bigpet/master
Gui logging in main thread
2014-04-02 19:58:34 +02:00
Alexandro Sánchez Bach 81cdaa883a cellPngDec fixes and some rewritings
* This commit solves the cellPngDec GetMemFromAddr(0x0) error when
loading PNGs from files.
* cellVideoOutGetResolution, cellRtc* syscalls rewritten to use the use
the mem*_t data types.
* Replaced int/uint with s32/u32 in some syscall arguments and structs.
2014-04-02 19:53:44 +02:00
Peter Tissen dad82aa1eb Gui logging in main thread
Do the logging to the GUI log element in the main thread. Not doing this
causes issues with the GTK backend of wxWidgets. Plus it's just common
sense to try to limit gui calls to one thread.
2014-04-02 17:57:50 +02:00
Peter Tissen febe8624bf remove redundant c_str -> string -> c_str conversions 2014-04-01 17:22:57 +02:00
Peter Tissen 8ac226ae69 replace all instances of wxString with std::string in all cases not
directly involved in either the GUI or other wxWidget classes like wxFile
2014-04-01 16:23:03 +02:00
Alexandro Sánchez Bach 01dbb8eb9a Merge pull request #145 from Nekotekina/master
Fixed conflicts.
2014-03-31 12:04:34 +02:00
Lioncash b9de74f5c6 Move VHDDManager over to using vector. Also fix some variable and function name typos. 2014-03-30 00:13:00 -04:00
Lioncash d6bcf14cc0 Fix missing unary increment operator in DisAsmFrame 2014-03-29 16:13:05 -04:00
Alexandro Sánchez Bach 503c24453a cellSaveData* progress & reverted commit 950fcfe
* Reverted commit
950fcfe4ef
(Reverted ConLog changes) that fixed the "Bad flip!" error since there
is a better way of solving it. It will be fixed soon.
* Moved cellSaveData to cellSysutil (but preserving the functions in a
separated file named: cellSysutil_SaveData.cpp).
* Progress on cellSaveDataList* functions.
* Added a small margin to the new Settings dialog. :-)
2014-03-28 20:06:15 +01:00
O1L 1be14f818a GUI: some changes in Config -> Settings 2014-03-28 21:17:44 +04:00
Alexandro Sánchez Bach 950fcfe4ef Reverted ConLog changes of commit 5ea58d94
This was causing a "Bad flip!" error on Arkedo Series 02 Swap!. I guess
we will have to search for a better solution. I just reverted the
ConLog.cpp / ConLog.h files.

Related commit:
5ea58d9451
2014-03-28 05:32:24 +01:00
Alexandro Sánchez Bach 2c7269e3de PSF Loader improved & issue #126 fixed
* Improved PSF Loader: Now you can get the value of the PARAM.SFO
entries directly with the GetString(key), GetInteger(key) methods.
GameInfo related lines were removed since they have nothing to do with
PSF files.
* cellGame, cellSysutil, and GameViewer are modified because of the PSF
Loader changes.
* Removed unnecessary null pointer checks:
https://github.com/DHrpcs3/rpcs3/issues/126
2014-03-28 05:20:13 +01:00
Alexandro Sánchez Bach 1fd42c34c2 Minor fixes
* Modified some .gitignore's
* Removed some #include <vector>'s
and other stuff...
2014-03-27 16:40:58 +01:00
Lioncash 8e44bcdbda Simplify some VFS-related code. 2014-03-27 02:49:02 -04:00
Nekotekina 5ea58d9451 ConLog unicode support improved 2014-03-21 19:06:08 +04:00
Nekotekina 39d1e21802 Fix slashes for Windows :p 2014-03-21 13:45:26 +04:00
Alexandro Sánchez Bach 8c2aee5e64 cellHddGameCheck and some fixes
* Fixed wrong endianness in several structs.
* Fixed CreateFile-related bug in TRP Loader.
* Added cellHddGame (cellSysutil) structs and cellHddGameCheck.
2014-03-19 16:19:35 +01:00
Alexandro Sánchez Bach cf4501fe41 cellGame, cellSysutil and TRP installer improved
* TRP Loader and sceNpTrophyRegisterContext improved.
* cellSysutil constants moved to cellSysutil.h
* cellGameBootCheck bug fixed that makes size->hddFreeSizeKB be 0.
* Added system language selector (this is *not* RPCS3's language).
cellSysutilGetSystemParamInt(0x111) will return the selected language.

NOTE: The problems caused by the last commit (pull request #104 merged)
are not yet fixed.
2014-03-17 20:34:19 +01:00
Sacha 6968137bbc Fix slashes for Linux 2014-03-17 23:41:15 +10:00
O1L b0f6b03c38 Fixed crash on using NUll Audio Output, fixed possible crash in OpenAL exit and minor changes in cellAudioEventQueue functions. 2014-03-14 17:53:37 +03:00
DH 0e437312ad Improved OpenAL audio output
Implemented LDBRX PPU instruction
Enabled FRSQRTE PPU instruction
Improved Fragment Program Decompiler
Implemented Log lvl selection
2014-03-13 02:26:53 +02:00
O1L df894c05b2 Implemented simple OpenAL audio output. Structures and enum's from cellAudio.cpp moved to cellAudio.h . Audio dump functions moved in AudioDumper class. 2014-03-08 02:15:39 +03:00
Hykem 4770e5af08 Fixed AboutDialog (changed in last commit). 2014-03-03 04:59:22 +00:00
Hykem a1adc6cdaa First installment of RPCS3's custom crypto engine:
- Removed all scetool dependencies;
- Implemented a key vault to manage PS3 keys internally;
- Implemented SELF decryption;
- Improved PKG handling.

Notes:
- NPDRM SELF files (EBOOT.BIN) can also be decrypted. A valid matching RAP file must be placed under the dev_usb000 folder.
- The source code is considerably commented and several debugging functions were also added in order to aid anyone who wishes to contribute to the engine.
2014-03-03 04:48:07 +00:00
Nekotekina c978fe377d Merge branch 'master' of https://github.com/DHrpcs3/rpcs3 2014-03-02 10:24:18 +04:00
Alexandro Sánchez Bach 6c28753dae Minor fixes: SPU, sys_mmapper, and cmd-line args.
* Some SPU instructions updated:
- Updated wrong instructions: SHLH, FRDS
- Added UNIMPLEMENTED warning to: HBR, HBRA, HBRR
* Updated sys_mmapper_allocate_memory declaration in SysCalls.h
* Added sceNp.cpp to project
* Added checkbox in the Settings menu for exiting RPCS3 when
sys_process_exit (SC_Process.cpp) is called. Unfortunately, due to some
problems, this checkbox doesn't have a real effect yet.
2014-03-01 19:33:40 +01:00
Alexandro Sánchez Bach cd10dca71f RPCS3 arguments, TTY to file & sceNpTrophy stuff 2014-03-01 19:33:38 +01:00
Nekotekina 17fa60c31c Vpost draft 2014-03-01 12:38:50 +04:00
Nekotekina dbdae77780 Some errors fixed 2014-02-27 22:25:32 +04:00
Alexandro Sánchez Bach 2827db0e2a Using be_t in some cellGcm structs & minor fixes
* Using be_t in CellGcmControl, CellGcmConfig, CellGcmContextData and
CellGcmTileInfo.
* Fixed wrong names in Emu/SysCalls/Modules/sceNp.cpp
* Fixed ConLog's mount info strings in System.cpp
2014-02-24 17:03:47 +01:00
Bigpet 1be8563fdb fix small merge mistake 2014-02-23 18:21:10 +01:00
Bigpet 9a30ce5f18 Make buildable with GCC in Linux
* replace GetThreadID with std::this_thread.getId()
* name all anonymous structs and unions that contain non-trivially constructable objects
* made default constructor for big endian type noexcept to make it work with std::atomic
* move instantiated specialized template function members ouside of the class definition to comply with the standard
* added default instantiation for template parameter "=nullptr"
* used the C++11 standardized thread_local instead of the __declspec(thread)
* added transitional definitions to bridge the microsoft specific calls (compare and exchange and aligned alloc)
* removed cyclic dependency between Emulator->CPUThreadManager->CPUThread->SMutex->Emulator->...
* fixed some instances of indentation by space instead of tabs
* surrounded some unused code with an #if 0 block to make sure it doesn't compile
2014-02-23 17:52:52 +01:00
Alexandro Sánchez Bach 696e00a570 Merge refactoring branch & Krofna's pull req. #46 2014-02-23 02:39:46 +01:00
DH 81b19057bb Implemented audio Dump To File
Fixed MFOCRF, MTOCRF, MTCRF
Minor fixes
2014-02-22 14:06:23 +02:00
DH 05184d2e71 Improved GameViewer
GameViewer use VFS.
Implemented be_t increment / decrement
Implemented se
Improved sys_fs syscalls.
2014-02-22 04:53:06 +02:00
Bigpet 07135570f4 merge branch 2014-02-21 20:36:22 +01:00
Alexandro Sánchez Bach e7a721a1fb Merge pull request #46 from krofna 2014-02-21 17:13:57 +01:00
Alexandro Sánchez Bach 17b877e448 Minor changes in RSXTexture.h and PKG Loader
* Moved RSXTexture from RSXThread.h to RSXTexture.h
* Renamed RSXTexture::Getmipmap to RSXTexture::GetMipmap
* Used more GCM texture format constants in GLGSRender.h
* PKG Loader: Added an "Overwrite?" dialog in case the folder
dest+titleID (i.e. "/dev_hdd0/game/"+titleID) already exists. Note that
in that case, the game won't be installed regardless of the option you
choose on the dialog.
2014-02-21 14:21:08 +01:00
Alexandro Sánchez Bach 5f9e60c45f PKG Loader rewritten
* Rewritten unpkg.c -> Loader/PKG.cpp
* MainFrame::InstallPkg now *only* installs the PKG.
* Fixed crash when unpacking big debug PKG files.
* Debug PKGs are no longer recrypted.
* 'About...' dialog updated to remove PKG-related notice.
* Unpkg removed.

NOTE: The class PKGLoader is using wxWidgets functions to access the
files. I think VFS would be better, but the Emulator isn't necessarily
running when installing the PKG. In the other hand, initializing VFS
with RPCS3 may be somewhat risky... Any alternatives?

TODO: Get rid of the decrypted "*.dec" files, and try to decrypt and
read contents of the PKG on the fly using the information stored in
m_entries.
2014-02-21 02:35:33 +01:00
DH b1df7444a4 Minor fixes 2014-02-19 19:27:52 +02:00
Alexandro Sánchez Bach 83a7c83761 Moved some lines and deleted old code
* Removed Compiler ELF references from rpcs3.cpp
* Reordered the menu bar lines.
* Moved the construction of some panels of MainFrame from rpcs3.cpp to
MainFrame.cpp
2014-02-19 05:33:31 +01:00
Alexandro Sánchez Bach b85a86b225 RSX Debugger: Shader program editor
* Added checkbox in the Settings dialog for logging/editing shader
programs.
* Added "Programs" tab to the RSX Debugger. Double-click on the entries
to view/edit the shaders. Click on "Yes" after closing the editor will
recompile your program even if no changes were done.
* Replaced "Ctrl+C" shortcut for running the emulator with "Ctrl+E" to
avoid accidentally unpausing the emulator when copying text.
* Added glDetachShader to GLProcTable.tbl

NOTE: There is a known bug: For some reason, certain shaders refuse to
compile again, even if you save the original shader as the "new" one.
2014-02-19 01:41:57 +01:00
Nekotekina 931929a82c Fixed conflicts 2014-02-16 21:57:36 +04:00
DH 321d323beb Improved VFS
- Implemended vfsDir.
- Improved vfsDevice.
- Improved vfsFile.
2014-02-16 17:19:06 +02:00
DH 5d59dae730 Fixed RSXDebugger 2014-02-16 11:39:03 +02:00
DH a7368cc893 Merged elisha464 branch 2014-02-16 10:56:58 +02:00
DH 01f3763eb4 Small fixes 2014-02-16 10:28:32 +02:00
Nekotekina 848c5dadf0 Fixed some problems 2014-02-16 01:16:35 +04:00
Peter Tissen 6fbd4d3daf Merge branch 'master' of https://github.com/DHrpcs3/rpcs3 2014-02-14 00:10:58 +01:00
Peter Tissen 11ba83738f make stepping work again, it's impossible to use it without these changes 2014-02-14 00:08:32 +01:00
Alexandro Sánchez Bach eb93e87b7f Logging CheckBox, cellGame stuff and other fixes
* cellGameContentPermit and cellGameBootCheck updated.
* Checkbox in the Settings dialog, for enabling logging.
* Fixed GUI issue in the InterpreterDisAsmFrame.
* Fixed -dirty flag in wxWidgets submodule.
2014-02-13 20:05:23 +01:00
Nekotekina 5a240c32a9 log fixes (to wx_str()) 2014-02-13 20:59:13 +04:00
Alexandro Sánchez Bach 5953781c13 Few bugs fixed and license file added
* Fixed GUI issues caused by the update to wxWidgets 3.
* Fixed small bug in SC_TTY (thanks Nukem9!)
* Added GPL v2 license file.
2014-02-13 11:33:07 +01:00
Peter Tissen b05e466e8f clean up more output conversions, everything that wants to get printed needs to be explicitly convertex to the wxCharType otherwise the VFormat prints nothing 2014-02-10 19:51:03 +01:00
Peter Tissen b9c3dc352d use .wx_str() instead of .mb_str(), Dbg console is still broken 2014-02-10 13:53:09 +01:00
Peter Tissen 3f52a6aa50 prevent overflow becaus wxStrings aren't \0 terminated anymore 2014-02-10 02:43:24 +01:00
Peter Tissen 59dcbd3ba3 make it compilable, don't merge this, string logs are broken and paths absolute to my machine 2014-02-10 02:13:13 +01:00
O1L 74426fd4e9 Minor changes 2014-02-06 22:34:05 +04:00
O1L e0737204fd Use _ftelli64 and _fseeki64 instead ftell and fseek in unpkg, required to unpacking big files (> 4 Gb). Deleted wxMoveDir() (not needed now :P ) and added simple progress bars in unpkg. 2014-02-06 20:58:42 +04:00
DH 4b8d6b6919 Improved ThreadBase.
Improved Vertex Shader Decompiler.
2014-01-31 20:40:18 +02:00
elisha464 8e9dcd279a changed everything to use the new IO address space 2014-01-24 01:22:56 +02:00
DH ab41540064 Improved ID manager.
Improved MemoryBlock.
2014-01-19 05:14:11 +02:00
Alexandro Sánchez Bach 2506810a2e cellAudio updated
cellAudio:
* Change endianness of datatypes.
* Fixed port handling.
* Uninitialize module when restarting.
* Minor syntax fixes.
2014-01-10 22:06:22 +01:00
DH 7971db665e Improved Vertex Shader Decompiler.
Fixed VFS Manager crash.
Fixed SPU image loader.
Draft implementation of cellFsAioRead.
Improved Callbacks.
2014-01-07 22:11:02 +02:00
DH cbeadcf872 Improved RSX Debugger
- Fixed crash in debug build.
 - Implemented texture selection.
2014-01-07 09:30:41 +02:00
Alexandro Sánchez Bach aa9b0d0a31 RSX Debugger, Mem. Viewer and module improvements
* Small cleanup in cellJpgDec and cellPngDec.
* cellPamf added to the project and a few test lines added to
cellPamfGetHeaderSize(2).
* Improved speed of the Raw Image Preview on the the Memory Viewer.
* Now you can click on the shown buffers / textures in the RSX Debugger
in order to see them in full size. More settings added to the tabs.
* Fixed cellFsStat in order to fix the crash aused by opening
directiories. The solution is really *really* ugly. Once vfsDir is
ready, I will replace it with something better.
2014-01-05 00:45:44 +01:00
Alexandro Sánchez Bach 1a43fe5ceb RSX Debugger & cellFont improved
RSX Debugger:
*Better way to add name:value pairs to the tabs.
*Added some entries in the Settings/Texture/Lightning tabs.
*Experimental DisAsm.
*Support for previewing RGB textures (buggy!).
*Minor cleanups and improvements

cellFont:
*Added cellFontOpenFontMemory, cellFontOpenFontFile,
cellFontOpenFontset. They still need some modifications (e.g. bind these
functions to stblib/stb_truetype.h).
2014-01-02 02:13:08 +01:00
Alexandro Sánchez Bach d1a27748a3 Experimental RSX Debugger & minor changes
RSX Debugger:
Currently, it can preview the color buffers while the RSX Thread is
running, view and modify the render flags, and act as a memory viewer in
the RSX command buffers (no disasm yet). You can press F5, to update the
information (buffers, memory, flags, etc.) of the frame. There are *a
lot* of TODO's here that will be done in the future.

Minor changes:
*Added /dev_flash/ to VFS (required for cellFont in the future).
*cellMsgDialogOpenErrorCode implemented using wxMessageBox. The
information for each error code comes from PSDevWiki. There are lots
error codes missing.
*Updated sys_memory_get_page_attribute

Happy new year to everyone! :-)
2013-12-30 23:59:39 +01:00
O1L 286254a10a Implemented some cellSysutil audio functions, added configurable controls (draft/ugly implementation), and minor changes in cellAudio and ConLog 2013-12-27 14:55:11 +04:00
DH 456374d487 Added missed files. 2013-12-24 06:02:21 +02:00
DH bf03874be2 Refresh Game Viewer after Install PKG 2013-12-08 19:06:20 +02:00
DH 23539f13b5 Improved Boot UI.
Added dev_usb000.
Fixed Game Viewer.
Minor fixes.
2013-12-08 18:54:45 +02:00
DH eaef09df91 Improved PSF loader.
Improved Game Viewer.
Implemented cellPadGetInfo.
Minor improvements.
2013-12-08 15:47:54 +02:00
Hykem a9a246a866 General improvements:
- Added drafts for event flag emulation;
- Implemented memory locking/unlocking;
- Refactored common SC_Memory objects;
- Implemented VM (virtual memory) syscalls;
- Improved cellGameBootCheck;
- Added more dummy values to cellVideoOutGetDeviceInfo;
- Mapped functions sys_mmapper_allocate_memory and sys_mmapper_map_memory to sysPrxForUser;
- Mapped syscalls 341 and 342 (duplicates of 324 and 325) to sys_memory_container_create and sys_memory_container_destroy;

Improved PKG installation routine:
- Allow immediate game booting;
- Fixed and improved game folder path handling.
2013-12-07 20:56:42 +00:00
Alexandro Sánchez Bach 5ce57e963f New functions & Minor changes
* cellGameBootCheck, cellSysutilGetSystemParamString partially
implemented.
* Improved debug SELF loader (I applied DH's changes over another part
of code that Hykem wrote).
* Added checkbox in the Config>Settings menu to ignore Read/Write errors
(disabled by default).
* Minor issues.
2013-11-29 05:56:26 +01:00
Sacha 6bcaf469e8 First stage of WX dependency removal. 2013-11-28 05:16:19 +10:00
DH 4fbfc14763 Improved Debug SELF loader 2013-11-26 07:04:39 +02:00
DH 9ce30fdd74 Improved OpenGL renderer & RAW SPU
- Improved Fragment Shader Decompiler.
- Fixed NV308A_COLOR cmd.
- Fixed break points for RAW SPU Thread.
- Added cellMsgDialogOpen2 to cellSysutil module.
2013-11-26 06:34:19 +02:00
Hykem 03d2525ccc Implemented syscall 114.
Implemented manual unfself routine for debug (homebrew) packages.
2013-11-26 00:23:25 +00:00
Mislav Blažević 9a8cf34f44 Fix linking 2013-11-24 10:23:04 +01:00
DH c7ca4b996a Fixed compilation errors
Minor improvements
2013-11-24 02:01:57 +02:00
Mislav Blažević d8bd34b57e Start porting to GNU compiler 2013-11-23 23:27:58 +01:00
Alexandro Sánchez Bach 268a654fec Implemented Raw Image Preview tool 2013-11-23 18:56:03 +01:00
DH cbe4ab253c Improved Memory Viewer 2013-11-23 07:38:19 +02:00
Alexandro Sánchez Bach 5e1a958ee6 New debugging features, cellGame & minor changes
Two cellGame functions partially implemented:
- cellGameGetParamInt
- cellGameGetParamString

New debugging features:
- Call Stack viewer added
- Memory Viewer rewritten (Not finished yet)

Modified definition of UNIMPLEMENTED_FUNC to improve compatibility with
other compilers: Thanks @krofna

Replaced the "Compiler" menu entry with "Tools" and "Memory Viewer"
entry added.

NOTE: To "quickly" browse the memory using the Memory Viewer you can use
the scrollbar. Notice the irony of the word 'quickly' since the memory
viewer is actually slow as fuck. I will fix that soon. As you can see,
I'd like to add a Raw image viewer in the future in order to "see"
textures directly from memory.
2013-11-23 05:47:19 +01:00
Osvaldo Costa 19fea00432 Change the GUI a little bit
Removed the launch of the ELF Compiler window at startup. Instead of it,
I added a menubar item called "Compiler", and within it a menu item
called "ELF Compiler", wich will launch the window.
2013-11-17 23:10:59 -03:00
DH 5373747210 - Improved sc function binder.
- Improved Module binder.
- Added Dump Depth Buffer & Dump Color Buffers options (values can be changed on the fly).
2013-11-16 23:12:30 +02:00
DH baea02901b - Implemented cellRescResetFlipStatus & cellRescGetFlipStatus.
- Renamed gs homebrews.
- Updated AboutDialog.
2013-11-16 03:44:08 +02:00
O1L 6d56f1ae86 Implemented PKG Installer, improved Boot game. 2013-11-13 22:35:25 +04:00