Commit graph

1873 commits

Author SHA1 Message Date
dakotachasesmith
3d1d706d35 Write lookup info for mmi2 2020-02-02 23:09:26 -10:00
dakotachasesmith
c0fe80e897 Write lookup info for pmfhlfmt 2020-02-02 23:09:26 -10:00
dakotachasesmith
39c032b15f Write lookup info for mmi1 2020-02-02 23:09:26 -10:00
dakotachasesmith
5c6038dab6 Write lookup info for mmi0 2020-02-02 23:09:26 -10:00
dakotachasesmith
36970b9fd7 Rewrite base mmi lookup 2020-02-02 23:09:26 -10:00
dakotachasesmith
8e20bb2bbc Add instruction types to FPU instructions 2020-02-02 23:09:26 -10:00
dakotachasesmith
444162e3ff Changes to COP1_CONTROL dependency handling 2020-02-02 23:09:26 -10:00
dakotachasesmith
d53e2eac18 Rewrite FPU interpreter for instruction lookup 2020-02-02 23:09:26 -10:00
dakotachasesmith
036508df38 Add dependency info to main cop lookup fn 2020-02-02 23:09:26 -10:00
dakotachasesmith
f62464210e Add dependency info to regimm ops 2020-02-02 23:09:26 -10:00
dakotachasesmith
85f817d0f3 Change dependency pushback in main interpreter lookup fn 2020-02-02 23:09:26 -10:00
dakotachasesmith
ba7e64dbb5 More info initialization in mmi 2020-02-02 23:09:26 -10:00
dakotachasesmith
79ee28173f Change EmotionInterpreter::mmi to init EE_InstrInfo, some changes to EE_InstrInfo 2020-02-02 23:09:26 -10:00
dakotachasesmith
b4049d786b Lookup rest of instructions in EmotionInterpreter::cop 2020-02-02 23:09:25 -10:00
dakotachasesmith
035dab9a69 Lookup tlbwi, eret, ei, di info 2020-02-02 23:09:25 -10:00
dakotachasesmith
fdfffc8338 Change normal COP2 instructions to be looked up, split COP2 sync into own function 2020-02-02 23:09:25 -10:00
dakotachasesmith
e79ef80db9 Change special EE instructions to be looked up 2020-02-02 23:09:25 -10:00
dakotachasesmith
ddbfc42bdd Change regimm EE instructions to be looked up, prefetch returns nop 2020-02-02 23:09:25 -10:00
dakotachasesmith
9892963d83 Change normal EE instructions to be looked up 2020-02-02 23:09:25 -10:00
dakotachasesmith
87f179fda4 Design EE_InstrInfo struct for use by interpreter/IR 2020-02-02 23:09:25 -10:00
PSISP
8f8eb9997c
Merge pull request #281 from tadanokojin/fix-8h-local-to-host
GS: Fix 8h local to host
Fixes text in DoC
2020-02-03 00:47:26 -05:00
Kojin
79dd3a1a03 gs: fix 8h local to host
remove a shift
fix doc ffvii
2020-02-02 23:53:25 -05:00
PSISP
1b230946d6
Merge pull request #280 from refractionpcsx2/vu_fixes
*Fixed cycle counts on reset
*Fixed VU1 pipe state on interpreter during XGKick stall
*Improved XGKick timing on VU JIT
*Update VU1 cycle count correctly on VU JIT when an XGKick Stall happens
2020-02-02 17:21:38 -05:00
PSI-Rockin
97b9176146 VU: Mask PC properly
Allows DoC to go in-game - it executes a VU0 micro that branches outside the range of VU0 memory
2020-02-02 16:44:27 -05:00
PSI-Rockin
e9ac7c560e GS: Oops 2020-02-02 15:23:32 -05:00
PSI-Rockin
d14247de9b GS: Add revision and ID to CSR
Also simplify 32-bit privileged reads
2020-02-02 15:21:27 -05:00
PSI-Rockin
9dd069312b DMAC: Update TADR on END tags
Needed for Dirge of Cerberus to not hang
2020-02-02 04:06:04 -05:00
refractionpcsx2
266da84070 VU: Missed a cycle divider 2020-02-02 03:33:39 +00:00
PSI-Rockin
e2f8cc30c4 GS: Fire FINISH interrupts based upon generated bit, not enabled bit
Midnight Club Racing 3 does not write to CSR to enable FINISH yet still expects FINISH interrupts to occur. This indicates that whether a FINISH interrupt can fire or not is only based upon whether a previous FINISH event has occurred. This fixes the game's internal FPS, which was previously running at terrible speeds.
2020-02-01 18:57:38 -05:00
refractionpcsx2
68b1aa8041 Fix condition where VIF might think PATH1 has finished when VU1 is still active 2020-02-01 17:17:32 +00:00
refractionpcsx2
ff0a971aab Removed rogue comment 2020-02-01 04:22:01 +00:00
PSI-Rockin
17d22094fc CDVD: Changes to N status and drive status
It was originally hypothesized that bit 6 of N_status represented "ready to receive commands." However, Jimmy Neutron: Boy Genius crashes with the old setup. It sends sceCdRead twice to CDVDMAN to read two separate files: a level map and a music file. When the music file load was occurring, CDVDMAN would return an error on the second sceCdRead as bit 6 was cleared. The game would think that this file had loaded successfully, causing a crash due to reading from uninitialized memory.

This commit changes this bit to always be on and adjusts drive status to be set to SEEKING when a seek starts. When the N status check passes, CDVDMAN will loop waiting for drive status to become paused, rather than returning an error. Thus, the second sceCdRead successfully completes eventually, allowing the game to work.
2020-01-31 22:24:50 -05:00
refractionpcsx2
9a02df4941 Fix VIF stall ordering
Adjust FIFO size for DMA request on VIF
Stop unnecessary GIF resumes
Adjust the GIF arbitration for PATH3 Masking
Adjust GIF DMA resumes when reading from the FIFO
2020-02-01 01:56:54 +00:00
refractionpcsx2
a17aeb2f2f Only reset COP2 cycle count on VU0
Allow resetting of VU1
2020-01-31 21:57:48 +00:00
refractionpcsx2
afe82074ca VIF and GIF Changes
*VIF: Fixed VIF Flush Stall when waiting on PATH1&2
*DMAC: Try to improve PATH3 Masking reliability at higher MAX_CYCLES
*GIF: Fill out most of GIF_STAT and correct FIFO size value
*GIF: Ignore PACKED writes to address 0x7F, since this doesn't exist
*GIF: Fix FINISH to only trigger when all transfers end
*GIF: Fix up unused intermitted check, can be used for testing
*GIF: Remove item from queue first, things have changed so it no longer needs to be last
2020-01-31 14:54:01 +00:00
refractionpcsx2
3df1aac62e Several VU/JIT fixes
*Fixed cycle counts on reset
*Fixed VU1 pipe state on interpreter during XGKick stall
*Improved XGKick timing on VU JIT
*Update VU1 cycle count correctly on VU JIT when an XGKick Stall happens
2020-01-31 14:47:15 +00:00
PSISP
41e1291321
Merge pull request #277 from Margen67/memes
Move CONTRIBUTING.md to .github, add FUNDING.yml
2020-01-30 22:55:36 -05:00
Margen67
251cc3de99 Move CONTRIBUTING.md to .github, add FUNDING.yml 2020-01-30 02:25:13 -08:00
PSISP
869f674f15
Merge pull request #278 from Margen67/fix-qtplugins
Fix QtPlugins not being present in Devel and Release Optimized
2020-01-29 20:17:11 -05:00
Margen67
5c0529dc79 Fix QtPlugins not being present in Devel and Release Optimized 2020-01-29 15:11:42 -08:00
PSISP
a2acd7caf9
Merge pull request #276 from Margen67/readme
README: Add AppVeyor and Discord badges
2020-01-28 23:36:43 -05:00
Margen67
dfc68f2457
[README.md] Add AppVeyor+Discord badge
Also remove code block garbage, and fix capitalization.
2020-01-28 09:26:32 -08:00
PSISP
4877c90e77
Merge pull request #273 from tadanokojin/buffer-format-swap
GS Interpreter/JIT: Treat depth buffer as having color format when framebuffer has depth format
Confirmed by hardware tests: fixes Powerdrome, which uses this technique to clear a depth buffer
2020-01-26 21:24:54 -05:00
PSISP
81945d3622
Merge pull request #274 from refractionpcsx2/mipmapping
GS: More mipmapping fixes
2020-01-26 20:03:48 -05:00
refractionpcsx2
65c9748ac6 Fix mipmapping K translation
Clean up some of the hacks we had to make mipmapping work
2020-01-27 00:32:30 +00:00
Kojin
611f1fb103 update the jit to reflect int changes 2020-01-26 18:48:38 -05:00
Kojin
78f2c9c55c gs-int: specify color format for z write when color write is z format and enabled
Confirmed by hw tests performed by water111.

The GS divides the block ordering of the z and color writes by format. This allows both writes to happen at the same time.
Color writes are performed on the left side of the page while z writes are performed on the right side.

However, in the event that a z format for frame, the gs will swap the zbuf format for a color one.

Fix power drome.
2020-01-26 17:27:12 -05:00
PSISP
5e9a1e8143
Merge pull request #271 from refractionpcsx2/dma_fix
DMAC: Fix stall/resumed DMA on channel start
2020-01-24 22:03:12 -05:00
refractionpcsx2
da2ed12dbb Fix stall/resumed DMA on channel start 2020-01-25 01:41:21 +00:00
PSISP
31baab8023
Merge pull request #269 from refractionpcsx2/vif_revert
VIF/GS: Fix up reverse FIFO transfers
VIF: Separate VIF_STOP condition into its own variable and revert previous incorrect stalling change
2020-01-23 19:37:52 -05:00