Commit Graph
61 Commits
Author SHA1 Message Date
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
notaz 44e6452e02 32x: drc: block linking
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@853 be3aeb3a-fb24-0410-a615-afba39da0efa
2010-01-06 13:18:04 +00:00
notaz b081408f66 32x: drc: mmap dram+rom for direct dereference
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@851 be3aeb3a-fb24-0410-a615-afba39da0efa
2010-01-02 21:03:04 +00:00
notaz e05b81fc5b 32x: drc: inline dispatcher and irq handling; do write-caused irqs
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@849 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-12-29 22:43:10 +00:00
notaz 18b9412743 32x: drc: self-reentrant blocks
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@841 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-12-15 13:44:59 +00:00
notaz 8b4f38f4c6 32x: drc: enable and fix static reg alloc, carry flag tweaks
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@838 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-12-07 15:30:52 +00:00
notaz 8796b7ee88 32x: drc: finish MAC, gen drc entry/exit (for statically alloced regs)
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@837 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-12-07 12:30:56 +00:00
notaz f0d7b1faa1 32x: drc: first implementation finished, no more interpreter dep
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@832 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-11-12 16:42:42 +00:00
notaz 52d759c30f 32x: drc: all opcodes covered, some TODOs left
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@830 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-11-06 13:38:34 +00:00
notaz ed8cf79be8 32x: drc: more wip, ARM untested
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@828 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-10-30 14:17:12 +00:00
notaz 3863edbd9d 32x: drc: one manual page worth of opcodes implemented (x86 and arm)
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@827 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-10-28 15:40:38 +00:00