Commit Graph

627 Commits

Author SHA1 Message Date
Xavier Del Campo Romero 28b866b150 Consider sockets less than zero as invalid 2020-12-30 23:54:49 +01:00
Xavier Del Campo Romero 364102c0b6 Provisionally redirect RawReadSocket to ReadSocket 2020-11-03 22:52:42 +01:00
Xavier Del Campo Romero 2dde7bcb26 Notify gdb stub whenever a break instruction is executed 2020-11-03 22:42:52 +01:00
Xavier Del Campo Romero 842a347a4b Call perror on socket.c 2020-11-03 22:34:05 +01:00
Xavier Del Campo Romero 76b11a3252 Do not continue program on add/remove breakpoint 2020-10-26 23:02:49 +01:00
Xavier Del Campo Romero aa89de282b gdb halt command was not being sent to CPU interpreter 2020-06-08 00:20:26 +02:00
Xavier Del Campo Romero cb2d7f800a Implemented port-specific wrappers and logic for gdb stub 2020-06-04 23:14:52 +02:00
Xavier Del Campo Romero 850010a96b Replaced in-house gdb stub by MIT-licensed implementation
Imported from a fork of https://github.com/mborgerson/gdbstub
2020-05-23 19:03:11 +02:00
Xavier Del Campo Romero 470da05658 Started implementing GDB server 2020-05-23 18:05:53 +02:00
Xavier Del Campo Romero aea565d558 Added GDB server on CpuCfg UI dialog, rearranged layout
The layout was rearranged to make it fit on smaller screens
e.g.: 768pix height as featured on many laptops.
GDB server not implemented yet.
2020-05-22 00:53:22 +02:00
Xavier Del Campo Romero 004a305458 client_socket was being accidentally reset to -1
That was making the telnet debug server to crash, so fortunately that
solved it while also having the neat features from dynstr.
2020-05-22 00:52:52 +02:00
Xavi Del Campo 486666e717 Introduced dynstr, other breaking changes 2020-05-02 02:34:49 +02:00
Xavi Del Campo aecaf18a95 Added dynstr, fixed NULL pointer access 2020-05-02 02:34:49 +02:00
Xavi Del Campo 7ab44f41ca Support for multiple sockets 2020-05-02 02:34:45 +02:00
Mystro256 eac8516c48 Disable autoselect for PPC dynarec since it's broken 2019-02-13 10:45:30 -05:00
Stelios Tsampas e11f002bf9 * Fix file and folder permissions 2018-03-19 11:47:21 +02:00
Stelios Tsampas 692119c547 * CMake messages 2018-03-19 11:47:21 +02:00
iCatButler 6f76041029
Merge pull request #7 from loathingKernel/sync-with-codeplex
Sync with codeplex
2018-03-19 07:39:08 +00:00
iCatButler 2d0b10f982
Merge branch 'master' into fix-linux-build 2018-03-13 17:25:03 +00:00
Stelios Tsampas 128d6afb17 * Remove autotools build system. 2018-01-12 21:52:44 +02:00
Stelios Tsampas a93c5c5420 * Fix CMake to include PGXP sources. Import updated translations.
Includes some small fixes on CMake, such as prettier status messages,
    host and target arch detection (taken from PCSX2), and various other
    small errors.
2017-07-31 17:09:40 +03:00
Stelios Tsampas 3912ad309e * Import CMake build system from codeplex 2017-07-31 16:15:15 +03:00
Stelios Tsampas 01f4990887 * Sync with codeplex branch (libpcsxcore, linux gui)
This commit reflects mostly changes that happened in upstream since the last sync.
    Commit messages in upstream are lacking information. Most important changes are
    commented below, the rest of them are either formating or just trivial stuff.

    Memory viewer, invalidate dynarec
        gui/DebugMemory.c
        libpcsxcore/cdrom.c
        libpcsxcore/gpu.c
        libpcsxcore/misc.c
        libpcsxcore/psxdma.c

    Load binary files and psx executables
        libpcsxcore/misc.c
        libpcsxcore/misc.h
        libpcsxcore/plugin.c
        libpcsxcore/plugin.h

    Support for psxida
        libpcsxcore/debug.c
        libpcsxcore/r3000a.c
        plugins/bladesio1/connection.c

    disable loading save states with digits
        gui/Plugin.c

    Fix psxDIV in interpreter
        libpcsxcore/psxinterpreter.c
2017-07-31 12:48:37 +03:00
Stelios Tsampas dcf718bdd9 * Revert parts of the per game memory card patch.
The previous implementation was doing file paths manipulation deep inside sio.c, and it
  was hardcoding windows style paths. This was breaking on linux in more than one ways and
  it is incompatible with the dynamic apppath handling from codeplex branch. Moreover,
  SaveMcd and LoadMcd functions already take memory card file paths as arguments,
  making any such logic redundant.

  This patch rewrites the global Config.Mcd# variables during game startup, which makes it
  more compatible across all platforms. It also has the added benefit that it doesn't update
  the configuration file with the each game's memory cards, i.e. at PCSXR startup the default
  memory cards will be loaded.
2017-07-30 17:18:07 +03:00
Stelios Tsampas 8f19dd4bc9 Bring cdriso.c up to date to enable CCDDA 2017-07-16 21:21:14 +03:00
Stelios Tsampas d880179b2a Fix compilation on linux. 2017-07-16 21:20:53 +03:00
MrLavender 6b5b17b713 Fix PGXP support in 64bit dynarec on OSX/Linux 2017-06-29 02:00:55 +01:00
MrLavender 72b90e1c61 Fix OSX debug build 2017-06-27 01:57:29 +01:00
iCatButler 496df34ee4 Prevent incomplete vertices using precise NCLIP
- Fixes errors ocurring in +CPU mode where NCLIP is used for collision detection
2017-04-25 14:58:00 +01:00
iCatButler d7a31360f9 Add support for arbitrary clock multipliers
Allows users to set an arbitrary floating point value to multiply CPU clock speed by. Drop box provides access to all the previous presets.
2017-03-17 21:09:39 +00:00
Carter Li 9c8d8a52c1 Fix OSX build 2016-08-05 22:21:28 +08:00
iCatButler 36ef727712 Add PGXP support to 64bit dynarec
- Copy over PGXP integration from 32bit version
2016-08-05 12:40:42 +01:00
iCatButler 595034707b Fix possible function pointer initialisation problem 2016-08-03 19:30:54 +01:00
iCatButler aafb74a6af Fix NCLIP related crash
- provide wider window where NCLIP can return 0 as this was causing a crash in RR:Revolution
2016-08-01 13:10:53 +01:00
iCatButler 69f33a4782 Various CPU updates
- Sign extend values read using LH

- Add conversion functions to represent Signed/Unsigned 16-bit ranges
- Add overflow and truncation functions for 16-bit ranges

- Sign extend imm value in ADD(U)
- Add component overflow and truncation to ADD/SUB functions
- Construct new value in logic operators where result using inputs is undefined

- Return a valid W component from logic operators (if either input has one)

- Compare against high value (y), then low value (x) in less than operators

- Use doubles and implement overflow for Multiply operations to try to increase accuracy

- Use unsigned values in both MUL and DIV operations to make output as accurate as possible

- Implement several variants of shift operators. Trying both arithmetically correct and more analytical approaches with varying success.

Debug updates
- Added ability to force all values to be equal to low precision values before operating on them
- Added feature to test output of operations against a tolerance and print only those which fail

GPU updates
- Colour vertices with valid XY coordinates but no W as cyan to make them easier to spot
- Remove cyan colouring for stale vertices (wasn't useful)
- Added ability to skip debug rendering when needed (like seeing the output of offscreen rendering applied to a sprite).
- Added new mode which shows primitive type
2016-07-30 17:43:12 +01:00
iCatButler d5b40fbbe0 Use overclock on load state
- Recalculate CPU counters using current clock speed on loading a new state
2016-07-30 17:26:32 +01:00
iCatButler 97105b26f2 Change "valid" flag to multiple bit flags
Validity of a pgxp value can now be set for any of four components using individual bit flags. This also allows the potential expansion of more flag data for each component.
2016-07-04 11:48:00 +01:00
iCatButler 03cfe9e6c2 Additional checks
- Change processor transfer functions to use take both source and destination values
- Add enum values to all debug functions to double check instructions are correct
- Temporarily store instruction codes in interpreter wrappers as these are sometimes changed by branching
- Change recompiler wrapper functions to store register values in global variables in case they're changed by the original function
2016-07-02 16:52:21 +01:00
iCatButler e634f60589 Fix interpreter bugs
- Reset CPU on switching between interpret and recompiler
- Call wrapped functions even when tests fail
- Handle retrieved data overwriting address in load operations
2016-06-30 11:52:48 +01:00
iCatButler 485432c198 Initialise GTE and CPU regsiters (invalidate) 2016-06-30 11:49:11 +01:00
iCatButler 6b78a14b0e Disable debug mode
- Also add stub for RFE operation
2016-06-29 08:54:46 +01:00
iCatButler 42176205ce Imporved CPU integration
- Change PGXP integration to use wrapper functions
- Use modified function lookup tables to call wrappers or default funnctions based on mode
- Implement wrappers for interpreter too, recompiler sometimes calls interpreter functions
- Add UI elements for selecting CPU modes
- Only call precision version of NCLIP in modes where there are not going to be stale vertices in GTE registers

- Added support for CP0 co-processor functions
- Improve support for CPU functions (still broken in many games)

- Improved debug output to show values for inputs before they're modified

GPU plugin
- Ignore stale vertices (occurs when CPU  mode no longer writes to memory)
- Add Cyan vertex colouring for stale vertices
2016-06-27 15:28:33 +01:00
iCatButler cfa7b3ad11 CPU op fixes
- SH: Use appropriate masking when validating 16-bit values before storing
- Shift operations: on shifts larger than 16bits, first shift elements along, then apply arithmetic for remainder
2016-06-11 10:40:03 +01:00
iCatButler f70082329d Initial PGXP CPU commit
- Restructured project to base interface on PSX instructions
- Support for all relevant CPU arithmetic and logic instructions
- Debug output available via deferred PGXP calls
- Remove most dependencies on PCSXR
- Still very much a work in progress (lots of errors)

- Add extra debug information to GPU plugin (w values)
2016-06-07 15:57:46 +01:00
iCatButler a64d62be4b Add PGXP configuration dialog
- Allows independent toggling of PGXP, vertex caching and texture correction
2016-05-16 16:17:19 +01:00
iCatButler 1e37eec079 Merge with OSX commit 2016-05-15 16:29:53 +01:00
iCatButler 2a24b74c12 Implement vertex caching
- Try using Blade_Arma's vertex cache to find untracked vertices
- Fix GTE_LOG
- Add more logging spew
- Update debug mode to track cached vertices
2016-05-15 16:26:39 +01:00
iCatButler fed5120857 Track memory read and writes with constant addresses 2016-05-15 16:24:55 +01:00
iCatButler 6a9f87865f Define and initialise PsxClockSpeed
- Fixes crash on entering bios
2016-05-15 09:10:10 +01:00
Carter Li ee328ce95a Fix build on OSX
Tested on OSX 10.11.4, Xcode v7.3
2016-05-13 00:11:59 +08:00