Commit Graph

2431 Commits

Author SHA1 Message Date
Magn3s1um 63482dcfdc -Fixed MPYU and special registers based on comments 2013-11-09 07:51:26 -08:00
Magn3s1um 1192d20295 -Partial Implementation of Floating-Point Status and Control Register (FPSCR) 2013-11-09 07:41:56 -08:00
DH 6ea2c7d6a8 - Fixed memory leaks in cellRtc module.
- Fixed CPUThread crash.
- Improved ARMv7 Interpreter.
2013-11-09 14:25:12 +02:00
Alexandro Sánchez Bach 3b15f35432 Merge pull request #15 from Hykem/master
Fix for OpenGL error and implementation of cellRtc
2013-11-08 18:55:34 -08:00
Alexandro Sánchez Bach 620b8d0369 Fixed errors of last commit
I forgot to modify one line of code that broke the entire solution. Now
this is fixed. I also disabled the logging of sys_timer_usleep calls.
2013-11-09 03:48:43 +01:00
Hykem 3076571b6f Fixed OpenGL error 0x0502.
Implemented cellRtc module.

Added module name list in cellSysmodule to aid debugging.
2013-11-09 01:27:37 +00:00
Magn3s1um 3c762750a0 -Added SPR registers
-Implemented MTSPR
2013-11-08 17:17:44 -08:00
Alexandro Sánchez Bach 60261408c2 Merge branch 'master' of https://github.com/AlexAltea/rpcs3
NOTE: I included some changes of the forks of O1L and Dante38490 to my
fork. However, a conflict appeared while merging their sources with the
ones of DH. I had to resolve this conflict manually and push all the
changes like a new commit, that's why there changes weren't recorded
individually and (probably) won't appear at in the commits list. I am
very sorry for this, I'll try to avoid this in the future.

In order to preserve the authors of those commits, I write this list
here:
O1L: Dummy Modules (cellAudio, cellSaveData, and more)

23ece01a0b

784fc571b3

Dante38490: Spotted and fixed an issue in git-version-gen.cmd

44e8867125

Regarding my changes:
* New lv2 SysCalls implemented (and others improved)
* SDATA unpacker implemented
* Changed layout of sc_table
2013-11-09 02:05:58 +01:00
DH 099333c992 - Implemented some ARMv7 instructions. 2013-11-06 03:01:15 +02:00
DH f18fff08c7 - Fixed compilation errors. 2013-11-05 22:04:55 +02:00
DH b263c3ebaf - Renamed ARM9 to ARMv7.
- Improved ELF32 loader.
2013-11-05 21:22:58 +02:00
DH 6b22e7d90a - Implemented ARM9Interpreter & ARM9DisAsm.
- Implemented MemoryBlockLE & DynamicMemoryBlockLE.
- Implemented CPUDecoder.
2013-11-05 20:12:18 +02:00
DH 0b35be32a4 - Implemented ARM9Thread.
- Improved OpenGL Renderer.
- Improved RAW SPU mfc.
2013-11-03 21:23:16 +02:00
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