Commit Graph

476 Commits

Author SHA1 Message Date
Anthony Pesch 295bb2b870 profile zones for patching 2016-12-03 12:56:27 -08:00
Anthony Pesch 1bc1cebfea don't try and set a default CMAKE_BUILD_TYPE 2016-12-03 12:56:09 -08:00
Anthony Pesch 6ea5cd3e4a added new backend-specific dispatch system to each guest cpu
made the jit track edges (branches) between basic blocks at runtime
added hand-optimized, backend-specific main loop for each guest cpu
moved code caching responsibilities into each guest cpu's dispatch system
added support for patching static edges between blocks as discovered at runtime to be direct jumps
2016-11-26 23:42:14 -08:00
Anthony Pesch b07812bb63 windows build fixes 2016-12-02 01:16:01 -08:00
Anthony Pesch d092b097df renamed stats aggregate counters, merged back into profiler 2016-11-30 21:59:05 -08:00
Anthony Pesch 25aeafcac4 make flash rom immediately read / write to backing file just like vmu code 2016-11-29 21:38:52 -08:00
Anthony Pesch 4e14eafd71 initial VMU support 2016-11-29 20:15:48 -08:00
Anthony Pesch 74cd15b79f move time-based stats out of profiler
split stats into groups based on cpu / gpu thread so they can be updated safely
2016-11-27 18:26:23 -08:00
Anthony Pesch c549ee05de windows build fixes 2016-11-27 14:36:37 -08:00
Anthony Pesch b208b4b9b3 update xcode image on travis 2016-11-27 10:59:33 -08:00
Leah Petersen 03e4911537 mac compile fixes 2016-11-27 10:50:23 -08:00
Anthony Pesch 0622f10fe0 moved code translation to each guest cpu
removed jit_guest, added common members to jit, moved guest specific members to the appropriate frontend
2016-11-26 23:15:54 -08:00
Anthony Pesch 15d6100b59 removed forward decls from sh4 2016-11-26 20:42:54 -08:00
Anthony Pesch 378508dbc0 removed log spam on unmapped button presses
added fullscreen toggle to debug menu
2016-11-26 18:15:07 -08:00
Anthony Pesch ecf548dda6 updated fps, mips, etc. to use new profiler counters 2016-11-26 17:00:06 -08:00
Anthony Pesch 646b108bb7 moved ta rendering into emulator 2016-11-26 12:20:22 -08:00
Anthony Pesch cd0f94c205 converted sh4 translation macros to functions to avoid duplicate value expansion
avoid calling sr_updated when only the T bit changes, reduces calls from 30m/s to 300k/s
2016-11-26 10:37:21 -08:00
Anthony Pesch c92cba792f add counter stats that are flipped every second to profiler 2016-11-25 23:47:12 -08:00
Anthony Pesch ec243174f5 added missing header 2016-11-25 21:48:24 -08:00
Anthony Pesch bc93773f07 added OP_BRANCH 2016-11-25 21:14:05 -08:00
Anthony Pesch b6a84d7ae6 renamed OP_LOAD_HOST / OP_STORE_HOST 2016-11-25 21:03:43 -08:00
Anthony Pesch abd75d7ab5 fixed typo ir_is_int 2016-11-25 20:55:14 -08:00
Anthony Pesch a700f5d058 avoid spilling values which have already been spilled 2016-11-25 20:44:15 -08:00
Anthony Pesch 1bb85c7c69 updated to latest nuklear
added fps, vbs and mips to refactored debug menubar
2016-11-25 19:13:57 -08:00
Anthony Pesch 12a9cc1e35 refactor arm pending interrupt logic so dispatch can handle interrupts if pending_interrupts is non-zero, without having to validate the current CPSR state 2016-11-24 23:01:32 -08:00
Anthony Pesch b03c800393 stubbed reading of current sample position 2016-11-20 22:58:59 -08:00
Anthony Pesch 0a1302752e added option to write perf-compatible maps for generated code 2016-11-18 22:57:53 -08:00
Anthony Pesch 3d8f575713 fixed up microprofile implementation 2016-11-17 22:40:44 -08:00
Anthony Pesch 3ecb505748 add LOAD / STORE flags to each sh4 op 2016-11-17 11:39:02 -08:00
Anthony Pesch 835a76559f relay aica interrupts to arm
fix aica channel start / stop logic
fix channel read / write logic
remove hacks to get various games to boot, they now boot correctly due to the arm interpreter
2016-11-17 10:30:03 -08:00
Anthony Pesch bc8d719a04 ran clang-format 2016-11-16 20:48:18 -08:00
Anthony Pesch 26e1d47900 initial armv3 interpreter 2016-11-16 20:22:43 -08:00
Anthony Pesch 7ec14faed9 fixed overflows in bad comparison predicates 2016-11-07 16:34:24 -08:00
Anthony Pesch 5ec4735c4a match sh4 frontend prototypes to arm frontend 2016-10-23 20:17:58 -07:00
Anthony Pesch efa38bae38 fixed bug in strnstr where big was compared past null-terminator 2016-10-23 20:17:15 -07:00
Anthony Pesch f6c4781f36 remove OP_BRANCH / OP_BRANCH_COND 2016-10-26 22:10:46 -07:00
Anthony Pesch 7e3f067d64 update sh4 block offset masks 2016-10-21 18:44:18 -07:00
Anthony Pesch 7f0989e8e8 added OP_CALL_FALLBACK 2016-10-21 18:37:36 -07:00
Anthony Pesch 3490477976 split up sh4 code into files for each individual module (ccn, dmac, intc, etc.)
refactored sh4 code cache into a common jit struct to be used by the arm7 cpu
2016-10-18 23:54:30 -07:00
Anthony Pesch b4bc578505 moved arm7 source 2016-10-17 21:05:04 -07:00
Anthony Pesch d356d14569 initial audio scaffolding 2016-10-15 16:13:56 -07:00
Anthony Pesch a8ab33ede4 moved renderer code 2016-10-15 15:53:05 -07:00
Anthony Pesch e9093c23a7 aica scaffolding to get channels stepping once keyed on 2016-10-12 21:13:39 -07:00
Anthony Pesch 49272b5de1 aica rtc implementation 2016-10-11 23:25:59 -07:00
Anthony Pesch 3b1536a137 fix crash on exit due to bad munmap call
add support for options which are persistent, but not visible to the user (internal program settings)
2016-10-11 21:58:25 -07:00
Anthony Pesch 2e1b8f4c38 reset internal node state inside of rb_link to deal with uninitialized nodes
clear watch correctly when processing segfault
2016-10-11 21:42:43 -07:00
Anthony Pesch 74e34692eb flash rom command parsing 2016-10-09 19:37:17 -07:00
Anthony Pesch b74152f1e6 move boot / flash roms over to their own devices 2016-10-09 15:48:15 -07:00
Anthony Pesch 07916e5344 raise ta max surf / vert counts 2016-10-08 17:39:06 -07:00
Anthony Pesch 6195a53ee5 added data_mask to mmio callbacks
converted mmio callbacks over to all using uint32_t
replaced texcache / fastmem settings with preprocessor defines that disable both for debug builds
2016-10-08 13:49:18 -07:00