picodrive.git
5 years agosh2 drc: drc exit, block linking and branch handling revised
kub [Sat, 28 Sep 2019 14:39:26 +0000 (16:39 +0200)]
sh2 drc: drc exit, block linking and branch handling revised

5 years agosh2 drc: improved RTS call stack cache
kub [Thu, 19 Sep 2019 20:14:28 +0000 (22:14 +0200)]
sh2 drc: improved RTS call stack cache

5 years agosh2 drc: rework of register cache to implement basic loop optmization
kub [Tue, 17 Sep 2019 21:02:05 +0000 (23:02 +0200)]
sh2 drc: rework of register cache to implement basic loop optmization

5 years agovarious smallish optimizations, cleanups, and bug fixes
kub [Tue, 17 Sep 2019 20:48:32 +0000 (22:48 +0200)]
various smallish optimizations, cleanups, and bug fixes

5 years agocleanup and microoptimizations in SH2 hw handling
kub [Sat, 31 Aug 2019 15:37:18 +0000 (17:37 +0200)]
cleanup and microoptimizations in SH2 hw handling

5 years agosome drawing code C optimisations
kub [Sun, 25 Aug 2019 15:33:13 +0000 (17:33 +0200)]
some drawing code C optimisations

5 years agobug fix in comm poll fifo, and back to -O3
kub [Thu, 22 Aug 2019 20:57:42 +0000 (22:57 +0200)]
bug fix in comm poll fifo, and back to -O3

5 years agopff... README, 2nd try
kub [Wed, 21 Aug 2019 16:43:28 +0000 (18:43 +0200)]
pff... README, 2nd try

5 years agoconfiguration changes and README
kub [Wed, 21 Aug 2019 16:27:26 +0000 (18:27 +0200)]
configuration changes and README

5 years agocleanup config files, copyright stuff
kub [Tue, 20 Aug 2019 20:26:39 +0000 (22:26 +0200)]
cleanup config files, copyright stuff

5 years agofix for mkoffsets without multiarch binutils
kub [Fri, 16 Aug 2019 15:25:23 +0000 (17:25 +0200)]
fix for mkoffsets without multiarch binutils

5 years agovarious small fixes and optimsations
kub [Fri, 16 Aug 2019 13:14:41 +0000 (15:14 +0200)]
various small fixes and optimsations

5 years agosh2 drc: add aarch64 backend for A64
kub [Tue, 30 Jul 2019 19:04:16 +0000 (21:04 +0200)]
sh2 drc: add aarch64 backend for A64

5 years agosh2 drc: add mipsel backend for MIPS32 Release 1 (for JZ47xx)
kub [Tue, 30 Jul 2019 18:55:48 +0000 (20:55 +0200)]
sh2 drc: add mipsel backend for MIPS32 Release 1 (for JZ47xx)

5 years agoSH2 drc: register cache overhaul (bugfixing, speed, readability)
kub [Tue, 25 Jun 2019 18:24:11 +0000 (20:24 +0200)]
SH2 drc: register cache overhaul (bugfixing, speed, readability)

5 years agoSH2 drc: bug fixing and small speed improvements
kub [Tue, 25 Jun 2019 18:23:45 +0000 (20:23 +0200)]
SH2 drc: bug fixing and small speed improvements

5 years ago32X: memory access and polling bug fixes
kub [Tue, 25 Jun 2019 18:15:48 +0000 (20:15 +0200)]
32X: memory access and polling bug fixes

5 years agosh2 drc, x86 code emitter: use x86-64 registers R8-R15
kub [Mon, 24 Jun 2019 18:09:15 +0000 (20:09 +0200)]
sh2 drc, x86 code emitter: use x86-64 registers R8-R15

5 years ago32x DMA memory copy performance optimisation
kub [Tue, 28 May 2019 21:16:45 +0000 (23:16 +0200)]
32x DMA memory copy performance optimisation

5 years agosh2 drc, change utils abi to pass sh2 PC in arg0 (reduces compiled code size)
kub [Fri, 24 May 2019 19:52:03 +0000 (21:52 +0200)]
sh2 drc, change utils abi to pass sh2 PC in arg0 (reduces compiled code size)

5 years agosh2 drc, keep T bit in host flags as long as possible
kub [Thu, 23 May 2019 17:04:31 +0000 (19:04 +0200)]
sh2 drc, keep T bit in host flags as long as possible

5 years agoadd xSR/RTS call stack cache to sh2 drc
kub [Wed, 22 May 2019 19:45:31 +0000 (21:45 +0200)]
add xSR/RTS call stack cache to sh2 drc

5 years agopolling detection: communication poll fifo to avoid comm data loss
kub [Wed, 22 May 2019 19:38:59 +0000 (21:38 +0200)]
polling detection: communication poll fifo to avoid comm data loss

5 years agosh2 memory access improvements, revive ARM asm memory functions
kub [Wed, 22 May 2019 19:33:23 +0000 (21:33 +0200)]
sh2 memory access improvements, revive ARM asm memory functions

5 years agosh2 drc, register cache optimisations
kub [Wed, 22 May 2019 19:04:59 +0000 (21:04 +0200)]
sh2 drc, register cache optimisations

5 years agosh2 drc, block management bugfixes and cleanup
kub [Wed, 22 May 2019 19:01:00 +0000 (21:01 +0200)]
sh2 drc, block management bugfixes and cleanup

5 years agosh2 drc, add detection for in-memory polling
kub [Thu, 2 May 2019 21:16:55 +0000 (23:16 +0200)]
sh2 drc, add detection for in-memory polling

5 years agosh2 drc, add loop detector, handle delay/idle loops
kub [Tue, 30 Apr 2019 19:18:12 +0000 (21:18 +0200)]
sh2 drc, add loop detector, handle delay/idle loops

5 years agosh2 drc, code emitter cleanup, add ARM reorder stage to reduce interlock
kub [Sun, 28 Apr 2019 21:42:02 +0000 (23:42 +0200)]
sh2 drc, code emitter cleanup, add ARM reorder stage to reduce interlock

5 years agosh2 drc, make B/W read functions signed (reduces generated code size)
kub [Fri, 26 Apr 2019 16:53:21 +0000 (18:53 +0200)]
sh2 drc, make B/W read functions signed (reduces generated code size)

5 years agosh2 drc, improved constant handling and register allocator
kub [Thu, 25 Apr 2019 17:03:58 +0000 (19:03 +0200)]
sh2 drc, improved constant handling and register allocator

5 years agospeed improvement and fixes for 32x ARM asm draw
kub [Thu, 25 Apr 2019 17:02:29 +0000 (19:02 +0200)]
speed improvement and fixes for 32x ARM asm draw

5 years agoadd literal pool to sh2 drc (for armv[456] without MOVT/W)
kub [Thu, 25 Apr 2019 16:57:18 +0000 (18:57 +0200)]
add literal pool to sh2 drc (for armv[456] without MOVT/W)

5 years agosh2 drc, reuse blocks if already previously compiled (speedup for Virtua *)
kub [Thu, 25 Apr 2019 16:56:26 +0000 (18:56 +0200)]
sh2 drc, reuse blocks if already previously compiled (speedup for Virtua *)

5 years agovarious small improvements and fixes
kub [Tue, 16 Apr 2019 18:37:52 +0000 (20:37 +0200)]
various small improvements and fixes

5 years agooverhaul of translation cache and sh2 literals handling
kub [Fri, 5 Apr 2019 19:01:03 +0000 (21:01 +0200)]
overhaul of translation cache and sh2 literals handling

5 years agoadded branch cache to sh2 drc to improve cross-tcache jump speed
kub [Thu, 4 Apr 2019 18:29:39 +0000 (20:29 +0200)]
added branch cache to sh2 drc to improve cross-tcache jump speed

5 years agosh2 memory interface optimzations
kub [Wed, 3 Apr 2019 21:21:20 +0000 (23:21 +0200)]
sh2 memory interface optimzations

5 years agooverhaul of the register cache (improves generated code by some 10+%)
kub [Mon, 1 Apr 2019 21:39:58 +0000 (23:39 +0200)]
overhaul of the register cache (improves generated code by some 10+%)

5 years agodebug stuff, bug fixing
kub [Fri, 29 Mar 2019 17:36:44 +0000 (18:36 +0100)]
debug stuff, bug fixing

5 years agomove saving SH2 SR into memory access and do so only if needed
kub [Wed, 27 Mar 2019 20:58:32 +0000 (21:58 +0100)]
move saving SH2 SR into memory access and do so only if needed

5 years agoadd 32bit memory access functions for SH2
kub [Wed, 27 Mar 2019 19:24:48 +0000 (20:24 +0100)]
add 32bit memory access functions for SH2

5 years agosh2 drc: sh2 addr modes generalization, more const propagation, code gen optimizations
kub [Tue, 26 Mar 2019 21:01:27 +0000 (22:01 +0100)]
sh2 drc: sh2 addr modes generalization, more const propagation, code gen optimizations

5 years agoDRC: reworked scan_block (fix register usage masks, better block and literals detection)
kub [Mon, 25 Mar 2019 19:23:04 +0000 (20:23 +0100)]
DRC: reworked scan_block (fix register usage masks, better block and literals detection)

5 years agominor changes
kub [Mon, 25 Mar 2019 18:31:32 +0000 (19:31 +0100)]
minor changes

5 years agoreworked palette and buffer handling due to some 32X bugs
kub [Fri, 22 Mar 2019 22:03:26 +0000 (23:03 +0100)]
reworked palette and buffer handling due to some 32X bugs

5 years agorevamped 32X draw arm asm code
kub [Fri, 22 Mar 2019 22:02:11 +0000 (23:02 +0100)]
revamped 32X draw arm asm code

5 years agokludges for wwf raw, nfl
kub [Fri, 22 Mar 2019 19:18:33 +0000 (20:18 +0100)]
kludges for wwf raw, nfl

5 years agosubstituted tool to obtain target structure offsets (for asm)
kub [Fri, 22 Mar 2019 19:17:08 +0000 (20:17 +0100)]
substituted tool to obtain target structure offsets (for asm)

5 years agoimproved sh2 clock handling, bug fixing + small improvement to drc emitters
kub [Wed, 20 Mar 2019 22:39:45 +0000 (23:39 +0100)]
improved sh2 clock handling, bug fixing + small improvement to drc emitters

5 years agosh2 drc host disassembler integration for gp2x
kub [Wed, 20 Mar 2019 20:12:10 +0000 (21:12 +0100)]
sh2 drc host disassembler integration for gp2x

5 years agobugfix for 32x
kub [Wed, 20 Mar 2019 19:34:19 +0000 (20:34 +0100)]
bugfix for 32x

5 years agobfd-less arm disassembler for gph
kub [Wed, 20 Mar 2019 19:34:01 +0000 (20:34 +0100)]
bfd-less arm disassembler for gph

5 years agoconfig for x86 (32 bit only, for SH2 drc), add/revive profiling
kub [Wed, 20 Mar 2019 19:33:43 +0000 (20:33 +0100)]
config for x86 (32 bit only, for SH2 drc), add/revive profiling

5 years agoarm asm memory access functions for m/s68k
kub [Wed, 20 Mar 2019 18:08:46 +0000 (19:08 +0100)]
arm asm memory access functions for m/s68k

5 years agoconfig templates for gp2x, caanoo, dingux either with system toolchain (open2x,gph...
kub [Wed, 20 Mar 2019 18:08:29 +0000 (19:08 +0100)]
config templates for gp2x, caanoo, dingux either with system toolchain (open2x,gph,opendingux) or ubuntu arm(gcc 4.7 is highest possible),mips

5 years agoarm asm syntax fixes for open2x
kub [Wed, 20 Mar 2019 18:07:16 +0000 (19:07 +0100)]
arm asm syntax fixes for open2x

5 years agomake gp2x mp3 playback functional (need to unpack and compile helix decoder separatel...
kub [Mon, 18 Mar 2019 22:14:07 +0000 (23:14 +0100)]
make gp2x mp3 playback functional (need to unpack and compile helix decoder separately in platform/common/helix)

5 years agofix gp2x compilation (using linaro arm gcc 4.7 on ubuntu)
kub [Fri, 15 Mar 2019 19:51:51 +0000 (20:51 +0100)]
fix gp2x compilation (using linaro arm gcc 4.7 on ubuntu)

5 years agorelease 1.93 v1.93
notaz [Thu, 24 Jan 2019 23:31:56 +0000 (01:31 +0200)]
release 1.93

just because orbea wants a release tarball

6 years agoMerge pull request #85 from orbea/git
notaz [Thu, 5 Apr 2018 20:58:22 +0000 (23:58 +0300)]
Merge pull request #85 from orbea/git

libretro: Allow setting GIT_VERSION.

6 years agoMerge pull request #83 from orbea/debug
notaz [Thu, 5 Apr 2018 20:57:30 +0000 (23:57 +0300)]
Merge pull request #83 from orbea/debug

Makefile: Update one more DEBUG conditional

6 years agolibretro: Allow setting GIT_VERSION.
orbea [Tue, 3 Apr 2018 17:41:26 +0000 (10:41 -0700)]
libretro: Allow setting GIT_VERSION.

6 years agoMakefile: Update one more DEBUG conditional
orbea [Mon, 2 Apr 2018 23:18:52 +0000 (16:18 -0700)]
Makefile: Update one more DEBUG conditional

6 years agoMakefile: Build with optimizations if DEBUG=0
orbea [Mon, 2 Apr 2018 02:43:22 +0000 (19:43 -0700)]
Makefile: Build with optimizations if DEBUG=0

6 years agoctr/3ds: attempt to improve cache flushing
notaz [Wed, 31 Jan 2018 21:44:45 +0000 (23:44 +0200)]
ctr/3ds: attempt to improve cache flushing

6 years agofix some issues with menu bg
notaz [Sun, 28 Jan 2018 17:59:58 +0000 (19:59 +0200)]
fix some issues with menu bg

6 years agofix a corner case with h-int
notaz [Sun, 28 Jan 2018 17:13:01 +0000 (19:13 +0200)]
fix a corner case with h-int

6 years agofix DrawSpritesHiAS
notaz [Sat, 27 Jan 2018 21:46:37 +0000 (23:46 +0200)]
fix DrawSpritesHiAS

6 years agoadd a header fixup
notaz [Sat, 27 Jan 2018 18:03:13 +0000 (20:03 +0200)]
add a header fixup

6 years agosms: improve irq handling
notaz [Sat, 27 Jan 2018 17:41:57 +0000 (19:41 +0200)]
sms: improve irq handling

6 years ago32x: implement standard/ssf2 mapper, part 2
notaz [Tue, 23 Jan 2018 00:39:01 +0000 (02:39 +0200)]
32x: implement standard/ssf2 mapper, part 2

Turns out wasn't actually hooked in.

6 years agodon't spam DMA message
notaz [Sun, 21 Jan 2018 17:03:51 +0000 (19:03 +0200)]
don't spam DMA message

VR US triggers this

6 years ago32x: implement standard/ssf2 mapper
notaz [Sun, 21 Jan 2018 16:55:38 +0000 (18:55 +0200)]
32x: implement standard/ssf2 mapper

6 years agodrc: support ms ABI
notaz [Sat, 6 Jan 2018 23:20:00 +0000 (01:20 +0200)]
drc: support ms ABI

6 years agoimprove 64bit portability
notaz [Sat, 6 Jan 2018 19:29:59 +0000 (21:29 +0200)]
improve 64bit portability

for win64 mostly

6 years agolibretro: pass required arg to VirtualProtect
notaz [Wed, 3 Jan 2018 01:00:32 +0000 (03:00 +0200)]
libretro: pass required arg to VirtualProtect

6 years agoadd a pitch variable
notaz [Sat, 5 Apr 2014 19:08:06 +0000 (22:08 +0300)]
add a pitch variable

32x is still broken

6 years agoMerge pull request #72 from Chips-fr/master
notaz [Wed, 27 Dec 2017 17:53:32 +0000 (19:53 +0200)]
Merge pull request #72 from Chips-fr/master

Support latest raspberry GLES library name

6 years agoSupport latest raspberry GLES library name
Chips-fr [Mon, 25 Dec 2017 16:38:36 +0000 (17:38 +0100)]
Support latest raspberry GLES library name

6 years agodrc: revive x86 dynarec, support x86-64
notaz [Mon, 11 Dec 2017 00:53:17 +0000 (02:53 +0200)]
drc: revive x86 dynarec, support x86-64

6 years agodon't do idle log - it's not useful
notaz [Sun, 3 Dec 2017 16:23:27 +0000 (18:23 +0200)]
don't do idle log - it's not useful

6 years agodrc: arm: use movw/movt
notaz [Sun, 3 Dec 2017 15:41:30 +0000 (17:41 +0200)]
drc: arm: use movw/movt

it's about time...

6 years agodrc: do lit check before size_nolit is cleared
notaz [Sun, 3 Dec 2017 15:39:59 +0000 (17:39 +0200)]
drc: do lit check before size_nolit is cleared

6 years agodrc: ignore cache-through on smc check
notaz [Sun, 3 Dec 2017 01:40:13 +0000 (03:40 +0200)]
drc: ignore cache-through on smc check

6 years agodrc: rm overlapped block entry points
notaz [Sat, 2 Dec 2017 21:55:27 +0000 (23:55 +0200)]
drc: rm overlapped block entry points

otherwise we get duplicates in hash tables

6 years agostop IdleDet from affecting save states
notaz [Fri, 1 Dec 2017 22:10:08 +0000 (00:10 +0200)]
stop IdleDet from affecting save states

7 years ago32x: improve 68k bios handling
notaz [Wed, 29 Nov 2017 00:31:19 +0000 (02:31 +0200)]
32x: improve 68k bios handling

7 years ago32x: add other timing hacks
notaz [Tue, 28 Nov 2017 00:04:08 +0000 (02:04 +0200)]
32x: add other timing hacks

For sdram sync, like NJTE.
Still bad, but don't have a better solution for now (or ever?).

7 years ago32x: remove some comm hacks
notaz [Sun, 26 Nov 2017 18:19:40 +0000 (20:19 +0200)]
32x: remove some comm hacks

they can (and do) easily break things

7 years agomove more globals to PicoInterface
notaz [Sat, 21 Oct 2017 23:04:26 +0000 (02:04 +0300)]
move more globals to PicoInterface

similar reasons as before

7 years agosms: do psg like md does
notaz [Sat, 21 Oct 2017 21:39:43 +0000 (00:39 +0300)]
sms: do psg like md does

7 years agohandle 'bad' dma better
notaz [Fri, 20 Oct 2017 21:02:38 +0000 (00:02 +0300)]
handle 'bad' dma better

7 years agopandora: mark prerelease versions
notaz [Thu, 19 Oct 2017 21:57:34 +0000 (00:57 +0300)]
pandora: mark prerelease versions

so they can live along released ones

7 years agoadd 68k overclocking support
notaz [Thu, 19 Oct 2017 21:41:12 +0000 (00:41 +0300)]
add 68k overclocking support

7 years agorearrange globals
notaz [Wed, 18 Oct 2017 23:38:20 +0000 (02:38 +0300)]
rearrange globals

scripted find/replace
gives slightly better code on ARM, less unnecessary asm,
~400 bytes saved

7 years agopandora: fix build
notaz [Wed, 18 Oct 2017 23:44:56 +0000 (02:44 +0300)]
pandora: fix build

Fixes: df9251536de "libretro: satisfy vita's dynarec needs in a cleaner way"

7 years agosms: more md-consistent drawing
notaz [Mon, 16 Oct 2017 22:01:26 +0000 (01:01 +0300)]
sms: more md-consistent drawing

7 years agosms: improve sr a bit
notaz [Mon, 16 Oct 2017 21:53:35 +0000 (00:53 +0300)]
sms: improve sr a bit

7 years agofamec: eliminate global context ptr
notaz [Sat, 14 Oct 2017 22:15:00 +0000 (01:15 +0300)]
famec: eliminate global context ptr

saves like 25-35K of .text

current compile resource usage on i5-6600K:
            cpu  mem
gcc 5.4.0:  17.0 1.1g
clang 3.8:  1686 2.3g

FAMEC_NO_GOTOS:
gcc 5.4.0:   8.4 0.4g
clang 3.8:  20.0 0.15g
vs2008/O2: ~1800 ?
vs2008/O1:  ~720 ?