kub
5be12548d2
sh2 drc: optimizations for MIPS code emitting
2020-07-04 14:49:27 +02:00
kub
c3fa864a71
sh2 drc: moved host register assignment to code emitters, minor bugfixing
2020-07-04 14:49:27 +02:00
kub
8d3536852f
sh2 drc bugfix for aarch64/mips
2020-07-04 14:49:27 +02:00
kub
2e88630a6a
sh2 drc: speed optimization and bugfixing
2020-07-04 14:49:27 +02:00
kub
ea96d35b89
sh2 drc: bug fixing and optimization in register cache and branch handling
2020-07-04 14:49:27 +02:00
kub
675cad8ce7
sh2 drc: drc exit, block linking and branch handling revised
2020-07-04 14:49:27 +02:00
kub
072737b2fe
sh2 drc: improved RTS call stack cache
2020-07-04 14:49:27 +02:00
kub
97706c3ee0
various smallish optimizations, cleanups, and bug fixes
2020-07-04 14:49:27 +02:00
kub
f98ab2655d
cleanup and microoptimizations in SH2 hw handling
2020-07-04 14:49:27 +02:00
kub
6afb2662bd
configuration changes and README
2020-07-04 14:49:27 +02:00
kub
e666ac97c4
various small fixes and optimsations
2020-07-04 14:49:26 +02:00
kub
57f76d2cb7
sh2 drc: add aarch64 backend for A64
2020-07-04 14:49:26 +02:00
kub
57f65578f4
sh2 drc: add mipsel backend for MIPS32 Release 1 (for JZ47xx)
2020-07-04 14:49:26 +02:00
kub
141566aa23
SH2 drc: bug fixing and small speed improvements
2020-07-04 14:49:26 +02:00
kub
721f9c3385
sh2 drc, x86 code emitter: use x86-64 registers R8-R15
2020-07-04 14:49:26 +02:00
kub
862f2f2def
sh2 drc, change utils abi to pass sh2 PC in arg0 (reduces compiled code size)
2020-07-04 14:49:26 +02:00
kub
57f2c6a5c7
sh2 drc, keep T bit in host flags as long as possible
2020-07-04 14:49:26 +02:00
kub
1cf16a7c51
add xSR/RTS call stack cache to sh2 drc
2020-07-04 14:49:26 +02:00
kub
835adf871d
sh2 drc, add detection for in-memory polling
2020-07-04 14:49:26 +02:00
kub
0b520c1014
sh2 drc, add loop detector, handle delay/idle loops
2020-07-04 14:49:26 +02:00
kub
a0bef37586
sh2 drc, code emitter cleanup, add ARM reorder stage to reduce interlock
2020-07-04 14:49:26 +02:00
kub
6caa1fa6e1
sh2 drc, make B/W read functions signed (reduces generated code size)
2020-07-04 14:49:26 +02:00
kub
c77e3bf5e7
add literal pool to sh2 drc (for armv[456] without MOVT/W)
2020-07-04 14:49:26 +02:00
kub
1f8cc9c081
various small improvements and fixes
2020-07-04 14:49:26 +02:00
kub
65072b8181
added branch cache to sh2 drc to improve cross-tcache jump speed
2020-07-04 14:49:25 +02:00
kub
5f166c638c
sh2 memory interface optimzations
2020-07-04 14:49:25 +02:00
kub
24f21f3b8a
overhaul of the register cache (improves generated code by some 10+%)
2020-07-04 14:49:25 +02:00
kub
2d133c17d6
debug stuff, bug fixing
2020-07-04 14:49:25 +02:00
kub
4eb73cb54b
sh2 drc: sh2 addr modes generalization, more const propagation, code gen optimizations
2020-07-04 14:49:25 +02:00
kub
771d8aca0f
DRC: reworked scan_block (fix register usage masks, better block and literals detection)
2020-07-04 14:49:25 +02:00
kub
ac29016a8c
improved sh2 clock handling, bug fixing + small improvement to drc emitters
2020-07-04 14:49:25 +02:00
Francisco Javier Trujillo Mata
baacd5e1b6
Make compile libretro for PS2
2019-02-02 00:02:20 +01:00
notaz
fda2f31020
drc: support ms ABI
2018-01-07 01:20:00 +02:00
notaz
898d51a7fd
drc: revive x86 dynarec, support x86-64
2017-12-12 01:45:59 +02:00
notaz
98a3d79ba2
drc: arm: use movw/movt
...
it's about time...
2017-12-03 17:44:33 +02:00
notaz
93f9619ed8
rearrange globals
...
scripted find/replace
gives slightly better code on ARM, less unnecessary asm,
~400 bytes saved
2017-10-20 12:21:09 +03:00
notaz
df9251536d
libretro: satisfy vita's dynarec needs in a cleaner way
2017-10-14 00:53:09 +03:00
notaz
bce144211c
some portability cleanups
2017-10-14 00:53:09 +03:00
notaz
0185b67736
allow to disable SH2 dynarec on runtime
2013-08-31 20:48:39 +03:00
notaz
f81107f590
32x: memhandler improvements
...
- use consistent read tables (with write)
- use sh2 ptr instead of id
- place data_array/peri_regs in sh2 struct
2013-08-08 03:02:54 +03:00
notaz
570dde615d
drc: do a test on startup
...
saves time for porting help
2013-07-29 04:47:07 +03:00
notaz
6d7979571d
drc: debug improvements
2013-07-23 01:45:21 +03:00
notaz
bf092a3631
drc: split disassembly to separate pass
...
allows easier analysis
2013-07-20 20:33:44 +03:00
notaz
228ee974aa
drc: rework block tracking and lookup
...
- all 3 caches have their own hash tables (for now?)
- block entry points have separate structures from blocks,
so invalidation can now properly be done
2013-07-18 02:37:08 +03:00
notaz
c25d78eec1
drc: some portability fixes
2013-06-29 01:39:17 +03:00
notaz
cff531af94
clarify PicoDrive's license
...
- PicoDrive was originally released by fDave with simple
"free for non-commercial use / For commercial use, separate licencing
terms must be obtained" license and I kept it in my releases.
- in 2011, fDave re-released his code (same that I used as base
many years ago) dual licensed with GPLv2 and MAME licenses:
https://code.google.com/p/cyclone68000/
Based on the above I now proclaim that the whole source code is licensed
under the MAME license as more elaborate form of "for non-commercial use".
If that raises any doubt, I announce that all my modifications (which
is the vast majority of code by now) is licensed under the MAME license,
as it reads in COPYING file in this commit.
This does not affect ym2612.c/sn76496.c that were MAME licensed already
from the beginning.
2013-06-26 03:07:07 +03:00
notaz
a736af3ecf
bugfixes related to mmap usage for ROM
...
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@867 be3aeb3a-fb24-0410-a615-afba39da0efa
2010-01-27 15:16:25 +00:00
notaz
04092e329b
32x: drc: more bugfixing
...
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@865 be3aeb3a-fb24-0410-a615-afba39da0efa
2010-01-23 20:54:28 +00:00
notaz
a2b8c5a545
32x: drc: new smc handling, some bugfixes + refactoring
...
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@864 be3aeb3a-fb24-0410-a615-afba39da0efa
2010-01-21 22:11:54 +00:00
notaz
5686d93123
32x: drc: new debug facility (pdb). Few fixes thanks to it.
...
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@863 be3aeb3a-fb24-0410-a615-afba39da0efa
2010-01-19 22:17:47 +00:00