DobieStation Git (2020/02/18) is compiled. A young PS2 emulator with plans for an optimized Android port, as well as a fast, accurate, and easy-to-use PC port. A large portion of the PS2's library can boot or get to menus. Some titles can even go in-game, including high-profile ones such as Final Fantasy X and Shadow of the Colossus. Not intended for general use.
DobieStation Git Changelog:
* Update application to C++14
* Merge pull request #272 from Souzooka/dependency
* Add ra as dependency for JAL, fix slti dependency info
* MMI Dependency cleanup
* Correctly identify register as read dependency for MTHI1, MTLO1
* Change mtlo1 and such to have dependencies for LO1/HI1
* Remove latencies on accessing the FPU's ACC
* [EE_JITTRANS] Split waitvu0 and interlock checks into separate function
* Remove unnecessary COP2 comment in emotion.cpp; explain use of PC_now
* Remove BNEL s1 == s2 optimization
* Optimize EE_JitTranslator::data_dependency_analysis, fix dual-issue bug in fn
* Change std::array in dual_issue_analysis to std::unordered_map
* Change EE_InstrInfo's cycles_after, cycles_before properties to uint32_t
* Cleanup EE_JitTranslator::load_store_analysis, fix bug with dual-issued instructions in LS
* [EE IR] Optimize setting the cycle counts for instructions in Load Store analysis
* Change JIT_MAX_BLOCK_LITERALSIZE to 1 MB
* Add latency of 2 to MTC1, MFC1, LWC1
* Flush JIT cache on ExecPS2 syscall
* Return true if we don't return false in dual issue analysis, properly clear latencies of 1 after dual issue when checking dependencies
* Don't add a cycle bias to LQC2, SQC2 operations
* Merge branch 'master' into dependency
* First dual issued instruction has correct cycle count after execution in EE, changes to load_store cycle analysis for precision
* [EE_JIT64] Fallback on lqc2, sqc2
* Avoid counting EE cycles twice when encounting COP2 ops on JIT
* Change ull literal to (uint64_t) cast for gcc compatibility
* Remove cycle_count_now, have cycle_count represent the running cycle total for EE
* Change EE_InstrInfo::Pipeline to inherit from uint16_t and not uint8_t
* Subtract cycles_to_run as 32-bit variable
* Increment EE cycle count when spinning while waiting for VU0
* use cycle_count_now in VectorUnit::start_program
* Properly update cycle counts on EE interpreter
* EE cycle count tweaks, changes to JIT to prevent JIT from hanging if waiting for VU when interrupt happens
* Fix new dispatcher not comparing flags correctly, not jumping to looked up block
* Update cycle_count_now when EE JIT block exits
* Decrease code size of JIT dispatcher
* [EE_JIT64] Optimize GPR flushing, branch operations
* Slight optimizations to eejit branch likely, waitvu0, checkinterlock
* VU0 reads correct cycle_count from EE, update cycle counts properly on early exit from JIT
* Add throughput cycle analysis
* Change handling of cycles again to correctly account for differences in cycles at beginning of block for dependencies
* Better handling of cycle counts in IR analysis (will mostly benefit blocks that end on COP2)
* Fixed point support for load/store bias
* Separated dual issue analysis into its own function, check for dual issue in latency calculations
* Remove erroneous intwide check in dual issue cycle analysis
* Fix bug with
* Better dual issue cycle analysis
* Make pipeline list in dual issue cycle analysis const static
* Ignore GPR zero when checking dependencies in dual issue analysis
* Add pipeline info to COP2 instructions
* Improve dual issue analysis, loadstore analysis
* Write dual issue analysis for IR
* Disable all MMI operations on JIT
* Handle bnel, r1, r1, label instructions on JIT, fixes Eragon boot
* JIT - Treat BNE r1, r1, label as jump to PC + 8
* JIT checks for interlock for QMTC2/CTC2
* JIT now updates VU0 on LQC2, SQC2
* Improve COP2 sync for JIT, add PC_now variable as JIT-friendly readable PC
* Add cycle_count_now variable to EE to be used by JIT for COP2 preperation
* Check interlock bit for QMF/TC2, CF/TC2 and wait if set
* Move VU0Wait from COP2Special to COP2 in IR
* Remove CTC1 destination register check, can be ignored
* Add program counter to read/write error outputs
* Add VUOWait back to IR
* Ignore data dependency checks on GPR register zero
* Better interpreter fallback handling in IR translator
* Change to write dependency handling in data_dependency_analysis
* Basic data dependency analysis
* Add load/store bias to ops in JIT
* Create EE_JitTranslator::issue_cycle_analysis (TODO)
* Implement EE_JitTranslator::get_block_operations to get block of EE_InstrInfo for JIT block to translate
* Change PDIVW instruction type to DIV
* Add vu0 wait to vnop, vwaitq. Change dependency of MTSA from HI to SA
* Remove fallback_interpreter call for vaddai in jittrans
* Remove erronous addressof operation in EE_JIT fallback_interpreter
* Remove vu0wait check from JIT (interpreter checks this)
* [EE_JIT] Only vu0 wait for apprioriate operations
* More changes to the translate logic in IR to make JIT go in-game
* Changes to JIT to further it towards being able to directly jump to function on fallback
* Remove cpu member from EE_InstrInfo
* Add decoder reset and vu0 update to vnop
* Remove cop2 wait on qmf/tc2, updatev0 in vcallms/r
* Rewrite COP2 lookup handling again
* lookup correct function in interpreter for slti
* Initialize instr_info's cpu property in interpreter
* Add missing break statements in emotion_fpu.cpp
* Cleanup and writing Cop2 lookup
* Remove FPU interpreter wrapper fns
* Make RegType, COP2_Control_SpecialReg, COP1_Control_SpecialReg enum class
* Add lookup information in EmotionInterpreter::special
* Add dependency checks to bc1/bc2
* Write lookup info for mmi3
* Write lookup info for mmi2
* Write lookup info for pmfhlfmt
* Write lookup info for mmi1
* Write lookup info for mmi0
* Rewrite base mmi lookup
* Add instruction types to FPU instructions
* Changes to COP1_CONTROL dependency handling
* Rewrite FPU interpreter for instruction lookup
* Add dependency info to main cop lookup fn
* Add dependency info to regimm ops
* Change dependency pushback in main interpreter lookup fn
* More info initialization in mmi
* Change EmotionInterpreter::mmi to init EE_InstrInfo, some changes to EE_InstrInfo
* Lookup rest of instructions in EmotionInterpreter::cop
* Lookup tlbwi, eret, ei, di info
* Change normal COP2 instructions to be looked up, split COP2 sync into own function
* Change special EE instructions to be looked up
* Change regimm EE instructions to be looked up, prefetch returns nop
* Change normal EE instructions to be looked up
* Design EE_InstrInfo struct for use by interpreter/IR
* Merge pull request #296 from refractionpcsx2/dmac_stall_mfifo
* Merge branch 'dmac_stall_mfifo' of https://github.com/refractionpcsx2/DobieStation into dmac_stall_mfifo
* Removed rogue printf
* Bit of a sanity check, only disable PATH3 on DMA Stalls when PATH3 isn't mid way through a transfer
* Improved how stalled DMA's handle when waiting, improves Theme Park Rollercoaster loading and Parappa The Rapper 2 runs at 2-3x the speed
* DMA Stall on 8qw boundaries
* Fix bug in GIF stalls double arbitrating when only 2 channels running
* Actually stop the DMA stall IRQ firing more than once
* Added IPU_FROM STADR updating
* update SIF1 DMA stall code
* Fix DMAC Stalls and IRQ's
* Merge pull request #298 from refractionpcsx2/gs_csr
* Clear PATH3 status after FIFO writes by hardware
* Implement GS CSR FIFO field
Download: DobieStation Git (2020/02/18)
Source: Here
2020-02-18
Tags:
Console,
Dev_Build,
DobieStation,
PS2
Random Related Topic
0 Comments
Post a Comment