Commit Graph

1754 Commits

Author SHA1 Message Date
Stelios Tsampas 75fff89edf * Hopefully travis will be happy now and start make 2018-01-11 15:36:47 +02:00
Stelios Tsampas 734ec12c40 * Add needed m4 macros to keep ubuntu bullshit happy 2018-01-11 15:36:47 +02:00
Stelios Tsampas b22f3231c2 * Add appveyor.yml 2018-01-11 15:36:47 +02:00
Stelios Tsampas 967dcacd7b * win32
- Exclude top-level dir from includes
  - Use unified build dir for pcsxr and plugins
2018-01-11 15:36:47 +02:00
Stelios Tsampas 12b29ff2d9 Create .travis.yml 2018-01-11 15:36:47 +02:00
Stelios Tsampas 7b0c850dcd Merge branch 'fix-linux-build' into sync-with-codeplex 2017-07-31 23:14:31 +03:00
Stelios Tsampas ed3dc690e0 * Don't build PIE executables
This completes MrLavender's patch to the x64 dynarec.
2017-07-31 23:06:11 +03: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 b117a70fd0 * Plugin.c: Add PGXP visual debug binding (F11)
* GtkGui.c: Fix path saving in file selection dialog
* LnxMain.c: Don't look for bios in data directory
2017-07-28 13:13:09 +03:00
Stelios Tsampas db51fade6d * dfinput: Fix possible buffer overflows in the ui. 2017-07-20 13:04:40 +03:00
Stelios Tsampas b6129143f7 * Add setting to disable physical gamepad vibration. 2017-07-19 10:38:24 +03:00
Stelios Tsampas 966a413dda * Optimized pixmaps to reduce size 2017-07-18 11:46:15 +03:00
Stelios Tsampas 95a7aec22c * Add UI configuration knobs from overclocking, wipeout memhack and per game mcd.
* Clean-up UI from deprecated attributes.
2017-07-18 11:35:30 +03:00
Stelios Tsampas f48b5b2ac3 * Add configuration UI for PGXP.
* Clean generated files with `make clean`
2017-07-17 23:22:35 +03:00
Stelios Tsampas 7a43668f9d * Add nullsio1 plugin from upstream 2017-07-17 18:08:59 +03:00
Stelios Tsampas a96eefdf0f * Bring pluing Linux(gtk) interfaces up to date. 2017-07-17 17:32:35 +03:00
Stelios Tsampas aa295feb0d * Bring main Linux(gtk) UI up to date to remove deprecated warnings. 2017-07-17 16:43:15 +03:00
Stelios Tsampas 9f2574f34e * Move data and pixmaps folders inside gui folder to reflect codeplex branch.
* Enable overclock feature in config file.
2017-07-16 21:49:12 +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 afe8c4acc6 Various fixes to PeopsOpenGL preferences UI on OSX
- Fixed frame buffer effects options
- Added frame buffer access options
- Frame limit setting was being ignored
- VSync setting was being ignored
- Texture filtering was being restrained to a 0-2 range instead of 0-6
- Scanline color picker was not being enabled properly
- Dithering is a boolean option so changed it to a checkbox
- Minor layout problem with the windowWidth field on OS X 10.10+
2017-07-15 00:39:53 +01:00
MrLavender f38cec65e9 Add CPU Overclocking to preferences UI on OS X 2017-07-01 14:46:09 +01:00
MrLavender 952b598739 Add PGXP preferences UI for OS X 2017-07-01 14:22:16 +01:00
MrLavender 043615f454 Fix PeopsXgl exports on OSX 2017-06-29 18:58:09 +01: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
MrLavender 36c126b665 Add OSX files to gitignore 2017-06-27 01:52:39 +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 5dbb8dd786 Add texture only visualisation 2017-03-24 12:10:18 +00:00
iCatButler b9ba001e06 Fix issue with flat shaded primitives in colour only mode 2017-03-19 18:23:10 +00:00
iCatButler 685e040268 Fix false positive when rendering transparent objects in wireframe 2017-03-19 16:39:48 +00:00
iCatButler 53a4511c71 Add support for new visualisations
- vertex colour
- new primitive type encoding

Now displays semi-transparent as coloured wireframe to allow them to be visible without corrupting the colour information.
2017-03-17 21:35:45 +00: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
Chris Ballinger 32427226c3 Fix Xcode build issues 2016-10-25 01:04:27 -07:00
iCatButler b9ca947ae0 Fix some edge cases and imprve depth visualisation:
- Remove upper 4-bits of each vertex as they may contain bad data (THPS)
- Check if memory block from DMA is as expected, some primitives are not the first data in the block and preceding data needs to be skipped (HT, A2)

- Change depth visualisation to a colour gradient that makes inconsistencies easier to see
- Add support for visualising low resolution but consistent depth found in the Ordering Table
2016-09-01 09:00:00 +01:00
iCatButler aa5016339f Merge pull request #3 from CarterLi/master
Fix OSX build
2016-08-05 16:55:28 +01: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