Commit graph

287 commits

Author SHA1 Message Date
Nekotekina c9cd80c089 Memory bugs fixed 2014-08-14 16:02:01 +04:00
Nekotekina dfd5fd388e Little cleanup 2014-08-08 22:13:17 +04:00
Nekotekina b00e0fcf69 sys_event_flag.cpp restored 2014-08-08 19:55:12 +04:00
Nekotekina 8f04ab07ed IsGood() check elimination
Reasons: 1) It's unsafe - we cannot guarantee that address is still good
while it is used. 2) It's wrong in many modules which are usually just
compare pointer with zero.
2014-08-05 14:18:22 +04:00
Nekotekina 424d5e22d2 GetCount for Out_IntrMBox 2014-08-04 22:43:42 +04:00
Nekotekina fa5311718e Small SPU cleanup 2014-07-21 22:35:44 +04:00
Nekotekina ecbc9d1b08 RawSPU cleanup 2014-07-16 20:10:18 +04:00
Nekotekina d94ce7094e Rounding mode set 2014-07-16 16:09:20 +04:00
Nekotekina a71053ae15 Asmjit updated 2014-07-14 13:24:10 +04:00
Sacha 9816ec3aa0 Fix conflicts. 2014-07-12 17:02:39 +10:00
Sacha 6e06fdf638 Stdafx: Major header cleanup 2014-07-12 16:33:04 +10:00
Nekotekina ad524798fa Compilation fix 2014-07-11 13:39:51 +04:00
Nekotekina 125359e30e Some fixes 2014-07-11 13:18:23 +04:00
Nekotekina 259b57c64a Fixed conflicts 2014-07-11 10:09:38 +04:00
Sacha f256153a2b Warnings: Fix several warnings. 2014-07-11 05:08:05 +10:00
Nekotekina 22b9afdb60 Some cleanup 2 2014-07-10 04:13:04 +04:00
Nekotekina d1fff053c2 Some cleanup 2014-07-07 21:22:36 +04:00
Alexandro Sánchez Bach 230ba0d360 Fixed conflicts and minor changes (2) 2014-07-06 18:05:52 +02:00
Alexandro Sánchez Bach 08d61163ea Removed external functions from SysCalls.h
* Replace `int` with `s32` as return type for syscalls.
* Renamed `SC_Something.*` files with the proper lv2 name
`sys_something.*`.
* Moving away from the lv2, those functions and folders that doesn't
correspond to lv2 functions. E.g. module functions from sys_io,
sysPrxForUser, cellGcmSys.
* Splitted some files (memory -> memory+mmapper) and merged other ones
(event+event_flag ->event, spu+spu_thread -> spu), according to common
sense, PSDevWiki docs, and checking firmware files.
* Removed external functions from `SysCalls.h`.

NOTE: What should we do about: cellGcmCallback? It's not a lv2 syscall
but it appears on the sc_table and it is actually called in games. Is
this some kind of hack?
2014-07-06 16:23:37 +02:00
Nekotekina d16953d392 SPU Decrementer 2014-07-05 23:23:34 +04:00
Peter Tissen 95f1a0e645 use only one set of logging macros instead of two and don't use free() as a function name 2014-06-27 15:28:17 +02:00
Peter Tissen 21da317453 Logging system rework
* use one central unified log with channels/priorities ad-hoc listener registration and de-registration
* disable buffering by default
* add multi-threaded ringbuffer implementation
* use buffered listener for the gui (using the ringbuffer)
2014-06-26 17:34:28 +02:00
Nekotekina 2200e6f4d9 Small fixes 2014-06-25 02:16:44 +04:00
Nekotekina f9c592098f Work on RawSPU: interrupt mailbox
Achievement unlocked: run spu_test!
2014-06-23 05:03:16 +04:00
Nekotekina 30b8e51234 rCriticalSection & rSemaphore removed
SC_Semaphore errors fixed
Room for interrupt threads
2014-06-22 14:59:28 +04:00
Nekotekina 90b9861043 SMutex partially replaced with std::mutex
SPURecompiler.h: SETcc bug fixed
2014-06-20 15:00:36 +04:00
Peter Tissen 40add8f9a2 Seperate ConLog.h and ConLogFrame.h (for now only seperate headers)
make precompiled header slimmer under Linux to increase CI and dev-machine build-times

make sure unused modules don't compile
add unused modules to the VS project to easier keep track of them
2014-06-06 02:50:22 +02:00
Peter Tissen 96e229abfa add primitive InterlockedOr64 implementation
use non msvc specific type for int64_t

add umul for gcc
2014-06-02 19:29:22 +02:00
Alexandro Sánchez Bach 82c6d8d68b Removed 32-bit related #if(n)def's 2014-06-02 14:08:32 +02:00
Unknown W. Brackets 563aa2d2ca Log unhandled case in FPSCR::checkSliceRounding(). 2014-04-28 07:43:07 -07:00
Nekotekina 62df7eb499 Merge branch 'master' of https://github.com/DHrpcs3/rpcs3
Conflicts:
	rpcs3/rpcs3.vcxproj.filters

Conflicts fixed
2014-04-18 16:59:31 +04: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
Nekotekina dab0751300 ... 2014-04-16 15:09:06 +04: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
Nekotekina f9b68bc012 SPU JIT fix
Nothing changed in interpreter.
2014-04-07 17:06:13 +04:00
Nekotekina e614a7313c SPU JIT WIP 2014-04-06 23:23:32 +04:00
lioncash d0c9d7c0ae Use spaces for vertical alignment 2014-04-04 09:25:38 -04: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 a5d9c9033f Fix erroneous assignment in an if statement.
Should have been a comparison.
2014-03-24 20:08:33 -04:00
Nekotekina c4d9223034 event flag improvement (not finished)
Fixed empty SPU thread name issue
2014-03-17 19:07:47 +04:00
Nekotekina 4aa6ddf3dd Weird MFC_PUTR_CMD handling 2014-03-16 01:33:19 +04:00
Nekotekina c9a421f12f SPU Thread Group-specific MMIO
LS access, SNR writing
2014-03-16 00:46:53 +04:00
Nekotekina 60d922da11 DMA List commands
cellAudio: multiple queue support
sys_cond simplified
cellFsMkdir (?)
2014-03-15 19:43:14 +04:00
Nekotekina b56df0c7f6 New functions
sys_spu_thread_bind_queue, sys_spu_thread_connect_event and SPU-side
sys_spu_thread_receive_event, sys_spu_thread_send_event
Fixed event system
Fixed SleepQueue priority alg
Audio: cellAudioGetPortTimestamp and cellAudioGetPortBlockTag
2014-02-22 04:26:50 +04:00
Nekotekina 848c5dadf0 Fixed some problems 2014-02-16 01:16:35 +04: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 373d189edb Merge pull request #70 from Nekotekina/rpcs3
and conflicts fixed.
2014-02-13 12:13:05 +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 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
Nekotekina ed40732e7b Reservation review
Minor changes
SC_Event_flag.cpp module detached
2014-02-08 01:55:25 +04:00
Nekotekina 6c606be09f Reservation implemented
Some SPU bugs fixed;
sys_spu_thread_get_exit_status
sys_spu_thread_group_destroy
2014-02-07 02:55:48 +04:00
DH beb19633e9 Implemented vfsLocalDir & vfsDirBase.
Improved ThreadBase.
Minor fixes.
2014-02-02 21:42:32 +02:00
Nekotekina 93faac5780 Small changes 2014-01-23 22:40:49 +04:00
Nekotekina e41f21abc7 Simple analog stick support (from KB)
Left stick: arrows; right stick: PgDn/PgUp (vertical) and Home/End
(horizontal)
Added L10n functions' list (copied from old distr)
Fixed "LoadShdr64 error: shstrndx too big" in ELF64 loader
Other minor changes
2014-01-14 23:03:48 +04:00
Nekotekina 970b834f2e CellSync review (mutexes, SPU).
File descriptors temporarily detached from ID manager.
Some logs disabled.
2014-01-12 14:27:59 +04:00
Nekotekina 1be7454bc4 Fixed errors, improvements
cellSync review, MFC channel AtomicStat added, draft implementation of
MFC_GETLLAR_CMD, MFC_PUTLLC_CMD etc, memory allocating hacks for
alignment.
2014-01-10 05:30:59 +04:00
Nekotekina 5f06f46f32 Minor improvements
cellFsAioRead partially implemented, cellPadInfoPressMode &
cellPadInfoSensorMode stubs
2014-01-05 03:58:03 +04:00
Nekotekina ca13d4f2ef SPU
LQX Hack removed, Critical Section for m_status removed.
2013-12-27 15:35:08 +04:00
Nekotekina 1ab5ef9dd7 SPU
Implemented sys_raw_spu_load, sys_raw_spu_image_load. Minor review of
MFC, channels.
2013-12-25 21:28:10 +04:00
Nekotekina ba8108d595 SPU Fixes
Mandelbrot set does work now and its modified version included in
TEST12345 folder.
2013-12-23 15:57:09 +04:00
Nekotekina c9abf559be SPU Improvements
Implemented SNR channels and syscalls, fixed sys_spu_thread_initialize
(args' passing, SPU image copying for each thread)
2013-12-22 21:40:50 +04:00
Nekotekina c3d2cd344f Win32 fix & elf loading fix
Fixed compilation error for x86 version. Fixed issue with ELF loading.
2013-12-15 01:59:37 +04:00
Nekotekina ee137323aa MBox, some improvements
Some changes reverted (warnings), multi-thread safety fixed, MBox MMIO
modified
2013-12-13 05:35:28 +04:00
Nekotekina c9fc99c388 Basic DMA, MFC, channel changes
Added new consts, thread-safe locks for critical resources, removed some
warnings. Modified git-version.h
2013-12-11 02:58:11 +04:00
Nekotekina 34ac4688e6 MFC
Minor changes
2013-12-08 18:03:51 +04:00
DH bba1b6a6e0 SPU improvements
- Implemented more SPU Channels.
- Improved interpreter.
Minor improvements.
2013-12-08 00:52:41 +02:00
Nekotekina 241ae83645 SPU Improvement
Implemented CFLTS, CFLTU, CSFLT and CUFLT. Finally fixed FREST.
2013-12-04 00:35:45 +04:00
Nekotekina 73c2628ef4 SPU Fixes 3.2 2013-12-02 22:49:06 +04:00
Nekotekina ae39d3802f SPU Fixes 2
It's almost finished
2013-12-01 04:36:55 +04:00
Mislav Blažević d8bd34b57e Start porting to GNU compiler 2013-11-23 23:27:58 +01:00
DH da9c778a4c Improved RAW SPU
Fixed sc binder_func_10
2013-11-23 20:50:54 +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
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
Magn3s1um 3c762750a0 -Added SPR registers
-Implemented MTSPR
2013-11-08 17:17:44 -08: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
Alexandro Sánchez Bach 7d97bbfbbf Changed syntax of last SPU instructions 2013-09-23 14:20:47 +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
DH 81e874c9e2 - Implemented HDD manager.
- Implemented VFS manager.
- Implemented MFC.
- Fixed ELF Compiler.
- Improved HLE Func binder.
2013-08-03 12:40:03 +03:00
DH 559852a8fc - Implemented RAW SPU.
- Implemented memory mapping.
2013-07-12 15:42:17 +03:00
DH 6d7d3acb43 - Fixed loading modules in debug mode.
- Improved Lwmutex.
- Implemented events syscalls.
- Fixed SPU local storage.
2013-07-06 02:49:38 +03:00
DH 5753edf6ef - Improved sc function binder.
- Improved GLGSRender.
2013-06-30 11:46:29 +03:00
DH a90b5cf37a http://code.google.com/p/rpcs3/source/detail?r=44 2012-11-15 01:39:56 +02:00