Commit graph

66 commits

Author SHA1 Message Date
Nekotekina bdeccd889f cpu_type removed, system_type added
cpu_state -> cpu_flag
vm::stack_allocator template improved
ppu_cmd type changed to enum, cmd64 type added
2016-08-09 17:14:41 +03:00
Nekotekina 46735d6b3d New bitsets (experimental) 2016-08-08 16:29:37 +03:00
Nekotekina f8719c1230 PPUThread refactoring
`CallbackManager` removed, added _gcm_intr_thread for cellGcmSys
`PPUThread` renamed to `ppu_thread`, inheritance allowed
Added lightweight command queue for `ppu_thread`
Implemented call stack dump for PPU
`get_current_thread_mutex` removed
`thread_ctrl::spawn`: minor initialization fix
`thread_ctrl::wait_for` added
`named_thread`: some methods added
`cpu_thread::run` added
Some bugs fixes, including SPU channels
2016-07-30 16:35:02 +03:00
Nekotekina 266db1336d The rest 2016-05-23 16:22:25 +03:00
Ivan aafcf44581 Header optimizations (#1684)
Shouldn't break anything. I hope.
2016-04-27 01:27:24 +03:00
Ivan da7472fe81 Optimizations (#1680)
* Optimizations

1) Some headers simplified for better compilation time
2) Some templates simplified for smaller executable size
3) Eliminate std::future to fix compilation for mingw64
4) PKG installation can be cancelled now
5) cellGame fixes
6) XAudio2 fix for mingw64
7) PPUInterpreter bug fixed (Clang)

* any_pod<> implemented

Aliases: any16, any32, any64
rsx::make_command fixed
2016-04-25 13:49:12 +03:00
Nekotekina c7738b8b37 Partial commit: Gui 2016-04-15 19:22:46 +03:00
Nekotekina 3ed603074c Changes done by [DH] rewritten
Added rsx_program_decompiler submodule
Added fs::dir iterator
Added fmt::match
2015-12-22 23:11:20 +03:00
Nekotekina 3465106456 Shared PCH (experimental)
"Rebuild" is broken though.
2015-12-04 23:37:44 +03:00
Nekotekina a974ee009e vm::var improved, cleanup
Mostly vm::var initialization introduced.
Added vm::make_var function.
2015-10-14 18:17:37 +03:00
Nekotekina 817fec9684 SPU Cleanup
SPURecompiler improved
Old SPU decoder removed
SPU Interpreters merged
2015-09-02 00:38:44 +03:00
Nekotekina 2f7fe35f5c Minor style change 2015-07-21 23:14:31 +03:00
Nekotekina 3aefa2b4e1 ThreadBase rewritten (wip) 2015-07-10 04:31:16 +03:00
luxsie e4a2a60f55 CppCheck: End of those marking. and removed one meaningless comparation in sys_spu.cpp. 2015-04-10 20:26:48 +08:00
Nekotekina 5f8cf18a5a SPU refactoring 2015-03-03 00:09:20 +03:00
Nekotekina 267de68441 Memory cleanup, page flags implemented
RSXCMDMem, SPRXMem, MmaperMem removed
MainMem range fixed
2015-02-13 17:04:03 +03:00
Peter Tissen 13d2f8fa59 re-enable threadlist in GUI
This used to crash so it was removed. However I think this is a cruicial feature.
This is the only way to observe the stack-frames, registers and disasm around the PC
in a user friendly way.

The reason this caused crashes was that we got a reference to a std::vector and iterated
over it in one thread while another thread could modify it (and thereby invalidating the
iterators). The way I "fixed" it is to just copy the `std::vector<std::shared_ptr<...>>`
and iterate over the copy. This obviously has some overhead (locking the shared_ptr
counters and incrementing them). It also allows entities other than the Thread manager
to keep the Thread objects frome being deleted but that should not be a problem.
2015-02-02 11:33:49 +01:00
Nekotekina d8239a39c9 std::shared_ptr in IdManager 2014-12-24 02:38:13 +03:00
Oil c3696f7897 ARMv7 decoder reworked (needs more testing / fixes / optimisations). TODO: implement new ARMv7 disassembler (currently ARMv7DisAsm fully disabled), add 0x0 opcodes group. 2014-12-01 23:20:27 +04:00
Nekotekina 5f1253598c Fix formatting 2014-09-15 23:04:18 +04:00
Nekotekina 225dba754d GetMemFromAddr, VirtualToRealAddr replaced
Some arg types changed
2014-09-05 21:23:00 +04:00
Nekotekina 028ce2dd9f stdafx_gui.h created, wx removed from stdafx.h 2014-08-29 02:49:26 +04:00
Nekotekina 78cbb90ef6 Some leaks fixed 2014-08-26 03:55:37 +04:00
Nekotekina efa538f9d7 include clearing 2014-08-23 04:16:54 +04:00
Nekotekina 5abd3fabfa Attempt to remove some includes 2014-08-22 18:21:55 +04: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
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
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 92d556524b well let's hope Clang doesn't mind implicit unsigned int to u64 2014-04-28 21:18:11 +02:00
Hykem 7b28d9d7ba Merge pull request #185 from lioncash/gui-cleanup
Clean up UI code.
2014-04-28 15:54:54 +01:00
Lioncash 8feabb00d6 Correct event handlers to trigger in all instnces
Some events don't propagate correctly to the right sub-window
and some things like the pad handler don't even necessarily have
windows. So, just register some events with the top-level app.

Also add a virtual destructor to the PadHandlerBase to be able to
deal with multiple inheritance in the derived classes.
2014-04-27 20:05:01 -04:00
Lioncash b877879db6 Clean up UI code.
- Use Bind instead of connect. It's recommended for anyone using wx 2.9+
- Remove AppConnector. All this did was destroy objects used in the UI. However, wxWidgets handles this. So it's redundant.
- Misc other unimportant changes.
2014-04-27 19:53:13 -04:00
Clayton Walker 0c5526f2fd Gui: Replace sscanf with ToULong 2014-04-27 17:11:03 -06: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
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
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
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
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
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
Mislav Blažević 9a8cf34f44 Fix linking 2013-11-24 10:23:04 +01:00
Mislav Blažević d8bd34b57e Start porting to GNU compiler 2013-11-23 23:27:58 +01: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
DH 099333c992 - Implemented some ARMv7 instructions. 2013-11-06 03:01:15 +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
DH 64cd9746b8 Fixed minor Debugger errors. 2013-10-06 18:05:58 +03:00