Commit Graph

15118 Commits

Author SHA1 Message Date
DHrpcs3 6622dc42b5 Merge pull request #9 from Hykem/master
Add SELF decryption and ELF32 little endian support
2013-10-28 15:50:36 -07:00
Hykem 198d0a2fc0 Added ELF32 little endian support for PSP ELF files. 2013-10-28 21:58:03 +00:00
Alexandro Sánchez Bach f1b420eb3b SELF decrypter improves & About... dialog added
SELF decrypter improved:
The files 'scetool.exe' and 'zlib1.dll' are no longer needed. Everything
needed is now included in the rpsc3 project. So the only thing you need
in order to load SELF files are the keys. More information about this
matter in my last commit: c1565e55

Warning for devs! There is a lot of spaghetti code in /scetool/. I
fucked up things a bit while trying to include scetool in rpcs3. There
is a lot of unused code there and I need to make sure that everything is
working properly. In any case, the code seems to work stable so
end-users shouldn't be worried about this warning. ;-)

'About...' dialog added:
Well, I have nothing more to say here. I wish you all a nice day!
2013-10-21 23:02:43 +02:00
Alexandro Sánchez Bach c1565e55e5 Experimental SELF decryption support
This SELF decryption feature is not portable and its code looks really
ugly. It is experimental and is meant to save time to developers when
doing tests with SELF files. Besides that, it works (under Windows). :-)

How to use it:
1. Place "scetool.exe" (and "zlib1.dll") into the main rpcs3 folder.

2. Obtain a LEGAL copy of the SELF decryption keys and place them in a
folder named "data" next to the main executable in a format that is
readable for "scetool.exe". That is, following files should be present:
data/keys
data/ldr_curves
data/vsh_curves

(See screenshot in the comments)

NOTE: These are the steps to enable SELF decryption and it applies to
future commits regarding this matter. We do NOT take any responsibility
about the way you obtain the keys or (until we include SELF decryption
into our code) the actions "scetool.exe" (or "zlib1.dll") perform.
2013-10-14 21:40:44 +02:00
DH 5874a5683e Fixed small error. 2013-10-06 18:41:19 +03:00
DH 64cd9746b8 Fixed minor Debugger errors. 2013-10-06 18:05:58 +03:00
DH 8259006bc3 Improved OpenGL renderer.
- Improved Vertex Shader Decompiler.
- Fixed CMD analyzer.

- Improved sys_fs module.
- Minor fixes.
2013-10-06 17:15:04 +03:00
DH dd48f827c3 - Implemented be_t, mem_struct_ptr_t, vfsFile.
- Improved sys_fs, cellPngDec, cellJpgDec, cellGifDec modules.
2013-10-06 15:07:42 +03:00
O1L f8193fd784 Merge branch 'master' of https://github.com/DHrpcs3/rpcs3 2013-10-01 15:05:44 +04:00
O1L 23ece01a0b Minor improved cellAudio module. More dummy modules created. Some modules are not included to the project. If you want to implement a function of any of these modules, add the corresponding file to the project first. 2013-09-30 20:35:28 +04:00
B1ackDaemon efd336b743 Merge pull request #7 from AlexAltea/master
Some modules updated / improved & New dummy modules
2013-09-28 15:07:31 -07:00
Alexandro Sánchez Bach 2eb2a2a197 Small issue fixed 2013-09-28 23:05:56 +02:00
Alexandro Sánchez Bach 9bb2d082e6 Some Modules updated to use mem*_t class
cellKb, cellMouse and cellSysutil now use the mem*_t instances instead
of using "u32 *_addr" variables.
2013-09-28 16:30:04 +02:00
Alexandro Sánchez Bach afb9273823 More dummy modules
* 41 new dummy modules created.

NOTE: I have detached the previous 4 dummy modules of my last commit
(1a85ccbbf4) from the project since they will consume space of the
executable, and compilation time and don't provide anything useful yet,
the same applies to this commit. The only reason to provide this dummy
modules is to avoid that developers have to spend too much time on
creating the template of the module before implementing functions. If
you want to implement a function of any of these modules, add the
corresponding file to the project first.
2013-09-28 04:36:57 +02:00
O1L 784fc571b3 Created new dummy module for cellAudio. 2013-09-27 14:05:29 +04:00
Alexandro Sánchez Bach 1a85ccbbf4 Improved image dec. modules & New dummy modules
* Improved image decoding modules:
- Fixed error that appeared after last commit (eebe859f83).
- Changed some functions to use the mem*_t classes.
- Implemented cell*DecSetParameter.

* Created new dummy modules for sys_net (0x0000), sys_http (0x0001),
cellHttpUtil (0x0002) and cellSsl (0x0003).
2013-09-25 15:43:55 +02:00
DH eebe859f83 Improved mem_t.
- Implemented mem_ptr_t.
- Fixed issue 3.
2013-09-25 00:11:29 +03:00
B1ackDaemon e655999a23 Merge pull request #5 from AlexAltea/master
Improved debugger, modules and the SPU interpreter
2013-09-23 06:55:37 -07:00
Alexandro Sánchez Bach 7d97bbfbbf Changed syntax of last SPU instructions 2013-09-23 14:20:47 +02:00
Alexandro Sánchez Bach 03dcfeabc3 More SPU Instructions: Floating point comparison
* Implemented Floating/Double-floating comparison instructions:
FCGT, FCMGT, FCEQ, FCMEQ, DFCGT, DFCMGT, DFCEQ, DFCMEQ

* Implemented more Floating/Double-floating operations:
FMA, FMS, FNMS, DFMA, DFMS, DFNMS, DFNMA

* Implemented Double / Single floating-point conversion:
FESD, FRSD
2013-09-23 12:48:27 +02:00
Alexandro Sánchez Bach db7e68d308 More SPU Instructions: Floating point arithmetic
Implemented Floating/Double-floating arithmetic operations: Add,
Substract and Multiply: FA, FS, FM, DFA, DFS, DFM respectively.

* Fixed issue in the register editor: Wrong value displayed when reading
64 bit or 128 bit registers.

* Fixed issue in the register editor: Error when writing to 128 bit
registers.
2013-09-23 01:50:16 +02:00
Alexandro Sánchez Bach 9c6ae554fa Debugger improved: Register editor added
How to use the register editor:
1. Load an .ELF file
2. Select any instruction from a thread. (This is a workaround to
activate the appropriate event listener. This will be changed in the
future).
3. Press 'R' key and modify any register you want.

Note:
The register editor only works with PPU and SPU threads.

Additional changes:
* Fixed the filesize problem caused by the instruction editor dialog.
* Instruction Editor: Fixed small issue in SPU threads
2013-09-22 13:34:54 +02:00
Alexandro Sánchez Bach bf293ebbfc Debugger improved: Instruction editor added
How to use the instruction editor:
1. Load an .ELF file
2. Select an instruction from any valid memory address inside any
thread.
3. Press 'E' key and have fun. :P

Note1: I suggest to remove the function InterpreterDisAsmFrame::DClick
and use InterpreterDisAsmFrame::InstrKey to do all debugging-related
actions (Add breakpoint, Edit, Step, Run, etc.) using the same keyboard
layout as debuggers like OllyDbg.

Note2: The final binary is 200 KB larger due to this feature. This issue
should be fixed in the future. This has probably something to do with
the #include's.
2013-09-21 02:40:36 +02:00
Alexandro Sánchez Bach a11de0f607 Improved image decoding modules
* Huge improvement in the speed of cell{Png|Gif|Jpg}DecDecodeData when
reading input files.

Note: Sorry if this commit is too "small", but I need to sync every
change since I use two PCs.
2013-09-19 23:40:43 +02:00
Alexandro Sánchez Bach 20665b9f89 Improved sys_fs module
- cellFsStat now accepts mounting points in the path argument.

- cellFsMkdir, cellFsRmdir, cellFsUnlink and cellFsRename are now using
the real path provided by the VFS.

- cellFsFtruncate, cellFsTruncate and cellFsFGetBlockSize are partially
implemented.

Note: I have spotted a bug in cellFsRename and cellFsRmdir (this has
nothing to do with the changes I made), but I don't dare to fix it since
I am not sure if I will break other functions with my solution.
2013-09-18 23:50:00 +02:00
DHrpcs3 d7e4f7ec3b Merge pull request #4 from AlexAltea/master
New image decodification modules & IO devices
2013-09-15 08:13:23 -07:00
Alexandro Sánchez Bach b85d39bfc3 Minor issues fixed
*Memory leak in image decodification modules.

*Changed mouse wheel delta value.
2013-09-14 22:47:59 +02:00
Alexandro Sánchez Bach 1024a7c7c4 Mouse support added
*Implemented 'cellMouse*' functions from 'sys_io' module, which are part
of the libmouse library.

* Added corresponding entries in the 'Config > Settings' menu to change
the handler of the mouse. Supported handlers: Windows, Null.

* cellGifDec: Fixed some errors and added support for RGBA color.

(Remember: The mouse support is very experimental)
2013-09-14 20:20:57 +02:00
Alexandro Sánchez Bach 1b7302c0ba Keybord support improved
*Improved Keyboard:
- Fixed crash when using Null keyboard handler
- Added support for meta keys
- Added support for {caps, num, scroll} lock.

*Small issues fixed in previous module:
- cellGifDec: Fixed wrong information of packet field in
cellGifDecReadHeader.
- cellGifDec: Set DataOutInfo.recordType as 1 since the output is always
an image.
- cellJpgDec: Set colorSpace as 3, until a better function is
implemented.
- cellJpgDec, cellPngDec: Added RGBA support.

*Changed layout of "Config > Settings" menu.
2013-09-13 19:29:54 +02:00
Alexandro Sánchez Bach 4835ae35af Keybord support Added
* Implemented 'cellKb*' functions from 'sys_io' module, which are part
of the libkb library.

* Added corresponding entries in the 'Config > Settings' menu to change
the handler of the keyboard. Supported handlers: Windows, Null.

INFO: This keyboard library is *very* experimental and I am aware of
some bugs. There will be improvements soon.
2013-09-11 22:49:49 +02:00
Alexandro Sánchez Bach aea7f4aa77 cellGifDec Module Added
*Implemented 'cellGifDec', using 'sys_fs' to access the files and the
'stb_image' (stblib) library to decode GIF buffers to Raw-pixel buffers
that can be used as textures.

*Replace 'lodepng' and 'jpeg-compressor' libraries with 'stb_image' in
cellPngDec and cellJpgDec, respectively.

*Fixed minor issues in cellPngDec and cellJpgDec.
2013-09-10 15:17:02 +02:00
Alexandro Sánchez Bach 0275b430cf cellJpgDec Module Added
*Replaced "sys_jpgdec" with "cellJpgDec" in
"rpcs3\Emu\SysCalls\Modules.cpp".
*Implemented 'cellJpgDec', using 'sys_fs' to access the files and the
'jpg-compressor' (jpgd) library to decode JPG buffers to Raw-pixel
buffers that can be
used as textures.
*Fixed memory leak issue in cellPngDec and minor changes.
2013-09-09 18:27:31 +02:00
Alexandro Sánchez Bach 3123432dcc cellPngDec Module Added
Implemented 'cellPngDec', using 'sys_fs' to access the files and the
'lodepng' library to decode PNG buffers to Raw-pixel buffers that can be
used as textures.
2013-09-08 10:45:10 +02:00
DHrpcs3 43e0c84f64 Merge pull request #2 from cornytrace/master
Several small improvements
2013-09-05 03:44:45 -07:00
Cornee Traas eefd175900 Fix more spelling mistakes 2013-09-05 10:06:59 +02:00
Cornee Traas 9b921f3c2d Update .gitignore 2013-09-05 09:45:46 +02:00
Cornee Traas f25fa26b42 Refactor of game loading 2013-09-05 09:45:33 +02:00
Cornee Traas f4b98074b0 Merge remote-tracking branch 'upstream/master'
Conflicts:
	rpcs3/Emu/GS/GL/GLGSRender.cpp
	rpcs3/Gui/InterpreterDisAsm.cpp
	rpcs3/Gui/MainFrame.cpp
2013-09-03 19:26:31 +02:00
DH 5cc488011f - Version bump. 2013-08-27 18:22:04 +03:00
DH a9fdcd959b OpenGL renderer:
- Disabled dump vertex data.
- Fixed fragment constants loader.
- Fixed fbo creation.
- Implemented texture filtering.
2013-08-27 18:18:01 +03:00
DH 05687829d6 - Version bump. 2013-08-26 17:53:12 +03:00
DHrpcs3 555ad9472a Merge pull request #1 from DHrpcs3/wip
Wip
2013-08-26 07:27:35 -07:00
DH f83aa9d5ae OpenGL renderer:
- Improved Vertex & Fragment Shader Decompilers.
- Implemented fp uniform loader.
- Implemented DXT1 & DXT2 textures decompression.
- Implemented draft cellResc module.
- Updated glext.

PPU Interpreter:
- Fixed VSPLTW, VNMSUBFP, VMRGLW, VMRGLH, VMRGLB, VMRGHW, VMRGHH, VMRGHB instructions.

cellFs:
- Fixed cellFsStat syscall.
2013-08-26 17:18:59 +03:00
DH 234e174b7d - Implemented send open system menu cmd.
- Added cellSysutil module.
- Improved OpenGL renderer.
- Added cube & hello world homebrews.
- Implemented more GCM syscalls.
2013-08-19 02:06:11 +03:00
DH 2f5fa75bb4 - Fixed sys_ppu_thread_exit.
- Disabled some dbg tools.
2013-08-17 19:23:03 +03:00
DH 0aff049960 - Improved Vertex & Fragment Shader Decompilers.
- Fixed some FPR instructions.
- Implemented more GCM syscalls.
- Fixed callbacks alert.
2013-08-17 01:22:26 +03:00
Cornee Traas f42e6d7374 Update .gitignore to include git-version.h 2013-08-12 11:57:25 +02:00
Cornee Traas 96c692aefc Fix spelling of IsRunned to IsRunning 2013-08-12 11:56:56 +02:00
Cornee Traas d249bfef4d When debugging, put the git revision in the title
Useful for bug reports, user-friendly version still used when building
in release mode. A unix script for generating the git version is still
needed.
2013-08-11 00:09:27 +02:00
DH f42d4b6572 OpenGL Renderer fixes:
- Fixed Vertex & Fragment Shader Decompilers.
  - Fixed Transform Constants loading.
2013-08-11 00:56:24 +03:00