Commit graph

1873 commits

Author SHA1 Message Date
dakotachasesmith
9f715447b1 Make EE JIT actually run the correct number of cycles
and don't keep overclocking it over time like I did :)
2019-04-11 22:10:14 -10:00
dakotachasesmith
3e78178525 [EE_JIT64] Implement BGTZ, BLEZ, BLTZ 2019-04-11 22:10:14 -10:00
dakotachasesmith
fb92c49425 Implement BGEZ, also fix negative branch offsets 2019-04-11 22:10:14 -10:00
dakotachasesmith
8fe5fff58f Implement IR instructions for every EE branch operation
Additionally, catch these and error out on the JIT side if not implemented
2019-04-11 22:10:14 -10:00
dakotachasesmith
4513c5810e [EE JIT] Implement instructions BEQ, JALR, JAL 2019-04-11 22:10:14 -10:00
dakotachasesmith
7c47f66172 [EE JIT] Implement instruction JR 2019-04-11 22:10:14 -10:00
dakotachasesmith
ad7f4a2bad Various cleanup and fixes, rewrite BNE so it works after first time 2019-04-11 22:10:14 -10:00
dakotachasesmith
bde485fe2a Fix the implementation of BNE 2019-04-11 22:10:14 -10:00
dakotachasesmith
acc4cf46fd [EE JIT Translator] Now correctly calculate branch offset for offsets > 2^14 2019-04-11 22:10:14 -10:00
dakotachasesmith
159cbdf9d5 [EE JIT][WIP]Sloppily halfway implement branches(BNE) 2019-04-11 22:10:14 -10:00
dakotachasesmith
d5ae286a1f Implement EE_JIT64::emit_prologue() 2019-04-11 22:10:14 -10:00
dakotachasesmith
d45aa876bd Alter project specifications so this builds on Ubuntu, hopefully 2019-04-11 22:10:14 -10:00
dakotachasesmith
92a8c8caf9 EE_JitTranslator: Add framework for translating coprocessor ops 2019-04-11 22:10:14 -10:00
dakotachasesmith
ee16bb7dab EE_JitTranslator: Add framework for translating subset mmi ops 2019-04-11 22:10:14 -10:00
dakotachasesmith
7df6ff95e3 EE_JitTranslator: Add framework for translating main mmi EE ops 2019-04-11 22:10:14 -10:00
dakotachasesmith
658654d645 EE_JitTranslator: Add framework for translating regimm EE ops 2019-04-11 22:10:14 -10:00
dakotachasesmith
3e1bcfade2 EE_JitTranslator: Add framework for translating core/special EE ops 2019-04-11 22:10:14 -10:00
dakotachasesmith
a4332f8ede Check for jalr/jr in EE_JitTranslator::is_branch 2019-04-11 22:10:14 -10:00
dakotachasesmith
7bf6782b08 Add recompilation up to branch delay slot in EE JIT 2019-04-11 22:10:14 -10:00
dakotachasesmith
5de8bda871 Some minor changes, fixes, don't pass junk into ee.pc... 2019-04-11 22:10:13 -10:00
dakotachasesmith
f0a015d4ab Set up cop0/1 friends, ee friend, more JIT work 2019-04-11 22:10:13 -10:00
dakotachasesmith
98bb7bc675 more eedynarec work to make it constantly fallback
tho it's completely broken right now :P
2019-04-11 22:10:13 -10:00
dakotachasesmith
278c312434 More foundational work for EE dynarec 2019-04-11 22:10:13 -10:00
dakotachasesmith
f9f762d986 Tentatively add IR enum values 2019-04-11 22:10:13 -10:00
dakotachasesmith
2f7ba6dc89 Create and boilerplate main EE JIT files 2019-04-11 22:10:13 -10:00
PSI-Rockin
55d020e140 Added a hardcoded VTLB implementation
RDRAM, BIOS, and SPR can be read from and written to directly on the EE without calling the emulator read/write functions

Next up, TLB remapping
2019-04-11 20:38:55 -04:00
refractionpcsx2
de476a7d7e Add VU memory reads/writes from DMAC (#199) 2019-04-10 19:22:01 -04:00
PSI-Rockin
67b1b1e33a Basic TLB stub
Got TLBWI working, but entries are currently ignored
2019-04-10 19:21:02 -04:00
Souzooka
30ef5ac2be Change VU_JitTranslator::reset_instr_info so that it clears the entire array (#196) 2019-04-09 09:30:10 -04:00
Matt Nadareski
c2ba76f873 Add left analog and screenshot controls to readme (#195) 2019-04-09 09:29:55 -04:00
PSI-Rockin
e5054d4177 Add PSMZ32/24 to VRAM->VRAM transfers 2019-04-08 13:39:49 -04:00
Souzooka
9c5f51b097 Add enc_temp_folder to gitignore (VS autorecover) (#194) 2019-04-08 13:23:11 -04:00
Kojin
3bfa0ab219 Add linux to the appveyor builds (#193) 2019-04-07 15:12:02 -04:00
water111
435c7ac463 add constructors to BlockState for gcc/clang (#191) 2019-04-06 10:18:14 -04:00
Souzooka
fe5163ae80 Update .gitignore (ignore VU dynarec logs) (#190) 2019-04-05 21:22:25 -04:00
PSI-Rockin
1f185dd229 Adjusting intermittent mode on the GIF
True Crime: Streets of LA needs adjustments, as do other games most likely
2019-04-05 19:55:21 -04:00
Souzooka
86532c3eea Change recompiled VU Jitblock structure from vector to map for faster lookups (#182) 2019-04-05 17:47:12 -04:00
refractionpcsx2
a16d8f2d84 Properly adjust VU pipeline on XGKick stall (#188)
Adjust VU JIT clamping and fix some clamping bugs
2019-04-05 17:43:50 -04:00
Souzooka
dad8697135 Initialize IOP RAM to 0 upon reset (#189) 2019-04-05 17:33:49 -04:00
PSI-Rockin
472fd4cb0d Allow channels to be deactivated when writing 0 to STR
Also bump savestate version (for CK)
2019-04-05 17:10:20 -04:00
Souzooka
df3b74d6b4 Switch VU Jit to multiprogram mode (#187)
This allows the JIT to run without tossing away recompiled blocks when switching programs
2019-04-05 17:01:24 -04:00
PSI-Rockin
4a903d8049 Merge from master 2019-04-04 21:21:16 -04:00
PSI-Rockin
83735aa696 Added arbitration and hooked up all DMAC channels to new system
Going into bug fixing mode, Jak doesn't seem to be happy with the changes
2019-04-04 21:16:42 -04:00
refractionpcsx2
707388f4be VU_JIT: Pass the correct PC at the start of a program (#186)
-Store branch/ebit state in VU state
-Flush pipes on XGKick stall (assume it's going to take longer than the cycles needed for now)
-Flush mac pipe on program end
2019-04-04 18:55:41 -04:00
PSI-Rockin
2412d16fb8 Got SIF0, SIF1, and GIF DMA working
Next up, arbitration
2019-04-04 18:16:12 -04:00
refractionpcsx2
a7329a98b7 Some tweaks to VU0/Mbit Timing (#183) 2019-04-04 14:30:05 -04:00
refractionpcsx2
73b907a054 Improvements to COP2/VU0 sync (#181)
Fixes My Street, Totally Spies, Jak, and Ratchet

Added reading of VIF1_TOP

Added some TODO's and a little bit of tidy up
2019-04-03 16:24:29 -04:00
PSI-Rockin
adaf28b0d1 Start of rewrite 2019-04-02 19:03:10 -04:00
Kojin
e6c86a15ad Add screenshot functionality (#179)
Add the ability to take screenshots 2 ways:
- By pressing `f8`
- `Window -> Take Screenshot`

The directory in which screenshots are saved can be changed by the user `Options -> Settings -> Paths -> Screenshots`. When it's not set, it's the user's home directory.

The format of the screenshot filename is as follows:
`yyyyMMddHHmmsszzz.png`.

Currently uses default settings for compression.
PNG used because JPEG is garbage.
2019-04-02 16:04:48 -04:00
Souzooka
1a797e3e1f implement IOP read32 0x1F808410 (#180) 2019-04-02 16:02:58 -04:00